KNpcGold.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: KNpcGold.h
  5. // Date: 2003.07.23
  6. // Code: 边城浪子
  7. // Desc: KNpcGold Class
  8. //---------------------------------------------------------------------------
  9. #ifndef _KNPCGOLD_H
  10. #define _KNPCGOLD_H
  11. #define defMAX_NPC_GOLD_TYEP 8
  12. class KNpcGold
  13. {
  14. friend class KNpc;
  15. private:
  16. int m_nNpcIdx;
  17. int m_nIsGold; // 是否是黄金怪物类
  18. int m_nIsGolding; // 当前是否是黄金怪物
  19. int m_nGoldType; // 如果当前是黄金怪物,变化的类型
  20. // 备份的 npc 数据
  21. DWORD m_dwSkill5ID; // 技能名转成的id  SkillString2Id()
  22. int m_nSkill5Level; // 技能等级
  23. int m_nFireResist; // 火抗性
  24. int m_nFireResistMax; // 火抗性最大值
  25. int m_nColdResist; // 冰抗性
  26. int m_nColdResistMax; // 冰抗性最大值
  27. int m_nLightingResist; // 电抗性
  28. int m_nLightingResistMax; // 电抗性最大值
  29. int m_nPoisonResist; // 毒抗性
  30. int m_nPoisonResistMax; // 毒抗性最大值
  31. int m_nPhycicsResist; // 物理抗性
  32. int m_nPhycicsResistMax; // 物理抗性最大值
  33. public:
  34. void Init(int nIdx);
  35. void SetGoldType(BOOL bFlag); // 设定是否为黄金怪物
  36. void SetGoldTypeAndBackData(); // 设定类型为黄金怪物,同时备份相应数据
  37. void RecoverBackData(); // 恢复旧数据,变成普通npc
  38. void RandChangeGold(); // 按一定概率变成黄金怪物
  39. int GetGoldType(); // 获得当前黄金类型,0 非黄金怪
  40. #ifndef _SERVER
  41. void SetGoldCurrentType(int nType);
  42. void ClientClearState();
  43. #endif
  44. };
  45. struct KNpcGoldTemplateInfo
  46. {
  47. // 按整数倍变化,可反向恢复
  48. int m_nExp; // 经验
  49. int m_nLife; // 生命
  50. int m_nLifeReplenish; // 回血
  51. int m_nAttackRating; // 命中
  52. int m_nDefense; // 防御
  53. int m_nMinDamage;
  54. int m_nMaxDamage;
  55. // 加加减减的东西,可反向恢复
  56. int m_nTreasure; // 装备
  57. int m_nWalkSpeed;
  58. int m_nRunSpeed;
  59. int m_nAttackSpeed;
  60. int m_nCastSpeed;
  61. // 需要备份的东西,不可反向恢复
  62. DWORD m_dwSkill5ID; // 技能名转成的id  SkillString2Id()
  63. char m_szSkill5Level[32]; // 技能等级
  64. int m_nFireResist; // 火抗性
  65. int m_nFireResistMax; // 火抗性最大值
  66. int m_nColdResist; // 冰抗性
  67. int m_nColdResistMax; // 冰抗性最大值
  68. int m_nLightingResist; // 电抗性
  69. int m_nLightingResistMax; // 电抗性最大值
  70. int m_nPoisonResist; // 毒抗性
  71. int m_nPoisonResistMax; // 毒抗性最大值
  72. int m_nPhycicsResist; // 物理抗性
  73. int m_nPhycicsResistMax; // 物理抗性最大值
  74. };
  75. class KNpcGoldTemplate
  76. {
  77. friend class KNpcSet;
  78. public:
  79. KNpcGoldTemplateInfo m_sInfo[defMAX_NPC_GOLD_TYEP];
  80. int m_nEffectTypeNum;
  81. public:
  82. KNpcGoldTemplate();
  83. BOOL Init();
  84. };
  85. #endif