]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/gamemode_freezetag.qc
Merge branch 'master' into terencehill/hud_cleanups
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / gamemode_freezetag.qc
index fd3a9deb407fecfeefc7140f412428ff60ab0ceb..6eb2128f3bdaa0a96e6b02437e5947ef189a16cb 100644 (file)
@@ -1,5 +1,4 @@
 #include "gamemode_freezetag.qh"
-#include "../_all.qh"
 
 #include "gamemode.qh"
 
@@ -134,7 +133,7 @@ float freezetag_CheckWinner()
 }
 
 entity freezetag_LastPlayerForTeam()
-{
+{SELFPARAM();
        entity pl, last_pl = world;
        FOR_EACH_PLAYER(pl)
        {
@@ -162,7 +161,7 @@ void freezetag_LastPlayerForTeam_Notify()
 }
 
 void freezetag_Add_Score(entity attacker)
-{
+{SELFPARAM();
        if(attacker == self)
        {
                // you froze your own dumb self
@@ -180,7 +179,7 @@ void freezetag_Add_Score(entity attacker)
 }
 
 void freezetag_Freeze(entity attacker)
-{
+{SELFPARAM();
        if(self.frozen)
                return;
 
@@ -195,7 +194,7 @@ void freezetag_Freeze(entity attacker)
 }
 
 void freezetag_Unfreeze(entity attacker)
-{
+{SELFPARAM();
        self.freezetag_frozen_time = 0;
        self.freezetag_frozen_timeout = 0;
 
@@ -218,7 +217,7 @@ void() havocbot_role_ft_freeing;
 void() havocbot_role_ft_offense;
 
 void havocbot_goalrating_freeplayers(float ratingscale, vector org, float sradius)
-{
+{SELFPARAM();
        entity head;
        float distance;
 
@@ -244,7 +243,7 @@ void havocbot_goalrating_freeplayers(float ratingscale, vector org, float sradiu
 }
 
 void havocbot_role_ft_offense()
-{
+{SELFPARAM();
        entity head;
        float unfrozen;
 
@@ -265,7 +264,7 @@ void havocbot_role_ft_offense()
        // If only one left on team or if role has timed out then start trying to free players.
        if (((unfrozen == 0) && (!self.frozen)) || (time > self.havocbot_role_timeout))
        {
-               dprint("changing role to freeing\n");
+               LOG_TRACE("changing role to freeing\n");
                self.havocbot_role = havocbot_role_ft_freeing;
                self.havocbot_role_timeout = 0;
                return;
@@ -285,7 +284,7 @@ void havocbot_role_ft_offense()
 }
 
 void havocbot_role_ft_freeing()
-{
+{SELFPARAM();
        if(self.deadflag != DEAD_NO)
                return;
 
@@ -294,7 +293,7 @@ void havocbot_role_ft_freeing()
 
        if (time > self.havocbot_role_timeout)
        {
-               dprint("changing role to offense\n");
+               LOG_TRACE("changing role to offense\n");
                self.havocbot_role = havocbot_role_ft_offense;
                self.havocbot_role_timeout = 0;
                return;
@@ -319,7 +318,7 @@ void havocbot_role_ft_freeing()
 // ==============
 
 MUTATOR_HOOKFUNCTION(freezetag_RemovePlayer)
-{
+{SELFPARAM();
        self.health = 0; // neccessary to update correctly alive stats
        if(!self.frozen)
                freezetag_LastPlayerForTeam_Notify();
@@ -329,7 +328,7 @@ MUTATOR_HOOKFUNCTION(freezetag_RemovePlayer)
 }
 
 MUTATOR_HOOKFUNCTION(freezetag_PlayerDies)
-{
+{SELFPARAM();
        if(round_handler_IsActive())
        if(round_handler_CountdownRunning())
        {
@@ -342,7 +341,7 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerDies)
        // Cases DEATH_TEAMCHANGE and DEATH_AUTOTEAMCHANGE are needed to fix a bug whe
        // you succeed changing team through the menu: you both really die (gibbing) and get frozen
        if(ITEM_DAMAGE_NEEDKILL(frag_deathtype)
-               || frag_deathtype == DEATH_TEAMCHANGE || frag_deathtype == DEATH_AUTOTEAMCHANGE)
+               || frag_deathtype == DEATH_TEAMCHANGE.m_id || frag_deathtype == DEATH_AUTOTEAMCHANGE.m_id)
        {
                // let the player die, he will be automatically frozen when he respawns
                if(self.frozen != 1)
@@ -383,7 +382,7 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerDies)
 }
 
 MUTATOR_HOOKFUNCTION(freezetag_PlayerSpawn)
-{
+{SELFPARAM();
        if(self.freezetag_frozen_timeout == -1) // if PlayerSpawn is called by reset_map_players
                return 1; // do nothing, round is starting right now
 
@@ -406,13 +405,15 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerSpawn)
 }
 
 MUTATOR_HOOKFUNCTION(freezetag_reset_map_players)
-{
-       FOR_EACH_PLAYER(self)
+{SELFPARAM();
+       entity e;
+       FOR_EACH_PLAYER(e)
        {
-               self.killcount = 0;
-               self.freezetag_frozen_timeout = -1;
+               e.killcount = 0;
+               e.freezetag_frozen_timeout = -1;
+               setself(e);
                PutClientInServer();
-               self.freezetag_frozen_timeout = 0;
+               e.freezetag_frozen_timeout = 0;
        }
        freezetag_count_alive_players();
        return 1;
@@ -425,7 +426,7 @@ MUTATOR_HOOKFUNCTION(freezetag_GiveFragsForKill)
 }
 
 MUTATOR_HOOKFUNCTION(freezetag_PlayerPreThink)
-{
+{SELFPARAM();
        float n;
 
        if(gameover)
@@ -540,7 +541,7 @@ MUTATOR_HOOKFUNCTION(freezetag_SetStartItems)
 }
 
 MUTATOR_HOOKFUNCTION(freezetag_BotRoles)
-{
+{SELFPARAM();
        if (!self.deadflag)
        {
                if (random() < 0.5)
@@ -555,7 +556,7 @@ MUTATOR_HOOKFUNCTION(freezetag_BotRoles)
 MUTATOR_HOOKFUNCTION(freezetag_GetTeamCount)
 {
        ret_float = freezetag_teams;
-       return 0;
+       return false;
 }
 
 void freezetag_Initialize()
@@ -606,7 +607,7 @@ MUTATOR_DEFINITION(gamemode_freezetag)
 
        MUTATOR_ONREMOVE
        {
-               print("This is a game type and it cannot be removed at runtime.");
+               LOG_INFO("This is a game type and it cannot be removed at runtime.");
                return -1;
        }