Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dwarfism and gigantism traits, vehicle disability aids #70393

Merged
merged 39 commits into from
Dec 30, 2023
Merged

Add dwarfism and gigantism traits, vehicle disability aids #70393

merged 39 commits into from
Dec 30, 2023

Conversation

worm-girl
Copy link
Contributor

@worm-girl worm-girl commented Dec 23, 2023

Summary

Features "Adds extreme height chargen traits, adds tools for disabled drivers"

Purpose of change

#70184 made height interaction with vehicles more dynamic. This naturally suggests doing more with the system. This PR also fixes a few leftover bugs from that one.

Describe the solution

  • Adds very tall and very short traits at chargen. The heights expressed by these traits (88cm to 250cm) are certainly extreme, but within the bounds of real-life human expression. These allow you to start in the small or large size category, but don't introduce stat changes like the existing mutations do - people like Jason Acuña or Yao Ming are exceptional, but very different from a guy who is turning into a bear or a mouse.
  • These traits do adjust your stomach size, calorie requirements, and the amount of weight you can carry. The very tall trait will cause high blood pressure ( More pharmacological expansion infrastructure work + a few new drugs #70239 ) once that's possible, but that can wait for another PR.
  • Very Tall and Very Short change to Large and Small respectively, so if you're a mod creator getting pinged for review it's because I had to copy the new traits to your mods.
  • Adds new flags to standard vehicle controls, NEED_LEG and INOPERABLE_SMALL. You need at least one working leg to drive a car and you can't do it if you're too short to reach the pedals. These flags are currently only being applied to the standard vehicle controls item, no need to worry about bicycles or anything.
  • Adds hand controls for vehicles ( https://youtu.be/tkdWr_Ie0Ec? ). These will let you drive if you're small or tiny, or have broken or missing legs, and are pretty easy to install and remove.
  • Adds pedal extenders and makeshift pedal extenders for vehicles. These are just rubber (or wooden) pads that you clamp (or duct tape) to the pedals so you can drive even if you're short.
  • Adds the CARGO_PASSABLE flag to a few storage spaces that needed it. Fixes Players can no longer "fit" into wheelchairs and drive them #70369 . I have left the flag off of the garbage can because it's a huge 350ml plastic bin and probably shouldn't be boardable at all, but that's an issue for another day.
  • Adds pedal extenders and hand controls to hospitals and (much more rarely) garages, cars, automotive stores, big box stores, etc.
  • Adjusts a comment in the aisle json to suggest that it's about .5m and not 1m square for parity with other vehicle parts. See comments below Dumpster and vehicle storage #70184 . This doesn't affect anything but may prevent confusion in the future.
  • Placed a couple of pedal extenders and hand controls around in the world. These are quite rare items IRL, especially pedal extenders. You can occasionally find both in mechanic shops, and every once in a while hand controls will appear in a dump or a recycling center.
  • Added recipes for all 3 mobility aid items. None are very hard to make, though the hand controls do require a bit of welding.
  • fixes I can't fit through a broken car door #70502
  • Sneaks in a small fix for an issue where grab+pushing appliances and vehicles was giving you the cramped space effect
  • Slightly upgrades capacity of car seats so that large people can (uncomfortably) fit in reclining and bench seats. They cannot fit in non-reclining seats unless the spot is not enclosed

Describe alternatives you've considered

It might be tempting to add bonuses or maluses to very tall and very short on top of what's there, as conditions like gigantism can come with all kinds of complications, but given the wide diversity of causes for extreme height in real life, and the freeform nature of our chargen system I think it's best to leave that in the hands of the player. As such I've left the terms vague (very short and very tall vs gigantism or what have you) and given them minimal knock-on effects.

I'll also be leaving very short and very tall out of the pool of random traits for NPCs, as I believe the incidence of these would be too small to be correctly modeled by our random NPC trait system. It'd be weird if every fiftieth guy you ran into was a little person. I suggest we add a static NPC or two to the world to show off these traits if we'd like them represented.

Testing

  • Crafted, installed, uninstalled, and reinstalled all the car parts
  • Tested that each car part works fine if you don't need it but there happens to be one installed
  • Tested that the parts work if you do need them
  • Tested that you can't drive if you don't
  • Tested this on controls other than "vehicle controls". Saw that these mobility aids (designed for gas/brake pedals only) don't matter for things like sails or bicycles
  • Saw that small characters can still ride bicycles (kids ride bikes all the time!)
  • Mutated back and forth to the existing small and large mutations, with and without very tall and very short as starting traits. Worked fine
  • Tested with remote vehicle controls to ensure there was no conflict
  • Tested AFS, Magiclysm, Dinomod mutations to make sure they still work
  • Tested 12/29 bugfixes, including new seat size, travois and wooden box flags, and preventing APPLIANCE and OBSTACLE parts from improperly squishing the player when pushed

Additional context

image

IDEAS FOR FUTURE PRS: Maybe doctor's offices should have mobility aids? But they'd probably need a specific place to go and their own item group. There are also stores that sell just these kinds of things. It might also be fun to make electronic vehicle controls that use a video game controller or something.

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Vehicles Vehicles, parts, mechanics & interactions Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies [C++] Changes (can be) made in C++. Previously named `Code` <Bugfix> This is a fix for a bug (or closes open issue) <Enhancement / Feature> New features, or enhancements on existing astyled astyled PR, label is assigned by github actions labels Dec 23, 2023
@github-actions github-actions bot added Crafting / Construction / Recipes Includes: Uncrafting / Disassembling Spawn Creatures, items, vehicles, locations appearing on map labels Dec 25, 2023
@worm-girl worm-girl marked this pull request as ready for review December 25, 2023 08:18
@github-actions github-actions bot removed the astyled astyled PR, label is assigned by github actions label Dec 25, 2023
worm-girl and others added 11 commits December 25, 2023 00:21
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@worm-girl worm-girl reopened this Dec 25, 2023
@github-actions github-actions bot added json-styled JSON lint passed, label assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Dec 25, 2023
@worm-girl
Copy link
Contributor Author

Alright, I think we're all set. The remaining test failures are the same old overmap stuff, not related to this PR.

@LyleSY
Copy link
Contributor

LyleSY commented Dec 29, 2023

Love it, thanks for patching the mods as part of this

@github-actions github-actions bot removed the astyled astyled PR, label is assigned by github actions label Dec 29, 2023
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Dec 29, 2023
@kasanryukin
Copy link
Contributor

kasanryukin commented Dec 30, 2023

So this is visible since it's related to your vehicle changes: A filled non-cargo tile (like an aisle, door, or a seat) becomes impassable when full.
image

It pretty much renders the extra storage those tiles normally allow to be useless in large vehicles with a traversable interior space.

@worm-girl
Copy link
Contributor Author

worm-girl commented Dec 30, 2023

That"s not true of doors, and is very much the point for seats and aisles. You are making a decision about whether to store things there or have it be a passable space. You can't have both.

It's also not relevant to this PR. Please make an issue if you have a bug or suggestion to report.

@kasanryukin
Copy link
Contributor

With the two height traits, are they a requirement of selecting the trait, or can chargen be altered so that heights with-in those ranges automatically apply the trait? For example, setting your character's height between 88cm and 120cm would assigned you the very short trait?

@worm-girl
Copy link
Contributor Author

worm-girl commented Dec 30, 2023

With the two height traits, are they a requirement of selecting the trait, or can chargen be altered so that heights with-in those ranges automatically apply the trait? For example, setting your character's height between 88cm and 120cm would assigned you the very short trait?

You must pick the trait. Your height is bounded as before from 145 to 200cm, and the trait is applied on top of that. Your new height is determined relative to the initial height you chose. This is how the Large and Little traits already work in the game, you just can't normally select them from chargen.

You can see your final height in your character sheet in the last tab, so you shouldn't be surprised to discover that you're four feet tall.

@Maleclypse Maleclypse merged commit a6117dc into CleverRaven:master Dec 30, 2023
@Maleclypse
Copy link
Member

Adds new flags to standard vehicle controls, NEED_LEG and INOPERABLE_SMALL. You need at least one working leg to drive a car and you can't do it if you're too short to reach the pedals. These flags are currently only being applied to the standard vehicle controls item, no need to worry about bicycles or anything.
Very cool, so are you thinking about doing anything with Gastropod foot preventing or needing alternative bicycle pedals in the future? I need to get back to body parting the rest of the limb mutations sometime.

@worm-girl
Copy link
Contributor Author

worm-girl commented Dec 31, 2023

Adds new flags to standard vehicle controls, NEED_LEG and INOPERABLE_SMALL. You need at least one working leg to drive a car and you can't do it if you're too short to reach the pedals. These flags are currently only being applied to the standard vehicle controls item, no need to worry about bicycles or anything. Very cool, so are you thinking about doing anything with Gastropod foot preventing or needing alternative bicycle pedals in the future? I need to get back to body parting the rest of the limb mutations sometime.

With bicycles and gastropod foot, I left the old solution in place. That means for now, you can't use your gastropod foot to ride a bike, but you can use it to operate the gas and brake pedals in a car, since that only needs one working "leg". I'm not sure that's appropriate (it might work? I could picture someone doing it if they had like a snake tail instead of legs, but a gastropod foot is a bit more unwieldy) but I couldn't think of one elegant solution that fit all cases. Definitely open to suggestions here.

I also want to come back later and make pedal extenders not work for tiny characters, as they're like toddler-sized. I also think there should be a way for a huge character to custom-build a vehicle seat they can fit in, but I'm not totally certain how that would work. Maybe it would just need to be a super heavy part, or we could create a high roof which could also be used for things like semi trailers?

@kasanryukin
Copy link
Contributor

kasanryukin commented Dec 31, 2023 via email

@worm-girl
Copy link
Contributor Author

worm-girl commented Dec 31, 2023

That's what the hand controls are, which were added in this PR.

@titusvalid
Copy link

200 CM lanky guy no mutations cant get through windows, surely thats not intended

@worm-girl
Copy link
Contributor Author

worm-girl commented Dec 17, 2024

200 CM lanky guy no mutations cant get through windows, surely thats not intended

It is.

Largeness seems to be confusing players which is why I suggested the trait be removed. You are not a tall guy, you have gigantism. The window is intended to be a squeeze even for a medium sized person, Robert Wadlow stands no chance.

Being large is giving you a number of advantages, especially in combat. Not being able to fit through tight spaces is a very minor disadvantage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` Crafting / Construction / Recipes Includes: Uncrafting / Disassembling <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Mods: Aftershock Anything to do with the Aftershock mod Mods: Dinomod Anything to do with the Dinoclysm mod (DinoMod) Mods: Magiclysm Anything to do with the Magiclysm mod Mods Issues related to mods or modding Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies Spawn Creatures, items, vehicles, locations appearing on map Vehicles Vehicles, parts, mechanics & interactions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

I can't fit through a broken car door Players can no longer "fit" into wheelchairs and drive them
6 participants