From 928b90d61b19f43d11815401b83963b2993cbb0e Mon Sep 17 00:00:00 2001 From: QuickStick <31533893+QuickStick123@users.noreply.github.com> Date: Mon, 29 Aug 2022 16:12:47 +1000 Subject: [PATCH] Get energy blade info from base. (#4919) --- src/Modules/CalcOffence.lua | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index c53da7a392..c0b578dc4a 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -461,12 +461,14 @@ function calcs.offence(env, actor, activeSkill) local critMod = calcLib.mod(skillModList, skillCfg, "EnergyBladeCritChance") local speedMod = calcLib.mod(skillModList, skillCfg, "EnergyBladeAttackSpeed") for slotName, weaponData in pairs({ ["Weapon 1"] = "weaponData1", ["Weapon 2"] = "weaponData2" }) do - if actor.itemList[slotName] and actor.itemList[slotName].weaponData and actor.itemList[slotName].weaponData[1] then - actor[weaponData].CritChance = actor[weaponData].CritChance * critMod - actor[weaponData].AttackRate = actor[weaponData].AttackRate * speedMod + if actor.itemList[slotName] and actor.itemList[slotName].weaponData and actor.itemList[slotName].weaponData[1] and actor[weaponData].name and data.itemBases[actor[weaponData].name] then + local weaponBaseData = data.itemBases[actor[weaponData].name].weapon + actor[weaponData].CritChance = weaponBaseData.CritChanceBase * critMod + actor[weaponData].AttackRate = weaponBaseData.AttackRateBase * speedMod + actor[weaponData].Range = weaponBaseData.Range for _, damageType in ipairs(dmgTypeList) do - actor[weaponData][damageType.."Min"] = (actor[weaponData][damageType.."Min"] or 0) + m_floor(skillModList:Sum("BASE", skillCfg, "EnergyBladeMin"..damageType) * dmgMod) - actor[weaponData][damageType.."Max"] = (actor[weaponData][damageType.."Max"] or 0) + m_floor(skillModList:Sum("BASE", skillCfg, "EnergyBladeMax"..damageType) * dmgMod) + actor[weaponData][damageType.."Min"] = (weaponBaseData[damageType.."Min"] or 0) + m_floor(skillModList:Sum("BASE", skillCfg, "EnergyBladeMin"..damageType) * dmgMod) + actor[weaponData][damageType.."Max"] = (weaponBaseData[damageType.."Max"] or 0) + m_floor(skillModList:Sum("BASE", skillCfg, "EnergyBladeMax"..damageType) * dmgMod) end end end