From 4e17cd69068bfaf60182f1c312e80761d2754a26 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 11 Feb 2013 09:46:45 +1100 Subject: [PATCH] Add a repairturret command --- commands.cfg | 1 + gamemodes.cfg | 1 + qcsrc/server/autocvars.qh | 1 + qcsrc/server/mutators/gamemode_td.qc | 25 +++++++++++++++++++++++++ 4 files changed, 28 insertions(+) diff --git a/commands.cfg b/commands.cfg index 60ff9af08..846f95c42 100644 --- a/commands.cfg +++ b/commands.cfg @@ -175,6 +175,7 @@ alias spawnturret "cmd turretspawn ${* ?}" alias debugmonsters "cmd debugmonsters ${* ?}" alias upgradeturret "cmd buffturret ${* ?}" alias rmturret "cmd turretremove ${* ?}" +alias repairturret "cmd repairturret ${* ?}" // ============================================================ diff --git a/gamemodes.cfg b/gamemodes.cfg index f60293570..d10cf82d7 100644 --- a/gamemodes.cfg +++ b/gamemodes.cfg @@ -509,6 +509,7 @@ set g_td_turret_walker_cost 100 set g_td_tower_buff_cost 70 set g_td_turret_flac_cost 40 set g_td_turret_upgrade_cost 100 +set g_td_turret_repair_cost 20 set g_td_monsters_speed_walk 75 set g_td_monsters_speed_run 110 set g_td_monsters_spawn_delay 3 diff --git a/qcsrc/server/autocvars.qh b/qcsrc/server/autocvars.qh index 1ed5378b7..3b8a49759 100644 --- a/qcsrc/server/autocvars.qh +++ b/qcsrc/server/autocvars.qh @@ -1303,6 +1303,7 @@ float autocvar_g_td_monsters_speed_run; float autocvar_g_td_monsters_spawn_delay; float autocvar_g_td_monsters_spawnshield_time; float autocvar_g_td_turret_upgrade_cost; +float autocvar_g_td_turret_repair_cost; float autocvar_g_za_monster_count; float autocvar_g_monsters; float autocvar_g_monsters_max; diff --git a/qcsrc/server/mutators/gamemode_td.qc b/qcsrc/server/mutators/gamemode_td.qc index 99688e396..56ea5e823 100644 --- a/qcsrc/server/mutators/gamemode_td.qc +++ b/qcsrc/server/mutators/gamemode_td.qc @@ -974,6 +974,31 @@ MUTATOR_HOOKFUNCTION(td_PlayerCommand) sprint(self, strcat("You do not have enough fuel to spawn a ", argv(1), " turret\n")); return TRUE; } + if(cmd_name == "repairturret") + { + if(trace_ent.realowner != self || !(trace_ent.turrcaps_flags & TFL_TURRCAPS_ISTURRET)) + { + sprint(self, "You need to aim at your turret to repair it\n"); + return TRUE; + } + if(self.ammo_fuel < autocvar_g_td_turret_repair_cost) + { + sprint(self, strcat("You need ", ftos(autocvar_g_td_turret_repair_cost), " fuel to repair this turret\n")); + return TRUE; + } + if(trace_ent.health >= trace_ent.max_health) + { + sprint(self, "This turret is already at max health\n"); + return TRUE; + } + + self.ammo_fuel -= autocvar_g_td_turret_repair_cost; + trace_ent.SendFlags |= TNSF_STATUS; + trace_ent.health = bound(1, trace_ent.health + 100, trace_ent.max_health); + sprint(self, "100 turret health repaired!\n"); + + return TRUE; + } if(cmd_name == "buffturret") { if(trace_ent.realowner != self || !(trace_ent.turrcaps_flags & TFL_TURRCAPS_ISTURRET)) -- 2.39.2