this PR fixes some typos and increases the S'rendarr's Hand content in
the adhomian cigarette from 5 to 10 to match the total amount found in
other cigarettes. also removes "vanilla cigarettes" from the code
because it isn't used anywhere.
Stingers are, in my opinion, one of if not the single most lethal
grenade type in our codebase.
They are a LTL option.
Considering they're also standard armoury equiment, I think it's fair to
bring them down a little. Hopefully they'll see more use.
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.


Adds a forearm crutch to the game, as well as the ability to select a
pair of crutches in the loadout.
The sprites for it are made by Plyushsune, and altered by me.
## About The Pull Request
OpenDream is adding `usr` and `args` to the `SoftReservedKeyword`
pragma: https://github.com/OpenDreamProject/OpenDream/pull/2307
This PR renames `var/usr` to `var/user` and `var/args` to
`var/arguments`.
## Why It's Good For The Game
This pragma is currently set as an error on Aurora, because using
internal var names for declared var names is cringe.
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
https://github.com/Aurorastation/Aurora.3/issues/18299
Original bug report was for Air Alarms always displaying their wiring
interface when interacted with, even when the maintenance panel was
still closed.
I found a few other objects which also did not correctly check if wires
were accessible before displaying the interface.
There also remains some inconsistency: some objects will always display
the wire interface when clicked on with panel open, but others require
you to have certain tools in hand too (wirecutter, multitool, etc.).
Without them in-hand, they won't give you the wire UI. I'm indifferent
to which option is better, but it should be made consistent. If someone
feels at all strongly about having tools in-hand vs. not to see the
interface, then I can also make that change with whatever the prevailing
opinion is.
- 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.**
This PR does the following changes:
It changes the name of the 'Smoking' tab in the loadout to 'Drugs and
Medicines'
It moves the psychiatric medicines from the Utility tab to this newly
renamed Drugs and Medicines tab
It adds a few basic OTC medicines, the same ones found in the OTC vendor
in the medical lobby (except for dexalin and dylovene)
It adds some legal recreational drugs that can be selected in the
loadout.
IMPORTANT: You will have to re-select items that you previously had in
the Smoking tab, and re-select your psychiatric medication.
This applies a sound to the act of deploying any kind of trap, applies a
sound to falling into a punji trap, and makes people collapse upon
falling into a punji trap. Intended to give more feedback, especially
considering how lethal a punji is.
As title: mechanics/electricians/tradespeople having their work gloves
tucked into their belts with the rest of their tools is pretty normal.
Tool belt's description says "...for holding various tools _and
equipment_", emphasis mine, so even though they're not strictly 'tools,'
I still think it fits (plus they're some of the only small utility items
not able to be stored in toolbelts apart from various goggles).
For consistency's sake, one could argue that ALL gloves should be able
to be stored in a tool belt if Insulated Gloves can be stored, but
keeping it simple for first PR, am good with whatever.
Adds a new item to the smoking loadout tab, an empty metal cigarette
case that can hold 14 cigarettes. Intended to be filled up by rolling
people or those who prefer to keep all of their poison-in-a-stick within
a cute, convenient package.
Fixes an issue wherein the in-hand mob sprites would not display for
cigarette packets and cigar cases, they now do so properly. Modified the
north facing sprites so they don't look out of place (appear BEHIND the
player sprite)
Fixes an issue wherein you could place cigars into smaller cigarette
packets, which became relevant because that meant you could stuff the
cigarette case full of oversized cigars. Now you can only hold cigars in
cigar cases, as you should.
Built for modularity, it should be easy for contributors to add their
own cigarette cases design, and to tweak the existing cigar cases code
to allow for the same handling of open icon states, where multiple
closed icon sprites change to one single batch of open icon sprites,
reducing bloat. Courtesy of Geeves.
While currently out of scope of the P-R, this is intended to be improved
later down the line by allowing you to select which kinds of cigarettes
can spawn in the case in addition to allowing it to start empty, kind of
like how lunch boxes work. Was too complex for me to figure out and
would've taken far longer than needed, but is a planned project for the
future.
Given that the pharmacist is given inhalers and autoinhalers to fill
every round with pneumalin, pulmo, dexalin, and whatever, I figured this
might've been an oversight.
Super helpful for Odyssey rounds when all the crew are going down and
medical wants to bring the entire fridge (8 autoinhalers + 2 inhalers +
4-6 small inhaler cartridges AND the bottles)
EDIT: Changed to only inhaler cartridges, not autoinhalers nor inhaler
bases.
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.
Nanotrasen and Nanotrasen aggressive law modules/boards renamed to
Conglomerate/Conglomerate Aggressive
Adds the Conglomerate Aggressive lawboard (this lawset already exists,
just never was given a board?). Adds a copy to AI Secure Storage
(alongisde the existing lawboards, this falls under a board the SCC
would have just in case, like the other ones there.)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Fixes#19603Fixes#20558
- bugfix: "Fixes plant bags - now uses storage_slot system, along with
other bag subtypes."
- bugfix: "Borgs can interact with tables again."
- refactor: "Refactors make_exact_fit to be a binary variable."
- refactor: "Refactors storage items to use make_exact_fit instead of
arbitrary max_storage_space values."
- refactor: "Refactors storage items to use defines for storage space."
- bugfix: "Fixes monkey cube boxes having superfluous overlay."
- rscadd: "Updates the progress bar toggle message."
- qol: "Objects that rotated 90 degrees in storage no longer rotate in
storage slots."
<img width="732" alt="dreamseeker_qRVkIlYN78"
src="https://github.com/user-attachments/assets/1226ed22-52c1-4965-a1b4-2290e56a2ab3"
/>
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
I literally changed the Clown firing pin to the objectively cooler
Psionic firing pin in the RDs firing pin box, which is cooler, makes
more sense, and also apparently the Clown firing pin is an adminbus
item, at least thats what comments call it
I had to unironically bust out my pen and paper for this bullshit and
magnifying tool to actually check if things were pixel perfect.
- bugfix: "Fixes storage box alignment and storage space UI to use
better maths."
- qol: "Tweaks IDs, IDs and firing pins now rotate 90 degrees when in
storage for easier clickability."
- bugfix: "Fixes Item Tooltip toggle message."
- bugfix: "Fixes roundstart items in storage not showing item outlines."
Fixes#20529
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
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.
Title. 'nuff seid.
Also fixes the fucked up material insertion animations to use
flick_overlay_view so it isn't laggy as fuck.
And adds emissives to machines that have lights so they glow in the dark
epically.
<img width="138" alt="dreamseeker_N6egRW6Yz3"
src="https://github.com/user-attachments/assets/a17f12ba-b768-4ad6-a35f-baf33aaae658"
/>
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.
- bugfix: "Fixed PDAs not being automatically updated by the Force
Change Name admin action."
- bugfix: "Announcements from non-Horizon ships drifting into hazards no
longer spawn observer chat. You will only get the announcements if you
are on the same z-level. The Horizon will still send its announcements
globally."
- bugfix: "Offships no longer send newscaster announcements."
- bugfix: "Fixed ling stings not working. Again."
- bugfix: "The robotics core console no longer reverts into a normal R&D
console when disassembled and reassembled."
- bugfix: "The robotics core console now has its own circuit that can be
made through R&D."
- bugfix: "Fixed the message that simple mobs print when they step on a
trap."
- bugfix: "Fixed the foam sword sprite."
- bugfix: "Fixed damaged wall overlays."
- bugfix: "Fixed the INDRA field getting messed up by pointing at it."
- bugfix: "Apple pies now count for the pie bounty."
- bugfix: "Changeling chameleon claws no longer spawn in the warehouse."
- bugfix: "Admin click-drag to possess has been fixed."
- bugfix: "Added a minimum damage threshold to delimb, in order to stops
ridiculously small damage from taking off limbs. The threshold is the
organ's max damage divided by 3."
- bugfix: "The Pull psionic ability no longer pulls anchored objects."
Fixes#17739Fixes#17369Fixes#19535Fixes#19166Fixes#20184Fixes#20165Fixes#20164Fixes#20117Fixes#19961Fixes#20231Fixes#20277Fixes#20346
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
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.
Certain law modules swapped from AI Upload into vault loot pool
Some modules added to AI Upload (such as safeguard, tried to do modules
that are dangerous but SCC can imagine a reason to enact it)
Adjusted random law board options and weights
Increased vault loot pool slightly, with additional weapons, rig module,
and law board
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Changes the contents of first aid kits.
* Antidexafen pills replaced with inaprovaline pills
* Emergency autoinjector added
* Health Analyzer removed
This PR when coupled with #20194 _negligibly affects the number of
health analyzers actually available to the crew and offships._ Any
non-medical personnel that previously relied on access to health
analyzers will in almost every case still have access to them. The
removal is being done to keep the number of analyzers on the map
similar, while increasing the accessibility to stabilization supplies.
If this change is not made, with #20194 there will be over a dozen more
analyzers floating around the ship, which is unwanted by the developer
team. This **_only affects the basic white square medkits._**
If you find any spots where a shuttle or ghost spawn no longer has
access to any form of scanning, let me know in the comments of #20194 so
I can add the analyzer or an alternative there.
---------
Signed-off-by: OolongCow <61329630+OolongCow@users.noreply.github.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>