]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add a repairturret command
authorMario <mario.mario@y7mail.com>
Sun, 10 Feb 2013 22:46:45 +0000 (09:46 +1100)
committerMario <mario.mario@y7mail.com>
Sun, 10 Feb 2013 22:46:45 +0000 (09:46 +1100)
commands.cfg
gamemodes.cfg
qcsrc/server/autocvars.qh
qcsrc/server/mutators/gamemode_td.qc

index 60ff9af08958421511d136ae5f0a1577dc6b3267..846f95c42af3ea15c6797993f0ac12e3580d9e91 100644 (file)
@@ -175,6 +175,7 @@ alias spawnturret "cmd turretspawn ${* ?}"
 alias debugmonsters "cmd debugmonsters ${* ?}"
 alias upgradeturret "cmd buffturret ${* ?}"
 alias rmturret "cmd turretremove ${* ?}"
+alias repairturret "cmd repairturret ${* ?}"
 
 
 // ============================================================
index f602935705f2e93bd6a8ebe6ecda322d439cf259..d10cf82d71a28580bdb76695e7f7430a029b7229 100644 (file)
@@ -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
index 1ed5378b741f9d174f4280f4efc3cb4b7f198de2..3b8a4975986ec9f0d189d5cd43a2d787e06f0f71 100644 (file)
@@ -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;
index 99688e396e0d7f1dc857e5b0ef7038288af874fb..56ea5e82313f52f872dcb925adf2f968da4b2820 100644 (file)
@@ -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))