9762 Commits

Author SHA1 Message Date
Batrachophreno 8111a8489b Restore many missing inhand sprites for items, add/port others (#21831)
Many, many, many items have inhand sprites in their .dmis but for
whatever reasons do not display them in-game. This PR:

1. Updates many item definitions to point to their already-existing
inhands correctly. This consists largely of held tools, but also gas
tanks and jetpacks mounted in the suit storage slot.

2. Adds a few codersprites made by me for objects with either missing
inhands or poorly matching mishands (IE, the tape recorder, which has a
black case, reused the white inhand sprites of the health analyzer). The
new sprites are modified or recolored variations of other inhand sprites
from our repo, except for circuitboards which are new.
<img width="444" height="400" alt="image"
src="https://github.com/user-attachments/assets/7f107b9a-fe24-4e31-8f16-4d34768ee117"
/>


3. Adds inhand sprites for Inflatables and Inflatable Boxes made by
Tomixcomics.
<img width="424" height="101" alt="image"
src="https://github.com/user-attachments/assets/434107c4-8577-49a2-a58e-d6b014c03933"
/>

4. Ports inhand sprites for the Hydraulic Rescue Tool from tg's Jaws of
Life.
<img width="224" height="94" alt="Screenshot 2026-02-07 172931"
src="https://github.com/user-attachments/assets/070c7956-f6a8-4fb5-870f-10c64afcc8b3"
/>

5. Some additional cleanup while in the area. The 'analyzer' has been
renamed the 'gas analyzer' to be consistent with the other analyzer
objects, standardized icon_state naming conventions where I saw
oddballs, updated code docs to use DMDocs when in the area, etc.

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
2026-02-17 17:51:22 +00:00
VMSolidus 8998842f7a Large Variety Of Hard Dels (#21834)
I spent the entirety of today's event looking at hard dels with my new
digital minions. This was *nearly* every Hard Del that came up during
2/7/2026's event. It turns out that AI is extremely well suited to
hunting down circular references like this across an entire repo. This
PR was made with Antigravity-Gemini3Pro.

I have not yet tested this PR.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Wildkins <john.wildkins@gmail.com>
2026-02-17 15:57:11 +00:00
VMSolidus a1dda72a1c Records Computer Tweaks (#21840)
I got annoyed one too many rounds in a row that I had to print the
medical records to get the medical records, and did not know until
writing this PR that you have to click where it says "medical" to view
said records. So I have tweaked a bunch of things about the records, so
that they now automatically open to the appropriate tab matching their
records type, EG Medical Records opens by default to Medical Records.

<img width="903" height="661" alt="image"
src="https://github.com/user-attachments/assets/abea1c4b-c78d-4716-ada5-13a100a3316e"
/>

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Casper3667 <8396443+Casper3667@users.noreply.github.com>
2026-02-17 15:40:22 +00:00
VMSolidus cf861efefd Mech Controls Rework (#21762)
This PR reworks the controls for Mechs to now operate under
"Battletech-Style" controls. Where the W and S keys are instead Forward
and Reverse, while A and D are turn-left and turn-right respectively.
This control scheme is generally significantly more playable for mechs,
since mechs can only interact with objects or fire weapons in a
forward-facing arc. Mechs were previously incapable of both
repositioning and fighting at the same time, while with this update a
mech can now face an enemy, fire upon them, and either move closer to
them or further away.

Mechs also now have reverse speed characteristics based on their chassis
selection. Bipedal legs generally have the worst reverse speed. Quad
legs have significantly better reverse handling, and Treads have no
reverse speed reduction at all (with the fun caveat that they suck at
turning).

I have also fixed the issue of mechs feeling like they were "too easy to
mobility kill". It turned out that mechs were hardcoded to be mobility
killed when they took only 45 points of damage, regardless of how tough
their legs were. I have reworked this to instead be a linear decrease in
movement speed, based on the damage taken ratio of the legs. Larger and
tougher legs are naturally more resistant to being impeded by mobility
damage.

I have actually tested this PR, here's it in action! NOW WITH STRAFING


https://github.com/user-attachments/assets/3123fed8-ec22-4118-8a6a-7cbfe45e6667

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-17 15:39:03 +00:00
Batrachophreno b0fa467ee2 Ports smooth camera shake proc from /tg/ (#21875)
Ports https://github.com/tgstation/tgstation/pull/60314

Yep, a straight up copy-paste job. Ours was ass and broken and this one
Works and Looks Nice.

Actually having functional screen shaking again, I anticipate we'll get
reports that some shaking fx need tuning, so we'll zap those as they
come in.
2026-02-17 10:27:33 +00:00
Wildkins 2e8e10a902 Fixes a Modulo Moment in lobby screens (#21869)
see title

(++index % num_lobby_screens) will only ever get you [0,
num_lobby_screens), which is why it maxes with 1. but that still ignores
the last screen. so instead we just do the smart thing which is to add
+1 after.
2026-02-14 16:46:43 +00:00
Wildkins 3d183d7262 Begin, the Lag Wars Have (#21839)
<img width="700" height="848" alt="image"
src="https://github.com/user-attachments/assets/e0db50af-35db-43c7-b78e-6c1ea5ac569c"
/>

you take a tiny little two year LOA and this happens
this PR hits some large lag culprits:
- UpdateOverlays() getting spammed by human/update_icon. This was 0.85%
of server CPU time during the event. Doesn't sound like a whole lot but
it's insane. 99% of it was caused by sloppy duplicate calls of
update_icon in set_dir (as well as update icon itself!). Refactored to
stop that
- Makes Follow menu update manually, which cuts down on the 2.8 million
REF() calls it made during the event. This was ~1% of CPU time including
ui_data as well.
- Gets rid of a bunch of random runtimes and some lighting-related
harddels.
- NanoUIs now clean themselves up when their owner qdels rather than
forcing the owner to do REF(src) and close all matching UIs. saves us
~0.1% server cpu time! wowza!
2026-02-09 23:20:48 +00:00
Greenjoe12345 30d4de6da8 New Tajara hairstyles (#21334)
Adds several new Tajara hairstyles, copied from existing human ones.
2026-02-07 03:20:56 +00:00
VMSolidus 7fc9f27eeb Fix Various Movement Bugs (#21823)
This PR fixes a variety of bugs related to smooth movement. See the
changelog for more details. I have actually tested this PR.

Mechs and Mobs:


https://github.com/user-attachments/assets/77cd6d92-2616-409f-a909-d19565dfc718

Trains:


https://github.com/user-attachments/assets/0a12bc9a-6c45-471b-98fa-a91717cd85be

Pulling stuff in general:


https://github.com/user-attachments/assets/e2a7cdaa-2fcd-443c-bd76-bcd74e696c72

Rollerbeds:


https://github.com/user-attachments/assets/d0d35153-f406-45e9-afaf-ad19499098fe
2026-02-06 23:24:22 +00:00
AlaunusLux 24adc2268b Various player greimorian fixes, gives greimorian queen an attack reach of two (#21166)
Most of these are self explanatory. Servants should be able to see in
the dark. They should not speak TCB. The user should get feedback if a
skill fails. The icon state shouldn't be set to resting if the simple
mob AI will take back over (which it does), though I'm not a huge fan of
the way I solved that one - should it be a more generic var like
`should_not_sleep` on simple mobs? Then it would need a typecast as
well.

The first big change here is removing `environment_smash` from the
`attack_generic` proc. As far as I can tell, this variable is almost
entirely deprecated. I only saw one check relying on it, in
`/obj/structure/closet/statue/attack_generic(var/mob/user, damage,
attacktext, environment_smash)`, but when I tried to spawn one it was
invisible, so I assume that is also something that is mostly deprecated.
As such, I removed the variable from the function call, lining its
arguments back up with what the function is expecting. Maybe I should've
done named arguments here, but given that there's only that one function
that expects it, I just removed it.

The second big change is giving the Greimorian Queen reach on its melee
attacks. I was mostly trying to fix the case where the queen can't
attack a mob to its north, due to the mob being covered by the queen's
icon. Attacking two tiles away looks fine when the queen is facing
north, but facing south it looks not great. Directly East and West are
usually okay, though it depends exactly which tile is being attacked.

I did also duplicate a function, which I'm not a fan of. Perhaps
`attack_can_reach` should be made more generic. Let me know the best
place to do that, if so.

I'm not completely sold on adding the reach in its current form: Aside
from the top center 3 and the two furthest east and west, it reaches way
too far without good visual feedback that it can/is doing so, especially
the bottom ones and corners.


https://github.com/user-attachments/assets/a2b95cee-fe2d-4bc6-bf43-2e5b6e2e8f86
2026-02-05 11:33:56 +00:00
Batrachophreno d712dbfab9 Moves area blurbs permanently to status pane (#21797)
As title. Less annoying chat spam.
2026-02-04 17:01:30 +00:00
Batrachophreno 6e308b69e3 Area sensitivity restoration - fixes ambience, ship hum, gravity, area blurbs, etc. (#21788)
Finally tracked this rat bastard down; requisite trait assignment was
removed from mobs at some point.

Drifting in zero-gravity works again (including throwing things to
change speed and direction).
Area text blurbs work again (my band-aid fix adding them to status
window has been removed).
Random ambience sounds now play again.
Ship hum works again while on the Horizon.
Probably fixes more stuff that its removal broke.
2026-02-03 20:24:54 +00:00
Matt Atlas fa7214de3c Adds smooth movement/atom gliding, buffs everyone's speed by 2x. (#21662)
Revives https://github.com/Aurorastation/Aurora.3/pull/17215 with the
needed species changes.

As I said last time this was tried, the key issue is that our walkspeed
is a lot lower than any other server's. Even if we add atom gliding as
is, it would just look like gliding through molasses and would give you
motion sickness, because it takes a half-second to finish a glide to
another tile. Meaning that to compensate the movement speed has now been
significantly buffed for everyone. Yes, even dionae, G2, simple mobs,
everyone.

As compensation, m'sai/bishop/unathi sprint were especially nerfed
because otherwise they'd go lightspeed.



https://github.com/user-attachments/assets/7ba07389-b874-4a7d-8dd5-b5d3bfe611e4

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-02-03 17:17:11 +00:00
VMSolidus a802b48e2a Psi Rework Part 2: Scenes From A Memory (#21736)
The next step in the Psi Reworks is here, this time adding all of the
remaining sources and applications of Psi-sensitivity and Psi-protection
that were on my To-Do list. Aside from a variety of tweaks and bugfixes
to powers, the most player-facing addition is the new Psi-sensitivity
related traits, which are High Psi-sensitivity, and Low Psi-sensitivity.
These traits modify the character's psi-sensitivity, which messes with
their interactions with psionics in a variety of ways.

All of these new sources and interactions with psionics are handled
entirely through components, which operate on the previously added
COMSIG_PSI signals.

Check the changelog file for more specific details on what all was
fixed. I've fixed quite a lot of bugs and issues with the various psi
powers.

I have actually tested this PR and verified that it works as advertised.
<img width="1902" height="1015" alt="image"
src="https://github.com/user-attachments/assets/e922593c-0595-4b63-bee4-36080d9cb8b4"
/>
2026-02-01 23:29:21 +00:00
Cody Brittain 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-01 05:14:26 +00:00
Cody Brittain 9b5f89a717 Ports Turf Fires (#21659)
Adds turf fires (ported from Baystation, which ported them from
Shiptest), which are now used instead of ZAS fires for fuel decals and
flamethrowers. They also supplement ZAS fires in especially bad atmos
fires.

This makes flamethrowers and related objects more suitable for AOE
denial, rather than cooking the room (including yourself). They still do
the latter, but less so than a gaseous fire.

To make flamethrowers actually useful against them, simple mobs now take
brute damage when on fire.

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

| Path | Original Author | License |
| --- | --- | --- |
| sound/weapons/flamethrower/flamethrower1.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower2.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower3.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower_empty.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| icons/effects/particles/smoke.dmi |
[rye-rice](https://github.com/shiptest-ss13/Shiptest/commits?author=rye-rice)
(Shiptest) | CC-BY-SA 3.0 |
| icons/effects/turf_fire.dmi | CM Dev (cmss13) | CC-BY-SA 3.0 |
2026-01-31 01:41:11 +00:00
Cody Brittain 6d6735aa7b Clarified extreme wounds may require amputation (#21756)
Also ensured critical limbs (the torso and head) cannot be ruined like
this.

<img width="876" height="448" alt="image"
src="https://github.com/user-attachments/assets/ce6cd6c6-7130-48ff-a107-1d8b8dd70b91"
/>
2026-01-29 01:53:03 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Cody Brittain 05a576167d Ported Taro hair from Citadel Station. (#21709)
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/human_face/hair_multiply.dmi (hair_taro) |
[zeroisthebiggay](https://github.com/zeroisthebiggay)
([Citadel-Station-13-RP](https://github.com/Citadel-Station-13/Citadel-Station-13-RP))
| CC-BY-SA 3.0 |
2026-01-26 14:00:58 +00:00
Batrachophreno 7d058fc613 Jukebox TGUI update, Earphones autoplay, sound keys refactor (#21630)
V2 of [previous music playing
PR](https://github.com/Aurorastation/Aurora.3/pull/21466). TLDR no
longer uses the connect_range component for implementation because it
turned out a bit too inflexible for overlapping music players.

Removes a NanoUI template for the [TGUI
update](https://github.com/Aurorastation/Aurora.3/pull/21046).

New changelog:
  - refactor: "Ported Jukebox's NanoUI interface to TGUI."
- refactor: "Ported Jukebox audio playing functionality to a component."
- refactor: "Sound keys refactored from singletons to datums, along with
larger breakout of sound.dm to allow for easier SFX updates in future."
  - code_imp: "Expanded track datums to include track lengths."
- code_imp: "Reorganized music file folders for more intuitive access."
  - rscadd: "Earphone status feedback text now includes track length."
  - rscadd: "Added autoplay functionality to earphones."
- bugfix: "Fixed earphones' 'Previous Song' verb not sending you to the
end of the playlist when used while the first track is selected."
- bugfix: "Fixed gain adjustment for 'Konyang-1' (-23 dB -> standard
-9.8 dB)."
- bugfix: "Fixed y-offset of audioconsole-running overlay animation to
line up with the actual screen."

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-01-22 16:54:40 +00:00
VMSolidus cb66a38c3a Jarable Borer (#21703)
This PR makes it so that Borers now correctly have the same size as a
diona nymph and not a full grown human. Thus they can be scooped into
glass jars.
2026-01-14 19:30:24 +00:00
Batrachophreno 142862c8bc Container cleanup, standalone security panel (#20909)
Updated crate and locker sprites and icon overlay code to use a new
standalone 'securitypanel' overlay to lay the groundwork for, in the
future, being able to install/uninstall access-code locks on containers
just like you can in airlocks. For lockers, little visual change at all.
For crates, the security panel is now an overlay within the 'handle'
section of the crate rather than being a chunky box off to the side on
front. Locked/unlocked/emag sprites also updated for the new panel
location.
![Screenshot 2025-06-28
130646](https://github.com/user-attachments/assets/4b4469e7-5d62-42e0-9d9b-27c2f70a4239)
![Screenshot 2025-06-28
130944](https://github.com/user-attachments/assets/5741094f-9214-435a-8ef1-97e5c06b1c61)
![Screenshot 2025-06-28
130951](https://github.com/user-attachments/assets/3d9563b5-a89c-407d-9f8b-190d6382fb8b)

Moved closet.dmi, crate.dmi, guncabinet.dmi, safe.dmi, and
walllocker.dmi to a new subfolder /icons/obj/containers, and updated all
references to them in code, for sake of organization. Ideally (IMHO),
we'd differentiate structure-based storage containers from item-based
storage containers, but that's a larger organizational task and outside
of scope- this just moves storage structures into one common location.

Deleted sciguncabinet.dmi, as its contents had already been migrated to
guncabinet.dmi and it was no longer referenced anywhere in the codebase.
2026-01-14 17:38:00 +00:00
Kano ba07ebeb30 Fixes AI eye being unable to traverse Z-levels (#21708)
## About PR

Fixes a bug introduced in #21626. I misunderstood the purpose of a check
which was allowing eyeobjects to Z-travel, my bad!

- Fixes #21695
2026-01-14 17:01:07 +00:00
Casper3667 71c8c64667 Fixes the hivenet and nralmalic language augs (#21685)
fixes https://github.com/Aurorastation/Aurora.3/issues/21684
2026-01-14 06:59:01 +00:00
Batrachophreno ad2a83db85 Add various additional hints to guns, minor projectiles code cleanup (#21633)
As title. Adds several mechanics/assembly/disassembly hints to several
gun types, and also handles some minor code cleanup where I found
issues. No mechanical changes.
2025-12-23 20:05:54 +00:00
Matt Atlas e0aa218843 Shell May Cry: A comprehensive rework of synthetics. (#20721)
https://www.youtube.com/watch?v=9mPvZ96pHJI

A pull request commissioned by the Synthetic Lore Team to
comprehensively rework synthetics (read: IPCs) and how they work in
Aurora. The objective is to make IPCs as unique as possible from humans,
upgrading the robotic feel and atmosphere, while also preserving a good
sense of balance in-game.

Key features:

- A comprehensive expansion of synthetic organs, all of which now
fulfill a purpose: hydraulics, cooling units, power systems, actuators,
diagnostics units.
- Customizable organs with benefits and drawbacks, such as with cooling
units and power systems.
- Unique ways to repair the organs and more involved steps.
- Unique damage mechanics - every organ has wiring and electronics which
affect its functioning, and they are defended by plating which provides
natural armour.
- Improved and immersive diagnostics.
- Unique features, benefits, and drawbacks for every IPC frame.
- A rework of the positronic brain, which can be either destroyed or
shut down, alongside effects caused by low integrity.
- A rework of how EMPs affect IPC organs.
- Non-binary damage states for each organ.

To-do:

- [x] Finish the unique features for each frame.
- [x] Look into if mechanical synthskin is possible.
- [x] Power system.
- [x] Posibrain mechanics.
- [ ] Passive cooling expansion.
- [x] EMP mechanics.
- [x] Repair mechanics.
- [x] Mob weight mechanics.
- [ ] Gurney for heavy mobs.
- [x] New augments.
- [ ] IPC tag scanning and flashing.

---------

Signed-off-by: Werner <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
2025-12-21 16:26:23 +00:00
Kano 58570e035a Adds base planning blueprints (#21626)
## About PR

Adds some building/planning mechanics typically seen in
base-building/survival games such as Grounded. Hopefully this will ease
the away base construction process. Happy base buildings!

Currently, this allows placing blueprint objects that players can click
on with the required materials to build whatever the blueprint
represents. You can place templates, edit them or build your own
glorious base from ground.

Sprites for `blueprints` and `blueprints_unfolded` inside
`base_planning_blueprints.dmi` are ported from SS20 Russian Paradise
Station.

## Images
https://youtu.be/FCrZn8BkISU?si=Fst0ksAgi47D_wN7

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/base_planning_blueprints.dmi | vovakons (SS20 Russian
Paradise Station) | AGPLv3 |
2025-12-19 23:26:56 +00:00
Cody Brittain 96a2951608 Improve, cleanup, and expand wound code (#20757)
This PR includes several changes to bring our wound code up to date with
baystation, nebula, and modern standards. Highlights include:
- The usage of integers between 0 and 100 for ratios (expressed as a
percentage), instead of 0.0 to 1.0. Small decimal values are prone to
floating point precision errors, but by moving to a percentage instead,
we can reduce the impact of this.
- The untangling of damage flags and injury flags, which were used
interchangably in the code. This could have caused issues should we
expand any of these.
- Larger embedded objects now halt bleeding in wounds, until they are
pulled out. In exchange however, embedded objects will halt healing in
wounds (it is difficult to close an open wound that currently has a rod
stuck in it)
- A lot of data, such as implanted objects and organs, are now stored in
amputated limbs.
2025-12-19 20:22:29 +00:00
VMSolidus d5c9204b78 Psi Rework Part 1: The Miracle and the Sleeper (#21584)
<img width="1701" height="292" alt="image"
src="https://github.com/user-attachments/assets/db1dbc50-1a6a-4549-b9e5-b838ec62f849"
/>

**This is but one of several PRs as part of Project Anabasis, and is a
necessary building-block for a Traits System and a Skills System**

This PR was essentially prompted by recent lore changes to Skrell that
weren't yet existing in the game, so I'm kicking off this as a PR to
start a series of more meaningful psionic reworks. With a focus on
Components and Signals as a way of dramatically increasing the systems
interactivity of psionics. With this PR, mobs have an effective
"Psi-Sensitivity" that can be checked by psionic effects, and influence
a wide variety of interactions.

Psi-Sensitivity is calculated based on a Signal interaction, whereby
multiple responding sources have a chance to respond to the signal and
influence the end result of the calculation. For now there still remains
a cutout specifically for owners of a Psi-Complexus(Which is just Skrell
and Antag Psions), who have a bonus to the psi-sensitivity check equal
to their PSI-RATING. That being 1 for Skrell, and 2 for antag psions.
But eventually in the future this should be replaced with a standalone
component separate from the concept of "Sending"

The other common sources of sensitivity currently are the Psionic
Receiver implant, MindShield, and Mind Blanker implants. With Psionic
Receivers giving a bonus to psi-sensitivity, and the latter two giving a
penalty to psi-sensitivity. Both MindShields and Mind Blankers are now
unified in how they interact with psionics, both using the same system
of Signals without a hardcoded check for the mindshield.

As an important distinction to make, Psi-Sensitivity is NOT the same
thing as being Psionic. Actually Psionic characters like Skrell have a
big bonus to their sensitivity. It's more a measurement of how receptive
a character is to Receiving (separate from Sending) psionic influences.
You can actually be capable of using psionic abilities, but have a
sensitivity of 0, effectively meaning such a character can "Send but not
Receive" psi influences.

- [x] I have tested this PR and have verified that it works, you're
welcome.
2025-12-12 09:01:08 +00:00
Kano 47c9f48d5d Misc bugfixes (#21643)
## About PR

- Fixes #21487
- Fixes #21634
- Fixes #21639
- Fixes #21640
- Also turns some comments into dmdocs in touched files, documents some
missing stuff
2025-12-09 16:59:51 +00:00
FabianK3 2e5141df0f Colorable high visibility clothing (#21635)
# Summary

This PR introduces colorable high visibility jackets and pants. They are
available in the character loadout.
**[Breaking change]**  
Existing high visibility clothing received its own category in the
loadout and breaks current loadouts using said clothing.
The currently worn clothes need to be re-selected from the new group.

## Changes

- Added a colorable version of high visibility jackets and pants.
- Moved existing high visibility clothing to their own selection in the
loadout out of the generic jackets/pants group.
- Fixed a bug that prevents the usage of accents/part-building for
pants.
- Added a dedicated code file for high visibility jackets and pants
along some refactoring.
- Introduced minor protection values for high visibility clothing.
- Removed duplicate jacket emissive sprites and fixed jackets getting
the right pattern for their type.

## PR Notes

Any mapping-tag is due to the changes in the high visibility clothing
type names, no map has been changed aside a global type name
replacement.

## Preview

A combination of colored jacket and pants. Selected was green for the
base color and yellow for the accent color.

<img width="93" height="96" alt="Screenshot 2025-11-30 023923"
src="https://github.com/user-attachments/assets/5162608e-b325-4d8c-8691-9d23ada1641d"
/>
2025-12-04 07:55:53 +00:00
Batrachophreno db452842bf Greimorian Egg Cluster Implantation Refactor (#21554)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21509

**Summary:**
Cleans up a lot of old Greimorian egg implantation code- rewrote the
actual worker injection behavior to use the organ/internal/parasite code
we have, instead of creating effects with their loc set to the organ
itself.

This largely means that not only is Greimorian implantation able to be
treated pharmaceutically (as you'd expect, with them being parasitic and
medicine including antiparasitics), but it also means that 'greimorian
eggs' also get the same treatment as nerve flukes, etc. That is to say,
antags can now purchase Greimorian Clade Kits from the uplink and inject
people or monkeys with them to cause Unhappy Tidings.

This code is also fairly easy to modify, if one wanted to create more
implantable parasites that burst out of people, unrelated to
Greimorians.

**Changes:**
- refactor: "Refactors the egg injection of Greimorian Workers to use
parasite code; it can now be treated with anti-parasitic medicines in
addition to amputation of the affected limb. Works on all playable
species, and monkeys."
- rscadd: "New reagent 'Greimorian Eggs' creates an egg cluster parasite
in a random organ when metabolized in the bloodstream. It also has very
mild soporific effects."
- balance: "Greimorian Workers and playable Greimorian Servants/Queen
now inject Greimorian Eggs instead of Soporific."
- rscadd: "Greimorian Clade Kit now available in Uplink under Bioweapons
section (Greimorians now able to be introduced to ship by egg cluster or
injectable reagent)."
- balance: "All parasite kit bioweapons have had their vial reagent
count increased from 2 -> 5."
- balance: "Helmizole no longer treats K'ois Mycosis, Black K'ois
Mycosis, Zombification, or Tumors (Benign or Malignant)."
  - code_imp: "Updates a lot of code documentation to dmdocs."
2025-12-02 10:53:54 +00:00
Kano 7486b7c63f Fixes non-human mobs not displaying their name in chat (#21617)
Assigns speakers name to the speaker_name var, previously this was only
assigned for human types

Fixes #21585
2025-12-02 10:53:50 +00:00
Casper3667 3541ce57fd Slight rework of how tajaran watches work and new papercode for taj time (#21582)
This does a few times, after the scope got bigger than I originally
planned:
- Watches now have an action button top left to check time.
- Taj time checking code was moved over to the time helper file to not
be watch exclusive.
- The taj wrist watches now shows the time on adhomai.
- Papercode now has the ability to show taj time and date, and to insert
the credit symbol.
2025-11-30 11:17:14 +00:00
VMSolidus 83dfafb8c9 Generic IPC Creation (#21614)
Since the unbranded IPC frame is not canonical and isn't intended to
exist anywhere, this PR makes it so that when you create a new IPC as a
machinist, the IPC will default to a Baseline frame rather than an
Unbranded frame.
2025-11-30 11:16:53 +00:00
hazelrat 5a668b1b72 Gives all IPCs EAL by standard (#21622)
Gives all IPCs, including every subspecies, EAL as a free language. All
other slots are retained. Done with the accession of the synthetic lore
writer.

Rationale is primarily for industrials and baselines - i.e. all the
subspecies without three extra language slots. This means any
baseline/industrial originating from a multi-language origin (Jupiter,
Visegrad, Himeo, etc) can pick both of their origin's languages in
addition to EAL. Those from monolingual origins have a slot free for
flavour.

This does have the additional effect of giving shells and bishops five
possible languages in total - this should mean it's a lot more viable to
take sign language as these even if they originate from a multilingual
origin, which plays well into them primarily being service units.

Burzsia's fluff on not giving their units EAL will be modified wiki-side
if merged.
2025-11-30 11:16:49 +00:00
Casper3667 b4b91a0f69 Enforce all taj to start with siik'maas (#21605)
After talking with Catsin, it was agreed to enforce that all taj get
siik'maas as the edge cases of a taj not having it are few and very far
between.
It does not change their extra optional languages, letting them still
learn 2 extra for a total of 4 languages. The forced ceti basic and
siik'maas, and then the optional ones are between tradeband, freespeak,
sign, siik'tajr and one of the subspecies specific ones (yassa,
nal'arasan, delvahhi).
2025-11-22 21:37:49 +00:00
VMSolidus c85a139329 Fix Loadout Sound Spam (#21589)
This PR fixes a literally 12 year old bug, by making it so that
roundstart loadout items no longer spam the world with their on_equip
sounds. I have not however found the cause for the backpack sounds
though. That one is significantly harder to locate.


https://github.com/user-attachments/assets/54fbeada-d685-4c15-8383-d197ecf26363
2025-11-15 23:15:16 +01:00
Batrachophreno af0312c7d4 Bugfix batch (Pesticide Edition) (#21556)
Fixes https://github.com/Aurorastation/Aurora.3/issues/18504
Fixes https://github.com/Aurorastation/Aurora.3/issues/21064
Fixes https://github.com/Aurorastation/Aurora.3/issues/21267
Fixes https://github.com/Aurorastation/Aurora.3/issues/21455
Fixes https://github.com/Aurorastation/Aurora.3/issues/21535

Miscellaneous bugfixes, code cleanup, etc. Smaller batches this time.

changes:
  - spellcheck: "Renames 'gibber' to 'autobutcher'."
  - code_imp: "Cleans up a lot of old autobutcher code."
- code_imp: "Simplifies and unifies a lot of circuit board naming code."
  - code_imp: "Updates various code comments to DMDocs format."
- balance: "Slightly increased damage of beating someone with a ladder."
- bugfix: "Fixes foreign speech displaying the translated versions in
langchat for non-fluent listeners."
- bugfix: "Fixes whispered speech langchat; whispers are now correctly
italicized."
- bugfix: "Fixes shouted speech langchat; shouts are now correctly
biggified."
  - bugfix: "Adds missing Omni Gas Mixer, Gas Meter options from RFD-P."
- bugfix: "Adds missing circuit boards for bioballistic delivery system,
lysis-isolation centrifuge, and autobutcher to allow for construction
and deconstruction."
- bugfix: "Fixes empty algae chips bag having description set for its
name."
- bugfix: "Adds fallback_specific_heat values to several reagents that
were missing them."
- bugfix: "Fixes antimateriel projectiles being erroneously
damage-capped when hitting walls."
- bugfix: "Fixes laser beam effects not using the base colors of their
beam VFX."
- qol: "Added helpful feedback hint to move closer when someone speaks
aloud within 4 tiles while you're in vacuum (as features go, this one
felt more like a bug to experience)."
  - qol: "Updated various examine hints."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-11-11 10:56:12 +00:00
VMSolidus 31e2d57c35 Gravity Adaptations Bioaug (#21532)
From the list of bioaugments requested by Schwann.
https://docs.google.com/document/d/1SLbll969PyJ_H9J1LP8cmdso9OMozUc8MGOVZkY4HbE/mobilebasic

Gravity Adaptations are a bioaugment that serves as an implanted
alternative to legbraces, which grant the same effect. These are unique
to Galatean Offworlders in the same vein as legbraces being unique to
offworlders. They also essentially have the same effect, making the
offworlder immune to the effects of "Gravity Weakness". To make this
work, I refactored the gravity weakness mechanic to operate via a
signal, which has a shared response between legbraces and gravity
adaptations. This "Cancelable signal" pattern is going to be fairly
common going forwards as I refactor a variety of systems to allow far
greater degrees of unique interactions, without the need of hardcoding
said interactions at the source.

<img width="797" height="84" alt="image"
src="https://github.com/user-attachments/assets/01622f2b-56a1-4fb8-ae43-d78afd35f3b5"
/>

<img width="935" height="91" alt="image"
src="https://github.com/user-attachments/assets/309bbc66-d6aa-44b1-9a59-64f7fc800c90"
/>

<img width="617" height="259" alt="image"
src="https://github.com/user-attachments/assets/81a1f973-b1af-45c1-8373-05549fde286a"
/>

I have tested this PR and have verified in my dev environment that it
works as advertised.
2025-11-06 09:16:06 +00:00
Matt Atlas 94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
Casper3667 1098d40e4a Puts blood type in the medical record and let the medhud see it (#21521)
The blood type was already stored in the medical records, but was not
visible to players. With this, anyone with medical record access can see
the blood type and change it, and anyone with a medical hud can also see
what it is in the person's medical record.
2025-11-01 20:39:55 +00:00
Batrachophreno 088a71aacd Bugfixes (#21460)
Fixes https://github.com/Aurorastation/Aurora.3/issues/14594
Fixes https://github.com/Aurorastation/Aurora.3/issues/19524
Fixes https://github.com/Aurorastation/Aurora.3/issues/19525
Fixes https://github.com/Aurorastation/Aurora.3/issues/19554
Fixes https://github.com/Aurorastation/Aurora.3/issues/19565
Fixes https://github.com/Aurorastation/Aurora.3/issues/19669
Fixes https://github.com/Aurorastation/Aurora.3/issues/19739
Fixes https://github.com/Aurorastation/Aurora.3/issues/19751
Fixes https://github.com/Aurorastation/Aurora.3/issues/20323
Fixes https://github.com/Aurorastation/Aurora.3/issues/20530
Fixes https://github.com/Aurorastation/Aurora.3/issues/21008
Fixes https://github.com/Aurorastation/Aurora.3/issues/21370
Fixes https://github.com/Aurorastation/Aurora.3/issues/21375
Fixes https://github.com/Aurorastation/Aurora.3/issues/21438
Fixes https://github.com/Aurorastation/Aurora.3/issues/21456

changes:
- balance: "Budget insulated gloves no longer able to be manually
restocked in YouTool (random insulation coefficient reroll exploit)."
- bugfix: "Replaces missing req_access values from D3 Medical Equipment
Storage."
- bugfix: "Emitters can be rotated again (alt-click lock toggling
disabled)."
  - bugfix: "Lights no longer explode when toggled off and on."
  - bugfix: "Langchat images now pop up for untranslated speech."
  - bugfix: "Cyborgs can no longer flip Plasteel Barricades remotely."
- bugfix: "Fixes ghost vision inconsistently toggling when Following
mobs."
- bugfix: "Removes deprecated 'Gender and Pronouns' section from
Appearance Changer (has been replaced by 'Pronouns' section)."
- bugfix: "Offship locations will not print Mining Yield Declarations
saying they're from SCCV Horizon."
- bugfix: "Simple mobs which target their surroundings (destroying
tables windows etc) will not do so if inside a container."
- bugfix: "Newscaster Announcements channel now logs announcements made
by heads of staff."
- bugfix: "Held phoron- or chlorine-contaminated items will respect if
you're wearing a sealed suit or thick gloves (that is to say, if the
gloves provide fire protection)."
  - bugfix: "Fixes runtime in Electrical Storm event."
- bugfix: "Fixes some bounties returning 0 credit reward due to rounding
issues."
  - bugfix: "Removes old fusion debug vars, fixed outdated maths."
- bugfix: "Fixes Horizon kitchen alt fridge being swapped w/ empty
freezer."
- bugfix: "Fixes chameleon projector sometimes turning user invisible."
- bugfix: "You are again able to push an object currently being pulled."
- bugfix: "Command Support roles which start with flash-protective
sunglasses can now also choose them in their loadout."
  - code_imp: "Updates more code comments to DMDocs."
  - code_imp: "Corrects poison/venom for greimorian variable naming."
  - rscadd: "Adds missing fire alarm to Paramedic Quarters."
  - rscadd: "Holomap now respects and displays outer hull structure."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-10-30 18:14:42 +00:00
Kano aec06bc427 Adds an interactive away site: Outpost Nemora PART I (#20993)
## About PR

Adds an interactive away site. Full of evil, traps, point-defense horde
cleaning and story. This is part 1 of the changes. Currently incomplete
on some mechanics mostly pertaining north-east section of the ruin but I
believe this has enough content as is and a good step for the next
changes to come!


## Detailed Changelog
<details><summary>Contains spoilers, click to expand!</summary>
<p>

- `A revivable mob type`. If this mob wasn't burned or deleted by any
means within a 3 minutes period, it will revive.
- `Abominations`, a subtype of revivable mob. This type can spawn with a
chance to split into smaller creatures in death, if someone approaches
close enough. These mobs are also able to mimic appearance of humans,
being completely pacifist until it reaches to its unsuspecting prey or
gets attacked before it could.
- `Mob tracking console`, tracks any mobs/objects that exists in the
same Z level as the console itself, and included in a global list.
Displays its data in a TGUI screen.
- `Rigged (trapped) vents`, if it detects a player passing by within 1
tile radius from an unwelded rigged vent, it'll spawn up to 2 mobs. The
chances of triggering varies on following coniditons: running (100%),
walking (medium chance), throwing items near it (very small chance).
- `Storytelling holopads`, core logic is ported from Paradise Station,
made by Qwertytoforty. I did minimal modifications to make it work with
our codebase and do some additional things.
- `Footprint mapping helper`, allows mapping footprints of any type.
- `A light fixture subtype`, has a 50-50 chance to spawn as broken or
functional after Initialize.
- `An extraction mini game`, special to this ruin. It entails finding 5
canisters scattered randomly in the ruin and killing every creature
that's lurking around. If these conditions are met players are required
to hold off an extraction device and protect it from the waves of
creatures, while swapping said canisters. Modified from phoron deposit
ruin.

</p>
</details> 

---

### What's the overall story this ruin tries to convey, and where it's
allowed to spawn at?

This isn't final and a subject open for change where deemed fit. This
ruin is a remnant dating back to pre-Interstellar War. Solarian Alliance
Science Facility (SSF) Nemora, is a failed experiment/expedition
co-conducted by Department of Colonization. I believe it'd make sense to
find this ruin in the old Solarian frontiers far from the Core Worlds,
even so if the sector in question was colonized, nothing would've
stopped a department of a desperate nation in search for their gold in
blind hope. But not too close to an inhabited space.

***This needs to be evaluated by a lore nerd!***
**Possible Sectors:** 
- Valley Hale
- Badlands
- Weeping Stars
- Light's Edge
- Lemurian Sea (still up in the air for this one, but I like to think
Solarian suveyors took a swing at it at the time)
- All Crescent Expanse Sectors (east, west, far).

<details><summary>Details on story. I'd advise to skip this bit to not
spoil the experience if you're not reviewing this PR. Spoilers alert,
click to expand!</summary>
<p>

Shortly before the Second Great Depression, when the upcoming crisis had
begun to be felt within the nation's departments, some surveyors from
the Department of Colonization encountered an anomolous signal,
incalculable energy levels in deep space. When they decided to
investigate its source, small expedition teams went missing after a
while.

This drew the attention of the department, as seeing multiple expedition
teams went radio silent. A third-party incursion was suspected here,
pirates or worse. This led to the deployment of sufficiently armed Navy
corvettes to the last known coordinates of the expedition.

To no avail, all that was found was the vacant shuttles of the
surveyors, drifting in orbit around an anomolous asteroid. This gave
room for further discussion in the smaller parts of relevant
departments, after hearing what the inital expedition members had left
behind. The department conceded to pursue this further, funding a
thorough investigation to unearth what was hidden and to see if this was
a threat to demolish or an unexpected resource to exploit.

In time, an outpost was constructed and a researcher, eminent in their
field was commissioned to oversee operations on behalf of the
department. A majority of the attempts didn't go far enough beyond to
bear any fruit. As the progress was too slow and unsatisfactory in the
eyes of funders, this led to a review of the project and therefore
forced Nemora's hand to commence an experimental approach, which proved
a success, _so to say_.

Following this incident, the outpost crumbled under the weight of the
crises that had befallen it. All subsequent requests and communications
fell on the deaf ears of the nation in the midst of a large scale
economic crisis, forced Nemora to join the caravan of "low priority"
demands along with many other pressing nation affairs. In the end, the
facility remained forgotten, burried beneath the many rubble inflicted
by the inevitable storm of change Spur has known, Interstellar War. But
this may yet change, now the same Spur has turned their gaze back to
those uncharted heights, in a desperate attempt to exhaust what is
little known.

</p>
</details> 

---

### What does "interactive" part entail exactly?

This ruin contains some coded elements (traps, objectives, consequences
of some choices made), attempting to imitate a gameplay loop what a
player would expect from an admin controlled event. While this may not
go further than some coded/scripted events, I think this ruin has some
fun content for security/engineering/medical departments.

Currently this PR contains some core functionality for actual "choices
matter™" stuff for part 2 (if this gets approved).

Also most of the functions used in this ruin was made so it could be
used in any maps.

## Images

this:
https://discord.com/channels/157516682288562176/1162868440814600232/1393057047443931197

and this:
https://discord.com/channels/157516682288562176/1162868440814600232/1395312791925166160

<img width="4736" height="6144" alt="image"
src="https://github.com/user-attachments/assets/9526d40d-4da3-44b6-9220-80cf48ff2c72"
/>

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

| Path | Original Author | License |
| --- | --- | --- |
| /environmental_storytelling_holopad | Qwertytoforty (Paradise Station)
| CC BY-SA 3.0 |
| icons/obj/structure/bluespace_portal.dmi | Paradise Station | CC BY-SA
3.0 |
| icons/obj/structure/urban/bunk_beds.dmi | TGMC | CC BY-SA 3.0 |
| hospitalcurtain in icons/obj/structure/urban/tailoring.dmi | TGMC | CC
BY-SA 3.0 |
| roadbarrierwood in icons/obj/barricades.dmi | TGMC | CC BY-SA 3.0 |
| icons/obj/flora/rocks_brown.dmi and icons/obj/flora/rocks_grey.dmi |
TGMC | CC BY-SA 3.0 |
| the_thing and the_thing_chitin in icons/mob/npc/human.dmi | TG | CC
BY-SA 3.0 |
| sound/music/quarantined_outpost.ogg | Betrayer by Karl Casey --
https://karlcasey.bandcamp.com/track/betrayer | CC BY 3.0
| sound/effects/earthquake_rumble.ogg | Digging.wav by prozaciswack --
https://freesound.org/s/82722 | CC0 1.0 |
| sound/effects/robot_talk_1.ogg & sound/effects/robot_talk_2.ogg |
Robot Talk SFX by TheEndOfACycle -- https://freesound.org/s/674306/ |
CC0 1.0 |
| sound/effects/light_heavy_on.ogg | Light - Heavy lights turned on by
TILIADESIGN -- https://freesound.org/s/486536/ | CC0 1.0 |
2025-10-19 10:21:12 +00:00
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
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
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