From 2cc024be7d4f824d5bc4d84339471edb815fcb6c Mon Sep 17 00:00:00 2001 From: Eric Robinson Date: Wed, 10 Dec 2025 01:46:15 -0500 Subject: [PATCH 1/3] Fix resurrect --- Source/msg.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Source/msg.cpp b/Source/msg.cpp index 47cf3c5c6..d3933aa03 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -1905,15 +1905,16 @@ size_t OnKnockback(const TCmdParam1 &message, Player &player) return sizeof(message); } -size_t OnResurrect(const TCmdParam1 &message, Player &player) +size_t OnResurrect(const TCmdParam1 &message, Player &caster) { const uint16_t playerIdx = Swap16LE(message.wParam1); + Player &target = Players[playerIdx]; if (gbBufferMsgs == 1) { - BufferMessage(player, &message, sizeof(message)); - } else if (playerIdx < Players.size()) { - DoResurrect(player, Players[playerIdx]); - if (&player == MyPlayer) + BufferMessage(caster, &message, sizeof(message)); + } else if (caster.isOnActiveLevel() && playerIdx < Players.size()) { + DoResurrect(caster, target); + if (&target == MyPlayer) pfile_update(true); } From 24bcecccd36a86fd45b2dd3e9960a864558dd1f3 Mon Sep 17 00:00:00 2001 From: Eric Robinson Date: Wed, 10 Dec 2025 02:41:40 -0500 Subject: [PATCH 2/3] Update CHANGELOG.md --- docs/CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 1617ce738..19f60178c 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +### Bug Fixes + +#### Multiplayer + +- Resurrect beams appear on levels it wasn't cast on + ## DevilutionX 1.5.2 ### Bug Fixes From d54fcac90f78eac443ea0c730f7a4ba0001e3345 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Sat, 31 Jan 2026 09:07:59 +0100 Subject: [PATCH 3/3] Update Source/msg.cpp --- Source/msg.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Source/msg.cpp b/Source/msg.cpp index 8404e795a..9161f6160 100644 --- a/Source/msg.cpp +++ b/Source/msg.cpp @@ -1908,7 +1908,6 @@ size_t OnKnockback(const TCmdParam1 &message, Player &player) size_t OnResurrect(const TCmdParam1 &message, Player &caster) { const uint16_t playerIdx = Swap16LE(message.wParam1); - Player &target = Players[playerIdx]; if (gbBufferMsgs == 1) { BufferMessage(caster, &message, sizeof(message));