X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Farena.qc;h=ef81fd92bad7db138edb2fa1e1067d252bae875b;hb=434d788c7d53b9a857bc29c7c36d58770892ac53;hp=0262b89b896fa769f541b4e3620bb8cb1fc9e6df;hpb=d41484d9c5e2aa6c3ebb81356c1c65a4c54a4a2a;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/arena.qc b/qcsrc/server/arena.qc index 0262b89b8..ef81fd92b 100644 --- a/qcsrc/server/arena.qc +++ b/qcsrc/server/arena.qc @@ -47,7 +47,7 @@ void reset_map(float dorespawn) race_ReadyRestart(); for(self = world; (self = nextent(self)); ) - if(clienttype(self) == CLIENTTYPE_NOTACLIENT && self.items != IT_STRENGTH && self.items != IT_INVINCIBLE) // don't respawn strength or shield, that will only lead to them spawning very early each match + if(clienttype(self) == CLIENTTYPE_NOTACLIENT) { if(self.reset) { @@ -197,6 +197,12 @@ void Arena_Warmup() if(gameover) { + if(warmup && time < warmup) + { + FOR_EACH_REALCLIENT(e) + Send_CSQC_Centerprint_Generic_Expire(e, CPID_ROUND_STARTING); + warmup = 0; + } if(champion && g_arena) { FOR_EACH_REALCLIENT(e) @@ -250,10 +256,7 @@ void Arena_Warmup() FOR_EACH_CLIENT(e) { if(e.spawned && e.classname == "player") - e.movetype = MOVETYPE_NONE; - e.velocity = '0 0 0'; - e.avelocity = '0 0 0'; - e.movement = '0 0 0'; + e.player_blocked = 1; } } } @@ -272,10 +275,10 @@ void Arena_Warmup() } if(g_arena) { - FOR_EACH_PLAYER(e) + FOR_EACH_CLIENT(e) { - if(e.health > 0 && e.movetype == MOVETYPE_NONE) - e.movetype = MOVETYPE_WALK; + if(e.player_blocked) + e.player_blocked = 0; } } } @@ -379,7 +382,7 @@ void count_alive_players() */ void Spawnqueue_Check() { - if(warmup == 0 && g_ca) + if(warmup == 0 && g_ca && !inWarmupStage) { if(red_players || blue_players) reset_map(TRUE);