Commit Graph

16 Commits

Author SHA1 Message Date
Qustinnus 74755a5a3a Audio falloff re-work, and increased audio range. (#54362)
imo; the ss13 audio-scape is quite barren, you can only hear most things if you can see them, which in my opinion doesn't make much sense. This changes that so you can hear further away, but falloff is much higher, so in reality you will only hear things relatively quietly when they're out of sight.

This PR increases the hearing distance of most sound by 9, excluding sounds such as antag items that are meant to be used stealthily

This PR also replaces Byond's inbuilt falloff system with something I made, (And thanks to potato for helping me throw together a formula for it). This fall-off system makes sound fall off more naturally, with sounds being full volume within a certain range, and then softly falling off until they are completely quiet. This makes for a smoother transition between "This sound is full volume" and "I dont hear this sound".

Co-authored-by: ff <ff>
2020-10-20 17:14:16 -07:00
Rohesie af65c90125 Mobility refactor: no more update_mobility() (#54183)
This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.

For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.

There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.

The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL

Fixes AIs being able to strip nearby people. They've lost their hands usage.
2020-10-09 16:04:30 -07:00
Jared-Fogle 45c14f6330 Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
2020-08-20 09:11:28 +12:00
necromanceranne 12221be2b9 The Infiltrator Sneaksuit Bundle: Armor for (relatively) Cheap (#49608)
About The Pull Request

Redoing the pull request because it's changed so fucking much. Original over here #49550.

The Infiltrator Bundle is a sneaksuit set that allows the wearer the benefits of a decent armor set at a relatively low price of 6TC. The armor vest paired with the sneaksuit will equal a syndicate hardsuit, but only on the chest. It also carries none of the benefits of the hardsuit, such as EVA.

The bundle comes complete with the following items:

Infiltrator Helmet: It's a insidious helmet. Has flashproofing.
Infiltrator Vest: It's roughly equal to an armor vest, but a lot wearker against lasers and disablers.
Blood-red Sneaksuit: It's the highest armored undersuit in the game, at 10 across the board.
Infiltrator Balaclava: Equal to an explorer mask in armor, and has a diagnostic hud built in. It also distorts your voice, so you always come up as 'Unknown' when speaking, even when you have another ID on. Obviously has anti-syngery with the Agent Card, but you're not wearing this to disguise as other people.
Infiltrator Gloves: Special combat gloves that allow you to fireman carry people more quickly.
Sneakboots: They muffle your footsteps completely!
Carrying Case: Storage container for the full suit and guns if you have them. Guns not included.

Also includes the Sleepytime Pajama Bundle for nukies.

Zawo and I have been passing this between us for a while trying to get this into a good state. Hopefully now it's worth an inclusion.
Why It's Good For The Game

A cheaper alternative to the Syndicate Balloon to indicate to everyone around you that you are probably valid.

A recognizable outfit that proves to be useful in minor ways and provide cheap armor for traitors. Nothing this grants is especially powerful on it's own, but it is a useful for traitors wanting to gain an edge at low cost.
Changelog

🆑 NecromancerAnne and zawo
add: The Infiltrator Bundle, an armor kit for 6TC. Murder people in style!
add: Some pajamas for nukies to get plenty of bed rest.
/🆑
2020-03-17 20:31:31 +13:00
spookydonut beca456c0f Add new lints (#49751)
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-03-09 22:13:48 -07:00
Emmett Gaines 2cf7728494 Removes the bitflag helpers (#49106) 2020-02-03 16:26:00 -05:00
nemvar 39fead370a Removes the absolute istype fest from footsteps (#47030)
* Removes the absolute istype fest from footsteps

* Slightly switches some stuff around. No need for a special xeno proc

* Adds error catcher. Also adds footstep to dark wizzies

* Adds footsteps to sloths

* Brutally murders the initialize footstep proc.

* Footsteps to paperwizard

* Better yet?

* fixes fucky wucky

* Fixes the return value. Makes it easier to follow what's going on.

* flips around conditions

* Now supports strings.

* Moves autodoc
2019-10-16 10:24:41 -04:00
nicbn d0bd17f948 Walking now makes no footstep sound, and xeno footsteps are louder 2019-08-18 12:44:45 -03:00
Rob Bailey 5743c9a748 Dragging prone mobs slows you down, fireman carrying (#44155)
About The Pull Request

Dragging prone mobs (resting, knocked down, stunned, dead, in crit, etc) that aren't buckled to anything slows you down.

You can fireman carry by aggressive grabbing then click dragging onto yourself. This causes a slight speed penalty that is lower than dragging.
Why It's Good For The Game

Prevents the classic "stun and beat the shit out of while zipping off" which is obnoxious and I don't think anybody likes besides the people who do it.
Makes it so if you feel like being a cunt you can rest while being arrested to make you a pain to take back.
Makes it harder to steal bodies and move away before anybody can properly react, but makes dragging bodies riskier at the same time
Fireman carrying adds an element of risk reward, it takes a little while of standing still to pick them up and also slows you down slightly. More useful to move someone a long distance out of a relatively safe area than a quick pull away.
Changelog

cl
add: fireman carrying. Aggressive grab then click drag onto yourself.
tweak: pulling prone mobs slows you down.
tweak: carrying another human slows you down.
tweak: pacifists can aggressive grab.
/cl
2019-06-09 23:54:02 +12:00
nero1024 327d8fbd40 fix footstep sounds from being played while buckled (#42788)
Fixes the crawling sound from being played from moving buckled/mounted mobs.
## Why It's Good For The Game

Apparently I didn't catch the crawling sounds being played from buckled mobs that are moving. Examples include the Janitor on their pimpin' ride or some assistant piggy-backing off of a cyborg.
2019-02-25 15:00:40 +13:00
nero1024 e949346cfd Fixes footstep sounds for downed/lying mobs (#42704)
Nobody made a report but I noticed this issue: Downed players being dragged are playing footstep sounds, specifically the bare footstep sounds via their hands from what I noticed.

Fixes (hopefully) footstep sounds from being played from incapacitated mobs that are being moved (via dragging for example). Instead, lying mobs will play a crawling sound when moving.
## Why It's Good For The Game

Footstep sounds shouldn't be played when mobs are being dragged.
2019-02-10 12:43:55 +13:00
Qustinnus e1d360ff05 [ready] Golem DLC pass 2018 (Adds new golem types) (#41951)
* Bronze golem

* adds creation

ad

* removes shit adds shit

* temp

* fff

* bone, leather and cardboard

* fff

* boneyard

* temp

* ahahahha dumb moron

* adds durathread golem sprites

* reee

* ass

* Auto stash before merge of "golemgang" and "origin/golemgang"

* fix

* uuh

* d

doned

* remove dupe
2019-01-16 13:42:20 -05:00
nero1024 e0bbbca40f Footsteps sounds for bare feet and other mobs (#40981)
Bare feet and other mobs will now make the correct footstep sounds and added new samples to go with them. Added some helpers to is_helpers.dm, mostly for (future) footstep support but maybe someone else can make use of them.

cl Nero1024
soundadd: Bare feet will now make the correct footstep sounds.
soundadd: Other mobs will make the correct footstep sounds.
/cl

As others indicated in the very first footsteps PR other users wanted footstep sounds for barefeet. I also noticed that do_footstep is in a bunch of other mobs, but Ian and Xenomorphs don't wear shoes so I fixed that too.
2018-10-27 13:12:50 +13:00
kevinz000 3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
ShizCalev 009bde3c5e fixes ventcrawling & flying mobs making footstep sounds (#40317) 2018-09-18 11:15:20 -04:00
nicbn 208edbc1b2 Adds footsteps (#39389)
Walking instead of running will reduce the noise, making it now more useful to gameplay.
Plating and wood makes a lot of noise, floor and carpet are quieter.

Range and volume may need to be balanced later on.

Oh, I reorganized some sound files too - the ones beepsky and medbot uses.
2018-08-26 12:52:31 +12:00