397 Commits

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

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

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


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

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

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

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
2026-02-17 17:51:22 +00:00
VMSolidus 08ec3e124d Ship Movement Guarding Fix (#21836)
It's not supposed to be possible to get into the decellerate() proc when
your ship isn't moving, since the button to get there locks. Somehow
this happens anyways, so here's a guard clause in case that softer check
didn't work, in order to make a division by 0 not possible.
2026-02-09 15:01:22 +00:00
Cody Brittain 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.

---------

Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-01 05:14:26 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Batrachophreno 7d058fc613 Jukebox TGUI update, Earphones autoplay, sound keys refactor (#21630)
V2 of [previous music playing
PR](https://github.com/Aurorastation/Aurora.3/pull/21466). TLDR no
longer uses the connect_range component for implementation because it
turned out a bit too inflexible for overlapping music players.

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

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

---------

Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-01-22 16:54:40 +00:00
mynameasjeff 1cb25b71d6 Sol frigate fixes + Spawnweight adjustments (#21704)
Fixes several bugs and errors on the Sol Frigate after playing on it for
a round. This PR also increases the odds of the Frigate spawning in the
Valley Hale and Badlands from .75 to 1. Since the Frigate already has to
compete with 17 other offships for a chance to spawn in these two
sectors. The spawn weight remains the same in the Western Crescent
Expanse.
2026-01-18 13:42:25 +00:00
mynameasjeff ecd33388dd Small gun go blam blam blam: The Light Coilgun revive + SSRM Corvette Tweaks (#21699)
This PR aims to revive the Solarian Light coilgun from #20094 and
replaces the SSRM Corvette's Grauwolf with said Coilgun. Credit goes to
TheDanseMacabre for the sprites and code.
2026-01-14 19:29:45 +00:00
Kano 22e1d93b39 Adds a new Odyssey map: Decrepit Shipyard (#21500)
## About PR

Adds an industrial themed away site for Odyssey scenarios. The map
starts with a shuttle, broken by a randomized destruction feature.
Actors or the crew may choose to repair it to make it fly once more

### Detailed Changelog
<details><summary>Details</summary>
<p>

- Added a new map_effect, randomized destruction. It comes with two
varieties and different impact ranges. The way it work is the effect
chooses a random amount of turfs in the area it's placed on, and calls
`ex_act` on applicable contents in the turf.
- Added unused sprites for low railing and documented relevant functions
in the existing code.
- Made it so when a railing has an open end that doesn't connect to
anywhere, it'll apply an end cap, making it look more smooth.
- Added ceiling lattices.
- Adjusted unit tests to avoid conflicts that may occur with ceiling
lattices.
- Fixed a bug where the Odyssey subsystem repeatedly added lastly loaded
z-level to the scenario z-levels, instead of all relevant levels to the
site. This was causing issues in Odyssey maps with shuttles.
- Fixed hydrogen tank not using its sprite. Also recoloured the tank to
match modern hydrogen canister colour.
- Fixed `/obj/machinery/door/airlock/maintenance` not using its intended
appearance.

</p>
</details> 

## Images

<img width="4128" height="2528" alt="StrongDMM-2025-11-10 21 33 47"
src="https://github.com/user-attachments/assets/09d8b671-457c-4ec5-88ac-e503641a0531"
/>
<img width="3424" height="2016" alt="StrongDMM-2025-11-10 21 34 27"
src="https://github.com/user-attachments/assets/943b8529-7f2a-41db-a7be-e57d5d30ead7"
/>
<img width="1312" height="800" alt="StrongDMM-2025-11-10 21 34 52"
src="https://github.com/user-attachments/assets/f665800a-367b-466e-a16e-a6f0b122e3bd"
/>
<img width="997" height="999" alt="Screenshot_54"
src="https://github.com/user-attachments/assets/c06667c6-0dfc-4dc4-af67-821f36ad2933"
/>
<img width="997" height="1001" alt="Screenshot_55"
src="https://github.com/user-attachments/assets/848a2847-9eb0-450a-87e9-08c371aaf78a"
/>
<img width="998" height="992" alt="Screenshot_61"
src="https://github.com/user-attachments/assets/e6174cb5-d4d6-4afc-82ab-bbf412eda607"
/>
<img width="998" height="990" alt="Screenshot_63"
src="https://github.com/user-attachments/assets/cc838bdc-9e22-4aed-ad16-0f8722442b8a"
/>
2025-12-24 13:17:24 +00:00
Cody Brittain 96a2951608 Improve, cleanup, and expand wound code (#20757)
This PR includes several changes to bring our wound code up to date with
baystation, nebula, and modern standards. Highlights include:
- The usage of integers between 0 and 100 for ratios (expressed as a
percentage), instead of 0.0 to 1.0. Small decimal values are prone to
floating point precision errors, but by moving to a percentage instead,
we can reduce the impact of this.
- The untangling of damage flags and injury flags, which were used
interchangably in the code. This could have caused issues should we
expand any of these.
- Larger embedded objects now halt bleeding in wounds, until they are
pulled out. In exchange however, embedded objects will halt healing in
wounds (it is difficult to close an open wound that currently has a rod
stuck in it)
- A lot of data, such as implanted objects and organs, are now stored in
amputated limbs.
2025-12-19 20:22:29 +00:00
mynameasjeff 91226d4e27 Big gun go boom: The Coilgun rework + Sol Frigate tweaks (#21604)
![halo-mac](https://github.com/user-attachments/assets/b3a508e2-0627-4758-bcd2-483f9ed6abea)
Reworks the long-neglected Solarian Coilgun into a practical weapon
that's able to be used by offships, not just for events. Test firing
images below.

This PR also replaces the Sol Frigate's Longbow with the brand new
Coilgun, plus several other fixes to issues that were found during
playtesting.

### TEST FIRINGS
<img width="901" height="1023" alt="Screenshot 2025-11-16 201802"
src="https://github.com/user-attachments/assets/a9e2ef93-9cfb-4602-a258-09046c2914a5"
/>
<img width="1077" height="787" alt="Screenshot 2025-11-16 201749"
src="https://github.com/user-attachments/assets/6f588756-dd5d-47b1-b768-a43d28a438db"
/>
_Two coilgun rounds fired at the Aft of the Horizon, deck three._ 


<img width="1008" height="1012" alt="Screenshot 2025-11-16 053206"
src="https://github.com/user-attachments/assets/df44580b-7d73-4424-951e-7fd5bdcfe71b"
/>
<img width="957" height="990" alt="Screenshot 2025-11-16 053214"
src="https://github.com/user-attachments/assets/b9aa6ac9-bf36-4e7d-a94c-a7b1198c3a62"
/>
_For comparison, a full 5-round Salvo of AP-HE flak fired from the Sol
Frigate's Grauwolf at the Horizon's longbow. Note how some targets
missed the mark entirely and hit the HR and the Captain's office._
2025-12-07 01:55:21 +00:00
Kano 09d3441955 Fixes exoplanet turfs missing their light (#21632)
## About PR
Carries light handling from `New()` to `Initialize()`. Also makes
exoplanet theme generation handle lighting in itself, since it still
didn't properly initialize the light. Gas/temperature property handling
was left out because handling them in `Initialize()` was causing ZAS
active edge issues for exoplanet ruins

I am not entirely sure where the problem occurs, everything runs as it
supposed to in proc call chain. My guess is `New()` is too early for
setting up lights. Upon testing I didn't notice any changes in gas and
temperature assignments in exoplanets, Odyssey and away site maps

## To-Do

- [x] Look into `exoplanet_themes` and turfs affected by it, then find
out why it got hands. Regular exoplanet turfs works fine, it's just this
feature becoming an exception
2025-12-02 10:53:45 +00:00
VMSolidus ee30451d9a Fix Ship Acceleration (Without Byond 516) (#21625)
This PR fixes some math errors in Overmap Ship math that were causing
ships to have entirely wrong acceleration when moving in any diagonal
direction. It was off by about 30% in the diagonal directions. This is
also an alternate PR to #21620 which doesn't require changing the repo
to Byond 516

I hate this so much more than the other PR, I really badly need Vectors
for doing what I do, and to do stuff like this PR so much better.
2025-11-30 11:18:35 +00:00
Batrachophreno 6be5f8e5f1 Reverts Overmap Hazard Movement for Dust Clouds, Asteroid Fields, and Ion Clouds (#21608)
As title. Those movables proved not to be super fun in-round largely due
to lack of balancing mechanics and counterplay from players. Reverting
for now! Original reduction in hazard density from
https://github.com/Aurorastation/Aurora.3/pull/21571 unchanged.
2025-11-18 01:56:07 +00:00
Kano 00b54843f2 Fixes asteroid exoplanet turf lighting (#21599)
Replaces pixel_x/pixel_y adjustment for asteroid turfs with transform
method. This is the same method /tg/ uses for their turfs equalivent to
our asteroid turfs

Fixes #21587

## Images

<details><summary>Before:</summary>
<p>

<img width="997" height="981" alt="Screenshot_2"
src="https://github.com/user-attachments/assets/60e8c95e-574c-4aca-b7b6-cc2e94812823"
/>

</p>
</details> 

<details><summary>After:</summary>
<p>

<img width="998" height="984" alt="Screenshot_1"
src="https://github.com/user-attachments/assets/e49aa7d4-27e0-4c56-84d9-6002a768f621"
/>

</p>
</details>
2025-11-15 23:14:48 +01:00
Batrachophreno 3c2bd9bb45 Overmap hazard rebalance (#21571)
# Summary

This PR rebalances the spawn count and radius of overmap hazard
clusters, as well as adjusts some of their overmap movement behavior.

## Justification

Mining trips to exoplanets distant to the Horizon can force miners to
spend large portions of a given round just trying to navigate around
overmap hazards; in the worst cases, the sheer number of dead ends and
blind spots can result in their effective removal from the first 60-90
minutes of a round, and the worst delays can obviate the need for their
materials in the first place. While reducing these hazards would also
benefit the Horizon and offships, the primary motivation was to reduce
mining's "dead time" in any given round.

## Details

Most overmap hazard types have had their 'count' (the number of clusters
spawned) and radius reduced, to open up more navigable space on the
overmap. This has been compensated for by modifying movement
probabilities, speeds, and behaviors of overmap hazards.

The intervals between overmap hazards moving (their effective speeds)
has been made variable; different clusters of movable hazards will no
longer always proc movement at the same time.

Carp continue to have a random chance to move in a random direction
every interval. Space dust and meteors now also have a chance to spawn
in as movable hazards, but they will only ever move in one direction.
While more dangerous to passing shuttles and ships than carp, they are
also much more predictable.

The current numbers were based on observation of several randomly
generated maps during testing, but will likely need adjustment as it
faces actual miners and we accumulate their feedback. I erred on the
side of 'less difficult' to avoid overtuned rocks from smashing crew to
pieces every round.
2025-11-13 18:42:06 +00:00
Matt Atlas 94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

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

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

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


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

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
Kano ae68667372 Ports large object transparency from TGMC (#21508)
Ports https://github.com/tgstation/TerraGov-Marine-Corps/pull/3528
Credit goes to original coders. This PR makes large objects transparent
when something important is behind it.

For now the list of large objects and the things make them transparent
by using this component as follows:

Large objects:

- Trees
- Cranes
- Old shipping containers (new ones doesn't allow anything to go behind
it)

The things make them transparent:
- Mobs
- Carts
- Portable generators
- Nuke

## Images


https://github.com/user-attachments/assets/a4f8ddfc-0fde-4b2d-8bd8-d15e1c6e8e0b

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

| Path | Original Author | License |
| --- | --- | --- |
| code/datums/components/large_object_transparency.dm | nemvar (TGMC) |
AGPLv3 |
2025-10-30 16:57:04 +00:00
Kano aec06bc427 Adds an interactive away site: Outpost Nemora PART I (#20993)
## About PR

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


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

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

</p>
</details> 

---

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

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

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

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

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

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

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

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

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

</p>
</details> 

---

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

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

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

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

## Images

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

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

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

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

| Path | Original Author | License |
| --- | --- | --- |
| /environmental_storytelling_holopad | Qwertytoforty (Paradise Station)
| CC BY-SA 3.0 |
| icons/obj/structure/bluespace_portal.dmi | Paradise Station | CC BY-SA
3.0 |
| icons/obj/structure/urban/bunk_beds.dmi | TGMC | CC BY-SA 3.0 |
| hospitalcurtain in icons/obj/structure/urban/tailoring.dmi | TGMC | CC
BY-SA 3.0 |
| roadbarrierwood in icons/obj/barricades.dmi | TGMC | CC BY-SA 3.0 |
| icons/obj/flora/rocks_brown.dmi and icons/obj/flora/rocks_grey.dmi |
TGMC | CC BY-SA 3.0 |
| the_thing and the_thing_chitin in icons/mob/npc/human.dmi | TG | CC
BY-SA 3.0 |
| sound/music/quarantined_outpost.ogg | Betrayer by Karl Casey --
https://karlcasey.bandcamp.com/track/betrayer | CC BY 3.0
| sound/effects/earthquake_rumble.ogg | Digging.wav by prozaciswack --
https://freesound.org/s/82722 | CC0 1.0 |
| sound/effects/robot_talk_1.ogg & sound/effects/robot_talk_2.ogg |
Robot Talk SFX by TheEndOfACycle -- https://freesound.org/s/674306/ |
CC0 1.0 |
| sound/effects/light_heavy_on.ogg | Light - Heavy lights turned on by
TILIADESIGN -- https://freesound.org/s/486536/ | CC0 1.0 |
2025-10-19 10:21:12 +00:00
Matt Atlas cca0dfe7b6 Ports /tg/ and CM planemasters to replace our renderers. (#21458)
Part one of our nefarious plans to destroy lag forever, and also
accomplish some cool shit.

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

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

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

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-10-16 11:39:15 +00:00
Batrachophreno b3b4f4b9c6 INDRA, general nuclear fusion update (#21285)
Fixes https://github.com/Aurorastation/Aurora.3/issues/18951
Fixes https://github.com/Aurorastation/Aurora.3/issues/19447
Fixes https://github.com/Aurorastation/Aurora.3/issues/20283
Fixes https://github.com/Aurorastation/Aurora.3/issues/21395

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

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
2025-10-05 20:13:06 +00:00
Batrachophreno b743c82739 Signals update to power_change() (#21421)
As title. Makes area/power_change() and area on_enter/on_exit procs both
rely on signals for machinery handling where they draw power from.
2025-10-03 15:50:29 +00:00
hazelrat eef80013fa Introduces starlight to all Horizon exterior areas (#21396)
This introduces logic to place starlight onto turfs under
horizon/exterior, and extends that area across the entirety of the
Horizon's EVA areas, to remove the anachronistic darkness that's been
atop the wings up to now. Handling this at the area level was the
cleanest way I could think to implement it.

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

**Potential problems:**

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

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

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

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

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

---------

Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2025-10-01 18:14:21 +00:00
Matt Atlas 7f474bd363 Fix some harddels. (#21373)
Let's try to haunt down this brain and mannequin harddel bullshit

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2025-09-29 23:20:44 +00:00
Wildkins 290032afc7 Turn hydroponics get and set_trait into defines (#21404)
Hydroponics tray processing is a massive chunk of machinery processing
for no good reason, I have a sneaking suspicion that this is due to proc
overhead on get_trait, as process can call it upwards of 30 times per
tick per tray.

Realistically most of the things that are traits should instead be
variables, but that's a refactor for someone with more time.
2025-09-28 12:09:49 +00:00
Batrachophreno 0aafc46e0f Further reduce phoron sources (#21364)
Removes reagent phoron from possible plant products, gaseous phoron from
exoplanet atmospheres.
2025-09-15 12:14:59 +00:00
Batrachophreno 7196ebb10a Spacevines, Comet Expulsion event balances (#21256)
Slightly increases potency of Spacevines random seeds, and increases
range of areas which can spawn them.

Makes Comet Expulsion event populate a whole bunch of meteors on the
overmap, but most of them are just traveling in random directions. Makes
it less trivial for bridge crew to just scoot one tile to the left and
everything's fine. Tested it multiple times on local instance to find
numbers that tended to make the overmap dangerous, but not bullet-hell
levels. It should be okay for the Horizon to get hit once or thrice-
dodging them all ought to be a really nice trick. Also increased minimum
spawn distance from the edges of the overmap on round start to prevent
comet spawn from deciding 'hey fuck you' and nuking you with 4 meteors
to the face and 0 time to maneuver. That's too mean, even for me.

changes:
- balance: "Spacevines event has more area types to potentially spawn
in."
  - balance: "Spacevines event potency_min increased from 70 -> 85."
- balance: "Comet Expulsion event chances slightly increased with
greater weighting towards Bridge Crew availability."
- balance: "Comet Expulsion event now generates many overmap hazards,
mostly in random directions, to make evasion less trivial."
- balance: "Comet Expulsion event meteors now have a small chance to do
greater damage."
- balance: "Horizon and other overmap visitable sites minimum spawn
distance from overmap edge increased from 2 to 4."
  - qol: "Provided additional admin logging for Comet Expulsion event."
2025-09-15 12:12:08 +00:00
Ben b88f19690d The Great Station Site Refactor (#21172)
**Requesting Test Merge**

Refactors multiple stationary away sites (like sensor array) to
ship/stationary to allow for their systems to properly function

Current maps refactored
- Sensor Array
- Hedgemony Waypoint
- People's Station
- IHSS Reclamation

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2025-09-06 10:32:02 +00:00
Batrachophreno 7b806f06b9 Fire behavior update (#21223)
Fire burn temperature formula updated to longer treat you like you're
100,000 Kelvin for neglecting to stop drop and roll after accidentally
fumbling your lighter.

changes:
- balance: "Updated fire_burn_temperature() calculations so that being
on fire will no longer arbitrarily return temperatures hotter than most
stars."
- balance: "Modified engineering voidsuit to have low-level thermal
protection (similar to atmos voidsuit having low-level radiation
protection)."
- bugfix: "Fixed cases where you ought to have been set on fire, but
weren't."
  - code_imp: "Cleaned up function names, booleans; added more dmdocs."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2025-09-06 10:20:33 +00:00
Batrachophreno 387cee9243 Object Examine Text Overhaul (#20923)
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.

Almost certainly a candidate for test merge.

Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-21 15:35:14 +00:00
smellie 7b865b9f2e Adds the Xanu System & Xanu Prime (#20917)
Adds a Xanu region for Xanu Prime to spawn in. Ice/barren asteroids as
possible spawns for mining operations.

Adds Xanu Prime as a visitable planet, with 2 regions: the arid
grasslands of Naya-Khyber; the tundra of Himavatia.

Only basic, super generic planet ruins included.

Random ground survey data available for scientific investigations.

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

| Path | Original Author | License |
| --- | --- | --- |
| /html/images/scans/exoplanets/xanu_prime.png | Kyres1 (Sourced from
our own wiki) | CC BY-SA 4.0 |
| /sound/music/regional/xanu/xanu_rock_1.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-NC-SA 3.0 |
| /sound/music/regional/xanu/xanu_rock_2.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-NC-SA 3.0 |
2025-07-10 17:27:38 +00:00
Batrachophreno 6ab37f221a Missing Upgrades Feedback Fix (#20924)
Bugfixes- changes weren't committed in original PR :(

This PR makes component upgrade text viewable in all circumstances,
restores component detection text to RPED, and excludes ship sensors
from updating their power draws based on components (they all use a huge
number of stock components compared to most machines, so their power
draws turned whack. They can be tuned later.)

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-07-03 14:08:46 +00:00
Stev-the-third b52a5c8e49 Himeo Ship (#20835)
Adds a Himean Patrol Corvette, along with all of its associated
features. Also adds the Nephilim blaster repeater cannon.

D1

![image](https://github.com/user-attachments/assets/b1693a9f-e095-4cf0-b2f8-4c53f0c3698d)
D2

![image](https://github.com/user-attachments/assets/4521c1fe-d542-411b-bc15-e332ab34fa97)
Submaps

![image](https://github.com/user-attachments/assets/0d8e290d-cd09-43d1-9d58-3027871cdc7c)


- [x] Fix the merge conflict
- [x] Role descriptions
- [x] Remember to delete the gold marker tiles
- [x] Door names
- [x] Deck 2 Atmos

---------

Co-authored-by: steviii <cormallenfield123@gmail.com>
2025-07-01 15:51:52 +00:00
SleepyGemmy f8c39bfe82 Fixes Grass Edges (#18737)
fixes grass edges spilling over onto tiles as seen around the Horizon.
2025-06-30 18:05:13 +00:00
SleepyGemmy ea2a6b1204 Typos and Cigarette Fixes (#20878)
this PR fixes some typos and increases the S'rendarr's Hand content in
the adhomian cigarette from 5 to 10 to match the total amount found in
other cigarettes. also removes "vanilla cigarettes" from the code
because it isn't used anywhere.
2025-06-25 21:10:02 +00:00
Matt Atlas 3837112bd1 Revert "Fix missing pixels in new hairstyle" (#20854)
bad merge
2025-06-17 02:33:31 +02:00
hazelrat 7cdfaa1d4b Sewage + shallow water bugfixes (#20846)
Sewage no longer inexplicably changes colour when a mob goes over it,
and you aren't climbing out of water with every turf you take in it.
2025-06-16 22:17:08 +00:00
Batrachophreno 156620ad4f Fix missing pixels in new hairstyle (#20828)
See title- the new haircuts leave two pixels of the head uncovered, this
fixes that. My bad, know better testing now... :(
2025-06-16 22:16:59 +00:00
Batrachophreno ba1a757909 Wires interface must require panel to be open (#20764)
https://github.com/Aurorastation/Aurora.3/issues/18299

Original bug report was for Air Alarms always displaying their wiring
interface when interacted with, even when the maintenance panel was
still closed.

I found a few other objects which also did not correctly check if wires
were accessible before displaying the interface.

There also remains some inconsistency: some objects will always display
the wire interface when clicked on with panel open, but others require
you to have certain tools in hand too (wirecutter, multitool, etc.).
Without them in-hand, they won't give you the wire UI. I'm indifferent
to which option is better, but it should be made consistent. If someone
feels at all strongly about having tools in-hand vs. not to see the
interface, then I can also make that change with whatever the prevailing
opinion is.
2025-06-01 10:54:51 +00:00
DreamySkrell a24345a43b Scenario - Environmental Testing Facility (#19611)
changes:
- rscadd: "Adds Environmental Testing Facility odyssey scenario. Big
map."
  - rscadd: "Removes green tint from the minimap program/reader."
  - rscadd: "Adds/reorganizes some generic outfits."
  - rscadd: "Adds some generic odyssey actor roles."
- rscadd: "Adds actor accesses system to odyssey scenarios, and a
self-service access terminal."
- rscadd: "Adds some warnings to odyssey actor teleporter, in case ID
access or headset are missing."
  - rscadd: "Adds some more random spawners."
  - rscadd: "Adds better sprites door helpers."
  - rscadd: "Adds access door helper."
  - rscadd: "Adds info box to odyssey actor panel about roles."



![image](https://github.com/user-attachments/assets/fc2c0316-e95b-49f8-ac8b-55d03ef47b18)

![image](https://github.com/user-attachments/assets/36a680e8-47bf-4a12-b0a4-7c83cad9e74e)

![image](https://github.com/user-attachments/assets/fca04220-5457-4fa0-9045-cbf9f3f7e013)

![image](https://github.com/user-attachments/assets/6c0c4af2-ae63-4824-bcbe-59519156d288)

![image](https://github.com/user-attachments/assets/a5022487-b2db-4b37-ad16-a9e287ea1695)

![image](https://github.com/user-attachments/assets/96eee079-5aa4-4606-8c7e-ca8f5c3444d4)

---------

Signed-off-by: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com>
Co-authored-by: DreamySkrell <>
Co-authored-by: AuroraBuildBot <action@github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2025-03-25 20:40:32 +00:00
Fluffy 86f8d6fd4f Movement update v2 (#20548)
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.
2025-03-22 11:38:05 +00:00
Greenjoe12345 7a7999b58d Exoplanet turf adjustments (#20568)
Adjusts the generic exoplanet dirt turf so it doesn't leave footprints,
it's used in maps such as odyssey ones and the footprints get hellish on
those.
Also gives many exoplanet turfs descriptions, as well as adjusts the
names of some of them.
2025-03-10 08:07:47 +00:00
courierbravo bd9e058938 Name Change - Oriental Tree (#20545)
Changes the name of the "potted oriental tree" to "potted cherry blossom
tree", along with changing the description.
2025-03-09 21:38:02 +00:00
Fluffy 3185c10cf1 516 internal links (#20428)
Convert all (appropriate) links to use the required `byond://` for 516

Added a grep to detect incompatible ones
2025-02-20 22:54:10 +00:00
hazelrat bcf56bcb71 Rough desert turf fix (#20499)
![image](https://github.com/user-attachments/assets/879a6421-120f-448d-b4f7-e303049aed9b)

The exoplanet/desert/rough subtype currently references icons that don't
exist, so it appears black ingame. This comments out the icon_state
definition pending on the rough subtype actually having sprites, so for
now it uses the same sprites as the regular desert turfs.
2025-02-20 11:50:40 +00:00
Fluffy 7265630dde Turn more unmanaged global vars into GLOB (#20446)
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.
2025-02-17 23:34:02 +00:00
Fluffy f3dab68568 Area tweaks (#20391)
Reworked area changes and power define channels

No player visible changes (hopefully)
2025-02-16 18:53:46 +00:00
Fluffy 1810ac27a8 Initiate 516 compatibility efforts (#20426)
Renamed all the "caller" vars to "requester", as the var would otherwise
overshadow the new one that is present in 516

No player facing changes
2025-02-05 13:09:42 +00:00
Ben a13f33a6e3 Ship/Shuttle Terminal Access Checks (#20227)
Ship consoles such as targeting and sensors now check for access.

Emagging a ship console disables access checks

Horizon shuttles given access requirements (bridge crew can access any
ship)

Went through most offships and added access requirements, likely missed
some however.

For access requirements, I only added them for helm control, targetting,
and shuttle control consoles

---------

Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2025-01-31 13:53:50 +00:00
DreamySkrell f9c78c9dc5 More potted plants (#20305)
```
author: DreamySkrell, Tomixcomics

delete-after: True

changes:
  - rscadd: "Adds three new potted plants."
```

sprited by @tomixcomics

Co-authored-by: DreamySkrell <>
2024-12-31 10:43:35 +00:00
hazelrat 68069400ab Removes footprints from (most) exoplanet turfs (#20306)
See title. It's pretty soulful for shuttles, but it's incredibly
irritating for any buildings on exoplanets in which you mess up all the
flooring if you take so much as one step outside.
2024-12-29 18:36:27 +00:00