Make Attack* traits PausableConditional and replace IsDisabled with IsTraitDisabled checks

This commit is contained in:
reaperrr
2017-10-17 16:38:25 +02:00
committed by Pavel Penev
parent 68487d1197
commit 456d32f3eb
2 changed files with 5 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits namespace OpenRA.Mods.Common.Traits
{ {
public abstract class AttackBaseInfo : ConditionalTraitInfo public abstract class AttackBaseInfo : PausableConditionalTraitInfo
{ {
[Desc("Armament names")] [Desc("Armament names")]
public readonly string[] Armaments = { "primary", "secondary" }; public readonly string[] Armaments = { "primary", "secondary" };
@@ -39,7 +39,7 @@ namespace OpenRA.Mods.Common.Traits
public override abstract object Create(ActorInitializer init); public override abstract object Create(ActorInitializer init);
} }
public abstract class AttackBase : ConditionalTrait<AttackBaseInfo>, INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, ISync public abstract class AttackBase : PausableConditionalTrait<AttackBaseInfo>, INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, ISync
{ {
readonly string attackOrderName = "Attack"; readonly string attackOrderName = "Attack";
readonly string forceAttackOrderName = "ForceAttack"; readonly string forceAttackOrderName = "ForceAttack";
@@ -81,7 +81,7 @@ namespace OpenRA.Mods.Common.Traits
protected virtual bool CanAttack(Actor self, Target target) protected virtual bool CanAttack(Actor self, Target target)
{ {
if (!self.IsInWorld || IsTraitDisabled || self.IsDisabled()) if (!self.IsInWorld || IsTraitDisabled || IsTraitPaused)
return false; return false;
if (!target.IsValidFor(self)) if (!target.IsValidFor(self))
@@ -333,7 +333,7 @@ namespace OpenRA.Mods.Common.Traits
public void AttackTarget(Target target, bool queued, bool allowMove, bool forceAttack = false) public void AttackTarget(Target target, bool queued, bool allowMove, bool forceAttack = false)
{ {
if (self.IsDisabled() || IsTraitDisabled) if (IsTraitDisabled || IsTraitPaused)
return; return;
if (!target.IsValidFor(self)) if (!target.IsValidFor(self))

View File

@@ -84,7 +84,7 @@ namespace OpenRA.Mods.Common.Traits
if (IsCanceled || !target.IsValidFor(self)) if (IsCanceled || !target.IsValidFor(self))
return NextActivity; return NextActivity;
if (self.IsDisabled()) if (attack.IsTraitPaused)
return this; return this;
var weapon = attack.ChooseArmamentsForTarget(target, forceAttack).FirstOrDefault(); var weapon = attack.ChooseArmamentsForTarget(target, forceAttack).FirstOrDefault();