Add "--update-databases-only" console argument to stop worldserver execution after having updated all databases (if specified in config file)
(cherry picked from commit 92bf5b1ba795303808c5f1b3bf82dd0204133ed8)
- 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 f913f3bb8977c127d200d5d4a608ab434b21bbcd)
* 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
- Implemented manager for petitions to perform all petition related tasks and synchronize data with database.
- This kills ugly synchronous querys on packet handlers
(cherry picked from commit a4aa95a5a39d75b9e38fe03aac57ceb7d9bba90f)
- 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 b6b59f6c239bc0259c92c28bf43bbb50573330b5)
After discussion we realized, ariel and me, that Creature and Unit IsMovementPreventedByCasting() have not the same checks (order matters)
(cherry picked from commit 5a2f0ce29e29d934c200f617fec6dad619fab9a5)
- IsFocusing is made virtual again, so there's no need to keep a duplicated function
This reverts commit 5043639c563514c079ba6eb959dd4c1c555fa494.
(cherry picked from commit 3ea46e57afe26778704647084cc6fa55a798e510)
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 229444b74a7e2176db142e0446d4268995c5aad6)