diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/onlineplayer.h | 6 | ||||
-rw-r--r-- | src/gui/windows/whoisonline.cpp | 16 |
2 files changed, 19 insertions, 3 deletions
diff --git a/src/gui/onlineplayer.h b/src/gui/onlineplayer.h index 0b41cebec..219a473da 100644 --- a/src/gui/onlineplayer.h +++ b/src/gui/onlineplayer.h @@ -35,11 +35,13 @@ class OnlinePlayer final const unsigned char status, const signed char level, const GenderT gender, - const signed char version) : + const signed char version, + const unsigned char group) : mNick(nick), mText(), mStatus(status), mLevel(level), + mGroup(group), mVersion(version), mGender(gender), mIsGM(false) @@ -80,6 +82,8 @@ class OnlinePlayer final signed char mLevel; + unsigned char mGroup; + signed char mVersion; GenderT mGender; diff --git a/src/gui/windows/whoisonline.cpp b/src/gui/windows/whoisonline.cpp index 37dbf2a89..bc16397ed 100644 --- a/src/gui/windows/whoisonline.cpp +++ b/src/gui/windows/whoisonline.cpp @@ -55,6 +55,8 @@ #include "net/playerhandler.h" #include "net/serverfeatures.h" +#include "resources/db/groupdb.h" + #include "utils/foreach.h" #include "utils/gettext.h" #include "utils/sdlhelper.h" @@ -471,7 +473,7 @@ void WhoIsOnline::loadWebList() OnlinePlayer *const player = new OnlinePlayer(nick, CAST_U8(255), level, - Gender::UNSPECIFIED, -1); + Gender::UNSPECIFIED, -1, 0); mOnlinePlayers.insert(player); mOnlineNicks.insert(nick); @@ -870,8 +872,15 @@ void OnlinePlayer::setText(std::string color) } } - if ((mStatus != 255 && ((mStatus & BeingFlag::GM) != 0)) || mIsGM) + if (GroupDb::getShowBadge(mGroup)) + { + const std::string name = GroupDb::getName(mGroup); + mText.append(strprintf("(%s) ", name.c_str())); + } + else if ((mStatus != 255 && ((mStatus & BeingFlag::GM) != 0)) || mIsGM) + { mText.append("(GM) "); + } if (mLevel > 0) mText.append(strprintf("%d", mLevel)); @@ -881,6 +890,9 @@ void OnlinePlayer::setText(std::string color) else if (mGender == Gender::MALE) mText.append("\u2642"); + if (GroupDb::getHighlightName(mGroup) && color == "0") + color = "2"; + if (mStatus > 0 && mStatus != 255) { if ((mStatus & BeingFlag::SHOP) != 0) |