From 73763ec2ca12d6f45e42524c04c0a7913b9479f8 Mon Sep 17 00:00:00 2001 From: Monica Moniot Date: Thu, 1 Dec 2022 16:03:46 -0500 Subject: [PATCH] fixed handling of network_name --- cybersyn/scripts/global.lua | 2 +- cybersyn/scripts/main.lua | 2 +- cybersyn/scripts/migrations.lua | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/cybersyn/scripts/global.lua b/cybersyn/scripts/global.lua index 4c0a07a..b85347d 100644 --- a/cybersyn/scripts/global.lua +++ b/cybersyn/scripts/global.lua @@ -61,7 +61,7 @@ ---@field public is_available true? ---@field public parked_at_depot_id uint? ---@field public depot_name string ----@field public network_name string +---@field public network_name string? --can only be nil when the train is parked at a depot ---@field public network_flag int ---@field public priority int ---@field public se_depot_surface_i uint --se only diff --git a/cybersyn/scripts/main.lua b/cybersyn/scripts/main.lua index bd31550..1c513aa 100644 --- a/cybersyn/scripts/main.lua +++ b/cybersyn/scripts/main.lua @@ -116,7 +116,7 @@ end ---@param train Train function remove_available_train(map_data, train_id, train) ---@type uint - if train.is_available then + if train.is_available and train.network_name then local network = map_data.available_trains[train.network_name--[[@as string]]] if network then network[train_id] = nil diff --git a/cybersyn/scripts/migrations.lua b/cybersyn/scripts/migrations.lua index ebc8b7d..1a359fd 100644 --- a/cybersyn/scripts/migrations.lua +++ b/cybersyn/scripts/migrations.lua @@ -154,16 +154,15 @@ local migrations_table = { v.se_is_being_teleported = not v.entity and true or nil --NOTE: we are guessing here because this information was never saved v.se_depot_surface_i = v.entity.front_stock.surface.index - if v.parked_at_depot_id then - v.is_available = true + v.is_available = nil + if v.parked_at_depot_id and v.network_name then local network = map_data.available_trains[v.network_name--[[@as string]]] if not network then network = {} map_data.available_trains[v.network_name--[[@as string]]] = network end network[id] = true - else - v.is_available = nil + v.is_available = true end end end,