## About The Pull Request
Adds separate, Interdyne-brand Modsuits for Intrudyne pirates.
Incredibly fast and more techy, including among other things an organ
thrower module (which is, based on flavour text, Interdyne tech). To
balance this, they discharge dramatically fast, encouraging fast get-in
get-out approach.
Sprite itself is mostly a combination of medical and syndicate suits,
with labcoat bits for extra stylishness and evil feel. The colour
pallete was enterily borrowed from Interdyne Pharmaceutics container
sprite and Interdyne-produced E-surgery tools.



Lorewise, I borrowed a random idea from cyberpunk lore video I once
watched and is now blurred for me now, upon seeing retrieval suits.
Originally made by conjuction of Cybersun and Intrudyne, combining
mechanics with supersoldier treatment for speed, allegadely for rapid
response and retrieval off corpses. [By the way, it would be funny if
someone coded an event where after cap's death on Revs or Cult, a bunch
of guys in these suits would show up with sole goal of recovering the
body and escaping with it (plus maybe some side syndicate objective)]
Aaanyway, obviously, the rapid speed plays into a lot of
Intrudyne-related tactics for the shady side of things as well. Much
like a scalpel, their attacks are supposed to be fast, clean and
precise.
## Why It's Good For The Game
Consistency thing, mostly. It doesn't make much sense that a medical
corp would use their competitors tools when they could develop a
counter. Also ties with organ thrower module, why would they have made
it, if they didn't have modsuits for it?
## Changelog
🆑
add: Added Interdyne ModSuits for Interdyne pirates.
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
## About The Pull Request
/obj/structure/closet/mini_fridge is now a clean nice one, which only
spawns beverages and does not have that cockroach reference in the
description, and starts off anchored. now
/obj/structure/closet/mini_fridge/grimy works like the old mini-fridge,
with syndicake, moldy bread, and now the chance of an ACTUAL cockroach.
I've replaced them on maps according to each one's needs, So, as an
example, Northstar gets a regular one (it var edited it before) while
tram maints get the grimy subtype.
mini-fridges now can properly go over tables, so you don't have to
deconstruct said table to put it on top again.
## Why It's Good For The Game
I've found the need for a nice subtype while doing a ruin, and so has a
few other mappers apparently, as northstar had a var edited variant. The
fact that it couldn't go over tables and started off unanchored was
annoying on tram and icebox, where it is present on the kitchen and you
could easily push it to the ground and suffer.
## Changelog
🆑
qol: It has been issued brand new mini-fridges for our active stations,
Featuring more booze and less moldy pizza!
/🆑
## About The Pull Request
Every ID, silver ID, and PDA box has been removed from the maps. You can
now only find ID boxes on the HoP's locker and PDAs must be bought from
the tech vendor. Said locker also had two instances of ID boxes, so i've
swapped one of them for the silver ID box
## Why It's Good For The Game
tram had, in total, 5 ID boxes. That's *35 IDs in total.* No one is ever
gonna lose that much, and having 7 is more than enough. If a situation
happens where you somehow need more, you can still buy it on the tech
vendor AND on cargo. I realized how many boxes the HoP had on the other
PR
## Changelog
🆑
del: Removed excess ID boxes on HoP's office
/🆑
## About The Pull Request
Adds tables near produce consoles
## Why It's Good For The Game
This is for mitigating the contamination mechanic introduced in
https://github.com/tgstation/tgstation/pull/76018 . Ideally the consoles
would auto target the table too but... one bridge at a time.
## Changelog
🆑
qol: Produce consoles now have tables near them.
/🆑
Other pr had some weird check failure, making a new pr to see if it
fixes it.
## About The Pull Request
After he ended up finishing his pirate pr before I could, SethLafuente
graciously offered to let me roll my in-progress pirate pr into his
overall pirate expansion project.
This pr essentially adds a new faction of pirates, along with a new
subspecies of Ethereals a-la silverscales.
- The Lustrous:
A unique subspecies of Ethereal, with years of exposure to bluespace
dust mutating them into crystalline abominations sporting a new pointy
head, pressure resistance, and a permanent bluespace prophet brain
trauma. They're still as fragile as ever, but far more capable of
getting in and out of sticky situations.
- Geode Pirates:
A hollowed out asteroid manned by three Lustrous, equipped with
switchblades, traitor PKAs, jump boots, two teleporting turrets, and an
upgradable bluespace launchpad.
However, they lack proper armor and ship defenses, forcing them to adopt
a coordinated hit-and-run playstyle.



## Why It's Good For The Game
When I started working on this project, I wanted to implement this
faction to cover for the loss of psykers and as a means of creating a
"rock-paper-scissors" system to how standard pirate playstyles would
work; with default pirates being offensive, Silverscales defensive, and
Lustrous mobile.
With Seth's pr, things are a little different now, but I still believe a
glass cannon mobility-focused pirate faction would be a welcome addition
to the pirate roster.
## Changelog
🆑
add: Adds the Lustrous, ethereal pirates in a big bluespace geode!
sound: Unique scream sound for the Lustrous species.
image: Unique head icon for the Lustrous species.
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
Openspace tracks the turf below for starlight purposes The trouble is if
a turf is replaced by another, all its signal registers still persist
I forgot about this, so we'd get runtimes when a
/turf/open/space/openspace was replaced, and the turf below it changed
## Why It's Good For The Game
Less random runtimes
## About The Pull Request
Title.
## Why It's Good For The Game
Door var which is primarily used in the.. commissary.
Now the doors won't be locked and fucked up if someone decides to close
the commissary.
~~Actually tram doesn't use this var, I think, but my point still
stands.~~
## Changelog
🆑 Jolly
fix: [TramStation] - Removed a (possibly) unused var on the barber shop
doors. Hopefully those taking refuge in the commissary wasn't causing
too many issues.
/🆑
## About The Pull Request
Title.
## Why It's Good For The Game
Armories aren't really a dense area mapping wise, just a few guns there,
armor there, and some fluff security stuff (like HUDs or whatever).
This PR just converts most of the heavy stuff (armor, helmets, guns)
into spawning helpers with the aim to make mapping armories just a tad
bit quicker and easier.
The only thing this does kinda nuke is the neatly stacked stuff, which
the mapping helpers kinda suck at doing, but its not totally woeful.
## Changelog
🆑 Jolly, timothymtorres
code: Jolly: Armories across all maps have been tweaked slightly. Report
to a Nanotrasen security advisor for any missing guns, armor, helmets or
anything else that was there previously (that means, post an issue on
Github if theres an issue!!)
code: timothymtorres: Random item spawners now support better control of
their X/Y pixel offset.
/🆑
---------
Co-authored-by: Tim <timothymtorres@gmail.com>
## About The Pull Request
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.
## Why It's Good For The Game
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.
## Changelog
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)
## About The Pull Request
[Removes the pretense of relative multiz
levels](0293fdc2bd)
Our multiz system does not support having a z level that is only
connected one way, or which goes down backwards or anything like that.
That's a fiction of the trait system, the actual backend has never
really supported this.
This pr removes the assumptions we were making backend around this, and
uses that to save cpu time.
I am also converting multiz_levels from an assoc list to a pure one,
which saves significantly on access times and cleans up the code
somewhat.
Also I'm making the get_below/get_above procs into macros, for the sake
of cpu time.
[Converts the starlight disease to use BYOND's directional defines
instead of our
own](7d698f02d9)
To some extent spurred on by
https://github.com/DaedalusDock/daedalusdock/pull/298, tho it was known
before
## Why It's Good For The Game
Faster multiz code, faster init, etc etc etc
## About The Pull Request
This adds either a leather satchel (when there is space for it) or a
simple wallet to every HoP's office.
## Why It's Good For The Game
HoP is the bureaucracy role that carries a bunch of tiny things. It
should be helpful to have a wallet easily available
As for the leather satchel, HoP (and most of service, if i'm honest)
Does not have a special departmental satchel/backpack, so they spawn in
with a boring gray one. Having the option to quickly switch to a more
stylish version is nice, instead of going to dorms to steal one from
there. Note that the leather satchel is not on all maps, as some have an
office too small to fit one, but i think small map variety like this is
fine.
## Changelog
🆑
qol: Leather satchels and wallets have been issued to the offices of
Head of Personnel all across the sector. Studies suggest a fashion
increase of 34%
/🆑
## About The Pull Request
Title.
## Why It's Good For The Game
Random ass /obj/item floating in space. Don't know how it got there,
don't know when.
## Changelog
🆑 Jolly
fix: [MetaStation] There is no longer a random nondescript "item"
outside Xenobiology. No, it was NOT a Xenomorph.
/🆑
## About The Pull Request
I noticed the morgue of Delta was very not pretty from the coroner
reworking so I just came through and prettied it up.
Did the same to brigsec.
If this falls under the freeze let me know and I'll re-open it later
maptainers.
## Why It's Good For The Game
Pretty morgues.
## Changelog
🆑 Melbert
qol: Prettied up the morgue of Deltastation
/🆑
## About The Pull Request
Removes the attachment module for 'atmoscilower_2' and replaces it with
a static dug-out room.
## Why It's Good For The Game
I didn't properly space out the current modules for how much closer the
module spawns on this variant and it'd clip into Science pretty badly.
nobody made an issue report on this afaik and it hurts my soul
## About The Pull Request
Fixes#76463
## Why It's Good For The Game
Critical that everything is spelled correctly or I might pop a blood
vessel
## Changelog
🆑 Vekter
spellcheck: Fixed a typo on the Interdyne shuttle.
/🆑
## About The Pull Request
Getting back into coding by making some soul PRs.
Adds a new kind of bluespace capsule which replaces the default one when
the "budget pods" station trait runs, and is available from the vendor
for a (marginal) discount.


The Nanotrasen Emergency Relief Capsule provides a port in the storm for
people with an urgent need, and very little else.
## Why It's Good For The Game
This one is mostly just kind of funny I'll be honest.
I guess it uuuuuuuh provides a kind of pod with no GPS signal if you
really want to go off the grid? But anything I write here is secondary
to the point of "someone suggested it on the forums and I liked it".
## Changelog
🆑
add: Budget cuts can sometimes effect the station's supply of Emergency
Bluespace Shelters.
/🆑
Merging this is required for #76245
## About The Pull Request
Hey there,
Every time this away mission got loaded, we got some really wacky
runtimes like the following:
```txt
[2023-06-22 04:38:37.613] RUNTIME: runtime error: list index out of bounds
- proc name: set pipenet (/obj/machinery/atmospherics/components/set_pipenet)
- source file: components_base.dm,167
- usr: null
- src: UO45 Mining omni air scrubber ... (/obj/machinery/atmospherics/components/unary/vent_scrubber/on)
- src.loc: the floor (136,101,12) (/turf/open/floor/iron)
- call stack:
- UO45 Mining omni air scrubber ... (/obj/machinery/atmospherics/components/unary/vent_scrubber/on): set pipenet(/datum/pipeline (/datum/pipeline), the red scrubbers pipe (/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden))
- /datum/pipeline (/datum/pipeline): build pipeline blocking(UO45 Gateway omni air scrubber... (/obj/machinery/atmospherics/components/unary/vent_scrubber/on))
- Atmospherics (/datum/controller/subsystem/air): setup pipenets()
- Atmospherics (/datum/controller/subsystem/air): Initialize()
- Master (/datum/controller/master): init subsystem(Atmospherics (/datum/controller/subsystem/air))
- Master (/datum/controller/master): Initialize(10, 0, 1)
-
[2023-06-22 04:38:37.637] RUNTIME: runtime error: addMachineryMember: Nonexistent (empty list) or null machinery gasmix added to pipeline datum from �UO45 Mining omni air scrubber T2AiT which is of type /obj/machinery/atmospherics/components/unary/vent_scrubber/on. Nearby: (136, 101, 12) (code/modules/atmospherics/machinery/datum_pipeline.dm:134)
- proc name: stack trace (/proc/_stack_trace)
- source file: stack_trace.dm,4
- usr: (src)
- src: null
- call stack:
- stack trace("addMachineryMember: Nonexisten...", "code/modules/atmospherics/mach...", 134)
- /datum/pipeline (/datum/pipeline): add machinery member(UO45 Mining omni air scrubber ... (/obj/machinery/atmospherics/components/unary/vent_scrubber/on))
- /datum/pipeline (/datum/pipeline): build pipeline blocking(UO45 Gateway omni air scrubber... (/obj/machinery/atmospherics/components/unary/vent_scrubber/on))
- Atmospherics (/datum/controller/subsystem/air): setup pipenets()
- Atmospherics (/datum/controller/subsystem/air): Initialize()
- Master (/datum/controller/master): init subsystem(Atmospherics (/datum/controller/subsystem/air))
- Master (/datum/controller/master): Initialize(10, 0, 1)
```
I'm going to chalk it up to how absolutely goreifying the old UO45
atmospherics was, so I just redid it to modern standards. Should be a
lot cleaner now, may have missed a few things so let me know.
## Why It's Good For The Game
Looks way cleaner, actual modern mapping standards for a map that hasn't
been touched in a _long_ while, less runtimes!!!
## Changelog
man does anyone even like this away mission? it's not player changing
enough i fear
lmk if i missed something, but it stopped generating runtimes so i'm
calling it epic swag
## About The Pull Request
The second layer of tram does not need its own relay, it is like 10 feet
max above the first.
Feels wrong in game, mappers tend to just sneak these off in corners, it
sucks.
Shouldn't need to do it.
Instead, tcomms z levels will be filled based off the z stack, rather
then just the layer itself.
Adds a list/helper to make this more efficient/more easily duplicable
## Why It's Good For The Game
Matches what people expect better, removes redundant map bits, better
vibes.
## Changelog
🆑
balance: Tcomms now works across connected (vertically) zlevels. No more
hunting in maint for the relay.
/🆑
## About The Pull Request
Title.
Also, fixes https://github.com/tgstation/tgstation/issues/75568 at the
request of @TheVekter
## Why It's Good For The Game
This subtype only exists to append ore box behavior and is clearly a
relic of pre-2020 mechcode.
Keeping it around will only make it harder in the future to add new
mechs with ore box support.
## Changelog
🆑
fix: Clarke ore box now has a less confusing dump contents button.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
The reusable and caseless types only purposes are the behaviors of
deleting the casing when fired and spawning a new object when the
projectile ultimately reaches its maximum range or hits a target, both
of which are easily "elementizable". Also, I don't like those barely
filled sub-folders in the projectile module, and the fact we've
divergent reusable and single use arrow types.
## About The Pull Request
The incident counters and digital clocks merged at roughly the same
time, causing some overlap. Moves a few around and adds where missing.
## Changelog
🆑 LT3
fix: MetaStation's bridge incident counter and clock no longer overlap
fix: Deltastation's missing incident counter has been found. Does that
count as an incident?
qol: Tramstation bridge and medbay now have a clock where the tram hit
counter used to be
/🆑
Theres one player-facing change in this PR and it's that I removed human
gibs from being valid in space turfs, making it more consistent with the
other gib decals.
I've cleaned up many instances of decals spawning in bad turfs on
mapload in https://github.com/tgstation/tgstation/pull/75189, but making
it error anytime in-game a decal is put over an invalid turf is bad as
it punishes contributors for not optimizing their decals properly.
This changes it so it only errors if it's on mapload, unit testing or
not.
I've also removed ``turf_loc_check`` and replaced instances of it with
overwriting ``NeverShouldHaveComeHere``, which gives us greater control
of where decals can be placed.
This let me remove 2 subtypes that were made to have decals in specific
places (which then got placed elsewhere, ruining it all).
Mappers are still able to set decals to be placed anywhere, they just
need to add it as a valid turf for that decal.
## About The Pull Request
Adds one way accesses on science hallway doors on Delta, Icebox, and
Birdshot to make them consistent with other maps.
Also fixed a science maintenance that was set to service maintenance,
which didn't make any difference in testing but it kind of bugged me
seeing it in the mapper.
## Why It's Good For The Game
Avoids people getting trapped in science hallways, and I think
consistency in behavior across all maps for something like this is a
good thing.
## Changelog
🆑
fix: Science department hallways now have unrestricted one-way exits on
Delta, Birdshot, and Icebox, to make these maps consistent with the
others.
/🆑
## About The Pull Request
Ok so we currently have 1 (count em) border object that wants to smooth
with other border objects. That's the tram window.
It currently does this manually, via map edits, but that's kinda crappy
so lets be better.
This pr adds a new smoothing mode to handle border objects.
Unlike other smoothing modes, it returns a bitfield of directions the
border object connects in.
I do this by memorizing a calculation of which dirs "connect" at init,
and reading out of a global list with border object direction, direction
between objects, and if it's a border object, the other object's dir.
I'm doing this primarily because it's become useful for wallening (a
spriter saw the tram thing and is doing the same thing to pod windows,
and I want to support that)
I do think it's potentially useful in other applications too tho, and I
like dehardcoding tram windows.
Also fun bonus (or maybe downside), it's nearly 0 cost because I pulled
the bitmask smoothing define into 2 subdefines, and am swapping the
handler one out to do what I want.
Oh also I got rid of a for loop in smoothing code, redundant and costs
time in list iteration
[Moves tram windows over to the new border object
smoothing](114873679c)
Also replaces some typepath chicanery with a setDir override, for
redundancy in future
Oh and there's a update paths script too, to be nice
## Why It's Good For The Game
More visual possibility in future, fixes a hack we have currently, and
makes some spriters happy.
## Changelog
🆑
fix: Dehardcodes some stuff with tram windows, they'll be easier to map
with now
refactor: Border objects can now smooth with each other. I'm sure
something cool will come of this
/🆑
adds the Vorpal Scythe, a special chaplain null rod variant, replacing
the Reaper Scythe, a not so special null rod variant.
When you choose the vorpal scythe, it comes as a shard that you implant
into your arm, similar to a cursed katana.
Once implanted, you can draw it at any time like an arm implant.
However, sheathing it again presents some problems. (Also, implanting
the organ gives you ``TRAIT_MORBID``, which I'll explain in a bit)
The Vorpal Scythe has 10 force, one of the weakest null rod variants for
force that isn't a joke null rod. However, it has exceptional armor pen
and also has 2 tiles of reach. So quite unique.
It also has a special beheading ability when you right-click someone.
This borrows some code from amputation shears, functioning pretty
similarly, except with a few additional ways to speed up the action and
restrictions. (It takes 15 seconds baseline to behead someone standing
and conscious, and speeds up or slows down based on factors such as
incapacitation and whether or not our scythe is already empowered)
When you successfully behead someone with a mind, the vorpal scythe
gains 20 force and can be safely stowed and drawn for 2 minutes.
Performing more death knells like this will reset the timer.
If it has not performed its 'death knell', or you haven't hit a living
mob, then it will cause severe damage to you if you ever try and stow it
(or its forced back into your arm). Just hitting a mob with the scythe
will sate it for 4 minutes. Unless it is a non-player monkey. Horrible
things. Just hitting mobs does not reset the timer on empowerment.
What this means is that the chaplain may be more hesitant to simply draw
their weapon on people. It also means that potentially, the chaplain
will not always have magic immunity, since they may end up stowing the
weapon away and be reluctant to draw it on a whim without either taking
damage for sheathing it without hitting something, or dealing with
having one less hand up until they can.
While empowerment only happens when you behead mobs with a mind,
beheading monkeyhumans and other mindless humans subtypes causes their
heads to become haunted! It's mostly harmless and largely just SpOoKy.
We don't want heads with actual players in them to go floating off to
space. (Does not work on monkey heads for sanity reasons)
When you have the Morbid trait, you think creepy stuff is cool and hate
saving peoples lives. You get a mood boost from graverobbing, autopsies,
dissections, amputations (including beheadings with the scythe and
amputations with the shears) and revival surgery. However, you get a
mood penalty when you tend wounds on the living, as well as a hefty
penalty when you perform CPR or defibrillate someone. I was thinking
Victor Frankenstein when I was choosing which actions had an associated
moodlet, so anything that I might have missed would be appreciated.
You also count as potentially cool with regards to haunted objects.
Ghosts think you're neat. (Revenants probably will still kill you if
they had the chance)
## About The Pull Request
Apps now properly delete themselves when removed, so they don't exist in
nullspace anymore.
Chat client now actually updates the uid, because its New() didn't call
parent.
Deletes the 'console' subtype of modular computer
Updates how downloading and transferring files are handled
Fixes being able to infinitely upload apps to a disk
## Why It's Good For The Game
Fixes some more bugs I found with apps and prevents spamming apps in a
disk.
## Changelog
🆑
fix: Maintenance data disks now properly transfer from PC to disk
fix: Disks can no longer be flooded with the same app repeatedly.
/🆑
## About The Pull Request
Fixes/adds missing atmosdrobe. To fit the theme of the map, its
placement is slightly obnoxious.
## Why It's Good For The Game
Lets atmos techs be slightly more fashionable hermits. Or at least get a
new clothes when, neglecting PPE, their burn escapes containment.
## Changelog
🆑
fix: Birdshot now has an (oddly placed) atmosdrobe.
/🆑
## About The Pull Request
This standardizes fugitive hunter IDs, making all hunter packs use the
same subtype and giving them to hunters who would spawn with no ID at
all.
The badass flaming ID color that the OG Bounty Hunter team got are now
the standard for fugitive hunter IDs. Additionally, these IDs now come
with a radical skull trim.
(Spacepol Officers don't get the badass flaming skull ID, and instead
get a more modest Police Officer ID).
**These IDs come with access, too. Airlocks, bolt buttons, shuttle
controls, and shutters on all of the hunter shuttles now require a
hunter's ID to operate.**
While I was in the area doing mapping stuff to get the accesses in
place, I made a few other very minor changes to the shuttles. These
include:
- The Bounty Hunter shuttle now has an oxygen dispenser. Two walls have
been moved to make space.
- The Russian Hunter shuttle now gets enough oxygen tanks to share with
everyone.
- The Psyker Hunter spawners now have proper spawner menu text. This was
due to duplicate-but-not-really subtypes existing, and me mistakenly
putting the wrong ones there in a previous PR.
- The cut ai wire helpers from the Russian/Psyker shuttles have been
extended to the Bounty/Spacepol shuttles.
- Every hunter shuttle now has a shuttle pinpointer on it somewhere, and
is no longer exclusive to a single Bounty Hunter's loadout.
## Why It's Good For The Game
Some of the hunter IDs would spawn without trims or coloration, and some
hunters wouldn't spawn with IDs at all. Now, everyone gets a credible,
cool-looking ID that lets everyone know what you're here to do at a
glance.
One of these is a crazed larper with an unregistered firearm, the other
is a certified bounty hunter.
As for the hunter access, it's pretty nonsensical that anyone can just
walk into the hunter ship and set up shop. At least the pirates get
turrets! Not to mention, it's hard to balance or give hunters new
equipment in good conscience when their entire domain is public-access
and anything they can't carry is considered forfeit to the crew. Now it
can be used as a base of operations, storage area, etc. more securely.
Locking down the shuttle with accesses isn't going to stop a determined
gamer with a toolset, but it'll at least make it more interesting and an
actual risk. If the fugitives want to try and loot/hijack the shuttle,
it will require the effort of taking down one of their hunters first.
While hunters stand out for the differences/imbalances between each
group, I don't see the shuttle pinpointer as something that contributes
positively to the OG bounty hunter's uniqueness. There's no reason why
the other hunters shouldn't also be able to track their ship.
## About The Pull Request
Unit tests will now fail if there's a decal in a wall or open space
turf. Open space turf could be limiting to mappers but I don't think it
makes sense for decals (like dirt, glass shards, etc) to be floating
around in space in the exact same spot.
If there's a decal you want to put in space, decals have a
``turf_loc_check`` var that will bypass this.
**Important note: This is not changing existing behavior. Decals already
delete themselves when they spawn in these incorrect locations, we're
just avoiding them from spawning in the first place.**
### Changes I made
- Ash flora are now lava immune, rivers spawn after flora does, so I
decided that it would be easiest (and more flavorful) to have them be
lava-immune rather than to not have them spawn at all.
- Decals can now be spawned in non-turf locations. This is currently
done by mail, which can give you bones as part of the mail. Currently it
will just delete itself instead.
- Trading Card button is now on the same tile as their display, which
now uses an offset. Before it would spawn it on the tile next to it,
which could be a wall in some instances.
- Mirrors now have floating movement type. They ARE floating since
they're attached to the wall, and it prevents them from burning up due
to lava in the Pride ruin.
- I also added a broken mirror subtype because I thought the icon_state
check was terrible.
- Bubblegum called ``DestroySurroundings`` several times on the same
thing, I hopefully fixed some of that. Their charge ability also
registered ``COMSIG_MOB_STATCHANGE`` despite ``/datum/action`` doing it
by default, so I fixed that too.
## Why It's Good For The Game
Decals in walls is already a bad idea, but currently all it does is
delete it on Initialize. It would be better if we ensured they wouldn't
spawn in the first place.
## Changelog
🆑
fix: Lava will no longer burn 6 of the mirrors in pride ruin
fix: Lava will no longer burn plants that spawn in them.
/🆑
This PR gives a small update to the patch of eden lavaland ruin, and
adds a new item that can be used as an upgrade to the plasma mod core.
The idea around this item is that it's a flower that has absorbed all
the plasma and bad-vibes in the small area around the ruin, leaving an
area full of plants, and a flower full of energy. This flower can be
taken from the oasis and turned into a functional MOD core using some
wires. As a MOD core, it is the same as the plasma mod core, but has a
higher energy capacity, being equivalent to a super power cell. It also
gives you a cool pollen effect, and spawns butterflies around you while
your suit is active. These butterflies disappear when they get too far
away, or if the suit deactivates. They also don't leave corpses, so they
shouldn't cause too much clutter.
## About The Pull Request
This fixes a few weird access perms on maintenance doors leading into
Tramstation's brig.
The delivery chute windoors here were not access locked at all, meaning
anyone could just walk into the security office through maintenance.
This PR replaces these two windoors with a single reinforced windoor
that is locked to security access; in line with other departmental
delivery locations around the map.
<details>

</details>
This door in the brig medbay used a maintenance access helper, meaning
anyone with maintenance access could walk into the brig through it. This
PR swaps that out with a general security access helper instead:
<details>

</details>
## Why It's Good For The Game
The brig probably shouldn't be publicly accessible through maintenance.
## Changelog
🆑
fix: Maintenance doors/delivery chutes leading into Tramstation's brig
have had their access requirements fixed and now actually require
security access to open.
/🆑
Fixes#75918
Alternative to #75926🆑 ShizCalev
fix: The RD's plant will no longer say that it's not very healthy after
being restored with seeds.
fix: Potted plants no longer randomly swap icons after being thrown.
fix: Plants that started the round dead are no longer all the same kind
once revived.
fix: Admins can now varedit plants to be alive / dead!
/🆑
## About The Pull Request
This changes the Spaceman simplemobs into basic mobs.
They really didn't do anything besides stand around and retaliate, so no
new AI datums had to be added.
## Why It's Good For The Game
Scratch it from da list.
## Changelog
🆑
code: Spaceman simple mobs have been converted to basic mobs.
/🆑
---------
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>