Commit Graph
8980 Commits
Author SHA1 Message Date
4c18407831 Flags/banners with custom names and descriptions now keep these when hung up/deployed (#23012)
See title. Players have been able to assign a custom description to the
loadout flag/banner selection since forever, but it never persisted over
to actual 'hung up' flag object and was essentially erased if ever used.

<img width="777" height="600" alt="image"
src="https://github.com/user-attachments/assets/6b80b6f0-a120-4ba2-a46d-a680b7e5fff5"
/>

---------

Co-authored-by: Jaraci <mirandatrasen@nt.net>
2026-08-10 00:36:56 +00:00
FabianK3andGitHub 77019460cc Refactor round start volume of welding packs and fryers (#23027)
# Summary

This PR adjust welding packs and fryers. Welding packs now spawn empty
[on the Horizon] to encourage the persistent welding tanks and fryers
have their optimal oil level adjusted to balance out oil refills.

**Depends on https://github.com/Aurorastation/Aurora.3/pull/23005**.

## Changes

- Added new sprite for empty welding packs.
(Regular vs new low variant)
<img width="835" height="108" alt="image"
src="https://github.com/user-attachments/assets/a882bff1-901b-4b0e-8d1d-750ed4e1e83c"
/>

- Welding packs now spawn empty (only on the Horizon and during map
load).
- Deep fryer no longer contain 9 full tanks of cooking oil. They contain
100u now and make refills using the [persistent cooking oil
tanks](https://github.com/Aurorastation/Aurora.3/pull/23005) much more
reasonable. Added a wrench to the kitchen for tank handling.
2026-08-10 00:36:44 +00:00
hazelratandGitHub 13a202ef7d Trinarism care package (#23008)
Adds new Trinarist coif variants, a resprite for the Trinarist robes and
stave, and new Trinarist tunics.

Credit for the bulk of the spritework goes to Wezzy, I cobbled the rest
haphazardly together.

<img width="329" height="986" alt="image"
src="https://github.com/user-attachments/assets/ce3b7d6c-3a76-443f-a8a6-50b25170766e"
/>

---

<img width="286" height="932" alt="image"
src="https://github.com/user-attachments/assets/d4b1bf4d-d9c4-4835-95f0-b67e0f5a92b3"
/>

---

<img width="478" height="131" alt="image"
src="https://github.com/user-attachments/assets/f9bd0954-c024-4944-aa2b-7a3cd6233bda"
/>

---

<img width="305" height="927" alt="image"
src="https://github.com/user-attachments/assets/9f2bc04d-70fd-4766-a119-7c9e9f6d715f"
/>

---

<img width="277" height="919" alt="image"
src="https://github.com/user-attachments/assets/7a065f3d-7514-48cf-a647-15c649133d86"
/>

---

<img width="109" height="110" alt="image"
src="https://github.com/user-attachments/assets/0a5cfb66-5090-471c-b8c3-d4be8c5caab6"
/>

<img width="116" height="115" alt="image"
src="https://github.com/user-attachments/assets/8c4452d9-0a25-45d3-a763-bbdfded1d93e"
/>

<img width="115" height="108" alt="image"
src="https://github.com/user-attachments/assets/c50f8636-cde0-4290-a498-5ec6fe0bd799"
/>
2026-08-09 18:30:58 +00:00
FabianK3andGitHub 65a9f06765 Persistence Panel (#22979)
# Summary

This PR adds a new admin panel for persistence.

## Contents

- The panel features information about the current round and detailed
tracking of objects, records and generics.
- The previously introduced toggle-persistence verb has been removed and
integrated into the new panel.
- The panel can be seen by admins, mods and devs, but the
toggle-persistence is still locked to admin permissions only.

## Preview

The images are WIP and subject to change.

<img width="918" height="229" alt="image"
src="https://github.com/user-attachments/assets/16d3d73d-32e6-4907-bdff-d96699c27d49"
/>

<img width="919" height="253" alt="image"
src="https://github.com/user-attachments/assets/92e7f4d9-ccd4-4e79-949d-b8a35039da01"
/>

<img width="923" height="285" alt="image"
src="https://github.com/user-attachments/assets/e3796504-4cc6-4fce-b5f1-4df3486bfbee"
/>

<img width="923" height="270" alt="image"
src="https://github.com/user-attachments/assets/9fbb185d-181a-40ec-b89b-58eafcd47e4d"
/>
2026-08-08 20:47:55 +00:00
FabianK3andGitHub 4770cc0739 Storage tanks fill levels (#23005)
# Summary

This PR adds visual fill levels for fuel, extinguisher, water, cooking
oil and lube tanks.
The cooking oil tank now is also persistent and was added to the cargo
order manifest.

Sprites by @alsoandanswer 

## Preview

<img width="404" height="472" alt="image"
src="https://github.com/user-attachments/assets/4ff4a0dd-e790-4a63-bc1a-6e198199ee7c"
/>
2026-08-08 10:22:15 +00:00
FenodyreeAvandGitHub c68fc16afc Frag out! Grenades counter barricades (#22997)
Allows grenades to fly over barricades from the blocking side.
Barricades previously blocked 100% of thrown items.

Now the chance for a barricade to block a grenade is one third its
chance to block a bullet.


https://github.com/user-attachments/assets/6726ed40-68f0-4f35-9352-d0bd23e28d5c
2026-08-06 12:20:53 +00:00
FenodyreeAvandGitHub d47cdb8f04 Fixes many mech bugs (#22983)
Four major fixes. These are all pretty clearly bugs, but the result is a
substantial mech nerf (except EMPs against EM armor.)

First, EMP armour.
EMP armour did nothing, it was partially ported to use TG's Element flag
system, this finishes that.
Rather than make the EMP armour immune to EMP, it spends power to negate
it.
The cost is 1000 / severity. Heavy EMP is 1, Light EMP is 2. This is 5%
of a basic mech cell for light, 10% for heavy.
Also fixes the pilot getting EMP'd twice for every EMP act on the mech.

Second, open hatches let attacks hit the pilot. Chance is 80% from the
front, 20% from the sides.
The chance is mostly so that turrets that always aim torso don't shoot
mechs forever, always hitting the pilot inside.

Third, cockpit damage actually matters now. Previously shooting the mech
in the chest was nearly worthless, no important components were there
and destroying it did not destroy the mech.
Now if the cockpit is completely destroyed, attacks against it penetrate
through to hit the pilot.
These attacks still account for the mech's armour.
Combined with the hatch getting stuck closed, you can have tense rescues
of pilots bleeding out inside their suits.

Fourth, the mech running out of power actually stops it doing things.
Uranium and Phoron power cores allowed mechs to keep running forever,
even at fractional power, because they recharged slightly every tick.
Now if the mech ever cannot afford the power cost of an action it shuts
down.
It can be powered back up immediately if the power core recharges it,
but it cannot now do costly actions at single digit power.

I fixed mech combat shields.
They suck, they use the auras system which does not play nicely with the
new projectile code.
Recursive calls and spaghetti mess.
Works for now but could use a complete rewrite.

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
2026-08-06 09:40:33 +00:00
Casper3667andGitHub 2f5d7e8422 Upgrades the research console to TGUI and adds the material silo (#22987)
This updates the research console to be a TGUI and fixes several bugs
with it.
It now uses a material silo for materials, while the acid for the
circuit imprinter is still given directly to the machine.
Mech fabricators now also need to be linked to a research console.
It is also capable of connecting to multiple fabricators and distribute
tasks between them.

The sprite originates from TG station.

Unit tests were also made to ensure there is no fabricators missing
consoles and no console missing material silos.

<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/b2076036-18e5-4518-9af1-3ac3698b3924"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/e954e1e4-cf2d-4472-8386-10d8993ac375"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/df690b93-c7ff-49a3-a1b3-002f6807981b"
/>
<img width="1200" height="800" alt="image"
src="https://github.com/user-attachments/assets/ff10ef88-e1d9-4b6f-9643-309d919a601f"
/>
2026-08-06 09:34:34 +00:00
Casper3667andGitHub 0f518d6563 Nuke activation changes (#22989)
The timer on the nuke is increased to be between 10 and 15 min, so that
the Horizon has enough time to react to it. Furthermore, it can only be
deployed in a non-rad shielded area that is on the Horizon and not in
vacuum. Once it is deployed, its area will also be announced.

All of this should prevent an easy attempt to nuke the Horizon, and give
them a chance to fight back.
2026-08-06 09:32:46 +00:00
FenodyreeAvandGitHub c1ed227788 Fixes double damage to structures (#23000)
Atom health added damage handling at the base obj/structure level.

Many structures had their own damage handling code in bullet_act.
Bullet act requires that you call it's parent.

Fixes all of the double damage instances I could find, trying to keep
the behavior as close to the old as possible.

Added armour to a few things that had snowflake damage reductions.
2026-08-06 09:32:43 +00:00
d1c6d12dd3 Fixes journalist camera not showing up when worn (#23007)
See title.

---------

Co-authored-by: Jaraci <mirandatrasen@nt.net>
2026-08-06 09:32:21 +00:00
mineymonkeyandGitHub 1a30a33b7c Another circuit fix (#22977)
Reduces max phoron and steel storage potential of the IC Circuit
Printer. Particularly steel is reduced when the cloning disk is
installed and phoron is set to one bar instead of two.

Also put in some safety measures for importing being lost due to server
latency.

Oh and well the radio command receiver is built in now.
2026-08-04 10:54:29 +00:00
FenodyreeAvandGitHub 7b455cc924 Grenade from cover (#22996)
- bugfix: "Grenades can now be thrown over barricades from the
defender's side. No more accidentally grenading your team because you
were one tile from the sandbags."
  

https://github.com/user-attachments/assets/d8fbfb9e-1d94-40c6-ad25-d6f8baa8143e
2026-08-04 10:50:27 +00:00
FenodyreeAvandGitHub 24c772e86a Fixes window frames blocking bullets and thrown grenades (#22995)
- bugfix: "Fixed window frames blocking thrown grenades and bullets."
- bugfix: "Fixed grenades launched instead of being thrown getting stuck
on railings and tables."
2026-08-04 10:50:23 +00:00
c#min7andGitHub 14266ea5aa applications of phoron: telecomms, SMESs (#22966)
- Represents phoron lore in telecomms stock part descriptions
- Represents phoron lore in SMES unit sprites/descriptions
- Adds a phoron-free cryogenic alternative to phoronic SMES units
- Replaces all instances of quantum mechanics being used for FTL Comms
with Bluespace (eg. the Quantum Relay -> Bluespace Relay)

Does not map the cryo SMES in anywhere, but use-cases would be Einstein
Engines, EE-supported factions, and less affluent indie groups

some basic recolouring:
<img width="333" height="107" alt="resprite1"
src="https://github.com/user-attachments/assets/8961274a-39bc-4523-8e11-9daadc652be7"
/>
<img width="559" height="106" alt="resprite2"
src="https://github.com/user-attachments/assets/3afefe66-5487-41f1-bbd7-59ea1bb37b40"
/>
2026-08-03 01:23:20 +00:00
BatrachophrenoandGitHub 1658eda825 Stasis Cages - Bugfixes & QoL (#22982)
changes:
- qol: "Mobs in animal traps can now be transferred directly to Stasis
Cages by click-dragging rather than requiring them to be in a net."
- bugfix: "Mobs can no longer use their ranged attacks while contained
inside objects (including animal traps)."
- bugfix: "Stasis cages now apply stasis only while powered and
correctly clear it when releasing simplemobs."
- bugfix: "Fixes stasis cage transfers race condition freeing trapped
animals randomly."
  - bugfix: "Corrects stasis cage safety-wire status display."
2026-08-02 01:41:17 +00:00
mineymonkeyandGitHub 9eb7413a75 RPED Update (#22750)
RPEDS now work on most machinery via attackby() handler.

Part matching checks circuit-board requirements and the machine's
component_types which fixes the science telepad RPED compatability.

Alt-clicking an autolathe with an RPED now recycles the materials in the
autolathe.

Normal lmb activity is preserved on the autolathe.

Signed-off-by: mineymonkey <brandontanner63@outlook.com>
2026-08-02 01:24:58 +00:00
BatrachophrenoandGitHub 7172d3dbe3 NTNet Extensibility (#22908)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21944

Spiritual successor of
https://github.com/Aurorastation/Aurora.3/pull/22352
Cherrypicked changes from the C3 Crew Management branch, this PR
contains all NTNet extensibility features, including Field Relay
construction, off-site camera usage (contingent on standing up remote
hardware and being out of jamming), etc. This also fixes a handful of
outstanding telecomms and view/mobeye-related bugs adjacent to where I
was working.

changes:
- rscadd: "Adds NTNet extensibility, requires new machinery constructed
on away-site z-levels."
- rscadd: "Breaks NTNet Relay machinery into Quantum Relay ('core' obj
on Horizon) and Field Relay (deployable off-site constructions)."
- qol: "Embedded cameras (basically every video camera EXCEPT those
which are installed on walls) can now be viewed from NTNet-connected
z-level, not just connected ones."
- rscadd: "Adds several public camera monitor consoles to the Horizon
(near where public sensor grid feed consoles already exist)."
- rscadd: "Adds some spare camera console boards to Horizon technical
storage."
- qol: "Adds action button for 'cancel-camera-view' verb while viewing
cameras or looking up/down z-level."
- bugfix: "Fixes Jockey comms (frequency was missing from ANTAG_FREQS)."
- bugfix: "Fixes look-up/look-down actions intermittently failing
without first using cancel-camera-view."
2026-08-02 01:24:45 +00:00
GeevesandGitHub 958a54adaa Mining Points Carryover (#22941)
* Mining points now carry over between rounds for each character.
* Mining point carryover is capped at 15,000 points and expires after
one week of inactivity.


AI usage disclosure: The code for this was created in-part using GPT 5.6
Sol.
2026-08-02 01:24:37 +00:00
HaydenandGitHub 13beeb437a Megaphones now create floating chat and use accent/lang (#22942)
Megaphones now use your accent, language, and create floating text when
used.

<img width="2560" height="1400" alt="dreamseeker_V1ntU7aL2j"
src="https://github.com/user-attachments/assets/36828048-9e5b-4c6d-bad9-974d8880adef"
/>

Port of https://github.com/Baystation12/Baystation12/pull/35232 but only
in spirit.
2026-08-02 01:24:36 +00:00
BatrachophrenoandGitHub bbd74d4c0f Adds Erisian Flag and Banner (#22947)
Again uploaded on the behalf of The_Ill_Fated.

changes:
  - rscadd: "Adds Eris Flag and Banner to player loadout options."
  - imageadd: "New sprites for the Eris Flag and Banner."
2026-08-02 01:24:34 +00:00
ac0c3902fc Adds listener filtering for the journalist's microphone. (#22948)
The journalist's microphone by default no longer allows everyone to
speak into it. Click someone with the microphone in hand to allow the
microphone to pick up their voice. If you move more than 5 tiles away
from the microphone, you will automatically be de-registered from its
allowed listeners. People screaming will bypass the allowed listeners.

You can alt click the microphone to disable this functionality.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-08-02 01:24:31 +00:00
Casper3667andGitHub 2066ee6bc1 A bunch of circuit and other fixes (#22970)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22959
Fixes https://github.com/Aurorastation/Aurora.3/issues/22960

changes:
- bugfix: "Integrated circuits can now display screen text and other
examine related things."
- bugfix: "Fixed the direction of the wall mounted integrated circuit
when placed."
  - bugfix: "Fixed that the integrated circuit kit had the wrong tools."
- bugfix: "Fixed that the integrated circuit printer put things on the
turf instead of in hand."
- bugfix: "Fixed that removing integrated circuit components put them on
the turf, and that they were dropped if they did not fit inside the
device."
- bugfix: "Harvesting a plant multiple times by clicking it repeatedly
before it finishes is no longer possible."
  - bugfix: "The kitchen machinery can now be upgraded."
  - bugfix: "The farmbot requirement in bounties was reduced."
  - bugfix: "Fixes the inability to put custom pizzas in the pizza box."
2026-08-02 01:24:07 +00:00
FabianK3andGitHub 49376e0b42 Fix ashtray material persistence (#22974)
# Summary

This PR fixes ashtrays not retaining their material visual.
2026-08-02 01:24:03 +00:00
FenodyreeAvandGitHub e79ad3a778 Door damage fixes (#22975)
I had accidentally made doors unbreakable, except by anti_material
weapons, like the PEAC and ship weapons. This fixes that.

Two PEAC shots will still destroy any normal door.

This is mostly a bugfix, the increase to door armour only compensates
for them being mortal again. PEAC basically ignore armor with their 35AP
and 100+ damage to structures.

Regular weapons weaker than a laser rifle still cannot completely
destroy a door.

It takes an STS ~90 rounds to destroy a blast door.


https://github.com/user-attachments/assets/840514c1-b3a5-4de7-bd81-8651781502dd

changes:
- bugfix: "Doors and blast doors can be destroyed again with enough
sustained damage."
  - bugfix: "Fixes doors 'breaking' repeatedly, when hit at 0 health."
- bugfix: "Fixes doors taking damage twice when hit by projectiles. This
also fixes projectiles ignoring a door's armour."
- balance: "Increased the armor values on blast doors and vault doors."
  - rscadd: "Added a brief particle effect when a door is destroyed."
2026-08-02 01:24:01 +00:00
hazelratandGitHub c080d4b5fe Machinist workshop remap (#22898)
Remaps the machinist workshop to fulfil a few criteria missing from
https://github.com/Aurorastation/Aurora.3/pull/22718. Particularly aims
to make the workshop more functional for IPC medical gameplay.

- The surgical theatre has been expanded so two machinists can more
practically work in the same space at the same time. In the existing
design, this portion of the workshop is far too claustrophobic. It also
has a desk.
- The exosuit chargers no longer obstruct access from the garage door.
- Resolved a lot of awkward uses of decals and platforms, which should
also make for more useable space.
- Cleaned up the wiring - both rooms are now wired to the civilian
subgrid. Previously, the main workshop area was hooked via a very
awkward line to the operations subgrid, while the theatre was wired to
civilian.
- Shifted a lot of the clutter into the robotics vendor, such as the
empty first-aid kits for medbots.
- Shifted materials crates + the crate shelf to a central position, to
make them easier to track.

Things of note for maintainers:

- It's never ideal to remap something very soon after the original
implementation, but having given this remap a full month, I think it's
had a fair chance. Having played machinist in it, the layout is very
tough to work in. It's a very cluttered environment, which becomes much
harder to look at once there's a disassembled mech cluttering the centre
with a dozen or so objects. This aims to be more intuitive to play in
and less overwhelming for players.
- The surgical theatre contains one additional IV drip, one extra O-
bag, and one organ cooler for borgings, and there are now two roller
beds accessible by the front desk. I'd rather have a more unique
solution for this problem long-term, but in the short-term it very much
sucks to have to ask to borrow a roller from medical just so you can
move a damaged industrial, given you can no longer pick that industrial
up unless you're playing a huge species.
- Otherwise, the workshop has the same resources as before and will be
able to make the same things.

(screenshot taken after testing, and prior to further changes)
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/a8eef0e3-630b-463d-b3c3-22769001b513"
/>
<img width="480" height="448" alt="image"
src="https://github.com/user-attachments/assets/535dc851-7bab-48f7-a916-a5a1f12bf650"
/>
2026-07-30 14:48:50 +00:00
FenodyreeAvandGitHub 2fdf11ca75 Fixes C4, dirty bombs and nuclear waste (#22945)
changes:
  - bugfix: "Fixes C4 effects not correctly getting their parent item."
  - bugfix: "Fixes C4 not being placed correctly."
  - bugfix: "Fixes Dirty Bombs deleting their own radiation source."
- bugfix: "Fixes Dirty Bomb goop puddles disapearing long before the
radiation does."
  - bugfix: "Fixes drinking radioactive waste not irradiating you."

3 dirty bombs set off. One on a floor, one on a wall one on a machine.
<img width="1191" height="1182" alt="image"
src="https://github.com/user-attachments/assets/584e7572-441c-4937-8e0e-7203010fcd54"
/>

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
2026-07-29 17:29:31 +00:00
FabianK3andGitHub 93658c90c3 Persistent mobile liquid tanks (#22879)
# Summary

This PR makes liquid tanks (fuel, foam, water) persistent.
2026-07-29 16:38:00 +00:00
c#min7andGitHub d1f48dcd01 window repair adhesive spray (#22930)
adds window repair adhesive spray containing silicate. single use.
found in the engi-ved vending machines

for repairing cracked/damage windows without having to fully deconstuct
and reconstruct them.
can also strengthen windows
2026-07-29 16:33:52 +00:00
c#min7andGitHub bb52dfdb80 getmore chocolate (and others) (#22932)
replaces some old irl chocolates with lore chocolates (mostly GetMore)

- GetMore Chocolate, replacing Hersheys/Hearsay
- GetMore Nuts, replacing the Crispy Crunch(?)/Crunchy Crisp
- GetMore Bubbles, replacing the Aero/Spacewind
- GetMore Kelp, new
- Readies, new

- basic recolour/redesc of the tau ceti bar
- basic recolour/redesc of 100k credits bar into Idris' colours

<img width="880" height="104" alt="Capture"
src="https://github.com/user-attachments/assets/7a3bb3b5-bd9f-4a92-84fb-0951f8228e95"
/>


also removes non-vegan chocolates from the vegan MRE
2026-07-29 16:33:38 +00:00
BatrachophrenoandGitHub 0a738fd73a Various Issues Tracker Bugfixes (#22954)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22674
Fixes https://github.com/Aurorastation/Aurora.3/issues/22682
Fixes https://github.com/Aurorastation/Aurora.3/issues/22766
Fixes https://github.com/Aurorastation/Aurora.3/issues/22767

  - bugfix: "Fixes Mechatronic Fabricator's emissive overlay."
  - bugfix: "Fixes Hivenet Manifest hive color assignments."
  - bugfix: "Fixes Crew Manifest color defines."
- bugfix: "Inbuilt /silicon modular computers no longer broken by EMPs."
  - bugfix: "Fixes energy gun desc_extended inheritances."
2026-07-29 16:25:31 +00:00
mineymonkeyandGitHub 6c6f596d89 Integrated Circuit Overhaul 2.0 (#22647)
Complete overhaul of Integrated Circuits Final Edition!

- Adds phoron cost to circuits (not assemblies).
- Printer searching capability.
- Changed names of assemblies to better match their description.
- Adds cloning and auto appending JSON for large builds.
- Adds database, debug, advanced math circuits.
- Reworks the list circuits to finally accept anything other than NUM.
- Adds plenty of list circuits to allow functional building and clearing
of lists.
- Reworks Complexity/Space to allow a bit better flexibility in creation
of devices.
- Adds a "Headroom" concept where space/complexity can go beyond the
maximum to a very slight degree. Concretely, unused space gives `2`
extra complexity per unused component slot, capped at `15%` of
`max_complexity`. Unused complexity gives `1` extra component slot per
`6` unused complexity, capped at `15%` of `max_components`.
- Groups math and logic circuits and adds subgroups.
- Doesn't mess with the circuit tool kit.
- Adds a xenoarch drill assembly with a nice sprite. Thank you
@EnchantedCrocolisk for the sprite!
- Changes activation limit time to 1 second from 2 seconds, adds a 1
second timer that is unique to the INTEGRATED CIRCUIT PRINTER with the
advanced design disk.
- Ports several Baystation integrated-circuit manipulation components,
primarily from
Baystation12/Baystation12https://github.com/Baystation12/Baystation12/pull/22458,
with anchoring bolts and hatch lock sourced from
Baystation12/Baystation12https://github.com/Baystation12/Baystation12/pull/25052.
- Changes the electronic ear piece into a workable radio headset with
working encryption keys capability and unique ways the Microphone and
TTS interacts with it.
- Removed the ability for all the electronic wearables to spawn with a
basic cell.
- Combines https://github.com/Aurorastation/Aurora.3/pull/22466,
https://github.com/Aurorastation/Aurora.3/pull/22456,
https://github.com/Aurorastation/Aurora.3/pull/22455,
https://github.com/Aurorastation/Aurora.3/pull/22446 that are now
closed.
2026-07-26 19:52:31 +00:00
BatrachophrenoandGitHub c92d909534 Wires Panel and Signaler Expansion (#22846)
Fleshes out wire panel skill behavior and signaler management.

Electrical Engineering 4 was very OP for revealing all wire labels of
all machines, and it was super fun while it lasted.

Wire panels now have associated skills with their use, and increased
skill ranks will increase the proportion of wires (chosen at random)
that are easily recognizable on sight for certain types of wiring
panels.
**Professional:** 75% revealed
**Trained:** 50% revealed
**Familiar:** 30% revealed
_(note: having both Electrical and Mechanical engineering at least
Trained gives you that baseline 30%, reflecting how your knowledge can
probably translate to decent guesswork.)_

The following wire panels are affected:
**Electrical Engineering:**
- APCs
- Cameras
- IFF Beacons
- Radios
- Smartfridges
- SMES Units

**Mechanical Engineering**
- Airlocks
- Disposal Units
- Fabricators
- Vending Machines

**Atmospherics Systems**
- Air Alarms

**Reactor Systems**
- Particle Accelerator Control Boxes (lol)

**Robotics**
- Hardsuits
- Suit Storage Units (sharing the love is all)
- Robots
- Tag Scanners

**Xenobiology**
- Stasis Cages

Also, I made it possible to blow out all the lights in an APC's area by
snipping the power regulator cable and then pulsing the lights wire.
Great for signalers.

Speaking of signalers, new app deployed to all Engineering, Research,
and Robotics personal modular computers:
<img width="816" height="722" alt="Screenshot 2026-07-14 144049"
src="https://github.com/user-attachments/assets/3d588712-ebfd-47ac-b699-7cdac2c04907"
/>

Self-explanatory. Please only use corporate-provided software for
behavior within your contract regulations.
2026-07-26 18:05:15 +00:00
antandGitHub 091d6d84c2 XO office remap (#22909)
a pretty comprehensive remap of the XO's office, splitting it into two
separate rooms
2026-07-26 18:03:40 +00:00
0092c15aa2 Operating Table and Antifuel Grenade Bugfixes (#22915)
changes:
- bugfix: "Operating table less likely to get non-real occupant bug when
installed on a shuttle."
- bugfix: "Antifuel grenades now reliably neutralize spilled welding
fuel and napalm gel."
- bugfix: "Generic cleaning products/tools no longer remove spilled
welding fuel or napalm gel- requires antifuel reagent."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-07-26 18:03:15 +00:00
BatrachophrenoandGitHub c8fe437d94 Large Cage Bugfixes (#22895)
Fixes large cages destroying the universe.

changes:
- bugfix: "Fixed captured creatures in large animal traps/cages
potentially causing runtimes when the cage was placed on tables or
racks."
- bugfix: "Fixed dragging large animal traps/cages onto tables or racks
being treated as the mover trying to step through the trap."
2026-07-25 13:00:13 +00:00
VMSolidusandGitHub 8d72aad499 Nerf Stasis Bags (#22903)
Yea, they're way too good at keeping people alive.
2026-07-25 13:00:05 +00:00
VMSolidusandGitHub ff393fa51c Small Weapon Sounds Fix (#22912)
This logic error turns into a runtime error when compiled in OpenDream,
in addition to just not working at all.
2026-07-25 12:59:59 +00:00
5682f3c651 Per-source movement sounds. (#22800)
Movement sounds for mobs are now handled by a single component. Movement
sounds are fed into it through signals, which contain both a movement
source (like an item for a mob, causing the sound) and a list of sounds
to pick from.

To-do:

- [x] Figure out how to do barefoot species sounds
- [x] Maybe movement sounds for simple mobs
- [x] More movement sounds for other items

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-07-23 18:29:50 +00:00
runecapandGitHub 901ad7f0cb Fixes IPC Endoskeleton Repair Message (#22882)
Fixed this
<img width="566" height="48" alt="image"
src="https://github.com/user-attachments/assets/7109a7e6-b46d-412b-b597-0c2c038017b6"
/>

It now says endoskeleton instead of the datum path. Also fixed the
spacing of the name in that bottom message.
2026-07-23 16:25:39 +00:00
df79c1a564 Fixes airbubbles (#22905)
changes:
- bugfix: "Fixes airbubble pressure setting. It's now high enough that
you don't die from using one."
- bugfix: "Fixes airbubble blinding you forever when you get out of it."
- bugfix: "Fixes airbubble sprite not updating when it is opened from
inside."

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-07-23 16:25:37 +00:00
BatrachophrenoandGitHub c3029f8c4c Flags Update (The_Ill_Fated, Hazelmouse) (#22876)
**The_Ill_Fated:** new flags/banners for heap of Solarian stuff
**Hazelmouse:** new flag/banner for Axiom

Stupid Solarian Canton officially gone, sickass stripe now. All worlds
affected (either updated or added):
Callisto
Ecclesiastical Axiom
Enceladus
Europa
Ganymede
Lhokgon
Luna
Lycoris
Lycoris (Provisional)
New Hai Phong
New Peoria
Northern Reconstruction Mandate
Novo Igman
Old Mars
Pluto
Provisional Mars
San Colette
Sankt Frederick
Silversun
Solarian Biesel
Early Solarian Biesel (Tau Cetian)
Solarian Mictlan
Solarian New Gibson
Solarian Xanu
Solarian Konyang
Southern Reconstruction Mandate
Sālamasian Republic
Unity Station
Venus
Visegrad

See icondiffbot for images.
2026-07-23 15:19:55 +00:00
802d3fe01f Persistency subsystem update - Generics and history records (#22114)
# Summary

This PR is the next update to the persistency subsystem. The goal of
this PR is to provide more framework like functions to allow more types
of content to be made persistent.

Currently only volatile game objects created during a round can be (*in
a [clean](https://www.youtube.com/watch?v=rZ3ETK7-ZM8) way*) saved and
made persistent. This update attempts to provide methods to make
*everything*¹ persistent.

This introduces persistent generics and history.

## Database

The following things are going to be changed and added in the database  
(open in new tab for better visibility, PNG file includes the drawIO
code):

<img width="1692" height="1041" alt="aurora_persistency_db drawio"
src="https://github.com/user-attachments/assets/ea53f419-f9aa-4592-af8f-3a8d5edf3177"
/>

**Deviations on database implementation from diagram:**  
- Removed unique constraint on history table - Prevented adding multiple
records per round per attribute.

## Framework surface changes

- MC/VV: Moved global object track register to subsystem var space.
- MC/VV: Point of interest: Added history_cache and generic_cache to
subsystem var space.
- MC/VV: Updated subsystem stat entry message, now providing information
on cache sizes of new types.
- Added `singleton/persistent_type` defines (Type, clean-up rules,
finalization hook) and macros allowing new definitions of said types.
- Added cache structures that are also used for returns on public procs
in generics and history persistent types.
- Major new framework features: Persistent history (example: Mining
yield records) and persistent generics (example: Persistent Horizon
overmap position). See documentation for more information.

DrawIO diagram for documentation, includes source in it (open in new
tab):

<img width="200" height="200" alt="Persistence-subsystem-flowchart
drawio"
src="https://github.com/user-attachments/assets/51f28331-f999-49a2-a7cc-58278f7ae416"
/>

## Tasks

(These lists are not comprehensive.)

**General**
- [x] Update DB - Write SQL scripts.
- [x] Add subsystem modular files for generics and history.
- [x] Add type definition logic, macros.
- [x] Add type-DB init logic.
- [x] Logging.
- [x] A lot of testing. *A lot.*
- [x] Changelog.
- [x] Self-Review.
- [x] Update documentation on the persistence subsystem.

**"Persistent history"**
- [x] Add init logic.
- [x] Add finalize logic.
- [x] Add framework surface procs.
  - [x] Get last record.
  - [x] Get last X records.
  - [x] Add record.
  - [x] Add character ID related validation.
- [x] Add initial example mechanic.

**"Persistent generics"**
- [x] Add init logic.
- [x] Add finalize logic.
- [x] Add framework surface procs.
  - [x] Save.
  - [x] Load.
- [x] Add initial example mechanic.

## Changes

Too many changes to be listed here - Check changelog and actual changes.

## Warning

There are certain use/test cases that *cannot* be tested locally due to
missing preexisting data in the database. This should only affect new
data structures (new persistent types), not existing data.

¹ _Large scale persistent mapping is excluded for this version._

---------

Co-authored-by: Copilot <copilot@github.com>
2026-07-19 20:56:17 +02:00
Wowzewow (Wezzy)andGitHub 4eccb61c31 Bedsheet fixes (#22872)
- bugfix: "Fixes bedsheets turning invisible."
  - bugfix: "Fixes being upside down when being rested by a bedsheet."
2026-07-19 10:48:04 +00:00
Casper3667andGitHub a0c5ab0a09 Permit impact drills to work in IPC surgery and some minor tool fixes (#22840)
This permits the impact drills to work for surgeries where a screwdriver
would work. For the regular uses that would be opening the hatches on
prosthetic limbs and prosthetic organ repairs. This was done as
machinists, who primarily do those surgeries, usually print an impact
drill for themself anyway so it was an annoyance to have a screwdriver
just for that one thing in their entire workshop.

While at it, I also changed a few hardcoded tool checks elsewhere to not
be as hardcoded.
2026-07-17 20:50:07 +00:00
281725767a Witch Blood of Caria (Again) (#22865)
- Adds the Caria origin, by request of human lore. Carians are vulnrable
to light, but have low light vision.
- Adds the Caria accent.
- Adds Carian flags, available in the loadout.
- Adds the Carian tribunal necklace, available in the loadout.
- All description are by Schwann.
- All sprites are by me.

---------

Signed-off-by: Fyni <itsfyni@gmail.com>
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
2026-07-17 18:49:03 +00:00
Casper3667andGitHub fabbb38836 Makes it possible to upgrade cell chargers and craft them (#22842)
With this, cell chargers can be constructed and upgraded. They are about
double the power of a regular recharger with an equal tier of
capacitors, as that is roughly the difference they were at tier 1.
I take no responsibility for people forgetting to upgrade their power
supply to handle the extra drain. Go fetch a better cell in the APC for
that, as it worked fine in local testing when done so.

A regular recharger was added to the machinist's workshop, as they had
no way to recharge device batteries before.
2026-07-17 18:48:59 +00:00
Casper3667andGitHub 9194363697 Warehouse spawn content changes (#22843)
This changes up some of the possible warehouse spawn content. More book
options, couple of shield gens, slightly higher chance of some mats and
some other changes.

The big notable one is the chance of a big mob in the warehouse was
changed from 3% per round to 9% and the list for small and large mobs
was expanded. Particularly psirens were added, with a need to reduce the
spawn rate after the arc.

The warehouse spawn total was also reduced from 180 to 120, partly as a
test and to make the warehouse slightly less overloaded.
2026-07-17 18:48:57 +00:00
FenodyreeAvandGitHub affab40530 Hardsuit bugfixes (#22848)
The closest thing to a balance change is the hardsuit boots being
deployable without the chestpiece again.

The SFX can be moved with the recent update to armour sounds if someone
wants, but the slowdown is a heavy enough penalty to discourage it.

- bugfix: "Fixed the Retract All Hardsuit Parts verb, by making hardsuit
boots retractable with the chestpiece deployed, at a heavy slowdown"
- bugfix: "Fixed the stealth system module not decloaking when the user
fires a gun or hits a mob."
- bugfix: "Fixed being able to instantly remove your hardsuit if it had
a storage module in it."
- bugfix: "Fixed mounted energy guns being stuck in taser mode. Also
extends support to other guns with multiple firemods."
  - bugfix: "Fixed most hardsuit modules not having an on-mob sprite."
- bugfix: "Fixed synthetic chargers not charging the hardsuit, if the
wearer was an IPC."
- bugfix: "Fixed the hardsuit UI not updating when toggling jetpack
stabalizers."
- bugfix: "Fixed the advanced hacking tool searching the wearer's entire
contents to see if it had been dropped every tick."
2026-07-17 11:32:03 +00:00
Wowzewow (Wezzy)andGitHub 53a02f5776 Fixes crowbar name (#22845)
This was stupid.

- bugfix: "Crowbars are just called crowbars now. The old name 'pocket
crowbar' has been removed. Because they can't fit in pockets."
2026-07-17 11:32:00 +00:00