Grabs required for crush scale with size
Summary
None
Purpose of change
Any creature with a grab can theoretically suffocate you, even if there is a massive size difference. Mostly this is relevant when the player is very, very big
Describe the solution
Grabbers required has gone from: tiny/small/medium/large/huge 2/2/2/2/2 to 1/1/2/3/4 Only characters with mutated different sizes will be affected, otherwise the grabber requirements remain 2 and all calculations are the same as before.
Oxygen loss scales to as before, relative to the required grabbers.
Changed out the magic numbers for the crush_grabs_req variable so it can be a one-line change in the future if we want to recalculate this
Describe alternatives you've considered
Factoring in the grabber's size as well? The same enum-->integer cast could be used
Scale by grab_strength?
Testing
Got a new character grabbed, ran through it, oxygen loss values were as expected. (character was torn to shreds dozens of turns before oxygen loss was a problem)
Additional context
Honestly this is not a serious problem, since your character can just swat the enemies away like flies. A character has to crushed for upwards of 82 turns (avg vs 2 zombies, 0 walls) before damage even starts being applied. But I was already looking at the code and found ways it could be better. So I made it better. Yay.
I also considered the idea that TINY characters should just be pancaked instantly by a zombie 10x their size, but I guess that wouldn't be very fun.
grab_strength is a bit on the magic side, I wouldn't add more functions to it.
Scaling off the grabbers' size (or the size difference) would be a good idea, though instead of setting the limit it could determine if the given grabber counts as a crush source - ex. tiny grabbing mobs can't crush normal characters but might just be enough for a mouse mutant.
You've only playtested large? It looks like playing a tiny or small character would become practically impossible.
Meleeing as a tiny mutant (30ish kg bodyweight) would be deadly, which is an important distinction. All the usual force multipliers are still there.
You've only playtested large? It looks like playing a tiny or small character would become practically impossible.
If the tiny mutant is strangled for two whole minutes by its opponent, then, sure you can call it "practically impossible".
Literally all you have to do is break the grab or kill the zombie sometime within that two minute window.
Tiny characters will generally have very high dodge and dexterity scores, which should help them deal with grabs being more dangerous.
Rebased to resolve the build error from the bad commit it was on.
Scaling off the grabbers' size (or the size difference) would be a good idea, though instead of setting the limit it could determine if the given grabber counts as a crush source - ex. tiny grabbing mobs can't crush normal characters but might just be enough for a mouse mutant.
I like the idea, but eh... not a lot of desire to do any more work on this right now. Would be a cool followup PR if either you or anyone reading is willing 😉