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>
Most of these are self explanatory. Servants should be able to see in
the dark. They should not speak TCB. The user should get feedback if a
skill fails. The icon state shouldn't be set to resting if the simple
mob AI will take back over (which it does), though I'm not a huge fan of
the way I solved that one - should it be a more generic var like
`should_not_sleep` on simple mobs? Then it would need a typecast as
well.
The first big change here is removing `environment_smash` from the
`attack_generic` proc. As far as I can tell, this variable is almost
entirely deprecated. I only saw one check relying on it, in
`/obj/structure/closet/statue/attack_generic(var/mob/user, damage,
attacktext, environment_smash)`, but when I tried to spawn one it was
invisible, so I assume that is also something that is mostly deprecated.
As such, I removed the variable from the function call, lining its
arguments back up with what the function is expecting. Maybe I should've
done named arguments here, but given that there's only that one function
that expects it, I just removed it.
The second big change is giving the Greimorian Queen reach on its melee
attacks. I was mostly trying to fix the case where the queen can't
attack a mob to its north, due to the mob being covered by the queen's
icon. Attacking two tiles away looks fine when the queen is facing
north, but facing south it looks not great. Directly East and West are
usually okay, though it depends exactly which tile is being attacked.
I did also duplicate a function, which I'm not a fan of. Perhaps
`attack_can_reach` should be made more generic. Let me know the best
place to do that, if so.
I'm not completely sold on adding the reach in its current form: Aside
from the top center 3 and the two furthest east and west, it reaches way
too far without good visual feedback that it can/is doing so, especially
the bottom ones and corners.
https://github.com/user-attachments/assets/a2b95cee-fe2d-4bc6-bf43-2e5b6e2e8f86
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>
Adds turf fires (ported from Baystation, which ported them from
Shiptest), which are now used instead of ZAS fires for fuel decals and
flamethrowers. They also supplement ZAS fires in especially bad atmos
fires.
This makes flamethrowers and related objects more suitable for AOE
denial, rather than cooking the room (including yourself). They still do
the latter, but less so than a gaseous fire.
To make flamethrowers actually useful against them, simple mobs now take
brute damage when on fire.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| sound/weapons/flamethrower/flamethrower1.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower2.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower3.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| sound/weapons/flamethrower/flamethrower_empty.ogg |
[rye-rice](https://github.com/rye-rice) (Shiptest) | CC-BY-SA 3.0 |
| icons/effects/particles/smoke.dmi |
[rye-rice](https://github.com/shiptest-ss13/Shiptest/commits?author=rye-rice)
(Shiptest) | CC-BY-SA 3.0 |
| icons/effects/turf_fire.dmi | CM Dev (cmss13) | CC-BY-SA 3.0 |
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.
changes:
- rscadd: "Spilled radium now generates (weakly) radioactive puddles of
green goo, just like Uranium."
- balance: "Extends Greimorian eggsac incubation time by 50%."
- balance: "Introduces a probability element to greimorian egg toxin
metabolism; after being injected with the reagent, each metabolism tick
only has a % chance to create the eggsac 'organ', meaning quick
helmizole injection (or dumb luck) can prevent incubation entirely."
- balance: "Introduces clamp on spiderling generation counter to prevent
RNG from causing outsized impact from single eggsac rupture."
- balance: "If the randomly chosen body part a Greimorian eggsac would
infest is the head, the victim will get an extra reroll of target body
part to avoid the associated instant death risk."
- balance: "Consuming radioactive waste is now MUCH unhealthier. Don't
eat radioactive waste."
- qol: "Updates some antagonist tips (removed old/deprecated ones, added
new one.)"
- bugfix: "Removed greimorian eggsacs now dissolve into goo as
intended."
## 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"
/>
changes:
- balance: "Dirty bomb cleanable 'greenglow' decal left behind is now
actually radioactive to make it more persistently hazardous."
- balance: "'Radioactive waste' rare Warehouse spawn submap now uses
low-radioactivity variants for some of its contents and also been given
a radioactive gear crate."
- balance: "Adds increased taste_mult values to radioactive waste,
napalm, and nitroglycerin; it should be noticeable if your drink is
spiked with any of them."
- balance: "Both uranium and radioactive waste reagents will create
radioactive pools on the floor if spilled (uranium weak, radioactive
waste medium/strong)."
- balance: "Bombs are now allowed to be planted on any mob type except
for carbons."
- balance: "Increases the numbers of assemblies (signalers, igniters,
etc.) stocked in vending machines."
- rscadd: "Adds a radioactive waste chemical canister to the Uplink (5
tc)."
- code_imp: "Adds additional variants of greenglow/radioactive decal and
radioactive_waste/hazardous obj that are more or less radioactive for
mapping and ST use."
- code_imp: "Cleans up bomb timer setting code and admin logging."
- qol: "Adds more examine hints to reagent dispensers."
- qol: "Adds more examine hints to bombs."
The 'radioactive waste chemical canister' item cost was set to 5 tc to
match the other 'hazardous chemical' antag item, the Chlorine Tank.
# Summary
This PR fixes leftover white coloring on open turfs after cleaning them
and improves cleanable decals on open turfs.
- Fixes#21636
## Changes
- Fixes color removal after cleaning open turfs by updating the mimic.
- Fixes cleanable decals not getting auto deleted on open turfs.
- Improves inconsistencies of cleanable decals viewed from above by an
additional mimic update for decal inits.
Fixes https://github.com/Aurorastation/Aurora.3/issues/21509
**Summary:**
Cleans up a lot of old Greimorian egg implantation code- rewrote the
actual worker injection behavior to use the organ/internal/parasite code
we have, instead of creating effects with their loc set to the organ
itself.
This largely means that not only is Greimorian implantation able to be
treated pharmaceutically (as you'd expect, with them being parasitic and
medicine including antiparasitics), but it also means that 'greimorian
eggs' also get the same treatment as nerve flukes, etc. That is to say,
antags can now purchase Greimorian Clade Kits from the uplink and inject
people or monkeys with them to cause Unhappy Tidings.
This code is also fairly easy to modify, if one wanted to create more
implantable parasites that burst out of people, unrelated to
Greimorians.
**Changes:**
- refactor: "Refactors the egg injection of Greimorian Workers to use
parasite code; it can now be treated with anti-parasitic medicines in
addition to amputation of the affected limb. Works on all playable
species, and monkeys."
- rscadd: "New reagent 'Greimorian Eggs' creates an egg cluster parasite
in a random organ when metabolized in the bloodstream. It also has very
mild soporific effects."
- balance: "Greimorian Workers and playable Greimorian Servants/Queen
now inject Greimorian Eggs instead of Soporific."
- rscadd: "Greimorian Clade Kit now available in Uplink under Bioweapons
section (Greimorians now able to be introduced to ship by egg cluster or
injectable reagent)."
- balance: "All parasite kit bioweapons have had their vial reagent
count increased from 2 -> 5."
- balance: "Helmizole no longer treats K'ois Mycosis, Black K'ois
Mycosis, Zombification, or Tumors (Benign or Malignant)."
- code_imp: "Updates a lot of code documentation to dmdocs."
- Fixes hull beacons, radial lights and decal light sources not emitting
light. Thunderdome is no longer dark, fixes#21565
and fixes#21567
- Fixes radial lights not drawing any power from the powernet it's
connected to. Also refactors its toggle logic, since it never stopped
processing despite `STOP_PROCESSING` macro
Fixes https://github.com/Aurorastation/Aurora.3/issues/18504
Fixes https://github.com/Aurorastation/Aurora.3/issues/21064
Fixes https://github.com/Aurorastation/Aurora.3/issues/21267
Fixes https://github.com/Aurorastation/Aurora.3/issues/21455
Fixes https://github.com/Aurorastation/Aurora.3/issues/21535
Miscellaneous bugfixes, code cleanup, etc. Smaller batches this time.
changes:
- spellcheck: "Renames 'gibber' to 'autobutcher'."
- code_imp: "Cleans up a lot of old autobutcher code."
- code_imp: "Simplifies and unifies a lot of circuit board naming code."
- code_imp: "Updates various code comments to DMDocs format."
- balance: "Slightly increased damage of beating someone with a ladder."
- bugfix: "Fixes foreign speech displaying the translated versions in
langchat for non-fluent listeners."
- bugfix: "Fixes whispered speech langchat; whispers are now correctly
italicized."
- bugfix: "Fixes shouted speech langchat; shouts are now correctly
biggified."
- bugfix: "Adds missing Omni Gas Mixer, Gas Meter options from RFD-P."
- bugfix: "Adds missing circuit boards for bioballistic delivery system,
lysis-isolation centrifuge, and autobutcher to allow for construction
and deconstruction."
- bugfix: "Fixes empty algae chips bag having description set for its
name."
- bugfix: "Adds fallback_specific_heat values to several reagents that
were missing them."
- bugfix: "Fixes antimateriel projectiles being erroneously
damage-capped when hitting walls."
- bugfix: "Fixes laser beam effects not using the base colors of their
beam VFX."
- qol: "Added helpful feedback hint to move closer when someone speaks
aloud within 4 tiles while you're in vacuum (as features go, this one
felt more like a bug to experience)."
- qol: "Updated various examine hints."
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
## 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 |
EDIT: This is complete and no longer a work in progress. I've tried to
make sure that everything is tested and working properly but if there
are issues please let me know.
This away site is intended to be a high risk, high reward, encounter.
I'm also attempting to increase its replayability by incorporating a
number of sections and submaps that will be newly generated each time.
Things added or changed:
- Additional traps and environmental hazards.
- Lava is now more deadly. It used to only set you on fire, now it will
burn you appropriately.
- Minor sprite fixes for uncommon elements for easier mapping; throwers,
step triggers.
- Map and associated files, submap json, landmarks, areas, ect.
---------
Signed-off-by: Evandorf <ej_denton@msn.com>
Co-authored-by: Kano <89972582+kano-dot@users.noreply.github.com>
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>
Destroys a ton of sources of lag:
- /obj/machinery/biogenerator/interact and
/obj/machinery/computer/rdconsole/attack_hand
Both of these call REF(src) constantly on their UI update, which also
happens constantly. Death by a thousand cuts
- /obj/machinery/button/ignition/attack_hand and
/obj/machinery/button/switch/holosign/attack_hand
Sleeps rather than timers, iterating the entire machinery list rather
than just storing the IDs we need at roundstart
- /obj/machinery/telecomms/update_icon and /obj/machinery/meter/process
Calling overlay updates WAY TOO MUCH. UpdateOverlays is a significant
overhead for the server at this point and the two of these combined are
responsible for a little over 20% of updates. They now should only
update overlays when necessary rather than every tick.
- NEW! /obj/machinery/disposal/proc/update and
/obj/machinery/portable_atmospherics/hydroponics/update_icon
These two were also offenders, worse than telecomms but better than
meters. They have also been brought into line.
- /mob/living/carbon/slime
Hard-del'd if grinded into slime extract less than two minutes after
being "born". Fixed by adding TIMER_DELETE_ME flag.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
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.
Little more tuneup of area metadata, and also replaces area.name in
several locations with dynamic area display names (for example:
announcement that something was beamed aboard a thruster will once more
indicate whether it was the port or starboard thruster).
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>
Effects were made transparent at parent a while ago, iirc. This re-adds
being clickable to fake objects, so you can see their names and
descriptions again.
Separates the rolling fog effect into its own type rather than relying
on varedits, shifts it up a few layers so it renders ingame. Currently,
it doesn't appear at all in the holodeck settings it's used in.
Off-duty crew and passengers can now spawn in the medbay recovery room,
for that sweet, sweet medical RP.
Vastly expanded the medbay recovery ward, including:
- Cryo pod (duh)
- Nav terminal, to watch the ship fly as the days crawl by
- Sink and hygiene vendor
- dining/general purpose rec table with uno
- MRE vendor, for that sweet, sweet, hospital grade food
- Coffee vendor, for that sweet, sweet, coffee.
- Public access doorway (still needs access to enter, but unrestricted
to exit, so if you spawn there and no one is around, you're not screwed)
- Button to open said public access doorway, for visitors
- Requests console, maintenance panels.

!!Misplaced camera and light in the wall have been fixed!! Rack of
toiletries has been replaced with vendor!!
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.
- Full moderators can now use rejuvenate.
- Full moderators can now spawn atoms.
- Full moderators can now remove/add languages.
- Full moderators can now teleport mobs.
- Repurposes R_BAN into a generic permission that full moderators and
above have, and locks teleport behind it.
None of these powers may be used for round-altering purposes. Pending
review by the head admin and the host.
To-do: check that Borealis and permissions in general don't explode with
these changes.
---------
Co-authored-by: realmattatlas <liermattia@gmail.com>
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
- TCAF Corvette given GPS tags and posters for recruitment
- In process ballooned into major poster refactoring, replacing global
list with singletons and adding defined poster subtypes for mappers
- All defined posters switched to subtype equivalent
Held of on placing any posters in Horizon, as that would be best for a
seperate PR if I ever do that
We also might need better names for some of these posters.
---------
Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Enabled new opendream pragmas
Fixed some runtime access check operators (`:`) around the codebase (not
all, some are unfixable as they're used in macros)
No player facing changes (hopefully)
https://forums.aurorastation.org/topic/20198-mission-briefing-auroras-gamemode-revolution
To-do:
- [x] Finish storyteller verbs.
- [x] Storyteller landmarks.
- [x] Proper storyteller spawning. Right now the gamemode system is
happy with just picking one storyteller and no actors.
- [x] Antagonist whitelists code.
- [x] Adding the Storyteller whitelist.
- [x] Mission map loading code.
- [x] Map in a bunch of missions.
- [ ] Storyteller adminhelps.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: DreamySkrell <>

Fixed monkey cubes under showers from turning the game into Doom 3.
Fixed showers not showering you because of an improper early return on
wet floors.
Fixed blood overlays being wrongly cleared when you shower.
Sonme code improvements.
Runtime map now has a bunch of new areas / items with often-tested
stuffs, and some hard-to-put-at-runtime stuffs.
Runtime map jobs now are positioned to make it faster to reach the
aforementioned often-tested stuffs.
Runtime map doesn't generate an overmap anymore by default, which speeds
up the process.
Runtime map now loads in ~11 seconds instead of ~40 seconds as it was
before.
Updated the maploader to be faster in parsing maps.
Bapi is not engaged anymore if we're only measuring the map size, which
speeds up the process.
In fastboot we do not generate the codexes anymore, which speeds up the
process.
In fastboot and if exoplanets and away sites are not enabled, we do not
parse the map templates anymore, which speeds up the process.
Updated the icon smoothing to be faster.
Optimized cargo area code.
Other optimizations.
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.
High risk.
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.
This is based on, and should only be merged after, #19847
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
Refactored portals, improved handling.
Telescience console can now target overmap zlevels, provided deep scan
is not enabled and the contact is completely scanned.
Telescience portals now properly delete when the timer expires.
Greatly increased power usage for the telescience portals, especially if
aiming outside targets.
Refactored telescience console backend.
Added various DMDocs.
* Most hivebots now create sparks when they teleport in, instead of
smoke. The smokescreen created by beacons remain.
* Smoke now renders over mobs again.