Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion spec/System/TestSkills_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2228,5 +2228,23 @@ describe("TestSkills", function()
local noParrySpellDmg = build.calcsTab.mainOutput.AverageDamage
assert.equals(withParrySpellDmg, noParrySpellDmg, "Parry should not affect spell damage")
end)

it("deals no damage when the support is not attached to a curse", function()
build.skillsTab:PasteSocketGroup([[Weapon Set: Both
Fireball 20/0 1
Doedre's Undoing 1/0 1]])
runCallback("OnFrame")
selectActiveSkillById(build.skillsTab.socketGroupList[#build.skillsTab.socketGroupList], "ChaosFrogExplosionPlayer")
assert.are.equals(0, build.calcsTab.calcsOutput.TotalDPS)
assert.are.equals(0, build.calcsTab.calcsOutput.HitSpeed)
end)

it("deals damage when the support is attached to a curse", function()
build.skillsTab:PasteSocketGroup([[Weapon Set: Both
Doedre's Undoing 1/0 1
Elemental Weakness 20/0 1]])
runCallback("OnFrame")
selectActiveSkillById(build.skillsTab.socketGroupList[#build.skillsTab.socketGroupList], "ChaosFrogExplosionPlayer")
assert.True(build.calcsTab.calcsOutput.TotalDPS > 0)
assert.True(build.calcsTab.calcsOutput.HitSpeed > 0)
end)
end)
4 changes: 2 additions & 2 deletions src/Data/Skills/other.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5776,7 +5776,7 @@ skills["EncaseInJadePlayer"] = {
}
skills["SupportEshsProwess"] = {
name = "Esh's Prowess",
description = "Supports Lightning skills that Hit targets, granting them an additional level and causing them to only roll the minimum or maximum value for Lightning damage. Does not support skills which do not have levels.",
description = "Supports Lightning Skills that Hit, granting them an additional level and causing them to only roll the minimum or maximum value for Lightning damage. Does not Support Skills which do not have levels.",
color = 4,
support = true,
requireSkillTypes = { SkillType.Lightning, SkillType.Damage, },
Expand Down Expand Up @@ -17787,7 +17787,7 @@ skills["StarbornOnslaughtPlayer"] = {
}
skills["SupportStyrnsFerocity"] = {
name = "Styrn's Ferocity",
description = "Supports Shield Skills that Hit enemies, causing those Hits to Crush their targets, additionally causing any Physical Damage Hits against those targets while Crushed to Break their Armour.",
description = "Supports Shield Skills that Hit, causing those Hits to Crush their targets, and Physical Hits against those targets while Crushed to Break their Armour.",
color = 4,
support = true,
requireSkillTypes = { SkillType.Attack, SkillType.Damage, SkillType.OR, SkillType.RequiresShield, SkillType.AND, },
Expand Down
9 changes: 8 additions & 1 deletion src/Data/Skills/sup_int.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3182,7 +3182,14 @@ skills["ChaosFrogExplosionPlayer"] = {
[40] = { critChance = 7, levelRequirement = 0, cost = { Mana = 0, }, },
},
preDamageFunc = function(activeSkill, output)
activeSkill.skillData.hitTimeMultiplier = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ToadSpawnInterval") / 1000
local interval = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ToadSpawnInterval")
if interval == 0 then
-- An inactive support cannot spawn toads or deal damage, including ailments.
activeSkill.skillData.hitTimeMultiplier = math.huge
activeSkill.skillModList:NewMod("DealNoDamage", "FLAG", true, "Doedre's Undoing")
else
activeSkill.skillData.hitTimeMultiplier = interval / 1000
end
end,
statSets = {
[1] = {
Expand Down
9 changes: 8 additions & 1 deletion src/Export/Skills/sup_int.txt
Original file line number Diff line number Diff line change
Expand Up @@ -548,7 +548,14 @@ statMap = {

#skill ChaosFrogExplosionPlayer
preDamageFunc = function(activeSkill, output)
activeSkill.skillData.hitTimeMultiplier = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ToadSpawnInterval") / 1000
local interval = activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "ToadSpawnInterval")
if interval == 0 then
-- An inactive support cannot spawn toads or deal damage, including ailments.
activeSkill.skillData.hitTimeMultiplier = math.huge
activeSkill.skillModList:NewMod("DealNoDamage", "FLAG", true, "Doedre's Undoing")
else
activeSkill.skillData.hitTimeMultiplier = interval / 1000
end
end,
#set ChaosFrogExplosionPlayer
#flags spell area triggered
Expand Down
Loading