]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Some minor code cleanup
authorMario <mario.mario@y7mail.com>
Sat, 2 Mar 2013 12:38:06 +0000 (23:38 +1100)
committerMario <mario.mario@y7mail.com>
Sat, 2 Mar 2013 12:38:06 +0000 (23:38 +1100)
qcsrc/server/command/cmd.qc
qcsrc/server/command/sv_cmd.qc
qcsrc/server/mutators/gamemode_td.qc

index fab98380421502eed0e8f04cfc0ef955e25ed980..7e4737878c015c62379bff52d74837e7490bfe17 100644 (file)
@@ -237,9 +237,7 @@ void ClientCommand_mobkill(float request)
                                return;
                        }
                        else
-                       {
                                sprint(self, "You need to aim at your monster to kill it.\n");
-                       }
                        
                        return;
                }
@@ -278,20 +276,20 @@ void ClientCommand_mobspawn(float request, float argc)
                        
                        if(self.classname != STR_PLAYER) { sprint(self, "You can't spawn monsters while spectating.\n"); }
                        else if not(autocvar_g_monsters) { sprint(self, "Monsters aren't enabled.\n"); }
+                       else if(g_td) { sprint(self, "You can't spawn monsters in Tower Defense mode.\n"); }
                        else if(self.deadflag) { sprint(self, "You can't spawn monsters while dead.\n"); }
                        else if(self.monstercount >= autocvar_g_monsters_max_perplayer) { sprint(self, "You have spawned too many monsters, kill some before trying to spawn any more.\n"); }
                        else if(totalspawned >= autocvar_g_monsters_max) { sprint(self, "The global maximum monster count has been reached, kill some before trying to spawn any more.\n"); }
-                       else
+                       else // all worked out, so continue
                        {
-                               // all worked out, so continue
                                self.monstercount += 1;
                                totalspawned += 1;
                        
                                makevectors(self.v_angle);
-                               WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 100, MOVE_NORMAL, self);
+                               WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 150, MOVE_NORMAL, self);
                        
                                e = spawnmonster(tospawn, self, self, trace_endpos, FALSE, moveflag);
-                               if(mname != "") e.netname = strzone(mname);
+                               if(mname) e.netname = strzone(mname);
                        
                                sprint(self, strcat("Spawned 1 ", tospawn, "\n"));
                        }
index 0a99c7e6d481221dbbdb761e4562d0c9b34a6abc..8a71dfb0543e85afb2bb860ae4e7a2f3920916bd 100644 (file)
@@ -145,28 +145,29 @@ void GameCommand_butcher(float request)
        {
                case CMD_REQUEST_COMMAND:
                {
+                       if(g_td) { print("This command doesn't work in Tower Defense.\n"); return; }
+               
             float removed_count = 0;
-            totalspawned = 0;
                        entity montokill, head;
+                       
             FOR_EACH_MONSTER(montokill)
             {
-                if(montokill.sprite)
-                    WaypointSprite_Kill(montokill.sprite);
+                               WaypointSprite_Kill(montokill.sprite);
                     
                 remove(montokill);
                 removed_count += 1;
             }
                        
                        FOR_EACH_PLAYER(head)
-                       {
                                head.monstercount = 0;
-                       }
+                               
                        totalspawned = 0;
                        
                        if(removed_count <= 0)
                                print("No monsters to kill\n");
                        else
                                print(strcat("Killed ", ftos(removed_count), " monster", ((removed_count == 1) ? "\n" : "s\n")));
+                               
                        return; // never fall through to usage
                }
                        
index 77394c48267522f251b3959c926d5e144360c98e..b7f5ab277b8e5b6a60f58ba888a5225a779b64c3 100644 (file)
@@ -3,18 +3,22 @@
  
 void spawnfunc_td_controller()
 {
-       if not(g_td)
-       {
-               remove(self);
-               return;
-       }
+       if not(g_td) { remove(self); return; }
+       
        if(autocvar_g_td_force_settings)
        {
+               // TODO: find a better way to do this?
                self.dontend = FALSE;
                self.maxwaves = 0;
                self.monstercount = 0;
                self.startwave = 0;
                self.maxturrets = 0;
+               self.buildtime = 0;
+               self.mspeed_walk = 0;
+               self.mspeed_run = 0;
+               self.spawndelay = 0;
+               self.maxcurrent = 0;
+               self.ignoreturrets = 0;
        }
                
        self.netname = "Tower Defense controller entity";
@@ -32,6 +36,9 @@ void spawnfunc_td_controller()
        spawn_delay = ((self.spawndelay) ? self.spawndelay : autocvar_g_td_monsters_spawn_delay);
        max_current = ((self.maxcurrent) ? self.maxcurrent : autocvar_g_td_current_monsters);
        ignore_turrets = ((self.ignoreturrets) ? self.ignoreturrets : autocvar_g_td_monsters_ignore_turrets);
+       
+       if(autocvar_g_td_monsters_skill_start)
+               monster_skill = autocvar_g_td_monsters_skill_start;
                
        wave_end(TRUE);
 }
@@ -76,6 +83,8 @@ void td_generator_damage(entity inflictor, entity attacker, float damage, float
                Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, "The generator is under attack!", 0, 0);
        }
        
+       func_breakable_colormod(); // fancy colors
+       
        self.health -= damage;
        
        WaypointSprite_UpdateHealth(self.sprite, self.health);
@@ -86,11 +95,7 @@ void td_generator_damage(entity inflictor, entity attacker, float damage, float
 
 void spawnfunc_td_generator() 
 {
-       if not(g_td) 
-       {
-               remove(self);
-               return;
-       }
+       if not(g_td) { remove(self); return; }
        
        gendestroyed = FALSE;
        
@@ -144,11 +149,8 @@ entity PickGenerator()
 
 void spawn_td_fuel(float fuel_size)
 {
-       if not(g_td)
-       {
-               remove(self);
-               return;
-       }
+       if not(g_td) {remove(self); return; }
+       
        self.ammo_fuel = fuel_size * monster_skill;
        StartItem("models/items/g_fuel.md3", "misc/itempickup.wav", g_pickup_respawntime_ammo, g_pickup_respawntimejitter_ammo, "Turret Fuel", IT_FUEL, 0, 0, commodity_pickupevalfunc, BOT_PICKUP_RATING_LOW);
        
@@ -501,9 +503,7 @@ void combat_phase_begin()
        self.nextthink = time + 1;
        
        for(head = world;(head = find(head, classname, "td_generator")); )
-       {
                head.takedamage = DAMAGE_AIM;
-       }
 }
 
 float cphase_updates;
@@ -569,10 +569,10 @@ void build_phase()
        if(wave_count < 1) wave_count = 1;
 
        genhealmsg = (gen_washealed) ? ((td_gencount == 1) ? " and generator " : " and generators ") : "";
-       buildmsg = sprintf("%s build phase... ", (wave_count == max_waves) ? "^1Final wave^3" : sprintf("Wave %d", wave_count));
-       healmsg = (player_washealed) ? sprintf("All players %shealed. ", genhealmsg) : "";      
-    countmsg = sprintf("Next monsters: %d. ", totalmonsters);
-    startmsg = sprintf("Wave starts in %d seconds", autocvar_g_td_buildphase_time);
+       buildmsg = sprintf("%s build phase... ", (wave_count == max_waves) ? "^1Final wave^3" : strcat("Wave ", ftos(wave_count)));
+       healmsg = (player_washealed) ? strcat("All players ", genhealmsg, "healed. ") : "";     
+    countmsg = strcat("Next monsters: ", ftos(totalmonsters), ". ");
+    startmsg = strcat("Wave starts in ", ftos(autocvar_g_td_buildphase_time), " seconds");
        
        FOR_EACH_PLAYER(head) 
     {
@@ -616,7 +616,7 @@ void build_phase()
        cphase_updates = -1;
        
        if(autocvar_sv_eventlog)
-        GameLogEcho(sprintf(":buildphase:%d:%d", wave_count, totalmonsters));
+        GameLogEcho(strcat(":buildphase:", ftos(wave_count), ":", ftos(totalmonsters)));
        
        self.think = combat_phase_announce;
        self.nextthink = time + build_time - 6;
@@ -637,7 +637,7 @@ void wave_end(float starting)
        {
                print((wave_count >= max_waves) ? "^2Level victory!\n" : "^2Wave victory!\n");
                if(autocvar_sv_eventlog)
-            GameLogEcho(sprintf(":wave:%d:victory", wave_count));
+            GameLogEcho(strcat(":wave:", ftos(wave_count), ":victory"));
        }
        
        if(wave_count >= max_waves)
@@ -646,12 +646,7 @@ void wave_end(float starting)
                return;
        }
        
-       if(starting)
-       {
-               if(autocvar_g_td_monsters_skill_start)
-                       monster_skill = autocvar_g_td_monsters_skill_start;
-       }
-       else
+       if not(starting)
                wave_count += 1;
                
        self.think = build_phase;
@@ -719,6 +714,7 @@ MUTATOR_HOOKFUNCTION(td_PlayerThink)
 MUTATOR_HOOKFUNCTION(td_PlayerSpawn)
 {
        self.bot_attack = FALSE;
+       
        return FALSE;
 }
 
@@ -740,7 +736,7 @@ MUTATOR_HOOKFUNCTION(td_GiveFragsForKill)
        return TRUE; // no frags counted in td
 }
 
-MUTATOR_HOOKFUNCTION(td_PlayerDamage_Calculate)
+MUTATOR_HOOKFUNCTION(td_PlayerDamage)
 {
        if(frag_attacker.realowner == frag_target)
                frag_damage = 0;
@@ -820,19 +816,9 @@ MUTATOR_HOOKFUNCTION(td_MonsterMove)
 
 MUTATOR_HOOKFUNCTION(td_MonsterSpawn)
 {
-       if(self.realowner && self.realowner.flags & FL_CLIENT)
-       {
-               sprint(self.realowner, "You can't spawn monsters in Tower Defense mode. Removed monster.\n");
-               if(self.sprite)
-                       WaypointSprite_Kill(self.sprite);
-               remove(self);
-               return TRUE;
-       }
-       
        if(self.realowner == world) // nothing spawned it, so kill it
        {
-               if(self.sprite)
-                       WaypointSprite_Kill(self.sprite);
+               WaypointSprite_Kill(self.sprite);
                remove(self);
                return TRUE;
        }
@@ -966,8 +952,10 @@ MUTATOR_HOOKFUNCTION(td_DisableVehicles)
 MUTATOR_HOOKFUNCTION(td_PlayerCommand)
 {
        if(MUTATOR_RETURNVALUE) { return FALSE; } // command was already handled?
+       
        makevectors(self.v_angle);
        WarpZone_TraceLine(self.origin + self.view_ofs, self.origin + self.view_ofs + v_forward * 100, MOVE_NORMAL, self);
+       
        if(cmd_name == "turretspawn")
        {
                if(argv(1) == "list")
@@ -1150,7 +1138,7 @@ MUTATOR_DEFINITION(gamemode_td)
        MUTATOR_HOOK(GiveFragsForKill, td_GiveFragsForKill, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerPreThink, td_PlayerThink, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerDies, td_PlayerDies, CBC_ORDER_ANY);
-       MUTATOR_HOOK(PlayerDamage_Calculate, td_PlayerDamage_Calculate, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDamage_Calculate, td_PlayerDamage, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, td_PlayerSpawn, CBC_ORDER_ANY);
        MUTATOR_HOOK(VehicleSpawn, td_DisableVehicles, CBC_ORDER_ANY);
        MUTATOR_HOOK(SV_ParseClientCommand, td_PlayerCommand, CBC_ORDER_ANY);