ItemHandler.h
上传用户:tt_chan
上传日期:2009-12-03
资源大小:4523k
文件大小:2k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #define _ITEM_WEAPON 0
  2. #define _ITEM_ARMOR 1
  3. #define _ITEM_ACCESSORY 2
  4. #define _ITEM_ETC 3
  5. #define _ITEM_GOLD 10
  6. class CMapItem
  7. {
  8. public:
  9. LONG pItem;
  10. char szName[41];
  11. WORD wLooks;
  12. BYTE btAniCount;
  13. int nCount;
  14. };
  15. class CItem
  16. {
  17. public:
  18. char szName[20];
  19. WORD wStdMode;
  20. WORD wShape;
  21. WORD wWeight;
  22. DWORD dwLooks;
  23. WORD wDuraMax; // Val1
  24. DWORD dwRSource; // Val2
  25. DWORD dwPrice;
  26. BYTE m_btType;
  27. public:
  28. int GetUpgrade(int nCount, int nRandom);
  29. virtual void GetStandardItem(_LPTCLIENTITEMRCD lpClientItemRcd) = 0;
  30. // virtual void UpgradeRandomItem(_LPTMAKEITEMRCD lpMakeItemRcd) = 0;
  31. virtual void GetUpgradeStdItem(_LPTCLIENTITEMRCD lpClientItemRcd, _LPTUSERITEMRCD lpUserItemRcd) = 0;
  32. };
  33. class CStdItem : public CItem
  34. {
  35. public:
  36. CStdItem() {};
  37. virtual void GetStandardItem(_LPTCLIENTITEMRCD lpClientItemRcd);
  38. // virtual void UpgradeRandomItem(_LPTMAKEITEMRCD lpMakeItemRcd) {};
  39. virtual void GetUpgradeStdItem(_LPTCLIENTITEMRCD lpClientItemRcd, _LPTUSERITEMRCD lpUserItemRcd) {};
  40. };
  41. class CStdItemSpecial : public CItem
  42. {
  43. public:
  44. BYTE btType;
  45. WORD wAniCount;
  46. WORD wSource;
  47. BYTE wAC; // Defence
  48. BYTE wAC2; // Defence Max
  49. BYTE wMAC; // Magic Defence
  50. BYTE wMAC2; // Magic Defence Max
  51. BYTE wDC; // Attack
  52. BYTE wDC2; // Attack Max
  53. BYTE wMC; // Magic
  54. BYTE wMC2; // Magic Max
  55. BYTE wSC; //
  56. BYTE wSC2; // Max
  57. BYTE m_btWater;
  58. BYTE m_btWater2;
  59. BYTE m_btFire;
  60. BYTE m_btFire2;
  61. BYTE m_btWind;
  62. BYTE m_btWind2;
  63. BYTE m_btLight;
  64. BYTE m_btLight2;
  65. BYTE m_btEarth;
  66. BYTE m_btEarth2;
  67. WORD wNeed;
  68. WORD wNeedLevel;
  69. DWORD dwStock;
  70. DWORD dwFeature;
  71. public:
  72. CStdItemSpecial();
  73. void ApplyItemParameters(CObjectAddAbility *m_pAddAbility);
  74. void UpgradeRandomItem(BYTE* btValue, WORD &nDura, WORD &nDuraMax);//_LPTMAKEITEMRCD lpMakeItemRcd)
  75. virtual void GetStandardItem(_LPTCLIENTITEMRCD lpClientItemRcd);
  76. // virtual void UpgradeRandomItem(_LPTMAKEITEMRCD lpMakeItemRcd);
  77. virtual void GetUpgradeStdItem(_LPTCLIENTITEMRCD lpClientItemRcd, _LPTUSERITEMRCD lpUserItemRcd);
  78. };