Cataclysm-dda: Failed attempts to descend from a single story rooftop deal the same damage as stepping or leaping from a single story rooftop.

Created on 15 Feb 2020  路  1Comment  路  Source: CleverRaven/Cataclysm-DDA

Describe the bug

Failed usage of the Climb Down command is treated identically to jumping from the same height. Issue mostly applies to descents from a single story building.

Steps To Reproduce

  1. Create a character without the Parkour Expert trait.
  2. Climb a rooftop and use the Climb Down command until a failure occurs.
  3. Walk off the same ledge.
  4. Compare the range of damage.

Expected behavior

Botching the landing from a failed attempt at a controlled climb dealing less damage than leaping off the ledge.

Additional context

"Climbing Down" from a rooftop involves sitting down on or lying prone next to the ledge, lowering oneself down to hang from the ledge and dropping a shortened distance to the ground, ideally feet first. This would reduce the height of the fall by 1.0-2.5 meters depending on what stage of the maneuver the failure occurred during.

Seeing as a single story in the United States is around 3.5 meters this makes for a significant reduction the distance you would fall from shorter buildings.

Stepping or Jumping off a ledge is an uncontrolled maneuver that would result in a fall from greater height (due to the character standing up rather than lying near or hanging from the ledge) and a much higher probability of a change in orientation during the fall (due to momentum carried over from stepping\jumping off a ledge)

The difference between the two maneuvers would obviously become less pronounced as the height of the fall increased. Being 1-2 meters lower when the fall occurs isn't going to do much if you're on the 8th story.

(S2 - Confirmed) <Bug> Balance Character / Player Z-levels

Most helpful comment

pertinent additional information.

the iexamine code that determines what happens when climbing down from a roof:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/src/iexamine.cpp#L4249-L4281

the method that determines fall_damage_mod:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/src/player.cpp#L1711-L1737

Some evaluations of this logic:

  • A naked character (zero encumbrance to torso/legs) with a dexterity of 8 needs a dodge skill of 2 to be guaranteed not to take damage while attempting to climb down.
  • A barely encumbered (5 torso, 9 legs -- basically light casual clothes) character with a dexterity of 8 needs a dodge skill of 3 to be guaranteed not to take damage while attempting to climb down.
  • A moderately encumbered (28 torso, 16/9 legs -- the starting loadout for a police sniper) character with a dexterity of 8 needs a dodge skill of 6 to be guaranteed not to take damage while attempting to climb down.
  • A moderately encumbered (same as above) character with a dexterity of 8, dodge skill of 0, and the parkour expert trait is guaranteed not to take damage while attempting to climb down.

The requirements to reliably avoid damage while carefully climbing down from a rooftop seem inexplicably stringent, and the chance for damage is rather high if you aren't very close to the threshold to have no chance to take damage. And the damage taken when it does happen is pretty consistently extreme.

I think this definitely needs looking into.

>All comments

pertinent additional information.

the iexamine code that determines what happens when climbing down from a roof:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/src/iexamine.cpp#L4249-L4281

the method that determines fall_damage_mod:
https://github.com/CleverRaven/Cataclysm-DDA/blob/master/src/player.cpp#L1711-L1737

Some evaluations of this logic:

  • A naked character (zero encumbrance to torso/legs) with a dexterity of 8 needs a dodge skill of 2 to be guaranteed not to take damage while attempting to climb down.
  • A barely encumbered (5 torso, 9 legs -- basically light casual clothes) character with a dexterity of 8 needs a dodge skill of 3 to be guaranteed not to take damage while attempting to climb down.
  • A moderately encumbered (28 torso, 16/9 legs -- the starting loadout for a police sniper) character with a dexterity of 8 needs a dodge skill of 6 to be guaranteed not to take damage while attempting to climb down.
  • A moderately encumbered (same as above) character with a dexterity of 8, dodge skill of 0, and the parkour expert trait is guaranteed not to take damage while attempting to climb down.

The requirements to reliably avoid damage while carefully climbing down from a rooftop seem inexplicably stringent, and the chance for damage is rather high if you aren't very close to the threshold to have no chance to take damage. And the damage taken when it does happen is pretty consistently extreme.

I think this definitely needs looking into.

Was this page helpful?
0 / 5 - 0 ratings