Core/Misc: Fixed animation issues after 8.3.0

Port From (https://github.com/TrinityCore/TrinityCore/commit/)
This commit is contained in:
hondacrx
2020-04-24 23:59:32 -04:00
parent 7d58d36c36
commit 25feacd08e
4 changed files with 12 additions and 5 deletions
+7
View File
@@ -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<uint> GetAreasForGroup(uint areaGroupId)
{
return _areaGroupMembers.LookupByKey(areaGroupId);
+1 -1
View File
@@ -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);
@@ -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)
{
+3 -3
View File
@@ -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)
{