diff --git a/OpenRa.Game/Traits/AutoTarget.cs b/OpenRa.Game/Traits/AutoTarget.cs index 7c17d49279..77ad306377 100644 --- a/OpenRa.Game/Traits/AutoTarget.cs +++ b/OpenRa.Game/Traits/AutoTarget.cs @@ -32,7 +32,9 @@ namespace OpenRa.Game.Traits { var inRange = Game.FindUnitsInCircle(self.CenterLocation, Game.CellSize * range); - return inRange.Where(a => a.Owner != null && a.Owner != self.Owner) /* todo: one day deal with friendly players */ + return inRange + .Where(a => a.Owner != null && a.Owner != self.Owner) /* todo: one day deal with friendly players */ + .Where(a => Combat.HasAnyValidWeapons(self, a)) .OrderBy(a => (a.Location - self.Location).LengthSquared) .FirstOrDefault(); } @@ -46,6 +48,9 @@ namespace OpenRa.Game.Traits if (e.Attacker.Owner == self.Owner) return; // don't retaliate against own units force-firing on us. it's usually not what the player wanted. + if (e.Damage < 0) + return; // don't retaliate against healers + var attack = self.traits.WithInterface().First(); if (attack.target != null) return; diff --git a/OpenRa.Game/Traits/RenderInfantry.cs b/OpenRa.Game/Traits/RenderInfantry.cs index 7e2198576f..04ae828be7 100644 --- a/OpenRa.Game/Traits/RenderInfantry.cs +++ b/OpenRa.Game/Traits/RenderInfantry.cs @@ -50,7 +50,10 @@ namespace OpenRa.Game.Traits var prefix = IsProne(self) ? "prone-shoot-" : "shoot-"; - anim.PlayThen(prefix + dir, () => inAttack = false); + if (anim.HasSequence(prefix + dir)) + anim.PlayThen(prefix + dir, () => inAttack = false); + else if (anim.HasSequence("heal")) + anim.PlayThen("heal", () => inAttack = false); } public override void Tick(Actor self) diff --git a/rules.ini b/rules.ini index 0f0b948965..ce3e93ff4e 100644 --- a/rules.ini +++ b/rules.ini @@ -2134,7 +2134,7 @@ Report=DOGG5P [Heal] Damage=-50 ROF=80 -Range=1.83 +Range=4 ;; 1.83 Projectile=Invisible Speed=100 Warhead=Organic diff --git a/sequences.xml b/sequences.xml index fe841d91a2..bd4e197c35 100644 --- a/sequences.xml +++ b/sequences.xml @@ -498,12 +498,12 @@ - + - + diff --git a/session.ini b/session.ini index c4714e409f..ac2d39b77d 100644 --- a/session.ini +++ b/session.ini @@ -7,8 +7,4 @@ s0=Multi0,mcv,600,2841,0,Guard,None s1=Multi2,mcv,600,12445,0,Guard,None s2=Multi1,mcv,600,12505,0,Guard,None -s3=Multi3,mcv,600,2910,0,Guard,None - -s4=Multi7,3tnk,600,13017,0,Guard,None -s5=Multi7,ca,600,13765,0,Guard,None - +s3=Multi3,mcv,600,2910,0,Guard,None \ No newline at end of file