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.
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 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 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.
The 'infest_with_parasite' proc was setting the 'parent_organ' variable
of new tumors to the src organ reference. Changed to set the
'parent_organ' variable to the 'limb_name' of the src which allows
surgery code to find it.
- ~~The handle_blood proc will now check all organs, not just damaged
ones, and apply bloodloss accurately; including arterials where the
external wounds are healed.~~
- Added an arterial check to the proc which determines which external
organs are damaged so that the handle_blood proc will correctly remove
blood for external organs with arterial bleeds with no damage.
- Arterial severity which applies less than 1u of bloodloss is now
accounted for properly and is no longer rounded down to 0.
Fixes: https://github.com/Aurorastation/Aurora.3/issues/17807


changes:
- rscadd: "Adds Synthetic Blood Substitute."
other info:
- ~~shell IPCs have white blood (other IPCs keep their black oil
blood)~~ (removed/reverted on request, shells keep black oil blood, no
change here with this PR)
- organics can optionally pick the SBS blood type to get white blood
- this is intended mainly for heavily augmented organics, and you have
to be have at least 8 augmented organs or limbs
- white blood has no mechanical differences (positive or negative)
represented in game, as it is supposed to still just be blood (but with
potentially better characteristics)
- white blood is incompatible with red blood, both ways, including organ
transplantations
---------
Co-authored-by: DreamySkrell <>
The Vaurca integrated mag-claw augment now mimics magboot functionality
(not slipping, etc) rather than deploying an entire pair of magboots
onto the user. Code shamelessly copied from #18875
Adds a new augment, available in loadout to non-Vaurca members of the
Ve'katak Phalanx, which can receive Hivenet broadcasts and transmit from
a selection of preset messages. Sprites done by @GMR25
---------
Signed-off-by: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com>
Co-authored-by: GMR25 <GMR25@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
* Tweaked some messages to be based on time since last message, instead
of being based on probability. This includes low blood messages,
infected liver messages, fever messages, and some drug messages.
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>
This PR adds several sprites for assisted organs, which previously
lacked any sprites at all. In addition, this adds an assisted brain,
which is now available to pick in character creation. Long-term, I'd
like to look into adding assisted implants into the medical gameplay
loop, but for now these are character-creation only. "Mechanical"
prosthetic brains are not possible, and have been excised entirely.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/organs/organs.dmi | Mechoid (Polaris) | CC-BY-SA |
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
This PR will make broad changes to the way that alcohol/butanol
intoxication works in game, with the intention of making alcohol
consumption actually impactful, and last much longer than it currently
does. It also includes some quality of life changes to the way that
liver damage works, better indication of the player's level of
intoxication to better communicate when the player is getting **too**
drunk, and the frequency of vomiting. Players will **no longer** die
extremely fast from getting drunk, will be able to get drunk, and stay
drunk.
- The rate of liver alcohol filtration has been reduced to 0.015
intoxication every second. This calculates out to the elimination of
0.015 BAC (One standard drink) every ten minutes.
- New messages have been added to indicate when the player is drunker
than drunk.
- At 0.10 BAC the "You feel drunk!" message is replaced with the message
"You feel absolutely smashed!"
- At 0.15 BAC the "You feel drunk!" message is replaced with the message
"You feel the room spinning..."
- Liver damage no longer occurs when the player vomits from
intoxication, and instead occurs when the player blacks out or loses
consciousness (0.20 and 0.30 BAC, respectively)
- The liver will no longer regenerate BAC is above 0.20.
- The coefficient multiplier that Unathi metabolise butanol has been
buffed from 3 to 9 (They now metabolise butanol at roughly the same rate
that Humans metabolise Alcohol)
One thing of note is that these changes have indirectly fixed a "bug"
that was occurring for Unathi with Butanolic beverages; The liver was
filtering out intoxication faster than Unathi were able to metabolise
some lower strength butanolic drinks, making them unable to get drunk
from things like sarezhi wine. With the buff to intoxication, and the
reduction in liver filtration speed, butanol is going to be returned to
being very potent for Unathi (This seems to be the way it was originally
intended?) so Unathi players who are used to Butanol being quite useless
at intoxicating Unathi are going to need to be especially careful.
Also, I have done testing on my local test server, but to be frank the
tickrate of my test server is very fast, and I'm not entirely sure just
how well these changes will translate to a live environment with a
heavier server load and longer tick times.
---------
Signed-off-by: Crosarius <30341877+Crosarius@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@yahoo.com>
* Added hemophilia and major hemophilia to the disabilities list. The
former will cause wounds to bleed for twice as long, while the latter
will cause wounds to bleed forever.
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>
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).
The appearance editor can now change organs and limbs into
prosthetic/nymph/amputated versions.
As ghostroles can now edit their own limbs, the Tarwa Conglomerate
ghostroles no longer have random nymph limbs.
Height and speech bubbles no longer need the user to be able to change
their species to modify them
---------
Signed-off-by: RustingWithYou <63625389+RustingWithYou@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
Adds two new origin traits - small pain resistance and a minor stamina
increase. Currently Unathi from the Tza Prairie have the stamina boost
and Unathi from the Zazalai Mountains have the pain reduction.
Also adds drug & alcohol resistance to Crevan Tajara.
Adds an augmented translator to the game, with which the user can
understand all human languages. I did not add a translator from xeno
languages, as it would have been very strong, given the difficulty of
translation and the peculiarities of their languages.
I have decomposed the original augment file to improve readability and
code handling. Hopefully this won't cause trouble in the future. (Sorry,
but an 800+ line file is a very large file.)
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.
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>
### 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.
New IPC heads can be selected by changing the head's prosthetic type, as
you would with a robot limb. All sprites by Noble Row.
Relevant to everyone else, this PR adds functionality to whitelist
sprite_accessories to certain prosthetic types, so you could
theoretically add Bishop-only markings for humans.
To-do:
- [x] Facial hair sanitization so that selecting a new head properly
removes the screens.
- [x] Marking sanitization so that selecting an invalid head for the
markings resets them.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* konyang/burzsia ghostroles & corpses now have proper tags
* more changes to other ghostroles
* ghostrole choice
* oops
* citizenship only checked for free ipcs
* else
* default tag value
* for antags and on species change
* untagged gaming