The War on Stun Based Combat Phase II
About The Pull Request
A massive change in gameplay that affects more than just disarm. Hopefully in an interesting way.
There's two parts to this, part 1 is that disarm's functionality has been entirely stripped out and replaced with essentially a new purpose: Shoving.
Shoving is the new action that occurs when clicking on people while in the disarm intent.
Shoving someone pushes them one tile away from you. If there is otherwise nothing blocking them, they are slowed down very slightly for 3 seconds. If you shove someone again while they are slowed, it knocks ranged weapons out of their active hand. I'm not sure about this part and may buff or remove it depending on how it works in practice.
If the blocking tile has a table on it, they're pushed onto it knocking them over for 3 seconds. If it has another human on it, it knocks them both over, the collateral victim for 1 second instead of 3. If the tile is otherwise blocked besides them, it knocks them down for 3 seconds. All knockdowns cause you to drop items, and do not stun at all and can be immediately crawled away from.
However, once knocked down, if you are shoved again it paralyzes for 4 seconds. This is the same length as the old disarm push. It cannot be chained or extended, shoving them again while they're paralyzed does not extend the length of the paralyze. Once it ends, the person will be up and moving.
Now you might be thinking, why would I want to shove someone unless they're against a wall?
Here's part 2:
Moving into someone in a hostile intent no longer pushes them. They'll stay where they are and your movement is blocked. If you want to get someone out of the way, you need to shove them.
Why It's Good For The Game
Changes a previously RNG based mechanic that was basically just spammed until you got that lucky "I win" roll into a positioning based utility that has a point to use in many situations. Livens up simple melee combat and makes fighting in confined areas more lively and unpredictable. Introduces some new epic gamer strats, I've been playing around and it's pretty fun.
Also why not try something really crazy and see what happens? If it's shit it can be reverted :^)
Changelog
Special thanks to whoneedsspace, the inventor of the singlecap, for deshitcodifying this hard.
cl
add: Disarm has been reworked, instead of an rng based system instead it pushes people away from you. If their movement is blocked it knocks them over. Shoving someone twice quickly will knock ranged weapons out of their hands.
del: Moving into humans while in a hostile intent no longer pushes them.
tweak: Passive grabs need to be resisted out of while on the ground, and can't be directly crawled out of
/cl
cl Basilman
fix: Added a cooldown for datum outputs
/cl
also added an arg called do_owner in playsound that lets the owner of a datum output be different from the atom that plays it, chiefly used for component/squeak so that you can apply the component directly to any single atom without having to fuck with said atom's datum_outputs list so that it can properly play the sound, since the datum output is already stored within the datum component itself.
also send_info now returns true or false based on whether it's cooling down or not, i dont like this and i initially just had a var for whether it's cooling down or not but raz said it saves a var so i guess whatever ill just have it like that
* (deriuqer) yrammuS
* Also this
* Guess I'll do it this way, then
* You can hit the arms now, too
* Update code/game/mecha/mecha.dm
requested by ShizCalev, committed by Zxaber
Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>
* Update mecha.dm
* commited a comment
Turns out brute causes bleeding. Tox does not, so the damage can be
stopped before they go into crit with tox. Stops Ethereals from dying
to low charge to prevent SSD deaths.
* Does the stuff
* Changes, see following post.
* Sending the eye to "null" deletes it, apparently
Leme go ahead and fix that
* Oh, that don't work that way.
* requested change
Anything I put here looks like ShizCalev typed it.
Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>
* Update ai.dm
* "zero" change in this one
get it?
* Update code/modules/mob/living/silicon/ai/ai.dm
Requested by Cobble, committed by Zxaber
Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>
X-Ray vision can no longer be obtained via a random gene sequence at
roundstart. X-Ray now has 35 instability, up from 25. A new gene,
thermal vision, has been added to genetics. You can create X-Ray vision
by mixing Thermal Vision and Radioactive together.
Requiring the gene to be mixed:
- Further timegates it
- Reduces the odds that it will be available in a given round of n length
- Means that you will NOT be able to circumvent the instability, as you
will never have the gene naturally
Bumping the instability:
- Means X-Ray now takes up a whole 1/3rd of your instability by itself
- Is a serious decision, since you can not circumvent the instability
(see above)
Thermal vision is just a strictly worse xray
* Fixes runtime from attempting checking armor on missing bodypart, changes how ran_zone selects a zone.
* Update code/modules/mob/mob_helpers.dm
pickweight ran_zone is no longer percentage-based
Co-Authored-By: Militaires <ahmedosama2001@gmail.com>
* adds check to second return too
* look how they massacred my boy
randmut() had no params which was causing a runtime. Looking into it further,
this looks to have just been left-over code, since it's all duplicated in
species/on_hit for them anyway.
Wrangler and owner of angry pet geese and other angry birds here.
People think geese are assholes, and they are. But they are predictable assholes who understand certain body language. Here's some advice:
Don't:
• Break eye contact: Eye contact is super important to geese and if you look away, they take it as a sign of weakness and an invitation to attack and dominate you. Wearing sunglasses also counts as being a wimp, to a goose. • Run away: Don't turn away or try to run away for the same reasons as above, the goose will take it as a sign you are afraid and attack. • Be silent: Geese talk to each other all the time to tell each other where they are and what's going on. They are freaked out by silence. Talking in a normal tone might reassure them that you aren't a threat • Back down: If they come at you, don't back down! Fight that asshole goose, or it will be emboldened to keep attacking you or others
Do:
• Spread your arms out: You look bigger and it's a gesture of aggression (geese open their wings slightly before fighting) and if you advance on them like that they may back down • Hiss: This is aggressive and they might decide to back down • If they come at you, grab them by the neck: Geese totally hate being grabbed by the neck. Don't grab and squeeze, just grab lightly and they'll get freaked out and run away • Grab their beak: If you're coordinated enough you can grab them by the beak when they come into bite you too, they also hate this. Bonus if you get them with their beak open, geese tongues are cool to touch • Stand slightly to the side to avoid being punched by their wing... wrists? They love to come in swinging with their wings after grabbing you, but if you stand slightly to the side while hanging on to their beak/neck, they can't catch you straight on with their wing punches
Also remember you're a person and it's just a goose. The worst thing it can do is nip you with its beak or wing punch you, which doesn't even really hurt!
Once you start to notice the habits and body language of geese, you can actually end most conflicts peacefully without having to fight. Even my most aggressive gander was a sweetheart if you just communicated with him in the right way. Sometimes he was totally just trying to start shit to look dominant though, and then I had to pin him down and sit on him until he calmed down, otherwise he'd just keep punching me with his wings. What a lovable dick, I miss him.
Changelog
cl
fix: Buckle objects can now properly specify lying angle
fix: Wheelchairs and other such vehicles let you use UIs even if your legs don't work
fix: You can now pull objects while in a wheelchair even if your legs don't work
fix: You no longer have a chance of sleeping upside down in a bed
tweak: No longer randomises lying direction a second time on fall
/cl
code: simplified can_stand code
fixes#41703