diff --git a/src/client/creature.cpp b/src/client/creature.cpp index ba28b6acb5..1bd92ab920 100644 --- a/src/client/creature.cpp +++ b/src/client/creature.cpp @@ -363,7 +363,9 @@ void Creature::internalDraw(Point dest, const Color& color) } int animationPhase = 0; - if (animationPhases > 1) { + if (auto* animator = getThingType()->getIdleAnimator(); animator && m_outfit.isItem()) { + animationPhase = animator->getPhase(); + } else if (animationPhases > 1) { animationPhase = (g_clock.millis() % (static_cast(animateTicks) * animationPhases)) / animateTicks; } @@ -1259,4 +1261,4 @@ std::string Creature::getText() bool Creature::canShoot(int distance) { return getTile() ? getTile()->canShoot(distance) : false; -} \ No newline at end of file +}