Commit Graph

3878 Commits

Author SHA1 Message Date
SkyratBot
f05e2cfae3 [MIRROR] Adds a new front end for viewing logs | fixes the manifest log message too [MDB IGNORE] (#21525)
* Adds a new front end for viewing logs | fixes the manifest log message too

* Update code/modules/admin/admin_verbs.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-05-31 19:59:55 -04:00
SkyratBot
649c250702 [MIRROR] JSON Logging Take Two [MDB IGNORE] (#21329)
* JSON Logging Take Two

* Fixes the conflicts and makes our logs all comply with the new logging framework, hopefully.

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-05-28 18:10:07 -04:00
SkyratBot
a297c06a0c [MIRROR] Fixed a vulnerability introduced by the Request Music PR [MDB IGNORE] (#21462)
* Fixed a vulnerability introduced by the Request Music PR (#75691)

Admins can proccall the web_sound proc, completely bypassing the
shell_url_scrub done in other procs. Additionally, admins could just
directly modify the request URL stored in the request manager so that
it, again, bypasses the shell_url_scrub.

This PR just moves the shell scrubbing directly inside the proc, right
before the world.shelleo call, so that admins can't get around it with a
proccall.

* Fixed a vulnerability introduced by the Request Music PR

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2023-05-27 17:37:55 +00:00
SkyratBot
a779a21655 [MIRROR] Fix: player panel encoding [MDB IGNORE] (#21356)
* Fix: player panel encoding (#75584)

## About The Pull Request
Fixes ?typo? in player panel html. Now non English text looks fine.

## Why It's Good For The Game
Forks that allow non English names now can see them in player panel
properly.

## Changelog

🆑
admin: If you are on a downstream server using non-Latin fonts (e.g.
Cyrillic) for character/job names: The player panel encoding has been
fixed so it should show up properly for you now.
/🆑

* Fix: player panel encoding

---------

Co-authored-by: Furior <68264134+Furrior@users.noreply.github.com>
2023-05-24 17:04:19 +02:00
SkyratBot
724d407af6 [MIRROR] Refactored the TTS subsystem to more properly handle message garbling. Added a volume preference for TTS. [MDB IGNORE] (#21353)
* Refactored the TTS subsystem to more properly handle message garbling. Added a volume preference for TTS. (#75559)

TTS subsystem refactor.
---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Iamgoofball <iamgoofball@ gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>

* Refactored the TTS subsystem to more properly handle message garbling. Added a volume preference for TTS.

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
Co-authored-by: Iamgoofball <iamgoofball@ gmail.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
2023-05-22 14:06:38 -04:00
SkyratBot
d3f2386664 [MIRROR] Bible refactor [MDB IGNORE] (#21190)
* Bible refactor

* Delete book.dm

* updatepaths

* you're meaning to tell me i have to edit CODE??

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-05-16 09:34:10 -04:00
Tom
a9050ebd9b Fix SHOULD_NOT_SLEEP hit in highlander init (#75233) (#21204)
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
2023-05-15 18:49:57 -07:00
SkyratBot
0f31c29c52 [MIRROR] Warn admins about active Internet sounds [MDB IGNORE] (#21187)
* Warn admins about active Internet sounds (#75400)

## About The Pull Request

For various reasons an admin may not be aware there is currently an
Internet sound playing. (Usually TGUI related or just recently logged
in.)

This provides a warning and optional override if they try to start an
Internet sound while one is already running.

https://github.com/tgstation/tgstation/assets/83487515/af4197c9-bf9d-43e4-a407-a556b88a6d30

## Why It's Good For The Game

Less "HEY I WAS ALREADY PLAYING SOMETHING!"

## Changelog

🆑 LT3
admin: Admins are now warned if they are going to override a currently
playing admin midi
/🆑

* Warn admins about active Internet sounds

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-14 20:56:22 -07:00
SkyratBot
4948dafe7e [MIRROR] Request Console refactor [MDB IGNORE] (#20979)
* Request Console refactor

* wew

* wew

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-08 23:09:17 +01:00
SkyratBot
88e4c08a98 [MIRROR] New Medical job: The Coroner [MDB IGNORE] (#20963)
* New Medical job: The Coroner

* Fixes coroner (code-side) (#21005)

* Fixes coroner

* Update jobs.dm

* trailing newline

* wew

* VR Replacements

* w

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-05-08 03:44:11 +01:00
SkyratBot
abf148d62b [MIRROR] World Initialization Refactor [MDB IGNORE] (#20755)
* World Initialization Refactor

* Update .github/CODEOWNERS

* Update code/__HELPERS/global_lists.dm

* Add logging for manually changing your targeted zone (#72814)

See title.
Surgery hud is exempt from this.

Requested by @Mothblocks

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>

* eee

* Update tgstation.dme

---------

Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-26 22:46:55 +01:00
SkyratBot
ae475697c0 [MIRROR] Corrects record_feedback()'s copy/paste comment [MDB IGNORE] (#20777)
* Corrects record_feedback()'s copy/paste comment (#74962)

## About The Pull Request

Corrects `record_feedback()`'s copy/paste comment.

## Pointless history

Originally being added in e2a8a5e, it kept its name and args for quite a
few years, that was until #32188 which had it renamed to
`record_feedback` and its args pretty much doubled. In between these
times the known copy/paste comment was already around, but that wasn't
updated, until now apparently.

* Corrects record_feedback()'s copy/paste comment

---------

Co-authored-by: Zandario <zandarioh@gmail.com>
2023-04-25 22:38:37 -07:00
SkyratBot
1f56d7a7df [MIRROR] Non-random events now provide a cause in their deadchat broadcast [MDB IGNORE] (#20757)
* Non-random events now provide a cause in their deadchat broadcast

* Update _event.dm

* change proc

* Update _event.dm

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-04-25 18:44:12 -07:00
SkyratBot
83382bf1f0 [MIRROR] Removes network ID and some minor other things [MDB IGNORE] (#20629)
* Removes network ID and some minor other things

* Update thelizardsgas.dmm

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-04-18 15:57:55 -07:00
GoldenAlpharex
5dad18e984 [FUCK] Fixes our whitelist system not letting people in when whitelisted and getting on for the first time (#20614)
Fixes our whitelist system not letting people in when whitelisted and getting on for the first time
2023-04-17 22:13:29 +00:00
SkyratBot
636b91ee0c [MIRROR] Fixes forcing night shift on/off [MDB IGNORE] (#20542)
* Fixes forcing night shift on/off (#74657)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/74587
When nightshift is forced on/off by an admin the subsystem is in an idle
state, so the tick check always fails and the lights don't change.

## Changelog

🆑 LT3
fix: Fixed forcing night shift lighting on/off
/🆑

* Fixes forcing night shift on/off

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-04-13 22:07:56 -07:00
SkyratBot
196e3afb8c [MIRROR] Failed logins should log the ckey, not the key [MDB IGNORE] (#20498)
* Failed logins should log the ckey, not the key

* Update IsBanned.dm

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-04-12 16:42:59 +00:00
SkyratBot
e7500c6776 [MIRROR] Refactors CTF [MDB IGNORE] (#20457)
* Refactors CTF (#74342)

## About The Pull Request
CTF code is rather infamous for being poor and hard to actually work
with, I wanted to add a feature for a mapping march project but the code
would not allow for it, so here we are refactoring the entire thing.
## Why It's Good For The Game

Replaces some really bad code with slightly less bad code. Should make
it much easier to add features onto CTF in the future.
## Changelog
🆑
refactor: CTF has been entirely refactored.
fix: Respawn times for CTF now work.
qol: CTF players are alerted during control point games when one team is
half way to winning.
admin: CTF instagib mode can now be toggled from the secrets panel.
/🆑

* Refactors CTF

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-04-12 09:08:29 -07:00
SkyratBot
b1dbb4b742 [MIRROR] admin sound playing now tells the key, not the ckey [MDB IGNORE] (#20500)
* admin sound playing now tells the key, not the ckey (#74650)

## About The Pull Request
its meant for players, ckey is useless there
also mentions playing a sound, not specifically music

## Changelog
too minor to mention

* admin sound playing now tells the key, not the ckey

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-04-11 20:24:43 -07:00
SkyratBot
6155c6d1e4 [MIRROR] Fixes the basketball and thunderdome baseturf issue. [MDB IGNORE] (#20380)
* 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>
2023-04-06 16:14:01 -07:00
SkyratBot
9927170b49 [MIRROR] Auxtools is now a config opt-in [MDB IGNORE] (#20361)
* 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>
2023-04-06 02:08:19 +01:00
SkyratBot
95a8694d83 [MIRROR] Fix DMAPI errors regarding validated chat commands [MDB IGNORE] (#20327)
* Fix DMAPI errors regarding validated chat commands (#74495)

Always check the runtime log

* Fix DMAPI errors regarding validated chat commands

---------

Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
2023-04-04 18:57:12 -07:00
SkyratBot
2d533a159f [MIRROR] Block connections to the server from new ckeys if the panic bunker is up and not in interview mode [MDB IGNORE] (#20326)
* 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>
2023-04-04 16:23:32 -07:00
Gandalf
45552656e6 Refactor SPELL_REQUIRES_OFF_CENTCOM to SPELL_REQUIRES_STATION (#73348) [MIRROR] [MISSED MIRROR] (#20320)
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>
2023-04-04 16:32:25 +01:00
SkyratBot
17a83e88dc [MIRROR] Play Internet Sound, Admin CKEY instead of character name [MDB IGNORE] (#20274)
* 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>

![dreamseeker_szXvINGPN6](https://user-images.githubusercontent.com/2568378/229268382-8f57d039-50e3-4132-8f56-447ae117beb1.png)

</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>
2023-04-02 22:12:50 +01:00
Gandalf
afa770a886 Replace Chaos Event System with ICES - Intensity Credit Event System [LT3] (#20272)
* remove chaos/event vote system

* Delete event_chaos_system.dm

* someone was using those

* Update cme.dm

* coffee before commit

* Update event_frequency.dm

* Update cme.dm

* disable changeling

* Update tgstation.dme

* Update supermatter_surge.dm

* change to weight config C, rename dm

* typo, meteor minplayer

* too high

* Update random_events.dm

* weighting updates

* better documentation

* this file is gone, SM surge start time

* reduce scrub

* min player/time for extreme CME/threat meteors

* cme

* Update cme.dm

* cme

* idk why this reverted

* event credits

* intense event credits

* Update random_events.dm

* max occurrences

* new meteor warning

* Update tgstation.dme

* intensity credits, yo

* put ICES in a module folder

* move readme

* Update readme.md

* change logging

* Update events.dm

* Update ICES_event_config.dm

* Update events.dm

* Update events.dm

* Update events.dm

* remove debug logging

* minplayer balancing

* ICES panel

* ope

* Update ICES_event_mods.dm

* tgui panel

* ices_data

* whoa useful info?

* event init

* Update configuration.dm

* Update ICES_event_config.dm

* ...

* make those vars

* Update ICES_tgui.dm

---------

Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2023-04-02 16:50:17 +01:00
Gandalf
1e9cdf0528 Bluespace Artillery Overhaul(v2.0) (#16680)
* wew

* e

* Delete packs.dm

* e

* review stuff

* e

* Update bsa_cannon.dm

* Toggle BSA admin command

* Update admin_verb.dm

* Update admin_verb.dm

* Update bsa_cannon.dm

* E
2023-04-02 16:33:46 +01:00
SkyratBot
6f01701b92 [MIRROR] Highlander will not be activated if admins exit the highlander delay window. [MDB IGNORE] (#20250)
* 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>
2023-04-01 21:12:28 +01:00
SkyratBot
2eb6f58ca3 [MIRROR] Makes silicons able to receive headset messages from admins [MDB IGNORE] (#20239)
* Makes silicons able to receive headset messages from admins (#74387)

## About The Pull Request

This just makes silicons able to receive headset messages from admins,
as stated in the title.

It doesn't really make sense from a technical point of view why a
silicon mob should not be able to receive headset messages from admins,
seeing as they have a built in radio. As long as their radio is intact
they will get the message.

Some testing screenshots-- it is working as intended.

<details>
<summary>Balloon alert still displays</summary>

![image](https://user-images.githubusercontent.com/13398309/229042590-b9511db7-1072-469d-9ca8-b64b0b208e0d.png)

</details>

<details>
<summary>No radio/headset still prevents message from being
sent</summary>

![image](https://user-images.githubusercontent.com/13398309/229042446-241c1ffa-11f5-4050-b6fe-beabcddb79fe.png)

![image](https://user-images.githubusercontent.com/13398309/229042420-d6414fc2-b64c-4a6f-af41-7ac364815cdc.png)

</details>

Closes https://github.com/Skyrat-SS13/Skyrat-tg/issues/14164

## Why It's Good For The Game

Fixes an oversight, more tools for admins to play with is always nice.

## Changelog

🆑
fix: admins may now send headset messages to silicon mobs as long as
they have a radio
/🆑

* Makes silicons able to receive headset messages from admins

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-04-01 21:11:28 +01:00
SkyratBot
3464b6bfb2 [MIRROR] Refactors Regenerate Organs, and a few organ helpers [MDB IGNORE] (#20094)
* Refactors Regenerate Organs, and a few organ helpers

* MERGE CONFLICTS

* GETORGANSLOT > GET_ORGAN_SLOT

* GETORGAN > get_organ_by_type

* lint repairs

* more lint

* Update tgstation.dme

* Update surgery_step.dm

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-04-01 02:51:06 +01:00
Gandalf
e4b4d4d3c0 MISSED MIRROR [Lints Against Unmanaged Local Defines] (#20204)
* https://github.com/tgstation/tgstation/pull/74333

https: //github.com/tgstation/tgstation/pull/74333
Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* var stuff

Co-Authored-By: tattle <66640614+dragomagol@users.noreply.github.com>

* vars

* Update sol_fed.dm

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
2023-04-01 01:15:22 +01:00
SkyratBot
2a89a9f3af [MIRROR] Implement TGS DMAPI 6.1.0 features [MDB IGNORE] (#20201)
* Implement TGS DMAPI 6.1.0 features

* Update ticker.dm

* E

* Revert "E"

This reverts commit 23e33ae17d0a2ff58063940ca7c115113c0a02aa.

---------

Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-31 14:50:32 +01:00
SkyratBot
0f653cc966 [MIRROR] Music Widget Modifications + Request Music Verb [MDB IGNORE] (#20186)
* Music Widget Modifications + Request Music Verb

* Apply suggestions from code review

Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>

---------

Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-03-31 02:48:06 +01:00
SkyratBot
b8c92a8c27 [MIRROR] Fix Respawn Character Admin Verb [MDB IGNORE] (#20159)
* 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>
2023-03-29 22:31:58 +01:00
SkyratBot
a5edc9fea2 [MIRROR] Curators now have D-notice newscaster access, Officers can issue warrants [MDB IGNORE] (#20137)
* 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>
2023-03-29 22:29:59 +01:00
SkyratBot
6e029611ac [MIRROR] Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test [MDB IGNORE] (#19959)
* Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test

* MISSED MIRROR https://github.com/tgstation/tgstation/pull/71606

* Update modules_supply.dm

* Update tgstation.dme

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:26:52 +01:00
SkyratBot
0d2ba72250 [MIRROR] Replaces internal_organs with organs [MDB IGNORE] (#19871)
* 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>
2023-03-24 13:27:48 -04:00
SkyratBot
4f706b807c [MIRROR] Allows populating new vv'd lists [MDB IGNORE] (#19964)
* 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>
2023-03-19 07:58:26 -07:00
SkyratBot
408f0e9c5a [MIRROR] Audits usage of isanimal() vs isanimal_or_basic_mob() [MDB IGNORE] (#19938)
* 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>
2023-03-18 03:15:31 -07:00
SkyratBot
18af69f81d [MIRROR] Fixes the null law check for the law panel not working adds an alert for non-observers using it [MDB IGNORE] (#19767)
* 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>
2023-03-11 01:42:17 +00:00
SkyratBot
26f7c10ecb [MIRROR] Refactors admin event setup (again) [MDB IGNORE] (#19728)
* Refactors admin event setup (again)

* Update pirate_event.dm

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:48:54 +00:00
SkyratBot
fa7538b5dc [MIRROR] Adds the "Law panel", a control center for admins interacting with silicon laws [MDB IGNORE] (#19655)
* Adds the "Law panel", a control center for admins interacting with silicon laws

* Update admin_verbs.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:10:46 +00:00
lessthanthree
7305d12d29 [MANUAL MIRROR] Nightvision Rework (In the name of color) (#19608)
* 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

![image](https://user-images.githubusercontent.com/58055496/215683654-587fb00f-ebb8-4c83-962d-a1b2bf429c4a.png)

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>
2023-03-10 04:17:22 +00:00
SkyratBot
50871407e4 [MIRROR] Add config to validate admin discord commands with discord links and admin ranks [MDB IGNORE] (#19711)
* 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>
2023-03-10 02:42:44 +00:00
Yaroslav Nurkov
2c0094e852 Adminhelps into mentorhelps converting. (#17788)
* 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>
2023-03-05 21:02:16 +00:00
SkyratBot
40429f0bb4 [MIRROR] new smite: deadchat control [MDB IGNORE] (#19656)
* 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>
2023-03-04 19:44:05 +00:00
SkyratBot
1f753d5d4c [MIRROR] Refactors crew records (#72725) + Medical/Security records now use the max/min age. [MDB IGNORE] (#19078)
* 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

![CM6d74brnC](https://user-images.githubusercontent.com/42397676/213950290-af6cfd76-eb8b-48e9-b792-925949311d9a.gif)

Medical records

![bFJErsvOaN](https://user-images.githubusercontent.com/42397676/214132534-59af1f8c-9920-4b51-8b27-297103649962.gif)

Look and feel of the more current version

![cxGruQsJpP](https://user-images.githubusercontent.com/42397676/214132611-0134eef0-e74c-4fad-9cde-328ff7c06165.gif)

</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>
2023-02-28 14:14:24 -05:00
theOOZ
1959b3f3ba [Semi-Modular] Fixes species randomize_features not applying properly on mob spawn (#19262)
* initial commit

* conflict

* random_name runtime

* random_name fix test

* Revert "random_name fix test"

This reverts commit e7c56cb3a03a36107ba0bd7acca0d83ceb711031.

* random_name fix test 2

* silly

* Revert "random_name fix test 2"

This reverts commit 9286f46c49f2846048c35c84f8ed8339ff0e6d62.
2023-02-26 03:48:35 +00:00
SkyratBot
ed09da54b9 [MIRROR] Fixes being able to breathe in space, fixes any lingering biotype related damage issues [MDB IGNORE] (#19206)
* Fixes being able to breathe in space, fixes any lingering biotype related damage issues

* Update damage_procs.dm

* Update damage_procs.dm

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-02-21 00:42:28 -08:00
SkyratBot
afedb2b035 [MIRROR] Admin Request: Trigger Event Panel Includes a Gear on Events That Have Admin Setups [MDB IGNORE] (#19184)
* Admin Request: Trigger Event Panel Includes a Gear on Events That Have Admin Setups (#73151)

## About The Pull Request

![image](https://user-images.githubusercontent.com/40974010/216196611-64c943f1-7919-4be5-bd85-021d6c228f37.png)

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>
2023-02-12 12:17:16 -08:00