fix invincible aircraft, infantry

This commit is contained in:
Bob
2010-11-05 20:18:52 +13:00
committed by Chris Forbes
parent 480c5edd75
commit 85a26ecdf7
3 changed files with 15 additions and 7 deletions

View File

@@ -200,7 +200,7 @@ namespace OpenRA
{
World.AddFrameEndTask( w =>
{
if (Destroyed || !IsInWorld) return;
if (Destroyed) return;
World.Remove( this );
World.traitDict.RemoveActor( this );

View File

@@ -142,8 +142,13 @@ namespace OpenRA.Network
default:
{
if( !order.IsImmediate )
foreach (var t in order.Subject.TraitsImplementing<IResolveOrder>())
t.ResolveOrder(order.Subject, order);
{
var self = order.Subject;
var health = self.TraitOrDefault<Health>();
if( health == null || !health.IsDead )
foreach( var t in self.TraitsImplementing<IResolveOrder>() )
t.ResolveOrder( self, order );
}
break;
}
}

View File

@@ -147,8 +147,11 @@ namespace OpenRA.Mods.RA
public void Damaged(Actor self, AttackInfo e)
{
if( e.DamageStateChanged && e.DamageState == DamageState.Dead )
{
foreach( var c in cargo )
c.Kill(e.Attacker);
c.Destroy();
cargo.Clear();
}
}
}
}