Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
HookMgr.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2010 - 2013 Eluna Lua Engine <http://emudevs.com/>
3* This program is free software licensed under GPL version 3
4* Please see the included DOCS/LICENSE.TXT for more information
5*/
6
7#ifndef LUAHOOKS_H
8#define LUAHOOKS_H
9
10#include "ScriptMgr.h"
11#include "Group.h"
12#include "GameObjectAI.h"
13#include "CreatureAI.h"
14#include "Item.h"
15#include "ElunaCompatibility.h"
16
17class Channel;
18class Creature;
19class GameObject;
20class Guild;
21class Group;
22class Player;
23class Quest;
24class Spell;
26class Transport;
27class Unit;
28// #include "item.h"
29
46
47// RegisterServerEvent(EventId, function)
49{
50 // Server
51 SERVER_EVENT_ON_NETWORK_START = 1, // Not Implemented
52 SERVER_EVENT_ON_NETWORK_STOP = 2, // Not Implemented
53 SERVER_EVENT_ON_SOCKET_OPEN = 3, // Not Implemented
54 SERVER_EVENT_ON_SOCKET_CLOSE = 4, // Not Implemented
55 SERVER_EVENT_ON_PACKET_RECEIVE = 5, // Not Implemented
57 SERVER_EVENT_ON_PACKET_SEND = 7, // Not Implemented
58
59 // World
61 WORLD_EVENT_ON_CONFIG_LOAD = 9, // (event, reload)
62 WORLD_EVENT_ON_MOTD_CHANGE = 10, // (event, newMOTD)
63 WORLD_EVENT_ON_SHUTDOWN_INIT = 11, // (event, code, mask)
65 WORLD_EVENT_ON_UPDATE = 13, // (event, diff)
66 WORLD_EVENT_ON_STARTUP = 14, // (event)
67 WORLD_EVENT_ON_SHUTDOWN = 15, // (event)
68
69 // Eluna
70 ELUNA_EVENT_ON_RESTART = 16, // (event)
71
72 // Map
73 MAP_EVENT_ON_CREATE = 17, // Not Implemented
74 MAP_EVENT_ON_DESTROY = 18, // Not Implemented
75 MAP_EVENT_ON_LOAD = 19, // Not Implemented
76 MAP_EVENT_ON_UNLOAD = 20, // Not Implemented
77 MAP_EVENT_ON_PLAYER_ENTER = 21, // Not Implemented
78 MAP_EVENT_ON_PLAYER_LEAVE = 22, // Not Implemented
79 MAP_EVENT_ON_UPDATE = 23, // Not Implemented
80
81 // Area trigger
82 TRIGGER_EVENT_ON_TRIGGER = 24, // (event, player, triggerId)
83
84 // Weather
85 WEATHER_EVENT_ON_CHANGE = 25, // (event, weather, state, grade)
86
87 // Auction house
88 AUCTION_EVENT_ON_ADD = 26, // (event, AHObject)
89 AUCTION_EVENT_ON_REMOVE = 27, // (event, AHObject)
90 AUCTION_EVENT_ON_SUCCESSFUL = 28, // (event, AHObject)
91 AUCTION_EVENT_ON_EXPIRE = 29, // (event, AHObject)
92
94};
95
96// RegisterPlayerEvent(eventId, function)
98{
99 PLAYER_EVENT_ON_CHARACTER_CREATE = 1, // (event, player)
101 PLAYER_EVENT_ON_LOGIN = 3, // (event, player)
102 PLAYER_EVENT_ON_LOGOUT = 4, // (event, player)
103 PLAYER_EVENT_ON_SPELL_CAST = 5, // (event, player, spell, skipCheck)
104 PLAYER_EVENT_ON_KILL_PLAYER = 6, // (event, killer, killed)
105 PLAYER_EVENT_ON_KILL_CREATURE = 7, // (event, killer, killed)
106 PLAYER_EVENT_ON_KILLED_BY_CREATURE = 8, // (event, killer, killed)
107 PLAYER_EVENT_ON_DUEL_REQUEST = 9, // (event, target, challenger)
108 PLAYER_EVENT_ON_DUEL_START = 10, // (event, player1, player2)
109 PLAYER_EVENT_ON_DUEL_END = 11, // (event, winner, loser, type)
110 PLAYER_EVENT_ON_GIVE_XP = 12, // (event, player, amount, victim)
111 PLAYER_EVENT_ON_LEVEL_CHANGE = 13, // (event, player, oldLevel)
112 PLAYER_EVENT_ON_MONEY_CHANGE = 14, // (event, player, amount)
113 PLAYER_EVENT_ON_REPUTATION_CHANGE = 15, // (event, player, factionId, standing, incremental)
114 PLAYER_EVENT_ON_TALENTS_CHANGE = 16, // (event, player, points)
115 PLAYER_EVENT_ON_TALENTS_RESET = 17, // (event, player, noCost)
116 PLAYER_EVENT_ON_CHAT = 18, // (event, player, msg, Type, lang) - Can return false
117 PLAYER_EVENT_ON_WHISPER = 19, // (event, player, msg, Type, lang, receiver)
118 PLAYER_EVENT_ON_GROUP_CHAT = 20, // (event, player, msg, Type, lang, group) - Can return false
119 PLAYER_EVENT_ON_GUILD_CHAT = 21, // (event, player, msg, Type, lang, guild) - Can return false
120 PLAYER_EVENT_ON_CHANNEL_CHAT = 22, // (event, player, msg, Type, lang, channel) - Can return false
121 PLAYER_EVENT_ON_EMOTE = 23, // (event, player, emote) - Not triggered on any known emote
122 PLAYER_EVENT_ON_TEXT_EMOTE = 24, // (event, player, textEmote, emoteNum, guid)
123 PLAYER_EVENT_ON_SAVE = 25, // (event, player)
124 PLAYER_EVENT_ON_BIND_TO_INSTANCE = 26, // (event, player, difficulty, mapid, permanent)
125 PLAYER_EVENT_ON_UPDATE_ZONE = 27, // (event, player, newZone, newArea)
126 PLAYER_EVENT_ON_MAP_CHANGE = 28, // (event, player)
127 // Custom
128 PLAYER_EVENT_ON_EQUIP = 29, // (event, player, item, bag, slot)
129 PLAYER_EVENT_ON_FIRST_LOGIN = 30, // (event, player)
130 PLAYER_EVENT_ON_CAN_USE_ITEM = 31, // (event, player, itemEntry)
131 PLAYER_EVENT_ON_LOOT_ITEM = 32, // (event, player, item, count)
132 PLAYER_EVENT_ON_ENTER_COMBAT = 33, // (event, player, enemy)
133 PLAYER_EVENT_ON_LEAVE_COMBAT = 34, // (event, player)
134 PLAYER_EVENT_ON_REPOP = 35, // (event, player)
135 PLAYER_EVENT_ON_RESURRECT = 36, // (event, player)
136 PLAYER_EVENT_ON_LOOT_MONEY = 37, // (event, player, amount)
137
139};
140
141// RegisterVehicleEvent(eventId, function)
153
154// RegisterGuildEvent(eventId, function)
156{
157 // Guild
158 GUILD_EVENT_ON_ADD_MEMBER = 1, // (event, guild, player, rank)
159 GUILD_EVENT_ON_REMOVE_MEMBER = 2, // (event, guild, isDisbanding, isKicked)
160 GUILD_EVENT_ON_MOTD_CHANGE = 3, // (event, guild, newMotd)
161 GUILD_EVENT_ON_INFO_CHANGE = 4, // (event, guild, newInfo)
162 GUILD_EVENT_ON_CREATE = 5, // (event, guild, leader, name)
163 GUILD_EVENT_ON_DISBAND = 6, // (event, guild)
164 GUILD_EVENT_ON_MONEY_WITHDRAW = 7, // (event, guild, player, amount, isRepair)
165 GUILD_EVENT_ON_MONEY_DEPOSIT = 8, // (event, guild, player, amount)
166 GUILD_EVENT_ON_ITEM_MOVE = 9, // (event, guild, player, item, isSrcBank, srcContainer, srcSlotId, isDestBank, destContainer, destSlotId)
167 GUILD_EVENT_ON_EVENT = 10, // (event, guild, eventType, plrGUIDLow1, plrGUIDLow2, newRank)
168 GUILD_EVENT_ON_BANK_EVENT = 11, // (event, guild, eventType, tabId, playerGUIDLow, itemOrMoney, itemStackCount, destTabId)
169
171};
172
173// RegisterGroupEvent(eventId, function)
175{
176 // Group
177 GROUP_EVENT_ON_MEMBER_ADD = 1, // (event, group, guid)
178 GROUP_EVENT_ON_MEMBER_INVITE = 2, // (event, group, guid)
179 GROUP_EVENT_ON_MEMBER_REMOVE = 3, // (event, group, guid, method, kicker, reason)
180 GROUP_EVENT_ON_LEADER_CHANGE = 4, // (event, group, newLeaderGuid, oldLeaderGuid)
181 GROUP_EVENT_ON_DISBAND = 5, // (event, group)
182 GROUP_EVENT_ON_CREATE = 6, // (event, group, leaderGuid, groupType)
183
185};
186
187// RegisterCreatureEvent(entry, EventId, function)
189{
190 CREATURE_EVENT_ON_ENTER_COMBAT = 1, // (event, creature, target)
191 CREATURE_EVENT_ON_LEAVE_COMBAT = 2, // (event, creature)
192 CREATURE_EVENT_ON_TARGET_DIED = 3, // (event, creature, victim)
193 CREATURE_EVENT_ON_DIED = 4, // (event, creature, killer)
194 CREATURE_EVENT_ON_SPAWN = 5, // (event, creature)
195 CREATURE_EVENT_ON_REACH_WP = 6, // (event, creature, type, id)
196 CREATURE_EVENT_ON_AIUPDATE = 7, // (event, creature, diff)
197 CREATURE_EVENT_ON_RECEIVE_EMOTE = 8, // (event, creature, player, emoteid)
198 CREATURE_EVENT_ON_DAMAGE_TAKEN = 9, // (event, creature, attacker, damage)
199 CREATURE_EVENT_ON_PRE_COMBAT = 10, // (event, creature, target)
200 CREATURE_EVENT_ON_ATTACKED_AT = 11, // (event, creature, attacker)
201 CREATURE_EVENT_ON_OWNER_ATTACKED = 12, // (event, creature, target)
202 CREATURE_EVENT_ON_OWNER_ATTACKED_AT = 13, // (event, creature, attacker)
203 CREATURE_EVENT_ON_HIT_BY_SPELL = 14, // (event, creature, caster, spellid)
204 CREATURE_EVENT_ON_SPELL_HIT_TARGET = 15, // (event, creature, target, spellid)
205 CREATURE_EVENT_ON_SPELL_CLICK = 16, // (event, creature, clicker)
206 CREATURE_EVENT_ON_CHARMED = 17, // (event, creature, apply)
207 CREATURE_EVENT_ON_POSSESS = 18, // (event, creature, apply)
208 CREATURE_EVENT_ON_JUST_SUMMONED_CREATURE = 19, // (event, creature, summon)
209 CREATURE_EVENT_ON_SUMMONED_CREATURE_DESPAWN = 20, // (event, creature, summon)
210 CREATURE_EVENT_ON_SUMMONED_CREATURE_DIED = 21, // (event, creature, summon, killer)
211 CREATURE_EVENT_ON_SUMMONED = 22, // (event, creature, summoner)
212 CREATURE_EVENT_ON_RESET = 23, // (event, creature)
213 CREATURE_EVENT_ON_REACH_HOME = 24, // (event, creature)
214 CREATURE_EVENT_ON_CAN_RESPAWN = 25, // (event, creature)
215 CREATURE_EVENT_ON_CORPSE_REMOVED = 26, // (event, creature, respawndelay)
216 CREATURE_EVENT_ON_MOVE_IN_LOS = 27, // (event, creature, unit)
217 CREATURE_EVENT_ON_VISIBLE_MOVE_IN_LOS = 28, // (event, creature, unit)
218 CREATURE_EVENT_ON_PASSANGER_BOARDED = 29, // (event, creature, passanger, seatid, apply)
219 CREATURE_EVENT_ON_DUMMY_EFFECT = 30, // (event, caster, spellid, effindex, creature)
220 CREATURE_EVENT_ON_QUEST_ACCEPT = 31, // (event, player, creature, quest)
221 CREATURE_EVENT_ON_QUEST_SELECT = 32, // (event, player, creature, quest)
222 CREATURE_EVENT_ON_QUEST_COMPLETE = 33, // (event, player, creature, quest)
223 CREATURE_EVENT_ON_QUEST_REWARD = 34, // (event, player, creature, quest, opt)
224 CREATURE_EVENT_ON_DIALOG_STATUS = 35, // (event, player, creature)
226};
227
228// RegisterGameObjectEvent(entry, EventId, function)
230{
231 GAMEOBJECT_EVENT_ON_AIUPDATE = 1, // (event, go, diff)
232 GAMEOBJECT_EVENT_ON_RESET = 2, // (event, go)
233 GAMEOBJECT_EVENT_ON_DUMMY_EFFECT = 3, // (event, caster, spellid, effindex, go)
234 GAMEOBJECT_EVENT_ON_QUEST_ACCEPT = 4, // (event, player, go, quest)
235 GAMEOBJECT_EVENT_ON_QUEST_REWARD = 5, // (event, player, go, quest, opt)
236 GAMEOBJECT_EVENT_ON_DIALOG_STATUS = 6, // (event, player, go)
237 GAMEOBJECT_EVENT_ON_DESTROYED = 7, // (event, go, player) // TODO
238 GAMEOBJECT_EVENT_ON_DAMAGED = 8, // (event, go, player) // TODO
239 GAMEOBJECT_EVENT_ON_LOOT_STATE_CHANGE = 9, // (event, go, state, unit) // TODO
240 GAMEOBJECT_EVENT_ON_GO_STATE_CHANGED = 10, // (event, go, state) // TODO
241 GAMEOBJECT_EVENT_ON_QUEST_COMPLETE = 11, // (event, player, go, quest)
243};
244
245// RegisterItemEvent(entry, EventId, function)
247{
248 ITEM_EVENT_ON_DUMMY_EFFECT = 1, // (event, caster, spellid, effindex, item)
249 ITEM_EVENT_ON_USE = 2, // (event, player, item, target)
250 ITEM_EVENT_ON_QUEST_ACCEPT = 3, // (event, player, item, quest)
251 ITEM_EVENT_ON_EXPIRE = 4, // (event, player, itemid)
253};
254
255// RegisterCreatureGossipEvent(entry, EventId, function)
256// RegisterGameObjectGossipEvent(entry, EventId, function)
257// RegisterItemGossipEvent(entry, EventId, function)
258// RegisterPlayerGossipEvent(menu_id, EventId, function)
260{
261 GOSSIP_EVENT_ON_HELLO = 1, // (event, player, object) - Object is the Creature/GameObject/Item
262 GOSSIP_EVENT_ON_SELECT = 2, // (event, player, object, sender, intid, code, menu_id) - Object is the Creature/GameObject/Item/Player, menu_id is only for player gossip
264};
265
267{
268 static HookMgr* instance();
269 struct ElunaCreatureAI;
270 struct ElunaGameObjectAI;
271 struct ElunaWorldAI;
272 CreatureAI* GetAI(Creature* creature);
273 GameObjectAI* GetAI(GameObject* gameObject);
274
275 /* Misc */
276 void OnWorldUpdate(uint32 diff);
277 void OnLootItem(Player* pPlayer, Item* pItem, uint32 count, uint64 guid);
278 void OnLootMoney(Player* pPlayer, uint32 amount);
279 void OnFirstLogin(Player* pPlayer);
280 void OnEquip(Player* pPlayer, Item* pItem, uint8 bag, uint8 slot);
281 void OnRepop(Player* pPlayer);
282 void OnResurrect(Player* pPlayer);
283 InventoryResult OnCanUseItem(const Player* pPlayer, uint32 itemEntry);
284 void OnEngineRestart();
285 /* Item */
286 bool OnDummyEffect(Unit* pCaster, uint32 spellId, SpellEffIndex effIndex, Item* pTarget);
287 bool OnQuestAccept(Player* pPlayer, Item* pItem, Quest const* pQuest);
288 bool OnUse(Player* pPlayer, Item* pItem, SpellCastTargets const& targets);
289 bool OnExpire(Player* pPlayer, ItemTemplate const* pProto);
290 void HandleGossipSelectOption(Player* pPlayer, Item* item, uint32 sender, uint32 action, std::string code);
291 /* Creature */
292 bool OnDummyEffect(Unit* pCaster, uint32 spellId, SpellEffIndex effIndex, Creature* pTarget);
293 bool OnGossipHello(Player* pPlayer, Creature* pCreature);
294 bool OnGossipSelect(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action);
295 bool OnGossipSelectCode(Player* pPlayer, Creature* pCreature, uint32 sender, uint32 action, const char* code);
296 bool OnQuestAccept(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
297 bool OnQuestSelect(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
298 bool OnQuestComplete(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
299 bool OnQuestReward(Player* pPlayer, Creature* pCreature, Quest const* pQuest);
301 /* GameObject */
302 bool OnDummyEffect(Unit* pCaster, uint32 spellId, SpellEffIndex effIndex, GameObject* pTarget);
303 bool OnGossipHello(Player* pPlayer, GameObject* pGameObject);
304 bool OnGossipSelect(Player* pPlayer, GameObject* pGameObject, uint32 sender, uint32 action);
305 bool OnGossipSelectCode(Player* pPlayer, GameObject* pGameObject, uint32 sender, uint32 action, const char* code);
306 bool OnQuestAccept(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest);
307 bool OnQuestComplete(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest);
308 bool OnQuestReward(Player* pPlayer, GameObject* pGameObject, Quest const* pQuest);
309 bool OnGameObjectUse(Player* pPlayer, GameObject* pGameObject) { return false; }; // TODO? Not on TC
311 void OnDestroyed(GameObject* pGameObject, Player* pPlayer);
312 void OnDamaged(GameObject* pGameObject, Player* pPlayer);
313 void OnLootStateChanged(GameObject* pGameObject, uint32 state, Unit* pUnit);
314 void OnGameObjectStateChanged(GameObject* pGameObject, uint32 state);
315 /* Player */
316 void OnPlayerJustEngagedWith(Player* pPlayer, Unit* pEnemy);
317 void OnPlayerLeaveCombat(Player* pPlayer);
318 void OnPVPKill(Player* pKiller, Player* pKilled);
319 void OnCreatureKill(Player* pKiller, Creature* pKilled);
320 void OnPlayerKilledByCreature(Creature* pKiller, Player* pKilled);
321 void OnLevelChanged(Player* pPlayer, uint8 oldLevel);
322 void OnFreeTalentPointsChanged(Player* pPlayer, uint32 newPoints);
323 void OnTalentsReset(Player* pPlayer, bool noCost);
324 void OnMoneyChanged(Player* pPlayer, int64& amount);
325 void OnGiveXP(Player* pPlayer, uint32& amount, Unit* pVictim);
326 void OnReputationChange(Player* pPlayer, uint32 factionID, int32& standing, bool incremental);
327 void OnDuelRequest(Player* pTarget, Player* pChallenger);
328 void OnDuelStart(Player* pStarter, Player* pChallenger);
329 void OnDuelEnd(Player* pWinner, Player* pLoser, DuelCompleteType type);
330 void OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg, Player* pReceiver);
331 bool OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg);
332 bool OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg, Group* pGroup);
333 bool OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg, Guild* pGuild);
334 bool OnChat(Player* pPlayer, uint32 type, uint32 lang, std::string& msg, Channel* pChannel);
335 void OnEmote(Player* pPlayer, uint32 emote);
336 void OnTextEmote(Player* pPlayer, uint32 textEmote, uint32 emoteNum, uint64 guid);
337 void OnSpellCast(Player* pPlayer, Spell* pSpell, bool skipCheck);
338 void OnLogin(Player* pPlayer);
339 void OnLogout(Player* pPlayer);
340 void OnCreate(Player* pPlayer);
341 void OnDelete(uint32 guid);
342 void OnSave(Player* pPlayer);
343 void OnBindToInstance(Player* pPlayer, Difficulty difficulty, uint32 mapid, bool permanent);
344 void OnUpdateZone(Player* pPlayer, uint32 newZone, uint32 newArea);
345 void OnMapChanged(Player* pPlayer); // TODO
346 void HandleGossipSelectOption(Player* pPlayer, uint32 menuId, uint32 sender, uint32 action, std::string code);
347 /* Vehicle */
348 void OnInstall(Vehicle* vehicle);
349 void OnUninstall(Vehicle* vehicle);
350 void OnReset(Vehicle* vehicle);
351 void OnInstallAccessory(Vehicle* vehicle, Creature* accessory);
352 void OnAddPassenger(Vehicle* vehicle, Unit* passenger, int8 seatId);
353 void OnRemovePassenger(Vehicle* vehicle, Unit* passenger);
354 /* AreaTrigger */
355 bool OnAreaTrigger(Player* pPlayer, AreaTriggerEntry const* pTrigger, bool entered);
356 /* Weather */
357 void OnChange(Weather* weather, WeatherState state, float grade);
358 /* Auction House */
359 void OnAdd(AuctionHouseObject* ah);
363 /* Condition */
364 bool OnConditionCheck(const Condition* condition, ConditionSourceInfo& sourceInfo) { return false; }; // TODO ?
365 /* Transport */
366 void OnAddPassenger(Transport* transport, Player* player);
367 void OnAddCreaturePassenger(Transport* transport, Creature* creature);
368 void OnRemovePassenger(Transport* transport, Player* player);
369 void OnRelocate(Transport* transport, uint32 waypointId, uint32 mapId, float x, float y, float z);
370 /* Guild */
371 void OnAddMember(Guild* guild, Player* player, uint32 plRank);
372 void OnRemoveMember(Guild* guild, Player* player, bool isDisbanding, bool isKicked);
373 void OnMOTDChanged(Guild* guild, const std::string& newMotd);
374 void OnInfoChanged(Guild* guild, const std::string& newInfo);
375 void OnCreate(Guild* guild, Player* leader, const std::string& name); // TODO: Implement to TC
376 void OnDisband(Guild* guild);
377 void OnMemberWitdrawMoney(Guild* guild, Player* player, uint64 &amount, bool isRepair);
378 void OnMemberDepositMoney(Guild* guild, Player* player, uint64 &amount);
379 void OnItemMove(Guild* guild, Player* player, Item* pItem, bool isSrcBank, uint8 srcContainer, uint8 srcSlotId, bool isDestBank, uint8 destContainer, uint8 destSlotId);
380 void OnEvent(Guild* guild, uint8 eventType, uint32 playerGuid1, uint32 playerGuid2, uint8 newRank);
381 void OnBankEvent(Guild* guild, uint8 eventType, uint8 tabId, uint32 playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId);
382 /* Group */
383 void OnAddMember(Group* group, uint64 guid);
384 void OnInviteMember(Group* group, uint64 guid);
385 void OnRemoveMember(Group* group, uint64 guid, uint8 method, uint64 kicker, const char* reason);
386 void OnChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid);
387 void OnDisband(Group* group);
388 void OnCreate(Group* group, uint64 leaderGuid, GroupType groupType);
389};
390#define sHookMgr HookMgr::instance()
391
393{
394public:
395 ElunaCreatureScript() : CreatureScript("Smart_ElunaCreatureScript") { } // Smart suppressing error @startup
397 CreatureAI* GetAI(Creature* creature) const override
398 {
399 return sHookMgr->GetAI(creature);
400 }
401};
402
404{
405public:
406 ElunaGameObjectScript() : GameObjectScript("Smart_ElunaGameObjectScript") { } // Smart suppressing error @startup
408 GameObjectAI* GetAI(GameObject* gameObject) const override
409 {
410 return sHookMgr->GetAI(gameObject);
411 }
412};
413
414void AddElunaScripts();
415
416#endif
std::int32_t int32
Definition Define.h:73
std::uint8_t uint8
Definition Define.h:79
std::uint32_t uint32
Definition Define.h:77
std::int8_t int8
Definition Define.h:75
std::uint64_t uint64
Definition Define.h:76
std::int64_t int64
Definition Define.h:72
std::uint16_t uint16
Definition Define.h:78
std::optional< T > Optional
DifficultyID Difficulty
GroupType
Definition Group.h:61
CreatureEvents
Definition HookMgr.h:189
@ CREATURE_EVENT_ON_CHARMED
Definition HookMgr.h:206
@ CREATURE_EVENT_ON_RESET
Definition HookMgr.h:212
@ CREATURE_EVENT_ON_PASSANGER_BOARDED
Definition HookMgr.h:218
@ CREATURE_EVENT_ON_ATTACKED_AT
Definition HookMgr.h:200
@ CREATURE_EVENT_ON_CAN_RESPAWN
Definition HookMgr.h:214
@ CREATURE_EVENT_ON_DAMAGE_TAKEN
Definition HookMgr.h:198
@ CREATURE_EVENT_ON_OWNER_ATTACKED
Definition HookMgr.h:201
@ CREATURE_EVENT_ON_DUMMY_EFFECT
Definition HookMgr.h:219
@ CREATURE_EVENT_ON_SUMMONED_CREATURE_DESPAWN
Definition HookMgr.h:209
@ CREATURE_EVENT_ON_RECEIVE_EMOTE
Definition HookMgr.h:197
@ CREATURE_EVENT_ON_REACH_HOME
Definition HookMgr.h:213
@ CREATURE_EVENT_ON_REACH_WP
Definition HookMgr.h:195
@ CREATURE_EVENT_ON_AIUPDATE
Definition HookMgr.h:196
@ CREATURE_EVENT_ON_QUEST_ACCEPT
Definition HookMgr.h:220
@ CREATURE_EVENT_ON_QUEST_COMPLETE
Definition HookMgr.h:222
@ CREATURE_EVENT_ON_MOVE_IN_LOS
Definition HookMgr.h:216
@ CREATURE_EVENT_ON_DIED
Definition HookMgr.h:193
@ CREATURE_EVENT_ON_SPAWN
Definition HookMgr.h:194
@ CREATURE_EVENT_ON_SUMMONED
Definition HookMgr.h:211
@ CREATURE_EVENT_ON_QUEST_REWARD
Definition HookMgr.h:223
@ CREATURE_EVENT_ON_LEAVE_COMBAT
Definition HookMgr.h:191
@ CREATURE_EVENT_ON_HIT_BY_SPELL
Definition HookMgr.h:203
@ CREATURE_EVENT_ON_SPELL_HIT_TARGET
Definition HookMgr.h:204
@ CREATURE_EVENT_ON_VISIBLE_MOVE_IN_LOS
Definition HookMgr.h:217
@ CREATURE_EVENT_ON_POSSESS
Definition HookMgr.h:207
@ CREATURE_EVENT_ON_SPELL_CLICK
Definition HookMgr.h:205
@ CREATURE_EVENT_COUNT
Definition HookMgr.h:225
@ CREATURE_EVENT_ON_DIALOG_STATUS
Definition HookMgr.h:224
@ CREATURE_EVENT_ON_QUEST_SELECT
Definition HookMgr.h:221
@ CREATURE_EVENT_ON_OWNER_ATTACKED_AT
Definition HookMgr.h:202
@ CREATURE_EVENT_ON_CORPSE_REMOVED
Definition HookMgr.h:215
@ CREATURE_EVENT_ON_SUMMONED_CREATURE_DIED
Definition HookMgr.h:210
@ CREATURE_EVENT_ON_TARGET_DIED
Definition HookMgr.h:192
@ CREATURE_EVENT_ON_ENTER_COMBAT
Definition HookMgr.h:190
@ CREATURE_EVENT_ON_PRE_COMBAT
Definition HookMgr.h:199
@ CREATURE_EVENT_ON_JUST_SUMMONED_CREATURE
Definition HookMgr.h:208
RegisterTypes
Definition HookMgr.h:31
@ REGTYPE_GUILD
Definition HookMgr.h:34
@ REGTYPE_COUNT
Definition HookMgr.h:44
@ REGTYPE_PLAYER_GOSSIP
Definition HookMgr.h:43
@ REGTYPE_PLAYER
Definition HookMgr.h:33
@ REGTYPE_SERVER
Definition HookMgr.h:32
@ REGTYPE_VEHICLE
Definition HookMgr.h:37
@ REGTYPE_GROUP
Definition HookMgr.h:35
@ REGTYPE_GAMEOBJECT
Definition HookMgr.h:39
@ REGTYPE_ITEM_GOSSIP
Definition HookMgr.h:42
@ REGTYPE_CREATURE
Definition HookMgr.h:36
@ REGTYPE_GAMEOBJECT_GOSSIP
Definition HookMgr.h:40
@ REGTYPE_ITEM
Definition HookMgr.h:41
@ REGTYPE_CREATURE_GOSSIP
Definition HookMgr.h:38
GuildEventTypes
Definition HookMgr.h:156
@ GUILD_EVENT_ON_MONEY_WITHDRAW
Definition HookMgr.h:164
@ GUILD_EVENT_ON_CREATE
Definition HookMgr.h:162
@ GUILD_EVENT_ON_MOTD_CHANGE
Definition HookMgr.h:160
@ GUILD_EVENT_ON_BANK_EVENT
Definition HookMgr.h:168
@ GUILD_EVENT_ON_EVENT
Definition HookMgr.h:167
@ GUILD_EVENT_ON_DISBAND
Definition HookMgr.h:163
@ GUILD_EVENT_ON_ADD_MEMBER
Definition HookMgr.h:158
@ GUILD_EVENT_ON_INFO_CHANGE
Definition HookMgr.h:161
@ GUILD_EVENT_ON_MONEY_DEPOSIT
Definition HookMgr.h:165
@ GUILD_EVENT_COUNT
Definition HookMgr.h:170
@ GUILD_EVENT_ON_REMOVE_MEMBER
Definition HookMgr.h:159
@ GUILD_EVENT_ON_ITEM_MOVE
Definition HookMgr.h:166
ItemEvents
Definition HookMgr.h:247
@ ITEM_EVENT_ON_QUEST_ACCEPT
Definition HookMgr.h:250
@ ITEM_EVENT_COUNT
Definition HookMgr.h:252
@ ITEM_EVENT_ON_DUMMY_EFFECT
Definition HookMgr.h:248
@ ITEM_EVENT_ON_USE
Definition HookMgr.h:249
@ ITEM_EVENT_ON_EXPIRE
Definition HookMgr.h:251
PlayerEvents
Definition HookMgr.h:98
@ PLAYER_EVENT_ON_KILL_CREATURE
Definition HookMgr.h:105
@ PLAYER_EVENT_ON_CAN_USE_ITEM
Definition HookMgr.h:130
@ PLAYER_EVENT_ON_CHARACTER_CREATE
Definition HookMgr.h:99
@ PLAYER_EVENT_ON_EQUIP
Definition HookMgr.h:128
@ PLAYER_EVENT_ON_WHISPER
Definition HookMgr.h:117
@ PLAYER_EVENT_ON_SPELL_CAST
Definition HookMgr.h:103
@ PLAYER_EVENT_ON_DUEL_START
Definition HookMgr.h:108
@ PLAYER_EVENT_ON_EMOTE
Definition HookMgr.h:121
@ PLAYER_EVENT_ON_LEVEL_CHANGE
Definition HookMgr.h:111
@ PLAYER_EVENT_ON_LOGIN
Definition HookMgr.h:101
@ PLAYER_EVENT_ON_RESURRECT
Definition HookMgr.h:135
@ PLAYER_EVENT_ON_GIVE_XP
Definition HookMgr.h:110
@ PLAYER_EVENT_ON_CHARACTER_DELETE
Definition HookMgr.h:100
@ PLAYER_EVENT_COUNT
Definition HookMgr.h:138
@ PLAYER_EVENT_ON_CHAT
Definition HookMgr.h:116
@ PLAYER_EVENT_ON_DUEL_END
Definition HookMgr.h:109
@ PLAYER_EVENT_ON_KILL_PLAYER
Definition HookMgr.h:104
@ PLAYER_EVENT_ON_LOOT_ITEM
Definition HookMgr.h:131
@ PLAYER_EVENT_ON_REPOP
Definition HookMgr.h:134
@ PLAYER_EVENT_ON_MONEY_CHANGE
Definition HookMgr.h:112
@ PLAYER_EVENT_ON_FIRST_LOGIN
Definition HookMgr.h:129
@ PLAYER_EVENT_ON_LEAVE_COMBAT
Definition HookMgr.h:133
@ PLAYER_EVENT_ON_TEXT_EMOTE
Definition HookMgr.h:122
@ PLAYER_EVENT_ON_REPUTATION_CHANGE
Definition HookMgr.h:113
@ PLAYER_EVENT_ON_GUILD_CHAT
Definition HookMgr.h:119
@ PLAYER_EVENT_ON_SAVE
Definition HookMgr.h:123
@ PLAYER_EVENT_ON_LOGOUT
Definition HookMgr.h:102
@ PLAYER_EVENT_ON_UPDATE_ZONE
Definition HookMgr.h:125
@ PLAYER_EVENT_ON_DUEL_REQUEST
Definition HookMgr.h:107
@ PLAYER_EVENT_ON_LOOT_MONEY
Definition HookMgr.h:136
@ PLAYER_EVENT_ON_BIND_TO_INSTANCE
Definition HookMgr.h:124
@ PLAYER_EVENT_ON_TALENTS_RESET
Definition HookMgr.h:115
@ PLAYER_EVENT_ON_CHANNEL_CHAT
Definition HookMgr.h:120
@ PLAYER_EVENT_ON_GROUP_CHAT
Definition HookMgr.h:118
@ PLAYER_EVENT_ON_ENTER_COMBAT
Definition HookMgr.h:132
@ PLAYER_EVENT_ON_MAP_CHANGE
Definition HookMgr.h:126
@ PLAYER_EVENT_ON_KILLED_BY_CREATURE
Definition HookMgr.h:106
@ PLAYER_EVENT_ON_TALENTS_CHANGE
Definition HookMgr.h:114
ServerEvents
Definition HookMgr.h:49
@ SERVER_EVENT_ON_PACKET_SEND
Definition HookMgr.h:57
@ SERVER_EVENT_COUNT
Definition HookMgr.h:93
@ MAP_EVENT_ON_LOAD
Definition HookMgr.h:75
@ SERVER_EVENT_ON_PACKET_RECEIVE_UNKNOWN
Definition HookMgr.h:56
@ AUCTION_EVENT_ON_SUCCESSFUL
Definition HookMgr.h:90
@ SERVER_EVENT_ON_SOCKET_CLOSE
Definition HookMgr.h:54
@ WORLD_EVENT_ON_CONFIG_LOAD
Definition HookMgr.h:61
@ MAP_EVENT_ON_PLAYER_LEAVE
Definition HookMgr.h:78
@ MAP_EVENT_ON_UNLOAD
Definition HookMgr.h:76
@ AUCTION_EVENT_ON_ADD
Definition HookMgr.h:88
@ SERVER_EVENT_ON_PACKET_RECEIVE
Definition HookMgr.h:55
@ WORLD_EVENT_ON_SHUTDOWN
Definition HookMgr.h:67
@ MAP_EVENT_ON_DESTROY
Definition HookMgr.h:74
@ WORLD_EVENT_ON_MOTD_CHANGE
Definition HookMgr.h:62
@ MAP_EVENT_ON_PLAYER_ENTER
Definition HookMgr.h:77
@ TRIGGER_EVENT_ON_TRIGGER
Definition HookMgr.h:82
@ AUCTION_EVENT_ON_EXPIRE
Definition HookMgr.h:91
@ WORLD_EVENT_ON_OPEN_STATE_CHANGE
Definition HookMgr.h:60
@ WORLD_EVENT_ON_SHUTDOWN_INIT
Definition HookMgr.h:63
@ MAP_EVENT_ON_UPDATE
Definition HookMgr.h:79
@ SERVER_EVENT_ON_NETWORK_STOP
Definition HookMgr.h:52
@ WORLD_EVENT_ON_UPDATE
Definition HookMgr.h:65
@ AUCTION_EVENT_ON_REMOVE
Definition HookMgr.h:89
@ WORLD_EVENT_ON_SHUTDOWN_CANCEL
Definition HookMgr.h:64
@ SERVER_EVENT_ON_SOCKET_OPEN
Definition HookMgr.h:53
@ SERVER_EVENT_ON_NETWORK_START
Definition HookMgr.h:51
@ WORLD_EVENT_ON_STARTUP
Definition HookMgr.h:66
@ ELUNA_EVENT_ON_RESTART
Definition HookMgr.h:70
@ MAP_EVENT_ON_CREATE
Definition HookMgr.h:73
@ WEATHER_EVENT_ON_CHANGE
Definition HookMgr.h:85
GroupEvents
Definition HookMgr.h:175
@ GROUP_EVENT_ON_MEMBER_ADD
Definition HookMgr.h:177
@ GROUP_EVENT_ON_DISBAND
Definition HookMgr.h:181
@ GROUP_EVENT_COUNT
Definition HookMgr.h:184
@ GROUP_EVENT_ON_MEMBER_REMOVE
Definition HookMgr.h:179
@ GROUP_EVENT_ON_CREATE
Definition HookMgr.h:182
@ GROUP_EVENT_ON_MEMBER_INVITE
Definition HookMgr.h:178
@ GROUP_EVENT_ON_LEADER_CHANGE
Definition HookMgr.h:180
void AddElunaScripts()
Definition HookMgr.cpp:1998
#define sHookMgr
Definition HookMgr.h:390
VehicleEvents
Definition HookMgr.h:143
@ VEHICLE_EVENT_ON_INSTALL_ACCESSORY
Definition HookMgr.h:147
@ VEHICLE_EVENT_ON_ADD_PASSENGER
Definition HookMgr.h:148
@ VEHICLE_EVENT_ON_INSTALL
Definition HookMgr.h:144
@ VEHICLE_EVENT_ON_REMOVE_PASSENGER
Definition HookMgr.h:149
@ VEHICLE_EVENT_ON_UNINSTALL
Definition HookMgr.h:145
@ VEHICLE_EVENT_ON_RESET
Definition HookMgr.h:146
@ VEHICLE_EVENT_COUNT
Definition HookMgr.h:151
GameObjectEvents
Definition HookMgr.h:230
@ GAMEOBJECT_EVENT_ON_LOOT_STATE_CHANGE
Definition HookMgr.h:239
@ GAMEOBJECT_EVENT_ON_QUEST_ACCEPT
Definition HookMgr.h:234
@ GAMEOBJECT_EVENT_ON_RESET
Definition HookMgr.h:232
@ GAMEOBJECT_EVENT_COUNT
Definition HookMgr.h:242
@ GAMEOBJECT_EVENT_ON_AIUPDATE
Definition HookMgr.h:231
@ GAMEOBJECT_EVENT_ON_DUMMY_EFFECT
Definition HookMgr.h:233
@ GAMEOBJECT_EVENT_ON_DESTROYED
Definition HookMgr.h:237
@ GAMEOBJECT_EVENT_ON_DIALOG_STATUS
Definition HookMgr.h:236
@ GAMEOBJECT_EVENT_ON_DAMAGED
Definition HookMgr.h:238
@ GAMEOBJECT_EVENT_ON_QUEST_REWARD
Definition HookMgr.h:235
@ GAMEOBJECT_EVENT_ON_GO_STATE_CHANGED
Definition HookMgr.h:240
@ GAMEOBJECT_EVENT_ON_QUEST_COMPLETE
Definition HookMgr.h:241
GossipEvents
Definition HookMgr.h:260
@ GOSSIP_EVENT_ON_HELLO
Definition HookMgr.h:261
@ GOSSIP_EVENT_ON_SELECT
Definition HookMgr.h:262
@ GOSSIP_EVENT_COUNT
Definition HookMgr.h:263
InventoryResult
Definition Item.h:27
SpellEffIndex
DuelCompleteType
CreatureScript(const char *name)
CreatureAI * GetAI(Creature *creature) const override
Definition HookMgr.h:397
GameObjectAI * GetAI(GameObject *gameObject) const override
Definition HookMgr.h:408
GameObjectScript(const char *name)
Definition Group.h:147
Definition Guild.h:324
Definition Item.h:202
Definition Spell.h:289
Definition Unit.h:1367
Weather for one zone.
Definition Weather.h:53
WeatherState
Definition Weather.h:34
void OnTextEmote(Player *pPlayer, uint32 textEmote, uint32 emoteNum, uint64 guid)
Definition HookMgr.cpp:776
void OnMapChanged(Player *pPlayer)
Definition HookMgr.cpp:894
void OnItemMove(Guild *guild, Player *player, Item *pItem, bool isSrcBank, uint8 srcContainer, uint8 srcSlotId, bool isDestBank, uint8 destContainer, uint8 destSlotId)
Definition HookMgr.cpp:1847
void OnDelete(uint32 guid)
Definition HookMgr.cpp:841
void OnRepop(Player *pPlayer)
Definition HookMgr.cpp:75
void OnInstallAccessory(Vehicle *vehicle, Creature *accessory)
Definition HookMgr.cpp:1037
void OnFreeTalentPointsChanged(Player *pPlayer, uint32 newPoints)
Definition HookMgr.cpp:639
void OnSuccessful(AuctionHouseObject *ah)
Definition HookMgr.cpp:1144
void OnSave(Player *pPlayer)
Definition HookMgr.cpp:853
void OnAdd(AuctionHouseObject *ah)
Definition HookMgr.cpp:1120
void OnUpdateZone(Player *pPlayer, uint32 newZone, uint32 newArea)
Definition HookMgr.cpp:880
void OnBindToInstance(Player *pPlayer, Difficulty difficulty, uint32 mapid, bool permanent)
Definition HookMgr.cpp:865
void OnTalentsReset(Player *pPlayer, bool noCost)
Definition HookMgr.cpp:652
void OnBankEvent(Guild *guild, uint8 eventType, uint8 tabId, uint32 playerGuid, uint32 itemOrMoney, uint16 itemStackCount, uint8 destTabId)
Definition HookMgr.cpp:1884
bool OnQuestComplete(Player *pPlayer, Creature *pCreature, Quest const *pQuest)
Definition HookMgr.cpp:355
void OnEmote(Player *pPlayer, uint32 emote)
Definition HookMgr.cpp:763
void OnFirstLogin(Player *pPlayer)
Definition HookMgr.cpp:63
void OnGameObjectStateChanged(GameObject *pGameObject, uint32 state)
Definition HookMgr.cpp:550
void OnInfoChanged(Guild *guild, const std::string &newInfo)
Definition HookMgr.cpp:1779
bool OnUse(Player *pPlayer, Item *pItem, SpellCastTargets const &targets)
Definition HookMgr.cpp:217
bool OnDummyEffect(Unit *pCaster, uint32 spellId, SpellEffIndex effIndex, Item *pTarget)
Definition HookMgr.cpp:188
bool OnGossipSelectCode(Player *pPlayer, Creature *pCreature, uint32 sender, uint32 action, const char *code)
Definition HookMgr.cpp:310
void OnRemovePassenger(Vehicle *vehicle, Unit *passenger)
Definition HookMgr.cpp:1064
void OnDisband(Guild *guild)
Definition HookMgr.cpp:1806
void OnUninstall(Vehicle *vehicle)
Definition HookMgr.cpp:1013
bool OnGameObjectUse(Player *pPlayer, GameObject *pGameObject)
Definition HookMgr.h:309
void OnAddMember(Guild *guild, Player *player, uint32 plRank)
Definition HookMgr.cpp:1737
void OnCreatureKill(Player *pKiller, Creature *pKilled)
Definition HookMgr.cpp:600
void OnPlayerKilledByCreature(Creature *pKiller, Player *pKilled)
Definition HookMgr.cpp:613
void OnLootMoney(Player *pPlayer, uint32 amount)
Definition HookMgr.cpp:50
void OnDuelStart(Player *pStarter, Player *pChallenger)
Definition HookMgr.cpp:720
void OnPVPKill(Player *pKiller, Player *pKilled)
Definition HookMgr.cpp:587
void OnMoneyChanged(Player *pPlayer, int64 &amount)
Definition HookMgr.cpp:665
bool OnExpire(Player *pPlayer, ItemTemplate const *pProto)
Definition HookMgr.cpp:252
bool OnQuestSelect(Player *pPlayer, Creature *pCreature, Quest const *pQuest)
Definition HookMgr.cpp:341
bool OnQuestAccept(Player *pPlayer, Item *pItem, Quest const *pQuest)
Definition HookMgr.cpp:203
void HandleGossipSelectOption(Player *pPlayer, Item *item, uint32 sender, uint32 action, std::string code)
Definition HookMgr.cpp:135
void OnEngineRestart()
Definition HookMgr.cpp:176
void OnRelocate(Transport *transport, uint32 waypointId, uint32 mapId, float x, float y, float z)
Definition HookMgr.cpp:1116
void OnEquip(Player *pPlayer, Item *pItem, uint8 bag, uint8 slot)
Definition HookMgr.cpp:99
bool OnGossipSelect(Player *pPlayer, Creature *pCreature, uint32 sender, uint32 action)
Definition HookMgr.cpp:294
void OnChangeLeader(Group *group, uint64 newLeaderGuid, uint64 oldLeaderGuid)
Definition HookMgr.cpp:1944
void OnCreate(Player *pPlayer)
Definition HookMgr.cpp:829
void OnDuelEnd(Player *pWinner, Player *pLoser, DuelCompleteType type)
Definition HookMgr.cpp:733
void OnWorldUpdate(uint32 diff)
Definition HookMgr.cpp:22
void OnLootItem(Player *pPlayer, Item *pItem, uint32 count, uint64 guid)
Definition HookMgr.cpp:35
void OnAddCreaturePassenger(Transport *transport, Creature *creature)
Definition HookMgr.cpp:1110
void OnLogin(Player *pPlayer)
Definition HookMgr.cpp:805
CreatureAI * GetAI(Creature *creature)
Definition HookMgr.cpp:1984
void OnReset(Vehicle *vehicle)
Definition HookMgr.cpp:1025
void OnDuelRequest(Player *pTarget, Player *pChallenger)
Definition HookMgr.cpp:707
void OnResurrect(Player *pPlayer)
Definition HookMgr.cpp:87
void OnAddPassenger(Vehicle *vehicle, Unit *passenger, int8 seatId)
Definition HookMgr.cpp:1050
void OnLootStateChanged(GameObject *pGameObject, uint32 state, Unit *pUnit)
Definition HookMgr.cpp:537
void OnGiveXP(Player *pPlayer, uint32 &amount, Unit *pVictim)
Definition HookMgr.cpp:678
void OnChange(Weather *weather, WeatherState state, float grade)
Definition HookMgr.cpp:1093
static HookMgr * instance()
Definition HookMgr.cpp:16
void OnEvent(Guild *guild, uint8 eventType, uint32 playerGuid1, uint32 playerGuid2, uint8 newRank)
Definition HookMgr.cpp:1868
void OnRemove(AuctionHouseObject *ah)
Definition HookMgr.cpp:1132
void OnMOTDChanged(Guild *guild, const std::string &newMotd)
Definition HookMgr.cpp:1766
void OnDestroyed(GameObject *pGameObject, Player *pPlayer)
Definition HookMgr.cpp:513
void OnInviteMember(Group *group, uint64 guid)
Definition HookMgr.cpp:1915
void OnRemoveMember(Guild *guild, Player *player, bool isDisbanding, bool isKicked)
Definition HookMgr.cpp:1751
InventoryResult OnCanUseItem(const Player *pPlayer, uint32 itemEntry)
Definition HookMgr.cpp:114
void OnMemberDepositMoney(Guild *guild, Player *player, uint64 &amount)
Definition HookMgr.cpp:1833
void OnMemberWitdrawMoney(Guild *guild, Player *player, uint64 &amount, bool isRepair)
Definition HookMgr.cpp:1818
bool OnConditionCheck(const Condition *condition, ConditionSourceInfo &sourceInfo)
Definition HookMgr.h:364
Optional< QuestGiverStatus > GetDialogStatus(Player *pPlayer, Creature *pCreature)
Definition HookMgr.cpp:383
void OnDamaged(GameObject *pGameObject, Player *pPlayer)
Definition HookMgr.cpp:525
void OnReputationChange(Player *pPlayer, uint32 factionID, int32 &standing, bool incremental)
Definition HookMgr.cpp:692
void OnInstall(Vehicle *vehicle)
Definition HookMgr.cpp:1001
void OnSpellCast(Player *pPlayer, Spell *pSpell, bool skipCheck)
Definition HookMgr.cpp:791
bool OnGossipHello(Player *pPlayer, Creature *pCreature)
Definition HookMgr.cpp:280
void OnPlayerJustEngagedWith(Player *pPlayer, Unit *pEnemy)
Definition HookMgr.cpp:562
bool OnAreaTrigger(Player *pPlayer, AreaTriggerEntry const *pTrigger, bool entered)
Definition HookMgr.cpp:1078
void OnLogout(Player *pPlayer)
Definition HookMgr.cpp:817
void OnChat(Player *pPlayer, uint32 type, uint32 lang, std::string &msg, Player *pReceiver)
Definition HookMgr.cpp:747
void OnPlayerLeaveCombat(Player *pPlayer)
Definition HookMgr.cpp:575
bool OnQuestReward(Player *pPlayer, Creature *pCreature, Quest const *pQuest)
Definition HookMgr.cpp:369
void OnLevelChanged(Player *pPlayer, uint8 oldLevel)
Definition HookMgr.cpp:626