diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index 5218d9493..cfaaca192 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -2418,7 +2418,11 @@ namespace Game.Entities { CreatureData creatureData = GetCreatureData(); if (creatureData != null) - return creatureData.ScriptId; + { + uint scriptId = creatureData.ScriptId; + if (scriptId != 0) + return scriptId; + } return Global.ObjectMgr.GetCreatureTemplate(GetEntry()) != null ? Global.ObjectMgr.GetCreatureTemplate(GetEntry()).ScriptID : 0; } diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index ed9abf671..db7d962c9 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -2080,7 +2080,11 @@ namespace Game.Entities { GameObjectData gameObjectData = GetGoData(); if (gameObjectData != null) - return gameObjectData.ScriptId; + { + uint scriptId = gameObjectData.ScriptId; + if (scriptId != 0) + return scriptId; + } return GetGoInfo().ScriptId; } diff --git a/Source/Game/Globals/ObjectManager.cs b/Source/Game/Globals/ObjectManager.cs index 78ab969ac..7d9b1aa61 100644 --- a/Source/Game/Globals/ObjectManager.cs +++ b/Source/Game/Globals/ObjectManager.cs @@ -3325,8 +3325,6 @@ namespace Game data.phaseGroup = result.Read(25); data.terrainSwapMap = result.Read(26); data.ScriptId = GetScriptId(result.Read(27)); - if (data.ScriptId == 0) - data.ScriptId = cInfo.ScriptID; var mapEntry = CliDB.MapStorage.LookupByKey(data.mapid); if (mapEntry == null) @@ -4121,8 +4119,6 @@ namespace Game } data.ScriptId = GetScriptId(result.Read(21)); - if (data.ScriptId == 0) - data.ScriptId = gInfo.ScriptId; if (Math.Abs(data.orientation) > 2 * MathFunctions.PI) {