Fix crashes with actors dying mid-projectile-flight

This commit is contained in:
Paul Chote
2010-09-09 17:18:43 +12:00
parent 9e53774299
commit 54ffdc51b4
2 changed files with 3 additions and 2 deletions

View File

@@ -72,7 +72,8 @@ namespace OpenRA.Mods.RA
public void Damaged(Actor self, AttackInfo e)
{
if (!self.IsIdle) return;
if (e.Attacker.Destroyed) return;
// not a lot we can do about things we can't hurt... although maybe we should automatically run away?
var attack = self.Trait<AttackBase>();
if (!attack.HasAnyValidWeapons(Target.FromActor(e.Attacker))) return;

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.RA
if (e.DamageState == DamageState.Dead)
{
// Prevent TK from giving exp
if (e.Attacker == null || e.Attacker.Owner.Stances[ self.Owner ] == Stance.Ally )
if (e.Attacker == null || e.Attacker.Destroyed || e.Attacker.Owner.Stances[ self.Owner ] == Stance.Ally )
return;
var info = self.Info.Traits.Get<GivesExperienceInfo>();