]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/race.qc
Apply voted game type on map switch, not on game type vote end so that the "restart...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / race.qc
index 4ecda0a9a09732b0411f164b1d4e3c175a729005..f8af3fc5f716c5ca12eb604c6f32ecd55c64d496 100644 (file)
@@ -61,7 +61,7 @@ void write_recordmarker(entity pl, float tstart, float dt)
     // also write a marker into demo files for demotc-race-record-extractor to find
     stuffcmd(pl,
              strcat(
-                 strcat("//", strconv(2, 0, 0, GetGametype()), " RECORD SET ", TIME_ENCODED_TOSTRING(TIME_ENCODE(dt))),
+                 strcat("//", strconv(2, 0, 0, GetGametype()), " RECORD SET ", TIME_ENCODED_TOSTRING(TIME_ENCODE(dt), false)),
                  " ", ftos(tstart), " ", ftos(dt), "\n"));
 }
 
@@ -110,7 +110,7 @@ void race_writeTime(string map, float t, string myuid)
        }
        if (prevpos)
        {
-               // player improved his existing record, only have to iterate on ranks between new and old recs
+               // player improved their existing record, only have to iterate on ranks between new and old recs
                for (i = prevpos; i > newpos; --i)
                {
                        db_put(ServerProgsDB, strcat(map, record_type, "time", ftos(i)), ftos(race_readTime(map, i - 1)));
@@ -502,6 +502,9 @@ void race_SendTime(entity e, float cp, float t, float tvalid)
                        {
                                CS(e).race_completed = 1;
                                MAKE_INDEPENDENT_PLAYER(e);
+                               if(e.bot_attack)
+                                       IL_REMOVE(g_bot_targets, e);
+                               e.bot_attack = false;
                                Send_Notification(NOTIF_ALL, NULL, MSG_INFO, INFO_RACE_FINISHED, e.netname);
                                ClientData_Touch(e);
                        }
@@ -1025,7 +1028,7 @@ vector trigger_race_checkpoint_spawn_evalfunc(entity this, entity player, entity
                        if(pl > race_highest_place_spawn)
                                pl = 0;
                        if(pl == 0 && !player.race_started)
-                               pl = race_highest_place_spawn; // use last place if he has not even touched finish yet
+                               pl = race_highest_place_spawn; // use last place if they have not even touched finish yet
                        if(spot.race_place != pl)
                                return '-1 0 0';
                }