aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-09-19 22:56:20 +0200
committerShauren <shauren.trinity@gmail.com>2022-09-19 22:56:20 +0200
commitcc6e0bfeb44181f93b44d83bde9c057425b2d861 (patch)
treef3667eefc3ea803b16bee121bb326f44c406503b
parent059419584eae791d9aab2f35a40f244c367078ca (diff)
DB/Karazhan: Migrate linked_respawn to spawn groups
-rw-r--r--sql/updates/world/3.3.5/2022_09_19_03_world.sql42
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_netherspite.cpp6
-rw-r--r--src/server/scripts/EasternKingdoms/Karazhan/boss_prince_malchezaar.cpp3
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()