]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/announcer.qc
Transifex autosync
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / announcer.qc
index e15bc23b7e23c62251f9af84547d070bb3accc5a..cc85f31ccab7b62ee8fc9bfadcb55e47db795b8f 100644 (file)
@@ -78,7 +78,7 @@ void Announcer_Countdown(entity this)
        if(countdown <= 0) // countdown has finished, starttime is now
        {
                Local_Notification(MSG_CENTER, CENTER_COUNTDOWN_BEGIN);
-               Local_Notification(MSG_MULTI, MULTI_COUNTDOWN_BEGIN);
+               Local_Notification(MSG_MULTI, COUNTDOWN_BEGIN);
                delete(this);
                announcer_countdown = NULL;
                Announcer_ClearTitle();
@@ -128,19 +128,16 @@ void Announcer_Gamestart()
 {
        float startTime = STAT(GAMESTARTTIME);
        float roundstarttime = STAT(ROUNDSTARTTIME);
-       if(roundstarttime > startTime)
+       if(time > startTime && roundstarttime > startTime)
                startTime = roundstarttime;
-       if(intermission)
+       if(intermission || warmup_stage)
        {
-               Announcer_ClearTitle();
                if(announcer_countdown)
                {
+                       Announcer_ClearTitle();
                        centerprint_Kill(ORDINAL(CPID_ROUND));
-                       if(announcer_countdown)
-                       {
-                               delete(announcer_countdown);
-                               announcer_countdown = NULL;
-                       }
+                       delete(announcer_countdown);
+                       announcer_countdown = NULL;
                }
                return;
        }
@@ -154,7 +151,7 @@ void Announcer_Gamestart()
                {
                        if (!announcer_countdown)
                        {
-                               announcer_countdown = new(announcer_countdown);
+                               announcer_countdown = new_pure(announcer_countdown);
                                setthink(announcer_countdown, Announcer_Countdown);
                        }
 
@@ -214,7 +211,7 @@ void Announcer_Time()
        {
                float warmup_timelimit = STAT(WARMUP_TIMELIMIT);
                if(warmup_timelimit > 0)
-                       timeleft = max(0, warmup_timelimit - time);
+                       timeleft = max(0, warmup_timelimit + starttime - time);
                else
                        timeleft = 0;
        }