Realm set realmlist logon.at-wow.org
AT-Inspiration:Online

Battleground changes

2019-24-03 @ 14:00 by kvipka
Need to talk about interesting changes of BattleGround system from TrinityCore, from this branch.
Thx ariel- for this big job.

Changes :
  • Core/Misc: calculate rotation fields from orientation in some places it's impossible to get:
- SmartScripts: SMART_ACTION_SUMMON_GO
- Spell Effects:
  * SPELL_EFFECT_DUEL
  * SPELL_EFFECT_SUMMON_OBJECT_WILD
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT1
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT2
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT3
  * SPELL_EFFECT_SUMMON_OBJECT_SLOT4
- Command Scripts: .gobject add

Closes #17891

  • [WiP] Core/PvP: Extensive cleanup, bug-fixing and optimization of Battleground scripts:
- Standards: Moved all statics to cpps where they belong.
- Cleanups: NULL -> nullptr, moved #defines to constants/enums
- Added a helper struct for handling spawns easily. Rewrote spawns using it.
- Moved spawn containers to private scope of Battleground (idea taken from boss states array in InstanceScripts)
- Remove unused teamId parameter from Battleground::SpawnCreature
- Prevent Battleground::RelocateDeadPlayers creating new entries on map.
- Make AddObject return a GameObject pointer instead of a bool (just like its AddCreature sibling)
- Corrected and added proper GO rotation to spawns
- De-hardcode buff entries for Battlegrounds, each BG uses their own entries (blizzlike).
- Moved logs from incorrect logger "sql.sql" to "bg.battleground"

Additional Notes for some BGs:
- Warsong Gulch:
  * Fixed inverted worldstates of flags being sent to new players, wrong flag state was shown on UI
- Alterac Valley:
  * Fix Snowfall graveyard cap time as per Patch 2.3.0
  * Use proper gameobject entries for each node (blizzlike)
  * Removed magic numbers in favor of compile time consts (enum offsets etc)
  * More additional missing spawns (both creatures and gameobjects)
- Isle of Conquest:
  * Removed Transport pointers from class, instead store GUIDs and use HashMapHolder to access them
  * Fixed some wrong spawns which had Y coord set as X coord, Z as Y and Orientation as Z, fix a double spawn related to this
  * Additional cleanups of spawn code that checked if the spawn was correct only to then do a Get(spawntype) to manipulate it.
  * Incremented door close time to 30 seconds, as it is on sniff
- Strand of the Ancients:
  * Fixed sending timer to players that join with BG in progress
  * Corrected ships rotation as per sniff
  * Added missing seaforium bomb spawns
  * Implemented team switch logic to different spawn entries (like Titan Relic)
  * Implemented changing teleport locations depending on destroyed doors (Closes #12127)



  • Magic typedef
  • Kill magic numbers in Arathi Basin, replace node timers with eventMap
  • Initial work on Siege Engine, also some sql import fixes
  • Fixed teleport to gunship (Todo: sometimes will not find the trigger)
  • Fix siege engine!