continuity/Wonderking/Game/Data/Item/ElementalStats.cs
2023-11-20 19:56:14 +01:00

73 lines
1.6 KiB
C#

// // 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;
}