1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-12-28 00:13:51 +02:00
Files

110 lines
3.3 KiB
Lua
Raw Permalink Normal View History

2021-11-14 21:01:01 +01:00
local Public = require 'modules.wave_defense.table'
2024-06-04 23:27:12 +02:00
local Commands = require 'utils.commands'
2023-05-28 14:05:38 +02:00
local module_name = '[WD]'
2021-11-14 13:02:00 +01:00
2025-11-06 17:38:30 +01:00
-- Skip grace time
Commands.new('wd_skip_grace', 'Usable only for admins - skips wave defense grace time!')
2024-06-04 23:27:12 +02:00
:require_admin()
:require_validation()
:callback(
2025-11-06 17:38:30 +01:00
function (player)
Public.get('enable_grace_time').enabled = false
player.print(module_name .. ' grace skipped!')
return true
end
)
2023-05-28 14:05:38 +02:00
2025-11-06 17:38:30 +01:00
-- 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
)
2025-11-06 17:38:30 +01:00
-- 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
)
2025-11-06 17:38:30 +01:00
-- 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
2024-06-14 20:26:24 +02:00
Public.spawn_unit_group({ true }, false)
2025-11-06 17:38:30 +01:00
else
2022-05-12 22:19:00 +02:00
Public.set_next_wave()
2024-06-14 20:26:24 +02:00
Public.spawn_unit_group({ true }, false)
2025-06-07 19:31:37 +02:00
end
2025-11-06 17:38:30 +01:00
player.print(module_name .. ' wave spawned!')
return true
end
)
2025-06-07 19:31:37 +02:00
2025-11-06 17:38:30 +01:00
-- 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
)
2022-07-10 21:53:18 +02:00
2021-11-14 13:02:00 +01:00
2025-11-06 17:38:30 +01:00
-- 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
)
2021-11-14 13:02:00 +01:00
2025-11-06 17:38:30 +01:00
-- 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()
2022-05-12 22:19:00 +02:00
2025-11-06 17:38:30 +01:00
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
2021-11-14 13:02:00 +01:00
end
2024-06-04 23:27:12 +02:00
)
2021-11-14 21:01:01 +01:00
return Public