diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-09-19 22:56:20 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-09-19 22:56:20 +0200 |
| commit | cc6e0bfeb44181f93b44d83bde9c057425b2d861 (patch) | |
| tree | f3667eefc3ea803b16bee121bb326f44c406503b | |
| parent | 059419584eae791d9aab2f35a40f244c367078ca (diff) | |
DB/Karazhan: Migrate linked_respawn to spawn groups
3 files changed, 51 insertions, 0 deletions
diff --git a/sql/updates/world/3.3.5/2022_09_19_03_world.sql b/sql/updates/world/3.3.5/2022_09_19_03_world.sql new file mode 100644 index 00000000000..52fe0c49eea --- /dev/null +++ b/sql/updates/world/3.3.5/2022_09_19_03_world.sql @@ -0,0 +1,42 @@ +DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN 149 AND 156; +INSERT INTO `spawn_group_template` (`groupId`,`groupName`,`groupFlags`) VALUES +(149,'Karazhan - Attumen the Huntsman',4), +(150,'Karazhan - Moroes',4), +(151,'Karazhan - Maiden of Virtue',4), +(152,'Karazhan - The Curator',4), +(153,'Karazhan - Shade of Aran',4), +(154,'Karazhan - Terestian Illhoof',4), +(155,'Karazhan - Netherspite',4), +(156,'Karazhan - Prince Malchezaar',4); + +DELETE FROM `instance_spawn_groups` WHERE `spawnGroupId` BETWEEN 149 AND 156; +INSERT INTO `instance_spawn_groups` (`instanceMapId`,`bossStateId`,`bossStates`,`spawnGroupId`,`flags`) VALUES +(532,0,23,149,1), +(532,1,23,150,1), +(532,2,23,151,1), +(532,5,23,152,1), +(532,6,23,153,1), +(532,7,23,154,1), +(532,8,23,155,1), +(532,10,23,156,1); + +DELETE FROM `spawn_group` WHERE `groupId` BETWEEN 149 AND 156; +INSERT INTO `spawn_group` SELECT 149, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135159 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 150, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135472 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 151, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135474 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 152, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135489 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 153, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135692 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 154, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135473 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 155, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135476 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` SELECT 156, 0, `guid` FROM `linked_respawn` WHERE `linkedGuid`=135477 AND `linkType` IN (0,3); +INSERT INTO `spawn_group` (`groupId`,`spawnType`,`spawnId`) VALUES +(149,0,135159), +(150,0,135472), +(151,0,135474), +(152,0,135489), +(153,0,135692), +(154,0,135473), +(155,0,135476), +(156,0,135477); + +DELETE FROM `linked_respawn` WHERE `linkedGuid` IN (135159,135472,135474,135489,135692,135473,135476,135477); diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp index 72883842491..2ad49885338 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp @@ -143,6 +143,8 @@ public: HandleDoors(true); DestroyPortals(); + + instance->SetBossState(DATA_NETHERSPITE, NOT_STARTED); } void SummonPortals() @@ -266,12 +268,16 @@ public: { HandleDoors(false); SwitchToPortalPhase(); + + instance->SetBossState(DATA_NETHERSPITE, IN_PROGRESS); } void JustDied(Unit* /*killer*/) override { HandleDoors(true); DestroyPortals(); + + instance->SetBossState(DATA_NETHERSPITE, DONE); } void UpdateAI(uint32 diff) override diff --git a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp index 9360d3200ee..31a8fdf8a00 100644 --- a/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp +++ b/src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp @@ -248,6 +248,7 @@ public: positions.push_back(&InfernalPoints[i]); instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true); + instance->SetBossState(DATA_MALCHEZZAR, NOT_STARTED); } void KilledUnit(Unit* /*victim*/) override @@ -268,6 +269,7 @@ public: positions.push_back(&InfernalPoints[i]); instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), true); + instance->SetBossState(DATA_MALCHEZZAR, DONE); } void JustEngagedWith(Unit* /*who*/) override @@ -275,6 +277,7 @@ public: Talk(SAY_AGGRO); instance->HandleGameObject(instance->GetGuidData(DATA_GO_NETHER_DOOR), false); // Open the door leading further in + instance->SetBossState(DATA_MALCHEZZAR, IN_PROGRESS); } void InfernalCleanup() |
