Commit Graph
11 Commits
Author SHA1 Message Date
AndrewandClaude Opus 5 5054796f66 fix(Core/Spells): stop forced casts from inheriting the caster as their destination (#27621)
Spell::EffectForceCast always handed the forced cast the original caster
as its unit target. When the triggered spell takes no unit target but
does need a destination, Spell::InitExplicitTargets turns that unit
target into the destination, so the forced cast resolves against the
original caster instead of against the unit that was forced to cast it.

Only pass the unit target when the triggered spell's explicit target mask
accepts one, which is the same test InitExplicitTargets applies before
discarding it.

Twelve spells in the client data force-cast a spell that needs a
destination but takes no unit target: 42073, 48759, 52187, 57838, 58566,
62207, 62301, 62921, 64088, 64598, 69839 and 70882. Seven of them place
their summon somewhere new - 48759, 52187, 57838, 58566, 62207, 62921 and
64088, whose triggers summon at the destination itself or at a fixed
offset from it. The rest do not move: 42073 force-casts on itself,
69839's force-cast effect is prevented by a spell script, and 70882's
trigger overwrites the destination with TARGET_DEST_CASTER.

62301 and 64598 are the last two. Their trigger 62293 inherited the
destination like the others, but a spell_info correction forcing its
TargetB to TARGET_DEST_CASTER had SelectImplicitCasterDestTargets
overwrite it with the forced caster afterwards, so Algalon's craters
landed correctly in spite of the bug. With the root cause fixed that
correction is dead code and goes with it; the fallback destination
InitExplicitTargets now picks is the same position the correction used to
write, so nothing moves in-game.

TestEffects_ForceCastDestination covers both trigger shapes: 62221 and
62293 summoning at the destination itself, and 48757 summoning at an
offset from it.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-12 15:38:34 -03:00
83ad15d755 fix(DB/Quest): Summon Lord Kragaru from the Serpent Statue (#27611)
Co-authored-by: Aokromes <[email protected]>
Co-authored-by: Dr-J <[email protected]>
Co-authored-by: Gultask <[email protected]>
2026-09-12 12:08:45 -03:00
sogladev c3e3d216bf fix(Core/Spells): allow paladin auras from different casters to coexist (#27509) 2026-09-12 16:57:59 +02:00
Andrew c0e6272af9 fix(Scripts/Ulduar): make Yogg-Saron's Laughing Skulls respect line of sight (#27614) 2026-09-11 21:28:07 -03:00
llupa 516af2d687 fix(DB/Quest): Show objective marker on Zaxxis mobs (#27569) 2026-09-09 18:36:06 -03:00
Anton Popovichenkoandsudlud 19ca6e1128 test(e2e): review, flakes, no unsolicited e2e (#27514)
Co-authored-by: sudlud <[email protected]>
2026-09-09 17:41:34 +02:00
llupa b0796ebda4 fix(DB/SAI): Correct Frostmourne Cavern text and RP progression(#27522) 2026-09-08 15:38:16 -03:00
llupa 7d0367957c fix(DB/Gameobject): Correct Call to Arms banner sides in Shattrath and Dalaran (#27559) 2026-09-08 13:58:49 -03:00
e89548f2f7 fix(Core/Spells): respect hostile self-immunity (#27482)
Co-authored-by: sogladev <[email protected]>
Co-authored-by: sogladev <[email protected]>
Co-authored-by: sudlud <[email protected]>
2026-09-07 21:51:03 +02:00
moostigre fc82095b02 fix(DB/SAI): Restore Timmy the Cruel (#27241) 2026-09-02 19:52:06 -03:00
Anton Popovichenko 887538fe67 feat(Core/e2e): live protocol e2e suite (#27158) 2026-08-27 14:57:14 +02:00