- Game client should show an on-screen message for explored quest objectives
(AreaExploredOrEventHappens) when the objective has been completed.
Closes#19543
(cherry picked from commit 538f60a880)
justStopped was always set true, but when transports spawn and remain stationary timer, _currentFrame->ArriveTime and _currentFrame->DepartureTime are set to 0, making justStopped always remain true and triggering incorrect calls.
(cherry picked from commit dd2151cc7a)
Handle correctly move allowed channels: IsChannelActive checks if channel phase has started (after cast if any)
Must skip the other checks since all channels focus target.
ref #19532
(cherry picked from commit b74264aef4)
* Corrected criteria and modifier tree logic after implementing their operators
* Account wide achievements will now show progress ingame (even if we still treat them as per-character)
* Fixed more cases of achievements being granted automatically without satisfying modifier trees
Add "--update-databases-only" console argument to stop worldserver execution after having updated all databases (if specified in config file)
(cherry picked from commit 92bf5b1ba7)
- Changed self-accessor on GameObjectAI to "me", like UnitAI
- Moved all related functions to AI, now Unit and GameObject have the same function names with identical behaviour
- Remove "OnUpdate" from CreatureScript/GameObjectScript, was never used and we already have AI Update method
- Quest methods no longer return a bool, the return value was used to call the AI version if the ScriptMgr one returned false
- Implemented GameObjectAI::Destroyed hook (was never called), implemented Damaged method
- Rename OnStateChanged to OnLootStateChanged to reflect when it's really called, and created a new hook OnStateChanged that only gets called on GOState change
- Since the functions are now only getting called from AI, made GetAI methods full virtual. (CanSpawn method is anyways going to be used on creatures with AI)
(cherry picked from commit f913f3bb89)
* isArena
* name
* queueId
* min & max players (per team)
* map id
* script id
* start max dist
* type id
* min & max level
* Save the WorldSafeLocsEntry* instead of the Position in the BattlegroundTemplate struct