* Merge pull request #54347 from uomo91/trashbagsprite
The trashbag of holding now has its own inhand sprite.
* The trashbag of holding now has its own inhand sprite.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B
BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
* Converts all A && A.B into A?.B
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
* Fixes slices on pizza and resizes some foods (#54353)
fix: you can no longer cut pizza into bugged slices
fix: some small foods are actually small again
* Fixes slices on pizza and resizes some foods
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Converts some unique and typelists into stringlists (#54237)
* Converts some unique and typelists into stringlists
Co-authored-by: Rohesie <rohesie@gmail.com>
* Finishes the job on null rod sprites hopefully once and for all (#54235)
* One more pass on null rod sprites + null rod storage sanity pass
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Null rods no longer vanish when selecting a new holy weapon skin. (#54321)
Put null rod in active hand > Bring up radial menu to select new skin > Swap active hands to hand that is full > Select new skin > Nullrod spawns in nullspace, can't be put in active hand, stays in nullspace, old rod deleted > Chaplain has no null rod.
Now we (redundantly) spawn the new null rod at the holder's drop_location instead of nullspace.
We use put_in_hands which will attempt to put it in the active hand, followed by any free hand, followed by the drop_location if all else failed (told you the above was redundant, probably good practice to do though)
* Null rods no longer vanish when selecting a new holy weapon skin.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* BSbodybags inherit heaviest item weight + Easier to escape the disarm/BSbodybag combo (#54065)
Bodybags now inherit the weight of their heaviest item. If it doesn't have a weight (people), we assume bulky since things like people can be firecarried or whatever.
It now takes less time to get out of a bag (20 > 12 secs), and the progress bar is unbreakable unless you get incapacitated. This means people interested in using it to kidnap can still do so but it requires considerably more effort that isnt based on a latency difference and a quick disarm. The timer still runs down if you open the bag and try to put them back in but good attempt😏.
This also fixes an issue with the BSB where it was picking up or otherwise doublecalling checks from inheritance.
* BSbodybags inherit heaviest item weight + Easier to escape the disarm/BSbodybag combo
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
* Adds Alloy Materials (#53623)
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)
* Adds Alloy Materials
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fix some potential sleeps as detected by SpacemanDMM improvements (#54230)
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
* Fixes some potential sleeps as detected by SpacemanDMM improvements
Co-authored-by: spookydonut <github@spooksoftware.com>
* Converts Pizza to use the new food component. (#53641)
pizzas now use processing component
* Converts Pizza to use the new food component.
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
* Fixes the supply console not inheriting contraband and emag status from its circuit (#54177)
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.
* Fixes the supply console not inheriting contraband and emag status from its circuit
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* RPD unwrench upgrade (#53615)
* 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>
* RPD unwrench upgrade
Co-authored-by: Dennok <Deneles@yandex.ru>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
* Tile Reskinning: Allows you to make prettier in-game building projects (#54184)
* Tile Reskinning: Allows you to make prettier in-game building projects
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
* Nerfs uranium material effects, and changes how effective materials are on sheets and statues (#54178)
* Nerfs uranium material effects, and changes how effective materials are on sheets and statues
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Sign language fixes (#53890)
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>
* Sign language fixes
Co-authored-by: Wallemations <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
* Merge pull request #54127 from Tlaltecuhtli/peniss
tray belt and worn sprite
* tray belt and worn sprite
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Merge pull request #53702 from zxaber/kiltborg
[READY] Highlander mode now includes silicons
* [READY] Highlander mode now includes silicons
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* Completely FIX Hilbert's Hotel and its associated ruin to the game. (#53830)
Reverts the removal in #53790.
Broken in #53586.
Because turfNumber++ must be incremented on turf, not on every ATOM it
EVERY TURF, and anyway it don't trigger since first turfs don't have
atoms in it.
Fix#53794, Hilbert's Hotel peephole runtime.
Fix#53795, hhmysteryRoomNumber generates only once.
* Completely FIX Hilbert's Hotel and its associated ruin to the game.
Co-authored-by: Dennok <Deneles@yandex.ru>
* Makes some things that rely on atmos adjacency more sane/faster. (#54096)
* Replaces some CANATMOSPASS calls with a new define that checks if the turfs are in each others atmos adjacent list, as that's the same info that they want.
* Makes some things that rely on atmos adjacency more sane/faster.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Fixes monkeycube size and organ callback and microwaves (#54095)
* fixes
* dumb runtime
* fixes eggs
* Fixes monkeycube size and organ callback and microwaves
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Restores some functions food had (#53892)
Synthmeat steaks are a subtype of plain so that they can be used in burgers the way they could before
Colored burgers have color again, as they were just the greyscale sprite
* Restores some functions food had
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
* Nice, Corgi Pinning Action for the whole family. (#53913)
Adds pin the tail on the corgi, a basic party game last seen at the summer ball, that I had lying around on one of my branches since then. The corgi is a poster that functions like most other posters, but has an interaction with the fake "Corgi tail" object, which can be pinned onto the poster to visually place the tail onto the poster.
Are you a bad enough dude to pin the tail on the corgi blindfolded?
Fun, cheap entertainment. Might make for a cheap thrill, or help set the scene of a birthday party. Works as a very player driven basic activity.
Also, the tail pins are harmless embeds. I'll leave that here for you to think about.
* Nice, Corgi Pinning Action for the whole family.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Fixes up addictions reporting on scanners, and admin full heal (#54056)
* Fixes up addictions reporting on scanners, and admin full heal
Co-authored-by: NightRed <nightred@gmail.com>
* Atmos Machinery Variants (#54015)
Adds variants for a bunch of atmos machinery that were missing them:
unary tanks
atmos filters
atmos control computers (and circuit boards)
atmos tank turfs
atmos tank outlet injectors
atmos tank siphon vents
gas miners
* Atmos Machinery Variants
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes whiteship console losing GPS signal (#53998)
Deconstructing and rebuilding the whiteship console will switch it back to the GPS-less subtype. Added a new board and assigned it to the whiteship bridge console to remedy this.
* Fixes whiteship console losing GPS signal
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* fixes nuke core throwing (#53972)
The typepath was wrong, due to an improper feature from a couple months ago, this means that nothing actually happen, and a nonexistent type had a fun new dust. This has been resolved here.
* fixes supermatter sliver throwing
Co-authored-by: Fikou <piotrbryla@onet.pl>
* Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
* Enforce preserving parent proc return values across ui_act call stacks
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fixes various issues related to machine component contents. (#53943)
Fixes machines not referencing their circuits in their component parts when built manually, causing them to vomit out their circuit board when opened. This also fixes Runtime in _machinery.dm, line 607: Cannot read null.req_components from using the B/RPEDs.
Fixes computers not storing circuits in the contents.
Fixes smartfridges vending their components.
* Fixes various issues related to machine component contents.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Rebalances space loot and space exploration (#53916)
* Rebalances space loot and space exploration
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Machines now store their components in their contents. (#52970)
Machine parts are now located in the machine instead of nullspace.
* Machines now store their components in their contents.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fix skill related runtimes in mindless mobs. (#53691)
Fixes related to mindless mobs using skills
* Fix skill related runtimes in mindless mobs.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>