Scripts/Borean Tundra: Corastrasza gossip menu improvements (#22942)

- split the quest status check, the quest gossips are different
- remove old hardcoded text (deprecated method)
- enumerate already existing DB gossip menu option items

(cherry picked from commit a8558c4361a7e3560c094886ef3072d46c64de44)
This commit is contained in:
Trond B. Krokli
2021-11-21 15:27:39 +01:00
committed by Shauren
parent 0bbe8bf28a
commit 159e6521cc
@@ -229,15 +229,21 @@ public:
## npc_corastrasza
######*/
#define GOSSIP_ITEM_C_1 "I... I think so..."
enum Corastrasza
{
SPELL_SUMMON_WYRMREST_SKYTALON = 61240,
SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC = 61244,
GOSSIP_MENU_ID_CORASTRASZA = 10204,
GOSSIP_MENU_ITEM_ID_I_I_THINK_SO = 0,
GOSSIP_MENU_ITEM_ID_I_AM_READY = 1,
QUEST_ACES_HIGH_DAILY = 13414,
QUEST_ACES_HIGH = 13413
NPC_TEXT_MOST_DRAGONS_WOULD_FEAR_TO = 14168,
NPC_TEXT_DO_YOU_POSSESS_THE_COURAGE = 14169,
NPC_TEXT_EAGERLY_AWAITING_YOUR_RETURN = 14170,
QUEST_ACES_HIGH = 13413,
QUEST_ACES_HIGH_DAILY = 13414,
SPELL_SUMMON_WYRMREST_SKYTALON = 61240,
SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC = 61244
};
class npc_corastrasza : public CreatureScript
@@ -254,10 +260,19 @@ public:
if (me->IsQuestGiver())
player->PrepareQuestMenu(me->GetGUID());
if (player->GetQuestStatus(QUEST_ACES_HIGH) == QUEST_STATUS_INCOMPLETE || player->GetQuestStatus(QUEST_ACES_HIGH_DAILY) == QUEST_STATUS_INCOMPLETE) //It's the same dragon for both quests.
AddGossipItemFor(player, GossipOptionIcon::None, GOSSIP_ITEM_C_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
if (player->GetQuestStatus(QUEST_ACES_HIGH) == QUEST_STATUS_INCOMPLETE)
{
AddGossipItemFor(player, GOSSIP_MENU_ID_CORASTRASZA, GOSSIP_MENU_ITEM_ID_I_I_THINK_SO, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
SendGossipMenuFor(player, NPC_TEXT_DO_YOU_POSSESS_THE_COURAGE, me->GetGUID());
}
else if (player->GetQuestStatus(QUEST_ACES_HIGH_DAILY) == QUEST_STATUS_INCOMPLETE)
{
AddGossipItemFor(player, GOSSIP_MENU_ID_CORASTRASZA, GOSSIP_MENU_ITEM_ID_I_AM_READY, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
SendGossipMenuFor(player, NPC_TEXT_EAGERLY_AWAITING_YOUR_RETURN, me->GetGUID());
}
else
SendGossipMenuFor(player, NPC_TEXT_MOST_DRAGONS_WOULD_FEAR_TO, me->GetGUID());
SendGossipMenuFor(player, player->GetGossipTextId(me), me->GetGUID());
return true;
}
@@ -268,10 +283,10 @@ public:
if (action == GOSSIP_ACTION_INFO_DEF + 1)
{
CloseGossipMenuFor(player);
player->CastSpell(player, SPELL_SUMMON_WYRMREST_SKYTALON, true);
player->CastSpell(player, SPELL_WYRMREST_SKYTALON_RIDE_PERIODIC, true);
}
return true;
}
};