From 203045d6184a3e6246b64b3433f43e0bfebc2e31 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Mon, 8 Feb 2016 19:38:34 +0300 Subject: Add support for post delay status effect. It change cast animation to stand. --- src/being/actorsprite.cpp | 4 ++++ src/being/actorsprite.h | 3 +++ src/being/being.cpp | 5 +++++ src/being/being.h | 2 ++ 4 files changed, 14 insertions(+) (limited to 'src/being') diff --git a/src/being/actorsprite.cpp b/src/being/actorsprite.cpp index 02da33367..63f224c3d 100644 --- a/src/being/actorsprite.cpp +++ b/src/being/actorsprite.cpp @@ -242,12 +242,16 @@ void ActorSprite::updateStatusEffect(const int index, const Enable newStatus) return; if (effect->isPoison() && getType() == ActorType::Player) setPoison(newStatus == Enable_true); +#ifdef EATHENA_SUPPORT else if (effect->isCart() && localPlayer == this) setHaveCart(newStatus == Enable_true); else if (effect->isRiding()) setRiding(newStatus == Enable_true); else if (effect->isTrickDead()) setTrickDead(newStatus == Enable_true); + else if (effect->isPostDelay()) + setPostDelay(newStatus == Enable_true); +#endif handleStatusEffect(effect, index); } diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h index 2ca5065ef..e648e6b66 100644 --- a/src/being/actorsprite.h +++ b/src/being/actorsprite.h @@ -188,6 +188,9 @@ class ActorSprite notfinal : public CompoundSprite, public Actor const std::set &getStatusEffects() const A_WARN_UNUSED { return mStatusEffects; } + virtual void setPostDelay(const bool b A_UNUSED) + { } + protected: /** * Notify self that the stun mode has been updated. Invoked by diff --git a/src/being/being.cpp b/src/being/being.cpp index 50875878b..29c28c463 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -4349,4 +4349,9 @@ void Being::removeSpiritBalls(const unsigned int balls) restrict2 } } +void Being::setPostDelay(const bool b) +{ + if (b && mAction == BeingAction::CAST) + setAction(BeingAction::STAND, 0); +} #endif diff --git a/src/being/being.h b/src/being/being.h index ee073977b..48e8b8c5e 100644 --- a/src/being/being.h +++ b/src/being/being.h @@ -938,6 +938,8 @@ class Being notfinal : public ActorSprite, unsigned int getSpiritBalls() const restrict2 noexcept A_WARN_UNUSED { return mSpiritBalls; } + + void setPostDelay(const bool b) override final; #endif void setKarma(const int karma) restrict2 noexcept -- cgit v1.2.3-70-g09d2