This is a pretty big change all around. The gist of it is that it moves the mobility_flags into traits or variables that can track the sources, and to which we can append code to react to the events, be it via signals or via on_event-like procs.
For example, MOBILITY_STAND could mean, depending on context, that the mob is either already standing or that it may be able to stand, and thus is lying down.
There was a lot of snowflakery and redefinitions on top of redefinitions, so this is bound to create bugs I'm willing to fix as I learn them.
The end-goal is for every living mob to use the same mobility system, for the traits to mean the same among them, and for no place to just mass-change settings without a way to trace it, such as with mobility_flags = NONE and mobility_flags = ALL
Fixes AIs being able to strip nearby people. They've lost their hands usage.
Adds and implements alloy materials
Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.
Materials added:
Plasteel
Plastitanium
Plasmaglass
Titaniumglass
Plastitanium Glass
Alien Alloy
Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.
Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.
(Lemons note: Adds a regeneration component, used for alien alloy)
Turns out what I thought was reagent units used per reaction was actually reaction multiplier in #53377, and it flew under the radar until literally 15 minutes ago.
This adjusted the reaction quantity down to 0.05, which with the 200 unit reagent volume of the showers, equates to about a 10u reaction per tick, ya know, rather high but reasonable considering that before it was mistakenly set to *5 instead, which meant you could de-husk a patient in a literal single tick with 1 unit of synthflesh.
The omen component now has a 15% chance when walking through an airlock to have it try to crush you and a 15% chance when walking next to an open turf to throw yourself into it alongside the existing 15% chance to get crushed by a vending machine and 50% chance when you trip over to crack your skull open.
It is also an admin smite with an option to make it permanent.
Allows airlocks to override safties for a single close() proc call, forcing a crush.
overrides weren't detected by should not sleep, i think i've mostly
fixed that with SpaceManiac/SpacemanDMM#214
Some of these are wacky but overall this pr is harmless
signals shouldnt sleep even in weird 1 in a million situations or due
to other people adding bad code
overrides of changeling can_sting() use alert() and input() and that's
just too fucked for me to fix in this pr
Added an abstract proc for circuits intended to be used to allow a circuit to configure a machine.
Overrode this proc for supply console boards (behaviour inherited by express boards)
Call this proc in supply console on_construction (behaviour inherited by express supply consoles)
Allows all supply consoles to inherit their circuit's emag and contraband status.
Doesn't look like any other circuits use this sort of functionality, but if they do I'll fix 'em up too.
Broadens the amount of clothing golems can wear to stuff that is role specific. This includes:
Some mime clothing
Some clown clothing (for bananium golems)
Some service clothing like aprons
science wintercoats (they're already wearing the labcoats after all)
Flipflops
Jeans and shorts (none of these have armor and golems already have all the slots from a jumpsuit anyway)
Fake moustaches
Lawyer suits (the overcoats, not the jumpsuits)
Caution signs
Among a few others.
Yellow slime extract can no longer turn into a self-charging yellow slime core. This functionality has been completely removed.
Hypercharged yellow slime cores no longer self-charge.
They now have a capacity of 50,000 (up from their previous 20,000). This is 10,000 more than a bluespace power cell.
Their recharge rate is 2500. This is relatively slow for the power capacity, as hyper and bluespace cells charge at 10% of their capacity respectively and this is 5%.
Motorised wheelchairs have had their power usage reduced to 5% of their previous value since they were basically only usable with rechargable cells before
* Most OP atmos tool. RPD that can unwrench pipes.
Adds reverse wrench mode upgrade to the RPD.
Attention, due to budget cuts, the mode is hard linked to the destroy mode control button.
Now /obj/machinery/atmospherics/deconstruct(disassembled = TRUE) return created obj/item/pipe
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
Observe, Refresh, alive/ghost count, and no more [ghost]
Apply suggestions from mr jaredfogle
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
mister jaredfogle
yes? he built? tgui it
add: Science has been given a more experimentally themed set of bounties.
del: Much of the old science bounties were discontinued.
del: ...As have the glass shard and cheese honker assistant bounties.
Cold room air alarm no longer wants to be at -60C, now has more reasonable temp thresholds set for the -14C default freezer temp (only meta uses this currently). Also replaces the meta medbay freezer with the cold room air alarm subtype.
Air alarms going off by default is bad.
If your hands are full, you make a visual attempt to sign, so others know you at least tried. If you have no hands, you simply cannot sign at all.
Having one arm gone and the other full properly makes one unable to sign
Runechat!
Uses TRAIT_HANDS_BLOCKED now
Any organ with ORGAN_UNREMOVABLE as a flag is no longer removed by aheals or full heals. Currently this only affects tied tongues, as no other organ really has that flag yet.
If you can't sign from your hands being full, you won't stand there silently staring at whoever you try to talk to.
People will actually see that you can't sign thanks to runechat
I finally fixed sign language for lings & xenobio mains
Co-authored-by: Rohesie <rohesie@gmail.com>
Making a hole in the supermatter chamber to vent it and so to slow down the delamination will instead make the delamination way faster, more so if the SM power is very high and the power level is high too.
Fix an old unintended feature where you could just vent to space the SM chamber to slow down or even stop a delamination (sometimes you could just make a hole in the chamber and it would stabilize while delaminating), the SM is easily fixable just by looking at the pipe and the meters, no need to vent to space. (Lemons note, in some cases a vent to space is needed, but it should not be a long term thing)
* add replace button to shuttle panel
load button now only load new shuttle
* shuttle teplate loads as shuttle
* new shuttle console connects to shuttle
* new navigation computer connect to shurrle
* docking_port id now unique
add count to id if id already in work
* many docks from one base tenplate
* up
* fix unregister
* up
* up
* up
* block multiple shuttle loading
* return preview button
* up id generation
* Adds Shuttle 667 as a buyable shuttle for dispelling a cult rune
* Add stasis beds
* Fix forcefields going away, leading to hull breaches
* Use set instead of list
* Use subtype for forcefield walls