mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 09:03:37 +00:00
## About The Pull Request I've tweaked some elements of unarmed fighting to give it additional interactions between the various components, bridging them into a more coherent system and focusing more strongly as tool for disabling opponents nonlethally. ### Shoving Shoving guarantees that unarmed attacks will land while knocked off-balance (AKA when slowed by a shove). Being off-balance means that you can be knocked down from a punch if you have taken enough brute and stamina damage combined (at least above 40). Being off-balance makes you vulnerable to grabs while you have a moderate amount of stamina damage (30 damage), forcing you to have to resist even passive grabs. This pairs _exceptionally_ well with tackling. ### Grappling Grappling someone makes your unarmed attacks penetrate armor based on a new limb value called ``unarmed_effectiveness``. This is something shared by kicking. ### Unarmed Attacks in General ``unarmed_effectiveness`` has also taken over the functionality of ``unarmed_stun_threshold``, as well as accuracy calculations. Human equivalent limbs (pretty much all of them except mushrooms and golems) have a value of 10. Now, ``unarmed_effectiveness`` determines how accurately a given limb makes unarmed attacks. Unarmed attacks have a base inaccuracy of 20%, with effectiveness acting as a reduction to this value. (so for humans, that's 20% - 10% before any value changes from brute and stamina damage). It is also capped at 75% miss chance, just to avoid those weird instances of two brawling fighters being incapable of finishing each other off at a certain amount of damage and it being real awkward, like it does currently. It also determines the base probability of landing a knockdown punch. For humans, this is 10%. For the most part, these two particular changes are roughly equivalent to the current values, just handled in a way that is more straightforward to understand from a code perspective. In addition to the above, human equivalent limbs have higher damage floors for unarmed attacks. Arms deal 5-10 damage, while legs deal 7-15 damage. In addition, kicks also deal stamina damage, like punches do. ### Minor Mentions Golems and Mushroom People (who don't even use their limbs for their unarmed strikes because mushroom people start with a martial art) have very accurate punches, and their punches penetrate quite a bit of armor when they are entitled to that. They also have a high knockdown probability. This is partially because they previously already _had_ these features due to the wonky math at play, but also because this is their big thing they are good at. Carp mutation also got a big win out of this as well. If and when you actually manage to get that to work and matter. ## Why It's Good For The Game My favorite thing in this game is the robustness of unarmed fighting. It's the part of the game that actually acknowledges the sandbox and environmental interaction in a big way. The only problem with the unarmed combat is that it is a bit disjointed, and often much weaker than using even the most pathetic weapon you can get your hands on unless you're using the stun loops available. Those loops get a bit boring, even if they're mostly all environmental (except for the lucky neckgrab finish). Giving more options generally means that even when not in an ideal position, you still have _some_ options. It also has some internal inconsistencies in design even in the same proc, like accuracy calculations and knockdowns, as well as weird splits in damage. So I decided to resolve that. Now, every part of unarmed fighting has some relevance in the other parts. Predominantly, it is heavily favoured towards dealing stamina damage, making unarmed combat very favourable as a nonlethal method of taking someone down, which is something we currently lack considerably. While people may still opt to simply beat someone into actual crit rather than stop at stamina crit, the possibility is actually entirely available and supported now. No just banking on a lucky neckgrab after a shove. Paying attention to damage dealt and thinking intelligently about how you apply combinations of effects allows even someone on the significant back foot an opportunity for a comeback if they know what they're doing against even armed opponents. Separating accuracy and knockdown effectiveness from damage allows for more consistent design and readability, but also preventing weirdness ike tighter damage spreads increasing knockdown probabilities as well as increasing accuracy without the coder knowing why. This also lets us make unarmed attacks just that little bit stronger. Since unarmed attacks require more complicated combinations to work, I think this won't make them stronger than weapons necessarily, but it will make for more interesting swung fights. ## Changelog 🆑 add: With the flood of Chi within the Spinward Sector receding, various masters of The Tunnel Arts, colloquially known as 'Maint-fu Masters', have started to refine the basics of their martial techniques. New forms have started to develop within Spacestation 13's hidden maintenance dojos. add: Someone shoved off-balance makes them vulnerable to more guaranteed unarmed strikes, knockdowns from a successful punch, and more difficult to escape grabs. add: Grabbing someone (as well as kicking them while they're on the floor) makes them more vulnerable to taking unarmed attack damage, even if they have armor. balance: Unarmed strikes made with human-equivalent limbs have higher damage floors, meaning you overall do more damage on average while not increasing the overall damage potential. It's more consistent! refactor: Significantly changed how punching accuracy and knockdowns are calculated. balance: Golem and mushroom limbs are a lot more effective at punching as a result of these various changes. As they should be. /🆑