Updated balloon alerts with the latest changes from tgstation.
Improvements include a new plane for them, and their duration changes
depending on their length.
Unfortunately, since they were added, they have been abused for really
long text that is difficult to parse in-game (by myself included).
Balloon alerts are useful, but they are not smoking guns and have
limitations due to their lack of persistence. I have clamped down on
their abuse in favor of the standard established by tgstation, [seen
here](https://hackmd.io/0Cvr4hpcTe-KI6SbgfUWtw#balloon_alertballoon_alert_to_viewers).
We lack updated runechat so I will not propose this be a fully
implemented standard at this time, but I have cut down all existing
balloon alerts to size.
Buffs most commonly seen energy weapons by anywhere from 2-6 shots.
Laser pistols get closer to 2-3, laser carbines and rifles see buffs of
3-5 more shots, and blasters get the most love at 2-6 more shots,
depending on model. Anything with a scope, disruptors, anything that
autorecharges, or otherwise unique/odd have been left alone.
These changes are being made to hopefully bring energy weapons more in
line with ballistics. I've noticed that energy weapons are very rarely
used by anyone but security or someone doing a very specific gimmick.
Any time its rev or there otherwise is a crew militia started, I'll
order both laser and ballistics, and the ballistics are always taken
first. Ballistics overall are very strong, dealing far more enduring
damage than energy weapons tend to. And, most ballistics blow energy
weapons out of the water for just raw DPS. For example, both the laser
rifle and burst rifle have a damage of 30, with an ap of 20 for the
laser and 28 for the ballistic. This is fairly comparable, but
critically, the burst rifle is a burst rifle. So per trigger pull,
you're potentially doing up to 60 damage with ap 28. This of course
assumes you're using lethal for both, polymer rounds for the burst rifle
do 25 damage at ap 34. Which would be up to 50 damage per trigger pull.
I just don't think that the rechargeable plus beams going through
windows makes up for it.
Energy weapons also just suffer from critically small ammo counts. Which
is fine in a ship environment like the horizon (to a degree), but they
tend to perform very poorly in expedition settings. To the point that
they're arguably not worth taking for most away sites. This is mostly
because the average encounter will spend half or 1/3rd your ammo.
I still want ballistics and energy weapons to have their respective
rolls of expendable ammo vs rechargeable, and projectile vs beams (going
through windows without having to break them first being a very nice
advantage). But, I'd like to see people at least consider energy weapons
over ballistic for mechanical reasons rather than just flavor. Like I
tend to do with their current stats.
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.
Fixes#20571Fixes#17105
- bugfix: "Fixes invisible thermal lance inhands."
- bugfix: "Fixes bulwark chat bubbles."
Also moved the bulwark sprites in dmis to the left one pixel to match
all the other sprites. It annoyed me that it was 9 pixels adjusted
instead of 8 like everyone else. Alignment unchanged.
Fixes#19603Fixes#20558
- bugfix: "Fixes plant bags - now uses storage_slot system, along with
other bag subtypes."
- bugfix: "Borgs can interact with tables again."
- refactor: "Refactors make_exact_fit to be a binary variable."
- refactor: "Refactors storage items to use make_exact_fit instead of
arbitrary max_storage_space values."
- refactor: "Refactors storage items to use defines for storage space."
- bugfix: "Fixes monkey cube boxes having superfluous overlay."
- rscadd: "Updates the progress bar toggle message."
- qol: "Objects that rotated 90 degrees in storage no longer rotate in
storage slots."
<img width="732" alt="dreamseeker_qRVkIlYN78"
src="https://github.com/user-attachments/assets/1226ed22-52c1-4965-a1b4-2290e56a2ab3"
/>
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
I had to unironically bust out my pen and paper for this bullshit and
magnifying tool to actually check if things were pixel perfect.
- bugfix: "Fixes storage box alignment and storage space UI to use
better maths."
- qol: "Tweaks IDs, IDs and firing pins now rotate 90 degrees when in
storage for easier clickability."
- bugfix: "Fixes Item Tooltip toggle message."
- bugfix: "Fixes roundstart items in storage not showing item outlines."
Fixes#20529
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.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.
Title. 'nuff seid.
Also fixes the fucked up material insertion animations to use
flick_overlay_view so it isn't laggy as fuck.
And adds emissives to machines that have lights so they glow in the dark
epically.
<img width="138" alt="dreamseeker_N6egRW6Yz3"
src="https://github.com/user-attachments/assets/a17f12ba-b768-4ad6-a35f-baf33aaae658"
/>
* All the ballistic weapons in the armory now start unloaded. Magazines
and rounds that would've spawned in the weapon now spawns in the ammo
lockers. In effect, two beanbags shells have been added to the armory.
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.
This PR is mostly about fixing body/cryo bag layering issues.
Currently live and annoying to try and treat around:

Currently, bags are are below roller beds when first deployed. If
buckled and unbuckled, they are then above, because of the + 0.1 on
buckling.
If buckled on a roller bed, dragged, and then unbuckled, they are then
above player mobs, because of the `layer + 1` on roller bed `Move()`
proc, which also doesn't get reset. I removed this +1 on Move() because
it was older than the +0.1 and seems to serve the same purpose.
The +0.1 did not have a method of reverting to the original buckled
atom's layer, so I added a var and check to handle that.
I also changed bullet casing's layer to `BELOW_TABLE_LAYER` with the
intent of not having them on top of stasis bags and roller beds, because
it causes issues as someone trying to treat wounded after a firefight.
Changing bullet casing's layer does have a consequence of putting
bullets underneath, for example, the soil in the public garden. Putting
the soil on `BELOW_TABLE_LAYER` would fix this, but with the consequence
of having the bushes be on top, making clicking the soil difficult for
farming purposes. Adding bushes to that layer causes consequences with
side window layering (like on deck three outside the public lounge.)
For this PR I only adjusted the bullet casing layer. I'm sure it has
other unintended layering interactions. Let me know if it would be
better to leave them where they are or on some other layer.
Current changes in PR: Bullets under soil/roller beds/stasis bags.

(Example of why making bullets on top of soil is difficult) Screenshot
shows both bullets and the soil being `BELOW_TABLE_LAYER` with bushes on
top, as a reference. PR Currently has bullets underneath soil.

Frag grenades projectiles now apply some agony and eyeblur.
Frag grenades projectiles have damage augmented by 3 points (~10%).
Frag grenades projectiles have an augmented chance of leaving a shrapnel
(+30%).
Frag grenades projectiles have a chance to ricochet up to 2 times.
Some code cleanup and removed some procs that were no longer used
(nothing called them anymore) from the projectile refactor.
Reverts Aurorastation/Aurora.3#20102
The aforementioned PR essentially broke the proc, since the parent proc
doesn't set any return value; this in turn breaks the offhand item from
being deleted when you move a gun from the hand to eg. the backpack,
leaving you with the offhand item occupying the other hand despite you
not holding the gun
Since the fix is essentially a reversion, and since the parent proc
doesn't set any return value so it doesn't make sense to check it, I'm
opening a reversion directly.
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
Fixes the wield sprites of a few guns so they appear ingame. The
item_state definition seemed to cause the odd behaviour with the
Dominian rifles, and the Xanan rifles had a few mistyped icon names.
There seems to also be an issue in which inhand sprites for guns without
magazines don't appear, instead using the versions with magazines, which
is probably why the Dominian guns messed with the item_state in the
first place. Not tackling that here.
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
* Certain autolathe items can now be printed at Code Red without needing
to be hacked. (though hacking allows you to access them without the
level)
* Certain autolathe items have had their hacking restrictions removed,
such as the industrial welder. They are now printable by default.
* Reorganized the autolathe, drastically reduced the size of the General
tab, and introduced new tabs, such as Dinnerware and Armaments.
* Shotgun shells now print in piles, instead of one shell at a time. The
resource cost has been increased to compensate.
https://github.com/Aurorastation/Aurora.3/assets/22774890/b17b567b-e1a8-429c-a823-14ff4f47fb00
Removes the tranquilizer rifle from the HoS's office, and places it in
the RD's office. Along with removing the box of shells from the HoS
locker, placing them in the RD's locker.
Changes the description of the rifle to move it away from being a 50 cal
sniper. Changed the shells to reflect this as well.
Expands the RD's office and reshuffles it slightly to make space for the
tranquilizer cabinet.
Part 2 will be a resprite of the rifle, to be added at a later date.
PR will need loremaster approval due to description involving corporate
lore.
Tranq rifle projectiles now weakens animals for a bit, the larger the
animal, the longer it takes for this to happen.
Refactored the tranq rifle projectile code.
Fixed all datum[index] accesses, they are considered undocumented
behavior and fail from 515.1641.
Flipped the OpenDream pragma for the above to emit an error instead of a
warning.
God help me.
PR does the following:
- Adds the Apollo event shuttle we've been using, along with 2 variants
of it, and several other copy/paste-able event shuttles to use as start
points. Also, fluff writing regarding it that's subject to change.
- Adds a pipes guideline to give some guidance on preferred ways of
doing scrubber/supply pipes. Also copy paste ready atmos stuff.
- Adds a ton of industrial flooring decal color presets.
- Refactors /obj/effect/floor_decal/industrial/outline/engineering into
outline/engineering and outline/operations. Replaces all instances of
outline/engineering with outline/operations. This was done because
outline/engineering was using brown as its color, which isn't really an
engineering color.
Adjusts descriptions of some energy weapons to scrub Heph and replace
with NanoTrasen
Due to effecting corporate lore, I'll be passing this by the loremaster.
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.
Fixes Bug #19648
The Hegemony Energy Rifle has the E-Gun as a parent, instead of the
laser rifle, so it doesn't inherit all the single-fire-mode stuff that
the laser rifle has. I gave it all those attributes to make sure you
can't accidentally change the fire mode.
Edit: To clarify, this fixes the bug where you can change the fire mode
and it causes the gun to vanish.
---------
Signed-off-by: Crosarius <30341877+Crosarius@users.noreply.github.com>
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.
This adds code blue to the list of alert levels that allow wireless
firing pins to fire on lethal mode.
There's a cultural thing on Aurora where Code Red is never used, because
it stops the vote from being called. This means that during most high
intensity interactions, we stay on Code Blue, and the disruptor pistol
can't be used on lethal mode.
This simply adds code blue to the list of permissible codes for lethal.
---------
Signed-off-by: Crosarius <30341877+Crosarius@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>


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 <>
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.