Bring melee stat displays closer to reality#4358
Conversation
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20218739883.zip |
eda10b9 to
83f91be
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20219393637.zip |
83f91be to
5475c70
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20219694945.zip |
5475c70 to
6800e33
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20219741861.zip |
6800e33 to
33c5d18
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20250727555.zip |
33c5d18 to
4e79d7f
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-20282003141.zip |
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-21805020287.zip |
N7Huntsman
left a comment
There was a problem hiding this comment.
No issues in my testing, but some small potential improvements that could be made:
- If the melee attack doesn't have a sharp AP value, we can probably just list "0" instead of displaying the calculation for the AP value (that amounts to 0 anyway).
- Could hide the 'adjusted for weapon' line in the DPS screen if it's the same as the weapon base damage and/or if it doesn't have quality to factor in (like for natural weapons and implants).
- Could also hide the "damage variation" line if there's no actual variation (this appears to be the case for pawns that don't actually have a Melee skill, like mechs and animals).
Our current melee stat displays leave much to be desired: * The "Melee DPS" stat shown prominently for pawns is an unpatched vanilla stat, which doesn't take CE's damage scaling into account. * The stuff a weapon is made of isn't factored into stats, which impacts not just damage and cooldown but also the chance to pick a given tool relative to other tools. * The armor penetration stat shown for humans doesn't consider the wielded weapon. So: * Patch the MeleeDPS stat to use our StatWorker. * In StatWorker_MeleeDamageAverage and StatWorker_MeleeArmorPenetration, use the pawn's list of melee verbs when computing the stat for a pawn, since the available verbs impact their weighting relative to each other. For instance, a pawn wielding a club may still choose to fight with fists some % of the time, but won't do so if wielding a masterwork longsword. * Always obtain melee verbs from `VerbUtility.GetAllVerbProperties` when computing stats for a single weapon (which may be wielded by a pawn), so that damage, cooldown and tool use chance can be computed via `VerbProperties` helpers that take stuffing into account. * Show the chance to use a given tool in the armor penetration stat explainer for clarity.
fbc07f5 to
9e5d2cb
Compare
|
You can download the rebuilt assembly for this PR here: https://combatextended.lp-programming.com/CombatExtended-26372266864.zip |
Changes
VerbUtility.GetAllVerbPropertieswhen computing stats for a single weapon (which may be wielded by a pawn), so that damage, cooldown and tool use chance can be computed viaVerbPropertieshelpers that take stuffing into account.References
Links to the associated issues or other related pull requests, e.g.
Reasoning
Our current melee stat displays leave much to be desired:
Testing