22450 Commits

Author SHA1 Message Date
Ben 05c0d5d084 Small improvement to AI core area and attack code + AI Repairs (#21292)
- Adds missing blast door to AI Core Area
- Small improvement to AI attackby code
- Nanopaste now can repair AI, allowing AI to be repairable

---------

Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2025-10-19 10:20:41 +00:00
Mnemeory 5a1bd08d69 Bar Remodel; Control Hub; and Idris Smart Switch (#21437)
This PR does the following:
1. Creates a control hub variant to eliminate the need for using
multiple buttons (mostly so the bar wouldn't have like 5 of them, and i
could make it prettier, but it's extendable for other button
types/locations).
2. Creates a light switch variant which controls the color and
brightness of the lights in the area it's placed in.
3. Creatures a secure safe variant which relies on an ID, instead of an
access code.
4. Remodels the Bar

###IMAGES/VIDEO
<details>
**<summary>Control Hub/Idris Smart Switch</summary>**


https://github.com/user-attachments/assets/8b16698a-df50-444e-8428-d85ac07ddbbf
</details>

<details>
<summary> Bar Remodel (Final as of Oct. 17, 2025) </summary>
<img width="652" height="649" alt="finalbar1"
src="https://github.com/user-attachments/assets/3f8a9a47-ebb6-447d-906a-695dd3f200ce"
/>
<img width="977" height="952" alt="finalbar2"
src="https://github.com/user-attachments/assets/f09e48a3-8d3c-4922-9e2b-0e65f5ac2540"
/>
<img width="590" height="548" alt="finalbar3"
src="https://github.com/user-attachments/assets/923e0763-fe6c-4428-9556-9d98b869327b"
/>
<img width="655" height="596" alt="finalbar4"
src="https://github.com/user-attachments/assets/13ce66af-6e6e-4b93-b9b3-b21d5290d0f8"
/>
<img width="499" height="465" alt="finalbar5"
src="https://github.com/user-attachments/assets/98d54f51-1422-4a50-9806-aa9d20ee112e"
/>
<img width="727" height="482" alt="finalbar6"
src="https://github.com/user-attachments/assets/b16c12bf-91e1-4668-930b-db2fd0dbaf31"
/>
<img width="692" height="638" alt="finalbar7"
src="https://github.com/user-attachments/assets/c994ea1c-d46d-4988-b5d8-5ac465b4bee9"
/>
<img width="432" height="877" alt="finalbar8"
src="https://github.com/user-attachments/assets/765a451c-e88a-4f19-a40c-716aa376d7c2"
/>

</details>
2025-10-19 10:19:06 +00:00
naut 3f9b0d5658 Some cargo tweaks and adjustments (Oct '25) (#21446)
- Added the following items to cargo: pig, Cleanbot, Farmbot, Medibot,
autopsy scanner, package/gift wrapping paper, PDA, universal (tape)
recorder, IV stand, camping set & sleeping bags, InUs Game-Helm, produce
boxes, paper scanner, data drives.
- Moved certain cargo items to other categories.
- Modified the pricing of blood, hydroponics trays, certain drink
canisters, and organ coolers. Made folders and SBS blood come in
multiple per order.
- Miscellaneous spellchecks and grammar fixes in cargo.
- Capped pizza boxes available in the mining vending machine to 2.

Certain tweaks, adjustments and additions for QOL and ordering the
unfindable for people (i.e. autopsy scanner).

Pizza vending thing was changed so that miners can no longer skirt
supply shortages by simply unloading 500 pizzas into everyone's lap.
Sorry.
2025-10-16 20:28:58 +00:00
Evandorf 4e2d34df8f New Away Site: Hiskyn Treasure Trove (#21324)
EDIT: This is complete and no longer a work in progress. I've tried to
make sure that everything is tested and working properly but if there
are issues please let me know.

This away site is intended to be a high risk, high reward, encounter.
I'm also attempting to increase its replayability by incorporating a
number of sections and submaps that will be newly generated each time.

Things added or changed:
- Additional traps and environmental hazards.
- Lava is now more deadly. It used to only set you on fire, now it will
burn you appropriately.
- Minor sprite fixes for uncommon elements for easier mapping; throwers,
step triggers.
- Map and associated files, submap json, landmarks, areas, ect.

---------

Signed-off-by: Evandorf <ej_denton@msn.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2025-10-16 20:04:28 +00:00
Casper3667 435968b153 allows heavy objects to be placed next to you without throwing (#21486)
Pretty much. Instead of throwing it with severe consequences, it is now
placed if it is next to you and you are on help intent.
2025-10-16 11:39:33 +00:00
Matt Atlas cca0dfe7b6 Ports /tg/ and CM planemasters to replace our renderers. (#21458)
Part one of our nefarious plans to destroy lag forever, and also
accomplish some cool shit.

This replaces our renderer system with plane masters, this will also be
used to turn skyboxes into backdrops and thus totally remove skybox
updating lag. Additionally, this will let us manipulate entire planes
very easily to do all sorts of zany shit. All credit goes to the
original coders, this is some seriously cool stuff.

Also fixes some bizarre smoothing behaviour, reduces updateoverlays
calls since now not every single structure in the game tries smoothing
with nothing.

<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9b7cecd7-3c47-448b-9dd8-9b904640bf82"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/647d75a2-1bff-45ca-ab92-0aea10631afd"
/>

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-10-16 11:39:15 +00:00
VMSolidus 9e907b9257 More Upgrade Hints Updates (#21470)
Done even more of these. This PR extends the Upgrade hints for several
machines to also state the current numerical effects of said part
upgrades. I needed this as housekeeping work to prep for Persistent Part
Upgrades & Maintenance

<img width="562" height="186" alt="image"
src="https://github.com/user-attachments/assets/40c20865-279f-4c18-844a-0112a93b364c"
/>

<img width="559" height="171" alt="image"
src="https://github.com/user-attachments/assets/40be1b69-1ac9-4e03-8504-007710ae3995"
/>

<img width="520" height="170" alt="image"
src="https://github.com/user-attachments/assets/439154d1-6a2b-4f85-91a9-a75b68fec564"
/>
2025-10-16 11:37:15 +00:00
Casper3667 67f4b2b981 Custodial Cart Fixes (#21480)
When crafted from steel, the custodial cart previously started with
several custodial supplies. This should fix that and should replace
existing variants around the map with filled versions.
2025-10-16 11:36:35 +00:00
Casper3667 e764307cba The cargo and janitorial tugs are now faster (#21485)
- The cargo tug now has a speed between the former speed and the emagged
speed
- The emag speed buff is removed
- An antag feedback hint was added to show that it can run people over
when emagged
- These changes also affect the C8000 deluxe custodial truck

On a sidenote, the emagged running over may need tuning at some point.
2025-10-16 11:36:19 +00:00
Wildkins bad60b2f67 Revert new lobby ui. (#21494)
Reverts #20467

For some reason, if you put a png into icon() and then show that to a
client, it uses a colossal amount of GPU. No idea.

Reverts to our older lobby system pending TGUI update.

Fixes #21489
2025-10-14 23:04:18 +00:00
naut f2cb40fac6 Sleeping tweaks, at-will wakes (#21452)
Species capable of indefinite sleep can now wake up from being asleep at
will by pressing "Sleep" again.

IPCs will also no longer beep constantly when sleeping. This is part of
a `snores` variable that can be toggled on other species too in lieu of
a `snore_key` variable.

Unfortunately does not make IPCs stop consuming charge when asleep.
Tried it, it's one hell of a spaghetticode nightmare for a result that
really doesn't matter that much. Might revisit once the IPC rework gets
merged.
2025-10-09 17:54:11 +00:00
Batrachophreno 4d41b0595f Horizon mapping cleanup and bugfixes (#21450)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21289
Fixes https://github.com/Aurorastation/Aurora.3/issues/15779

Handles a lot of mapping cleanup, container definitions for the Horizon,
and several bugfixes found along the way.

changes:
- code_imp: "Added set definitions for several Horizon-specific
containers."
- code_imp: "Updated 'full' material stacks on the Horizon from sneaky
var-edited singles to properly defined full stacks"
- code_imp: "Cleaned up all Air Alarms, Fire Alarms, and APCs on the
Horizon that were directional children with their dir var edited."
- code_imp: "Cleaned up all Power Cables on the Horizon that had d1 or
d2 var edited instead of just icon_state."
- code_imp: "Adjusted pixel shifts for 'south' (north-facing) Air
Alarms, Fire Alarms, APCs, and Extinguisher Cabinets to address layering
issues when standing vs. leaning."
- code_imp: "Minor refactor of shuttle/* Air Alarms and APCs to reduce
excess children; req_one_access perms now assigned based on
/area/horizon/shuttle/*."
  - qol: "Adds feedback hint for uses remaining to Emag cards."
- qol: "Added Tip about the shift-click behavior of the 'up-hint'/'Look
Up' button."
- bugfix: "See-through turfs (like lattices/catwalks over open space)
can now be Looked Up through from below."
- bugfix: "Fixed the shift-click behavior of 'up-hint'/'Look Up' button,
allowing you to see nearby turfs that can be Looked Up through."
- bugfix: "Maintenance Panels located on the floor have had their
layering issues fixed."
- bugfix: "Borg eye emissive effects MAYBE no longer visible through
higher z-levels."
- bugfix: "Added missing leanable component to window/shuttle obj type."
2025-10-07 22:12:03 +00:00
naut dfe57a310f New boxes (#21439)
* Thoroughly resprites boxes. They're now more modular and, importantly,
colorable.
* Resprites cardboard, as a material.
* Repaths boxes behind the scenes to be more object-oriented, with boxes
being resorted into their own subtypes. You might notice this in the
gargantuan amount of files this PR changes.

Part of a bigger (yet modestly-sized still) resprites project. Atomized
the boxes bit into this PR specifically so that any conflicts don't
destroy any other spriting PRs.

<img width="652" height="273" alt="image"
src="https://github.com/user-attachments/assets/5590b22d-c9d7-49b5-9adf-0b6e01a6962b"
/>

<img width="383" height="345" alt="image"
src="https://github.com/user-attachments/assets/aab83040-2d5d-4283-b019-3d6bed2e3e47"
/>

<img width="142" height="343" alt="image"
src="https://github.com/user-attachments/assets/75a98d36-0171-4e48-9dec-de5511f35d39"
/>

<img width="127" height="225" alt="image"
src="https://github.com/user-attachments/assets/a1ff8b1b-bd2a-4c0d-b538-32fe401724c3"
/>

<img width="334" height="399" alt="image"
src="https://github.com/user-attachments/assets/e41330ac-ed4a-4e81-a87a-5ba901b47b5c"
/>
2025-10-07 16:59:55 +00:00
Fyni aa22ad931b Adds the autopsy scanner to the protolathe (#21441)
Adds the autopsy scanner to the protolathe. Available at bio tech level
3, which is where we currently start the round, and found udner the
biotech category. The material is matching with other similiar devices.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
2025-10-07 12:39:23 +00:00
Matt Atlas 1af71a7c45 Unfuck shields by not making them process a huge list constantly. (#21428)
Ship shields currently occupy something like 40% of every machinery
process ticks. Basically generators make a fuckhuge list of all
generated shields (1.5k in the Horizon's case) and then they iterate
over this list every tick strengthening the shields.

The idea in this PR is to shunt shield logic to an abstract datum.
Fields no longer store strength individually; they store damage taken.
They only process once they take damage, they reduce that damage by the
field gain tick value every tick, and then they stop processing when
they no longer need to. Shield strengthening is shunted off to a signal,
so we only need to traverse the big ass list once every round probably.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-10-07 12:34:20 +00:00
senorsapo 9d0dc36b34 Ve'Katak Phalanx Uniforms (#21423)
Adds 1 new uniform for the Ve'katak Phalanx; the squad leader uniform,
intended exclusively for future off-ship use.
Credit to @RustingWithYou for the original sprites

Standardises the Ve'katak security and medical uniforms with both
existing and new variants.
Credit to @RustingWithYou for the original sprites, tweaks by @GMR25

Allows the Ve'katak medical uniform to be taken by physicians.
2025-10-05 23:55:28 +00:00
Batrachophreno b3b4f4b9c6 INDRA, general nuclear fusion update (#21285)
Fixes https://github.com/Aurorastation/Aurora.3/issues/18951
Fixes https://github.com/Aurorastation/Aurora.3/issues/19447
Fixes https://github.com/Aurorastation/Aurora.3/issues/20283
Fixes https://github.com/Aurorastation/Aurora.3/issues/21395

Overhauls a wide variety of INDRA behaviors and related gas/material
properties.
changes:
- balance: "Fusion reaction modifications. Higher radiation and
temperature output, comparable power output."
- balance: "Increased rad resistance modifier of Borosilicate Windows
from 1 -> 4 and (closed) Blast Doors from 1 -> 6."
- balance: "INDRA Field Strength minima/maxima changed from 1-100 ->
20-120. Power costs increased significantly."
- balance: "INDRA instability increase per tick now limited, similar to
Supermatter (prevents sudden instability spike from instantly nuking
it)."
  - balance: "APC cell charge rate increased 10x."
  - balance: "Rebalanced contents of INDRA hard storage compartment."
  - balance: "SMES coils capacities halved, throughputs doubled."
  - balance: "SMES unit maximum coil capacity increased from 6 -> 8."
- balance: "TEG maximum power output increased from 500000 -> 2500000."
- balance: "Power wasted from exceeding TEG maximum power output
decreased from 50% to 33%."
- balance: "Portable generators of all types have had their power
generation capacity doubled."
- rscadd: "New 'Fusion Codex' app added for all crew with ACCESS_ENGINE
that details all available nuclear fusion chains."
- rscadd: "Boron added as a singleton/reagent. Poisonous to vaurca,
still usable in nuclear fusion as fuel assembly rods."
- rscadd: "INDRA Field Strength now scales plasma temperature entropy,
power output from temperature multiplier, and instability increase per
tick."
- refactor: "'Boron' gas renamed to 'Helium-3'. Boron is not a gas. Deal
with it."
  - refactor: "'Steam' gas renamed to 'Water Vapor'."
  - code_imp: "Descriptions added to gas singletons for future use."
  - qol: "Minor remap of INDRA control room for usability."
  - qol: "Standardized gas canister naming conventions."
- qol: "INDRA and APC TGUI interfaces now use use kW, MW abbreviations
for high wattages."
- bugfix: "INDRA Kinetic Harvester no longer rapidly deselects materials
for harvest when too many are being generated at once."
- bugfix: "INDRA EM Field effect no longer considers the camera within
its reactor chamber a destabilizing influence."
  - bugfix: "INDRA reactor core now produces radiation as intended."
- bugfix: "Deuterium and Tritium canisters no longer contain 50%
standard hydrogen (inheritance issue)."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
2025-10-05 20:13:06 +00:00
Casper3667 ee25c1fac5 Make clothing racks and retail shelves craftable (#21434)
Allows the clothing rack and retail shelf to be crafted.
Additionally it fixes the duplicate rods from taking apart tables and
the racks giving rods when they should give plastic.
2025-10-05 17:25:58 +00:00
Batrachophreno 814ccc2bc8 Integrated Electronics QOL (#21374)
changes:
- qol: "Integrated Electronics camera can now be configured for
different camera networks"
- qol: "Reduced Integrated Electronics speaker functions cooldown from
4s -> 1s, for translating busier conversations. Behave."
- qol: "Add Integrated Electronics component 'size' value to displayed
properties."
- balance: "Increase maximum components and complexity of integrated
circuit 'electronic implant' assembly by 25%."
2025-10-05 17:23:50 +00:00
Matt Atlas f6037f893a Move limb image updating from life ticks to signals. (#21372)
title,should fix a lot of lag

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-10-05 17:23:35 +00:00
Wildkins 0496789c54 Fix installing atmos pipes (#21445)
See title

obj/machinery/atmospherics/pipe and co. were expecting to only
LateInitialize during mapload, but the recent power signals change
caused them to always fire LateInitialize, which because of pipe
shitcode resulted in a ton of errors
2025-10-05 17:23:22 +00:00
VMSolidus 6e9fe393c1 Psionic Awakener (#21413)
This PR unhardcodes the psionic jumpstarter, allowing it to be utilized
by Skrell to upgrade their psionics to the level of an antagonist. To
make use of this new code, I've added a new Psionic Awakener, which is a
variant of the jumpstarter that sets the user to the level of a Skrell
psion. The awakener is significantly cheaper than a full jumpstarter,
and can be purchased using bluecrystals, which reflects its status as a
harmless item given that none of the Sensitive rank powers are overtly
harmful.
2025-10-05 14:26:58 +00:00
Casper3667 f69c0e94a7 Add journals and notepads with blank paper (#21418)
They are going to be filled anyway, and this way people won't have to
raid paper bins nearly as much. It adds a variant of the notepad and the
journal that is pre-filled with 5 blank papers. It also adds 5 blank
papers to my own custom item as an extension of this.
Also this fixes a runtime error when journals with content were deleted.
2025-10-05 14:26:52 +00:00
Kano 2d9d4ce4b6 Cargo elevator overhaul (#21430)
## 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 |
2025-10-05 14:26:49 +00:00
juniper 8f8c7b1633 adjusts the rest of the himean suits + voidsuit modkit change (#21290)
*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"
/>
2025-10-04 20:10:30 +00:00
AlaunusLux 7ff3d5e6dc Adds docking and undocking messages on command frequency (#21330)
Title. Also adds disassembly instructions for (plastitanium) shuttle
walls.

<img width="905" height="38"
alt="486627147-aed5cc8b-1995-4e0d-b479-82deb1ac980f"
src="https://github.com/user-attachments/assets/d5ea7a93-5195-4c5d-8daf-f5473dcd1820"
/>
2025-10-04 20:10:15 +00:00
Wildkins 5fec421dae Destroy several sources of lag (#21422)
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>
2025-10-04 11:05:07 +00:00
Batrachophreno f06bdc8b3c Alt-click lock toggle functionality, APC SFX upgrade (#21310)
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.
2025-10-03 15:56:32 +00:00
Batrachophreno 6d4ab5483b False Alarm Name Reference Fix (#21424)
Makes it so False Alarm events correctly refer to the SCCV Horizon
instead of 'Unknown Location.' Not the most elegant fix but it works.
2025-10-03 15:50:48 +00:00
Batrachophreno b743c82739 Signals update to power_change() (#21421)
As title. Makes area/power_change() and area on_enter/on_exit procs both
rely on signals for machinery handling where they draw power from.
2025-10-03 15:50:29 +00:00
hazelrat eef80013fa Introduces starlight to all Horizon exterior areas (#21396)
This introduces logic to place starlight onto turfs under
horizon/exterior, and extends that area across the entirety of the
Horizon's EVA areas, to remove the anachronistic darkness that's been
atop the wings up to now. Handling this at the area level was the
cleanest way I could think to implement it.

<details>
<summary>How it looks!</summary>
<img width="954" height="711" alt="image"
src="https://github.com/user-attachments/assets/ef82f1fe-0720-4559-8dca-390bf1ddff4d"
/>
<img width="924" height="878" alt="image"
src="https://github.com/user-attachments/assets/ffa37bd2-7814-42eb-99ae-ebfc1ed1b680"
/>
<img width="917" height="904" alt="image"
src="https://github.com/user-attachments/assets/8b36f9c9-dbe1-4c5a-bb0c-f5080eb359f4"
/>
<img width="953" height="952" alt="image"
src="https://github.com/user-attachments/assets/531724ba-2a19-4ddd-bd31-70a1ebfb4543"
/>
</details>

**Potential problems:**

<details>
<summary>Shuttle logic problems</summary>
To get this working, all of the Horizon's EVA areas have had to be
covered in the horizon/exterior area - which means there's now an area
clash on the south, west, and east shuttle port, which falls afoul of
the current is_valid check for shuttle landmarks. Notably, how this is
mapped also means that an rfloor silhouette of a shuttle is always left
on the Horizon after a shuttle undocks from any of these landmarks.

<img width="864" height="704" alt="image"
src="https://github.com/user-attachments/assets/4fd27d84-8d7c-4ed7-8333-f934a2d77e03"
/>

The problem here is on the mapping, not the logic - it seems like these
areas were formerly excluded from the horizon/exterior area exactly to
dance around this problem. The solution I've taken tentatively is simply
to remove the area check. This doesn't feel great, but I don't think
there's many situations in which it could bite us - maybe on exoplanets?

The only other solution here is to remap the Horizon's docking ports to
not suffer from this issue, which I'm not eager to do. I honestly just
attribute this to being another fundamental flaw of the Horizon's design
that we have to just dance around until we move off the map. I've
documented that it's purely a mapping issue on the commented code
segment, and that once the mapping issue is resolved there's no issue
with an area check.
</details>

- [x] Figure out how to have starlight carry over after a shuttle
departs
- [x] Resolve the Horizon's shuttles being unable to dock with its
docking ports

---------

Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2025-10-01 18:14:21 +00:00
Casper3667 c52ebc0485 Make custom items spawn in hands before being dropped on the floor (#21417)
A small safety net. Currently when people latejoin, a custom item such
as a journal risk being dropped into the lift or cryo, where it can't be
retrived from without admin help, if their bags are filled from the
loadout. This fixes that issue by putting it into peoples hands first if
possible.
Also it makes the alert for when it is dropped on the ground be nice and
red, as otherwise it was way too easy to miss between all the other
messages from spawning in.
2025-10-01 16:14:36 +00:00
KingOfThePing ccccfa57d2 Adds four new Unathi drinks (#21393)
## About PR
This PR adds four new Unathi related drinks and reflavours most of the
existing ones to be less of weird wordplays and jokes.
Requested by the Unathi team.
The new drinks and bottle sprite can be seen below. Please enjoy:
> <img width="547" height="102" alt="image"
src="https://github.com/user-attachments/assets/c2122a83-eccd-4b46-b57a-089e6d81704c"
/>
Tested (hopefully) all changes. Works on my machine. 👍 

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/drinks.dmi | Captain Gecko (AuroraStation) | CC0 |
| icons/obj/reagent_containers/food/drinks/bottle..dmi | Captain Gecko
(AuroraStation) | CC0 |
2025-10-01 15:56:44 +00:00
hazelrat f56a3f6714 Blobs can now spawn up to three cores per event (#21377)
Blobs are too trivial, this should make them exciting. 

Requirements for this event to proc are two engineers, so in the
worst-case you still have two people with an emitter each who can each
destroy one blob and circle to the third after.

Could use scrutiny from someone more familiar with event code than
myself, I feel I've stepped on something here.

<img width="980" height="895" alt="image"
src="https://github.com/user-attachments/assets/38e15dfb-70a1-475e-b9b0-120765b507d5"
/>
2025-09-30 15:55:56 +00:00
Matt Atlas 7f474bd363 Fix some harddels. (#21373)
Let's try to haunt down this brain and mannequin harddel bullshit

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-09-29 23:20:44 +00:00
VMSolidus 13ba3dc91d Fluff Augment Despawning Fix (#21392)
This fixes an issue where only the last fluff augment selected in
loadouts will be used. It was being caused by fluff augments all sharing
the same parented organ tag, which was normally used to prevent
identical augments from being stacked.
2025-09-29 20:03:48 +00:00
Batrachophreno a47b11e1a8 Electrical storm light flicker reduction (#21386)
As title. Flickering lights make me happy but lag makes me sad.
2025-09-29 20:03:31 +00:00
Wildkins 087703550e Fix psi commune sanitization (#21405)
see title

tgui_input_text already html_encodes the result by default, so we were
double-encoding our text and causing it to look garbage
2025-09-29 20:03:27 +00:00
ElorgRHG f3d39de03d Dominia cape code tweaks (mainly: they all should now display in character setup) (#21363)
Changelog: 
> - rscadd: "The tribunalist medical cape can now have its mantle be
rolled up, like its non-medical tribunalist counterpart."
> - rscadd: "Alt-clicking on tribunalist capes now rolls their mantles
up."
> - bugfix: "All dominian capes should now properly display as attached
to clothing in character setup preview."

I have noticed that non-Zavodskoi dominian capes never seemed to display
as attached in the character setup, and attempting to solve that made me
notice how all the capes are poorly pathed and have vestiges of code
solutions made for their old sprite variations. So this PR, which was
made in like 30 minutes, _attempts_ to fix that.

I also have noticed that the tribunalist medical cape had sprites that
allowed it to be rolled up, but the code did not support that. Now it
does. I also added an alt-click functionality to roll them up, because
why not.
2025-09-28 12:13:12 +00:00
Batrachophreno 28a4128ab8 Qol and bugfix variety pack (#21367)
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."
2025-09-28 12:12:48 +00:00
VMSolidus f2a59a207c Nerf Blackout Drunk (#21397)
Requested by Matt.
2025-09-28 12:11:38 +00:00
Wildkins cd82e7eccf Fix movement delay not applying to relaymove (#21408)
See title.

Prevents getting spammed by It won't budge! (and probably lagging the
server, too)
2025-09-28 12:10:20 +00:00
Wildkins 290032afc7 Turn hydroponics get and set_trait into defines (#21404)
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.
2025-09-28 12:09:49 +00:00
VMSolidus 63fb270cfe Comet False Alarm Bugfix (#21387)
This fixes the bug whereby Comet Expulsions weren't being announced by
False Alarm events.
2025-09-28 12:09:22 +00:00
VMSolidus d79f16c5df Power Cell Bounty Fix (#21366)
Logistics bounties sometimes asked for a "Heavy Duty Power Cell" which
was an item that was not actually manufacturable by the ship, and could
only be obtained by stealing them from the APCs they spawned in. This PR
adds the ability for protolathes to manufacture them directly, just like
the other upgraded versions of APC power cells.
2025-09-22 13:25:46 +00:00
Casper3667 501638e19f Readds Kathira El-Hashem's custom items (#21354)
After discussing it with WickedCybs, it was permitted for this to be
readded now that I once more have the WL and can play Kathira again.
The edge of the cloak, alongside the journal had sprite updates to bring
them up to more modern standards. The code is the same as it was upon
removal, aside from making the journal not be colored.
2025-09-22 13:24:27 +00:00
Matt Atlas 7cb5ec23b2 Fixes hallucinations not processing on humans. (#21368)
I am pretty sure this was broken for over a year

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-09-20 22:28:40 +00:00
VMSolidus 2471235ca7 Bioaug Fixes (#21361)
This PR fixes some issues with bioaugs not working as intended due to
having the wrong order and amount of arguments. It also fixes "Bad
pointer" error spam. I've also verified that it fixes the "Platelets
make you starve to death" bug.

Before:
<img width="685" height="331" alt="image"
src="https://github.com/user-attachments/assets/8d6ec19c-234a-4c1e-ab62-fc42036adacb"
/>

<img width="436" height="79" alt="image"
src="https://github.com/user-attachments/assets/2653e05b-e8cd-49b2-a86a-bc2fe4d6ded6"
/>


After:
<img width="463" height="328" alt="image"
src="https://github.com/user-attachments/assets/7e226024-88c2-45a7-b30d-22e3d4a87f35"
/>

<img width="360" height="67" alt="image"
src="https://github.com/user-attachments/assets/9d267368-94c0-4e11-b556-a72e4750613a"
/>
2025-09-15 12:15:05 +00:00
Batrachophreno 0aafc46e0f Further reduce phoron sources (#21364)
Removes reagent phoron from possible plant products, gaseous phoron from
exoplanet atmospheres.
2025-09-15 12:14:59 +00:00
FabianK3 1ccfd0a0e7 Persistent trash (#21217)
# 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.
2025-09-15 12:13:46 +00:00