From 6eb7ed449068f28e53f258edbeab78f911c02793 Mon Sep 17 00:00:00 2001 From: offl Date: Tue, 19 May 2020 22:46:31 +0200 Subject: DB/GameObject: Convert & update support for Fel & Bash'ir crystalforges Closes #24643 (cherry picked from commit c3e4420a2b8584f97e49d7ae9a5b2f3140d50984) --- src/server/scripts/World/go_scripts.cpp | 144 -------------------------------- 1 file changed, 144 deletions(-) (limited to 'src') diff --git a/src/server/scripts/World/go_scripts.cpp b/src/server/scripts/World/go_scripts.cpp index 0390938200b..6bb54ed3e18 100644 --- a/src/server/scripts/World/go_scripts.cpp +++ b/src/server/scripts/World/go_scripts.cpp @@ -29,8 +29,6 @@ go_scourge_cage go_jotunheim_cage go_table_theka go_soulwell -go_bashir_crystalforge -go_soulwell go_dragonflayer_cage go_amberpine_outhouse go_hive_pod @@ -480,146 +478,6 @@ public: } }; -/*###### -## go_fel_crystalforge -######*/ - -#define GOSSIP_FEL_CRYSTALFORGE_TEXT 31000 -#define GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN 31001 -#define GOSSIP_FEL_CRYSTALFORGE_ITEM_1 "Purchase 1 Unstable Flask of the Beast for the cost of 10 Apexis Shards" -#define GOSSIP_FEL_CRYSTALFORGE_ITEM_5 "Purchase 5 Unstable Flask of the Beast for the cost of 50 Apexis Shards" -#define GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN "Use the fel crystalforge to make another purchase." - -enum FelCrystalforge -{ - SPELL_CREATE_1_FLASK_OF_BEAST = 40964, - SPELL_CREATE_5_FLASK_OF_BEAST = 40965, -}; - -class go_fel_crystalforge : public GameObjectScript -{ -public: - go_fel_crystalforge() : GameObjectScript("go_fel_crystalforge") { } - - struct go_fel_crystalforgeAI : public GameObjectAI - { - go_fel_crystalforgeAI(GameObject* go) : GameObjectAI(go) { } - - bool GossipHello(Player* player) override - { - if (me->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */ - player->PrepareQuestMenu(me->GetGUID()); /* return true*/ - - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - - SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_TEXT, 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: - player->CastSpell(player, SPELL_CREATE_1_FLASK_OF_BEAST, false); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, me->GetGUID()); - break; - case GOSSIP_ACTION_INFO_DEF + 1: - player->CastSpell(player, SPELL_CREATE_5_FLASK_OF_BEAST, false); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_ITEM_TEXT_RETURN, me->GetGUID()); - break; - case GOSSIP_ACTION_INFO_DEF + 2: - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_FEL_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - SendGossipMenuFor(player, GOSSIP_FEL_CRYSTALFORGE_TEXT, me->GetGUID()); - break; - } - return true; - } - }; - - GameObjectAI* GetAI(GameObject* go) const override - { - return new go_fel_crystalforgeAI(go); - } -}; - -/*###### -## go_bashir_crystalforge -######*/ - -#define GOSSIP_BASHIR_CRYSTALFORGE_TEXT 31100 -#define GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN 31101 -#define GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1 "Purchase 1 Unstable Flask of the Sorcerer for the cost of 10 Apexis Shards" -#define GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5 "Purchase 5 Unstable Flask of the Sorcerer for the cost of 50 Apexis Shards" -#define GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN "Use the bashir crystalforge to make another purchase." - -enum BashirCrystalforge -{ - SPELL_CREATE_1_FLASK_OF_SORCERER = 40968, - SPELL_CREATE_5_FLASK_OF_SORCERER = 40970, -}; - -class go_bashir_crystalforge : public GameObjectScript -{ -public: - go_bashir_crystalforge() : GameObjectScript("go_bashir_crystalforge") { } - - struct go_bashir_crystalforgeAI : public GameObjectAI - { - go_bashir_crystalforgeAI(GameObject* go) : GameObjectAI(go) { } - - bool GossipHello(Player* player) override - { - if (me->GetGoType() == GAMEOBJECT_TYPE_QUESTGIVER) /* != GAMEOBJECT_TYPE_QUESTGIVER) */ - player->PrepareQuestMenu(me->GetGUID()); /* return true*/ - - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - - SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_TEXT, 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: - player->CastSpell(player, SPELL_CREATE_1_FLASK_OF_SORCERER, false); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, me->GetGUID()); - break; - case GOSSIP_ACTION_INFO_DEF + 1: - player->CastSpell(player, SPELL_CREATE_5_FLASK_OF_SORCERER, false); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_RETURN, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2); - SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_TEXT_RETURN, me->GetGUID()); - break; - case GOSSIP_ACTION_INFO_DEF + 2: - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF); - AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_BASHIR_CRYSTALFORGE_ITEM_5, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1); - SendGossipMenuFor(player, GOSSIP_BASHIR_CRYSTALFORGE_TEXT, me->GetGUID()); - break; - } - return true; - } - }; - - GameObjectAI* GetAI(GameObject* go) const override - { - return new go_bashir_crystalforgeAI(go); - } -}; - /*###### ## matrix_punchograph ######*/ @@ -1880,8 +1738,6 @@ void AddSC_go_scripts() new go_resonite_cask(); new go_tele_to_dalaran_crystal(); new go_tele_to_violet_stand(); - new go_fel_crystalforge(); - new go_bashir_crystalforge(); new go_matrix_punchograph(); new go_scourge_cage(); new go_arcane_prison(); -- cgit v1.2.3