* Atmos Machinery Variants (#54015)
Adds variants for a bunch of atmos machinery that were missing them:
unary tanks
atmos filters
atmos control computers (and circuit boards)
atmos tank turfs
atmos tank outlet injectors
atmos tank siphon vents
gas miners
* Atmos Machinery Variants
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes whiteship console losing GPS signal (#53998)
Deconstructing and rebuilding the whiteship console will switch it back to the GPS-less subtype. Added a new board and assigned it to the whiteship bridge console to remedy this.
* Fixes whiteship console losing GPS signal
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* fixes nuke core throwing (#53972)
The typepath was wrong, due to an improper feature from a couple months ago, this means that nothing actually happen, and a nonexistent type had a fun new dust. This has been resolved here.
* fixes supermatter sliver throwing
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fixes various issues related to machine component contents. (#53943)
Fixes machines not referencing their circuits in their component parts when built manually, causing them to vomit out their circuit board when opened. This also fixes Runtime in _machinery.dm, line 607: Cannot read null.req_components from using the B/RPEDs.
Fixes computers not storing circuits in the contents.
Fixes smartfridges vending their components.
* Fixes various issues related to machine component contents.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Rebalances space loot and space exploration (#53916)
* Rebalances space loot and space exploration
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Machines now store their components in their contents. (#52970)
Machine parts are now located in the machine instead of nullspace.
* Machines now store their components in their contents.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fix skill related runtimes in mindless mobs. (#53691)
Fixes related to mindless mobs using skills
* Fix skill related runtimes in mindless mobs.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Chess, Sofas & Shutters - Furniture Update (#53861)
About The Pull Request
A series of changes bulked together to give players and mappers a little more freedom in their builds to make things look nicer.
Chess:
• Introduces a bunch of jumbo chess pieces that are craftable in-game. Sprites are my own.
Shutters
• Defines 100 integrity for the shutters and gives them an armor block so they don't inherit their stats from blast doors. This means shutters will no longer be just a reskinned blast door.
• Redid the sprites for the shutters. They now animate much smoother and look like normal slanted shutters. Their blinking light once animating is also easier to see.
• Added the window shutter; this is a normal shutter with a window so you can always see past it. I've used it in prisons and on armouries in the codebase I'm from to allow officers to see into the areas shutters are protecting, giving the area additional protection of having someone being able to look into it.
• Added radiation shutters. Maintainers feel free to question this. Through extensive experimentation, any rad insulation value between 0 and 1 does pretty much nothing to radiation. Numbers higher than 1 start multiplying it, negative numbers start reducing it. This will stop the radiation from a supermatter irradiating you only if you stand behind it. If you're not covered by the shutters or the shutters are open, they won't protect you at all. They also have their own sprite with a radioactive hazard symbol.
• Added the rad shutters to in-rotation maps on their supermatter engines and the windowed shutters to Metastation armoury.
Sofas
• Introduces the corporate sofa. A sleek grey sofa. The original sprite I ported from Hyperstation's files. I'm not sure where they got the sofa but I was told it was Eris. I didn't see it there but I didn't look super hard. I've updated the sprites on it to work with armrest sprite overlays.
• Ports the sofa sprites from Cit and the armrest sprite overlays. They look nicer than awkwardly floating over the sofa. The sofas are the same, they're just moved a little for the armrest to work.
• Makes the new corporate sofa craftable.
* Chess, Sofas & Shutters - Furniture Update
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
* Custom statues and sculpting changes. (#53154)
### Gameplay changes:
- Spacemen lose their ability to sculpt all minerals into statues barehanded, you need a chisel now.
- You can now create carving blocks out of 5 sheets of most materials.
- Using a chisel on the blocks you can designate what to carve in it (including the preset statues from before).
- Chisels can be printed at autolathe, there's also one in art storage.
### Code changes:
- Squeak component now squeaks on attack_hand for structures.
- Radials now accept atom paths automatically extracting the name with initial.
- Base and rigid stack recipes renamed appropriately.
- Statues now use custom materials.
* Custom statues and sculpting changes.
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Sprite stuff: missing belt and suit storage sprites among others (#53804)
About The Pull Request
Adds a bunch of sprites including:
A basic nullrod sprite
Belt sprites for the claymores lol nevermind
Backsprites for the cult blade and changed the chaplain's darkblade to fit on the back.
Suit storage sprites for the dark scythe, the cultblade, the spellblade, the claymores, katana and the nullrod
Suit storage sprites for a whole host of high powered firearms. You can visibly tell someone has shotguns or sniper rifles in their armor vest. How neat.
You can't conceal stunprods in armor suit storage anymore.
Nullrod cultsword (darkblade) also uses a uniquer inhand. Ye.
Also knives and a rolling pin belt sprite, hecc!
I also did some other stuff look there are a lot of sprites and I want to sleep please leave me alone nullrods are fucking stupid.
* Sprite stuff: missing belt and suit storage sprites among others
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Fully removes devil and affiliated shitcode (#53612)
Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.
* Fully removes devil and affiliated shitcode
* weh
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Completely removes Hilbert's Hotel and its associated ruin from the game. (#53790)
The Hotel is a runtime machine. When it swaps rooms, its turfs runtime. When people are actively using it, things in it constantly runtime. It's half broken, half buggy. Turfs don't remember contents. Sometimes blank rooms spawn. Sometimes nothing at all.
It's not worth the time and effort to fix or maintain it.
I'm opening this PR to completely remove it.
* Completely removes Hilbert's Hotel and its associated ruin from the game.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Merge pull request #53812 from SgtHunk/ITS-HAURRIBLE
Adds the CRAZY HAMBURGER
* Adds the CRAZY HAMBURGER
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
* Remove bad reference from atmos (#53781)
Change the name from Cyrion B to Zauker due to the easy connection the bad groups in the past
Not getting a repo ban is good
* Remove bad reference from atmos
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
* Apple cakes no longer give slime cake slices. (#53731)
* Apple cakes no longer give slime cake slices.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool. (#53305)
* Arcane finishes the fight and adds all the missing belt sprites and a worn sprite Admin Tool.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* s-s-s-spaghetti to newfood (#53574)
🆑 Qustinnus
code: Moves spaghetti to new food
fix: Fixes some more size problems on food
fix: Fixes organs having wrong params
/🆑fixes#53482fixes#53572
* s-s-s-spaghetti to newfood
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Optimize stat panel and fix guardian verbs (#53463)
Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes#53432fix#53381fix#53724
Changelog
add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data
* Update statbrowser.html
* Apply suggestions from code review
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* hidden = TRUE
* almost ready
* Browser should notify when ready to receive data
* Apply MSO's suggestions
* reset cache if something in it gets deleted
* Fix runtime
* fix my stupid code
* send href_token when adding admin tabs
* fix an issue with cyborg suit topic
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Optimize stat panel and fix guardian verbs
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Airlock Seals 2: I'm dumb and a fool edition (#53114)
Adds door seals to the game, inspired by the ones used in Alien Isolation and SOMA. Trivially easy for a human to remove, but makes it a nightmare to try and smash through if you're an alien, an evil robot, or don't have hands. I also slightly changed how airlock reinforcement works, as now there are two ways to increase the integrity, the previous way of just resetting the max_integrity after the removal of the plating wouldn't work.
* Airlock Seals 2: I'm dumb and a fool edition
Co-authored-by: Jimmius <huw4@btinternet.com>
* Fixes some issues with sign language & makes some things more clear (#53610)
Changes the name of the recipe for the gloves to make them more clear
Adds a note in the tongue file to make sure it's clear you SHOULDN'T SEE THAT TONGUE.
Adds a unique chat message for mimes who use sign language, to make it clearer you can't cheese as a mime
Adds a unique slurring verb for drunkards
Removes the ability for sign languagers to use megaphones, which I forgot existed in the game.
Punctuation removal now replaces all punctuation used with periods rather than with blank space, to reduce run-on sentences.
* Fixes some issues with sign language & makes some things more clear
Co-authored-by: Wallemations <66052067+Wallemations@users.noreply.github.com>
* Adds better feedback related to husks (#53599)
Husks currently have basically zero ingame feedback other than the grey sprite. It should be abundantly obvious when somebody is a husk, given that it's such a huge physical change that it changes the sprite. This PR adds examine text to husks, and adds a message to the health scanner. The regular scanner will only tell you that they are a husk, the advanced scanner will tell you if they were husked by burns or by "extreme fluid loss" AKA lings (but burnt takes precedence so you can still burn your ling corpses to a crisp to help hide your tracks). The defib now also gives a message specifically for husks instead of a generic "tissue damage" message which normally means brute/burn damage.
I also updated the description of sythflesh and rezadone to mention that they can restore burnt husks, and replaced some hardcoded "burn" with the BURN constant.
* Adds better feedback related to husks
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* 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>
* 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>
* 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>
* You can now tap TCG cards. (#53459)
Basically the last groundwork TCG PR we need before we can sew the rules into the game, you can now use TCG cards on the ground with a new radial with an empty hand to either tap, flip, or pick up individual cards. This will also mean that using a deck on a set of individual cards on the ground is now the fastest and most efficient way to pick up cards now.
Author's note: Opponent's card was not "deleted for effect", it was sent to the Shadow Realm, for all eternity.
* You can now tap TCG cards.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Moves over cakes to newfood and transfers reagents when crafting (#53316)
* Moves over cakes to newfood and transfers reagents when crafting
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Zombies can be decapped again, un-nerfs esword/armblade/etc wounding power, improvised cauterization tweaks (#53349)
#53117 introduced a few minor bugs with the health system, in this case, zombies being un-decappable due to an oversight in the head/chest dismember requiring full death rather than either full crit or death. As zombies (or anything with TRAIT_NODEATH) can only reach hard crit and not death, this meant they couldn't be decapped/disemboweled. This fixes that. It also fixes krokodil addict zombies being unwoundable due to not having flesh or bone traits.
Next up, I originally set really high negative wound bonuses for high damage weapons like eswords and armblades since they already had high damage and dismember power by themselves. Now that dismembering is tied to wounding power (and I have a better sense of balance values), these harsh nerfs are no longer needed or wanted, and you can actually dismember people worth a damn with an esword again. I also punched up the wounding power of a few other weapons like saws and scalpels to less awful (but still not optimal) against armor.
Attacks currently have an 80% chance to hit the limb you're aiming at, which can make destroying a limb a complete pain even if the target is already down and out. As such, attacks against prone targets now have a 90% chance to hit the targeted limb, cutting the miss rate in half.
Lastly, trying to cauterize bleeding wounds with improvised tools (anything hot that isn't a cautery) is now slightly less efficient than a real cautery and requires an aggro grab on the patient to apply. No more trying to cauterize the person you just attacked with an esword because you were on help intent!
* Zombies can be decapped again, un-nerfs esword/armblade/etc wounding power, improvised cauterization tweaks
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
This changes the has_reagent check to work with stomachs.
Several supporting procs have been added to fully support this behavior.
end_metabolization will work as expected again
expose is working with INGEST items again
on_mob_add working as intended
on_mob_life has been reviewed and worked over.
Health Analyzers now show stomach contents, same with the medical kiosk.
Included the unit test to validate reagent checks.
Unit tests for the new procs on mob
Co-authored-by: NightRed <nightred@gmail.com>
Makes acid levels a component.
Merges the acid effect object into the component.
Reworks acids decay rates slightly.
Rebalances xenos acid spit so that they can still melt through walls.
Misc. associated changes:
Adds defines for a lot of the acid associated constants.
Documents clean types and adds CLEAN_TYPE_ACID
Adds and implements a return bitflag for COMSIG_COMPONENT_CLEAN_ACT
Adds a looping sound for acid.
Makes /atom/proc/acid_act return a boolean.
Fixes waterclosets creating a new reagent holder datum every time they are used.
Removes waterclosets regenerating reagents on-use and restricts their reaction volume to 5 units.
Adds and implements a couple reagent signals.
Renames a few vars so Rohesie can stop telling me to rename more vars.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Medical belt/medical aid kit consistency updates (#53442)
Lets the new blood filter tool be put in medical belts/medical aid kits since those are supposed to hold surgery tools
Lets spray bottles, amputation shears, and surgical tape be put in medical aid kits since it's supposed to hold the same stuff as the medical belt (I didn't add the plumbing stuff to medical aid kits though since chemists don't get them)
Removes bio bag and chem bag from the medical first aid kit since they're too big to go in there anyway
Adds blood filter mode to the debug omnitool since it's supposed to have a mode for every tool define
* Medical belt/medical aid kit consistency updates
Co-authored-by: Tony <19880843+AdmiralPancakes1@users.noreply.github.com>