* Moves screen objects from mob to hud (#54400)
This moves screen images from icons/mob to icons/hud
Makes more sense and it is easier to find
* Moves screen objects from mob to hud
* Update radial.dm
Co-authored-by: nicbn <nicolas.nattis@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
* Shuttle tweak and fix (#54395)
Fix lavaland podding
Make lavaland pod destinations hidden
Removed unused variables from connect_to_shuttle() proc
Shuttle consoles remove old custom port id from possible destinations when connects to new shuttle
Custom ports keeps clear from unwanted numbers.
Now shuttle machinery property connects to additional loaded shuttles.
Add some docking_port register logging and safety.
* Shuttle tweak and fix
Co-authored-by: Dennok <Deneles@yandex.ru>
* Ports #10649 from Citadel: An attempt at making hijack not shit and more about point defence (#54146)
So essentially there was discussion already here (https://tgstation13.org/phpBB/viewtopic.php?f=33&t=27620) about how hijack is one of the few objectives on Manuel that you can murderbone with, which is mildly at odds with the intention of the server.
Personally, I think hijack is just straight up terrible regardless of what server you're on. The way it functions is dreadful. Nobody must be aboard the shuttle in any part of the shuttle at all. This means you have people hiding in the walls or hiding in some invisible corner of the shuttle, cucking you of the hijack. For the most part, the only way to actually hijack the shuttle is to render it completely inhospitable or destroying it utterly save for, maybe, one square. The one you are standing on.
It's absurd. So, I knew kev made a pretty honest attempt at reworking hijack. And it works pretty well. It doesn't necessarily solve the problem of hijackers being mandatory mass shooters, but it goes some ways to improving the objective in a more interesting fashion, and allows for the discussion around the objective to be a little more open ended for the sake of the higher roleplay servers without actually detracting from the lower roleplay servers at all. If anything, this should improve the experience of being that gamer to stage a hijacking all the more interesting and about robustness, and less of hide-and-go-seek.
* Ports #10649 from Citadel: An attempt at making hijack not shit and more about point defence
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Fix improper null coalescence with has_antag_datum (#54382)
Fixes an incorrect correction of has_antag_datum to use ?.. This does not work since has_antag_datum returns 0 or an object, meaning has_antag_datum()?.property is essentially 0.property.
(Lemon's note, it was causing names to not show in radio chat)
* Fix improper null coalescence with has_antag_datum
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@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>
* Converts some unique and typelists into stringlists (#54237)
* Converts some unique and typelists into stringlists
Co-authored-by: Rohesie <rohesie@gmail.com>
* Fixes item actions being blocked by being unable to walk or laying down. (#54310)
* Fixes item actions not being able to be done while laying down, buckled, etc.
Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
* Temporal Scarring is now per-character-slot, changelings now fake scars when disguising (#54311)
* Temporal Scarring is now per-character-slot, changelings now fake scars when disguising
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
* Adds a bunch of looping audio to computers, grav-gen and telecomms. (#54324)
* Adds a bunch of looping audio to computers, gravegen and telecomms.
Co-authored-by: Qustinnus <Floydje123@hotmail.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>
* Adds new accidents to the omen component and makes it an admin smite (#54063)
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.
* Adds new accidents to the omen component and makes it an admin smite
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* 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>
* HARS no longer cures brain traumas, it moves your brain to your chest (#54222)
* HARS no longer cures brain traumas, it moves your brain to your chest
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* replaces a cursed proc in trauma code with a blessed signal (#54208)
code: some cursed snowflake proc call now uses a blessed signal in trauma code
* replaces a cursed proc in trauma code with a blessed signal
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
* Brings back the Disco Inferno shuttle, but as an admin-only shuttle (#54003)
* Brings back the Disco Inferno shuttle, but as an admin-only shuttle
Co-authored-by: ATH1909 <42606352+ATH1909@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>
* Some shuttes rework. Allow many shuttles of one template to work at the same time. (#53993)
* 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
* Some shuttes rework. Allow many shuttles of one template to work at the same time.
Co-authored-by: Dennok <Deneles@yandex.ru>
* Adds Shuttle 667 as a buyable shuttle for dispelling a cult rune (#53975)
* 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
* Adds Shuttle 667 as a buyable shuttle for dispelling a cult rune
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* Adds Uncle Pete's Rollerdome, a replacement for Disco Inferno (#54145)
* Adds Uncle Pete's Rollerdome, a replacement for Disco Inferno
* Adds Uncle Pete's Rollerdome, a replacement for Disco Inferno
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
* Painkiller and miner's salve kills pain (#53938)
* Makes painkiller kill pain.
bye bye pain
* Painkiller kills pain less, miner's salve kills pain
Painkiller lowered from 10 to 5 for painkiller, miner's salve kills pain for 20 (same as morphine).
* unga fix
* wtf its pass out not black out
black out drunk on bonegel
* Painkiller and miner's salve kills pain
Co-authored-by: brotherbeyondd <68032262+brotherbeyondd@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>
* Merge pull request #53937 from Rohesie/damage
Turns simple mob vars into string lists and fixes string assoc lists
* Turns simple mob vars into string lists and fixes string assoc lists
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
* Fixes decals causing 20k runtimes and blood not cleaning (#53967)
decals will unregister signals and wont try to clean twice
* Fixes decals causing 20k runtimes and blood not cleaning
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Fixes Dwarfism matrix transformation issue. (#54027)
Give person standing up Dwarfism. Their standing Y axis is scaled down.
Have them lie down. Transformation matrix applied to rotate them. Cure Dwarfism. Their lying Y axis is scaled up after they've been rotated. This is the equivalent to scaling up their X axis standing.
Repeat the process multiple times and eventually the player is only a couple of pixes tall and as wide as the screen.
This fix creates a new matrix, scales that matrix and then multiplies it with the existing transformation matrix. In this way, the scale is applied first and all other transformations stack ontop of it, to create the final transformation matrix.
* Fixes Dwarfism matrix transformation issue.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>