diff --git a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua index 6940eeb5e6..7f50c9c23f 100644 --- a/src/Data/Skills/act_dex.lua +++ b/src/Data/Skills/act_dex.lua @@ -1608,7 +1608,7 @@ skills["BladeBlastAltY"] = { castTime = 0.65, statMap = { ["gain_%_of_base_dagger_damage_as_added_spell_damage"] = { - skill("gainPercentBaseDaggerDamage", nil), + skill("gainPercentBaseDaggerDamageToSpells", nil), }, }, baseFlags = { diff --git a/src/Data/Skills/act_int.lua b/src/Data/Skills/act_int.lua index 9da90684ff..edcdb31a7e 100644 --- a/src/Data/Skills/act_int.lua +++ b/src/Data/Skills/act_int.lua @@ -16772,7 +16772,7 @@ skills["SupportSpellslinger"] = { statDescriptionScope = "gem_stat_descriptions", statMap = { ["gain_%_of_base_wand_damage_as_added_spell_damage"] = { - skill("gainPercentBaseWandDamage", nil), + skill("gainPercentBaseWandDamageToSpells", nil), }, ["support_spellslinger_damage_+%_final"] = { mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment)), diff --git a/src/Export/Skills/act_dex.txt b/src/Export/Skills/act_dex.txt index f2e25dea46..b1813f62ff 100644 --- a/src/Export/Skills/act_dex.txt +++ b/src/Export/Skills/act_dex.txt @@ -293,7 +293,7 @@ local skills, mod, flag, skill = ... #flags spell area statMap = { ["gain_%_of_base_dagger_damage_as_added_spell_damage"] = { - skill("gainPercentBaseDaggerDamage", nil), + skill("gainPercentBaseDaggerDamageToSpells", nil), }, }, #mods diff --git a/src/Export/Skills/act_int.txt b/src/Export/Skills/act_int.txt index be6323b034..898ee8ad73 100644 --- a/src/Export/Skills/act_int.txt +++ b/src/Export/Skills/act_int.txt @@ -3642,7 +3642,7 @@ local skills, mod, flag, skill = ... #skill SupportSpellslinger statMap = { ["gain_%_of_base_wand_damage_as_added_spell_damage"] = { - skill("gainPercentBaseWandDamage", nil), + skill("gainPercentBaseWandDamageToSpells", nil), }, ["support_spellslinger_damage_+%_final"] = { mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment)), diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index 7ee4e713b1..32cdd9003f 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -843,41 +843,41 @@ function calcs.offence(env, actor, activeSkill) end end end - if skillData.gainPercentBaseWandDamage then - local mult = skillData.gainPercentBaseWandDamage / 100 + if skillData.gainPercentBaseWandDamageToSpells then + local mult = skillData.gainPercentBaseWandDamageToSpells / 100 if actor.weaponData1.type == "Wand" and actor.weaponData2.type == "Wand" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", ((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult, "Spellslinger") - skillModList:NewMod(damageType.."Max", "BASE", ((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult, "Spellslinger") + skillModList:NewMod(damageType.."Min", "BASE", m_floor(((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult), "Spellslinger", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor(((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult), "Spellslinger", ModFlag.Spell) end elseif actor.weaponData1.type == "Wand" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData1[damageType.."Min"] or 0) * mult, "Spellslinger") - skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData1[damageType.."Max"] or 0) * mult, "Spellslinger") + skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData1[damageType.."Min"] or 0) * mult), "Spellslinger", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData1[damageType.."Max"] or 0) * mult), "Spellslinger", ModFlag.Spell) end elseif actor.weaponData2.type == "Wand" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData2[damageType.."Min"] or 0) * mult, "Spellslinger") - skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData2[damageType.."Max"] or 0) * mult, "Spellslinger") + skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData2[damageType.."Min"] or 0) * mult), "Spellslinger", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData2[damageType.."Max"] or 0) * mult), "Spellslinger", ModFlag.Spell) end end end - if skillData.gainPercentBaseDaggerDamage then - local mult = skillData.gainPercentBaseDaggerDamage / 100 + if skillData.gainPercentBaseDaggerDamageToSpells then + local mult = skillData.gainPercentBaseDaggerDamageToSpells / 100 if actor.weaponData1.type == "Dagger" and actor.weaponData2.type == "Dagger" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", ((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult, "Blade Blast of Dagger Detonation") - skillModList:NewMod(damageType.."Max", "BASE", ((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult, "Blade Blast of Dagger Detonation") + skillModList:NewMod(damageType.."Min", "BASE", m_floor(((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor(((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) end elseif actor.weaponData1.type == "Dagger" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData1[damageType.."Min"] or 0) * mult, "Blade Blast of Dagger Detonation") - skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData1[damageType.."Max"] or 0) * mult, "Blade Blast of Dagger Detonation") + skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData1[damageType.."Min"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData1[damageType.."Max"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) end elseif actor.weaponData2.type == "Dagger" then for _, damageType in ipairs(dmgTypeList) do - skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData2[damageType.."Min"] or 0) * mult, "Blade Blast of Dagger Detonation") - skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData2[damageType.."Max"] or 0) * mult, "Blade Blast of Dagger Detonation") + skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData2[damageType.."Min"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) + skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData2[damageType.."Max"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell) end end end