80 return sceneInstanceID;
132 if (sceneTemplate.
SceneId != 0)
154 if (sceneTemplate.
SceneId != 0)
168 return !sceneScriptPackageId || sceneScriptPackageId == itr->second->ScenePackageId;
175 _scenesByInstance[sceneInstanceID] = std::make_unique<SceneTemplate>(*sceneTemplate);
180 std::vector<uint32> instancesIds;
183 if (itr.second->SceneId == sceneId)
184 instancesIds.push_back(itr.first);
186 for (
uint32 sceneInstanceID : instancesIds)
192 std::vector<uint32> instancesIds;
195 if (itr.second->ScenePackageId == sceneScriptPackageId)
196 instancesIds.push_back(itr.first);
198 for (
uint32 sceneInstanceID : instancesIds)
210 for (
AuraEffect* scenePlayAura : scenePlayAuras)
212 if (
uint32(scenePlayAura->GetMiscValue()) == sceneId)
225 return itr->second.get();
232 uint32 activeSceneCount = 0;
235 if (!sceneScriptPackageId || itr.second->ScenePackageId == sceneScriptPackageId)
238 return activeSceneCount;
DB2Storage< SceneScriptPackageEntry > sSceneScriptPackageStore("SceneScriptPackage.db2", &SceneScriptPackageLoadInfo::Instance)
@ LANG_COMMAND_SCENE_DEBUG_CANCEL
@ LANG_COMMAND_SCENE_DEBUG_TRIGGER
@ LANG_COMMAND_SCENE_DEBUG_PLAY
@ LANG_COMMAND_SCENE_DEBUG_COMPLETE
@ FadeToBlackscreenOnComplete
@ FadeToBlackscreenOnCancel
void PSendSysMessage(const char *fmt, Args &&... args)
constexpr bool HasFlag(T flag) const
constexpr std::underlying_type_t< T > AsUnderlyingType() const
void SendDirectMessage(WorldPacket const *data) const
void CancelSceneByPackageId(uint32 sceneScriptPackageId)
void CancelSceneBySceneId(uint32 sceneId)
void RemoveSceneInstanceId(uint32 sceneInstanceID)
void OnSceneCancel(uint32 sceneInstanceID)
bool HasScene(uint32 sceneInstanceID, uint32 sceneScriptPackageId=0) const
uint32 PlaySceneByTemplate(SceneTemplate const *sceneTemplate, Position const *position=nullptr)
uint32 PlaySceneByPackageId(uint32 sceneScriptPackageId, EnumFlag< SceneFlag > playbackflags, Position const *position=nullptr)
uint32 GetNewStandaloneSceneInstanceID()
uint32 GetActiveSceneCount(uint32 sceneScriptPackageId=0) const
SceneTemplate const * GetSceneTemplateFromInstanceId(uint32 sceneInstanceID) const
std::vector< WorldPacket > _delayedScenes
void AddInstanceIdToSceneMap(uint32 sceneInstanceID, SceneTemplate const *sceneTemplate)
void OnSceneTrigger(uint32 sceneInstanceID, std::string const &triggerName)
uint32 _standaloneSceneInstanceID
void TriggerDelayedScenes()
void RemoveAurasDueToSceneId(uint32 sceneId)
void OnSceneComplete(uint32 sceneInstanceID)
void CancelScene(uint32 sceneInstanceID, bool removeFromMap=true)
SceneTemplateByInstance _scenesByInstance
Player * GetPlayer() const
uint32 PlayScene(uint32 sceneId, Position const *position=nullptr)
AuraEffectList const & GetAuraEffectsByType(AuraType type) const
void RemoveAura(AuraApplicationMap::iterator &i, AuraRemoveMode mode=AURA_REMOVE_BY_DEFAULT)
std::forward_list< AuraEffect * > AuraEffectList
ObjectGuid GetTransGUID() const override
WorldPacket const * GetRawPacket() const
WorldPacket const * Write() override
WorldPacket const * Write() override
int32 SceneScriptPackageID
EnumFlag< SceneFlag > PlaybackFlags