This PR does a few new things:
1. Adds a Mass var for Movables (/Mob, /Obj) which is literally required
for me to do anything at all with Kinematics (Very routine basic
physics)
2. Adds a derived "effective mass" statistic which is generated via
signal hook, allowing sources like Skills, Drugs, Cybernetics etc to
pitch in and contribute to a user's "Strength" in certain situations
without directly modifying mass.
3. Adds a mass modifier var for species datums, while painstakingly
calibrating each and every single species with consultation from every
lore team. A baseline human gets 72.0kg of Human Reference Mass. Any
species applied to it will multiply this by a constant that
algebraically cancels out the Human Reference Mass and replaces it with
a Species Reference Mass. Changing a species via the usual procs will
reset and then re-apply the correct values.
4. Refactored Lift/Drag/Fireman to have limits and penalties based on
relative effective mass
5. Finally, to make use of all this, I've added a new Conditioning
Skill, which modifies effective mass.
The standard assumption made for Lift/Carry is based in an assumption
that a typical character should realistically be able to
lift/carry/fireman a person 1.25x their mass. Previously the fireman
carry mechanic was heavily hardcoded, and didn't have much in the way of
granularity. If I wanted to RP a character that was a bodybuilder, there
wasn't really a way to do this. With this PR, there's now a fairly large
variety of interesting breakpoints.
This also allows there to be more granularity between different species
as desired by our lore teams. For example, a Zhan is in general stronger
than a M'sai. To give an example in the breakpoints for two different
species:
Human Lift Breakpoints:
Rank 1: 90kg (lift a Skrell, Human, Offworlder, M'sai, KA, or ZA)
Rank 2: 112.5kg (Lift a Zhan, Shell, or Diona Coeus)
Rank 3: 135kg (Lift a (Non-Industrial) IPC, Unathi)
Rank 4: 157.5kg (No new breakpoints, though you get less a movespeed
penalty from lugging around any of the above)
Can Never Lift: Industrial, Bullwark, Diona, Vaurca Ta'
Zhan Tajara Lift Breakpoints:
Rank 1: 116kg (Skrell, Human, Offworlder, M'sai, Ka, Za, Zhan, Shell, or
Diona Coeus)
Rank 2: 145kg (Non-Industrial IPC, Unathi)
Rank 3: 174kg (No new breakpoints, though you get less penalties from
the above)
Rank 4: 203kg (Juuuust barely lift an Industrial or Diona with heavy
slowdown)
<img width="1078" height="436" alt="image"
src="https://github.com/user-attachments/assets/a6802515-a827-4dc1-8734-55b604c589ab"
/>
Conditioning as a Skill sits in the Occupational category, which has
been carefully chosen and designed around to create a fairly compelling
web of opportunity costs. As a skill, it's very desireable for basically
any person that wants to play a "Muscular character" and also enjoys
fireman carrying people around, which makes it particularly useful for
hangar techs. By contrast a Paramedic might not actually need this
skill, since they can bypass the usual limits by just using rollerbeds.
---------
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
changes:
- refactor: "Refactors Gravity Generator UI from HTML to TGUI."
- rscadd: "Adds sector-based modifier var 'overmap_hazards_multiplier'
for generating total overmap hazard count."
- soundadd: "Adds new Lemurian Sea 'welcome' announcements."
- rscadd: "Added Lemurian Sea gravitic anomalies as overmap hazards and
random events."
- rscadd: "Adds ADPI/The Voices."
- rscadd: "Adds ADPI Panel for modmins to send ADPI messages to a single
character or all characters from their respective pools, or custom
messages."
- balance: "Vaurca Hivenet communication, the Hivenet Manifest, and
Hivenet Echoes are now disabled while the ship is in Lemurian Sea
sectors."
Repaths obj/machinery to obj/structure/machinery. **Note for
reviewers:** the only meaningful changed code exists within
**code/game/objects/structures.dm** and
**code/game/objects/structures/_machinery.dm**, largely concerning
damage procs. With the exception of moving airlock defines to their own
file, ALL OTHER CHANGES ARE STRICTLY PATH CHANGES.
Objects, _categorically_, are largely divided between those you can hold
in your hand/inventory and those you can't. Machinery objects are
already subtypes of Structures behaviorally, this PR just makes their
pathing reflect that, and allows for future work (tool actions, more
health/destruction functionality) to be developed without unnecessary
code duplication.
I have tested this PR by loading up the Horizon and dismantling various
machines and structures with tools, shooting guns of various types
throughout the ship, and detonating a bunch of explosions throughout the
ship.
Replace /datum/gas_mixture/proc/return_pressure with XGM_PRESSURE(xgm)
macro. Having such a relatively simple statement contributing proc
overhead to procs called millions of times is ridiculous
Rename /datum/gas_mixture/proc/zburn to react, deleting the old react
which was just an alias for it. Free proc overhead
Turn check_combustibility into a macro CHECK_COMBUSTIBLE(is_cmb, xgm).
also rewrite it slightly so that it only needs to do one pass. Its a bit
nasty so I apologize for that, but speeeeed.
Delete most powernet and obj/machinery/power procs for handling power,
replacing them with macros. The fact that we were unironically calling a
draw_power() on APCs to call draw_power() on their terminals to call
draw_power() on their powernet every single process tick was insane.
Turn `between` into a macro alias for clamp() since the param order is
different
turn `Percent` into a macro AS_PCT
Rewrite significant chunks of update_canmove so its not quite as
horrifying of a proc and hopefully doesn't eat the entire mob subsystem
every movement now
# Summary
This PR updates the marshalling wands and gives them intent based
coloring. In addition, hold a second wand in your hand, the settings
will be automatically synced.
## Changes
- Update marshalling wand sprite (more the structure then the actual
sprites).
- Added color modes, updated text, added mechanical hints and two hand
sync to marshall wands.
- Added signal for mob intent changes (unused at the moment).
- Adjusted Hangar Tech round start spawn points in the breakroom.
- Added second marshalling wand to each Hangar Tech locker.
## Preview
(Note this preview has been made prior further pixel adjustments,
consider it a demo.)

Ports https://github.com/tgstation/tgstation/pull/60314
Yep, a straight up copy-paste job. Ours was ass and broken and this one
Works and Looks Nice.
Actually having functional screen shaking again, I anticipate we'll get
reports that some shaking fx need tuning, so we'll zap those as they
come in.
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>
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.
https://www.youtube.com/watch?v=9mPvZ96pHJI
A pull request commissioned by the Synthetic Lore Team to
comprehensively rework synthetics (read: IPCs) and how they work in
Aurora. The objective is to make IPCs as unique as possible from humans,
upgrading the robotic feel and atmosphere, while also preserving a good
sense of balance in-game.
Key features:
- A comprehensive expansion of synthetic organs, all of which now
fulfill a purpose: hydraulics, cooling units, power systems, actuators,
diagnostics units.
- Customizable organs with benefits and drawbacks, such as with cooling
units and power systems.
- Unique ways to repair the organs and more involved steps.
- Unique damage mechanics - every organ has wiring and electronics which
affect its functioning, and they are defended by plating which provides
natural armour.
- Improved and immersive diagnostics.
- Unique features, benefits, and drawbacks for every IPC frame.
- A rework of the positronic brain, which can be either destroyed or
shut down, alongside effects caused by low integrity.
- A rework of how EMPs affect IPC organs.
- Non-binary damage states for each organ.
To-do:
- [x] Finish the unique features for each frame.
- [x] Look into if mechanical synthskin is possible.
- [x] Power system.
- [x] Posibrain mechanics.
- [ ] Passive cooling expansion.
- [x] EMP mechanics.
- [x] Repair mechanics.
- [x] Mob weight mechanics.
- [ ] Gurney for heavy mobs.
- [x] New augments.
- [ ] IPC tag scanning and flashing.
---------
Signed-off-by: Werner <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
Progress on DMDocs. PRing progress so far so there's not one mega PR
later with 1500 affected files.
I want my goddamn highlight text on what all these goddamn procs goddamn
do goddamnit. >:(
No actual code change anywhere in this PR, only comments.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
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.
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.
From previous PR:
- Fixes Quick Equip (Thanks, Matt)
- Fixes Loadout Preview, will override uniforms properly now
- Turns shirts into uniform items, so you can attach accessories to them
This also fixes the issue of people spawning in shirtless if they didn't
attach properly to the pants.
Additions:
- Shifts suspenders, leather chaps, and kneepads to be pants
accessories.
(This fixes the issue of accessories staying even without pants, e.g.
assless chaps)
(In future, hip holsters are to be added to this accessory list)
Anyway, that's the long and short of it. Have fun.
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@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 <>
Does what it says on the tin. Purely cosmetic for now. This is step
zero.
Basically, clothing is starting to get real bloated with a lot of
variants.
More pressingly, accessories as well, and we're probably going to get
accessories of accessories.
After seeing what's going on with arm guards, leg guards, plate carriers
and the like,
it's heading towards a really messy level of abstraction.
Hopefully this will nip it in the bud, so to speak.
I've also added the layering feature used in watches, so you can tuck in
your uniform in your pants, or your coat in your pants if you're so
inclined to.
This also means that in the near future, we'll finally have the ROLL
PANTS feature that has escaped us for so long.
For reviewers :
This PR is majority legwork of simply adding the new pants slot in. Very
similar to my previous Wrist slot PR.
The rest is just changing the existing pants/skirts over to a new
loadout slot and changing paths.
---------
Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
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 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
* 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.
* sdaf
* sdaf
* sdfa
* sadf
* sfda
* gfd
* reduce thrusters volume
* sdafsadsdaf
* sdfa
* Reduced some sound ranges and made some/more not ignore walls for loops
* health analyzers too
* ivdrip adjustment
* most tools now use play_tool_sound to have the sound played, reduced range for it
* fix(slur): use functions that support Unicode
Replaces Dreammaker's standard functions
with Unicode-enabled anlogs.
Fixes a problem with displaying Cyrillic
characters in drunk characters' words.
* refactor(mob_helpers): use switch in `slur` proc
* feature: unicode support in `whisper`
Allows you to use the Cyrillic alphabet
while whispering
* chore: add changelog for #18616
* style(whisper): add spaces to `capytext_char` call
Requested-by: FluffyGhoster
* SDQL2 update
* fix that verb
* cl
* fix that
* toworld
* this is pointless
* update info
* siiiiick..
* vv edit update
* fix that
* fix editing vars
* fix VV
* Port the /TG/ globals controller.
* part 1
* part 2
* oops
* part 3
* Hollow Purple
* sadas
* bsbsdb
* muda na agaki ta
* ids 1-15
* 16-31
* 41-75
* bring me back to how things used to be before i lost it all
* the strength of mayhem
* final touches
* cl
* protect some vars
* update sdql2 to use glob
* stuff?
* forgot that is not defined there
* whoops
* observ
* but it never gets better
* a
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* My heart is dragging me down into...
...oblivion!
* drifting closer to the edge but she won't have me
* ever round me we are dead before we meet her
* for the last time
* wake up in sweat
* n
* fff
* uff
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* a
* TGUI fixes part 3
* ugh
* bwuh
* ambiguous my ass
* AOAOAOAO
* pt 4
* extra foolproof
* a
* ok good thing i caught that
* enable that for AI
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
* tgui the beginning
* binaries and the like
* Bring in the last of it
* Example radio UI
* delete example
* NTOS Main Menu, start on manifest, tgui states
* tasks.json
* gunnery ui pt 1
* okay
* fix everything
* scss update
* oops
* manifest gigablast
* downloader part 1
* download prt 2
* NTOSDownloader final
* mfw committing to_worlds
* gunnery console pt2
* i cooked
* targeting (finished)
* one vueui down
* voting ui almost done
* MY MIND FEELS LIKE AN ARCH ENEMYYYY
* voting ui down
* photocopier
* ntos config + download fixes
* photocopier 2
* refactor define
* NTOS client manager + fixes
* fax machine final (it also uses toner now)
* marching forwards... left behind...
* ntnrc part 1
* canister
* add quotes
* portable pumps pt1 + more backgrounds
* oops
* finish the portable pump
* freezers
so I'll keep on pushing forward... you haven't seen the last of me... oooooooh...
* doors ui pt1
* finish doors UI (forgive me wildkins it's a bit of shitcode)
* vitals monitor, make things use labeled lists, new backgrounds
* mais j'envoyé aucun mayday...
* maglock pt1
* pour ça je me suis perdu...
* infrared
* fix that
* prox sensor pt1
* prox sensor
* signaler (this was actually pretty hard)
* atmos control pt1
* atmos control pt1.1
* atmos pt 2
* fuel injector
* multitool UI
* jammer
* list viewer
* APC
* portgen
* targeting console updates + SMES ui
* new themes, shield generator
* supermatter
* Add ore detector and (shitty) NTNet Relay
* orderterminal pt1
* orderterminal pt2
* smartfridge
* Add (air-)tank GUI update ore detector size
* Adds Transfer Valves
* Add AtmoScrubber
* analyzer pt1
* weapons analyzer pt2
* bodyscanner pt1
* bodyscanner pt2
* fix this shitcode
* seed storage
* appearance changer
* appearance changer final
* sleeper pt1
* sleeper
* gps
* vehicles
* chem dispenser
* lily request
* holopad
* tgui modules pt1
* ppanel
* damage menu
* fixes
* im here too now
* follow menu, search bars
* quikpay
* quikpay fixes
* circuit printer
* ppanel
* ppanel updates
* pai
* turret controls (i want to kill myself)
* tweak
* remove the boardgame
* guntracker
* implant tracker
* penal mechs
come close to me, come close to me
* chem codex
* pai radio
* doorjack
* pai directives
* signaler removal, sensors
* ghost spawner
* spawnpoint
* fixes
* teleporter
* one more to the chopping block
* account database
* remove divider
* scanner, atmos
* latejoin ui pt1
* latejoin
* records pt1
* RECORDS UI DONE
* delete interpreter & records
* CHAT FUCKING CLIENT
* data updates
* fix some things
* final UI, log
* basic nanoui fix
* antag panel
* remove vueui
* atm update
* vending update
* warrants, cameras
* ntmonitor
* time comes for all
* preserve this legacy
* bring that back (oops)
* rcon, ui auto update for computer UIs, remove rcon computers
* alarm monitoring (a bit broke and also todo: add custom alarm monitoring programs to a few consoles)
* A LIKE SUPREME
* a
* power monitor
* lights on
* fuck this code, fuck nanoui modules, and fuck nanoui
* LEAVE IT OH SO FAR BEHIND
* fix alarm monitoring for synths
* I SAW IN YOU WHAT LIFE WAS MISSING
* comms console
* idcard and record updates
* turn the light on
* arcade
* pt2
* news browser
* static
* crusher
* f
* COULD I JUST SLEIGH THE GOLD FROM THE BALLS? I'M SO FRUSTRATED OH COULD YOU TELL? IF I HEAR ONE MORE VUEUI OR ONE NANOUI I'M GONNA LOSE IT SO LET ME GOOOOOOOOOOOOOOOOO
* codeowners & suit sensors
* html ui style removal
* make lint happy
* tgchat
* tgpanels pt1
* THE SOUL LONGS FOR OBLIVION!!!!!!!!!!!!!!!!!
* figure out why stat isnt working
* goodbye ping
* shhh
* stat updates
* An oath sworn in scors! Omni vortex lies!
* final almost edits
* fix that
* last skin adjustments
* resist and disorder
* i slowly get up and turn off the noise, already fed up...
* pleaseeeeeeeeeeeeeee
* THE CREDIT LARP IS NECESSARY
* i hold the keys
* RISE UP
* fix that?
* harry's suggestions xoxo
* runtime fix pt2
* You are the only thing that I still care about
* fix runtimes and cl
* whoops
* misc fixes
* fix that too
* adds build workflow
* f
* Update update_tgui.yml
* adds some needed steps
* ATM
* misc fixes and tweaks
* fixes 2
* make newscasters usable and fix use power on freezers
* turret control is clearer
* remove duplicate
* makes some verb tabs work properly
* makes verbs work properly for real
* sans moi
* fixes pt2
* fix the chat unnecessarily reloading
* fixes
* epic
* fixes
* fix missing consoles
---------
Co-authored-by: John Wildkins <john.wildkins@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
Co-authored-by: Werner <Arrow768@users.noreply.github.com>
Co-authored-by: Geeves <ggrobler447@gmail.com>
Co-authored-by: harryob <me@harryob.live>
* dirty bombs & bodyhorror
* clean up + extra flavour
CE_ANTIEMETIC taken into account in the delayed_vomit() proc. doesn't need to subtract from CE_EMETIC anymore.
* desc. fix, TC tweak, syringe gun kit
* dirty bomb tweaks
radiation remains for as long as advertised (~8mins in an open space)
it also actually leaves behind the green goo now.
* circus
* code stuff
* Fixes
* the circus is here
* The funny
* Final touch
* things
* Fixes
* area fix
* More spawn and item fixes
* More fixes
* Fix mind
* changelog
* stuff
* tweaks
* Fixes
* circus
* a
* fixes
* areas
* finally
* changelog
* circus fix
* hidden
* Shuttle fix
* Shuttle fix
* circus
* The circus is here for real
* Fixes
* fixes
* tweak
* Should be fixed
* Area fix
* shuttler
* Forgot some stuff
* Let's see how this goes, updated the versions of various dependencies
* Changelog
* Didn't we merge a fix for those already? Anyways...
* Almost...
* Switch flyway to 9.9.0 instead
* Forgot one place where this is doubly defined
* Package dependency attempt fix
* Try to run on latest ubuntu version
* Forgot one
* Try to force cffi consistency
* Other way around
* aurora was a mistake
* Like this more?
* Stupid pipeline
* F
* FF
* Bruh ZAS
* GDI
* FFS ZAS + UT
* Checked maps, temp is set as this in there, so updating ZAS UT, wich was probably conked before
* All AI rooms are in normal expectation, so updating ZAS UT for it
* First attempt at making the AI area in the Horizon cooled
* F
* And the old aurora
* Remove version binding on requirements
* Updated changelog
* Spelling
* Binds versions again, as majority voted