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

Attributes.h 927B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #pragma once
  2. enum eAttribute
  3. {
  4. eStrength = 0x01,
  5. eEndurance = 0x02,
  6. eQuickness = 0x03,
  7. eCoordination = 0x04,
  8. eFocus = 0x05,
  9. eSelf = 0x06,
  10. };
  11. #pragma pack(push, 1)
  12. struct _ATTRIBUTEDATA
  13. {
  14. DWORD raises;
  15. DWORD base;
  16. DWORD exp;
  17. };
  18. #pragma pack(pop)
  19. struct ATTRIBUTE;
  20. extern DWORD GetAttributeXP(DWORD Level);
  21. extern DWORD GetAttributeLevel(DWORD XP);
  22. extern DWORD GetAttributeMax();
  23. extern DWORD GetAttributeMaxXP();
  24. extern const char* GetAttributeName(eAttribute index);
  25. extern DWORD GetAttributeMax(ATTRIBUTE *pAttrib, float fVitae);
  26. struct ATTRIBUTE
  27. {
  28. ATTRIBUTE()
  29. {
  30. data.raises = 0;
  31. data.base = 10;
  32. data.exp = 0;
  33. }
  34. void SetBase(DWORD dwBase)
  35. {
  36. data.base = dwBase;
  37. }
  38. void SetRaises(DWORD dwRaises)
  39. {
  40. data.raises = dwRaises;
  41. data.exp = GetAttributeXP(dwRaises);
  42. }
  43. void SetExperience(DWORD dwXP)
  44. {
  45. data.exp = dwXP;
  46. data.raises = GetAttributeLevel(dwXP);
  47. }
  48. _ATTRIBUTEDATA data;
  49. };