aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Letson <velinath@users.noreply.github.com>2017-11-07 18:06:53 -0500
committerfunjoker <funjoker109@gmail.com>2021-01-29 19:23:53 +0100
commit0ec169958596a4fd2f7c17a5f67e7123f27820e9 (patch)
tree0d01b329fed4e5a3eb5ae23251b24d613d084ad7
parent3e5a955fc8980df1332a3faa741731fbddc31b24 (diff)
Scripts/Northrend: Move Sholazar Basin NPCs to SmartAI
(cherry picked from commit c99b89934e872343bece31f4bd744ebaec80364f)
-rw-r--r--sql/updates/world/master/2021_01_25_08_world_2017_11_08_00_world.sql62
-rw-r--r--src/server/scripts/Northrend/zone_sholazar_basin.cpp289
2 files changed, 69 insertions, 282 deletions
diff --git a/sql/updates/world/master/2021_01_25_08_world_2017_11_08_00_world.sql b/sql/updates/world/master/2021_01_25_08_world_2017_11_08_00_world.sql
new file mode 100644
index 00000000000..2298430b29c
--- /dev/null
+++ b/sql/updates/world/master/2021_01_25_08_world_2017_11_08_00_world.sql
@@ -0,0 +1,62 @@
+-- Vekjik, Avatar of Freya, Adventurous Dwarf, Bushwhacker
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` IN (27801, 28315, 28604, 28317);
+
+-- Add immune to PC/NPC flag for Bushwhacker
+UPDATE `creature_template` SET `unit_flags` = `unit_flags` | 768 WHERE `entry` = 28317;
+
+DELETE FROM `event_scripts` WHERE `id` = 18503;
+INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES
+(18503,0,10,28317,360000,0,5439.275, 4853.403, -202.332, 1.4199417);
+
+DELETE FROM `creature_text` WHERE `CreatureID` = 28317;
+INSERT INTO `creature_text` (`CreatureID`, `GroupID`, `ID`, `Text`, `Type`, `Language`, `Probability`, `Emote`, `Duration`, `Sound`, `BroadcastTextID`, `TextRange`, `Comment`) VALUES
+(28317, 0, 0, '%s sniffs the air, catching the scent of something unusual.', 16, 0, 100, 0, 0, 0, 27731, 0, 'Bushwhacker');
+
+DELETE FROM `gossip_menu_option` WHERE `MenuID` = 9724 AND `OptionIndex` IN (0, 2); -- 1 is already present in DB
+INSERT INTO `gossip_menu_option` (`MenuID`, `OptionIndex`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `VerifiedBuild`) VALUES
+(9724, 0, 0, 'Can you spare an orange?', 28594, 1, 1, 0),
+(9724, 2, 0, 'I could really use a papaya.', 28596, 1, 1, 0);
+
+UPDATE `creature_text` SET `emote`=5 WHERE `CreatureID`=28604 AND `GroupID`=0 AND `ID`=0;
+UPDATE `creature_text` SET `emote`=3 WHERE `CreatureID`=28604 AND `GroupID`=1 AND `ID`=0;
+
+DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryorguid` IN (27801, 28315, 28604, 28317);
+DELETE FROM `smart_scripts` WHERE `source_type` = 9 AND `entryorguid` IN (2860400, 2831700);
+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
+(28315, 0, 0, 1, 62, 0, 100, 0, 9686, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Shaman Vekjik - On Gossip Option 0 Selected - Close Gossip'),
+(28315, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Shaman Vekjik - On Gossip Option 0 Selected - Say Line 0'),
+(28315, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 15, 12573, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Shaman Vekjik - On Gossip Option 0 Selected - Quest Credit \'Making Peace\''),
+(28315, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 51469, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Shaman Vekjik - On Gossip Option 0 Selected - Cast \'Frenzyheart\'s Fury\''),
+(27801, 0, 0, 1, 62, 0, 100, 0, 9722, 0, 0, 0, 85, 52045, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Avatar of Freya - On Gossip Option 0 Selected - Invoker Cast \'Freya Conversation Credit\''),
+(27801, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Avatar of Freya - On Gossip Option 0 Selected - Close Gossip'),
+(28604, 0, 0, 3, 62, 0, 100, 0, 9724, 0, 0, 0, 85, 52073, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Gossip Option 0 Selected - Cast \'Dwarf Gives Orange\''),
+(28604, 0, 1, 3, 62, 0, 100, 0, 9724, 1, 0, 0, 85, 52074, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Gossip Option 1 Selected - Cast \'Dwarf Gives Banana\''),
+(28604, 0, 2, 3, 62, 0, 100, 0, 9724, 2, 0, 0, 85, 52076, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Gossip Option 2 Selected - Cast \'Dwarf Gives Papaya\''),
+(28604, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 80, 2860400, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Gossip Option Selected - Action list'),
+(2860400, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Action list - Close Gossip'),
+(2860400, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Action list - Remove Gossip Flag'),
+(2860400, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 66, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Action list - Set Orientation'),
+(2860400, 9, 3, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Action list - Say Line 1'),
+(2860400, 9, 4, 0, 0, 0, 100, 0, 2000, 2000, 0, 0, 114, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 25, 0, 0, 'Adventurous Dwarf - On Action list - Move offset 25 Yards'),
+(2860400, 9, 5, 0, 0, 0, 100, 0, 3000, 3000, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - On Action list - Despawn In 3000 ms'),
+(28604, 0, 4, 0, 1, 0, 100, 1, 1000, 1000, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Adventurous Dwarf - OOC No Repeat - Say Line 0'),
+(28317, 0, 0, 1, 54, 0, 100, 0, 0, 0, 0, 0, 69, 1, 0, 0, 2, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - On Summon - Move To Summoner'),
+(28317, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - On summon - Play Emote 0'),
+(28317, 0, 2, 0, 34, 0, 100, 1, 0, 1, 0, 0, 80, 2831700, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - On Movement Inform - Run Timed Actionlist 2831700'),
+(2831700, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - Timed Actionlist - Say Line 0'),
+(2831700, 9, 1, 0, 0, 0, 100, 0, 1500, 1500, 0, 0, 19, 768, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - Timed Actionlist - Remove Flags Immune to PC/NPC'),
+(2831700, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - Timed Actionlist - Start Attacking Summoner'),
+(28317, 0, 3, 0, 7, 0, 100, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Bushwhacker - On evade - Despawn');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14, 15) AND `SourceGroup` IN (9678, 9720, 9724);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(14, 9678, 13136, 0, 0, 9, 0, 12573, 0, 0, 1, 0, 0, '', 'Show gossip menu 9678 text id 13136 if quest Making Peace has not been taken.'),
+(14, 9678, 13137, 0, 0, 9, 0, 12573, 0, 0, 0, 0, 0, '', 'Show gossip menu 9678 text id 13137 if quest Making Peace has been taken.'),
+(15, 9678, 0, 0, 0, 9, 0, 12573, 0, 0, 0, 0, 0, '', 'Show gossip menu 9678 option id 0 if quest Making Peace has been taken.'),
+(15, 9720, 0, 0, 0, 9, 0, 12621, 0, 0, 0, 0, 0, '', 'Show gossip menu 9720 option id 0 if quest Freya\'s Pact has been taken.'),
+(15, 9724, 0, 0, 0, 9, 0, 12634, 0, 0, 0, 0, 0, '', 'Show gossip menu 9724 option id 0 if quest Some Make Lemonade, Some Make Liquor has been taken.'),
+(15, 9724, 0, 0, 0, 2, 0, 38656, 1, 0, 1, 0, 0, '', 'Show gossip menu 9724 option id 0 if player does not have 1 of Orange.'),
+(15, 9724, 1, 0, 0, 9, 0, 12634, 0, 0, 0, 0, 0, '', 'Show gossip menu 9724 option id 1 if quest Some Make Lemonade, Some Make Liquor has been taken.'),
+(15, 9724, 1, 0, 0, 2, 0, 38653, 2, 0, 1, 0, 0, '', 'Show gossip menu 9724 option id 1 if player does not have 2 of Banana Bunch.'),
+(15, 9724, 2, 0, 0, 9, 0, 12634, 0, 0, 0, 0, 0, '', 'Show gossip menu 9724 option id 2 if quest Some Make Lemonade, Some Make Liquor has been taken.'),
+(15, 9724, 2, 0, 0, 2, 0, 38655, 1, 0, 1, 0, 0, '', 'Show gossip menu 9724 option id 2 if player does not have 1 of Papaya.');
diff --git a/src/server/scripts/Northrend/zone_sholazar_basin.cpp b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
index 025bfe214c2..efe6943e3c3 100644
--- a/src/server/scripts/Northrend/zone_sholazar_basin.cpp
+++ b/src/server/scripts/Northrend/zone_sholazar_basin.cpp
@@ -18,14 +18,18 @@
/* ScriptData
SDName: Sholazar_Basin
SD%Complete: 100
-SDComment: Quest support: 12573, 12621, 12726
+SDComment: Quest support: 12550, 12645, 12688, 12726, 13957
SDCategory: Sholazar_Basin
EndScriptData */
/* ContentData
-npc_vekjik
-avatar_of_freya
+npc_engineer_helice
+npc_jungle_punch_target
+spell_q12620_the_lifewarden_wrath
+spell_q12589_shoot_rjr
npc_haiphoon (Quest: "Song of Wind and Water")
+npc_vics_flying_machine
+spell_shango_tracks
EndContentData */
#include "ScriptMgr.h"
@@ -36,196 +40,11 @@ EndContentData */
#include "ObjectMgr.h"
#include "Player.h"
#include "ScriptedEscortAI.h"
-#include "ScriptedGossip.h"
#include "SpellAuras.h"
#include "SpellScript.h"
-#include "TemporarySummon.h"
#include "Vehicle.h"
/*######
-## npc_vekjik
-######*/
-
-#define GOSSIP_VEKJIK_ITEM1 "Shaman Vekjik, I have spoken with the big-tongues and they desire peace. I have brought this offering on their behalf."
-#define GOSSIP_VEKJIK_ITEM2 "No no... I had no intentions of betraying your people. I was only defending myself. it was all a misunderstanding."
-
-enum Vekjik
-{
- GOSSIP_TEXTID_VEKJIK1 = 13137,
- GOSSIP_TEXTID_VEKJIK2 = 13138,
-
- SAY_TEXTID_VEKJIK1 = 0,
-
- SPELL_FREANZYHEARTS_FURY = 51469,
-
- QUEST_MAKING_PEACE = 12573
-};
-
-class npc_vekjik : public CreatureScript
-{
-public:
- npc_vekjik() : CreatureScript("npc_vekjik") { }
-
- struct npc_vekjikAI : public ScriptedAI
- {
- npc_vekjikAI(Creature* creature) : ScriptedAI(creature) { }
-
- bool GossipHello(Player* player) override
- {
- if (me->IsQuestGiver())
- player->PrepareQuestMenu(me->GetGUID());
-
- if (player->GetQuestStatus(QUEST_MAKING_PEACE) == QUEST_STATUS_INCOMPLETE)
- {
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- SendGossipMenuFor(player, GOSSIP_TEXTID_VEKJIK1, me->GetGUID());
- return true;
- }
-
- SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
- return true;
- }
-
- bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
- {
- uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
- ClearGossipMenuFor(player);
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF + 1:
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_VEKJIK_ITEM2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- SendGossipMenuFor(player, GOSSIP_TEXTID_VEKJIK2, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- CloseGossipMenuFor(player);
- Talk(SAY_TEXTID_VEKJIK1, player);
- player->AreaExploredOrEventHappens(QUEST_MAKING_PEACE);
- DoCast(player, SPELL_FREANZYHEARTS_FURY, false);
- break;
- }
-
- return true;
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_vekjikAI(creature);
- }
-};
-
-/*######
-## avatar_of_freya
-######*/
-
-#define GOSSIP_ITEM_AOF1 "I want to stop the Scourge as much as you do. How can I help?"
-#define GOSSIP_ITEM_AOF2 "You can trust me. I am no friend of the Lich King."
-#define GOSSIP_ITEM_AOF3 "I will not fail."
-
-enum Freya
-{
- QUEST_FREYA_PACT = 12621,
-
- SPELL_FREYA_CONVERSATION = 52045,
-
- GOSSIP_TEXTID_AVATAR1 = 13303,
- GOSSIP_TEXTID_AVATAR2 = 13304,
- GOSSIP_TEXTID_AVATAR3 = 13305
-};
-
-class npc_avatar_of_freya : public CreatureScript
-{
-public:
- npc_avatar_of_freya() : CreatureScript("npc_avatar_of_freya") { }
-
- struct npc_avatar_of_freyaAI : public ScriptedAI
- {
- npc_avatar_of_freyaAI(Creature* creature) : ScriptedAI(creature) { }
-
- bool GossipHello(Player* player) override
- {
- if (me->IsQuestGiver())
- player->PrepareQuestMenu(me->GetGUID());
-
- if (player->GetQuestStatus(QUEST_FREYA_PACT) == QUEST_STATUS_INCOMPLETE)
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
-
- player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR1, me->GetGUID());
- return true;
- }
-
- bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
- {
- uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
- ClearGossipMenuFor(player);
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF + 1:
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR2, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_ITEM_AOF3, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
- player->PlayerTalkClass->SendGossipMenu(GOSSIP_TEXTID_AVATAR3, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 3:
- player->CastSpell(player, SPELL_FREYA_CONVERSATION, true);
- CloseGossipMenuFor(player);
- break;
- }
- return true;
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_avatar_of_freyaAI(creature);
- }
-};
-
-/*######
-## npc_bushwhacker
-######*/
-
-class npc_bushwhacker : public CreatureScript
-{
-public:
- npc_bushwhacker() : CreatureScript("npc_bushwhacker") { }
-
- struct npc_bushwhackerAI : public ScriptedAI
- {
- npc_bushwhackerAI(Creature* creature) : ScriptedAI(creature)
- {
- }
-
- void InitializeAI() override
- {
- if (me->isDead())
- return;
-
- if (TempSummon* summ = me->ToTempSummon())
- if (Unit* summoner = summ->GetSummoner())
- me->GetMotionMaster()->MovePoint(0, summoner->GetPositionX(), summoner->GetPositionY(), summoner->GetPositionZ());
-
- Reset();
- }
-
- void UpdateAI(uint32 /*uiDiff*/) override
- {
- if (!UpdateVictim())
- return;
-
- DoMeleeAttackIfReady();
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_bushwhackerAI(creature);
- }
-};
-
-/*######
## npc_engineer_helice
######*/
@@ -549,96 +368,6 @@ public:
};
/*######
-## npc_adventurous_dwarf
-######*/
-
-#define GOSSIP_OPTION_ORANGE "Can you spare an orange?"
-#define GOSSIP_OPTION_BANANAS "Have a spare bunch of bananas?"
-#define GOSSIP_OPTION_PAPAYA "I could really use a papaya."
-
-enum AdventurousDwarf
-{
- QUEST_12634 = 12634,
-
- ITEM_BANANAS = 38653,
- ITEM_PAPAYA = 38655,
- ITEM_ORANGE = 38656,
-
- SPELL_ADD_ORANGE = 52073,
- SPELL_ADD_BANANAS = 52074,
- SPELL_ADD_PAPAYA = 52076,
-
- GOSSIP_MENU_DWARF = 13307,
-
- SAY_DWARF_OUCH = 0,
- SAY_DWARF_HELP = 1
-};
-
-class npc_adventurous_dwarf : public CreatureScript
-{
-public:
- npc_adventurous_dwarf() : CreatureScript("npc_adventurous_dwarf") { }
-
- struct npc_adventurous_dwarfAI : public ScriptedAI
- {
- npc_adventurous_dwarfAI(Creature* creature) : ScriptedAI(creature)
- {
- Talk(SAY_DWARF_OUCH);
- }
-
- bool GossipHello(Player* player) override
- {
- if (player->GetQuestStatus(QUEST_12634) != QUEST_STATUS_INCOMPLETE)
- return false;
-
- if (player->GetItemCount(ITEM_ORANGE) < 1)
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_ORANGE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
-
- if (player->GetItemCount(ITEM_BANANAS) < 2)
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_BANANAS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
-
- if (player->GetItemCount(ITEM_PAPAYA) < 1)
- AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_OPTION_PAPAYA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
-
- player->PlayerTalkClass->SendGossipMenu(GOSSIP_MENU_DWARF, me->GetGUID());
- return true;
- }
-
- bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
- {
- uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
- ClearGossipMenuFor(player);
- uint32 spellId = 0;
-
- switch (action)
- {
- case GOSSIP_ACTION_INFO_DEF + 1:
- spellId = SPELL_ADD_ORANGE;
- break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- spellId = SPELL_ADD_BANANAS;
- break;
- case GOSSIP_ACTION_INFO_DEF + 3:
- spellId = SPELL_ADD_PAPAYA;
- break;
- }
-
- if (spellId)
- player->CastSpell(player, spellId, true);
-
- Talk(SAY_DWARF_HELP);
- me->DespawnOrUnsummon();
- return true;
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_adventurous_dwarfAI(creature);
- }
-};
-
-/*######
## Quest The Lifewarden's Wrath
######*/
@@ -1041,11 +770,7 @@ public:
void AddSC_sholazar_basin()
{
- new npc_vekjik();
- new npc_avatar_of_freya();
- new npc_bushwhacker();
new npc_engineer_helice();
- new npc_adventurous_dwarf();
new npc_jungle_punch_target();
new spell_q12620_the_lifewarden_wrath();
new spell_q12589_shoot_rjr();