Commit Graph

3318 Commits

Author SHA1 Message Date
SkyratBot
59dc5c36b7 [MIRROR] Cleans up the fallout from plane cube [MDB IGNORE] (#17003)
* Cleans up the fallout from plane cube (#70235)

* Cleans up the fallout from plane cube

Alright.
Makes cleaning bubbles respect planes
Adds support for updating overlays on move, fixing an issue with pointing at items
Adds better error messages for failing to provide args for mutable_appearance()
Fixes a bug where string overlays were not respecting insertion order

* Adds documentation for offset spokesman and offset_const

* Better stack trace

* Removes some redundant uses of cached MAs

At this scale, attempting to cache MAs like this has 0 impact on anything
And just makes things more messy then they need to be

* ensures fullscreen objects START offset, so things are always proper

* ensures chatmessages always have the right offset

* fixes compile

* whoops, the above lighting plane should actually be ABOVE the lighting plane

* fixes compile, also cleans up the fire overlay a tad

* Adds a unit test for plane masters that are shrunk by multiz being double shrunk

This is slightly hacky because of how I'm handing the plane master
group, but it's not THAT bad, and gives me some real good coverage

* Properly targets the seethrough plane at the game world plate. This fixes unit tests, and also just makes more sense

* whoops

* oh

* adds datum support for allocate(), cleans up a harddel from testing

* Makes camera chunks index at 1, and also makes them support non powers of two sizes, since that was unneeded

* fixes runtime in allocate

* Cleans up the fallout from plane cube

* liquid tweaks

* oop

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-19 19:43:05 -04:00
SkyratBot
629dd42b25 [MIRROR] [MDB IGNORE] Makes only station areas, station areas. [MDB IGNORE] (#16989)
* [MDB IGNORE] Makes only station areas, station areas.

* should fix it

* area fixes for AM templates

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-10-19 16:45:37 -04:00
SkyratBot
f1ae5109bf [MIRROR] Removes bestF from Master Controller Crash Report Filtering (and uses voodoo magic to help cleaning up down the line) [MDB IGNORE] (#16986)
* Removes bestF from Master Controller Crash Report Filtering (and uses voodoo magic to help cleaning up down the line) (#70610)

* Removes bestF from Master Controller Crash Filtering

We removed bestF from datums back in #2701, but this still remained in the filter. Bit silly, let's get rid of this old cobweb.

I couldn't find anything suggesting that the master_controller could get a statclick variable, but that's actually a term we use in the modern day so I'm not going to bug it since it's benign. The other five are still BYOND-level variables.

Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>

* Removes bestF from Master Controller Crash Report Filtering (and uses voodoo magic to help cleaning up down the line)

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
2022-10-19 16:33:12 -04:00
SkyratBot
7a2a31fb35 [MIRROR] [NO GBP] fixes some silly stairs slipups [MDB IGNORE] (#16998)
* [NO GBP] fixes some silly stairs slipups (#70628)

Two things:
Stone stairs didn't actually line up, not a soul would have noticed because mappers probably aren't gonna use it for a while, but I fixed it anyways.

Second, you could still build mat datum stairs freely without the whole frame system, invalidating its existence, so I've fixed that too. You can still build mat datum stairs, you just need a stairs frame made of iron or wood first.

* [NO GBP] fixes some silly stairs slipups

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2022-10-19 18:56:54 +01:00
SkyratBot
d7c9ed4afb [MIRROR] Quickie runechat op [MDB IGNORE] (#16940)
* Quickie runechat op (#69137)

reintroduces the intermittent queuing behavior found in #65791 since i can actually recover that part. now after MeasureText() puts us in the player input portion of the tick it will queue a callback for the next tick to resume chat message creation

generate_image() is a highly overtiming proc, now its less so

* Quickie runechat op

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2022-10-18 02:20:25 +00:00
SkyratBot
c60daaa150 [MIRROR] Checks Filters For Cross-Station Messages [MDB IGNORE] (#16868)
* Checks Filters For Cross-Station Messages

* merge conflict

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-17 13:58:00 -04:00
SkyratBot
f3e84bca09 [MIRROR] Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase [MDB IGNORE] (#16925)
* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase (#70504)

Adds a few new types of stairs, and makes stairs buildable within rounds.
Also removes the terminator sprite variation for stairs, because its basically unused and really not needed with plane cube multiz.

* Stairs DLC: Buildable stairs, material datum staircases, fall up a staircase

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2022-10-17 07:55:00 -07:00
SkyratBot
68d1a1cec3 [MIRROR] Bileworm Health Patch: Evolutionary Leap, Vileworms, Proximity Spawning Rules, Better Loot [MDB IGNORE] (#16821)
* Bileworm Health Patch: Evolutionary Leap, Vileworms, Proximity Spawning Rules, Better Loot

* Feex

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-10-12 23:41:48 +01:00
SkyratBot
2defe4a7f1 [MIRROR] Prevent mice from randomly spawning when we're running unit tests [MDB IGNORE] (#16823)
* Prevent mice and satchels from randomly spawning when we're running unit tests (#70443)

* Prevent mice from randomly spawning when we're running unit tests

Co-authored-by: san7890 <the@san7890.com>
2022-10-12 17:44:33 -04:00
Dani Glore
852ce42dbe [SEMI-MODULAR] Synthetic Quirks Rebalancer & Quirk Hider (#16697)
* Makes liquid_solder a liquid, adjusts solder and system cleaner math to use delta_time

* Adds boolean to quirks to hide them from TGUI and the character prefs window

* Renames brainproblems from Brain Tumor to Brain Degeneration. Refactors brainproblems and blooddeficiency for synths, adds species-specific detours to quirks, adds prefab pills and pillbottles for synth meds

* Add synth pills to tgstation.dme

* Adding forgotten brainproblems med record text

* Fixes quirk icons failing unittests

* Further fixes icons failing unittests

* Remove semicolon from quirks.dm

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>

* Relocated qdel calls, renamed bp_synth and bd_synth private vars, changed is_species to isrobotic

Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-10-10 14:40:36 +01:00
SkyratBot
5103c1ea7c [MIRROR] Fixes multi-Z ruins (Ice Moon Mining Site) not spawning [MDB IGNORE] (#16557)
Fixes multi-Z ruins (Ice Moon Mining Site) not spawning

Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-10-03 00:44:55 -04:00
SkyratBot
9bf006d189 [MIRROR] Multiz Rework: Human Suffering Edition (Contains PLANE CUBE) [MDB IGNORE] (#16472)
* Multiz Rework: Human Suffering Edition (Contains PLANE CUBE)

* skyrat changes

* bodyparts merge

* unres door floorlight fix

* Future upstream fix for blindness

* upcoming upstream airlock fix

* fix button emissive

* Fix FOV markings?

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-10-02 23:30:09 -04:00
SkyratBot
a006328dd2 [MIRROR] Bump byond up to 514.1588 [MDB IGNORE] (#16514)
* Bump byond up to 514.1588 (#70168)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Bump byond up to 514.1588

* Fixed le monke

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-10-02 12:16:26 -04:00
Zonespace
1481db3dab Improves the "disable ERP" config (#16411)
* i'm stealing the erp

* h

* Apply suggestions from code review

Co-authored-by: Tastyfish <crazychris32@gmail.com>

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-10-02 14:20:24 +00:00
SkyratBot
b61a3f981d [MIRROR] Unit tests powernets to make sure the whole station is connected. [MDB IGNORE] (#16503)
* Unit tests powernets to make sure the whole station is connected. (#70090)

* Unit tests powernets to make sure the whole station is connected.

* fixes cable tests for blueshift and raptor

* single cable misplacement

* hard map reset

* hec

* tramstation armory stray cable

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-09-29 01:24:37 -04:00
SkyratBot
3d1013078d [MIRROR] "It has been 0 days since the last incident" sign [MDB IGNORE] (#16516)
* "It has been 0 days since the last incident" sign (#70099)

Adds a fun sign to various places in engineering which tracks how many days (read: rounds) it has been since last time the engine delaminated.

* "It has been 0 days since the last incident" sign

Co-authored-by: Jacquerel <hnevard@gmail.com>
2022-09-28 23:54:54 -04:00
SkyratBot
63f635d57a [MIRROR] events now have to check parent to see if they can run [MDB IGNORE] (#16506)
* events now have to check parent to see if they can run (#70128)

* events now have to check parent to see if they can run

* update supermatter_surge

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-28 17:20:10 -04:00
SkyratBot
110fd07f34 [MIRROR] Micros the lighting subsystem (Saves a second of init) [MDB IGNORE] (#16461)
* Micros the lighting subsystem (Saves a second of init)

* Update stat_tracking.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-09-28 12:19:43 -07:00
SkyratBot
0339798a42 [MIRROR] Removes network cards and printers from tablets [MDB IGNORE] (#16451)
* Removes network cards and printers from tablets

* merge tablet_presets

* printer.dm should have been deleted, missed change

* update contractor tablet

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-27 23:16:32 -04:00
SkyratBot
e142e098b4 [MIRROR] Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros [MDB IGNORE] (#16449)
* Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros

* merge conflict

* other changes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-27 17:52:53 -04:00
SkyratBot
c6de4c93b9 [MIRROR] Macro optimizes SSmapping saving 50% [MDB IGNORE] (#16375)
* Macro optimizes SSmapping saving 50%

* fix merge issues, update to current turf_blacklist api

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-26 17:29:32 -04:00
SkyratBot
4734ca7490 [MIRROR] Fixes linda heat capacity errors [MDB IGNORE] (#16445)
* Fixes linda heat capacity errors (#70071)

We make the assumption that a turf's heat capacity will never be 0. This is safe because we've got an override of /datum/gas_mixture for turfs that overrides 0 heat cap with 7000 (SPACE)
This is done to make cold actually flow through empty tiles, because we are hacks.

I forgot to include type in my gas mixture creation logic, so this was being dropped. FIXXXX

* Fixes linda heat capacity errors

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-26 13:13:24 +01:00
SkyratBot
0aca7ed207 [MIRROR] Illiterate human-like mobs can send shuttles to a random destination + refactors snowflake checks on the shuttle consoles [MDB IGNORE] (#16392)
* Illiterate human-like mobs can send shuttles to a random destination + refactors snowflake checks on the shuttle consoles

* update modular

* and undo unnecessary arrival shuttle edit

* Fixes the stuff that didn't compile :)

Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-25 20:13:49 -04:00
OrionTheFox
f8aa27f8d6 Removes obsolete Skyrat_Wiki variable (Fixes CorpReg link) and sets wikiurl default config to the Skyrat wiki (helps test servers/downstreams) (#16197)
* kill skyrat_wiki var

* OPTIONAL COMMIT: Comment "Tidying"(?) and Description improvements

* config i hope i did these right

WIKIURLSKYRAT IS OBOSLETE AND REMOVED

* hnhbg
2022-09-25 18:03:21 -04:00
SkyratBot
24cb4bef1a [MIRROR] Oops! All prosthetics! Adds -6 quirk with all prosthetic limbs + Icon Tutorial [MDB IGNORE] (#16398)
* Oops! All prosthetics! Adds -6 quirk with all prosthetic limbs + Icon Tutorial

* Update code/controllers/subsystem/processing/quirks.dm

Co-authored-by: Marina <50789504+KirbyDaMaster@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-25 14:54:33 -07:00
SkyratBot
25c911c3cc [MIRROR] Fixes Build Your Own Shuttle kit [MDB IGNORE] (#16401)
* Fixes Build Your Own Shuttle kit

* Update code/modules/shuttle/shuttle.dm

Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-25 01:43:04 +00:00
SkyratBot
c9603f21e7 [MIRROR] Fixed maps constantly being metastation (fixes recent maps being included in mapvote) [MDB IGNORE] (#16324)
* Fixed maps constantly being metastation (fixes recent maps being included in mapvote) (#70006)

About The Pull Request

See title. The vote subsystem needs to load after the persistence subsystem so that the blocked_maps list can be properly populated with data from the RecentMaps.json in the data folder.
This fixes the maps constantly being metastation
Why It's Good For The Game

Same map over and over again = bad
Different maps each time = good
Changelog

cl
fix: Fixed map vote including maps that have already been played twice in the last 3 rounds.
/cl

* Fixed maps constantly being metastation (fixes recent maps being included in mapvote)

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2022-09-24 22:33:03 +01:00
SkyratBot
a00cad0164 [MIRROR] Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua) [MDB IGNORE] (#16248)
* Clean up subsystem Initialize(), require an explicit result returned, give a formal way to fail (for SSlua)

* [PR for MIRROR PR] Changes for 16248 (#16277)

* Merge skyrat changes, update SR SS's, and remove lobby_eye

* Apply suggestions from code review

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/autotransfer/code/autotransfer.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* restore lobby_cam for now

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-24 17:32:40 -04:00
SkyratBot
6fea880664 [MIRROR] Allows most big object construction on lavaland again [MDB IGNORE] (#16173)
* Allows most big object construction on lavaland again

* fix?

* h

* Update mineral.dm

* Update sheet_types.dm

* on_solid_ground

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-24 15:56:44 -04:00
SkyratBot
8175d67e17 [MIRROR] Register shuttles immediately after loading instead of waiting for them to dock first (no more double shuttle!) [MDB IGNORE] (#16329)
* Register shuttles immediately after loading instead of waiting for them to dock first (no more double shuttle!) (#69901)

* Moves register() call in action_load() to before docking instead of after, preventing 2 shuttles from being loaded in certain edge cases.

* Register shuttles immediately after loading instead of waiting for them to dock first (no more double shuttle!)

Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
2022-09-19 22:15:12 -07:00
SkyratBot
19e524ac84 [MIRROR] Object Window Niceties [MDB IGNORE] (#16292)
* Object Window Niceties  (#69825)

* Object Window Niceties

Alright. I got bored and polished up the object/alt click window.

It had a few issues:
First, we generated all our images in bulk, as soon as requested
Second, the caching was global, despite only working on a client to
client basis
Third, we only generated up to 10 images. This could be fine, but the
javascript code will continuiously rerender assuming unrendered images
will come eventually, and they well, weren't. This caused MASSIVE
clientside lag
Fourth and finally, I did not like how moving away from the viewed turf
lagged behind, in sync with the stat tab update. Looked bad.

I've resolved all these.
I solved the first three issues by reworking how obj images were
generatated and managed.

Rather then storing a basic cache on the subsystem, and doing all the
image generation at once, we queue up image generation as we like, and
generate images inside a new processing subsystem fire.
This isn't the best solution, since it still eats cpu somewhat, but it's
a whole lot better then the other options, outside either removing the
need to getflat, or somehow predicting what items a client will want to
see

I've started storing three bits of info. First, a list of all the
objects we currently want to display.
Second, a list of atom -> image html
Third, a list of atoms to imageify.

This information is stored on a datum on /client, since I want this to
have a lifetime linked to well, clients.

I've used this datum to solve that fourth bit, using a component I made
for parallax a bit back. This lets me react to our client's mob, and
update the tab linked to that, rather then on a subsystem call by call
basis.

That's about it.

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

* Object Window Niceties

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2022-09-17 22:27:19 -07:00
SkyratBot
068e959179 [MIRROR] Excited groups will care about gas reactions before dismantling. Turfs will not sleep when there are gas reactions. Fixes water vapour not consuming water vapour when freezing turfs. [MDB IGNORE] (#16269)
* Excited groups will care about gas reactions before dismantling. Turfs will not sleep when there are gas reactions. Fixes water vapour not consuming water vapour when freezing turfs. (#69479)

* Excited groups care about reactions.

Adds reacting var for open turfs. Reacting gets set to the return of react() inside the open turf's process_cell() proc.

Adds turf_reactions var for excited groups. turf_reactions gets set to the result of has_reactions OR reacting. Excited group processing will check if the excited group's has_reactions is REACTING or STOP_REACTIONS before dismantling the excited group. Excited group processing will set the excited group's has_reactions to NONE at the end before MC_TICK_CHECK.

Fixes water vapour not consuming water vapour when temperature is below WATER_VAPOR_DEPOSITION_POINT.

Changes water vapour reaction to have a consumed var, it gets set to MOLES_GAS_VISIBLE when it freezes a turf or makes it slippery. If consumed, then water vapour moles decrease by consumed, set reaction results and set return value to REACTING.

Fixes water_vapour reaction by making its mole count decrease by consumed instead of attempting to do arithmetic on the water vapour list, which somehow didn't runtime.

* Excited groups will care about gas reactions before dismantling. Turfs will not sleep when there are gas reactions. Fixes water vapour not consuming water vapour when freezing turfs.

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2022-09-17 11:46:49 -07:00
SkyratBot
c84b31f566 [MIRROR] Fixes a runtime with map voting [MDB IGNORE] (#16259)
* Fixes a runtime with map voting (#69908)

* Adds a sanity check in voting, in case no one actually voted.

* Fixes a runtime with map voting

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-09-15 11:38:38 -07:00
SkyratBot
cdc6950e67 [MIRROR] Fix looping timers qdeleted in their callbacks being reinserted [MDB IGNORE] (#16228)
* Fix looping timers qdeleted in their callbacks being reinserted (#69879)

Fix looping timers qdeleted in their callbacks

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Fix looping timers qdeleted in their callbacks being reinserted

Co-authored-by: Penelope Haze <110272328+out-of-phaze@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
2022-09-14 20:34:55 -07:00
SkyratBot
fd8e56dc6b [MIRROR] Fixes SSEconomy not tracking free vending machine purchases [MDB IGNORE] (#16221)
* Fixes SSEconomy not tracking free vending machine purchases (#69876)

* Fixes SSEconomy not tracking free vending machine purchases

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-14 20:34:39 -07:00
SkyratBot
9104baaa68 [MIRROR] Verbose Vote Initiation Feedback Tooltippery [MDB IGNORE] (#16216)
* Verbose Vote Initiation Feedback Tooltippery (#69763)

* Verbose Vote Initiation Feedback Tooltippery

Hey there,

So basically, the old implementation had it such that when a vote was disabled and you tried to trigger it, you could get a very nice message in your chat explaining why you could not trigger that vote in that moment. HOWEVER, there's a current fatal flaw in this logic:

You can't ever get that to_chat reason as to _why_ this vote is disabled since you can't click the button. I don't know if this ever worked, which is sad, because we had a lot of these nice messages that one would never see. So, let's leverage the power of TGUI and add messages.

The messages are applied per-datum singleton, and are a generic explanation of what the vote does when there is no specific reason assigned to it when the can_be_initiated() proc runs. If it can not be initiated, we change the message to reflect exactly why the player can not initiate the vote. It ends up looking something like this:

In order for this to work well for the restart vote and to lessen the amount of copy-pasting I might have to do, I created a new proc that checks to see if a valid admin is online, and uses that for both updating the message and restarting the server if the vote clears.

* fixes messages not resetting

* removes misleading section

the admin can always restart the server if they wish

* Verbose Vote Initiation Feedback Tooltippery

Co-authored-by: san7890 <the@san7890.com>
2022-09-13 22:34:10 -07:00
SkyratBot
cd3767e043 [MIRROR] Alphabetized, fixed spelling error, clarifying event descriptions. Polish [MDB IGNORE] (#16168)
* Alphabetized, fixed spelling error, clarifying event descriptions. Polish

* l

Co-authored-by: Marina <50789504+KirbyDaMaster@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
2022-09-11 22:20:45 -07:00
SkyratBot
c37f2d5e03 [MIRROR] adds grep check for improperly used timer flags. [MDB IGNORE] (#16070)
* adds grep check for improperly used timer flags. (#69668)

* adds grep check for improperly used timer flags.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-11 20:18:36 -07:00
SkyratBot
00d7e1f375 [MIRROR] Rocking The Boat, er, Map Vote [MDB IGNORE] (#16083)
* Rocking The Boat, er, Map Vote (#69561)

* Rocking The Boat, er, Map Vote

Hey there,

A while ago, I spooke (typo intentional) to some other people. One frustration I heard was the fact that people would sometimes sneak through map votes during the very start of a shift, during a high-paced portion, or just as a meme. People in OOC would then flood the vote, putting in any given station. However, if a vote happens 10 minutes in- and the round goes for 70 minutes and not many of the original players are around, then it's not particularly fair to those who have to play next shift on a map they bemoan.

So, we can rock the vote! If a player isn't particularly chuffed with the hand they are given, they can poll the players to see if they want to change the map as well. If rocking the vote goes through, huzzah, you get the ability to vote for the map again. If it doesn't go through: tough luck. You can rock the vote one time per shift by default, and server operators can change the amount of times you can call to rock the map vote at their discretion. Calling to rock the vote either successfully or non-successfully counts as a "call", and when that limit is exceeded: no more calls.

Does this mean that we will only rotate between two maps because pissants will keep rocking the vote until they get what they like? Maybe? I still see people bemoan getting Tram or shit the bed over IceBox, but I think enough people get sick of bread-on-butter to take the server where it need to go. If operators don't really like seeing only two maps play, they can always adjust the config to ensure it doesn't happen.

* makes the grammar grammar

it would be "Rock the Vote vote" otherwise

* Rocking The Boat, er, Map Vote

Co-authored-by: san7890 <the@san7890.com>
2022-09-11 20:18:14 -07:00
SkyratBot
1e3416fc35 [MIRROR] I shaved 2 seconds off atom init times and it's boring [MDB IGNORE] (#16176)
* I shaved 2 seconds off atom init times and it's boring (#69742)

* I shaved 2 seconds off init times by moving some sleep tests to only run during unit testing and using ``as anything``

* I shaved 2 seconds off atom init times and it's boring

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-11 19:55:47 -07:00
SkyratBot
aabaf3a2f1 [MIRROR] Cleans up a mistake in SSair init [MDB IGNORE] (#16179)
* Cleans up a mistake in SSair init (#69831)

Ok so in linda turfs use current_cycle to tell if they've been visited
by process_cell yet.
In a recent pr of mine, I expanded its use to init, so I could make sure
we don't double visit tiles.
However, I did this in such a way that it could in theory overrun into a
number that you might find in ssair. So I've changed the logic to make
it decrement, so it's safe in the worst case

* Cleans up a mistake in SSair init

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-11 19:55:31 -07:00
SkyratBot
7559990f20 [MIRROR] [MDB IGNORE] Shuttle engine code improvement and fixes [MDB IGNORE] (#16116)
* [MDB IGNORE] Shuttle engine code improvement and fixes

* what even happened in shuttlepanel.dm

* should be the last few

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-09-10 18:28:57 -04:00
SkyratBot
cd898a658a [MIRROR] Revert "Fixes some access issues in the Lavaland base" [MDB IGNORE] (#16152)
* Revert "Fixes some access issues in the Lavaland base" (#69760)

* Revert "Fixes some access issues in the Lavaland base (#69738)"

This reverts commit a2682d1089.

* renames mining and mining eva

Mining is now Mining Dock
Mining EVA is now Mining Outpost

* Revert "Fixes some access issues in the Lavaland base"

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2022-09-09 16:00:26 -04:00
SkyratBot
2bd18adc8a [MIRROR] Cadaver spawner fixes [MDB IGNORE] (#16109)
* Cadaver spawner fixes (#69544)

fix: Fixed a runtime preventing nonhuman cadavers from spawning properly.
config: Cadaver spawners will no longer yell at you when morgue_cadaver_other_species_probability is blank.
config: morgue_cadaver_disable_nonhumans will now properly disable nonhuman races! (It was reversed, woops.)

* Cadaver spawner fixes

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-09-08 08:27:12 -04:00
GoldenAlpharex
44a193b313 [MIRROR] Fixes role banned players not being banned from roles that they are banned from (Option Two) [MDB IGNORE] (#16100)
Fixes role banned players not being banned from roles that they are banned from (Option Two) (#69703)

I feex

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2022-09-07 00:57:12 +01:00
SkyratBot
11df5ea999 [MIRROR] Supermatter cascade subsystems fire when it needs to [MDB IGNORE] (#16085)
* Supermatter cascade subsystems fire when it needs to (#69686)

Supermatter cascade by default is offline, and will fire when a supermatter cascade occurs.

* Supermatter cascade subsystems fire when it needs to

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-09-06 16:27:07 +01:00
SkyratBot
9cc7e72158 [MIRROR] Atmos init speedup, saves 4 seconds [MDB IGNORE] (#16090)
* Atmos init speedup, saves 4 seconds (#69697)

* Micro optimizes ssair's turf init, saving 2 seconds

Most of this is making existing operations do more legwork, or cheaper.
I did add cycle checking to ONLY init turf linking, which required
creating a new proc.
Did some horrible horrible things in said proc to save like 0.8 seconds.
I think it was worth it.

* Atmos init speedup, saves 4 seconds

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2022-09-06 16:24:54 +01:00
SkyratBot
68c05634d9 [MIRROR] Closets now initialize their contents on demand (more than 1.6 seconds of init time saved) [MDB IGNORE] (#16037)
* Closets now initialize their contents on demand (more than 1.6 seconds of init time saved)

* conflicts

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 19:27:43 +01:00
SkyratBot
b0c2a0d4c8 [MIRROR] Log subsystem initialize times in feedback, give more precise displays [MDB IGNORE] (#15932)
* Log subsystem initialize times in feedback, give more precise displays

* conflict

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2022-09-04 14:28:44 +01:00
SkyratBot
1bf20d4622 [MIRROR] Micro-optimize GetIdFromArguments to be 48% faster, gaining 0.48s of init time on local (likely more in prod) [MDB IGNORE] (#16039)
* Micro-optimize GetIdFromArguments to be 48% faster, gaining 0.48s of init time on local (likely more in prod) (#69659)

About The Pull Request

    Avoids stringifying key unless its necessary. This was done redundantly twice, but I locked it to just the isnum path, as REF will always return a string, and the other path passes istext.
    Use sortTim directly instead of sort_list. sort_list is just sortTim but it copies the list, so it's just wasted cost.

I still would like the bespoke element key option, as that's the only way to drastically cut down costs on things like item descriptions and decals, but this is good for the general use case, and makes it marginally less pressing.

I also want to test if we'd be better off inserting into the list in sorted order rather than sorting it all in the end, but I suspect not.

* Micro-optimize GetIdFromArguments to be 48% faster, gaining 0.48s of init time on local (likely more in prod)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-04 03:34:06 +01:00