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.
Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.
Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
- bugfix: "Fixed PDAs not being automatically updated by the Force
Change Name admin action."
- bugfix: "Announcements from non-Horizon ships drifting into hazards no
longer spawn observer chat. You will only get the announcements if you
are on the same z-level. The Horizon will still send its announcements
globally."
- bugfix: "Offships no longer send newscaster announcements."
- bugfix: "Fixed ling stings not working. Again."
- bugfix: "The robotics core console no longer reverts into a normal R&D
console when disassembled and reassembled."
- bugfix: "The robotics core console now has its own circuit that can be
made through R&D."
- bugfix: "Fixed the message that simple mobs print when they step on a
trap."
- bugfix: "Fixed the foam sword sprite."
- bugfix: "Fixed damaged wall overlays."
- bugfix: "Fixed the INDRA field getting messed up by pointing at it."
- bugfix: "Apple pies now count for the pie bounty."
- bugfix: "Changeling chameleon claws no longer spawn in the warehouse."
- bugfix: "Admin click-drag to possess has been fixed."
- bugfix: "Added a minimum damage threshold to delimb, in order to stops
ridiculously small damage from taking off limbs. The threshold is the
organ's max damage divided by 3."
- bugfix: "The Pull psionic ability no longer pulls anchored objects."
Fixes#17739Fixes#17369Fixes#19535Fixes#19166Fixes#20184Fixes#20165Fixes#20164Fixes#20117Fixes#19961Fixes#20231Fixes#20277Fixes#20346
---------
Co-authored-by: Matt Atlas <liermattia@gmail.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)

This is intended for future use.
This is a direct port from Paradise, modified to work with our code.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| sound/effects/electheart.ogg | tigercat2000 (Paradise) | CC-BY-SA |
| icons/obj/pipeturbine.dmi |
[PestoVerde322](https://github.com/PestoVerde322) (Beestation) |
CC-BY-SA |
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Refactored mousedrag procs, added signals, some safeguards, did some
cleanups around, renamed them to make a little more sense. Mostly put in
line with TG's code.
Fast clicking and releasing with a drag, depending on the grace period
and how fast it is done, can be counted as clicks, to aid in combat
scenarios where you spamclick.
Refactored sorting.
Added test to verify all horizon areas (outside exceptions) are marked
as station areas.
Added test to verify shuttle areas are not marked as station areas.
Refactored how the area sorting var is made and used.
Added a global list of all areas.
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 <>
Replaced the outside turfs with exoplanet ones for the digsite.
Fixed some exoplanet areas not having an exoplanet base turf.
Wrote a unit test for exoplanet areas to ensure they have an exoplanet
base turf.
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 attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
Fixes the uranium-powered portable generator exploding when it's used at
level 4. The safe heat threshold was supposed to be 300c, but a small
variance of 16c was causing it to just surpass that and go into overheat
when it's not supposed to.
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 the abstract meta propriety into defines.
It's now more easy to spot/see abstract types thanks to the macro that
defines them.
Added a check on initialization of atoms to avoid spawning abstract
types.
Made the spawn_atom proc check for abstractness.
Made the spawn_atom proc use tgui_list for types list shorter than 1000
elements, which enables to search in them. It's too laggy on larger
lists so above 1000 it uses the builtin input.
Made the spawn_atom use a list subtraction instead of a double list,
it's lighter on memory and processing.
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.
Removed the gelf logging infrastructure.
Refactored the various logging procs to be a direct call in light of the
above.
Removed ancilliary UDP related things.
~~In preparation for my grand political strategy to get SMES hacking
wires added to the aurora wiki, I made sure they were working.~~
It's on the wiki now so you have to merge this it's canon 🫡
Changes:
* The RCON wire in a SMES now actually disconnects a SMES from RCON
(before it only prevented AI control).
* When the input wire is cut in a SMES, it will now correctly report
that the SMES is not charging on the UI.
* The Failsafe and Grounding wires of a SMES now correctly trigger the
red light when only one is cut, instead of both needing to be triggered.
---------
Signed-off-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
* Added power cores, a type of large battery cell that get used by
exosuits. The nuclear and phoron variants are self-charging.
* Combat mechs now start with nuclear power cores, allowing them to
sustain themselves indefinitely, so long as they stay out of the action
for a bit.
* Removed basic power cells from the mechfab, replaced with the mech
powercores.
* Mech cell statuses now instantly update as soon as the cell charges or
discharges.
* Added a stack of 10 uranium to the machinist's workshop, which can
print two nuclear power cores.
Ported the various matrix procs and defines from TG.
Updated our snowflake procs with the Bay's current version.
Refactor of our orbit proc to align with the updated procs, tesla energy
ball too.
Made hardsuits maintenance panel pryable open, large chance it will
shock you if you don't have insulating gloves, takes a while to do.
Minor refactoring of the attackby code for the hardsuits, DMDoc'd and
minor refactor of the electrocute_mob proc.
Fixes#19173
Refactored the machinery operable procs into a single one, DMDoc'd, SDMM
marked, made more readable.
Fixed suspension field generator not being able to be used as it was not
checking the power cell for operability.
Fixes#19249
Minor refactor of the APC file, turned biteshifts into the BITFLAG
macro, reordering.
Added APCs maplints.
Fixed maps to pass the maplints.
APCs now draw time-constant power.
Removed power objects handling code, only the powersink existed that
used it.
Refactored powersink to use the processing subsystem, made it
time-constant, DMDoc'd.
Made powersinks drain power from an APC faster.
Refactored fire_act() to be in line with TG version, removed useless
parameter, added signal, made non sleepable and forced to call parent.
Added atom_act.dm file for the various *_act procs.
A significant amount of influence was taken from
https://github.com/Baystation12/Baystation12/pull/33255, however adapted
to Aurora. Key things to note is the port of the newer alpha settings
from /tg/, among other improvements.
The ancient holographic and screen overlay code has been purged. This is
now handled with emissives, while holograms are handled with filters as
well.
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.
This brings an updated system from Baystation, hopefully with speed
increases.
Should be testmerged, ideally with #18895.
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Part 2 of the PR series to bring /tg/'s and bay's plane masters to
Aurora, the lack of which is blocking several features we want.
This ports over the easier to understand Bay version of plane masters,
which is detailed in the relevant readme file in the code. Example
effect code for a warp effect is also in, which has been implemented for
gravity catapults.
Relies on #18741
---------
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Adds a new INDRA fusion reaction, allowing the production of lead,
uranium and borosilicate glass.
This requires cooperation across departments to receive iron and phoron
from either science or pharmacy.
This is to enable a slow, low yeild manner to obtain uranium, lead and
borosilicate glass in absence of miners, or to recieve a trickle of
uranium, lead, and borosilicate glass that doesn't outpace the payloads
miners can produce.
---------
Signed-off-by: QuestioningMark <49098034+QuestioningMark@users.noreply.github.com>