Make vehicle modification skill operations smoothly gated to skill #60065
Description
Is your feature request related to a problem? Please describe.
Currently, having insufficient skill for an install/remove/repair operation on a vehicle makes it impossible, largely because as far as I know there is no skill check for success/fail on a part install or modification.
This is part of a project for after 0.G stable, to make skill gain take much longer.
Solution you would like.
Option 1: A crafting skill roll should be a part of any such operation, and we should remove the gating for skill level to allow you to attempt any operation.
- In a first pass implementation it would be all right if this meant you spend the install time, then make a skill roll at the end and, if it fails, the part is not installed and ingredients are unharmed. Ideally welding fuel and expendables might be used up.
- A second pass implementation could determine what portion of the install time will be spent before cancelling out with a failure: roll the success/fail chance at the beginning, and if fail, roll the time taken to find out it's a failure.
- A third pass implementation could also have a random chance of damaging components based on severity of failure. For vehicles this is instead of destroying components, since durability is important and that's a more appropriate failstate.
Option 2: The time to install a part gets longer the further from the required skill level you are, according to the formula time_multiplier = (required_skill_level - current_skill_level + fraction_to_next_level) * 2
.
- If time exceeds a certain high number like a week, the task is designated 'impossible'
- I don't like this as much because it technically lets you attempt some pretty absurd stuff at very low skill levels and involves a hard gate rather than a smooth transition.
In the longer run we should be able to define access to operations based on at least autolearn true/false, and possibly gated to recipes as well. This would make it so that anyone can try to remove a vehicle seat without a guide, but attempting to install an engine is not possible if you lack appropriate skills and proficiencies and don't have a hayne's guide.
Describe alternatives you have considered.
listed above. I do think we need to improve the role of skill in part installation, and looking at the code I don't think either of these are that complex to implement.
A PR that added these could also implement proficiencies for mechanics, or a followup PR. That would help with or even replace the autolearn stuff: for example we could require an 'engines' proficiency to do a full engine replacement, and not allow you to attempt it unless you have the proficiency either yourself or through a reference.
Additional context
The reasoning here is that if we make skill levels take longer to gain, suddenly it will be a very major issue that it takes mechanics 2 to remove a part from a car. There is no way around that requirement, you cannot attempt the action and fail. That's bad simulation, and will go from annoying to play-blocking if it is going to take two weeks to gain that skill level.
There are some places where the actual skill requirement should be reviewed, but this change would make that less pressing and less a matter of debate. Sure maybe it takes mechanics 1 to add a rear-view mirror, and that may be too high, but you'll still be able to try.