Skip to content

Commit 8403011

Browse files
committed
fix SaveLoad for an obscure edge case
If you have a ship that hasn't arrived yet, and that ship has a turret with a changed weapon on it, then restoring a checkpoint will cause a crash. This is because subsystems on parse objects use the weapon class directly, not weaponbanktype. This PR fixes the crash. This corresponds to the old PR 6: AxemP/AxemFS2Scripts#6
1 parent 07982d3 commit 8403011

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

SaveLoadX/data/tables/saveload2-sct.tbm

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ function SaveState:ApplyParseData(ship,data)
752752
for i, pbank in ipairs(data.Subsystems[i].PBanks) do
753753
ba.print(" Bank: " .. i .. "\n")
754754
if subsys.PrimaryBanks[i] then
755-
subsys.PrimaryBanks[i].Class = tb.WeaponClasses[pbank.Class]
755+
subsys.PrimaryBanks[i] = tb.WeaponClasses[pbank.Class]
756756
ba.print(" Class: " .. pbank.Class .. "\n")
757757
if pbank.AmmoLeft then subsys.PrimaryAmmo[i] = self:GetAmmo(pbank.AmmoLeft,data.Name) end
758758
end
@@ -764,7 +764,7 @@ function SaveState:ApplyParseData(ship,data)
764764
for i, sbank in ipairs(data.Subsystems[i].SBanks) do
765765
ba.print(" Bank: " .. i .. "\n")
766766
if subsys.SecondaryBanks[i] then
767-
subsys.SecondaryBanks[i].Class = tb.WeaponClasses[sbank.Class]
767+
subsys.SecondaryBanks[i] = tb.WeaponClasses[sbank.Class]
768768
ba.print(" Class: " .. sbank.Class .. "\n")
769769
if sbank.AmmoLeft then subsys.SecondaryAmmo[i] = self:GetAmmo(sbank.AmmoLeft,data.Name) end
770770
end

0 commit comments

Comments
 (0)