Commit Graph

62599 Commits

Author SHA1 Message Date
MrMelbert 3450f8ba1e Lizard frills are hidden by HIDEHAIR rather than HIDEEARS / Lizard frills are masked like hair by hats (#95986) 2026-05-09 13:23:48 +02:00
Leland Kemble 925b515fdf Decouples syndicate monkey from traitor pref, also makes rolebanning work (#95953) 2026-05-09 13:22:48 +02:00
MrMelbert 40a55054c0 Ghostrole on revive death examine tweak (#95862) 2026-05-09 13:21:49 +02:00
1393F 6a31b3dc86 Fixes rotating the crystallizer (#95988)
## About The Pull Request
broken by #95408
## Why It's Good For The Game
## Changelog
🆑
fix: The crystallizer can be rotated once again, on left click
/🆑
2026-05-09 10:31:23 +02:00
FalloutFalcon 6266da1c77 Drying rack wont process or accept dried items (#95997)
## About The Pull Request
All items im aware of only care amout the dried signal once, in which it
applies dried, then it does nothing new.
This changes it so it wont accept, process, or otherwise consider valid
"completed"/dried items

I considered just removing the element in whole, but i realized that
would have an effect on the ciggie rolling recipes which check for
specificly `TRAIT_DRYABLE` which is added and removed by whether it has
said element. Im also not sure how weird the practice or `RemoveElement`
yourself inside an element is.
But this would be my alternative if anyone has any thoughts.
<img width="853" height="239" alt="image"
src="https://github.com/user-attachments/assets/4d3803ff-2248-48d8-8c60-f8abac8647e6"
/>
<img width="747" height="85" alt="image"
src="https://github.com/user-attachments/assets/396b06cb-d8a8-4318-853f-fe9d90050346"
/>
## Why It's Good For The Game
prob dont need to waste effort or allow someone to reinsert a dried
item.

It also means we can have logic for if the drying rack has processed all
of its contents. ([evil downstream
pr](https://github.com/DarkPack13/SecondCity/pull/1028) where i added a
filled-dried icon state)
## Changelog
🆑
fix: Drying rack no longer accepts or processes dried items
/🆑
2026-05-09 10:27:11 +02:00
John Willard 51642eb9f3 Fixes a bad balloon alert (#95995)
## About The Pull Request

I merged a PR and only after noticed it had a bad balloon alert, I'm
going back really quick to fix that.

## Why It's Good For The Game



## Changelog

Nothing player-facing as it hasn't even hit live yet.
2026-05-09 10:23:55 +02:00
explosivekitty 0afe97837f Let's you paint items in loadout and spray can coloring modes (#5508)
## About The Pull Request
Adds new options for spray can that let you paint items without actually
making them washable with water, you also get an option to remove
permanent coloring just like prismatic gray extract does.
You also can now paint non-greyscale items from loadout so you don't
need to take spray can and use it after you spawn.

I ran into an issue where after recoloring your item in loadout caused
runtimes so i had to make it such there is no preview for colored items
in loadout, but if you wanted to help to fix it i left a comment where
(i think) additional checks should be added- It shouldn't be a big deal
anyway, you most likely already know what color you want for your items
and if not just check it on station and then update your loadout
accordingly
## Why It's Good For The Game
We all hate it when you get sprayed with water and all of your custom
colored clothing turns back to how it was initially.
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>
<img width="396" height="219" alt="loadout1"
src="https://github.com/user-attachments/assets/f4f29085-d8ae-49e6-8f04-c327777922a1"
/>
<img width="382" height="236" alt="spraycan"
src="https://github.com/user-attachments/assets/a6bdf733-41cc-4dea-9569-0664613bb277"
/>
<img width="146" height="143" alt="yes its actually doesnt wash"
src="https://github.com/user-attachments/assets/1904a22c-b0c1-4f8f-b507-9c2824802021"
/>

</details>

## Changelog
🆑
add: You can now repaint non-greyscale items in loadout the same way
spraycan does
add: Spray cans can color items in such a way water cant remove the
paint, and also remove permanent paint
/🆑

---------

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Roxy <94389951+SapphoQueer@users.noreply.github.com>
Co-authored-by: buffyuwu <buffyvrc@gmail.com>
2026-05-09 06:39:23 +02:00
Vanilla1040 eb5ccb7bda Makes the veteran cloak less straining on the eyes (#5529)
## About The Pull Request

This PR is simply to make the Veteran cloak, aka the cloak you get for
having 5000 hours playtime (living) less straining on the eyes for the
person having it and the people seeing it with it being less flashy and
less just one solid color giving it texture from all observeable sides

## Why It's Good For The Game

Less flashy lights on screen = good

## Proof Of Testing

Works on my machine


https://github.com/user-attachments/assets/fdf4666f-a018-401c-9b3d-f84c1e0c0444

## Changelog

🆑
image: Makes the veteran alot less straining on the eyes and gives it
more texture
/🆑
2026-05-09 05:43:36 +02:00
Leland Kemble 250f6e5115 SyndEye PDA app tracking successfully tracks (#96007)
## About The Pull Request

Inversion on early return, tracks only if the target isn't on cams. 

## Why It's Good For The Game

fixes #95935

## Changelog
🆑

fix: SyndEye PDA app tracking tracks successfully

/🆑
2026-05-08 21:59:04 -04:00
MrMelbert 1945df3929 Spacers are slightly taller again (Reverts "Reverts Makes Spacers Taller") (#95956) 2026-05-09 11:47:23 +10:00
SmArtKar 119c1e9ccc Adds a priority targeting framework, and priority targeting to mining mobs (#95720)
## About The Pull Request

Introduces a new targeting priority strategy system for basicmob AIs,
which allows controllers to decide which mob to prioritize over others.

Mining mobs will now focus on the NODE drone unless hit, and will pursue
the attacker for 25 seconds before dropping the aggro. They also get
increased aggro if you've attacked other mobs in their view recently,
and after a few hits will have enough aggro to swap to you from the NODE
drone. Ashwalkers get a reduction in aggro because they live there.
Legion broods and brimdemons will immediately target anyone who attacks
their allies rather than waiting for multiple hits. Broods also now
inherit their parent's targets and retaliation/reinforcements lists.


https://github.com/user-attachments/assets/6baaba8a-8b3c-4b2f-ae8b-842f0b1f2b6d

#### This is a bounty for ArcaneMusic

## Why It's Good For The Game

Makes vent defense mob behavior more predictable and easier for players
to manipulate, allowing them to draw aggro from the NODE drone should
make vents more engaging and less of an AI rng fest

## Changelog
🆑
add: Mining mobs now use priority when choosing their target,
prioritizing NODE drones over miners who haven't attacked them or their
allies
/🆑
2026-05-08 20:40:01 +01:00
Y0SH1M4S73R b9618d9cc3 [I ded] Xenomicrobes and Nanomachines are maintenance pill only (#96012)
## About The Pull Request

See title.

## Why It's Good For The Game

These reagents are far too disruptive to the round to allow to be
produced in the vast quantities and with the distribution vectors that
botany offers. The amounts of them that can be procured through natural
maintenance pill spawns and the silver-extract-exclusive food items
containing them is still acceptable.

## Changelog

🆑
balance: You can no longer get Xenomicrobes and Nanomachines from botany
mutations.
/🆑
2026-05-08 07:13:05 +02:00
TheRyeGuyWhoWillNowDie 42268e9b20 modernizes granibitaluri (#95850) 2026-05-08 00:40:34 -04:00
MrMelbert 746494b888 Always update hair and eyes on coverage change, use facial hair color (#95985) 2026-05-07 17:12:49 +02:00
SmArtKar 940d91bb62 [MDB IGNORE] Adds new features and tiles for lavaland biomes (#95955)
## About The Pull Request

Adds new floor types and natural decor to both Siderite and Shale
biomes, as well as makes flora and fauna spawns differ between said
biomes.

<img width="1216" height="997" alt="dreamseeker_uIv1OgVkpD"
src="https://github.com/user-attachments/assets/327d9caa-a58c-4d70-acbe-477da69b4d71"
/>

---

Basalt biome now spawns more legions and goliaths, but less watchers and
no brimdemons. You can rarely find new volcanic pore rocks which will
spew out lava when destroyed.

<img width="505" height="361" alt="dreamseeker_TA9rXzOgad"
src="https://github.com/user-attachments/assets/fb19a60a-c927-441b-abad-161ce5022a60"
/>


Siderite biome has a lot of rock formations and may sometimes spawn new
stalagmites. You can expect to see a ton of bileworms, raptors and
watchers there.


<img width="747" height="613" alt="dreamseeker_uZgRX8qqh3"
src="https://github.com/user-attachments/assets/d356f1c6-371a-4b8b-899b-470edb0d2790"
/>


Shale is full of lobstrocities, goldgrubs and brimdemons, and home to a
new glowgrowth "plant" - colony of bioluminescent fungi growing on
natural air vents.

<img width="274" height="220" alt="dreamseeker_EtxiS4X9M7"
src="https://github.com/user-attachments/assets/cbefba67-b618-4a65-ad12-9ee5182b650c"
/>


While it cannot be planted by itself, it contains luminescent fluid
inside which will grant whoever eats it minor night vision as long as it
is inside their bloodstream (as well as cyan-glowing eyes)

---

Ruins now properly respect their biome's rock (and now floor as well)
type, since it was broken for some of them previously.

<details>
<summary>More images under the dropdown</summary>

<img width="1216" height="997" alt="dreamseeker_fpXXV0Rt3D"
src="https://github.com/user-attachments/assets/fa790ca1-7045-490e-bcb2-c1f9da9f277c"
/>
<img width="414" height="303" alt="dreamseeker_l6E8S2fzCe"
src="https://github.com/user-attachments/assets/8b10dcca-c546-41ce-9363-a12b0f225881"
/>
<img width="784" height="587" alt="dreamseeker_RUWQo0unNp"
src="https://github.com/user-attachments/assets/d7364abc-ec68-4daf-b3cb-a03b8ba7e5de"
/>
<img width="1216" height="997" alt="dreamseeker_zoltABvkBw"
src="https://github.com/user-attachments/assets/324f50f8-83c9-4451-8eff-33ebf81c1d0d"
/>
<img width="1125" height="571" alt="dreamseeker_ky5qvl2XtC"
src="https://github.com/user-attachments/assets/ff08d22f-fc15-4961-b76e-7c10d7814096"
/>

</details>

Credit for original versions of new flora/feature sprites to
SentryPrimis on the /tg/station discord

## Why It's Good For The Game

Makes biomes more distinct and interesting, as well as gives them unique
atmosphere, since right now they only differ in rock type and mineral
distribution.

## Changelog
🆑 SmArtKar, SentryPrimis
add: Siderite and Shale lavaland biomes now have unique floors, as well
as flora, features and fauna!
fix: Fixed some ruins generating with default basalt walls instead of
their biome's walls
/🆑
2026-05-07 10:20:43 +01:00
ArcaneMusic 283fdd5290 Adds the E-2 Earthcracker, a traitor tool for premeditated sabotage. (#95731)
## About The Pull Request

Adds a new traitor item, the E-2 Earthcracker. The Earthcracker is a
handheld sabotage device that you can deploy onto the ground in order to
deliberately create a weakpoint on that location.

As a recap, weakpoints can be exploited with a sufficiently large enough
explosive in order to create a chain of cracked turfs from it's
location, randomly breaking floors and walls, as well as attempting to
create new weakpoints that will allow for more of the hull to break
down. Weakpoints, if discovered, can be welded to taped up to repair
them using sticky tape.

The earthcracker creates a longer, and larger weakpoint than the kind
that spawn naturally. However, to use this subtly, you'll need to hide
the weakpoint created, as well as clear away the spent earthcracker by
using a wrench.

Practical use is: Get the earthcracker, use in hand to arm/anchor onto a
turf (Can be unwrenched at this point), activate with an empty hand to
begin the cracking process, then wrench away, and you have a well
hidden, high power sabotage device.

Two variants are available in-game: The E-2 Earthcracker which can be
obtained from the traitor uplink at 2TC each, and the E-1 Earthcracker
which can be purchased on the black market. The E-1 variant spawns
normal run-of-the-mill weakpoints as opposed to the E-2, with a 30%
availability from the back market, at a cost of 200-600 credits.


![earthcraking](https://github.com/user-attachments/assets/0ab3a5af-f6c3-4096-b59a-7a1b44a01700)


## Why It's Good For The Game

I'll be frank, I don't think we necessarily need *more* tools to cause
havoc, but I wanted to expand the weakpoint framework a bit and this
idea came to mind. The Earthcracker fits in the same category as C4, but
without a signifigant amount of the control that comes from C4 and
absolutely from X4. This stands to cause more damage across the hull,
with the ability to keep expanding the crack. For that reason, I think I
may have underpriced this in terms of TC, but I'm up for discussion on
if it needs to go up to a 3-5 range.

In an ideal world, this could be used for making booby traps, such as
planting an earthcracker in an area like escape or a larger department,
and then triggering the weakpoint when the right people are around, even
through something like a detomatrix or a trigger on a grenade.

As an added reminder, weakpoints have a dedicated method to repair them
if discovered, that being welding them or hitting them with sticky tape
to repair them quickly, offering some counterplay.

I also added a lighter variant onto the black market as a fun, dubious
thing to have on the black market.

## Changelog
🆑
add: Adds the E-2 Earthcracker device as a purchasable traitor item for
2 TC. Use it to create potentially devastating weakpoints onto the
station!
/🆑
2026-05-07 06:13:55 +02:00
Leland Kemble 17f6533531 Animated wand of animation works and animated wand of animation animating a wand of animation works (#95982)
## About The Pull Request

Fix 1: argument 4 on a new mimic is delete parent, not not having googly
eyes, so the issue there is clear

fix 2: `remove_thing_from_blackboard_key()` had no handling for the list
not yet being up, so it crashes thinking it's been called where
`clear_blackboard_key()` should've been.

fix 3: same as 1 but on wand of nothing, replaced copypaste with just
calling the function

## Why It's Good For The Game

fixes #95981
fixes an animated wand of animation animating a wand of animation
runtiming
Also the same problem with the wand of nothing

## Changelog
🆑

fix: animating a wand of animation works, and that animated wand of
animation animating a wand of animation does not runtime

/🆑
2026-05-06 12:30:42 +01:00
Hatterhat bb477c9dbd Admins can now varedit blobs to not instantly end the round on victory (#95878)
## About The Pull Request
Originally this PR was just supposed to split blob's "start victory"
thing into its own proc and add an extra check that could be overridden,
both for downstreams because a friend asked, but then I thought
"wouldn't it be funny if you could varedit a blob to not end the round
on critical mass?" so now we're here.

Anyways, it's about what it says on the tin. Blobs now have a variable,
`end_round_on_victory`, which defaults to TRUE (preserving current
behavior). Setting it to 0/FALSE:
- Makes the blob no longer gain infinite points upon reaching critical
mass
- Makes it announce an "emergency containment activation" instead of
killing everyone if it does hit critical mass
- Prevents the blob from expanding over the blob victory count (400 by
default).
- ...basically does nothing else. (You're still going to have to
manually remove the blob from SSshuttle's hostile environments list!)

## Why It's Good For The Game

Maybe you want to jumpscare the station with a giant fight they have to
take but then not actually kill them in the sake they don't actually
win. You could make an event out of this (said in the same cadence as
"You could make a religion out of this"), probably.

## Changelog

🆑
admin: Admins can now varedit blob overminds (the eye mob) to not kill
everyone on the station if they hit critical mass. (Admins will still
have to remove the blob from the shuttle subsystem's "hostile
environments" tracker, though.)
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2026-05-05 23:12:50 -04:00
Bloop faaa1f1516 Ghosts now have (better) runechat (#95843)
## About The Pull Request

Ports our optimizations to the version of ghost runechat introduced by
https://github.com/tgstation/tgstation/pull/95223

Instead of looping through all the mobs a second time it will do it in
deadchat_broadcast(). Also adds a global for if drunechat is
enabled/disabled and an admin verb for toggling it on or off.

<details><summary>still works</summary>

<img width="330" height="220" alt="dreamseeker_kkNBPBjbMv"
src="https://github.com/user-attachments/assets/4706ad98-fafe-4f88-9de0-6b72983ab044"
/>

</details>

## Why It's Good For The Game

Better option for performance

## Changelog

🆑
code: speeds ghost runechat up a bit, and makes it show as italic
admin: adds a 'toggle dead runechat' admin verb in case you need to
disable it midround for an event or something
/🆑
2026-05-05 14:54:04 -04:00
MrMelbert 21e4c7faac Adds an ingame holiday for Chernobyl Disaster Remembrance Day (#95900)
## About The Pull Request

April 26th is Chernobyl Disaster Remembrance Day

There are no colored tiles or posters associated, but it does have
station prefixes.
Also as an added effect, radiation storms are twice as likely to trigger
randomly, and multiple can trigger in one round.

## Why It's Good For The Game

Today is the 40th anniversary of the Chernobyl disaster and I feel it
would be somewhat fitting as an in game holiday given our game's
propensity to have reactor meltdowns

(and also the Space Soviet Union existed in the lore so I imagine they'd
carry the tradition out to the Spinward Sector)

## Changelog

🆑 Melbert
add: April 26th is Chernobyl Disaster Remembrance Day.
/🆑
2026-05-05 16:50:31 +02:00
MrMelbert 0d8e223e90 Adds some tier zero (penguin, plant) and a tier one (stoat) gene infusion (#95923) 2026-05-05 10:35:12 -04:00
Time-Green b9dfbcaca3 Adds more SeCrEt ChEmS (#95952) 2026-05-05 10:25:32 -04:00
Bloop b3770614c1 Makes invisimins actually invisible to regular ghosts, plus qol improvements (#95856) 2026-05-05 10:00:22 -04:00
MrMelbert cee225fecb Moves hair and eyes into standing overlays (#95781) 2026-05-04 22:50:36 +02:00
Y0SH1M4S73R 9e92c0aa3d Reverts "Merges ghosts into spirits & a rework", but removes ghosts from Pride's mirror. (#95779) 2026-05-04 16:37:11 -04:00
LT3 24a9759859 Cargo manifest stamp payment consistency (#95832) 2026-05-04 16:33:30 -04:00
SmArtKar ece35e83db Implements OverFlayer, VV dev tool for debugging appearances and images (#95852) 2026-05-04 12:19:35 +03:00
Bloop e6e0200edb Makes quirk points configs get loaded into vars on the subsystem, + a small biome fix (#95941) 2026-05-03 20:23:12 +02:00
Alexis d9a6b832ed Reverts 'Virosec' and Returns Redsec to Base /tg/ + Red Skyrat Security Gear (#5518)
## About The Pull Request
Does as the title suggests. This was voted on and approved unanimously
by maintainers.

**BLUE DONATOR ITEMS HAVE BEEN LEFT INTACT.**
## Why It's Good For The Game
A lot of players discussed discontent with 'virosec' and I feel this is
a solution that works.
## Proof Of Testing
I forgot to take screenshots, but it compiles, builds, and almost
everything is red.
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
add: Added back base /tg/ redsec along with red Skyrat clothing items.
del: Removed 'virosec'.
/🆑
2026-05-03 18:47:46 +02:00
Leland Kemble 75c3a91948 Blood bags are fully synthetic (#95920)
## About The Pull Request

Blood bags are composed of fully synthetic blood. This means that a
blood worm can no longer ride a crate of blood bags all the way to
adulthood, and must get real blood at least once to mature.

## Why It's Good For The Game

I have played blood worm thrice, at this point. Each time, I have
absolutely curb stomped because I simply eat blood packs without anyone
knowing, reproduce, eat blood packs without anyone knowing, reproduce,
eat blood packs without anyone knowing, and kill a bunch of people as an
adult because I still have the element of surprise ALONG WITH the
undisarmable infinite ammo laser gun & the undisarmable 4 hit melee. The
worm tide's already become more than all but the most well-staffed
security team can handle by the time that I've done anything at all that
could put me at risk, and it's become absurdly beyond control by the
time the crew presents a legitimate threat to me.

On all maps(excluding catwalk), there are 2-4 blood bag crates, all in
locations rarely visited. This means that on a given round you can count
on there being at LEAST enough completely undefended blood to reproduce
TWICE. That's your objective right there, and that's assuming you just
instantly reproduce upon becoming an adult and don't use your power to
harvest a few bodies.

The other team progression antags get away with being able to simply sit
in silence and grow uncontrollable because they have bases, and
identification. Xenos have to sit in their nest to protect their bodies,
so while they can just sit there and snowball without interacting with
people, when they are discovered, they don't get to simply run away, or
blend in to a crowd. Same with spiders. Blood worms have the benefit of
snowballing silently, but also can just skedaddle at standard run speed
without a care in the world. Thus, I don't think they should be able to
snowball silently, and blood packs are what is letting them do that.

## Changelog
🆑

balance: Blood from blood bags is fully synthetic

/🆑
2026-05-03 17:49:41 +02:00
MrMelbert e6457bb00f Remove asanythings from portent checks (#95958)
## About The Pull Request

Done in error

## Changelog

🆑 Melbert
fix: Fix some erroneous dream portents from showing up
/🆑
2026-05-03 11:17:20 +02:00
necromanceranne 7aa5fb5d06 Void cloaks do not block surgery while invisibile (#95804)
## About The Pull Request

fixes https://github.com/tgstation/tgstation/issues/95803

The void cloak and its hood do not obstruct body parts for things such
as surgery. I guess it also lets you shave a heretic while their hood is
on but that seems kind of funny.

## Why It's Good For The Game

A) This is going to result in a lot of complications due to the strip
menu obscuring that the void cloak has.

B) It also gets rid of some meta tells that you have the cloak. 

Honestly, I wonder if it would be better if this was a neck item and the
'hood' is just an abstraction, but that's kind of exiting the realm of a
fix at that point.

## Changelog
🆑
fix: Void cloaks no longer obstruct surgery while invisible.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2026-05-01 21:38:01 -04:00
Leland Kemble 03e185a566 Mjolnir successfully attacks only if it successfully attacks (#95921)
## About The Pull Request

When you call parent but don't care if the parent succeeded:

## Why It's Good For The Game

fixes #95887
2026-05-01 16:32:18 -05:00
TheRyeGuyWhoWillNowDie 8055b4c9da hyposprays can draw from containers (#95863)
## About The Pull Request

hyposprays can now draw from other containers like a syringe/beaker

## Why It's Good For The Game

reduce inventory juggling, make the hypospray slightly less annoying to
use vs a syringe

## Changelog
🆑
qol: hyposprays can now draw from other reagent containers
/🆑
2026-04-30 20:22:39 -05:00
necromanceranne 6904a2b68b Adds a more fitting Cybersun reinforcement outfit. And ABSOLUTELY NO ITEMS TO THE BLACK MARKET. (#95918)
## About The Pull Request

Adds an orange and black business outfit for Cybersun
employees/reinforcements.
<img width="86" height="102" alt="Screenshot 2026-04-29 204615"
src="https://github.com/user-attachments/assets/c8afb1c6-6172-4250-9077-67e418eb48f7"
/>
<img width="123" height="126" alt="Screenshot 2026-04-29 204650"
src="https://github.com/user-attachments/assets/8823d05c-0301-4bc7-af4d-d3d5337830e2"
/>


Definitely doesn't add an item to the black market. Nope. No changes at
all there. Don't look at the code.

## Why It's Good For The Game

Cybersun will slowly begin receiving some updates both visually and
narratively in the future. Here is but a small taste.

## Changelog
🆑
add: Gives the Cybersun reinforcement a new outfit.
add: No new items were added to the black market. None. Honest.
/🆑
2026-04-30 08:40:08 +02:00
Jacquerel 79db8d75de Update hierophant club sprite (#95924) 2026-04-30 00:35:58 -04:00
CabinetOnFire bd4f39a7c7 Fixes pet commands that required pointing (by fixing pointing) and fixes pets being unable to attack (#95910)
## About The Pull Request

This is a two-parter but they are part of the same journey; I was fixing
#95715 and noticed the commands didnt work, so I also fixed that #94689

The issue for #95715 was that pets did not have their damage set at all,
so they could not attack on combat mode. Dogs specifically circumvented
this by setting and reverting the damage during behavior, which is not
what ai behavior should do. Now those values are the same. I set it up
as 5 lower and upper by default on pets, but if I need to tweak that let
me know.

For #94689 the issue is that if pointed_at's loc is a turf, it would
override pointed_at to be the turf, so that it could pass the view()
check below. But by setting pointed_at everything after now uses that
for the logic, including the signals. Which means the logic often just
thought you were pointing at the floor. I've fixed this by assigning the
loc to a temp var and not changing pointed_at

## Why It's Good For The Game

Dog-mauling is back, this is a good thing.

## Changelog
🆑 dresseronfire
fix: You can now sic pets onto targets again
fix: Pointing at things no longer sometimes points at the wrong thing
/🆑
2026-04-29 23:25:21 +00:00
Leland Kemble e5a1cae7e8 Cables without power do not produce sparks when placed (#95908)
## About The Pull Request

Cables attempted to shock, and thus produced sparks, regardless of
whether they had any power in them.
Also, one letter vars.

## Why It's Good For The Game

Sparks from where

## Changelog
🆑

fix: Cables without power no longer produce sparks when placed

/🆑
2026-04-29 22:26:35 +01:00
CabinetOnFire 2ede6af8bc Fix basic mobs triggering click cooldown erroneously. (#95906)
## About The Pull Request

Basic Mobs used to always trigger cooldown on clicks. This resulted in
missed attacks causing you to have a delay before you could attack
again, this makes it really punishing to play as a basic mob.

To resolve this I did a mini-refactor on basic mob's attack chain to
allow for the return values to determine whether we go on cooldown or
not. Preventing attacks that did nothing (due to not passing checks, or
simply not having any behavior) from causing cooldown.

This fixes #95605

## Why It's Good For The Game

being able to perform melee with the same rules as /human is only fair

## Changelog

🆑 DresserOnFire
fix: Fixes a bug where player-controlled basic mobs would get a cooldown
when their attacks miss
refactor: basic mob attack chain can now decided whether an attack
resulted in a cooldown or not.
/🆑
2026-04-29 21:59:01 +01:00
Bloop 966d6547e8 Big tooltype decargo-culting (continued) (#95814)
## About The Pull Request

Gets some instances that I caught missed by
https://github.com/tgstation/tgstation/pull/95408
2026-04-29 12:19:00 -05:00
tmyqlfpir 901a1d4450 Add USB ports to emitters/temperature pumps/temperature machines (#95497)
## About The Pull Request

This PR adds USB functionality to temperature pumps, emitters and
temperature control unit machines.

<img width="1082" height="340" alt="working"
src="https://github.com/user-attachments/assets/25e40c17-33ab-4159-b431-b3ccbe83626d"
/>

### New USB Components

<img width="139" height="101" alt="emitter"
src="https://github.com/user-attachments/assets/66580351-6cca-4dfe-9de4-3813cf62678c"
/>

* Emitter
New exposed controls allow you to manually fire a single beam, and get
signals whenever it is toggled on/off/fired.
It doesn't allow a player to toggle it on/off (must be done physically).
ID locking the emitter will also lock out the ability to fire the
emitter via USB.

<img width="303" height="226" alt="temp pump"
src="https://github.com/user-attachments/assets/4d0e6758-d653-4ac1-a080-d8e31d64408d"
/>

* Temperature Pump
This works exactly the same as the other USB controlled pumps, with the
addition of setting the heat rate.

<img width="267" height="151" alt="temperature control"
src="https://github.com/user-attachments/assets/6fff5148-bd70-4a1c-9899-10c997279669"
/>

* Temperature Control Unit
The USB interface now allows this to be remotely turned off and on like
the other USB pump interfaces.

## Why It's Good For The Game

These three parts are crucial to engineering/atmos projects, and gives
experienced players more depth to toy with circuits.

## Changelog

🆑
add: Added USB interface to emitters, temperature pumps and temperature
control unit machines
/🆑
2026-04-29 16:52:55 +02:00
MrMelbert e4671b260a Soup doesn't yell at you when you drink it (#95913) 2026-04-29 06:45:50 +02:00
MrMelbert aae24b1ab2 Sect of the Dream God (#95643)
## About The Pull Request

Adds a new chaplain sect, the sect of the Dream God

This sect gains favor from dreaming and blessing dreamers. 

Their blessing only works on sleeping mobs - hitting a sleeping mob with
your bible will cause it to start dreaming, and if it's already
dreaming, grant favor. Either way, the mob is healed.

For 0 favor, you can **Banish Nightmare** - offering a Nightmare's
corpse rewards favor for banishing bad dreams. If the Nightmare has a
heart, you are rewarded with a special **Sacred Heart** which heals you
while dreaming and sleeping. You can also offer a Nightmare's heart on
its own without the body attached.

For 0 favor, you can **Deaconize Dreamers** - you can deaconize up to 3
dreamers.

For 50 favor, you can have a **Dream Portent** - This rite immediately
makes you fall asleep, and grants you a dream related to something going
on in the round. It may provide insight into something you otherwise
don't know about. If you take damage, the effect ends early.

<img width="374" height="126" alt="image"
src="https://github.com/user-attachments/assets/7c4e12fe-8456-411c-9d39-691e4ac2312d"
/>

For 100 favor, you can **Dream Projection** - this rite allows you to
pick one of your deacons, and forces you to become an imaginary friend
of that deacon. For the duration of the effect you are asleep. If you
are woken up or take damage, the effect ends. If the deacon dies, the
effect ends early.

<img width="492" height="294" alt="image"
src="https://github.com/user-attachments/assets/4e2f6810-15cd-41af-a69f-daa6ddca671a"
/>

For 200 favor, you can give you and your followers **Dream Protection**
- While sleeping and dreaming all damage taken is reduced.

For 200 favor, you can start a **Slumber Party** - All nearby mobs (who
can't block magic and some other asterisks) fall asleep and share a
dream. This form of sleep heals the mob rapidly (also heals holy people
even more).

## Why It's Good For The Game

A new sect for chaplains to sink their teeth into. This one brings a
unique niche, focused around sleeping and fortune telling.

## Changelog

🆑 Melbert
add: Adds the Sect of the Dream God, a new option for chaplains.
/🆑
2026-04-29 00:01:56 +01:00
levels0 a26004c66b Prevent Molt'Obeso sauce from being added to random recipes (#95883)
## About The Pull Request
It's a syndie reagent that can normally only be accessed from the uplink
## Why It's Good For The Game
## Changelog
🆑
fix: molt'obeso sauce will no longer appear as an ingredient in random
recipes
/🆑

Co-authored-by: l0 <-->
2026-04-28 13:09:14 +02:00
SmArtKar f07b003479 [NO GBP] Fixes plasma cutter recharging (#95885)
## About The Pull Request

Closes #95884 
Missed an ``!``

## Changelog
🆑
fix: Fixed plasma cutter recharging
/🆑
2026-04-28 13:08:44 +02:00
Bloop 50c2a2e6eb Fixes blue/green cat ears being switched (#95905)
## About The Pull Request

<img width="502" height="159" alt="Code_uPth7LpFwF"
src="https://github.com/user-attachments/assets/6e0c5f19-d115-4023-a9a3-8847ff4bec07"
/>

## Why It's Good For The Game

Helps the cats name the colors they obviously aren't able to see very
well!

## Changelog

🆑
fix: fixes blue and green cybernetic cat ears being switched
/🆑
2026-04-28 13:07:46 +02:00
levels0 d2f84512b5 [No GBP] Actually fix random recipes for real (#95895)
## About The Pull Request
Just the fix parts from #95892
Fixes #95876
## Why It's Good For The Game
## Changelog
🆑
fix: metalgen and secret sauce should now generate properly
/🆑

---------

Co-authored-by: l0 <-->
2026-04-27 18:23:15 +02:00
explosivekitty 9f9b7f5dba fix brain death when brain reaches max organ damage (#5495)
## About The Pull Request
Fixes the issue of not dying with 150 brain damage on surplus cybernetic
brain
## Why It's Good For The Game
Yeah you can't die from brain damage with surplus cybernetic brain
## Proof Of Testing
<details>
<summary>Screenshots/Videos</summary>

</details>

## Changelog
🆑
fix: You now die after reaching brain max damage with surplus cybernetic
brain
/🆑
2026-04-27 14:31:49 +02:00
Leland Kemble b5b6c25c7a Ninjas cannot place the spider bomb in places where it will not detonate (#95858) 2026-04-26 15:08:26 +02:00
John Willard 475fe94750 Say verb & skin shenanigans (Pray is a hotkey, Whisper is in commandbar) (#95477)
## About The Pull Request

Removes Say/Me/OOC/Pray/Whisper as stat panel verbs

1. Adds a hotkey for Pray, P by default, and also adds it to the list of
say modes (so tabbing on tgui-say will show it)
2. Makes Whisper a button on the commandbar, which is literally just
``say "#``, letting players know it exists in a more direct manner.
3. You now need 2 characters to be considered "typing", so `#` for
whisper won't cause you to start to think anymore.

Also messes around with the skin a bit, moving the commandbar to be
separate from the chat window, therefore not resizing if the chat
window/stat panel splitter changes, since I was already messing with the
command bar entirely I might as well look into getting this fixed. This
will go even better with
https://github.com/tgstation/tgstation/pull/95383 as it wont stretch the
command bar when the stat panel is closed.



https://github.com/user-attachments/assets/26cd9df0-7582-445e-9f67-c03d2c9cf46d


Also adds a new Adminhelp submenu for the Pray button for additional
visibility



https://github.com/user-attachments/assets/64f31f86-92a2-4f04-b248-6bbe301919fe


My current goal is the deletion of the IC tab so I've been trying to
inch towards that.

## Why It's Good For The Game

Moves Praying & Whispering into something that's more easily seen by
newer players, and helps cut some of the more useless verbs out of the
stat panel.

This is also part of my project you can see more of here -
https://hackmd.io/443_dE5lRWeEAp9bjGcKYw?view

## Changelog

🆑
qol: Pray verb is now a hotkey, Whisper is now a command bar button, and
all say verbs have been removed from the stat panel.
qol: Admin button on the escape menu is now its own section for praying,
as well as seeing your latest ticket & admin notes.
fix: Resizing the stat panel will no longer change the size of the
command bar.
/🆑
2026-04-26 07:20:58 +03:00