## About PR
- Uses `locate()` instead of `get_step()` when determining banner's
location, while considering the set offset value (normally either 32 or
-32) to have an accurate result. This resolves banners having stands
while placed on walls after Init.
- Instead of checking where the user is standing, the banners now checks
the position it'll be placed upon, and whether this position has dense
objects except the ones that is fine to be placed upon. Resolves#18068
- Prevents banner duplication, resolves#18620
I am sorry for the shitcode in advance
---------
Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This PR gives you the ability to wash glassware (glasses, mugs, beakers,
vials, etc) and kitchenware (pots and pans) at the sink.
With the empty item in hand, left-click a sink on DISARM intent.
There are no mechanical or gameplay changes. Items don't get dirty, you
aren't required to wash anything after use, it's just a little text-only
interaction meant for roleplay and nothing more. However, there's
nothing stopping the Executive Officer from giving you the stink-eye if
you don't wash the trays before putting them away!
---------
Signed-off-by: ASmallCuteCat <neofelisnebulosa128@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
## About PR
- Introduces a dropship-esque Intrepid, making it feel more like a
public transport in a overpopulous city, while trying to avoid
chokepoints.
- Ports the CM's double seats.
- Removes access restriction from Intrepid's side airlocks, to be in par
with the main airlock.
- Deletes some rogue pipes near hangar bay.
- Re-adds a small oven which was introduced in #16449. With slight
tweaks and different colour palette.
This is probably an awful way to port CM's vehicle seats, but in testing
only issue I've found is: when the chair occupant punches someone, their
own buckle off-set will get reset. I am not sure why.
The way the double seats work is, it'll let anyone pass through as long
as both of the seats aren't occupied at the same time.
## Images
<details><summary>Details</summary>
<p>

</p>
</details>
---------
Signed-off-by: Kano <89972582+kano-dot@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Currently, the Custodial Supplies Locator app provided X and Y coords of
every single mop, bucket, janicart, and cleanbot on the entire server.
This PR makes it so that these objects will only be registered to the
global list of custodial supplies if they are present on the Horizon on
init, and it will also provide Z coords so you can tell if they're on a
different deck.
The app also has a weird built-in GPS function that tracks the reader's
movements instead of the device's. Instead of fixing this to follow the
device, I just removed GPS feedback text- a Janitor can grab one of the
GPS units that comes in their lockers, and this also allows them to be
tracked by other units.
This implements a bunch of little QoL improvements and a few substantial
expansions in hydroponics intended to deepen the job's interactions with
hydroponics mechanics.
- Adds k'ois spores to hydroponics! Note these are only available in
hydroponics proper, the seed storage machine for the garden has been
split into a separate subtype that does not contain k'ois. This is
packaged with a small hazardous containment chamber to safely grow
dangerous crops, in addition to a decontamination area and a hazmat
closet. K'ois is something the kitchen is continually in demand of, and
it is the sole foodstuff of an entire species - I don't see why
hydroponics wouldn't be able to grow it.
- D1 hydroponics now has the same atmos equipment for changing the
temperature of trays as xenobotany, allowing you to take air from distro
and change its temperature across two separate reservoirs feeding into
trays. Different crops grow optimally at different temperatures, this
lets hydroponicists engage with this mechanic.
- A bunch of misc code QoL changes, including shifting the crates in
hydroponics from mapping to code.
- Makes empty first-aid kits spawn with a minimum of 16 storage space.
Previously, the storage you'd see in empty first aid kits was well, well
below how much actual first-aid kits with prefilled contents had.
- Expanded hydroponicist maintenance access a little, so they can now
access the garden and hangars through adjacent maints.
- Seed storage machines have cranberry seeds now.
- A few more items are in the biogenerator, in the interest of making
the hydroponicist a better generalist.
- Shifted around some of the contents of the biogenerator to prioritise
more important stuff, including moving flags to the bottom of the list.
The only item actually removed is the money bag - I'm not sure what use
you'd find for that.
- Adds autoinjectors and autoinhalers to the hydroponicist's herbalism
crate.


From the feedback I've been seeing while playing, the bar has become
*unfun* to play or to interact with. I don't think the scarcity PR has
helped improve player experience, at least for the bar. I've re-added
the drinks that were removed, including the cabinet of beer yokes in the
back.
HOWEVER. There are less of all of them, encouraging resupplies if
there's heavy use.
!!!! I have not touched any other changes the scarcity PR introduced.
Medbay and Engineering scarcity remain. Anything added to cargo remains
purchasable, and the lavatory vendor still exists. !!!!
Supersedes #20786
Updated balloon alerts with the latest changes from tgstation.
Improvements include a new plane for them, and their duration changes
depending on their length.
Unfortunately, since they were added, they have been abused for really
long text that is difficult to parse in-game (by myself included).
Balloon alerts are useful, but they are not smoking guns and have
limitations due to their lack of persistence. I have clamped down on
their abuse in favor of the standard established by tgstation, [seen
here](https://hackmd.io/0Cvr4hpcTe-KI6SbgfUWtw#balloon_alertballoon_alert_to_viewers).
We lack updated runechat so I will not propose this be a fully
implemented standard at this time, but I have cut down all existing
balloon alerts to size.
- rscadd: "Adds Lavatory vendors to the public bathrooms, that dispense
hygiene goods."
- refactor: "Migrates bartender's supply of 6 pack beers and Sencha teas
to the cargo database."
- refactor: "Migrates impact wrenches to the cargo database."
- balance: "Removes the extraneous dylovene, kelotane, bicaridine and
coagzulug in medical. Migrates medication to the medication closet."
- balance: "Removes the unused Nanomed Minis in medical. Replaces the
surgery side Nanomed Plus with a Nanomed Mini."
- balance: "Removes the two large medical kits from medical storage, and
the kit in the exam room. Moves the wheelchairs from the morgue lift to
medical storage."
- rscadd: "Adds cranberries to the game. Now you can actually make
cranberry juice!"
- refactor: "Juices found in soda machines, booze dispensers and the
booze-o-mat have been migrated to the cargo database."
- rscadd: "Cream and fatshouters milk cartons can be ordered from
cargo."
- balance: "Certain juices are now cartons when separated in a
CondiMaster."
- balance: "Removed coffee, milk and sugar from soda machines, as they
are made redundant by CoffeeMasters."
- balance: "Non-CoffeeMaster coffee machines now just dispense coffee
instead of espresso."
TL;DR
- Juices aren't free anymore - get them from supply, the botanist, or
alternative means.
- Soda machines don't dispense coffee, milk and sugar anymore. Since we
have coffee machines already.
- Migrates the stuff in the bar that just got shoved in through mapping
that shouldve been a cargo order in the first place.
- Adds lavatory vendors, which helps to replace manually mapped in
toiletries.
- Removes the extra medical supplies from medical that end up basically
unused for most rounds.
- Adds more things that can be ordered from supply.
- Un-powercreeps the impact wrench. It's made screwdrivers and wrenches
obsolete. Imagine if all of Medical's hyposprays were the CMO hypospray.
That's how it basically is right now.
It's going to be mildly inconvenient, sure. But I have full faith that
people will get used to it in a month. I feel kind of vindicated after
the suit sensors removal PR that the mass-complaints have ceased to be
an issue, and I feel it's going to be the same case here.
Anyway, yes, it's rather silly that the Big Ass Flagship doesn't
immediately have the latest and greatest stuff, but this is thinking
towards long term towards NBT2, where we'll definitely be running a lot
more slim.
**Also, please. Don't brigade this pull request. Just ping me in the
general Discord if you have anything to bring up. I'll try respond to
you if I'm available.**
https://github.com/Aurorastation/Aurora.3/issues/17355
Fixed check for airlock assembly deconstruction. Also added a friendly
feedback message about installing windows, not that I had trouble with
that recently or anything.
To allow the fluff maintenance panels to be opened even with low-tech
standard wrenches. Not only does it make sense, but also lets them still
be opened and worked with even if Engineering were to lose its default
impact wrenches.
To facilitate the mundane wrench being used for atmos panels as a 'fix
RP' action, opening and closing maintenance panels now must be done with
the Disarm intent (with description updated to communicate the fact).
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
This implements several tweaks to the layout and contents of the
recently remapped hydroponics bay to make the space smoother and more
intuitive to play in.
The intention of the mapping here is to make D1 hydroponics a
non-liminal space to be in, it should have amenities that mean you can
spend a long time there comfortably - I believe this was also the
intention of the original PR. It contains most of the hydroponics
machines. This is also intended to ensure that you can comfortably spend
most of your time in D2 if you prefer, which is important as it's the
more visible area.
The empty middle row in the D1 hydroponics racks is intended to be an
intuitive spot to cultivate bees. There are two chairs at the desk since
there are two gardeners, and the vendors have been moved to a more
prominent spot on D2 to make it feel less liminal. I've replaced the
hatches under the hydroponics trays with outlines, as a green hatch
under a plant makes the plant pretty indistinct. Windoors have been
removed between the two areas, since they are no longer required to gate
chef access.


As the title says. Currently a 10% chance each time the random crate
spawn rolls but I'm open to reduce it if desirable.
---------
Signed-off-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
Fixes an issue where you could not walk on the tile where a chainlink
fence existed. Altered the passing code and added some flags to ensure
it would check direction.
@RustingWithYou I tested it several times to make sure that it could not
be lept. It seemed the intention was for it to never be passable so
nothing living is able to move through it in this configuration. I left
the probability for projectiles to sometimes not pass.
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.
Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
* All the ballistic weapons in the armory now start unloaded. Magazines
and rounds that would've spawned in the weapon now spawns in the ammo
lockers. In effect, two beanbags shells have been added to the armory.
From previous PR:
- Fixes Quick Equip (Thanks, Matt)
- Fixes Loadout Preview, will override uniforms properly now
- Turns shirts into uniform items, so you can attach accessories to them
This also fixes the issue of people spawning in shirtless if they didn't
attach properly to the pants.
Additions:
- Shifts suspenders, leather chaps, and kneepads to be pants
accessories.
(This fixes the issue of accessories staying even without pants, e.g.
assless chaps)
(In future, hip holsters are to be added to this accessory list)
Anyway, that's the long and short of it. Have fun.
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Resolves https://github.com/Aurorastation/Aurora.3/issues/20285, this
overwear is required by new regulations to be worn by Tajara during
surgery so it should be available on the map and not solely via the
loadout.
Also shifted some glove boxes that had been mapped into the lockers into
the fill(), hence the .dmm change.
Enabled new opendream pragmas
Fixed some runtime access check operators (`:`) around the codebase (not
all, some are unfixable as they're used in macros)
No player facing changes (hopefully)
Refactored mousedrag procs, added signals, some safeguards, did some
cleanups around, renamed them to make a little more sense. Mostly put in
line with TG's code.
Fast clicking and releasing with a drag, depending on the grace period
and how fast it is done, can be counted as clicks, to aid in combat
scenarios where you spamclick.
Added a bunch of flags for passflags on things that were previously
missing them.
Removed snowflake passthrow var, it's a passflag now.
Updated ClickCross and Adjacency code.
It's now possible to interact with things that are adjacent but
otherwise have a machine (or other appropriate items) blocking them, eg.
think of an APC on the wall with a machine in front of it.
**This is up for review**. The theory behind the redesign can be
reviewed in the [feedback
thread](https://forums.aurorastation.org/topic/21474-sccv-intrepid-remap-feedback-thread/),
but for quicknotes:
- Designed to be able to carry more people and more stuff more smoothly.
- Maintains access for xenoarchs, should still be very usable for their
purposes.
- Should avoid chokepoints.
- Adjusts scc air tank airlock variant's pressure, airlock shouldn't go
dry.
- Airlock is 3x3, 9 turfs total. 5/9 regular vent coverage, 3/9 out vent
coverage. Cycles out in roughly 12 ticks in my testing, it seems like
the size isn't slowing it down much.
- Field kitchen crate variant added so you can set up a miniature
kitchen inside the cargo bay. Should cover essentially everything you
need.
- Nixed the RTG parts - I want to keep the storage space as open as
possible and I've never seen them used, the Intrepid practically can
never run out of power.
- For similar storage concerns, three emergency softsuits are now in a
wall ecloset, instead of two inside suit storage units. It's a little
haggard, but it saves two turfs of storage space.
- Atmos is mostly functionally the same as it was. You can no longer
feed into fuel or air from outside, but in my experience this
functionality of the Intrepid has never seen much use anyway. Only other
thing missing is the ability to directly feed air into the main air tank
or the main fuel tank off a canister - can be achieved just by swapping
a regulator/pump around in both cases.
- Medical should be identical.
- The three tile wide hallway is meant to avoid congestion, people can
go in and out of it into the side seating compartments without being
forced into any single tile doorways.
- Navigation console was hard to fit in, ideally I think I'd want to
make a wall-mounted variation so it can be incorporated more easily.

Adds the SPLF Raider offship, a repurposed freighter used by the
Solarian People's Liberation Fleet to raid corporate assets in the CRZ.
This is a piratical offship, but they are not antagonists.
- In terms of ghostroles, this ship is comprised of four volunteer
militants, one repurposed civilian synthetic, and one actual naval petty
officer from the 35th splinter to moderate the volunteers.
- My hope is that the ship should avoid independent ships and only
attack corporate vessels, which I hope is communicated in the ghostrole
descriptions.
- For now, the uniforms and voidsuits are all generic Solarian assets,
which may spark some confusion over how the SPLF is meant to be an
entirely seperate faction to the mainline ASSN. With some luck, we'll
have unique SPLF suits to work with soon.