Clone of PhatAC @ https://github.com/floaterxk/PhatAC

Skills.h 1.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #pragma once
  2. enum eSkill
  3. {
  4. eAxe = 0x01,
  5. eBow = 0x02,
  6. eCrossbow = 0x03,
  7. eDagger = 0x04,
  8. eMace = 0x05, //05
  9. eMeleeDefense = 0x06,
  10. eMissileDefense = 0x07,
  11. eSpear = 0x09,
  12. eStaff = 0x0A,
  13. eSword = 0x0B, //10
  14. eThrownWeapons = 0x0C,
  15. eUnarmedCombat = 0x0D,
  16. eArcaneLore = 0x0E,
  17. eMagicDefense = 0x0F,
  18. eManaConversion = 0x10, //15
  19. eAppraiseItem = 0x12,
  20. eAssessPerson = 0x13,
  21. eDeception = 0x14,
  22. eHealing = 0x15,
  23. eJump = 0x16, //20
  24. eLockpick = 0x17,
  25. eRun = 0x18,
  26. eAssessCreature = 0x1B,
  27. eAppraiseWeapon = 0x1C,
  28. eAppraiseArmor = 0x1D, //25
  29. eAppraiseMagicItem = 0x1E,
  30. eCreatureEnchantment = 0x1F,
  31. eItemEnchantment = 0x20,
  32. eLifeMagic = 0x21,
  33. eWarMagic = 0x22, //30
  34. eLeadership = 0x23,
  35. eLoyalty = 0x24,
  36. eFletching = 0x25,
  37. eAlchemy = 0x26,
  38. eCooking = 0x27, //35
  39. };
  40. enum eTraining
  41. {
  42. eUnusable = 0x00,
  43. eUntrained = 0x01,
  44. eTrained = 0x02,
  45. eSpecialized = 0x03,
  46. };
  47. #pragma pack(push, 1)
  48. struct _SKILLDATA
  49. {
  50. WORD raises;
  51. WORD unknown;
  52. DWORD training;
  53. DWORD exp;
  54. DWORD bonus;
  55. DWORD unknown2;
  56. double unknown3;
  57. };
  58. #pragma pack(pop)
  59. struct SKILL;
  60. extern DWORD GetTrainedMaxXP();
  61. extern DWORD GetSpecializedMaxXP();
  62. extern const char* GetSkillName(eSkill index);
  63. extern DWORD GetTrainedXP(DWORD Level);
  64. extern DWORD GetTrainedLevel(DWORD XP);
  65. extern DWORD GetSpecializedXP(DWORD Level);
  66. extern DWORD GetSpecializedLevel(DWORD XP);
  67. extern DWORD GetLevelXP(DWORD Level);
  68. extern DWORD GetLevel(DWORD XP);
  69. extern DWORD GetSkillMax(SKILL *pSkill, float fVitae);
  70. extern float Calc_AnimSpeed(DWORD dwRunSkill, float flBurden);
  71. struct SKILL
  72. {
  73. SKILL()
  74. {
  75. data.raises = 0;
  76. data.unknown = 1;
  77. data.training = eUntrained;
  78. data.exp = 0;
  79. data.bonus = 0;
  80. data.unknown2 = 0;
  81. *((__int64 *)&data.unknown3) = 0x4192A971E4904E7F;
  82. }
  83. void SetTraining(DWORD dwTraining)
  84. {
  85. //
  86. }
  87. void SetRaises(DWORD dwRaises)
  88. {
  89. //
  90. }
  91. void SetExperience(DWORD dwXP)
  92. {
  93. //
  94. }
  95. _SKILLDATA data;
  96. };