diff --git a/spec/System/TestOffence_spec.lua b/spec/System/TestOffence_spec.lua index d33c96902a..ac343924a8 100644 --- a/spec/System/TestOffence_spec.lua +++ b/spec/System/TestOffence_spec.lua @@ -428,4 +428,21 @@ describe("TestOffence", function() assert.are.equals(7, build.calcsTab.mainOutput.ActiveTotemLimit) assert.are.equals(1.7, build.calcsTab.mainOutput.AreaOfEffectMod) end) + it("applies Energy Blade's quality attack speed as increased, not more", function() + local function attackSpeed(quality) + newBuild() + build.itemsTab:CreateDisplayItemFromRaw("Rarity: NORMAL\nCorsair Sword") + build.itemsTab:AddDisplayItem() + build.skillsTab:PasteSocketGroup("Energy Blade 20/" .. quality .. " 1") + build.skillsTab:PasteSocketGroup("Slot: Weapon 1\nCleave 20/0 1") + build.mainSocketGroup = 2 + build.configTab.input.customMods = "100% increased Attack Speed" + build.configTab:BuildModList() + runCallback("OnFrame") + return build.calcsTab.mainOutput.Speed + end + + -- "Buff grants 10% increased Attack Speed" at 20% quality: (1 + 1 + 0.1) / (1 + 1) + assertNearRelative(1.05, attackSpeed(20) / attackSpeed(0), 0.0001) + end) end) diff --git a/src/Data/Skills/act_int.lua b/src/Data/Skills/act_int.lua index 3fc3566ba0..c2aba2499b 100644 --- a/src/Data/Skills/act_int.lua +++ b/src/Data/Skills/act_int.lua @@ -5099,7 +5099,7 @@ skills["EnergyBlade"] = { mod("EnergyBladeDamage", "MORE", nil, 0, 0, { type = "Condition", var = "UsingTwoHandedWeapon" }, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), }, ["storm_blade_global_attack_speed_+%"] = { - mod("EnergyBladeAttackSpeed", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), + mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), }, ["storm_blade_minimum_lightning_damage"] = { mod("EnergyBladeMinLightning", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), diff --git a/src/Export/Skills/act_int.txt b/src/Export/Skills/act_int.txt index ee1269e660..3aa1d1c962 100644 --- a/src/Export/Skills/act_int.txt +++ b/src/Export/Skills/act_int.txt @@ -1013,7 +1013,7 @@ return function(skills, mod, flag, skill) mod("EnergyBladeDamage", "MORE", nil, 0, 0, { type = "Condition", var = "UsingTwoHandedWeapon" }, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), }, ["storm_blade_global_attack_speed_+%"] = { - mod("EnergyBladeAttackSpeed", "MORE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), + mod("Speed", "INC", nil, ModFlag.Attack, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }), }, ["storm_blade_minimum_lightning_damage"] = { mod("EnergyBladeMinLightning", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", unscalable = true }),