Skip to content

Commit c8df46b

Browse files
author
LocalIdentity
committed
Fix Spellslinger gaining generic damage instead of Spell damage
Both mods from Blade Blast and Spellslinger are meant to provide added spell damage but were providing generic damage to the skills they were linked to This was obvious when using a skill like Volatile Dead or Detonate Dead where the corpse explosion was gaining damage when it shouldn't be Also floored the values from the added damage as you can't have fractional damage values
1 parent f5d1d72 commit c8df46b

5 files changed

Lines changed: 20 additions & 20 deletions

File tree

src/Data/Skills/act_dex.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1608,7 +1608,7 @@ skills["BladeBlastAltY"] = {
16081608
castTime = 0.65,
16091609
statMap = {
16101610
["gain_%_of_base_dagger_damage_as_added_spell_damage"] = {
1611-
skill("gainPercentBaseDaggerDamage", nil),
1611+
skill("gainPercentBaseDaggerDamageToSpells", nil),
16121612
},
16131613
},
16141614
baseFlags = {

src/Data/Skills/act_int.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16772,7 +16772,7 @@ skills["SupportSpellslinger"] = {
1677216772
statDescriptionScope = "gem_stat_descriptions",
1677316773
statMap = {
1677416774
["gain_%_of_base_wand_damage_as_added_spell_damage"] = {
16775-
skill("gainPercentBaseWandDamage", nil),
16775+
skill("gainPercentBaseWandDamageToSpells", nil),
1677616776
},
1677716777
["support_spellslinger_damage_+%_final"] = {
1677816778
mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment)),

src/Export/Skills/act_dex.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ local skills, mod, flag, skill = ...
293293
#flags spell area
294294
statMap = {
295295
["gain_%_of_base_dagger_damage_as_added_spell_damage"] = {
296-
skill("gainPercentBaseDaggerDamage", nil),
296+
skill("gainPercentBaseDaggerDamageToSpells", nil),
297297
},
298298
},
299299
#mods

src/Export/Skills/act_int.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3642,7 +3642,7 @@ local skills, mod, flag, skill = ...
36423642
#skill SupportSpellslinger
36433643
statMap = {
36443644
["gain_%_of_base_wand_damage_as_added_spell_damage"] = {
3645-
skill("gainPercentBaseWandDamage", nil),
3645+
skill("gainPercentBaseWandDamageToSpells", nil),
36463646
},
36473647
["support_spellslinger_damage_+%_final"] = {
36483648
mod("Damage", "MORE", nil, 0, bit.bor(KeywordFlag.Hit, KeywordFlag.Ailment)),

src/Modules/CalcOffence.lua

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -843,41 +843,41 @@ function calcs.offence(env, actor, activeSkill)
843843
end
844844
end
845845
end
846-
if skillData.gainPercentBaseWandDamage then
847-
local mult = skillData.gainPercentBaseWandDamage / 100
846+
if skillData.gainPercentBaseWandDamageToSpells then
847+
local mult = skillData.gainPercentBaseWandDamageToSpells / 100
848848
if actor.weaponData1.type == "Wand" and actor.weaponData2.type == "Wand" then
849849
for _, damageType in ipairs(dmgTypeList) do
850-
skillModList:NewMod(damageType.."Min", "BASE", ((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult, "Spellslinger")
851-
skillModList:NewMod(damageType.."Max", "BASE", ((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult, "Spellslinger")
850+
skillModList:NewMod(damageType.."Min", "BASE", m_floor(((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult), "Spellslinger", ModFlag.Spell)
851+
skillModList:NewMod(damageType.."Max", "BASE", m_floor(((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult), "Spellslinger", ModFlag.Spell)
852852
end
853853
elseif actor.weaponData1.type == "Wand" then
854854
for _, damageType in ipairs(dmgTypeList) do
855-
skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData1[damageType.."Min"] or 0) * mult, "Spellslinger")
856-
skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData1[damageType.."Max"] or 0) * mult, "Spellslinger")
855+
skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData1[damageType.."Min"] or 0) * mult), "Spellslinger", ModFlag.Spell)
856+
skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData1[damageType.."Max"] or 0) * mult), "Spellslinger", ModFlag.Spell)
857857
end
858858
elseif actor.weaponData2.type == "Wand" then
859859
for _, damageType in ipairs(dmgTypeList) do
860-
skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData2[damageType.."Min"] or 0) * mult, "Spellslinger")
861-
skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData2[damageType.."Max"] or 0) * mult, "Spellslinger")
860+
skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData2[damageType.."Min"] or 0) * mult), "Spellslinger", ModFlag.Spell)
861+
skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData2[damageType.."Max"] or 0) * mult), "Spellslinger", ModFlag.Spell)
862862
end
863863
end
864864
end
865-
if skillData.gainPercentBaseDaggerDamage then
866-
local mult = skillData.gainPercentBaseDaggerDamage / 100
865+
if skillData.gainPercentBaseDaggerDamageToSpells then
866+
local mult = skillData.gainPercentBaseDaggerDamageToSpells / 100
867867
if actor.weaponData1.type == "Dagger" and actor.weaponData2.type == "Dagger" then
868868
for _, damageType in ipairs(dmgTypeList) do
869-
skillModList:NewMod(damageType.."Min", "BASE", ((actor.weaponData1[damageType.."Min"] or 0) + (actor.weaponData2[damageType.."Min"] or 0)) / 2 * mult, "Blade Blast of Dagger Detonation")
870-
skillModList:NewMod(damageType.."Max", "BASE", ((actor.weaponData1[damageType.."Max"] or 0) + (actor.weaponData2[damageType.."Max"] or 0)) / 2 * mult, "Blade Blast of Dagger Detonation")
869+
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)
870+
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)
871871
end
872872
elseif actor.weaponData1.type == "Dagger" then
873873
for _, damageType in ipairs(dmgTypeList) do
874-
skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData1[damageType.."Min"] or 0) * mult, "Blade Blast of Dagger Detonation")
875-
skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData1[damageType.."Max"] or 0) * mult, "Blade Blast of Dagger Detonation")
874+
skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData1[damageType.."Min"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell)
875+
skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData1[damageType.."Max"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell)
876876
end
877877
elseif actor.weaponData2.type == "Dagger" then
878878
for _, damageType in ipairs(dmgTypeList) do
879-
skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData2[damageType.."Min"] or 0) * mult, "Blade Blast of Dagger Detonation")
880-
skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData2[damageType.."Max"] or 0) * mult, "Blade Blast of Dagger Detonation")
879+
skillModList:NewMod(damageType.."Min", "BASE", m_floor((actor.weaponData2[damageType.."Min"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell)
880+
skillModList:NewMod(damageType.."Max", "BASE", m_floor((actor.weaponData2[damageType.."Max"] or 0) * mult), "Blade Blast of Dagger Detonation", ModFlag.Spell)
881881
end
882882
end
883883
end

0 commit comments

Comments
 (0)