From f50cb048877d7edf248fbe5a38170dfafff33f63 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 11 Mar 2026 03:31:33 -0700 Subject: [PATCH] feat: surface absorb/resist from SMSG_ENVIRONMENTALDAMAGELOG Environmental damage (drowning, lava, fire) also carries absorb/resist fields. Show these as ABSORB/RESIST combat text so players see the full picture of incoming environmental hits, consistent with spell/melee. --- src/game/game_handler.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index d08016c1..1eaa137f 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -2450,10 +2450,15 @@ void GameHandler::handlePacket(network::Packet& packet) { uint64_t victimGuid = packet.readUInt64(); /*uint8_t envType =*/ packet.readUInt8(); uint32_t damage = packet.readUInt32(); - /*uint32_t absorb =*/ packet.readUInt32(); - /*uint32_t resist =*/ packet.readUInt32(); - if (victimGuid == playerGuid && damage > 0) { - addCombatText(CombatTextEntry::ENVIRONMENTAL, static_cast(damage), 0, false); + uint32_t absorb = packet.readUInt32(); + uint32_t resist = packet.readUInt32(); + if (victimGuid == playerGuid) { + if (damage > 0) + addCombatText(CombatTextEntry::ENVIRONMENTAL, static_cast(damage), 0, false); + if (absorb > 0) + addCombatText(CombatTextEntry::ABSORB, static_cast(absorb), 0, false); + if (resist > 0) + addCombatText(CombatTextEntry::RESIST, static_cast(resist), 0, false); } break; }