diff options
Diffstat (limited to 'src/actormanager.cpp')
-rw-r--r-- | src/actormanager.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/actormanager.cpp b/src/actormanager.cpp index 8bd4ed638..2161f8f33 100644 --- a/src/actormanager.cpp +++ b/src/actormanager.cpp @@ -1578,6 +1578,8 @@ void ActorManager::optionChanged(const std::string &name) mCycleNPC = config.getBoolValue("cycleNPC"); else if (name == "extMouseTargeting") mExtMouseTargeting = config.getBoolValue("extMouseTargeting"); + else if (name == "showBadges") + updateBadges(); } void ActorManager::removeAttackMob(const std::string &name) @@ -1844,6 +1846,20 @@ Being *ActorManager::cloneBeing(const Being *const srcBeing, return dstBeing; } +void ActorManager::updateBadges() +{ + const bool showBadges = config.getBoolValue("showBadges"); + for_actors + { + ActorSprite *const actor = *it; + if (actor && actor->getType() == ActorType::Player) + { + Being *const being = static_cast<Being*>(actor); + being->showBadges(showBadges); + } + } +} + #ifdef EATHENA_SUPPORT void ActorManager::removeRoom(const int chatId) { |