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.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/being/actorsprite.cpp b/src/being/actorsprite.cpp
index e73397145..f444bdd71 100644
--- a/src/being/actorsprite.cpp
+++ b/src/being/actorsprite.cpp
@@ -212,6 +212,44 @@ void ActorSprite::setStatusEffectBlock(const int offset,
}
}
+void ActorSprite::setStatusEffectOpitons(const uint32_t option,
+ const uint32_t opt1,
+ const uint32_t opt2,
+ const uint32_t opt3)
+{
+ uint32_t statusEffects = opt2;
+ statusEffects |= option << 16;
+
+ setStunMode(opt1);
+ setStatusEffectBlock(0,
+ CAST_U16((statusEffects >> 16) & 0xffffU));
+ setStatusEffectBlock(16,
+ CAST_U16(statusEffects & 0xffffU));
+ setStatusEffectBlock(32,
+ opt3);
+}
+
+void ActorSprite::setStatusEffectOpitons(const uint32_t option,
+ const uint32_t opt1,
+ const uint32_t opt2)
+{
+ uint32_t statusEffects = opt2;
+ statusEffects |= option << 16;
+
+ setStunMode(opt1);
+ setStatusEffectBlock(0,
+ CAST_U16((statusEffects >> 16) & 0xffffU));
+ setStatusEffectBlock(16,
+ CAST_U16(statusEffects & 0xffffU));
+}
+
+void ActorSprite::setStatusEffectOpiton0(const uint32_t option)
+{
+ const uint32_t statusEffects = option << 16;
+ setStatusEffectBlock(0,
+ CAST_U16((statusEffects >> 16) & 0xffff));
+}
+
void ActorSprite::updateStunMode(const int oldMode, const int newMode)
{
handleStatusEffect(StatusEffect::getStatusEffect(