diff options
author | r00ty-tc <r00ty-tc@users.noreply.github.com> | 2017-05-07 21:48:41 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2020-08-22 12:59:57 +0200 |
commit | 03b125e6d1947258316c931499746696a95aded2 (patch) | |
tree | 34d7ebc57cd3669d6d1a118e1491d3ecf353470a /src/server/game/Maps/MapManager.h | |
parent | bf5be2839652e038eeb87c9fa301fd9dd6de8982 (diff) |
Dynamic Creature/Go spawning:
- True blizzlike creature spawn/respawn behavior - new creature = new object
- Toggleable spawn groups (with C++/SAI/command options to use them)
- Custom feature: dynamic spawn rate scaling. Accelerates respawn rate based on players in the zone.
- Backward compatibility mode (set via group and for summons)
to support creatures/gos that currently don't work well with this
(this should be removed once the exceptions are fixed)
Fixes and closes #2858
Tags #8661 as fixable.
Fixes and closes #13787
Fixes #15222.
(cherry picked from commit 59db2eeea0a35028779fd76372ae06cc98c8086f)
Diffstat (limited to 'src/server/game/Maps/MapManager.h')
-rw-r--r-- | src/server/game/Maps/MapManager.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h index 345cab478e1..9ff42ff557f 100644 --- a/src/server/game/Maps/MapManager.h +++ b/src/server/game/Maps/MapManager.h @@ -44,16 +44,22 @@ class TC_GAME_API MapManager Map* m = CreateBaseMap(mapid); return m->GetAreaId(phaseShift, x, y, z); } + uint32 GetAreaId(PhaseShift const& phaseShift, uint32 mapid, Position const& pos) { return GetAreaId(phaseShift, mapid, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); } + uint32 GetAreaId(PhaseShift const& phaseShift, WorldLocation const& loc) { return GetAreaId(phaseShift, loc.GetMapId(), loc); } uint32 GetZoneId(PhaseShift const& phaseShift, uint32 mapid, float x, float y, float z) { Map* m = CreateBaseMap(mapid); return m->GetZoneId(phaseShift, x, y, z); } + uint32 GetZoneId(PhaseShift const& phaseShift, uint32 mapid, Position const& pos) { return GetZoneId(phaseShift, mapid, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); } + uint32 GetZoneId(PhaseShift const& phaseShift, WorldLocation const& loc) { return GetZoneId(phaseShift, loc.GetMapId(), loc); } void GetZoneAndAreaId(PhaseShift const& phaseShift, uint32& zoneid, uint32& areaid, uint32 mapid, float x, float y, float z) { Map* m = CreateBaseMap(mapid); m->GetZoneAndAreaId(phaseShift, zoneid, areaid, x, y, z); } + void GetZoneAndAreaId(PhaseShift const& phaseShift, uint32& zoneid, uint32& areaid, uint32 mapid, Position const& pos) { GetZoneAndAreaId(phaseShift, zoneid, areaid, mapid, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ()); } + void GetZoneAndAreaId(PhaseShift const& phaseShift, uint32& zoneid, uint32& areaid, WorldLocation const& loc) { GetZoneAndAreaId(phaseShift, zoneid, areaid, loc.GetMapId(), loc); } void Initialize(); void InitializeParentMapData(std::unordered_map<uint32, std::vector<uint32>> const& mapData); |