local Util = require("common.Util") local HeroDefine = require("hero.HeroDefine") local HeroLogic = require("hero.HeroLogic") local MoShouExcel = require("excel.moshou") local RoleDefine = require("role.RoleDefine") local SkillExcel = require("excel.skill").skill local BufferExcel = require("excel.buffer").buffer local Lang = require("common.Lang") local MoshouLogic = require("moshou.MoshouLogic") --计算被动技能 加的属性 num 基础值 lv 被动等级 addition 成长系数 function skillAttarsAddition(attrId, num, lv,addition, isFill) if num == nil or attrId == nil or addition == 0 or lv == 0 then return 0 end local addNum = 0 if attrId == 101 or attrId == 103 then if lv < 30 then addNum = num + addition * ( lv - 1) else addNum = num + addition * 29.3 end else local len = 0 if lv >= 3 then for i = 1, lv do local k = (i-1)%3 if k == 0 then len = len + 1 end end end addNum = num + addition * len end addNum = math.floor(addNum) if isFill then if not RoleDefine.isBasicAttr(attrId) then addNum = math.floor(addNum/100) addNum = addNum.."%" end end return addNum end --魔兽在战斗中给英雄 增加的 属性 local MOSHOU_BEATTR_LIST = {} function getMoshouBeAttrNew(pet) for k in pairs(MOSHOU_BEATTR_LIST) do MOSHOU_BEATTR_LIST[k] = nil end local petID = pet and pet.id or 0 if petID == 0 then return MOSHOU_BEATTR_LIST end --魔兽等级属性加成 local nowLV = pet.lv local moshouLvConfig = MoShouExcel.moshouLv[nowLV] if moshouLvConfig and #moshouLvConfig.lvAttrs > 0 then local lvAttrs = nil for i=1,#moshouLvConfig.lvAttrs do local key = moshouLvConfig.lvAttrs[i][1] local value = moshouLvConfig.lvAttrs[i][2] lvAttrs = lvAttrs or {} lvAttrs[key] = (lvAttrs[key] or 0) + value end for k,v in pairs(pet.lvAttrsAdd) do lvAttrs = lvAttrs or {} lvAttrs[k] = (lvAttrs[k] or 0) + v end if lvAttrs then for k,v in pairs(lvAttrs) do MOSHOU_BEATTR_LIST[k] = (MOSHOU_BEATTR_LIST[k] or 0) + v end end end --魔兽精练等级属性加成 local jinglianLV = pet.jinglianLV local jingLianConfig = MoShouExcel.moshouJingLian if jingLianConfig[jinglianLV] then for i=1,jinglianLV do local key = jingLianConfig[i].lvAttrs[1] local value = jingLianConfig[i].lvAttrs[2] MOSHOU_BEATTR_LIST[key] = (MOSHOU_BEATTR_LIST[key] or 0) + value end end --魔兽铸魂属性加成 local zhuHun = pet.zhuHun or 0 local zhuHunConfig = MoShouExcel.moshouZhuHun[1] if zhuHun > 0 and #zhuHunConfig.zhuHunAttrs > 0 then for i=1,#zhuHunConfig.zhuHunAttrs do local key = zhuHunConfig.zhuHunAttrs[i][1] local value = zhuHunConfig.zhuHunAttrs[i][2] * zhuHun MOSHOU_BEATTR_LIST[key] = (MOSHOU_BEATTR_LIST[key] or 0) + value end end --魔兽技能等级属性加成 local skillLV = pet.skillLV local putOnMoshou = petID local skillAttrConf = MoShouExcel.moshouSkillLvAttrs if skillLV > 0 then for i=1,#skillAttrConf do if putOnMoshou == skillAttrConf[i].moshouID and skillLV >= skillAttrConf[i].skillLV then for _,v in ipairs(skillAttrConf[i].lvAttrs) do MOSHOU_BEATTR_LIST[v[1]] = (MOSHOU_BEATTR_LIST[v[1]] or 0) + v[2] end end end end return MOSHOU_BEATTR_LIST end function onFightBegin(human) end