防具属性只用计算一次
This commit is contained in:
parent
a5d2749ede
commit
6f18d573a9
@ -72,6 +72,20 @@ function EquipData:getEquip(id, part)
|
||||
return self.equips[id][part]
|
||||
end
|
||||
|
||||
-- 获取防具最小阶段
|
||||
function EquipData:getMinArmorStage(heroId)
|
||||
local minStage = -1
|
||||
for name, part in pairs(GConst.EquipConst.PART_TYPE) do
|
||||
if part ~= GConst.EquipConst.PART_TYPE.WEAPON then
|
||||
local entity = self:getEquip(heroId, part)
|
||||
if minStage == -1 or minStage > entity:getStage() then
|
||||
minStage = entity:getStage()
|
||||
end
|
||||
end
|
||||
end
|
||||
return minStage >= 0 and minStage or 0
|
||||
end
|
||||
|
||||
-- 装备升级
|
||||
function EquipData:onUpgradeEquip(heroId, part)
|
||||
local entity = self:getEquip(heroId, part)
|
||||
|
||||
@ -210,6 +210,10 @@ end
|
||||
-- 获取部位已获得属性
|
||||
function EquipEntity:getStageAttr()
|
||||
local stage = self:getStage()
|
||||
if self:getPart() ~= GConst.EquipConst.PART_TYPE.WEAPON then
|
||||
stage = DataManager.EquipData:getMinArmorStage(self:getHeroId())
|
||||
end
|
||||
|
||||
if self.curAttr == nil or #self.curAttr ~= stage then
|
||||
self.curAttr = {}
|
||||
for i = 1, stage do
|
||||
|
||||
@ -79,18 +79,32 @@ function HeroEntity:updateEquipAttr()
|
||||
|
||||
local hp,atk,normalHurt,skillHurt,critPer,critHurtPer,normalHurtPer,skillHurtPer,healPer = 0
|
||||
|
||||
local addArmorAttrPer = true
|
||||
for partName, partType in pairs(GConst.EquipConst.PART_TYPE) do
|
||||
local equipEntity = self:getEquips(partType)
|
||||
if equipEntity then
|
||||
-- 基础值
|
||||
hp = equipEntity:getHp()
|
||||
atk = equipEntity:getAttack()
|
||||
normalHurt = equipEntity:getNormalHurt()
|
||||
skillHurt = equipEntity:getSkillHurt()
|
||||
-- 属性值
|
||||
critPer = 0
|
||||
critHurtPer = 0
|
||||
normalHurtPer = 0
|
||||
skillHurtPer = 0
|
||||
healPer = 0
|
||||
if partType == GConst.EquipConst.PART_TYPE.WEAPON or addArmorAttrPer then
|
||||
if partType ~= GConst.EquipConst.PART_TYPE.WEAPON then
|
||||
addArmorAttrPer = false-- 防具的属性只只用计算一次
|
||||
end
|
||||
|
||||
critPer = equipEntity:getCritPercent()
|
||||
critHurtPer = equipEntity:getCritHurtPercent()
|
||||
normalHurtPer = equipEntity:getNormalHurtPercent()
|
||||
skillHurtPer = equipEntity:getSkillHurtPercent()
|
||||
healPer = equipEntity:getHealPercent()
|
||||
end
|
||||
|
||||
self:addEquipAttrValue(GConst.MATCH_HP_NAME[self:getMatchType()], hp)
|
||||
self:addEquipAttrValue(GConst.MATCH_ATTACK_NAME[self:getMatchType()], atk)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user