From: Mario Date: Fri, 8 Feb 2013 01:30:39 +0000 (+1100) Subject: Fix monsters still trying to follow dead teammates X-Git-Tag: xonotic-v0.8.0~241^2^2~526 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=861cca308322ccdd216e566548d17b744aaac106;p=xonotic%2Fxonotic-data.pk3dir.git Fix monsters still trying to follow dead teammates --- diff --git a/qcsrc/server/mutators/gamemode_rts.qc b/qcsrc/server/mutators/gamemode_rts.qc index 1779091de..4607abff6 100644 --- a/qcsrc/server/mutators/gamemode_rts.qc +++ b/qcsrc/server/mutators/gamemode_rts.qc @@ -179,7 +179,6 @@ MUTATOR_HOOKFUNCTION(rts_PlayerThink) { WaypointSprite_Spawn("Following", 1, 0, e, '0 0 1' * sheight, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0')); head.goalentity = e; - head.enemy = e.enemy; } else // its not a monster or an enemy, so revert to waypoint { @@ -286,6 +285,8 @@ MUTATOR_HOOKFUNCTION(rts_MonsterThink) MUTATOR_HOOKFUNCTION(rts_MonsterDies) { + entity e; + if(IsDifferentTeam(frag_attacker, frag_target) && frag_attacker.team) TeamScore_AddToTeam(frag_attacker.team, ST_SCORE, 1); @@ -302,6 +303,11 @@ MUTATOR_HOOKFUNCTION(rts_MonsterDies) if(frag_attacker.monster_score == 25) Monster_LevelUp(frag_attacker); } + + for(e = world; (e = findentity(e, goalentity, self)); ) + { + e.goalentity = world; // fix teammates if they still see us as a valid target + } self.effects &~= EF_SELECTABLE; self.selected = FALSE;