- Duplicated logic never used, sometimes only ScriptMgr version was called, sometimes only AI
- They only encourage bad scripting practices
- You can still use OnSpellHit or a SpellScript
(cherry picked from commit b6b59f6c23)
After discussion we realized, ariel and me, that Creature and Unit IsMovementPreventedByCasting() have not the same checks (order matters)
(cherry picked from commit 5a2f0ce29e)
- IsFocusing is made virtual again, so there's no need to keep a duplicated function
This reverts commit 5043639c56.
(cherry picked from commit 3ea46e57af)
Set in front modifies only the serverside orientation, use with care.
Also check for current focus to prevent things like incorrect damage on casting creatures (ie dragon breath direction change in your face because of some taunt missclick)
(cherry picked from commit 229444b74a)
- This field is only used to propose a new quest to player after completion, shouldn't be used to condition current quest
Closes#19515
(cherry picked from commit a82a12b5ef)
- Moved SetBoundary to public scope to allow for greater flexibility (ie set from external script)
- Extended to allow checking inverted boundaries
(cherry picked from commit 6892404b27)
- Allow to share already completed (but not rewarded) quests, restriction was unblizzlike
thanks Cannix for the heads up
(cherry picked from commit 157e9311c4)
- Unify quest status checking function, use dedicated function instead of direct map checks
- Fixed seasonal quest chains and ability to complete the same quests rewarded in past
- Update area dependent auras on quest status change (they often requires specific quest status)
- Send all not stored quest rewards by mail
- When casting quest reward spell, check if it is not self casted, if so - use player to cast this spell
- Perform full db save on quest reward to prevent data desynchronization
- Don't allow to fail completed timed quests, except for quests which are completed right from the start
- Don't allow to share pooled quests, if they are not available in the current pool (eg sharing easy dalaran weeklies, stored at alt character)
- Remove seasonal quest if rewarded quest is removed
- Don't complete whole quest on AreaExplore event, check if there are no more requirements that should be fulfilled
- Quests with flag QUEST_SPECIAL_FLAGS_PLAYER_KILL can be only credited in quest zone
Closes#18913Closes#11187Closes#15279
(cherry picked from commit cbbb745246)
* In the existing core script, Willix the Importer in Razorfen Kraul says
"Help! Get this $n off of me!" (showing the $n part in his SAY text)
instead of naming the attacker when using his 'SAY_AGGRO1' creature_text.
* With this commit change, unit target is no longer missing for Talk,
making Willix name the attacking unit when he shouts for help.
(cherry picked from commit 6cc267d909)