Skip to content

Commit 8d2f3ee

Browse files
author
LocalIdentity
committed
Implement Sacrifice, Frigid Bond, Guardian's Blessing, Controlled Blaze
1 parent 356ed8b commit 8d2f3ee

File tree

6 files changed

+79
-1
lines changed

6 files changed

+79
-1
lines changed

src/Data/Skills/sup_int.lua

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2600,6 +2600,14 @@ skills["SupportFrigidBond"] = {
26002600
addSkillTypes = { SkillType.DamageOverTime, SkillType.DegenOnlySpellDamage, SkillType.NonHitChill, SkillType.Duration, },
26012601
excludeSkillTypes = { },
26022602
statDescriptionScope = "gem_stat_descriptions",
2603+
statMap = {
2604+
["support_damaging_links_base_duration_ms"] = {
2605+
mod("SecondaryDuration", "BASE", nil),
2606+
div = 1000,
2607+
},
2608+
["support_damaging_links_base_duration_is_gem"] = {
2609+
},
2610+
},
26032611
qualityStats = {
26042612
Default = {
26052613
{ "chill_effect_+%", 0.5 },
@@ -5032,6 +5040,16 @@ skills["SupportSacrifice"] = {
50325040
excludeSkillTypes = { SkillType.HasReservation, SkillType.Vaal, SkillType.Channel, SkillType.Trapped, SkillType.RemoteMined, SkillType.Orb, SkillType.Brand, },
50335041
ignoreMinionTypes = true,
50345042
statDescriptionScope = "gem_stat_descriptions",
5043+
statMap = {
5044+
["support_sacrifice_sacrifice_%_of_current_life"] = {
5045+
mod("Multiplier:SacrificePercent", "BASE", nil, 0, 0, { type = "PercentStat", stat = "LifeUnreserved", percent = 1, actor = "parent" }),
5046+
},
5047+
["support_sacrifice_gain_%_of_sacrificed_life_as_added_chaos_damage"] = {
5048+
mod("ChaosMin", "BASE", nil, 0, 0, { type = "Multiplier", var = "SacrificePercent" }),
5049+
mod("ChaosMax", "BASE", nil, 0, 0, { type = "Multiplier", var = "SacrificePercent" }),
5050+
div = 100,
5051+
},
5052+
},
50355053
qualityStats = {
50365054
Default = {
50375055
{ "chaos_damage_+%", 0.5 },

src/Data/Skills/sup_str.lua

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,17 @@ skills["SupportControlledBlaze"] = {
11611161
addSkillTypes = { },
11621162
excludeSkillTypes = { },
11631163
statDescriptionScope = "gem_stat_descriptions",
1164+
statMap = {
1165+
["support_recent_ignites_ignite_damage_per_recent_ignite_+%_final"] = {
1166+
mod("Damage", "MORE", nil, 0, KeywordFlag.Ignite, { type = "Multiplier", var = "IgniteAppliedRecently", limitVar = "ControlledBlazeRecentIgniteLimit" }),
1167+
},
1168+
["support_recent_ignites_damage_per_recent_ignite_+%_final"] = {
1169+
mod("Damage", "MORE", nil, 0, 0, { type = "Multiplier", var = "IgniteAppliedRecently", limitVar = "ControlledBlazeRecentIgniteLimit"}),
1170+
},
1171+
["support_recent_ignites_max_recent_ignites_tracked"] = {
1172+
mod("Multiplier:ControlledBlazeRecentIgniteLimit", "BASE", nil),
1173+
},
1174+
},
11641175
qualityStats = {
11651176
Default = {
11661177
{ "base_chance_to_ignite_%", 0.5 },
@@ -2564,6 +2575,8 @@ skills["SupportGuardiansBlessing"] = {
25642575
statMap = {
25652576
["aura_skill_no_reservation"] = {
25662577
},
2578+
["support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute"] = {
2579+
},
25672580
},
25682581
baseMods = {
25692582
skill("manaReservationFlat", 0, { type = "SkillType", skillType = SkillType.Aura }),
@@ -2640,6 +2653,13 @@ skills["SupportGuardiansBlessingMinion"] = {
26402653
addSkillTypes = { },
26412654
excludeSkillTypes = { SkillType.MinionsAreUndamageable, SkillType.Triggered, },
26422655
statDescriptionScope = "gem_stat_descriptions",
2656+
statMap = {
2657+
["support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute"] = {
2658+
mod("MinionModifier", "LIST", { mod = mod("PhysicalDegen", "BASE", nil, 0, 0, { type = "PercentStat", stat = "Life", percent = 1 }) }),
2659+
mod("MinionModifier", "LIST", { mod = mod("PhysicalDegen", "BASE", nil, 0, 0, { type = "PercentStat", stat = "EnergyShield", percent = 1 }) }),
2660+
div = 60,
2661+
},
2662+
},
26432663
qualityStats = {
26442664
Default = {
26452665
{ "dummy_stat_display_nothing", 0.25 },

src/Export/Skills/sup_int.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,14 @@ local skills, mod, flag, skill = ...
349349
#mods
350350

351351
#skill SupportFrigidBond
352+
statMap = {
353+
["support_damaging_links_base_duration_ms"] = {
354+
mod("SecondaryDuration", "BASE", nil),
355+
div = 1000,
356+
},
357+
["support_damaging_links_base_duration_is_gem"] = {
358+
},
359+
},
352360
#mods
353361

354362
#skill SupportHexBloom
@@ -683,6 +691,16 @@ local skills, mod, flag, skill = ...
683691
#mods
684692

685693
#skill SupportSacrifice
694+
statMap = {
695+
["support_sacrifice_sacrifice_%_of_current_life"] = {
696+
mod("Multiplier:SacrificePercent", "BASE", nil, 0, 0, { type = "PercentStat", stat = "LifeUnreserved", percent = 1, actor = "parent" }),
697+
},
698+
["support_sacrifice_gain_%_of_sacrificed_life_as_added_chaos_damage"] = {
699+
mod("ChaosMin", "BASE", nil, 0, 0, { type = "Multiplier", var = "SacrificePercent" }),
700+
mod("ChaosMax", "BASE", nil, 0, 0, { type = "Multiplier", var = "SacrificePercent" }),
701+
div = 100,
702+
},
703+
},
686704
#mods
687705

688706
#skill SupportSpellblade

src/Export/Skills/sup_str.txt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,17 @@ local skills, mod, flag, skill = ...
125125
#mods
126126

127127
#skill SupportControlledBlaze
128+
statMap = {
129+
["support_recent_ignites_ignite_damage_per_recent_ignite_+%_final"] = {
130+
mod("Damage", "MORE", nil, 0, KeywordFlag.Ignite, { type = "Multiplier", var = "IgniteAppliedRecently", limitVar = "ControlledBlazeRecentIgniteLimit" }),
131+
},
132+
["support_recent_ignites_damage_per_recent_ignite_+%_final"] = {
133+
mod("Damage", "MORE", nil, 0, 0, { type = "Multiplier", var = "IgniteAppliedRecently", limitVar = "ControlledBlazeRecentIgniteLimit"}),
134+
},
135+
["support_recent_ignites_max_recent_ignites_tracked"] = {
136+
mod("Multiplier:ControlledBlazeRecentIgniteLimit", "BASE", nil),
137+
},
138+
},
128139
#mods
129140

130141
#skill SupportCorruptingCry
@@ -312,6 +323,8 @@ local skills, mod, flag, skill = ...
312323
statMap = {
313324
["aura_skill_no_reservation"] = {
314325
},
326+
["support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute"] = {
327+
},
315328
},
316329
#baseMod skill("manaReservationFlat", 0, { type = "SkillType", skillType = SkillType.Aura })
317330
#baseMod skill("lifeReservationFlat", 0, { type = "SkillType", skillType = SkillType.Aura })
@@ -320,6 +333,13 @@ local skills, mod, flag, skill = ...
320333
#mods
321334

322335
#skill SupportGuardiansBlessingMinion
336+
statMap = {
337+
["support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute"] = {
338+
mod("MinionModifier", "LIST", { mod = mod("PhysicalDegen", "BASE", nil, 0, 0, { type = "PercentStat", stat = "Life", percent = 1 }) }),
339+
mod("MinionModifier", "LIST", { mod = mod("PhysicalDegen", "BASE", nil, 0, 0, { type = "PercentStat", stat = "EnergyShield", percent = 1 }) }),
340+
div = 60,
341+
},
342+
},
323343
#mods
324344

325345
#skill SupportIncreasedDuration

src/Modules/ConfigOptions.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,9 @@ Huge sets the radius to 11.
10611061
{ var = "conditionIgnitedEnemyRecently", type = "check", label = "Have you ^xB97123Ignited ^7an enemy Recently?", ifCond = "IgnitedEnemyRecently", apply = function(val, modList, enemyModList)
10621062
modList:NewMod("Condition:IgnitedEnemyRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
10631063
end },
1064+
{ var = "multiplierIgniteAppliedRecently", type = "count", label = "# of ^xB97123Ignites ^7applied Recently:", ifMult = "IgniteAppliedRecently", apply = function(val, modList, enemyModList)
1065+
modList:NewMod("Multiplier:IgniteAppliedRecently", "BASE", val, "Config", { type = "Condition", var = "Combat" })
1066+
end },
10641067
{ var = "conditionShockedEnemyRecently", type = "check", label = "Have you ^xADAA47Shocked ^7an enemy Recently?", ifCond = "ShockedEnemyRecently", apply = function(val, modList, enemyModList)
10651068
modList:NewMod("Condition:ShockedEnemyRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" })
10661069
end },

src/Modules/ModParser.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2398,7 +2398,6 @@ local specialModList = {
23982398
["grants armour equal to (%d+)%% of your reserved life to you and nearby allies"] = function(num) return { mod("GrantReservedLifeAsAura", "LIST", { mod = mod("Armour", "BASE", num / 100) }) } end,
23992399
["grants armour equal to (%d+)%% of your reserved mana to you and nearby allies"] = function(num) return { mod("GrantReservedManaAsAura", "LIST", { mod = mod("Armour", "BASE", num / 100) }) } end,
24002400
["grants maximum energy shield equal to (%d+)%% of your reserved mana to you and nearby allies"] = function(num) return { mod("GrantReservedManaAsAura", "LIST", { mod = mod("EnergyShield", "BASE", num / 100) }) } end,
2401-
["grants armour equal to (%d+)%% of your reserved mana to you and nearby allies"] = function(num) return { mod("GrantReservedManaAsAura", "LIST", { mod = mod("Armour", "BASE", num / 100) }) } end,
24022401
["warcries cost no mana"] = { mod("ManaCost", "MORE", -100, nil, 0, KeywordFlag.Warcry) },
24032402
["%+(%d+)%% chance to block attack damage for %d seconds? every %d seconds"] = function(num) return { mod("BlockChance", "BASE", num, { type = "Condition", var = "BastionOfHopeActive" }) } end,
24042403
["if you've blocked in the past %d+ seconds, you and nearby allies cannot be stunned"] = { mod("ExtraAura", "LIST", { mod = flag("StunImmune")}, { type = "Condition", var = "BlockedRecently" }, { type = "GlobalEffect", effectType = "Global", unscalable = true }) },

0 commit comments

Comments
 (0)