aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorModoX <moardox@gmail.com>2023-01-01 23:47:19 +0100
committerModoX <moardox@gmail.com>2023-01-01 23:47:30 +0100
commit78ef91975dab193b61c1fd8cc7b94b730b4152c0 (patch)
tree4e685dbd310da5e3b9fcf1b6e931391f5d822096
parentbd33d61a61f3e9edd7aa7e27ab83cf9e9af45404 (diff)
Core/Scene: Fixed OnSceneComplete and OnSceneCancel handling
-rw-r--r--src/server/game/Entities/Player/SceneMgr.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/server/game/Entities/Player/SceneMgr.cpp b/src/server/game/Entities/Player/SceneMgr.cpp
index 28978fd60ea..7f857efbb78 100644
--- a/src/server/game/Entities/Player/SceneMgr.cpp
+++ b/src/server/game/Entities/Player/SceneMgr.cpp
@@ -121,19 +121,19 @@ void SceneMgr::OnSceneCancel(uint32 sceneInstanceID)
if (_isDebuggingScenes)
ChatHandler(GetPlayer()->GetSession()).PSendSysMessage(LANG_COMMAND_SCENE_DEBUG_CANCEL, sceneInstanceID);
- SceneTemplate const* sceneTemplate = GetSceneTemplateFromInstanceId(sceneInstanceID);
- if (sceneTemplate->PlaybackFlags.HasFlag(SceneFlag::NotCancelable))
+ SceneTemplate sceneTemplate = *GetSceneTemplateFromInstanceId(sceneInstanceID);
+ if (sceneTemplate.PlaybackFlags.HasFlag(SceneFlag::NotCancelable))
return;
// Must be done before removing aura
RemoveSceneInstanceId(sceneInstanceID);
- if (sceneTemplate->SceneId != 0)
- RemoveAurasDueToSceneId(sceneTemplate->SceneId);
+ if (sceneTemplate.SceneId != 0)
+ RemoveAurasDueToSceneId(sceneTemplate.SceneId);
- sScriptMgr->OnSceneCancel(GetPlayer(), sceneInstanceID, sceneTemplate);
+ sScriptMgr->OnSceneCancel(GetPlayer(), sceneInstanceID, &sceneTemplate);
- if (sceneTemplate->PlaybackFlags.HasFlag(SceneFlag::FadeToBlackscreenOnCancel))
+ if (sceneTemplate.PlaybackFlags.HasFlag(SceneFlag::FadeToBlackscreenOnCancel))
CancelScene(sceneInstanceID, false);
}
@@ -145,17 +145,17 @@ void SceneMgr::OnSceneComplete(uint32 sceneInstanceID)
if (_isDebuggingScenes)
ChatHandler(GetPlayer()->GetSession()).PSendSysMessage(LANG_COMMAND_SCENE_DEBUG_COMPLETE, sceneInstanceID);
- SceneTemplate const* sceneTemplate = GetSceneTemplateFromInstanceId(sceneInstanceID);
+ SceneTemplate sceneTemplate = *GetSceneTemplateFromInstanceId(sceneInstanceID);
// Must be done before removing aura
RemoveSceneInstanceId(sceneInstanceID);
- if (sceneTemplate->SceneId != 0)
- RemoveAurasDueToSceneId(sceneTemplate->SceneId);
+ if (sceneTemplate.SceneId != 0)
+ RemoveAurasDueToSceneId(sceneTemplate.SceneId);
- sScriptMgr->OnSceneComplete(GetPlayer(), sceneInstanceID, sceneTemplate);
+ sScriptMgr->OnSceneComplete(GetPlayer(), sceneInstanceID, &sceneTemplate);
- if (sceneTemplate->PlaybackFlags.HasFlag(SceneFlag::FadeToBlackscreenOnComplete))
+ if (sceneTemplate.PlaybackFlags.HasFlag(SceneFlag::FadeToBlackscreenOnComplete))
CancelScene(sceneInstanceID, false);
}