Commit Graph
100 Commits
Author SHA1 Message Date
Andrew 4d4ae4f957 fix(Scripts/Ulduar): stop Freya's Ward adds despawning on the spell timer (#27651) 2026-09-16 08:03:09 -03:00
f68a9759bd fix(Scripts/Feralas): summon the Gordunni trap mound through its own spells (#27632)
Co-authored-by: offl <[email protected]>
Co-authored-by: Giacomo Pozzoni <[email protected]>
Co-authored-by: blinkysc <[email protected]>
Co-authored-by: Claude Opus 5 <[email protected]>
2026-09-15 19:09:25 -03:00
Andrew d32c4abe8b fix(Scripts/Ulduar): cap Elder Brightleaf's Unstable Sun Beams (#27638) 2026-09-14 20:23:13 -03:00
Andrew 7907c668b1 fix(DB/Ulduar): give Freya's Elders their emblems (#27634) 2026-09-13 18:17:52 -03:00
AndrewandShauren 92f5ce9a73 fix(Scripts/Ulduar): give Algalon a stasis period after Big Bang (#27630)
Co-authored-by: Shauren <[email protected]>
2026-09-13 16:59:43 -03:00
Andrew 46d4e0a39a feat(Core/World): apply PlayerLimit on config reload (#27633) 2026-09-13 16:26:02 -03:00
AndrewandCyberium 71012e3ce3 fix(Core/Groups): identify the finished roll in SMSG_LOOT_ROLL_WON (#27631)
Co-authored-by: Cyberium <[email protected]>
2026-09-13 14:36:33 -03:00
fe69136688 refactor(Core/Spells): allow any WorldObject to be a spell caster (#27627)
Co-authored-by: blinkysc <[email protected]>
Co-authored-by: ariel- <[email protected]>
Co-authored-by: Treeston <[email protected]>
Co-authored-by: Shauren <[email protected]>
Co-authored-by: brotalnia <[email protected]>
Co-authored-by: Claude Opus 5 <[email protected]>
2026-09-13 11:16:45 -03:00
Andrewandhorn 7409484aa3 fix(Scripts/Ulduar): stop Yogg-Saron's Psychosis and Malady of the Mind from picking low Sanity targets (#27628)
Co-authored-by: horn <[email protected]>
2026-09-13 05:21:19 -03:00
AndrewandLopin e9675bf3e0 fix(Scripts/Ulduar): give Elder Brightleaf's Unstable Sun Beams their own lifetime (#27619)
The beams were summoned by hand with TEMPSUMMON_MANUAL_DESPAWN and no
duration, which InitStats turns into TEMPSUMMON_DEAD_DESPAWN, and NPC
33050 is a trigger with NullCreatureAI that can neither die nor despawn
itself. The only thing that removed them was an event on the elder, and
his event map stops running the moment he dies, so a kill taken while a
wave was up left the beams standing forever. With a 20s summon cycle and
a 15s despawn that was most kills.

Move the lifetime onto the beam: 33050 gets SmartAI rows that cast
Unstable Sun Beam and Photosynthesis when summoned, then cast Unstable
Energy and despawn after 18-25s. AIName and ScriptName resolve from the
base entry, so the 25-man template is covered too. The react-passive row
is required because InitializeReactState gives a SmartAI trigger
REACT_AGGRESSIVE; Freya's own Sun Beam (33170) carries the same row.

The elder now casts 62207 rather than placing two creatures himself, so
the placement comes from the spell: one beam at his feet, plus a forced
62221 on every player in range each summoning one under themselves. That
relies on the EffectForceCast fix in #27621.

Wave timing from a sniff: first wave 6s after the pull and then every
22-26s, against a fixed 8s and 20s. Beam lifetime 18-25s across eight
observed beams, against a fixed 15s.

The beam owning its own despawn and the 62207 cast mirror TrinityCore
60388f39073ca85f9592b1e67e88e507a1a79421. The timers come from the sniff
and the beam side is SmartAI rather than a C++ AI.

Covered by TestUlduar_BrightleafSunBeamsDespawnAfterDeath, which asserts a
beam lands on the player and that none outlive the elder. It enters at
Brightleaf's own spawn rather than the Freya pad: that pad is 12y from
Freya, and aggroing her banishes every living elder, after which he
schedules no beams at all.

Reported as https://github.com/chromiecraft/chromiecraft/issues/10163

Co-authored-by: Lopin <[email protected]>
2026-09-12 19:43:53 -03:00
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
Andrew 186dfc7fa1 fix(DB/Ulduar): correct 10-man and 25-man loot pools (#27624) 2026-09-12 14:47:05 -03:00
Andrew 09c70f28a2 fix(Scripts/Ulduar): stop Flame Leviathan saving the raid on pull (#27622) 2026-09-12 12:13:28 -03:00
Andrew f0f08f1331 fix(Scripts/Ulduar): cast Razorscale's Wing Buffet once per grounding (#27616) 2026-09-12 11:14:12 -03: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
Andrew d0825055c9 docs(agents): state the PR title convention inline (#27568) 2026-09-10 22:56:02 -03:00
Andrewandsogladev 65d564c848 fix(Core/Creature): Keep a spell's own recovery time on category cooldowns (#27595)
Co-authored-by: sogladev <[email protected]>
2026-09-10 20:30:23 -03:00
Andrew b34efa2abb docs(agents): set flags_extra on every difficulty entry (#27586) 2026-09-10 19:13:35 -03:00
Andrew 4ddcea8503 fix(DB/Creature): stop Mimiron DB Target entering combat (#27594) 2026-09-10 06:47:12 -03:00
Andrew f4763cc9eb fix(Scripts/Ulduar): give Flame Leviathan's Freya's Ward lashers their own targeting AI (#27567) 2026-09-10 05:21:40 -03:00
Andrew 76bc632dc0 fix(DB/Creature): sync Freya's 25-man HARD_RESET flag (#27587) 2026-09-09 22:31:18 -03:00
Andrew 02926c2bda fix(Scripts/Ulduar): stop XT-002 summoning adds after death (#27589) 2026-09-09 22:30:59 -03:00
Andrew 2c94fbfbf6 fix(Scripts/Ulduar): Respawn Hodir's Rare Cache with the boss (#27582) 2026-09-09 21:54:57 -03:00
Andrew 9183925666 fix(Scripts/Ulduar): Use Thorim Sif's 10-man spell ids (#27575) 2026-09-09 19:57:28 -03:00
Andrew d0ca81bdea docs(agents): warn against summoning entries tracked by InstanceScript ObjectData (#27565) 2026-09-09 05:10:58 -03:00
Andrew 083efa2bd7 fix(DB/Loot): Correct Steelbreaker 10-man hard mode loot (#27566) 2026-09-09 04:57:26 -03:00
1702c28b74 fix(Scripts/Ulduar): Spawn Thorim's golem hand bunnies statically and drop their combat (#27523)
Co-authored-by: joschiwald <[email protected]>
Co-authored-by: Claude Fable 5.1 <[email protected]>
2026-09-07 17:48:24 -03:00
Andrew 0d89b673b5 fix(DB/Creature): Ironwork Cannon should attack players with Flame Cannon (#27401) 2026-09-05 15:35:34 -03:00
65c3bd1ae4 fix(Scripts/SSC): drive Hydross' form and beams from the Cleansing Field aura (#27503)
Co-authored-by: killerwife <[email protected]>
Co-authored-by: offl <[email protected]>
2026-09-05 14:54:02 -03:00
Andrew 78ef336d61 docs(agents): require upstream author credit for mirrored code (#27504) 2026-09-04 17:42:13 -03:00
Andrew 931fc9b4b0 fix(DB/Creature): Thorim's Thunder Orbs can no longer enter combat (#27470) 2026-09-04 09:56:55 +02:00
Andrew c663eac30b fix(DB/Spells): Mimiron's Laser Barrage hits a 10 degree cone instead of a 19yd wide line (#27469) 2026-09-03 21:19:40 -03:00
Andrew 54783860e4 fix(Core/Vehicles): Salvaged Demolishers should spawn with full pyrite (#27399) 2026-08-31 04:49:40 -03:00
Andrew 1c231a6606 fix(Core/Spells): keep the Demolisher gunner seat's pyrite in sync in Ulduar (#27398) 2026-08-30 21:01:31 -03:00
Andrew 0faf1b4ce5 fix(Scripts/Ulduar): Yogg-Saron should be defeated below 1.5% health (#27393) 2026-08-30 21:01:04 -03:00
Andrew c0ed123499 fix(DB/Creature): Ironwork Cannon should always use display id 25723 (#27395) 2026-08-30 20:16:37 -03:00
AndrewandCopilot Autofix powered by AI e5c4f2b09c docs(Agents): VerifiedBuild stamping and DoCast helper rules (#27396)
Co-authored-by: Copilot Autofix powered by AI <[email protected]>
2026-08-30 20:16:10 -03:00
Andrew f7df88efaa fix(Scripts/Ulduar): Yogg-Saron's Grim Reprisal should not reflect damage dealt by totems (#27392) 2026-08-30 16:51:50 -03:00
Andrew d4c0aa80ab fix(DB/SAI): Champion of Hodir should cast Freezing Breath on the second highest threat target (#27387) 2026-08-30 13:34:58 -03:00
Andrew 5e93fed7a5 fix(Scripts/Ulduar): protect players riding Flame Leviathan from Hodir's Fury (#27360) 2026-08-28 10:13:22 +02:00
Andrew 6825b41eb7 fix(Scripts/Ulduar): clear Hodir's Fury freeze when Flame Leviathan resets or dies (#27359) 2026-08-28 08:00:33 +02:00
Andrew 4790cb08af fix(DB/Creature): move Salvaged Chopper First Aid to action bar slot 6 (#27361) 2026-08-28 07:58:44 +02:00
Andrew 527c24b92a fix(Scripts/Ulduar): fly the machine's sniffed approach arc and remove its spellclick (#27349) 2026-08-27 06:29:52 -03:00
Andrew 263025c187 fix(Scripts/Ulduar): add the missing event after Flame Leviathan's death (#27277) 2026-08-25 22:12:13 -03:00
Andrew 084c9e2bf1 fix(Scripts/Ulduar): despawn Freya's Strengthened Iron Roots on wipe and defeat (#27286) 2026-08-24 20:21:44 -03:00
AndrewandTreeston cf2c99f8a8 feat(Core/AI): add the UnitAI::OnDespawn hook (#27285)
Co-authored-by: Treeston <[email protected]>
2026-08-24 20:20:47 -03:00
AndrewandGustavo f7f8d84c84 fix(Core/Vehicles): don't seat accessories on dead spawns awaiting respawn (#27267)
Co-authored-by: Gustavo <[email protected]>
2026-08-23 10:20:46 +02:00
Andrew 8f68451bb2 fix(Scripts/Ulduar): drive Mimiron's Spinning Up targeting and barrage hold from spell data (#27265) 2026-08-22 15:28:31 -03:00
Andrew fd2c763726 fix(DB/Conditions): Stop pet attacks from stacking Focus Anger on Yogg-Saron's Crusher Tentacles (#27191) 2026-08-17 19:34:34 -03:00
Andrew 5646f9b01f fix(Scripts/Ulduar): correct Yogg-Saron's Shadow Beacon timer in phase 3 (#27193) 2026-08-17 15:36:38 -03:00
Andrew 70291e1888 fix(Scripts/Ulduar): randomize Yogg-Saron's Lunatic Gaze interval in phase 3 (#27192) 2026-08-17 15:36:27 -03:00
Andrew fe5b07e057 feat(Core/Commands): add .account info (#27160) 2026-08-16 23:25:11 +02:00
Andrew 3110fe5e8b fix(Core/Pet): stop new pets inheriting a recycled pet number's spells (#27141) 2026-08-15 00:03:06 -03:00
Andrew 88209128a5 refactor(Core/Config): remove dead configuration options (#27138) 2026-08-13 19:50:37 -03:00
AndrewandKillyana 9204c46ca9 fix(Core/GameObject): use the full spell focus radius (#27075)
Co-authored-by: Killyana <[email protected]>
2026-08-11 19:35:04 -03:00
Andrew 0a1611a4cf fix(Scripts/Ulduar): drive Mimiron's Laser Barrage from its sniffed target NPC (#27079) 2026-08-10 05:42:08 -03:00
Andrew b74f9e4f23 fix(Scripts/Ulduar): rework Freya's trio revive from sniff (#27068) 2026-08-09 12:20:42 -03:00
Andrew 553b6974d6 fix(DB/Creature): add Freya's Storm Lasher spawn visuals (#27067) 2026-08-09 12:03:42 -03:00
Andrew 4ee35f2f64 fix(Scripts/Ulduar): reconstruct Freya's hard mode intro from sniff (#27065) 2026-08-09 11:59:26 -03:00
Andrew ce056b41f8 fix(Scripts/Ulduar): remove Freya's Attuned to Nature stacks via dose reduction spells (#27063) 2026-08-09 11:58:04 -03:00
Andrew aca38f52f1 fix(Scripts/Ulduar): summon Freya's Lifebinder's Gift through its spell chain (#27062) 2026-08-09 11:19:35 -03:00
Andrew 037b45e3a3 fix(DB/Creature): Thorim despawns on evade (HARD_RESET) (#27059) 2026-08-09 11:19:26 -03:00
Andrew d85c8a7823 fix(Scripts/Ulduar): summon Sif during Thorim's intro instead of pre-spawning her (#27058) 2026-08-09 11:19:14 -03:00
Andrew f027e8b4a5 fix(Scripts/Ulduar): restore the Clash of Thunder mock fight before Thorim (#27057) 2026-08-09 11:19:02 -03:00
Andrew 7eea30d471 fix(Scripts/Ulduar): delay Sara's P2 Malady, Brain Link and Death Ray openers (#27055) 2026-08-09 06:55:32 -03:00
Andrew f8f667bff5 fix(Core/Spells): fix crash on non-unit targets in area target check (#27061) 2026-08-09 06:14:20 -03:00
Andrew 161d3a27e3 fix(Scripts/Ulduar): delay the Crusher Tentacle's first Diminish Power (#27054) 2026-08-08 19:38:56 -03:00
Andrewandhorn be5c07d566 fix(Scripts/Ulduar): cast Deafening Roar when Keepers are missing (#27052)
Co-authored-by: horn <[email protected]>
2026-08-08 18:16:25 -03:00
Andrew 715d6a3d3b fix(Scripts/Ulduar): complete the brain room Influence Tentacle sets (#27048) 2026-08-08 17:50:45 -03:00
Andrew dd7da10af2 docs(Agents): add script, SQL and config conventions (#27045) 2026-08-08 16:28:19 -03:00
AndrewandClaude Fable 5 c2cf1e06a1 fix(Scripts/Ulduar): credit Singed to the player instead of the campfire (#27047)
Co-authored-by: Claude Fable 5 <[email protected]>
2026-08-08 15:28:33 -03:00
Andrew b6bd504f8e fix(Scripts/Ulduar): drive the Crusher Tentacle interrupt with its proc aura (#27046) 2026-08-08 14:24:06 -03:00
Andrew c2f796a8d9 fix(Scripts/Ulduar): rework Yogg-Saron Death Ray to sniffed behaviour (#27044) 2026-08-08 14:20:16 -03:00
Andrew 2e4a82384a fix(Scripts/Ulduar): add General Vezax saronite barrier fade emote and move vapors emote to Vezax (#27039) 2026-08-08 10:05:19 -03:00
Andrew 150e3788dd fix(Scripts/Spells): implement Clear Demonic Circle, cast by General Vezax on engage (#27040) 2026-08-08 10:04:30 -03:00
Andrew c8d93076ce fix(DB/Pools): drop memberless legacy pool templates, restore empty-pool error (#27026) 2026-08-08 08:35:01 -03:00
Andrew 766607448f feat(Core/Commands): allow .additem to remove items from offline players (#26714) 2026-08-07 23:32:10 -03:00
AndrewandShauren df93fae2e1 feat(Core/Pools): store pool spawn state per map, enable pooling in instances (#27001)
Co-authored-by: Shauren <[email protected]>
2026-08-07 23:21:38 -03:00
Andrewandtreeston fcfbe1a4b5 fix(Scripts/Naxxramas): Stalagg and Feugen feign death instead of dying (#26771)
Co-authored-by: treeston <[email protected]>
2026-08-06 12:32:35 -03:00
Andrew c55191a1be fix(Core/Vehicles): allow passengers to attack the vehicle carrying them (#26936) 2026-08-03 19:46:05 -03:00
AndrewandClaude Fable 5 4eba00c5ab fix(Scripts/Ulduar): place Hodir's helpers at their sniffed positions (#26931)
Co-authored-by: Claude Fable 5 <[email protected]>
2026-08-03 19:30:22 -03:00
Andrew 1e91bba7c8 fix(Scripts/Ulduar): don't mark players below the platform for Constrictor Tentacles (#26933) 2026-08-03 19:27:10 -03:00
Andrew b4b1ca6b94 fix(DB/Ulduar): Guardian of Yogg-Saron Shadow Nova double-hitting Sara (#26934) 2026-08-03 08:03:10 -03:00
Andrew ea310e3844 fix(Scripts/Ulduar): let Kologarn despawn on evade and stop closing the Shattered Walkway Door (#26921) 2026-08-03 08:01:40 -03:00
AndrewandClaude Fable 5 d1a81d0824 fix(Scripts/Ulduar): icicles should not destroy Hodir's Toasty Fires (#26929)
Co-authored-by: Claude Fable 5 <[email protected]>
2026-08-03 08:01:21 -03:00
Andrewandhorn 51fb7d6145 fix(Scripts/Ulduar): allow immunities to free players from Yogg-Saron's Constrictor Tentacle (#26935)
Co-authored-by: horn <[email protected]>
2026-08-03 08:00:14 -03:00
Andrew f7fb57d6f3 fix(Scripts/Ulduar): correct Thorim gauntlet immunity staging (#26942) 2026-08-03 07:59:14 -03:00
AndrewandClaude Fable 5 5b74083eb5 fix(Scripts/Ulduar): stop Hodir mages from starving their own spell schedule (#26930)
Co-authored-by: Claude Fable 5 <[email protected]>
2026-08-03 07:58:57 -03:00
Andrew 3da0254d8a fix(Scripts/Ulduar): rework Mimiron's Spinning Up cadence, arc anchoring and facing (#26917) 2026-08-02 19:14:23 -03:00
Andrewandoffl 02519baa49 fix(Scripts/Ulduar): filter Hodir Icicle force-cast targets (#26915)
Co-authored-by: offl <[email protected]>
2026-08-02 15:35:03 -03:00
Andrew 2cc999c459 fix(Scripts/Ulduar): use Icicle force-cast for Hodir Flash Freeze snowdrifts (#26911) 2026-08-02 13:09:33 -03:00
Andrew aebd62ce82 fix(Scripts/Ulduar): rework Hodir hard mode timer to use Shatter Chest aura (#26910) 2026-08-02 12:37:17 -03:00
Andrew b06fc4b858 fix(Scripts/Ulduar): sync Mimiron's Rocket Strike marker and detonation with the missile (#26844) 2026-07-28 19:18:46 +02:00
Andrew 9f66598caa fix(Scripts/Ulduar): fire Mimiron's Rocket Strike non-triggered so the cast reaches the client (#26841) 2026-07-27 22:48:37 -03:00
Andrew b7387f653d feat(Core/Player): restore additional saves behind a config bitmask (#26825) 2026-07-27 21:31:00 -03:00
Andrew f23ac046ab refactor(Scripts/OnyxiasLair): clean up boss_onyxia (#26829) 2026-07-27 08:27:30 -03:00
Andrew ff1f543a10 fix(Core/Creature): don't charge corpse decay time on forced despawn of a living creature (#26827) 2026-07-26 18:07:10 -03:00
Andrew 144f77eb2a fix(DB/Immunities): allow Mind Control on 25-man Naxxramas Worshippers (#26815) 2026-07-26 06:16:02 -03:00
Andrew e0fe11ba46 fix(Core/Movement): don't teleport unreleased corpses out of instances when falling under the map (#26768) 2026-07-25 21:24:00 -03:00
Andrew 891b9671eb fix(Scripts/BlackTemple): fix crash on Shade of Akama evade (#26813) 2026-07-25 21:13:52 -03:00