Commit Graph
333 Commits
Author SHA1 Message Date
87848fbdc3 Adds skill based upgrades to modular lasers. (#22425)
**Modular laser changes**

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

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

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

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

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

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

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

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

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

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

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

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

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

---------

Co-authored-by: Copilot <copilot@github.com>
2026-05-27 15:51:37 +00:00
VMSolidusandGitHub fe4f84703c Morale Modifying Skills (#22508)
This PR adds a new Everyday skill called Ministry, which is targeted
both for the Chaplain role, as well as for characters with Theological
training in general. It provides a character with a unique action called
"Offer Blessing", appearing in the action bar on the top-left corner of
the screen. When used on an adjacent character, it offers a series of RP
prompts for the user to write a blessing of their choice to said
character.

If the blessing is accepted and received, the recipient gains a small
Morale Modifier that scales with the user's Ministry skill ranks.
The morale modifier is also increased if the two characters involved
share a religion in common.

<img width="1907" height="971" alt="image"
src="https://github.com/user-attachments/assets/fef51432-2206-4513-a734-fe62a3acfc6c"
/>

<img width="357" height="94" alt="image"
src="https://github.com/user-attachments/assets/2f344d04-10c9-4fbc-9183-3471c4b51e7c"
/>

<img width="322" height="148" alt="image"
src="https://github.com/user-attachments/assets/fb5cc21f-60bb-4c9f-ba5b-45f6e3ec94ff"
/>

<img width="703" height="34" alt="image"
src="https://github.com/user-attachments/assets/8df6b6c3-8ea7-4f64-b8c4-a439ccadc076"
/>

<img width="361" height="83" alt="image"
src="https://github.com/user-attachments/assets/fe7b6d32-7cb5-4e60-89d8-38353981ffb2"
/>

There is also now a similar skill for the combat category, called
Leadership.

<img width="1268" height="987" alt="image"
src="https://github.com/user-attachments/assets/44448560-1ff7-4bae-966b-1b8f7481005d"
/>

<img width="912" height="67" alt="image"
src="https://github.com/user-attachments/assets/30531b15-0aa3-4ab6-b75c-3af26f8b5bdd"
/>


I have fully tested this PR to its completion.

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

| Path | Original Author | License |
| icons/hud/action_buttons/skills.dmi | gabrielgabey (Discord) |
CC-BY-SA-3.0 |
2026-05-27 15:38:57 +00:00
hazelratandGitHub e9f1bb5709 Area-based Horizon lighting (#22511)
This adds unique lighting palettes to different areas of the SCCV
Horizon. It does this by tying randomized_lighting variable for light
fixtures to the department variable of the area they are in. This
solution is intended to save a lot of time and effort, both now and
later, which would otherwise be spent mapping down each colour of
lighting into every department manually.

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

Screenshots below!
<details>
<img width="1077" height="1080" alt="image"
src="https://github.com/user-attachments/assets/1987e29f-c34c-44ea-865f-5f81c0e5c47f"
/>
<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/79279c6c-da56-4676-a0e9-7e5db43002cd"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/621589b5-ada6-4d80-9f8f-8cf13a47df39"
/>
<img width="1085" height="1080" alt="image"
src="https://github.com/user-attachments/assets/09284700-8408-4a86-86c5-7575e7c94a27"
/>
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/8246585c-f437-437a-8d32-9997fae05298"
/>
<img width="1078" height="1080" alt="image"
src="https://github.com/user-attachments/assets/a34841dd-3f49-4010-b2e0-d2e9a748e617"
/>
<img width="1084" height="1080" alt="image"
src="https://github.com/user-attachments/assets/55e89703-8ac7-4fa7-9775-19818c10c119"
/>
<img width="1080" height="1080" alt="image"
src="https://github.com/user-attachments/assets/684dea04-90c5-4877-b2bf-08a2146efb5e"
/>
<img width="1078" height="1080" alt="image"
src="https://github.com/user-attachments/assets/6ce42ac1-0f4b-49eb-8f2c-c6fb1830877e"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/bc41a4f4-8d5c-4348-b9fe-a41d7950ce37"
/>
<img width="1081" height="1080" alt="image"
src="https://github.com/user-attachments/assets/48c4b733-a375-482b-9f70-e2aa6d0b3e27"
/>
<img width="1083" height="1080" alt="image"
src="https://github.com/user-attachments/assets/52e0041a-602d-4f4b-9d6c-7d0a0946f90b"
/>
</details>
2026-05-27 15:37:50 +00:00
VMSolidusandGitHub c41f0789fe OpenDream Compile Fixes (#22518)
Fixes a handful of errors that prevented this codebase from compiling
with OpenDream. I have tested this.

<img width="1915" height="988" alt="image"
src="https://github.com/user-attachments/assets/6f04fa2b-1d08-484d-9fe4-2a3ff7d95a18"
/>
2026-05-27 15:34:47 +00:00
BatrachophrenoandGitHub 4ecb0bc21c Repath obj/machinery to obj/structure/machinery [MDB Ignore] (#22500)
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.

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

I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
2026-05-26 19:35:48 +00:00
VMSolidusandGitHub 2e55dfd69c Enforce Calculus Linter Tags (#22469)
A not insignificant number of bugs caused when converting code to
calculus methods is me missing that a proc is getting called from a
different file entirely without passing in a seconds_per_tick value.
Byond will just gleefully let my calculus methods for code run with a
time delta of 0, which introduces all manner of exotic and fascinating
bugs.

So to better prevent this kind of issue from occuring, I'm adding a new
linter tag called ENFORCE_CALCULUS(seconds_per_tick) which loudly forces
unit test fails if a proc with the tag is called by a different proc
without correctly passing in the needed time delta. I have previously
run into this problem on occasion, such as in PR #22413
2026-05-23 20:07:43 +00:00
KanoandGitHub c9f6cc623c Remaps casino.dmm (#22460)
## About PR

Changes:

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

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

## Images

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

After:

<img width="2560" height="2656" alt="img-2"
src="https://github.com/user-attachments/assets/77de31ab-43d2-4a14-b396-a142c3b755da"
/>
2026-05-18 21:46:05 +00:00
VMSolidusandGitHub 3b6d0f20ec Light Sensitivity Refactor (#22386)
The last time the Light Sensitivity code was changed, I remarked in a
review that "This should probably be a component so that its code isn't
being run on every mob forever". Well I've gotten around to doing that
myself, except I figured out it's even better off as an Element in this
situation rather than a Component. So this is now my first time adding
Elements to the repo. It turns out they're really awesome when paired
with signals.

This PR removes the hardcoded check for the light senstivity and dark
phobia traits from the Life() path, replacing them instead with two
Elements which hook into the pre-existing signal used to handle vision
updates for human mobs. I've mainly done this to help cut down on the
overwhelmingly high cost of the Life() codepath, which is currently one
of the most expensive paths we have.

While I was at it with refactoring these two, I noticed that there
wasn't a trait selection for either of them, so I added selections for
both traits to the disabilities tab so that players can opt-in to being
light sensitive or afraid of the dark!

<img width="318" height="336" alt="image"
src="https://github.com/user-attachments/assets/a1e60e83-d899-44df-8ea3-0cd5a87c231c"
/>
2026-05-18 19:21:19 +00:00
374e220be6 Hardsuit interface overhaul (#22403)
**Summary**
Converts hardsuit NanoUI to TGUI and overhauls much of the associated UI
and module code.

The conversion alone is what necessitated quite a bit of cleanup of our
11-year-old hardsuit code, for which I leaned heavily upon tg's
implementation of MODsuits. Therefore, this is a PARTIAL (???) port of
both https://github.com/tgstation/tgstation/pull/59109 and
https://github.com/tgstation/tgstation/pull/77022. While a lot of
wonderful code and UI design was ported 1:1 (for which I am grateful!),
our hardsuits are still NOT MODsuits. Most of our back-end remains the
same.

Fixes https://github.com/Aurorastation/Aurora.3/issues/22071

changes:
  - refactor: "Migrates Hardsuit NanoUI to TGUI."
- refactor: "Updates Hardsuit module type definitions, configuration
data, many misc other functions for the purpose of the UI refactor
(general utility and readability improvements)."
- balance: "Hardsuits now passively consume a small amount of energy
while online, even when retracted."
- balance: "Hardsuit boots can no longer be retracted without also
retracting the chest piece first."
- balance: "Mounted hardsuit storage module max space increased from 9
to 14."
- balance: "Plasma cutter (standalone and mounted) damage increased and
range decreased by 50% each."
- soundadd: "Adds several new sounds for hardsuit use (attribution
located w/ files)."
- code_imp: "Makes power_wattage_readable() a global proc and adds
power_joules_readable()."
  - code_imp: "Lots of misc DMdoc updates."
- bugfix: "Synthetic Charging Stations now charge hardsuit power cells
as intended."

**Old UI**
<img width="804" height="1321" alt="Screenshot 2026-05-04 135705"
src="https://github.com/user-attachments/assets/f01957a0-7cec-4fcc-b862-c9dfde0dcc43"
/>

**New UI**
<img width="998" height="782" alt="Screenshot 2026-05-04 174658"
src="https://github.com/user-attachments/assets/ad402902-d489-435a-9c16-82150ed82618"
/>

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/rig_modules.dmi (mounted-plasmacutter)|
[Ghostsheet](https://github.com/ghostsheet) | CC-BY-SA |

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-05-18 19:21:11 +00:00
VMSolidusandGitHub be6b35485d Psi-Protect Pills (#22449)
requires #22442 

This PR adds the new Psi-Protect pills required by the current Lemurian
Sea lore arc. They can be obtained exclusively via the psychiatric
medicine selection, and are a new prescription drug marketed by Zeng-Hu
Pharmaceuticals as a solution for ADPI exposure that doesn't require a
more invasive implant.

When taken, these pills provide 10 minutes of temporary protection from
telepathy, as well as a reduction in psi-sensitivity.

In the loadouts:

<img width="312" height="72" alt="image"
src="https://github.com/user-attachments/assets/2dc3a0bd-1d8e-4913-819b-b30fd5718d27"
/>

Spawning in:

<img width="914" height="98" alt="image"
src="https://github.com/user-attachments/assets/79223fe0-56f3-4fbc-9a1f-7afdaa87baa8"
/>

Messages playing when taking the pill
 
<img width="602" height="55" alt="image"
src="https://github.com/user-attachments/assets/2175b5bd-3b7f-47ee-957d-54154bc27197"
/>

Verifying in testing that the component correctly attaches

<img width="504" height="278" alt="image"
src="https://github.com/user-attachments/assets/f65a2d48-0337-47d2-ad79-fce548a07ab9"
/>

And verifying that component TTD is set, as well as Signals are being
correctly registered.

<img width="512" height="692" alt="image"
src="https://github.com/user-attachments/assets/31416703-1c59-47f7-bc80-36329d43905a"
/>
2026-05-18 19:18:23 +00:00
1f9b926ed7 Tool Qualities Framework (#22380)
This PR adds a framework for Tool Qualities. This is done via adding a
new Tool Quality Container Component, which allows any arbitrary datum
to have tool qualities, which can be checked for by other systems as
desired. These are handled as key/value pairs in an associative list,
allowing atoms to have different quality levels as a given tool, such as
being a "level 3 crowbar" and a "level 1 hammer" at the same time.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-05-15 16:49:58 +00:00
6243253ff4 Removes xenomorph from code and Vaurcae (#22412)
title. requested by realmcode from vaurca lore

---------

Signed-off-by: FearTheGabby <martinezgabby576@gmail.com>
Co-authored-by: senorsapo <70925284+senorsapo@users.noreply.github.com>
2026-05-11 18:18:41 +00:00
VMSolidusandGitHub 114499f3f9 Tenacity Skill (#22408)
This PR adds a new Combat skill largely designed for non-combat
characters called Tenacity. It's fairly analagous to traits like Will to
Live from Shadowrun. Ranks in this skill make a character take a little
bit longer to "bleed out in crit", but do nothing to actually change how
hard they are to take down in combat. Effectively this means that ranks
put in this skill give you a little bit more of a buffer of time to be
picked up by a paramedic and rescued.

For actual combat characters it's very undesireable since it does
nothing to actually help win you fights, so this skill is largely more
to serve as an option for characters outside of security who don't
actually want to spend any points on direct combat capabilities. All of
the numerical modifiers from the skill are rather small, and make use of
pre-existing signal hooks that I've made previously for Brainmed to
allow component based modifiers to organ code.

<img width="1069" height="243" alt="image"
src="https://github.com/user-attachments/assets/92d6c19a-a0f2-4cc8-b490-df4538fd2b3d"
/>
2026-05-11 18:13:29 +00:00
SierraKomodoandGitHub 565787dae6 Welding goggles render over bandanas (#22414)
Port of a 'fix' I made on baystation some time back.

Before:
<img width="81" height="89" alt="dreamseeker_JD60oIjWBj"
src="https://github.com/user-attachments/assets/bab4fc4a-96ea-4719-b318-e9ebb0f99dda"
/>

After:
<img width="89" height="88" alt="dreamseeker_FwOnslm1q7"
src="https://github.com/user-attachments/assets/e6d4da4b-2269-4cc5-9cf7-ac4c73bfc993"
/>
2026-05-11 18:13:06 +00:00
c#min7andGitHub 62593e66de Reade and New Gibson Origin Updates (#22415)
a bunch of changes to Reade and New Gibson origin stuff following lore
expansions
2026-05-11 18:13:04 +00:00
BatrachophrenoandGitHub 58b01cf856 Various fire bugfixes (#22431)
Fixes https://github.com/Aurorastation/Aurora.3/issues/22384.
Fixes https://github.com/Aurorastation/Aurora.3/issues/22389.
changes:
  - bugfix: "Fixes turf fires not spreading."
  - bugfix: "Fixes atmos fires not consistently igniting."
  - bugfix: "Fixes dead mobs burning forever."
  - bugfix: "Fixes fire_act() runtimes for multiple objects."
2026-05-11 18:12:58 +00:00
VMSolidusandGitHub c51ada1aa6 Carousing Skill (#22381)
We did need more minor/low consequence skills for the Everyday skills
category. This one was suggested by Taco on the discord.

<img width="1101" height="651" alt="image"
src="https://github.com/user-attachments/assets/a820abd9-de71-4bd4-a4d4-d09f6226b9db"
/>

This skill simply makes a character better at drinking booze and doing
drugs, by slightly improving their liver effectiveness. The actual
numbers are quite small, nowhere near the level a Galatean's Boosted
Liver might be.

<img width="684" height="207" alt="image"
src="https://github.com/user-attachments/assets/7672cc1d-3822-4fdf-953a-cbb411ee4371"
/>
2026-05-03 17:02:35 +00:00
VMSolidusandGitHub 2f3276ba0d Remove Unused Circuit Boards (#22322)
Removes a bunch of unused circuit boards that corresponded to machinery
that didn't exist in the game anymore. These would turn up in spawners
on offsites and in random contents crates regularly, essentially
"wasting" the spawns.
2026-04-27 00:13:03 +00:00
VMSolidusandGitHub 4379dd2c1b Surgery Soft Requirement Refactor (#22314)
Skills being based on "Hard Requirements" absolutely suck, and I wasn't
happy with the surgery code being essentially hardcoded around them. So
this PR refactors surgery to use soft requirement checks, based on
modifiers to the success rate probability. Surgeries still state what
skills (if any) they require and at what level, but rather than blocking
the surgery, it instead imposes a penalty(or bonus) on the success
chance based on how much the user's surgical skill differs from the
required level. This actually stacks with the penalties for "non ideal
tools", so if you're completely unskilled in surgery and you attempt to
make an incision with a shard of glass, you're going to have an
extremely hard time.

Individual surgeries also can define how much the success rate is
modified by "skill diff", with the more advanced "surgeon exclusive"
surgeries having extremely large potential modifiers.

I have also added a signal based check for modifiers, which the Morale
component now hooks into. This can also allow for other components,
implants, drugs, etc to modify the surgery chances in the future.

I have manually tested this PR and verified by examining debug
breakpoints in VSCode that the system correctly applies its modifiers.
2026-04-26 19:57:59 +00:00
0f86453d4c Sentry Integration (#22202)
Sends Errors, Runtimes, ... to Sentry.io

---------

Signed-off-by: Arrow768 <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-04-26 12:34:31 +02:00
BatrachophrenoandGitHub fe5f7462c3 Correct MechEng define to point to MechEng component (#22355)
See title/files changed.
2026-04-26 10:06:34 +00:00
33b8164013 Radiation Damage Rebalance (#22238)
Adds: 
- Dosimeter, keeps track of how many rads a person has absorbed as well
as showing the dose after armour.
- Adds a message to shelter in maint to the supermatter explosion.
- Adds a flag that makes damage not apply to robotic limbs, useful for
preventing radiation burns to metal parts. Should also be added to
chemicals that deal brute damage, such as arithrazine and the the burns
from chemical exposure to chlorine, but that's another PR.
- Added radiation resistance values to makeshift armour. As it only
covers the chest, this isn't very useful, but better than nothing.

Balance:

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


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

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

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

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

---------

Signed-off-by: FenodyreeAv <fenodyree.av@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
2026-04-21 12:43:25 +00:00
aaea5d8a57 Assunzione & Port Volturno (#22258)
Contains assets, code, maps, etc. for Assunzione and Port Volturno. This
is something like v0.9 for live unit testing, etc. Do not merge yet.

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

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

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
2026-04-19 19:50:20 +00:00
260f744906 Skills System Revival: The Things She Remembered Had Never Been Her Own (#21853)
This PR is a revisit to the previously derelict PR #20159 that has been
unfinished for sometime now. More details about it in general can be
found here:
https://github.com/orgs/Aurorastation/projects/2?pane=issue&itemId=53167153

For awhile I've been talking about "Things I've been doing but it would
be really nice to do them with a skills system", or "And here's how I
would put this into the skills system when it's done". The main thing
that was stopping me from building it myself was having poor real life
skills in UI code and in DB code. However, I've gotten permission to
resume this PR, which has already completed the steps I would not have
been able to do myself. The rest of the PR fits well into my skillset as
a dev.

I'm opening this PR as a draft so as to enable my dev environment to
locally track all the previously modified files. I'll take this PR out
of draft and give this a full writeup when I have more work to show for
the PR this weekend.

### TODO

- [x] Rework a decent chunk of the currently existing skills to no
longer require hardcoded inserts into other systems. EG, converting from
classical ss13 methods, to modern /tg/-style ECS coding methods that
work off of component-signal patterns.
- [x] Make sure all of the existing skills have actual game
functionality (I won't PR a 2016 Baystation12 situation where 90% of the
skills are fluff only)
- [x] Add the various skills not yet made but are necessary for
completion sake, EG: Pilot (Spacecraft), Gunnery, Pilot (Walkers).
- [x] Examine each existing job in the game and assess whether it should
have a skill made with it in mind, or if it's covered by an existing
skill.
- [x] TO DISCUSS, BUT NOT ESSENTIAL: Additional skill proposals not
currently in the pre-existing TODO list, proposing subcategories.
- [x] Ensure that the previous TODO list is completed.

### Current Skills
The current list of skills, checkmarked for if I've completed them/they
have actual game mechanics. Or if we're just relegating them to separate
PRs. Originally this list was going to be forced to visit for a bare
minimum "does at least one thing" requirement, but now that is being
forgone due to this PR ballooning out of control and in complexity, as
well as development time overruns.

- [x] Bartending
- [x] Cooking
- [x] Gardening
- [x] Entertaining
- [x] Electrical Engineering
- [x] Mechanical Engineering
- [x] Atmospherics Systems
- [x] Reactor Systems
- [x] Medicine
- [x] Surgery
- [x] Pharmacology
- [x] Anatomy
- [x] Forensics
- [x] Robotics
- [x] Pilot: Spacecraft
- [x] Pilot: Exosuits
- [x] Research
- [x] Xenobotany
- [x] Xenoarchaeology
- [x] Xenobiology
- [x] Unarmed Combat
- [x] Armed Combat
- [x] Firearms
- [x] Leadership

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2026-04-18 14:33:48 +00:00
d5931c5ffe Adds an universal object health system. (#21266)
https://www.youtube.com/watch?v=ZpUYjpKg9KY

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

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2026-04-16 23:22:08 +00:00
03f313a19d Moves various things to the new DBCore (#21544)
```
- server: "Changed the synthsprites to use the new DBCore"
- server: "Changed the MalfAI to use the new DBCore"
- server: "Changed the Alien Whitelists to use the new DBCore"
- server: "Changed the Requests Console to use the new DBCore"
- server: "Changed the Contracts Uplink to use the new DBCore"
- server: "Changed the Admin Ranks to use the new DBCore"
- server: "Changed the Job Bans to use the new DBCore"
- server: "Changed the Tickets to use the new DBCore"
- server: "Changed the Create Command Report to use the new DBCore"
- server: "Changed the WebInterface interconnect to use the new DBCore"
- server: "Changed the CCIA Recorder to use the new DBCore"
- server: "Changed the IPCTags to use the new DBCore"
- server: "Changed the Main Menu Poll-Check to use the new DBCore"
- server: "Changed the Client-Procs to use the new DBCore"
```

---------

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2026-04-13 22:45:29 +02:00
VMSolidusandGitHub ea0063a4d4 Stop Drugs Spam (#22197)
closes #22119

Drugs are just ungodly spammy in general, this PR puts a stop to that by
limiting the rate at which your chat can be flooded with "YOU FEEL
AWESOME!" messages.

<img width="1248" height="632" alt="image"
src="https://github.com/user-attachments/assets/3ecc81fa-4bd6-4422-b55b-7d07bbe2498e"
/>
2026-04-12 22:19:50 +00:00
VMSolidusandGitHub 68892b7fb0 Implanted HUD Flicker Fix (#22191)
closes #22079 
closes #21945

This bug was also my fault, and it happened when I decoupled organ
processing from the life() tick to prevent organs being processed twice.
Since Huds were generated during the Life() tick, but implants were
adding the Hud during Process(), a flicker occured whenever they fired
out of sync, with the Life() tick erasing the hud and Process() adding
it back. To significantly cut down on the time complexity of having to
iterate and fire every HUD producing implant and component during
Life(), I've instead reworked it into a Signal that permits the HUD
implants to inject hud elements into the Life() codepath dynamically.

Here is the fix in action now.


https://github.com/user-attachments/assets/18ccc80d-cb5f-4fd7-9ad5-28c91acf6ca5
2026-04-11 14:24:34 +00:00
VMSolidusandGitHub 676919b876 Turf Hand Fixing (#22189)
Yea this bug was my fault. Here's it fixed. You can now once again close
airlocks by clicking on the turf underneath them.


https://github.com/user-attachments/assets/edd0f178-1ea8-4b3a-86a4-2481660d36fd
2026-04-11 14:24:24 +00:00
FabianK3andGitHub 7174467756 Radiation refactor (#22158)
# Summary

This PR refactors radiation values and cleans up custom radiation values
without a definition.
This also fixes #22155.

## Changes

- Update ARMOR_RAD_STRONG 75 -> 70, now fits RAD_LEVEL_VERY_HIGH.
- Update radiation level defines:
  - NONE         = 0
  - VERY_LOW     = 1 (old LOW)
  - LOW          = 10
  - MODERATE     = 25
  - HIGH         = 40
  - VERY_HIGH    = 70 (old value was 100)
  - EXTREME      = 100
  - CATASTROPHIC = 120
- Update a couple of rad values to their respective define name (with
minor implicit balancing).
- Remove the super awkward/LRP hairloss with high radiation exposure.
2026-04-09 15:56:45 +00:00
KanoandGitHub 3043bf536d Adds whiteboards and gives a new UI to barsigns and its subtypes (#22133)
## About PR

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

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

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

## Images

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

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


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

</p>
</details> 

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

| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/whiteboard.dmi & icons/obj/whiteboard_portable.dmi |
KingOfThePing | CC BY-SA 3.0 |
| sound/effects/whiteboard_scribble_1.ogg,
sound/effects/whiteboard_scribble_2.ogg,
sound/effects/whiteboard_scribble_3.ogg | freesound_community
(https://pixabay.com/sound-effects/film-special-effects-marker-whiteboard-squeak03-83059/)
| Pixabay Licence |
2026-04-06 19:03:01 +00:00
BatrachophrenoandGitHub b3db103553 Update Light's Edge to be included among Coalition sectors (#22111)
Add's the Light's Edge sector to the ALL_COALITION_SECTORS define, per
Schwann.
2026-03-31 02:46:27 +00:00
55b2740cdb Voidtamer ship (#21162)
**WIP**
Adds a new voidtamer awayship.
<img width="871" height="1032" alt="voidtamer"
src="https://github.com/user-attachments/assets/aa1f6568-10f8-4812-8e48-2bb7b59192f8"
/>

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

---------

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

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

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

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

This should not contain any user facing changes.

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

## Changes

- Split subsystem in partial files.
- Refactored proc names, added "persistentObject" format for current
code.
- Renamed SQL table.
- Refactored logging and call hiearachy.
- Fix CI labeler adding DB label on non-SQL files.
2026-03-24 19:53:37 +01:00
Cody BrittainandGitHub 77aca119d9 Added screen alerts (#22051)
Ports screen alerts from CM13. This enables an immediate reference to
whether you are cuffed or buckled. It also provides an easy way to get
out of said situation by simply clicking on the alert.

<img width="430" height="454" alt="image"
src="https://github.com/user-attachments/assets/0c20abf2-0901-49e0-ac29-492ba7c6dbe5"
/>


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

| Path | Original Author | License |
| --- | --- | --- |
| icons/mob/screen_alert.dmi (buckle, succumb) | CM13Devs (CM-13) |
CC-BY-SA 3.0 |
2026-03-23 09:16:23 +00:00
6c4e9254b2 Add ashtray persistence & fixes (#21925)
# Summary

This PR adds persistency to ash trays. This in turn fixes cigarettes
butts spawning a round later in locations where non-empty ash trays were
found.

## Changes

- Add persistence to ash trays and prevent (fixes) cigarette butt
persistence if in an ash tray.
- Fixed cigarette butts not being persistent if the cigarette was put
out on purpose and landing on the floor.
- Fixed loss of registered persistence track on item pickup.
- Fixed persistent tracks when item is held by player.
- Removed all ash trays on the Horizon as their existence is now
persistent. One-time job for operations after merge.
- Fixed matter configuration on `/obj/item/material` not being set
during `set_material()`.
- Fixed persistent trash on space turfs.
- Minor adjustments in SQL/Readme.md.

---------

Signed-off-by: FabianK3 <21039694+FabianK3@users.noreply.github.com>
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
2026-03-17 13:12:57 +00:00
Cody BrittainandGitHub adeaaaee4a Fixed balloon alert blending (#22006)
Balloon Alerts were sharing planes with NVG effects, causing them to
blend improperly. I re-added their proper plane, and ensured they work
again.
2026-03-11 16:38:55 +00:00
WildkinsandGitHub afd8d9d8e0 Lag War 2: Revengeance (#21950)
<img width="750" height="449" alt="image"
src="https://github.com/user-attachments/assets/29c06609-eb62-42be-9b9c-334f9fe88636"
/>

Ports: tgstation/tgstation#75769, tgstation/tgstation#72572,
tgstation/tgstation#93054

Fixes the holodeck causing 800 trillion hard dels that brings the server
to its knees. Stops turrets, weather system, and overmap contacts from
generating 500+ timers every tick by just using vars instead.

---------

Signed-off-by: Wildkins <john.wildkins@gmail.com>
2026-03-09 21:47:50 +00:00
1beef3d476 Collapses the lying down intent into normal resting. (#21967)
Instead of middle clicking to lie down, you now simply rest. You can
also now do it with your gun in your hand. Removes all code related to
bespoke lying down.

To-do:

- [x] Add a signal to make firearm accuracies update on lying down.

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2026-03-09 21:47:47 +00:00
Greenjoe12345andGitHub 4c239c7f69 Allows Adhomian tajara to select Biesel citizenship. (#21958)
To represent those who immigrated there as an adult. Note the important
information.
2026-03-07 08:35:29 +00:00
VMSolidusandGitHub 1423fcd04e Various Delta Time Fixes (#21871)
Organs were being given ~3 seconds of DT per ~2 seconds of real time,
because they were being hit by Process() TWICE, once during processing
for the "Set of all objects", and again during processing for the "Set
of all mobs". No species was hit harder than this but IPCs, who suffered
from having wildly inconsistent temperature mechanics that seemingly
never matched the expected numbers.

I have actually tested this PR to verify that it works. I even went the
extra mile to more extensively test IPC temperature mechanics to find a
separate bug unrelated to DTs that was causing suit coolers to just
straight up not work at all (space suit or otherwise) on a majority of
all IPC subspecies. I then tested the numbers in the PR for IPC cooling
to verify that things work as intended.

<img width="969" height="623" alt="image"
src="https://github.com/user-attachments/assets/01c3aca7-b436-4e52-86f7-aed847dcba5e"
/>

I also tweaked all the subsystems to have a small performance
improvement.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-02-27 01:28:20 +00:00
WildkinsandGitHub 538fd914bb Lag War Day 5: Hard Dels and Status Displays (#21888)
- status displays no longer delete 50 overlays a second
- fauna spawners no longer cause carp harddels
- ammo piles and rocket launchers no longer cause harddels
2026-02-27 00:35:50 +00:00
WildkinsandGitHub e1770df81e Lag War Day 4: Under Pressure, High Voltage (#21878)
Replace /datum/gas_mixture/proc/return_pressure with XGM_PRESSURE(xgm)
macro. Having such a relatively simple statement contributing proc
overhead to procs called millions of times is ridiculous

Rename /datum/gas_mixture/proc/zburn to react, deleting the old react
which was just an alias for it. Free proc overhead

Turn check_combustibility into a macro CHECK_COMBUSTIBLE(is_cmb, xgm).
also rewrite it slightly so that it only needs to do one pass. Its a bit
nasty so I apologize for that, but speeeeed.

Delete most powernet and obj/machinery/power procs for handling power,
replacing them with macros. The fact that we were unironically calling a
draw_power() on APCs to call draw_power() on their terminals to call
draw_power() on their powernet every single process tick was insane.

Turn `between` into a macro alias for clamp() since the param order is
different

turn `Percent` into a macro AS_PCT

Rewrite significant chunks of update_canmove so its not quite as
horrifying of a proc and hopefully doesn't eat the entire mob subsystem
every movement now
2026-02-27 00:35:41 +00:00
FabianK3andGitHub 3d0a989e97 Marshalling wands update (#21921)
# Summary

This PR updates the marshalling wands and gives them intent based
coloring. In addition, hold a second wand in your hand, the settings
will be automatically synced.

## Changes

- Update marshalling wand sprite (more the structure then the actual
sprites).
- Added color modes, updated text, added mechanical hints and two hand
sync to marshall wands.
- Added signal for mob intent changes (unused at the moment).
- Adjusted Hangar Tech round start spawn points in the breakroom.
- Added second marshalling wand to each Hangar Tech locker.

## Preview

(Note this preview has been made prior further pixel adjustments,
consider it a demo.)


![dreamseeker_nYNBHIbQkl](https://github.com/user-attachments/assets/edc2d3f2-33ac-4adc-8c65-586360176e6a)
2026-02-26 18:38:34 +00:00
Casper3667andGitHub 3fbe896673 Modifies Kathira's custom leg aug (#21870)
This adds a signal that can be used to stop bone repair surgery for any
cause that might prevent such. In this particular case, I used it with
Kathira's leg aug to fit with it being a support for her leg, which
can't heal properly otherwise.
This is primarily for when she ends up in surgery and can't inform the
doctors they shouldn't be trying to begin with.
2026-02-21 01:44:05 +00:00
WildkinsandGitHub e4192f9b8f Lag War Day 5.5: are you serious dude (#21889)
we have a gorillion hard deletions and it turns out half of them are
because we set the "ALWAYS HARD DELETE THIS" flag rather than just like.
fixing the hard delete.

cool
2026-02-21 01:41:50 +00:00
8998842f7a Large Variety Of Hard Dels (#21834)
I spent the entirety of today's event looking at hard dels with my new
digital minions. This was *nearly* every Hard Del that came up during
2/7/2026's event. It turns out that AI is extremely well suited to
hunting down circular references like this across an entire repo. This
PR was made with Antigravity-Gemini3Pro.

I have not yet tested this PR.

---------

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

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

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

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


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

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
2026-02-17 15:39:03 +00:00
WildkinsandGitHub 04c8e9e78c Lag War Interlude: Fix chat scrolling + other misc fixes (#21855)
<img width="300" height="350" alt="image"
src="https://github.com/user-attachments/assets/d36417c3-7531-4b5b-b1c2-9189501edd95"
/>


Port Monkestation/Monkestation2.0#6171
Port cmss13-devs/cmss13#8492

Hopefully fix TGUI scrolling and also chunks topic messages since
apparently that's a potential issue. No clue if this will have any
impact on chat failing to load.
2026-02-14 02:17:36 +00:00