From 24f84ee8497dfd6cc383e230a12c5282dd4a7e9e Mon Sep 17 00:00:00 2001 From: sogladev Date: Sun, 15 Feb 2026 23:43:46 +0100 Subject: [PATCH] fix(Core/Spell): further limit exploit prevention standup to non-triggered spells (#24688) --- src/server/game/Spells/Spell.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index 608b9614b..377b15ef2 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -3587,10 +3587,9 @@ SpellCastResult Spell::prepare(SpellCastTargets const* targets, AuraEffect const LOG_DEBUG("spells.aura", "Spell::prepare: spell id {} source {} caster {} customCastFlags {} mask {}", m_spellInfo->Id, m_caster->GetEntry(), m_originalCaster ? m_originalCaster->GetEntry() : -1, _triggeredCastFlags, m_targets.GetTargetMask()); - if (!(m_spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_SEATED) && !(m_spellInfo->Attributes & SPELL_ATTR0_ALLOW_WHILE_SITTING) && !m_triggeredByAuraSpell && m_caster->IsSitState()) - { + // prevent exploit that allows to cast spell while sitting + if (!IsTriggered() && !(m_spellInfo->AuraInterruptFlags & AURA_INTERRUPT_FLAG_NOT_SEATED) && !(m_spellInfo->Attributes & SPELL_ATTR0_ALLOW_WHILE_SITTING) && !m_triggeredByAuraSpell && m_caster->IsSitState()) m_caster->SetStandState(UNIT_STAND_STATE_STAND); - } //Containers for channeled spells have to be set //TODO:Apply this to all casted spells if needed