63 lines
1.2 KiB
Lua

pm = PersistenceManager:new(savefile, gm, st, ct, pl)
pm:load()
if pm:canRestore() then
pm:restoreZones()
pm:restoreAIMissions()
pm:restoreBattlefield()
pm:restoreCsar()
pm:restoreSquads()
else
--initial states
Starter.start(zones)
end
timer.scheduleFunction(function(param, time)
pm:save()
env.info("Mission state saved")
return time+60
end, zones, timer.getTime()+60)
--make sure support units are present where needed
ensureSpawn = {
['golf-farp-suport'] = zones.golf,
['november-farp-suport'] = zones.november,
['tango-farp-suport'] = zones.tango,
['sierra-farp-suport'] = zones.sierra,
['cherkessk-farp-suport'] = zones.cherkessk,
['unal-farp-suport'] = zones.unal,
['tyrnyauz-farp-suport'] = zones.tyrnyauz
}
for grname, zn in pairs(ensureSpawn) do
local g = Group.getByName(grname)
if g then g:destroy() end
end
timer.scheduleFunction(function(param, time)
for grname, zn in pairs(ensureSpawn) do
local g = Group.getByName(grname)
if zn.side == 2 then
if not g then
local err, msg = pcall(mist.respawnGroup,grname,true)
if not err then
env.info("ERROR spawning "..grname)
env.info(msg)
end
end
else
if g then g:destroy() end
end
end
return time+30
end, {}, timer.getTime()+30)
--supply injection