diff options
Diffstat (limited to 'src/resources/beinginfo.cpp')
-rw-r--r-- | src/resources/beinginfo.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/resources/beinginfo.cpp b/src/resources/beinginfo.cpp index b1d6c1d0c..361dead4d 100644 --- a/src/resources/beinginfo.cpp +++ b/src/resources/beinginfo.cpp @@ -46,6 +46,7 @@ BeingInfo::BeingInfo() : | Map::BLOCKMASK_MONSTER | Map::BLOCKMASK_AIR | Map::BLOCKMASK_WATER), mBlockType(Map::BLOCKTYPE_CHARACTER), + mColors(nullptr), mTargetOffsetX(0), mTargetOffsetY(0), mMaxHP(0), @@ -151,3 +152,23 @@ void BeingInfo::init() empty->mMissEffectId = paths.getIntValue("missEffectId"); } } + +void BeingInfo::setColorsList(const std::string &name) +{ + if (name.empty()) + mColors = nullptr; + else + mColors = ColorDB::getColorsList(name); +} + +std::string BeingInfo::getColor(const int idx) const +{ + if (!mColors) + return std::string(); + + const std::map <int, ColorDB::ItemColor>::const_iterator + it = mColors->find(idx); + if (it == mColors->end()) + return std::string(); + return it->second.color; +} |