diff --git a/src/server/scripts/QuelThalas/zone_arator_journey.cpp b/src/server/scripts/QuelThalas/zone_arator_journey.cpp index b90216b88..d0a1c5733 100644 --- a/src/server/scripts/QuelThalas/zone_arator_journey.cpp +++ b/src/server/scripts/QuelThalas/zone_arator_journey.cpp @@ -17,49 +17,8 @@ #include "Player.h" #include "ScriptMgr.h" -#include "midnight_zone_ai.h" - -namespace Scripts::QuelThalas::AratorsJourney -{ -// 237565 / 240747 - Alonsus Faol (Wowhead: Arator / One Final Relic) -struct npc_alonsus_faol_arator : public ScriptedAI -{ - npc_alonsus_faol_arator(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 244644 / 240267 / 239827 / 254884 - Arator (Wowhead Path of Light / Gathering / Foothold) -struct npc_arator_journey : public ScriptedAI -{ - npc_arator_journey(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 240334 - Shandris Feathermoon (Wowhead: Children of the Stars) -struct npc_shandris_children_of_the_stars : public ScriptedAI -{ - npc_shandris_children_of_the_stars(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; -} void AddSC_zone_arator_journey() { - using namespace Scripts::QuelThalas::AratorsJourney; - RegisterCreatureAI(npc_alonsus_faol_arator); - RegisterCreatureAI(npc_arator_journey); - RegisterCreatureAI(npc_shandris_children_of_the_stars); } diff --git a/src/server/scripts/QuelThalas/zone_harandar.cpp b/src/server/scripts/QuelThalas/zone_harandar.cpp index b702cd476..ebcf43e18 100644 --- a/src/server/scripts/QuelThalas/zone_harandar.cpp +++ b/src/server/scripts/QuelThalas/zone_harandar.cpp @@ -19,87 +19,8 @@ #include "Player.h" #include "QuestDef.h" #include "ScriptMgr.h" -#include "midnight_zone_ai.h" - -namespace Scripts::QuelThalas::HarandarZone -{ -namespace Quests -{ - static constexpr uint32 TheRootCause = 86899; - static constexpr uint32 ToHarathir = 86900; - static constexpr uint32 HarandarBreadcrumb = 89402; -} - -namespace Conversations -{ - static constexpr uint32 TheRootCauseOpenPortal = 28444; - static constexpr uint32 FollowOrweyna = 29720; - static constexpr uint32 TalkToKupaal = 29598; -} - -// 236704 - Orweyna (Wowhead: Harandar / The Root Cause) -struct npc_orweyna_fairbreeze_midnight : public ScriptedAI -{ - npc_orweyna_fairbreeze_midnight(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } - - void OnQuestAccept(Player* player, Quest const* quest) override - { - if (quest->GetQuestId() == Quests::TheRootCause || quest->GetQuestId() == Quests::HarandarBreadcrumb) - Conversation::CreateConversation(Conversations::TheRootCauseOpenPortal, player, *player, player->GetGUID(), nullptr, false); - } -}; - -// 237209 - Follow Orweyna (Wowhead: To Har'athir) -struct npc_follow_orweyna_harandar : public ScriptedAI -{ - npc_follow_orweyna_harandar(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - if (player->GetQuestStatus(Quests::ToHarathir) == QUEST_STATUS_INCOMPLETE) - Conversation::CreateConversation(Conversations::FollowOrweyna, player, *player, player->GetGUID(), nullptr, false); - - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 237866 - Talk to Ku'paal (Wowhead: To Har'athir) -struct npc_kupaal_harandar : public ScriptedAI -{ - npc_kupaal_harandar(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - if (player->GetQuestStatus(Quests::ToHarathir) == QUEST_STATUS_INCOMPLETE) - Conversation::CreateConversation(Conversations::TalkToKupaal, player, *player, player->GetGUID(), nullptr, false); - - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 237345 - Talk to Halduron (Wowhead: The Council Assembles) -struct npc_halduron_harandar_council : public ScriptedAI -{ - npc_halduron_harandar_council(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; -} void AddSC_zone_harandar() { - using namespace Scripts::QuelThalas::HarandarZone; - RegisterCreatureAI(npc_orweyna_fairbreeze_midnight); - RegisterCreatureAI(npc_follow_orweyna_harandar); - RegisterCreatureAI(npc_kupaal_harandar); - RegisterCreatureAI(npc_halduron_harandar_council); } diff --git a/src/server/scripts/QuelThalas/zone_isle_of_queldanas_midnight.cpp b/src/server/scripts/QuelThalas/zone_isle_of_queldanas_midnight.cpp index e7acdcdd9..6ff005f8d 100644 --- a/src/server/scripts/QuelThalas/zone_isle_of_queldanas_midnight.cpp +++ b/src/server/scripts/QuelThalas/zone_isle_of_queldanas_midnight.cpp @@ -25,7 +25,6 @@ #include "ScriptMgr.h" #include "SpellScript.h" #include "Util.h" -#include "midnight_zone_ai.h" #include #include @@ -209,82 +208,8 @@ class spell_midnight_lights_summons : public SpellScript } }; -// 241677 - Image of Lady Liadrin (Wowhead: Midnight / A Voice from the Light) -struct npc_image_of_lady_liadrin_midnight : public ScriptedAI -{ - npc_image_of_lady_liadrin_midnight(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } - - bool OnGossipSelect(Player* player, uint32 /*menuId*/, uint32 gossipListId) override - { - GossipMenuItem const* item = player->PlayerTalkClass->GetGossipMenu().GetItemByIndex(gossipListId); - if (!item) - return false; - - std::string_view text = item->OptionText; - bool const summon = item->GossipOptionID == Gossip::SummonToQuelDanas - || HasOptionFlag(item->Flags, GossipOptionFlags::QuestLabelPrepend) - || TextHas(text, { "summon me", "beschw" }); - bool const movie = HasOptionFlag(item->Flags, GossipOptionFlags::PlayMovieLabelPrepend) - || TextHas(text, { "Sunwell", "Sonnenbrunnen" }); - bool const skip = TextHas(text, { "Sanctum of Light", "Sanktum", "Skip the Midnight", "Einführung" }); - bool const heard = TextHas(text, { "heard this tale", "Geschichte" }); - - if (summon && !skip) - { - TravelToQuelDanas(player, me); - return true; - } - - if (movie) - { - PlayIntercession(player, item); - return true; - } - - if (skip) - { - SkipIntroduction(player); - return true; - } - - if (heard) - { - if (player->GetQuestStatus(Quests::Midnight) == QUEST_STATUS_INCOMPLETE) - CreditCreature(player, Credits::ImageOfLiadrin, me->GetGUID()); - - player->PlayerTalkClass->SendCloseGossip(); - return true; - } - - return false; - } -}; - -// 241575 - Speak with Liadrin to begin the ritual (Wowhead: Light's Last Stand) -struct npc_liadrin_lights_last_stand : public ScriptedAI -{ - npc_liadrin_lights_last_stand(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - if (player->GetQuestStatus(Quests::LightLastStand) == QUEST_STATUS_INCOMPLETE) - Scripts::QuelThalas::MidnightZones::CreditMidnightObjective(player, me); - - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; -} void AddSC_zone_isle_of_queldanas_midnight() { - using namespace Scripts::QuelThalas::IsleOfQuelDanasMidnight; - - RegisterCreatureAI(npc_image_of_lady_liadrin_midnight); - RegisterCreatureAI(npc_liadrin_lights_last_stand); RegisterSpellScript(spell_midnight_lights_summons); } diff --git a/src/server/scripts/QuelThalas/zone_voidstorm.cpp b/src/server/scripts/QuelThalas/zone_voidstorm.cpp index fe088fa4a..8292ed542 100644 --- a/src/server/scripts/QuelThalas/zone_voidstorm.cpp +++ b/src/server/scripts/QuelThalas/zone_voidstorm.cpp @@ -17,61 +17,7 @@ #include "Player.h" #include "ScriptMgr.h" -#include "midnight_zone_ai.h" - -namespace Scripts::QuelThalas::Voidstorm -{ -// 235386 / 235405 - Magister Umbric (Wowhead: Voidstorm / Homecoming) -struct npc_umbric_voidstorm : public ScriptedAI -{ - npc_umbric_voidstorm(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 235606 / 260236 - Lothraxion / Decimus (Wowhead: Reliable Enemies) -struct npc_lothraxion_voidstorm : public ScriptedAI -{ - npc_lothraxion_voidstorm(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 247414 - Lady Liadrin (Wowhead: Feeding the Flame) -struct npc_liadrin_feeding_the_flame : public ScriptedAI -{ - npc_liadrin_feeding_the_flame(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 242722 - Speak to Umbric (Wowhead: Clarity of Purpose) -struct npc_umbric_clarity_of_purpose : public ScriptedAI -{ - npc_umbric_clarity_of_purpose(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; -} void AddSC_zone_voidstorm() { - using namespace Scripts::QuelThalas::Voidstorm; - - RegisterCreatureAI(npc_umbric_voidstorm); - RegisterCreatureAI(npc_lothraxion_voidstorm); - RegisterCreatureAI(npc_liadrin_feeding_the_flame); - RegisterCreatureAI(npc_umbric_clarity_of_purpose); } diff --git a/src/server/scripts/QuelThalas/zone_zulaman_midnight.cpp b/src/server/scripts/QuelThalas/zone_zulaman_midnight.cpp index 6313e5d1f..24fc6e82c 100644 --- a/src/server/scripts/QuelThalas/zone_zulaman_midnight.cpp +++ b/src/server/scripts/QuelThalas/zone_zulaman_midnight.cpp @@ -17,49 +17,7 @@ #include "Player.h" #include "ScriptMgr.h" -#include "midnight_zone_ai.h" - -namespace Scripts::QuelThalas::ZulAmanMidnight -{ -// 236436 - Lady Liadrin (Wowhead: The Gates of Zul'Aman) -struct npc_liadrin_gates_of_zulaman : public ScriptedAI -{ - npc_liadrin_gates_of_zulaman(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 236126 / 240186 / 240934 - Zul'jarra (Wowhead Path / Hash'ey Away) -struct npc_zuljarra_midnight : public ScriptedAI -{ - npc_zuljarra_midnight(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; - -// 249211 - Zul'jan (Wowhead: The Line Must Be Drawn Here) -struct npc_zuljan_midnight : public ScriptedAI -{ - npc_zuljan_midnight(Creature* creature) : ScriptedAI(creature) { } - - bool OnGossipHello(Player* player) override - { - return Scripts::QuelThalas::MidnightZones::GossipCreditMidnightObjective(me, player); - } -}; -} void AddSC_zone_zulaman_midnight() { - using namespace Scripts::QuelThalas::ZulAmanMidnight; - - RegisterCreatureAI(npc_liadrin_gates_of_zulaman); - RegisterCreatureAI(npc_zuljarra_midnight); - RegisterCreatureAI(npc_zuljan_midnight); }