From 8062fb3d5a20eab7dd0bc3356a1aba986e9ede8a Mon Sep 17 00:00:00 2001 From: hondacrx Date: Tue, 18 Jul 2023 07:57:39 -0400 Subject: [PATCH] Core/Scenarios: Move map from InstanceScenario to base class Port From (https://github.com/TrinityCore/TrinityCore/commit/b7f06c154c74549f2540a9f31aa37206d657e548) --- Source/Game/Scenarios/InstanceScenario.cs | 17 +++-------------- Source/Game/Scenarios/Scenario.cs | 11 +++++++---- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/Source/Game/Scenarios/InstanceScenario.cs b/Source/Game/Scenarios/InstanceScenario.cs index abb57c269..f330af02e 100644 --- a/Source/Game/Scenarios/InstanceScenario.cs +++ b/Source/Game/Scenarios/InstanceScenario.cs @@ -14,11 +14,8 @@ namespace Game.Scenarios { public class InstanceScenario : Scenario { - public InstanceScenario(InstanceMap map, ScenarioData scenarioData) : base(scenarioData) + public InstanceScenario(InstanceMap map, ScenarioData scenarioData) : base(map, scenarioData) { - _map = map; - - //ASSERT(_map); LoadInstanceData(); var players = map.GetPlayers(); @@ -28,7 +25,7 @@ namespace Game.Scenarios void LoadInstanceData() { - InstanceScript instanceScript = _map.GetInstanceScript(); + InstanceScript instanceScript = _map.ToInstanceMap().GetInstanceScript(); if (instanceScript == null) return; @@ -105,15 +102,7 @@ namespace Game.Scenarios public override void SendPacket(ServerPacket data) { - //Hack todo fix me - if (_map == null) - { - return; - } - - _map.SendToPlayers(data); + _map?.SendToPlayers(data); } - - InstanceMap _map; } } diff --git a/Source/Game/Scenarios/Scenario.cs b/Source/Game/Scenarios/Scenario.cs index 454030eae..2b3725525 100644 --- a/Source/Game/Scenarios/Scenario.cs +++ b/Source/Game/Scenarios/Scenario.cs @@ -5,6 +5,7 @@ using Framework.Constants; using Game.Achievements; using Game.DataStorage; using Game.Entities; +using Game.Maps; using Game.Networking; using Game.Networking.Packets; using System; @@ -14,8 +15,9 @@ namespace Game.Scenarios { public class Scenario : CriteriaHandler { - public Scenario(ScenarioData scenarioData) + public Scenario(Map map, ScenarioData scenarioData) { + _map = map; _data = scenarioData; _currentstep = null; @@ -35,7 +37,7 @@ namespace Game.Scenarios { foreach (ObjectGuid guid in _players) { - Player player = Global.ObjAccessor.FindPlayer(guid); + Player player = Global.ObjAccessor.GetPlayer(_map, guid); if (player) SendBootPlayer(player); } @@ -56,7 +58,7 @@ namespace Game.Scenarios { foreach (ObjectGuid guid in _players) { - Player player = Global.ObjAccessor.FindPlayer(guid); + Player player = Global.ObjAccessor.GetPlayer(_map, guid); if (player) player.RewardQuest(quest, LootItemType.Item, 0, null, false); } @@ -219,7 +221,7 @@ namespace Game.Scenarios { foreach (ObjectGuid guid in _players) { - Player player = Global.ObjAccessor.FindPlayer(guid); + Player player = Global.ObjAccessor.GetPlayer(_map, guid); if (player) player.SendPacket(data); } @@ -357,6 +359,7 @@ namespace Game.Scenarios public override void AfterCriteriaTreeUpdate(CriteriaTree tree, Player referencePlayer) { } public override void SendAllData(Player receiver) { } + protected Map _map; List _players = new(); protected ScenarioData _data; ScenarioStepRecord _currentstep;