* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds
* ah fuck it
* test
* edaawdawd
* Revert "edaawdawd"
This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.
* nothing but sheer hatred
* freaawd
* dzfxg
* Fixing some diffs here while we are at it.
* These are deprecated and should be removed
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Fixed reagent grinding (and juicing?) (#78136)
## About The Pull Request
Resolves#78063
The Foodening refactored grinding and juicing in the reagent grinder,
but there were a few mistakes along the way. Most notably, items that
gave extra reagents when ground were not doing that (such as peptides in
livers) due to an error in adding those reagents. This error has been
corrected.
I've also fixed the code for juicing, which was erroneously passing a
beaker as its own reagents datum, though I couldn't tell if this
actually had any negative effects. Somehow. Better safe than sorry.
## Why It's Good For The Game
It's good to get everything you're supposed to get when you grind stuff.
The main source of peptides being inadvertently removed also made
cytology harder, and cytology really doesn't need to be made _more_
inconvenient.
## Changelog
🆑
fix: Fixed all-in-one grinders not giving all the correct reagents when
grinding.
/🆑
* Fixed reagent grinding (and juicing?)
---------
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
* ports noticeboards from the wallening (#78133)
## About The Pull Request
got permission from @ LemonInTheDark to add these here, changes virtually
nothing from the wallening branch.
tested and everything looks good. props to @ Krysonism for the sprites,
they are very very nice
basically just a straightforward resprite. it holds 8 notices now
instead of 5, and uses overlays rather than static sprites.

comparison here

## Why It's Good For The Game
noticeboard was kind of crufty and this either makes the wallening
easier, or doesn't make it more difficult. which is nice!
## Changelog
🆑 Krysonism
image: resprites the noticeboard
/🆑
* ports noticeboards from the wallening
---------
Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com>
* Updates some missed synthetic meats with lower reagent purity (#78065)
## About The Pull Request
These synthetic meats appear to have been missed in the foodening PR.
## Why It's Good For The Game
Consistency
## Changelog
🆑
fix: 'meat product' and imitation carp meat are now considered synthetic
meats for the purposes of reagent purity
/🆑
* Updates some missed synthetic meats with lower reagent purity
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Atmos overalls take 2 (#78007)
## About The Pull Request
This is a reinmagining of #72768 as I never was never given a chance and
feedback to polish the sprites or remake it as a suit item as was
suggested before the PR was closed.
This adds Atmos Overalls that ATs will spawn with, the sprite is based
on the GAGS overalls we already have, but I dodged the GAGS system and
made it a standalone item following the AT firesuit palette and design
to fit in.
It can carry the same gear as the wintercoat and the overalls themselves
have fire and acid armor in parity with the firesuit, but that is for
the clothing itself and not the wearer.
This is first and foremost a fashion item, as with how our game manages
fires, being fireproof on your legs and torso won't do anything with
your arms exposed...

<details><summary>This is how ATs looked at spawn before as
reference</summary>
<p>

</p>
</details>
## Why It's Good For The Game
The only "fashion" suit atmos have is their wintercoat, if an AT is not
using their "functional" clothing (MOD/Firesuit) they all default to the
wintercoat and look mostly the same and even their functional uniform
makes everyone also look the same as it covers everything (That is
something I like to be clear)
There is also the "issue" that AT and Engies have the same jumpsuit and
wintercoat with small changes, and that their department bags use orange
instead of yellow as a second color, which makes them look weird on ATs
and the CE.
So now we have something that ATs can use to look different from each
other while still keeping their job identity.
And, as I said in my previous PR, I just really want the pumbler job to
look like a plumber, when they are not firefighting at least.
## Changelog
:cl:Guillaume Prata
add: Atmos Tech now have new drip and will spawn with Atmos Overalls to
protect their clothing from gas leaks! (It will actually not protect you
against fire or leaks, but hey! It's the thought that counts!!)
/🆑
* Atmos overalls take 2
* Worn digi sprite refit
---------
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Funny clown internals (#77963)
# About The Pull Request
This PR changes the internals that spawn inside the clown's survival box
for a new one with a rainbow sprite, higher O2 volume (same as the engi
ones) and a secondary gas on top of O2 to make things more interesting
for the clowns.
The gas options are:
BZ, which just adds hallucinations for the clown, without the brain
damage effect as it is in low percentages.
N2O will make the clown giggle and laugh, without the sleep.
Helium will give the clown a "funny voice".
These tanks are also added to the mail list of clown fans and the clown
costume crate at cargo.
And codersprites, I can polish them later if people think it is pixel
soup, I'm not happy with them that much, but making this looks good
might be above my paygrade...
<details><summary>Pics here</summary>
<p>


</p>
</details>
## Why It's Good For The Game
The main goal I have with this is to add more uses for Atmos Content to
other players in a flavorful way.
Atmos is not something the crew interacts in a positive way often and I
want to change that.
These tanks are something quite minor but flavorful IMO, also will make
people know Helium fucking exists...
The tanks *shouldn't* change much of the clown's round in a negative
way, and the default O2 internals are in every hallway's locker so even
if they don't want to deal with the hallucinations it is not a big deal
to dodge them.
## Changelog
🆑 Guillaume Prata
add: New funny internals for the clowns to spawn with. They come with O2
and a secondary gas between 3 options: BZ, Helium and N2O. Talk with a
"different tone" with Helium, giggle and laugh "uncontrollably" while
under the minor effects of N2O or have "fun" hallucinations while under
the minor effects of BZ.
balance: To not cut on how long the clown's O2 internals last due to the
mixed gases, the funny internals have 50% more gas volume, same as
engineers' internals.
/🆑
---------
Co-authored-by: CRITAWAKETS <sebastienracicot@ hotmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Funny clown internals
---------
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: CRITAWAKETS <sebastienracicot@ hotmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Makes fanny packs be silent, others can't see what you put in or take out. (#78010)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
Just like the syndicate toolbox and a handful of other items.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
This is a blatantly stealth antag buff.
Pockets are 2 silent storage slots everyone has, so it is not adding
anything that antags didn't have access already.
But going from 2 to 5 small items can help a lot, also belts are a lot
smoother to use with their shortcut keys.
Love stealth antags, hate murderboners, gonna help my stealth boys not
be valid hunted because someone checked their chat logs from 10 minutes
ago and read that X player put Y contraband in their bag.
Or people that have some contraband names highlighted on chat... but no
one does that right.... right?
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
:cl:Guillaume Prata
balance: Fanny packs are now silent, no one will get a chat message
about what you put in or take out.
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
---------
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Makes fanny packs be silent, others can't see what you put in or take out.
---------
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* removes the nukie tool parcel (#77986)
## About The Pull Request
removes the tool parcel and places tools directly in their box
## Why It's Good For The Game
the step of having to pick up your tools invalidates why we put em there
in the first place - so nukies can use them in an emergency. its
annoying to put them back in your box.
the parcel was added because the tools could make the box go above 7
slots during the extended box station trait, but i fixed that in the pr
that made it so that trait increases the box size of that box
## Changelog
🆑
qol: removes the nukie tool parcel and places the tools directly in
their box
/🆑
* removes the nukie tool parcel
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* RCD directional window qol & wall mount patch. Code improvements (#77858)
## About The Pull Request
Fixes#77852
RCD can build wall mounts on reinforced walls
Closes#77848
Not a fix so labelling this as a qol cause it was always intentional but
now RCD can build directional windows without building a grill first.
Saving some matter units from building a grill is a plus
Added auto doc for some procs & made the extra delay when building
multiple structures into a define
## Changelog
🆑
fix: rcd can build wallmounts on reinforced walls
qol: rcd can build directional windows without requiring/building a
grill
/🆑
* RCD directional window qol & wall mount patch. Code improvements
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Makes it easier to place tiles on multi-z holes (#77935)
## About The Pull Request
Adds the "open space click handler" to tile stacks, which makes it so
you don't have to pixel hunt for a turf on the BELOW z level in order to
fix a hole.
This exists on rods and rpds since they're often used to fix holes.
But wasn't added to tiles when they were made to be able to fix holes
directly, without rods.
Additionally, closes#77540 by having the open space click handler loop
up z levels so that it works if you're clicking on items from multiple z
levels away.
## Why It's Good For The Game
The current behavior can be very frustrating to work around, and appears
to not be intended.
## Changelog
🆑
fix: Made it easier to place tiles on multi z level holes
/🆑
* Makes it easier to place tiles on multi-z holes
---------
Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
* roundstart scryers now come with the nt frequency (#77957)
## About The Pull Request
fixes#77934
## Why It's Good For The Game
blegh
## Changelog
🆑
fix: roundstart modlink scryers now come with the nt frequency
/🆑
* roundstart scryers now come with the nt frequency
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* QOL improvements to display case chassis (#77785)
## About The Pull Request
Display case chassis now has
Examine Hints
Screentips
Balloon alerts
Also moves wrench deconstruction to wrench_act, removes single-letter
vars, cuts down on copy paste, and makes the electronics drop when
deconstructed.
## Why It's Good For The Game
I am actually bored and looking for things to do.
Someone asked how to build a display case, I didn't even know myself so
I looked up in code how to, and saw features I didn't even know existed.
Thought I might as well make it all visible to players so they can take
full use of them.
## Changelog
🆑
qol: Display case chassis now uses balloon alerts, screentips, examine
hints, etc. Basically, the construction steps are more visible to
players.
/🆑
* QOL improvements to display case chassis
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Transit Tube Fix and New Rotator Disposal Pipe (#77843)
## About The Pull Request
Fixes flipped transit tube stations being inaccessible and adds a new
rotator disposal pipe which rotates the incoming atom 90 degrees no
matter which direction the atom comes from.

## Why It's Good For The Game
Adds new disposal pipe usage for cool projects and fixes a bug.
## Changelog
🆑
add: New rotator disposal pipe.
fix: Flipped transit tube stations are now accessible in the RPD again.
image: New rotator disposal pipe sprite.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Transit Tube Fix and New Rotator Disposal Pipe
---------
Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixes a runtime in health analyzer woundscan and locks the first aid wound treatment bonus to first aid analyzers (#77869)
## About The Pull Request
Title. The original author didnt mean to give all analyzers the bonus,
and its clearly an oversight if you look at the code.
Proof:

## Why It's Good For The Game
Firstly, bugs are bad. Secondly, the supposed benefit of first aid
analyzers is available to all analyzers right now, making them useless.
## Changelog
🆑
fix: Woundscans no longer runtime
fix: Normal health analyzers can no longer give the first aid bonus when
woundscanning
/🆑
* Fixes a runtime in health analyzer woundscan and locks the first aid wound treatment bonus to first aid analyzers
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
* Adds a syndicate AI card for nuke ops (#76546)
## About The Pull Request
Adds a syndicate AI card for nuke ops. Costs 12 TC, can be refunded.
Activating it in-hand opens up a ghost poll like normal reinforcements.
## Why It's Good For The Game
> Adds a syndicate AI card for nuke ops. Costs 12 TC, can be refunded.
Activating it in-hand opens up a ghost poll.
It'll be fun to have a lil modsuit pal with you who can maybe help if
you get stunned, in critical condition, or else. With an injector module
they can even save your life, if it's loaded with medicine! Unless they
can't actually inject, but oh well, out of scope.
12 TC seems fair to me, not so expensive that nobody's going to bother
with something that's not really useful in the vast majority of
circumstances, but not so cheap that everyone will get one.
There are also doubtless a huge amount of gimmicks that savvy nukies can
get up to, having a pocket AI.
**Since this needs two players to be fully tested, I wasn't able to do
so. Please testmerge this before merging so we can confirm it works
ingame!**
## Changelog
🆑
add: Adds a syndicate AI card for nuke ops. Costs 12 TC, can be
refunded. Activating it in-hand opens up a ghost poll like normal
reinforcements. Base interaction range for syndicate AIs is one, which
means they can handle electronics only in proximity.
add: Adds a syndicate AI interaction range upgrade for nuke ops, costs 4
TC and can be applied onto a syndicate AI (inside any container) to
increase its interaction range by two per. (Three purchases are
recommended for seven tiles of range!)
/🆑
* Adds a syndicate AI card for nuke ops
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
* Fixes Define Sanity (#77845)
## About The Pull Request
Hey there,
This was broken in an update from #74573
(3902973978), the RegEx was only catching
a fraction of the cases it was meant to be.
This is what we were finding on 74573 version of the RegEx:

This is what we should be finding for all of the cases that
`define_sanity` will need to check for:

This is what was broken as a consequence:

As stated in the introductory PR #74333
(ccef887efe), it's not the end of the
world if we miss unmanaged local defines, but it's still useful to have
this as a maintainability tool to ensure that everything remains as
clean as it possibly can. I wish we could do the whole matching method
like the aforementioned PR supposed could happen, but it simply doesn't
appear to work the way we want it to.
## Changelog
Nothing player facing.
I tried to experiment with `UNLINT()` but I got absolutely ganked by
getting the regex to work, so the fix for the FA Icon file may not be
super duper great unfortunately. Let me know if you have a showstopper
idea, this is just a stopguard so this PR can get merged and I don't
have to keep talking about unmanaged local defines while reviewing PRs.
* Fixes Define Sanity
---------
Co-authored-by: san7890 <the@san7890.com>
* fixes coroner medkit storage (#77912)
## About The Pull Request
atom_storage.max_specific_storage and atom_storage.max_total_storage had
their values reversed. this fixes that, and i tested to confirm: the
compact coroner medkit can now hold everything it spawns with
## Why It's Good For The Game
before this fix, the max storage of a coroner medkit was two items. it's
very annoying to pull an item from it, only to find it can not go back
in again - moreoever, this gives it consistency with other medkits.
## Changelog
🆑
fix: the coroner medkit can now hold every item it spawns with
/🆑
* fixes coroner medkit storage
---------
Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com>
* Makes railings easier to construct, while making them easier to destroy. (#77894)
## About The Pull Request
Changes the cost of railings from 6 metal rods to 2 metal rods.
The time to construct has been reduced from 3.6 to 1 second to be
in-line with the grille.
The health of railings has been reduced from 75 to 25.
Armor of railings have been reduced as well by about 30%.
I'm not positive on whether or not it should cost 1 metal rod or 2. I
decided to play it safe and make it 2. If some maintainer is interested
in making it only cost 1 rod then I will gladly do so- but this was my
compromise.
Also changes decaseconds/ticks to seconds in the rod construction code
to make it look better.
## Why It's Good For The Game
Railings look nice and it's an absolute pain in the ass that they cost 6
metal rods.
They're also currently substantially stronger than grilles for whatever
reason. Grilles have 50 health, while railings have 75.
The armor of railings makes this health of 75 to a whopping effective
health of 150.
Railings shouldn't be stronger than full-tile grilles. They should be
fairly flimsy.
They also shouldn't take a wrench AND wirecutters to deconstruct.
Grilles only take wirecutters and we should mirror that.
## Changelog
🆑
balance: Railings now only cost 2 rods and are much easier to construct.
But they can now be destroyed much easier and cut with wirecutters
without unwrenching.
/🆑
* Makes railings easier to construct, while making them easier to destroy.
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
* Zipping a duffle bag closes UI of all storage items opened inside it (#77886)
## About The Pull Request
Fixes#77885
zipping it now looks for storage items inside its contents and closes
their UI recursively, including its own UI as well.
## Changelog
🆑
fix: zipping a duffle bag closes the UI of all storage items opened
inside it
/🆑
* Zipping a duffle bag closes UI of all storage items opened inside it
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Makes messenger bags craftable (#77899)
## About The Pull Request
Makes messenger bags craftable using the same recipe as backpacks and
satchels.
## Why It's Good For The Game
Just making the list of craftable containers complete
## Changelog
🆑
qol: Messenger bags can be crafted with 4 cloth.
/🆑
* Makes messenger bags craftable
---------
Co-authored-by: YehnBeep <86855173+YehnBeep@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Fixes hitting RCD effects when they're done (#77896)
## About The Pull Request
https://github.com/tgstation/tgstation/pull/77641 made it so that RCD
effects can be hit while they're constructing to stop their
construction. however, the construction effect itself lingers a bit
after things are done constructing, allowing it to eat up clicks. this
fixes it by removing the flag when it's done constructing.
## Why It's Good For The Game
fix good 👯👯♂️👯♀️🎉🏖️🐝
## Changelog
🆑
fix: You should no longer attack RCD effects when they're done
constructing.
/🆑
* Fixes hitting RCD effects when they're done
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
* Fixes RCD'ing lattices in open space (#77895)
## About The Pull Request
If you RCD a lattice with floor/wall mode on icebox, it won't actually
place down the floor because the open space is not "space" - this
switches the check to openspace, allowing you to fix floors on icebox by
clicking on lattices. For some reason this would also cause you to waste
your matter units on this action.
## Why It's Good For The Game
fix good
## Changelog
🆑
fix: You should be able to click on lattices on icebox with the RCD and
construct a floor now
/🆑
* Fixes RCD'ing lattices in open space
---------
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
* small modlink fixes (#77804)
## About The Pull Request
fixes bug in multitools where they didnt unregister signals
fixes modlink scryers checking battery charge without a battery
frequency stuff is a bit more explained
## Why It's Good For The Game
good stuf
## Changelog
🆑
fix: fixes multitools possibly randomly losing their buffer
fix: fixes modlinks checking battery charge without a battery and
working without charge
qol: modlink stuff is a bit more explained
fix: modlinks printed from rnd no longer start with a frequency
(remember to copy it from another one with a multitool buffer, robotics
starts with 2 NT frequency linked ones)
/🆑
* small modlink fixes
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* [NO GBP] Moussaka/pita bread fixes (#77743)
## About The Pull Request
When doing my new food release, I thought moussaka used both potatoes
and eggplants when it only uses eggplants, which can be substituted for
potatoes (which is lame and not authentic!)
Also, pita bread no longer burns on the griddle
## Why It's Good For The Game
Food becomes a bit more consistent!
## Changelog
🆑
fix: Moussaka now only uses eggplants instead of eggplants and potatoes
fix: Pita bread no longer burns on the griddle/oven
/🆑
* [NO GBP] Moussaka/pita bread fixes
---------
Co-authored-by: MidoriWroth <kodyman@att.net>
* Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation (#77860)
## About The Pull Request
Ports BeeStation/BeeStation-Hornet#3590. As it is right now, it's
trivial to set up a contraption using a conveyor belt and a shocked
grille to continuously shock monkey bodies. While this is very funny, it
also serves as a ghetto powersink that's hard to locate, easy to
replicate, and lasts effectively forever, since you can just keep
shocking the same bodies over and over again.
This doesn't completely remove the ability to make these, but it makes
them require at least a little maintenance and provides a way for them
to stop working even if the crew isn't able to locate them.
In an attempt to finally get people using the _actual_ powersink,
they'll show up a bit earlier in progression now. I'm not convinced 20
minutes is enough, but I don't want to put them in early enough that it
fucks with Engineering's ability to set things up at round start. We can
turn this down further if need be.
I'm also up for turning the TC requirement down, but 11 feels about
right for what they're supposed to do, so I'd prefer we try this first
and see how that works.
## Why It's Good For The Game
I'm all for goofy weird shit players have found, but there's an issue
with being able to do what an antag item is supposed to do but just
plain better. This shouldn't make creating these impossible or make them
unusable, but it'll require players to actively monitor them if they
want it to run for an extended period.
Additionally, we don't really see powersinks much anymore, and while
that might be more because powernets are kind of buggy and unreliable, I
think making them easier to get will make them show up a little more.
## Changelog
🆑 Vekter
balance: Grilles will now take 0-1 damage every time they shock
something.
balance: Powersinks are now available earlier in traitor progression.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Grilles take 0-1 damage when shocking something, power sinks are available at lower reputation
---------
Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* Remove unused override comments and fix a few I found
* remove lighting icon overrides (obsolete)
* remove laz/borg overrides (obsolete)
* Remove the catch-all e-gun override, manually overrides the two severely out of date sprites that we ACTUALLY have updates for
* oop
* removes obsolete surgery table sprite (probably technically too close to Bay's to be using actually)
* Love un-updated pathing
* oop
* this back icon wasn't even on this gun ever was it
* didn't notice this override >:(
* General code maintenance for Mat container related stuff (#77671)
1. Removes `/obj/machinery/ore_silo/proc/remote_attackby()`. This proc
calls `datum/component/material_container/user_insert()` anyway which
performs all the checks necessary for inserting stuff into the ore silo
and `/obj/machinery/ore_silo/proc/remote_attackby()` was just repeating
its code & checks. So now inserting into the ore silo is directly
handled by the mat container without this proxy proc making the
operation slightly faster
2. Removed silo `attackby` code. Same operations can be done via
`screwdriver_act` & `crowbar_act` procs much cleaner
3. The ore silo now hooks onto signals
`COMSIG_MATCONTAINER_ITEM_CONSUMED` and
`COMSIG_MATCONTAINER_SHEETS_RETRIVED` and logs into silo when they are
triggered. This means when you insert/eject sheets from the silo the
connected machine performing the operation no longer has to do the
logging manually thus the proc `silo_log` has been removed from a lot of
places ,reducing overall code size
4. A lot of stuff that use materials from the ore silo follow this
pattern.
i.e. They first use the materials from the silo and then log it via
`silo_log` proc. This code pattern is repeated in a lot of places so
let's just merge these 2 lines with some extra sanity checks into a
single proc inside `remote_materials` itself. That's what was done and
the number of places where you log manually into the silo has been
removed further reducing code size everywhere.
5. Added auto doc & cleaned up some procs
Since logging is now done by the ore silo directly, we need a way to
pass the machine that is inserting items into the silo to the signal
handlers of the ore silo [via the `context` var]. So other code changes
elsewhere is because of this var
* General code maintenance for Mat container related stuff
---------
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
* Fixes a 1-in-20 chance RNG CI failure. (#77827)
Fixes RNG CI failure. Insuls became a traitor objective and have to be
created in populate_contents_immediate() instead of PopulateContents()
for closets. Some closets only spawn insuls 5% of the time, so this
slipped past CI and created a new CI failure that randomly does or
doesn't fail.
Moved the offending item over the populate_contents_immediate().
* Fixes a 1-in-20 chance RNG CI failure.
---------
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Mining mob tweaks (#77763)
## About The Pull Request
~~I wanted to do this after #77700 (wow cool numbers) but nobody has
merged it yet despite how simple it is so i'll just hope they don't
conflict.~~ Thanks san
I'm fucking about with mining mobs with the intention of making them
more interesting but not necessarily towards making mining _harder_, but
some of these changes unquestionably have done so.
These changes are mostly in response to feedback about Watchers who are
definitely significantly more threatening than previously, although some
of this is user error.
- Watchers are annoying when traversing lavaland because they use their
ability on you instantly upon acquiring a target, if you are trying to
escape other fauna this quickly becomes deadly.
- A lot of players don't really realise what the overwatch ability is
actually doing and so just complain about getting machine gunned.
- If you _do_ react properly to the ability it still makes fighting them
take a lot longer than it used to.
- The "look away" icon is hard to see in the dark sometimes
To ammeliorate these factors I have:
- Reduced watcher health by ~20%
- Display an alerted graphic over the head of the watcher every time you
trigger the overwatch.
- Multiple watchers now won't overwatch you at the same time (this made
the "penalty" volley essentially become instant death)
- The "look away" icon is rendered above the lighting plane so you can
always see it
- Added a new component which tracks how long a mob has had a specific
target.
- - Watchers will now only Overwatch you if they've seen you for at
least 5 seconds (usually they'll try and shoot at you twice before
this).
- - Goliaths will only tentacle you if they've seen you for at least 3
seconds.
If overwatch is still problematic after this I guess I can just nerf it
to not track movement at all and only respond to attacks.
## Why It's Good For The Game
I don't want to discourage miners from "actually mining" by having them
get sniped just for walking around and the added time-to-kill on these
guys could make clearing tendrils more tedious too.
## Changelog
🆑
balance: Watchers have less health
balance: You can't be overwatched by several watchers at a time
balance: Watchers won't overwatch you instantly upon seeing you
balance: Goliaths won't launch tentacles at you instantly upon seeing
you
/🆑
* Mining mob tweaks
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Miscellaneous fishing code changes. (#77739)
## About The Pull Request
This PR contains a few changes that I hadn't got to do earlier,
including: different pressure / air mixture thresholds for different
fish (if amphibious), fish being able to be fed directly without the
need of an aquarium, replacing the `available_in_random_cases` variable
with a weight define of value 0, the preset fishing sources global list
so we don't have to manually instantiate lazy fishing spots and assign
them stupid string defines, chasm detritus made into datums, a couple
balloon alerts and removal of unused code.
## Why It's Good For The Game
The fishing portal generator UI is unused, the perfect variable for the
fishing minigame is also unused.
There's no reason for chasm detritus to be an item instead of a datum.
It isn't a map spawner.
Chasm chrabs, if given the amphibious trait, should be able to survive
Lavaland/Icemoon's atmosphere.
I don't even know why I made a snowflake proc to instantiate the
evolutions global list instead of `init_subtypes_w_path_keys`
The shiny lover and wary fish traits were actually making the minigame
slightly easier.
The background icons for the UI had a zero-alpha, one pixel thin stripe
on top that needed to be colored.
Improved `fish_source/proc/dispense_reward`.
Some doc comments and a typo or two.
## Changelog
🆑
add: You can now feed fish with the can of fish feed without having to
put the fish in a aquarium first.
balance: Some fish may survive in different, harsher atmospheres if
given the amphibious trait, like chasm chrabs on lavaland.
qol: aquarium now uses balloon alerts when feeding fish.
fix: The wary and shiny lover no longer incorrectly remove difficulty
from the minigame if conditions aren't met.
/🆑
* Miscellaneous fishing code changes.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>