diff --git a/Source/Game/Entities/AreaTrigger/AreaTriggerTemplate.cs b/Source/Game/Entities/AreaTrigger/AreaTriggerTemplate.cs index 67af58ef2..698eed98f 100644 --- a/Source/Game/Entities/AreaTrigger/AreaTriggerTemplate.cs +++ b/Source/Game/Entities/AreaTrigger/AreaTriggerTemplate.cs @@ -282,8 +282,7 @@ namespace Game.Entities public AreaTriggerMiscTemplate() { // legacy code from before it was known what each curve field does - // wtf? thats not how you pack curve data - ExtraScale.Raw.Data[5] = (uint)1.0000001f; + ExtraScale.Raw.Data[5] = 1065353217; // also OverrideActive does nothing on ExtraScale ExtraScale.Structured.OverrideActive = 1; } diff --git a/Source/Game/Entities/Object/Update/UpdateFields.cs b/Source/Game/Entities/Object/Update/UpdateFields.cs index f8f5744ef..797e5044d 100644 --- a/Source/Game/Entities/Object/Update/UpdateFields.cs +++ b/Source/Game/Entities/Object/Update/UpdateFields.cs @@ -988,7 +988,7 @@ namespace Game.Entities } } - public struct SpellCastVisualField + public class SpellCastVisualField { public uint SpellXSpellVisualID; public uint ScriptVisualID; @@ -1010,7 +1010,7 @@ namespace Game.Entities { public uint SpellID; public uint SpellXSpellVisualID; - public SpellCastVisualField SpellVisual; + public SpellCastVisualField SpellVisual = new SpellCastVisualField(); public void WriteCreate(WorldPacket data, Unit owner, Player receiver) { @@ -2278,17 +2278,11 @@ namespace Game.Entities } } - public struct ChrCustomizationChoice : IComparable + public class ChrCustomizationChoice : IComparable { public uint ChrCustomizationOptionID; public uint ChrCustomizationChoiceID; - public ChrCustomizationChoice(uint chrCustomizationOptionID, uint chrCustomizationChoiceID) - { - ChrCustomizationOptionID = chrCustomizationOptionID; - ChrCustomizationChoiceID = chrCustomizationChoiceID; - } - public void WriteCreate(WorldPacket data, WorldObject owner, Player receiver) { data.WriteUInt32(ChrCustomizationOptionID); @@ -2467,7 +2461,7 @@ namespace Game.Entities } } - public struct CTROptions + public class CTROptions { public uint ContentTuningConditionMask; public uint Field_4; @@ -3195,7 +3189,7 @@ namespace Game.Entities } } - public struct MawPower + public class MawPower { public int Field_0; public int Field_4; @@ -3240,7 +3234,7 @@ namespace Game.Entities } } - public struct RecipeProgressionInfo + public class RecipeProgressionInfo { public ushort RecipeProgressionGroupID; public ushort Experience; diff --git a/Source/Game/Entities/Player/Player.DB.cs b/Source/Game/Entities/Player/Player.DB.cs index e6d9858f9..594fe3caf 100644 --- a/Source/Game/Entities/Player/Player.DB.cs +++ b/Source/Game/Entities/Player/Player.DB.cs @@ -2608,7 +2608,7 @@ namespace Game.Entities do { - ChrCustomizationChoice choice; + ChrCustomizationChoice choice = new ChrCustomizationChoice(); choice.ChrCustomizationOptionID = customizationsResult.Read(0); choice.ChrCustomizationChoiceID = customizationsResult.Read(1); customizations.Add(choice); diff --git a/Source/Game/Handlers/SpellHandler.cs b/Source/Game/Handlers/SpellHandler.cs index 036e5eb73..1c8ed6084 100644 --- a/Source/Game/Handlers/SpellHandler.cs +++ b/Source/Game/Handlers/SpellHandler.cs @@ -530,7 +530,12 @@ namespace Game mirrorImageComponentedData.ClassID = (byte)creator.GetClass(); foreach (var customization in player.m_playerData.Customizations) - mirrorImageComponentedData.Customizations.Add(new ChrCustomizationChoice(customization.ChrCustomizationOptionID, customization.ChrCustomizationChoiceID)); + { + var chrCustomizationChoice = new ChrCustomizationChoice(); + chrCustomizationChoice.ChrCustomizationOptionID = customization.ChrCustomizationOptionID; + chrCustomizationChoice.ChrCustomizationChoiceID = customization.ChrCustomizationChoiceID; + mirrorImageComponentedData.Customizations.Add(chrCustomizationChoice); + } Guild guild = player.GetGuild(); mirrorImageComponentedData.GuildGUID = (guild ? guild.GetGUID() : ObjectGuid.Empty); diff --git a/Source/Game/Networking/Packets/SpellPackets.cs b/Source/Game/Networking/Packets/SpellPackets.cs index f40f322f8..fbcc2c774 100644 --- a/Source/Game/Networking/Packets/SpellPackets.cs +++ b/Source/Game/Networking/Packets/SpellPackets.cs @@ -1384,7 +1384,7 @@ namespace Game.Networking.Packets public static implicit operator SpellCastVisualField(SpellCastVisual spellCastVisual) { - SpellCastVisualField visual; + SpellCastVisualField visual = new SpellCastVisualField(); visual.SpellXSpellVisualID = spellCastVisual.SpellXSpellVisualID; visual.ScriptVisualID = spellCastVisual.ScriptVisualID; return visual; diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index 940e117b0..c7ef66b30 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -4040,7 +4040,7 @@ namespace Game.Spells { m_caster.ClearChannelObjects(); m_caster.SetChannelSpellId(0); - m_caster.SetChannelVisual(default); + m_caster.SetChannelVisual(new SpellCastVisualField()); } SpellChannelUpdate spellChannelUpdate = new SpellChannelUpdate();