AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
npc_ulduar_keeper Class Reference
Inheritance diagram for npc_ulduar_keeper:
CreatureScript ScriptObject UpdatableScript< Creature >

Classes

struct  npc_ulduar_keeperAI
 

Public Member Functions

 npc_ulduar_keeper ()
 
CreatureAIGetAI (Creature *creature) const override
 
bool OnGossipHello (Player *player, Creature *creature) override
 
bool OnGossipSelect (Player *player, Creature *creature, uint32, uint32 action) override
 
- Public Member Functions inherited from CreatureScript
bool IsDatabaseBound () const override
 
virtual bool OnGossipSelectCode (Player *, Creature *, uint32, uint32, const char *)
 
virtual bool OnQuestAccept (Player *, Creature *, Quest const *)
 
virtual bool OnQuestSelect (Player *, Creature *, Quest const *)
 
virtual bool OnQuestComplete (Player *, Creature *, Quest const *)
 
virtual bool OnQuestReward (Player *, Creature *, Quest const *, uint32)
 
virtual uint32 GetDialogStatus (Player *, Creature *)
 
virtual void OnFfaPvpStateUpdate (Creature *, bool)
 
- Public Member Functions inherited from ScriptObject
virtual bool isAfterLoadScript () const
 
virtual void checkValidity ()
 
const std::string & GetName () const
 
uint16 GetTotalAvailableHooks ()
 
- Public Member Functions inherited from UpdatableScript< Creature >
virtual void OnUpdate (Creature *, uint32)
 

Additional Inherited Members

- Protected Member Functions inherited from CreatureScript
 CreatureScript (const char *name)
 
- Protected Member Functions inherited from ScriptObject
 ScriptObject (const char *name, uint16 totalAvailableHooks=0)
 
virtual ~ScriptObject ()=default
 
- Protected Member Functions inherited from UpdatableScript< Creature >
 UpdatableScript ()=default
 

Detailed Description

Constructor & Destructor Documentation

◆ npc_ulduar_keeper()

npc_ulduar_keeper::npc_ulduar_keeper ( )
inline
93: CreatureScript("npc_ulduar_keeper_gossip") { }
Definition CreatureScript.h:25

Member Function Documentation

◆ GetAI()

CreatureAI * npc_ulduar_keeper::GetAI ( Creature creature) const
inlineoverridevirtual

Reimplemented from CreatureScript.

159 {
160 return GetUlduarAI<npc_ulduar_keeperAI>(creature);
161 }

◆ OnGossipHello()

bool npc_ulduar_keeper::OnGossipHello ( Player player,
Creature creature 
)
inlineoverridevirtual

Reimplemented from CreatureScript.

164 {
165 uint32 gossipMenuId = 0;
166 uint32 gossipTextId = 0;
167 switch (creature->GetEntry())
168 {
169 case NPC_FREYA_GOSSIP:
170 gossipMenuId = GOSSIP_MENU_FREYA;
171 gossipTextId = NPC_TEXT_FREYA;
172 break;
173 case NPC_HODIR_GOSSIP:
174 gossipMenuId = GOSSIP_MENU_HODIR;
175 gossipTextId = NPC_TEXT_HODIR;
176 break;
178 gossipMenuId = GOSSIP_MENU_MIMIRON;
179 gossipTextId = NPC_TEXT_MIMIRON;
180 break;
182 gossipMenuId = GOSSIP_MENU_THORIM;
183 gossipTextId = NPC_TEXT_THORIM;
184 break;
185 }
186
187 AddGossipItemFor(player, gossipMenuId, 0, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF + 1);
188 SendGossipMenuFor(player, gossipTextId, creature->GetGUID());
189 return true;
190 }
std::uint32_t uint32
Definition Define.h:107
void AddGossipItemFor(Player *player, uint32 icon, std::string const &text, uint32 sender, uint32 action)
Definition ScriptedGossip.cpp:28
void SendGossipMenuFor(Player *player, uint32 npcTextID, ObjectGuid const &guid)
Definition ScriptedGossip.cpp:45
@ GOSSIP_SENDER_MAIN
Definition ScriptedGossip.h:70
@ GOSSIP_ACTION_INFO_DEF
Definition ScriptedGossip.h:68
uint32 GetEntry() const
Definition Object.h:117
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:114
@ NPC_TEXT_FREYA
Definition ulduar.cpp:37
@ GOSSIP_MENU_THORIM
Definition ulduar.cpp:48
@ NPC_TEXT_THORIM
Definition ulduar.cpp:49
@ NPC_TEXT_MIMIRON
Definition ulduar.cpp:45
@ GOSSIP_MENU_HODIR
Definition ulduar.cpp:40
@ GOSSIP_MENU_FREYA
Definition ulduar.cpp:36
@ NPC_TEXT_HODIR
Definition ulduar.cpp:41
@ GOSSIP_MENU_MIMIRON
Definition ulduar.cpp:44
@ NPC_THORIM_GOSSIP
Definition ulduar.h:192
@ NPC_FREYA_GOSSIP
Definition ulduar.h:190
@ NPC_MIMIRON_GOSSIP
Definition ulduar.h:193
@ NPC_HODIR_GOSSIP
Definition ulduar.h:191

References AddGossipItemFor(), Object::GetEntry(), Object::GetGUID(), GOSSIP_ACTION_INFO_DEF, GOSSIP_MENU_FREYA, GOSSIP_MENU_HODIR, GOSSIP_MENU_MIMIRON, GOSSIP_MENU_THORIM, GOSSIP_SENDER_MAIN, NPC_FREYA_GOSSIP, NPC_HODIR_GOSSIP, NPC_MIMIRON_GOSSIP, NPC_TEXT_FREYA, NPC_TEXT_HODIR, NPC_TEXT_MIMIRON, NPC_TEXT_THORIM, NPC_THORIM_GOSSIP, and SendGossipMenuFor().

◆ OnGossipSelect()

bool npc_ulduar_keeper::OnGossipSelect ( Player player,
Creature creature,
uint32  ,
uint32  action 
)
inlineoverridevirtual

Reimplemented from CreatureScript.

193 {
194 ClearGossipMenuFor(player);
195 switch (action)
196 {
199 SendGossipMenuFor(player, NPC_TEXT_CONFIRM, creature);
200 break;
202 {
204 CloseGossipMenuFor(player);
205
206 creature->AI()->Talk(SAY_KEEPER_CHOSEN_TO_PLAYER, player);
207 creature->AI()->Talk(SAY_KEEPER_CHOSEN_ANNOUNCE);
208 creature->AI()->DoAction(ACTION_KEEPER_OUTRO);
209 }
210 }
211 return true;
212 }
void ClearGossipMenuFor(Player *player)
Definition ScriptedGossip.cpp:22
void CloseGossipMenuFor(Player *player)
Definition ScriptedGossip.cpp:56
@ UNIT_NPC_FLAG_GOSSIP
Definition UnitDefines.h:322
void Talk(uint8 id, WorldObject const *whisperTarget=nullptr, Milliseconds delay=0ms)
Causes the creature to talk/say the text assigned to their entry in the creature_text database table.
Definition CreatureAI.cpp:67
CreatureAI * AI() const
Definition Creature.h:143
virtual void DoAction(int32)
Definition UnitAI.h:217
void RemoveNpcFlag(NPCFlags flags)
Definition Unit.h:765
@ SAY_KEEPER_CHOSEN_ANNOUNCE
Definition ulduar.cpp:57
@ NPC_TEXT_CONFIRM
Definition ulduar.cpp:53
@ SAY_KEEPER_CHOSEN_TO_PLAYER
Definition ulduar.cpp:56
@ GOSSIP_MENU_CONFIRM
Definition ulduar.cpp:52
@ ACTION_KEEPER_OUTRO
Definition ulduar.cpp:62

References ACTION_KEEPER_OUTRO, AddGossipItemFor(), Creature::AI(), ClearGossipMenuFor(), CloseGossipMenuFor(), UnitAI::DoAction(), GOSSIP_ACTION_INFO_DEF, GOSSIP_MENU_CONFIRM, GOSSIP_SENDER_MAIN, NPC_TEXT_CONFIRM, Unit::RemoveNpcFlag(), SAY_KEEPER_CHOSEN_ANNOUNCE, SAY_KEEPER_CHOSEN_TO_PLAYER, SendGossipMenuFor(), CreatureAI::Talk(), and UNIT_NPC_FLAG_GOSSIP.


The documentation for this class was generated from the following file: