MobHuntStruct.cs 1.1 KB

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