From 1d58aaaaa8af3501596b202575b11aa7ab744979 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 15 Aug 2013 13:10:01 +1000 Subject: [PATCH] Attempt to fix reverse stalemate enemy carrier waypoints --- qcsrc/server/mutators/gamemode_ctf.qc | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/qcsrc/server/mutators/gamemode_ctf.qc b/qcsrc/server/mutators/gamemode_ctf.qc index ff44cdb86..384250c96 100644 --- a/qcsrc/server/mutators/gamemode_ctf.qc +++ b/qcsrc/server/mutators/gamemode_ctf.qc @@ -137,6 +137,19 @@ float ctf_IsDifferentTeam(entity a, entity b) return (autocvar_g_ctf_reverse) ? !f : f; } +float ctf_Stalemate_waypointsprite_visible_for_player(entity e) +{ + // team waypoints + if(ctf_IsDifferentTeam(self.owner.flagcarried, self.owner)) + if(ctf_IsDifferentTeam(self.owner.flagcarried, e)) + if(!IsDifferentTeam(self.owner, e)) + return FALSE; + if not(IS_PLAYER(e)) + return FALSE; + + return TRUE; +} + // ======================= // CaptureShield Functions @@ -657,7 +670,10 @@ void ctf_CheckStalemate(void) for(tmp_entity = ctf_staleflaglist; tmp_entity; tmp_entity = tmp_entity.ctf_staleflagnext) { if((tmp_entity.owner) && (!tmp_entity.owner.wps_enemyflagcarrier)) - WaypointSprite_Spawn("enemyflagcarrier", 0, 0, tmp_entity.owner, FLAG_WAYPOINT_OFFSET, world, tmp_entity.team, tmp_entity.owner, wps_enemyflagcarrier, TRUE, RADARICON_FLAG, WPCOLOR_ENEMYFC(tmp_entity.owner.team)); + { + WaypointSprite_Spawn("enemyflagcarrier", 0, 0, tmp_entity.owner, FLAG_WAYPOINT_OFFSET, world, 0, tmp_entity.owner, wps_enemyflagcarrier, TRUE, RADARICON_FLAG, WPCOLOR_ENEMYFC(tmp_entity.owner.team)); + tmp_entity.owner.wps_enemyflagcarrier.waypointsprite_visible_for_player = ctf_Stalemate_waypointsprite_visible_for_player; + } } if not(wpforenemy_announced) -- 2.39.2