diff options
| author | Shauren <shauren.trinity@gmail.com> | 2022-04-24 00:16:13 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2022-04-24 00:16:13 +0200 |
| commit | 41a04a0c496c8c0c521eeaa76e34fbeb531cc1d9 (patch) | |
| tree | 481a8faf79ea916afa5c08dc6c4d8cb80addda68 /src/server/game/Entities/Object | |
| parent | fddd6cdf3fb342b98d4878d23874f60498d7545a (diff) | |
Core/Scripts: Begin unifying triggering gameevents (not the game_event db stuff)
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 14 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Object.h | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index aede0b4276f..59b82508f79 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1921,20 +1921,26 @@ void Map::SummonCreatureGroup(uint8 group, std::list<TempSummon*>* list /*= null list->push_back(summon); } -void WorldObject::SetZoneScript() +ZoneScript* WorldObject::FindZoneScript() const { if (Map* map = FindMap()) { if (InstanceMap* instanceMap = map->ToInstanceMap()) - m_zoneScript = reinterpret_cast<ZoneScript*>(instanceMap->GetInstanceScript()); + return reinterpret_cast<ZoneScript*>(instanceMap->GetInstanceScript()); else if (!map->IsBattlegroundOrArena()) { if (Battlefield* bf = sBattlefieldMgr->GetBattlefieldToZoneId(GetZoneId())) - m_zoneScript = bf; + return bf; else - m_zoneScript = sOutdoorPvPMgr->GetZoneScript(GetZoneId()); + return sOutdoorPvPMgr->GetZoneScript(GetZoneId()); } } + return nullptr; +} + +void WorldObject::SetZoneScript() +{ + m_zoneScript = FindZoneScript(); } Scenario* WorldObject::GetScenario() const diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index cd1e47ca26a..8317e80f0b3 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -557,6 +557,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation //used to check all object's GetMap() calls when object is not in world! void SetZoneScript(); + ZoneScript* FindZoneScript() const; ZoneScript* GetZoneScript() const { return m_zoneScript; } Scenario* GetScenario() const; |
