* Organ removal ends metabolizing reagents in the organ (#53619)
If an organ contains reagents it will end metabolizing them on removal.
* Organ removal ends metabolizing reagents in the organ
Co-authored-by: NightRed <nightred@gmail.com>
* fixes xenobio camera runtimes (#53618)
code was trying to bitwise & with an area instance instead of the flags of said instance
* fixes xenobio camera runtimes
Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
* Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition] (#53530)
Adds a mapping helper for piping, it works on all layers, works on all colors, and it autoconnects to other pipe devices. making it extremely useful.
Making mapping less of a massive fucking clusterfuck of burnout is always good.
Mappers can now use Smart Pipes, pipes that autoconnect to other pipes, like redstone! MAPPERS ONLY!
* Smart Pipes : Mapping Revolution [Golden Edge Awards 2020 Edition]
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
* Fixes several things not unlocking when hit with an ID in a tablet. (#53600)
The following will now be unlockable by hitting them with an ID in a tablet:
Bots
Express supply console
Air Alarms
* Fixes several things not unlocking when hit with an ID in a tablet
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* Merge pull request #53620 from Dennok/connector-cap-fix
Fix connector double cap. Now really. (Lemon's note, the last fix didn't properly well, fix things. Wrong arguments being passed, ect. this should do it, as it properly clears old overlays now.)
fix#53437
bugs is bad
* Connector cap fix
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* limb disabled refactor (#53374)
Fixes#53219
Nukes is_disabled()
Turns several variable value changes into events.
bodypart_disabled turned into a boolean value.
BODYPART_DISABLED_WOUND turned into TRAIT_DISABLED_BY_WOUND. Not the cleanest thing out there, but it works.
Cleans some code and reduces number of updates, as only the extremities have a disabled effect.
* limb disabled refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* Fix chemicals not recognizing end of metabolization (#53550)
* Fix chemicals not recognizing end of metabolization
* Make generic to all organs
* Fix chemicals not recognizing end of metabolization
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Fixes pretty much all spells having 10 times longer cooldowns than intended. (#53598)
* Feex
* It's Delta Time!
* Someone smarter than I has spoken!
* Fixes pretty much all spells having 10 times longer cooldowns than intended.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Adds rollerskates, wheely can do tricks (#53497)
This turns wheelys into a skateboard subtype so they are no longer a copy paste of old skateboard code. They have lower stability compared to skateboards.
I've also made a whole bunch of small adjustments in the process to make skateboard code cleaner and more modular, such as turning the improvised skateboard to its own subtype so that construction steps don't need to be overwritten for all subtypes
Adds two subtypes of wheelys:
-Rollerskates: more stable than wheelys but slow you down when the wheels are retracted
-Skishoes: For skiing! Only work on snow, obviously
I wanted to add some fun alternatives to skateboards with their own drawbacks, and the ski shoes were an opportunity to do something fun for icemoon maps
* Adds rollerskates, wheely can do tricks
Co-authored-by: Mickyan <38563876+Mickyan@users.noreply.github.com>
* Fixes a runtime for ModPCs running Plexagon Access Management without a secondary card slot (#53597)
As said by the title.
Also fixes an oversight where the Plexagon HR Core app (job management) was reading worn ID rather than inserted ID.
Also adds names to differentiate between primary and secondary card readers so both show on the screwdriver remove menu.
Also makes using IDs on a modPC actually call the InsertID proc, so that having the secondary ID come first in the list of parts doesn't give it priority.
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
* Fixes a runtime for ModPCs running Plexagon Access Management without a secondary card slot
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Fix sleep lint and use tabs in hilberthotel.dm (#53586)
* Fixes master lint and makes hilberthotel.dm use tabs instead of spaces
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Add feedback for alt clicking atmos machinery (#53510)
When you alt click atmos machinery, you will usually do something along the lines of maxing out the pressure output on a pressure pump.
This adds a chat message when you do.
* Add feedback for alt clicking atmos machinery
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Adds native chilly peppers to icebox flora. (#53544)
Now, icebox has a native plant that can be picked on the surface level, where the sunlight reaches highest, and rarely seen underground, and provides you chilly peppers. Traditionally a chili pepper mutation, the theme was close enough that I felt it'd be a good fit for the map, and helps break up the monotony of the map being ice, rock, and more ice with some harvest able flora.
* Adds native chilly peppers to icebox flora.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Remove references to old singularity machines (#53509)
Removes the singularity generator and the particle accelerator. The former had no sprite, and the latter only existed because of a leftover type path. This does not affect gameplay at all.
Removes the "Start Singularity" verb that was only intended for debug use.
Fixes#53508.
* Remove references to old singularity machines
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Merge pull request #53578 from msgerbs/air-alarm-fix
Fixes air alarm operating modes not working
* Fixes air alarm operating modes not working
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* fixes a copy+paste error in synthcode (#53573)
handle_body() was called when handle_mutant_bodyparts() should have been called instead. I've fixed this issue.
I've also doc'd the disguise_fail_health variable, because the comment that's currently next to it doesn't accurately describe what the variable actually does.
* fixes a copy+paste error in synthcode
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Fix portable_atmospherics runtiming on mapload (#53575)
* [READY]Canisters no more give runtime error on shuttle loading
Co-authored-by: Dennok <Deneles@yandex.ru>
* Merge pull request #53013 from Ghilker/reactions-go-BRRRR
The scope of this PR is to add new and interesting stuff to the atmos crew and to bring more people to it both old and new.
This PR adds 5 new gases, a bunch of reactions (i'm still working on this but suggestions are useful), new recipes and items to the atmosians arsenal. These gases have high utility for everyone, atmosians will find them useful to do their job both as firefighters and air maintenance.
FINAL GAS NAMES (will change only if a maintainer ask about it)
Healium
Proto Nitrate
Cyrion B
Halon
Hexane
reactions avaiable in this PR: https://drive.google.com/file/d/1e6DZlBaKSCNdCADKnrH3F3aDWvl0iZr4/view
What the PR add:
-Healium: a red gas, stronger than n2o if breathed, with healing properties
-Proto Nitrate: a green inert gas if breathed but with different reactions with various gases at high temperatures
-Cyrion B: a black deadly gas if breathed that decompones very fast if exposed to N2 even at minimal amounts
-Halon: a light blue gas that when used in a fire it will suck up the O2 and will help cool the room, helping fighting the fire
-Hexane: a purple gas that has the ability to filter from the air plasma and n2o, useful to clean distro from the harmful gases quickly
-Healium Crystal: a reddish crystal that when broken will explode cooling the room and removing the plasma from the air (act like a grenade)
-Proto Nitrate Crystal: a greenish crystal that when broken will explode refilling a space with O2 and N2
-Cyrion B Crystal: a blackish crystal that when broken will explode dealing damage around it
-Metallic hydrogen recipe addition (atmosian armor and fireaxe)
-Statue of an elder atmosian (for bragging rights)
-Supermatter Interactions
-More gas interactions (Roinnel have multiple and different interactions)
-New RPD device: the pressure valve, a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure it's getting atomized
-Fusion is a bit "easier" to start (minor changes to the math so that the instability is more reasonable)
-pluox can be also made without using rads
-cyrion-b bounty
-all 5 gases can be sold to cargo
More stuff needs to be added (like the SM interactions(added) and probably more reactions and breathe reactions)
Please leave suggestions and feedbacks as it helps improve the PR
Atmos desperately need more content and need to be proactive in the making of its tools, with this PR is a start to more atmos content
🆑
add: hydrogen + rads = trit
add: 5 new gases
add: Healium : made from Bz + Freon + cold, it knocks people down but have healing properties
add: Proto Nitrate : made from pluox and H2 + heat, it has different reaction with a bunch of other gases
add: Cyrion B : made from hypernoblium + stimulum around 0°C, it has heavy damage if breathed but is decomposed rapidly by N2
add: Halon : made from bz + trit + cold, it reacts with O2 at high temperature removing it and cooling the air, helping putting out fires
add: Hexane : made from bz + H2 + cold, it reacts with plasma and n2o and removes them from the air mix, filtering them.
tweak: stimulum no longer require plasma
add: canister sprites, gas sprites
add: crystal from gases formation and reaction
add: new metallic hydrogen recipes
add: elder atmosian statue
add: supermatter interactions
tweak: minor changes to fusion math to make it "easier" to start
add : pluoxium can be also made without using rads (not removing the rad production one) (this also produces a minimal amount of h2)
tweak: lowered hypernoblium min temperature of reaction
tweak: metallic hydrogen production more common
add: cyrion-b bounty
add: all 5 gases are up to selling
/🆑
* Add 5 new gases, related interactions/items/content, changes parts of fusion
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fix incorrect proc signature for /mob/living/proc/Life (#53565)
#52981 changed how Life() procs were called. It also forgot to
re-define the Life proc signature after doing so. This gives Life the
appropriate signature.
Our intended breathing mechanic of once every 4 life ticks became every
single life tick, effectively making mobs breathe 4 times as often as
they should. Oh, my dear Atmos subsystem, how you must be crying in
pain!
* Fix incorrect proc signature for /mob/living/proc/Life
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Merge pull request #53521 from ATH1909/hardsuitbuff
The gem-encrusted hardsuit no longer slows you down while you wear it.
* The gem-encrusted hardsuit no longer slows you down while you wear it.
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
* Again crystal invasion fix, why edition (+ balancing because why not) (#53559)
* In the jungle, the mighty jungle the lion sleeps tonight
* AHHHHHH
* fix on the define
* even better define
* changes
* better define measurements and use
* better define name
* Again crystal invasion fix, why edition (+ balancing because why not)
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Fixes shuttle catastrophe triggering when Build Your Own Shuttle kit purchased and ghosting people (#53532)
The Shuttle Catastrophe event now checks for the /obj/docking_port/mobile/emergency/shuttle_build subtype rather than checking for a specific mobile docking port name when checking to see if it should spawn. This should keep Shuttle Catastrophe from triggering when Build Your Own Shuttle has been purchased and ghosting/qdeling everyone and everything onboard.
* Fixes shuttle catastrophe triggering when Build Your Own Shuttle kit has been purchased
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* Readds the tesla, reworks it a bit (#53072)
* Makes tesla movement nicer, fixes some atmos concerns, changes how energy is handled, and readds the tesla
* readds delam and desc
* I fucked it
* flags
* holy fuck
* Constricts the zaps that can generate power from a tesla coil
* *kick?
* Readds the tesla, reworks it a bit
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fix ruins overlapping the station and away missions increasing world size (#53558)
Changes the bounds size proc from async to not. We need to make sure
the bounds on map templates are correct before they are spawned or
weird issues can happen. Fixes#53542. Fixes#53562.
* Fix ruins overlapping the station and away missions increasing world size
Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
* Merge pull request #53540 from itseasytosee/bonk
Nightmares no longer bash people over the head with the blunt end of their light eater.
* Nightmares no longer bash people over the head with the blunt end of their light eater.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Allows you to use the ability of vatbeasts when riding them (#53266)
* Allows you to use the ability of vatbeasts when riding them
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities (#52981)
* Process procs now properly use deltatime when implementing rates, timers and probabilities
* Review fixes
* Geiger counters cleanup
Made hardsuit geiger code more similar to geiger counter code
Geiger counters are more responsive now
* Moved SS*_DT defines to subsystems.dm
* Rebase fix
* Redefined the SS*_DT defines to use the subsystem wait vars
* Implemented suggested changes by @AnturK
* Commented /datum/proc/process about the deltatime stuff
* Send delta_time as a process parameter instead of the defines
Also DTfied acid_processing
* Dtfied new acid component
* Process procs now properly utilize deltatime when implementing rates, timers and probabilities
Co-authored-by: Donkie <daniel.cf.hultgren@gmail.com>
* Merge pull request #53377 from ArcaneMusic/plumbingfixesrev2
So, I may have made at least one... maybe 1.5 math errors. Namely, the reaction volume on every reagent was the full 200u. This is bad for bitcoin, as it means that you can instantly bottom out most reactions and drown someone in 1000 units of water in a single second! That's bad.
Also! On that note, vapor reaction was also transferring reagents that otherwise helped contribute to the above problem. I've yeeted this in kind, but I'm willing to do some more testing and planning to see if they were specific to the reaction volume fix first, but to be safe vapor is vape-aint.
Lastly: Gas chems were producing way, way, WAY too much gas even once the above two points were occuring. So much gas, that it was capable of filling a 8x10 tile airless room in a timed 1 minute 40 seconds. So, we've slowed the roll of the free reagents being produced by synthesizers, and brought it down to 1/5th of the reaction volume to 1/20th. That sounds like a massive leap, but trust me, you could produce millions of KPA very, VERY quickly without it, but at 1/20 it was actually sort of reasonable.
Edit: Apparently this also fixes#46413 as a result of removing the obj_react from the above gasses!
Fixes#53357. Also, prevents reagent synthesizers and showers to behave EXACTLY like gas miners, but free. Also, prevents 1000s of reagents from being multiplied through the use of showers.
Changelog
fix: Showers no longer have the vapor reaction, as before the changes.
fix: Showers no longer produce ludicrously over-scaled chemical reactions.
balance: Gas chems now produce 1/4th less gas when released into the air as before.
* Several associated shower bug/QOL fixes.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Makes highlander turn off pacifism (#53504)
Makes gaining the highlander antagonist status turn disable the pacifism quirk. It will re-enable if you lose the status, although that doesn't happen often.
* Makes highlander turn off pacifism
Co-authored-by: Coffee <63162339+CoffeeDragon16@users.noreply.github.com>
* Unit tests for expose_mob (#53498)
This is a set of unit tests for expose_mob.
This tests that INGEST, TOUCH, VAPOR, PATCH, INJECT are triggering on standard exposure methods.
* Unit tests for expose_mob
Co-authored-by: NightRed <nightred@gmail.com>
* Cleans up an unused var added for smugglers satchels (#53501)
* Cleans up an unused var added for smugglers satchels
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* Performing a head transplant will now properly preserve the appearance. (#53494)
* Performing a head transplant will now properly preserve the appearance.
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Fix bicon, fix asset hashes being incorrect. (#53441)
icon2html will now always show the south direction unless passed a specific direction to show. Null can be explicitly passed with an atom to use the atom's direction. This is to work around icon() returning a blank icon if passed a direction that the icon doesn't define, instead of defaulting to south like the client does. This should also cut down on the number of assets generated by shift clicks
If icon2html is given an atom with an invalid icon state, it will use the atom's compile time icon_state, so smoothed icons can show their mapper's helper icon instead of the entire dmi.
Asset cache will now copy files to disk before md5ing them, to deal with byond not always returning the correct md5 for rsc references.
* Fix bicon(icon2html) showing full dmis, fix asset cache hashes being incorrect.
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* Fixes admin tickets displaying as improper nouns (#53485)
Admin tickets were having "the" prepended to them when displayed in the status tab, because ahelps are treated as datums and BYOND likes to help out and treat them as nouns when printed. This resolves that.
* Fixes admin tickets displaying as improper nouns
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Mecha followup one (#53470)
fixes#53384fixes#53327
fixes a bug where mechs could move too fast
fixes cooldown being inconsistent
makes strafe behavior better
fixes lights being very small
fixes#50639fixes#47373fixes#43605
Moved some code to the correct spots and did the varedit bitfield thing
* Mecha followup one
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Fixes the arena shuttle (#53458)
This splits the actual arena of the arena shuttle into its own map file that is loaded onto it's own z-level. The old method of including a non-shuttle area in the shuttle map file doesn't work with the current shuttle loader. It also fixes shuttles being loaded twice when purchased which created problems with landmarks being left behind in the reserved z-level.
* Fixes the arena shuttle
Co-authored-by: YPOQ <30683121+YPOQ@users.noreply.github.com>