X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fmutators%2Fmutator%2Fgamemode_cts.qc;h=777cf1fa097548d19a4a80f0ac7b613951fd8989;hp=88464a9344ce7ad4705863031a965096c9bc0817;hb=2cc219c0762e106241165f3b08fac54a516cda89;hpb=58b1106a229fc90795d09d3cf99ce45e780a0e1d diff --git a/qcsrc/server/mutators/mutator/gamemode_cts.qc b/qcsrc/server/mutators/mutator/gamemode_cts.qc index 88464a9344..777cf1fa09 100644 --- a/qcsrc/server/mutators/mutator/gamemode_cts.qc +++ b/qcsrc/server/mutators/mutator/gamemode_cts.qc @@ -253,31 +253,36 @@ MUTATOR_HOOKFUNCTION(cts, MakePlayerObserver) } MUTATOR_HOOKFUNCTION(cts, PlayerSpawn) -{SELFPARAM(); +{ + entity player = M_ARGV(0, entity); + entity spawn_spot = M_ARGV(1, entity); + if(spawn_spot.target == "") // Emergency: this wasn't a real spawnpoint. Can this ever happen? - race_PreparePlayer(this); + race_PreparePlayer(player); // if we need to respawn, do it right - self.race_respawn_checkpoint = self.race_checkpoint; - self.race_respawn_spotref = spawn_spot; + player.race_respawn_checkpoint = player.race_checkpoint; + player.race_respawn_spotref = spawn_spot; - self.race_place = 0; + player.race_place = 0; return false; } MUTATOR_HOOKFUNCTION(cts, PutClientInServer) -{SELFPARAM(); - if(IS_PLAYER(self)) +{ + entity player = M_ARGV(0, entity); + + if(IS_PLAYER(player)) if(!gameover) { - if(self.killcount == FRAGS_SPECTATOR /* initial spawn */ || g_race_qualifying) // spawn - race_PreparePlayer(this); + if(player.killcount == FRAGS_SPECTATOR /* initial spawn */ || g_race_qualifying) // spawn + race_PreparePlayer(player); else // respawn - race_RetractPlayer(this); + race_RetractPlayer(player); - race_AbandonRaceCheck(self); + race_AbandonRaceCheck(player); } return false; }