From 84a6ee48018afb6185c23dd1a04e5c5e9c06577c Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 11 Mar 2026 03:40:41 -0700 Subject: [PATCH] fix: surface absorb/resist in SMSG_ENVIRONMENTAL_DAMAGE_LOG (Classic/TBC) The Classic/TBC variant handler was discarding the resisted field entirely (only reading absorbed but discarding it). Now reads and shows both as ABSORB/RESIST combat text, matching the WotLK SMSG_ENVIRONMENTALDAMAGELOG fix from the previous commit. --- src/game/game_handler.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 9f0ae33b..9bb2fa6a 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -3573,9 +3573,16 @@ void GameHandler::handlePacket(network::Packet& packet) { uint64_t victimGuid = packet.readUInt64(); /*uint8_t envType =*/ packet.readUInt8(); uint32_t dmg = packet.readUInt32(); - /*uint32_t abs =*/ packet.readUInt32(); - if (victimGuid == playerGuid && dmg > 0) - addCombatText(CombatTextEntry::ENVIRONMENTAL, static_cast(dmg), 0, false); + uint32_t envAbs = packet.readUInt32(); + uint32_t envRes = packet.readUInt32(); + if (victimGuid == playerGuid) { + if (dmg > 0) + addCombatText(CombatTextEntry::ENVIRONMENTAL, static_cast(dmg), 0, false); + if (envAbs > 0) + addCombatText(CombatTextEntry::ABSORB, static_cast(envAbs), 0, false); + if (envRes > 0) + addCombatText(CombatTextEntry::RESIST, static_cast(envRes), 0, false); + } packet.setReadPos(packet.getSize()); break; }