After a discussion a little while ago, it was agreed drobes should not
have storage objects in them aside from jackets, or anything that is
mechanically job related pretty much, just fluff and decorative stuff.
As a result, all bags, holsters, webbings and the janitor's galoshes
were removed from them as they belong in their respective lockers. This
does throw a bundle of things into certain lockers to permit selecting
it, such as the officers having various holsters and engineers having
the alt toolbelt.
Also hangar techs aren't getting their insulated gloves anymore, as that
was apparently a mistake.
Engineering lockers as a result of this do have insulated gloves now, as
it is relevant work equipment. No more raiding the electrical lockers.
## About PR
Implements an animation logic heavily inspired from CM-SS13 elevators.
Elevator hatch and shaft sprites are courtesy of @KingOfThePing!
Currently if something is standing on the hatches when the elevator is
arriving, they'll be sent to CC level, fall, get paralyzed and severely
injured enough to have broken bones/arterial bleeding.
This PR also fixes cargo announcement screens not displaying elevator
ETA.
## Images
<details><summary>Elevator arriving</summary>
<p>
https://github.com/user-attachments/assets/34879994-d10b-4cb6-959e-314ec20411b8
</p>
</details>
<details><summary>Elevator departing</summary>
<p>
https://github.com/user-attachments/assets/c345fd3b-07eb-4922-9b28-31cf40842da1
</p>
</details>
<details><summary>Unfortunate victims falling to the pit</summary>
<p>
https://github.com/user-attachments/assets/98feac04-5d65-4383-8abc-363ce51a028a
</p>
</details>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/effect/224x192.dmi | KingOfThePing | CC BY-SA 3.0 |
| icons/obj/doors/retractable_railing.dmi | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/industrial_lift_raising.ogg | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/industrial_lift_lowering.ogg | CM-SS13 | CC BY-SA 3.0 |
| sound/machines/warning-buzzer-2.ogg | Unknown -
https://pixabay.com/sound-effects/incorrect-buzzer-sound-147336/ |
Pixabay Licence |
*The rest of the Himean suits have been changed to match the new ones.
*You can now change an industrial rig straight into a Himean variant, if
you remove the cell, the air tank, and any modules. Previous behavior is
still in, because modkit code is a fucking headache.
<img width="208" height="122" alt="image"
src="https://github.com/user-attachments/assets/ea30d177-73ff-4c13-9b8c-355ccfb1e719"
/>
Destroys a ton of sources of lag:
- /obj/machinery/biogenerator/interact and
/obj/machinery/computer/rdconsole/attack_hand
Both of these call REF(src) constantly on their UI update, which also
happens constantly. Death by a thousand cuts
- /obj/machinery/button/ignition/attack_hand and
/obj/machinery/button/switch/holosign/attack_hand
Sleeps rather than timers, iterating the entire machinery list rather
than just storing the IDs we need at roundstart
- /obj/machinery/telecomms/update_icon and /obj/machinery/meter/process
Calling overlay updates WAY TOO MUCH. UpdateOverlays is a significant
overhead for the server at this point and the two of these combined are
responsible for a little over 20% of updates. They now should only
update overlays when necessary rather than every tick.
- NEW! /obj/machinery/disposal/proc/update and
/obj/machinery/portable_atmospherics/hydroponics/update_icon
These two were also offenders, worse than telecomms but better than
meters. They have also been brought into line.
- /mob/living/carbon/slime
Hard-del'd if grinded into slime extract less than two minutes after
being "born". Fixed by adding TIMER_DELETE_ME flag.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Updated objects whose behavior when an ID was used on them was strictly
toggling lock/unlock status to use Alt-click functionality, with
associated pop-up messages for the clicking player. Mechanics hints for
all affected objects updated.
Fixed APC sprite's status lights for each power channel (general messy
alignment).
Updated APC sprite's lock status light to be brighter/clearer for better
visual feedback of lock status.
Added a lot of nice clicky beepy sounds to APCs. They all came from here
on TG, and they seem oooooold so I wasn't able to find credit. [So,
credit to TG for sounds/machines/terminal sounds until we track down an
actual
name!](https://github.com/tgstation/tgstation/tree/master/sound/machines/terminal)
Updated dmdocs as I passed by them.
This PR adds part upgrading for stasis beds, making it so that improving
the parts will also improve the stasis value provided by the bed.
I've also added new mechanics hints to both stasis beds and stasis bags
to help explain to players why they should totally be shoving dying
people into stasis.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
# Summary
This PR fixes trash items becoming persistent when they get stashed in
storage containers (e.g. backpacks or lunchboxes).
## Details
When items get added to storage containers like backpacks, during the
insertion `dropped` is called and makes the item persistent.
During feature dev this was an unknown edge case of `dropped`.
changes:
- qol: "Added detailed extended examine info on mechanics to pens."
- qol: "Added detailed extended examine info on mechanics to the
psychiatrist/chaplain Mesmetron."
- qol: "Added detailed extended examine info on mechanics to
barricades."
- qol: "Added some extended examine info to (hanging) flags, crayons,
misc."
- code_imp: "Updated dmdocs in many locations."
- bugfix: "You can no longer force-feed people crayons. However, you can
still offer a bite of crayon for them to accept or refuse, for
tradition's sake."
- bugfix: "Reading the contents of a noticeboard now makes you actually
face the noticeboard."
Hydroponics tray processing is a massive chunk of machinery processing
for no good reason, I have a sneaking suspicion that this is due to proc
overhead on get_trait, as process can call it upwards of 30 times per
tick per tray.
Realistically most of the things that are traits should instead be
variables, but that's a refactor for someone with more time.
## About PR
Fixes the faulty access (req_access > req_one_access) of the command
noticeboard in the central ring. Currently only the Captain can open it,
which is not intended. Apologies for the inconvenience.
# Summary
This PR adds trash to the persistence system.
- Trash becomes persistent the moment it is dropped unless it is dropped
in a maint or the disposal room.
- It looses persistence when it lands in a maint/disposal room or gets
picked up again.
- Persistent trash can be found up to three days.
Those are the base rules, some trash types have additional rules.
List of trash to be implemented:
- [x] Basic trash (snacks and such)
- Cigarette buts
- spitwad
- Burned matches
- [x] Broken bottles
- [x] Torn inflatable (-doors)
> Littering is a i120 violation and can be punished with 3-7 minutes of
prison time or with a 40-150 credit fine.
> Stop littering and keep the ship clean.
## Follow-up tasks
- [x] Update GitHub Wiki: Add section on how to add persistent trash
types.
- [x] Update GitHub Wiki: Make persistence_get_content nullable/empty.
A full overhaul of Xenoarchaeology and its layout. Keeping the same size
of the hull and rooms for the most part. Doing its best to match both
deck two's re-mapped RnD and the other rooms of deck one.
Adding new areas, a grate and consolidating some things while stripping
things down to their essentials.
1. Like, removing 1 anomaly suit from the four. Two main ones, one in
the back.
2. Leaving the anomaly containers less scattered. Two in the chamber,
four in storage.
3. Adding some straight jackets and zipties to the supplies for test
subjects previously in Anomaly Chamber A. Incase the madness crystals or
whatever make things get spicy.
4. Making the gas-canisters overall more secure.
5. Seperating Xenoarchaeology by a door from the AA lift.
6. Adding a presentation room to the department intended to present
their findings for RP purposes.
7. Adding a cell-charger and empty cell. Mostly so you can see if the
anomaly is a battery drainer or charger if you're a human.
8. Adding a phoron bottle. (It's an activation index to splash it on
some anomalies, just not listed on the wiki.)
9. Adding insulated gloves in-case you need to move the emitter to an
odd spot. But, I generally set up spots for the emitters in all the
chambers.
10. Adding a Xenofauna gun, because Xenobio has one and they're even
less likely to need it then Xenoarchaeology. So why not give it to them
when they can spawn bears and hivebots on themselves?
If I missed someone, feel free to ask or mention it.
<img width="1168" height="789" alt="image"
src="https://github.com/user-attachments/assets/661b0ead-bc4b-48e9-84fa-bc62a9f4f5aa"
/>
StrongDMM Screenshot.
<img width="1251" height="1214" alt="image"
src="https://github.com/user-attachments/assets/d13b9f80-10fe-4484-890f-d0476f1d2a21"
/>
(In-game screenshot. I've loaded this thing up several times. The
buttons work.)
This adds the price scanner, crate scanner and a clipboard to the hangar
technician lockers.
It also add the various scanners alongside the quikpay to the toolbelt,
as it could already have the EFTPOS scanner.
Lastly while doing this, I removed some of the department clothes from
the lockers that were already in their drobe.
This PR was requested by the loremaster @Triogenics. According to the
loremaster, all modern electronics in the setting should require a small
amount of elemental phoron for its capacity as a room temperature
superconductor. This is also needed to play into the "Phoron Scarcity"
lore arc.
So this PR does exactly that, making all electronics cost a very small
amount of Phoron to create. Existing machine shop and science stockpiles
of phoron crystals are sufficient to manufacture these for the time
being, though that may not be the case in the future. :)
To keep things logically consistent, I've also made it so that circuit
boards both actually contain the matter used to print them, and can be
recycled to at least partially recover that matter. Have fun breaking
down thousands and thousands of old circuit boards to get a few flakes
of phoron once things start getting bad.
The hazard rig tech levels were lowered, permitting the machinist to
make it without research personnel present. Materials needed are
unchanged. The ballistic protection of it was also buffed to be equal to
the security voidsuit.
The combat rig had new sprites added, allowing taj, unathi and IPC to
also use it.
Done on the request of VeteranGary.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/clothing/rig/combat.dmi | Noble Row (Aurora Station) |
CC0|
Now almost all non-command clothes should be found in the department
drobes, instead of the various lockers. I might have missed something
somewhere though.
Drobes can also be restocked by the vended items.
Lastly, the chaplain drobe had a couple of taj religious clothing added
to it after confirming with Catsin that it should be.
Adds a new hearing aid case item, capable of holding a pair of hearing
aids. This is added to the hearing aid selection in the loadout,
allowing you to start with a pair of hearing aids.
(also adds names to each of the hearing aid types)
A slight clean up to Dominia flags.
- Zhurong Flag added: description text by Schwann / Human Lore
- Kazhkz and Han'san flags removed from loadout per request of Captain
Gecko / Unathi Lore
- Kazhkz, Han'san and Imperial Diona flags slightly tweaked. They still
do occationally appear in random loot, so the flavour text (and name for
the diona flag) have been adjusted to make sure they're not completely
lore breaking in those instances.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
This adds a parcel cart to the mail room in operations, which can be
loaded with up to 17 packages. These packages can be any that can be
held in the hand, so not crates but anything smaller effectively yes as
long as it can be wrapped in package wrapper.
When it is loaded with 5 packages, it gives a slowdown to the person
pushing it, and further slowdown at 11 packages.
The cart can have a total of 17 packages at the moment, as that is the
amount of different sprites I have for it.
The code is based on the engineering cart, and also contain a small
bugfix so the engineering cart give back steel when taken apart, as that
is what is used to build it.
https://github.com/user-attachments/assets/b8613c9e-55e1-4f76-926a-60f4acd6269e
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/parcelcart.dmi | Tomixcomics (Aurora Station) | CC-BY |
This PR is something me and NobleRow have been cooking behind the scenes
with the goal of adding new Xenoarch content that fits two objectives.
1. Providing cross-department cooperation opportunities (Machinists and
Medical)
2. Making use of content entirely unique to Aurora, such as our recently
refactored organs.
So I've added several new and exciting xenoarch "finds" that relate to
Medical and Machinists, as well as several new parts for Machinists to
work with. On the xenoarch side of things, we have the new "anomalous"
heart and lung items, which you can study by calling over a surgeon to
implant into your free choice of a monkey, or a particularly
enthusiastic human volunteer. There are also two new "anomalous" mech
components, one of them an anomalous drone bay, and the other an
anomalous power core. To study them, call a machinist over and have them
make a mech for you to experiment with.
The new xenoarch "finds" each feature heavily rng stat modifiers that
are unique to the objects in question, and make use of a very large
number of variables that I had previously worked to unhardcode.
I had a batch of sprites done by NobleRow, and I was adding new mech
equipment in this PR, so while we were at it, I've added a new LTL
variant of the mech submachine gun, as well as a new light variant of
the mech-mounted KA, which was highly requested by both miners and
xenoarch players on account of the 9 tile blast radius KA being "Not
always good to have".
All of the sprites in this PR were made by @NobleRow
## About PR
This PR fixes the wrongly inherited access from the parent sign and
replaces `req_access` with the proper `req_one_access` list.
Apologies for the inconvenience.
## About PR
This PR re-sprites and expands notice boards.
With the persistence update I expect an increase in utilizing notice
boards. The current ones are quite old and severely limited by only
allowing five pieces of paper tacked onto them.
So let us change that:
(updated final iteration)
> <img width="1083" height="412" alt="image"
src="https://github.com/user-attachments/assets/112f19fe-2fec-4bb1-b276-138301e7b9c5"
/>
Close up of the glass overlay:
> <img width="370" height="164" alt="image"
src="https://github.com/user-attachments/assets/c8dbde23-7a52-497c-b43a-927598829725"
/>
Regular notice boards now support up to twenty (20) pieces of highly
informative pieces of paper pinned up by the crew.
Command (lockable) notice boards support up to six (6) pieces of very
important information by your beloved departmental heads.
### FAQ
Q: Why is there a discrepancy between the command and regular notice
boards?
A: Command is expected to pin up actually important information. The
incentive is that command is a bit more conscious what they pin in
these, now that they persist through rounds.
Q: Why twenty for the regular board?
A: Super full notice boards are funny. I may add even more, depending on
how long I need to finish the code.
Q: Why is there stuff in the screenshots redacted?
A: It is for a feature for the command notice boards but I am not sure
yet if it is desirable or practical to have.
Q: Why does your code look so bad?
A: Sorry :( I put up the PR so I get help or co-authored by people who
actually know what they are doing.
> [!IMPORTANT]
> The new notice boards have not been mapped in yet! 😃
---------
Signed-off-by: KingOfThePing <43940569+KingOfThePing@users.noreply.github.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
## About PR
This PR adds a new sign to the (also new) commissary.
- Currently there are two signs to be selected from. The extended
description gives a hint on the differences of the two stores and what
they sell.
- The signs can be powered off in case the commissary is to be
temporarily closed (not confused with the generic off-state).
- The sign lends itself to various additions later down the line.
- This could lead to the associated representatives to have a
role-playing angle, too.*
- More expansions for the commissary is coming soon.
I had great assistance by the wonderful @kano-dot who helped me realize
this code-wise.
Stay tuned for more really good additions for the commissary soon.
But for now, please enjoy:
> Signs:
>

> Commissary now including the sign (It can be seen approaching from
both sides):
> <img width="985" height="717" alt="image"
src="https://github.com/user-attachments/assets/5b005a6c-405a-4179-882f-61c57dbf68b6"
/>
*This was once revealed to me in a dream.
1. When a human is hit by a bullet, check_shields() is called. If a
value different from BULLET_ACT_HIT is returned, the shield will void
the bullet.
2. In turn, check_shield() calls handle_shield() on the held shield.
3. whoever coded this shit forgot to add a default return value so the
held shield returns null when it fails to block meaning that the game
voids the bullet lol
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Nerfs the door rigged mine. Currently, it all but instantly kill an
unarmoured person who walks into this trap with no warning. This nerf
puts it on par with normal land mines, which they used to do twice the
damage of.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
this PR turns the cargo shuttle into a cargo elevator.
### screenshots
<details>
<summary>view</summary>
### cargo elevator hatch

### cargo elevator

</details>
### FAQ
**Q:** why do things still cost money?
**A:** things still have value, departmental budgets, and paper trails.
**Q:** why is there still a fee to use the elevator?
**A:** maintenance costs.
**Q:** what happens if i'm on the hatch when the elevator comes?
**A:** you fall down onto the elevator and hurt yourself.
**Q:** how do bounties still make sense?
**A:** keep them in storage for next port. plenty of reasons to make up.
Readds ID resprites from #19522 that were removed in #20535.
Fixes ID cards improperly rotating in storage. The workaround is clunky
but functional. This is applied to all vertical IDs.
Fixes firing pins not turning vertical in storage.
These fixes were PR'd with the IDs due to the IDs requiring the fixes.
The IDs can be dropped for just the fixes if desired.
Image of changes in effect:
<details><summary>Details</summary>
<p>
<img width="264" height="92" alt="image"
src="https://github.com/user-attachments/assets/966d4350-e9f7-4eaf-bd87-3990b316197a"
/>
</p>
</details>
* Alot of newer group loadouts were missing their factions hardsuit,
despite that being the standard for most of them, so this gives those to
the faction loadouts that had appropriate ones.
* Also gave the Solarian hardsuit loadout a version with modules since
it was an empty version unlike the other hardsuits previously. Used the
fsf module set for that since their regular equipped version had a pulse
rifle module for some reason, suit itself should still be the same.
---------
Co-authored-by: Big Rat <lienesica@gmail.com>
Binoculars are an excessively centralizing item that has essentially
zero downsides (!) while giving you near omniscience of three screens'
worth of information. This is particularly broken when used in the hands
of ship crew, who have access to up to 3 at roundstart (including
warehouse spawns).
They are now far less strong. A 1.5 seconds windup has been added to
using them, and their viewsize is down to 7 from **14 (!!!!!!!)** for
the standard binocs, and 8 for the high power binocs.
Standard binocs example:
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/d60ac6d2-e782-4c02-b011-9d90193c8046"
/>
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
## About PR
This PR adds a few miscellaneous directional and otherwise useful signs,
both for the Horizon and potential away sites. The new ones can be seen
in the screenshot below. It also enables the use of one already existing
but not coded in sign.
As the title implies more is on the way. But for now, please enjoy.
> [!IMPORTANT]
> None of the signs have been added yet to the Horizon or elsewhere. 😀
> Addition to signs.dmi:
> <img width="1081" height="212" alt="image"
src="https://github.com/user-attachments/assets/d5d9bca3-48c1-45b5-8453-59ee0495c96e"
/>
-Added many new food dishes and ingredients (many of them pizzas).
-Added some of the new ingredients to the Cargo order form.
- Added 2 new drinks and a drink bottle for one of them.
-Nerfed a few dishes that require cooking seafood or frying so that you
can no longer make them with the microwave
-Created new vending machine that sells microwave/instant foods to make
up for it and give Microwaves some variety.
-Added shrimp to the required ingredients for North 60 squid.
-Renamed empty Shakshouka pan to be something more generic so it can be
used for other dishes.
-Adjusted the contents of Dyn Pozole so it doesn't take five years to
finish eating.
-Defined a color for S'th berry juice.
-Created new pages and files for microwave foods.
If/when suggesting fixes please be mindful that my knowledge of code is
very limited and many of the more complicated funcitons have been copy
pasted form elsewherein the code and edited to fit, so coommit
suggestions are appreciated.
---------
Signed-off-by: tomixcomics <11053204+tomixcomics@users.noreply.github.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
The Solarian Interstellar Intelligence Bureau is added, including an
Agent (Undercover) and Operative (Overt) variant.
- Adds in 2 new sprites for the SIIB based off the Solarian SMG and
Pistol
- Adds in 2 new outfits for Admins to play around with during events
These are just another thing for admins to mess around with, either for
Admins or otherwise.
Any other guidance on modifications to make this more lore-accurate
would be nice, alongside anything else to add.
Ports the snake from Baystation over to Aurora.
No snakes have been placed ingame, but they're on the Technomancer
"Summon Creature" list and the Random Animal Crate object has a chance
to spawn a snake crate.
All credit for the snake, snake_m, and snake_dead sprites goes to
Baystation. I modified the original sprite to create the snake_rest
sprite.
---------
Signed-off-by: ASmallCuteCat <neofelisnebulosa128@gmail.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
Apparently the adjacent check wasn't set properly on these two. Also it
fixes that when removing someone's accessory, it tried to apply some
modifiers to the one removing it instead of the one wearing it.
From a request I saw a bit ago, I have now added breath analyzers to the
security officer and warden lockers, should they wish to use them. It is
mostly intended to check if people are drunk on duty or similar.
Investigators were given a half gas mask, given the amount of
pepperspray used in some cases and they were the only ones not to get it
in the department. If they want the bigger mask, they can ask the
warden.
Lastly while I was messing around in the file, I cleaned out the cadet
and investigator locker slightly. The clothing items that already
existed in the security drobe were removed from their lockers. The
security officer and warden lockers were already free of that, so they
did not get anything removed.