summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/onlineplayer.h6
-rw-r--r--src/gui/windows/whoisonline.cpp16
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)