You've already forked ComfyFactorio
mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-12-28 00:13:51 +02:00
110 lines
3.3 KiB
Lua
110 lines
3.3 KiB
Lua
local Public = require 'modules.wave_defense.table'
|
|
local Commands = require 'utils.commands'
|
|
local module_name = '[WD]'
|
|
|
|
-- Skip grace time
|
|
Commands.new('wd_skip_grace', 'Usable only for admins - skips wave defense grace time!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:callback(
|
|
function (player)
|
|
Public.get('enable_grace_time').enabled = false
|
|
player.print(module_name .. ' grace skipped!')
|
|
return true
|
|
end
|
|
)
|
|
|
|
-- Toggle ES (Evolution System)
|
|
Commands.new('wd_toggle_es', 'Usable only for admins - toggles wave defense ES!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:add_parameter('state', true, 'boolean')
|
|
:callback(
|
|
function (player, state)
|
|
Public.set_es_enabled(state or false)
|
|
player.print(module_name .. ' ES has been toggled to: ' .. tostring(state or false))
|
|
return true
|
|
end
|
|
)
|
|
|
|
-- Toggle ES boss tracking
|
|
Commands.new('wd_toggle_es_boss', 'Usable only for admins - toggles wave defense ES boss tracking!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:add_parameter('state', true, 'boolean')
|
|
:callback(
|
|
function (player, state)
|
|
Public.set_track_bosses_only(state or false)
|
|
player.print(module_name .. ' ES bosses has been toggled to: ' .. tostring(state or false))
|
|
return true
|
|
end
|
|
)
|
|
|
|
-- Spawn current wave
|
|
Commands.new('wd_spawn_wave', 'Usable only for admins - spawns the current wave!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:add_parameter('wave count', true, 'number')
|
|
:callback(
|
|
function (player, number)
|
|
if number then
|
|
for _ = 1, number, 1 do
|
|
Public.set_next_wave()
|
|
end
|
|
Public.spawn_unit_group({ true }, false)
|
|
else
|
|
Public.set_next_wave()
|
|
Public.spawn_unit_group({ true }, false)
|
|
end
|
|
player.print(module_name .. ' wave spawned!')
|
|
return true
|
|
end
|
|
)
|
|
|
|
-- Spawn current wave
|
|
Commands.new('wd_set_wave', 'Usable only for admins - sets the wave number!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:add_parameter('wave number', true, 'number')
|
|
:callback(
|
|
function (player, number)
|
|
Public.set('threat', 0)
|
|
Public.set('wave_number', number)
|
|
player.print(module_name .. ' wave number set to: ' .. number)
|
|
return true
|
|
end
|
|
)
|
|
|
|
|
|
-- Toggle debug logging
|
|
Commands.new('wd_toggle_debug', 'Usable only for admins - toggles wave defense debug logging!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:callback(
|
|
function (player)
|
|
Public.toggle_debug()
|
|
player.print(module_name .. ' debug toggled!')
|
|
return true
|
|
end
|
|
)
|
|
|
|
-- Toggle debug health mode
|
|
Commands.new('wd_debug_health', 'Usable only for admins - toggles wave defense debug health mode!')
|
|
:require_admin()
|
|
:require_validation()
|
|
:callback(
|
|
function (player)
|
|
Public.toggle_debug_health()
|
|
local this = Public.get()
|
|
|
|
this.next_wave = 1000
|
|
this.wave_interval = 200
|
|
this.wave_enforced = true
|
|
this.debug_only_on_wave_500 = true
|
|
player.print(module_name .. ' debug health toggled!')
|
|
return true
|
|
end
|
|
)
|
|
|
|
return Public
|