Skip to content

Commit 64f026d

Browse files
authored
FEAT: impl hextoad trigger (#9564)
Signed-off-by: Paliak <91493239+Paliak@users.noreply.github.com>
1 parent 7ce8ce5 commit 64f026d

3 files changed

Lines changed: 25 additions & 2 deletions

File tree

src/Data/Skills/sup_int.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3121,6 +3121,12 @@ skills["SupportHextoad"] = {
31213121
ignoreMinionTypes = true,
31223122
plusVersionOf = "SupportCursedGround",
31233123
statDescriptionScope = "gem_stat_descriptions",
3124+
statMap = {
3125+
["hex_zone_trigger_hextoad_every_x_ms"] = {
3126+
mod("HexToadCooldown", "MIN", nil),
3127+
div = 1000
3128+
},
3129+
},
31243130
qualityStats = {
31253131
Default = {
31263132
{ "curse_area_of_effect_+%", 0.5 },

src/Export/Skills/sup_int.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -438,6 +438,12 @@ local skills, mod, flag, skill = ...
438438
#mods
439439

440440
#skill SupportHextoad
441+
statMap = {
442+
["hex_zone_trigger_hextoad_every_x_ms"] = {
443+
mod("HexToadCooldown", "MIN", nil),
444+
div = 1000
445+
},
446+
},
441447
#mods
442448

443449
#skill TriggeredSupportHextoad

src/Modules/CalcTriggers.lua

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,10 +1234,10 @@ local configTable = {
12341234
if env.player.mainSkill.activeEffect.grantedEffect.name == "Autoexertion" then
12351235
env.player.mainSkill.skillFlags.globalTrigger = true
12361236
env.player.mainSkill.skillFlags.skipEffectiveRate = true
1237-
else -- Needed to get the cooldown form the active part
1237+
else -- Needed to get the cooldown from the active part
12381238
-- Autoexertion has cooldown as part of its support part
12391239
-- Not really sure which one should apply here
1240-
-- Applying the one form the active part to be consistent
1240+
-- Applying the one from the active part to be consistent
12411241
-- with skills like Automation and Spellslinger
12421242
for _, skill in ipairs(env.player.activeSkillList) do
12431243
if skill.activeEffect.grantedEffect.name == "Autoexertion" then
@@ -1516,6 +1516,17 @@ local configTable = {
15161516
end
15171517
}
15181518
end,
1519+
["bursting toad"] = function(env)
1520+
-- All gems in the socket group should return the same HexToadCooldown even when there are multiple hextoad support gems slotted
1521+
for _, skill in ipairs(env.player.activeSkillList) do
1522+
if skill ~= env.player.mainSkill and slotMatch(env, skill) then
1523+
local cooldown = skill.skillModList:Min(nil, "HexToadCooldown")
1524+
if cooldown then
1525+
return { trigRate = 1 / cooldown, source = env.player.mainSkill }
1526+
end
1527+
end
1528+
end
1529+
end,
15191530
}
15201531

15211532
-- Find unique item trigger name

0 commit comments

Comments
 (0)