| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- 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
|