MoshouGrid.lua 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. local Util = require("common.Util")
  2. local HeroDefine = require("hero.HeroDefine")
  3. local HeroLogic = require("hero.HeroLogic")
  4. local MoShouExcel = require("excel.moshou")
  5. local RoleDefine = require("role.RoleDefine")
  6. local SkillExcel = require("excel.skill").skill
  7. local BufferExcel = require("excel.buffer").buffer
  8. local Lang = require("common.Lang")
  9. local MoshouLogic = require("moshou.MoshouLogic")
  10. --计算被动技能 加的属性 num 基础值 lv 被动等级 addition 成长系数
  11. function skillAttarsAddition(attrId, num, lv,addition, isFill)
  12. if num == nil or attrId == nil or addition == 0 or lv == 0 then
  13. return 0
  14. end
  15. local addNum = 0
  16. if attrId == 101 or attrId == 103 then
  17. if lv < 30 then
  18. addNum = num + addition * ( lv - 1)
  19. else
  20. addNum = num + addition * 29.3
  21. end
  22. else
  23. local len = 0
  24. if lv >= 3 then
  25. for i = 1, lv do
  26. local k = (i-1)%3
  27. if k == 0 then
  28. len = len + 1
  29. end
  30. end
  31. end
  32. addNum = num + addition * len
  33. end
  34. addNum = math.floor(addNum)
  35. if isFill then
  36. if not RoleDefine.isBasicAttr(attrId) then
  37. addNum = math.floor(addNum/100)
  38. addNum = addNum.."%"
  39. end
  40. end
  41. return addNum
  42. end
  43. --魔兽在战斗中给英雄 增加的 属性
  44. local MOSHOU_BEATTR_LIST = {}
  45. function getMoshouBeAttrNew(pet)
  46. for k in pairs(MOSHOU_BEATTR_LIST) do
  47. MOSHOU_BEATTR_LIST[k] = nil
  48. end
  49. local petID = pet and pet.id or 0
  50. if petID == 0 then
  51. return MOSHOU_BEATTR_LIST
  52. end
  53. --魔兽等级属性加成
  54. local nowLV = pet.lv
  55. local moshouLvConfig = MoShouExcel.moshouLv[nowLV]
  56. if moshouLvConfig and #moshouLvConfig.lvAttrs > 0 then
  57. local lvAttrs = nil
  58. for i=1,#moshouLvConfig.lvAttrs do
  59. local key = moshouLvConfig.lvAttrs[i][1]
  60. local value = moshouLvConfig.lvAttrs[i][2]
  61. lvAttrs = lvAttrs or {}
  62. lvAttrs[key] = (lvAttrs[key] or 0) + value
  63. end
  64. for k,v in pairs(pet.lvAttrsAdd) do
  65. lvAttrs = lvAttrs or {}
  66. lvAttrs[k] = (lvAttrs[k] or 0) + v
  67. end
  68. if lvAttrs then
  69. for k,v in pairs(lvAttrs) do
  70. MOSHOU_BEATTR_LIST[k] = (MOSHOU_BEATTR_LIST[k] or 0) + v
  71. end
  72. end
  73. end
  74. --魔兽精练等级属性加成
  75. local jinglianLV = pet.jinglianLV
  76. local jingLianConfig = MoShouExcel.moshouJingLian
  77. if jingLianConfig[jinglianLV] then
  78. for i=1,jinglianLV do
  79. local key = jingLianConfig[i].lvAttrs[1]
  80. local value = jingLianConfig[i].lvAttrs[2]
  81. MOSHOU_BEATTR_LIST[key] = (MOSHOU_BEATTR_LIST[key] or 0) + value
  82. end
  83. end
  84. --魔兽铸魂属性加成
  85. local zhuHun = pet.zhuHun or 0
  86. local zhuHunConfig = MoShouExcel.moshouZhuHun[1]
  87. if zhuHun > 0 and #zhuHunConfig.zhuHunAttrs > 0 then
  88. for i=1,#zhuHunConfig.zhuHunAttrs do
  89. local key = zhuHunConfig.zhuHunAttrs[i][1]
  90. local value = zhuHunConfig.zhuHunAttrs[i][2] * zhuHun
  91. MOSHOU_BEATTR_LIST[key] = (MOSHOU_BEATTR_LIST[key] or 0) + value
  92. end
  93. end
  94. --魔兽技能等级属性加成
  95. local skillLV = pet.skillLV
  96. local putOnMoshou = petID
  97. local skillAttrConf = MoShouExcel.moshouSkillLvAttrs
  98. if skillLV > 0 then
  99. for i=1,#skillAttrConf do
  100. if putOnMoshou == skillAttrConf[i].moshouID and skillLV >= skillAttrConf[i].skillLV then
  101. for _,v in ipairs(skillAttrConf[i].lvAttrs) do
  102. MOSHOU_BEATTR_LIST[v[1]] = (MOSHOU_BEATTR_LIST[v[1]] or 0) + v[2]
  103. end
  104. end
  105. end
  106. end
  107. return MOSHOU_BEATTR_LIST
  108. end
  109. function onFightBegin(human)
  110. end