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

Classes

struct  npc_elder_clearwaterAI
 

Public Member Functions

 npc_elder_clearwater ()
 
bool OnGossipHello (Player *player, Creature *creature) override
 
bool OnQuestReward (Player *player, Creature *creature, Quest const *quest, uint32) override
 
CreatureAIGetAI (Creature *pCreature) const override
 
- Public Member Functions inherited from CreatureScript
bool IsDatabaseBound () const override
 
virtual bool OnGossipSelect (Player *, Creature *, uint32, uint32)
 
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 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_elder_clearwater()

npc_elder_clearwater::npc_elder_clearwater ( )
inline
62: CreatureScript("npc_elder_clearwater") { }
Definition CreatureScript.h:25

Member Function Documentation

◆ GetAI()

CreatureAI * npc_elder_clearwater::GetAI ( Creature pCreature) const
inlineoverridevirtual

Reimplemented from CreatureScript.

185 {
186 return new npc_elder_clearwaterAI (pCreature);
187 }

◆ OnGossipHello()

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

Reimplemented from CreatureScript.

135 {
136 QuestRelationBounds pObjectQR;
137 QuestRelationBounds pObjectQIR;
138
139 // pets also can have quests
140 if (creature)
141 {
142 pObjectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry());
143 pObjectQIR = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(creature->GetEntry());
144 }
145 else
146 return true;
147
148 QuestMenu& qm = player->PlayerTalkClass->GetQuestMenu();
149 qm.ClearMenu();
150
151 for (QuestRelations::const_iterator i = pObjectQIR.first; i != pObjectQIR.second; ++i)
152 {
153 uint32 quest_id = i->second;
154 Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id);
155 if (!quest)
156 continue;
157
158 if (!creature->AI()->GetData(DATA_DERBY_FINISHED))
159 {
160 if (quest_id == QUEST_FISHING_DERBY)
161 player->PlayerTalkClass->SendQuestGiverRequestItems(quest, creature->GetGUID(), player->CanRewardQuest(quest, false), true);
162 }
163 else
164 {
165 if (quest_id != QUEST_FISHING_DERBY)
166 player->PlayerTalkClass->SendQuestGiverRequestItems(quest, creature->GetGUID(), player->CanRewardQuest(quest, false), true);
167 }
168 }
169
170 return true;
171 }
std::uint32_t uint32
Definition Define.h:107
std::pair< QuestRelations::const_iterator, QuestRelations::const_iterator > QuestRelationBounds
Definition ObjectMgr.h:525
#define sObjectMgr
Definition ObjectMgr.h:1636
CreatureAI * AI() const
Definition Creature.h:141
uint32 GetEntry() const
Definition Object.h:115
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:112
QuestMenu & GetQuestMenu()
Definition GossipDef.h:265
void SendQuestGiverRequestItems(Quest const *quest, ObjectGuid npcGUID, bool canComplete, bool closeOnCancel) const
Definition GossipDef.cpp:752
bool CanRewardQuest(Quest const *quest, bool msg)
Definition PlayerQuest.cpp:385
PlayerMenu * PlayerTalkClass
Definition Player.h:2247
Definition GossipDef.h:229
void ClearMenu()
Definition GossipDef.cpp:310
Definition QuestDef.h:210
virtual uint32 GetData(uint32) const
Definition UnitAI.h:213
@ QUEST_FISHING_DERBY
Definition npcs_special.cpp:54
@ DATA_DERBY_FINISHED
Definition npcs_special.cpp:56

References Creature::AI(), Player::CanRewardQuest(), QuestMenu::ClearMenu(), DATA_DERBY_FINISHED, UnitAI::GetData(), Object::GetEntry(), Object::GetGUID(), PlayerMenu::GetQuestMenu(), Player::PlayerTalkClass, QUEST_FISHING_DERBY, PlayerMenu::SendQuestGiverRequestItems(), and sObjectMgr.

◆ OnQuestReward()

bool npc_elder_clearwater::OnQuestReward ( Player player,
Creature creature,
Quest const *  quest,
uint32   
)
inlineoverridevirtual

Reimplemented from CreatureScript.

174 {
175 if (!creature->AI()->GetData(DATA_DERBY_FINISHED) && quest->GetQuestId() == QUEST_FISHING_DERBY)
176 {
177 creature->AI()->DoAction(DATA_DERBY_FINISHED);
179 }
180
181 return true;
182 }
#define sCreatureTextMgr
Definition CreatureTextMgr.h:119
@ TEXT_RANGE_MAP
Definition CreatureTextMgr.h:33
@ CHAT_MSG_MONSTER_YELL
Definition SharedDefines.h:3166
@ LANG_UNIVERSAL
Definition SharedDefines.h:735
virtual void DoAction(int32)
Definition UnitAI.h:212
@ CLEARWATER_SAY_WINNER
Definition npcs_special.cpp:51

References Creature::AI(), CHAT_MSG_MONSTER_YELL, CLEARWATER_SAY_WINNER, DATA_DERBY_FINISHED, UnitAI::DoAction(), UnitAI::GetData(), Quest::GetQuestId(), LANG_UNIVERSAL, QUEST_FISHING_DERBY, sCreatureTextMgr, and TEXT_RANGE_MAP.


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