Core/AreaTriggers: Add missing 9.2 changes

This commit is contained in:
Shauren
2022-03-10 19:59:13 +01:00
parent dfd72f01e2
commit 1f6497f04e
2 changed files with 10 additions and 7 deletions
@@ -0,0 +1,3 @@
ALTER TABLE `areatrigger`
ADD `ShapeData6` float NOT NULL DEFAULT 0 AFTER `ShapeData5`,
ADD `ShapeData7` float NOT NULL DEFAULT 0 AFTER `ShapeData6`;
@@ -50,7 +50,7 @@ namespace std
namespace
{
std::unordered_map<std::pair<uint32/*mapId*/, uint32/*cell_id*/>, std::set<ObjectGuid::LowType>> _areaTriggerSpawnsByLocation;
std::unordered_map<uint32, AreaTriggerSpawn> _areaTriggerSpawnsBySpawnId;
std::unordered_map<ObjectGuid::LowType, AreaTriggerSpawn> _areaTriggerSpawnsBySpawnId;
std::unordered_map<AreaTriggerId, AreaTriggerTemplate> _areaTriggerTemplateStore;
std::unordered_map<uint32, AreaTriggerCreateProperties> _areaTriggerCreateProperties;
}
@@ -178,8 +178,8 @@ void AreaTriggerDataStore::LoadAreaTriggerTemplates()
// 0 1 2 3 4 5 6 7 8 9 10
if (QueryResult areatriggerCreateProperties = WorldDatabase.Query("SELECT Id, AreaTriggerId, MoveCurveId, ScaleCurveId, MorphCurveId, FacingCurveId, AnimId, AnimKitId, DecalPropertiesId, TimeToTarget, TimeToTargetScale, "
// 11 12 13 14 15 16 17 18
"Shape, ShapeData0, ShapeData1, ShapeData2, ShapeData3, ShapeData4, ShapeData5, ScriptName FROM `areatrigger_create_properties`"))
// 11 12 13 14 15 16 17 18 19 20
"Shape, ShapeData0, ShapeData1, ShapeData2, ShapeData3, ShapeData4, ShapeData5, ShapeData6, ShapeData7, ScriptName FROM `areatrigger_create_properties`"))
{
do
{
@@ -234,7 +234,7 @@ void AreaTriggerDataStore::LoadAreaTriggerTemplates()
for (uint8 i = 0; i < MAX_AREATRIGGER_ENTITY_DATA; ++i)
createProperties.Shape.DefaultDatas.Data[i] = fields[12 + i].GetFloat();
createProperties.ScriptId = sObjectMgr->GetScriptId(fields[18].GetString());
createProperties.ScriptId = sObjectMgr->GetScriptId(fields[20].GetString());
if (shape == AREATRIGGER_TYPE_POLYGON)
if (createProperties.Shape.PolygonDatas.Height <= 0.0f)
@@ -307,8 +307,8 @@ void AreaTriggerDataStore::LoadAreaTriggerSpawns()
// Load area trigger positions (to put them on the server)
// 0 1 2 3 4 5 6 7 8 9 10
if (QueryResult templates = WorldDatabase.Query("SELECT SpawnId, AreaTriggerId, IsServerSide, MapId, PosX, PosY, PosZ, Orientation, PhaseUseFlags, PhaseId, PhaseGroup, "
// 11 12 13 14 15 16 17 18
"Shape, ShapeData0, ShapeData1, ShapeData2, ShapeData3, ShapeData4, ShapeData5, ScriptName FROM `areatrigger`"))
// 11 12 13 14 15 16 17 18 19 20
"Shape, ShapeData0, ShapeData1, ShapeData2, ShapeData3, ShapeData4, ShapeData5, ShapeData6, ShapeData7, ScriptName FROM `areatrigger`"))
{
do
{
@@ -354,7 +354,7 @@ void AreaTriggerDataStore::LoadAreaTriggerSpawns()
for (uint8 i = 0; i < MAX_AREATRIGGER_ENTITY_DATA; ++i)
spawn.Shape.DefaultDatas.Data[i] = fields[12 + i].GetFloat();
spawn.scriptId = sObjectMgr->GetScriptId(fields[18].GetString());
spawn.scriptId = sObjectMgr->GetScriptId(fields[20].GetString());
spawn.spawnGroupData = sObjectMgr->GetLegacySpawnGroup();
// Add the trigger to a map::cell map, which is later used by GridLoader to query