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
|
|
|
|
|
)
|
2023-06-01 00:53:10 +02:00
|
|
|
|
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
|
|
|
|
|
)
|
2023-05-26 16:22:51 +02:00
|
|
|
|
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
|