Skip to content

Commit d504f29

Browse files
author
LocalIdentity
committed
Change breakdown + add more mods
Adds mods from the 2 support gems that affect movement speed Adds supportf or the Pathfinder node Change breakdown to show % of base movement speed
1 parent 8dafee7 commit d504f29

6 files changed

Lines changed: 25 additions & 11 deletions

File tree

src/Data/ModCache.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2805,7 +2805,7 @@ c["50% less Life Recovery from Flasks"]={{[1]={flags=0,keywordFlags=0,name="Flas
28052805
c["50% less Lightning Resistance"]={{[1]={flags=0,keywordFlags=0,name="LightningResist",type="MORE",value=-50}},nil}
28062806
c["50% less Mana Recovery Rate"]={{[1]={flags=0,keywordFlags=0,name="ManaRecoveryRate",type="MORE",value=-50}},nil}
28072807
c["50% less Mana Regeneration Rate"]={{[1]={flags=0,keywordFlags=0,name="ManaRegen",type="MORE",value=-50}},nil}
2808-
c["50% less Movement Speed Penalty from using Skills while moving"]={{[1]={[1]={type="Condition",var="Moving"},flags=0,keywordFlags=0,name="MovementSpeed",type="MORE",value=-50}}," Penalty from using Skills "}
2808+
c["50% less Movement Speed Penalty from using Skills while moving"]={{[1]={flags=0,keywordFlags=0,name="MovementSpeedPenalty",type="MORE",value=-50}},nil}
28092809
c["50% more Armour from Equipped Body Armour"]={{[1]={[1]={slotName="Body Armour",type="SlotName"},flags=0,keywordFlags=0,name="Armour",type="MORE",value=50}},nil}
28102810
c["50% more Critical Damage Bonus"]={{[1]={flags=0,keywordFlags=0,name="CritMultiplier",type="MORE",value=50}},nil}
28112811
c["50% more Damage against Heavy Stunned Enemies"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="HeavyStunned"},flags=0,keywordFlags=0,name="Damage",type="MORE",value=50}},nil}

src/Data/SkillStatMap.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,12 @@ return {
327327
["movement_speed_+%_final_while_performing_action"] = {
328328
mod("SkillMovementSpeed", "MORE", nil),
329329
},
330+
["support_mobility_movement_speed_penalty_+%_final_while_performing_action"] = {
331+
mod("MovementSpeedPenalty", "MORE", nil),
332+
},
333+
["support_deliberation_movement_speed_penalty_+%_final_while_performing_action"] = {
334+
mod("MovementSpeedPenalty", "MORE", nil),
335+
},
330336
--
331337
-- Defensive modifiers
332338
--

src/Modules/BuildDisplayStats.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,7 @@ local displayStats = {
188188
{ label = "Chaos Resistance", val = "Immune", labelStat = "ChaosResist", color = colorCodes.CHAOS, condFunc = function(o) return o.ChaosInoculation end },
189189
{ },
190190
{ stat = "EffectiveMovementSpeedMod", label = "Movement Speed Modifier", fmt = "+.1f%%", mod = true, condFunc = function() return true end },
191+
{ stat = "MovementSpeedWhileUsingSkill", label = "Skill Movement Speed", fmt = "+.1f%%", mod = true, condFunc = function() return true end },
191192
{ },
192193
{ stat = "PresenceRadiusMetres", label = "Presence Radius", fmt = ".1fm", compPercent = true },
193194
--[[ potentially useful mods

src/Modules/CalcOffence.lua

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2928,21 +2928,27 @@ function calcs.offence(env, actor, activeSkill)
29282928
output.QuantityMultiplier = quantityMultiplier
29292929
end
29302930

2931-
do
2932-
local penaltyMod = m_max((100 + activeSkill.skillModList:Sum("INC", nil, "MovementSpeedPenalty")), 0) / 100
2933-
local base = activeSkill.skillModList:More(activeSkill.skillCfg, "SkillMovementSpeed") or 0
2931+
if activeSkill.skillTypes[SkillType.UsableWhileMoving] then
2932+
local inc = skillModList:Sum("INC", skillCfg, "MovementSpeedPenalty")
2933+
local more = skillModList:More(skillCfg, "MovementSpeedPenalty")
2934+
local penaltyMod = m_max(0, skillModList:Override(skillCfg, "MovementSpeedPenalty") or (1 + inc / 100) * more)
2935+
local base = calcLib.mod(skillModList, skillCfg, "SkillMovementSpeed")
29342936
local total = (1 - base) * penaltyMod
29352937
output.MovementSpeedWhileUsingSkill = (1 - total) * output.MovementSpeedMod
2938+
output.MovementSpeedWhileUsingSkillPercent = (1 - total) * 100
29362939
if breakdown then
29372940
breakdown.MovementSpeedWhileUsingSkill = {
29382941
"Minimum Movement Speed while using this skill",
29392942
"^8(This is the lowest movement speed you will reach while using this skill,",
29402943
"^8subject to acceleration and deceleration)",
2941-
s_format("1 - (%.2f ^8(movement speed penalty from using skill)", 1 - base),
2942-
s_format("x %.2f) ^8(increased/reduced penalty)", penaltyMod),
2943-
s_format("= %.2f", 1 - total),
2944-
s_format("x %.2f ^8(movement speed modifier)", output.MovementSpeedMod),
2945-
s_format("= %.2f", output.MovementSpeedWhileUsingSkill),
2944+
"",
2945+
s_format("%d%% ^8(movement speed penalty from using skill)", 100 - base * 100),
2946+
s_format("x %.2f) ^8(increased/reduced penalty)", 1 + inc / 100),
2947+
s_format("x %.2f) ^8(more/less penalty)", more),
2948+
s_format("= %.1f%% ^8(movement speed penalty)", 100 - output.MovementSpeedWhileUsingSkillPercent),
2949+
s_format(""),
2950+
s_format("100%% - %.1f%% ^8(100 - movement speed penalty)", 100 - output.MovementSpeedWhileUsingSkillPercent),
2951+
s_format("= %.1f%% ^8(movement speed while casting)", output.MovementSpeedWhileUsingSkillPercent),
29462952
}
29472953
end
29482954
end

src/Modules/CalcSections.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,8 +1426,8 @@ return {
14261426
{ label = "Enemy Life Recovery", haveOutput = "EnemyLifeRegen", { format = "{0:output:EnemyLifeRegen}%", { modName = "LifeRegen", modType = "INC", enemy = true }, }, },
14271427
{ label = "Enemy Mana Recovery", haveOutput = "EnemyManaRegen", { format = "{0:output:EnemyManaRegen}%", { modName = "ManaRegen", modType = "INC", enemy = true }, }, },
14281428
{ label = "Enemy ES Recovery", haveOutput = "EnemyEnergyShieldRegen", { format = "{0:output:EnemyEnergyShieldRegen}%", { modName = "EnergyShieldRegen", modType = "INC", enemy = true }, }, },
1429-
{ label = "MS While Casting", { format = "{2:output:MovementSpeedWhileUsingSkill}", { breakdown = "MovementSpeedWhileUsingSkill" }, { modName = { "SkillMovementSpeed", "MovementSpeedPenalty" }, cfg = "skill" }, }, },
1430-
} }
1429+
{ label = "MS While Casting", { format = "{1:output:MovementSpeedWhileUsingSkillPercent}%", { breakdown = "MovementSpeedWhileUsingSkill" }, { modName = { "SkillMovementSpeed", "MovementSpeedPenalty" }, cfg = "skill" }, }, },
1430+
} }
14311431
} },
14321432
-- attributes/resists
14331433
{ 1, "Attributes", 2, colorCodes.NORMAL, {{ defaultCollapsed = false, label = "Attributes", data = {

src/Modules/ModParser.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5697,6 +5697,7 @@ local specialModList = {
56975697
mod("LightningMax", "BASE", 1, { type = "PercentStat", stat = "Mana" , percent = num }, { type = "SkillType", skillType = SkillType.Attack }),
56985698
} end,
56995699
["(%d+)%% reduced movement speed penalty from using skills while moving"] = function(num) return { mod("MovementSpeedPenalty", "INC", -num) } end,
5700+
["(%d+)%% less movement speed penalty from using skills while moving"] = function(num) return { mod("MovementSpeedPenalty", "MORE", -num) } end,
57005701
-- Conditional Player Quantity / Rarity
57015702
["(%d+)%% increased quantity of items dropped by slain normal enemies"] = function(num) return { mod("LootQuantityNormalEnemies", "INC", num) } end,
57025703
["(%d+)%% increased rarity of items dropped by slain magic enemies"] = function(num) return { mod("LootRarityMagicEnemies", "INC", num) } end,

0 commit comments

Comments
 (0)