From 25feacd08e709b42b8d222a644a4febcab67dfdb Mon Sep 17 00:00:00 2001 From: hondacrx Date: Fri, 24 Apr 2020 23:59:32 -0400 Subject: [PATCH] Core/Misc: Fixed animation issues after 8.3.0 Port From (https://github.com/TrinityCore/TrinityCore/commit/) --- Source/Game/DataStorage/DB2Manager.cs | 7 +++++++ Source/Game/Entities/Creature/Creature.cs | 2 +- Source/Game/Entities/GameObject/GameObject.cs | 2 +- Source/Game/Entities/Player/Player.cs | 6 +++--- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Source/Game/DataStorage/DB2Manager.cs b/Source/Game/DataStorage/DB2Manager.cs index 1225e6b6f..dcf5813dc 100644 --- a/Source/Game/DataStorage/DB2Manager.cs +++ b/Source/Game/DataStorage/DB2Manager.cs @@ -732,6 +732,13 @@ namespace Game.DataStorage return _hotfixBlob.LookupByKey(Tuple.Create(tableHash, recordId)); } + public uint GetEmptyAnimStateID() + { + return 1484; + // TEMP: well... AnimationData.db2 in 8.3.0 has more rows than max hardcoded anim id in client + // return sAnimationDataStore.GetNumRows(); + } + public List GetAreasForGroup(uint areaGroupId) { return _areaGroupMembers.LookupByKey(areaGroupId); diff --git a/Source/Game/Entities/Creature/Creature.cs b/Source/Game/Entities/Creature/Creature.cs index 7ea9e1ff8..5727ebfc2 100644 --- a/Source/Game/Entities/Creature/Creature.cs +++ b/Source/Game/Entities/Creature/Creature.cs @@ -300,7 +300,7 @@ namespace Game.Entities SetDynamicFlags((UnitDynFlags)dynamicFlags); - SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), (uint)CliDB.AnimationDataStorage.Count); + SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), Global.DB2Mgr.GetEmptyAnimStateID()); SetBaseAttackTime(WeaponAttackType.BaseAttack, cInfo.BaseAttackTime); SetBaseAttackTime(WeaponAttackType.OffAttack, cInfo.BaseAttackTime); diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 4fc58502b..41655d9ef 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -276,7 +276,7 @@ namespace Game.Entities SetGoState(goState); SetGoArtKit((byte)artKit); - SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.SpawnTrackingStateAnimID), (uint)CliDB.AnimationDataStorage.Count); + SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.SpawnTrackingStateAnimID), Global.DB2Mgr.GetEmptyAnimStateID()); switch (goInfo.type) { diff --git a/Source/Game/Entities/Player/Player.cs b/Source/Game/Entities/Player/Player.cs index 9fece3fab..9a194604a 100644 --- a/Source/Game/Entities/Player/Player.cs +++ b/Source/Game/Entities/Player/Player.cs @@ -452,7 +452,7 @@ namespace Game.Entities // Update cinematic location, if 500ms have passed and we're doing a cinematic now. _cinematicMgr.m_cinematicDiff += diff; - if (_cinematicMgr.m_activeCinematicCameraId != 0 && Time.GetMSTimeDiffToNow(_cinematicMgr.m_lastCinematicCheck) > 500) + if (_cinematicMgr.m_activeCinematicCameraIndex != 0 && Time.GetMSTimeDiffToNow(_cinematicMgr.m_lastCinematicCheck) > 500) { _cinematicMgr.m_lastCinematicCheck = GameTime.GetGameTimeMS(); _cinematicMgr.UpdateCinematicLocation(diff); @@ -5490,7 +5490,7 @@ namespace Game.Entities return; } - SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), (uint)CliDB.AnimationDataStorage.Count); + SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.StateAnimID), Global.DB2Mgr.GetEmptyAnimStateID()); } //Creature @@ -6513,7 +6513,7 @@ namespace Game.Entities CinematicSequencesRecord sequence = CliDB.CinematicSequencesStorage.LookupByKey(CinematicSequenceId); if (sequence != null) - _cinematicMgr.SetActiveCinematicCamera(sequence.Camera[0]); + _cinematicMgr.BeginCinematic(sequence); } public void SendMovieStart(uint movieId) {