diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-06-16 16:40:49 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-06-16 16:40:49 +0300 |
commit | bb58d4020ff5d8ade0fec58d3e311ac211c262ef (patch) | |
tree | d7ce1aa93672c87901680282951a86b30f281f12 /src/being/being.cpp | |
parent | 93a94dba623aa1f04107d23c96082ba9e2990469 (diff) | |
download | manaplus-bb58d4020ff5d8ade0fec58d3e311ac211c262ef.tar.gz manaplus-bb58d4020ff5d8ade0fec58d3e311ac211c262ef.tar.bz2 manaplus-bb58d4020ff5d8ade0fec58d3e311ac211c262ef.tar.xz manaplus-bb58d4020ff5d8ade0fec58d3e311ac211c262ef.zip |
Allow set team color to being.
Diffstat (limited to 'src/being/being.cpp')
-rw-r--r-- | src/being/being.cpp | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/src/being/being.cpp b/src/being/being.cpp index c15c80df3..08f055ed2 100644 --- a/src/being/being.cpp +++ b/src/being/being.cpp @@ -216,6 +216,7 @@ Being::Being(const BeingId id, mKarma(0), mManner(0), mAreaSize(11), + mTeamId(0U), mLook(0U), mHairColor(0), mErased(false), @@ -2049,18 +2050,37 @@ void Being::showName() updateCoords(); } +void Being::setDefaultNameColor(const UserColorIdT defaultColor) +{ + switch (mTeamId) + { + case 0: + mNameColor = &userPalette->getColor(defaultColor); + break; + case 1: + mNameColor = &userPalette->getColor(UserColorId::TEAM1); + break; + case 2: + mNameColor = &userPalette->getColor(UserColorId::TEAM2); + break; + case 3: + mNameColor = &userPalette->getColor(UserColorId::TEAM3); + break; + } +} + void Being::updateColors() { if (userPalette) { if (mType == ActorType::Monster) { - mNameColor = &userPalette->getColor(UserColorId::MONSTER); + setDefaultNameColor(UserColorId::MONSTER); mTextColor = &userPalette->getColor(UserColorId::MONSTER); } else if (mType == ActorType::Npc) { - mNameColor = &userPalette->getColor(UserColorId::NPC); + setDefaultNameColor(UserColorId::NPC); mTextColor = &userPalette->getColor(UserColorId::NPC); } else if (this == localPlayer) @@ -2119,7 +2139,7 @@ void Being::updateColors() } else { - mNameColor = &userPalette->getColor(UserColorId::PC); + setDefaultNameColor(UserColorId::PC); } } @@ -3647,6 +3667,15 @@ void Being::recreateItemParticles() } } +void Being::setTeamId(const uint16_t teamId) +{ + if (mTeamId != teamId) + { + mTeamId = teamId; + updateColors(); + } +} + #ifdef EATHENA_SUPPORT void Being::setChat(ChatObject *const obj) { |