diff options
| author | r00ty-tc <r00ty-tc@users.noreply.github.com> | 2016-04-14 01:34:17 +0200 |
|---|---|---|
| committer | r00ty-tc <r00ty-tc@users.noreply.github.com> | 2016-04-14 01:34:17 +0200 |
| commit | 87b4533046d337fe05d7891c3632d34f8811b73e (patch) | |
| tree | cb0d9cac227a6ab0a099d83387c1320a52b369a1 /src/server/game/Entities/Object | |
| parent | afaa8e2c6035d5279521b3087a54e85a0961ff59 (diff) | |
[Core/Maps] Activate creatures and objects during opening cinematics and other flyby
cameras (sunwell etc).
Requires re-running map extractor to extract camera m2 files from data
files. These are very small.
Closes #4755
Closes #16772
Diffstat (limited to 'src/server/game/Entities/Object')
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 12f2c169fe5..45952ba51ac 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -1470,9 +1470,20 @@ void WorldObject::UpdateAllowedPositionZ(float x, float y, float &z) const float WorldObject::GetGridActivationRange() const { if (ToPlayer()) + { + if (ToPlayer()->IsOnCinematic()) + return DEFAULT_VISIBILITY_INSTANCE; return GetMap()->GetVisibilityRange(); + } else if (ToCreature()) return ToCreature()->m_SightDistance; + else if (ToDynObject()) + { + if (isActiveObject()) + return GetMap()->GetVisibilityRange(); + else + return 0.0f; + } else return 0.0f; } @@ -1493,6 +1504,8 @@ float WorldObject::GetSightRange(const WorldObject* target) const { if (target && target->isActiveObject() && !target->ToPlayer()) return MAX_VISIBILITY_DISTANCE; + else if (ToPlayer()->IsOnCinematic()) + return DEFAULT_VISIBILITY_INSTANCE; else return GetMap()->GetVisibilityRange(); } @@ -1502,6 +1515,11 @@ float WorldObject::GetSightRange(const WorldObject* target) const return SIGHT_RANGE_UNIT; } + if (ToDynObject() && isActiveObject()) + { + return GetMap()->GetVisibilityRange(); + } + return 0.0f; } |
