Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/LuaEngine/HookMgr.cpp b/src/LuaEngine/HookMgr.cpp
- index 1feebc8..e1b3182 100644
- --- a/src/LuaEngine/HookMgr.cpp
- +++ b/src/LuaEngine/HookMgr.cpp
- @@ -82,6 +82,12 @@ void HookMgr::OnEngineRestart()
- for (HookPointerSet::const_iterator it = hookPointers.begin(); it != hookPointers.end(); ++it)
- (*it)->OnEngineRestart();
- }
- +void HookMgr::OnRemovedInsignia(Player* player)
- +{
- + for (HookPointerSet::const_iterator it = hookPointers.begin(); it != hookPointers.end(); ++it)
- + (*it)->OnRemovedInsignia(player);
- +}
- +
- // item
- bool HookMgr::OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, Item* target)
- {
- diff --git a/src/LuaEngine/HookMgr.h b/src/LuaEngine/HookMgr.h
- index 9f3583e..547a8a1 100644
- --- a/src/LuaEngine/HookMgr.h
- +++ b/src/LuaEngine/HookMgr.h
- @@ -28,6 +28,7 @@ public:
- bool OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild);
- bool OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel);
- void OnEngineRestart();
- + void OnRemovedInsignia(Player* player);
- // item
- bool OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, Item* target);
- bool OnQuestAccept(Player* player, Item* item, Quest const* quest);
- @@ -93,6 +94,7 @@ public:
- virtual bool OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild) { return true; }
- virtual bool OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Channel* channel) { return true; }
- virtual void OnEngineRestart() { }
- + virtual void OnRemovedInsignia(Player* player) { }
- // item
- virtual bool OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, Item* target) { return false; }
- virtual bool OnQuestAccept(Player* player, Item* item, Quest const* quest) { return false; }
- diff --git a/src/LuaEngine/LuaEngine.h b/src/LuaEngine/LuaEngine.h
- index 2b11e7d..8a8bf3a 100644
- --- a/src/LuaEngine/LuaEngine.h
- +++ b/src/LuaEngine/LuaEngine.h
- @@ -128,6 +128,7 @@ enum ServerEvents
- PLAYER_EVENT_ON_LEAVE_COMBAT = 79, // (event, player)
- PLAYER_EVENT_ON_REPOP = 80, // (event, player)
- PLAYER_EVENT_ON_RESURRECT = 81, // (event, player)
- + PLAYER_EVENT_ON_REMOVED_IMSIGNIA = 82, // (event, player)
- SERVER_EVENT_COUNT
- };
- diff --git a/src/LuaEngine/LuaHooks.cpp b/src/LuaEngine/LuaHooks.cpp
- index a6e71d6..cf142f3 100644
- --- a/src/LuaEngine/LuaHooks.cpp
- +++ b/src/LuaEngine/LuaHooks.cpp
- @@ -243,6 +243,17 @@ public:
- sEluna->ExecuteCall(1, 0);
- }
- }
- + void OnRemovedInsignia(Player* player)
- + {
- + for (std::vector<int>::const_iterator itr = sEluna->ServerEventBindings[PLAYER_EVENT_ON_REMOVED_IMSIGNIA].begin();
- + itr != sEluna->ServerEventBindings[PLAYER_EVENT_ON_REMOVED_IMSIGNIA].end(); ++itr)
- + {
- + sEluna->BeginCall((*itr));
- + sEluna->PushUnsigned(sEluna->LuaState, PLAYER_EVENT_ON_REMOVED_IMSIGNIA);
- + sEluna->PushUnit(sEluna->LuaState, player);
- + sEluna->ExecuteCall(2, 0);
- + }
- + }
- // item
- bool OnDummyEffect(Unit* caster, uint32 spellId, SpellEffIndex effIndex, Item* target)
- {
- diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
- index 69d6113..1007938 100644
- --- a/src/server/game/Entities/Player/Player.cpp
- +++ b/src/server/game/Entities/Player/Player.cpp
- @@ -8709,7 +8709,11 @@ bool Player::CheckAmmoCompatibility(const ItemTemplate* ammo_proto) const
- Called by remove insignia spell effect */
- void Player::RemovedInsignia(Player* looterPlr)
- {
- - if (!GetBattlegroundId())
- + #ifdef ELUNA
- + sHookMgr->OnRemovedInsignia(looterPlr);
- + #endif
- + if (!GetBattlegroundId())
- return;
- // If not released spirit, do it !
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement