Fix bad target for script for move to position which was using target 1 instead of 8 which was causing npc to walk through wall and dissapear on quest accept
- Game client should show an on-screen message for explored quest objectives
(AreaExploredOrEventHappens) when the objective has been completed.
Closes#19543
- change event type to On Quest Taken (19) instead of Finished (20)
- modify comment to reflect the event type used
- also modify comment to show the quest name instead of number
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.
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
- 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)
- set correct gossip_menu.text_id for Jangdor Swiftstrider
- add missing text for Terl Arakor and Griniblix the Spectator
* Thanks to MaNGOS Zero / billy1arm for providing the right clues.
Updates #19527
- 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