* Moonlight Greatsword var cleanup (#56224)
## About The Pull Request
Currently, there are 2 "Moonlight Greatsword" variants placed on a station maps - Delta and Kilo. Delta has varedited nullrod variant, and Kilo has varedited baseball bat variant. Neither of these are ideal - Delta variant is getting rushed every other round for it's antimagic properties, and Kilo variant is quite odd choice for a sharp greatsword. Additionally, them being directly varedited in the map does not help their case either.
Thats why I have replaced both with a new item to solve all these issues - a new sharp weapon with no antimagic and stats of a slightly stronger knife.
## Why It's Good For The Game
Less direct map varedits and no more cheap antimagic.
* Moonlight Greatsword map unification and balance
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
* Adds wrench able on top of function to grinders (#56205)
Grinders and the like could not be secured on to of a table.
This adds the ability to provide a list of type that the object can be secured on top of.
* Adds wrench able on top of function to grinders
Co-authored-by: NightRed <nightred@gmail.com>
* Stops encrypted report spam (#56165)
Adds a do_after() to the in-spect scanner, and moves its examine_more() into examine(). Removes an unneeded second way to print a report using attack()
* Stops encrypted report spam
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
* Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB) (#55625)
About The Pull Request
The food cart no longer... Does whatever garbage it did before. What, like, store condiments? Terrible. Now you drag it around and set it up, creating a tent with a griddle, smartfridge, and a table. You can pack up anytime. Breaking parts of the tent will pack up the machine and subsequently break it, so careful!
Why It's Good For The Game
The food cart has been an entirely outdated, out classed, completely dead machine to use. We just can do a lot better in 2020. Now it once again has a nice unique function and lets chefs do a new gimmick of being a travelling seller of food. Employs the "steal the janicart" meta from the janitor in the new and equally infuriating "steal the entire damn tent lmao"
Changelog
🆑
add: Food Cart has been completely remade to work as a mobile kitchen
/🆑
* Food Cart remade as a mini-kitchen you can set up in the hallways (AND DO ANYTHING) (ARMFLOYDENKITCHENEZAB)
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Adds database tracking to maintenance pills (#56179)
I originally added maintenance pills, and while already perfect, I felt like polishing them a bit. I didn't do much, just:
- Maintenance pills now track a players score. Gotta eat em all to get that leaderboard highscore!
- More names and decriptions for maintenance pills, most of them suggestions from the old PR
- Renamed floorpill to pill/maintenance in code because that's what they are, no idea why I didn't originally do it
I've also polished the sprite a little bit, because it always looked a bit _too_ shady

(Below is old sprite, above is new sprite)
* Adds database tracking to maintenance pills
Co-authored-by: Time-Green <timkoster1@hotmail.com>
* Add weakref support to qdel (#56171)
qdel() should allow usage of weakrefs to avoid harddels on long duration qdel_in usage
* Add weakref support to qdel
Co-authored-by: spookydonut <github@spooksoftware.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>
* Makes wayfinding great again (#56055)
Interacting with the wayfinding pinpointer dispenser recently after leaving it untouched basically since I added it I realised it has a bunch of bad design decisions that make it unpleasant to interact with so while this can never solve the lack of desirability of the pinpointers themselves hopefully it prevents the machine from contributing to the problem.
* Makes wayfinding great again
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.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>
* Explosive lance icons update properly (#56164)
Fixes#56154. Spears were missing an update_icon on initialize, this adds one. Now, spears will show their grenade upon construction. Works just fine in testing.
* Explosive lance icons update properly
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
* var/hacked now actually does something in vendor spawners (#56144)
Oversight made by @ TiviPlus when making #55147
var/hacked wasn't actually used in code and instead, all spawner vendors were instantly hacked.
fixes#56101
* var/hacked now actually does something in vendor spawners
Co-authored-by: EgorDinamit <53223414+EgorDinamit@users.noreply.github.com>
* Fix briochecake icon, add tastes and foodtypes (#56125)
- Adds a missing `icon_state` to the full brioche cake
- Adds `SUGAR` to the brioche cake's and slice's `foodtypes`, as they're glazed (according to the description)
- Adds butter and cream to the `tastes` as well
* Fix briochecake icon, add tastes and foodtypes
Co-authored-by: Alex 'Avunia' Takiya <git@takiya.cloud>
* 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>
* Makes jaunting work properly again (#56028)
Fixes an if check that was checking the area flags of a turf. Prevents a runtime in phased_check, and makes the area noteleport flag work properly. These were introduced by #55973
* Makes jaunting work properly again
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixing bugs about the worst simple_animal coded in and material tiles. (#54885)
Fixed floorbots applying floor tiles onto already tiled turfs.
Fixed floorbot issues with material tiles.
Fixed emagged floorbots spawning lattice when deconstructing floor into plating.
* Fixing bugs about the worst simple_animal coded in and material tiles.
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Makes it possible to create an /obj/item/sharpener with multiple uses (#55958)
Whetstones will now become worn when at 0 uses instead of being either used or not used. All currently existing whetstones start at 1 use.
* Makes it possible to create an /obj/item/sharpener with multiple uses
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
* Rework job food/alchohol benefits into livers (#55721)
By moving the "special behaviour" of something like security officers
eating donuts, or engineers losing radiation by drinking Screwdrivers,
into traits on the liver, this makes the "origin" of that behaviour more
clearly defined, rather than something that's attached to the mind of
the person. (For example, now if a wizard mindswaps into a Security
Officer, they too can now digest donuts good.)
Having this behaviour be partially visible to the more medically
inclined members of the station (like doctors, and the chaplain for
"entrails reading mystic" themes), means that a dismembered liver tells
a story to those who know how to read it.
Some jobs have more "benefits" than others, for example the only thing
that the liver of a Quartermaster gives them is a sense of inadequacy
when consuming royal carpet.
Clowns having livers that honk make them easier to identify, and plays
into the retconned "bike horns are clown livers lore"? Also, why not cut
out a clown's liver then honk them with it? You monster.
* Rework job food/alchohol benefits into livers
Co-authored-by: coiax <jack@billbuddy.co.uk>
* Adds forgotten kit to armament beacon (#56016)
Adds the forgotten kit to the armament beacon, holding the same stats as knight armor and stone sentinel, But with the sprites for the old clockwork armor and helmet, as they are very nice looking sprites. Moves said sprites to the suit and hat file respectively. as-well as adding forgotten helmet/armour to the game, which are said armors.
Makes it easier to do any clockcult themed gimmick as the chaplain without wearing the god awful craftable armor, uses sprites that really shoulden't die on the same hill as clockcult. a few others have also told me they'd love to see the old clockcult armor and helmet sprites used for something, as they look nice.
* Adds forgotten kit to armament beacon
Co-authored-by: Coastfront <50342376+Coastfront@users.noreply.github.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>
* Telekinesis can throw non items (vending machines, lockers) only 1 tile far (#56063)
Telekinesis users can now only throw items 10 tiles, everything else can only be thrown 1 tile
* Telekinesis can throw non items (vending machines, lockers) only 1 tile far
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
* Sticky syndicate access (#56032)
Adds sticky access. Sticky access will be readded if removed in the identification console. Currently only used to fix#54429. Also converts some comments in card_ids.dm to DMdoc comments and adds some new ones.
* Sticky syndicate access
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.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 some baton bugs (#55868)
You can now turn on stun batons that have exactly enough charge left in them to stun someone.
Thrown stun baton impacts can now apply baton_effect() to most of the creatures that melee baton strikes can apply baton_effect() to.
* fixes some baton bugs
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Applies the pluox formation code portable atmos devices and tanks (#55923)
Makes irradiating tanks and portable atmospherics devices (canisters, pumps, scrubber) induce pluoxium and tritium formation if they contain the correct gases.
Does NOT affect atmos components or pipes because I don't think Lemon would let me do that to pipecode. (He's right)
* Makes pluox formation slightly more consistent
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* NOTELEPORT errywhere (#55973)
These prevent some cheats or really low effort ways to get to where you really shouldn't be.
Mappers seriously fucking hate jaunting and phasing mechs, as they let you bypass their custom crafted ruins and the like. But it'll also stop more general "you shouldn't be here" stuff.
* NOTELEPORT checks that were atomized out of the medieval shuttle
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Yellow slime core and Cakehats not directional light now (#55987)
Yellow slime core when turn on is 360deg as at should be and not directional light and slightly brighter.
Cakehats also get there 360deg light.
* Yellow slime core and Cakehats not directional light now
Co-authored-by: kopoba <kopoba.webmaster@gmail.com>
* Toy hot potatoes no longer trigger allergies. (#55766)
Hot potatoes currently dose the holder with muscle stimulants. This is fine until someone who has an extreme allergy to muscle stims gets handed a toy potato from an arcade prize.
* Toy hot potatoes no longer trigger allergies.
Co-authored-by: sqnztb <zephyrthebreeze@gmail.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>
* minor cytology related tweaks (#55910)
makes the new cytology items compatible with Biobags and Labcoats
* minor cytology related tweaks
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
* Third Rate Duelist With A Fourth Rate Deck: The TG TCG, Part 2 (#54659)
Finally adds the ruleset to the TGC, allowing players to play the game (in a relatively provisional state).
Cards now have rules and keywords attached, as well as a proper system for displaying information in the sidebar (all the credit for this has to go to @ ArcaneMusic, who also contributed a huge amount of the ruleset for the cards).
The full ruleset and keywords can be found here: https://tgstation13.org/wiki/Tactical_Game_Cards
* Third Rate Duelist With A Fourth Rate Deck: The TG TCG, Part 2
Co-authored-by: EOBGames <58124831+EOBGames@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>
* Maintenance Space Huts (#55925)
Each map has a space hut, it's a nice little room only accessible from an airlock + catwalks.
Each one has a different theme per map:
Metastation: Moved the nice romantic maint-dinner onto the hut, with a mass driver for dumping your bodies.
Deltastation: A space observatory that will get completely obliterated by even the lightest of meteor storms. (+Space Lizard Plush!)
Icebox: A quaint little broken down cabin. You'll have to break through barricades to get in, but the fireplace will make it quite cozy.
Kilo: A very, VERY hidden little plasma-friendly environment to hang out in without your suits on. No oxygen, so no worries about starting a fire! (+Plasmamen Plushies!)
* Maintenance Space Huts
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>