/* Hook Implementations */ bool HookInterface::OnNewCharacter(uint32 Race, uint32 Class, WorldSession* Session, const char* Name) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_NEW_CHARACTER]; bool ret_val = true; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) { bool rv = ((tOnNewCharacter) * itr)(Race, Class, Session, Name); if(rv == false) // never set ret_val back to true, once it's false ret_val = false; } return ret_val; }
bool HookInterface::OnChat(Player* pPlayer, uint32 type, uint32 lang, const char* message, const char* misc) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_CHAT]; bool ret_val = true; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) { bool rv = ((tOnChat) * itr)(pPlayer, type, lang, message, misc); if(rv == false) // never set ret_val back to true, once it's false ret_val = false; } return ret_val; }
bool HookInterface::OnCastSpell(Player* pPlayer, SpellEntry* pSpell, Spell* spell) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_CAST_SPELL]; bool ret_val = true; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) { bool rv = ((tOnCastSpell) * itr)(pPlayer, pSpell, spell); if(rv == false) // never set ret_val back to true, once it's false ret_val = false; } return ret_val; }
bool HookInterface::OnLogoutRequest(Player* pPlayer) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_LOGOUT_REQUEST]; bool ret_val = true; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) { bool rv = ((tOnLogoutRequest) * itr)(pPlayer); if(rv == false) // never set ret_val back to true, once it's false ret_val = false; } return ret_val; }
bool HookInterface::OnPreUnitDie(Unit* killer, Unit* victim) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_PRE_DIE]; bool ret_val = true; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) { bool rv = ((tOnPreUnitDie) * itr)(killer, victim); if(rv == false) // never set ret_val back to true, once it's false ret_val = false; } return ret_val; }
void HookInterface::OnGuildJoin(Player* pPlayer, Guild* pGuild) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_GUILD_JOIN]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnGuildJoin)*itr)(pPlayer, pGuild); }
void HookInterface::OnGuildCreate(Player* pLeader, Guild* pGuild) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_GUILD_CREATE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnGuildCreate)*itr)(pLeader, pGuild); }
void HookInterface::OnEnterWorld(Player* pPlayer) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_ENTER_WORLD]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnEnterWorld)*itr)(pPlayer); }
void HookInterface::OnCharacterCreate(Player* pPlayer) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_CHARACTER_CREATE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOCharacterCreate)*itr)(pPlayer); }
void HookInterface::OnQuestCancelled(Player* pPlayer, Quest* pQuest) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_QUEST_CANCELLED]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnQuestCancel)*itr)(pPlayer, pQuest); }
void HookInterface::OnLogout(Player* pPlayer) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_LOGOUT]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnLogout)*itr)(pPlayer); }
void HookInterface::OnDuelFinished(Player* Winner, Player* Looser) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_DUEL_FINISHED]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnDuelFinished)*itr)(Winner, Looser); }
void HookInterface::OnAdvanceSkillLine(Player* pPlayer, uint32 skillLine, uint32 current) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_ADVANCE_SKILLLINE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnAdvanceSkillLine)*itr)(pPlayer, skillLine, current); }
void HookInterface::OnPostLevelUp(Player* pPlayer) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_POST_LEVELUP]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnPostLevelUp)*itr)(pPlayer); }
void HookInterface::OnAreaTrigger(Player* pPlayer, uint32 areaTrigger) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_AREATRIGGER]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnAreaTrigger)*itr)(pPlayer, areaTrigger); }
void HookInterface::OnArenaFinish(Player* pPlayer, ArenaTeam* pTeam, bool victory, bool rated) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_ARENA_FINISH]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnArenaFinish)*itr)(pPlayer, pTeam, victory, rated); }
void HookInterface::OnHonorableKill(Player* pPlayer, Player* pKilled) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_HONORABLE_KILL]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnHonorableKill)*itr)(pPlayer, pKilled); }
void HookInterface::OnEmote(Player* pPlayer, uint32 Emote, Unit* pUnit) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_EMOTE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnEmote)*itr)(pPlayer, Emote, pUnit); }
void HookInterface::OnEnterCombat(Player* pPlayer, Unit* pTarget) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_ENTER_COMBAT]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnEnterCombat)*itr)(pPlayer, pTarget); }
void HookInterface::OnAuraRemove(Aura* aura) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_AURA_REMOVE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnAuraRemove)*itr)(aura); }
void HookInterface::OnZone(Player* pPlayer, uint32 zone, uint32 oldZone) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_ZONE]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnZone)*itr)(pPlayer, zone, oldZone); }
void HookInterface::OnQuestFinished(Player* pPlayer, Quest const* pQuest, Object* pQuestGiver) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_QUEST_FINISHED]; for (ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnQuestFinished)*itr)(pPlayer, pQuest, pQuestGiver); }
void HookInterface::OnQuestAccept(Player* pPlayer, Quest* pQuest, Object* pQuestGiver) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_QUEST_ACCEPT]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnQuestAccept)*itr)(pPlayer, pQuest, pQuestGiver); }
void HookInterface::OnObjectLoot(Player* pPlayer, Object* pTarget, uint32 money, uint32 itemId) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_OBJECTLOOT]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnObjectLoot)*itr)(pPlayer, pTarget, money, itemId); }
void HookInterface::OnKillPlayer(Player* pPlayer, Player* pVictim) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_KILL_PLAYER]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnKillPlayer)*itr)(pPlayer, pVictim); }
void HookInterface::OnGameEventFinish(uint32 id) { ServerHookList hookList = sScriptMgr._hooks[SERVER_HOOK_EVENT_ON_GAME_EVENT_FINISH]; for(ServerHookList::iterator itr = hookList.begin(); itr != hookList.end(); ++itr) ((tOnGameEventFinish)*itr)(id); }