mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-04 00:15:45 +02:00
73 lines
2.4 KiB
Lua
73 lines
2.4 KiB
Lua
local Color = require 'utils.color_presets'
|
|
local Server = require 'utils.server'
|
|
local Chrono_table = require 'maps.chronosphere.table'
|
|
|
|
local function scenario(p, parameter)
|
|
local objective = Chrono_table.get_table()
|
|
if parameter == 'resetmap' then
|
|
if objective.restart_confirm == 'resetmap' then
|
|
game.print({'chronosphere.cmd_game_restarting'}, Color.warning)
|
|
objective.game_lost = true
|
|
script.raise_event(Chrono_table.events['reset_map'], {})
|
|
return
|
|
else
|
|
p({'chronosphere.cmd_reset_map_confirm'}, Color.warning)
|
|
objective.restart_confirm = 'resetmap'
|
|
return
|
|
end
|
|
elseif parameter == 'hardreset' then
|
|
if objective.restart_hard then
|
|
p({'chronosphere.cmd_hardreset_disabled'}, Color.success)
|
|
objective.restart_hard = false
|
|
return
|
|
else
|
|
p({'chronosphere.cmd_hardreset_enabled'}, Color.success)
|
|
objective.restart_hard = true
|
|
return
|
|
end
|
|
elseif parameter == 'hardresetnow' then
|
|
if objective.restart_confirm == 'hardreset' then
|
|
game.print({'chronosphere.cmd_server_restarting'}, Color.warning)
|
|
Server.start_scenario('Chronosphere')
|
|
return
|
|
else
|
|
p({'chronosphere.cmd_hardreset_confirm'}, Color.warning)
|
|
objective.restart_confirm = 'hardreset'
|
|
return
|
|
end
|
|
else
|
|
p({'chronosphere.command_scenario'}, Color.info)
|
|
objective.restart_confirm = nil
|
|
end
|
|
end
|
|
|
|
local function cmd_handler(cmd)
|
|
local p
|
|
if not cmd.player_index then
|
|
p = log
|
|
else
|
|
local player = game.get_player(cmd.player_index)
|
|
if not player or not player.valid then
|
|
p = log
|
|
else
|
|
p = player.print
|
|
if not player.admin then
|
|
p({'chronosphere.cmd_not_admin'}, Color.fail)
|
|
return
|
|
end
|
|
end
|
|
end
|
|
local command_name = cmd.name
|
|
if command_name == 'scenario' then
|
|
scenario(p, cmd.parameter)
|
|
elseif command_name == 'chronojump' then
|
|
script.raise_event(Chrono_table.events['chronojump'], {cmd.parameter})
|
|
end
|
|
end
|
|
|
|
|
|
commands.add_command('scenario', {'chronosphere.command_scenario'}, function(cmd) cmd_handler(cmd) end)
|
|
if _DEBUG then
|
|
commands.add_command('chronojump', 'Weeeeee!', function(cmd) cmd_handler(cmd) end)
|
|
end
|