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.
This resolves every issue I could eyeball with Vaurca Attendants.
Added to every ghostrole where they're appropriate, mostly wherever
warriors are. Included as non-combatants in the TCAF ghostspawn.
Added to every list for species-specific loadout items and augments, so
they should be able to select them now.
Added to every job blacklist warriors were already on, most notably so
you can't join as a consular officer or corporate representative.
Accounts for attendants with a lot of admin outfits and ERT spawns.
Resolves https://github.com/Aurorastation/Aurora.3/issues/19974
Refactored various procs used by VV: Header generation, dropdown menu
generation, moved various things around, some defines.
Fixed VV to be able to edit associative lists.
Fixed VV to be able to make a list ex nihilo on a var.
Removed various dropdown menus that didn't exist anymore and were doing
nothing.
Fixed add verb option to not wipe the already existing verbs of the mob.
Fixed a runtime error on some lists view building that were not handled
correctly.
Fixed an issue with build mode not having the correct permissions for
devs.
Fixed an issue with editing a list referenced by a key in another list
via the edit referenced object option.
Added DF_VAR_EDITED flag.
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>
Adds some new fields to the shuttle manifest:
- Destination (Per shuttle)
- Heading (Per shuttle)
- Mission (Per shuttle)
- Departure Time (Per Shuttle)
- Return Time (Per Shuttle)
- Expedition/Mission Leader (One per shuttle)
- Shuttle Pilot (One per shuttle)
Also adds the shuttle manifest to Bridge Crew PDAs by default.
<img width="458" alt="image"
src="https://github.com/Aurorastation/Aurora.3/assets/26849270/802d9a8d-9c43-4883-a5a7-d23967616766">
Ported SSThrowing from TG, to handle throwings.
Updated movement system to the latest iteration, made it a datum as per
latest iteration.
Updated pass/hit handling of atoms, introduced pass_flag_self to
determine what atoms allow to pass.
Moved procs and defines around to make them more organized.
This PR brings back the more accurate title for First Responders, of
Paramedic, to bring it in line with some snippets of the SOP and to be
more accurate to the role itself, as both Security Officers and the rare
and elusive Firefighting Atmospherics Technician can be considered first
responders.
also I just like it better.
Changes any mentions of first responder in gear/access/etc to Paramedic
or PARAMEDIC where applicable.
As stated in da lore: 'The Kosmostrelki are usually trained in the
martial art of Baghrar, both to instill discipline and help with their
balance. '
To reflect this, ERT and Kosmostrelki ghostroles now have the martial
art of Baghrar.
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Added telefreedom implants, including a box with (almost) everything you
need to make them work for 4 people, and added it to the uplink.
Fixed implanters not taking the implant and dropping it to the ground
when hit by one (while keeping it referenced).
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>
Traders used to only do greetings based on each subspecies, due to
significant overlap for some (ie, IPCs), functionality added for traders
to greet based on general species, if a specific subspecies is not
found.
Adds new defines for each species that is a list that has all subspecies
for them (ALL_IPC covers all frames for examples)
Biases for Species
DENY: "No service for Bots here"
UPCHARGE: Service, but prices higher
DISCOUNT: Special prrrices forrr comrrrades
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
changes:
- rscadd: "Cult Base cultists spawn without cult books, so they can only
use the runes mapped into the map, and can't make more."
- rscadd: "Conversion rune added that does not give the new cultist the
cult book."
- rscadd: "Cult Base mapping and ghostspawner tweaks."
REASONING:
having them spawn without cult books means they can only use mapped in
runes
which means they can't go out into other ships (or horizon) and spread
cult there
can't make stuff like stun talismans
can't make a ton of cult swords and armors and constructs
and so the cult stuff is mostly contained to this site
and outside of the cult base, these cultists are mostly just weird
people with bloody clothes
and not really all that supernatural
ghostspawner welcome text and desc is also updated to say they should
try to act more covert

---------
Co-authored-by: DreamySkrell <>
Napalm Grenade now costs 8 telecrystals (from 5) in uplink.
As it stands it is too powerful for its cost, this should better reflect
it's effectiveness.
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Refactored the use of the isprocessing var into the datum flag
DF_ISPROCESSING.
Updated SSprocessing and SSmachinery to have a constant fire rate.
Updated gas cooler to be time-constant thanks to the above.
Reworks blueprints to use an eye component for area selection and
changing. Blueprints will now work on whichever overmap site they spawn
on if overmap is enabled, though currently they have only been added to
the Horizon.
Adds shuttle-modifying blueprints for altering shuttle areas and
exoplanet outpost blueprints for creating areas on exoplanets. A set of
outpost blueprints and a lockbox containing blueprints for the Horizon's
shuttles have been added to the CE's locker.
Moves eye creation to a component.
Ported from:
https://github.com/NebulaSS13/Nebula/pull/465https://github.com/NebulaSS13/Nebula/pull/564https://github.com/NebulaSS13/Nebula/pull/3046
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
Character preferences / records are now decoded correctly for the
computer UI and character preference.
Known issues, that already existed before this PR: Security incident
reports cannot be imported (nothing appears), charges and details of an
incident do not show up on the PDA application

Added a door rigging tool, it allows you to mine a door, so that when it
opens, it explodes. Requires the door to be welded shut first.
Added a box and antag uplink item for the above.
---------
Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: Geeves <ggrobler447@gmail.com>
Origin traits, as well as species natural armor, will correctly remove
themselves when culture/origin/species is changed.
Vaurca primary language processors (K'lax Sinta'Unathi and C'thur
Nral'malic) are now culture traits rather than loadout items. This means
that they can be added/removed from ghostroles automatically without
having to copypaste the same code 200 times.
Secondary language processors (Sinta'Azaziba, Freespeak, Tradeband) have
stayed as loadout items as some of them do not have distinct cultures or
origins they can be added to.
### Summary:
This PR fleshes out cryonics, both inside a cryotube and outside of a
cryotube, and gives a pharmacist a lot more to do during those high
energy rounds as they will be required to prepare and oversee any
cryonic mixes. Lots of ways you can go about doing with the biggest
reward being brain regeneration that bypasses oxygenation requirements,
at the cost of significant downsides if done improperly.
This generally empowers pharmacists and physicians and offers
non-surgical treatment alternatives, though often incurs a penalty or
takes a little longer than surgical treatment, so it doesn't make
surgeons redundant.
This list'll be exhaustive so medical players aren't left in the dark
and can just refer to this while a wiki update is worked on, instead of
digging through code.
**Changes to Stasis/Cryotubes:**
- Stasis at temperates between 120K and 200K has been reduced to between
5 and 10, as opposed to 10 and 20. This means chemicals still have a
good chance of metabolising if you set a cryotube to above ~140K.
Cryotubes will still achieve good stasis if you cool below 120K -
upgraded stockparts from the workshop/R&D will help with this.
- (Bugfix) IPCs will not longer be knocked unconscious if they enter an
active cryotube.
**Misc. Reagent Additions/Tweaks:**
- Bicaridine now only requires 30u in the blood to begin attempting to
repair arterial bleeds, as opposed to 50u.
- Adds a Blood Thinning chemical effect. This prevents Coagzolug's blood
clotting effect from working and works in the opposite way - increasing
how much blood you lose per blood loss tick. Fluvectionem and
Synaptizine apply Blood Thinning at a strength of 25, translating to 25%
faster blood loss.
**Cryonic Chemicals:**
- Cryoxadone and Clonexadone both overdose at 5u. **_This is not a
problem when using a cryotube due to how cryotubes administer
reagents._** Overdosing either results in genetic damage and severe eye
damage.
- Cryoxadone and Clonexadone's organ healing capabilities have been
significantly nerfed. The organ healing is still noticable and useful
for pharmacist/surgeonless rounds; they cannot heal the brain though.
- Cryosurfactant has been renamed to Cryosilicate, mimicking
Pyrosilicate - the recipe now uses silicate instead of surfactant.
- Cryosilicate and Pyrosilicate now have an effect when used in the
body: cryosilicate will supercool a patient; pyrosilicate will
chemically incinerate someone. Leporazine will inhibit these functions.
- Bicaridine will repair arterial bleeds when used in cryogenic
conditions.
- Kelotane will repair disfigurement when used in cryogenic conditions.
- Peridaxon 2x effective in cryogenic conditions. Peridaxon can
denecrotise livers and kidneys in extracool cryogenic conditions - it
cannot denecrotise other organs. Using peridaxon in cryogenic conditions
will result in benign tumour growth (see below).
- Red Nightshade can repair bone breaks in cryogenic conditions. It will
still put a patient into a berserk state.
- Cataleptinol - see below.
**Cataleptinol Rework:**
Cataleptinol has been reworked from the ground up and is where
pharmacist's will be able to shine by making fancy cryotube beaker
mixers or cryonic mixtures for use in IV stands.
- The new recipe is 2 parts Alkysine, 0.5 parts Phoron, 1 part
Clonexadone and a 5u Cryosilicate catalyst. This translates to: 120u
Alkysine + 60u Clonexadone + 30u Phoron w/ 5u Cryosilicate = 60u (1
bottle) of Cataleptinol - expensive and lots of tricky precursors,
leaves enough left over to make a 2nd bottle without having to remake
all of the precursors.
- **In cryogenic conditions**, Cataleptinol will restore 7.5% brain
activity per metabolisation tick. This _bypasses the 85% oxygenation
requirement_, at the cost of hallucinations, blood thinning and liver
damage. The trade is roughly 40% brain activity (assuming nothing is
causing brain damage) for total liver failure.
- **Outside of cryogenic conditions**, Cataleptinol becomes a lot less
reliable and a lot more dangerous to use, with only a 75% chance of
restoring 2% brain activity per metabolisation tick. It will still
bypass oxygenation requirements, making it useful during _**severe
emergencies**_, at the cost of inducing painshock in addition to the
above hallucinations, blood thinning and liver damage. The trade is
roughly 25% brain activity (assuming nothing is causing brain damage)
for total liver failure.
- Cataleptinol _**overdoses at 3u**_ and has a fast metabolisation of
0.6u/tick - this makes it hard to dose without using an IV drip. If you
overdose Cataleptinol by using another method of administration, then
the patient's liver will crash, brain regeneration undone and the
patient will have severe seizures resulting in more pain. Using
Cataleptinol outside of cryogenic conditions **is high risk and only
potentially high reward**, but it could buy a couple more minutes.
**Tumours:**
- Adds Benign Tumours. Benign tumours simply drain nutrition and cause
frequent pain; they do not spread or affect nearby organs.
- Adds Malignant Tumours. Malignant tumours will begin by draining
nutrition then effecting symptoms based on the tumour's location (chest
tumours -> coughing, gasping, chest pain; brain tumours ->
disorientation, memory loss; abdominal -> vomiting, abdominal pain;
anywhere else -> lethargy). In the later stages, malignant tumours will
begin to damage the organs they are close to, then will eventually enter
the circulatory _~~and lymphatic~~_ system and spawn more malignant
tumours in other parts of the body.
- Peridaxon will result in benign tumour growth when overdosed or used
in cryogenic conditions.
- Genetic damage will result in malignant tumour growth.
- Ryetalyn is the anti-tumour drug and will put both benign and
malignant tumours into recession. You can also surgically intervene and
excise tumours as you would k'ois mycosis or fluke parasites.
- You cannot have more than 3 of any tumour - things won't get too out
of hand.
**IV Bag Stuff:**
- Adds 2 labels for IV bags: Cryonics Mixture, denoted by a CR; Other
Mixture, denoted by an M.
- Renames `blood packs` to `IV bags` and changes their formatting. What
was `blood pack O+` will now appear as `IV bag - O+ Blood`; `blood pack
Saline Plus` -> `IV bag - Saline Plus`.
**Misc.:**
- Only 20 genetic degradation on a limb is required to deform it instead
of 30. This should make it slightly more common, as 30 is a large number
to reach when this number is calculated per limb.
- Seizures can be given variable strengths.
- (Bugfix) Coolant tanks no longer just set a room's temperature to 0K
when destroyed. The amount it cools a room scales with the amount of
coolant still in the tank but cannot go below 173K/-100°C.
- Cryocells now have stockparts and can be upgraded/deconstructed.