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:
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user