* Fixes that you couldn't make improvised chem heater from constructed space heater. (#74530)
## About The Pull Request
Closes#74310
Replaces space heater's subtype "constructed" to just "on_construction"
set_panel_open(TRUE)
Also makes cell eject to put it in your hands instead of just droping on
the floor.
## Why It's Good For The Game
I can't imagine anyone using improvised chem heater with this interface
but bug fixed.
## Changelog
🆑
fix: fixed that you couldn't make improvised chem heater from
constructed space heater.
/🆑
* Fixes that you couldn't make improvised chem heater from constructed space heater.
---------
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
* Fixes TGC decks being capped to 31 cards rather than 30. (#74602)
## About The Pull Request
Fixes#72701 (closed but the issue seems to have been misunderstood.)
TGC decks are limited to 30 cards when inserting cards by using the deck
on individual cards (the legal amount) but using individual cards on a
deck has a limit of 31 cards instead, the 30 card limit is now correctly
checked on card insertions.
## Why It's Good For The Game
Bugfix.
## Changelog
🆑
fix: TGC decks will no longer allow you to insert an illegal 31st card.
/🆑
* Fixes TGC decks being capped to 31 cards rather than 30.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Four chickens can now (rarely) hatch from an egg when thrown (#74583)
## About The Pull Request
There is now a 1/256 chance for eggs to spawn 4 chicks rather than 1.
The chance for a single chick is now 1/8 minus 1/256, so 31/256 (just
like in Minecraft, for reals this time).
Also gives a small visible message when the eggs do create chickens,
just seemed nice to have.
## Why It's Good For The Game
Makes the process of breaking eggs marginally more entertaining with a
rare, high-value outcome that is sure to delight the average gamer's
gambling addiction. The semblance to Minecraft is now complete as well
and the messages are nice for gameplay feedback.
## Changelog
🆑
balance: chicken eggs can now, rarely (1/256 chance), spawn 4 chicks
instead of 1 or none
/🆑
* Four chickens can now (rarely) hatch from an egg when thrown
---------
Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
* Componentizes loomability (#74552)
## About The Pull Request
As shrimple as the title might imply, the ability for an item to be
processed in a loom is now a component.
Behavior on looming cotton, durathread, and wool, should all be the
exact same in terms of cost, time, results, etc.
## Why It's Good For The Game
If, for any reason, someone might want to extend the behavior of "this
thing can be loomed" to other items, it can be done.
## Changelog
🆑
code: The ability for objects to be loomed is now a component, with all
of the looming behavior moved off of the structure and into said
component. The actual behavior for looming cotton (clicking on a loom
with cotton) is completely unchanged.
/🆑
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Componentizes loomability
---------
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
* Reagent soup / Soup rework / Stoves - A kitchen expansion
* fixes that stuff
* puts the range stove on maps that sohuld have it
* fixes some paths that don't exist anymore
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Makes applies_mats on stack crafting work if the recipe result is a turf (#74553)
## About The Pull Request
This doesn't happen anywhere, but I found out this didn't work when
working on something stupid the other day. I figured I'd fix it here
while I'm at it.
## Why It's Good For The Game
If someone wants to make a turf created directly by stack crafting for
whatever reason, it should at least get materials applied if its wanted.
## Changelog
🆑
fix: Turfs made through stack crafting (so none currently) will have
materials applied if the var is set
/🆑
* Makes applies_mats on stack crafting work if the recipe result is a turf
---------
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
* fixes medkits being mini smuggler satchels (#74550)
## About The Pull Request
hey there! as it turns out, the pr that made storage a datum instead of
a component, changed the default value of maximum item size from small
to normal. medkits (and wallets too, but they can only fit some specific
items) didnt override this.
that means they could hold 4 normal sized items (and some small), kind
of invalidating storage space, as you had just a box but better.
its fixed now
edit: candle boxes too
## Why It's Good For The Game
bug bad abuse bad storage bad
## Changelog
🆑
fix: fixes medkits (and wallets, candle boxes) being able to store
normal sized items
/🆑
* fixes medkits being mini smuggler satchels
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Removes the flamethrower trigger guard (#74507)
## About The Pull Request
This was suggested by @ Fikou as an alternative to
https://github.com/tgstation/tgstation/pull/74463 so I thought I should
put it up in case this is favored more.
This removes flamethrower's gun requirements, allowing anyone wearing
atmos gloves/insulated gloves, and golems/ash walkers/monkeys to use
flamethrowers.
## Why It's Good For The Game
It allows Flamethrowers to be used more, without buffing atmos gloves to
using all guns and modular computers.
People using flamethrowers typically want fire proteciton, and currently
you can't have both since atmos gloves (and golems I guess) can't even
use them. This was not a problem in the past when you didn't need gloves
for fire protection, so this will hopefully solve that.
## Changelog
🆑
balance: Flamethrowers no longer have a trigger guard, and can be used
by anyone (including if you're wearing Atmos gloves).
/🆑
* Removes the flamethrower trigger guard
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds tele access to the QM (#74480)
## About The Pull Request
https://github.com/tgstation/tgstation/pull/54560 gave all command staff
access to the Teleporter room on lowpop, however this was forgotten
about for the QM when they were turned into a head of staff.
I also removed a QM-access check for budget examining since the QM now
has Command access instead.
## Why It's Good For The Game
Better consistency with what access to expect when playing as Command.
It also was bugging me a little bit.
## Changelog
🆑
fix: QM's now get teleporter access on lowpop, like every other Command
does.
/🆑
* Adds tele access to the QM
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* "Biscuit" cards, and also now slip papers are actually paper! (#74329)
## About The Pull Request
**This is not a literal biscuit which you eat. "Biscuit" is just a
nickname of this kind of snap-cards.**
Slip paper is now actually paper, before that, it was just literally
nothing, an object which does nothing. Because of that, the paper cutter
was useless as well, as it turned normal paper into useless paper slips.
Because of this now paper cutters are placed at:
- Bridge
- HoP office
- Warden office
- Cargo
Also adds biscuit cards. If you have no idea what it is, it's a kind of
card placed around a piece of paper usually to conceal some document and
it can be opened by cracking it with a crunchy sound (that's why it's
named a biscuit). Those are usually only opened in certain situations or
emergencies (The most famous example is the US president's nuclear
biscuit, which contains nuclear codes)
There are 2 biscuits: Normal and Confidential.
Normal is a plain biscuit with nothing really special, can be coloured
if you want as it's white.

The confidential biscuit is blue and has "NT" on it.

There is a not-sealed biscuit you can print in autolathe, it starts open
so you can put paper in and seal later making it a normal crackable one.
Now spare ID safe code automatically spawns in a confidential biscuit in
a new paper slip subtype - corporate slip paper. It's a plastic card
which is sturdier than the normal paper clip.

You can also create the corporate paper slip paper using - normal paper
slip, plastic, and captain rubber stamp (making this paper having a rare
status)


## Why It's Good For The Game
Paper slips being not paper is stupid and has no point in being that
way. This also made the paper cutter useless; hence, it was never placed
on any map (and never used).
This PR makes it paper, so it's usable when crew members need a paper
slip instead of a full-size sheet.
Placing paper cutters around the station makes it so the crew can
produce paper slips when they need them, this also gives it finally a
use and place on the station.
The 'biscuits' are cool and give more flavour to the spare ID safe
codes, as well as to other documents people might put in future PRs.
This also makes those paranoid captains which are scared of their spare
ID safe code being stolen and read can sleep tight, as now if someone
opens it up it's really obvious. Now also you can really make sure if
that head is lying about "not touching the spare ID", _but not as anyone
cares really._
**Okay, it's draft for now just so I can add some new things, and fix
the dupe bug:**
- [x] Being able to fax the paper biscuits
- [x] Make it impossible to cut paper slips into paper slips
- [x] Make corporate paper slips craftable or printable
- [x] Make confidential biscuits craftable or printable
- [x] Make paper cutters orderable at the cargo
_CRUNCH_
## Changelog
🆑 DrDiasyl aka DrTuxedo#0931
add: Added 'biscuit' cards! They can contain documents and can only be
accessed by cracking them open, you can't close them back. Nanotrasen
now stores spare ID safe codes in them.
add: Placed paper cutters around the station. They're in Bridge, HoP
office, Warden office, and Cargo.
add: Now you can order paper cutters at cargo.
fix: Now the paper slip is actually paper.
imageadd: The paper slips sprite was slightly tweaked to have text lay
more logically, added the corporate paper slip.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* "Biscuit" cards, and also now slip papers are actually paper!
---------
Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Atmos QOL + Small Sprite Fix (#74251)
## About The Pull Request
Added screentips and balloon alerts to many atmos machines/pipes
Volume pump overclocking overlay is much slower and less seizure
inducing
RPD screentips for right clicking pipes to copy settings
Removed (RPD) from the RPD's name since having an abbreviation in the
name is ugly
Crystallizer and electrolyzer use ctrl+click and alt-click to turn on
On examine electrolyzer tells you about anchoring to drain from APC
instead of cell
## Why It's Good For The Game
QOL for atmos stuff, user friendliness and better experience
## Changelog
🆑
fix: Volume pump overclocking animation is much slower, no more
headaches
qol: Added screentips to the RPD; screentips and balloon alerts to many
atmos machines and devices
🆑
* Atmos QOL + Small Sprite Fix
---------
Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
* Changes some silly visible messages (#74353)
## About The Pull Request
These are not visible messages, they're audible messages pretending to
be visual for some reason.
## Why It's Good For The Game
Deafness consistency
## Changelog
🆑 Melbert
qol: Some sound related messages from Iv drips, turrets, and the nuke
toy are now audible to the blind / hidden from the deaf
/🆑
* Changes some silly visible messages
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Peacekeepers don't get a message about being confused (#74235)
## About The Pull Request
Cyborgs don't get a message about phantom confusion during using of harm
alarm.
## Why It's Good For The Game
A fix(QOL)? for #71237
## Changelog
🆑 SishTis
qol: Peacekeepers cyborgs don't get message about being confused while
using harm alarm
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Peacekeepers don't get a message about being confused
---------
Co-authored-by: Kush1Push1 <78963858+Kush1Push1@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Adds the Dark Matt-eor when you emag a stupid amount of meteor shields + lots of meteor file sorting + qol + dark matter singularity + dark matt-eor summoning final traitor objective
* singularity
* Update singularity_s1.dmi
---------
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
* Adds IS_TRAITOR macro (#74293)
## About The Pull Request
i was making another PR and found that we have cultist, heretic, and
nuke op IS macros but not one for traitors
this adds one and then replaces it where applicable, mostly in checks
where a traitor device does something different if you are not a traitor
## Why It's Good For The Game
better for people making traitor only devices to have this macro, as it
is more clear and also cleaner in general i think
## Changelog
🆑
code: adds IS_TRAITOR macro
/🆑
* Adds IS_TRAITOR macro
---------
Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
* Adds The Sturdy Shako (HoS Hat) (#74277)
## About The Pull Request
Adds a new craftable HoS shako, made from the standard peaked cap and
some plasteel and gold.

Moves the HoS cap into a subtype `/obj/item/clothing/head/hats/hos/cap`
to avoid catching the beret in the crafting recipe, the base type
`/obj/item/clothing/head/hats/hos` is now a generic subtype which should
never exist.
(Yes there's a TF2 reference included with the hat)
## Why It's Good For The Game
Adds an additional level of style for an HoS willing to put a little
effort into gathering the required materials. As it is crafted as a
one-to-one trade with another headgear there is no additional spare
headgear introduced.
## Changelog
🆑
add: The Nanotrasen Costuming Department has released specifications for
how to convert the Head of Security's cap into a shako.
/🆑
---------
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Adds The Sturdy Shako (HoS Hat)
---------
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Remove janitor key UnregisterSignal [NO GBP] (#74280)
## About The Pull Request
Removes UnregisterSignal when the janitor access key ring is destroyed.
Signal will clean itself up. Mentions adding janitor keys to the
Custodial Locator, which I forgot on the last PR
https://github.com/tgstation/tgstation/pull/74181
## Changelog
🆑 LT3
qol: Janitor access keys now show up on the Custodial Locator tablet app
/🆑
* Remove janitor key UnregisterSignal [NO GBP]
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Debug ID Cards Can Now Use Vending Machines (#74278)
## About The Pull Request

This always pissed me off, and has been pissing me off for the last year
or so. I decided to sit down and figure out how to stop this from
occurring, and got it.
## Why It's Good For The Game
When I'm debugging several types of stuff regarding payment in my
pre-fabbed debug suit, I really don't want to fucking have to spawn yet
another ID card with an actual job on it and transfer money to that just
so I can use a vending machine, I WANT TO JUST USE THE VENDING
MACHINE!!! TIME IS PRECIOUS!!!
It does still draw from the station budget, but that's fine because this
is a debug card that is meant to be dangerous to hand out. It's a
debugger's tool. If you're concerned on people somehow getting it from
an admin and beign able to buy smokes from vending machines, they were
still able to withdraw money by alt-clicking on it before this change.
## Changelog
Nothing that really concerns players.
* Debug ID Cards Can Now Use Vending Machines
---------
Co-authored-by: san7890 <the@san7890.com>
* Machines can now be pried open multiple times and maintain their initial densities (#74163)
## About The Pull Request
These changes fix how machines are pried open with crowbars. Currently,
most machines can be pried open, but many of them have no method for
being closed again. This means they can be pried once, and then never
again (as their internal logic has them stuck in an "open" state).
Additionally, the densities of these machines is also inconsistent, as
density is tied to the procs for opening/closing machines (open =
non-dense, closed = dense). Thus, these new changes allow desired
densities to be passed to `open_machine()` and `close_machine()`, as
well as `default_pry_open()`, meaning that atypical machine densities
can be maintained (e.g. machines that should remain dense when open, or
non-dense when closed).
I've also added a `close_after_pry` boolean parameter to the
`default_pry_open()` proc, which determines whether to immediately close
a machine after opening it. This is useful for machines that don't
really have a use case for remaining open, often lacking a sprite to
represent this state as well.
* Note: Opening and immediately closing machines with this boolean will
still drop their contents onto the floor, but will now immediately
"close" in their logic, allowing for further prying attempts in the
future.
It's worth noting that this implements default density values for these
procs, which match the existing behavior for machines, so as to
(hopefully) not disrupt existing or expected machine behavior.
Two caveats to these changes currently exist:
1. On machines that immediately close after prying, the prying action
can now be spammed to the chat with repeated clicking. I'm uncertain if
this needs some sort of spam protection or if it's fine as is.
2. I've only been able to manually test this code. I'd love to write
unit tests for it, as it affects a lot of different machines, but don't
know where to begin with DM Unit Testing (or which files would be good
examples to reference in the code base).
* Note: I did manually test each and every machine that calls
`default_pry_open()` and they all seem to be working correctly. (Except
for `obj/machinery/plumbing/sender`, but that doesn't seem to need
prying, as it has no contents to drop, only reagents.)
As always, let me know if any improvements/changes should be made.
This closes#26833.
## Why It's Good For The Game
These changes allow crowbar prying to correctly occur multiple times on
any machine, which is intended behavior. It prevents player confusion
that could occur when a machine couldn't be pried open a second time
during a shift, even though it had previously been pried before, forcing
players to question themselves. (Are they missing something? Did they
perform the action a different way last time? Is the machine actually
still powered on instead of off? Etc.)
These changes also maintain the correct density for machines after
prying, preventing scenarios where a machine might behave differently
once it had been pried open. (An example of this was being able to walk
through a smartfridge after prying it open.) Additionally, players are
no longer required to know/use workarounds (such as machine disassembly)
to retrieve a powered-off machine's contents.
Overall, these changes improve consistency around machines, creating
more scenarios where they behave as players would expect.
## Changelog
🆑
fix: machines can now be pried open more than once.
fix: machines now have the correct density when pried open.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Machines can now be pried open multiple times and maintain their initial densities
* wew
---------
Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Minigame DLC - Intergalactic Basketball League (#72459)
## About The Pull Request
New DLC bout to drop.

Lots of new things included:
- New basketball minigame that can be played between 2-7 players
- Crafting recipe for basketballs using leather sheets
- Crafting recipe for basketball hoops using metal, rods, and durathread
- New basketball sounds for the ball and hoops
- New scorecard that can be reset using CtrlClick
- Basketball hoops can be rotated using a wrench and AltClick
- Dunking and shooting animations.
### New basketball mechanics that now utilize stamina:
- Dunking costs large stamina and you must be directly adjacent to the
hoop and click on it.
- Shooting costs medium stamina and uses RMB. Shooting lets you aim the
ball over peoples heads, meaning anyone obstructing your path will be
bypassed. There is a half second delay during shooting where someone can
bump or push to prevent the shot from succeeding.
- Shooting from further away results in less accuracy. If you do not
click directly on the hoop, there is also an accuracy penalty!
- Passing costs no stamina and uses LMB. Trying to score into the hoop
via passing results in a reduced chance.
- Spinning costs medium stamina while holding the ball. It gives a
reduced chance for the ball to be stolen but decreases accuracy for
shooting.
- Pushing a player using RMB will attempt to steal the ball and drain
their stamina.
- The chance to steal the ball is based on the stamina of both players
and the direction they are facing. If the person with the ball is at low
stamina, and the person stealing is at full stamina, they will have a
higher chance. Likewise, if the person with the ball is face to face
with the stealer, then there is a higher chance for the ball to be
stolen. If the person has their back to the stealer, then it's a lower
chance.
- Shooting from more than 2 tiles away, results in 3 points. See below
picture to know the distance.

### Now to introduce the teams:
<details>
<summary>Nanotrasen Basketball Department</summary>

</details>
<details>
<summary>Greytide Worldwide</summary>

</details>
<details>
<summary>Lusty Xenomorphs</summary>

</details>
<details>
<summary>Space Surfers</summary>

</details>
---
Big shoutout to the nukie round a few weeks ago where the nuke ops
challenged the crew (and clown) to a basketball match on their rebuilt
basketball shuttle. The nukies won, but it made me realize that the
basketball mechanics were very raw and needed some polishing.
#### TODO LIST
- [x] Fix bug where ball only goes over peoples heads if they are 1 tile
away
- [x] Remove leftover code comments and procs
- [x] Rebalance stamina values (maybe move this to different ball types)
- [x] Fix basketball stadium template runtiming from wall smoothing
during load
- [x] Fix space surfer stadium having an air breach somewhere
- [x] Add more sounds for when ball is passed, shot, or dunked
- [x] Make it so that holding a ball while on the floor isn't possible
(to avoid those meta cheese strats)
- [x] Drop basketball lets mobs make sounds when spinning (need to
detach signal?)
- [x] Finish adding a simple lobby menu for minigame
## Why It's Good For The Game
_If you can't slam with the best, then jam with the rest._
## Changelog
🆑
add: Add crafting recipe for basketballs (leather sheets) and basketball
hoops (metal, rods, and durathread)
add: Add new basketball minigame for 2-7 players. There are 4 different
courts and teams by default with more planned to be added later.
add: New basketball mechanics that uses stamina. Shoot with RMB, pass
with LMB, and dunk by clicking the hoop while adjacent. Spinning while
holding the ball decreases the chance for someone to steal the ball, but
it decreases your shooting accuracy. Shooting from 2 tiles away lets you
score 3 points.
qol: Basketballs now play a buzzer sound when someone scores. CtrlClick
will reset the scorecard and AltClick with a wrench will rotate the
hoop.
qol: Dunking and shooting animations for basketball.
soundadd: Added basketball bounce sound with credits attribution
imageadd: Added basketball icon to minigames. Move baseball and
dodgeball icons to toy/balls.dmi
/🆑
* Minigame DLC - Intergalactic Basketball League
* Update CentCom_skyrat_z2.dmm
* raptor
---------
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Turns stickers into a component and an element (#74091)
## About The Pull Request
Adds /datum/element/sticker, and /datum/component/attached_sticker
Sticker items now mostly operate off /datum/element/sticker
The sticker element, hooks the whole "attach to stuff" and adds the
attached_sticker component to its target
The attached_sticker component, adds the overlay, hooks the clean and
on-fire signals.
## Why It's Good For The Game
Allows to check if a sticker is present on an object (which I will use
later)
Code is probably cleaner???
## Changelog
🆑
refactor: Stickers use a component and an element now to do their
sticking
/🆑
* Turns stickers into a component and an element
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
* Fixes atmos machinery breaking when the area is edited/renamed via station blueprints & Deletes empty areas, ARCD upgrades
* areas
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
* Dump ejected implant contents onto our turf, not inside our mob (#74120)
## About The Pull Request
Fixes#74119
This was probably a victim of the storage refactor.
When removing items, it was dumping them _inside the mob_ rather than on
the floor, additionally it was putting mob blood on every item already
inside the mob rather than on the items being dumped for some reason?
Now it doesn't do that.
## Why It's Good For The Game
Removing a storage implant from someone should dump the items, not trap
them in your body.
## Changelog
🆑
fix: Removing a storage implant from someone will dump the items on the
ground rather than inside the mob.
/🆑
* Dump ejected implant contents onto our turf, not inside our mob
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Replaces internal_organs with organs
* Makes all of the necessary internal_organs -> organs in our files to compile
And it seems to work too!
---------
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Access Keys list and destroy proc (#74181)
## About The Pull Request
- Puts recently added access key rings into the janitor devices list
- Access key rings now tracked in Custodial Locator tablet app
- Access key rings unregister their department signal when destroyed
## Why It's Good For The Game
Management of access key rings.
## Changelog
🆑 LT3
code: Access key rings added to list on creation
code: Access keys unregister signal when destroyed
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Access Keys list and destroy proc
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Fixes gondola meatslab not being able to be placed into infuser (#74173)
## About The Pull Request
https://github.com/tgstation/tgstation/pull/73796 Seems to have made it
so that gondola meat is used in the infuser instead of its body, which
turns into meat on death. The issue with that is the meat slab does not
have the `GORE` flag and so was rejected by the infuser.
As per
afe6ecc353/code/game/machinery/dna_infuser/dna_infuser.dm (L294-L297)
Looking at the code this should fix it right up.
## Why It's Good For The Game
Bugfix
## Changelog
🆑
fix: fixes gondola meatslab not being able to be placed into the DNA
infuser
/🆑
* Fixes gondola meatslab not being able to be placed into infuser
---------
Co-authored-by: Bloop <vinylspiders@gmail.com>
* Fix missing meat clown food types (#74146)
🆑 coiax
fix: Fixed missing food types for the meat clown, it is now meat and
fruit.
/🆑
Liked by lizards, toxic to moths, and neutral to humans and felnids in
terms of species biases.
The construction recipe is steak + banana, but the resulting product has
no food types, making it blandly suitable for everyone. This is an
oversight. Not everyone will like a mixture of banana and flesh.
* Fix missing meat clown food types
---------
Co-authored-by: Jack Edge <yellowbounder@gmail.com>
* Bone gel now spawns in stacks of 4 inside Paramedic and Medical ERT belts (#74063)
## About The Pull Request
Bone gel spawned inside player medical belts, for the roles of Paramedic
and Medical ERT, now spawns in a stack of 4. Previously they would spawn
with only a single stack. This new amount matches the stack size
received when purchasing the identical item from a Nanomed, or ordering
it in a Cargo crate.
As such, this change creates consistency around the number of uses in an
fresh, "unopened" bottle of bone gel.
## Why It's Good For The Game
Creating a uniform, default stack size for bone gel keeps interactions
with the item consistent and predictable. In the case of paramedics,
their starting kit also includes 5 stacks of surgical tape, so having a
few stacks of bone gel matches the player expectation that they have
enough supplies to treat a few instances of each type of injury (rather
than only one).
Addressing this discrepancy also Closes#71393.
## Changelog
🆑
balance: Bone gel now spawns in stacks of 4 in Paramedic and Medical ERT
belts
/🆑
* Bone gel now spawns in stacks of 4 inside Paramedic and Medical ERT belts
---------
Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
* Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours! (#73746)
## About The Pull Request
Adds the Snatcherprod, the telecrystal version of the teleprod. It
yoinks an item out of the victim's hand, and puts it into yours. Or on
the ground, if your hands are full.
You make it like you would a teleprod, but using a telecrystal instead.
## Why It's Good For The Game
It was a funny joke I observed. Also I'm deeply sleep deprived and so my
better judgement eludes me during these capricious moments.
## Changelog
🆑
add: Adds the Snatcherprod. Like a teleprod, but it steals stuff from
peoples hands instead. Made using a telecrystal, rather than a bluespace
crystal.
/🆑
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
* Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours!
---------
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* EMP no longer turns off defib safeties (#74018)
## About The Pull Request
EMP can no longer disable safeties on defibs
## Why It's Good For The Game
Rewarding people with a slightly stronger baton that you don't drop when
you get knocked down for literally just mixing a crushed can and like
two common ingredients is a terrible idea.
edit: also ignores shielding and blocks
## Changelog
🆑
balance: You can no longer EMP defibrillators to make them combat-usable
/🆑
* EMP no longer turns off defib safeties
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)
## About The Pull Request
There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.
I left out the two others which are already in PR, I'm not stealing your
GBP.
Fixes https://github.com/tgstation/tgstation/issues/68881
## Why It's Good For The Game
Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.
There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.
alright here goes
## Changelog
🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑
* Audits usage of isanimal() vs isanimal_or_basic_mob()
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw (#73996)
## About The Pull Request
The chainsaw now has an audio loop, as well as SFX for starting and
stopping. I'm pretty confident that I did the attribution stuff
correctly.
https://user-images.githubusercontent.com/28870487/225054900-4bf87ee7-9245-4004-b414-77d0e6e83a7c.mp4
I think this came out well. It may be a bit loud, but I wanted the
volume to be about the same as how the chainsaw slash sound comes out.
Audio stuff isn't really my forte, so let me know if anything sounds
off, or if any adjustments should be made.
To make this work for the mounted chainsaw (more specifically, the
abstract object that enters your hand), it has been made into a chainsaw
subtype. An updatepaths script has been included in the event that
someone has a map where the former path was included (why??).
## Why It's Good For The Game
Makes the chainsaw more menacing. It's one of the most powerful and
beloved pieces of crew weaponry, in addition to being a fucking
chainsaw. If you aren't keen on walking around the hallways with the
chainsaw loop playing like the badass you are, you can always just keep
it off until you get into a fight.
Gives an extra bit of immersion for those special moments where you get
to chainsaw someone to death.
## Changelog
🆑
soundadd: The chainsaw now has SFX for starting, stopping, and idling.
/🆑
* Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw
---------
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Cleans up `..()` usage in organs' `Insert()` and `Remove()` (#74055)
## About The Pull Request
fumbled around while investigating #74047 and turns out there's other
organs that have the same issue as the reported alien organs in that
issue. went around and replaced parent calls where applicable
(cursed/demonic hearts, flashlight eyes, alien organs, abductor glands)
## Why It's Good For The Game
Fixes#74047
Considerably less ghost internal organs, hopefully less unreported jank
on removing organs
## Changelog
🆑
fix: fixed a few internal organs acting wonky on inserting/removing
(some xenomorph organs, abductor glands, flashlight eyes, demon/cursed
hearts)
/🆑
* Cleans up `..()` usage in organs' `Insert()` and `Remove()`
---------
Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>