summaryrefslogtreecommitdiff
path: root/src/being/actorsprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/being/actorsprite.cpp')
-rw-r--r--src/being/actorsprite.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/being/actorsprite.cpp b/src/being/actorsprite.cpp
index bbb016525..9c1eeddc7 100644
--- a/src/being/actorsprite.cpp
+++ b/src/being/actorsprite.cpp
@@ -57,7 +57,8 @@ ActorSprite::ActorSprite(const int id) :
mActorSpriteListeners(),
mCursorPaddingX(0),
mCursorPaddingY(0),
- mMustResetParticles(false)
+ mMustResetParticles(false),
+ mPoison(false)
{
}
@@ -197,7 +198,13 @@ void ActorSprite::updateStunMode(const int oldMode, const int newMode)
void ActorSprite::updateStatusEffect(const int index, const bool newStatus)
{
- handleStatusEffect(StatusEffect::getStatusEffect(index, newStatus), index);
+ StatusEffect *const effect = StatusEffect::getStatusEffect(
+ index, newStatus);
+ if (!effect)
+ return;
+ if (effect->isPoison() && getType() == PLAYER)
+ setPoison(newStatus);
+ handleStatusEffect(effect, index);
}
void ActorSprite::handleStatusEffect(StatusEffect *const effect,