## 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
/🆑
## 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.
/🆑
## About The Pull Request
Removes Station-Time entirely
Server Time is now NST (Nanotrasen Standard Time). SS13 takes place
exactly 540 years in the future of the current day, so every second is 1
second in-game.
Round Time is now PT (Pay-Time), how Nanotrasen keeps track of how long
the current rotation of Employees has been working for.
Telecomms uses NST due to its importance of being the communication to
the blackbox.
Autopsy report, clocks, scientific reports and requisitions use both
timestamps due to them being more official documents that NT may need to
know beyond just the current round (just for flavortext).
Pretty much everything else (Det scanner, PDA, IC logs, Time-of-Death,
AI law changes, Cyborg file downloading) uses PT
PT
<img width="305" height="217" alt="image"
src="https://github.com/user-attachments/assets/cef73025-6292-4f9c-8565-197397bda2ca"
/>
<img width="168" height="59" alt="image"
src="https://github.com/user-attachments/assets/a99db568-045d-45fc-8206-0d9a7b13c7d2"
/>
<img width="308" height="122" alt="image"
src="https://github.com/user-attachments/assets/37ca6f17-8916-4af2-9c91-0f0707038ca5"
/>
https://github.com/user-attachments/assets/29445051-c98b-4af3-a657-812083aab91a
Clock (Literate)
<img width="748" height="292" alt="image"
src="https://github.com/user-attachments/assets/c824e812-91b5-4737-858d-768336e9a7c4"
/>
Clock (Illiterate)
<img width="446" height="94" alt="image"
src="https://github.com/user-attachments/assets/90d5ea0d-eaff-4ced-aa31-ffdf0b4832a5"
/>
New paperwork time working properly
<img width="311" height="190" alt="image"
src="https://github.com/user-attachments/assets/6d048926-db61-4c91-893b-ce93e1ea7775"
/>
NST
<img width="800" height="115" alt="image"
src="https://github.com/user-attachments/assets/35ffde49-13c1-4ce7-ab24-858e48b608bd"
/>
<img width="1288" height="142" alt="image"
src="https://github.com/user-attachments/assets/40c30d16-e0de-4efc-b460-9486eeb901d6"
/>
# Other changes
1. Circuit time checker will now get the value of the given input (Hour,
Minute, Second) rather than the full dedisecond time converted into
hour/minutes/seconds
<img width="270" height="67" alt="image"
src="https://github.com/user-attachments/assets/097440cc-1c45-447f-9976-18de7f9c722c"
/>
2. Turns nightshift into a round event that'll last approximately 22
minutes
3. 12-hour pref (doesn't apply to the stat panel because it's global
info) & removal of "TCT" time
<img width="569" height="440" alt="image"
src="https://github.com/user-attachments/assets/d39083b1-d248-41c0-9a1c-b2398ca203a7"
/>
4. The chocolate pudding negative moodlet is now based on the server's
IRL time.
5. Admins can now use ``class``, ``style`` and ``background`` (they were
already given perms to use ``img`` so hiding background, which was
removed to prevent image embedding, is pointless)
6. Also fixes ``year`` being off on localhost.
## Why It's Good For The Game
Server Time is approximately 1s = 12s converted, not including it
desyncing from lag (I believe?).
This makes it pretty much impossible for people to actually use this as
a unit of measurement for in-game actions.
Different things also uses different timestamps which is a bit more
confusing.
The main change here is for accessibility and, hopefully, using time as
a source of immersion. "20 minutes ago" is no longer OOC, they're just
speaking in PT. There's no timezones in space, Nanotrasen Standard Time
is the closest there is, but Pay Time is how NT considers when you get
your paychecks, so it's what is more commonly used.
It also fixes major inconsistencies between "IC time" and "Station
time", things like breakfast moodlet was the first 15mins of the round
despite the round starting like 7 hours in? Nukies with an L6 SAW firing
down the halls was shooting like 1 bullet every 3 seconds (assuming 4
bullets per second), overall there was just a disconnect between how
long time actually is in the universe.
The secondary reason for this change (though it is what pushed me to
actually get around to making this change) is the greater stat-panel
removal. This hopes to lessen the dependence on the stat panel for
station-time by making it easier to understand, and the end-goal I have
is for this information to be limited to Admins & the AI (AI will get
the IC version with the accurate year), so until that happens I would
like to improve the use of station-time by making it consistent (for
example, you should only care for PT for IC, which is also what your PDA
displays), so that when it gets removed it won't leave players timeless.
If you haven't already, and is interested in helping remove the stat
panel, every entry that needs to be removed can be found here -
https://hackmd.io/443_dE5lRWeEAp9bjGcKYw?view
Closes https://github.com/tgstation/tgstation/issues/94988
## Changelog
🆑
del: Removed Station Time, now we use NST (Nanotrasen Standard Time),
which is IRL server time +540 years, and PT (Pay Time), the amount of
time since the round has started.
del: Station nightshift is now a Station event rather than being based
on Server time.
balance: Time circuit's Unit of Measure now tells the amount of time in
hour/minute/seconds rather than giving the whole time translated to
hours/minutes/seconds.
qol: Added a 12-hour clock pref for people who prefer it.
qol: Hovering over NST timestamps on official documents will now
translate how much it is in PT/Shift Time.
admin: Admins can now use style/class/background in their papercode.
/🆑
---------
Co-authored-by: Isratosh <Isratosh@hotmail.com>
## About The Pull Request
locked records(admin-only records) now use the `gender` variable to keep
the mob's actual gender, not resorting to "Other". This means that
nonbinary people are once again capable of being respawned. As locked
records are admin-only, and used in few other locations, the gender
variable is only accessed by respawning code at the moment, and should
never be accessed in a player-facing manner, so it doesn't matter that
plural & neuter are in there.
## Why It's Good For The Game
fixes#95768
## Changelog
🆑
fix: Nonbinary people can respawn
/🆑
## About The Pull Request
Continuation of https://github.com/tgstation/tgstation/pull/78857
FOR TOOO LONG WE HAVE SUFF-
Ok yeah so like, we made them overlays to save on maptick, but with
threaded maptick that is potentially not an issue anymore.
I'm opening this pr so I can tm it and see. If it works, it'll save
about 50% of lighting object update costs, which is pretty damn good.
I'm also removing the fullbright light icon state, since it is barely
ever used (it was added as a clientside op, but we don't hit fullbright
very much at all so it does nothing but eat my cpu time)
Also also changing how SSlighting does its resolution. Rather then
waiting for all sources to process, then working on corners and objects,
instead we will do all the sources we had at the start, then all the
sources after, and so on.
The goal is to avoid churn causing the system to constantly choke. it is
better to potentially double operate then it is for things to feel
horrifically slow.
## Why It's Good For The Game
Faster. Also you won't be able to see lights through walls anymore, so
mesons will be less dumb. Can maybe bump their nightvision a bit idk
we'll see.
## Current Issues
to be found
## Changelog
🆑 Absolucy, LemonInTheDark
fix: You can no longer see lights through walls when using mesons or
when ventcrawling.
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
## About The Pull Request
Admins can disable ongoing or start meteor mode in the secrets menu
## Why It's Good For The Game
Only other way is doing it mid round is manually, which is wack
## Changelog
🆑 Melbert
admin: Adds toggle for meteor mode in secrets
/🆑
## About The Pull Request
The "Create Black Market Item" verb now needs an input so that it
doesn't try and crash the client.
The verb also has a few extra bits of cleanup. Successful completion of
the verb will now alert admins that it's been added to the market.
~~This also adds an additonal admin verb, "View Blackmarket", which will
allows you to view a blackmarket UI with all the currently loaded items.
(I HAVE YET TO MAKE THIS WORK WITH MY CURRENT STRATEGY, HENCE THIS PR
BEING A DRAFT).~~ Removed due to taking too long.
## Why It's Good For The Game
Better admin ui/ux, fewer ways to accidently crash your game from
viewing all `/obj`s in the game, and allows for more admin interaction
with the black market which the original PR intended to do.
## Changelog
🆑
fix: More safeguards were added to the admin "Create Black Market Item"
verb.
/🆑
## About The Pull Request
- Fixes#95441
Using the admin shuttle recall command no longer reveals the admins
location.
## Why It's Good For The Game
Less bugs.
## About The Pull Request
See title. I looked pretty hard and only found these as having this
issue.
## Why It's Good For The Game
I'm mostly working off of other peoples wisdom here but `rank` is a
reserved word in sql, and as we do in MOST of our other querys.
backticking it prevents that from being an issue (and therefore fixes
some sql errors that CAN happen depending on version (my issues happened
with mysql, but apparently dont occur with heididb))
## Changelog
~~N/A as i dont acctually think this happens in TG rn unless yalls
housekeeping tab on the admin panel is broken as well.~~
🆑
fix: A handful of permissions panel querys now work again
/🆑
## About The Pull Request
Adds an admin verb "jump-to-ghost" which brings your body to the current
loc of your aghost, and a hotkey for this action which defaults to F4
https://github.com/user-attachments/assets/ac28d982-452c-4bd3-b89f-d837bb5df5d9
## Why It's Good For The Game
This is something I've wanted for a while for debugging/localhost stuff,
and I imagine it'd also be pretty useful for admin hijinks, like event
running or fixing things during a round
It helps bridge the gap between the jump-to-turf context menu action and
the somewhat slow and clunky to use jump-to-area, allowing you to
teleport short off-screen distances without having to sort through a big
list of areas
## Changelog
🆑
admin: Adds the jump-to-ghost verb, which brings your body to your
aghost, it has a hotkey which defaults to F4.
/🆑
## About The Pull Request
``/datum/action/proc/Trigger(mob/clicker, trigger_flags)`` has a lot of
children, many of which use mixed ``. = ..()`` or no parent calls at
all.
https://github.com/tgstation/tgstation/blob/d65ee47f6ebd0384d463a1f2a044c321ff2d912f/code/datums/actions/action.dm#L163-L170
This PR attempts to standardize all the children procs to call parent in
a uniform way, or cements that they *shouldnt* call parent for whatever
reason.
## Why It's Good For The Game
Base proc calls are important, yanno?
The base proc has the action button signals and availability proc on it,
so its technically possible for children procs of trigger() to have
check_flags enabled, but never blocked (i.e AB_CHECK_CONSCIOUS,
AB_CHECK_HANDS_BLOCKED).
Some children procs have IsAvailable on them, but its possible they can
be skipped over if a coder is not paying attention. This reduces that
risk.
## About The Pull Request
Removes Object tab, which didn't work as it required a whole reload of
your verbs to update to what verbs would show up in it (which is very
hard to actually trigger as a player), but leaves the verbs that had
them show in the dropdown menu.
Removes the Point-To and Examine verbs from the Stat panel, now it's
commandbar only. Originally only did Point-To, but because the stat
panel sorts itself by the category of the item, then the order of the
name, I had to remove Examine's category so it would remain sorted the
same.
bruuuuuh
<img width="1259" height="985" alt="image"
src="https://github.com/user-attachments/assets/ea89db24-fafd-41d6-939e-4dbc7bbf3828"
/>
<img width="309" height="244" alt="image"
src="https://github.com/user-attachments/assets/3b8d9c52-056b-44ce-8ee8-051439a2fa51"
/>
Removes Server tab for players (not Admins) by moving Show Map Vote
Tallies to the OOC tab, as that was the only verb there.
Activate Held Object has been moved to IC since it's a roundstart verb,
I thought I should leave it be (do we have numbers on how many people
use these? Why would someone use the verb over clicking on the item
in-game or Z? Should I remove this too?).
Admin's Object Possession verbs are now in Admin Fun instead of Object.
Player stat panel
<img width="299" height="194" alt="image"
src="https://github.com/user-attachments/assets/8a3c9ad0-514a-44c5-b023-f71e57de4758"
/>
Admin stat panel
<img width="581" height="224" alt="image"
src="https://github.com/user-attachments/assets/7232485f-af41-469e-abfd-fce066816eec"
/>
<img width="624" height="297" alt="image"
src="https://github.com/user-attachments/assets/6eb540be-4912-44f6-be36-5fe3a74b7f19"
/>
## Why It's Good For The Game
We have 2 tabs that exists for a total of 3 procs, 2 of them fit
elsewhere and the last one doesn't work at all. Most verbs here don't
show up in the stat panel at all for the vast majority of players due to
the stat panel not actually loading them in when it's available, which
to me shows that it's a feature that isn't really cared about anyways.
It also helps newer players because there's less tabs to navigate and
less verbs to sift through, we have a ton of verbs that basically don't
need to exist and they only exist to make looking for the important
verbs a larger hassle.
## Changelog
🆑
del: Deleted Object tab, and Server tab for players. Activate Held
Object verb is now in the IC tab. Examine and Point To was removed from
the stat panel.
admin: Object possession verbs have been moved to Admin Fun.
/🆑
## About The Pull Request
Adds a helper `SStts.random_tts_voice(gender)` which attempts to pick an
appropriate voice for the passed gender
## Why It's Good For The Game
Randomization into a completely wrong voice kinda ruins it
## Changelog
🆑 Melbert
qol: TTS voice is more appropriately randomized to gender
qol: Getting randomized through means such as mulligan toxin randomizes
TTS voices
/🆑
---------
Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
## About The Pull Request
This adds experimental read-only support for `/alist`s in VV.
I'm not quite sure how to add support for properly changing alists, but
this is better than nothing at least.
### Before
<img width="474" height="262" alt="image"
src="https://github.com/user-attachments/assets/8701fc64-855b-429e-88d1-f6607000b2c8"
/>
### After
<img width="943" height="539" alt="2026-03-23 (1774313721) ~
dreamseeker"
src="https://github.com/user-attachments/assets/cb6caf2a-19fd-49a9-b228-1bccb2c315f3"
/>
## Why It's Good For The Game
Should be able to at least view alists with VV.
## Changelog
🆑
admin: View Variables can now properly view alists, altho it cannot edit
them.
/🆑
## About The Pull Request
``examine()`` merely returns the list of strings to display to the user,
``examinate()`` is the proc that actually displays them to the mob
## Changelog
🆑
fix: Fixes press badges and other miscellaneous objects failing to make
the user examine them.
/🆑
## About The Pull Request
`ROLE_RECOVERED_CREW` jobban flag was used for recovered crew,
experimental cloner, and now Thantorenasia, but it was never actually an
option in the banning panel. Now it is.
While investigating this, I noticed there was several polls that checked
for an role that you couldn't ban from, so they were either added or
folded into a different preference. (Blood worms, fugitive, fugitive
hunter, paradox clone, glitch, monkey helmet)
## Changelog
🆑 Melbert
admin: Admins can ban from "recovered crew", "blood worm", "fugitive" /
"fugitive hunter", "glitch", and "paradox clone"
admin: Mind Magnification Monkeys are now affected by a sentience ban
(previously unbannable)
/🆑
## About The Pull Request
- The `prosthetic replacement` surgical operation has been reverted to
be closer to how it used to work: The operation is done targeting the
limb that's missing
The change was made out of necessity, as surgical state was tied to
limbs - you had to operate on the chest to re-attach limbs because there
was no limb to operate on.
To circumvent that, I have done the unthinkable of adding stumps when
you are dismembered.
- Missing limbs are now represented as an invisible, un-removable,
un-interactable limb.
Making this change was not as difficult as originally anticipated, and
(at least surface level) seems to have broken very little.
Surprisingly little had to change to make this work.
Direct accesses to `mob.bodyparts` was changed to `mob.get_bodyparts()`
with an optional `include_stumps` argument.
Similarly, `get_bodypart()` had an optional `include_stumps` added.
This means we ultimately barely needed to change anything, and in fact,
some loops/checks were able to be streamlined.
## Why It's Good For The Game
- As mentioned, this change was out of necessity and was easily the
least intuitive part of the broader changes. Reverting it back to how it
used to work should make it far easier for people to pick up on, and
means we can cut out a bunch of bespoke instruction sets that I had to
include.
- The addition of stumps also adds a ton of future potential - code wise
it allows for stuff like better damage tracking (we can transfer damage
between limb <-> stump rather than limb <-> chest), and feature we can
do "fun" stuff like have stumps bleed on dismemberment that you can
bandage.
## Changelog
🆑 Melbert
del: "Add prosthetic limb" surgical operation has been reverted to be a
bit closer to how it used to work - you operate on the missing limb /
limb stump, rather than on the chest.
refactor: Missing limbs are now represented as limb stumps. In practice
this should change nothing (for now), as no features were rewritten to
make use of these besides surgery. Please report any oddities with
missing limbs, however.
/🆑
## About The Pull Request
1. Dock Pay smite now adds to audit and transaction log
2. Dock Pay smite now always notifies card holder regardless of bank
alert preference
3. Adds better support for negative money (ie, giving money)
## Why It's Good For The Game
1. Allows for people to trace where money is going, even if it is
vanishing
2. So people can actually know the smite hit them
3. Request
## Changelog
🆑 Melbert
qol: If your pay gets docked by Central Command, it is noted in audit
and transaction log
qol: If your pay gets docked by Central Command, you will always be
notified, regardless of bank alert preference
admin: Dock Pay smite supports negatives better (for an easy way to give
someone money)
/🆑
## About The Pull Request
Port of "fast" reftracking from
https://github.com/Monkestation/Monkestation2.0/pull/6893
This adds a `FAST_REFERENCE_TRACKING` define, which makes it so the
reftracker will completely skip over specific types - if my math is
right, on icebox, it will need to scan **1.1+ million fewer items**
compared to normally (stats based on me using Count Atoms/Datums on an
icebox manuel round)
it's still the reftracker, so it's still not magically super speedy now
- it's only enabled by default when `REFERENCE_DOING_IT_LIVE` is set,
you shouldn't really use this locally or in CI.
## Why It's Good For The Game
hopefully makes running reftracker on live less hellish of an experience
## Changelog
No player-facing changes.
## About The Pull Request
ports https://github.com/Monkestation/Monkestation2.0/pull/9762, also
the thing i said i'd upstream in
https://github.com/NovaSector/NovaSector/pull/7018
pretty simple, this makes it so your own Asay messages won't be
highlighted
## Why It's Good For The Game
if you have your ckey highlighted, you don't really need to highlight
that in the ASay message that you just sent yourself.
## Changelog
🆑
admin: Your own ASay messages will no longer trigger your highlights.
/🆑
## About The Pull Request
Two main items:
1: Admins can now use the new "Create new Blackmarket Item" verb, which
prompts them about the item, price, quantity, name and description of
the item they'd like to list. If successful, the item will be listed to
the black market, available to purchase by the crew.
Prices can be set very, very high, though I've limited the available
quantity to 100 per listing as a nice middle-ground value. The verb can
be used any number of times, allowing for admins to use the black market
to run events, as such. Of note, this verb will spawn a fresh typepath
of the object listed, so it cannot be used to list var-edited objects
as-is, but it's still quite useful for offering unique or rare items to
the crew based on the needs of the round.
2: This PR does a few tweaks to the "launch" shipping option on the
black market. The text displayed when having an object launched to the
station has been adjusted to reduce some ambiguity on if the item is
potentially deleted when launched. The launch behavior has not been
modified in this way, as the object is still launched at the station
using similar logic as before.
**However**, the item is now launched to the station in a faux-energy
bubble, which destroys itself and empties it's contents when it makes
thrown impact or is opened by hand. In practice, this is only noticeable
if you were outside when the order is launched at the station, or if the
crate makes impact with you. This allows for black market objects that
create spawners to arrive at the station harmlessly, which also
potentially reducing some of the randomness of an object being thrown at
the station, and then leaving the z-level immediately based on the extra
collision involved. Additionally, I've lowered the **shipping cost to
0** of launched items.
Misc:
Did some code cleanup by adding defines for each of the categories of
black market items, and a list-define for every category together.
## Why It's Good For The Game
I've wanted to have the option for admins to be able to list things for
the crew to buy for quite awhile now, without requiring them to barter
by hand or through a reliable means that can't be bypassed by 3
assistants with baseball bats. This offers that option, while also
having some flavor of being offered on the black market, if that's
desirable. Otherwise, it's no impact on the average round as it's
admin-only.
Regarding the launch options, this started as a grammar tweak as I was
talking with Arm on discord and the lack of clarity raised the whole
shipping option to our attention. After confirming that launching things
to the station was NOT, in fact a literal noob trap, just an awful
choice, I started work on the shield-bubble idea in an attempt to see if
I could try and reduce some of the randomness involved with that
shipping option. It already sucks due to the risk of going out into
space, there's no need to make it suck worse by potentially losing any
of the cooler items available on the black market at the same time. So,
price down and a mild consistency up. I also ran into #95183 while I was
testing all of this, so this should fix#95183.
Lastly, code cleanup. Made a few things look 3% nicer.
## About The Pull Request
Add a new button to the fun tab of admin secrets that taps every ore
vent
## Why It's Good For The Game
Quick button to get steady stream of ore flowing into the station is
nice
## Changelog
🆑
admin: added tap all ore vents button to secrets panel
/🆑
## About The Pull Request
The roundstart report has been dripped out with a logo and some
additional flavor
<img width="585" height="916" alt="image"
src="https://github.com/user-attachments/assets/d0dab027-24e4-4d4a-a5ad-59616b3bf33d"
/>
The flavor messages are just some randomly selected lore tidbits or
filler text
Other changes:
- Paper now updates to your writing implement immediately, rather than
on process ticks.
- Adds a config to hide the dynamic report for cutting down the length
of the roundstart report. Disabled by default
- Footnotes now requires `R_FUN` rather than `R_ADMIN`
## Why It's Good For The Game
Makes the command report look a ton more official while introducing some
fun worldbuilding.
## Changelog
🆑 Melbert
qol: Paper UI now updates immediately when you pick up or drop a writing
tool.
qol: The roundstart command report has had its style updated, and now
contains some bonus lore.
admin: Changes the perms needed to add command report footnotes to "Fun"
rather than "Admin"
admin: Adds a verb for changing the command report main contents
(Requiring "Fun")
config: Adds a config for hiding the dynamic report, disabled by default
(disabled meaning you still get the report)
/🆑
## About The Pull Request
When requesting an internet sound, all clients connected to the world
receive a 'to_chat' with song information, even if they have 'Admin
music volume' set to 0.
This PR makes it so this 'to_chat' isn't sent to players who have 'admin
music volume' at 0. Why add a very intrusive chat-spam if I do not want
to listen to admin MIDIs?
Marking this as a fix because I can only imagine that this not being the
default behavior is unintended from the get-go.
## Why It's Good For The Game
Reduces chat spam for users who opt-out of listening to admin songs.
## Video Proof of Testing:
https://github.com/user-attachments/assets/4f8e3cf6-37e3-4f84-a3e1-e702e6e0b94c
## Changelog
🆑 Bugwasabi
fix: Play Internet Sounds will now only display song details to users
who have admin music enabled.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
This is the most efficent way of doing it (I think), typeid checking is
actually worse (it's 55 btw). I've also added alists to all the find
reference unit tests.
This is a good step in making these things actually work in our
codebase. The next thing to look into will be VV (or SDQL though I
suspect that's just a matter of being able to use a stable version)
which is gonna require playing around with IS_NORMAL_LIST's uses a good
bit
## About The Pull Request
Deletes the remainder of NAP code on `/machinery`
Keeps the NAP code on Securitrons, but rethemes it and allows admins (or
mappers IG) to enable it by editing a var
## Why It's Good For The Game
There are only two NAP machinery interactions, sleepers and stasis beds.
One, you can't get anymore outside of space.
The other just seems to confuse people as to why stasis ("the only way
medical doctors know how to treat people") suddenly doesn't work
It's stinky code, it barely works, no one uses it, it can go bye bye.
If someone wants to re-add it they should do it via components, it'd be
much cleaner.
...
HOWEVER, the Securitron code is perfectly fine on its own so I left it
in for admemery or future mapping. Idk it might be funny to put a
securitron on the luxury shuttle that charges you money
## Changelog
🆑 Melbert
del: Admins can no longer use the NAP button
/🆑
## About The Pull Request
Seemingly, someone forgot to close those tags properly
## Why It's Good For The Game
## Changelog
No player facing changes, just an oversight in the admin UI
## About The Pull Request
This adds `/datum/http_request/proc/fire_and_forget()`, which wraps
`rustg_http_request_fire_and_forget`, used for http requests that you
just send and don't care about the response. I've changed
`send2adminchat_webhook` to use this, as it didn't care about the
response at all.
Also added a return type hint to `into_response()`, and did some minor
cleanup on some assorted `/datum/http_request` code.
## Why It's Good For The Game
`fire_and_forget` is very useful because it prevents http request jobs
from forever taking up memory if you never call `is_complete()`
## Changelog
No user-facing changes.
* Fix runtimes in `/datum/id_trim` and when equipping corpses if a map's
.json file fully removes a job
* Remove unused `/datum/powernet/var/number`
* Fix ctrl+clicking a telescreen to mute it also activating it normally
* Unmark `_liver.dm` as executable
## About The Pull Request
This PR adds an option to the context menu of objects that allows admins
to open player panel of mobs inside closets/crates/coffins, body bags
(both folded and unfolded), machinery, vehicles, morgue trays and
crematoriums without selecting particular mob in VV of the object.
Supported types of objects:
/obj/vehicle;
/obj/structure/closet;
/obj/structure/bodycontainer;
/obj/machinery;
/obj/item/bodybag.
The selection menu displays mob names and tags. If an /obj/vehicle is
selected, its driver is marked accordingly in the menu. This verb also
checks /obj/structure/closet and /obj/structure/bodycontainer for body
bags (both folded and unfolded), adding any mobs inside them to the
list.
<img width="483" height="343" alt="prtest-pp-2"
src="https://github.com/user-attachments/assets/5b387d15-5f86-4f78-b85b-3590ce9d1495"
/>
<img width="390" height="391" alt="prtest-pp-1"
src="https://github.com/user-attachments/assets/e16c24a3-1741-43a7-8f3c-4f4d4dbba089"
/>
https://github.com/user-attachments/assets/2c75b7f8-5879-4476-973b-38f2fa638d10
## Why It's Good For The Game
QOL. You don't have to open PP via object's
VV->occupants/contents->list->VV of a particular mob->show PP.
## Changelog
🆑
admin: New adminverb "show occupants PP". You can now open the PP of
mobs inside vehicles, closets, machinery, body bags, etc. via the RMB
context menu.
/🆑
---------
Co-authored-by: AlexTheEng1neer <128976622+AlexTheEng1neer@users.noreply.github.com>
Co-authored-by: Cornka <112967882+Kocma-san@users.noreply.github.com>
## About The Pull Request
ERT Commanders id cards now separated from Emergency Responce Team
Intern one, also changed some code where probably should be commander
cards(debug map, ert commander ofc and ert join button)
## Changelog
🆑
fix: ert commander card properly appear in game, no longer overriding
basetype ert card
/🆑
## About The Pull Request
- Port of https://github.com/Monkestation/Monkestation2.0/pull/10283
Adds a CI checker for unescaped brackets ([]) in strings.
Examples:
```
// Flag
var/wuh = "[] mrrp"
// Flag
bluh("whu [] guh buh")
// Flag
var/meow = {"
[]
[]
mewr
wefwefa"}
// Flag
var/varasdf = "sdfk;lkdsf \
ok []\
what the heck []"
```
## About The Pull Request
This was LONG overdue and its finally time. Refactors 2 components to
regular datums
- `/datum/component/material_container` -> `/datum/material_container`
- `/datum/component/remote_materials` -> `/datum/remote_materials`
Reduced memory overhead and stops misuse of component i.e. storing it in
a variable
## Changelog
🆑
refactor: refactored material container code to reduce memory overhead.
Report bugs on github
/🆑
## About The Pull Request
Multiz pipes will, on any map without 3 z levels, always be
"unconnected" to this mapping verb. This is because they're `TRINARY`,
and thus must fill `nodes` with three connection points in order to not
fail this verb, which they will never do unless they're on the center of
three z levels(and have pipes above and below them, which is the case
precisely nowhere). They need to keep `TRINARY` in order to keep
working, so I'm making an exception in the verb.
## Why It's Good For The Game
Check plumbing will no longer fill your chatbox with one million pipes
that are, in fact, connected.
Closes#94378
## Changelog
🆑
No player facing changes. Or admin facing changes. This is just for us.
/🆑
## About The Pull Request
A weather anomaly can spawn on the station, causing a sandstorm,
snowstorm, or rainstorm to affect the room (and nearby rooms). These
weathers range from "harmless" to "mildly damaging".
They last for around five minutes.
The weather doesn't start immediately, giving people time to neutralize
it before it causes damage.
Neutralizing the anomaly stops the weather.
If they detonate, it just throw objects away from itself.
<img width="407" height="225" alt="image"
src="https://github.com/user-attachments/assets/2de1b797-2b17-442c-9023-11085b4849cf"
/>
<img width="991" height="674" alt="image"
src="https://github.com/user-attachments/assets/afe5a21d-9cf8-4e9d-95ec-adef6fd12a93"
/>
A rarer version of the anomaly can also occur, which brings a lightning
storm, which may damage the station itself.
Also, reactive weather armor. When you are hit, it summons a lightning
strike below nearby assailants.
## Why It's Good For The Game
With the added rain mechanics I wanted to use them, but it's kinda hard
to shoe them into the station because, "why is it raining on a space
station that makes no sense"
However, anomalies are weird, so this fits perfectly
## Changelog
🆑 Melbert
add: Weather anomalies, in four variants: Rain, snow, sand, and the rare
lightning storm.
add: Reactive Weather Armor
/🆑
## About The Pull Request
Last Christmas we had and resolved this bug #88595 where via the
mechanic of buying random trash, Cargo could roll on the roulette to try
and get random Christmas presents and open them for random items.
This was removed because it's not supposed to work that way and was a
way of exploiting Christmas cheer for personal gain, which is grinchsome
behaviour.
That said, being able to order Christmas presents is also kind of
soulful, so this PR brings that mechanic back but on purpose this time.
During the Christmas season _only_, Cargo can spend 3000 credits of
their budget to order a "Surplus Christmas Gifts" crate which contains
4-6 presents _with pre-assigned recipients_.
In a similar system to addressed mail, only the person written on the
gift tag can open the present, so unless you're sufficiently scroogeous
to collect a huge pile of presents on the cargo room floor in hopes of
getting a couple with your name on (in my testing these contained raw
unbaked croissant dough, and a piece of paper from a space ruin) you
should mostly be using this to deliver generalised holiday cheer to the
crew rather than just yourself.
This PR also contains (maybe as more lines than the actual feature) a
refactor changing a bunch of boolean vars on `/datum/supply_pack` into
bitflags, because I needed to add one more and it seemed silly to have
so many booleans.
## Why It's Good For The Game
It allows those with the yuletide spirit to deliver some christmas cheer
to their fellow man, isn't that the season's reason?
## Changelog
🆑
add: When the game considers it to be Christmas, Cargo can order
additional Christmas gifts pre-addressed to random crew members.
/🆑