From cfbcdc236bc20c47cbd187cebe655e1413ca807e Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Fri, 8 May 2026 13:24:33 +0200 Subject: [PATCH] feat(whip): cabla flag combat.friendly_fire a hitPlayerIfApplicable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quan el flag està desactivat, el látigo no fa dany a altres jugadors (l'owner ja quedava exclòs per la guarda existent). Default true: manté el comportament actual. Sense canvis als tests del whip — friendly fire ja no es cobreix allà perquè els stubs de Player no porten estat real (vegeu el comentari del top de test_whip_attack.cpp). --- source/game/entities/concrete/whip_attack.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/game/entities/concrete/whip_attack.cpp b/source/game/entities/concrete/whip_attack.cpp index 794f4df..e75b16e 100644 --- a/source/game/entities/concrete/whip_attack.cpp +++ b/source/game/entities/concrete/whip_attack.cpp @@ -321,6 +321,10 @@ namespace { WhipAttack::Direction dir, std::unordered_set& already_hit) { if (p == owner || !playerIsTargetable(p)) { return; } + // Tweak `combat.friendly_fire`: si està desactivat, els altres + // jugadors són immunes al látigo aliat. L'owner ja queda exclòs + // per la primera guarda; aquest filtre cobreix només cross-player. + if (!GameplayConfig::get().friendlyFire()) { return; } if (already_hit.contains(static_cast(p))) { return; } const auto BOX = p->getBaseBox(); if (!SDL_HasRectIntersectionFloat(&damage_rect, &BOX)) { return; }