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>
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."
This PR unhardcodes the psionic jumpstarter, allowing it to be utilized
by Skrell to upgrade their psionics to the level of an antagonist. To
make use of this new code, I've added a new Psionic Awakener, which is a
variant of the jumpstarter that sets the user to the level of a Skrell
psion. The awakener is significantly cheaper than a full jumpstarter,
and can be purchased using bluecrystals, which reflects its status as a
harmless item given that none of the Sensitive rank powers are overtly
harmful.
* Adds most of our hardsuit modules to the uplink.
Also adjusted the names of some existing entries there, and added
descriptions where they were not present.
Should be noted for balance concerns that with how hardsuit weapons work
here, these cannot be continuously fired and after a few shots take a
long cooldown to recharge.
<img width="1192" height="501" alt="image"
src="https://github.com/user-attachments/assets/29561e57-d7d7-4545-97ab-0cf8dc8de32c"
/>
Co-authored-by: Big Rat <lienesica@gmail.com>
The hazard rig tech levels were lowered, permitting the machinist to
make it without research personnel present. Materials needed are
unchanged. The ballistic protection of it was also buffed to be equal to
the security voidsuit.
The combat rig had new sprites added, allowing taj, unathi and IPC to
also use it.
Done on the request of VeteranGary.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/clothing/rig/combat.dmi | Noble Row (Aurora Station) |
CC0|
* Added empty versions of most hardsuits as regular uplink items. Most
regular combat ones costing 8 BC/TC same as NT hardsuit, with some
exceptions like breachers and vaurca hardsuits costing 10 TC.
* Added combat actuator module to the uplink.
* Added BC costs to utility modules in the uplink.
* Hardsuit thermals module cost upped to the cost of regular thermals.
Feedback thread:
https://forums.aurorastation.org/topic/22611-the-traitorous-hardsuitening/#comment-182136
Overall hopefully will make hardsuits easier to get for solo antags,
since they can usually only be bought as part of 35 TC group bundles.
These are also unequipped versions so all modules have to be bought
yourself.
Should also help provide for those factions that don't otherwise have
faction-specific armor outside of paper-thin voidsuits, like Einstein
Engines.
Vast majority of our hardsuits and the ones here are just reskins of the
regular combat hardsuit, with heavy armor stats. The ones that have
higher armor which here are the Breacher, Redsnout and Vaurca suits have
been set to 10 TC to allow buying them with solo group loadouts that are
the only source of their faction equipment. They are relatively powerful
suits, but I hope we can trust people to not abuse them, and if we cant
they can always be made pricier or removed.
<img width="1862" height="788" alt="Screenshot 2025-08-21 212603"
src="https://github.com/user-attachments/assets/711b18c1-4a14-43ed-9edc-614521739072"
/>
---------
Signed-off-by: UltraBigRat <111320234+UltraBigRat@users.noreply.github.com>
Co-authored-by: Big Rat <lienesica@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
The Solarian Interstellar Intelligence Bureau is added, including an
Agent (Undercover) and Operative (Overt) variant.
- Adds in 2 new sprites for the SIIB based off the Solarian SMG and
Pistol
- Adds in 2 new outfits for Admins to play around with during events
These are just another thing for admins to mess around with, either for
Admins or otherwise.
Any other guidance on modifications to make this more lore-accurate
would be nice, alongside anything else to add.
* Berserk injector cost changes from 4 bluecrystals to 3 telecrystals.
Bluecrystals tend to be for defensive, support, utility or roleplay
items. Red Nightshade is for the most part a combat item. So this
changes its cost to be in TC, slightly lowering it to match the higher
value currency being used, since it is in the end also still a limited
use item that damages your organs.
---------
Signed-off-by: UltraBigRat <111320234+UltraBigRat@users.noreply.github.com>
Co-authored-by: Big Rat <lienesica@gmail.com>
* "Lowers higher than usual prices of NT, Imperial army and TCAF
gearloadouts."
Some of the gear loadouts had higher than usual prices of 50 per group
and 15 per single compared to the standard 35 and 10. Some of these like
TCAF even were just straight up the same items as the single crate but
at less bang per buck.
Overall none of these kits are strong enough when compared to others, to
justify a higher price that makes it hard for mercs to budget it for
their gimmick. While the NT kit has a hardsuit, it should be noted it is
an empty one that has online slowdown unlike other combat rigs, similar
to the TCFL rigs.
Co-authored-by: Big Rat <lienesica@gmail.com>
Progress on DMDocs. PRing progress so far so there's not one mega PR
later with 1500 affected files.
I want my goddamn highlight text on what all these goddamn procs goddamn
do goddamnit. >:(
No actual code change anywhere in this PR, only comments.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This PR "Gently refactors" organs in preparation for adding in new
variant organsas requested by HumanLore. Additionally, it adds in
several organs that were requested by Human Lore, as described in:
https://docs.google.com/document/d/1SLbll969PyJ_H9J1LP8cmdso9OMozUc8MGOVZkY4HbE/mobilebasic
The new augments include: Auxiliary Heart, Platelet Factories, and
Subdermal Carpace
Additionally, all of the new Galatean Bioaugs have been added to the
antag uplink.
The bulk of this PR consists of replacing a majority of all the organ
"Magic Numbers" with variables which could feasibly be modified by any
new kind of organ object. Additionally-- although it's unused in this
PR, here's also a new optional boolean for hearts to create a "Fake
Pulse", which would be useful in the future for event character shells
to be able to fool a pulse check. Finally, the heart systems are
configured to use Signals so that arbitrarily any component can
introduce their own modifiers to the heart statistics.
This PR was requested by Human Lore:
<img width="434" height="290" alt="image"
src="https://github.com/user-attachments/assets/98236886-1c19-4621-958e-c154ae66f2ad"
/>
Sprites have been made by @NobleRow
Scope creeped PR. Fixes a breaking bug in the Atmos Alarm Control
application introduced after areas-cleanup PR, but also refactors it
into a grid-based interface that actually allows you to reliably search
alarms by name, department, and deck # (possible now with all the area
metadata we have to play with).
Also does behind-the-scenes cleanup of alarm panel code in general, a
few area def problems, and some manually defined air alarm names on the
map.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Little more tuneup of area metadata, and also replaces area.name in
several locations with dynamic area display names (for example:
announcement that something was beamed aboard a thruster will once more
indicate whether it was the port or starboard thruster).
Adds soundplayer functionality to earphones, headphones and earbuds.
They can now play music, loaded via music cartridges with preset
playlists.
Heavily based off CMSS13's Walkmans and our Audioconsoles.
Current Features:
- All earphones have a cartridge slot. Cartridges can be inserted by
clicking an earphone, and removed via an eject_music_cartridge() verb.
- Inserting a cartridge will load a playlist containing /datum/tracks,
where track names and sound files are loaded.
- Shift+Clicking or will Start/Stop a playlist, creating or deleting an
active sound_player token.
- Alt+Clicking with Pause/Unpause the current track, preserving an
active sound_player token.
- Attack_self will eject the music cartridge. Ejecting a music cartridge
also terminates the sound_player token.
- Volume controllable via verb.
Missing features i am too weak to figure out:
- There is no auto—next song, and a user must manually use next_song()
or previous_song() verbs to iterate through a playlist.
- Part and parcel with no auto-next: Tracks automatically loop due to
using the PlayLoopingSound() proc. Ideally, tracks should not loop.
- There is no accomodation for user-uploaded sound files.
- There are no UI implementations of earphone controls, which could be
more user friendly.
Music Cartridge CoderIcons:
<img width="430" height="106" alt="aaa"
src="https://github.com/user-attachments/assets/5c15d5f4-b2e1-4ece-8076-2e93a5853168"
/>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| sound/music/regional/venus/all_night.ogg | Rollergirl
(https://rollergirl.bandcamp.com/album/rollergirl) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/billy_ocean.ogg | Rollergirl
(https://rollergirl.bandcamp.com/album/rollergirl) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/artificially_sweetened.ogg | Stevia Sphere
(https://steviasphere.bandcamp.com/album/artificially-sweetened-single)
| CC BY 3.0 |
|sound/music/regional/venus/real_love.ogg | Stevia Sphere
(https://steviasphere.bandcamp.com/album/artificially-sweetened-single)
| CC BY 3.0 |
| sound/music/regional/venus/dance.ogg | ウナチャンUNACHAN
(https://unachan.bandcamp.com/track/dance) | CC BY 3.0 |
| sound/music/regional/venus/love_sensation.ogg | ウナチャンUNACHAN and
bedroomtheft (https://unachan.bandcamp.com/track/love-sensation) | CC BY
3.0 |
| sound/music/regional/venus/funky_girl.ogg | B~mO9000
(https://bmo9000.bandcamp.com/album/v-i-n-t-a-g-e) | CC BY-NC-SA 3.0 |
| sound/music/regional/venus/break_the_system.ogg |
(https://bmo9000.bandcamp.com/album/wanted-in-80s [Download Only]) | CC
CC BY-SA 3.0 |
| sound/music/regional/xanu/xanu_rock_3.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-SA 3.0 |
All sound files compressed to 20K sample rate. No
transformations/remixing
Replaces the energy sword in the belt of the Solarian Marine event
outfit with a solarian energy dagger.
The outfit was created before the solarian energy dagger was added and I
believe it otherwise would have used it as its melee weapon in place of
the energy sword, since it's supposed to be standard issue for the
Solarian military.
The Heavy Solarian Marine outfit is not changed by this and still has
the sword beacuse I think it is fitting for the heavy variant of the
outfit to have a bigger, stronger and less common melee weapon than the
regular one.
---------
Signed-off-by: Tag103 <194812614+Tag103@users.noreply.github.com>
This adds a fair bit:
- Splits the Hephaestus security and ERT/military uniform, since the
security uniform's description doesn't really match that of their
private military (and there is the possibility both may meet in a single
round)
- Adds a Hephaestus-colored captain's cap and gloves, which fits with
their current uniform
- Updates the cyclops uniforms to include rolled states.
- Added a Hephaestus physician's uniform and surgical outfit, and mapped
those into the ERT ship.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/clothing/under/uniforms/cyclops_uniforms.dmi (heph_military) |
[Paxilmaniac](https://github.com/Paxilmaniac) (tgstation) | CC-BY-SA 3.0
|
Lowers the oven looping sound volume from 100 to 15. Opted for this
instead of removing it like it was before the fix, because it is pretty
annoying imo.
Items 1.) and 2.) of [this bug
report](https://github.com/Aurorastation/Aurora.3/issues/20768), with
the blessing of Alberyk in tajara-questions on the lorecord.
Dirtberries and Sugar Trees, as well as products containing them and
recipes referencing them, are to all consistently use their TCB names
mechanically instead of a scattered mix of TCB and Siik'maas. The
descriptions of these items, in cases where it fit nicely, have been
updated to reference their Siik'maas names (in many the items already
did so).
Other species' foods may have this issue (where they have both a native
name and a TCB name used interchangeably in game mechanics like the
cooking codex etc., but I believe if identified they should also have
this basic standard enforced.
!!! Please merge AFTER #20723 for migrate version (this PR is set up to
seamlessly be merged after that PR) !!!
Adds a new option to character preferences determining whether a shell
is a hidden shell or not. Right now this is a Yes/No toggle that solely
makes records display as "Human" instead of "Shell Frame".
The previous iteration of this was icky.

I hope this is better.
My rationale for this is twofold:
Right now, you can only play a hidden shell "correctly" if you're
untagged. Firstly, this isn't explained anywhere, so people might miss
this by playing a tagged shell that's playing human. Someone might do
this because a tag can be a potent story tool, especially for specific
brands or lines of shells. Imagine tag scanning a runaway you've found
and getting presented with `HLTD-S07U24`, suddenly you get a huge amount
of storytelling there that wouldn't be present without the tag. <sub>any
similarities to persons living or dead is purely coincidental.</sub>
Secondly, it also means you can't play a shell who doesn't try and hide
it, but also has no tag, because that'll automatically show as human,
which is problematic in many ways.
Also, I moved the "species" field in records to the top with the rest of
the public info, and took it out of employement records, because
security and medical would definitely also get that info, logically
speaking.
In the future (with lore team approval) i would like to enable certain
human citizenships for shells with this preference enabled (likely just
Sol, but i mean if lore team wants we can get wacky with Dominia too),
but that's out of scope for this PR.
Adds a `possible_scenario_types` list to Odyssey Scenarios containing
allowed canonicity types for a scenario.
`odyssey/proc/setup_scenario_variables()` now sets `scenario_type` by
picking from the `possible_scenario_types`.
By default or if the `possible_scenario_types` list is unset, a scenario
defaults to Non-Canon.
This allows a scenario to have both Canon and Non-Canon as an option.
Additionally, the Ruined Propellant Depot scenario has been given the
option of both Non-Canon and Canon to pick from.
Supercedes https://github.com/Aurorastation/Aurora.3/pull/20264.
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
Nanotrasen and Nanotrasen aggressive law modules/boards renamed to
Conglomerate/Conglomerate Aggressive
Adds the Conglomerate Aggressive lawboard (this lawset already exists,
just never was given a board?). Adds a copy to AI Secure Storage
(alongisde the existing lawboards, this falls under a board the SCC
would have just in case, like the other ones there.)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
**NOTE TO SYSADMINS: See "SQL Details" section below for information on
SQL modifications.**
Moves the data containing cargo items (i.e. the ones you order from ops
and get in the cargo shuttle) from the online database to the codebase.
Everything from suppliers to categories to individual items is now
code-side and editable by developers/contributors.
Refactors cargo items to use `singletons` instead of `datums` for
`cargo_supplier`, `cargo_category`, and `cargo_item`. Multiple-instnace
things like cargo_orders, etc. still use `datums`.
Fixed a bunch of strange discrepancies in categories, suppliers, and
pricing for various cargo items. I did a little bit, but it's exhausting
to go through all of it right now.
Clicking the 'Details' button on the Cargo Order app now actually gives
you details instead of bluescreening. Also added some UI elements to the
Cargo Order app - Cargo Control and Delivery remain untouched.
Overhauled the Cargo Order console TGUI window. It now has tabs on the
left, displays restricted access, supplier information, and boasts
search functionality.
### SQL Details
<details>
<summary>SQL Details [Click to Expand]</summary>
The following SQL tables should be deleted or deprecated from the server
database, as they are no longer in use:
- `ss13_cargo_items`
- `ss13_cargo_categories`
- `ss13_cargo_suppliers`
The included migration file, `V011__codeside_cargo`, creates a new table
`ss13_cargo_item_orderlog` to the DB. This **replaces**
`ss13_cargo_orderlog_items`. Because of this,
`ss13_cargo_orderlog_items` is deprecated and should either be deleted
or locked & preserved for logging purposes.
</details>
## Screenshots





---------
Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.