aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/3.3.5/2017_10_21_02_world_335.sql53
-rw-r--r--src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp97
2 files changed, 54 insertions, 96 deletions
diff --git a/sql/updates/world/3.3.5/2017_10_21_02_world_335.sql b/sql/updates/world/3.3.5/2017_10_21_02_world_335.sql
new file mode 100644
index 00000000000..38ccc7e64b6
--- /dev/null
+++ b/sql/updates/world/3.3.5/2017_10_21_02_world_335.sql
@@ -0,0 +1,53 @@
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`="" WHERE `entry` IN (11056, 11057);
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=15 AND `SourceGroup` IN (3223, 3224, 3225, 3226, 3227, 3228);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(15, 3223, 0, 0, 0, 8, 0, 5230, 0, 0, 0, 0, 0, "", "Gossip option 0 requires quest 'Return to the Bulwark' rewarded"),
+(15, 3223, 1, 0, 0, 8, 0, 5230, 0, 0, 0, 0, 0, "", "Gossip option 1 requires quest 'Return to the Bulwark' rewarded"),
+(15, 3223, 2, 0, 0, 8, 0, 5232, 0, 0, 0, 0, 0, "", "Gossip option 2 requires quest 'Return to the Bulwark' rewarded"),
+(15, 3223, 3, 0, 0, 8, 0, 5234, 0, 0, 0, 0, 0, "", "Gossip option 3 requires quest 'Return to the Bulwark' rewarded"),
+(15, 3223, 4, 0, 0, 8, 0, 5236, 0, 0, 0, 0, 0, "", "Gossip option 4 requires quest 'Return to the Bulwark' rewarded"),
+(15, 3228, 0, 0, 0, 8, 0, 5217, 0, 0, 0, 0, 0, "", "Gossip option 0 requires quest 'Return to Chillwind Camp' rewarded"),
+(15, 3228, 1, 0, 0, 8, 0, 5217, 0, 0, 0, 0, 0, "", "Gossip option 1 requires quest 'Return to Chillwind Camp' rewarded"),
+(15, 3228, 2, 0, 0, 8, 0, 5220, 0, 0, 0, 0, 0, "", "Gossip option 2 requires quest 'Return to Chillwind Camp' rewarded"),
+(15, 3228, 3, 0, 0, 8, 0, 5223, 0, 0, 0, 0, 0, "", "Gossip option 3 requires quest 'Return to Chillwind Camp' rewarded"),
+(15, 3228, 4, 0, 0, 8, 0, 5226, 0, 0, 0, 0, 0, "", "Gossip option 4 requires quest 'Return to Chillwind Camp' rewarded"),
+(15, 3224, 0, 0, 0, 2, 0, 13370, 1, 1, 1, 0, 0, "", "Gossip option requires item 'Vitreous Focuser' not in inventory or bank"),
+(15, 3225, 0, 0, 0, 2, 0, 13370, 1, 1, 1, 0, 0, "", "Gossip option requires item 'Vitreous Focuser' not in inventory or bank"),
+(15, 3226, 0, 0, 0, 2, 0, 13370, 1, 1, 1, 0, 0, "", "Gossip option requires item 'Vitreous Focuser' not in inventory or bank"),
+(15, 3227, 0, 0, 0, 2, 0, 13370, 1, 1, 1, 0, 0, "", "Gossip option requires item 'Vitreous Focuser' not in inventory or bank");
+
+DELETE FROM `gossip_menu_option` WHERE `MenuID` IN (3223, 3224, 3225, 3226, 3227, 3228, 3229);
+INSERT INTO `gossip_menu_option` (`MenuID`, `OptionID`, `OptionIcon`, `OptionText`, `OptionBroadcastTextID`, `OptionType`, `OptionNpcFlag`, `ActionMenuID`, `ActionPoiID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `VerifiedBuild`) VALUES
+(3223, 0, 1, "I wish to purchase arcane quickener from you.", 6513, 3, 1, 0, 0, 0, 0, "", 0, 0),
+(3223, 1, 0, "What's needed for the cauldron at Felstone Field?", 6516, 1, 1, 3224, 0, 0, 0, "", 0, 0),
+(3223, 2, 0, "What's needed for the cauldron at Dalson's Tears?", 6517, 1, 1, 3225, 0, 0, 0, "", 0, 0),
+(3223, 3, 0, "What's needed for the cauldron at the Writhing Haunt?", 6518, 1, 1, 3226, 0, 0, 0, "", 0, 0),
+(3223, 4, 0, "What's needed for the cauldron at Gahrron's Withering?", 6519, 1, 1, 3227, 0, 0, 0, "", 0, 0),
+(3228, 0, 1, "I wish to purchase arcane quickener from you.", 6513, 3, 1, 0, 0, 0, 0, "", 0, 0),
+(3228, 1, 0, "What's needed for the cauldron at Felstone Field?", 6516, 1, 1, 3224, 0, 0, 0, "", 0, 0),
+(3228, 2, 0, "What's needed for the cauldron at Dalson's Tears?", 6517, 1, 1, 3225, 0, 0, 0, "", 0, 0),
+(3228, 3, 0, "What's needed for the cauldron at the Writhing Haunt?", 6518, 1, 1, 3226, 0, 0, 0, "", 0, 0),
+(3228, 4, 0, "What's needed for the cauldron at Gahrron's Withering?", 6519, 1, 1, 3227, 0, 0, 0, "", 0, 0),
+(3224, 0, 0, "I need a Vitreous Focuser.", 6531, 1, 1, 0, 0, 0, 0, "", 0, 0),
+(3225, 0, 0, "I need a Vitreous Focuser.", 6531, 1, 1, 0, 0, 0, 0, "", 0, 0),
+(3226, 0, 0, "I need a Vitreous Focuser.", 6531, 1, 1, 0, 0, 0, 0, "", 0, 0),
+(3227, 0, 0, "I need a Vitreous Focuser.", 6531, 1, 1, 0, 0, 0, 0, "", 0, 0);
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (11056, 11057) 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
+(11056, 0, 0, 1, 62, 0, 100, 0, 3224, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Close Gossip"),
+(11056, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11056, 0, 2, 3, 62, 0, 100, 0, 3225, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Close Gossip"),
+(11056, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11056, 0, 4, 5, 62, 0, 100, 0, 3226, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Close Gossip"),
+(11056, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11056, 0, 6, 7, 62, 0, 100, 0, 3227, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Close Gossip"),
+(11056, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Alchemist Arbington - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11057, 0, 0, 1, 62, 0, 100, 0, 3224, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Close Gossip"),
+(11057, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11057, 0, 2, 3, 62, 0, 100, 0, 3225, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Close Gossip"),
+(11057, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11057, 0, 4, 5, 62, 0, 100, 0, 3226, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Close Gossip"),
+(11057, 0, 5, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Cast 'Vitreous Focuser'"),
+(11057, 0, 6, 7, 62, 0, 100, 0, 3227, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Close Gossip"),
+(11057, 0, 7, 0, 61, 0, 100, 0, 0, 0, 0, 0, 11, 17529, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "Apothecary Dithers - On Gossip Option Selected - Cast 'Vitreous Focuser'");
diff --git a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
index 7ba95268562..159a37812a9 100644
--- a/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
+++ b/src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp
@@ -19,12 +19,11 @@
/* ScriptData
SDName: Western_Plaguelands
SD%Complete: 90
-SDComment: Quest support: 5097, 5098, 5216, 5219, 5222, 5225, 5229, 5231, 5233, 5235. To obtain Vitreous Focuser (could use more spesifics about gossip items)
+SDComment: Quest support: 5097, 5098, 5216, 5219, 5222, 5225, 5229, 5231, 5233, 5235.
SDCategory: Western Plaguelands
EndScriptData */
/* ContentData
-npcs_dithers_and_arbington
npc_the_scourge_cauldron
npc_andorhal_tower
EndContentData */
@@ -36,99 +35,6 @@ EndContentData */
#include "WorldSession.h"
/*######
-## npcs_dithers_and_arbington
-######*/
-
-enum DithersAndArbington
-{
- GOSSIP_ITEM_ID_FELSTONE_FIELD = 0,
- GOSSIP_ITEM_ID_DALSON_S_TEARS = 1,
- GOSSIP_ITEM_ID_WRITHING_HAUNT = 2,
- GOSSIP_ITEM_ID_GAHRRON_S_WITH = 3,
- GOSSIP_MENU_ID_LETS_GET_TO_WORK = 3223,
- GOSSIP_MENU_ID_VITREOUS_FOCUSER = 3229,
- NPC_TEXT_OSSEOUS_AGITATORS = 3980,
- NPC_TEXT_SOMATIC_INTENSIFIERS_1 = 3981,
- NPC_TEXT_SOMATIC_INTENSIFIERS_2 = 3982,
- NPC_TEXT_ECTOPLASMIC_RESONATORS = 3983,
- NPC_TEXT_LET_S_GET_TO_WORK = 3985,
- QUEST_MISSION_ACCOMPLISHED_H = 5237,
- QUEST_MISSION_ACCOMPLISHED_A = 5238,
- CREATE_ITEM_VITREOUS_FOCUSER = 17529
-};
-
-class npcs_dithers_and_arbington : public CreatureScript
-{
- public:
- npcs_dithers_and_arbington() : CreatureScript("npcs_dithers_and_arbington") { }
-
- struct npcs_dithers_and_arbingtonAI : public ScriptedAI
- {
- npcs_dithers_and_arbingtonAI(Creature* creature) : ScriptedAI(creature) { }
-
- bool GossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override
- {
- uint32 const action = player->PlayerTalkClass->GetGossipOptionAction(gossipListId);
- ClearGossipMenuFor(player);
- switch (action)
- {
- case GOSSIP_ACTION_TRADE:
- player->GetSession()->SendListInventory(me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 1:
- AddGossipItemFor(player, GOSSIP_MENU_ID_VITREOUS_FOCUSER, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
- SendGossipMenuFor(player, NPC_TEXT_OSSEOUS_AGITATORS, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 2:
- AddGossipItemFor(player, GOSSIP_MENU_ID_VITREOUS_FOCUSER, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
- SendGossipMenuFor(player, NPC_TEXT_SOMATIC_INTENSIFIERS_1, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 3:
- AddGossipItemFor(player, GOSSIP_MENU_ID_VITREOUS_FOCUSER, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
- SendGossipMenuFor(player, NPC_TEXT_SOMATIC_INTENSIFIERS_2, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 4:
- AddGossipItemFor(player, GOSSIP_MENU_ID_VITREOUS_FOCUSER, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 5);
- SendGossipMenuFor(player, NPC_TEXT_ECTOPLASMIC_RESONATORS, me->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF + 5:
- CloseGossipMenuFor(player);
- DoCast(player, CREATE_ITEM_VITREOUS_FOCUSER, false);
- break;
- }
- return true;
- }
-
- bool GossipHello(Player* player) override
- {
- if (me->IsQuestGiver())
- player->PrepareQuestMenu(me->GetGUID());
-
- if (me->IsVendor())
- AddGossipItemFor(player, GOSSIP_ICON_VENDOR, GOSSIP_TEXT_BROWSE_GOODS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_TRADE);
-
- if (player->GetQuestRewardStatus(QUEST_MISSION_ACCOMPLISHED_H) || player->GetQuestRewardStatus(QUEST_MISSION_ACCOMPLISHED_A))
- {
- AddGossipItemFor(player, GOSSIP_MENU_ID_LETS_GET_TO_WORK, GOSSIP_ITEM_ID_FELSTONE_FIELD, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
- AddGossipItemFor(player, GOSSIP_MENU_ID_LETS_GET_TO_WORK, GOSSIP_ITEM_ID_DALSON_S_TEARS, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
- AddGossipItemFor(player, GOSSIP_MENU_ID_LETS_GET_TO_WORK, GOSSIP_ITEM_ID_WRITHING_HAUNT, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 3);
- AddGossipItemFor(player, GOSSIP_MENU_ID_LETS_GET_TO_WORK, GOSSIP_ITEM_ID_GAHRRON_S_WITH, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 4);
- SendGossipMenuFor(player, NPC_TEXT_LET_S_GET_TO_WORK, me->GetGUID());
- }
- else
- SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
-
- return true;
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npcs_dithers_and_arbingtonAI(creature);
- }
-};
-
-/*######
## npc_the_scourge_cauldron
######*/
@@ -248,7 +154,6 @@ public:
void AddSC_western_plaguelands()
{
- new npcs_dithers_and_arbington();
new npc_the_scourge_cauldron();
new npc_andorhal_tower();
}