mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-26 23:26:23 +00:00
feat(Core/Maps): Improvements to Cinematic function (#10765)
This commit is contained in:
committed by
GitHub
parent
f3e0d4e402
commit
7ad65752fa
@@ -21,6 +21,7 @@
|
||||
#include "ArenaTeam.h"
|
||||
#include "Battleground.h"
|
||||
#include "CharacterCache.h"
|
||||
#include "CinematicMgr.h"
|
||||
#include "DBCStores.h"
|
||||
#include "DatabaseEnvFwd.h"
|
||||
#include "GroupReference.h"
|
||||
@@ -1036,6 +1037,7 @@ struct EntryPointData
|
||||
class Player : public Unit, public GridObject<Player>
|
||||
{
|
||||
friend class WorldSession;
|
||||
friend class CinematicMgr;
|
||||
friend void Item::AddToUpdateQueueOf(Player* player);
|
||||
friend void Item::RemoveFromUpdateQueueOf(Player* player);
|
||||
public:
|
||||
@@ -1326,6 +1328,8 @@ public:
|
||||
[[nodiscard]] TradeData* GetTradeData() const { return m_trade; }
|
||||
void TradeCancel(bool sendback);
|
||||
|
||||
CinematicMgr* GetCinematicMgr() const { return _cinematicMgr; }
|
||||
|
||||
void UpdateEnchantTime(uint32 time);
|
||||
void UpdateSoulboundTradeItems();
|
||||
void AddTradeableItem(Item* item);
|
||||
@@ -2368,7 +2372,7 @@ public:
|
||||
[[nodiscard]] bool IsPetNeedBeTemporaryUnsummoned() const { return GetSession()->PlayerLogout() || !IsInWorld() || !IsAlive() || IsMounted()/*+in flight*/ || GetVehicle() || IsBeingTeleported(); }
|
||||
bool CanResummonPet(uint32 spellid);
|
||||
|
||||
void SendCinematicStart(uint32 CinematicSequenceId);
|
||||
void SendCinematicStart(uint32 CinematicSequenceId) const;
|
||||
void SendMovieStart(uint32 MovieId);
|
||||
|
||||
uint32 DoRandomRoll(uint32 minimum, uint32 maximum);
|
||||
@@ -2561,17 +2565,6 @@ public:
|
||||
|
||||
static std::unordered_map<int, bgZoneRef> bgZoneIdToFillWorldStates; // zoneId -> FillInitialWorldStates
|
||||
|
||||
// Cinematic camera data and remote sight functions
|
||||
[[nodiscard]] uint32 GetActiveCinematicCamera() const { return m_activeCinematicCameraId; }
|
||||
void SetActiveCinematicCamera(uint32 cinematicCameraId = 0) { m_activeCinematicCameraId = cinematicCameraId; }
|
||||
[[nodiscard]] bool IsOnCinematic() const { return (m_cinematicCamera != nullptr); }
|
||||
void BeginCinematic();
|
||||
void EndCinematic();
|
||||
void UpdateCinematicLocation(uint32 diff);
|
||||
|
||||
std::string GetMapAreaAndZoneString();
|
||||
std::string GetCoordsMapAreaAndZoneString();
|
||||
|
||||
void SetFarSightDistance(float radius);
|
||||
void ResetFarSightDistance();
|
||||
[[nodiscard]] Optional<float> GetFarSightDistance() const;
|
||||
@@ -2866,6 +2859,8 @@ private:
|
||||
Item* _StoreItem(uint16 pos, Item* pItem, uint32 count, bool clone, bool update);
|
||||
Item* _LoadItem(CharacterDatabaseTransaction trans, uint32 zoneId, uint32 timeDiff, Field* fields);
|
||||
|
||||
CinematicMgr* _cinematicMgr;
|
||||
|
||||
typedef GuidSet RefundableItemsSet;
|
||||
RefundableItemsSet m_refundableItems;
|
||||
void SendRefundInfo(Item* item);
|
||||
@@ -2931,14 +2926,6 @@ private:
|
||||
|
||||
uint32 m_flightSpellActivated;
|
||||
|
||||
// Remote location information
|
||||
uint32 m_cinematicDiff;
|
||||
uint32 m_lastCinematicCheck;
|
||||
uint32 m_activeCinematicCameraId;
|
||||
FlyByCameraCollection* m_cinematicCamera;
|
||||
Position m_remoteSightPosition;
|
||||
Creature* m_CinematicObject;
|
||||
|
||||
WorldLocation _corpseLocation;
|
||||
|
||||
Optional<float> _farSightDistance = { };
|
||||
|
||||
Reference in New Issue
Block a user