]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/gamemode_ctf.qc
Add a debug check for an issue I noticed earlier, need it resolved
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / gamemode_ctf.qc
index cf28dc168d96a6f9fe8fbee3052ffbff602e1d93..f5ecce93647a14e13083bdc5357cc339f2c289f6 100644 (file)
@@ -812,8 +812,15 @@ void ctf_FlagTouch()
        }
 }
 
+.float last_respawn;
 void ctf_RespawnFlag(entity flag)
 {
+       // check for flag respawn being called twice in a row
+       if(flag.last_respawn > time - 0.5)
+               { backtrace("flag respawn called twice quickly!"); }
+
+       flag.last_respawn = time;
+       
        // reset the player (if there is one)
        if((flag.owner) && (flag.owner.flagcarried == flag))
        {
@@ -1040,7 +1047,7 @@ MUTATOR_HOOKFUNCTION(ctf_PlayerDamage) // for changing damage and force values t
        else if(frag_target.flagcarried && (frag_target.deadflag == DEAD_NO) && IsDifferentTeam(frag_target, frag_attacker)) // if the target is a flagcarrier
        {
                if(autocvar_g_ctf_flagcarrier_auto_helpme_when_damaged > ('1 0 0' * healtharmor_maxdamage(frag_target.health, frag_target.armorvalue, autocvar_g_balance_armor_blockpercent)))
-                       WaypointSprite_HelpMePing(frag_target.wps_flagcarrier); // TODO: only do this if there is a significant loss of health?
+                       WaypointSprite_HelpMePing(frag_target.wps_flagcarrier);
        }
        return FALSE;
 }