Merge ConditionManager trait directly into Actor

This commit is contained in:
atlimit8
2020-04-18 23:25:05 -05:00
committed by reaperrr
parent e12c1dc9aa
commit 259c8d2c98
65 changed files with 466 additions and 707 deletions

View File

@@ -29,7 +29,6 @@ namespace OpenRA.Mods.D2k.Activities
readonly Target target;
readonly Sandworm sandworm;
readonly ConditionManager conditionManager;
readonly WeaponInfo weapon;
readonly Armament armament;
readonly AttackSwallow swallow;
@@ -39,7 +38,7 @@ namespace OpenRA.Mods.D2k.Activities
int countdown;
CPos burrowLocation;
AttackState stance;
int attackingToken = ConditionManager.InvalidConditionToken;
int attackingToken = Actor.InvalidConditionToken;
public SwallowActor(Actor self, Target target, Armament a, IFacing facing)
{
@@ -50,7 +49,6 @@ namespace OpenRA.Mods.D2k.Activities
sandworm = self.Trait<Sandworm>();
positionable = self.Trait<Mobile>();
swallow = self.Trait<AttackSwallow>();
conditionManager = self.TraitOrDefault<ConditionManager>();
}
bool AttackTargets(Actor self, IEnumerable<Actor> targets)
@@ -103,9 +101,8 @@ namespace OpenRA.Mods.D2k.Activities
stance = AttackState.Burrowed;
countdown = swallow.Info.AttackDelay;
burrowLocation = self.Location;
if (conditionManager != null && attackingToken == ConditionManager.InvalidConditionToken &&
!string.IsNullOrEmpty(swallow.Info.AttackingCondition))
attackingToken = conditionManager.GrantCondition(self, swallow.Info.AttackingCondition);
if (attackingToken == Actor.InvalidConditionToken && !string.IsNullOrEmpty(swallow.Info.AttackingCondition))
attackingToken = self.GrantCondition(swallow.Info.AttackingCondition);
break;
case AttackState.Burrowed:
if (--countdown > 0)
@@ -164,8 +161,8 @@ namespace OpenRA.Mods.D2k.Activities
void RevokeCondition(Actor self)
{
if (attackingToken != ConditionManager.InvalidConditionToken)
attackingToken = conditionManager.RevokeCondition(self, attackingToken);
if (attackingToken != Actor.InvalidConditionToken)
attackingToken = self.RevokeCondition(attackingToken);
}
}
}