// Copyright (c) 2023 Timothy Schenk. Subject to the GNU AGPL Version 3 License. using System.Runtime.InteropServices; namespace Wonderking.Game.Data.Item; [StructLayout(LayoutKind.Explicit, Size = 64)] public struct ElementalStats { [FieldOffset(0)] [MarshalAs(UnmanagedType.I4)] public int MinimumFireDamage; [FieldOffset(4)] [MarshalAs(UnmanagedType.I4)] public int MinimumWaterDamage; [FieldOffset(8)] [MarshalAs(UnmanagedType.I4)] public int MinimumDarkDamage; [FieldOffset(12)] [MarshalAs(UnmanagedType.I4)] public int MinimumHolyDamage; [FieldOffset(16)] [MarshalAs(UnmanagedType.I4)] public int MaximumFireDamage; [FieldOffset(20)] [MarshalAs(UnmanagedType.I4)] public int MaximumWaterDamage; [FieldOffset(24)] [MarshalAs(UnmanagedType.I4)] public int MaximumDarkDamage; [FieldOffset(28)] [MarshalAs(UnmanagedType.I4)] public int MaximumHolyDamage; [FieldOffset(32)] [MarshalAs(UnmanagedType.U4)] public uint ElementFire; [FieldOffset(36)] [MarshalAs(UnmanagedType.U4)] public uint ElementWater; [FieldOffset(40)] [MarshalAs(UnmanagedType.U4)] public uint ElementDark; [FieldOffset(44)] [MarshalAs(UnmanagedType.U4)] public uint ElementHoly; [FieldOffset(48)] [MarshalAs(UnmanagedType.I4)] public int FireResistance; [FieldOffset(52)] [MarshalAs(UnmanagedType.I4)] public int WaterResistance; [FieldOffset(56)] [MarshalAs(UnmanagedType.I4)] public int DarkResistance; [FieldOffset(60)] [MarshalAs(UnmanagedType.I4)] public int HolyResistance; }