the unregister_events() proc is used to stop listening for a signal from a previously scanned atom for experiment purposes. if the experi-scanner wasn't used for scanning atoms for physical experiments previously, it would cause a runtime, trying to unregister a signal from a non-existant atom.
* SM: Fix pressure bonus system
Fixes#62124 (Pressure wasn't actually doing anything)
> This is a multiplier meant to be used at low pressures.
> The lower the pressure the higher the multiplier.
> This is to encourage low pressure setups and so cold setups.
> At higher pressures (from around 100 kpa and up) it will max to 1
Current behavior is what follows.
As pressure drops, the multiplier remained at 1 until it dropped to 5.96kPa.
It then very marginally increased until it reaches x1.17 at 0kPa.
This commit introduces a system that solves the constants for the equation
based on human readable parameters, and sets provisional parameters for it. Also makes behavior better match the stated intent.
You can varedit the parameters to see the real effects of changes, just be
sure to proc call update_constants().
Constants default to what amounts to 0 so it fails loud (I WANT TO HEAR SUFFERING -Lemon)
About The Pull Request
If you try using the staff of change, the staff of chaos, the spellblade or the staff of healing as a crewmember, then it'll backfire.
People who can use the staff normally: Apprentices, Wizards, Amateur Magician (from Summon Magic event)
Backfiring is different depending on the staff, each effect is listed below and happens when you try firing the staff.
Staff of change - Wabbajacks the imposter, although they can't become a xeno or a borg.
Staff of chaos - 5% chance to fire the staff at the imposter using it.
Staff of healing - Acts as a medibeam gun to the imposter.
Why It's Good For The Game
Crew getting access to the Staff of Change tends to end in a lot of people becoming xenomorphs or syndicate borgs. It forces the round into a turn for the worse for all antags as xenomorphs have hardstuns, syndicate borgs have emag, greatly improved healing chemicals and powerful weaponary.
Crew getting access to the Staff of Healing results in death being irrelevant. Killing people is no longer a viable tactic as an antagonist because anyone killed, no matter how damaged their body is, can be instantly healed with this staff.
Crew getting access to the Staff of Chaos is like crew getting access to the staff of change and the staff of healing at the same time, only more unpredictable. It's better if they can't reliably use it to get the spells they want as chaos is implied in the name, it becomes russian roulette trying to get the correct bolt as you can also get shot by a bolt of death, instantly killing you.
This is a better alternative to outright removing the staffs or making them usable only by wizards as it gives a quirky use to trying to use them as a crewmember. Maybe not the staff of healing, but fuck the staff of healing.
Changelog
cl
balance: If you try using the staff of change, the staff of chaos or the staff of healing as a crewmember, then it'll backfire. The Staff of change wabbajacks the user, like the pool of change; this means you can't become a xenomorph or a syndicate borg. The Staff of chaos has a 5% chance of firing the bolt directly at the user using it. The Staff of healing now behaves like a medibeam gun to non-wizards trying to use it.
/cl
I was notified about an issue involving tomato soup becoming alcohol due to inheriting water, I rushed to the rescue due to alcohol code being my child. Due to the flavor text of the drink, I remedied it by finally making it have some reference to being like ocean water.
* Fixes emagged ethereals not working
* Ensures mutcolor is properly treated as something without # ahead of it
* gI take it all back (Someone else went in a different direction then me wth mutcolor, adding the sharp instead
of removing it. Just gonna roll back my unneeded stuff. Oh also I found an issue in spraytans, cleaning that up too
Now a short autoplaying video is included, that will explain to the user why they are no longer able to access tgstation resources.
It may be suitable to host the video on tgstation's cdn instead
Right now Atmos Techs (Curators and Miners too) don't have mail options, which results in all your mail being cash.
This both makes the economy hella pointless to Atmos Techs and makes receiving mail just boring.
So I gave them a few things that they can get IC already but I rarely see any Atmos Tech print/produce, mostly to push these tools to be used more often, incentive by exposure I suppose...
The crystal grenades are quite efficient for station maintenance but rarely made.
They are also fun to use, so maybe now when people scream that medbay got bombed they will leave their HFR bunker just for the satisfaction of throwing crystal grenades at medbay to patch the holes and refill the air.
About The Pull Request
Corgi hats used to resist any attempts at removing them from the corgi wearing said hat. This fixes that.
Also fixes#62297 by giving carved pumpkins and blumpkins their own dog_fashion datums.
Why It's Good For The Game
Corgis are now no longer stuck to wearing one hat. Spookifies Ian for Halloween with two amazing pumpkin hats.
image
Changelog
cl
expansion: Spooky headless corgi spirits have been sighted across the Sector!
fix: fixes hats glued to corgis' heads when dressing corgis up
/cl
Any time update_stamina was called, such as being reduced by 0.3 while
unconscious, it would check to see if stat was set. If so, it would then
immediately remove all stamcrit traits, even if these traits were not set
to expire before whatever was causing the stat did.
This allowed players to enter a very brief unconscious period with
the *collapse emote, which would immediately override and remove stamcrit
traits, and be able to move around and act freely as soon as the very
short emote induced unconsciousness finished.
Don't ask how long it took to track this down.
Fixes#61890.
See title.
Other players will no longer see other player's notes when they connect to the server.
Memos will still be shown to admins.
Things that I have tested in the making of this PR:
Notes of a player not being shown to other players definitely work
Notes of a player being shown to a player definitely work.
Memos are still shown to admins.
Closes#62348
This PR removes the manual "Singularity and Tesla for Dummies" from the game. It also removes it from the two places it spawns: Engineering in DeltaStation and an Ice Ruin.
Also this is my first PR and I have little experience with DM so please be nice
Why It's Good For The Game
The Singularity and Tesla engines were removed from the game a while ago, so having these books in game is unnessessary
Also, opening the book shows a huge-ass "Tesla and singularity engines have been removed!" message front and center.
It currently looks like a mess, I tried to mess with it locally and it bugged me how jumbled up everything is.
I moved all the main defines that affects all bots at the top, and the rest organized by bot.
Outfits didn't have an order to the list of items. I started organizing them to be easier to read and find mistakes on #57385 and now I got to job outfits.
The order is based on "priority" as follows:
ID > Uniform > Suit > Backpack > Other clothing in alphabetical order > Pockets > Hands > Others
This makes the interface much more usable, and tries to help introduce the concepts involved in a very complicated system. The current interface is a bit clunky to use, and does not offer much guidance as to what actions are possible, or what the implications of taking them might be. You can't see the readouts at the same time you're tweaking the controls. Many failure states are not warned about, or even made clear when they're actively happening. To this end, this PR provides many very helpful qol changes, listed in the changelog below.
About The Pull Request
Ever since I saw @EOBGames PR this, I've wanted it. I've needed it. I've been delaying some mapwork FOR this. This is an identical PR to #61689, just updated so that it's not conflicting with anything. I've done everything @Krysonism asked for from last time too. That's right spacemen, double beds are back, and more cursed then ever. Cursed to succeed that is!
Why It's Good For The Game
We. Don't. Have. Benches.
Benches are a hallmark of any public space! You can sit on them, sleep on them, stand on them, even sleep on them! Our stations have a ton of chairs, but chairs don't really communicate public that well. Benches do. As for the beds? Well Inept wants them, and you know what? I respect that.
cl
expansion: Sofas now include the Bench Type. These are buildable with 2 metal plates from the crafting menu.
expansion: Beds can now be rotated (flipped), and include the Double Bed Type. Miners can also make Double Pod Beds to really feel like an Alaskan King.
expansion: Bedsheets to match! Try to share those big blankets with a lizard if you see that they're shivering!
code: Stuff that lets you interact with the benches and beds in-game, so that you too can enjoy being a king.
sprites: Ports the Benches and Double Bed sprites from Skyrat
sprites: Flipped Beds
Adds a skillchip found in maint that lets you put brains in washing machines, and scrub em back into good health. Brains now get maximum damage if put in a washing machine OTHERWISE.
VERY heavily inspired by this video:
https://www.youtube.com/watch?v=88po7PY14E8
> I believe having a brain successfully washed should give its brainmob an achievement for exposure of this feature.
can be done in a separate pr
Added a couple components that convert a number into an array of binary digits and viceversa.
May help players mak more complex and advanced components without filtering those lacking knowledge in the binary field.
human huds will no longer runtime and die when prefs aren't initalised
SSEconomy will no longer have to deal with pathed jobs inside accounts
Some of the negative/neutral quirks that use the mind have been relegated to last_mind instead for runtime purposes
Mafia saymode will no longer runtime when someone uses it with no current mafia game
Autolathe secondary_attack will no longer runtime/work only because of runtimes
MULTIPLE CHECKS FOR QDELETED STACKS BEFORE ADDING FINGERPRINTS
More player_list client checks
A lazyinitlist for proximity monitors, as they used lazyremove which nulls the list when it hits zero things in it
A check for cigarettes in case temperature exposure causes a reaction that removes all reagents
Catwalks no longer runtime every time someone walks on them
/obj/machinery/atmospherics/components/binary/crystallizer will no longer runtime on secondary_attack if someone can't interact
cyborg models will no longer assume the thing they're inside is a cyborg and runtime when it isn't (cryopods)
When a simplemob falls into nullspace, it will no longer runtime (goliaths falling into chasms and etc)
runtime fix in techweb.dm when using a card without a sanity check
runtime fix with folders when they have nothing in them
runtime fix with glowing eyes when the LAZYADD doesn't get called in regenerate_light_effets() and so doesn't initalise the list
Adds COMSIG_ITEM_AFTERATTACK_SECONDARY and COMSIG_MOB_ITEM_AFTERATTACK_SECONDARY signals, which are both called by item/proc/afterattack_secondary.
Adds COMSIG_ITEM_PRE_ATTACK_SECONDARY and COMSIG_ITEM_AFTERATTACK_SECONDARY to the list of circuit signal handler presets.
The proc call, set var, and spawn atom components will resolve any weakrefs passed to them in their parameter port, seeing as the list literal component now converts datums into weakrefs.
They can only have electronics inserted if they
are welded shut (if they can be welded)
don't have electronics already and aren't secure
They can only have electronics removed if they
are welded shut (if they can be welded)
are unlocked
are secure (even if they don't have electronics, then it'll create them)
This PR lets player-controlled monkeys make screeching noises using *screech.
Under the hood, this PR also adds a new proc to emotes called, should_play_sound. What this does by default is the same check run_emote used to do with only_forced_audio, but now that it's in a proc you can override it if you want to. Though, let's be real here, this is only going to get used for this PR because the only reason you'd want to bypass that check is if you're doing something for monkeys. The amount of extremely specific circumstances which even warranted something like this could only stem from some stupid monkey/alien specific crap anyway, BUT JUST IN CASE YOU NEED IT, here it is.
Considering all the screeching AI monkeys do, it's a big shame that currently player monkeys can't do similar.
Considering that monkeys are valid salad and that AI monkeys already screech a lot anyway, I don't think letting players get in on the fun is a bad idea. If need be, we can just tune up the sound cooldown on *screech but I don't think it's really that abusable to begin with.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>