源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

188 lines
7.0 KiB

  1. BaseAttrProtoVo = BaseAttrProtoVo or {}
  2. local BaseAttrProtoVo = BaseAttrProtoVo
  3. --[[
  4. ###
  5. -define(ATT, 1). %%
  6. -define(HP, 2). %%
  7. % -define(WRECK, 3). %%
  8. -define(DEF, 4). %%
  9. -define(HIT, 5). %%
  10. -define(DODGE, 6). %%
  11. -define(CRIT, 7). %%
  12. -define(TEN, 8). %%
  13. -define(HURT_ADD_RATIO, 9). %%
  14. -define(HURT_DEL_RATIO, 10). %%
  15. -define(HIT_RATIO, 11). %%
  16. -define(DODGE_RATIO, 12). %%
  17. -define(CRIT_RATIO, 13). %%
  18. -define(UNCRIT_RATIO, 14). %%
  19. -define(FINAL_HURT_ADD, 15). %% abs_att
  20. -define(FINAL_HURT_DEL, 16). %% abs_def
  21. -define(SPEED, 18). %%
  22. -define(ATT_ADD_RATIO, 19). %%
  23. -define(HP_ADD_RATIO, 20). %%
  24. % -define(WRECK_ADD_RATIO, 21). %%
  25. -define(EXP_ADD_RATIO, 21). %%
  26. -define(DEF_ADD_RATIO, 22). %%
  27. -define(HIT_ADD_RATIO, 23). %%
  28. -define(DODGE_ADD_RATIO, 24). %%
  29. -define(CRIT_ADD_RATIO, 25). %%
  30. -define(TEN_ADD_RATIO, 26). %%
  31. -define(SKILL_HURT_ADD_RATIO, 27). %%
  32. -define(SKILL_HURT_DEL_RATIO, 28). %%
  33. -define(FINAL_HURT_ADD_RATIO, 29). %%
  34. -define(FINAL_HURT_DEL_RATIO, 30). %%
  35. -define(PARRY_RATIO, 48). %%
  36. -define(STAB_RATIO, 49). %% 穿
  37. % -define(PVE_HURT_ADD_RATIO, 50). %% PVE伤害%()
  38. -define(PVP_HURT_DEL_RATIO, 50). %% PVP伤害减免%()
  39. -define(PVP_HURT_ADD_RATIO, 51). %% PVP伤害加成%()
  40. -define(CRIT_HURT_ADD_RATIO, 52). %% %
  41. -define(CRIT_HURT_DEL_RATIO, 53). %% %
  42. -define(HEART_RATIO, 54). %% %(2)
  43. -define(HEART_ADD_HURT, 55). %% %
  44. -define(HEART_RESIST_RATIO, 56). %% %
  45. -define(HEART_DEL_HURT, 57). %% %
  46. -define(ATT_SPEED_ADD_RATIO, 58). %% %
  47. -define(SPEED_ADD_RATIO, 59). %%
  48. %% -
  49. -define(ICE_HURT, 77). %%
  50. -define(ICE_DEF, 78). %%
  51. -define(THUNDER_HURT, 79). %%
  52. -define(THUNDER_DEF, 80). %%
  53. -define(FIRE_HURT, 81). %%
  54. -define(FIRE_DEF, 82). %%
  55. -define(WIND_HURT, 83). %%
  56. -define(WIND_DEF, 84). %%
  57. -define(ICE_HURT_ADD_RATIO, 85). %%
  58. -define(ICE_DEF_ADD_RATIO, 86). %%
  59. -define(THUNDER_HURT_ADD_RATIO, 87). %%
  60. -define(THUNDER_DEF_ADD_RATIO, 88). %%
  61. -define(FIRE_HURT_ADD_RATIO, 89). %%
  62. -define(FIRE_DEF_ADD_RATIO, 90). %%
  63. -define(WIND_HURT_ADD_RATIO, 91). %%
  64. -define(WIND_DEF_ADD_RATIO, 92). %%
  65. -define(SUCK_BLOOD, 95). %
  66. -define(SUCK_BLOOD_MINUS, 96). %
  67. -define(SUCK_BLOOD_ADD, 97). %
  68. ]]
  69. --最基础八大属性 没有经过任何加成,BaseAttrProtoVo.pro_list里面的服务端已经加成过
  70. BaseAttrProtoVo.base_pro_list = {
  71. [1] = {"base_att","i"}
  72. ,[2] = {"base_maxHp","i"}
  73. ,[3] = {"base_wreck","i"}
  74. ,[4] = {"base_def","i"}
  75. ,[5] = {"base_hit","i"}
  76. ,[6] = {"base_dodge","i"}
  77. ,[7] = {"base_crit","i"}
  78. ,[8] = {"base_ten","i"}
  79. ,[15] = {"base_abs_att","i"}
  80. ,[16] = {"base_abs_def","i"}
  81. }
  82. BaseAttrProtoVo.pro_list = {
  83. [1] = {"att","i"}
  84. ,[2] = {"def","i"}
  85. ,[3] = {"hit","i"}
  86. ,[4] = {"dodge","i"}
  87. ,[5] = {"crit","i"}
  88. ,[6] = {"ten","i"}
  89. ,[7] = {"hurt_add_ratio","i"}
  90. ,[8] = {"hurt_del_ratio","i"}
  91. ,[9] = {"hit_ratio","i"}
  92. ,[10] = {"dodge_ratio","i"}
  93. ,[11] = {"crit_ratio","i"}
  94. ,[12] = {"uncrit_ratio","i"}
  95. ,[13] = {"abs_att","i"}
  96. ,[14] = {"abs_def","i"}
  97. ,[15] = {"skill_hurt_add_ratio","i"}
  98. ,[16] = {"skill_hurt_del_ratio","i"}
  99. ,[17] = {"final_hurt_add_ratio","i"}
  100. ,[18] = {"final_hurt_del_ratio","i"}
  101. ,[19] = {"pvp_hurt_add_ratio","i"}
  102. ,[20] = {"crit_hurt_add_ratio","i"}
  103. ,[21] = {"crit_hurt_del_ratio","i"}
  104. ,[22] = {"boss_hurt_add_ratio","i"}
  105. ,[23] = {"att_add_ratio","i"}
  106. ,[24] = {"hp_add_ratio","i"}
  107. ,[25] = {"heart_ratio","i"}
  108. ,[26] = {"heart_resist_ratio","i"}
  109. ,[27] = {"att_speed_add_ratio","i"}
  110. ,[28] = {"speed_add_ratio","i"}
  111. ,[29] = {"hp_resume","i"}
  112. ,[30] = {"ice_hurt","i"}
  113. ,[31] = {"ice_def","i"}
  114. ,[32] = {"thunder_hurt","i"}
  115. ,[33] = {"thunder_def","i"}
  116. ,[34] = {"fire_hurt","i"}
  117. ,[35] = {"fire_def","i"}
  118. ,[36] = {"wind_hurt","i"}
  119. ,[37] = {"wind_def","i"}
  120. ,[38] = {"exp_add_ratio","i"}
  121. ,[39] = {"parry_ratio","i"}
  122. ,[40] = {"stab_ratio","i"}
  123. ,[41] = {"pvp_hurt_del_ratio","i"}
  124. ,[42] = {"heart_add_hurt","i"}
  125. ,[43] = {"heart_del_hurt","i"}
  126. ,[44] = {"suck_blood","i"}
  127. ,[45] = {"suck_blood_minus","i"}
  128. ,[46] = {"suck_blood_add","i"}
  129. ,[47] = {"def_add_ratio","i"}
  130. ,[48] = {"hit_add_ratio","i"}
  131. ,[49] = {"dodge_add_ratio","i"}
  132. ,[50] = {"crit_add_ratio","i"}
  133. ,[51] = {"ten_add_ratio","i"}
  134. ,[52] = {"boss_hurt_del_ratio","i"}
  135. ,[53] = {"mon_hurt_add_ratio","i"}
  136. ,[54] = {"mon_hurt_del_ratio","i"}
  137. }
  138. function BaseAttrProtoVo.ReadFmt(target)
  139. local vo = nil
  140. for i = 1, #BaseAttrProtoVo.pro_list do
  141. vo = BaseAttrProtoVo.pro_list[i]
  142. target[vo[1]] = UserMsgAdapter.ReadFmt(vo[2])
  143. end
  144. end
  145. --读取部分大于0的属性
  146. function BaseAttrProtoVo.ReadFmt2(target)
  147. local attr_list = {}
  148. local len = UserMsgAdapter.ReadFmt("h")
  149. for i = 1,len do
  150. local attr_id = UserMsgAdapter.ReadFmt("c") --属性编号
  151. local attr_value = UserMsgAdapter.ReadFmt("i") --属性值
  152. attr_list[i] = {id = attr_id,value = attr_value}
  153. end
  154. return attr_list
  155. end
  156. --读取八大基础属性
  157. function BaseAttrProtoVo.ReadFmt3(target)
  158. local attr_list = {}
  159. local len = UserMsgAdapter.ReadFmt("h")
  160. local attr_id
  161. local attr_value
  162. local vo
  163. for i = 1,len do
  164. attr_id = UserMsgAdapter.ReadFmt("c") --属性编号
  165. attr_value = UserMsgAdapter.ReadFmt("i") --属性值
  166. vo = BaseAttrProtoVo.base_pro_list[attr_id]
  167. if vo then
  168. target[vo[1]] = attr_value
  169. end
  170. end
  171. end