From 301c9a2f628c7c0f570f6cee78299ce541eadebc Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 7 Aug 2020 12:28:41 -0400 Subject: [PATCH] Core/GameObjects: Properly set GO_FLAG_MAP_OBJECT during gameobject creation Port From (https://github.com/TrinityCore/TrinityCore/commit/e3cf94d4fdbfae5ce99aa754bd29a0b77cd1b73d) --- Source/Game/Entities/GameObject/GameObject.cs | 20 +++++++++---------- Source/Game/Entities/Transport.cs | 2 +- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index c690f6f7a..3a5624ec5 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -266,9 +266,7 @@ namespace Game.Entities SetDisplayId(goInfo.displayId); - m_model = CreateModel(); - if (m_model != null && m_model.IsMapObject()) - AddFlag(GameObjectFlags.MapObject); + CreateModel(); // GAMEOBJECT_BYTES_1, index at 0, 1, 2 and 3 SetGoType(goInfo.type); @@ -2410,14 +2408,12 @@ namespace Game.Entities if (GetMap().ContainsGameObjectModel(m_model)) GetMap().RemoveGameObjectModel(m_model); - m_model = CreateModel(); + RemoveFlag(GameObjectFlags.MapObject); + m_model = null; + CreateModel(); + if (m_model != null) GetMap().InsertGameObjectModel(m_model); - - if (m_model != null && m_model.IsMapObject()) - AddFlag(GameObjectFlags.MapObject); - else - RemoveFlag(GameObjectFlags.MapObject); } Player GetLootRecipient() @@ -2763,9 +2759,11 @@ namespace Game.Entities return IsInRange(obj.GetPositionX(), obj.GetPositionY(), obj.GetPositionZ(), dist2compare); } - public GameObjectModel CreateModel() + public void CreateModel() { - return GameObjectModel.Create(new GameObjectModelOwnerImpl(this)); + m_model = GameObjectModel.Create(new GameObjectModelOwnerImpl(this)); + if (m_model != null && m_model.IsMapObject()) + AddFlag(GameObjectFlags.MapObject); } #region Fields diff --git a/Source/Game/Entities/Transport.cs b/Source/Game/Entities/Transport.cs index 7f2bb77d1..821708e49 100644 --- a/Source/Game/Entities/Transport.cs +++ b/Source/Game/Entities/Transport.cs @@ -133,7 +133,7 @@ namespace Game.Entities SetWorldRotation(0.0f, 0.0f, 0.0f, 1.0f); SetParentRotation(Quaternion.WAxis); - m_model = CreateModel(); + CreateModel(); return true; }