Commit Graph

2284 Commits

Author SHA1 Message Date
lew 11a9a2d644 Multi-Languages: a complete Saycode rewrite (#22637)
Rewrites Saycode and Langchat to add support for multiple languages in
one message, including audible emotes.

<img width="1139" height="338" alt="image"
src="https://github.com/user-attachments/assets/25e26932-7a6e-4c54-ab74-56fffb92ecad"
/>

Here's some samples to explain how to mix languages.

<img width="422" height="26" alt="image"
src="https://github.com/user-attachments/assets/e1b176cc-8625-4dc9-83c8-a053d3f310e6"
/>

`Languages ,2 can be mixed ,3 like this.`

<img width="540" height="21" alt="image"
src="https://github.com/user-attachments/assets/19156c67-4670-4d7a-84d7-26e527de2676"
/>

`!explains, ,2Emotes work too. ,0The text will get auto-quoted.`

<img width="592" height="18" alt="image"
src="https://github.com/user-attachments/assets/cfc31c5c-2383-41c8-82be-b36836339321"
/>

`,3Most languages ,0can be ,2mixed ,1arbitrarily, ,3any number of
,0times.`

<img width="636" height="20" alt="image"
src="https://github.com/user-attachments/assets/388b4f9d-192a-4374-ac31-bbd4e4e5dfe4"
/>

`,2Emotes. ,eAnd he nods. ,3They don't have to come first anymore.`

There are some exceptions. The exceptions are currently anything with
any of the flags `SIGNLANG`, `HIVEMIND`, `PRESSUREPROOF`,
`KNOWONLYHEAR`. Exceptions work the same as current languages do: they
must be the first language in the message. If so, they prevent switching
into any other language mid-message; if they're not first, they just
wont trigger.

They're exceptions currently because there's not really a clean way that
I or the people I asked for help on this one to make them look nice.
`SIGNLANG` for example doesn't scramble text, it shows it's own `
gestures a lengthy message.` text for those that don't understand. Could
we just replace every instance of sign language with that if somebody
doesn't understand? Probably. It would look pretty awful though. e.g.
`Alina Eskelinen says, "Hello." Alina Eskelinen gestures a short
message.`

This definitely needs testmerging because it more or less rewrites the
entire pipeline surrounding `say`. The `say` code itself had to be
rewritten to support the multiple languages, as well as all the existing
plumbing for listeners receiving messages. In return though, it's
significantly more straightforward and hopefully by extension easier for
people to add to in the future.

Primarily, instead of having four different `hear_say`, `hear_radio`,
`hear_sleep`, etc., routes for messages to come through, every single
audible message is received by `hear_message`, which is responsible for
figuring out how clear the message is (is the radio damaged? is it a
whisper we're eavesdropping on?), who needs to receive it in their
chatbox, formatting it correctly for each listener, and finally if any
npc or object within range needs to react to it in some way, like a
parrot or a mech.

changelog:
- rscadd: "Adds code-switching: you can now speak in multiple languages
in the same message."
- rscadd: "Adds audible emotes to the language list. They can be
triggered with ,e."
  - rscdel: "Removes SSrunechat."
- refactor: "Rewrote langchat in order to support multiple languages and
partial comprehension."
- refactor: "Rewrote a vast majority of all saycode and the code
responsible for displaying saytext to clients."
- bugfix: "Sleeping mobs are no longer able to understand all
languages."
- bugfix: "Langchat now correctly shows the appropriate comprehension
for all viewers rather than all viewers sharing the comprehension of the
last viewer."
- bugfix: "Languages which are supposed to be invisible when not
understood no longer appear as scrambled overhead text."

Forgive me whoever has to review this. Biggest areas that have room for
error is stuff like a borer inside someone's head, and Dionae stuff. Old
langchat had odd exceptions for those and I was forced to rewrite it
entirely, but I think I got it all back to how it was working before.
2026-06-11 10:47:26 +00:00
FenodyreeAv a29fff6630 Fixes boozeomat description (#22653)
changes:
  - bugfix: "Fixes the booze-o-mat's description."
2026-06-10 16:11:03 +00:00
TheStryker 2a4bd89042 Adds non-voidsuit Ceres Lance armor. (#22642)
Adds a Ceres Lance beret, armor, and new uniform in preparation for
future CL events.

Also modifies the Ceres Lance crate to contain these items and carry a
more diverse weapon mix for merc rounds and ease of spawning during
event rounds..

---------

Signed-off-by: TheStryker <thestryker289@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2026-06-09 10:55:48 +00:00
Batrachophreno 1b05577bdf TGUI Hotfixes, Oh God Am I The TGUI Guy Now Edition (#22648)
changes:
- bugfix: "Restores the Modular Computer access cable header button for
connecting to IPCs and machinery."
- bugfix: "Fixes display issues in the Robotics interface's
<collapsible> elements."
- bugfix: "Fixes in-chat feedback text provided by the Cyborg Analyzer
(organ name and status now both inline)."
  - bugfix: "Crew Manifest PDA app now filters out off-ship personnel."
- bugfix: "Fixes Autolathe TGUI appending search- and category- filtered
recipes instead of recomputing the list with those filters."
- bugfix: "Fixes runtime when ghost opens dedicated camera console UI."
- code_imp: "Update some defs referencing 'supply' department to
'operations'."
- refactor: "Standardizes all interface search bars to use the native
'SearchBar' component."
- refactor: "AtmosAlarmControl interface now correctly auto-sorts alarms
by alert status."
2026-06-08 10:45:31 +00:00
Casper3667 3cf0d1607e A bunch of smaller bugfixes (#22618)
Fixes:
- https://github.com/Aurorastation/Aurora.3/issues/22592
- https://github.com/Aurorastation/Aurora.3/issues/22369
- https://github.com/Aurorastation/Aurora.3/issues/22398
- https://github.com/Aurorastation/Aurora.3/issues/22358
- https://github.com/Aurorastation/Aurora.3/issues/22432
- https://github.com/Aurorastation/Aurora.3/issues/22591
- https://github.com/Aurorastation/Aurora.3/issues/22411
- And the sound when putting items into metal briefcases, crime scene
kits and pill bottles
- As well as the sprites for the two boonie hats for taj
2026-06-05 21:32:01 +00:00
Batrachophreno 0d92359da7 Bun, Inferno->React migration (#22529)
Re-creation of https://github.com/Aurorastation/Aurora.3/pull/21046 to
skip merge conflict hell. Brings us modern TGUI.

**ALTERNATE TITLE: TGUI HELLSCAPE PR
ABANDON ALL HOPE YE WHO ENTER HERE**

- [x] Migrate build tools (javascript -> typescript, bun for package
management).
- [x] Upgrade all TGUI dependencies and associated root files to
TG-congruent versions (axios, babel, dompurify, eslint, highlight,
marked, prettier, sass, source-map, stacktrace-parser, typescript).
- [x] InfernoJS -> React migrations
- [x] React cleanup and polish (migrate all remaining .js files to
appropriate .ts or .tsx filetype, all remaining hooks, linting, error
corrections, etc.)
- [ ] Test all remaining TGUI interfaces
2026-06-05 15:55:22 +02:00
Fyni a52729c105 The Eye Opens - Part 2.5.5 (#22572)
- Adds a modkit to the Outer Eyes antag crates, so none human baddies
can adjust their suit easily.
- Adds the Outer Eyes Enforcer outfit, to allow admins and storytellers
to create Enforcers quickly.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
2026-06-05 10:12:57 +00:00
Matt Atlas f759aebad3 Ports TG attack animations. (#22319)
https://github.com/user-attachments/assets/0af58b65-552e-48c2-ab97-56ebf0794127

To-do:

- [x] Simple mobs
- [ ] Icon angles for most icons
- [x] Attack effects for kicking/biting/etc

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-06-05 10:12:43 +00:00
FenodyreeAv cf585ef505 Ship combat rework (#22566)
Makes ship combat significantly more destructive (and a bit deadlier),
especially with non-explosive projectiles.

**Additions:**
- A shell that penetrates a solid (dense) structure will cause spalling.
This spall does 2-30 damage, depending on range and has a high embed
chance. These embedded chunks are large enough to be ripped out by hand.
(But you probably shouldn't). The pilot's suit has 30 ballistic armor,
so a prepared bridge crew can survive a lot of spall.
- Adds a gun that shoots any ship weapon that admins can spawn. Useful
for testing, or for adminbus where they don't want to have to spawn a
whole overmap ship.
- Made several structures destructible, vending machines, computer
frames, grilles (these were just bugged) and watertanks (and their
children). These structures could just block infinite shots and were
common enough to serve as effective armor for the horizon. These now
spawn shrapnel (of their material if it's set), in addition to sheets of
steel when destroyed.
- Added support for negative maim chance. This allows chosen projectiles
to be prevented from decapitating. No more accidentally gibbing the
bridge crew's heads. (Unless they get hit with something really really
big).

**Balance:**
- All non-explosive anti ship rounds got significant buffs. Typically
2-3x Anti-Material numbers.
- Armour piercing anti-ship rounds got massively increased penetration
stats. Typically 4-8 from 1-2.
- Doors now get destroyed in less hits, if they are hit by anti-material
projectiles. Hits to destroy -= Antimaterial / 2
- Francisca frag shells now shoot less fragments but deal more damage.
394 projectiles for every shot was a bit laggy, now it's only 280.

**Shields:**
Shields now take more power. 13-14 megawatts for a 10 strength shield.
Just inside the ship's generation capacity with both the INDRA and
Supermatter running.

Instead of deleting any projectile they are hit by, shields now have
different failure modes.
- Firstly, a piercing projectile has it's penetration reduced by the
shield strength. Eg A shot that would go through 10 walls, only
penetrates 4 after going through a 6 strength shield.
- Secondly, a projectile has it's damage multiplied by 1 - shield
strength / 10, then has shield strength subtracted from it's damage. Eg.
A damage 100 projectile, hitting a 5 strength shield, has it's damaged
reduced to 50, (100 * 0.5), then to 45. (50-5)
- Thirdly, an explosive projectile (that does not penetrate per the
first step) does not explode, but instead deals it's full damage to the
shield.

Hits to the shield now also damage the field itself, not just the shield
tile. As such, a very big hit on the shield can bring the whole thing
down, requiring an engineer to reset it.

Shields can now be upgraded with research components. Additionally,
shield generators can now support more than one capacitor. The
roundstart capacitor on the Horizon is only good enough to support a 6
strength shield.
The upgrades increase efficiency, strength loss over time and charge
speed.

**Overmap Targetting**
Previously, shells would spawn within 20 tiles of their target and aim
directly forwards. This was bugged for shots with burst, which would
instead all aim inwards and mostly miss. This is the reason the Grauwolf
(in addition to the explosion bug below) and Fransisca felt so useless,
only one of every shell in a burst would hit.

Shots now spawn at the map edge, based on the orientation of the
projectile and ship. Diagonals are now accounted for.
Shots are then aimed directly at the target selected on the console,
with 3 degrees of dispersion.

**Bugfixes:**
- Fixes lots of explosions that didn't pass a turf to the explosions
subsystem. This caused the explosion not to happen if the thing hit got
qdeled before the subsystem could get the turf to spawn the explosion
on.
- Embedded shrapnel no longer gets the initial projectile name, this
prevents it getting named shrapnelshrapnel.
- Fixes a bunch of projectile piercing bugs, mostly with grilles and
windows. Shots now go past window frames without hitting them.
- Fixes shields not having a click delay when attacked.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-06-03 16:52:13 +00:00
sentry[bot] 879296835e Fix: Subspace broadcast filters non-radio devices (#22539)
* Please describe the intent of your changes in a clear fashion.
Addresses an `undefined variable` error (`canhear_range`) occurring in
`/proc/get_hearers_in_radio_ranges` when an
`/obj/item/implant/explosive` was present in the list of devices.

The root cause was identified in the `TRANSMISSION_SUBSPACE` path of
`/datum/signal/subspace/vocal/broadcast()`. Previously, this path would
copy all devices registered under `RADIO_CHAT` (which included the
explosive implant) into the `radios` list. Although a subsequent loop
attempted to filter out non-receivable devices, it would skip processing
non-`/obj/item/radio` types but not remove them from the list. This
meant the explosive implant, lacking a `canhear_range` variable, was
still passed to `get_hearers_in_radio_ranges`, causing the crash when
`radio.canhear_range` was accessed.

The fix modifies the `TRANSMISSION_SUBSPACE` logic to explicitly build
the `radios` list by iterating through `SSradio.get_devices` and only
adding actual `/obj/item/radio` instances that are capable of receiving
the signal. This ensures that `get_hearers_in_radio_ranges` only
receives valid radio objects, preventing the `canhear_range` error and
preserving the `as anything` keyword in the helper proc as it will now
always receive a correctly typed list.
* Please make sure that, in the case of mapping changes, you include
images of these changes in the PR's description.
* Please make sure to mark your PR as wip or review required by making a
comment with !wip or !review required
* If you include sprites/sounds/... (assets) that you have not created
yourself specify the license and original author below.
* Ensure that you also credit them in the appropriate location /
changelog as specified in the contributor guidelines

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/example.dmi | ExamplePerson (Example Station) | CC0 |

Fixes SERVER-PROD-SR

---------

Co-authored-by: sentry[bot] <39604003+sentry[bot]@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-06-01 10:34:44 +00:00
hazelrat 5a6fd09549 The Great Nitpicking: lighting maintenance & maintenance tweaks (#22543)
This is mostly a maintenance overhaul, intended to establish a more
universal style for our maintenance. Grates as walkways are now almost
universal, more decals are used, fewer window panes are used, and there
is slightly less obvious damage. The Horizon is still quite a young
ship, it follows that its maintenance should be a little neater than on
your average SS13 map. This also replaces the old red bulbs in
maintenance with standard small light bulbs, which can be manipulated
with the new randomized area lighting. For now, they're running on
engineering lighting.

This also fills in a few dark spots on the map which became very obvious
after the recent lighting changes, and makes a few other small changes
which I've been meaning to make such as adding tiles to EVA airlocks,
full tiles under airlocks, and catwalks to substations. Remaps the
scuttling device chamber to play nice with the nuke's funny turf-related
code.

<details>
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/86fb3c3c-4bc4-43a4-8278-fb83ee198ba3"
/>
<img width="1075" height="1080" alt="image"
src="https://github.com/user-attachments/assets/23be010c-ac66-44b1-9cd9-63b3f1346bfc"
/>
<img width="1079" height="1080" alt="image"
src="https://github.com/user-attachments/assets/61da3c91-d85a-48b1-87a2-5d8a94c1e153"
/>
<img width="1077" height="1080" alt="image"
src="https://github.com/user-attachments/assets/07bac654-260d-4189-a2f4-e0dee8f77fed"
/>
<img width="1079" height="1080" alt="image"
src="https://github.com/user-attachments/assets/63edd7ed-31ff-49ba-923a-331d0c8c242f"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/653ce4ff-9369-458d-b0fc-33c30b9fc809"
/>
<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/bb37950b-a3a7-4996-b758-2f0d75f297f7"
/>
<img width="1082" height="1080" alt="image"
src="https://github.com/user-attachments/assets/b3a4b1fb-fb1b-4a2d-abd9-3a19935bd422"
/>
<img width="1074" height="1080" alt="image"
src="https://github.com/user-attachments/assets/0daf22bf-d005-40ec-a3c2-ffb6f635a4b4"
/>
</details>
2026-06-01 10:34:20 +00:00
Wowzewow (Wezzy) e3d3d00347 More Handling Sounds (#22528)
Just ports more pickup, drop and handling sounds from /tg/ to keep pace.

Attributions in their own .txt files.
2026-05-30 12:07:44 +00:00
ElorgRHG f14d47fd6b The Eye Opens - Part 2.5 - Voidsuit Species Variants (#22520)
The Outer Eyes opens its eyes for diversity hires.

Okay, originally I did not make species variants (and an obj sprite for
the helmet) in https://github.com/Aurorastation/Aurora.3/pull/22394, and
I do not have a good explanation for why beside saying I was lazy, so
here they are. Also a suit cycler for easy spawning.

From the changelog:
>  - rscadd: "Added species variants to the Outer Eyes voidsuit."
>  - rscadd: "Added an Outer Eyes suit cycler."
> - imageadd: "Added a proper object sprite to the Outer Eyes voidsuit
helmet."

<img width="1536" height="1536" alt="diversity"
src="https://github.com/user-attachments/assets/762a88dc-9e47-494d-a064-a8b5764c390c"
/>


**Silence,
Violence.**
2026-05-27 16:15:13 +00:00
FenodyreeAv 78d17e1d6c Fixes mech chargers (#22486)
Fixes mech chargers being impossible to deconstruct or upgrade.
Fixes mech charger upgrades doing nothing.

Adds a pre-filled rapid part exchanger for testing machine upgrades, or
maybe spawning as loot.

<img width="435" height="159" alt="image"
src="https://github.com/user-attachments/assets/ca534837-ef29-44ff-b9cb-c4fb107e6f99"
/>
2026-05-27 15:53:56 +00:00
FenodyreeAv 87848fbdc3 Adds skill based upgrades to modular lasers. (#22425)
**Modular laser changes**

- tl:dr Shooting mod laser at a mob counts up an improvement potential
variable, which when the gun is disassembled, gets spread across the
components.
- When the components are repaired, by someone with high skill, there is
a chance to increase a variable, such as damage, shot count, accuracy.
- Players give the biggest increase, followed by non-player humans
(protohumans & mechs fall in this catagory), then simple mobs and
finally monkeys. Non combat modlasers improve slowly when used for their
intended task (betarays slowly tick up when shooting hydroponics bays)

The philosophy for these changes is that research should continue to be
involved with the equipment they give out.
It should also be difficult (but not impossible) for research to upgrade
their weapons without support from other departments.
Xenobio slimes, protohumans, medical help to keep the protohuman alive
while you shoot it, security help to actually use the guns on real
targets (this gives the biggest increases).

The more powerful a weapon is the harder it is to upgrade, as it'll kill
it's targets quicker. The more upgraded a weapon is the more difficult
it is to upgrade further, improvement potential will get wasted on
components that have already hit their cap.

On their own, by the time the 5 monkeys research start with are dead,
it's possible for a max skill scientist to improve one gun's worth of
components by ~25%.

The weapons research can now make at roundstart (with max tech) are
significantly worse than what spawns in the armoury.
The weapons research can make with gold, silver, uranium and phoron are
equal to what spawns in the armoury.
The weapons research can make with diamonds are better than what spawns
in the armoury.

Major nerfs to heat vents, auxiliary capacitor and capacitor overcharge,
these were the problem children.
It is now impossible to make a weapon that does not take damage through
use. Safe designs will only break with heavy use, by people who don't
bring them back to research for repairs.
Powerful designs break quickly and need repeated repairs.

Adds two side grade capacitors that can be made at roundstart (with max
tech), one higher damage and fewer shots. One lower damage and more
shots.

High skill characters get much more information when examining modular
lasers and a chance to throw the gun away before it explodes.

Adds some defines to help balance these changes:
Improvement cap (the total percent a component can increase) Currently
100%.
Increase & Decrease Cap, how much an individual variable can be
increased or decreased. Currently 2x and 0.2x.
Improvement multiplier, multiplies all improvement gains. Currently 1x.

**Firing Pin fixes & changes**
Fixed ID locked firing pins and adds them to R&D.

Adds the inner research department to the firing range locked pins. This
is so xenobotanists, xenobiologists & xenoarchs can use the modular
lasers. Freeze rays for slimes, betarays for xenobotanists, laser
activation for artifacts for xenoarch.

It is still impossible for a scientist to make a weapon they can use
anywhere, but they can give them to security who can use them freely.

**Misc bug fixes**
The weapon analyzer UI now updates and only shows relevant statistics,
instead of displaying every variable even when they do nothing.
Replaces the buggy tesla zap with just electrocuting the holder.
Fixes a few broken visual messages.
Fixes the vermin modulator not killing anything, now it also works on
grems.
Fixes click delay on malfunction.
Fixes radiation damage numbers.
Fixes the temperature modulator.
Fixes the report printout showing the wrong numbers.

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-27 15:51:37 +00:00
hazelrat e9f1bb5709 Area-based Horizon lighting (#22511)
This adds unique lighting palettes to different areas of the SCCV
Horizon. It does this by tying randomized_lighting variable for light
fixtures to the department variable of the area they are in. This
solution is intended to save a lot of time and effort, both now and
later, which would otherwise be spent mapping down each colour of
lighting into every department manually.

Notable points:
- This shifts the parent colour for light bulbs from LIGHT_COLOR_HALOGEN
(#C0C0CA) to the new LIGHT_COLOR_OFFWHITE (#efe5bb), and shifts the
randomized_colors variable to the according list. This shifts them from
a slightly murky blue-tinted white to a slightly brighter yellow-tinted
white. Slightly warm lighting will now be the default for every map.
Warmer lighting communicates the age of a ship or station, the worsening
economic prospects of the setting, and it's also a bit cosier.
- Stark white lighting is retained for medical and the bridge. Research
has been given purple-tinted lighting.
- Command offices are also under blue lighting currently, to visually
differentiate them from the rest of their departments.
- To avoid too much player-facing bloat, only a box for pale purple has
been added so janitors can replace the lighting in research. Otherwise,
yellow can be used for engineering, white for public areas, and blue for
high-security areas.
- Offsites and offships shouldn't be hugely changed by the shift in
default lighting - it's a slight change in hue.

Screenshots below!
<details>
<img width="1077" height="1080" alt="image"
src="https://github.com/user-attachments/assets/1987e29f-c34c-44ea-865f-5f81c0e5c47f"
/>
<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/79279c6c-da56-4676-a0e9-7e5db43002cd"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/621589b5-ada6-4d80-9f8f-8cf13a47df39"
/>
<img width="1085" height="1080" alt="image"
src="https://github.com/user-attachments/assets/09284700-8408-4a86-86c5-7575e7c94a27"
/>
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/8246585c-f437-437a-8d32-9997fae05298"
/>
<img width="1078" height="1080" alt="image"
src="https://github.com/user-attachments/assets/a34841dd-3f49-4010-b2e0-d2e9a748e617"
/>
<img width="1084" height="1080" alt="image"
src="https://github.com/user-attachments/assets/55e89703-8ac7-4fa7-9775-19818c10c119"
/>
<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/684dea04-90c5-4877-b2bf-08a2146efb5e"
/>
<img width="1078" height="1080" alt="image"
src="https://github.com/user-attachments/assets/6ce42ac1-0f4b-49eb-8f2c-c6fb1830877e"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/bc41a4f4-8d5c-4348-b9fe-a41d7950ce37"
/>
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/48c4b733-a375-482b-9f70-e2aa6d0b3e27"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/52e0041a-602d-4f4b-9d6c-7d0a0946f90b"
/>
</details>
2026-05-27 15:37:50 +00:00
Batrachophreno 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00
Casper3667 58d1241fe7 Fixed carts to not make a noise when pushed into walls (#22506)
fixes https://github.com/Aurorastation/Aurora.3/issues/22359
2026-05-26 17:57:36 +00:00
Arrow768 14b6339d5c TGUI Migration (for everything remaining except the hardsuit) (#22404)
```
  - refactor: "Updates the Computer Fabricator to TGUI"
  - refactor: "Updates the Instruments to TGUI"
  - refactor: "Updates the Geo Scanner to TGUI"
  - refactor: "Updates the Stacking Machine to TGUI"
  - refactor: "Updates the Robotics Console to TGUI"
  - refactor: "Updates the Requests Console to TGUI"
  - refactor: "Updates the Synthesizer/Instrument main panel to TGUI"
  - refactor: "Updates the Nuclear Bomb control panel to TGUI"
  - rscadd: "Requests Console messages are now typed (Assistance Request, Supply Request, Information, Reply); the type is shown in the recipient's log, audible alert, and PDA notification."
  - rscadd: "Reconstructs the Synthesizer's Virtual Environment Editor (was broken since added — its NanoUI template never existed). The Custom environment preset that depends on it is gated behind a new musical_config.can_use_custom flag (default off, matching prior behavior)."
  - bugfix: "Fixes the Autolathe UI re-opening after every print job."
  - bugfix: "Fixes the Song Editor's currently-playing line indicator not advancing during playback."
  - bugfix: "Fixes a class of bugs where TGUI windows for the Air Alarm, Portable Turret, Mining Vendor, Mineral Processor, Tank Dispenser, Helm Console, all Chemistry machines, and Suit Cycler would force themselves back open after every action, even when the player had closed them."
  - bugfix: "Fixes the spatial sound system silently dropping every sound that used the 'None' (-1) environment id or a 23-element custom environment list. The validator was rejecting both as invalid, so synthesizer notes played with Custom or None mode produced no audible output at all."
  - admin: "Adds two requests consoles and two fax machines to the bridge on the runtime test map."

```

Claude Opus 4.7 has been used during the creation of this PR

---------

Signed-off-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-05-26 17:57:26 +00:00
Rem/Dess c2e182d9fb It's About Time: Zavod Assets Crate (#22479)
Adds a Zavodskoi Assets crate, and makes the suit available to
ninjas/operatives.
2026-05-23 20:08:03 +00:00
Kano c9f6cc623c Remaps casino.dmm (#22460)
## About PR

Changes:

- Remapped casino ship map and turned it into a station instead
- Coatracks now can hold mapped in clothings
- Removed a duplicate type of lattice (dark grate and gunmetal grate
were the same thing)
- Added beige coloured light type

It doesn't have much in it as is, but I believe this will be good
candidate when we have smarter npcs that players can fight against, one
day

## Images

Before:
<img width="2016" height="1856" alt="img-1"
src="https://github.com/user-attachments/assets/3f6b9146-67db-449e-ab35-3f2bb4b3aa26"
/>

After:

<img width="2560" height="2656" alt="img-2"
src="https://github.com/user-attachments/assets/77de31ab-43d2-4a14-b396-a142c3b755da"
/>
2026-05-18 21:46:05 +00:00
Batrachophreno 9d6b304ac7 [IDB Ignore] Centralize HUD icon file location (#22464)
Moves all HUD screen object icon files from various scattered locations
to icons/hud. No changes made to any icon_states in this PR, no
player-facing changes. Part of larger icon organization work and in
preparation for action button rework.
2026-05-18 19:19:40 +00:00
Kano e7897db99c Fixes chairs incorrectly updating their name (#22383)
## About PR

Takes the name updating proc out of update_icon() and puts it where it
warrants instead

<img width="762" height="118" alt="weh"
src="https://github.com/user-attachments/assets/feec7e19-d8e2-4a3c-82a9-baa1404fcd84"
/>
2026-05-05 01:25:25 +00:00
Fyni 0337f64993 The Eye Opens - Part 2 (#22394)
Silence,
Violence,

Adds the Outer Eye voidsuit, and gear loadouts featuring it for antags
to use. Outer Eyes enforcers favour Xanan weapons, reflected in the
loadout. While human only for now, I hope to add variants for a few
species shortly.

Also adjusts the typo which meant the exclusionists / hoplan gear in the
uplink didn't work since it was right there. Sorry for the two in one, I
knew if I left it until after this merged I would forget.

SPRITES ARE BY THE WONDERFUL @ElorgRHG!

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
2026-05-05 01:25:18 +00:00
Kano c3f65f77d4 Fixes weapon racks not displaying stored guns roundstart (#22374)
## About PR

Instead of directly poking the `overlays` list, uses overlay helper
procs to queue the icons properly. Can't really fathom why this became
an issue in the first place

I didn't observe any layer changes upon testing, it works as it should

<img width="401" height="200" alt="Screenshot_45"
src="https://github.com/user-attachments/assets/15ecbf15-4e87-4f4e-b90a-e838db453677"
/>
2026-04-29 18:07:42 +00:00
SleepyGemmy 1d03b8067b Custodial Fixes (#22371)
fixes missing stripes on the custodial airlock mapping preview and a
message when you put a mop bucket on a custodial cart.
2026-04-28 23:43:04 +00:00
SleepyGemmy 4e27da8c2a Quieter Carts (#22357)
makes carts quieter.
2026-04-28 23:42:54 +00:00
Kano c4ce0da8f4 Runtime 2.0 (#22338)
## About PR

Remaps runtime, the debugging map so it hopefully now has less ancient
layout and provides a more thorough testing space

Known issues:

- Due to a race condition in between the overmap z-level and overmap
object initialization, runtime's overmap object won't be tranferred to
overmap properly, meaning not being able to test away site docking
process with the runtime and its shuttle is still a present issue

## Images

<img width="1376" height="1792" alt="image1"
src="https://github.com/user-attachments/assets/31b069af-7cbb-4199-bc6f-925d6d6f1223"
/>
<img width="1376" height="1792" alt="image2"
src="https://github.com/user-attachments/assets/0d5dc182-036b-4cea-b66a-3dd588f53e5d"
/>
2026-04-27 02:11:39 +02:00
SleepyGemmy 009844bee6 Carts Fix (#22360)
fixes carts displaying an error message when swapping directions.
2026-04-26 19:58:15 +00:00
FabianK3 44c9644589 Airlock construction refactor & new squeeze-through mechanic (#22194)
# Summary

This PR fixes airlock assembly rotations during airlock deconstruction,
adds sprited construction steps and adds a squeeze-through mechanic.

## Changes

- Fixed door assembly not getting correct rotation when deconstruction
an airlock.
- Added squeeze-through mechanic to door assemblies.
- Added construction sprite steps to door assemblies. (These are very
basic, as the construction sprites are also rather basic. Refactoring of
these is welcome.)

## Preview squeeze through mechanic


![dreamseeker_YDwuacD5De](https://github.com/user-attachments/assets/8afae93d-87ad-453e-9dde-999592c20654)
2026-04-24 02:19:34 +00:00
Casper3667 acf5e04320 A bunch of ops mapping changes (#22277)
A bunch of overlapping wall objects, primarily cameras and lights, were
moved to avoid overlap within operations.
Tool storage was put on the civilian grid instead of the operations
grid.
Hangar techs have been given a blue toolbox in their locker. This is
because they need tools for taking care of the shuttles, such as for
refueling.
A sheet snatcher was added to ops near the mining output.
Miners and OM now spawn in the ops break room, so there is a bit more
team to the starting instead of them being separate, and to match some
of the other department starts. Machinists were not moved due to the
distance to their workshop.
The conveyor on the cargo elevator was made one shorter so it stops
overspilling loose items behind the elevator.
Mapping sprites for two random spawn objects were fixed, alongside the
sprite for the doors to the ship ammunition storage. This only affects
mapping and was not visible ingame.
2026-04-23 00:35:17 +00:00
Casper3667 76d274eca6 Gives the warden a firing pin extractor (#22282)
Based on a request someone made yesterday. It make sense to me.
2026-04-23 00:35:12 +00:00
Kano 3d5f69f548 Fixes some atom health bugs (#22312)
## About PR
- Fixes #22260
- Fixes #22304
- Fixes #22234

Additionally changes some health values for:

- Canisters, `50` -> `100`. Takes 5 crowbar hits to break instead of 3,
these shouldn't break so easily
- Railings, `30` -> `75`. 3 crowbars instead of 1
- Reinforced girders, `600` -> `300`. Still takes a lot of crowbars
before breaking, barebone girders shouldn't compete reinforced walls
2026-04-23 00:34:59 +00:00
FenodyreeAv 33b8164013 Radiation Damage Rebalance (#22238)
Adds: 
- Dosimeter, keeps track of how many rads a person has absorbed as well
as showing the dose after armour.
- Adds a message to shelter in maint to the supermatter explosion.
- Adds a flag that makes damage not apply to robotic limbs, useful for
preventing radiation burns to metal parts. Should also be added to
chemicals that deal brute damage, such as arithrazine and the the burns
from chemical exposure to chlorine, but that's another PR.
- Added radiation resistance values to makeshift armour. As it only
covers the chest, this isn't very useful, but better than nothing.

Balance:

- Re-scaled radiation damage.
- Radiation now maxes out at 1000, from the previous 100.
- Radiation damage when at maximum rads is converted directly into burn
damage.
- Radiation sources decay slowly, so all the old numbers were maxing
people's radiation values instantaneously.
- Re-scaled organ damage from radiation. Previously you would take no
organ damage till 75% rads, then lose your liver almost immediately. Now
organ damage ramps up from 500-1000, with 750-1000 being about 1/3rd the
organ damage of 75-100.
- Added debilitating, but not lethal, effects to moderate and high
radiation levels. Lots of pain events instead of straight damage.
- Reduced speed and stamina for high radiation doses.
- Hyronalin and Arithrazine both remove much more radiation.


The intent: People should now be able to work in low radiation zones,
without using the radiation suit for short periods of time.

The geiger counter is no longer an 'if this is ticking you are at max
rads' detector.

With the engineering voidsuit, 75% rads, I could stand next to a charged
supermatter ~50rads a second, for about 2 minutes before I hit lethal
radiation levels.

If people stay in a radiation zone, or are exposed to extreme radiation
100+ rads a second, radiation is much more lethal, but not by just
killing your organs. Conventional medicine will help a lot.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-04-21 12:43:25 +00:00
CatsinHD 3743c5a834 Crate Contents manifest naming (#22255)
When scanning a crate's contents with the... crate content scanner, the
name of the crate is now placed into the paper's title.
Specifically:
"[Crate name] manifest"

This makes it much easier to identify crate content manifests rather
than having to examine them.
2026-04-20 11:32:08 +00:00
VMSolidus 8df12c8e29 Even More Misc HardDels (#22299)
Just a few more misc hard dels I found from the logs today. Not counting
the event round which inexplicably had hundreds of them.
2026-04-20 11:31:39 +00:00
Batrachophreno aaea5d8a57 Assunzione & Port Volturno (#22258)
Contains assets, code, maps, etc. for Assunzione and Port Volturno. This
is something like v0.9 for live unit testing, etc. Do not merge yet.

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/structure/urban/arches.dmi |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/assunzione_neon.dmi |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/assunzione_signs.dmi (stafylia_sign) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/billboard.dmi (sign_assunzione1 & 2) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/poles.dmi (radial_floodlight) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/restaurant.dmi (menu_gyro) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/statues.dmi (aec_small) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/pottedplants_big.dmi (luce-vine-plant) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/pottedplants_small.dmi (luce-vine-plant) |
[Fyni](https://github.com/Fyniiy) | CC-BY-SA |
| icons/obj/structure/urban/billboard.dmi (sign_assunzione3) | Minzeyes
| CC-BY-SA |
| icons/obj/structure/urban/assunzione_96x110.dmi | Minzeyes | CC-BY-SA
|
| icons/turf/smooth/composite_brick.dmi |
[nauticall](https://github.com/nauticall) | CC-BY-SA |

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2026-04-19 19:50:20 +00:00
Matt Atlas d5931c5ffe Adds an universal object health system. (#21266)
https://www.youtube.com/watch?v=ZpUYjpKg9KY

As per title. The goal is to add health to most objects in the game and
thus allow them to be dynamically destructible, while also avoiding
shitcode like each structure having its own snowflake health update
proc.

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-16 23:22:08 +00:00
FabianK3 b96e4a6e5b Four new whiteboard drawings (#22218)
# Summary

This PR adds four new whiteboard drawings: SCCV Horizon, Navigation
chart, Task list and thrust diagram.

*Mini Horizon my beloved.*

## Preview

<img width="170" height="106" alt="Screenshot 2026-04-12 210202"
src="https://github.com/user-attachments/assets/d7755f4c-7aca-40e1-b776-81c53c7beba5"
/>

<img width="167" height="96" alt="Screenshot 2026-04-12 210232"
src="https://github.com/user-attachments/assets/0c790fe8-7c92-4892-bc72-1345c34770e3"
/>

<img width="170" height="99" alt="Screenshot 2026-04-12 210244"
src="https://github.com/user-attachments/assets/a196ce31-3953-4d9d-84bc-3933540f630c"
/>

<img width="160" height="95" alt="Screenshot 2026-04-12 210218"
src="https://github.com/user-attachments/assets/486cade4-a9df-43ac-bb6b-c937fba095e8"
/>

---------

Signed-off-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-15 19:46:36 +00:00
ArbiterAmbrose 90402ae86b buffs thermal vaurca execution blade and fixes operative hardsuit spawns (#22134)
Gives the thermal blade belt and back slots in order to make it more
competitive with a energy sword in portability, aswell as fixing some
hardsuits that failed to spawn properly.

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-04-08 16:30:42 +00:00
FenodyreeAv e8944e087d Modular laser fixes and nerfs (#22147)
**Fixes the bugs found on the recent nations round.**

- Fixed firedelay doing nothing on modlasers with the shotgun lens. Also
fixed the existing laser shotgun as a side effect. Fixes #22141 and
Fixes #22137
- Fixes the shotgun lens not having any dispersion.
- Fixes bluespace capacitors not teleporting you on a failure.
- Fixes phoron capacitors not hurting the user when they explode.
- Fixes messages about malfunctions not displaying to the user.
- Fixes a bunch of bugs related to repairing components
- Stops components getting qdeled but leaving their references on all
other components, breaking them if reused.

**Nerfs a few of the most problematic things.**

- Cut the damage of the blaster projectile by 20% and reduced it's AP
from 60 to 35, also drops it's incendiary value to 1.
This projectile was FAR more powerful than any other, ignored all armour
and set the user on fire without a damage penalty.
With this change, lasers are now better on unarmoured targets, the
blaster is better on 40+ armour, so Heavy and Specialist Ablative.

- Added an immediate electric shock to the user (and anyone within one
tile if the capacitor is unstable enough).
The previous low level failures all irradiated the user. This did more
damage in the long term, but didn't affect the outcome of any fights and
was easy to negate with suits.
The tesla shock is obvious to everyone nearby, causes immediate pain and
the gun to be dropped if the capacitor is overcharged.
This makes minor failures a significant factor mid fight, especially on
powerful guns.

- Makes the phoron capacitor directly damage the hand holding it when it
explodes.
This capacitor can be built with phoron and uranium, which both spawn at
roundstart, though uranium isn't accessible.
It's therefore the most common capacitor, and the second most powerful.
This increases downside a lot, in addition to the explosion being fixed,
it will break the hand that fires it when it malfunctions.
If the capacitor is unstable, such as in a 60 damage monster, it will
gib the hand that fires it on malfunction.


**Tweaks, aimed at making the guns easier to understand, repair and
test**

- Adds a locker and boxes of modlaser parts. Not mapped in, but easy to
spawn for testing.
- Adds big red warning messages, visible to everyone nearby, explaining
what happened to the gun, who was holding it and how bad the malfunction
was.
- Made the lenses repairable with glass, or reinforced glass. The
nanopaste cost of a repair was more than 50x the cost of just printing a
new lens.
2026-04-07 20:08:41 +00:00
Kano 3043bf536d Adds whiteboards and gives a new UI to barsigns and its subtypes (#22133)
## About PR

Sprites made by @KingOfThePing! 
Adds whiteboards to following areas:

- CE and RD office (portable)
- Expedition EVA storage (portable)
- Intrepid flight deck (portable)
- Xenoarcheology presentation room
- Engineering breakroom
- Kitchen (as an alternative to holo-menu)

Whiteboards are also available in cargo console in the recreation tab
As an addition whiteboards can be mapped in with preset overlays and
written contents
This PR also changes sign selection list menu for barsigns and its
subtypes with a tgui image menu

## Images

<img width="699" height="534" alt="image"
src="https://github.com/user-attachments/assets/7b3de94c-76e4-491d-802c-ae9a31501805"
/>

<details><summary>video sample</summary>
<p>


https://github.com/user-attachments/assets/24de419c-e155-4623-9d08-0ff6c0b7d228

</p>
</details> 

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/whiteboard.dmi & icons/obj/whiteboard_portable.dmi |
KingOfThePing | CC BY-SA 3.0 |
| sound/effects/whiteboard_scribble_1.ogg,
sound/effects/whiteboard_scribble_2.ogg,
sound/effects/whiteboard_scribble_3.ogg | freesound_community
(https://pixabay.com/sound-effects/film-special-effects-marker-whiteboard-squeak03-83059/)
| Pixabay Licence |
2026-04-06 19:03:01 +00:00
Batrachophreno d313f70906 Not THAT Slow - Update Movespeed Modifiers for Smooth Movement (#22127)
The /tg/-style movespeed_modifier datums were not incorporated into the
original smooth movement PR. While
https://github.com/Aurorastation/Aurora.3/pull/22043 restores that
functionality, the original values no longer feel good now that we're on
smooth movement. This PR halves ALL movespeed_modifier/slowdown datums,
with the exception of species-native, as a baseline before more
individual adjustments are made.
2026-04-04 22:25:48 +00:00
Batrachophreno 71c18374db Bugfixes - Slowdowns, Sofa spinning, Turbolift squishing, and more (#22043)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21669
Fixes https://github.com/Aurorastation/Aurora.3/issues/21951
Fixes https://github.com/Aurorastation/Aurora.3/issues/21972
Fixes https://github.com/Aurorastation/Aurora.3/issues/22077

changes:
- bugfix: "All movespeed_modifier slowdown data now applied correctly
post-smooth movement PR. IE: active magboots, duffel bags, etc. again
slow you down."
  - bugfix: "Sofas no longer able to be rotated while anchored."
- bugfix: "Attempting to use crowbars, fire axes, hammers on airlocks
while in the Hurt intent will now make you attack the airlock."
- bugfix: "Fixes graphical bug with open lid graphics for crates painted
in any engineering color variants."
- bugfix: "Individual butterfly knife parts are no longer larger than
butterfly knives themselves."
- bugfix: "Elevators that squish mobs (any type of mob/living) will now
appropriately gib instead of just quietly deleting them."
- rscadd: "Miniature fusion reactor explosions now use subsystem
radiation instead of manually applying rad damage to all mobs in range."
2026-03-30 18:44:39 +00:00
Casper3667 f09bcd6cdd Replaces security disruptors with ballistics and removes all disruptors (#21987)
Security officers and the warden each get a .45 pistol loaded with
rubbers, and a spare rubber mag in their lockers.
The investigator get a new .45 revolver loaded with rubbers, based on
the konyang revolver, and a speedloader, also with rubbers.

The armory has had .45 speedloaders added to it, but is otherwise
untouched.

Also the autolathe gets to print .45 speedloaders now for the
investigator gun.

Practice ammo has been added to the autolathe.

The Elyran ERT had their disruptors replaced with plasma pistols.
Other non-Horizon disruptors were replaced with lethal .45.
Horizon disruptors were replaced with rubber .45.
2026-03-25 21:19:47 +00:00
Yonnimer 55b2740cdb Voidtamer ship (#21162)
**WIP**
Adds a new voidtamer awayship.
<img width="871" height="1032" alt="voidtamer"
src="https://github.com/user-attachments/assets/aa1f6568-10f8-4812-8e48-2bb7b59192f8"
/>

I have not done a ship in a long, long time at this point, especially
with working power and atmos, if there's any issues or feedback on it
i'd absolutely appreciate it lol
(Image is a bit out of date)

---------

Signed-off-by: Yonnimer <31339047+Yonnimer@users.noreply.github.com>
Signed-off-by: ArbiterAmbrose <n22don2009@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
Co-authored-by: ArbiterAmbrose <n22don2009@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-03-25 16:12:04 +00:00
Cody Brittain 23789d4113 Sorts out existing projectile weapons (#22059)
This PR is intended to sort out our existing guns into something
resembling organization. In addition, ancient decrepit guns are removed,
and abstract paths are labeled as such.

In addition, all guns are now standardized to refer to their model.
Considering the huge number of weapons we have, a `pistol` is not
descriptive enough.

NOTE: At over 200 files touched, this is being split. Not everything was
sorted, but this is already a monster to sort through. The rest can
wait.
2026-03-25 15:37:50 +00:00
FabianK3 aff736cda2 Persistence code refactoring (#22044)
# Summary

This PR refactores code and structure of the current persistence
subsystem, in preparation for Persistency: Circles, Squares and
Triangles.

This should not contain any user facing changes.

~~This PR is based of branch #21925 and **needs** to be merged in order.
The files changed display will be meaningless until then.~~ *Done.*

## Changes

- Split subsystem in partial files.
- Refactored proc names, added "persistentObject" format for current
code.
- Renamed SQL table.
- Refactored logging and call hiearachy.
- Fix CI labeler adding DB label on non-SQL files.
2026-03-24 19:53:37 +01:00
Fyni 9eb93ace0b Add three more Dominian Banners (#21964)
Adds three new banners, for House Kaneko, von Sinzendorf and Seok. Yes I
am making a Seok character, how could you tell?

<img width="292" height="101" alt="image"
src="https://github.com/user-attachments/assets/2a95c5cc-b419-4625-8abe-63cc15a35277"
/>

All sprites by me.

Descriptions by Schwann / Human Lore.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2026-03-07 08:35:59 +00:00
Fyni 497bfafc84 Adds the Quik Stop sign as an option for the Commissary (#21954)
It was funny the Commissary only provided NT options for the sign
despite it always been manned by Orion or Heph employees. This adds an
Orion option: Quik Stop!

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-03-05 10:38:52 +00:00