Conditional TakeCover

This commit is contained in:
TheChosenEvilOne
2018-11-09 10:20:49 +02:00
committed by reaperrr
parent 94f7f6fd2e
commit 30103da2db

View File

@@ -56,6 +56,9 @@ namespace OpenRA.Mods.Common.Traits
void INotifyDamage.Damaged(Actor self, AttackInfo e) void INotifyDamage.Damaged(Actor self, AttackInfo e)
{ {
if (IsTraitPaused || IsTraitDisabled)
return;
if (e.Damage.Value <= 0 || !e.Damage.DamageTypes.Overlaps(info.DamageTriggers)) if (e.Damage.Value <= 0 || !e.Damage.DamageTypes.Overlaps(info.DamageTriggers))
return; return;
@@ -69,7 +72,10 @@ namespace OpenRA.Mods.Common.Traits
{ {
base.Tick(self); base.Tick(self);
if (IsProne && --remainingProneTime == 0) if (!IsTraitPaused && remainingProneTime > 0)
remainingProneTime--;
if (remainingProneTime == 0)
localOffset = WVec.Zero; localOffset = WVec.Zero;
} }
@@ -94,5 +100,10 @@ namespace OpenRA.Mods.Common.Traits
{ {
return IsProne ? info.SpeedModifier : 100; return IsProne ? info.SpeedModifier : 100;
} }
protected override void TraitDisabled(Actor self)
{
remainingProneTime = 0;
}
} }
} }