diff --git a/leviathan.lua b/leviathan.lua --- a/leviathan.lua +++ b/leviathan.lua @@ -1002,14 +1002,21 @@ phone_dlg = dlg { } }; +global { + lev_started = false; +}; + function leviathan_init() - put(submarine_leviathan:disable(), dock_mooring); - local i = 0; - while i < submarine_leviathan.circuit_breaks do - local t = rnd(#leviathan_wiring); - if (leviathan_wiring[t].state == 2) then - leviathan_wiring[t].state = 0; - i = i + 1; - end; - end; + if not lev_started then + lev_started = true; + put(submarine_leviathan:disable(), dock_mooring); + local i = 0; + while i < submarine_leviathan.circuit_breaks do + local t = rnd(#leviathan_wiring); + if (leviathan_wiring[t].state == 2) then + leviathan_wiring[t].state = 0; + i = i + 1; + end; + end; + end; end; \ No newline at end of file