Bug in game_deployment.lua
Posted: Sat May 25, 2013 8:38 am
Recently my game crashed with the following message: Attempt to index a nil value.
The error occured in line 447 which is the first line of this function's body.
function ApplySlotState(unit, slot)
unit.luaData.quality = unit.faction.luaData.slots[slot].quality
unit.efficiency = unit.luaData.quality
UpdateUnit(unit, unit.faction.luaData.slots[slot].techs)
ClearSlot(unit.faction, slot)
end
apparently unit.faction.luaData.slots[slot] is nil.
I could fix my savegame by changing the function like this:
function ApplySlotState(unit, slot)
if unit.faction.luaData.slots[slot] ~= nil then
unit.luaData.quality = unit.faction.luaData.slots[slot].quality
unit.efficiency = unit.luaData.quality
UpdateUnit(unit, unit.faction.luaData.slots[slot].techs)
ClearSlot(unit.faction, slot)
end
end
Savegame to reproduce reliably attached.
Please comment whether this fix is correct to I can apply the correct fix manually until the next patch arrives.
The error occured in line 447 which is the first line of this function's body.
function ApplySlotState(unit, slot)
unit.luaData.quality = unit.faction.luaData.slots[slot].quality
unit.efficiency = unit.luaData.quality
UpdateUnit(unit, unit.faction.luaData.slots[slot].techs)
ClearSlot(unit.faction, slot)
end
apparently unit.faction.luaData.slots[slot] is nil.
I could fix my savegame by changing the function like this:
function ApplySlotState(unit, slot)
if unit.faction.luaData.slots[slot] ~= nil then
unit.luaData.quality = unit.faction.luaData.slots[slot].quality
unit.efficiency = unit.luaData.quality
UpdateUnit(unit, unit.faction.luaData.slots[slot].techs)
ClearSlot(unit.faction, slot)
end
end
Savegame to reproduce reliably attached.
Please comment whether this fix is correct to I can apply the correct fix manually until the next patch arrives.