diff options
4 files changed, 283 insertions, 13 deletions
diff --git a/sql/updates/world/master/2021_06_16_03_world_2018_01_18_00_world.sql b/sql/updates/world/master/2021_06_16_03_world_2018_01_18_00_world.sql new file mode 100644 index 00000000000..d34bb6ba161 --- /dev/null +++ b/sql/updates/world/master/2021_06_16_03_world_2018_01_18_00_world.sql @@ -0,0 +1,270 @@ +-- SpawnGroupMapper auto-generated SQL for map 576 (The Nexus) + +-- Constant setter section - adjust this +-- spawn_group_template (5 entries) +SET @FIRSTGROUPID := 23; +-- Boss state associations +SET @FROZENCOMMANDERS := 0; -- boss state that controls group "Frozen Commanders" +SET @GRANDMAGUSTELESTRA := 1; -- boss state that controls group "Grand Magus Telestra" +SET @ANOMALUS := 2; -- boss state that controls group "Anomalus" +SET @ORMOROKTHETREESHAPER := 3; -- boss state that controls group "Ormorok the Tree-Shaper" +SET @KERISTRASZA := 4; -- boss state that controls group "Keristrasza" + +-- DB modification section - you shouldn't need to touch this +-- Insert spawn group templates +DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+4; +INSERT INTO `spawn_group_template` (`groupId`,`groupName`,`groupFlags`) VALUES + (@FIRSTGROUPID+0, "The Nexus - Frozen Commanders", 0x04), + (@FIRSTGROUPID+1, "The Nexus - Grand Magus Telestra", 0x04), + (@FIRSTGROUPID+2, "The Nexus - Anomalus", 0x04), + (@FIRSTGROUPID+3, "The Nexus - Ormorok the Tree-Shaper", 0x04), + (@FIRSTGROUPID+4, "The Nexus - Keristrasza", 0x04); + +-- Insert spawn group data +DELETE FROM `spawn_group` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+4; +INSERT INTO `spawn_group` (`groupId`,`spawnType`,`spawnId`) VALUES + (@FIRSTGROUPID+1, 0, 126461), + (@FIRSTGROUPID+1, 0, 126477), + (@FIRSTGROUPID+4, 0, 126493), + (@FIRSTGROUPID+2, 0, 126509), + (@FIRSTGROUPID+2, 0, 126525), + (@FIRSTGROUPID+2, 0, 126541), + (@FIRSTGROUPID+2, 0, 126557), + (@FIRSTGROUPID+2, 0, 126573), + (@FIRSTGROUPID+2, 0, 126589), + (@FIRSTGROUPID+3, 0, 126605), + (@FIRSTGROUPID+3, 0, 126621), + (@FIRSTGROUPID+3, 0, 126637), + (@FIRSTGROUPID+3, 0, 126653), + (@FIRSTGROUPID+3, 0, 126446), + (@FIRSTGROUPID+1, 0, 126462), + (@FIRSTGROUPID+1, 0, 126478), + (@FIRSTGROUPID+4, 0, 126494), + (@FIRSTGROUPID+2, 0, 126510), + (@FIRSTGROUPID+2, 0, 126526), + (@FIRSTGROUPID+2, 0, 126542), + (@FIRSTGROUPID+2, 0, 126558), + (@FIRSTGROUPID+2, 0, 126574), + (@FIRSTGROUPID+2, 0, 126590), + (@FIRSTGROUPID+3, 0, 126606), + (@FIRSTGROUPID+3, 0, 126622), + (@FIRSTGROUPID+3, 0, 126638), + (@FIRSTGROUPID+3, 0, 126654), + (@FIRSTGROUPID+3, 0, 126447), + (@FIRSTGROUPID+1, 0, 126463), + (@FIRSTGROUPID+1, 0, 126479), + (@FIRSTGROUPID+2, 0, 126495), + (@FIRSTGROUPID+2, 0, 126511), + (@FIRSTGROUPID+2, 0, 126527), + (@FIRSTGROUPID+2, 0, 126543), + (@FIRSTGROUPID+2, 0, 126559), + (@FIRSTGROUPID+2, 0, 126575), + (@FIRSTGROUPID+2, 0, 126591), + (@FIRSTGROUPID+3, 0, 126607), + (@FIRSTGROUPID+3, 0, 126623), + (@FIRSTGROUPID+3, 0, 126639), + (@FIRSTGROUPID+3, 0, 126655), + (@FIRSTGROUPID+4, 0, 126448), + (@FIRSTGROUPID+1, 0, 126464), + (@FIRSTGROUPID+1, 0, 126480), + (@FIRSTGROUPID+2, 0, 126496), + (@FIRSTGROUPID+2, 0, 126512), + (@FIRSTGROUPID+2, 0, 126528), + (@FIRSTGROUPID+2, 0, 126544), + (@FIRSTGROUPID+2, 0, 126560), + (@FIRSTGROUPID+2, 0, 126576), + (@FIRSTGROUPID+2, 0, 126592), + (@FIRSTGROUPID+3, 0, 126608), + (@FIRSTGROUPID+3, 0, 126624), + (@FIRSTGROUPID+3, 0, 126640), + (@FIRSTGROUPID+3, 0, 126656), + (@FIRSTGROUPID+4, 0, 126449), + (@FIRSTGROUPID+1, 0, 126465), + (@FIRSTGROUPID+2, 0, 126481), + (@FIRSTGROUPID+2, 0, 126497), + (@FIRSTGROUPID+2, 0, 126513), + (@FIRSTGROUPID+2, 0, 126529), + (@FIRSTGROUPID+2, 0, 126545), + (@FIRSTGROUPID+2, 0, 126561), + (@FIRSTGROUPID+2, 0, 126577), + (@FIRSTGROUPID+2, 0, 126593), + (@FIRSTGROUPID+3, 0, 126609), + (@FIRSTGROUPID+3, 0, 126625), + (@FIRSTGROUPID+3, 0, 126641), + (@FIRSTGROUPID+3, 0, 126657), + (@FIRSTGROUPID+4, 0, 126450), + (@FIRSTGROUPID+1, 0, 126466), + (@FIRSTGROUPID+2, 0, 126482), + (@FIRSTGROUPID+3, 0, 126498), + (@FIRSTGROUPID+2, 0, 126514), + (@FIRSTGROUPID+2, 0, 126530), + (@FIRSTGROUPID+2, 0, 126546), + (@FIRSTGROUPID+2, 0, 126562), + (@FIRSTGROUPID+2, 0, 126578), + (@FIRSTGROUPID+2, 0, 126594), + (@FIRSTGROUPID+3, 0, 126610), + (@FIRSTGROUPID+3, 0, 126626), + (@FIRSTGROUPID+3, 0, 126642), + (@FIRSTGROUPID+3, 0, 126658), + (@FIRSTGROUPID+2, 0, 126435), + (@FIRSTGROUPID+4, 0, 126451), + (@FIRSTGROUPID+1, 0, 126467), + (@FIRSTGROUPID+2, 0, 126483), + (@FIRSTGROUPID+2, 0, 126499), + (@FIRSTGROUPID+2, 0, 126515), + (@FIRSTGROUPID+2, 0, 126531), + (@FIRSTGROUPID+2, 0, 126547), + (@FIRSTGROUPID+2, 0, 126563), + (@FIRSTGROUPID+2, 0, 126579), + (@FIRSTGROUPID+2, 0, 126595), + (@FIRSTGROUPID+3, 0, 126627), + (@FIRSTGROUPID+3, 0, 126643), + (@FIRSTGROUPID+3, 0, 126659), + (@FIRSTGROUPID+2, 0, 126436), + (@FIRSTGROUPID+4, 0, 126452), + (@FIRSTGROUPID+1, 0, 126468), + (@FIRSTGROUPID+2, 0, 126484), + (@FIRSTGROUPID+4, 0, 126500), + (@FIRSTGROUPID+2, 0, 126516), + (@FIRSTGROUPID+2, 0, 126532), + (@FIRSTGROUPID+2, 0, 126548), + (@FIRSTGROUPID+2, 0, 126564), + (@FIRSTGROUPID+2, 0, 126580), + (@FIRSTGROUPID+2, 0, 126596), + (@FIRSTGROUPID+3, 0, 126628), + (@FIRSTGROUPID+3, 0, 126644), + (@FIRSTGROUPID+3, 0, 126660), + (@FIRSTGROUPID+0, 0, 4764), + (@FIRSTGROUPID+2, 0, 126437), + (@FIRSTGROUPID+4, 0, 126453), + (@FIRSTGROUPID+1, 0, 126469), + (@FIRSTGROUPID+2, 0, 126485), + (@FIRSTGROUPID+4, 0, 126501), + (@FIRSTGROUPID+2, 0, 126517), + (@FIRSTGROUPID+2, 0, 126533), + (@FIRSTGROUPID+2, 0, 126549), + (@FIRSTGROUPID+2, 0, 126565), + (@FIRSTGROUPID+2, 0, 126581), + (@FIRSTGROUPID+2, 0, 126597), + (@FIRSTGROUPID+3, 0, 126629), + (@FIRSTGROUPID+3, 0, 126645), + (@FIRSTGROUPID+3, 0, 126661), + (@FIRSTGROUPID+2, 0, 126438), + (@FIRSTGROUPID+1, 0, 126454), + (@FIRSTGROUPID+1, 0, 126470), + (@FIRSTGROUPID+2, 0, 126486), + (@FIRSTGROUPID+4, 0, 126502), + (@FIRSTGROUPID+2, 0, 126518), + (@FIRSTGROUPID+2, 0, 126534), + (@FIRSTGROUPID+2, 0, 126550), + (@FIRSTGROUPID+2, 0, 126566), + (@FIRSTGROUPID+2, 0, 126582), + (@FIRSTGROUPID+2, 0, 126598), + (@FIRSTGROUPID+3, 0, 126614), + (@FIRSTGROUPID+3, 0, 126630), + (@FIRSTGROUPID+3, 0, 126646), + (@FIRSTGROUPID+3, 0, 126662), + (@FIRSTGROUPID+2, 0, 126439), + (@FIRSTGROUPID+0, 0, 126455), + (@FIRSTGROUPID+1, 0, 126471), + (@FIRSTGROUPID+2, 0, 126487), + (@FIRSTGROUPID+4, 0, 126503), + (@FIRSTGROUPID+2, 0, 126519), + (@FIRSTGROUPID+2, 0, 126535), + (@FIRSTGROUPID+2, 0, 126551), + (@FIRSTGROUPID+2, 0, 126567), + (@FIRSTGROUPID+2, 0, 126583), + (@FIRSTGROUPID+2, 0, 126599), + (@FIRSTGROUPID+3, 0, 126615), + (@FIRSTGROUPID+3, 0, 126631), + (@FIRSTGROUPID+3, 0, 126647), + (@FIRSTGROUPID+3, 0, 126663), + (@FIRSTGROUPID+3, 0, 126440), + (@FIRSTGROUPID+1, 0, 126456), + (@FIRSTGROUPID+1, 0, 126472), + (@FIRSTGROUPID+3, 0, 126488), + (@FIRSTGROUPID+4, 0, 126504), + (@FIRSTGROUPID+2, 0, 126520), + (@FIRSTGROUPID+2, 0, 126536), + (@FIRSTGROUPID+2, 0, 126552), + (@FIRSTGROUPID+2, 0, 126568), + (@FIRSTGROUPID+2, 0, 126584), + (@FIRSTGROUPID+3, 0, 126600), + (@FIRSTGROUPID+3, 0, 126616), + (@FIRSTGROUPID+3, 0, 126632), + (@FIRSTGROUPID+3, 0, 126648), + (@FIRSTGROUPID+0, 0, 126664), + (@FIRSTGROUPID+3, 0, 126441), + (@FIRSTGROUPID+1, 0, 126457), + (@FIRSTGROUPID+1, 0, 126473), + (@FIRSTGROUPID+3, 0, 126489), + (@FIRSTGROUPID+4, 0, 126505), + (@FIRSTGROUPID+2, 0, 126521), + (@FIRSTGROUPID+2, 0, 126537), + (@FIRSTGROUPID+2, 0, 126553), + (@FIRSTGROUPID+2, 0, 126569), + (@FIRSTGROUPID+2, 0, 126585), + (@FIRSTGROUPID+3, 0, 126601), + (@FIRSTGROUPID+3, 0, 126617), + (@FIRSTGROUPID+3, 0, 126633), + (@FIRSTGROUPID+3, 0, 126649), + (@FIRSTGROUPID+0, 0, 126665), + (@FIRSTGROUPID+3, 0, 126442), + (@FIRSTGROUPID+1, 0, 126458), + (@FIRSTGROUPID+0, 0, 126474), + (@FIRSTGROUPID+2, 0, 126490), + (@FIRSTGROUPID+4, 0, 126506), + (@FIRSTGROUPID+2, 0, 126522), + (@FIRSTGROUPID+2, 0, 126538), + (@FIRSTGROUPID+2, 0, 126554), + (@FIRSTGROUPID+2, 0, 126570), + (@FIRSTGROUPID+2, 0, 126586), + (@FIRSTGROUPID+3, 0, 126602), + (@FIRSTGROUPID+3, 0, 126618), + (@FIRSTGROUPID+3, 0, 126634), + (@FIRSTGROUPID+3, 0, 126650), + (@FIRSTGROUPID+0, 0, 126666), + (@FIRSTGROUPID+3, 0, 126443), + (@FIRSTGROUPID+1, 0, 126459), + (@FIRSTGROUPID+0, 0, 126475), + (@FIRSTGROUPID+2, 0, 126491), + (@FIRSTGROUPID+2, 0, 126507), + (@FIRSTGROUPID+2, 0, 126523), + (@FIRSTGROUPID+2, 0, 126539), + (@FIRSTGROUPID+2, 0, 126555), + (@FIRSTGROUPID+2, 0, 126571), + (@FIRSTGROUPID+2, 0, 126587), + (@FIRSTGROUPID+3, 0, 126603), + (@FIRSTGROUPID+3, 0, 126619), + (@FIRSTGROUPID+3, 0, 126635), + (@FIRSTGROUPID+3, 0, 126651), + (@FIRSTGROUPID+0, 0, 126667), + (@FIRSTGROUPID+3, 0, 126444), + (@FIRSTGROUPID+1, 0, 126460), + (@FIRSTGROUPID+1, 0, 126476), + (@FIRSTGROUPID+2, 0, 126492), + (@FIRSTGROUPID+2, 0, 126508), + (@FIRSTGROUPID+2, 0, 126524), + (@FIRSTGROUPID+2, 0, 126540), + (@FIRSTGROUPID+2, 0, 126556), + (@FIRSTGROUPID+2, 0, 126572), + (@FIRSTGROUPID+2, 0, 126588), + (@FIRSTGROUPID+3, 0, 126604), + (@FIRSTGROUPID+3, 0, 126620), + (@FIRSTGROUPID+3, 0, 126636), + (@FIRSTGROUPID+3, 0, 126652), + (@FIRSTGROUPID+0, 0, 126668), + (@FIRSTGROUPID+3, 0, 126445), + (@FIRSTGROUPID+2, 0, 126434); + +-- Link information for instance script +DELETE FROM `instance_spawn_groups` WHERE `instanceMapId` = 576; +INSERT INTO `instance_spawn_groups` (`instanceMapId`, `bossStateId`, `bossStates`, `spawnGroupId`, `flags`) VALUES + (576,@FROZENCOMMANDERS,0x17,@FIRSTGROUPID+0,0x1), -- Spawn Frozen Commanders if state is not DONE + (576,@GRANDMAGUSTELESTRA,0x17,@FIRSTGROUPID+1,0x1), -- Spawn Grand Magus Telestra if state is not DONE + (576,@ANOMALUS,0x17,@FIRSTGROUPID+2,0x1), -- Spawn Anomalus if state is not DONE + (576,@ORMOROKTHETREESHAPER,0x17,@FIRSTGROUPID+3,0x1), -- Spawn Ormorok the Tree-Shaper if state is not DONE + (576,@KERISTRASZA,0x17,@FIRSTGROUPID+4,0x1); -- Spawn Keristrasza if state is not DONE + +-- Remove legacy linked_respawn entries +DELETE lr FROM `linked_respawn` lr INNER JOIN `spawn_group` sg ON sg.`groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+4 AND sg.`spawnType` = (lr.linkType >> 1) AND sg.`spawnId`=lr.`guid`; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp index 16253a2a6ba..3234aa73f9c 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/boss_keristrasza.cpp @@ -116,7 +116,7 @@ class boss_keristrasza : public CreatureScript bool CheckContainmentSpheres(bool removePrison = false) { - for (uint32 i = ANOMALUS_CONTAINMET_SPHERE; i < (ANOMALUS_CONTAINMET_SPHERE + DATA_CONTAINMENT_SPHERES); ++i) + for (uint32 i = ANOMALUS_CONTAINMENT_SPHERE; i < (ANOMALUS_CONTAINMENT_SPHERE + DATA_CONTAINMENT_SPHERES); ++i) { GameObject* containmentSpheres = ObjectAccessor::GetGameObject(*me, instance->GetGuidData(i)); if (!containmentSpheres || containmentSpheres->GetGoState() != GO_STATE_ACTIVE) diff --git a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp index 5b3228e6413..fec54d6a0c1 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp +++ b/src/server/scripts/Northrend/Nexus/Nexus/instance_nexus.cpp @@ -93,17 +93,17 @@ class instance_nexus : public InstanceMapScript { switch (go->GetEntry()) { - case GO_ANOMALUS_CONTAINMET_SPHERE: + case GO_ANOMALUS_CONTAINMENT_SPHERE: AnomalusContainmentSphere = go->GetGUID(); if (GetBossState(DATA_ANOMALUS) == DONE) go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); break; - case GO_ORMOROKS_CONTAINMET_SPHERE: + case GO_ORMOROKS_CONTAINMENT_SPHERE: OrmoroksContainmentSphere = go->GetGUID(); if (GetBossState(DATA_ORMOROK) == DONE) go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); break; - case GO_TELESTRAS_CONTAINMET_SPHERE: + case GO_TELESTRAS_CONTAINMENT_SPHERE: TelestrasContainmentSphere = go->GetGUID(); if (GetBossState(DATA_MAGUS_TELESTRA) == DONE) go->RemoveFlag(GO_FLAG_NOT_SELECTABLE); @@ -156,11 +156,11 @@ class instance_nexus : public InstanceMapScript return AnomalusGUID; case DATA_KERISTRASZA: return KeristraszaGUID; - case ANOMALUS_CONTAINMET_SPHERE: + case ANOMALUS_CONTAINMENT_SPHERE: return AnomalusContainmentSphere; - case ORMOROKS_CONTAINMET_SPHERE: + case ORMOROKS_CONTAINMENT_SPHERE: return OrmoroksContainmentSphere; - case TELESTRAS_CONTAINMET_SPHERE: + case TELESTRAS_CONTAINMENT_SPHERE: return TelestrasContainmentSphere; default: break; diff --git a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h index e6f8dcb06b0..e5367ad1c53 100644 --- a/src/server/scripts/Northrend/Nexus/Nexus/nexus.h +++ b/src/server/scripts/Northrend/Nexus/Nexus/nexus.h @@ -33,9 +33,9 @@ enum NEXDataTypes DATA_ORMOROK = 3, DATA_KERISTRASZA = 4, - ANOMALUS_CONTAINMET_SPHERE = 5, - ORMOROKS_CONTAINMET_SPHERE = 6, - TELESTRAS_CONTAINMET_SPHERE = 7 + ANOMALUS_CONTAINMENT_SPHERE = 5, + ORMOROKS_CONTAINMENT_SPHERE = 6, + TELESTRAS_CONTAINMENT_SPHERE = 7 }; enum NEXCreatureIds @@ -60,9 +60,9 @@ enum NEXCreatureIds enum NEXGameObjectIds { - GO_ANOMALUS_CONTAINMET_SPHERE = 188527, - GO_ORMOROKS_CONTAINMET_SPHERE = 188528, - GO_TELESTRAS_CONTAINMET_SPHERE = 188526 + GO_ANOMALUS_CONTAINMENT_SPHERE = 188527, + GO_ORMOROKS_CONTAINMENT_SPHERE = 188528, + GO_TELESTRAS_CONTAINMENT_SPHERE = 188526 }; template <class AI, class T> |