Core/Auras: Implemented new aura type 487 (SPELL_AURA_COSMETIC_MOUNTED)

Port From (https://github.com/TrinityCore/TrinityCore/commit/a0c4a3071cebf3d755a9bdb8e07d93b17f354db3)
This commit is contained in:
hondacrx
2021-10-03 13:01:31 -04:00
parent 8ccf252ac3
commit 3c55b9e7a8
6 changed files with 383 additions and 346 deletions
@@ -1159,7 +1159,7 @@ namespace Game.Entities
public UpdateField<uint> NativeDisplayID = new(32, 53);
public UpdateField<float> NativeXDisplayScale = new(32, 54);
public UpdateField<uint> MountDisplayID = new(32, 55);
public UpdateField<int> CosmeticMountDisplayID = new(32, 56);
public UpdateField<uint> CosmeticMountDisplayID = new(32, 56);
public UpdateField<float> MinDamage = new(32, 57);
public UpdateField<float> MaxDamage = new(32, 58);
public UpdateField<float> MinOffHandDamage = new(32, 59);
@@ -1319,7 +1319,7 @@ namespace Game.Entities
data.WriteUInt32(NativeDisplayID);
data.WriteFloat(NativeXDisplayScale);
data.WriteUInt32(MountDisplayID);
data.WriteInt32(CosmeticMountDisplayID);
data.WriteUInt32(CosmeticMountDisplayID);
if (fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Owner) || fieldVisibilityFlags.HasFlag(UpdateFieldFlag.Empath))
{
data.WriteFloat(MinDamage);
@@ -1732,7 +1732,7 @@ namespace Game.Entities
}
if (changesMask[56])
{
data.WriteInt32(CosmeticMountDisplayID);
data.WriteUInt32(CosmeticMountDisplayID);
}
if (changesMask[57])
{
@@ -1301,6 +1301,7 @@ namespace Game.Entities
public void Mount(uint mount, uint VehicleId = 0, uint creatureEntry = 0)
{
RemoveAurasByType(AuraType.CosmeticMounted);
if (mount != 0)
SetMountDisplayId(mount);
+3 -1
View File
@@ -1791,7 +1791,9 @@ namespace Game.Entities
}
public uint GetMountDisplayId() { return m_unitData.MountDisplayID; }
public void SetMountDisplayId(uint mountDisplayId) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.MountDisplayID), mountDisplayId); }
uint GetCosmeticMountDisplayId() { return m_unitData.CosmeticMountDisplayID; }
public void SetCosmeticMountDisplayId(uint mountDisplayId) { SetUpdateFieldValue(m_values.ModifyValue(m_unitData).ModifyValue(m_unitData.CosmeticMountDisplayID), mountDisplayId); }
public virtual float GetFollowAngle() { return MathFunctions.PiOver2; }
public override ObjectGuid GetOwnerGUID() { return m_unitData.SummonedBy; }