From dfc8bf7309bd7e4cabdedc9eb839c52aaeff11ae Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Wed, 7 Nov 2018 16:50:15 +0100 Subject: [PATCH] Scripts/ZG: * scripted Venomancer Mauri and Venomancer T'Kulu * updated some cosmetic aspects of Zul'Gurub * handle Poison Cloud of the toxic plants via InstanceScript now --- .../custom/custom_2018_11_07_01_world.sql | 67 +++++++++++++++++++ .../ZulGurub/boss_high_priest_venoxis.cpp | 1 - .../ZulGurub/instance_zulgurub.cpp | 19 ++++++ .../EasternKingdoms/ZulGurub/zulgurub.h | 12 +++- 4 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 sql/updates/world/custom/custom_2018_11_07_01_world.sql diff --git a/sql/updates/world/custom/custom_2018_11_07_01_world.sql b/sql/updates/world/custom/custom_2018_11_07_01_world.sql new file mode 100644 index 00000000000..47465f1d6f7 --- /dev/null +++ b/sql/updates/world/custom/custom_2018_11_07_01_world.sql @@ -0,0 +1,67 @@ +-- Add Venomtip visual aura to Venomtip Needler +DELETE FROM `creature_template_addon` WHERE `entry` IN (52379); +INSERT INTO `creature_template_addon` (`entry`, `auras`) VALUES +(52379, '96912'); + +-- Remove Poison Cloud aura from toxic plants to handle them via instance script and turn them passive +UPDATE `creature_template` SET `flags_extra`= 2 WHERE `entry` IN (52332, 52331); +UPDATE `creature_template_addon` SET `auras`= '' WHERE `entry` IN (52332, 52331); + +-- Update Venomtip Needler and Florawing Needler random movement +UPDATE `creature` SET `MovementType`= 1, `spawndist`= 7 WHERE `id` IN (52379, 52377); + +-- Set ready 1h emote for entrance Siame-Quashi +DELETE FROM `creature_addon` WHERE `guid` IN (295169, 295167, 295172, 295174); +INSERT INTO `creature_addon` (`guid`, `bytes2`, `emote`) VALUES +(295169, 1, 333), +(295167, 1, 333), +(295172, 1, 333), +(295174, 1, 333); + +-- Zanzil's Cauldron of Toxic Torment +UPDATE `creature_template` SET `unit_flags`= 0x200 WHERE `entry`= 52529; +UPDATE `creature_template_addon` SET `auras`= '' WHERE `entry`= 52529; + +DELETE FROM `creature_text` WHERE `CreatureID`= 52380; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `comment`) VALUES +(52380, 0, 0, 'Mauri\'s death removes the protections from a nearby cauldron!', 41, 0, 100, 0, 0, 0, 51367, 'Venomancer Mauri - Death'); + +-- Creature Venomancer Mauri 52380 +SET @ENTRY := 52380; +UPDATE `creature_template` SET `AIName`="SmartAI", `DamageModifier`= 65, `mechanic_immune_mask`= 16 | 65536 WHERE `entry`= @ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@ENTRY, 0, 0, 1, 25, 0, 100, 0, 0, 0, 0, 0, 86, 96937, 0, 10, 295158, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On reset (e.g. after reaching home) - SMART_TARGET_CREATURE_GUID: Cast spell 96937 at Self // "), +(@ENTRY, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 86, 96936, 0, 10, 295157, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - SMART_TARGET_CREATURE_GUID: Cast spell 96936 at Self // "), +(@ENTRY, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 0, 0, 10, 295156, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295156): Set UNIT_FLAGS to UNIT_FLAG_NOT_SELECTABLE // "), +(@ENTRY, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 86, 97122, 0, 10, 295156, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - SMART_TARGET_CREATURE_GUID: Cast spell 97122 at Self // "), +(@ENTRY, 0, 4, 5, 6, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On death - Self: Talk 0 // "), +(@ENTRY, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 10, 295156, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295156): Remove UNIT_FLAGS to UNIT_FLAG_NOT_SELECTABLE // "), +(@ENTRY, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 97122, 0, 0, 0, 0, 0, 10, 295156, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295156): Remove aura due to spell 97122 // "), +(@ENTRY, 0, 7, 8, 4, 0, 100, 0, 0, 0, 0, 0, 28, 96936, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On aggro - Self: Remove aura due to spell 96936 // "), +(@ENTRY, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 96937, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Remove aura due to spell 96937 // "), +(@ENTRY, 0, 9, 0, 0, 0, 100, 0, 4000, 4000, 7000, 7000, 11, 96918, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 4000 and 4000 ms (and later repeats every 7000 and 7000 ms) - Self: Cast spell 96918 on Victim // "), +(@ENTRY, 0, 10, 0, 0, 0, 100, 0, 7000, 7000, 9000, 9000, 11, 96466, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 7000 and 7000 ms (and later repeats every 9000 and 9000 ms) - Self: Cast spell 96466 on Random hostile // "); + +DELETE FROM `creature_text` WHERE `CreatureID`= 52381; +INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextId`, `comment`) VALUES +(52381, 0, 0, 'I\'m gonna turn ya\' blood ta venom!', 12, 0, 100, 0, 0, 0, 51221, 'Venomancer T\'Kulu - Aggro'), +(52381, 1, 0, 'T\'kulu\'s death removes the protections from a nearby cauldron!', 41, 0, 100, 0, 0, 0, 51368, 'Venomancer T\'Kulu - Death'); + +-- Creature Venomancer T'Kulu 52381 +SET @ENTRY := 52381; +UPDATE `creature_template` SET `AIName`="SmartAI", `DamageModifier`= 65, `mechanic_immune_mask`= 16 | 65536 WHERE `entry`= @ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@ENTRY, 0, 0, 1, 25, 0, 100, 0, 0, 0, 0, 0, 86, 96937, 0, 10, 295004, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On reset (e.g. after reaching home) - SMART_TARGET_CREATURE_GUID: Cast spell 96937 at Self // "), +(@ENTRY, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 86, 96936, 0, 10, 295002, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - SMART_TARGET_CREATURE_GUID: Cast spell 96936 at Self // "), +(@ENTRY, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 18, 33554432, 0, 0, 0, 0, 0, 10, 295003, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295003): Set UNIT_FLAGS to UNIT_FLAG_NOT_SELECTABLE // "), +(@ENTRY, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 86, 97122, 0, 10, 295003, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - SMART_TARGET_CREATURE_GUID: Cast spell 97122 at Self // "), +(@ENTRY, 0, 4, 5, 6, 0, 100, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On death - Self: Talk 1 // "), +(@ENTRY, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 19, 33554432, 0, 0, 0, 0, 0, 10, 295003, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295003): Remove UNIT_FLAGS to UNIT_FLAG_NOT_SELECTABLE // "), +(@ENTRY, 0, 6, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 97122, 0, 0, 0, 0, 0, 10, 295003, 0, 0, 0, 0, 0, 0, " Linked - Creature Zanzil's Cauldron of Toxic Torment 52529 (295003): Remove aura due to spell 97122 // "), +(@ENTRY, 0, 7, 8, 4, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On aggro - Self: Talk 0 // "), +(@ENTRY, 0, 8, 9, 61, 0, 100, 0, 0, 0, 0, 0, 28, 96936, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Remove aura due to spell 96936 // "), +(@ENTRY, 0, 9, 0, 61, 0, 100, 0, 0, 0, 0, 0, 28, 96937, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, " Linked - Self: Remove aura due to spell 96937 // "), +(@ENTRY, 0, 10, 0, 0, 0, 100, 0, 4000, 4000, 6000, 6000, 11, 96918, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 4000 and 4000 ms (and later repeats every 6000 and 6000 ms) - Self: Cast spell 96918 on Victim // "), +(@ENTRY, 0, 11, 0, 0, 0, 100, 0, 7000, 7000, 14000, 14000, 11, 96475, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When in combat and timer at the begining between 7000 and 7000 ms (and later repeats every 14000 and 14000 ms) - Self: Cast spell 96475 on Self // "); diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/boss_high_priest_venoxis.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/boss_high_priest_venoxis.cpp index d5cce57f7d2..190b8f547e5 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/boss_high_priest_venoxis.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/boss_high_priest_venoxis.cpp @@ -55,7 +55,6 @@ enum Spells SPELL_TOTEM_BEAM_RIGHT = 96537, SPELL_VENOM_TOTEM = 96534, SPELL_SNAKE_EYES = 96533, - SPELL_POISON_CLOUD = 96729, // Pool of Acrid Tears SPELL_VENOXIS_ULT_COSMETIC_MISSILE = 96634, diff --git a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp index decff6522e1..f435d2828fb 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp +++ b/src/server/scripts/EasternKingdoms/ZulGurub/instance_zulgurub.cpp @@ -75,6 +75,12 @@ class instance_zulgurub : public InstanceMapScript case NPC_CAVE_IN_STALKER: _caveInStalkerGUIDs.push_back(creature->GetGUID()); break; + case NPC_TOXIC_VENOMSPITTER: + case NPC_MUTATED_OVERGROWTH: + _poisonPlantGUIDs.push_back(creature->GetGUID()); + if (GetBossState(DATA_HIGH_PRIEST_VENOXIS) != DONE) + creature->CastSpell(creature, SPELL_POISON_CLOUD); + break; default: break; } @@ -90,6 +96,18 @@ class instance_zulgurub : public InstanceMapScript if (!InstanceScript::SetBossState(type, state)) return false; + switch (type) + { + case DATA_HIGH_PRIEST_VENOXIS: + if (state == DONE) + for (ObjectGuid guid : _poisonPlantGUIDs) + if (Creature* plant = instance->GetCreature(guid)) + plant->RemoveAurasDueToSpell(SPELL_POISON_CLOUD); + break; + default: + break; + } + return true; } @@ -119,6 +137,7 @@ class instance_zulgurub : public InstanceMapScript */ private: GuidVector _caveInStalkerGUIDs; + GuidVector _poisonPlantGUIDs; }; 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 ad987fcf5d1..4b9fe4b2a97 100644 --- a/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h +++ b/src/server/scripts/EasternKingdoms/ZulGurub/zulgurub.h @@ -87,7 +87,14 @@ enum ZGCreatureIds // Jin'do the Godbreaker NPC_JINDO_TRIGGER = 52150, NPC_SPIRIT_OF_HAKKAR = 52222, - NPC_SHADOW_OF_HAKKAR = 52650 + NPC_SHADOW_OF_HAKKAR = 52650, + + // Zanzil + NPC_ZANZILI_BERSERKER = 52054, + + // Generic Creatures + NPC_TOXIC_VENOMSPITTER = 52332, + NPC_MUTATED_OVERGROWTH = 52331 }; enum ZGGameObjectIds @@ -114,7 +121,8 @@ enum ZGGameObjectIds enum ZGSpells { - SPELL_CAVE_IN_VISUAL = 96935 + SPELL_CAVE_IN_VISUAL = 96935, + SPELL_POISON_CLOUD = 96729 }; template