Change the way #22332 moved spell damage calculations from SpellEffectDMG to scripts, using OnEffectLaunchTarget and SetEffectValue instead
(cherry picked from commit 20772dbf5d)
- remove hardcoded text (deprecated method)
- add already existing DB gossip content to enum
- correct spell enum from spell_creature_ to spell_create_
- replace case switch with if statement (only one boolean case)
Extra script file update:
- remove SD comment line 22 (outdated info, replaced by SAI)
(cherry picked from commit 7cb31aa482)
UNIT_FLAG_NON_ATTACKABLE makes ingvar become a invalid target and lose threatlist, so me->IsThreatened() will return false.
We dont need it at all, since UpdateAI will handle evade already.
(cherry picked from commit 71dde16ce9)
* Core/AI: Revamp how UnitAI changes are applied
Revamp how UnitAI changes are applied by storing current AI in a variable and all previous AIs plus current in a stack.
The callers can push/pop AIs on the stack that will take effect only in next Unit::Update() call.
The current AI will be a valid object for the whole duration of Unit::Update() and until next Unit::Update() call.
* Core/AI: Apply new AI change code
* Core/AI: Fix build
* Core/AI: Fix crash on Creature::AIM_Create()
* Core/AI: Fix crash
* Core/AI: Restore ASSERT
* Core/AI: Fix UnitAI not being popped properly when restoring a charmed AI
(cherry picked from commit 8f9654d817)
- split the quest status check, the quest gossips are different
- remove old hardcoded text (deprecated method)
- enumerate already existing DB gossip menu option items
(cherry picked from commit a8558c4361)
Quest 12288: Overwhelmed!
- Upon casting the healing quest spell, Wounded Skirmisher (npc_wounded_skirmisher)
shows $r and $c in their reply talk text because of the missing target argument,
hence not targeting the player on the quest (or the specific caster, in this case).
Text used by the NPC Wounded Skirmisher:
0 Ahh.... better.
1 Whoa - I nearly died there. Thank you, $r!
2 Thank you, $c.
Solution: add the missing target name, caster, to the Talk() script line.
(cherry picked from commit 95398fadf9)
Fix issues reported by Address Sanitizer about LoadMinionData() calls on arrays that don't end with a {0, 0} pair.
(cherry picked from commit 08dcee0cf9)
Closes#22754#21887#17882
Ty sirikfoll for all help
Bonus fixes: Abomination letting worms when fight end, visual missing, archmages stop respawn if corpse despawn
(cherry picked from commit dd81978f43)
* Online states are now re-evaluated before victim update instead of continuously. Closes#22226. Tagging #21501.
* Victim update now happens every 1s as opposed to every server tick unless current target goes away.
* Suppressed threat is no longer re-established until the victim gains additional threat (by hitting the target, for instance).
* Assistance threat is now split between non-controlled units threatened by target, as opposed to all units threatened by target.
(cherry picked from commit 5cea572a9a)