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