@@ -872,22 +872,14 @@ function calcs.offence(env, actor, activeSkill)
872872 end
873873 end
874874 if skillData .gainPercentBaseDaggerDamageToSpells then
875- local mult = skillData .gainPercentBaseDaggerDamageToSpells / 100
876- if actor .weaponData1 .type == " Dagger" and actor .weaponData2 .type == " Dagger" then
877- for _ , damageType in ipairs (dmgTypeList ) do
878- 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 )
879- 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 )
880- end
881- elseif actor .weaponData1 .type == " Dagger" then
882- for _ , damageType in ipairs (dmgTypeList ) do
883- skillModList :NewMod (damageType .. " Min" , " BASE" , m_floor ((actor .weaponData1 [damageType .. " Min" ] or 0 ) * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
884- skillModList :NewMod (damageType .. " Max" , " BASE" , m_floor ((actor .weaponData1 [damageType .. " Max" ] or 0 ) * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
885- end
886- elseif actor .weaponData2 .type == " Dagger" then
887- for _ , damageType in ipairs (dmgTypeList ) do
888- skillModList :NewMod (damageType .. " Min" , " BASE" , m_floor ((actor .weaponData2 [damageType .. " Min" ] or 0 ) * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
889- skillModList :NewMod (damageType .. " Max" , " BASE" , m_floor ((actor .weaponData2 [damageType .. " Max" ] or 0 ) * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
890- end
875+ local weapon1IsDagger = actor .weaponData1 .AddedUsingDagger or actor .weaponData1 .type == " Dagger"
876+ local weapon2IsDagger = actor .weaponData2 .AddedUsingDagger or actor .weaponData2 .type == " Dagger"
877+ local mult = skillData .gainPercentBaseDaggerDamageToSpells / 100 * ((weapon1IsDagger and weapon2IsDagger and 0.5 ) or 1 )
878+ for _ , damageType in ipairs (dmgTypeList ) do
879+ local baseMin = (weapon1IsDagger and actor .weaponData1 [damageType .. " Min" ] or 0 ) + (weapon2IsDagger and actor .weaponData2 [damageType .. " Min" ] or 0 )
880+ local baseMax = (weapon1IsDagger and actor .weaponData1 [damageType .. " Max" ] or 0 ) + (weapon2IsDagger and actor .weaponData2 [damageType .. " Max" ] or 0 )
881+ skillModList :NewMod (damageType .. " Min" , " BASE" , m_floor (baseMin * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
882+ skillModList :NewMod (damageType .. " Max" , " BASE" , m_floor (baseMax * mult ), " Blade Blast of Dagger Detonation" , ModFlag .Spell )
891883 end
892884 end
893885
0 commit comments