* Mostly aimed at removing Log/DatabaseEnv includes from other headers
* Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files
* Moved SAI function definitions to source files (massive or requiring many different dependencies)
SMART_TARGET_INVOKER_PARTY or SMART_ACTION_CALL_GROUPEVENTHAPPENS should instead be used to achieve this functionality.
(cherry picked from commit 6586885bcaf062c5f0fd6d6c7652b93c08e7c20c)
Core/SmartAI: allow SMART_TARGET_OWNER_OR_SUMMONER to target a temporary summon's summoner, too
(cherry picked from commit 1fcd03b60a17db5fddef13feb6fe6b8d7178d0f5)
A value of 0 (default) forces the creature to keep its current level between entry updates.
Fixes#16371
(cherry picked from commit a6ef9d45395be0f4551a55439c7790a288c40df8)
Use this new target type to fix The Rider of Blood, The Rider of Frost, The Rider of the Unholy. Closes#17817.
(cherry picked from commit e2c915fb43ae27d695c0ab410fb1b14222745e27)
- NULL -> nullptr
- Rename "AssistPlayerInCombat(who)" to "AssistPlayerInCombatAgainst(who)" to reflect what the method actually does
- Code style
No functionality was changed.
(cherry picked from commit 152b3ad5b997f4be06c5bb55ddb15c57a8e28c3b)
# Conflicts:
# src/server/game/AI/SmartScripts/SmartAI.cpp
# src/server/game/AI/SmartScripts/SmartScript.cpp
- There's still an overload allowing for x, y, z, o to be passed directly
- Fixed default animstate for GameObject creation in many places, it should be 255, not 100 (checked in sniffs)
(cherry picked from commit 62bfee37cb21584cef631dda428feaf5eb829cda)
# Conflicts:
# src/server/game/Battlefield/Battlefield.cpp
# src/server/game/Battlegrounds/Battleground.cpp
# src/server/game/Entities/GameObject/GameObject.cpp
# src/server/game/Entities/GameObject/GameObject.h
# src/server/game/Entities/Object/Object.cpp
# src/server/game/Entities/Object/Object.h
# src/server/game/Spells/SpellEffects.cpp
# src/server/scripts/Commands/cs_gobject.cpp
# src/server/scripts/EasternKingdoms/SunkenTemple/instance_sunken_temple.cpp
# src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
# src/server/scripts/Kalimdor/zone_feralas.cpp
# src/server/scripts/Northrend/Nexus/EyeOfEternity/boss_malygos.cpp
# src/server/scripts/Northrend/Nexus/EyeOfEternity/instance_eye_of_eternity.cpp
# src/server/scripts/OutdoorPvP/OutdoorPvPSI.cpp
(cherry picked from commit ba0cb53b0214ab3625830f7dac3c68d08a97e084)
Rename 9999_99_99_99_world.sql to 2016_07_15_07_world.sql
(cherry picked from commit 2fd124f9a3cbbd81f2ce6c7154d640175ed71452)
Scripts/Dire Maul: Initialize boss states array so it may be called from SmartAI. (Ref #6429)
(cherry picked from commit d1d0c64ad11cb3faf986a5332fec6b704fb8026c)
# Conflicts:
# src/server/game/AI/SmartScripts/SmartScriptMgr.cpp
Gameobjects do not need to use SmartAI in order to be targeted by other entities' scripts.
(cherry picked from commit 9803e58392eea0828aac96cd79a794a77323d9d0)
Add Unit::KillSelf() function as overload of Unit::Kill(this) . Use KillSelf() whenever the killer and the victim are the same to clearly state the Unit is going to kill itself.
(cherry picked from commit 3267c90102068ed88c0bd7146ae747fe8ba44771)
# Conflicts:
# src/server/game/AI/SmartScripts/SmartScript.cpp
* Added ObjectGuid traits to easily access whether guid type can be generated globally (ObjectMgr) or not
* This adds separate (per map) guid sequences depending on object type
* Ported map object container from cmangos/mangos-wotlk@a2d396eb0b
* Added type container visitor for TypeUnorderedMapContainer
* Implemented helper function to erase unique pairs from multimap containers
* Moved object storage of all objects except players and transports to map level
* Added containers linking database spawn id with creature/gameobject in world
* Renamed DBTableGuid to spawnId
* Added a separate spawn id sequence generator for creatures and gameobjects - this will be used in db tables
* Moved building SMSG_UPDATE_OBJECT - updatefields changes broadcast to map update