]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/gamemode_arena.qc
Also remove pointless commented out code
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / gamemode_arena.qc
index c561815ad0cbc9941b89541e57f755909059b9ba..46b8faccc182bc60f5c8b997df036e77c0535196 100644 (file)
@@ -60,7 +60,7 @@ float Arena_CheckWinner()
 {
        entity e;
 
-       if(round_handler_GetTimeLeft() <= 0)
+       if(round_handler_GetEndTime() > 0 && round_handler_GetEndTime() - time <= 0)
        {
                Send_Notification(NOTIF_ALL, world, MSG_CENTER, CENTER_ROUND_OVER);
                Send_Notification(NOTIF_ALL, world, MSG_INFO, INFO_ROUND_OVER);
@@ -97,6 +97,8 @@ float Arena_CheckWinner()
 void Arena_AddChallengers()
 {
        entity e;
+       if(time < 2) // don't force players to spawn so early
+               return;
        e = self;
        while(numspawned < maxspawned && spawnqueue_first)
        {
@@ -204,14 +206,6 @@ MUTATOR_HOOKFUNCTION(arena_PlayerSpawn)
        return 1;
 }
 
-MUTATOR_HOOKFUNCTION(arena_GetRespawnFlags)
-{
-       // put dead players in the spawn queue
-       if(arena_roundbased)
-               return (RESPAWN_FORCE | RESPAWN_SILENT);
-       return RESPAWN_SILENT;
-}
-
 MUTATOR_HOOKFUNCTION(arena_ForbidPlayerScore_Clear)
 {
        return 1;
@@ -226,6 +220,11 @@ MUTATOR_HOOKFUNCTION(arena_GiveFragsForKill)
 
 MUTATOR_HOOKFUNCTION(arena_PlayerDies)
 {
+       // put dead players in the spawn queue
+       if(arena_roundbased)
+               self.respawn_flags = (RESPAWN_FORCE | RESPAWN_SILENT);
+       else
+               self.respawn_flags = RESPAWN_SILENT;
        Spawnqueue_Unmark(self);
        return 1;
 }
@@ -257,7 +256,6 @@ MUTATOR_DEFINITION(gamemode_arena)
        MUTATOR_HOOK(PutClientInServer, arena_PutClientInServer, CBC_ORDER_ANY);
        MUTATOR_HOOK(ClientConnect, arena_ClientConnect, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerSpawn, arena_PlayerSpawn, CBC_ORDER_ANY);
-       MUTATOR_HOOK(GetRespawnFlags, arena_GetRespawnFlags, CBC_ORDER_ANY);
        MUTATOR_HOOK(ForbidPlayerScore_Clear, arena_ForbidPlayerScore_Clear, CBC_ORDER_ANY);
        MUTATOR_HOOK(GiveFragsForKill, arena_GiveFragsForKill, CBC_ORDER_ANY);
        MUTATOR_HOOK(PlayerDies, arena_PlayerDies, CBC_ORDER_ANY);