fix invincible aircraft, infantry
This commit is contained in:
@@ -200,7 +200,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
World.AddFrameEndTask( w =>
|
World.AddFrameEndTask( w =>
|
||||||
{
|
{
|
||||||
if (Destroyed || !IsInWorld) return;
|
if (Destroyed) return;
|
||||||
|
|
||||||
World.Remove( this );
|
World.Remove( this );
|
||||||
World.traitDict.RemoveActor( this );
|
World.traitDict.RemoveActor( this );
|
||||||
|
|||||||
@@ -141,9 +141,14 @@ namespace OpenRA.Network
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
if (!order.IsImmediate)
|
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;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,9 +146,12 @@ namespace OpenRA.Mods.RA
|
|||||||
|
|
||||||
public void Damaged(Actor self, AttackInfo e)
|
public void Damaged(Actor self, AttackInfo e)
|
||||||
{
|
{
|
||||||
if (e.DamageStateChanged && e.DamageState == DamageState.Dead)
|
if( e.DamageStateChanged && e.DamageState == DamageState.Dead )
|
||||||
foreach (var c in cargo)
|
{
|
||||||
c.Kill(e.Attacker);
|
foreach( var c in cargo )
|
||||||
|
c.Destroy();
|
||||||
|
cargo.Clear();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user