mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-03-15 13:35:08 +00:00
fix(Scripts/Karazhan): fix gossip from the Grandmother in the Big Bad Wolf fight (#17155)
* initial * switch is better * add correct menu ids cmangos cherrypick ... Co-authored-by: <7995382+killerwife@users.noreply.github.com> * remove sql
This commit is contained in:
@@ -765,9 +765,15 @@ enum RedRidingHood
|
|||||||
SPELL_WIDE_SWIPE = 30761,
|
SPELL_WIDE_SWIPE = 30761,
|
||||||
|
|
||||||
CREATURE_BIG_BAD_WOLF = 17521,
|
CREATURE_BIG_BAD_WOLF = 17521,
|
||||||
};
|
|
||||||
|
|
||||||
#define GOSSIP_GRANDMA "What phat lewtz you have grandmother?"
|
GRANDMOTHER_GOSSIP_MENU1 = 7441,
|
||||||
|
GRANDMOTHER_GOSSIP_MENU2 = 7442,
|
||||||
|
GRANDMOTHER_GOSSIP_MENU3 = 7443,
|
||||||
|
|
||||||
|
GRANDMOTHER_TEXT1 = 9009,
|
||||||
|
GRANDMOTHER_TEXT2 = 9010,
|
||||||
|
GRANDMOTHER_TEXT3 = 9011
|
||||||
|
};
|
||||||
|
|
||||||
struct npc_grandmother : public CreatureScript
|
struct npc_grandmother : public CreatureScript
|
||||||
{
|
{
|
||||||
@@ -776,21 +782,31 @@ struct npc_grandmother : public CreatureScript
|
|||||||
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
|
||||||
{
|
{
|
||||||
ClearGossipMenuFor(player);
|
ClearGossipMenuFor(player);
|
||||||
if (action == GOSSIP_ACTION_INFO_DEF)
|
|
||||||
|
switch (action)
|
||||||
{
|
{
|
||||||
if (Creature* pBigBadWolf = creature->SummonCreature(CREATURE_BIG_BAD_WOLF, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR * 2 * IN_MILLISECONDS))
|
case GOSSIP_ACTION_INFO_DEF:
|
||||||
pBigBadWolf->AI()->AttackStart(player);
|
AddGossipItemFor(player, GRANDMOTHER_GOSSIP_MENU2, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
|
||||||
|
SendGossipMenuFor(player, GRANDMOTHER_TEXT2, creature->GetGUID());
|
||||||
creature->DespawnOrUnsummon();
|
break;
|
||||||
|
case GOSSIP_ACTION_INFO_DEF + 1:
|
||||||
|
AddGossipItemFor(player, GRANDMOTHER_GOSSIP_MENU3, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 2);
|
||||||
|
SendGossipMenuFor(player, GRANDMOTHER_TEXT3, creature->GetGUID());
|
||||||
|
break;
|
||||||
|
case GOSSIP_ACTION_INFO_DEF + 2:
|
||||||
|
if (Creature* pBigBadWolf = creature->SummonCreature(CREATURE_BIG_BAD_WOLF, 0.0f, 0.0f, 0.0f, 0.0f, TEMPSUMMON_TIMED_OR_DEAD_DESPAWN, HOUR * 2 * IN_MILLISECONDS))
|
||||||
|
{
|
||||||
|
pBigBadWolf->AI()->AttackStart(player);
|
||||||
|
}
|
||||||
|
creature->DespawnOrUnsummon();
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OnGossipHello(Player* player, Creature* creature) override
|
bool OnGossipHello(Player* player, Creature* creature) override
|
||||||
{
|
{
|
||||||
AddGossipItemFor(player, GOSSIP_ICON_CHAT, GOSSIP_GRANDMA, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
AddGossipItemFor(player, GRANDMOTHER_GOSSIP_MENU1, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF);
|
||||||
SendGossipMenuFor(player, 8990, creature->GetGUID());
|
SendGossipMenuFor(player, GRANDMOTHER_TEXT1, creature->GetGUID());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user