Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DMAPI v7.2.0 #1853

Merged
merged 2 commits into from
Aug 10, 2024
Merged

DMAPI v7.2.0 #1853

merged 2 commits into from
Aug 10, 2024

Conversation

Cyberboss
Copy link
Member

🆑 DreamMaker API
Added consumer APIs for overriding HTTP GET implementation.
Fixed Discord documentation links.
Use IETF RFC 2119 wording in documentation.
Populate some documentation comments for previously undocumented public entities.
/:cl:

Closes #1825

Merging with [DMDeploy]

@Cyberboss Cyberboss added Feature New functionality Area: DMAPI Communication between TGS and DM labels Aug 9, 2024
@Cyberboss Cyberboss added this to the v6.9.0 milestone Aug 9, 2024
github-actions[bot]
github-actions bot previously approved these changes Aug 9, 2024
@Cyberboss Cyberboss enabled auto-merge August 9, 2024 22:34
- Add consumer APIs for overriding HTTP GET implementation.
- Fix Discord documentation links.
- Use IETF RFC 2119 wording in documentation.
- Populate some documentation comments for previously undocumented public entities.
github-actions[bot]
github-actions bot previously approved these changes Aug 9, 2024
github-actions[bot]
github-actions bot previously approved these changes Aug 10, 2024
Copy link

codecov bot commented Aug 10, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 95.95%. Comparing base (b9b7b38) to head (8aa1522).
Report is 22 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #1853      +/-   ##
==========================================
- Coverage   95.97%   95.95%   -0.02%     
==========================================
  Files         713      713              
  Lines      163366   163391      +25     
  Branches     3226     3226              
==========================================
  Hits       156784   156784              
- Misses       6094     6117      +23     
- Partials      488      490       +2     

@Cyberboss Cyberboss merged commit a7789a0 into dev Aug 10, 2024
103 checks passed
@Cyberboss Cyberboss deleted the DMHTTPAPI branch August 10, 2024 04:45
Cyberboss pushed a commit to tgstation/tgstation that referenced this pull request Aug 13, 2024
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
SkyratBot pushed a commit to Skyrat-SS13/Skyrat-tg that referenced this pull request Aug 13, 2024
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @ Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@ users.noreply.github.com>
vinylspiders pushed a commit to NovaSector/NovaSector that referenced this pull request Aug 14, 2024
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
vinylspiders added a commit to NovaSector/NovaSector that referenced this pull request Aug 14, 2024
* Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)

## About The Pull Request
All references to "Waffle Co" and "Waffle Company" have been scrubbed
and replaced with appropriate branding. "The Waffle Corporation" may be
shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only.

All references to "Donk Corp." and "Donk Corporation" have been scrubbed
and replaced with appropriate branding. "Donk Company" may be shortened
to "Donk", "Donk Co" or "Donk Co." only.
## Why It's Good For The Game
Keeps these names consistant and lore accurate.
## Changelog
:cl:
spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co.
/:cl:

---------

Co-authored-by: BlueMemesauce <[email protected]>

* Automatic changelog for PR #85686 [ci skip]

* You no longer kill yourself in cockroach form if you attempt to unposess it (#85647)

## About The Pull Request
Closes #85626

## Changelog
:cl:
fix: You no longer kill yourself in cockroach form if you attempt to
unposess it
/:cl:

* Automatic changelog for PR #85647 [ci skip]

* Ore ore ore ore ore... sounds. (#85738)

## About The Pull Request
Closes tgstation/tgstation#85615

#### Applied to:
- all ore subtypes, except bluespace polycrystals
- Sandstone blocks

### Video:


https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b
## Why It's Good For The Game
immersion.
## Changelog
:cl: grungussuss
sound: ore and sandstone blocks have their own sound
/:cl:

* ambience sound fixes (#85645)

## About The Pull Request
ambigen1 and ambigen12 had a lot of white noise to it so we tried to
reduce it.
(kayozz did all the work)

<details>
<summary>Comparisons</summary>
<br>



https://github.com/user-attachments/assets/f87c9989-6ac0-40e7-88c5-11e726a2dd61



https://github.com/user-attachments/assets/ba431df9-9604-43db-9145-1115b95894bb



https://github.com/user-attachments/assets/83c74ac5-271e-4002-90ad-ae4c96873efc



https://github.com/user-attachments/assets/28c864e5-3b51-4ddc-a5f1-70311653828f

</details>

## Why It's Good For The Game
I heard it once and haven't been able to unhear it ever since, it's
really jarring to hear that white noise in the sound
## Changelog
:cl: grungussuss and kayozz
sound: white noise from some ambience sounds has been pruned
/:cl:

* Automatic changelog for PR #85738 [ci skip]

* Automatic changelog for PR #85645 [ci skip]

* Laser pointers no longer make felinids phase through diagonal gaps (#85755)

## About The Pull Request

Someone forgot the dir argument, making it possible to phase through
diagonal gaps.

## Why It's Good For The Game

One less bug. I like my gbp

## Changelog

:cl:
fix: Felinids no longer phase through diagonal gaps upon seeing a laser
/:cl:

* Automatic changelog for PR #85755 [ci skip]

* Automatic TGS DMAPI Update (#85751)

This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>

* Fake aurora caelus event no longer permanently paints space green (#85777)

## About The Pull Request

Closes #84651
Also made sure that if there somehow are multiple kitchen areas chefs
don't yell steamed hams line multiple times

## Changelog
:cl:
fix: Fake aurora caelus event no longer permanently paints space green
/:cl:

* Fixed monk staffs not displaying a wielded sprite (#85767)

## About The Pull Request

Closes #85764

## Changelog
:cl:
fix: Fixed monk staffs not displaying a wielded sprite
/:cl:

* Resprited assemblies (#85763)

## About The Pull Request

Refreshes absolutely ancient assembly sprites in 3/4 format


![image](https://github.com/user-attachments/assets/433b25d2-b1be-423e-9423-d71067ee54b5)
Top to bottom, left to right: voice analyzer, health scanner, condenser,
igniter, proximity detector (now inspired by IRL motion detectors),
remote signaller, timer and infrared beam emitter. Timers now also show
time left with their blinking lights, additional lights will blink for
every 10 seconds remaining on the timer

## Why It's Good For The Game
Current ones are absolutely ancient and rather abstract, I am honestly
not even sure what half of them were supposed to represent.

## Changelog
:cl:
image: Resprited all main assemblies
/:cl:

* Wawastation Science distro fix and a missing cable mended (#85762)

## About The Pull Request

Adds a missing distro pipe in science maint needed to Science to have
atmos distro
Adds a missing cable in the Electrical Relay connected to Service Maint
that acts as a redundency
## Why It's Good For The Game

Noticed Ordenence burn chamber wasnt cycling due to no distro.. then
found all of science had no distro.. oh no. Tracked missing pipe in
maint.

Also spotted a missing cable above service maint due to the catwalk bug.
## Changelog
:cl:
fix: Wawastation Science is connected to distro,Floor Electrical Relay
cable fixed
/:cl:

* Prevents people from being shoved into closets/crates/bins through directional glass (#85760)

## About The Pull Request

forceMove made it possible for someone to get shoved into a
closet/crate/disposals bin through a piece of directional glass that was
located on said objects tile, resulting in a very cheesy way to GBJ
people.

## Changelog
:cl:
fix: You can no longer shove people into closets through directional
glass
/:cl:

* Some crime and citations fixes (#85733)

## About The Pull Request

1. Silicons now able to invalidate crimes, because... they have armory
access too.
2. After citation being paid off there will be no more broken 0 in sec
records
3. After citation being paid off it will be invalidated automticaly
4. Crime authors can invalidate crimes, issued by them.
5. In case of invalidation, crime now shows who voided it
6. Also fixing bug with editing crime description
<details>
<summary>Screenshots</summary>

![image](https://github.com/user-attachments/assets/d6635dd2-87a8-47d6-a7eb-269c08fbdcf5)

![image](https://github.com/user-attachments/assets/8d739e57-24a5-4d58-8a87-47344a04b46c)

![image](https://github.com/user-attachments/assets/c000caff-76c7-484d-bf8f-57a2946e93c4)

</details>

## Why It's Good For The Game

Thats few fixes and QoLs features.
If someone want to argue about:
1. Synths: man they was able to issue crimes which is more impactfull +
now voiding is recorded
2. Authors: they had ability to edit name and description, why can't
delete?
3. Voiders: how offen do you use invalidate button? How many of those
uses you wanna hide from sec?
## Changelog
:cl:
fix: Strange zeros in paid off citations on sec records
fix: Now invalidating citations works
fix: You can change crimes description
fix: Synths have 'armory access' for sec records logic
qol: Paying off citation now automaticaly voiding it
qol: Crime issuer can void the crime without armory access
qol: In case of invalidation crime shows who voided it
/:cl:

* Fixed shuttle loan paperwork being unstampable (#85721)

## About The Pull Request

Closes #85717

## Changelog
:cl:
fix: Fixed shuttle loan paperwork being unstampable
/:cl:

* Fixed bileworms not having a deaggro range (#85719)

## About The Pull Request

Closes #69244
Bileworms use standard 9 tiles of vision but also have the ignore_sight
flag, which prevents can_see check from running. Check, which is the
only place where deaggro range check exists. Vision range may need
bumping up based on player feedback if they seem to be deaggroing too
easily due to slow movement speed now that they actually do so

## Changelog
:cl:
fix: Fixed bileworms not having a deaggro range
/:cl:

* Buff to MODsuit deployment time (#85705)

## About The Pull Request
Before it took 12 seconds to fully deploy (2 seconds per part) so it's
just an awkward standing around moment while you wait for your MOD to
activate in front of the airlock.
- Increased speed of MODsuit deploy time by 2 times
- Increased speed of infiltrator MODsuit deploy time by 4 times
## Why It's Good For The Game
One of the reasons why so many players are deterred from MODsuits is how
long the deployment or undeployment takes.
This change should increase the desire for players to use MODsuits and
will raise their value, giving more incentive to produce more, which
roboticists barely ever do.

The infiltrator MODsuit is supposed to be a sneaky sleek and quick
(infiltrating) device, allowing you to quickly disguise your identity
and then quickly become inconspicuous. This change allows it to execute
that purpose better.
## Changelog
:cl: grungussuss
balance: MODsuits now deploy 2 times faster
balance: The infiltrator MODsuit now deploys 4 times faster
/:cl:

* Automatic changelog for PR #85777 [ci skip]

* Fixes a hard del with island_brawl spawners (#85684)

## About The Pull Request


![yN86RRrD0h](https://github.com/user-attachments/assets/2aaa23c8-1fcb-4a40-ad54-c71306a2f430)

Tin, just aims to fix this hard del by releasing the refs when the
spawners get qdeleted.

## Why It's Good For The Game

Fixes a hard del---also, there were some issues with this domain not
clearing itself properly under certain cases and this may resolve that.

## Changelog

Nothing player facing

* Automatic changelog for PR #85767 [ci skip]

* Automatic changelog for PR #85763 [ci skip]

* Automatic changelog for PR #85762 [ci skip]

* Fixes DNA sampler attack chain heck (#85662)

<!-- 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

Closes #85656

## 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 its 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:
fix: Fixed DNA samplers not being able to interact with non-scannable
objects
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85760 [ci skip]

* Fixed chanterelles runtiming upon being hollowed out with a spoon and not spawning a hat (#85663)

## About The Pull Request

Closes #85659

Not, in fact, attack chain heck. Just seed getting deleted too soon.

## Changelog
:cl:
fix: Fixed chanterelles runtiming upon being hollowed out with a spoon
and not spawning a hat
/:cl:

* Automatic changelog for PR #85733 [ci skip]

* Automatic changelog for PR #85721 [ci skip]

* Automatic changelog for PR #85719 [ci skip]

* [NO GBP] (Not so) hotfix for ninja cloaking (#85673)

## About The Pull Request

Closes #85639
dumb me forgetting to test a specific module weeks ago and it getting
past review

## Changelog
:cl:
fix: Ninjas can cloak again
/:cl:

* Automatic changelog for PR #85705 [ci skip]

* Retextured Durand's shield, fixed power drain and UI (#85718)

## About The Pull Request

![dreamseeker_phiCk3bcfG](https://github.com/user-attachments/assets/5e2dfb36-cb8b-4954-8c04-5b452dfb0a2f)

Closes #84419
Durand drained ten times the default cell capacity per tick due to power
changes, and UI for some reason multiplied the cell charge by a
thousand, confusing the players. Also minor cleanup.

## Why It's Good For The Game
Super dated sprite that doesn't really fit the modern durand

## Changelog
:cl:
image: Durand shield got a glowup
fix: Durand shield no longer instantly drains its battery
fix: Mech UI no longer lies about the amount of power your mech has left
/:cl:

* Automatic changelog for PR #85662 [ci skip]

* Adds arms/legs coverage to armored gloves/shoes, adds a unit test to check for former (#85667)

## About The Pull Request
Turns out HANDS and FEET coverage doesn't actually apply armor to the
body, at all, making it entirely useless. Despite this, a lot of
clothing still does it! So I added ARMS and LEGS flags to gloves/shoes
that do it respectively and wrote a unit test for it that will yell out
a list of all items missing coverage while having non acid/bio/fire
armor (three snowflake types)

as discusses with melbert on discord

## Why It's Good For The Game
...features working as intended?

## Changelog
:cl:
balance: Multiple gloves/shoes that had armor values but failed to apply
them got fixed
/:cl:

* Automatic changelog for PR #85663 [ci skip]

* Automatic changelog for PR #85673 [ci skip]

* Fix a spot of shitcode (#85683)

## About The Pull Request
OD errors on invalid values for `color` in a color filter def, BYOND
just fails silently and gives a white color matrix. I'm guessing this
was going for identity matrix == white, but `/matrix` is not a color
matrix.

OD also errors on invalid values for `easing` in `animate`, which this
also fixes an instance of
## Why It's Good For The Game
Fix shitcode

---------

Co-authored-by: ike709 <[email protected]>

* Automatic changelog for PR #85718 [ci skip]

* Automatic changelog for PR #85667 [ci skip]

* Fixes a bug that made it so radios inside objects would blare out their comms to everyone around them (#85676)

## About The Pull Request
Currently things like bounty cubes that are not supposed to be
broadcasting comms, are doing so for the department their nested radio
is set to.
This happens because when an encryption key is put into a radio that is
off and that radio has its channels recalculated, all of the default
channels on the encryption key (in the case of bounty cubes, supply) are
set to being on and the radio 'forgets' that its supposed to be off
until it is turned back on, then turned off again. Obviously we cannot
do this to a radio inside of an object in game, as we have no way of
accessing it, so I am adding a check for if the radio is off at the end
of recalculatechannels() and if it is off, it will turn it on, then back
off so it can remember
## Why It's Good For The Game
fixes a rather minor bug which gives anyone free [insert comms channel
here] for any object with a radio inside that is given an encryption
key, my example being a bounty cube with a radio and an encryption key
for cargo.

This could also be solved by going through every single instance of a
nested radio and taking away their keys and instead doing
set_frequency(FREQ_<DEPARTMENT>) However, this would nip the bug in the
bud when otherwise the way its been being written should be working.
## Changelog
:cl:
fix: fixed nested radios with encryption keys giving free comms
/:cl:

---------

Co-authored-by: Odairu <[email protected]>

* Automatic changelog for PR #85676 [ci skip]

* Fixes a typo and bad punctuation in blackout drunk trauma message (#85661)

## About The Pull Request
When looking through the code I noticed the blackout drunk message in
the split_personality.dm file had a typo (liscense -> license) and bad
punctuation + I think the sentences were structured a bit weirdly so I
rearranged them. The meaning should be intact but it's grammatically
correct and reads easier.
## Why It's Good For The Game
spelling and grammar errors are bad and we should get rid of them
## Changelog
:cl:
spellcheck: fixed spelling and punctuation in the blackout drunk split
personality message
/:cl:

* nerfs the HP of bushes (#85682)

## About The Pull Request
- Lowered the HP of the "flora" type from 150 (same as reinforced
window) to 100
- Trees are still 150 HP
- Gave flora an x4 modifier to burn damage (takes 4 times the burn
damage)
## Why It's Good For The Game
Every time you do a project as an engineer on a map with bushes, each
bush takes 10 welding tool hits to destroy, overall bushes have way too
much HP and shouldn't be this difficult to destroy.
## Changelog
:cl: grungussuss
balance: bushes and other flora have had their HP reduced from 150 to
100. Trees still have 150 HP
balance: flora now has an X4 modifier to damage from burn sources
/:cl:

* Automatic changelog for PR #85682 [ci skip]

* Makes cyborg endoskeleton a roundstart research again (#85695)

## About The Pull Request

Cyborg endoskeletons no longer require a research node to be made,
making them possible to create at roundstart.
## Why It's Good For The Game

I feel like placing these behind a node doesn't really do anything
that's worth having it there. There's very little to do at roundstart
other than making cyborgs or clean/medibots at roundstart, so most of
the beginning of a shift turns into "trying to get R&D to research the
thing you need to do arguably the most important part of your job". I
haven't been able to find a single benefit for doing this. Arguably,
it's like this to prevent people from "wasting resources on cyborgs that
never get built", but I can't say I've ever been on a round with more
than 30-40 people where I didn't build at least two borgs.

What actually ends up happening is one roboticist makes everything but
the endoskeleton while the other tries to get access to the R&D computer
to research cybernetics so they can finish making a cyborg. It was also
argued that augmentation is more often requested at roundstart than
borging, which I have seen maybe twice in the last three years.
## Changelog
:cl: Vekter
balance: Removes the research requirement from cyborg endoskeletons,
meaning they can be built at roundstart again.
/:cl:

* Automatic changelog for PR #85695 [ci skip]

* fixes wolf ai getting stuck (#85654)

## About The Pull Request
wolf AI tend to get stuck processing this behavior infinitely 

## Why It's Good For The Game
fixes wolf ai getting stuck sometimes

## Changelog
:cl:
fix: wolf AI will no longer get stuck
/:cl:

* Automatic changelog for PR #85654 [ci skip]

* Bubblegum can no longer bloodcrawl to other Z levels (#85655)

## About The Pull Request

Closes #85638
Closes #64063
Now has a Z level check

## Why It's Good For The Game

While funny as hell (fuck around and find out, miner) I do not think
that this is a very good idea to leave it in, considering current
attitude regarding easy ways to bring megafauna onboard the station.
Plus using Jacob's Ladder as an escape route is a pretty creative use
for a gimmicky item

## Changelog
:cl:
fix: Bubblegum can no longer bloodcrawl to other Z levels
/:cl:

* Wellcheers fix (#85634)

## About The Pull Request
Fixes the way Wellcheers soda checks sanity for its sanity-based
effects, removing "holes" of sanity values in which it would do nothing
at all.

Old code checks sanity values in ranges 0-25, 50-75, 100-125, new code
checks sanity _levels_ instead so that it's exhaustive

## Why It's Good For The Game
Makes wellcheers have the intended effect, fixes
tgstation/tgstation#85617

## Changelog
:cl:
fix: Wellcheers no longer does nothing half the time
/:cl:

Co-authored-by: Roryl-c <[email protected]>

* Automatic changelog for PR #85655 [ci skip]

* Automatic changelog for PR #85634 [ci skip]

* Ash drakes no longer get stuck in flight if their target changes Z levels or is destroyed and doesn't spawn lavaland turfs after the lava arena attack ends (#85700)

## About The Pull Request
Closes #79210
Closes #56244
Cleaned up the code and added some much-needed sanity checks. Not sure
how exactly the latter issue happened but the checks should ensure that
it doesnt occur again. Also made the drake not terraform turfs into
lavaland ones after the lava disappears because if it ever went to
station it ended up permanently changing space turfs which is not good,
and there's no reason for terraforming on lavaland already.

## Changelog
:cl:
fix: Ash drakes no longer get stuck in flight if their target changes Z
levels or is destroyed and doesn't spawn lavaland turfs after the lava
arena attack ends
/:cl:

* Adds gardening tools to Wawastation permabrig (#85633)

## About The Pull Request
Adds some rakes, plant analyzer, a watering can, and a spade to
Wawastation's permabrig garden.

![wawastationgarden](https://github.com/user-attachments/assets/f25de62f-fdc3-4208-ac72-12a479e341c5)
## Why It's Good For The Game
Feature parity with other maps and permabrig prisoners can actually
garden without worrying about weeds and if their plants are OK or not.
## Changelog
:cl: Treach
fix: Wawastation's permabrig garden now has gardening tools
/:cl:

* Circuit health analyzer/state components now work on targets inside lockers (#85649)

<!-- 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

Makes circuit health analyzer/scanner components check distance to
target turf instead of target itself similarly to (most) other
components. (There are exceptions, presumably due to balancing?
concerns, but this feels like it should not have been one)

This doesn't feel intentional so I marked it as a fix, given that BCIs
stopping being able to scan their occupant is rather nonsensical

## Why It's Good For The Game

Currently BCIs with health analyzer components stop working if the owner
goes into a locker which is pretty stupid. Most components also only
check for turf distance, and while this could theoretically be used to
pinpoint someone's hiding spot there are far better ways to do so with
circuits

## 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 its 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:
fix: Circuit health analyzer/state components now work on targets inside
lockers
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85700 [ci skip]

* Automatic changelog for PR #85649 [ci skip]

* Add a janitorial 'borg plunger (#85475)

## About The Pull Request
I got annoyed at not being able to plung vents when there's a clog. This
PR corrects that. I copied all of the cyborg mop attributes to make
this. This is my first PR on this server, but I did test it on a local
server, and it indeed, plungs.

## Why It's Good For The Game
More content for janitorial cyborg. They really should have a plunger,
to be honest. It just makes sense to me.

## Changelog
:cl:
add: Added a cyborg plunger for janitorial modules
/:cl:

* Slimes no longer can feed when they're inside of objects or attacking a target that became invalid after they chose their dinner (#85467)

## About The Pull Request

Closes #85466

## Changelog
:cl:
fix: Slimes no longer can feed when they're inside of objects or
attacking a target that became invalid after they chose their dinner
/:cl:

* Fix TGUI notepad with various small fixes (#85472)

## About The Pull Request

Back from my hiatus and playing ss13 again! A few fixes for this
component I wrote back in 2022. Hopefully the commit messages are
self-explanatory.

There's one fix to TextArea that needs extra scrutiny. I removed the
`blur()` call as it prevents newline input (unless holding shift).
@jlsnow301 Could you check this one-liner change?

## Why It's Good For The Game

Fixes incorrect prop usage, uses new props on TextArea, uses
`login.IDName` instead of `clientName` and so on.
The most important fix would be restoring state change on text input as
that's quite important for other bits to work.

## Changelog
:cl:
fix: Various fixes to TGUI notepad
/:cl:

* Automatic changelog for PR #85475 [ci skip]

* Automatic changelog for PR #85467 [ci skip]

* Automatic changelog for PR #85472 [ci skip]

* Fixes some missing body_parts_covered flags

---------

Co-authored-by: Da Cool Boss <[email protected]>
Co-authored-by: BlueMemesauce <[email protected]>
Co-authored-by: orange man <[email protected]>
Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: grungussuss <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
Co-authored-by: Dmeto <[email protected]>
Co-authored-by: Archemagus <[email protected]>
Co-authored-by: Amy <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Treach <[email protected]>
Co-authored-by: Vekter <[email protected]>
Co-authored-by: Ben10Omintrix <[email protected]>
Co-authored-by: Runi-c <[email protected]>
Co-authored-by: Roryl-c <[email protected]>
Co-authored-by: nesquik <[email protected]>
Co-authored-by: Matt <[email protected]>
Shroopy added a commit to Shroopy/Bugstation that referenced this pull request Aug 15, 2024
* Circuit UI scale no longer suffers from FPEs and doesnt get covered by component menu (#85653)

## About The Pull Request
Added rounding to 1 number after point to prevent FPEs and made the
scale bar shrink when component menu gets open as to prevent it from
getting covered by the menu, which made it impossible to see or increase
current scale

## Changelog
:cl:
fix: Circuit UI scale no longer has weird rounding
fix: Circuit UI no longer gets covered by components menu
/:cl:

* Circuit UI scale no longer suffers from FPEs and doesnt get covered by component menu

* Fixed Charlie MOD installer not installing MODsuits unless you have a backpack to drop (#85671)

## About The Pull Request

Closes #85669

## Changelog
:cl:
fix: Fixed Charlie MOD installer not installing MODsuit unless you have
a backpack to drop
/:cl:

* Fixed Charlie MOD installer not installing MODsuits unless you have a backpack to drop

* Automatic changelog compile [ci skip]

* Fix tadpole scooping (#85691)

## About The Pull Request
Fixes swapped arguments to a do_after, allowing tadpoles to be scooped
from puddles
## Why It's Good For The Game
bug bad
## Changelog
:cl:
fix: tadpoles can actually be scooped from ponds
/:cl:

* Fix tadpole scooping

* Automatic changelog for PR #29243 [ci skip]

* modified:   _maps/safehouses/skyrat_ancientmilsim.dmm

* Automatic changelog for PR #29246 [ci skip]

* Automatic changelog compile [ci skip]

* Removes an unused var from SSpersistence (#85696)

## About The Pull Request
I think I may have forgotten to remove it from the final version of the
persistent piggy banks PR (museum cafeteria yadda yadda)

## Why It's Good For The Game
Unused var.

## Changelog
N/A

* Removes an unused var from SSpersistence

* Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)

## About The Pull Request
All references to "Waffle Co" and "Waffle Company" have been scrubbed
and replaced with appropriate branding. "The Waffle Corporation" may be
shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only.

All references to "Donk Corp." and "Donk Corporation" have been scrubbed
and replaced with appropriate branding. "Donk Company" may be shortened
to "Donk", "Donk Co" or "Donk Co." only.
## Why It's Good For The Game
Keeps these names consistant and lore accurate.
## Changelog
:cl:
spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co.
/:cl:

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@ users.noreply.github.com>

* Fixes Donk Co. & Waffle Corp Trademark Issues

* the whole PR

* Adds a few loadout items (#1862)

## About The Pull Request
Adds the xeno action figure, a mime-only lighter, and some Leary's
Delight cigs (for RDS havers) to the loadout.


## Why It's Good For The Game
More variety is always good, and these shouldn't break the balance of
the game. We already have mindbreaker pills, too.


## Proof Of Testing

![image](https://github.com/user-attachments/assets/c1980894-8317-4b80-b2e2-9d3b0ce58ccc)

![image](https://github.com/user-attachments/assets/1856bfe5-c3bd-4a92-a425-d56aeb1c2946)

## Changelog

:cl:
add: Added Leary's Delight cigs, a xeno action figure, and a pale zippo
to loadout
/:cl:

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1862 [ci skip]

* [Fix - Modular] fixes death match abductors being able to hear and talk to station abductors (#1926)

<!-- 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
Does as the title says
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
closes #1661 
<!-- 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. -->

## Proof Of Testing

![image](https://github.com/user-attachments/assets/691d7f5a-aae8-4315-99c1-b9925eec1ec2)

<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## 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 its 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:
fix: fixed abductors in deathmatch talking to station abductors
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->

---------

Co-authored-by: Waterpig <[email protected]>
Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1926 [ci skip]

* Automatic changelog for PR #29250 [ci skip]

* Automatic changelog for PR #29249 [ci skip]

* Automatic changelog for PR #29242 [ci skip]

* Automatic changelog compile [ci skip]

* [MIRROR] Cable coil and welding tool healing now loops. Fixed heal message not displaying when healing someone else (#29200)

* Cable coil and welding tool healing now loops. Fixed heal message not displaying when healing someone else

* fix conflict

* Fixes this

---------

Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: SpaceLoveSs13 <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #29200 [ci skip]

* [MIRROR] [NO GBP] Lil' fix to fishing hat PR. (#29148)

* [NO GBP] Lil' fix to fishing hat PR.

* Update flee_target.dm

---------

Co-authored-by: Ghom <[email protected]>
Co-authored-by: SpaceLoveSs13 <[email protected]>

* [MIRROR] Scanner gate fixes (#29154)

* Scanner gate fixes

* Update scanner_gate.dm

* Update scanner_gate.dm

---------

Co-authored-by: lessthanthree <[email protected]>
Co-authored-by: SpaceLoveSs13 <[email protected]>

* Automatic changelog for PR #29154 [ci skip]

* Fixes map rotation being fucky wucky. (#1916)

## About The Pull Request

Fixes the bug where there are no possible maps to be voted for because
all the lowpop maps have already been played recently.

## Why It's Good For The Game

Fixes good.

## Proof Of Testing

Untested. Testmerge at your own peril.

## Changelog

:cl: BurgerBB
fix: Fixes the bug where there are no possible maps to be voted for
because all the lowpop maps have already been played recently.

/:cl:

---------

Co-authored-by: projectkepler-RU <[email protected]>
Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1916 [ci skip]

* Fixes smoking addiction

* You no longer kill yourself in cockroach form if you attempt to unposess it (#85647)

## About The Pull Request
Closes #85626

## Changelog
:cl:
fix: You no longer kill yourself in cockroach form if you attempt to
unposess it
/:cl:

* You no longer kill yourself in cockroach form if you attempt to unposess it

* fix wrong offset (#29256)

Update human_update_icons.dm

* [Fix] lings no longer become gremlins when turning into teshari (#29253)

the whole PR

* Automatic changelog for PR #29256 [ci skip]

* Automatic changelog for PR #29253 [ci skip]

* [Modular-Fix] Hooks the AI sat up to the main power grid on Lima so it doesn't die for no raisins (#1934)

## About The Pull Request
Does as title says 

## Why It's Good For The Game
closes #1699

## Proof Of Testing
It compiles

## Changelog


:cl:
fix: Lima AI sat
/:cl:

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1934 [ci skip]

* [Non-Modular-Fix] Fixes mapvote selecting a random map if the shuttle launches before the current vote concludes (#1935)

<!-- 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
Title
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
closes #1927 
<!-- 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. -->

## Proof Of Testing
compiles

<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## 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 its 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:
fix: maps choosing themselves
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1935 [ci skip]

* Automatic changelog for PR #29258 [ci skip]

* Automatic changelog for PR #29257 [ci skip]

* Fixes felinid stuff and brings back laserpointing

* Novastation Synthetic Refactor Port (#29204)

* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death

* Conflict Removal

* Update bow_arrows.dm

* Update bow_arrows.dm

* tthis also update the actual bow & arrow code

* Update arrow.dm

* [MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death [MDB IGNORE] (#3595)

* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death

* modularize bone dice(???)

* gives the cargo crate arrows

* conflict

* icon updates

rotates our bows the same way, adds invisible pixels for easier loading
to our primitive bows, removes bow/arrow icons that are clones of
upstream's

also a hack for arrow overlays on bows- currently just defaults to
default arrows if an overlay doesn't exist for it, but our only arrows
aren't that distinct with default arrows at that size (we do not have
alternative arrow overlay sprites)

* recipe changes

im not gonna try explaining everything here but the general idea is that
the cargo fletching kit is sorta novelty bows, and the big boy stuff you
get from smithing

* update ammo hud for bows

* this shouldn't be here

* i forgot to save these

cleans up the recipes, ashwalker arrows are just made by combining by
hand (you could already do this, the recipes were a noobtrap)
and the cargo kit is cheaper

* un-nerf the chaplain bow

---------

Co-authored-by: necromanceranne <[email protected]>
Co-authored-by: Fluffles <[email protected]>

* Refactor Synths away from /Robot/ limbs, Cybernetically augmented humanoids have alternative surgeries (#3970)

* [NO SELF SURGERY] Cybernetically augmented humanoids have alternative surgeries (both standard and advanced) [NO SELF SURGERY], as well as other misc additions

* 1

* p1

* Update limbs.dm

* oh yeah Taurs

* Limbs and Techwebs for them

* 3

* EMP

* Surgery Removals from Synths

* 5

* test

* Look Ma, no more surgery

* Update tgstation.dme

* Update hepatectomy.dm

* little bit more edit cleanup and diff reset

* Update surgery.dm

* Synth Organ Surgery!

* Update lungs.dm

* target

* 4

* Update synth_defines.dm

* you add the metal before the zap zap

* Apply suggestions from code review

Co-authored-by: Bloop <[email protected]>

* 1

* Update code/modules/surgery/hepatectomy.dm

* Update code/modules/surgery/advanced/brainwashing.dm

---------

Co-authored-by: necromanceranne <[email protected]>
Co-authored-by: Fluffles <[email protected]>
Co-authored-by: Bloop <[email protected]>

* Update tgstation.dme

* fix stuff

* Update declarations.dm

* fix duplicate defines

---------

Co-authored-by: necromanceranne <[email protected]>
Co-authored-by: projectkepler-RU <[email protected]>
Co-authored-by: NovaBot <[email protected]>
Co-authored-by: Fluffles <[email protected]>
Co-authored-by: Zergspower <[email protected]>
Co-authored-by: Bloop <[email protected]>
Co-authored-by: Andrew <[email protected]>

* [MIRROR] Automatic TGS DMAPI Update (#29247)

Automatic TGS DMAPI Update

Co-authored-by: orange man <[email protected]>

* [NO GBP] Fixing medical bounties. (#29252)

* Update medical.dm

* Update medical.dm

* Fixes jumpsuits being overriden when assistant with override job (#29254)

Fixes jumpsuits being overriden when assistant

* Fixes Screenshot test with bloodbrother (#29255)

* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death

* fix screenie

* fix

---------

Co-authored-by: necromanceranne <[email protected]>

* [MIRROR] Ore ore ore ore ore... sounds. (#29259)

* Ore ore ore ore ore... sounds. (#85738)

## About The Pull Request
Closes tgstation/tgstation#85615

#### Applied to:
- all ore subtypes, except bluespace polycrystals
- Sandstone blocks

### Video:

https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b
## Why It's Good For The Game
immersion.
## Changelog
:cl: grungussuss
sound: ore and sandstone blocks have their own sound
/:cl:

* Ore ore ore ore ore... sounds.

---------

Co-authored-by: grungussuss <[email protected]>

* [MIRROR] ambience sound fixes (#29260)

* ambience sound fixes (#85645)

## About The Pull Request
ambigen1 and ambigen12 had a lot of white noise to it so we tried to
reduce it.
(kayozz did all the work)

<details>
<summary>Comparisons</summary>
<br>

https://github.com/user-attachments/assets/f87c9989-6ac0-40e7-88c5-11e726a2dd61

https://github.com/user-attachments/assets/ba431df9-9604-43db-9145-1115b95894bb

https://github.com/user-attachments/assets/83c74ac5-271e-4002-90ad-ae4c96873efc

https://github.com/user-attachments/assets/28c864e5-3b51-4ddc-a5f1-70311653828f

</details>

## Why It's Good For The Game
I heard it once and haven't been able to unhear it ever since, it's
really jarring to hear that white noise in the sound
## Changelog
:cl: grungussuss and kayozz
sound: white noise from some ambience sounds has been pruned
/:cl:

* ambience sound fixes

---------

Co-authored-by: grungussuss <[email protected]>

* Synthetic Surgery Tweak (#29251)

Small tweak to synthetic surgery, makes it identical to the organic variant in that it now heals organic limbs in addition to robotic ones.

The organic variant heals synthetic limbs so I figured it would be fitting until we can make a more complicated edit to both types allowing either surgery to be used upon a person if they have a mixture of organic/synthetic limbs.

* [MIRROR] converts most pet behavior into elements (#29221)

* converts most pet behavior into elements (#85290)

## About The Pull Request
refactors pet behaviors, such as collars and pet cultists into elements.
also this is a first step to completely removing the pet subtype

## Why It's Good For The Game
this means itll be alot easier for coders to make their tameable mobs
able to wear pet collars without having to make them of the pet subtype,
which i also plan to do

## Changelog
:cl:
refactor: refactors pet collars and cultist pets into elements
/:cl:

* converts most pet behavior into elements

* removing undefined var

---------

Co-authored-by: Ben10Omintrix <[email protected]>
Co-authored-by: projectkepler-RU <[email protected]>
Co-authored-by: SpaceLoveSs13 <[email protected]>

* Automatic changelog for PR #29252 [ci skip]

* Automatic changelog for PR #29254 [ci skip]

* Automatic changelog for PR #29259 [ci skip]

* Automatic changelog for PR #29260 [ci skip]

* Automatic changelog for PR #29251 [ci skip]

* Automatic changelog for PR #29221 [ci skip]

* Arrows now properly apply their damage buff when used by ashwalkers and ice cats (#1932)

<!-- 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
Title
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
closes #1853 
<!-- 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. -->

## Proof Of Testing

![image](https://github.com/user-attachments/assets/10909aac-092b-44c8-9385-b60f9fd62ec6)

<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## 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 its 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:
fix: bows properly apply damage as ashwalker/icecat
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1932 [ci skip]

* Automatic changelog compile [ci skip]

* Fixes an oversight where looting trash piles had an about 0.005% chance to dust you. (#1937)

I refuse to elaborate.

* Adds anime eyes (#1895)

<!-- 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
This PR adds anime eyes as markings, so that players can have slightly
cooler looking eyes. Original sprites modified from Sojourn Station.
Basic

![image](https://github.com/user-attachments/assets/b274e572-945b-48ee-8133-aa1437803cb9)
Eyes Inner

![image](https://github.com/user-attachments/assets/fa720737-7c5f-43c4-b901-4380c0fb8ada)
Eyes Outer

![image](https://github.com/user-attachments/assets/c249a5ec-ff59-49bc-82cb-103c4c5785b6)
Both Eyes Inner and Eyes Outer

![image](https://github.com/user-attachments/assets/61508a90-2720-4481-a585-1f1bfcccd8ab)

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

<!-- Please make sure to actually test your PRs. If you have not tested
your PR mention it. -->

## Why It's Good For The Game
I can have my eyes visible while wearing a hat :) Akula moment
<!-- 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. -->

## Proof Of Testing
Trust me bro, it compiles
<!-- Compile and run your code locally. Make sure it works. This is the
place to show off your changes! We are not responsible for testing your
features. -->

## 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 its 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: ReturnToZender (code)
add: Anime eye sprites
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

<!-- By opening a pull request. You have read and understood the
repository rules located on the main README.md on this project. -->

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1895 [ci skip]

* Automatic changelog for PR #29261 [ci skip]

* [Bounty] Adds sechailer, and fixes the single problem it had (#1912)

## About The Pull Request
does as title says

## Why It's Good For The Game
was a bounty to finish #1401

## Proof Of Testing

![image](https://github.com/user-attachments/assets/f51990f0-5078-40e6-958b-433b5497120c)
I kept trying to get a video but it kept being too big womp womp, the
issue is fixed though

## Changelog

:cl:
add: Adds sec hailer
/:cl:

---------

Co-authored-by: Waterpig <[email protected]>
Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1912 [ci skip]

* Cyborg heads now support hair and eye color

* Akula wetsuiting

* [MIRROR] Laser pointers no longer make felinids phase through diagonal gaps (#29265)

* Laser pointers no longer make felinids phase through diagonal gaps

* Update laserpointer.dm

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #29265 [ci skip]

* export gate

* the whole PR

* Update console_tgui.dm

* Boring fixes

* Automatic changelog for PR #29262 [ci skip]

* Automatic changelog for PR #29264 [ci skip]

* Partially revert "a general buff to give seclite and belt" (#1942)

## About The Pull Request

It's an ancient uncommented undocumented commit to master that breaks
sec PDAs making them not imprint + they have belts in lockers for a
reason.

Holy shit was this hard to find even though I knew what the issue was.
Worst part is nevi obfuscated it by squashing old bubber changes. Ill
genuinely have to go through that commit one day.

fixes #1940

## Why It's Good For The Game

I will not have sec PDAs fucked by undocumented changes from a year ago

## Proof Of Testing

I pray to the high gods (It's compiling)

## Changelog

:cl:
balance: Sec no longer spawn in with fully loaded belts as it was an old
undocumented change that introduced a bug
/:cl:

* Automatic changelog for PR #1942 [ci skip]

* Fix feature request format (#1938)

## About The Pull Request

fixes #1708

## Why It's Good For The Game

Less confusing for newer people

## Changelog

N/A

* Automatic changelog for PR #29268 [ci skip]

* Automatic changelog for PR #29267 [ci skip]

* Automatic changelog compile [ci skip]

* Automatic TGS DMAPI Update (#85751)

This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @ Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @ Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@ users.noreply.github.com>

* Automatic TGS DMAPI Update

* Fixes it so custom species flavor text properly displays both the species description and species lore if the player doesn't have a custom one set (#1946)

## About The Pull Request
when you don't set a custom species, the tab in the examine panel will
grab the description and lore for the species you have set (Human,
felinid, lizardperson, etc)
Currently the description part is not working, and if the lore part has
multiple items in its list, it only displays the first one, this PR
fixes both

## Why It's Good For The Game
closes #1944 

## Proof Of Testing

![image](https://github.com/user-attachments/assets/84fe12a1-39a3-450f-8a3d-b8066af2a977)

## Changelog

:cl:
fix: custom species lore properly displays
/:cl:

---------

Co-authored-by: Waterpig <[email protected]>

* Automatic changelog for PR #1946 [ci skip]

* Fixes my shitcode (#1943)

## About The Pull Request

Absolutely nothing has changed, it just runs faster now

## Why It's Good For The Game

It's like 30 less CPU cycles on a thing that happens once a 100 rounds.
What is wrong with me

## Proof Of Testing


![image](https://github.com/user-attachments/assets/26bb29f5-a909-4235-b5c7-fab5e8a6b914)

## Changelog

:cl:
code: Makes the empty synth body spawn logic run faster
/:cl:

* Automatic changelog for PR #1943 [ci skip]

* Update robot_defines.dm

* Automatic changelog for PR #29272 [ci skip]

* Adjusts dullahan ninja, adds clown (#1945)

## About The Pull Request

Adjusts the Dullahan Ninja sprite and adds in a module for clown.

## Why It's Good For The Game

Ninja was lazyily done, still is but it's less obnoxious now imo. Clown
for missing module type for those weird people. (me).
## Proof Of Testing

![image](https://github.com/user-attachments/assets/163a9981-f89a-4ca5-9446-60ce47e6d8ed)

## Changelog

:cl:
add: Dullahan Clown borg
change: Dullahan ninja borg
/:cl:

Co-authored-by: projectkepler-RU <[email protected]>

* Significantly Boosts the chances of the Wizardly Die of Fate event triggering. (#1952)

## About The Pull Request

Significantly Boosts the chances of the Wizardly Die of Fate event
triggering.
The event now has a 20% chance not to announce the existence of a
Wizardly Die of Fate

The event is now as common as the shuttle getting replaces by a
disaster.

## Why It's Good For The Game

I've been getting complaints that this event is still extremely rare.
This PR should fix that.

People want more wizard rounds. This should grant more wizard rounds.

The announcement chance tweak should also be more interesting.

## Proof Of Testing

Untested.

## Changelog

:cl: BurgerBB
balance: Significantly Boosts the chances of the Wizardly Die of Fate
event triggering. The event now has a 20% chance not to announce the
existence of a Wizardly Die of Fate
/:cl:

* Automatic changelog for PR #1952 [ci skip]

---------

Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: SkyratBot <[email protected]>
Co-authored-by: Changelogs <[email protected]>
Co-authored-by: FlufflesTheDog <[email protected]>
Co-authored-by: projectkepler-RU <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: Ghom <[email protected]>
Co-authored-by: Da Cool Boss <[email protected]>
Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@ users.noreply.github.com>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Krypandenej <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: Bubberbot <[email protected]>
Co-authored-by: SpaceLoveSs13 <[email protected]>
Co-authored-by: lessthanthree <[email protected]>
Co-authored-by: BurgerLUA <[email protected]>
Co-authored-by: aKromatopzia <[email protected]>
Co-authored-by: necromanceranne <[email protected]>
Co-authored-by: NovaBot <[email protected]>
Co-authored-by: Zergspower <[email protected]>
Co-authored-by: Bloop <[email protected]>
Co-authored-by: Andrew <[email protected]>
Co-authored-by: orange man <[email protected]>
Co-authored-by: xXPawnStarrXx <[email protected]>
Co-authored-by: grungussuss <[email protected]>
Co-authored-by: plsleavemealon <[email protected]>
Co-authored-by: Ben10Omintrix <[email protected]>
Co-authored-by: Return <[email protected]>
Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@ users.noreply.github.com>
Co-authored-by: Cecily-C-Catherine <[email protected]>
silicons added a commit to Citadel-Station-13/Citadel-Station-13-RP that referenced this pull request Aug 18, 2024
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
Co-authored-by: silicons <[email protected]>
lessthnthree pushed a commit to effigy-se/effigy-se that referenced this pull request Aug 19, 2024
This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
Iajret pushed a commit to Fluffy-Frontier/FluffySTG that referenced this pull request Aug 24, 2024
* Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)

## About The Pull Request
All references to "Waffle Co" and "Waffle Company" have been scrubbed
and replaced with appropriate branding. "The Waffle Corporation" may be
shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only.

All references to "Donk Corp." and "Donk Corporation" have been scrubbed
and replaced with appropriate branding. "Donk Company" may be shortened
to "Donk", "Donk Co" or "Donk Co." only.
## Why It's Good For The Game
Keeps these names consistant and lore accurate.
## Changelog
:cl:
spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co.
/:cl:

---------

Co-authored-by: BlueMemesauce <[email protected]>

* Automatic changelog for PR #85686 [ci skip]

* You no longer kill yourself in cockroach form if you attempt to unposess it (#85647)

## About The Pull Request
Closes #85626

## Changelog
:cl:
fix: You no longer kill yourself in cockroach form if you attempt to
unposess it
/:cl:

* Automatic changelog for PR #85647 [ci skip]

* Ore ore ore ore ore... sounds. (#85738)

## About The Pull Request
Closes tgstation/tgstation#85615

#### Applied to:
- all ore subtypes, except bluespace polycrystals
- Sandstone blocks

### Video:


https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b
## Why It's Good For The Game
immersion.
## Changelog
:cl: grungussuss
sound: ore and sandstone blocks have their own sound
/:cl:

* ambience sound fixes (#85645)

## About The Pull Request
ambigen1 and ambigen12 had a lot of white noise to it so we tried to
reduce it.
(kayozz did all the work)

<details>
<summary>Comparisons</summary>
<br>



https://github.com/user-attachments/assets/f87c9989-6ac0-40e7-88c5-11e726a2dd61



https://github.com/user-attachments/assets/ba431df9-9604-43db-9145-1115b95894bb



https://github.com/user-attachments/assets/83c74ac5-271e-4002-90ad-ae4c96873efc



https://github.com/user-attachments/assets/28c864e5-3b51-4ddc-a5f1-70311653828f

</details>

## Why It's Good For The Game
I heard it once and haven't been able to unhear it ever since, it's
really jarring to hear that white noise in the sound
## Changelog
:cl: grungussuss and kayozz
sound: white noise from some ambience sounds has been pruned
/:cl:

* Automatic changelog for PR #85738 [ci skip]

* Automatic changelog for PR #85645 [ci skip]

* Laser pointers no longer make felinids phase through diagonal gaps (#85755)

## About The Pull Request

Someone forgot the dir argument, making it possible to phase through
diagonal gaps.

## Why It's Good For The Game

One less bug. I like my gbp

## Changelog

:cl:
fix: Felinids no longer phase through diagonal gaps upon seeing a laser
/:cl:

* Automatic changelog for PR #85755 [ci skip]

* Automatic TGS DMAPI Update (#85751)

This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Fixed Discord documentation links.
(tgstation/tgstation-server#1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(tgstation/tgstation-server#1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(tgstation/tgstation-server#1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>

* Fake aurora caelus event no longer permanently paints space green (#85777)

## About The Pull Request

Closes #84651
Also made sure that if there somehow are multiple kitchen areas chefs
don't yell steamed hams line multiple times

## Changelog
:cl:
fix: Fake aurora caelus event no longer permanently paints space green
/:cl:

* Fixed monk staffs not displaying a wielded sprite (#85767)

## About The Pull Request

Closes #85764

## Changelog
:cl:
fix: Fixed monk staffs not displaying a wielded sprite
/:cl:

* Resprited assemblies (#85763)

## About The Pull Request

Refreshes absolutely ancient assembly sprites in 3/4 format


![image](https://github.com/user-attachments/assets/433b25d2-b1be-423e-9423-d71067ee54b5)
Top to bottom, left to right: voice analyzer, health scanner, condenser,
igniter, proximity detector (now inspired by IRL motion detectors),
remote signaller, timer and infrared beam emitter. Timers now also show
time left with their blinking lights, additional lights will blink for
every 10 seconds remaining on the timer

## Why It's Good For The Game
Current ones are absolutely ancient and rather abstract, I am honestly
not even sure what half of them were supposed to represent.

## Changelog
:cl:
image: Resprited all main assemblies
/:cl:

* Wawastation Science distro fix and a missing cable mended (#85762)

## About The Pull Request

Adds a missing distro pipe in science maint needed to Science to have
atmos distro
Adds a missing cable in the Electrical Relay connected to Service Maint
that acts as a redundency
## Why It's Good For The Game

Noticed Ordenence burn chamber wasnt cycling due to no distro.. then
found all of science had no distro.. oh no. Tracked missing pipe in
maint.

Also spotted a missing cable above service maint due to the catwalk bug.
## Changelog
:cl:
fix: Wawastation Science is connected to distro,Floor Electrical Relay
cable fixed
/:cl:

* Prevents people from being shoved into closets/crates/bins through directional glass (#85760)

## About The Pull Request

forceMove made it possible for someone to get shoved into a
closet/crate/disposals bin through a piece of directional glass that was
located on said objects tile, resulting in a very cheesy way to GBJ
people.

## Changelog
:cl:
fix: You can no longer shove people into closets through directional
glass
/:cl:

* Some crime and citations fixes (#85733)

## About The Pull Request

1. Silicons now able to invalidate crimes, because... they have armory
access too.
2. After citation being paid off there will be no more broken 0 in sec
records
3. After citation being paid off it will be invalidated automticaly
4. Crime authors can invalidate crimes, issued by them.
5. In case of invalidation, crime now shows who voided it
6. Also fixing bug with editing crime description
<details>
<summary>Screenshots</summary>

![image](https://github.com/user-attachments/assets/d6635dd2-87a8-47d6-a7eb-269c08fbdcf5)

![image](https://github.com/user-attachments/assets/8d739e57-24a5-4d58-8a87-47344a04b46c)

![image](https://github.com/user-attachments/assets/c000caff-76c7-484d-bf8f-57a2946e93c4)

</details>

## Why It's Good For The Game

Thats few fixes and QoLs features.
If someone want to argue about:
1. Synths: man they was able to issue crimes which is more impactfull +
now voiding is recorded
2. Authors: they had ability to edit name and description, why can't
delete?
3. Voiders: how offen do you use invalidate button? How many of those
uses you wanna hide from sec?
## Changelog
:cl:
fix: Strange zeros in paid off citations on sec records
fix: Now invalidating citations works
fix: You can change crimes description
fix: Synths have 'armory access' for sec records logic
qol: Paying off citation now automaticaly voiding it
qol: Crime issuer can void the crime without armory access
qol: In case of invalidation crime shows who voided it
/:cl:

* Fixed shuttle loan paperwork being unstampable (#85721)

## About The Pull Request

Closes #85717

## Changelog
:cl:
fix: Fixed shuttle loan paperwork being unstampable
/:cl:

* Fixed bileworms not having a deaggro range (#85719)

## About The Pull Request

Closes #69244
Bileworms use standard 9 tiles of vision but also have the ignore_sight
flag, which prevents can_see check from running. Check, which is the
only place where deaggro range check exists. Vision range may need
bumping up based on player feedback if they seem to be deaggroing too
easily due to slow movement speed now that they actually do so

## Changelog
:cl:
fix: Fixed bileworms not having a deaggro range
/:cl:

* Buff to MODsuit deployment time (#85705)

## About The Pull Request
Before it took 12 seconds to fully deploy (2 seconds per part) so it's
just an awkward standing around moment while you wait for your MOD to
activate in front of the airlock.
- Increased speed of MODsuit deploy time by 2 times
- Increased speed of infiltrator MODsuit deploy time by 4 times
## Why It's Good For The Game
One of the reasons why so many players are deterred from MODsuits is how
long the deployment or undeployment takes.
This change should increase the desire for players to use MODsuits and
will raise their value, giving more incentive to produce more, which
roboticists barely ever do.

The infiltrator MODsuit is supposed to be a sneaky sleek and quick
(infiltrating) device, allowing you to quickly disguise your identity
and then quickly become inconspicuous. This change allows it to execute
that purpose better.
## Changelog
:cl: grungussuss
balance: MODsuits now deploy 2 times faster
balance: The infiltrator MODsuit now deploys 4 times faster
/:cl:

* Automatic changelog for PR #85777 [ci skip]

* Fixes a hard del with island_brawl spawners (#85684)

## About The Pull Request


![yN86RRrD0h](https://github.com/user-attachments/assets/2aaa23c8-1fcb-4a40-ad54-c71306a2f430)

Tin, just aims to fix this hard del by releasing the refs when the
spawners get qdeleted.

## Why It's Good For The Game

Fixes a hard del---also, there were some issues with this domain not
clearing itself properly under certain cases and this may resolve that.

## Changelog

Nothing player facing

* Automatic changelog for PR #85767 [ci skip]

* Automatic changelog for PR #85763 [ci skip]

* Automatic changelog for PR #85762 [ci skip]

* Fixes DNA sampler attack chain heck (#85662)

<!-- 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

Closes #85656

## 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 its 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:
fix: Fixed DNA samplers not being able to interact with non-scannable
objects
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85760 [ci skip]

* Fixed chanterelles runtiming upon being hollowed out with a spoon and not spawning a hat (#85663)

## About The Pull Request

Closes #85659

Not, in fact, attack chain heck. Just seed getting deleted too soon.

## Changelog
:cl:
fix: Fixed chanterelles runtiming upon being hollowed out with a spoon
and not spawning a hat
/:cl:

* Automatic changelog for PR #85733 [ci skip]

* Automatic changelog for PR #85721 [ci skip]

* Automatic changelog for PR #85719 [ci skip]

* [NO GBP] (Not so) hotfix for ninja cloaking (#85673)

## About The Pull Request

Closes #85639
dumb me forgetting to test a specific module weeks ago and it getting
past review

## Changelog
:cl:
fix: Ninjas can cloak again
/:cl:

* Automatic changelog for PR #85705 [ci skip]

* Retextured Durand's shield, fixed power drain and UI (#85718)

## About The Pull Request

![dreamseeker_phiCk3bcfG](https://github.com/user-attachments/assets/5e2dfb36-cb8b-4954-8c04-5b452dfb0a2f)

Closes #84419
Durand drained ten times the default cell capacity per tick due to power
changes, and UI for some reason multiplied the cell charge by a
thousand, confusing the players. Also minor cleanup.

## Why It's Good For The Game
Super dated sprite that doesn't really fit the modern durand

## Changelog
:cl:
image: Durand shield got a glowup
fix: Durand shield no longer instantly drains its battery
fix: Mech UI no longer lies about the amount of power your mech has left
/:cl:

* Automatic changelog for PR #85662 [ci skip]

* Adds arms/legs coverage to armored gloves/shoes, adds a unit test to check for former (#85667)

## About The Pull Request
Turns out HANDS and FEET coverage doesn't actually apply armor to the
body, at all, making it entirely useless. Despite this, a lot of
clothing still does it! So I added ARMS and LEGS flags to gloves/shoes
that do it respectively and wrote a unit test for it that will yell out
a list of all items missing coverage while having non acid/bio/fire
armor (three snowflake types)

as discusses with melbert on discord

## Why It's Good For The Game
...features working as intended?

## Changelog
:cl:
balance: Multiple gloves/shoes that had armor values but failed to apply
them got fixed
/:cl:

* Automatic changelog for PR #85663 [ci skip]

* Automatic changelog for PR #85673 [ci skip]

* Fix a spot of shitcode (#85683)

## About The Pull Request
OD errors on invalid values for `color` in a color filter def, BYOND
just fails silently and gives a white color matrix. I'm guessing this
was going for identity matrix == white, but `/matrix` is not a color
matrix.

OD also errors on invalid values for `easing` in `animate`, which this
also fixes an instance of
## Why It's Good For The Game
Fix shitcode

---------

Co-authored-by: ike709 <[email protected]>

* Automatic changelog for PR #85718 [ci skip]

* Automatic changelog for PR #85667 [ci skip]

* Fixes a bug that made it so radios inside objects would blare out their comms to everyone around them (#85676)

## About The Pull Request
Currently things like bounty cubes that are not supposed to be
broadcasting comms, are doing so for the department their nested radio
is set to.
This happens because when an encryption key is put into a radio that is
off and that radio has its channels recalculated, all of the default
channels on the encryption key (in the case of bounty cubes, supply) are
set to being on and the radio 'forgets' that its supposed to be off
until it is turned back on, then turned off again. Obviously we cannot
do this to a radio inside of an object in game, as we have no way of
accessing it, so I am adding a check for if the radio is off at the end
of recalculatechannels() and if it is off, it will turn it on, then back
off so it can remember
## Why It's Good For The Game
fixes a rather minor bug which gives anyone free [insert comms channel
here] for any object with a radio inside that is given an encryption
key, my example being a bounty cube with a radio and an encryption key
for cargo.

This could also be solved by going through every single instance of a
nested radio and taking away their keys and instead doing
set_frequency(FREQ_<DEPARTMENT>) However, this would nip the bug in the
bud when otherwise the way its been being written should be working.
## Changelog
:cl:
fix: fixed nested radios with encryption keys giving free comms
/:cl:

---------

Co-authored-by: Odairu <[email protected]>

* Automatic changelog for PR #85676 [ci skip]

* Fixes a typo and bad punctuation in blackout drunk trauma message (#85661)

## About The Pull Request
When looking through the code I noticed the blackout drunk message in
the split_personality.dm file had a typo (liscense -> license) and bad
punctuation + I think the sentences were structured a bit weirdly so I
rearranged them. The meaning should be intact but it's grammatically
correct and reads easier.
## Why It's Good For The Game
spelling and grammar errors are bad and we should get rid of them
## Changelog
:cl:
spellcheck: fixed spelling and punctuation in the blackout drunk split
personality message
/:cl:

* nerfs the HP of bushes (#85682)

## About The Pull Request
- Lowered the HP of the "flora" type from 150 (same as reinforced
window) to 100
- Trees are still 150 HP
- Gave flora an x4 modifier to burn damage (takes 4 times the burn
damage)
## Why It's Good For The Game
Every time you do a project as an engineer on a map with bushes, each
bush takes 10 welding tool hits to destroy, overall bushes have way too
much HP and shouldn't be this difficult to destroy.
## Changelog
:cl: grungussuss
balance: bushes and other flora have had their HP reduced from 150 to
100. Trees still have 150 HP
balance: flora now has an X4 modifier to damage from burn sources
/:cl:

* Automatic changelog for PR #85682 [ci skip]

* Makes cyborg endoskeleton a roundstart research again (#85695)

## About The Pull Request

Cyborg endoskeletons no longer require a research node to be made,
making them possible to create at roundstart.
## Why It's Good For The Game

I feel like placing these behind a node doesn't really do anything
that's worth having it there. There's very little to do at roundstart
other than making cyborgs or clean/medibots at roundstart, so most of
the beginning of a shift turns into "trying to get R&D to research the
thing you need to do arguably the most important part of your job". I
haven't been able to find a single benefit for doing this. Arguably,
it's like this to prevent people from "wasting resources on cyborgs that
never get built", but I can't say I've ever been on a round with more
than 30-40 people where I didn't build at least two borgs.

What actually ends up happening is one roboticist makes everything but
the endoskeleton while the other tries to get access to the R&D computer
to research cybernetics so they can finish making a cyborg. It was also
argued that augmentation is more often requested at roundstart than
borging, which I have seen maybe twice in the last three years.
## Changelog
:cl: Vekter
balance: Removes the research requirement from cyborg endoskeletons,
meaning they can be built at roundstart again.
/:cl:

* Automatic changelog for PR #85695 [ci skip]

* fixes wolf ai getting stuck (#85654)

## About The Pull Request
wolf AI tend to get stuck processing this behavior infinitely 

## Why It's Good For The Game
fixes wolf ai getting stuck sometimes

## Changelog
:cl:
fix: wolf AI will no longer get stuck
/:cl:

* Automatic changelog for PR #85654 [ci skip]

* Bubblegum can no longer bloodcrawl to other Z levels (#85655)

## About The Pull Request

Closes #85638
Closes #64063
Now has a Z level check

## Why It's Good For The Game

While funny as hell (fuck around and find out, miner) I do not think
that this is a very good idea to leave it in, considering current
attitude regarding easy ways to bring megafauna onboard the station.
Plus using Jacob's Ladder as an escape route is a pretty creative use
for a gimmicky item

## Changelog
:cl:
fix: Bubblegum can no longer bloodcrawl to other Z levels
/:cl:

* Wellcheers fix (#85634)

## About The Pull Request
Fixes the way Wellcheers soda checks sanity for its sanity-based
effects, removing "holes" of sanity values in which it would do nothing
at all.

Old code checks sanity values in ranges 0-25, 50-75, 100-125, new code
checks sanity _levels_ instead so that it's exhaustive

## Why It's Good For The Game
Makes wellcheers have the intended effect, fixes
tgstation/tgstation#85617

## Changelog
:cl:
fix: Wellcheers no longer does nothing half the time
/:cl:

Co-authored-by: Roryl-c <[email protected]>

* Automatic changelog for PR #85655 [ci skip]

* Automatic changelog for PR #85634 [ci skip]

* Ash drakes no longer get stuck in flight if their target changes Z levels or is destroyed and doesn't spawn lavaland turfs after the lava arena attack ends (#85700)

## About The Pull Request
Closes #79210
Closes #56244
Cleaned up the code and added some much-needed sanity checks. Not sure
how exactly the latter issue happened but the checks should ensure that
it doesnt occur again. Also made the drake not terraform turfs into
lavaland ones after the lava disappears because if it ever went to
station it ended up permanently changing space turfs which is not good,
and there's no reason for terraforming on lavaland already.

## Changelog
:cl:
fix: Ash drakes no longer get stuck in flight if their target changes Z
levels or is destroyed and doesn't spawn lavaland turfs after the lava
arena attack ends
/:cl:

* Adds gardening tools to Wawastation permabrig (#85633)

## About The Pull Request
Adds some rakes, plant analyzer, a watering can, and a spade to
Wawastation's permabrig garden.

![wawastationgarden](https://github.com/user-attachments/assets/f25de62f-fdc3-4208-ac72-12a479e341c5)
## Why It's Good For The Game
Feature parity with other maps and permabrig prisoners can actually
garden without worrying about weeds and if their plants are OK or not.
## Changelog
:cl: Treach
fix: Wawastation's permabrig garden now has gardening tools
/:cl:

* Circuit health analyzer/state components now work on targets inside lockers (#85649)

<!-- 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

Makes circuit health analyzer/scanner components check distance to
target turf instead of target itself similarly to (most) other
components. (There are exceptions, presumably due to balancing?
concerns, but this feels like it should not have been one)

This doesn't feel intentional so I marked it as a fix, given that BCIs
stopping being able to scan their occupant is rather nonsensical

## Why It's Good For The Game

Currently BCIs with health analyzer components stop working if the owner
goes into a locker which is pretty stupid. Most components also only
check for turf distance, and while this could theoretically be used to
pinpoint someone's hiding spot there are far better ways to do so with
circuits

## 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 its 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:
fix: Circuit health analyzer/state components now work on targets inside
lockers
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85700 [ci skip]

* Automatic changelog for PR #85649 [ci skip]

* Add a janitorial 'borg plunger (#85475)

## About The Pull Request
I got annoyed at not being able to plung vents when there's a clog. This
PR corrects that. I copied all of the cyborg mop attributes to make
this. This is my first PR on this server, but I did test it on a local
server, and it indeed, plungs.

## Why It's Good For The Game
More content for janitorial cyborg. They really should have a plunger,
to be honest. It just makes sense to me.

## Changelog
:cl:
add: Added a cyborg plunger for janitorial modules
/:cl:

* Slimes no longer can feed when they're inside of objects or attacking a target that became invalid after they chose their dinner (#85467)

## About The Pull Request

Closes #85466

## Changelog
:cl:
fix: Slimes no longer can feed when they're inside of objects or
attacking a target that became invalid after they chose their dinner
/:cl:

* Fix TGUI notepad with various small fixes (#85472)

## About The Pull Request

Back from my hiatus and playing ss13 again! A few fixes for this
component I wrote back in 2022. Hopefully the commit messages are
self-explanatory.

There's one fix to TextArea that needs extra scrutiny. I removed the
`blur()` call as it prevents newline input (unless holding shift).
@jlsnow301 Could you check this one-liner change?

## Why It's Good For The Game

Fixes incorrect prop usage, uses new props on TextArea, uses
`login.IDName` instead of `clientName` and so on.
The most important fix would be restoring state change on text input as
that's quite important for other bits to work.

## Changelog
:cl:
fix: Various fixes to TGUI notepad
/:cl:

* Automatic changelog for PR #85475 [ci skip]

* Automatic changelog for PR #85467 [ci skip]

* Automatic changelog for PR #85472 [ci skip]

* Fixes some missing body_parts_covered flags

---------

Co-authored-by: Da Cool Boss <[email protected]>
Co-authored-by: BlueMemesauce <[email protected]>
Co-authored-by: orange man <[email protected]>
Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: grungussuss <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
Co-authored-by: Dmeto <[email protected]>
Co-authored-by: Archemagus <[email protected]>
Co-authored-by: Amy <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Treach <[email protected]>
Co-authored-by: Vekter <[email protected]>
Co-authored-by: Ben10Omintrix <[email protected]>
Co-authored-by: Runi-c <[email protected]>
Co-authored-by: Roryl-c <[email protected]>
Co-authored-by: nesquik <[email protected]>
Co-authored-by: Matt <[email protected]>
Iajret added a commit to Fluffy-Frontier/FluffySTG that referenced this pull request Aug 24, 2024
* Small batch of mirrors (#4233)

* Circuit UI scale no longer suffers from FPEs and doesnt get covered by component menu (#85653)

## About The Pull Request
Added rounding to 1 number after point to prevent FPEs and made the
scale bar shrink when component menu gets open as to prevent it from
getting covered by the menu, which made it impossible to see or increase
current scale

## Changelog
:cl:
fix: Circuit UI scale no longer has weird rounding
fix: Circuit UI no longer gets covered by components menu
/:cl:

* Automatic changelog for PR #85653 [ci skip]

* Fixed Charlie MOD installer not installing MODsuits unless you have a backpack to drop (#85671)

## About The Pull Request

Closes #85669

## Changelog
:cl:
fix: Fixed Charlie MOD installer not installing MODsuit unless you have
a backpack to drop
/:cl:

* Automatic changelog for PR #85671 [ci skip]

* Fix tadpole scooping (#85691)

## About The Pull Request
Fixes swapped arguments to a do_after, allowing tadpoles to be scooped
from puddles
## Why It's Good For The Game
bug bad
## Changelog
:cl:
fix: tadpoles can actually be scooped from ponds
/:cl:

* Automatic changelog for PR #85691 [ci skip]

* Post release notes in DMAPI PR body (#85723)

- Change committer to tgstation-server-ci[bot]

Also denaturing DMAPI slightly so I can test.

* Automatic changelog compile [ci skip]

* Removes an unused var from SSpersistence (#85696)

## About The Pull Request
I think I may have forgotten to remove it from the final version of the
persistent piggy banks PR (museum cafeteria yadda yadda)

## Why It's Good For The Game
Unused var.

## Changelog
N/A

---------

Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: orange man <[email protected]>
Co-authored-by: FlufflesTheDog <[email protected]>
Co-authored-by: Jordan Dominion <[email protected]>
Co-authored-by: Changelogs <[email protected]>
Co-authored-by: Ghom <[email protected]>

* ci-please

* Batch of TG Mirrors 8/14 (#4261)

* Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)

## About The Pull Request
All references to "Waffle Co" and "Waffle Company" have been scrubbed
and replaced with appropriate branding. "The Waffle Corporation" may be
shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only.

All references to "Donk Corp." and "Donk Corporation" have been scrubbed
and replaced with appropriate branding. "Donk Company" may be shortened
to "Donk", "Donk Co" or "Donk Co." only.
## Why It's Good For The Game
Keeps these names consistant and lore accurate.
## Changelog
:cl:
spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co.
/:cl:

---------

Co-authored-by: BlueMemesauce <[email protected]>

* Automatic changelog for PR #85686 [ci skip]

* You no longer kill yourself in cockroach form if you attempt to unposess it (#85647)

## About The Pull Request
Closes #85626

## Changelog
:cl:
fix: You no longer kill yourself in cockroach form if you attempt to
unposess it
/:cl:

* Automatic changelog for PR #85647 [ci skip]

* Ore ore ore ore ore... sounds. (#85738)

## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/85615

#### Applied to:
- all ore subtypes, except bluespace polycrystals
- Sandstone blocks

### Video:


https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b
## Why It's Good For The Game
immersion.
## Changelog
:cl: grungussuss
sound: ore and sandstone blocks have their own sound
/:cl:

* ambience sound fixes (#85645)

## About The Pull Request
ambigen1 and ambigen12 had a lot of white noise to it so we tried to
reduce it.
(kayozz did all the work)

<details>
<summary>Comparisons</summary>
<br>



https://github.com/user-attachments/assets/f87c9989-6ac0-40e7-88c5-11e726a2dd61



https://github.com/user-attachments/assets/ba431df9-9604-43db-9145-1115b95894bb



https://github.com/user-attachments/assets/83c74ac5-271e-4002-90ad-ae4c96873efc



https://github.com/user-attachments/assets/28c864e5-3b51-4ddc-a5f1-70311653828f

</details>

## Why It's Good For The Game
I heard it once and haven't been able to unhear it ever since, it's
really jarring to hear that white noise in the sound
## Changelog
:cl: grungussuss and kayozz
sound: white noise from some ambience sounds has been pruned
/:cl:

* Automatic changelog for PR #85738 [ci skip]

* Automatic changelog for PR #85645 [ci skip]

* Laser pointers no longer make felinids phase through diagonal gaps (#85755)

## About The Pull Request

Someone forgot the dir argument, making it possible to phase through
diagonal gaps.

## Why It's Good For The Game

One less bug. I like my gbp

## Changelog

:cl:
fix: Felinids no longer phase through diagonal gaps upon seeing a laser
/:cl:

* Automatic changelog for PR #85755 [ci skip]

* Automatic TGS DMAPI Update (#85751)

This pull request updates the TGS DMAPI to the latest version. Please
note any changes that may be breaking or unimplemented in your codebase
by checking what changes are in the definitions file:
code/__DEFINES/tgs.dm before merging.

Full changelog can be found
[here](https://raw.githubusercontent.com/tgstation/tgstation-server/gh-pages/changelog.yml).

- Added consumer APIs for overriding HTTP GET implementation.
(https://github.com/tgstation/tgstation-server/pull/1853 @Cyberboss)
- Fixed Discord documentation links.
(https://github.com/tgstation/tgstation-server/pull/1853 @Cyberboss)
- Use IETF RFC 2119 wording in documentation.
(https://github.com/tgstation/tgstation-server/pull/1853 @Cyberboss)
- Populate some documentation comments for previously undocumented
public entities.
(https://github.com/tgstation/tgstation-server/pull/1853 @Cyberboss)
#tgs-dmapi-release

Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>

* Fake aurora caelus event no longer permanently paints space green (#85777)

## About The Pull Request

Closes #84651
Also made sure that if there somehow are multiple kitchen areas chefs
don't yell steamed hams line multiple times

## Changelog
:cl:
fix: Fake aurora caelus event no longer permanently paints space green
/:cl:

* Fixed monk staffs not displaying a wielded sprite (#85767)

## About The Pull Request

Closes #85764

## Changelog
:cl:
fix: Fixed monk staffs not displaying a wielded sprite
/:cl:

* Resprited assemblies (#85763)

## About The Pull Request

Refreshes absolutely ancient assembly sprites in 3/4 format


![image](https://github.com/user-attachments/assets/433b25d2-b1be-423e-9423-d71067ee54b5)
Top to bottom, left to right: voice analyzer, health scanner, condenser,
igniter, proximity detector (now inspired by IRL motion detectors),
remote signaller, timer and infrared beam emitter. Timers now also show
time left with their blinking lights, additional lights will blink for
every 10 seconds remaining on the timer

## Why It's Good For The Game
Current ones are absolutely ancient and rather abstract, I am honestly
not even sure what half of them were supposed to represent.

## Changelog
:cl:
image: Resprited all main assemblies
/:cl:

* Wawastation Science distro fix and a missing cable mended (#85762)

## About The Pull Request

Adds a missing distro pipe in science maint needed to Science to have
atmos distro
Adds a missing cable in the Electrical Relay connected to Service Maint
that acts as a redundency
## Why It's Good For The Game

Noticed Ordenence burn chamber wasnt cycling due to no distro.. then
found all of science had no distro.. oh no. Tracked missing pipe in
maint.

Also spotted a missing cable above service maint due to the catwalk bug.
## Changelog
:cl:
fix: Wawastation Science is connected to distro,Floor Electrical Relay
cable fixed
/:cl:

* Prevents people from being shoved into closets/crates/bins through directional glass (#85760)

## About The Pull Request

forceMove made it possible for someone to get shoved into a
closet/crate/disposals bin through a piece of directional glass that was
located on said objects tile, resulting in a very cheesy way to GBJ
people.

## Changelog
:cl:
fix: You can no longer shove people into closets through directional
glass
/:cl:

* Some crime and citations fixes (#85733)

## About The Pull Request

1. Silicons now able to invalidate crimes, because... they have armory
access too.
2. After citation being paid off there will be no more broken 0 in sec
records
3. After citation being paid off it will be invalidated automticaly
4. Crime authors can invalidate crimes, issued by them.
5. In case of invalidation, crime now shows who voided it
6. Also fixing bug with editing crime description
<details>
<summary>Screenshots</summary>

![image](https://github.com/user-attachments/assets/d6635dd2-87a8-47d6-a7eb-269c08fbdcf5)

![image](https://github.com/user-attachments/assets/8d739e57-24a5-4d58-8a87-47344a04b46c)

![image](https://github.com/user-attachments/assets/c000caff-76c7-484d-bf8f-57a2946e93c4)

</details>

## Why It's Good For The Game

Thats few fixes and QoLs features.
If someone want to argue about:
1. Synths: man they was able to issue crimes which is more impactfull +
now voiding is recorded
2. Authors: they had ability to edit name and description, why can't
delete?
3. Voiders: how offen do you use invalidate button? How many of those
uses you wanna hide from sec?
## Changelog
:cl:
fix: Strange zeros in paid off citations on sec records
fix: Now invalidating citations works
fix: You can change crimes description
fix: Synths have 'armory access' for sec records logic
qol: Paying off citation now automaticaly voiding it
qol: Crime issuer can void the crime without armory access
qol: In case of invalidation crime shows who voided it
/:cl:

* Fixed shuttle loan paperwork being unstampable (#85721)

## About The Pull Request

Closes #85717

## Changelog
:cl:
fix: Fixed shuttle loan paperwork being unstampable
/:cl:

* Fixed bileworms not having a deaggro range (#85719)

## About The Pull Request

Closes #69244
Bileworms use standard 9 tiles of vision but also have the ignore_sight
flag, which prevents can_see check from running. Check, which is the
only place where deaggro range check exists. Vision range may need
bumping up based on player feedback if they seem to be deaggroing too
easily due to slow movement speed now that they actually do so

## Changelog
:cl:
fix: Fixed bileworms not having a deaggro range
/:cl:

* Buff to MODsuit deployment time (#85705)

## About The Pull Request
Before it took 12 seconds to fully deploy (2 seconds per part) so it's
just an awkward standing around moment while you wait for your MOD to
activate in front of the airlock.
- Increased speed of MODsuit deploy time by 2 times
- Increased speed of infiltrator MODsuit deploy time by 4 times
## Why It's Good For The Game
One of the reasons why so many players are deterred from MODsuits is how
long the deployment or undeployment takes.
This change should increase the desire for players to use MODsuits and
will raise their value, giving more incentive to produce more, which
roboticists barely ever do.

The infiltrator MODsuit is supposed to be a sneaky sleek and quick
(infiltrating) device, allowing you to quickly disguise your identity
and then quickly become inconspicuous. This change allows it to execute
that purpose better.
## Changelog
:cl: grungussuss
balance: MODsuits now deploy 2 times faster
balance: The infiltrator MODsuit now deploys 4 times faster
/:cl:

* Automatic changelog for PR #85777 [ci skip]

* Fixes a hard del with island_brawl spawners (#85684)

## About The Pull Request


![yN86RRrD0h](https://github.com/user-attachments/assets/2aaa23c8-1fcb-4a40-ad54-c71306a2f430)

Tin, just aims to fix this hard del by releasing the refs when the
spawners get qdeleted.

## Why It's Good For The Game

Fixes a hard del---also, there were some issues with this domain not
clearing itself properly under certain cases and this may resolve that.

## Changelog

Nothing player facing

* Automatic changelog for PR #85767 [ci skip]

* Automatic changelog for PR #85763 [ci skip]

* Automatic changelog for PR #85762 [ci skip]

* Fixes DNA sampler attack chain heck (#85662)

<!-- 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

Closes #85656

## 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 its 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:
fix: Fixed DNA samplers not being able to interact with non-scannable
objects
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85760 [ci skip]

* Fixed chanterelles runtiming upon being hollowed out with a spoon and not spawning a hat (#85663)

## About The Pull Request

Closes #85659

Not, in fact, attack chain heck. Just seed getting deleted too soon.

## Changelog
:cl:
fix: Fixed chanterelles runtiming upon being hollowed out with a spoon
and not spawning a hat
/:cl:

* Automatic changelog for PR #85733 [ci skip]

* Automatic changelog for PR #85721 [ci skip]

* Automatic changelog for PR #85719 [ci skip]

* [NO GBP] (Not so) hotfix for ninja cloaking (#85673)

## About The Pull Request

Closes #85639
dumb me forgetting to test a specific module weeks ago and it getting
past review

## Changelog
:cl:
fix: Ninjas can cloak again
/:cl:

* Automatic changelog for PR #85705 [ci skip]

* Retextured Durand's shield, fixed power drain and UI (#85718)

## About The Pull Request

![dreamseeker_phiCk3bcfG](https://github.com/user-attachments/assets/5e2dfb36-cb8b-4954-8c04-5b452dfb0a2f)

Closes #84419
Durand drained ten times the default cell capacity per tick due to power
changes, and UI for some reason multiplied the cell charge by a
thousand, confusing the players. Also minor cleanup.

## Why It's Good For The Game
Super dated sprite that doesn't really fit the modern durand

## Changelog
:cl:
image: Durand shield got a glowup
fix: Durand shield no longer instantly drains its battery
fix: Mech UI no longer lies about the amount of power your mech has left
/:cl:

* Automatic changelog for PR #85662 [ci skip]

* Adds arms/legs coverage to armored gloves/shoes, adds a unit test to check for former (#85667)

## About The Pull Request
Turns out HANDS and FEET coverage doesn't actually apply armor to the
body, at all, making it entirely useless. Despite this, a lot of
clothing still does it! So I added ARMS and LEGS flags to gloves/shoes
that do it respectively and wrote a unit test for it that will yell out
a list of all items missing coverage while having non acid/bio/fire
armor (three snowflake types)

as discusses with melbert on discord

## Why It's Good For The Game
...features working as intended?

## Changelog
:cl:
balance: Multiple gloves/shoes that had armor values but failed to apply
them got fixed
/:cl:

* Automatic changelog for PR #85663 [ci skip]

* Automatic changelog for PR #85673 [ci skip]

* Fix a spot of shitcode (#85683)

## About The Pull Request
OD errors on invalid values for `color` in a color filter def, BYOND
just fails silently and gives a white color matrix. I'm guessing this
was going for identity matrix == white, but `/matrix` is not a color
matrix.

OD also errors on invalid values for `easing` in `animate`, which this
also fixes an instance of
## Why It's Good For The Game
Fix shitcode

---------

Co-authored-by: ike709 <[email protected]>

* Automatic changelog for PR #85718 [ci skip]

* Automatic changelog for PR #85667 [ci skip]

* Fixes a bug that made it so radios inside objects would blare out their comms to everyone around them (#85676)

## About The Pull Request
Currently things like bounty cubes that are not supposed to be
broadcasting comms, are doing so for the department their nested radio
is set to.
This happens because when an encryption key is put into a radio that is
off and that radio has its channels recalculated, all of the default
channels on the encryption key (in the case of bounty cubes, supply) are
set to being on and the radio 'forgets' that its supposed to be off
until it is turned back on, then turned off again. Obviously we cannot
do this to a radio inside of an object in game, as we have no way of
accessing it, so I am adding a check for if the radio is off at the end
of recalculatechannels() and if it is off, it will turn it on, then back
off so it can remember
## Why It's Good For The Game
fixes a rather minor bug which gives anyone free [insert comms channel
here] for any object with a radio inside that is given an encryption
key, my example being a bounty cube with a radio and an encryption key
for cargo.

This could also be solved by going through every single instance of a
nested radio and taking away their keys and instead doing
set_frequency(FREQ_<DEPARTMENT>) However, this would nip the bug in the
bud when otherwise the way its been being written should be working.
## Changelog
:cl:
fix: fixed nested radios with encryption keys giving free comms
/:cl:

---------

Co-authored-by: Odairu <[email protected]>

* Automatic changelog for PR #85676 [ci skip]

* Fixes a typo and bad punctuation in blackout drunk trauma message (#85661)

## About The Pull Request
When looking through the code I noticed the blackout drunk message in
the split_personality.dm file had a typo (liscense -> license) and bad
punctuation + I think the sentences were structured a bit weirdly so I
rearranged them. The meaning should be intact but it's grammatically
correct and reads easier.
## Why It's Good For The Game
spelling and grammar errors are bad and we should get rid of them
## Changelog
:cl:
spellcheck: fixed spelling and punctuation in the blackout drunk split
personality message
/:cl:

* nerfs the HP of bushes (#85682)

## About The Pull Request
- Lowered the HP of the "flora" type from 150 (same as reinforced
window) to 100
- Trees are still 150 HP
- Gave flora an x4 modifier to burn damage (takes 4 times the burn
damage)
## Why It's Good For The Game
Every time you do a project as an engineer on a map with bushes, each
bush takes 10 welding tool hits to destroy, overall bushes have way too
much HP and shouldn't be this difficult to destroy.
## Changelog
:cl: grungussuss
balance: bushes and other flora have had their HP reduced from 150 to
100. Trees still have 150 HP
balance: flora now has an X4 modifier to damage from burn sources
/:cl:

* Automatic changelog for PR #85682 [ci skip]

* Makes cyborg endoskeleton a roundstart research again (#85695)

## About The Pull Request

Cyborg endoskeletons no longer require a research node to be made,
making them possible to create at roundstart.
## Why It's Good For The Game

I feel like placing these behind a node doesn't really do anything
that's worth having it there. There's very little to do at roundstart
other than making cyborgs or clean/medibots at roundstart, so most of
the beginning of a shift turns into "trying to get R&D to research the
thing you need to do arguably the most important part of your job". I
haven't been able to find a single benefit for doing this. Arguably,
it's like this to prevent people from "wasting resources on cyborgs that
never get built", but I can't say I've ever been on a round with more
than 30-40 people where I didn't build at least two borgs.

What actually ends up happening is one roboticist makes everything but
the endoskeleton while the other tries to get access to the R&D computer
to research cybernetics so they can finish making a cyborg. It was also
argued that augmentation is more often requested at roundstart than
borging, which I have seen maybe twice in the last three years.
## Changelog
:cl: Vekter
balance: Removes the research requirement from cyborg endoskeletons,
meaning they can be built at roundstart again.
/:cl:

* Automatic changelog for PR #85695 [ci skip]

* fixes wolf ai getting stuck (#85654)

## About The Pull Request
wolf AI tend to get stuck processing this behavior infinitely 

## Why It's Good For The Game
fixes wolf ai getting stuck sometimes

## Changelog
:cl:
fix: wolf AI will no longer get stuck
/:cl:

* Automatic changelog for PR #85654 [ci skip]

* Bubblegum can no longer bloodcrawl to other Z levels (#85655)

## About The Pull Request

Closes #85638
Closes #64063
Now has a Z level check

## Why It's Good For The Game

While funny as hell (fuck around and find out, miner) I do not think
that this is a very good idea to leave it in, considering current
attitude regarding easy ways to bring megafauna onboard the station.
Plus using Jacob's Ladder as an escape route is a pretty creative use
for a gimmicky item

## Changelog
:cl:
fix: Bubblegum can no longer bloodcrawl to other Z levels
/:cl:

* Wellcheers fix (#85634)

## About The Pull Request
Fixes the way Wellcheers soda checks sanity for its sanity-based
effects, removing "holes" of sanity values in which it would do nothing
at all.

Old code checks sanity values in ranges 0-25, 50-75, 100-125, new code
checks sanity _levels_ instead so that it's exhaustive

## Why It's Good For The Game
Makes wellcheers have the intended effect, fixes
https://github.com/tgstation/tgstation/issues/85617

## Changelog
:cl:
fix: Wellcheers no longer does nothing half the time
/:cl:

Co-authored-by: Roryl-c <[email protected]>

* Automatic changelog for PR #85655 [ci skip]

* Automatic changelog for PR #85634 [ci skip]

* Ash drakes no longer get stuck in flight if their target changes Z levels or is destroyed and doesn't spawn lavaland turfs after the lava arena attack ends (#85700)

## About The Pull Request
Closes #79210
Closes #56244
Cleaned up the code and added some much-needed sanity checks. Not sure
how exactly the latter issue happened but the checks should ensure that
it doesnt occur again. Also made the drake not terraform turfs into
lavaland ones after the lava disappears because if it ever went to
station it ended up permanently changing space turfs which is not good,
and there's no reason for terraforming on lavaland already.

## Changelog
:cl:
fix: Ash drakes no longer get stuck in flight if their target changes Z
levels or is destroyed and doesn't spawn lavaland turfs after the lava
arena attack ends
/:cl:

* Adds gardening tools to Wawastation permabrig (#85633)

## About The Pull Request
Adds some rakes, plant analyzer, a watering can, and a spade to
Wawastation's permabrig garden.

![wawastationgarden](https://github.com/user-attachments/assets/f25de62f-fdc3-4208-ac72-12a479e341c5)
## Why It's Good For The Game
Feature parity with other maps and permabrig prisoners can actually
garden without worrying about weeds and if their plants are OK or not.
## Changelog
:cl: Treach
fix: Wawastation's permabrig garden now has gardening tools
/:cl:

* Circuit health analyzer/state components now work on targets inside lockers (#85649)

<!-- 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

Makes circuit health analyzer/scanner components check distance to
target turf instead of target itself similarly to (most) other
components. (There are exceptions, presumably due to balancing?
concerns, but this feels like it should not have been one)

This doesn't feel intentional so I marked it as a fix, given that BCIs
stopping being able to scan their occupant is rather nonsensical

## Why It's Good For The Game

Currently BCIs with health analyzer components stop working if the owner
goes into a locker which is pretty stupid. Most components also only
check for turf distance, and while this could theoretically be used to
pinpoint someone's hiding spot there are far better ways to do so with
circuits

## 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 its 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:
fix: Circuit health analyzer/state components now work on targets inside
lockers
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* Automatic changelog for PR #85700 [ci skip]

* Automatic changelog for PR #85649 [ci skip]

* Add a janitorial 'borg plunger (#85475)

## About The Pull Request
I got annoyed at not being able to plung vents when there's a clog. This
PR corrects that. I copied all of the cyborg mop attributes to make
this. This is my first PR on this server, but I did test it on a local
server, and it indeed, plungs.

## Why It's Good For The Game
More content for janitorial cyborg. They really should have a plunger,
to be honest. It just makes sense to me.

## Changelog
:cl:
add: Added a cyborg plunger for janitorial modules
/:cl:

* Slimes no longer can feed when they're inside of objects or attacking a target that became invalid after they chose their dinner (#85467)

## About The Pull Request

Closes #85466

## Changelog
:cl:
fix: Slimes no longer can feed when they're inside of objects or
attacking a target that became invalid after they chose their dinner
/:cl:

* Fix TGUI notepad with various small fixes (#85472)

## About The Pull Request

Back from my hiatus and playing ss13 again! A few fixes for this
component I wrote back in 2022. Hopefully the commit messages are
self-explanatory.

There's one fix to TextArea that needs extra scrutiny. I removed the
`blur()` call as it prevents newline input (unless holding shift).
@jlsnow301 Could you check this one-liner change?

## Why It's Good For The Game

Fixes incorrect prop usage, uses new props on TextArea, uses
`login.IDName` instead of `clientName` and so on.
The most important fix would be restoring state change on text input as
that's quite important for other bits to work.

## Changelog
:cl:
fix: Various fixes to TGUI notepad
/:cl:

* Automatic changelog for PR #85475 [ci skip]

* Automatic changelog for PR #85467 [ci skip]

* Automatic changelog for PR #85472 [ci skip]

* Fixes some missing body_parts_covered flags

---------

Co-authored-by: Da Cool Boss <[email protected]>
Co-authored-by: BlueMemesauce <[email protected]>
Co-authored-by: orange man <[email protected]>
Co-authored-by: SmArtKar <[email protected]>
Co-authored-by: grungussuss <[email protected]>
Co-authored-by: Waterpig <[email protected]>
Co-authored-by: tgstation-server-ci[bot] <161980869+tgstation-server-ci[bot]@users.noreply.github.com>
Co-authored-by: Dmeto <[email protected]>
Co-authored-by: Archemagus <[email protected]>
Co-authored-by: Amy <[email protected]>
Co-authored-by: ike709 <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Odairu <[email protected]>
Co-authored-by: Treach <[email protected]>
Co-authored-by: Vekter <[email protected]>
Co-authored-by: Ben10Omintrix <[email protected]>
Co-authored-by: Runi-c <[email protected]>
Co-authored-by: Roryl-c <[email protected]>
Co-authored-by: nesquik <[email protected]>
Co-authored-by: Matt <[email protected]>

* CHECKS-PLEASE

* Add our_view to screen_loc_to_offset in view_audit_buttons (#85300)

## About The Pull Request

Relative positions are calculated incorrectly in widescreen mode without
this. To demonstrate, call
```
screen_loc_to_offset("EAST-4,SOUTH", null) = [-128,32]
```
When passed to offset_to_screen_loc, this will be clamped to (32,32)
```
offset_to_screen_loc(-128, 32, view = our_view) = "1,1"
```
And returned as 1,1 - moving the action button incorrectly.

By including our_view in the call to `screen_loc_to_offset`, this entire
problem is avoided.

## Why It's Good For The Game

If someone sets a floating action button to be relative to EAST, SOUTH,
or CENTER, they run into this bug. As far as I can tell, nothing
currently does this and therefore it isn't meaningful, but I've run into
this twice now downstream.
## Changelog
:cl:
fix: Fixed action buttons relative to EAST,SOUTH, or CENTER being
improperly moved during view_audit_buttons()
/:cl:

* Automatic changelog for PR #85300 [ci skip]

* add syndie lipstick (#85249)

## About The Pull Request

Add syndicate branded lipstick for stealth operations, super-secret
formula allows you to do similar energy gun damage with just a kiss,
leaving a distinctive laser-like mark.

## Why It's Good For The Game

The traitor arsenal is replenished with a new method of killing, elegant
and without suspicion. Just send an air `*kiss`!
You might ask what makes syndie kiss different from mime gun, besides
similar characteristics to egun:
- Causes burn damage
- It's the emote `*kiss` after lipstick application that does the
damage, not the lipstick itself
- It has standard kissing cooldown
- Kisses always fly to the head, good for the investigation
- Can fly through windows and lattice
- Unlimited number of lipstick uses
- Could be wiped out, unlike mime gun
- Can be reapplied after wiping off

In addition to adding lipstick, also:
- Fix wallhit sound, accidentally hit a wall and no sound came out of
it, and not just with a kiss
- Kiss log no longer contains on hitting the kisser name, but there is a
log about sending a kiss

## Changelog

![image_2024-07-25_20-02-34](https://github.com/user-attachments/assets/f74be8d5-8d9b-46a8-a2e7-019644d9f880)

![image_2024-07-25_20-02-53](https://github.com/user-attachments/assets/8f8d97dd-caf0-49a6-873d-b80d0acfc217)

![image_2024-07-25_20-27-48](https://github.com/user-attachments/assets/74ccea72-7f31-4771-8e8e-56a23109ccec)

![image](https://github.com/user-attachments/assets/2d4d52fe-067e-460a-91a7-a2a9cfa93cd3)

:cl:
add: add syndicate branded lipstick to uplink (6 TC), after applying
lipstick *kiss deals damage equal to energy gun
fix: fix wallhit sound for projectile
/:cl:
# Conflicts:
#	code/modules/projectiles/projectile.dm

* Fixes catwalk rendering layering and catwalk pipe cap issues (#85236)

## About The Pull Request

Sooooooo this one's a mess.
First off, layering issues. Pipes, cables, and disposals currently
render over catwalks!

![image](https://github.com/user-attachments/assets/bfb6fc15-878c-4686-aace-57f0b9c6923a)
That's not great.

Looking into it, it seems we've moved the `CATWALK_LAYER` below the
`ABOVE_OPEN_TURF_LAYER`, where the catwalk layer is used for closed
catwalks.

https://github.com/tgstation/tgstation/blob/33e983ced1ac27143c4b87d8761277eea35a6d2a/code/__DEFINES/layers.dm#L148-L150
Which, well, we've *also* made it so all `undertile` stuff gets rendered
at `ABOVE_OPEN_TURF_LAYER` when below a tile.
So! Naively! We swap those around! Easy peasy lemon squeezy.
```dm
 #define ABOVE_OPEN_TURF_LAYER (12 + TOPDOWN_LAYER)
 #define CATWALK_LAYER (13 + TOPDOWN_LAYER)
```
And hey! Well!

![image](https://github.com/user-attachments/assets/42d7a8f3-5c17-4039-a76b-dbd789432156)
It's progress!
But as we can see in the bottom right catwalk tile, something's not
rendering right when they're below the tile...

Well, time to take a closer look at our `undertile` element... aaaaaand
would you look at that:

https://github.com/tgstation/tgstation/blob/74f9a4314138afcb04af3cfb452ff167105f022c/code/datums/elements/undertile.dm#L45-L48
We're setting EVERYTHING to the `FLOOR_PLANE` at
`ABOVE_OPEN_TURF_LAYER`, even the stuff that was already on
`FLOOR_PLANE` with its own layer like disposals or cables.
Meaning, layering fuckery ensues, we can't see shit.

So? We just make it only do that when we're not already on the floor
plane.
```dm
	if(PLANE_TO_TRUE(source.plane) != FLOOR_PLANE)
		SET_PLANE_IMPLICIT(source, FLOOR_PLANE)
		source.layer = ABOVE_OPEN_TURF_LAYER
```
This solves it!

![image](https://github.com/user-attachments/assets/f930bd66-87eb-433e-8bf5-09706316ace4)
Progress!

![image](https://github.com/user-attachments/assets/f2f246a2-8524-4186-9ac3-07ac7dcf4288)
...Kind of.
The _layering_ is solved, but unscrewing and rescrewing them seems to
cause pipe caps to manifest out of nowhere!
This _sucks_ for debugging, y'know?
Anyhow, this is based on two different things: an order of operations
issue and catwalks just not being accounted for.

First off! Order of operations.
On `Initialize(...)`, the base `/obj/machinery/atmospherics` registers a
proc that updates pipe caps on `COMSIG_OBJ_HIDE`:

https://github.com/tgstation/tgstation/blob/33e983ced1ac27143c4b87d8761277eea35a6d2a/code/modules/atmospherics/machinery/atmosmachinery.dm#L114-L115
Meanwhile, `/obj/machinery/atmospherics/pipe`, adds the `undertile`
element on its `Initialize(...)`... AFTER calling the parent.

https://github.com/tgstation/tgstation/blob/33e983ced1ac27143c4b87d8761277eea35a6d2a/code/modules/atmospherics/machinery/pipes/pipes.dm#L31-L35
...Which then registers its own proc on `COMSIG_OBJ_HIDE`...

https://github.com/tgstation/tgstation/blob/74f9a4314138afcb04af3cfb452ff167105f022c/code/datums/elements/undertile.dm#L26
This meant that, well, the proc that generates the caps was being called
*before* undertile had a chance to chance to remove the
`TRAIT_UNDERFLOOR` trait... which pipe caps use to work out when to
generate.

https://github.com/tgstation/tgstation/blob/33e983ced1ac27143c4b87d8761277eea35a6d2a/code/modules/atmospherics/machinery/atmosmachinery.dm#L650-L652
So, we swap this around by moving both to a `setup_hiding()` proc which
allows the pipe to register its behaviours before calling the parent and
it register its, without needing to register it before calling the
parent `Initialize(...)`. Cause that's ugly.
Now we're generating pipe caps on catwalks!

But! That brings us perfectly to the next bit. Cause those pipe caps,
even if shown when the tile is open, look *ugly*.
Why, when we open a catwalk, are we having our pipes suddenly extend
onto the neighbouring tiles and catwalks and going down into them from
the top? Arguably, these should behave like they're below tiles, because
they logically are even if not technically so.
Well, actually, we already have a similar situation with bare plating.
It's not applying `TRAIT_UNDERFLOOR`, but also the pipe caps shouldn't
be behaving like they're above a tile, because that'd be ugly- and
that's what it does!

https://github.com/tgstation/tgstation/blob/33e983ced1ac27143c4b87d8761277eea35a6d2a/code/modules/atmospherics/machinery/atmosmachinery.dm#L654-L655
So, we just apply a second check there, `iscatwalkturf(...)`
```dm
	var/turf/node_turf = get_turf(node)
	if(isplatingturf(node_turf) || iscatwalkturf(node_turf))
		continue
```

And? Well!

![image](https://github.com/user-attachments/assets/f297136e-f62e-452b-b711-2f3b69462859)

![image](https://github.com/user-attachments/assets/a3f2df8b-3e22-4474-af32-7e858382f63f)

![image](https://github.com/user-attachments/assets/347a2c3b-8302-47b8-a376-41228fbe537a)
There we go! There's no weird layering, there's no pipe caps where there
shouldn't be, pipes behave like those on catwalks are actually under a
tile.
It looks _clean_.
...

Well, for however clean we can get it to be without making sprites for
the opened catwalks but without the integrated plating so we can make an
overlay and have the pipes/cables/disposals not spontaneously go over
the edges of the catwalk when opened. Or making the under sprites only
have the attachment points in the corners, so it looks like the
pipes/cables/disposals are going over plating instead of what looks like
a raised edge.
## Why It's Good For The Game

Fixes #84789.
Fixes #82622.
Screwing open a catwalk suddenly generating pipecaps on neighbouring
closed catwalks and tiles with pipes under them looks weird.
## Changelog
:cl:
fix: Fixed pipes/cables/disposals rendering above closed catwalks.
fix: Fixed catwalks covering pipes generating illogical pipe caps when
screwed.
fix: Opened catwalks are no longer assumed to be above-floor for the
sake of generating pipe caps.
/:cl:

* Optimizes hunger appearance work (#85299)

## About The Pull Request

If our appearance is fully dependant on hunger state, there's no reason
to do ANY work if the state hasn't changed, also don't churn underlays
for no reason.

## Why It's Good For The Game

This has relatively high cost and it's an easy win

* puts all the default command programs on /pda/heads rather than their specific role (#85228)

## About The Pull Request
Makes it so the default programs in the head PDAs actually works so all
5 do not need to be rewritten for each and every head of staff PDA
## Why It's Good For The Game
there were an unnecessary 5 lines of code per head (minus the captain),
this reduces it to just the special additions they get
## Proof of Testing

![image](https://github.com/user-attachments/assets/64da42f1-d4b3-4e9e-82f5-ee7a3f01f463)

## Changelog
:cl:
code: made it look a little cleaner for head PDAs
/:cl:

* Added physical references for special fax networks (#84910)

<!-- 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

Now there are fax machines that receive and send messages on behalf of
the special networks of NT and syndicate
Also added centcom stamps to centcom (funny, they weren’t there)

![image](https://github.com/user-attachments/assets/e4330793-c87b-4d99-9a86-da795969335b)

<!-- 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

Faxes sent from the CC will have the correct sender name. Also, there
will be no unnecessary faxes in the fax panel

<!-- 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:
code: сhanges for a fax located on the CC
qol: added centcom stamps to centcom
/:cl

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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. -->

* More food effects (#84889)

## About The Pull Request

In #77887 I have introduced a food buff system with placeholder buffs to
not bloat that PR with balance-related things to allow people to add
their own effects and discuss the particular effects in separate PRs.

The goal is to have:

- Some default buffs for all food. Currently there's only Haste that
scales with food complexity.
- Some interesting buffs tied to food categories or specific dishes

This PR is a first part of this change.

- Adding an indicator to Cooking UI that food does something special
- Added **Spaghetti Carbonara** dish that gives Italian speech.

![image](https://github.com/user-attachments/assets/2035a97a-6048-4636-bd49-d1ea3390a50e)

- Added **Jupiter Cup Cake** that gives shock immunity instead of it
being randomly given by high-complexity dishes.

![image](https://github.com/user-attachments/assets/3260339d-0167-4840-9b76-10371959e16c)

- Made **Omelette Du Fromage** give French speech.
- Made **Mime Tart** give Mute trait
- Made **Clown Cake** give Waddle Walk trait
- Made **Stuffed Legion** give Ashstorm Immune trait

## Why It's Good For The Game

Foodening PR was incomplete, this PR is a step towards the completion.

## TODO

- [X] Pick a certain dish to give the French speech
- [X] Pick a certain pasta to give the Italian speech
- [X] Pick a certain dish for the shock immunity buff
- [x] Add an indicator to the cooking UI that a dish has a special
effect
- [x] Add more food effects per suggestions

## Changelog

:cl:
qol: Dishes with a special food effect are marked in the Cooking UI
add: New Spaghetti Carbonara dish that makes people Italian temporarily
add: Omelette Du Fromage makes people French temporarily
add: Shock Immunity is no longer a random level 4-5 food buff, but a
buff given by a new Jupiter-Cup-Cake
add: Mime Tart gives Mute trait
add: Clown Cake gives Waddle Walk trait
add: Stuffed Legion gives Ashstorm Immune trait
/:cl:

* Abductors can no longer be converted by conversion antags (#84766)

## About The Pull Request

Basically what the title says. Abductors cannot be converted by
bloodbrother/revs/cult. They will NOT show up as having a mindshield,
however.
## Why It's Good For The Game

Abductors are, by design, incredibly strong. You are not meant to be
able to win against them, and this is reflected policy-wise by the fact
that they're a restricted antagonist. However, this is still a problem
when conversion antags get involved. If an abductor becomes a cultist or
a revolutionary, then suddenly every other player who isn't also
converted has to deal with an abductor without the normal restrictions.
It's not fun to play against and in general just shouldn't happen.
## Changelog
:cl:
balance: Abductors (the antag, not the species) can no longer be
converted by any antagonist.
/:cl:

* Gives Janitor ERT no slips (#85607)

## About The Pull Request

Gives janitor ERT no slips instead of a clamp

## Why It's Good For The Game

Quite silly for the top of the top janitors from NT losing in a slip
battle with the regular station janny. I'm pretty sure no slip modules
weren't a thing when the ERT modsuits were made

## 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:
qol: Nanotrasen has fitted the Janitorial Emergency Response Team with
equipment better suited for the job.
/:cl:

* Adds cargo gorka internals (#85618)

## About The Pull Request

Allows small internals and a few other cargo related items for the Cargo
Gorka suit slot.
Extra items are dest_tagger, and boxcutter.
## Why It's Good For The Game

Literally every other suit I’ve seen allows emergency/plasmaman
internals, also the Gorka only supports 3 items which is really low
compared to hazard vests or jackets. Not adding radios or flashlight as
they are covered with the hazard vest which techs can buy, makes Gorka
more suited to use in department work rather than maints.
Alternatively could make the Gorka a jacket subtype similar to Qm's.

## Changelog

:cl:
qol: Cargo Gorka suit slot now allows emergency/plasmaman internals.

/:cl:

* Allows AI players to operate the Boulder Retrival Matrix (BRM) machine (#85619)

## About The Pull Request

This change allows AI Sillicon players to use the BRM - 6 months ago
this PR did a refactor https://github.com/tgstation/tgstation/pull/81358
- Whilst it added the ability for Cyborgs to interact with it - Nothing
was added for AI. This PR just corrects that and changes nothing else.

![image](https://github.com/user-attachments/assets/b5b8aa51-d5c1-4c41-8bac-32a925b6d862)
**The addition of the below matching attack_robot with identical
functions depending on left or right click**
`/obj/machinery/brm/attack_ai(mob/user)`
`/obj/machinery/brm/attack_ai_secondary(mob/user, list/modifiers)`
## Why It's Good For The Game

On many low pop scenarios with AI players, It allows them to begin
generating basic resources (Iron and Glass) for the station. Gives AI
players another task they can do to assist the crew and adds to the
value of an AI even in low pop.

I believe the original PR from six months ago meant to include AI but it
was an oversight, this PR corrects that oversight.
## Changelog
:cl:
fix: AI Players can now operate the BRM (Boulder Retrival Matrix)
/:cl:

* Fix first tab selection on ore redemption machine (#85608)

## About The Pull Request
`1` is never going to select the first tab as `1 === 'material'` is
always false.
To test this PR, spawn the `/obj/machinery/mineral/ore_redemption` atom.
Upon opening the interface the first tab is now selected.

## Why It's Good For The Game
Less bugs!

## Changelog
:cl:
fix: The first tab is now selected with ore redemption machines when
opened for the first time
/:cl:

* Circuit components can now be recycles in circuit printers, and automatically do so upon being removed if a circuit has a linked printer (#85648)

## About The Pull Request

Added support for remote material insertion type whitelists and utilized
it to allow circuit printers to recycle components. Removing a component
from UI while the circuit has a linked printer will automatically
recycle it.

Also fixed a rogue space appearing when recycling a single item

## Why It's Good For The Game

You literally cannot do anything with components you remove/do not need
anymore so usually they end up littering circuit lab's floors. This
should make developing circuits slightly less annoying.

## Changelog
:cl:
qol: Circuit components can now be recycles in circuit printers, and
automatically do so upon being removed if a circuit has a linked printer
spellcheck: Recycling a single item no longer outputs a line with a
rogue space infront of it
/:cl:

* Automatic changelog for PR #85249 [ci skip]

* Automatic changelog for PR #85236 [ci skip]

* Automatic changelog for PR #84910 [ci skip]

* Moves more species traits to bodyparts +bugfixes (#85692)

## About The Pull Request
I've retaken up the crusade to make species specific features modular,
with the end goal of being able to essentially ship of thesis a person
without causing any strangeness (eg, currently if you take an abductor
and replace every body part and organ with a human one including the
brain they still don't need to breath.) To make that a reality we will
need to develop a few more robust tools but here are some easy fixes for
right now.

Changes are:
lizard:
TRAIT_TACKLING_TAILED_DEFENDER -> moved to Lizard Brain
monkey:
TRAIT_GUN_NATURAL -> moved to Primate Brain
Ethereal:
TRAIT_NO_UNDERWEAR -> moved to chest
TRAIT_FIXED_HAIRCOLOR -> removed (had no implementation)
TRAIT_TENACIOUS (illustrious) -> Not functional, fixed by making it an
element that the brain applies
Moth:
TRAIT_TACKLING_WINGED_ATTACKER -> moved to chest
TRAIT_ANTENNAE -> moved to head
## Why It's Good For The Game
Makes sense. More fun for mad scientist types/limbscambler
## Changelog
:cl: itseasytosee
fix: illustrious ethereals now properly get the tenacious trait
code: more species features have been moved to their individual body
parts.
/:cl:
# Conflicts:
#	code/modules/mob/living/carbon/human/species_types/ethereal.dm

* Automatic changelog for PR #84766 [ci skip]

* Automatic changelog for PR #85607 [ci skip]

* Fixed being able to activate BCI actions whilst not conscious (#85544)

## About The Pull Request
As the title says

## Why It's Good For The Game
Shouldn't be able to activate these whilst unconscious, or stall
activation to activate at a convenient time whilst unconsious.

## Changelog
:cl:
fix: Fixed activating specific BCI actions whilst unconsious
/:cl:

---------

Co-authored-by: Watermelon914 <[email protected]>

* Automatic changelog for PR #85618 [ci skip]

* Automatic changelog for PR #85619 [ci skip]

* Automatic changelog for PR #85608 [ci skip]

* ERTs no longer humanize plasmamen (#85631)

## About The Pull Request

This one's a bit complex, stay with me here.

So, the ERT system has support for enforcing all ERT members to be
human, or if they will be spawned as their selected species.

![image](https://github.com/user-attachments/assets/14aeaabc-ac47-44dd-811d-a25525d926ea)

This addresses plasmamen by including plasmamen outfits that are
equipped prior to the actual outfit they're given, added in #56987.

![image](https://github.com/user-attachments/assets/2b3192f9-2aa7-48eb-8ce3-ff58fa0883e8)

Despite this support, plasmamen never spawn as plasmamen, as they are
missing the `ERT_SPAWN` changeflag. This is because as the body is
created, the ERT spawning system human-ifies them to prevent them from
exploding. This system existed in place prior to #56987, but it didn't
work.

![image](https://github.com/user-attachments/assets/6b803c80-ded6-48d6-94a6-781efda89642)

Fortunately(?) #58870 fixed it, but in doing so nullified the work done
in #56987 as plasmamen could no longer be plasmamen when the
`plasmaman_outfit` check was reached. They had already become human.

If this reads a bit weirdly its because this was originally just going
to be an issue report. I finished writing it and decided "well why not
just fix it instead dorkus".

![image](https://github.com/user-attachments/assets/dd4b74af-b89e-4ecf-8bb4-0d3199a52649)
## Why It's Good For The Game

Fixes a problem caused by, ironically, a logic fix.
## Changelog
:cl: Rhials
fix: Centcom ERT hiring standards have been expanded to include
plasmamen, again.
/:cl:

* replaces the unusable energy cannon in mystery boxes to the new smartgun (#85529)

## About The Pull Request

see title
## Why It's Good For The Game

It's been a really long time since anyone other than a turret could
shoot the energy cannon (free tasers for everyone!!) so it's an entirely
useless weapon roll. I'm replacing it with the new smartgun because the
smartgun is cool and more importantly you can actually shoot it.
## Changelog
:cl:
add: The new smartgun has replaced the unusable energy cannon in mystery
boxes
/:cl:

* Fixed Creatures not being able to use non-jaunt actions when seen (#85525)

## About The Pull Request

Closes #85500
you can now specify what types of actions are affected, not sure if I
should make this a typecache instead tbh

## Changelog
:cl:
fix: Fixed Creatures not being able to use non-jaunt actions when seen
/:cl:

* Hydraulic clamps can force doors open again (#85514)

## About The Pull Request

What the title says. This behavior seems to have been removed by
accident in a previous PR, so I just put it back. Fixes #85506
## Why It's Good For The Game

Bugs are bad.
## Changelog
:cl:
fix: Hydraulic clamps (the mech tool) can force powered doors open
again.
/:cl:

* Chameleon gun counts as harmless and can be fired by pacifists (#85520)

## About The Pull Request

Closes #85496

## Changelog
:cl:
fix: Chameleon gun counts as harmless and can be fired by pacifists
/:cl:

* Magicarps no longer fire their projectiles while out of combat mode (#85521)

## About The Pull Request

Closes #85504
Not a bug but you could do a lot of unintentional friendly fire

## Changelog
:cl:
qol: Magicarps no longer fire their projectiles while out of combat mode
/:cl:

* Integrated circuit modules now can be linked to component printers (#85519)

## About The Pull Request
Title. They've been missing quick component addition functionality due
to an oversight and were rather annoying to use.

## Why It's Good For The Game

Simple QOL, you no longer need to add every piece manually and can
develop circuits as actually intended (fully from their UI, as you can
do with primary circuits themselves)

## Changelog
:cl:
qol: Integrated circuit modules now can be linked to component printers
/:cl:

* fixes monkey telekinesis (#85513)

## About The Pull Request
fixes monkey ai hitting u from a distance with unloaded guns

## Why It's Good For The Game
fixes monkey ai hitting u from a distance with unloaded guns

## Changelog
:cl:
fix: fixes monkey ai hitting u from a distance with unloaded guns
/:cl:

* Void storm now updates mob health (#85498)

## About The Pull Request

it didnt before due to need_mob_update not being assigned to
how many of these even are there

## Changelog
:cl:
fix: Void storm now updates mob health
/:cl:

* Durathread bundles and sinew make their proper noises instead of metal clang sounds. (#85485)

## About The Pull Request

Adds cloth noises to durathread bundles and meat noises to sinew strands
to stop them from making metal clang noises.

## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/85433, fixes
https://github.com/tgstation/tgstation/issues/85503

## Changelog

:cl:
fix: Raw durathread bundles and sinew strands no longer make metal clang
sounds.
/:cl:

* Fixes the missing voidwalker glass eater objective message (#85494)

## About The Pull Request

This makes the "Man I fucking love glass." voidwalker meme objective
line actually show up now. Rather than being appended to the end of your
objective, it can roll as its own objective line at a 5% chance.
## Why It's Good For The Game

It's funny, and wasn't meant to be inaccessible in the first place.
## Changelog
:cl: Rhials
grammar: The "man I love glass" voidwalker message can show up in your
objectives now.
/:cl:

* Supermatter bioscrambler anomalies are docile (#85552)

## About The Pull Request

Supermatter bioscrambler anomalies are now docile.

## Why It's Good For The Game

It is extremely frustrating for you to be trying to handle the usual
crises caused by a round chaotic enough to have an anomalous SM while
two bioscramblers are orbiting around you in the brig or god knows
where. I don't know, I just don't think this is worth keeping.
Mantainers can decide one way or the other.

## Changelog

:cl:
balance: Supermatter bioscrambler anomalies are now docile.
/:cl:

* Adds a copy of the famous 1995 musical "Space Station 13: The Musical" to contraband of the autodrobe (#85724)

## About The Pull Request

Adds a copy of the famous 1995 musical "Space Station 13: The Musical"
to contraband of the autodrobe

It's a "skillchip" that forces you to sing while implanted and active

(these messages were typed normally)

![image](https://github.com/user-attachments/assets/127a4418-0863-41c1-91ba-adc21438ca9b)

![image](https://github.com/user-attachments/assets/a9da1c4f-1337-4f76-93ac-82922fe153b9)

![image](https://github.com/user-attachments/assets/b5da247a-b8c4-48f9-8a8b-41dcbfc63ca0)

## Why It's Good For The Game

Makes it easier for entertainers to put on their own version of that
historic musical

## Changelog

:cl: Melbert
add: Adds a copy of the famous 1995 musical "Space Station 13: The
Musical" to contraband of the autodrobe
/:cl:

* Breathing sounds remake (#85735)

## About The Pull Request
Sounds made by me and edited by Beeblie
- reduced volume of the looping sound from 12 to 7
- removed previous breathing sound
- added 8 variants of breathing
- put more time between the sounds in the loop
- enabled vary

https://github.com/user-attachments/assets/60e5c034-5656-49a9-8bd7-8390ac97e6ac

## Why It's Good For The Game
Previously there was only one sound which very quickly got repetetive,
having 8 different sounds (even if they're largely similar) should help
cut down on the ear fatigue.
## Changelog
:cl: grungussuss and Beeblie
sound: internals breathing sound has received more variance and had its
volume reduced
/:cl:

* Clarify what the Medical Cyborg Omnitool Upgrade does (#85729)

## About The Pull Request
Changed the text of the medical cyborg omnitool upgrade to specify it
increases surgery speed, and adds the advanced scanner.

## Why It's Good For The Game
I had a hard time figuring what this upgrade does. This should make it
clearer for everyone why it is good, given it has not much visual
feedback.

## Changelog
:cl:
qol: Clarified what the Medical Cyborg Omnitool Upgrade does
/:cl:

* Splits the slowdown between the space helmet and the space suit (#85704)

## About The Pull Request
As the title says. Instead of space suits providing all of the slowdown,
it provides half of the slowdown and the other half is given to the
space helmet as slowdown too.

Closes #85702

## Why It's Good For The Game
By splitting the slowdown cost between the two components that make a
traditional space suit, players will no longer gain pepperspray immunity
with no downside.

This also does provide the benefit of moving a bit faster if you aren't
wearing a bulky space suit helmet and I think it does just add to the
immersion a lot more if it were the two components of the space suit
that slowed you down together rather than one or the other.

## Changelog
:cl:
balance: Space suits no longer provide all of the slowdown when wearing
space gear. Helmets now share the burden and you can now move faster
when wearing only a space suit. Helmets now provide a bit of slowdown
when worn alone as a result.
/:cl:

---------

Co-authored-by: Watermelon914 <[email protected]>

* Reduced caltrop default paralyze timer from 6 to 2 (#85660)

## About The Pull Request

Reduced caltrop default paralyze timer from 6 to 2. In practice, this
means glass shards, broken glasses, etc.

## Why It's Good For The Game

As time goes on, the game has sped up. stuns are smaller, attacks are
more volatile, the pace has generally gone up. Six seconds for stepping
on some broken shards is, frankly, rather ridiculous in 2024 /tg/. It
made more sense in the past, but I think it's time to reduce it. Two
seconds is plenty of time in an active situation to get screwed over for
being weird and not having shoes, six is overkill and just frustrating
when you lose a leg.

## Changelog

:cl:
balance: Reduced caltrop default paralyze timer from 6 to 2
/:cl:

* turf reservations may set whether they should override baseturfs, off for deathmatch (#85752)

## About The Pull Request

uhh laymans terms; break wall, turf under wall not space now plating

turf reservations may set to not override baseturfs with turf_type,
created a subtype with that set, and deathmatch templates use this for
default

essentially for whoever wants to build a deathmatch map:
set turf_reservation_type (on the template) to
1. **(default)** /datum/turf_reservation/turf_not_baseturf - preserves
baseturfs of what you map in, eg. plating under normal flooring and
space under that plating, etc. Turf used to fill in the template is
still space
2. /datum/turf_reservation/indestructible_plating - fills in the noop
spots before loading with indestructible plating, and also is the
baseturf for everything there, so break any turf = indestructible
plating (you may still map in space)

## Why It's Good For The Game
makes sense for normal walls in deathmatch to not break into space
immediately and that allows more destructible deathmatch maps
i encourage whoever makes new maps to include non indestructible turfs

## Changelog
:cl:
fix: breaking certain terrain in deathmatch doesnt instantly breach to
space
/:cl:

* Heretic sacrifice area no longer modifies global ambience lists (#85592)

## About The Pull Request

Since it +=d a new sound it ended up modifying a global ambience list,
applying the sound to 5 other lists (5 areas had this behavior)

Equating it to a new list created by summing up the old one and the
sound should fix this behavior

## Changelog
:cl:
fix: Heretic sacrifice area no longer modifies global ambience lists
/:cl:

* Soulscythe now deletes the soul mob when destroyed (#85580)

<!-- 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

Mob remains alive when it is metalgenned into glass and then shattered
currently, here's a preview of what it causes

![image](https://github.com/user-attachments/assets/8d6671dd-1b77-4f0c-a263-31a84f8791f0)

Reported on discord

## 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 its 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:
fix: Soulscythe now deletes the soul mob when destroyed
/:cl:

<!-- Both :cl:'s are required for the changelog to work! You can put
your name to the right of the first :cl: 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…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: DMAPI Communication between TGS and DM Feature New functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant