* Fixes a runtime in ssmapping caused by me forgetting what iteration pattern I was using (#70965)
Fixes#70932
* Fixes a runtime in ssmapping caused by me forgetting what iteration pattern I was using
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes issues with printing posters from the library management computer (#70471)
## About The Pull Request
Posters are kind of insane and they require that the poster item have
either a poster_type defined in the type or that you pass the structure
version of the poster to /new() otherwise they don't work. The weird
thing is that the structure needs to be in the contents of the item too,
or it again won't work (it won't remove the poster from your hands when
placing it). I fixed it so all you need to do is pass the structure
version of the poster to /new() on the item and it will move the
structure to the contents of the item if needed. It's still a bit insane
but it's better than it was and it fixed the bug.
Also SSLibrary.printable_posters was grabbing the directional mapping
helper of the random poster and so when you printed it and placed it,
you'd get confusing results. I made a quick fix to stop that from
happening.
## Why It's Good For The Game
Bug fixes are generally good things.
Fixes#70382Fixes#66504
## Changelog
🆑 VexingRaven
fix: Fixed posters printed from the library console staying in your hand
when you place them
fix: Fixed Random Official Poster printed from the library console
always placing the west-facing variant no matter where you place it
/🆑
* Fixes issues with printing posters from the library management computer
Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
* Fixed an infinitely-printing log message about pipenets. (#70963)
## About The Pull Request
A slight logging error resulted in a specific warning about pipenets
never being suppressed, instead continually printing the message that
states that further messages will be suppressed. This was caused by the
limit on pipenet warnings being decremented in the wrong place. This
oversight has been corrected.
## Why It's Good For The Game

This is really annoying to scroll through.
## Changelog
🆑
fix: Properly suppressed a message about suppressing messages.
/🆑
* Fixed an infinitely-printing log message about pipenets.
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
* Ensures early assets init when expected during unit tests, (#70753)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Ensures early assets init when expected during unit tests,
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Makes jobconfig.toml respect values of 0 and Fixes the Generate Job Configuration verb when there's a job that wasn't in the jobconfig.toml already (#70738)
About The Pull Request
Basically it was in the documentation of #70199 that this verb was meant for when a new job is added, or for downstreams that have more jobs than /tg/ does. So I tried to use it, and it runtimed because it didn't have one of our own jobs in the jobconfig.toml file already, thus completely defeating the point of the verb.
So I just scooted the variable declarations into the proper null-checked if block, and now it works just fine!
Also, I noticed that a job we had disabled via config wasn't getting properly disabled, turns out values of 0 in the config weren't being respected, and were getting reset to the codebase default. This behavior is now fixed, and shouldn't be an issue anymore, hopefully.
Why It's Good For The Game
Makes a useful verb, actually work for its intended usecase :)
Changelog
🆑 GoldenAlpharex
config: The Generate Job Configuration verb now works as expected when there's at least one job in-game that doesn't exist in the new jobconfig.toml file already.
fix: Any value that is set to 0 in jobconfig.toml will no longer default to the codebase's default, and will actually be considered as 0.
/🆑
* Makes jobconfig.toml respect values of 0 and Fixes the Generate Job Configuration verb when there's a job that wasn't in the jobconfig.toml already
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Change admin message for undeleted queries to stack trace. (#70589)
Change admin message to stack trace
The admins don't know what to do with this error and I swear to god if I get another ping without a round id or server name I am going to literally explode
* Change admin message for undeleted queries to stack trace.
Co-authored-by: oranges <email@oranges.net.nz>
* Fixes runtime from voting action `Remove()` (#70702)
Fixes runtime from voting actions due to calling remove on ownerless actions
* Fixes runtime from voting action `Remove()`
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* 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>
* 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>
* [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>
* 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>
* 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>
* 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>
* 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>
* 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>
* "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>
* 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>
* 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>
* 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>
* kill skyrat_wiki var
* OPTIONAL COMMIT: Comment "Tidying"(?) and Description improvements
* config i hope i did these right
WIKIURLSKYRAT IS OBOSLETE AND REMOVED
* hnhbg
* 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>
* 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>