Merge ConditionManager trait directly into Actor
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user