MobHuntStruct.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System;
  2. using System.Runtime.InteropServices;
  3. namespace HuntBuddy.Structs;
  4. public enum BillEnum: uint {
  5. ArrRank1,
  6. HwRank1,
  7. HwRank2,
  8. HwRank3,
  9. ArrElite,
  10. HwElite,
  11. SbRank1,
  12. SbRank2,
  13. SbRank3,
  14. SbElite,
  15. ShbRank1,
  16. ShbRank2,
  17. ShbRank3,
  18. ShbElite,
  19. EwRank1,
  20. EwRank2,
  21. EwRank3,
  22. EwElite,
  23. }
  24. [Flags]
  25. public enum ObtainedBillEnum: uint {
  26. ArrRank1 = 1,
  27. HwRank1 = 1 << 1,
  28. HwRank2 = 1 << 2,
  29. HwRank3 = 1 << 3,
  30. ArrElite = 1 << 4,
  31. HwElite = 1 << 5,
  32. SbRank1 = 1 << 6,
  33. SbRank2 = 1 << 7,
  34. SbRank3 = 1 << 8,
  35. SbElite = 1 << 9,
  36. ShbRank1 = 1 << 10,
  37. ShbRank2 = 1 << 11,
  38. ShbRank3 = 1 << 12,
  39. ShbElite = 1 << 13,
  40. EwRank1 = 1 << 14,
  41. EwRank2 = 1 << 15,
  42. EwRank3 = 1 << 16,
  43. EwElite = 1 << 17,
  44. }
  45. // Signature to get struct address
  46. // D1 48 8D 0D ? ? ? ? 48 83 C4 20 5F E9 ? ? ? ?
  47. [StructLayout(LayoutKind.Explicit, Size = 0x198)]
  48. public unsafe struct MobHuntStruct {
  49. [FieldOffset(0x1A)] public fixed byte BillOffset[18];
  50. [FieldOffset(0x2C)] public fixed int CurrentKills[5 * 18];
  51. [FieldOffset(0x194)] public readonly ObtainedBillEnum ObtainedBillEnumFlags;
  52. }