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.
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.
Idea and instructions by @Razharas, many thanks.
This PR only implements the framework required to catalog as well as play the sounds. Their to_chat text, and icons (if any) are not included, are to be pushed in a separate PR.
This PR does not remove the old playsound_local system, it is kept for the sake of not necessitating a direct changeover of every single playsound in the code, which will surely cause a lot of merge conflicts. It does however, replace bike horns' and toy nukes' means of playback to this datum, purely as proof of concept.
Playsound_local may remain in the code to support playback of admin-uploaded sounds that do not have an inherent datum. Playsound will likely be renamed to something else in the next PR to reflect its new, more universal function. We will see.
New process for adding sounds:
Create a new datum/outputs subtype.
If you wish, write down some supporting text; this gives further meaning to the sound.
Add multiple sounds to the sounds list, and weight them as you wish. (New)
Add a sound icon if you wish, it defaults to a generic sound circle anyways though.
playsound(/datum/outputs/new_subtype, receiver), and it will deliver, icon, sound, and text to the receiver.
Maintaining implication is that from now on playsound should only be processing datum/outputs
This pr intends to gut to_chats that are added alongside playsounds in the code.
This pr eliminates the need to initialize sounds in a list so that you can weight them or have the game play them randomly from the list.
Sound Rings
Currently, only mobs with the audiolocation var may view them. Sound icons have an alpha that depends on the volume of the sound, louder sounds create a more opaque image
Sound rings are completely modular and may be changed to any image.
In addition to renaming playsound to reflect its new function. I intend to give blind people sound icons at the cost of their small view, but that is for another PR.
cl Basilman
refactor: refactored how sounds are stored and played
add: Added sound rings and supporting text
/cl
* Update wallets.dm
* Update pockets.dm
* Apply suggestions from code review
For when people forget how sister code works
Co-Authored-By: Trilbyspaceclone <30435998+Trilbyspaceclone@users.noreply.github.com>
* Refactors NODROP flag into TRAIT_NODROP
🆑 coiax
fix: Anti-drop implants can no longer be used to drop objects that they
were not responsible for sticking to a person's hand.
fix: Backfiring with a Barnyard spellbook will now play a spooky horse sound.
refactor: Refactors the way that "NODROP" items work to a new system,
there should be no change in functionality.
/🆑
Various items in the codebase were doing weird hoop jumps in order to
preserve the nodrop flag's state when it also wanted to change it, so I
moved it to a trait system.
I may have gone overboard with the type of unique trait sources, but
those can be changed later. My long term plan is make a general "CURSED"
nodrop origin, which means you can unlock cursed items by being hit with
a bolt of door opening or something. But that's for another PR, this has
no functionality changes, apart from some slightly modified descriptions
on cursed masks.
- Removed a bunch of redundant voice changing code for all the voice
changing animal masks, used two new clothing flags for this purpose.
- Also refactored a bit the animal masks, making new cursed subtypes that play
the sound when created.
* Drop location
🆑 coiax
tweak: Observers are able to see family heirloom messages when examining
objects.
/🆑
I mean, it bugged me the once time that I suspected a random object was
an heirloom, but had to use VV to check.
cl
add: Added a new antagonist, the Creep!
add: Chosen from a random event, the Creep will become obsessed with one person, feeling amazing around them and terrible when they aren't. They will have objectives to steal heirlooms, take pictures, hug, and kill coworkers. They also have to kill the obsession but some objectives can only be completed while the obsession is alive, requiring you to protect the obsession!
/cl
There really is no reason to betray people, generally. Maybe some stuff with security and traitors working things out, but a traitor based around betrayal and the general insane creep idea is just cool.
One Creep can show up, and they get objectives to mess with their obsession leading to the obsession's death. Here is their objectives:
A random creepy objective. It could be taking a photo with them in it, hugging them, etc
After your are done with your objectives, kill them. you can't complete the objectives when they are dead!
Creeps do not get the determination mood. Instead, when they are around their obsession, they feel AMAZING! If they are around too long, they will stutter, cough, and generally spaghetti out when talking near their obsession. So if you are going to talk near them, do it when you aren't entranced.
* Removes smugglers satchels
I love the cutie reading this
* remove smuggler's satchel from code
* removes all smugglers' satchel persistence code
* removes remaining things
storage component for smugglers, the miracle ruin (uses smugglers), the dme
cl Floyd / Qustinnus
tweak: You now have to be naked to get the nice shower moodlet, if you shower with clothes you get a bad moodie
add: Hygiene, you slowly become dirty over time, the more covered in blood you are the faster you will lose hygiene. When you are too dirty you will have a stink overlay. (Hygiene doesn't affect mood currently) It also spawns miasma slowly if you smell like shit.
add: adds NEET and neat traits. NEET's get 20 bucks social welfare extra and like being unhygienic, while neat people dislike being unhygienic and like being hygienic
/cl
This doesn't affect mood so plssss dont strawman in this PR about how I'm forcing you to shower or die or whatever
This PR is mostly visual and will allow for people to judge others for literaly being smelly as hell.
also NEET and neat traits which interact with being smelly. (neat likes hygiene, dislikes lack of it. NEETs like lack of hygiene and get some social welfare (20 bucks))
cl coiax
add: Uplink pens now require two seperate rotations to unlock. This also
applies to failsafe codes.
/cl
With only 359 combinations on an uplink pen, it's crackable given a
small amount of time. With two, it's now 92,981 combinations, which
is more secure than PDA uplink codes (899 * 26 = 23,374).
🆑 coiax
fix: A player who bag of holding bombs now correctly has their
ckey entered in the admin log, and admin messages.
/🆑
The mob was gibbed (and thus destroyed) before the message
was being sent.
cl coiax
fix: Dead monkeys now produce miasma.
/cl
Previously any time there was a dead monkey, it would constantly runtime with incompatible component warnings.
In other words, you can now dance.
@subject217
cl
experimental: Mobs now turn towards anything grabbing them when they move.
experimental: Mobs are shifted towards anything grabbing them based on move state too. You can now dance by grabbing each other!
/cl
* Christmas code changes
🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑
The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.
Added unlimited christmas tree with presents, for testing.
Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.
Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!
Gifts determine what type is inside them on initialization, rather than
when unwrapped.
- Reasoning -
Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.
Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.
* Missed a merge
* Adds present investigate logs, and visible messages
* Use the body+mind checking of mob.has_trait
* Less globals, more static vars on types; also event renaming
* Gibs now rot and generate miasma
🆑 coiax
add: Gibs will now rot if not cleaned, and produce small amounts of miasma, approximately
equal to a quarter of a corpse.
/🆑
Miasma is fun. Gives the janitor more of a reason to do work. It will only become
dangerous if you have a lot of gibs in a small space. So better keep those Hopline shutters
open.
* Rot component, for things that rot
* Whoops
* No longer processes, so doesn't need to stop
GENETICS
The random hexadecimal rng game has been replaced with gene sequencing from goon.
Adds mutation activators and mutators
You can now store mutations
Everyone now has their own set of unique mutations
Limited mutations per person to 8 (including one always being monkey)
Adds race specific mutations (See fire breathing for lizads)
You can inspect discovered mutations, undiscovered mutations use an alias to recognize them by
Adds a sequence analyzer. Can be used to scan someones genes sequence. Useful for determing what mutations they can safely have and or collecting data for very difficult sequences
Adds mutation combining. It's currently only RADIOACTIVE + STRONG = HULK (So yes you will now need 2 mutations for to get hulk)
Adds several other mutations. Telepathy, firebreath, glowy, radioactive and strength
cl Time-Green
add: Goon genetics!
add: More mutations! Fire breath for lizards! Radioactive! Telepathy! Glowy! Strength, though its cosmetic and should be combined with radioactivity instead! Fiery sweat!
add: Adds void magnet mutation by @tralezab !
/cl
cl coiax
add: Heirlooms are no longer named "Cherry family bag of dice", but
rather their heirloom status can be determined by the owner on examine.
/cl
Because names are inherent to an object when anyone looks at it, I feel
it can be somewhat confusing that you can tell that this screwdriver
is a precious family heirloom just because of its name, rather than
because of the significance that someone holds it.
Only the owner of the heirloom receives the special examine text; so I'm sure this could probably be used to bluff ownership of something non-standard, if and when heirlooms become more exotic.
Heirlooms still work in the same way though, mood bonus from holding, mood penalty if you don't have it.
Provides an alternative to click-dragging.
The on_alt_click() proc wasn't ever used, but seemed to be ready for replacing
the AltClick() overload from sabre sheath. I kept that part and added
fingerprints to it as well, and it is still good to go (if it really was)
whenever someone bothers.
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
* Tendrils are now structure based
* Re-adds tendril wipe achievement
neatens up ash walker variables
gets rid of unnecessary variables in hivelord
* Marks spawner children as admin spawned
* Add files via upload
* oops
* Species restriction attempt #1
* species restriction test
hope this goes well
* first one didn't work (who'dathunkit)
* Add files via upload
* Add files via upload
* Update code/datums/components/uplink.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update code/datums/components/uplink.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update flashlight.dm
* Add files via upload
* L A M P
* Update uplink_items.dm
* why the hell did it add two paragraph ends
* Update code/modules/uplink/uplink_items.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update uplink.dm
* Update code/modules/uplink/uplink_items.dm
Co-Authored-By: CRTXBacon <34610106+CRTXBacon@users.noreply.github.com>
* Update uplink_items.dm
* Update uplink_items.dm
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl
Fixes#40203
Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
image
I originally was going to cut stun/paralyze duration instead but since none of them will now hard stun I think it's fair for them to keep their original duration/power as knockdown.