Skip to content

Commit c6d0e9d

Browse files
committed
Update with actual stats and qualities
1 parent 9dfc4e5 commit c6d0e9d

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

src/Data/Skills/sup_int.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5080,6 +5080,14 @@ skills["SupportSpellblade"] = {
50805080
excludeSkillTypes = { },
50815081
ignoreMinionTypes = true,
50825082
statDescriptionScope = "gem_stat_descriptions",
5083+
statMap = {
5084+
["support_spell_weapon_damage_gain_%_of_one_hand_melee_weapon_damage_as_added_spell_damage"] = {
5085+
mod("OneHandWeaponDamageAppliesToSpells", "MAX", nil),
5086+
},
5087+
["support_spell_weapon_damage_gain_%_of_one_hand_melee_weapon_damage_as_added_spell_damage_while_wielding_two_different_weapon_types"] = {
5088+
mod("OneHandWeaponDamageAppliesToSpellsWithTwoDifferentTypes", "MAX", nil),
5089+
},
5090+
},
50835091
qualityStats = {
50845092
Default = {
50855093
{ "spell_damage_+%", 0.5 },

src/Modules/CalcOffence.lua

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -525,10 +525,14 @@ function calcs.offence(env, actor, activeSkill)
525525
end
526526
local weapon1info = env.data.weaponTypeInfo[actor.weaponData1.type]
527527
local weapon2info = env.data.weaponTypeInfo[actor.weaponData2.type]
528-
-- account for Spellblade
528+
-- -- account for Spellblade
529529
-- Note: we check conditions of Main Hand weapon using actor.itemList as actor.weaponData1 is populated with unarmed values when no weapon slotted.
530-
if skillModList:Flag(nil, "Spellblade") and actor.itemList["Weapon 1"] and actor.itemList["Weapon 1"].weaponData and actor.itemList["Weapon 1"].weaponData[1] and weapon1info.melee and weapon1info.oneHand then
531-
local multiplier = (skillModList:Max(skillCfg, "OneHandWeaponDamageAppliesToSpells") or 100) / 100 * (weapon2info and 0.6 or 1)
530+
local spellbladeMulti = skillModList:Max(skillCfg, "OneHandWeaponDamageAppliesToSpells") or 100
531+
local spellbladeDiffMulti = skillModList:Max(skillCfg, "OneHandWeaponDamageAppliesToSpellsWithTwoDifferentTypes")
532+
if spellbladeMulti > 100 and actor.itemList["Weapon 1"] and actor.itemList["Weapon 1"].weaponData and actor.itemList["Weapon 1"].weaponData[1] and weapon1info.melee and weapon1info.oneHand then
533+
local multiplier = spellbladeMulti / 100 * (weapon2info and 0.6 or 1)
534+
local diffMulti = actor.weaponData1 and actor.weaponData2.type and actor.weaponData1.type ~= actor.weaponData2.type and spellbladeDiffMulti and spellbladeDiffMulti / 100 * 0.6 or 0
535+
multiplier = multiplier + diffMulti
532536
for _, damageType in ipairs(dmgTypeList) do
533537
skillModList:NewMod(damageType.."Min", "BASE", (actor.weaponData1[damageType.."Min"] or 0) * multiplier, "Spellblade Main Hand", ModFlag.Spell)
534538
skillModList:NewMod(damageType.."Max", "BASE", (actor.weaponData1[damageType.."Max"] or 0) * multiplier, "Spellblade Main Hand", ModFlag.Spell)

src/Modules/ModParser.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4425,7 +4425,6 @@ local specialModList = {
44254425
["allocates (.+) if you have the matching modifiers? on forbidden (.+)"] = function(_, ascendancy, side) return { mod("GrantedAscendancyNode", "LIST", { side = side, name = ascendancy }) } end,
44264426
["allocates (.+)"] = function(_, passive) return { mod("GrantedPassive", "LIST", passive) } end,
44274427
["battlemage"] = { flag("Battlemage"), mod("MainHandWeaponDamageAppliesToSpells", "MAX", 100) },
4428-
["added spell damage equal to (%d+)%% of damage of equipped one handed melee weapons"] = function(num) return { flag("Spellblade"), mod("OneHandWeaponDamageAppliesToSpells", "MAX", num) } end,
44294428
["transfiguration of body"] = { flag("TransfigurationOfBody") },
44304429
["transfiguration of mind"] = { flag("TransfigurationOfMind") },
44314430
["transfiguration of soul"] = { flag("TransfigurationOfSoul") },

0 commit comments

Comments
 (0)