CleverRaven / CleverRaven/Cataclysm-DDA

Information about damaged vehicle parts is not useful

Open
#24,239 4 comments 5 reactions 0 assignees View on GitHub
<Suggestion / Discussion> Info / User Interface stale Vehicles
Dominant language
C++
Stars
13.1k
Forks
4.6k
Avg merge
2d 1h
Merged PRs (30d)
200

Description

Game version: 0.C-28906-g128e0e5172

### Expected behavior

The "Most damaged" and "Needs repair" fields of the vehicle screen help me with deciding how to best repair my vehicle.

### Actual behavior

The "Most damaged" field is not very useful for vehicles with broken security system (I seem to use those vehicles very often), because it keeps showing this part, even though I don't care that it's broken. Also, removing this part is relatively hard (requires electronics and mechanics of 4), so you can be stuck with this field showing no useful information for a while.

The "Needs repair" field shows a part that can be repaired with the current crafting inventory, but ignores skill requirements. That seems to be backwards to me: if I only need to craft bone glue to repair some part, then I want to see that part, because I can easily repair it. On the other hand, if repairing some part requires higher skill than I have, then I can't easily repair it, so I don't want to see it here. Especially if this means that it's hiding part that I can repair.

Also, the part that's shown as "Needs repair" is based on highest *integer* damage, while damage colors are based on precise floating-point damage. This means that the shown part might not be the one that's most damaged according to its color (especially since integer damage has four possible values, but colors are based on thirds).

What do you think?

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating the vehicle screen and the code selecting “Most damaged” and “Needs repair”, then reproduce cases involving broken security systems, skill-gated repairs, and integer versus floating-point damage. Done means the desired selection behavior is agreed, implemented, and covered by relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.