* 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>
* what did he mean by this (#56042)
Potato goofed 7 months ago so here's a fix (Fridges were defaulting to a force of true, which was... jank)
* Fridges don't open through sheer willpower anymore
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
* improves cardboard box and supplypod code (#56043)
Doesn't let force default to TRUE just in case someone tries to open when they're not supposed to.
* removes cardboard box and supplypod shitcode
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
* Vend-a-trays can sell anything! (#56018)
Vend-a-trays can now accept any item, not just food and drinks.
* Vend-a-trays can sell anything!
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Fixes AI laws being eaten by the garbage collector in certain conditions (#55984)
Extra AIs created by players will no longer lose their laws shortly after they are created.
* Fixes AI laws being eaten by the garbage collector in certain conditions
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Allows you to tuck the nuclear authentication disk (and plushes) into bed. (#55940)
Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.
You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.
* Allows you to tuck the nuclear authentication disk (and plushes) into bed.
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Mechanical Curtains (#55751)
good for better mapping, I have seen some mappers wish to utilize fancy curtains on their rooms windows (for example, a psychologist office) but wanted to be able to have privacy when with a patient, which curtains can be opened from either side of the window, and shutters just dont fit the theme, this way mappers can add in curtains which are button operated and cant be opened manually, basically, it functions like a shutter, only it looks and acts like curtains (can be destroyed like one, etc... it is literally a curtain subtype)
* Mechanical Curtains
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
* Meat statue fixes (#55790)
Fixes few statue bugs with textured materials.
Makes materials use managed filters. This can have side effects on things that already had unmanaged filters on.
* Meat statue fixes
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
* Fixes mapping processes not clearing up all flora (#55785)
Such as spawning ruins or generating terrain. This also makes so cleaned rocks properly dont drop ash, but have to be mined
* Fixes mapping processes not clearing up all flora
Co-authored-by: Azarak <azarak10@gmail.com>
* Refactors how movetypes are added and removed, No timers this time. (#55444)
* Refactors how movetypes are added and removed, No timers this time.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* [Fuck Shotties] Makes shotguns specialist weaponry. (#55663)
Shotgun slugs can no longer be made in an autolathe.
Buckshot rounds can no longer be made in an autolathe.
Frag12 rounds deal less direct damage, since they fucking explode.
Pulse shot rounds deal less damage.
Increased the cooldown on riot shotguns.
Removed buckshot rounds from all maps.
Combat shotguns start with beanbags.
Why It's Good For The Game
Shotguns have been overpowered for too long. NT is lasers , syndicate is ballistics.
* [Fuck Shotties] Makes shotguns specialist weaponry.
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
* fixed it (#55615)
headspikes don't give you a random head when you deconstruct them (except when maploaded)
also they look like they were supposed to with the head impaled
* fixes headpikes
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
* Base construction console refactor (#55451)
Refactors base construction consoles to be generic instead of only being meant for building the aux shuttle. The current aux base construction console behaves the exact same.
This PR is A step towards minichem, as I'll be using base construction code in it pretty heavily. More information about the whole minichem thing in this design doc
In terms of player-facing changes, this PR has made possible a neat admin-only base construction console that can be used to construct things anywhere on the z level.
Why It's Good For The Game
The current base construction console code was snowflakey and didn't follow particularly great coding practices. This fixes that and provides a solid foundation for future work.
* orange's chemical romance Pt. 1: Base construction console refactor
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
* Fixes artwork not being able to be named (#55475)
* whoops!
* Update artstuff.dm
* Fixes artwork not being able to be named
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>