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
64: CreatureScript("npc_elder_clearwater") { }
Definition CreatureScript.h:25

Member Function Documentation

◆ GetAI()

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

Reimplemented from CreatureScript.

187 {
188 return new npc_elder_clearwaterAI (pCreature);
189 }

◆ OnGossipHello()

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

Reimplemented from CreatureScript.

137 {
138 QuestRelationBounds pObjectQR;
139 QuestRelationBounds pObjectQIR;
140
141 // pets also can have quests
142 if (creature)
143 {
144 pObjectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry());
145 pObjectQIR = sObjectMgr->GetCreatureQuestInvolvedRelationBounds(creature->GetEntry());
146 }
147 else
148 return true;
149
150 QuestMenu& qm = player->PlayerTalkClass->GetQuestMenu();
151 qm.ClearMenu();
152
153 for (QuestRelations::const_iterator i = pObjectQIR.first; i != pObjectQIR.second; ++i)
154 {
155 uint32 quest_id = i->second;
156 Quest const* quest = sObjectMgr->GetQuestTemplate(quest_id);
157 if (!quest)
158 continue;
159
160 if (!creature->AI()->GetData(DATA_DERBY_FINISHED))
161 {
162 if (quest_id == QUEST_FISHING_DERBY)
163 player->PlayerTalkClass->SendQuestGiverRequestItems(quest, creature->GetGUID(), player->CanRewardQuest(quest, false), true);
164 }
165 else
166 {
167 if (quest_id != QUEST_FISHING_DERBY)
168 player->PlayerTalkClass->SendQuestGiverRequestItems(quest, creature->GetGUID(), player->CanRewardQuest(quest, false), true);
169 }
170 }
171
172 return true;
173 }
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:1650
CreatureAI * AI() const
Definition Creature.h:141
uint32 GetEntry() const
Definition Object.h:116
static ObjectGuid GetGUID(Object const *o)
Definition Object.h:113
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:2249
Definition GossipDef.h:229
void ClearMenu()
Definition GossipDef.cpp:310
Definition QuestDef.h:210
virtual uint32 GetData(uint32) const
Definition UnitAI.h:217
@ QUEST_FISHING_DERBY
Definition npcs_special.cpp:56
@ DATA_DERBY_FINISHED
Definition npcs_special.cpp:58

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.

176 {
177 if (!creature->AI()->GetData(DATA_DERBY_FINISHED) && quest->GetQuestId() == QUEST_FISHING_DERBY)
178 {
179 creature->AI()->DoAction(DATA_DERBY_FINISHED);
181 }
182
183 return true;
184 }
#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:216
@ CLEARWATER_SAY_WINNER
Definition npcs_special.cpp:53

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: