feat: show power type names in combat log energize/drain entries

Combat log now shows specific power type names (Mana, Rage, Energy,
Focus, Happiness, Runic Power) instead of generic "power" for ENERGIZE
and POWER_DRAIN events. Uses the powerType field added to CombatLogEntry
in the previous commit.
This commit is contained in:
Kelsi 2026-03-17 11:03:20 -07:00
parent 01685cc0bb
commit a7f7c4aa93

View file

@ -20563,20 +20563,40 @@ void GameScreen::renderCombatLog(game::GameHandler& gameHandler) {
color = ImVec4(1.0f, 0.5f, 0.2f, 1.0f); color = ImVec4(1.0f, 0.5f, 0.2f, 1.0f);
break; break;
} }
case T::ENERGIZE: case T::ENERGIZE: {
const char* pwrName = "power";
switch (e.powerType) {
case 0: pwrName = "Mana"; break;
case 1: pwrName = "Rage"; break;
case 2: pwrName = "Focus"; break;
case 3: pwrName = "Energy"; break;
case 4: pwrName = "Happiness"; break;
case 6: pwrName = "Runic Power"; break;
}
if (spell) if (spell)
snprintf(desc, sizeof(desc), "%s gains %d power (%s)", tgt, e.amount, spell); snprintf(desc, sizeof(desc), "%s gains %d %s (%s)", tgt, e.amount, pwrName, spell);
else else
snprintf(desc, sizeof(desc), "%s gains %d power", tgt, e.amount); snprintf(desc, sizeof(desc), "%s gains %d %s", tgt, e.amount, pwrName);
color = ImVec4(0.4f, 0.6f, 1.0f, 1.0f); color = ImVec4(0.4f, 0.6f, 1.0f, 1.0f);
break; break;
case T::POWER_DRAIN: }
case T::POWER_DRAIN: {
const char* drainName = "power";
switch (e.powerType) {
case 0: drainName = "Mana"; break;
case 1: drainName = "Rage"; break;
case 2: drainName = "Focus"; break;
case 3: drainName = "Energy"; break;
case 4: drainName = "Happiness"; break;
case 6: drainName = "Runic Power"; break;
}
if (spell) if (spell)
snprintf(desc, sizeof(desc), "%s loses %d power to %s's %s", tgt, e.amount, src, spell); snprintf(desc, sizeof(desc), "%s loses %d %s to %s's %s", tgt, e.amount, drainName, src, spell);
else else
snprintf(desc, sizeof(desc), "%s loses %d power", tgt, e.amount); snprintf(desc, sizeof(desc), "%s loses %d %s", tgt, e.amount, drainName);
color = ImVec4(0.45f, 0.75f, 1.0f, 1.0f); color = ImVec4(0.45f, 0.75f, 1.0f, 1.0f);
break; break;
}
case T::XP_GAIN: case T::XP_GAIN:
snprintf(desc, sizeof(desc), "You gain %d experience", e.amount); snprintf(desc, sizeof(desc), "You gain %d experience", e.amount);
color = ImVec4(0.8f, 0.6f, 1.0f, 1.0f); color = ImVec4(0.8f, 0.6f, 1.0f, 1.0f);