fix(Scripts/Karazhan): Added Opera Event decorations. (#13952)

Fixes #2339
This commit is contained in:
UltraNix
2022-12-06 20:11:27 +01:00
committed by GitHub
parent 90f5cd8a78
commit 0b4b578b6f
4 changed files with 99 additions and 53 deletions

View File

@@ -0,0 +1,17 @@
--
SET @OGUID := 260580;
DELETE FROM `gameobject` WHERE `id` IN (183442,183496,183491,183492,183493,183443,183494,183495);
INSERT INTO `gameobject` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `rotation0`, `rotation1`, `rotation2`, `rotation3`, `spawntimesecs`, `animprogress`, `state`) VALUES
(@OGUID,183442,532,1,1,-10890.9,-1744.06,90.4765,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+1,183443,532,1,1,-10890.9,-1744.06,90.4765,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+2,183491,532,1,1,-10890.9,-1744.06,90.4765,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+3,183492,532,1,1,-10880.2,-1760.6,90.47,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+4,183492,532,1,1,-10898.7,-1752.38,90.47,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+5,183492,532,1,1,-10907.4,-1759.4,90.47,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+6,183493,532,1,1,-10888.7,-1756.65,90.47,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+7,183494,532,1,1,-10905.8,-1749.38,110.477,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+8,183495,532,1,1,-10895.9,-1748.06,90.4765,-1.67552,0,0,0,0,-3600,100,1),
(@OGUID+9,183496,532,1,1,-10906.7,-1750.01,90.4765,-1.69297,0,0,0,0,-3600,100,1),
(@OGUID+10,183496,532,1,1,-10883,-1751.81,90.4765,-1.72788,0,0,0,0,-3600,100,1),
(@OGUID+11,183496,532,1,1,-10877.7,-1763.18,90.4771,-1.69297,0,0,0,0,-3600,100,1),
(@OGUID+12,183496,532,1,1,-10909.5,-1761.79,90.4773,-1.65806,0,0,0,0,-3600,100,1);

View File

@@ -132,6 +132,17 @@ public:
else if (data == IN_PROGRESS)
OzDeathCount = 0;
break;
case DATA_SPAWN_OPERA_DECORATIONS:
{
for (ObjectGuid const& guid : _operaDecorations[data - 1])
{
DoRespawnGameObject(guid, DAY);
}
break;
}
default:
break;
}
}
@@ -225,20 +236,25 @@ public:
case GO_DUST_COVERED_CHEST:
DustCoveredChest = go->GetGUID();
break;
}
switch (OperaEvent)
{
/// @todo Set Object visibilities for Opera based on performance
case EVENT_OZ:
case GO_OZ_BACKDROP:
case GO_OZ_HAY:
_operaDecorations[EVENT_OZ - 1].push_back(go->GetGUID());
break;
case EVENT_HOOD:
case GO_HOOD_BACKDROP:
case GO_HOOD_TREE:
case GO_HOOD_HOUSE:
_operaDecorations[EVENT_HOOD - 1].push_back(go->GetGUID());
break;
case EVENT_RAJ:
case GO_RAJ_BACKDROP:
case GO_RAJ_MOON:
case GO_RAJ_BALCONY:
_operaDecorations[EVENT_RAJ - 1].push_back(go->GetGUID());
break;
default:
break;
}
InstanceScript::OnGameObjectCreate(go);
}
uint32 GetData(uint32 type) const override
@@ -320,6 +336,7 @@ public:
ObjectGuid ImageGUID;
ObjectGuid DustCoveredChest;
ObjectGuid m_uiRelayGUID;
GuidVector _operaDecorations[EVENT_RAJ];
};
};

View File

@@ -269,6 +269,8 @@ public:
}
RaidWiped = false;
instance->SetData(DATA_SPAWN_OPERA_DECORATIONS, m_uiEventId);
}
void UpdateAI(uint32 diff) override

View File

@@ -27,39 +27,39 @@ uint32 const EncounterCount = 12;
enum KZDataTypes
{
DATA_ATTUMEN = 0,
DATA_MOROES = 1,
DATA_MAIDEN = 2,
DATA_OPTIONAL_BOSS = 3,
DATA_OPERA_PERFORMANCE = 4,
DATA_CURATOR = 5,
DATA_ARAN = 6,
DATA_TERESTIAN = 7,
DATA_NETHERSPITE = 8,
DATA_CHESS = 9,
DATA_MALCHEZZAR = 10,
DATA_NIGHTBANE = 11,
DATA_SERVANT_QUARTERS = 12,
DATA_SELECTED_RARE = 13,
DATA_ATTUMEN = 0,
DATA_MOROES = 1,
DATA_MAIDEN = 2,
DATA_OPTIONAL_BOSS = 3,
DATA_OPERA_PERFORMANCE = 4,
DATA_CURATOR = 5,
DATA_ARAN = 6,
DATA_TERESTIAN = 7,
DATA_NETHERSPITE = 8,
DATA_CHESS = 9,
DATA_MALCHEZZAR = 10,
DATA_NIGHTBANE = 11,
DATA_SERVANT_QUARTERS = 12,
DATA_SELECTED_RARE = 13,
DATA_OPERA_OZ_DEATHCOUNT = 14,
DATA_KILREK = 15,
DATA_OPERA_OZ_DEATHCOUNT = 14,
MAX_ENCOUNTERS = 16,
DATA_KILREK = 15,
MAX_ENCOUNTERS = 16,
DATA_GO_CURTAINS = 18,
DATA_GO_STAGEDOORLEFT = 19,
DATA_GO_STAGEDOORRIGHT = 20,
DATA_GO_LIBRARY_DOOR = 21,
DATA_GO_MASSIVE_DOOR = 22,
DATA_GO_NETHER_DOOR = 23,
DATA_GO_GAME_DOOR = 24,
DATA_GO_GAME_EXIT_DOOR = 25,
DATA_IMAGE_OF_MEDIVH = 26,
DATA_MASTERS_TERRACE_DOOR_1 = 27,
DATA_MASTERS_TERRACE_DOOR_2 = 28,
DATA_GO_SIDE_ENTRANCE_DOOR = 29,
DATA_PRINCE = 30
DATA_GO_CURTAINS = 18,
DATA_GO_STAGEDOORLEFT = 19,
DATA_GO_STAGEDOORRIGHT = 20,
DATA_GO_LIBRARY_DOOR = 21,
DATA_GO_MASSIVE_DOOR = 22,
DATA_GO_NETHER_DOOR = 23,
DATA_GO_GAME_DOOR = 24,
DATA_GO_GAME_EXIT_DOOR = 25,
DATA_IMAGE_OF_MEDIVH = 26,
DATA_MASTERS_TERRACE_DOOR_1 = 27,
DATA_MASTERS_TERRACE_DOOR_2 = 28,
DATA_GO_SIDE_ENTRANCE_DOOR = 29,
DATA_PRINCE = 30,
DATA_SPAWN_OPERA_DECORATIONS = 31
};
enum KZOperaEvents
@@ -95,18 +95,28 @@ enum KZMiscCreatures
enum KZGameObjectIds
{
GO_STAGE_CURTAIN = 183932,
GO_STAGE_DOOR_LEFT = 184278,
GO_STAGE_DOOR_RIGHT = 184279,
GO_PRIVATE_LIBRARY_DOOR = 184517,
GO_MASSIVE_DOOR = 185521,
GO_GAMESMAN_HALL_DOOR = 184276,
GO_GAMESMAN_HALL_EXIT_DOOR = 184277,
GO_NETHERSPACE_DOOR = 185134,
GO_MASTERS_TERRACE_DOOR = 184274,
GO_MASTERS_TERRACE_DOOR2 = 184280,
GO_SIDE_ENTRANCE_DOOR = 184275,
GO_DUST_COVERED_CHEST = 185119
GO_STAGE_CURTAIN = 183932,
GO_STAGE_DOOR_LEFT = 184278,
GO_STAGE_DOOR_RIGHT = 184279,
GO_PRIVATE_LIBRARY_DOOR = 184517,
GO_MASSIVE_DOOR = 185521,
GO_GAMESMAN_HALL_DOOR = 184276,
GO_GAMESMAN_HALL_EXIT_DOOR = 184277,
GO_NETHERSPACE_DOOR = 185134,
GO_MASTERS_TERRACE_DOOR = 184274,
GO_MASTERS_TERRACE_DOOR2 = 184280,
GO_SIDE_ENTRANCE_DOOR = 184275,
GO_DUST_COVERED_CHEST = 185119,
// Opera event stage decoration
GO_OZ_BACKDROP = 183442,
GO_OZ_HAY = 183496,
GO_HOOD_BACKDROP = 183491,
GO_HOOD_TREE = 183492,
GO_HOOD_HOUSE = 183493,
GO_RAJ_BACKDROP = 183443,
GO_RAJ_MOON = 183494,
GO_RAJ_BALCONY = 183495
};
enum KZMisc