Merge pull request #7090 from Mailaender/d2k-infantry-noidle-stand

Fixed infantry without idle animation never returning to stand
This commit is contained in:
reaperrr
2014-12-09 20:08:10 +01:00

View File

@@ -81,7 +81,7 @@ namespace OpenRA.Mods.RA.Render
protected virtual bool AllowIdleAnimation(Actor self)
{
return info.IdleAnimations.Length > 0 && !isModifyingSequence;
return !isModifyingSequence;
}
public void Attacking(Actor self, Target target)
@@ -135,16 +135,24 @@ namespace OpenRA.Mods.RA.Render
idleDelay = self.World.SharedRandom.Next(info.MinIdleWaitTicks, info.MaxIdleWaitTicks);
}
}
else if (AllowIdleAnimation(self) && idleDelay > 0 && --idleDelay == 0)
else if (AllowIdleAnimation(self))
{
if (DefaultAnimation.HasSequence(idleSequence))
if (idleSequence != null && DefaultAnimation.HasSequence(idleSequence))
{
state = AnimationState.IdleAnimating;
DefaultAnimation.PlayThen(idleSequence, () =>
if (idleDelay > 0 && --idleDelay == 0)
{
DefaultAnimation.PlayRepeating(NormalizeInfantrySequence(self, info.StandAnimations.Random(Game.CosmeticRandom)));
state = AnimationState.Waiting;
});
state = AnimationState.IdleAnimating;
DefaultAnimation.PlayThen(idleSequence, () =>
{
DefaultAnimation.PlayRepeating(NormalizeInfantrySequence(self, info.StandAnimations.Random(Game.CosmeticRandom)));
state = AnimationState.Waiting;
});
}
}
else
{
DefaultAnimation.PlayRepeating(NormalizeInfantrySequence(self, info.StandAnimations.Random(Game.CosmeticRandom)));
state = AnimationState.Waiting;
}
}
}