Skip to content

Commit a38c690

Browse files
LocalIdentityLocalIdentity
andauthored
Fix Skill Speed not affecting Totem Placement Speed (#1432)
Skill speed also affects totem placement speed Also fixed a number of supports and buff skills that weren't affecting Warcry Speed Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent 1474566 commit a38c690

8 files changed

Lines changed: 45 additions & 21 deletions

File tree

src/Data/ModCache.lua

Lines changed: 17 additions & 17 deletions
Large diffs are not rendered by default.

src/Data/SkillStatMap.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,8 @@ return {
534534
},
535535
["skill_speed_+%"] = {
536536
mod("Speed", "INC", nil),
537-
mod("WarcrySpeed", "INC", nil),
537+
mod("WarcrySpeed", "INC", nil, 0, KeywordFlag.Warcry),
538+
mod("TotemPlacementSpeed", "INC", nil),
538539
},
539540
["cast_speed_+%_granted_from_skill"] = {
540541
mod("Speed", "INC", nil, ModFlag.Cast),

src/Data/Skills/act_int.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3084,6 +3084,8 @@ skills["ChargeRegulationPlayer"] = {
30843084
statMap = {
30853085
["charge_mastery_skill_speed_+%_final_with_frenzy_charges"] = {
30863086
mod("Speed", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
3087+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
3088+
mod("TotemPlacementSpeed", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
30873089
},
30883090
["charge_mastery_crit_chance_+%_final_with_power_charges"] = {
30893091
mod("CritChance", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "PowerCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
@@ -21035,8 +21037,10 @@ skills["TrinityPlayer"] = {
2103521037
["trinity_damage_+%_final_to_grant_per_50_resonance"] = {
2103621038
mod("ElementalDamage", "MORE", nil, 0, 0, { type = "Multiplier", var = "ResonanceCount", div = 30 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
2103721039
},
21038-
["trinity_attack_speed_+%_while_all_resonance_is_at_least_250_to_grant"] = {
21040+
["trinity_skill_speed_+%_while_all_resonance_is_at_least_250_to_grant"] = {
2103921041
mod("Speed", "INC", nil, 0, 0, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
21042+
mod("WarcrySpeed", "INC", nil, 0, KeywordFlag.Warcry, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
21043+
mod("TotemPlacementSpeed", "INC", nil, 0, 0, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
2104021044
},
2104121045
["quality_display_trinity_is_gem"] = {
2104221046
-- Display only

src/Data/Skills/sup_dex.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2114,6 +2114,8 @@ skills["SupportFerocityPlayer"] = {
21142114
statMap = {
21152115
["skill_consume_frenzy_charge_to_gain_skill_speed_+%_final"] = {
21162116
mod("Speed", "MORE", nil, 0, 0, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
2117+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
2118+
mod("TotemPlacementSpeed", "MORE", nil, 0, 0, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
21172119
},
21182120
},
21192121
baseFlags = {
@@ -3187,6 +3189,8 @@ skills["SupportMultishotPlayer"] = {
31873189
},
31883190
["support_scattershot_skill_speed_+%_final"] = {
31893191
mod("Speed", "MORE", nil),
3192+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry),
3193+
mod("TotemPlacementSpeed", "MORE", nil),
31903194
},
31913195
},
31923196
baseFlags = {
@@ -3228,6 +3232,8 @@ skills["SupportMultishotPlayerTwo"] = {
32283232
},
32293233
["support_scattershot_skill_speed_+%_final"] = {
32303234
mod("Speed", "MORE", nil),
3235+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry),
3236+
mod("TotemPlacementSpeed", "MORE", nil),
32313237
},
32323238
},
32333239
baseFlags = {

src/Export/Skills/act_int.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,8 @@ statMap = {
216216
statMap = {
217217
["charge_mastery_skill_speed_+%_final_with_frenzy_charges"] = {
218218
mod("Speed", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
219+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
220+
mod("TotemPlacementSpeed", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "FrenzyCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
219221
},
220222
["charge_mastery_crit_chance_+%_final_with_power_charges"] = {
221223
mod("CritChance", "MORE", nil, 0, 0, { type = "StatThreshold", stat = "PowerCharges", threshold = 1 }, { type = "GlobalEffect", effectType = "Buff", effectName = "Charge Infusion" }),
@@ -1306,8 +1308,10 @@ statMap = {
13061308
["trinity_damage_+%_final_to_grant_per_50_resonance"] = {
13071309
mod("ElementalDamage", "MORE", nil, 0, 0, { type = "Multiplier", var = "ResonanceCount", div = 30 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
13081310
},
1309-
["trinity_attack_speed_+%_while_all_resonance_is_at_least_250_to_grant"] = {
1311+
["trinity_skill_speed_+%_while_all_resonance_is_at_least_250_to_grant"] = {
13101312
mod("Speed", "INC", nil, 0, 0, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
1313+
mod("WarcrySpeed", "INC", nil, 0, KeywordFlag.Warcry, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
1314+
mod("TotemPlacementSpeed", "INC", nil, 0, 0, { type = "MultiplierThreshold", var = "ResonanceCount", threshold = 250 },{ type = "GlobalEffect", effectType = "Buff", effectName = "Trinity" }),
13111315
},
13121316
["quality_display_trinity_is_gem"] = {
13131317
-- Display only

src/Export/Skills/sup_dex.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -488,6 +488,8 @@ statMap = {
488488
statMap = {
489489
["skill_consume_frenzy_charge_to_gain_skill_speed_+%_final"] = {
490490
mod("Speed", "MORE", nil, 0, 0, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
491+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
492+
mod("TotemPlacementSpeed", "MORE", nil, 0, 0, { type = "MultiplierThreshold", var = "RemovableFrenzyCharge", threshold = 1 }),
491493
},
492494
},
493495
#mods
@@ -719,6 +721,8 @@ statMap = {
719721
},
720722
["support_scattershot_skill_speed_+%_final"] = {
721723
mod("Speed", "MORE", nil),
724+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry),
725+
mod("TotemPlacementSpeed", "MORE", nil),
722726
},
723727
},
724728
#mods
@@ -732,6 +736,8 @@ statMap = {
732736
},
733737
["support_scattershot_skill_speed_+%_final"] = {
734738
mod("Speed", "MORE", nil),
739+
mod("WarcrySpeed", "MORE", nil, 0, KeywordFlag.Warcry),
740+
mod("TotemPlacementSpeed", "MORE", nil),
735741
},
736742
},
737743
#mods

src/Modules/CalcOffence.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,8 @@ function calcs.offence(env, actor, activeSkill)
666666
if skillModList:Flag(nil, "SkillSpeedIncreasedPerGreenSupport") then
667667
modData = lookupModData("SkillSpeedIncreasedPerGreenSupport")
668668
skillModList:NewMod("Speed", "INC", greenSupportCount * modData.value, modData.source)
669+
skillModList:NewMod("WarcrySpeed", "INC", greenSupportCount * modData.value, modData.source)
670+
skillModList:NewMod("TotemPlacementSpeed", "INC", greenSupportCount * modData.value, modData.source)
669671
end
670672
if skillModList:Flag(nil, "SkillCritChanceIncreasedPerBlueSupport") then
671673
modData = lookupModData("SkillCritChanceIncreasedPerBlueSupport")

src/Modules/ModParser.lua

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -745,7 +745,7 @@ local modNameList = {
745745
["warcry speed"] = { "WarcrySpeed", keywordFlags = KeywordFlag.Warcry },
746746
["attack and cast speed"] = "Speed",
747747
["use speed"] = "Speed",
748-
["skill speed"] = { "Speed", "WarcrySpeed" },
748+
["skill speed"] = { "Speed", "WarcrySpeed", "TotemPlacementSpeed" },
749749
["reload speed"] = { "ReloadSpeed", flags = ModFlag.Attack },
750750
["dps"] = "DPS",
751751
-- Elemental ailments
@@ -2229,6 +2229,7 @@ local specialModList = {
22292229
["(%d+)%% more skill speed while off hand is empty and you have a one%-handed martial weapon equipped in your main hand"] = function(num) return {
22302230
mod("Speed", "MORE", num, {type = "Condition", var = "UsingOneHandedWeapon"}, {type = "Condition", var = "OffHandIsEmpty"}),
22312231
mod("WarcrySpeed", "MORE", num, {type = "Condition", var = "UsingOneHandedWeapon"}, {type = "Condition", var = "OffHandIsEmpty"}),
2232+
mod("TotemPlacementSpeed", "MORE", num, {type = "Condition", var = "UsingOneHandedWeapon"}, {type = "Condition", var = "OffHandIsEmpty"}),
22322233
} end,
22332234
["(%d+) rage regenerated for every (%d+) mana regeneration per second"] = function(num, _, div) return {
22342235
mod("RageRegen", "BASE", num, {type = "PerStat", stat = "ManaRegen", div = tonumber(div) }) ,

0 commit comments

Comments
 (0)