* Buffed atmos holofans. Added to CE locker. (#57074)
Atmos holofans can now make six holos instead of three. Swapped the (useless) engineering holo with the atmos holo in the CE locker.
* Increased holo count for atmos holofans. Added one to the CE's locker.
Co-authored-by: Cimika/Lessie/KathyRyals <65850818+KathyRyals@users.noreply.github.com>
* Updates the lifebringer flavor text to be less ambivalent about their goals (#57059)
* Updates the lifebringer flavor text to be less ambivalent about their goals
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* fixes being unable to attach training toolboxes to training units (#56990)
* fixes being unable to attach training toolboxes to training units
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Gets Rid of Both Sleeps In Transit Tubes, Replaces Them With Timers (#56913)
* Gets Rid of Both Sleeps In Transit Tubes, Replaces Them With Timers
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Fixes tags on ordered pizza (#56369)
Box tags
Fixes bug where box tags weren't updating correctly on creation
Adds box tag flavours for the pizzas without them (i.e. Donk Pocket -> Bangin' Donk, Dank -> Fresh Herb, Sassysage -> Sausage Lovers, Arnold -> 9mm Pepperoni)
Randomised pizza crates
Pizza crates can now come with any five pizzas, weighted by disruptiveness
Small chance of getting one pizza bomb in a pizza crate (either armed or not) per shift
Armed pizza bomb
Adds an armed variant of the bomb pizza box, which has the boxtag "Meat Explosion", contains a meat pizza and explodes 5 seconds after opening
Makes the pizza party spawner use the armed bomb pizza box, instead of giving whoever a free syndicate pizza bomb they probably aren't allowed to use anyway
Secure kitchen crate
Adds the secure kitchen crate from my previous PR
Adds a secure pizza crate variant to KiloStation's cargo warehouse where the freezer crate was, which contains the pizza party and is locked with kitchen access
Ghost examines
Adds ghost examine messages for pizza boxes with bombs or the nanomachine pizza in them
* Fixes tags on ordered pizza
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Winter coats (#56854)
add: Thirteen more winter coats covering all departments and most jobs.
* Winter coats
Co-authored-by: Tom <tomforde4@gmail.com>
* Windows are now less fussy and will let more things exit a shared turf. (#56788)
I recently changed it so that windows don't use their direction to decide if they're fulltile or not. I missed a check in CheckExit and as a result, you couldn't exit a fulltile window you were stood on from the South, their default facing direction.
Fulltile windows no longer do this check to block movement off their turf. Directional windows now only block movement off the turf they're on if you're attempting to walk the direction they're facing (i.e. walking through them) and they're not dense.
Finally, windows also check pass_flags_self instead of hardcoded passflags.
* Windows are now less fussy and will let more things exit a shared turf.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles. (#56696)
* Updates Bronze to be a lot better, fixes bugs and allows it to be used on grilles.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* Refactor ventcrawling flag into traits (#56620)
Instead of using var/ventcrawling on `/mob/living`, it is now instead
two traits. It functions in exactly the same way.
This now ensures that manipulation of ventcrawling will not clash with
any other manipulation, such as a proposed genetics ability to give
people ventcrawling, versus abductor organs.
---
Intended to be a pure refactor, no functionality should change.
* Refactor ventcrawling flag into traits
* Update true_changeling.dm
* Update true_changeling.dm
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* repaths plasteel tiles to iron
* Update robot_modules.dm
* a
* fuck me
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* renames metal sheets to iron sheets
* Merge branch 'master' into upstream-merge-56643
* yay metal
* Update DeltaStation2_skyrat.dmm
* a
* Update CentCom_skyrat_z2.dmm
* a
* a
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Makes reinforced plasma windows block heatspreading, mostly so the sm delams properly, and partially so mappers have a tool for this sort of thing (#56545)
* Makes reinforced plasma windows block heatspreading
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* You can no longer kidnap ghosts with a moving table (#56614)
* You can no longer kidnap ghosts with a moving table
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Changes fireman carrying from a trait on gloves to a skillchip (#56593)
* Changes fireman carrying from a trait on gloves to a skillchip
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* reverts Adds Neon Carpet (#55782), it appears to have been causing massive amounts of maptick (#56496)
It appears to have been causing massive amounts of maptick, this'll need a testmerge so we can test my hypothesis
* Reverts Adds Neon Carpet (#55782)
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* You can now make damp rags by dipping a bolt of cloth in a sink (#56337)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
* You can now make damp rags by dipping a bolt of cloth in a sink
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
* Fixes up the crate climbing element being incorrectly removed when opened (#56518)
* Fixes a runtime in crate code due to the climbable element
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Adds missing duffelbags for some jobs and update their respective vendors and closets.
* Update roboticist.dm
Co-authored-by: Tristrian <Tiago.A.C.9@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Vend-A-Trays can be moved onto tables (#56503)
Vend a trays are mapped onto kitchen tables and bar counters. They can't be moved back onto the table with deconstructing the table. This gives them the table passflag, allowing them to be just moved back onto the tabletop.
* Vend-A-Trays can be moved onto tables.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included (#55645)
Refactors the holodeck to use map templates instead of copy_contents_to, which every maintainer seems to have complaints about.
Fixes#41485 because the matches become part of the spawned list created by ssatoms
Fixes#54789 because the holodeck area no longer has the NO_TELEPORT flag
Fixes#55676 because the map templates cant be changed midround unlike the program copies in the centcom z level
Fixes#49318 because the holodeck no longer creates new areas like the original did
This pr also changes initTemplateBounds to be a /datum/map_template proc instead of a parsed_map proc. This was mainly so I wouldn't have to duplicate vars between map_template and parsed_map. It's also nice because there's no longer a parsed_map proc inside the map_template file, especially when it didn't need to be a parsed_map proc.
The holodeck sims wont take up space in the centcom z level any more (which allows for more possible programs in the future), and map templates are more heavily tested. This is also a chance to future proof the holodeck against bugs. Holodeck also seems more responsive. This should allow for a second custom holodeck in some future ruin as well, although that of course will not be in play for the near future because of the offstation content ban. Also I documented the fuck out of the holodeck
* Refactors Holodeck to Use Map Templates, Again! Black Magic OOM Crashing No Longer Included
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Painting Exhibit tweaks (#56349)
* Painting Exhibit tweaks
- Replaces use of C variable with named variables (e.g. crayon, canvas, current_canvas) in artstuff.dm for readability
- Simplifies painting structure's descriptions and moves wirecutting and persistence tutoring to a notice shown on Examine()
- Adds autodoc for two painting structure vars
- Adds a new desc_with_canvas var to painting structure that's used to set its description when it has a canvas
- Adds a new update_name_and_desc() proc to painting structure called when a canvas is added or removed
- Makes it so painting structures are named based off the painting rather than keeping their generic name
* Changes default names to refer to the "exhibits" as exhibit mountings
- Changes "Secure Painting Exhibit" to "Curated Painting Exhibit" as it's more intuitive
* Painting Exhibit tweaks
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* Frame stacking fix and unit test addition. (#56287)
* Reverts #56205
* Allow things without density to bypass checks
* The rest of the owl
* The rest of the owl
* Doc and tweak
* More feex
* RCD machine frame unit test
* I suck
* AAAAA
* Bad at unit tests
* Revert unit tests (for including in another PR)
* Fix windoor_assembly return logic
* Comment /mob/living/proc/PushAM logic
* Windoor assembley logic tweak
* Fix frame stacking
* Unit test
* Better wording from macros?
* Frame stacking fix and unit test addition.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Monkey Martial Arts (#55583)
Moves martial arts to mob/living and lets monkeys use them.
Monkeys have got arms so they should be able to do cool martial arts.
* MMA
Co-authored-by: Jack LeCroy <3073035+jacklecroy@users.noreply.github.com>
* Adds toggling shower's refills (#55895)
Adds the ability to toggle showers water reclaimers with a multitool
Adds some delta_time handling to showers.
* Adds toggling shower's refills
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Wooden tables now obey The Law of Conservation of Mass (#56156)
## About The Pull Request
Fixes Issue https://github.com/tgstation/tgstation/issues/56152 making wood tables deconstruct at they should be.
Bug vivisection:
Okay, see here? This is the proc for creating a table, we can introduce three arguments. One of them is _buildstack. _buildstack overrides Buildstack on initialize, a variable used for storing the type of raw "ore" that the table is supposed to drop in deconstruction. Here is supposed to be null unless we want to override the buildstack with another ore.
```DM
/obj/structure/table_frame/proc/make_new_table(table_type, custom_materials, _buildstack)
var/obj/structure/table/T = new table_type(loc, _buildstack)
T.frame = type
T.framestack = framestack
T.framestackamount = framestackamount
if(custom_materials)
T.set_custom_materials(custom_materials)
qdel(src)
```
What happened? The proc for building a wood table from a wooden frame, shown below, passed the "type" variable, used for storing the type of table_frame, as a _buildstack argument to the make_new_table proc. This overrides the buildstack variable of the final wooden table, causing it to drop a wooden frame as it was an ore on deconstruction.
```DM
/obj/structure/table_frame/wood/attackby(obj/item/I, mob/user, params)
[...]
if (toConstruct)
if(material.get_amount() < 1)
to_chat(user, "<span class='warning'>You need one [material.name] sheet to do this!</span>")
return
to_chat(user, "<span class='notice'>You start adding [material] to [src]...</span>")
if(do_after(user, 20, target = src) && material.use(1))
make_new_table(toConstruct, null, type)
```
This is funnier (not very much, to be honest) when we consider that deconstructing with a screwdriver would drop a frame normally, causing it to drop two frames. We could repeat this ad nauseam, essentially cloning wood frames in place as we pleased.
So TL;DR: this is another of those simple but hard to hunt bugs that would be prevented with testing and a null on its right place.
* Wooden tables now obey The Law of Conservation of Mass
Co-authored-by: Manybones <miguelbasket1@gmail.com>
* Fixes null-named painting issue (#56113)
There was an issue where you could name paintings nothing, which would cause issues with persistency. This was because the stripped_input didn't actually check that you put something in, so the PR adds that check. It now ensures, both when saved and loaded, that there is a title. If not, it sets them to the default 'Untitled Artwork'
* Fixes null-named painting issue
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
* Flesh to stone no longer makes you immune to bleeding, refactors bleedsuppress into a trait (#56078)
Being hit by the Flesh to Stone makes you bleed immune to prevent you from getting petrified while bleeding, and bleeding out while turned into stone. However, it doesn't make you vulnerable when you get unpetrified. This is a bug. This also makes bleedsuppress into a trait, as both is broken and should be a trait.
* Flesh to stone no longer makes you immune to bleeding, refactors bleedsuppress into a trait
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>