Incorrect Finesse Multiplier on Electrokinetic Staff

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 from power_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:

[PC] Do You Use Mods? (Optional):

Yes, but I haven’t tried disabling them

Reproduction Rate (Required):

Constant (100%)

Platform (Required):

PC - Steam

7 Likes

This really needs some looking into…
Electrokinetic was the only new staff since V2, and we haven’t had a new staff in 3 years.
Every singe patch / rework this staff falls further and further behind the others

2 Likes