feat: show grey target frame name for tapped mobs

Extend the tapped-by-other-player check to the target frame. Mobs
tagged by another player now show a grey name color on the target
frame, matching the grey nameplate treatment and WoW's behavior.

Players can now see at a glance on both nameplates AND target frame
whether a mob is tagged.
This commit is contained in:
Kelsi 2026-03-21 08:37:39 -07:00
parent 586e9e74ff
commit 57ccee2c28

View file

@ -4237,6 +4237,12 @@ void GameScreen::renderTargetFrame(game::GameHandler& gameHandler) {
if (u->getHealth() == 0 && u->getMaxHealth() > 0) { if (u->getHealth() == 0 && u->getMaxHealth() > 0) {
hostileColor = ImVec4(0.5f, 0.5f, 0.5f, 1.0f); hostileColor = ImVec4(0.5f, 0.5f, 0.5f, 1.0f);
} else if (u->isHostile()) { } else if (u->isHostile()) {
// Check tapped-by-other: grey name for mobs tagged by someone else
uint32_t tgtDynFlags = u->getDynamicFlags();
bool tgtTapped = (tgtDynFlags & 0x0004) != 0 && (tgtDynFlags & 0x0008) == 0;
if (tgtTapped) {
hostileColor = ImVec4(0.6f, 0.6f, 0.6f, 1.0f); // Grey — tapped by other
} else {
// WoW level-based color for hostile mobs // WoW level-based color for hostile mobs
uint32_t playerLv = gameHandler.getPlayerLevel(); uint32_t playerLv = gameHandler.getPlayerLevel();
uint32_t mobLv = u->getLevel(); uint32_t mobLv = u->getLevel();
@ -4257,6 +4263,7 @@ void GameScreen::renderTargetFrame(game::GameHandler& gameHandler) {
hostileColor = ImVec4(0.3f, 1.0f, 0.3f, 1.0f); // Green - easy hostileColor = ImVec4(0.3f, 1.0f, 0.3f, 1.0f); // Green - easy
} }
} }
} // end tapped else
} else { } else {
hostileColor = ImVec4(0.3f, 1.0f, 0.3f, 1.0f); // Friendly hostileColor = ImVec4(0.3f, 1.0f, 0.3f, 1.0f); // Friendly
} }