mirror of
https://github.com/mangosfour/server.git
synced 2025-12-14 16:37:01 +00:00
[10107] Pool/event info in .npc info and .gobject target commands
Signed-off-by: VladimirMangos <vladimir@getmangos.com>
This commit is contained in:
parent
a504b4d200
commit
4e1c8a2ad6
12 changed files with 152 additions and 47 deletions
|
|
@ -839,6 +839,39 @@ void GameEventMgr::UpdateWorldStates(uint16 event_id, bool Activate)
|
|||
}
|
||||
}
|
||||
|
||||
// Get the Game Event ID for Creature by guid
|
||||
template <>
|
||||
int16 GameEventMgr::GetGameEventId<Creature>(uint32 guid_or_poolid)
|
||||
{
|
||||
for (uint16 i = 0; i < mGameEventCreatureGuids.size(); i++) // 0 <= i <= 2*(S := mGameEvent.size()) - 2
|
||||
for (GuidList::const_iterator itr = mGameEventCreatureGuids[i].begin(); itr != mGameEventCreatureGuids[i].end(); itr++)
|
||||
if (*itr == guid_or_poolid)
|
||||
return i + 1 - mGameEvent.size(); // -S *1 + 1 <= . <= 1*S - 1
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get the Game Event ID for GameObject by guid
|
||||
template <>
|
||||
int16 GameEventMgr::GetGameEventId<GameObject>(uint32 guid_or_poolid)
|
||||
{
|
||||
for (uint16 i = 0; i < mGameEventGameobjectGuids.size(); i++)
|
||||
for (GuidList::const_iterator itr = mGameEventGameobjectGuids[i].begin(); itr != mGameEventGameobjectGuids[i].end(); itr++)
|
||||
if (*itr == guid_or_poolid)
|
||||
return i + 1 - mGameEvent.size(); // -S *1 + 1 <= . <= 1*S - 1
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Get the Game Event ID for Pool by pool ID
|
||||
template <>
|
||||
int16 GameEventMgr::GetGameEventId<Pool>(uint32 guid_or_poolid)
|
||||
{
|
||||
for (uint16 i = 0; i < mGameEventSpawnPoolIds.size(); i++)
|
||||
for (IdList::const_iterator itr = mGameEventSpawnPoolIds[i].begin(); itr != mGameEventSpawnPoolIds[i].end(); itr++)
|
||||
if (*itr == guid_or_poolid)
|
||||
return i;
|
||||
return 0;
|
||||
}
|
||||
|
||||
GameEventMgr::GameEventMgr()
|
||||
{
|
||||
m_IsGameEventsInit = false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue