diff options
| author | Wyreth <32145860+Wyreth@users.noreply.github.com> | 2017-10-21 12:09:10 +0200 |
|---|---|---|
| committer | Aokromes <Aokromes@users.noreply.github.com> | 2017-10-21 12:09:10 +0200 |
| commit | 23329790d21de649ef5fc5b9e60bf089b879f1b9 (patch) | |
| tree | 030515434f3c6a89471ba3c2af6734cbb34936e5 | |
| parent | a7f3d5e59fd05d1f015ea0ad7426292d36b3dee8 (diff) | |
Scripts/EasternKingdoms: move Alchemist Arbington and Apothecary Dithers core script to DB
| -rw-r--r-- | sql/updates/world/3.3.5/2017_10_21_02_world_335.sql | 53 | ||||
| -rw-r--r-- | src/server/scripts/EasternKingdoms/zone_western_plaguelands.cpp | 97 |
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(); } |
