Issue Type (Required):
Weapons
Issue Description (Required):
EK Finesse
Per the in-game Attack Pattern view, an Electrokinetic Staff’s RMB does 660 base damage, and on a crit does:
- 1064 damage to unarmored, infested, unyielding, and maniac
- 858 to flak
- 772 to carapace
And a weakspot hit (ignoring that EK can’t hit weakspots, at least to my knowledge):
- 858 damage to unarmored, infested, unyielding, and maniac
- 772 to carapace
However, this appears to be using the default finesse multiplier rather than boost_curve_multiplier_finesse = damage_lerp_values.lerp_1, as this line is outside of the target brackets, which means it’s outside the index, and is thus ignored.
default_target = {
boost_curve = PowerLevelSettings.boost_curves.default,
},
boost_curve_multiplier_finesse = damage_lerp_values.lerp_1,
},
force_staff_damage_profile_templates.lua - line 906-910
versus the LMB on the same staff:
targets = {
default_target = {
boost_curve_multiplier_finesse = 1.5,
boost_curve = PowerLevelSettings.boost_curves.default,
finesse_boost = {
[armor_types.unarmored] = 0.75,
},
},
},
force_staff_damage_profile_templates.lua - lines 84-92
No other weapon appears to have boost_curve_multiplier_finesse outside of the target brackets. It seems like this was copied from the Smite damage templates, which cannot crit or hit weakspots, but never changed for critical hits.
targets = {
default_target = {
boost_curve = PowerLevelSettings.boost_curves.default,
},
boost_curve_multiplier_finesse = damage_lerp_values.lerp_1,
},
psyker_damage_profile_templates.lua - lines 417-469
Below is some ancillary math about the missing damage.
Using the default values for a hypothetical RMB weakspot hit:
power_level_settings.default_finesse_boost_amount = {
[armor_types.unarmored] = 0.5,
[armor_types.armored] = 0.5,
[armor_types.resistant] = 0.5,
[armor_types.player] = 0.5,
[armor_types.berserker] = 0.5,
[armor_types.super_armor] = 0.5,
[armor_types.disgustingly_resilient] = 0.5,
[armor_types.void_shield] = 0.5,
}
power_level_settings.lua - lines 142-151
And bearing in mind the default boost curve:
power_level_settings.boost_curves = {
default = {
0,
0.3,
0.6,
0.8,
1,
},
}
power_level_settings.lua - lines 123-131
With no listed finesse_boost, it falls back to the default of 0.5, which equates to 0.6 on the curve. This is expected. But the boost_curve_multiplier_finesse also defaults to 0.5, rather than using the lerp value.
858 = 660 * 1.3
1.3 = (0.6 * 0.5) + 1
So 0.6 from the curve * the default of 0.5.
The 772 for carapace is accounted for by the 0.9 ADM.
Assuming the lerp value is used instead, with 1 instead of 0.5:
660 * (1+(0.6 * 1)) = 1056
Comparing to the LMB from above, with a base damage listed as 138 and a weakspot of 304:
138 * (1+(0.8 * 1.5)) = 303.6, rounded to 304.
Extrapolating this into critical hits, which the EK staff can actually do:
- The crit damage increase for an 80% crit EK is 24% (0% for flak and carapace)
- Base damage of 660
- Expected damage of 1064 for unarmored, infested, unyielding, maniac
- Expected damage of 858 for flak
- Expected damage of 772 for carapace
660 * (1 + 0.24) = 818.4
818.4 * (1+(0.5 * 0.6)) = 1063.92
As flak and carapace do not have a crit_mod, they use the default of 0.5, which becomes 0.6 on the curve.
Using lerp_1, it becomes:
660 * (1 + 0.24) = 818.4
818.4 * (1+(1 * 0.6)) = 1309.44
Whereas a crit for EK’s LMB:
- Crit mod of 31.5% rather than 24%
- Expected damage of 345 for non-unyielding/carapace enemies
- The 0.75 finesse_boost doesn’t apply to crits, only weakspots (
local use_finesse_boost = not damage_profile.no_finesse_boost and hit_weakspot); instead we use 0.5 frompower_level_settings.default_crit_boost_amount = 0.5, which is 0.6 on the curve
138 * (1 + 0.315) = 181.47
181.47 * (1+(1.5 * 0.6)) = 344.793, rounded to 345
For a sanity check, the same LMB on Voidstrike, using the default crit_armor_mod of 0.25 with an expected outcome of 328:
138 * (1 + (1.5 * 0.6)) = 327.75
This raises a secondary question: should the crit_mod for EK’s LMB replace the base crit_mod or add to it? As it stands, it seems to overwrite the crit_armor_mod from the basic force_staff_ball with the crit_mod from the staff, resulting in weaker LMB crits than default if the critical bonus is below 50 (damage_profile.lua - lines 205-220).
Sources:
- damage_calculation.lua
- damage_profile.lua
- damage_profile_settings.lua
- force_staff_damage_profile_templates.lua
- power_level_settings.lua
- psyker_damage_profile_templates.lua
- weapon_handling_templates.lua
[PC] Do You Use Mods? (Optional):
Yes, but I haven’t tried disabling them
Reproduction Rate (Required):
Constant (100%)
Platform (Required):
PC - Steam