From 03e2a2ba73b1149a124cc91d43cd717594f88b53 Mon Sep 17 00:00:00 2001 From: Will Berry <73126355+wdberry@users.noreply.github.com> Date: Mon, 3 Apr 2023 13:44:10 -0400 Subject: [PATCH] Fix clobbering of train network masks when debug revision runs after migration has already run --- cybersyn/scripts/migrations.lua | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/cybersyn/scripts/migrations.lua b/cybersyn/scripts/migrations.lua index b14c890..fe0786b 100644 --- a/cybersyn/scripts/migrations.lua +++ b/cybersyn/scripts/migrations.lua @@ -346,21 +346,28 @@ end ---NOTE: this runs before on_config_changed ---It does not have access to game +---NOTE 2: Everything in this section must be idempotent function on_debug_revision_change() local map_data = global if debug_revision == 1 then for _, e in pairs(map_data.refuelers) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag ~= nil then + e.network_mask = e.network_flag + e.network_flag = nil + end end for _, e in pairs(map_data.stations) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag ~= nil then + e.network_mask = e.network_flag + e.network_flag = nil + end end for _, e in pairs(map_data.trains) do - e.network_mask = e.network_flag - e.network_flag = nil + if e.network_flag ~= nil then + e.network_mask = e.network_flag + e.network_flag = nil + end end end end