* Fixes the basketball and thunderdome baseturf issue. (#74461)
## About The Pull Request
Simply modifies the should_place_on_top value on these maps templates so
that they overwrite their baseturfs rather that creating an evergrowing
stack. I've also done the same for Mafia and CTF which should also not
be creating stacked baseturfs.
Fixes#69711
Should fix#74443 too since its the same issue.
## Why It's Good For The Game
Bugfix good.
## Changelog
🆑
fix: Basketball and Thunderdome maps should not load with broken turfs
are several resets of their maps.
/🆑
* Fixes the basketball and thunderdome baseturf issue.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Auxtools is now a config opt-in (#74501)
See https://github.com/tgstation/tgstation/pull/74497
Causes auxtools to not be a default part of the server environment and
requires server operators to manually enable it.
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Auxtools is now a config opt-in
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Block connections to the server from new ckeys if the panic bunker is up and not in interview mode (#74496)
The living hours check in client/New is still valid, this only cares
about never before seen players without regard for that config.
* Block connections to the server from new ckeys if the panic bunker is up and not in interview mode
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Refactor SPELL_REQUIRES_OFF_CENTCOM to SPELL_REQUIRES_STATION (#73348)
When I refactored stuff to use lazy templates it broke a few needed checks, this is one of those checks.
Although there is no reason this shouldn't have been checking for station level over not CC
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
* Play Internet Sound, Admin CKEY instead of character name (#74426)
## About The Pull Request
This fixes a minor oversight I had on my last PR that altered
`PlaySound.dm` Where it shows the admins character name instead of CKEY
like it was before I updated it. This wasn't intentional to show the
character name instead of CKEY.
## Why It's Good For The Game
Fixes a a unintended bug to return the name of the shown admin back to
how it was previously as being their CKEY rather than character name
<details>
<summary>Screenshots/Videos</summary>

</details>
## Changelog
🆑
fix: Play Internet Sound will no longer show an admins Character name
and returns back to showing CKEY as previously
/🆑
* Play Internet Sound, Admin CKEY instead of character name
---------
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
* Highlander will not be activated if admins exit the highlander delay window. (#74400)
## About The Pull Request
Starting highlander as an admin prompts admins if they want it to start
with or without a warning. If you exit the window it treats it as if you
selected the 40 second warning. This makes it so admins can now cancel
out of this window.
## Why It's Good For The Game
Sometime, somewhere and admin is going to accidently click this button
and be unable to stop the unintended incoming highlander round. This
should prevent this.
## Changelog
🆑
admin: Exiting the highlander delay window without selecting an option
will no longer start highlander mode.
/🆑
* Highlander will not be activated if admins exit the highlander delay window.
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Fix Respawn Character Admin Verb (#74295)
## About The Pull Request
while testing #74293 i tried to use this verb and it didnt work because
some stuff wasnt parsing in correctly so i fixed it
## Why It's Good For The Game
we want all of the admin tools to work
## Changelog
🆑
fix: admin respawn character verb works properly
/🆑
* Fix Respawn Character Admin Verb
---------
Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
* Curators now have D-notice newscaster access, Officers can issue warrants (#74269)
## About The Pull Request
Newscasters now have Library access for handing out D-Notices, and
Security access for Wanted issues, instead of both being tied to Armory
access.
Also allows Ntos Newscaster to work if ran by someone without Library
access, so Curator can download the app for others if they want.
## Why It's Good For The Game
- Newscasters have turned into one of the Curator's largest gameplay
aspects and it would be nice if they were able to moderate it as well,
instead of being the Warden who has absolutely no interest in
Newscasters.
- Allowing Officers to send out Wanted issues is more just in hopes it
will result in it being used more, though it seems like a very similar
feature to the wanted posters, maybe we can merge these two together one
day.
- The Ntos Newscaster access change is more of an oversight, I like it
when people can download apps for eachother as it gives a reason to seek
others and lend them your PDA for an application you want, blocking the
person from using the app after getting a Curator to download it for
them kinda sucks in-game.
## Changelog
🆑
balance: Curators/HoP can now manage Newscaster D-Notices (previously
was Warden/HoS).
balance: Security Officers/Detectives can now issue Wanted notices on
Newscasters.
balance: Ntos Newscaster now requires Library access only to download,
not to run.
/🆑
* Curators now have D-notice newscaster access, Officers can issue warrants
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Replaces internal_organs with organs
* Makes all of the necessary internal_organs -> organs in our files to compile
And it seems to work too!
---------
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Allows populating new vv'd lists (#74064)
You get an alert, and can continue to enter variables until you hit
cancel. Not sure if this is good ux or not, yell at me if not
## Why It's Good For The Game
Fikou asked me for it and that guy's pretty cool. Also it's annoying to
not be able to feed lists into procs
## Changelog
🆑
admin: You can now optionally populate new lists created via vv. hit
cancel to stop filling them up
/🆑
* Allows populating new vv'd lists
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)
## About The Pull Request
There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.
I left out the two others which are already in PR, I'm not stealing your
GBP.
Fixes https://github.com/tgstation/tgstation/issues/68881
## Why It's Good For The Game
Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.
There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.
alright here goes
## Changelog
🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑
* Audits usage of isanimal() vs isanimal_or_basic_mob()
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Fixes the `null` law check for the law panel not working adds an alert for non-observers using it (#73859)
## About The Pull Request
- The `null` law check for the law panel existed in the UI side, but on
the dm side it didn't pass it as null correctly. Fixes that
- Adds a message admins for non-observers using the panel, a la Check
Antagonists. Just to be safe
## Changelog
Nothing player facing
* Fixes the `null` law check for the law panel not working adds an alert for non-observers using it
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Nightvision Rework (In the name of color) (#73094)
Relies on #72886 for some render relay expansion I use for light_mask
stuff.
Hello bestie! Night vision pissed me off, so I've come to burn this
place to the ground.
Two sections to discuss here. First we'll talk about see_in_dark and why
I hate it, second we'll discuss the lighting plane and how we brighten
it, plus introducing color to the party.
https://www.byond.com/docs/ref/#/mob/var/see_in_dark
See in dark lets us control how far away from us a turf can be before we
hide it/its contents if it's dark (not got luminosity set)
We currently set it semi inconsistently to provide nightvision to mobs.
The trouble is stuff that produces light != stuff that sets luminosity.
The worst case of this can be seen by walking out of escape on icebox,
where you'll see this

Snow draws above the lighting plane, so the snow will intermittently
draw, depending on see_in_dark and the luminosity from tracking lights.
This would in theory be solvable by modifying the area, but the same
problem applies across many things in the codebase.
As things currently stand, to be emissive you NEED to have a light on
your tile. People are bad at this, and honestly it's a bit much to
expect of them. An emissive overlay on a canister shouldn't need an
element or something and a list on turfs to manage it.
This gets worse when you factor in the patterns I'm using to avoid
drawing lights above nothing, which leads to lights that should show,
but are misoffset because their parent pixel offsets.
It's silly. We do it so we can have things like mesons without just
handing out night vision, but even there the effect of just hiding
objects and mobs looks baddddddd when moving. It's always bothered me.
I'll complain about mesons more later, but really just like, they're too
bright as it is.
I'm proposing here that rather then manually hiding stuff based off
distance from the player, we can instead show/hide using just the
lighting plane. This means things like mesons are gonna get dimmer, but
that's fine because they suck.
It does have some side effects, things like view() on mobs won't hide
stuff in darkness, but that's fine because none actually thinks about
view like that, I think.
Oh and I added a case to prevent examining stuff that's in darkness, and
not right next to you when you don't have enough nightvision, to match
the old behavior `see_in_dark` gave us.
Now I'd like to go on a mild tangent about color, please bare with me
You ever walk around with mesons on when there's a fire going, or an
ethereal or firelocks down.
You notice how there isn't really much color to our lights? Doesn't that
suck?
It's because the way we go about brighting lighting is by making
everything on the lighting plane transparent.
This is fine for brightening things, but it ends up looking kinda crummy
in the end and leads to really washed out colors that should be bright.
Playing engineer or miner gets fucking depressing.
The central idea of this pr, that everything else falls out of, is
instead of making the plane more transparent, we can use color matrixes
to make things AT LEAST x bright.
https://www.byond.com/docs/ref/#/{notes}/color-matrix
Brief recap for color matrixes, fully expanded they're a set of 20
different values in a list
Units generally scale 0-1 as multipliers, though since it's
multiplication in order to make an rgb(1,1,1) pixel fullbright you would
need to use 255s.
A "unit matrix" for color looks like this:
```
list(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
0, 0, 0, 0
)
```
The first four rows are how much each r, g, b and a impact r, g, b and
well a.
So a first row of `(1, 0, 0, 0)` means 1 unit of r results in 1 unit of
r. and 0 units of green, blue and alpha, and so on.
A first row of `(0, 1, 0, 0)` would make 1 red component into 1 green
component, and leave red, blue and alpha alone, shifting any red of
whatever it's applied to a green.
Using these we can essentially color transform our world. It's a fun
tool. But there's more.
That last row there doesn't take a variable input like the others.
Instead, it ADDS some fraction of 255 to red, green, blue and alpha.
So a fifth row of `(1, 0, 0, 0)` would make every pixel as red as it
could possibly be.
This is what we're going to exploit here. You see all these values
accept negative multipliers, so we can lower colors down instead of
raising them up!
The key idea is using color matrix filters
https://www.byond.com/docs/ref/#/{notes}/filters/color to chain these
operations together.
Pulling alllll the way back, we want to brighten darkness without
affecting brighter colors.
Lower rgb values are darker, higher ones are brighter. This relationship
isn't really linear because of suffering reasons, but it's good enough
for this.
Let's try chaining some matrixes on the lighting plane, which is bright
where fullbright, and dark where dark.
Take a list like this
```
list(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
-0.2, -0.2, -0.2, 0
)
```
That would darken the lighting a bit, but negative values will get
rounded to 0
A subsequent raising by the same amount
```
list(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
0.2, 0.2, 0.2, 0
)
```
Will essentially threshold our brightness at that value.
This ensures we aren't washing out colors when we make things brighter,
while leaving higher values unaffected since they basically just had a
constant subtracted and then readded.
You may have noticed, we gain access to individual color components
here.
This means not only can we darken and lighten by thresholds, we can
COLOR those thresholds.
```
list(1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
0, 0, 0, 1,
0.1, 0.2, 0.1, 0
)
```
Something like the above, if applied with its inverse, would tint the
darkness green.
The delta between the different scalars will determine how vivid the
color is, and the actual value will impact the brightness.
Something that's always bothered me about nightvision is it's just
greyscale for the most part, there isn't any color to it.
There was an old idea of coloring the game plane to match their lenses,
but if you've ever played with the colorblind quirk you know that gets
headachey really fast.
So instead of that, lets color just the darkness that these glasses
produce.
It provides some reminder that you're wearing them, instead of just
being something you forget about while playing, and provides a reason to
use flashlights and such since they can give you a clearer, less tinted
view of things while retaining the ability to look around things.
I've so far applied this pattern to JUST headwear for humans (also those
mining wisps)
I'm planning on furthering it to mobs that use nightvision, but I wanted
to get this up cause I don't wanna pr it the day before the freeze.
Mesons are green, sec night vision is red, thermals orange, etc.
I think the effect this gives is really really nice.
I've tuned most things to work for the station, though mesons works for
lavaland for obvious reasons.
I've tuned things significantly darker then we have them set currently,
since I really hate flat lighting and this system suffers when
interacting with it.
My goal with these is to give you a rough idea of what's around you,
without a good eye for detail.
That's the difference between say, mesons, and night vision. One helps
you see outlines, the other gives you detail and prevents missing
someone in the darkness.
It's hard to balance this precisely because of different colored
backgrounds (looking at you icebox)
More can be done on this front in future but I'm quite happy with things
as of now
I have since expanded to all uses of nightvision, coloring most all of
them.
Along the way I turned some toggleable nightvision into just one level.
Fullbright sucks, and I'd rather just have one "good" value.
I've kept it for a few cases, mostly eyes you rip out of mobs.
Impacted mobs are nightmares, aliens, zombies, revenants, states and
sort of stands.
I've done a pass on all mobs and items that impact nightvision and added
what I thought was the right level of color to them. This includes stuff
like blobs and shuttle control consoles
As with glasses much of this was around reducing vision, though I kept
it stronger here, since many of these mobs rely on it for engaging with
the game
<details>
<summary>
Technical Changes
</summary>
filter transitions.
Found this when testing this pr, seemed silly.
This avoids dumbass overlay lighting lighting up wallmounts.
We switch modes if some turfflags are set, to accomplish the same thing
with more overhead, and support showing things through the darkness.
Also fixes a bug where you'd only get one fullscreen object per mob, so
opening and closing a submap would take it away
Also also fixes the lighting backdrop not actually spanning the screen.
It doesn't actually do anything anymore because of the fullscreen light
we have, but just in case that's unsued.
Needs cleanup in future.
color with a sprite
This is to support the above
We relay this plane to lighting mask so openspace can like, have
lighting
vision goggles and such
Side affect of removing see_in_dark. This logic is a bit weak atm, needs
some work.
It's a dupe of the nightvision action button, and newly redundant since
I've removed all uses of it
trasnparent won't render
These sucked
Also transparent stuff should never render, if it does you'll get white
blobs which suck
</details>
Videos! (Github doesn't like using a summary here I'm sorry)
<details>
Demonstration of ghost lighting, and color
https://user-images.githubusercontent.com/58055496/215693983-99e00f9e-7214-4cf4-a76a-6e669a8a1103.mp4
Engi-glass mesons and walking in maint (Potentially overtuned, yellow is
hard)
https://user-images.githubusercontent.com/58055496/215695978-26e7dc45-28aa-4285-ae95-62ea3d79860f.mp4
Diagnostic nightvision goggles and see_in_dark not hiding emissives
https://user-images.githubusercontent.com/58055496/215692233-115b4094-1099-4393-9e94-db2088d834f3.mp4
Sec nightvision (I just think it looks neat)
https://user-images.githubusercontent.com/58055496/215692269-bc08335e-0223-49c3-9faf-d2d7b22fe2d2.mp4
Medical nightvision goggles and other colors
https://user-images.githubusercontent.com/58055496/215692286-0ba3de6a-b1d5-4aed-a6eb-c32794ea45da.mp4
Miner mesons and mobs hiding in lavaland (This is basically the darkest
possible environment)
https://user-images.githubusercontent.com/58055496/215696327-26958b69-0e1c-4412-9298-4e9e68b3df68.mp4
Thermal goggles and coloring displayed mobs
https://user-images.githubusercontent.com/58055496/215692710-d2b101f3-7922-498c-918c-9b528d181430.mp4
</details>
I think it's pretty, and see_in_dark sucks butt.
<!-- 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. -->
🆑
add: The darkness that glasses and hud goggles that impact your
nightvision (think mesons, nightvision goggles, etc) lighten is now
tinted to match the glasses. S pretty IMO, and hopefully it helps with
forgetting you're wearing X.
balance: Nightvision is darker. I think bright looks bad, and things
like mesons do way too much
balance: Mesons (and mobs in general) no longer have a static distance
you can see stuff in the dark. If a tile is lit, you can now see it.
fix: Nightvision no longer dims colored lights, instead simply
thresholding off bits of darkness that are dimmer then some level.
/🆑
* modular edits
* see_in_dark
* [MIRROR] Adds a unit test to detect double stacked lights [MDB IGNORE] (#19564)
* Adds a unit test to detect double stacked lights
* we really need to get that night vision pr done
* lints fixes
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
* Update augments_eyes.dm
* Update augments_eyes.dm
* eeee
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Add config to validate admin discord commands with discord links and admin ranks (#73818)
This adds a config to secure discord chat commands used by admins.
When enabled it compares the discord id the chat command came from with
the linked discords db to find their ckey, then checks they have the
correct admin rights.
The check automatically self disables if the db is down or if legacy
admin ranks are enabled. (There is no config for discord account linking
or i'd just use that.)
Moved non-admin discord commands out of the admin modules folder and
into the discord modules folder.
Deleted some defunct shit. There was a global list and admin only notify
command that was used by nothing.
There was a whole discord config section that was used by nothing.
* Add config to validate admin discord commands with discord links and admin ranks
---------
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
* basement
* change a variant of adminhelp converting. like on screenshots
* Removing mentor converting. More modularisation. More describe to proc
* Small part in mentorhelp which i forget to remove
* Comment
* Another comment about skyrat.
* Update modular_skyrat/master_files/code/modules/admin/admin.dm
Good Idea
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
---------
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* new smite: deadchat control (#73725)
## About The Pull Request
I played around with the deadchat control component for some stuff
downstream and then decided to turn it into a smite, something that is
harsh but really funny especially with all of the inputs that ghosts
have.
The emotes are ones that have the character do something, coordinated
spins and flips have their usual consequences probably, drop causes them
to drop their held items, fall causes them to fall over (and drop their
held items), throw makes them throw whatever item they are holding in
their active hand in a random direction, shove causes them to shove a
random person or mob around them, sit and stand make them buckle and
unbuckle themselves from a chair, and run and walk change their speed
intent. Seven second cooldown and on anarchy ruleset because it _is_ a
smite.
There is a large range of smites from the small pay docking to the
instant and absolute gib but it doesn't feel like there's a lot in for a
nuisance. This would give an option that lets all of the ghosts annoy
one person in particular as they struggle to play while ghosts interfere
with them and constantly make them drop their items and interfere with
their movements, which is obviously fun for the ghosts.
Also I personally think that it is very funny.
* new smite: deadchat control
---------
Co-authored-by: Sol N <116288367+flowercuco@users.noreply.github.com>
* Medical/Security records now use the max/min age.
* merge conflict
* Refactors crew records (#72725)
I have attempted or otherwise started this project at least 4 times. I
am sick of it being on my calendar. The code needs it. I need it.
- This makes crew records a proper datum rather than assigning
properties record.fields.
- General, medical, and security records are merged.
- Did some slight refactoring here and there for things that looked
obvious.
- Wanted states are now defined (and you can suspect someone through
sechud)
- pAI (unrelated but annoying) had some poorly named exported types that
i made more specific
- Job icons are moved back to the JS side (I wanted to get icons for
initial rank without passing trim)
<details>
<summary>previews</summary>
Editable fields & security console

Medical records

Look and feel of the more current version

</details>
TGUI'd some of the worst UIs in the game.
Creating new records is made much simpler.
Manifest_inject is made readable.
Probably bug fixes
🆑
refactor: Crew records have been refactored.
refactor: Medical records -> TGUI
refactor: Security records -> TGUI
refactor: Warrants console -> TGUI
qol: Players are now alerted when their fines are paid off.
qol: Cleaned up sec hud examination text.
qol: Adding and deleting crimes is easier.
qol: Writing crimes in the console sets players to arrest.
qol: You can now mark someone as a suspect through sec hud.
/🆑
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* I've got something that now actually works
Just got to incorporate the records into what players can actually see.
* Turns out that client has already been transferred after all
* Adds the past records in the TGUI records (they're kinda ugly but it works, so y'know)
* Whoops
* Hate you too sometimes Prettier
* Fixes ghost roles using LITERAL records, which caused problems
* Fixes the leaks caused by ghost roles not getting their name right because of the stupid freaking special() proc
* I hate list operations man they're so stupid
* Fixes the stars on the crew manifest!
---------
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Admin Request: Trigger Event Panel Includes a Gear on Events That Have Admin Setups (#73151)
## About The Pull Request

Admin events with admin setups now have a gear icon on the right of the
button.
## Why It's Good For The Game
Requested by @ NamelessFairy for future admin compatibility development
and a small indication in game of potentially more customizable events
for... well, admin events!
## Changelog
🆑
admin: There's a cog next to events you can trigger if it has an admin
setup.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Admin Request: Trigger Event Panel Includes a Gear on Events That Have Admin Setups
---------
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Refactors Admin Setups on Forced Events + Refactors Vending Sentience + Refactors Shuttle Loans (#72998)
- [x] TEST EVERYTHING
tested:
- Pirates
- Vending Machines
- Shuttle Catastrophe
- Anomalies
- Immovable Rod
- Sandstorms
- Scrubber Overflow
- Stray Meteor
- Madness
- Department Revolt (Well obviously, it is my super robust code after
all)
- Shuttle Loan
- Mass Hallucination
- Heart Attack
- False Alarm
Disease Outbreak is probably fine aha... It correctly reports that there
are no candidates before aborting.
allow you to let the game decide where previously you had to choose!
I need to refactor and datumize how admins set up special conditions on
forced events, so I did! Now `/datum/event_admin_setup` handles admin
settings, with a few prototypes to make it easier to give events admin
options in the future. This was exhausting and what 90% of the pr is.
The code was so bad I could not datumize the admin part of it so I
cleaned it up, making a lot of things in the event get decided in
`setup()` where they should.
The code was so bad I could not datumize the admin part of it so I
cleaned it up AS WELL, by datumizing the shuttle loans. Should be easier
to add more types in the future, actually kinda stoked.
This is preparation for a tgui change to ForceEvent.ts an admin has
requested. Phew!
🆑
refactor: Refactored a bunch of admin-related event code, hopefully you
won't notice much
admin: ... But you specifically may notice some minor differences. Raw
inputs changed into tgui ones, minor soul removal, etc.
/🆑
* remove override
* merge conflict
* dm update
* merge conflict
---------
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* more sdql2 wrapper procs (#73336)
## About The Pull Request
adds findtext (+ex), view, viewers, rectangle turfs and flick as sdql2
wrappers
## Why It's Good For The Game
more fun admin stuff
## Changelog
🆑
admin: adds findtext (+ex), view, viewers, rect_turfs and flick as sdql2
wrappers
/🆑
* more sdql2 wrapper procs
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* literally just hook asay into tgui say (#73212)
## About The Pull Request
pressing f3 now opens asay in tgui say
## Why It's Good For The Game

also fixes double-escaped special characters caused by #72407 and
finally gets rid of the gross regular tgui input popup
## Changelog
🆑
fix: asays are no longer double-escaped
admin: asay now uses tgui say
/🆑
---------
Co-authored-by: Scriptis <scriptis@ duck.com>
* literally just hook asay into tgui say
---------
Co-authored-by: scriptis <scriptif@gmail.com>
Co-authored-by: Scriptis <scriptis@ duck.com>
* Converts blindness and nearsightedness to status effects, scratches some VERY dumb blindness handling that resulted in mobs becoming "incurably" blind
* Fixes the conflicts and makes shit compile!
* Fixes other things that didn't show up because I hadn't updated
* Fixes the lints.
* Okay NOW it's ready (please don't add anything else that touches blindness I beg you)
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* sending a message with telepathy (or an abductor gadget or prayer response) now gives your target a balloon alert (#73087)
## About The Pull Request
revenant telepathy, genetic telepathy, eldritch telepathy, and split
personality communing now give the person you're sending a message to a
balloon alert to get them to check their chat window
EDIT: also added prayer responses, abductor messaging, and abductor mind
control to this list
EDIT: also added additional feedback for antimagic blocking telepathy
and tinfoil blocking abductor mind control
EDIT: also changed the telepathy reception message to more closely
resemble the prayer response one (they're still not identical, though)



I tested the prayer stuff too, you'll just have to trust me on that one.
## Why It's Good For The Game
fixes https://github.com/tgstation/tgstation/issues/73031
## Changelog
🆑 ATHATH
qol: Revenant telepathy, genetic telepathy, eldritch telepathy, split
personality communing, prayer responses, abductor-to-abductee messaging,
and abductor mind control now give the person you're sending a message
to a balloon alert to get them to check their chat window.
qol: Failing to send a telepathic message and failing to use abductor
mind control on someone now gives better feedback.
tweak: The telepath-ee notification message has been slightly altered.
/🆑
* sending a message with telepathy (or an abductor gadget or prayer response) now gives your target a balloon alert
---------
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
* Fixes a spelling error in the Reload Configuration confirmation dialog. (#73129)
## About The Pull Request
This, as the title states, fixes a spelling error in the confirmation
dialog for the Reload Configuration verb.
Specifically, it changes "modificat**oi**ns" to "modificat**io**ns".
## Why It's Good For The Game
It's nice to not have to look at spelling errors.
## Changelog
🆑
spellcheck: The word "modifications" is now spelled correctly in the
Reload Configuration confirmation dialog.
/🆑
* Fixes a spelling error in the Reload Configuration confirmation dialog.
---------
Co-authored-by: sergeirocks100 <31294280+sergeirocks100@users.noreply.github.com>
[NO GBP] Lazy Template Cordoning | Double Runtime Fix (#72709)
## About The Pull Request
Adds automatic cordoning to block reservations.
Also fixes an issue where ChangeTurf would cause SSicon_smoothing to
throw runtimes by calling QUEUE_SMOOTH regardless of initialization
completion
## Why It's Good For The Game
## Changelog
---------
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Change admin comm console alert sound [NO GBP] (#72637)
## About The Pull Request
The original sound I used for the admin comm/fax notification causes
confusion with shuttle uplink being enabled/disabled for various
reasons.
## Why It's Good For The Game
You wonder who disabled the shuttle, but it's just a fax.
## Changelog
🆑 LT3
admin: Changed admin comm/fax notification sound to be less confusing
/🆑
* Change admin comm console alert sound [NO GBP]
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Allows admins to skip some paper sanitization (#72553)
## About The Pull Request
This PR allows admins with R_FUN to create paper that doesn't sanitize
as much HTML as the default, player-accessible paper. Specifically, the
ability for admins with R_FUN to add images that papercode would
normally sanitise via HTML img tags.
## Why It's Good For The Game
I'd like to make some fancy papers to send as faxes, but the current
sanitization doesn't allow for images.

This was a fax I threw together in a few minutes after making the logo
## Changelog
🆑
admins: Admins with the appropriate permissions can now use HTML image
tags in paper and faxes.
/🆑
* Allows admins to skip some paper sanitization
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* Improves duplication (#72572)
## About The Pull Request
- Improves duplication code significantly
- Removes 'perfectcopy', 'newloc', 'nerf' and 'holoitem' args. These
were made for holodeck items, but holodeck items do not use this proc so
it's since been unused.
- Adds many things to duplicate forbidden vars, such as external organs
(and fixes internal organs), overlays, and signals. The signal part is
what broke basic things for duplicated mobs, such as dying, huds, and
lying down.
- Duplicated mobs now properly carry over the identity of the old mob
without losing anything in the process, and now actually work as a mob,
with visible HUDs and everything. They also carry implants over now.
- Duplicated mobs also now no longer cut all their contents and rebuild
the entire mob, they don't carry overlays at all (so we don't have the
problems that come along with it, like clothing sprites from clothes
that don't exist).
- As a minor detail, makes DuplicateObject use snake_case instead, and
makes duplicate_forbidden_vars protected.
- Removes copy_contents_to because it's unused. It was originally meant
for Holodeck, but holodecks now use map templates so it's no longer used
in-game.


## Why It's Good For The Game
Closes https://github.com/tgstation/tgstation/issues/42212
Duplicating mobs no longer gives a broken mob, which was a common
problem with cloning pods (the admin pods, that you drop down onto
people).
Updates very old code to modern code standards.
This PR was made to help out
https://github.com/tgstation/tgstation/pull/71141 too, the author of
that PR is aware of this one.
## Changelog
🆑
refactor: Duplicating mobs now should now give properly functioning
mobs, as duplications in general have been reworked. Admins can feel
free to use the pod feature on people.
/🆑
* Improves duplication
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Organizes the lists in `admin_verbs.dm` because I got sick and tired of looking at them, and one in particular (#72151)
Title for the most part.
I was told, many, MANY, moons go, as a downstream host, that one of
these lists would rarely ever get touched.
What a fat lie that was.
The more I had to stare at this list the more infuriated I got with it.
Now, I just went ahead and organized most of the lists in this file, as
well as fixing comments to fit the format of `/* hey bozo */`. Where
applicable, things were organized into `/datums/admins/` and
`/client/proc` as well.
🆑 Jolly
code: The lists in admin_verbs.dm was organized to be made better. This
shouldn't affect the panels admins use at all, since they're already
alphabetized.
/🆑
* Literally already broke the sorting rules within 2 seconds
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
* adminhelp logs are now sanitized correctly (#72501)
## About The Pull Request
Properly sanitizes adminhelp replies to match the sanitization given to
the initial adminhelp

## Why It's Good For The Game
LogBuddy breaks if any admin replies to a message over multiple lines,
so this fixes that
## Changelog
🆑
admin: Logbuddy should no longer fail to parse logs with multi-line
adminhelp replies
/🆑
* adminhelp logs are now sanitized correctly
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>