Commit Graph

9780 Commits

Author SHA1 Message Date
GuillaumePrata 1663f3efcb Changes Plasmamen belt tanks volume and the rate that their lungs consume plasma to 1/4 of the previous value. (#62081)
Plasmamen belt tank volume is 24, the extended engineering one is 6 and the emergency internals are 3.
The issue balance wise is that all of those have the same pocket size and can be printed at the same Research tier, this results on smart atmos/engineers printing a plasmamen belt tank and filling it with O2 so their internals can last for almost 2 hours instead of the 24 minutes of the extended O2.

Now they have the same volume but plasmamen lungs were rebalanced to consume plasma at a lower rate. To be clear, it will have no effect on how long the internal last for a plasmamen.

Removes a no skill trick that gives you internals that will last for all shift, you can still make those but it will take a tiny bit of effort now.

Also a small step to make internals balanced.
2021-11-02 02:06:33 -07:00
Horatio22 d982c13b3f Adds garment bags to reduce locker clutter (#62329)
About The Pull Request

Adds garment bags to reduce the giant stack of items in the captain's (and other command) lockers. They function the same way that chembags do and only allow up to 15 non-bulky clothing items to be added to them. They can't be worn on the belt slot or crafted to prevent them from being significantly better than duffel bags. The shoes in the CMO's locker have also been switched for blue ones to reflect the changes made in #62263
Why It's Good For The Game

The captain's locker currently has almost 30 items in it roundstart, and 15 of these are clothing items. Adding a bag for these items reduces the item list when you first open a locker without removing any clothing or requiring a second locker/ dresser.

Here's what the lockers look like with the garment bag:
2021-11-02 16:53:40 +13:00
Coconutwarrior97 bdf1e89871 Fixes issue with catwalk floors being added to each other ad infinitum. (#62236)
## About The Pull Request

You could place catwalk_floors on each other ad infinitum because they were a plating subtype. This changes them to a floor, and sets their intact = false so that wires wont be hidden by undertile/proc/hide. Fixes #62105 .

Also fixes a smaller issue where "remove cover first!" wasn't being outputted to the user when they tried crowbarring a catwalk floor.

Thanks to arm for his help with this!

## Why It's Good For The Game

Fixes  #62105
2021-11-01 18:10:59 -04:00
Mothblocks 0f3c4e51f7 Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed (#62265)
Implements the Modernizing radiation design document ( https://hackmd.io/@tgstation/rJNIyeBHt ) and replaces the current radiation sources with the new system, as well as replacing/removing a bunch of old consumers of radiation that either had no reason to exist, or could be replaced by something else.

Diverges from the doc in that items radiation don't go up like explained. I was going to, but items get irradiated so easily that it just feels pretty lame. Items still get irradiated, but it's mostly just so that radiation sources look cooler (wow, lots of stuff around going green), and for things like the geiger counter.

Instead of the complicated radiation_wave system, radiation now just checks everything between the radiation source and the potential target, losing power along the way based on the radiation insulation of whats in between. If this reaches too low a point (specified by radiation_pulse consumers), then the radiation will not pass. Otherwise, will roll a chance to irradiate. Uranium structures allow a delay before irradiating, so stay away!
2021-11-01 04:20:39 -03:00
Seris02 3e4473887e the PDA will no longer bother you with a 'you can't do this right now' message when closed while resting (#62438)
When you close it while you're laying down, it will no longer give you the message "You can't do that right now!"

There really isn't much more to say, all it does is make it so the message doesn't show up if all you're doing is closing the interface.
2021-10-31 18:17:27 +00:00
Seris02 4bfde8c33b fixes a runtime with dropping advanced cards from wallets (#62440)
fixes a runtime when transferring advanced ids to/from wallets
Fixes #62036
2021-10-31 18:14:53 +00:00
John Willard 88d7dbfc10 removes double spaces before symbols (#62397)
This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.
2021-10-28 19:25:50 -03:00
esainane d521116acf Refactor /turf/var/intact (#62331)
Turfs have a variable, intact, which conflates three meanings:

    Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
    Determining whether underfloor pieces are visible.
    Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.

When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.

This refactors /turf/var/intact into two distinct variables:

    /turf/var/overfloor_placed, for whether or not there is something over plating.
    /turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.

All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.
2021-10-28 19:14:40 -03:00
oranges 2afab49681 Revert "Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275)" (#62368)
This reverts commit 4d15fbc4f0.

"Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275)"
2021-10-27 22:10:53 +01:00
Timberpoes 4d15fbc4f0 Basic ID cards with job trims can now hold higher level accesses to their own departments. (#62275) 2021-10-26 13:25:52 -07:00
NamelessFairy 1238ce2373 Adds the ability to soft filter words, also fixes some word filter bugs (#62158) 2021-10-26 12:45:36 -07:00
malton33 37fb6bc6dd Removes "Singularity and Tesla for Dummies" manual book (#62308)
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.
2021-10-26 00:57:47 +01:00
Zytolg 0a9404e69b Beds and Benches: The Aesthetic Revolution [re-PR'd With EOB's Blessing] (#62169)
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
2021-10-25 21:55:13 +13:00
Sealed101 b0ecc913f8 Fixes microbomb implants blowing you up anyway on popup close & doubleclicking the action button (#62301)
Title, this probably indeed was a problem for the macrobomb as well. didn't test.
doubleclicking the action button pointed out by @Ghommie
2021-10-24 19:45:03 +01:00
Coconutwarrior97 08fa0fb1f7 Fixes being able to shock people with wielded mjollnir as a pacifist. (#62238)
Fixes pacifists wielding mjollnir being able to shock people by adding a check in mjollnir's attack. Fixes #62232 .
2021-10-24 10:06:33 +01:00
Mooshimi 54fa35619b cattleprod weight class (#62254) 2021-10-23 11:37:47 -04:00
Seris02 fc36aea489 runtime fix for borgs cryoing with upgrade modules + no more mmi laying around after they cryo, and various other runtime fixes (#62091)
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
2021-10-22 10:31:07 +01:00
Ghom f4f1221cf5 Small implant code cleanup. (#62226)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-21 11:23:09 -07:00
Seris02 bd8555832d makes it so lockers/crates can have access electronics removed/inserted (#62022)
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)
2021-10-21 11:38:31 +01:00
Sealed101 9d19b9b7de Makes the American sausage a sausage subtype & Advanced roasting stick fixes (#62193)
Makes the American sausage a proper subtype of sausage, which makes it actually edible, apparently. It also makes it stick on the advanced roasting stick!
The advanced roasting stick will no longer try to grill itself over a bonfire with a griddle installed, allowing you to use the actual bonfire for your roasting needs.

There was actually a check that was supposed to limit the amount of times you could roast a sausage to a measly 1. It wasn't actually working. This PR removes that in favor of mad cooks creating these:
2021-10-20 13:08:30 -04:00
Coconutwarrior97 778c1b9c57 Fixes an issue where people with the doctor phobia were afraid of hydroponics doors. (#62089)
## About The Pull Request

 Adds a hydroponics airlock type (same icon as medical airlocks), and edits Hydroponics on several maps to replace the old medical doors with the new ones. Fixes #61000

Also edited sheet_types.dm so a hydroponics door assembly can be built, in case anyone decides to give hydroponics entry way doors their own unique icon at some point.

## Why It's Good For The Game

Fixes #61000
2021-10-20 10:31:28 -04:00
Jordan Brown e9a7c9a9c6 Airlock improvements, mainly external [MDB IGNORE] (#62161)
You're in space, unauthorized personnel should not be allowed to instantly jump ship, especially if doing so could vent parts of the station. At the same time, we allow self reentry in "man-overboard" scenarios. The aim is to reduce the potential for accidents without reducing crew safety as well as increase the significance of these exterior airlocks. Also makes antags think a bit as they can't simply yeet themselves into space super easily as a braindead getaway tactic.

External airlocks now have a base req_access of ACCESS_EXTERNAL_AIRLOCKS. This is a non-functional change.
Removed airlock's safety_mode var.
Added external airlock's space_dir var. Indicates the direction anyone can enter from, but only those with access can exit to (unless the other side is considered "safe" (breathable, dense, or shuttle docked)). Cyclelinked airlocks share this value.
Created proc/is_safe_turf from proc/find_safe_turf.
Cycle-link operations now happen in proc/open rather than proc/bumpopen which was causing several triggers to be missed (AI activation, prying, etc...).
proc/try_to_activate_door now takes an argument allowing for a bypass of access requirements.
Downstreams, to port this to your maps, check every public access external airlock has the safety_mode var override removed and the outermost airlock should have space_dir set to the hazardous direction number.
2021-10-18 17:36:38 +01:00
Jack LeCroy 4891abd267 Refactor rolling paper to use customizable reagent holder (#61758)
The component can accept dryable items and food items now. Any instance of the component can be set to use dryable items, just like normally food items are used. To add the dryable item, it's the same as with food. You attack with the item in hand. I am currently thinking about more uses for dryable items and also more ways the component can be used.
2021-10-18 11:16:07 +01:00
Sealed101 1eaaa68c4b Brings recycling results of advanced tools up to their printing costs (#62092)
Advanced tools have either been using their parent basic tools' custom_materials or their custom_materials were lowered for what I presume was destructive experimentor work. This counts for recycling these items in an autolathe as well. In the first case, alien tools were made out of the same material amount as their basic counterparts, and in the second case - the recycling results were heavily lowered.
Also kills off some single-letter vars since I'm here.
2021-10-17 16:45:28 -04:00
Seth Scherer 946fb4b046 Updates the Goon Source code objective item to be on par with all other high risk items. (#62142)
Currently, all it takes to ruin an antagonist's round (assuming they have this objective) is to walk into the server room, and break the master server, as this will delete the drive inside. It is extremely weak, a fire axe will break it in less than 15 seconds.

Not only that, but the drive itself is also not resistant, making it relatively easy to lose it and have it destroyed in various station emergencies.
Compared to every other high risk item, this doesn't make much sense, as they are all supposed to be virtually impossible to get rid off.

This does not effect the ninja's objective of destroying the drive.

This ups the integrity of the master server, making it take ~15s longer to break it with a wielded fire axe, than it does to just deconstruct it. It also adds resistances to the drive itself, which brings it up to the same level as every other high risk item.

Closes #62128
2021-10-17 10:37:47 -04:00
esainane 5a1e3b22ba Power generation (collectors, coils, grounding rods) cleanup (#62144)
* Energy collection: Mass rework

Radiation Collectors and Tesla Coils are now subtyles of a common
energy_accumulator type. This type combines common code such as smoothing
output over energy received, computing power output, and handling wire
connections.

Inline calculations using machine energy units are now performed by
common math functions in maths.dm. Rather than reference 0.1,
1 SECONDS is used to make it clear this is to calculate to and from
tickrate dependent units.

Constants which are written in terms of tickrate dependent units are now
written in terms of joules, and use these helpers to convert to and from
these units. With SSmachines.wait / (1 SECONDS) being 2, this usually
means doubling the values of constants which were previously defined in
terms of machine energy units.

* Energy collection: Map path update

> git ls-files | grep dmm | xargs sed -i 's1rad_collector1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1tesla_coil1energy_accumulator/&1g'
> git ls-files | grep dmm | xargs sed -i 's1grounding_rod1energy_accumulator/&1g'
2021-10-16 19:36:51 -04:00
RandomGamer123 3ae0111292 Prevent aghosted admins from being forcibly dragged back to their body when being defibbed (#62048)
Aghosted admins won't be forcibly dragged back to their body when being defibbed.
2021-10-16 19:29:31 -04:00
Mickyan 4c96534cbd Adds dropper tool on right click for spray cans (#62119)
* spraycan dropper

* grammar

* grammar2

* Update code/game/objects/items/crayons.dm

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-10-16 18:02:21 +02:00
GuillaumePrata e778199e7e Extinguisher worn icons (#62135) 2021-10-16 17:56:39 +02:00
itseasytosee f51000f506 Repaths knives to not all be children of the kitchen knife. (#62035)
Basically makes the code less dumb, took a long time. I worked hard to make sure there were no unintended effects (minus the fact you can no longer get spoons from the experimentor). No player-facing effects

I thought it looked weird that all cultist and combat knives were subtypes of the kitchen knives
2021-10-15 15:28:01 -07:00
Seris02 694c2999b0 makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy (#61980) 2021-10-15 11:48:55 -07:00
thatoneplebeian 2a826e7380 Drowsiness refactor (#62104)
Creates two procs in /mob/status_procs for handling drowsiness changes (with check for negative values), and refactors all code to use these procs instead of assigning values to the mob's drowsiness themselves.
2021-10-15 10:15:24 +01:00
Ghom 9c7d509354 Printer Circuit Component (#62012)
I'm adding a circuit component that can print text string on a paper object in a variety of colors and font typefaces (currently only web-safe ones are available, maybe i'll add some fancy ones in the future but they'd need to be imported either through @import of @font-face in a separate CSS not imported by every tgui UI).
It's important to note that because the UI sanitizes new text inputed by users and not what's already written on the paper (so the pen_color and pen_font don't be purged in the process), we can't safely have these strings "printed" into the info variable directly, because of that these values will be stored in two new list variables, one for the text and one for font color, face and the signature. When the paper sheet UI is opened, these will be sanitized and then parsed into the text, so the next time the paper is edited we can clear these two lists.
Obviously better than a hacky byond proc - parsemarkdown() is outdated af -, albeit a bit messy... like the rest of paper code.

Requires #62033.
2021-10-14 19:37:39 +01:00
Seth Scherer 1a09ec1cca Fixes pipes not fulfulling nicotine withdrawal (#61993)
Co-authored-by: seth-scherer <seth.scherer@protonmail.com>
2021-10-14 10:53:49 -07:00
Ghilker cb5fb1df2d modules/atmospherics major cleanup (#61904)
major cleanup of modules/atmospherics folder and all related files, still many missing
-cleanup of procs name
-cleanup of vars name
-documentation of some of the procs
-minor changes to some for() logic (no in game changes just early continue or as anything checks)

No in game changes, only code and docs
2021-10-14 01:13:57 -07:00
Coconutwarrior97 b515e3830a Fixes lavaproof upgrade for minerborgs not working (#62083) 2021-10-13 21:18:38 -07:00
SomethingFish 5b4367cd9c Adds a BLT sandwich to the game (#62031)
About The Pull Request

Adds a BLT sandwich to the game, including a sprite for it. It can be crafted with bread slices, two bacon, one cabbage, and one tomato.

image
Why It's Good For The Game

Spaceman game thirteen would really benefit from having people eat a nice BLT once in awhile, plus the sandwich category only has one actual sandwich with meat in it (don't tell me a hotdog is a sandwich). Also, highly requested by some people (myself and this guy).

image
Changelog

cl
expansion: Adds a BLT sandwich as a new food to the game.
/cl
2021-10-13 19:57:42 +13:00
Seris02 ff31569b14 no more regal rat runtimes, and, cheeeeeeeeeeeese can now be eaten by it (#62032) 2021-10-12 22:33:49 -07:00
Ghilker 95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
Seris02 8cb6574043 runtime fix for hands of cards (#62027)
title

index out of bounds runtime fix on line 905, overlay_cards was = 1, and so it was trying to do things it shouldn't
2021-10-11 19:29:25 +01:00
esainane 5e27938206 CE blueprints: Fix structural overlay (#61974)
CE blueprints come with a niche but situationally useful ability to view the original atmos, disposals, and power cable layout.

This has suffered a fair amount of bitrot. Not only was this not updated to use the plane and layer variables, but it also didn't handle any client running in widescreen mode - RANGE_TURFS requires a numerical parameter for its radius parameter, and cannot handle a modern viewstring such as "17x17".
2021-10-10 08:22:04 +01:00
Ghilker cc3bf70da9 Rad collectors gone, tesla coils to generate power (#61917)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-08 17:03:52 -07:00
Colovorat e08f221c21 Adds crafting recipe for catwalk floor tiles (#61938)
expansion: Adds catwalk floor crafting recipe
2021-10-08 06:23:15 -04:00
Wallem e8f3a84cf3 Lets the Goat Plushie huff fat clouds (#61830)
expansion: The Goat Plushie has picked up some bad habits
2021-10-08 06:22:28 -04:00
John Willard b7c9be2cc4 Adds catburgers, egg with sausage, and sausage bread. (#61894)
expansion: Added 3 new foods: Catburgers, Egg with sausage, and Sausage bread.
2021-10-08 06:12:14 -04:00
Krysonism 0f715b38f9 Cytology Adjacent Update #2: Carp scale crafting. (#61913)
expansion: Adds carp scales, and carp scale crafting.
2021-10-08 06:11:35 -04:00
John Willard 419bc54423 Choice Beacons now use TGUI menus (#61940)
Choice beacons (Curators/Chaplains/Cooks/Any other that might exist) now use a TGUI menu rather than the default whitebox menu.
2021-10-07 11:09:31 +01:00
zxaber 54b8702ebe Removes the augment painter, moves the function to spraycan rightclicking. (#61814)
Right-clicking a robotic body part with a spraycan will open a radial menu and allow for coloring the body part just like the augment painter did. This costs five charge off the spraycan, meaning a single can will paint six augments.

The augment painter has been removed from the game files and from all maps.
2021-10-06 13:21:37 +01:00
Ghilker b95c0366a4 _HELPERS/unsorted.dm has been sorted (#61882)
bring code up to latest standards, move many procs to named files inside _HELPERS
no idea where to put some of these procs, help is appreciated
made more files to contain some unique code, deleted unsorted.dm, we can rest now
2021-10-05 20:22:57 +01:00
Ghilker fe46b3bc7c More girder building (#61795)
Allow players to build a girder on a turf by r-clicking the turf with a sheet of iron with enough material in it (2 sheets needed, the same as building it by UI on your location), the girders are not anchored when built this way
Removed girders from iron sheet construction menu and added an examine text for the new girder build way
2021-10-02 16:03:22 +01:00