Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
HookMgr.h File Reference
#include "ScriptMgr.h"
#include "Group.h"
#include "GameObjectAI.h"
#include "CreatureAI.h"
#include "Item.h"
#include "ElunaCompatibility.h"
Include dependency graph for HookMgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  ElunaCreatureScript
class  ElunaGameObjectScript
struct  HookMgr

Macros

#define sHookMgr   HookMgr::instance()

Enumerations

enum  CreatureEvents {
  CREATURE_EVENT_ON_ENTER_COMBAT = 1 , CREATURE_EVENT_ON_LEAVE_COMBAT = 2 , CREATURE_EVENT_ON_TARGET_DIED = 3 , CREATURE_EVENT_ON_DIED = 4 ,
  CREATURE_EVENT_ON_SPAWN = 5 , CREATURE_EVENT_ON_REACH_WP = 6 , CREATURE_EVENT_ON_AIUPDATE = 7 , CREATURE_EVENT_ON_RECEIVE_EMOTE = 8 ,
  CREATURE_EVENT_ON_DAMAGE_TAKEN = 9 , CREATURE_EVENT_ON_PRE_COMBAT = 10 , CREATURE_EVENT_ON_ATTACKED_AT = 11 , CREATURE_EVENT_ON_OWNER_ATTACKED = 12 ,
  CREATURE_EVENT_ON_OWNER_ATTACKED_AT = 13 , CREATURE_EVENT_ON_HIT_BY_SPELL = 14 , CREATURE_EVENT_ON_SPELL_HIT_TARGET = 15 , CREATURE_EVENT_ON_SPELL_CLICK = 16 ,
  CREATURE_EVENT_ON_CHARMED = 17 , CREATURE_EVENT_ON_POSSESS = 18 , CREATURE_EVENT_ON_JUST_SUMMONED_CREATURE = 19 , CREATURE_EVENT_ON_SUMMONED_CREATURE_DESPAWN = 20 ,
  CREATURE_EVENT_ON_SUMMONED_CREATURE_DIED = 21 , CREATURE_EVENT_ON_SUMMONED = 22 , CREATURE_EVENT_ON_RESET = 23 , CREATURE_EVENT_ON_REACH_HOME = 24 ,
  CREATURE_EVENT_ON_CAN_RESPAWN = 25 , CREATURE_EVENT_ON_CORPSE_REMOVED = 26 , CREATURE_EVENT_ON_MOVE_IN_LOS = 27 , CREATURE_EVENT_ON_VISIBLE_MOVE_IN_LOS = 28 ,
  CREATURE_EVENT_ON_PASSANGER_BOARDED = 29 , CREATURE_EVENT_ON_DUMMY_EFFECT = 30 , CREATURE_EVENT_ON_QUEST_ACCEPT = 31 , CREATURE_EVENT_ON_QUEST_SELECT = 32 ,
  CREATURE_EVENT_ON_QUEST_COMPLETE = 33 , CREATURE_EVENT_ON_QUEST_REWARD = 34 , CREATURE_EVENT_ON_DIALOG_STATUS = 35 , CREATURE_EVENT_COUNT
}
enum  GameObjectEvents {
  GAMEOBJECT_EVENT_ON_AIUPDATE = 1 , GAMEOBJECT_EVENT_ON_RESET = 2 , GAMEOBJECT_EVENT_ON_DUMMY_EFFECT = 3 , GAMEOBJECT_EVENT_ON_QUEST_ACCEPT = 4 ,
  GAMEOBJECT_EVENT_ON_QUEST_REWARD = 5 , GAMEOBJECT_EVENT_ON_DIALOG_STATUS = 6 , GAMEOBJECT_EVENT_ON_DESTROYED = 7 , GAMEOBJECT_EVENT_ON_DAMAGED = 8 ,
  GAMEOBJECT_EVENT_ON_LOOT_STATE_CHANGE = 9 , GAMEOBJECT_EVENT_ON_GO_STATE_CHANGED = 10 , GAMEOBJECT_EVENT_ON_QUEST_COMPLETE = 11 , GAMEOBJECT_EVENT_COUNT
}
enum  GossipEvents { GOSSIP_EVENT_ON_HELLO = 1 , GOSSIP_EVENT_ON_SELECT = 2 , GOSSIP_EVENT_COUNT }
enum  GroupEvents {
  GROUP_EVENT_ON_MEMBER_ADD = 1 , GROUP_EVENT_ON_MEMBER_INVITE = 2 , GROUP_EVENT_ON_MEMBER_REMOVE = 3 , GROUP_EVENT_ON_LEADER_CHANGE = 4 ,
  GROUP_EVENT_ON_DISBAND = 5 , GROUP_EVENT_ON_CREATE = 6 , GROUP_EVENT_COUNT
}
enum  GuildEventTypes {
  GUILD_EVENT_ON_ADD_MEMBER = 1 , GUILD_EVENT_ON_REMOVE_MEMBER = 2 , GUILD_EVENT_ON_MOTD_CHANGE = 3 , GUILD_EVENT_ON_INFO_CHANGE = 4 ,
  GUILD_EVENT_ON_CREATE = 5 , GUILD_EVENT_ON_DISBAND = 6 , GUILD_EVENT_ON_MONEY_WITHDRAW = 7 , GUILD_EVENT_ON_MONEY_DEPOSIT = 8 ,
  GUILD_EVENT_ON_ITEM_MOVE = 9 , GUILD_EVENT_ON_EVENT = 10 , GUILD_EVENT_ON_BANK_EVENT = 11 , GUILD_EVENT_COUNT
}
enum  ItemEvents {
  ITEM_EVENT_ON_DUMMY_EFFECT = 1 , ITEM_EVENT_ON_USE = 2 , ITEM_EVENT_ON_QUEST_ACCEPT = 3 , ITEM_EVENT_ON_EXPIRE = 4 ,
  ITEM_EVENT_COUNT
}
enum  PlayerEvents {
  PLAYER_EVENT_ON_CHARACTER_CREATE = 1 , PLAYER_EVENT_ON_CHARACTER_DELETE = 2 , PLAYER_EVENT_ON_LOGIN = 3 , PLAYER_EVENT_ON_LOGOUT = 4 ,
  PLAYER_EVENT_ON_SPELL_CAST = 5 , PLAYER_EVENT_ON_KILL_PLAYER = 6 , PLAYER_EVENT_ON_KILL_CREATURE = 7 , PLAYER_EVENT_ON_KILLED_BY_CREATURE = 8 ,
  PLAYER_EVENT_ON_DUEL_REQUEST = 9 , PLAYER_EVENT_ON_DUEL_START = 10 , PLAYER_EVENT_ON_DUEL_END = 11 , PLAYER_EVENT_ON_GIVE_XP = 12 ,
  PLAYER_EVENT_ON_LEVEL_CHANGE = 13 , PLAYER_EVENT_ON_MONEY_CHANGE = 14 , PLAYER_EVENT_ON_REPUTATION_CHANGE = 15 , PLAYER_EVENT_ON_TALENTS_CHANGE = 16 ,
  PLAYER_EVENT_ON_TALENTS_RESET = 17 , PLAYER_EVENT_ON_CHAT = 18 , PLAYER_EVENT_ON_WHISPER = 19 , PLAYER_EVENT_ON_GROUP_CHAT = 20 ,
  PLAYER_EVENT_ON_GUILD_CHAT = 21 , PLAYER_EVENT_ON_CHANNEL_CHAT = 22 , PLAYER_EVENT_ON_EMOTE = 23 , PLAYER_EVENT_ON_TEXT_EMOTE = 24 ,
  PLAYER_EVENT_ON_SAVE = 25 , PLAYER_EVENT_ON_BIND_TO_INSTANCE = 26 , PLAYER_EVENT_ON_UPDATE_ZONE = 27 , PLAYER_EVENT_ON_MAP_CHANGE = 28 ,
  PLAYER_EVENT_ON_EQUIP = 29 , PLAYER_EVENT_ON_FIRST_LOGIN = 30 , PLAYER_EVENT_ON_CAN_USE_ITEM = 31 , PLAYER_EVENT_ON_LOOT_ITEM = 32 ,
  PLAYER_EVENT_ON_ENTER_COMBAT = 33 , PLAYER_EVENT_ON_LEAVE_COMBAT = 34 , PLAYER_EVENT_ON_REPOP = 35 , PLAYER_EVENT_ON_RESURRECT = 36 ,
  PLAYER_EVENT_ON_LOOT_MONEY = 37 , PLAYER_EVENT_COUNT
}
enum  RegisterTypes {
  REGTYPE_SERVER , REGTYPE_PLAYER , REGTYPE_GUILD , REGTYPE_GROUP ,
  REGTYPE_CREATURE , REGTYPE_VEHICLE , REGTYPE_CREATURE_GOSSIP , REGTYPE_GAMEOBJECT ,
  REGTYPE_GAMEOBJECT_GOSSIP , REGTYPE_ITEM , REGTYPE_ITEM_GOSSIP , REGTYPE_PLAYER_GOSSIP ,
  REGTYPE_COUNT
}
enum  ServerEvents {
  SERVER_EVENT_ON_NETWORK_START = 1 , SERVER_EVENT_ON_NETWORK_STOP = 2 , SERVER_EVENT_ON_SOCKET_OPEN = 3 , SERVER_EVENT_ON_SOCKET_CLOSE = 4 ,
  SERVER_EVENT_ON_PACKET_RECEIVE = 5 , SERVER_EVENT_ON_PACKET_RECEIVE_UNKNOWN = 6 , SERVER_EVENT_ON_PACKET_SEND = 7 , WORLD_EVENT_ON_OPEN_STATE_CHANGE = 8 ,
  WORLD_EVENT_ON_CONFIG_LOAD = 9 , WORLD_EVENT_ON_MOTD_CHANGE = 10 , WORLD_EVENT_ON_SHUTDOWN_INIT = 11 , WORLD_EVENT_ON_SHUTDOWN_CANCEL = 12 ,
  WORLD_EVENT_ON_UPDATE = 13 , WORLD_EVENT_ON_STARTUP = 14 , WORLD_EVENT_ON_SHUTDOWN = 15 , ELUNA_EVENT_ON_RESTART = 16 ,
  MAP_EVENT_ON_CREATE = 17 , MAP_EVENT_ON_DESTROY = 18 , MAP_EVENT_ON_LOAD = 19 , MAP_EVENT_ON_UNLOAD = 20 ,
  MAP_EVENT_ON_PLAYER_ENTER = 21 , MAP_EVENT_ON_PLAYER_LEAVE = 22 , MAP_EVENT_ON_UPDATE = 23 , TRIGGER_EVENT_ON_TRIGGER = 24 ,
  WEATHER_EVENT_ON_CHANGE = 25 , AUCTION_EVENT_ON_ADD = 26 , AUCTION_EVENT_ON_REMOVE = 27 , AUCTION_EVENT_ON_SUCCESSFUL = 28 ,
  AUCTION_EVENT_ON_EXPIRE = 29 , SERVER_EVENT_COUNT
}
enum  VehicleEvents {
  VEHICLE_EVENT_ON_INSTALL = 1 , VEHICLE_EVENT_ON_UNINSTALL = 2 , VEHICLE_EVENT_ON_RESET = 3 , VEHICLE_EVENT_ON_INSTALL_ACCESSORY = 4 ,
  VEHICLE_EVENT_ON_ADD_PASSENGER = 5 , VEHICLE_EVENT_ON_REMOVE_PASSENGER = 6 , VEHICLE_EVENT_COUNT
}

Functions

void AddElunaScripts ()

Macro Definition Documentation

◆ sHookMgr

#define sHookMgr   HookMgr::instance()

Definition at line 390 of file HookMgr.h.

Referenced by ElunaCreatureScript::GetAI(), ElunaGameObjectScript::GetAI(), and StartEluna().

Enumeration Type Documentation

◆ CreatureEvents

Enumerator
CREATURE_EVENT_ON_ENTER_COMBAT 
CREATURE_EVENT_ON_LEAVE_COMBAT 
CREATURE_EVENT_ON_TARGET_DIED 
CREATURE_EVENT_ON_DIED 
CREATURE_EVENT_ON_SPAWN 
CREATURE_EVENT_ON_REACH_WP 
CREATURE_EVENT_ON_AIUPDATE 
CREATURE_EVENT_ON_RECEIVE_EMOTE 
CREATURE_EVENT_ON_DAMAGE_TAKEN 
CREATURE_EVENT_ON_PRE_COMBAT 
CREATURE_EVENT_ON_ATTACKED_AT 
CREATURE_EVENT_ON_OWNER_ATTACKED 
CREATURE_EVENT_ON_OWNER_ATTACKED_AT 
CREATURE_EVENT_ON_HIT_BY_SPELL 
CREATURE_EVENT_ON_SPELL_HIT_TARGET 
CREATURE_EVENT_ON_SPELL_CLICK 
CREATURE_EVENT_ON_CHARMED 
CREATURE_EVENT_ON_POSSESS 
CREATURE_EVENT_ON_JUST_SUMMONED_CREATURE 
CREATURE_EVENT_ON_SUMMONED_CREATURE_DESPAWN 
CREATURE_EVENT_ON_SUMMONED_CREATURE_DIED 
CREATURE_EVENT_ON_SUMMONED 
CREATURE_EVENT_ON_RESET 
CREATURE_EVENT_ON_REACH_HOME 
CREATURE_EVENT_ON_CAN_RESPAWN 
CREATURE_EVENT_ON_CORPSE_REMOVED 
CREATURE_EVENT_ON_MOVE_IN_LOS 
CREATURE_EVENT_ON_VISIBLE_MOVE_IN_LOS 
CREATURE_EVENT_ON_PASSANGER_BOARDED 
CREATURE_EVENT_ON_DUMMY_EFFECT 
CREATURE_EVENT_ON_QUEST_ACCEPT 
CREATURE_EVENT_ON_QUEST_SELECT 
CREATURE_EVENT_ON_QUEST_COMPLETE 
CREATURE_EVENT_ON_QUEST_REWARD 
CREATURE_EVENT_ON_DIALOG_STATUS 
CREATURE_EVENT_COUNT 

Definition at line 188 of file HookMgr.h.

◆ GameObjectEvents

Enumerator
GAMEOBJECT_EVENT_ON_AIUPDATE 
GAMEOBJECT_EVENT_ON_RESET 
GAMEOBJECT_EVENT_ON_DUMMY_EFFECT 
GAMEOBJECT_EVENT_ON_QUEST_ACCEPT 
GAMEOBJECT_EVENT_ON_QUEST_REWARD 
GAMEOBJECT_EVENT_ON_DIALOG_STATUS 
GAMEOBJECT_EVENT_ON_DESTROYED 
GAMEOBJECT_EVENT_ON_DAMAGED 
GAMEOBJECT_EVENT_ON_LOOT_STATE_CHANGE 
GAMEOBJECT_EVENT_ON_GO_STATE_CHANGED 
GAMEOBJECT_EVENT_ON_QUEST_COMPLETE 
GAMEOBJECT_EVENT_COUNT 

Definition at line 229 of file HookMgr.h.

◆ GossipEvents

Enumerator
GOSSIP_EVENT_ON_HELLO 
GOSSIP_EVENT_ON_SELECT 
GOSSIP_EVENT_COUNT 

Definition at line 259 of file HookMgr.h.

◆ GroupEvents

Enumerator
GROUP_EVENT_ON_MEMBER_ADD 
GROUP_EVENT_ON_MEMBER_INVITE 
GROUP_EVENT_ON_MEMBER_REMOVE 
GROUP_EVENT_ON_LEADER_CHANGE 
GROUP_EVENT_ON_DISBAND 
GROUP_EVENT_ON_CREATE 
GROUP_EVENT_COUNT 

Definition at line 174 of file HookMgr.h.

◆ GuildEventTypes

Enumerator
GUILD_EVENT_ON_ADD_MEMBER 
GUILD_EVENT_ON_REMOVE_MEMBER 
GUILD_EVENT_ON_MOTD_CHANGE 
GUILD_EVENT_ON_INFO_CHANGE 
GUILD_EVENT_ON_CREATE 
GUILD_EVENT_ON_DISBAND 
GUILD_EVENT_ON_MONEY_WITHDRAW 
GUILD_EVENT_ON_MONEY_DEPOSIT 
GUILD_EVENT_ON_ITEM_MOVE 
GUILD_EVENT_ON_EVENT 
GUILD_EVENT_ON_BANK_EVENT 
GUILD_EVENT_COUNT 

Definition at line 155 of file HookMgr.h.

◆ ItemEvents

enum ItemEvents
Enumerator
ITEM_EVENT_ON_DUMMY_EFFECT 
ITEM_EVENT_ON_USE 
ITEM_EVENT_ON_QUEST_ACCEPT 
ITEM_EVENT_ON_EXPIRE 
ITEM_EVENT_COUNT 

Definition at line 246 of file HookMgr.h.

◆ PlayerEvents

Enumerator
PLAYER_EVENT_ON_CHARACTER_CREATE 
PLAYER_EVENT_ON_CHARACTER_DELETE 
PLAYER_EVENT_ON_LOGIN 
PLAYER_EVENT_ON_LOGOUT 
PLAYER_EVENT_ON_SPELL_CAST 
PLAYER_EVENT_ON_KILL_PLAYER 
PLAYER_EVENT_ON_KILL_CREATURE 
PLAYER_EVENT_ON_KILLED_BY_CREATURE 
PLAYER_EVENT_ON_DUEL_REQUEST 
PLAYER_EVENT_ON_DUEL_START 
PLAYER_EVENT_ON_DUEL_END 
PLAYER_EVENT_ON_GIVE_XP 
PLAYER_EVENT_ON_LEVEL_CHANGE 
PLAYER_EVENT_ON_MONEY_CHANGE 
PLAYER_EVENT_ON_REPUTATION_CHANGE 
PLAYER_EVENT_ON_TALENTS_CHANGE 
PLAYER_EVENT_ON_TALENTS_RESET 
PLAYER_EVENT_ON_CHAT 
PLAYER_EVENT_ON_WHISPER 
PLAYER_EVENT_ON_GROUP_CHAT 
PLAYER_EVENT_ON_GUILD_CHAT 
PLAYER_EVENT_ON_CHANNEL_CHAT 
PLAYER_EVENT_ON_EMOTE 
PLAYER_EVENT_ON_TEXT_EMOTE 
PLAYER_EVENT_ON_SAVE 
PLAYER_EVENT_ON_BIND_TO_INSTANCE 
PLAYER_EVENT_ON_UPDATE_ZONE 
PLAYER_EVENT_ON_MAP_CHANGE 
PLAYER_EVENT_ON_EQUIP 
PLAYER_EVENT_ON_FIRST_LOGIN 
PLAYER_EVENT_ON_CAN_USE_ITEM 
PLAYER_EVENT_ON_LOOT_ITEM 
PLAYER_EVENT_ON_ENTER_COMBAT 
PLAYER_EVENT_ON_LEAVE_COMBAT 
PLAYER_EVENT_ON_REPOP 
PLAYER_EVENT_ON_RESURRECT 
PLAYER_EVENT_ON_LOOT_MONEY 
PLAYER_EVENT_COUNT 

Definition at line 97 of file HookMgr.h.

◆ RegisterTypes

Enumerator
REGTYPE_SERVER 
REGTYPE_PLAYER 
REGTYPE_GUILD 
REGTYPE_GROUP 
REGTYPE_CREATURE 
REGTYPE_VEHICLE 
REGTYPE_CREATURE_GOSSIP 
REGTYPE_GAMEOBJECT 
REGTYPE_GAMEOBJECT_GOSSIP 
REGTYPE_ITEM 
REGTYPE_ITEM_GOSSIP 
REGTYPE_PLAYER_GOSSIP 
REGTYPE_COUNT 

Definition at line 30 of file HookMgr.h.

◆ ServerEvents

Enumerator
SERVER_EVENT_ON_NETWORK_START 
SERVER_EVENT_ON_NETWORK_STOP 
SERVER_EVENT_ON_SOCKET_OPEN 
SERVER_EVENT_ON_SOCKET_CLOSE 
SERVER_EVENT_ON_PACKET_RECEIVE 
SERVER_EVENT_ON_PACKET_RECEIVE_UNKNOWN 
SERVER_EVENT_ON_PACKET_SEND 
WORLD_EVENT_ON_OPEN_STATE_CHANGE 
WORLD_EVENT_ON_CONFIG_LOAD 
WORLD_EVENT_ON_MOTD_CHANGE 
WORLD_EVENT_ON_SHUTDOWN_INIT 
WORLD_EVENT_ON_SHUTDOWN_CANCEL 
WORLD_EVENT_ON_UPDATE 
WORLD_EVENT_ON_STARTUP 
WORLD_EVENT_ON_SHUTDOWN 
ELUNA_EVENT_ON_RESTART 
MAP_EVENT_ON_CREATE 
MAP_EVENT_ON_DESTROY 
MAP_EVENT_ON_LOAD 
MAP_EVENT_ON_UNLOAD 
MAP_EVENT_ON_PLAYER_ENTER 
MAP_EVENT_ON_PLAYER_LEAVE 
MAP_EVENT_ON_UPDATE 
TRIGGER_EVENT_ON_TRIGGER 
WEATHER_EVENT_ON_CHANGE 
AUCTION_EVENT_ON_ADD 
AUCTION_EVENT_ON_REMOVE 
AUCTION_EVENT_ON_SUCCESSFUL 
AUCTION_EVENT_ON_EXPIRE 
SERVER_EVENT_COUNT 

Definition at line 48 of file HookMgr.h.

◆ VehicleEvents

Enumerator
VEHICLE_EVENT_ON_INSTALL 
VEHICLE_EVENT_ON_UNINSTALL 
VEHICLE_EVENT_ON_RESET 
VEHICLE_EVENT_ON_INSTALL_ACCESSORY 
VEHICLE_EVENT_ON_ADD_PASSENGER 
VEHICLE_EVENT_ON_REMOVE_PASSENGER 
VEHICLE_EVENT_COUNT 

Definition at line 142 of file HookMgr.h.

Function Documentation

◆ AddElunaScripts()

void AddElunaScripts ( )

Definition at line 1998 of file HookMgr.cpp.

Referenced by StartEluna().