diff options
Diffstat (limited to 'src/being')
-rw-r--r-- | src/being/actorsprite.cpp | 25 | ||||
-rw-r--r-- | src/being/actorsprite.h | 2 |
2 files changed, 25 insertions, 2 deletions
diff --git a/src/being/actorsprite.cpp b/src/being/actorsprite.cpp index 5334bcb6a..b315a7c08 100644 --- a/src/being/actorsprite.cpp +++ b/src/being/actorsprite.cpp @@ -248,8 +248,8 @@ static void applyEffectByOption1(ActorSprite *const actor, { FOR_EACH (OptionsMapCIter, it, options) { - const int opt = (*it).first; - const int id = (*it).second; + const uint32_t opt = (*it).first; + const uint32_t id = (*it).second; if (opt == option) { actor->setStatusEffect(id, Enable_true); @@ -544,3 +544,24 @@ void ActorSprite::cleanupTargetCursors() } end_foreach } + +std::string ActorSprite::getStatusEffectsString() const +{ + std::string effectsStr; + if (!mStatusEffects.empty()) + { + FOR_EACH (std::set<int>::const_iterator, it, mStatusEffects) + { + const StatusEffect *const effect = + StatusEffectDB::getStatusEffect( + *it, + Enable_true); + if (!effect) + continue; + if (!effectsStr.empty()) + effectsStr.append(", "); + effectsStr.append(effect->mName); + } + } + return effectsStr; +} diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h index 0bc6eff00..06433628f 100644 --- a/src/being/actorsprite.h +++ b/src/being/actorsprite.h @@ -187,6 +187,8 @@ class ActorSprite notfinal : public CompoundSprite, public Actor const std::set<int> &getStatusEffects() const A_WARN_UNUSED { return mStatusEffects; } + std::string getStatusEffectsString() const; + virtual void stopCast(const bool b A_UNUSED) { } |