X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fgamemode_freezetag.qc;h=6eb2128f3bdaa0a96e6b02437e5947ef189a16cb;hp=fd3a9deb407fecfeefc7140f412428ff60ab0ceb;hb=21307f327df5609b82d90496c1c6156d636d1c8d;hpb=2aed36e128f8f00da9c76f9e66baae89d5bb26b2 diff --git a/qcsrc/server/mutators/gamemode_freezetag.qc b/qcsrc/server/mutators/gamemode_freezetag.qc index fd3a9deb4..6eb2128f3 100644 --- a/qcsrc/server/mutators/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/gamemode_freezetag.qc @@ -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; }