Core/Misc: Fixed animation issues after 8.3.0
Port From (https://github.com/TrinityCore/TrinityCore/commit/)
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user