Commit Graph

2187 Commits

Author SHA1 Message Date
SkyratBot
761cdc3d20 [MIRROR] Station announcements cleanup [MDB IGNORE] (#24792)
* Station announcements cleanup

* Fix diffs

* Space indentation

* skyrat edits

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-05 01:58:16 -05:00
SkyratBot
99da88db82 [MIRROR] Reworks the styling of the announcements and expands major announcements to also be colourable. [MDB IGNORE] (#24596)
* Reworks the styling of the announcements and expands major announcements to also be colourable.

* Skyrat edits

* Skyrat edits

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-10-25 22:22:52 -07:00
SkyratBot
4970f36e37 [MIRROR] Basic drones [MDB IGNORE] (#24507)
* Basic drones

* Diffs

* Diffs

* Modular

* Modular

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-22 15:24:55 -04:00
SkyratBot
93314cf2f1 [MIRROR] Admin outfit popup wording [NO GBP] [MDB IGNORE] (#24504)
* Admin outfit popup wording [NO GBP] (#79132)

## About The Pull Request

I've read it 100 times, but it still confuses me every time. Annoying.
I don't know why you would need your pocket items as an admin, so maybe
I should've remove this popup entirely, but whatever.

Turns this:
<img alt="zVnjGznFWh"
src="https://github.com/tgstation/tgstation/assets/3625094/ed842d84-55c8-45da-9dc8-a7df65e28fcc">

Into this:
<img alt="mLPSl14FsE"
src="https://github.com/tgstation/tgstation/assets/3625094/dbf4569b-d2a8-4855-bd81-342c162788dd">

## Why It's Good For The Game

No more confusion

## Changelog

🆑
qol: changed wording of a popup in the admin dressing menu
/🆑

* Admin outfit popup wording [NO GBP]

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
2023-10-21 18:24:35 -04:00
SkyratBot
807846f7d6 [MIRROR] Updates signaler investigate code | Adds some nice QOL changes for signalers | Enforces cooldown on signaler circuitry [MDB IGNORE] (#24500)
* Updates signaler investigate code | Adds some nice QOL changes for signalers | Enforces cooldown on signaler circuitry (#78974)

## About The Pull Request

See title.
If someone was abusing signalers previously to cause server lag, going
into list signalers would actually cause even worse lag as byond sat
there and processed thousands of items into a string over and over,
which would cause string format operations on longer and longer strings,
resulting in more and more overhead. This is bad.
So instead there is now a limit to the size of the list, currently I
have that set to 500 although I am open to increasing and even reducing
the number.

I have also made signalers slightly more intuitive by having the
cooldown actually displayed in the ui as a tooltip instead of just being
a secret feature you didnt know about unless you code dived. Also made
the cooldown actually respected by things such as circuitry where it
didnt even implement the cooldown and would happily send as many signals
as you had items connected to your proximity circuit.
## Why It's Good For The Game

Admins won't accidentally kill the server by trying to parse a lag
machines signal list. Players lagging the server? No, how about the
admins trying to fix it!

## Changelog

🆑
qol: signalers now tell you their cooldown and also use balloon alerts
/🆑

* Updates signaler investigate code | Adds some nice QOL changes for signalers | Enforces cooldown on signaler circuitry

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-10-21 18:20:44 -04:00
SkyratBot
ce5e9e961b [MIRROR] Expands the SS13.lua module by adding loop helpers and functions to get the script runner. [MDB IGNORE] (#24470)
* Expands the SS13.lua module by adding loop helpers and functions to get the script runner. (#79081)

## About The Pull Request
`SS13.get_runner_client()` and `SS13.get_runner_ckey` will return the
client and the ckey respectively of the user who ran the lua script. Can
be unreliable after the first sleep or yield.
The SS13 module can now be made local as the tables that need to be
accessed globally have been moved to their own global variables.
Added `SS13.start_loop(time, amount, func)`, `SS13.end_loop(id)`,
`SS13.stop_all_loops()` that allow lua scripts to more easily make
loops. Removed the `timer` parameter from these functions, which
specified the timer subsystem to use.
Documentation on all new added functions have been added in the
lua/README.md

## Why It's Good For The Game
Getting the client who ran the script and the ckey that ran the script
is useful for self contained scripts that are looking for an entrypoint
(e.g. location to spawn some item/mob/structure). `dm.usr` is a special
variable used for other purposes and can be unreliable when used this
way even if there haven't been any sleeps or yields yet, so having a
dedicated variable and function to handle it makes things easier.

Being able to make the SS13 module local allows for more self-contained
scripts. Although this isn't super helpful because `require` will still
load the same object for all lua scripts loaded on the same state.

Basic looping helpers allow for lua scripts to more easily create loops
without needing to recursively do a `set_timeout` or to do a
`while(true) do SS13.wait(1) end` loop.

## Changelog
🆑
admin: Added SS13.get_runner_ckey() and SS13.get_runner_client() which
stores the ckey and returns the client of the user who ran the lua
script. Can be unreliable if accessed after sleeping.
admin: Added timer loop helpers to the SS13.lua module, check the docs
admin: The SS13.lua module can now be made local without causing any
errors.
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Expands the SS13.lua module by adding loop helpers and functions to get the script runner.

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2023-10-20 14:28:11 -07:00
SkyratBot
05a3d03258 [MIRROR] sdql readout now displays location of turfs properly [MDB IGNORE] (#24317)
* sdql readout now displays location of turfs properly (#78951)

## About The Pull Request

previously

![image](https://github.com/tgstation/tgstation/assets/70376633/d365430a-7775-417d-893a-1e559601de8f)

now

![image](https://github.com/tgstation/tgstation/assets/70376633/636eac5f-175e-4983-a096-bffa7181bd48)

## Why It's Good For The Game

bug or something bad

## Changelog
🆑
fix: sqdl2 query readout displays location of turfs properly
/🆑

* sdql readout now displays location of turfs properly

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-10-13 15:11:35 -04:00
SkyratBot
39ffa4e974 [MIRROR] count station food verb counts station food [MDB IGNORE] (#24235)
* count station food verb counts station food (#78864)

## About The Pull Request

it checked for food not on the station

## Why It's Good For The Game

bug bad

## Changelog
🆑
fix: count station food verb now counts food only onstation
/🆑

* count station food verb counts station food

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-10-10 11:04:27 -07:00
SkyratBot
0c9149bf35 [MIRROR] Refactor gib code to use bitflags and have documentation [MDB IGNORE] (#24143)
* Refactor gib code to use bitflags and have documentation

* Modular updates

* Modular updates

* Modular updates

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-09 15:00:17 -04:00
SkyratBot
c5c79aa929 [MIRROR] Adds respawn config option forcing respawn as another character slot [MDB IGNORE] (#23943)
* Adds respawn config option forcing respawn as another character slot (#78459)

## About The Pull Request

Adds an option to the respawn config which forces you to pick another
character (slot) before you respawn.

## Why It's Good For The Game

Just an idea i'm throwing out there, not necessarily pushing for it to
be enabled on any servers.

Respawning as an alternative character can be a good way to make people
less frustrated at dying, particularly if paired with the cooldown
config that already exists:

"Oh shucks, I died and got my head cut off and got absorbed and got
spaced by some changeling. I won't be able to finish my project or
whatever. At least in 15 minutes I may be able to join as my botanist
character to try something else rather than having to wait an hour and a
half for the round to tick over."

Also nice for downstream support.

(Obviously you can just, *ban* people who respawn as the same character,
use an honor system, but codifying it seems better than not.)

## Changelog

🆑 Melbert
config: Adds a config option for player respawning that enables
respawns, but forces you pick a new character.
config: "NORESPAWN" has been replaced with "ALLOW_RESPAWN 0". Unlimited
respawns is "ALLOW_RESPAWN 1" and character limited respawns is
"ALLOW_RESPAWN 2".
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Adds respawn config option forcing respawn as another character slot

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-10-07 16:45:23 -04:00
SkyratBot
1e6e0912c6 [MIRROR] offical to official [MDB IGNORE] (#24153)
* offical to official (#78762)

## About The Pull Request
Fixes "offical" to "official" in several locations - admin fax panel,
admin newscaster, art patron text, a photocopier template, and a corgi
tail pin item description. Adds this common misspelling to the
check_grep.sh ci tool.
## Why It's Good For The Game
I have corrected the typo manually every single time I have sent a fax
from Central Command.
## Changelog
🆑
spellcheck: "offical" has been officially corrected to "official" in
several official locations.
/🆑

* offical to official

---------

Co-authored-by: Isratosh <Isratosh@hotmail.com>
2023-10-06 18:54:19 -07:00
SkyratBot
8ca9f8bd9e [MIRROR] Adds add/remove mob ability to VV dropdown menu [MDB IGNORE] (#24009)
* Adds add/remove mob ability to VV dropdown menu (#78652)

## About The Pull Request

You add spells to mobs via a dropdown in VV but mob abilities via
marking the mob and pressing a button in the admin status panel.
I like opening the VV menu more than I like marking mobs (I am usually
going to need to open it anyway) so I added an alternate route in the VV
dropdown.

## Why It's Good For The Game

It's better for my personal workflow.

## Changelog

🆑
admin: Mob abilities can be granted to arbitrary mobs via the VV menu in
a similar way to spells.
/🆑

* Adds add/remove mob ability to VV dropdown menu

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-29 07:45:55 -04:00
SkyratBot
067a6a1485 [MIRROR] Fixes incorrect logging for some admin secrets [MDB IGNORE] (#23991)
* Fixes incorrect logging for some admin secrets (#78641)

## About The Pull Request

Open admin secrets panel try to power full station
![Screenshot
(307)](https://github.com/tgstation/tgstation/assets/110812394/879b0f0f-d05d-4d8a-801d-adc4e89ff067)

Get stack trace
![Screenshot
(308)](https://github.com/tgstation/tgstation/assets/110812394/1b0491c3-7b00-4985-a706-fa16bee5792f)

Cause we didn't pass a list to log as its data. instead we passed a
number `1` for no reason
![Screenshot
(311)](https://github.com/tgstation/tgstation/assets/110812394/84108cd2-eab4-43eb-8d21-abdc9047d80a)

This fixes that for this event & some others

## Changelog
🆑
fix: removes incorrect stack traces when using some admin secrets
/🆑

* Fixes incorrect logging for some admin secrets

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-09-28 19:58:53 -04:00
SkyratBot
c7c102f5a0 [MIRROR] Quick Harddel Fixeees [MDB IGNORE] (#23975)
* Quick Harddel Fixeees

* Update manifest.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-28 01:33:46 -04:00
SkyratBot
8074d8e5b4 [MIRROR] Adds an Admin Tool for the DNA Infuser [MDB IGNORE] (#23979)
* Adds an Admin Tool for the DNA Infuser (#78496)

## About The Pull Request

Adds some an vv admin tool for DNA Infusions. The tool will
automatically grant all of the relevant organs to the target.

![pic1](https://github.com/tgstation/tgstation/assets/21979502/e34548af-9648-4842-a089-02cffc9989cf)

![pic4](https://github.com/tgstation/tgstation/assets/21979502/1c0aa855-e284-4891-800e-717383425b76)

![pic3](https://github.com/tgstation/tgstation/assets/21979502/c955a35f-5835-4271-88cb-f1ab198cb8df)
## Why It's Good For The Game

It was already possible to do this with the organ manipulation tool, but
that's a lot slower and probably has issues when replacing brains. This
new tool will hopefully streamline the testing of new DNA infuser
entries.
## Changelog
🆑
admin: There is now a tool to apply a DNA Infuser entry to any human.
/🆑

* Adds an Admin Tool for the DNA Infuser

---------

Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
2023-09-27 23:30:51 -04:00
SkyratBot
a143e713b8 [MIRROR] Prevents players from getting antagonist if they can't qualify for any role beforehand. [MDB IGNORE] (#23874)
* Prevents players from getting antagonist if they can't qualify for any role beforehand.

* Update job.dm

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-24 07:01:16 -04:00
SkyratBot
3f068acc58 [MIRROR] Replaces "Bread" smite with "Objectify" [MDB IGNORE] (#23835)
* Replaces "Bread" smite with "Objectify" (#78445)

Instead of turning people into bread, the bread smite can now turn people into any object (including bread).

* Replaces "Bread" smite with "Objectify"

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-21 02:57:54 -04:00
GoldenAlpharex
4086fda4c9 The Player Panel will now list out the player's Player Ranks (#23621)
* Displays the player ranks into the player panel

* Player ranks can now be checked without considering the admin bypass
2023-09-10 20:56:15 -04:00
SkyratBot
1492750967 [MIRROR] The Create Command Report verb has the option to prevent printing reports now [MDB IGNORE] (#23600)
* The Create Command Report verb has the option to prevent printing reports now (#78208)

## About The Pull Request

Title summarizes all.
## Why It's Good For The Game

<details>

![image](https://github.com/tgstation/tgstation/assets/47710522/ae71a6f9-b22d-467a-8da9-6a0bec576215)

</details>

Prevents this nightmare on a comms console during an event with
particularly high centcom announcement traffic.

No, don't come at me with "it's soul", it's just highly annoying to deal
with and having the option to prevent it is better. If you leave a
downvote and tell me in the comments that I'm "taking" soul out of the
game then I will come find you and actually take your soul out of your
body.
## Changelog
🆑
admin: The "Create Command Report" verb now has the option to not print
report papers at communications consoles.
/🆑

* The Create Command Report verb has the option to prevent printing reports now

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
2023-09-09 16:54:39 -04:00
SkyratBot
e3f8dd884e [MIRROR] Better alert/announcment sounds and Status displays [MDB IGNORE] (#23481)
* Better alert/announcment sounds and Status displays

* skyrat edits

* Update status_display.dmi

* Update flavor_misc.dm

* Update communications.dm

* skyrat edits

* Update status_display.dmi

* Update _sm_delam.dm

* typo

* Update status_display.dmi

* Update status_display.dmi

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-09-03 00:43:12 -07:00
SkyratBot
103fcd9697 [MIRROR] Don't gib a player if you click the 'X' button in the confirmation window [MDB IGNORE] (#23449)
* Don't gib a player if you click the 'X' button in the confirmation window (#78043)

## About The Pull Request

Fixes #78011
Does the same thing also for the "force everyone to play as a random
character" button.

## Why It's Good For The Game

It shouldn't do that.

## Changelog

🆑
fix: Prevents admins from accidentally gibbing people by closing a
confirmation window.
/🆑

* Don't gib a player if you click the 'X' button in the confirmation window

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-01 17:12:12 -07:00
SkyratBot
00a584184b [MIRROR] Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories [MDB IGNORE] (#23346)
* Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories (#77806)

## About The Pull Request

Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/23214

This fixes a few bugs and cleans up code a bit:

1) Greyscale colors that were changed via the VV modify greyscale menu
will now update the mob's worn clothing accordingly. It wasn't doing
this before. Accessories in particular needed a bit of extra work to
update in this way because it wasn't coded with this case in mind.

2) Accessories will call `equipped()` and `dropped()` when they get
added/removed. This will fix issues like item flags being incorrectly
set, action bars not being added, etc.

3) Accessories will now be returned by `get_all_gear()`. This will
probably fix a few issues I'm not aware of.

## Why It's Good For The Game

<details><summary>Works</summary>

![dreamseeker_xijzQB0ALa](https://github.com/tgstation/tgstation/assets/13398309/eccb35d5-e1ea-4e2c-9906-f5b8c2187d24)

</details>

<details><summary>get_all_gear()</summary>

![dreamseeker_WsG0Uu2tIe](https://github.com/tgstation/tgstation/assets/13398309/d5c272d4-1990-454c-b48f-4da7b6a5f859)

</details>

<details><summary>get_equipped_items()</summary>

![dreamseeker_qe4hMngAO3](https://github.com/tgstation/tgstation/assets/13398309/06469b93-2a58-49db-be7f-c748576bf481)

</details>

<details><summary>item_flags get set now, hopefully preventing future
issues related to that</summary>

![image](https://github.com/tgstation/tgstation/assets/13398309/29a0e25a-a88f-4547-99f8-888da6b85e4d)

</details>

## Changelog

🆑
fix: greyscale colors will now update on the mob when modifying them via
the VV menu
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* Fixes greyscale colors not updating when changing their colors via VV, and fixes some issues with accessories

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-08-26 16:38:29 -04:00
Bloop
3569f9fd94 [MISSED MIRROR] Loads Away Missions for Unit Testing (#76245) (#22534)
* Loads Away Missions for Unit Testing (#76245)

Hey there,

A pretty bad bug (#76226) got through, but it was fixed pretty quickly
in #76241 (cf92862daf). I realized that if
we were testing all the away missions, that this could theoretically get
caught and not happen again. Regardless, unit testing gateway missions
has been on my to-do list for a while now, and I finally got it nailed
down.

Basically, we just have a really small "station" map with the bare bones
(_teeny_ bit of fluff, maploading is going to take 30 seconds tops
anyways let me have my kicks) with a JSON map datum flag that causes it
to load all away missions in the codebase (which are all in one folder).
Just in case some admins were planning on invoking the proc on
`SSmapping`, I also decided to gate a `tgui_alert()` behind it because
you never can be too sure of what people think is funny these days (it
really does lock up your game for a second or so at a time).

I also alphabetized the maps.txt config because that was annoying me.

Things that break on production could(?) be caught in unit testing? I
don't know if the linked issue I mentioned above would have been caught
in retrospect, but it's likely to catch more than a few upcoming bugs
(like the UO45 atmospherics thing at the very top) and ensure that these
gateway missions, which tend to be the most neglected part of mapping,
stay bug-free.

This is also helpful in case someone makes a new away mission and wants
to see if stuff's broken. Helps out maptainers a bit because very, very
technically broken mapping will throw up runtimes. Neato.
Nothing that players should be concerned about.

Let me know if there's a better way to approach this, but I really think
that having a super-duper light map with the bare basics to load up
gateway missions and then all nine-ish gateway missions can sequentially
load during init. I can't think of a better way to do it aside from some
really ugly `#ifdef` shit. Also also, it has the added benefit of being
a map that will always load your away mission without touching a single
shred of config (and it's not likely to break if you follow sane
practices such as making your own areas)

* Update gateway_test.json

* Map Reset

* Gets rid of an area that was in a space turf

* Attempting to fix some runtimes

* Map Reset

* Lets remains spawn in xen water

* and acid, too

* Update remains.dm

* Removes extra airlock helper

* Delete research2.dmm

Surely this was a mistake?

* Merge branch 'master' into pr/22534

* Map Reset

* Update snowdin.dmm

* Revert "Update snowdin.dmm"

This reverts commit c860c6f4fbb463954d5b8da1b494305a2f45b44b.

* Update snowdin.dmm

* Update snowdin.dmm

* Revert "Update snowdin.dmm"

This reverts commit 47e7916056a47e12adfcb8b94b9748b7e56f378d.

* Update snowdin.dmm

* Revert "Update snowdin.dmm"

This reverts commit c82576bee69e09eda649d3cbf63d96dddaeeb380.

* Update immerse.dm

* Revert "Update immerse.dm"

This reverts commit 2ad622f3029a3ed17a05f8269299d0f25e747d11.

* Update immerse.dm

* Update maps.txt

* Fix hard dels in area spawn

* Update gateway_test.json

* Actually we can just get away with keeping a list of types here, no refs needed.

* Update area_spawn_subsystem.dm

* Update automapper.dm

* Let's just test to see if getting rid of black mesa stops the segfaults...

* Let's try deleting astrum too

* Revert "Let's just test to see if getting rid of black mesa stops the segfaults..."

This reverts commit de9a05708d451abbb78a635a3e03b2f460004496.

* Revert "Let's try deleting astrum too"

This reverts commit 2121a6357a54faf5719a42a762ba8b4698c008fb.

* Update waypointstation.dmm

* Update blackmesa.dmm

* Update decaySS.dm

* Update gateway_test.json

* Revert "Update gateway_test.json"

This reverts commit 93adc08819f05aecc8599980385e3fb10d02a1d2.

* Testing

* Revert "Testing"

This reverts commit 1d476d236953daac6adf59b93e56f2fab218085b.

* Testing

* Revert "Testing"

This reverts commit de05a74636c1f43e50fb7ec9f24978d270db4b88.

* Now try and actually fix the stupid thing

* Update clockwork_research.dm

---------

Co-authored-by: san7890 <the@san7890.com>
2023-08-19 20:51:34 -07:00
SkyratBot
73b20dd8e9 [MIRROR] Few CTF changes. [MDB IGNORE] (#23192)
* Few CTF changes. (#77533)

## About The Pull Request
- Fixed that if you chose to press a cross while toggling instagib mode
it will react as `Yes` instead of just canceling
- Added description for assault class (with shotgun and rocket gloves)
so you know that you have faster moving speed and lover armor.
- Fixed that when you already chose a team and try to click on other
teams spawners you'll be asked to consider other teams to make them
equal.
- Decreased time of recharge start delay from 20 seconds to 12, because
when it takes soo much to regen your shield its just faster to die and
respawn with a new one.
- Added 1.7 scope to marksmans rifle.
- Little cleanup.

**Everything is arguable.**
**Ask if something is unclear or confusing.**
## Why It's Good For The Game
Less buggs, less wondering why do you die in 1 hit and others don't, a
little bit of consistency.
## Changelog
🆑
qol: CTF assault class' (with shotgun and rocket gloves) description now
mentions that it has low armor and increased moving speed.
balance: Decreased CTF recharge start delay for shields from 20 seconds
to 12 seconds.
balance: Marksmans rifle now has 1.7 scope.
fix: When toggling instagib mode for CTF and pressing a cross now will
just cancel instead of proceeding.
fix: When clicking on other CTF teams spawners and after you already
chose your team no more will ask you to join some other team to make
them even.
/🆑

* Few CTF changes.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-08-18 23:08:52 -04:00
SkyratBot
4ef9c407d6 [MIRROR] Add Mob Ability menu now displays ability names before typepath [MDB IGNORE] (#23167)
* Add Mob Ability menu now displays ability names before typepath (#77682)

## About The Pull Request

Look at this menu:

![image](https://github.com/tgstation/tgstation/assets/7483112/2ecf0839-a7b6-4038-b772-7ffcdec8bd8d)

Isn't this basically useless?
When you try to add a mob ability to a mob, it displays a huge list of
typepaths.
Literally none of the typepaths are short enough that they even fit in
the window, and the data about what the ability actually is usually lies
at the end of the typepath.
This is clearly silly.

I made it look like this instead:

![image](https://github.com/tgstation/tgstation/assets/7483112/13af9a9c-39b5-4a47-8ae4-3f6ac242f9f9)

Now you see the name _and_ the typepath (it's still useful information
in cases where there are several similar abilities).
Also I gave the lobster charge ability its own name because it didn't
have one.

## Why It's Good For The Game

Increases usability of this admin feature.

## Changelog

🆑
admin: The Add Mob Ability menu now prefixes the typepath of the ability
with the ability's name, so you can much more quickly see what the
ability is.
/🆑

* Add Mob Ability menu now displays ability names before typepath

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-08-17 19:44:35 -04:00
SkyratBot
2ac66a8a4a [MIRROR] Adds sanity checking to prefs checks, fixing a bug that can cause emotes to stop displaying intermittently [MDB IGNORE] (#23081)
* Adds sanity checking to prefs checks, fixing a bug that can cause emotes to stop displaying intermittently

* Update vox_procs.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-08-14 19:40:51 -04:00
SkyratBot
30f436724b [MIRROR] More lua harddel fixes [MDB IGNORE] (#23064)
* More lua harddel fixes (#77556)

## About The Pull Request
Fixes some more lua harddel problems with lingering refs on the gc_guard
variable. This variable has been changed to a list instead and will get
cleared every time the SSlua subsystem fires so that lua instantiated
objects that are not tracked by the subsystem will essentially delete
themselves on the next tick, aka whenever the lua script sleeps.

Also removed the unnecessary and not completely functional
lua_reference_cleanup proc which wasn't even being called reliably
because the signal handler was the datum itself.

## Why It's Good For The Game
Fixes more harddel bugs, increases consistency.

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* More lua harddel fixes

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2023-08-13 18:37:01 -04:00
SkyratBot
bd43197dd5 [MIRROR] Fixes some lua problems, specifically with qdeling callbacks and adds lua utility functions [MDB IGNORE] (#22983)
* Fixes some lua problems, specifically with qdeling callbacks and adds lua utility functions (#77468)

## About The Pull Request
See title. Callbacks were getting deleted in SS13.lua which is
non-ideal. They should be automatically collected by the garbage
collector.
Also adds some utility lua functions like SS13.is_valid,
SS13.stop_tracking, SS13.new_untracked, SS13.type and SS13.qdel

## Why It's Good For The Game
Fixes some harddel issues, as well as callbacks clogging up the garbage
subsystem.

## Changelog
🆑
admin: Added new lua functions: SS13.is_valid, SS13.stop_tracking,
SS13.new_untracked, SS13.type and SS13.qdel
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixes some lua problems, specifically with qdeling callbacks and adds lua utility functions

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2023-08-10 08:06:00 -04:00
SkyratBot
f349668a11 [MIRROR] Fixed lua-created atoms from hard deleting [MDB IGNORE] (#22921)
* Fixed lua-created atoms from hard deleting (#77391)

## About The Pull Request
Lua created atoms hard delete because they get added to a references
list without ever being cleared. This fixes that by registering a
qdeleting signal on them and removing them from the list on delete.

## Why It's Good For The Game
Harddel fixes

## Changelog
🆑
fix: Fixed a hard delete that would occur with lua-created atoms.
/🆑

---------

Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>

* Fixed lua-created atoms from hard deleting

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Watermelon914 <3052169-Watermelon914@ users.noreply.gitlab.com>
2023-08-07 18:21:50 -07:00
SkyratBot
a4cf2e451c [MIRROR] Adds a system for logging metadata about hard deletes [MDB IGNORE] (#22878)
* Adds a system for logging metadata about hard deletes (#76956)

## About The Pull Request

I'm sick of the progress bar harddel, and I've ran into this problem in
the past, so I'm just gonna do something about it

If you want to provide an individual logged bit of info about a harddel,
you can override `/datum/proc/dump_harddel_info()` and return a string
containing "whatever"

Use of this should be limited, this could potentially clutter del logs,
especially if it's used on something that fails often, like pipes

I do think it's still useful tho. It's output ingame, in the logs, and
in unit test failures. Hopefully all nicely tho I'm only really 100%
sure about in game.

* Adds a system for logging metadata about hard deletes

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-08-04 15:25:55 -07:00
SkyratBot
c7e49e5fa3 [MIRROR] Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts [MDB IGNORE] (#22771)
* Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts (#77195)

## About The Pull Request

- "Long shift" can now be earned from sub 10 minute rounds rather than
sub 5 minute rounds

- Admin restarts no longer give out "Long shift"

## Why It's Good For The Game

I do not think this achievement can *possibly* be earned right now. Like
at all.

Nuke Ops and cult are the only antags that can possibly do it and it's
incredibly infeasible (requiring that they nuke the station or summon
Nar'sie in just 3 minutes!)

So I bumped up the timer to 10 minutes. This means that ops can get it
if they nuke the station in 8 minutes, cult can get it if they REALLY
speedrun, and revs can get it if they beeline the heads.

I checked the DB for stats on this achievement and it's only been earned
in 3 rounds across the last year - `208780` (admin restart due to a bug)
`192892` (admin restart due to a bug?) `186192` (admin restart).

So I also prevented admin forcing the round to end. (I don't know if it
catches admin reboots directly I'll have to check that.)

## Changelog

🆑 Melbert
balance: The "Long Shift" achievement is now feasibly obtainable, and
admins can no longer trigger it unknowingly
/🆑

* Doubles the time you can get the "Long shift" achievement, makes it not grant on admin restarts

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-07-29 16:02:36 -04:00
SkyratBot
7b4237c692 [MIRROR] Implements usage of the REVERSE_DIR macro throughout the code. [MDB IGNORE] (#22743)
* Implements usage of the REVERSE_DIR macro throughout the code. (#77122)

## About The Pull Request
Replaces a ton of `turn(dir, 180)` calls with the aforementioned macro.

## Why It's Good For The Game
Afaik, `REVERSE_DIR` was coded to be faster than the classic `turn(dir,
180)` call, being a simple set of binary operations. To sum it up, micro
optimization.

## Changelog

N/A

* Implements usage of the REVERSE_DIR macro throughout the code.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-07-28 14:32:01 -04:00
SkyratBot
8bc6e2530a [MIRROR] [NO-GBP] Changing shuttle events now alerts admins [MDB IGNORE] (#22688)
* [NO-GBP] Changing shuttle events now alerts admins (#76939)

If an admin forces 10 alien queen shuttle events, you'd probably want to
alert the other admins. Previously this just put it in the admin log
without telling anyone, but it's probably more fitting to just pop it in
asay for how infrequent it is and considering forcing other events does
it too

🆑
admin: Changing shuttle events now alerts admins
/🆑

Thanks to @ Rex9001 for calling it out

* [NO-GBP] Changing shuttle events now alerts admins

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2023-07-26 07:53:16 +00:00
SkyratBot
46ee262598 [MIRROR] made the bee a basic insect [MDB IGNORE] (#22652)
* made the bee a basic insect (#76971)

## About The Pull Request
the bee now a baisc insect he will now go to find his home and he will
go and pollinated the plants and helped the queen make children by
polliniting the plants and he will. the queen will leve the hive more
rarely than the normal bees so she can stay in the hive to make kids

## Why It's Good For The Game
the bee now is a basic insect so it means he have a better ai

## Changelog
🆑
balance: the bee now can fly over the machines so its easy for him to go
to the hydroponics machine
fix: player bees now will not be stuck inside the hive if he entered it,
they can now leave it
fix: fixed a har deleted when the hive is deleted all the bees still
have a refence to the hive now its fixed
fix: now when a player interacted with the bee hive the bees will now
leave the hive to defend the hive (it was glitched)
refactor: the bees now are a basic insect.
/🆑

* made the bee a basic insect

* Merge conflict

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-07-24 01:21:59 -04:00
SkyratBot
c19c197b95 [MIRROR] Fix APC related issues [MDB IGNORE] (#22635)
* Fix APC related issues (#77005)

## About The Pull Request
Fixes a bunch of stuff broken by #76822, including APC control console,
malf blackout ability, shunted malf pinpointing, Admin APC recharge and
others.
## Why It's Good For The Game
Yes.
## Changelog
:cl:Thebleh
fix: Fixed several APC related issues.
/🆑

* Fix APC related issues

---------

Co-authored-by: thebleh <43266738+rdragan@users.noreply.github.com>
2023-07-22 22:41:06 -04:00
SkyratBot
08c90f2116 [MIRROR] [MDB IGNORE] Angled Lights & Lighting Prototyping Tool [MDB IGNORE] (#22582)
* [MDB IGNORE] Angled Lights & Lighting Prototyping Tool  (#74365)

## About The Pull Request

Hello friends, I've been on a bit of a lighting kick recently, and I
decided I clearly do not have enough things to work on as it is.
This pr adds angle support to static lights, and a concepting/debug tool
for playing with lights on a map.

Let's start from first principles yeah?

### Why Angled Lights?

Mappers, since they can't actually see a light's effect in editor, tend
to go off gut.
That gut is based more off what "makes sense" then how things actually
work
This means they'll overplace light sources, and also they tend to treat
lights, particularly light "bars" (the bigger ones) as directional.
So you'll have two lights on either sides of a pillar, lights inside a
room with lights outside pointing out, etc.

![image](https://user-images.githubusercontent.com/58055496/228785032-63b86120-ea4c-4e52-b4e8-40a4b61e5bbc.png)

This has annoying side effects. A lot of our map is overlit, to the
point that knocking out a light does.... pretty much nothing.
I find this sad, and would like to work to prevent it. I think dark and
dim, while it does not suit the normal game, is amazing for vibes, and I
want it to be easier to see that.

Angled lights bring how lights work more in line with how mappers expect
lights work, and avoids bleedover into rooms that shouldn't be bled
into, working towards that goal of mine.

### How Angled Lights?

This is more complex then you'd first think so we'll go step by step

![image](https://user-images.githubusercontent.com/58055496/228786117-d937b408-9bc2-4066-9aee-aae21b047151.png)

Oh before we start, some catchup from the last time I touched lighting
code.
Instead of doing a lighting falloff calculation for each lighting corner
(a block that represents the resolution of our lights) in view we
instead generate cached lightsheets. These precalculate and store all
possible falloffs for x and y distances from a source.

This is very useful for angle work, since it makes it almost totally
free.

Atoms get 2 new values. light_angle and light_dir
Light angle is the angle the light uses, and light_dir is a cardinal
direction it displays in

We take these values, and inside sheetbuilding do some optional angle
work. getting the center angle, the angle of a pair of coords, and then
the delta between them.
This is then multiplied against the standard falloff formula, and job
done.

We do need some extra fenangling to make this all work nicely tho.

We currently use a pixel turf var stored on the light source to do
distance calculations.
This is the turf we pretend the light source is on for visuals, most
often used to make wall lights work nice.
The trouble is it's not very granular, and doesn't always have the
effect you might want.

So, instead of generating and storing a pixel turf to do our distance
calculations against, we store x and y offset variables.
We use them to expand our working range and sheet size to ensure things
visually make sense, and then offset any positions by them.

I've added a way for sources to have opinions on their offsets too, and
am using them for wall lights.
This ensures the angle calculations don't make the wall behind a light
fulldark, which would be silly.

### Debug Tool?

In the interest of helping with that core problem, lights being complex
to display, I've added a prototyping tool to the game.
It's locked behind mapping verbs, and works about like this.

Once the verb is activated, it iterates over all the sources in the
world (except turfs because those are kinda silly), outlining and
"freezing" them, preventing any future changes.
Then, it adds 3 buttons to the owners of a light source.

![image](https://user-images.githubusercontent.com/58055496/228776539-4b1d82af-1244-4ed6-8754-7f07e3e47cda.png)
The first button toggles the light on and off, as desired.
The third allows you to move the source around, with a little targeting
icon replacing your mouse
The second tho, that's more interesting.

The second button opens a debug menu for that light

![image](https://user-images.githubusercontent.com/58055496/228777811-ae620588-f08a-4b50-93a0-beea593aea77.png)
There's a lot here, let's go through it.

Bit on the left is a list of templates, which allow you to sample
existing light types (No I have no idea why the background is fullwhite,
need to work on that pre merge)
You can choose one by clicking it, and hitting the upload button.

This replaces your existing lighting values with the template's,
alongside replacing its icon and icon state so it looks right.
There are three types as of now, mostly for categorization. Bar, which
are the larger typically stronger lights, Bulb, which are well, bulbs,
and Misc which could be expanded, but currently just contains floor
lights.

Alongside that you can manually edit the power, range, color and angle
of the focused light.
I also have support for changing the direction of the light source,
since anything that uses directional lighting would also tie light dir
to it.
This isn't *always* done tho, so I should maybe find a way to edit light
dir too.

My hope is this tool will allow for better concepting of a room's
lights, and easier changing of individual object's light values to suit
the right visuals.

### Lemon No Why What

Ok so I applied angle lights to bars and bulbs, which means I am
changing the lighting of pretty much every map in the codebase.
I'm gonna uh, go check my work.

Alongside this I intend to give lighting some depth. So if there's room
to make a space warmer, or highlight light colors from other sources, I
will do that.

(Images as examples)

![image](https://user-images.githubusercontent.com/58055496/228786801-111b6493-c040-4199-ab99-ac1c914d034c.png)

I also want to work on that other goal of mine, making breaking lights
matter. So I'll be doing what I can to ensure you only need to break one
light to make a meaningful change in the scene.

This is semi complicated by one light source not ever actually reaching
fullbright on its own, but we do what we must because we can.

![image](https://user-images.githubusercontent.com/58055496/228786483-b7ad6ecd-874f-4d90-b5ca-6ef78cb70d2b.png)

I'm as I hope you know biased towards darker spaces, I think contrast
has vibes.
In particular I do not think strong lights really suit maintenance.

Most of what is used there are bulbs, so I'm planning on replacing most
uses with low power bulbs, to keep light impacts to rooms, alongside
reducing the amount of lights placed in the main tunnels

![image](https://user-images.githubusercontent.com/58055496/228786594-c6d7610c-611e-478b-bcba-173ebf4c4b12.png)

**If you take issue with this methodology please do so NOW**, I don't
want to have to do another pass over things.
Oh also I'm saving station maps for last since ruins are less likely to
get touched in mapping march and all.

### Misc + Finishing Thoughts

Light templates support mirroring vars off typepaths using a subtype,
which means all the templates added here do not require updating if the
source type changes somehow. I'd like to expand the template list at
some point, perhaps in future.

I've opened this as a draft to make my intentions to make my changes to
lights known, and to serve as motivation for all the map changes I need
to do.

### Farish Future

I'm unhappy with how we currently configure lights. I would like a
system that more directly matches the idea of drawing falloff curves,
along with allowing for different falloffs for different colors,
alongside extending the idea to angle falloff.
This would make out of engine lighting easier, allow for nicer looking
lights (red to pink, blue to purple, etc), and improve accessibility by
artists.

This is slightly far off, because I have other obligations and it's
kinda complicated, but I'd like to mention it cause it's one of my many
pipedreams.

## Changelog
🆑
add: Added angle lighting, applies it to most wall lights!
add: Adds a lighting prototyping tool, mappers go try it out (it's
locked behind the mapping verb)
/🆑

---------

Co-authored-by: MMMiracles <lolaccount1@ hotmail.com>

* [MDB IGNORE] Angled Lights & Lighting Prototyping Tool

* Update north_star.dmm

* Revert "Update north_star.dmm"

This reverts commit bb5b8b5a549f7edc3e23a369a147ed96bab41991.

* Updatepaths

* Update nukie_base.dmm

* Newer version of northstar with the penguins

* Update northstar_cryo.dmm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: MMMiracles <lolaccount1@ hotmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-07-21 00:43:21 -04:00
Pinta
4d7ba6ebcb [MANUAL MIRROR] Reworks Duffel Bags (Zippers) (#22363)
* Reworks Duffel Bags (Zippers)

* Update backpack.dm

* Duiffel Spotfix

* error fixes

* Update backpack.dm

* Update code/modules/antagonists/cult/cult.dm

* Update backpack.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-20 23:12:57 -04:00
SkyratBot
2f552919c1 [MIRROR] Icons folder cleaning wave two [MDB IGNORE] (#22454)
* Icons folder cleaning wave two

* Merge conflict resolution

* Modular path hell

* hmm

* Update 2022-10.yml

* Another modular thing

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 00:41:18 -04:00
SkyratBot
0a03e8a2a7 [MIRROR] Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types [MDB IGNORE] (#22481)
* Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types

* Resolve merge conflicts

* Modular adjustments

* destroy this double return on destroy

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 22:51:23 -04:00
SkyratBot
76b12b0801 [MIRROR] [NO GBP] Music Request Credits changed to CKEY [MDB IGNORE] (#22389)
* [NO GBP] Music Request Credits changed to CKEY (#76751)

## About The Pull Request

I was requested by one of the game admins over in the TG discord to
change the credit from character name to ckey.

## Why It's Good For The Game

It's mostly a OOC thing, personally I don't know of a good enough reason
to put here other than its a PR someone requested of me.

## Changelog

🆑
fix: Music Request Credit shows CKEY instead of character name
/🆑

* [NO GBP] Music Request Credits changed to CKEY

---------

Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
2023-07-12 07:52:34 -04:00
SkyratBot
005ed788ec [MIRROR] Fixes organ/implant manipulator creating implants in the void when failing to insert [MDB IGNORE] (#22308)
* Fixes organ/implant manipulator creating implants in the void when failing to insert (#76602)

## About The Pull Request

When using the organ manipulator, implants that fail implant() would
still be created and be left out of the implantee.

Now, implants that fail insertion will self-delete and notify the menu
operator. This functionality has been extended to organs as well,
although I don't know of any cases where they could fail insertion.

I also touched up on the variable names while I was here, because they
needed a face-lift.
## Why It's Good For The Game

Prevents edge cases that could lead to orphaned implants or organs.

More readable code is neat too.
## Changelog
🆑 Rhials
fix: The organ manipulator menu will now delete implants or organs that
fail to properly insert.
code: The organ manipulator menu code now looks nicer :)
/🆑

* Fixes organ/implant manipulator creating implants in the void when failing to insert

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-07-12 01:38:51 -04:00
SkyratBot
381549f2f7 [MIRROR] service borg cookin fixin update [MDB IGNORE] (#22325)
* service borg cookin fixin update (#76590)

## About The Pull Request
PR done for bounty:
https://tgstation13.org/phpBB/viewtopic.php?f=5&t=33988
borgs can now turn on stoves and griddles
borg click code has been reworked a bit to be closer to base mob, you
are now able to click on stuff within reach rather than just Adjacent
(might be buggy to introduce this? hopefully not. if anything we can
testmerge this), which lets us make the apparatus work to pick up stoves
on the range and such
Adds the Codex Cibus Mechanicus as an upgrade you can research in RnD
with the other service borg ones. When you use it it shows you the
cooking menu!

![image](https://github.com/tgstation/tgstation/assets/23585223/5f881387-e0ba-4bb8-a9d6-ddc9d8fa9272)

## Why It's Good For The Game
The service borg has the tools to prepare ingredients, but it can't
actually do anything with them, which severely limits it, only being
able to do slapcrafted foods.
The apparatus not working on items that are on top of stoves/griddles
seems to be just a bug with how cyborg click code is handled.

## Changelog
🆑 Fikou
fix: service borg apparatus now works on stoves and griddles and ovens
qol: borgs can now activate stoves and griddles
add: rnd can research a cookbook for service borgs
/🆑

* service borg cookin fixin update

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-07-09 11:16:10 -07:00
SkyratBot
217f0c81e2 [MIRROR] Request Internet Sound Optional Credit User [MDB IGNORE] (#22244)
* Request Internet Sound Optional Credit User  (#76453)

## About The Pull Request

What this PR does is it adds a small additional feature to the Request
Internet Sound verb to give users who request music an option to credit
themselves for the song request. It will use character name of the
person who submits the request, with the option to be anonymous. The
default will make users anonymous.

## Why It's Good For The Game

This differentiates songs that where requested by users and songs that
admins themselves played. And allows users to give themselves credit for
their 'Good' (or bad) music preferences.

<details>
<summary>Screenshot</summary>

![dreamseeker_OQyx1sZ689](https://github.com/tgstation/tgstation/assets/2568378/806347a7-a930-4993-b2d0-b1890021c662)

</details>

## Changelog

🆑
qol: Request Internet Sound now has the option to credit the person who
requested the Sound. Defaults to anonymous.
/🆑

* Request Internet Sound Optional Credit User

---------

Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-05 23:19:47 -07:00
SkyratBot
13ba3d7622 [MIRROR] [s] Require affirmative input from the admin to run sdql2 verbs [MDB IGNORE] (#22025)
* [s] Require affirmative input from the admin to run sdql2 verbs (#76276)

Powerful or dangerous admin verbs should have some prompt or forced
runtime input to lower the attack surface once somebody finds a href
exploit since topics can trigger commands and verbs.

* [s] Require affirmative input from the admin to run sdql2 verbs

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-06-24 14:23:47 +01:00
SkyratBot
6dfe17306c [MIRROR] Pulls apart the vestiges of components still hanging onto signals [MDB IGNORE] (#21738)
* Pulls apart the vestiges of components still hanging onto signals

* update modular

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 13:18:23 +00:00
SkyratBot
8b7bdc4959 [MIRROR] Shuttle events [MDB IGNORE] (#21917)
Shuttle events

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-18 15:02:04 +02:00
SkyratBot
85c31e1256 [MIRROR] fix stupid error message in delay pre-game [MDB IGNORE] (#21660)
* fix stupid error message in delay pre-game (#75824)

tabbing out during init after hitting the verb, while you wait for the
server to un-lockup and present you with the prompt, and coming back in,
noticing you were too late, and cancelling out of the time prompt, only
to get told the round had already started, was kinda fucking lame. I
know, thats why i fucking hit cancel you fucking robit.

also makes the proc more early return

* fix stupid error message in delay pre-game

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-06-07 09:00:56 -07:00
SkyratBot
cfe6805e55 [MIRROR] Player Ticket History - A Synopsis At A Glance [MDB IGNORE] (#21688)
* Player Ticket History - A Synopsis At A Glance

* fix

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-07 15:42:44 +00:00
SkyratBot
c4a58bb0c6 [MIRROR] Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars [MDB IGNORE] (#21679)
* Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars (#75769)

## About The Pull Request

[Improves the documentation of DCS lists, removes old list of callback
docs that no longer
apply](c3821d9f5f)

[Adds a second signal register to decal rotating, adds a trait to
objects under a tile. STOP DIRECTLY READING HIDDEN LISTS I SWEAR TO
GOD](6b3f97a76a)

[Removes direct reads of the timer list, they were redundant
mostly](14fcd9f8a6)

[Please stop directly reading/modifying the traits list to ensure your
dna rot follows the
brain](ec0e5237ec)

[Marks internal datum lists as well internal with
_](57c6577ff6)

[57c6577](57c6577ff6)

Does the same to _clear_signal_refs() in hopes of keeping people from
touching it

## Why It's Good For The Game

They pissed me off.

Users should not be touching these lists, especially in ways that make
assumptions about their structure and are thus prone to breaking if that
ever changes.
Most of these are close to zero cost changes, using a wrapper to solve
the problem, or just yeeting it

Two aren't, Decals with a direction have gained a second signal register
on init, and things that sit underfloor (cables/pipes) now get a trait
when inserted there.

This should have a minimal impact on memory/init time, bugging
@ Mothblocks about it just in case

* Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars

* fix

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-07 15:10:42 +00:00
SkyratBot
5ac0aae724 [MIRROR] Removes all uses of text() [MDB IGNORE] (#21579)
* Removes all uses of text()

* Update record.dm

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-06-07 14:43:37 +02:00