diff options
4 files changed, 45 insertions, 1 deletions
diff --git a/sql/updates/world/3.3.5/2022_09_27_01_world.sql b/sql/updates/world/3.3.5/2022_09_27_01_world.sql new file mode 100644 index 00000000000..c1c57bee34b --- /dev/null +++ b/sql/updates/world/3.3.5/2022_09_27_01_world.sql @@ -0,0 +1,31 @@ +DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN 286 AND 292; +INSERT INTO `spawn_group_template` (`groupId`,`groupName`,`groupFlags`) VALUES +(286,'Zul''gurub - High Priestess Jeklik',4), +(287,'Zul''gurub - High Priest Venoxis',4), +(288,'Zul''gurub - High Priestess Mar''li',4), +(289,'Zul''gurub - High Priest Thekal',4), +(290,'Zul''gurub - Hakkar',4), +(291,'Zul''gurub - Bloodlord Mandokir',4), +(292,'Zul''gurub - Jin''do the Hexxer',4); + +DELETE FROM `instance_spawn_groups` WHERE `spawnGroupId` BETWEEN 286 AND 292; +INSERT INTO `instance_spawn_groups` (`instanceMapId`,`bossStateId`,`bossStates`,`spawnGroupId`,`flags`) VALUES +(309,0,23,286,1), +(309,1,23,287,1), +(309,2,23,288,1), +(309,4,23,289,1), +(309,5,23,290,1), +(309,6,23,291,1), +(309,7,23,292,1); + +DELETE FROM `spawn_group` WHERE `groupId` BETWEEN 286 AND 292; +INSERT INTO `spawn_group` (`groupId`,`spawnType`,`spawnId`) VALUES +(286,0,49199), +(287,0,49194), +(288,0,49258), +(289,0,49310), +(290,0,49678), +(291,0,49286), +(292,0,49655); + +DELETE FROM `event_scripts` WHERE `id`=9104; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp index 3291530c5d3..d96300296c1 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_arlokk.cpp @@ -428,7 +428,7 @@ struct go_gong_of_bethekk : public GameObjectAI { me->SetFlag(GO_FLAG_NOT_SELECTABLE); me->SendCustomAnim(0); - me->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10min); + me->SummonCreature(NPC_ARLOKK, PosSummonArlokk[0], TEMPSUMMON_DEAD_DESPAWN, 10min); return true; } }; diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index 120ff0e3f61..352705836bf 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -20,6 +20,11 @@ #include "InstanceScript.h" #include "ScriptMgr.h" +enum ZulGurubGameEventIds +{ + EVENT_MUDSKUNK_LURE = 9104 +}; + DoorData const doorData[] = { { GO_FORCEFIELD, DATA_ARLOKK, DOOR_TYPE_ROOM }, @@ -35,6 +40,7 @@ ObjectData const creatureData[] = { NPC_ARLOKK, DATA_ARLOKK }, { NPC_PRIESTESS_MARLI, DATA_MARLI }, { NPC_VILEBRANCH_SPEAKER, DATA_VILEBRANCH_SPEAKER }, + { NPC_GAHZRANKA, DATA_GAHZRANKA }, { NPC_HAKKAR, DATA_HAKKAR }, { 0, 0 } // END }; @@ -81,6 +87,12 @@ class instance_zulgurub : public InstanceMapScript break; } } + + void ProcessEvent(WorldObject* /*obj*/, uint32 eventId) override + { + if (eventId == EVENT_MUDSKUNK_LURE && GetBossState(DATA_GAHZRANKA) != DONE && !GetCreature(DATA_GAHZRANKA)) + instance->SummonCreature(NPC_GAHZRANKA, { -11688.5f, -1737.74f, 2.6789f, 3.9f }); + } }; InstanceScript* GetInstanceScript(InstanceMap* map) const override diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h index 31461fd7d6e..b08ccdf1e71 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h +++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h @@ -57,6 +57,7 @@ enum ZGCreatureIds NPC_NIGHTMARE_ILLUSION = 15163, NPC_SHADE_OF_JINDO = 14986, NPC_SACRIFICED_TROLL = 14826, + NPC_GAHZRANKA = 15114, NPC_MANDOKIR = 11382, // Mandokir Event NPC_OHGAN = 14988, // Mandokir Event NPC_VILEBRANCH_SPEAKER = 11391, // Mandokir Event |
