Commit Graph

30256 Commits

Author SHA1 Message Date
MrMelbert 8c1e35e1c0 Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests (#76612)
## About The Pull Request

This PR refactors mind language holders into non-existence

As a result, `update_atom_languages` is no longer necessary

Mind-bound languages are transferred via `/mind/proc/transfer_to`

Species changing no longer deletes and re-creates the mob's language
holder, allowing them to keep any languages they have.

Species languages are sourced from `LANGUAGE_SPECIES` now, meaning they
are removed when they change species. If the mob is not a human with a
species datum, these are effectively just atom level languages.

Makes a bunch of unit tests to ensure language transfer over certain
events works as intended

## Why It's Good For The Game

Mobs with minds having two independent language holders results in a
good few bugs, and simply doesn't make sense when we have sources
(`LANGUAGE_MIND`).

Instead of tracking two language holders, we can simply use sources
better and only track one.

This means that the language holder you start with is your language
holder, period. It doesn't get deleted or re-instantiated or whatever.

## Changelog

🆑 Melbert
refactor: Refactored language holders, making species changes not delete
all of your known languages
/🆑
2023-07-10 18:34:57 +00:00
jimmyl 8aaa3e01b6 makes morgue units not hold ghosts (#76685)
## About The Pull Request

makes them unable to hold any /mob/dead

## Why It's Good For The Game

Fixes #76632

## Changelog
🆑
fix: morgue units can no longer hold ghosts
/🆑
2023-07-10 17:47:31 +01:00
Ghom 3b44a8b15c Adds cardboard IDs to the game: The broke man's agent ID. (#76682)
## About The Pull Request
This PR adds a new craftable item to the game that, in a way, works
somewhat like ID cards, as in it gives the wearer an identity of some
sort, and that can be modified similardly to the agent ID, but...

It doesn't provide access.
It doesn't trick security bots and turrets.
It doesn't work with chameleon masks.
It doesn't have a bank account.
It doesn't fit inside wallets or PDAs.
It doesn't show a trim (it's just cosmetic) on the security HUD.
It doesn't look like an ID card.

(It does however, synergizes well with sign language and face-covering
mask, but in the face of all the things id doesn't do, should I change
that? idk)

Basically, it's not an ID, it's just a piece of cardboard with name and
job written on it.

![aww](https://github.com/tgstation/tgstation/assets/42542238/b33ddb38-a11d-41d9-8085-2c719a2c4d48)

![(null)scrnshot1](https://github.com/tgstation/tgstation/assets/42542238/00a53379-70f6-4105-9cca-cff75d0e4144)

## Why It's Good For The Game
Often, player shenanigeans rely on ID cards with gimmicky names and jobs
to advertise themselves or provide a (feeble) disguise for it.
The idea is to provide players a cheap tool for their tomfoolery, that
doesn't get much in the way of balance. Compared to actual IDs,
cardboard IDs' only advantage is the fact they're more easily
produceable.

Also this PR converts a bit of snowflakey code into signals, and fixes
the name part in hallucination messages being shown "Unknown" while the
speaker is wearing a mask but also an ID.

## Changelog

🆑
add: Added cardboard IDs to the game. They can be crafted with a
cardboard sheet and wirecutters and modified with a writing tool. While
worn, these will modify the visible name of the wearer just like actual
IDs, though they aren't real IDs and won't work as such.
/🆑
2023-07-10 17:45:34 +01:00
ATH1909 ac7d94a678 Emagged organ harvesters can now harvest people who aren't naked (#76594)
## About The Pull Request

Emagged organ harvesters will no longer refuse a victim that has items
on their person, such as the handcuffs they've been bound with.

To be clear, this PR affects the organ harvester, which should not be
confused with the chef's gibber or cargo's recycler.

## Why It's Good For The Game

Emagging an organ harvester disables its checks to make sure that the
"patient" is dead, but doesn't disable its checks to make sure that the
patient is naked. This makes grinding people alive with an organ
harvester very awkward, as the machine will detect the cuffs you've
bound them with and refuse to grind them.

A demonstration of the jank involved in the current organ harvester
experience, courtesy of Livrah:
https://youtube.com/clip/UgkxC8OmO90nEhAonO0PIhRmQtcA-0urZoZ3

For the record, grinding conscious victims (but not critted or
unconscious ones) notifies ghosts. Furthermore, the variable for
disabling the item check actually already existed in the code for the
organ harvester, but was unused. I believe that tying someone up and
killing them slowly and painfully by shoving them into an organ
harvester is supposed to be intentional.

## Changelog
🆑 ATHATH
qol: Emagged organ harvesters will no longer refuse a victim that has
items on their person, such as the handcuffs they've been bound with.
/🆑
2023-07-10 10:45:07 +02:00
Fikou 8ca2a0bb35 service borg cookin fixin update (#76590)
## About The Pull Request
PR done for bounty:
https://tgstation13.org/phpBB/viewtopic.php?f=5&t=33988
borgs can now turn on stoves and griddles
borg click code has been reworked a bit to be closer to base mob, you
are now able to click on stuff within reach rather than just Adjacent
(might be buggy to introduce this? hopefully not. if anything we can
testmerge this), which lets us make the apparatus work to pick up stoves
on the range and such
Adds the Codex Cibus Mechanicus as an upgrade you can research in RnD
with the other service borg ones. When you use it it shows you the
cooking menu!

![image](https://github.com/tgstation/tgstation/assets/23585223/5f881387-e0ba-4bb8-a9d6-ddc9d8fa9272)

## Why It's Good For The Game
The service borg has the tools to prepare ingredients, but it can't
actually do anything with them, which severely limits it, only being
able to do slapcrafted foods.
The apparatus not working on items that are on top of stoves/griddles
seems to be just a bug with how cyborg click code is handled.

## Changelog
🆑 Fikou
fix: service borg apparatus now works on stoves and griddles and ovens
qol: borgs can now activate stoves and griddles
add: rnd can research a cookbook for service borgs
/🆑
2023-07-09 14:17:39 +01:00
DATAxPUNGED c2b82a7ea2 Gives Warden their own Garment Bag. (#76579)
## About The Pull Request

Puts all of warden's clothes on a garment bag, and puts said garment bag
on warden's locker
## Why It's Good For The Game

Warden has almost as much alternative clothing as a head, using his
locker is kind of a pain, and this oughta fix that
## Changelog
🆑
qol: The Warden's locker now has a garment bag
/🆑

---------

Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
2023-07-09 00:30:15 -06:00
FlufflesTheDog c6efc38e2f Re-adds placing patients on surgical tables (#76643)
## About The Pull Request
This was removed by #75840, as it had a conflict that made it so that
trying to unbuckle someone that was buckled to a table would try to
place them again instead. This redoes that, unbuckling if the person
you're pulling is already buckled to said table.
## Why It's Good For The Game
It feels a bit less friendly that your only options are being buckled to
a table or shoved onto a table. Also, buckling requires both mobs to be
beside the table, where placing only requires the placer to be, which
makes things a lot less awkward in cramped operating rooms.
## Changelog
🆑
fix: You can once again directly place patients on operating tables
/🆑
2023-07-09 00:11:20 -06:00
Jacquerel 65eab73561 Surgical Tables XVIII: The Return: The Saga Continues (final)[1] (#76634)
## About The Pull Request

Wow look at this beautiful surgical table, sprited by imaginos

![image](https://github.com/tgstation/tgstation/assets/7483112/a38ebfb5-813f-409b-83ef-9593cbd4de24)

Whoa look it even has the right offsets

![image](https://github.com/tgstation/tgstation/assets/7483112/58cebe0f-4d33-41a5-ae60-22a4b11381e4)

## Why It's Good For The Game

This sprite was all ready to go but the person who made the PR didn't
know how to apply the bed offsets so I have nobly stepped up to the
challenge

## Changelog

🆑 Imaginos
image: A new sprite for oeprating tables
/🆑
2023-07-08 15:28:19 -06:00
YesterdaysPromise 97ec5ed1a0 Adds Interdyne Modsuits (#76236)
## About The Pull Request
Adds separate, Interdyne-brand Modsuits for Intrudyne pirates.
Incredibly fast and more techy, including among other things an organ
thrower module (which is, based on flavour text, Interdyne tech). To
balance this, they discharge dramatically fast, encouraging fast get-in
get-out approach.

Sprite itself is mostly a combination of medical and syndicate suits,
with labcoat bits for extra stylishness and evil feel. The colour
pallete was enterily borrowed from Interdyne Pharmaceutics container
sprite and Interdyne-produced E-surgery tools.

![flayed](https://github.com/tgstation/tgstation/assets/122572637/8a09a138-b57b-4c51-9e78-2264ee895977)

![image](https://github.com/tgstation/tgstation/assets/122572637/fcc4dc4f-cc92-4643-b7dd-40856d9f9604)

![image](https://github.com/tgstation/tgstation/assets/122572637/f5282cb8-199f-4835-b852-8507bf9f189d)

Lorewise, I borrowed a random idea from cyberpunk lore video I once
watched and is now blurred for me now, upon seeing retrieval suits.
Originally made by conjuction of Cybersun and Intrudyne, combining
mechanics with supersoldier treatment for speed, allegadely for rapid
response and retrieval off corpses. [By the way, it would be funny if
someone coded an event where after cap's death on Revs or Cult, a bunch
of guys in these suits would show up with sole goal of recovering the
body and escaping with it (plus maybe some side syndicate objective)]
Aaanyway, obviously, the rapid speed plays into a lot of
Intrudyne-related tactics for the shady side of things as well. Much
like a scalpel, their attacks are supposed to be fast, clean and
precise.

## Why It's Good For The Game

Consistency thing, mostly. It doesn't make much sense that a medical
corp would use their competitors tools when they could develop a
counter. Also ties with organ thrower module, why would they have made
it, if they didn't have modsuits for it?

## Changelog

🆑
add: Added Interdyne ModSuits for Interdyne pirates.
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-07-08 10:26:10 -07:00
DATAxPUNGED 3cbbefa742 Mini Fridges now have a grimy subtype, can go over tables, and start off anchored. (#76517)
## About The Pull Request

/obj/structure/closet/mini_fridge is now a clean nice one, which only
spawns beverages and does not have that cockroach reference in the
description, and starts off anchored. now
/obj/structure/closet/mini_fridge/grimy works like the old mini-fridge,
with syndicake, moldy bread, and now the chance of an ACTUAL cockroach.
I've replaced them on maps according to each one's needs, So, as an
example, Northstar gets a regular one (it var edited it before) while
tram maints get the grimy subtype.
mini-fridges now can properly go over tables, so you don't have to
deconstruct said table to put it on top again.
## Why It's Good For The Game

I've found the need for a nice subtype while doing a ruin, and so has a
few other mappers apparently, as northstar had a var edited variant. The
fact that it couldn't go over tables and started off unanchored was
annoying on tram and icebox, where it is present on the kitchen and you
could easily push it to the ground and suffer.
## Changelog
🆑
qol: It has been issued brand new mini-fridges for our active stations,
Featuring more booze and less moldy pizza!
/🆑
2023-07-08 09:49:44 -07:00
DATAxPUNGED 8f4e4d1702 Removes excess ID boxes from the HoP's office and adds silver IDs to their locker. (#76448)
## About The Pull Request

Every ID, silver ID, and PDA box has been removed from the maps. You can
now only find ID boxes on the HoP's locker and PDAs must be bought from
the tech vendor. Said locker also had two instances of ID boxes, so i've
swapped one of them for the silver ID box
## Why It's Good For The Game

tram had, in total, 5 ID boxes. That's *35 IDs in total.* No one is ever
gonna lose that much, and having 7 is more than enough. If a situation
happens where you somehow need more, you can still buy it on the tech
vendor AND on cargo. I realized how many boxes the HoP had on the other
PR
## Changelog
🆑
del: Removed excess ID boxes on HoP's office
/🆑
2023-07-08 09:36:16 -07:00
carlarctg 4c99fb2ebb Coroner additions and tweaks (#76534)
## About The Pull Request

Serrated bone shovels can be created with any kind of shovel now, not
just a spade (???)

Serrated bone shovels can be used in place of circular saw in most
surgeries.

Added a duller (still deadly) variant of the serrated bone shovel as
coroner mail.

Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.

Increased the force, throwforce, and wound bonus of inert ritual knives
and scythes.

Coroner gloves can quickly apply medicine like nitrile gloves.
## Why It's Good For The Game

> Serrated bone shovels can be created with any kind of shovel now, not
just a spade (???)

Weird ass bug.

> Serrated bone shovels can be used in place of circular saw in most
surgeries.

It's serrated, it's cool, it's rare, it has a fast toolspeed.

> Added a duller (still deadly) variant of the serrated bone shovel as
coroner mail.

Very thematic for the coroner, should probably also be a heirloom item
but whatevs. Weaker so there's still a reason to seek out the OG.

> Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.

Scanning corpses is pretty important during surgery - it tells you how
much blood they have, organ damage, diseases... these things don't
appear in the surgical computer readout, which means the coroner has to
go out of his cave to pick up a boring light blue meatbag wound scanner.
This also incentivizes coroners to do their job by giving them something
cool that only works on dead bodies.

> Increased the force, throwforce, and wound bonus of inert ritual
knives and scythes.

These two options in the MortiDrobe are pretty frickin' badass,
especially with how SICK the Coroner looks with them, double especially
in combat.


![image](https://github.com/tgstation/tgstation/assets/53100513/98c6f8a5-3e5a-41a9-8a9c-cb6b82ecc0b8)

However, there's the large issue that as actual weapons they're really,
really weak. Not enough damage, when I use them in combat I both feel
badass but also get a nagging feeling in the back of my mind that I'm
intentionally gimping myself, and with only 10 damage I can *really*
feel it. I find it unfair that these are objectively worse than a
welding tool or even a Butcher's Cleaver when they're a lot more
involved to find, and scarce besides. These arguments apply equally to
the Wizard's ritual knife, and the scythe.

Additionally on the scythe, the crew really needs more good ghetto
weaponry that isn't the boring same ol' of baseball bats, spears,
cleavers... and making scythes useful is a great way to help bridge that
gap. They deal a satisfying amount of damage now, with the clear
downside, of course, being that they're bulky and hard to lug around.

> Coroner gloves can quickly apply medicine like nitrile gloves.

'Fast medicine' doesn't just cover sutures, it also covers medical gel.
Specifically, sterilizer gel. I find it annoying that the Coroner is
encouraged to give up his drip for the boring life-saver nitrile gloves,
because the difference in applying time really does make a difference -
it makes gel applying go from annoying to smooth, which is important
considering the whole purpose of sterilizer gel is to make surgeries go
faster. The Coroner has surgery and thus medical locker access to begin
with, so this isn't a balance problem, (and nitrile gloves are found by
the dozen anyways) especially with how rare the coroner gloves are.
## Changelog
🆑
fix: Serrated bone shovels can be created with any kind of shovel now,
not just a spade (???)
add: Serrated bone shovels can be used in place of circular saw in most
surgeries.
add: Added a duller (still deadly) variant of the serrated bone shovel
as coroner mail.
add: Autopsy scanners now act as advanced health analyzers on dead and
seemingly-dead people.
add: Increased the force, throwforce, and wound bonus of inert ritual
knives and scythes.
add: Coroner gloves can quickly apply medicine like nitrile gloves.
/🆑
2023-07-08 00:14:30 +01:00
LemonInTheDark cfc4e960bc Properly unreg's turf changed when space openspace is deleted (#76501)
## About The Pull Request

Openspace tracks the turf below for starlight purposes The trouble is if
a turf is replaced by another, all its signal registers still persist

I forgot about this, so we'd get runtimes when a
/turf/open/space/openspace was replaced, and the turf below it changed

## Why It's Good For The Game

Less random runtimes
2023-07-08 00:02:18 +01:00
carlarctg 721fd30837 Heavily reworks and resprites first aid analyzers. (#76533)
## About The Pull Request

Heavily reworks and resprites first aid analyzers. They now display if
they're happy, sad, angry, or warning you! Also a 'pricking' animation.

First aid analyzers are now found in all basic and specialized medkits.
Toxin medkits get a new* disease analyzer. Miners get a miner-colored
one in their box.

Scanning yourself with a first aid analyzer will 'create a holo-image
with treatment instructions next to your wounds', doubling the speed of
treatment of scanned wounds!

Health analyzers now have a scanning sound, courtesy of CM.

Refactored some wound code to make treatment duration changes and
changes in the description of wounds easier.

Fixed a dummy parent feature of the health analyzer (Verbose mode)
showing up, uselessly, on the disease and first aid subtypes.

Surgical processors and slime scanners have recieved a similar resprite.
## Why It's Good For The Game

> Heavily reworks and resprites first aid analyzers. They now display if
they're happy, sad, angry, or warning you! Also a 'pricking' animation.

These things have long, long needed some sprite love. Displaying emotion
will make them have a lot more 'weight' to them, same with the prick.
The old, shitty spectrometer sprites have gone directly into the
dumpster.

> First aid analyzers are now found in all basic and specialized
medkits. Toxin medkits get a new* disease analyzer. Miners get a
miner-colored one in their box.

They have also needed some gameplay love! Placing them in these kits is
not going to be a massive game-changer when they were already easily
found around the station in emergency medkits, but it will fill up that
awkward empty slot.

> Scanning yourself with a first aid analyzer will 'create a holo-image
with treatment instructions next to your wounds', doubling the speed of
treatment of scanned wounds!

The biggest gameplay-impacting change in this PR, I *sincerely* believe
this is the perfect solution to first aid analyzers being completely
redundant with eyesight. This lets you/someone else scan your wounds to
speed up treatment, with a neat in-character reason for it -
'holo-images' appearing on your body, like penlights.

This will speed up wound treatment, but I believe that is for the best,
as currently treating wounds is so slow that half the time it's not
worth it (or more accurately, it doesn't feel worth it in comparison to
the effort you're putting in) and you're better off shrugging off minor
wounds. It will do so in a way that requires a modicum of effort, so
it's not just a flat buff across the land.

> Health analyzers and gene scanners now have a scanning sound, courtesy
of CM.

It's a neat sound that will make medbay feel more alive. First aid
analyzers get a beeboop instead.

> Surgical processors and slime scanners have recieved a similar
resprite.

IT'S SPRITE MANIA IN HERE
## Changelog
🆑
Carlarc, Weird Orb
image: Heavily reworks and resprites first aid analyzers. They now
display if they're happy, sad, angry, or warning you! Also a 'pricking'
animation.
add: First aid analyzers are now found in all basic and specialized
medkits. Toxin medkits get a new* disease analyzer. Miners get a
miner-colored one in their box.
balance: Scanning yourself with a first aid analyzer will 'create a
holo-image with treatment instructions next to your wounds', doubling
the speed of treatment of scanned wounds!
sound: Health analyzers and gene scanners now have a scanning sound,
courtesy of CM.
refactor: Refactored some wound code to make treatment duration changes
and changes in the description of wounds easier.
fix: Fixed a dummy parent feature of the health analyzer (Verbose mode)
showing up, uselessly, on the disease and first aid subtypes.
image: Surgical processors and slime scanners have recieved a similar
resprite.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-07 23:19:55 +01:00
Jacquerel e2de2046b5 Bibles, Lighters, and Cowboy Hats can block bullets (#76521)
## About The Pull Request

If you are wearing a bible or lighter in your suit slot, or a cowboy hat
on your head, there is a small (2%) chance that bullets (only bullets,
not lasers) will hit them instead of you.
This destroys lighters, removes the storage capacity of the bible, or
sends the hat flying off your head.

The Bounty Hunter's cowboy hat has a significantly higher chance to
intercept bullets.

## Why It's Good For The Game

Adds some fun flavour to these items.

## Changelog

🆑
add: A bible or lighter in your suit slot, or cowboy hat on your head
will occasionally intercept a bullet.
/🆑
2023-07-07 18:36:04 +08:00
ChungusGamer666 ab5e3f9be6 You can put bricks inside pillows (#76341)
## About The Pull Request

Terrible idea I got from reading the comments in
https://github.com/tgstation/tgstation/pull/76312

![image](https://github.com/tgstation/tgstation/assets/82850673/400b0f3d-6ab8-47f3-a0de-73d4b61a5e5a)

## Why It's Good For The Game

Because it's funny as hell and makes pillows work as an improvised
non-lethal weapon, if you get sandstone bricks.

## Changelog

🆑
add: You can now put sandstone bricks in pillows to... make them
deadlier?
/🆑
2023-07-07 18:16:33 +08:00
Ghom d4cdd6b63e Replaces lava and chasm's "safeties" and ignoring turf slowdown on catwalks with traits and a new element. (#76376)
## About The Pull Request
This adds a new element for movables that grants turfs they're in
traits, changes lava and the chasm component to check for traits
instead, ditto for turf slowdown. It also implements another trait that
prevents wet floor from slipping people, as well as some other changes
(feel free to opine on them really):
- Tables and conveyor belts now stop turf slowdown, much like catwalks,
as I imagine people walking on them are not really touching the floor.
(I'd include protection against lava too... until they melt, but that'd
mean finding a way to have these objects burn in the first place, and
lava code is still stupid despite a years old refactor I did)
- Tables also stop slippery turfs from slipping (bananas, soaps etc.
still apply). I wish there were a way to make some objects slippery by
coating them in water vapor or splashing water/lube, but that's outside
the scope of this PR.
- Fixed an edge case in which a mob standing on a lava turf would be
left permanently visually on fire if the lava is changed to another kind
of turf.
- Removed unused code from stone tiles.

I'm going to include these traits in that global list for admin-added
traits... tomorrow perhaps. 💤

## Why It's Good For The Game
Replacing some hard-coded mechanics with easier to use traits and an
element, which I also need for the submerge element PR.

## Changelog

🆑
refactor: Replaced hardcoded "safeties" for lava, chasms and ignoring
turf slowdowns on catwalks with traits.
balance: much like catwalks, tables and conveyors also disable turf
slowdowns.
balance: slippery turfs won't slip you when walking on a table.
fix: Fixed an edge case in which a mob standing on a lava turf would be
left visually but permanently on fire if the lava is changed to another
kind of turf.
/🆑
2023-07-07 10:04:33 +01:00
MrMelbert 285d4c25c2 Robot suit hard-del / exited cleanup (#76583)
## About The Pull Request

Constructed cyborgs seemed to hard delete pretty consistently due to
their robot suit having poor reference handing

Goes through and better implements exited for cyborgs and robot suits

Also a hard delete with forced AIs that may have resulted in some
metagaming

Also fixes 1 nodrop check for hats

## Why It's Good For The Game

Hard deletes are bad

## Changelog

🆑 Melbert
fix: Fixed some hard deletes involving constructed cyborgs
fix: Cyborgs with nodrop hats no longer lose them on tip
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-06 21:50:02 -06:00
Jolly b6d48e12d7 Converts sec armories to using the (not) random mapping spawners (#76392)
## About The Pull Request
Title.

## Why It's Good For The Game
Armories aren't really a dense area mapping wise, just a few guns there,
armor there, and some fluff security stuff (like HUDs or whatever).

This PR just converts most of the heavy stuff (armor, helmets, guns)
into spawning helpers with the aim to make mapping armories just a tad
bit quicker and easier.

The only thing this does kinda nuke is the neatly stacked stuff, which
the mapping helpers kinda suck at doing, but its not totally woeful.

## Changelog

🆑 Jolly, timothymtorres
code: Jolly: Armories across all maps have been tweaked slightly. Report
to a Nanotrasen security advisor for any missing guns, armor, helmets or
anything else that was there previously (that means, post an issue on
Github if theres an issue!!)
code: timothymtorres: Random item spawners now support better control of
their X/Y pixel offset.
/🆑

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-07-06 19:11:01 -07:00
jimmyl b095659cde makes the rcd able to make girders (#76515)
## About The Pull Request

rcd can make girders at half the cost of making a wall in 1.3 seconds

## Why It's Good For The Game
more "rapid" than using iron for girders and putting whatever material
on it

## Changelog
🆑
add: rcd can make girders now
/🆑
2023-07-06 15:53:52 -07:00
lessthanthree 25cfa0c03d Maptext 2023 tweaks 3 (#76552)
## About The Pull Request

Hopefully the last set of changes in this demonstration of the
[Goldilocks
principle](https://en.wikipedia.org/wiki/Goldilocks_principle).

Some more font changes, the big (hah) one being the context tooltips
again.

- Context tooltips smaller main line, more compact sublines.
- Improves documentation on the usage of the macros.
- Removes incorrect comment I added earlier in tgstation.dme
- Adds black outlines as default in the macros.
- Icon sized letters (Dwarf Fortress, credits).
- Deathrattle and other actions reduced spacing.
- Aligned cooldowns/countdowns.

<details>
<summary>Screenshots</summary>


![image](https://github.com/tgstation/tgstation/assets/83487515/9d704e77-619e-45d1-961e-48f48bec4577)


![image](https://github.com/tgstation/tgstation/assets/83487515/e6d07bc1-1c8f-41e1-bdb5-1241a04873c4)


![image](https://github.com/tgstation/tgstation/assets/83487515/cb3f3def-74b9-4872-be9b-76c4b412b2e2)


![image](https://github.com/tgstation/tgstation/assets/83487515/daab8376-edb6-4866-875b-28c7fb3b0a8a)


![image](https://github.com/tgstation/tgstation/assets/83487515/2242dab4-affe-4e9c-a10a-c668fa2555a5)


![image](https://github.com/tgstation/tgstation/assets/83487515/735280b2-4054-4588-bb59-b1d35e56b989)


![image](https://github.com/tgstation/tgstation/assets/83487515/ee44b961-452f-4407-9fdf-337a6e20ad37)

</details>

## Changelog

🆑 LT3
image: More maptext and font tweaks
spellcheck: Context tooltips too small, too big... just right?
/🆑

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2023-07-06 12:07:34 -07:00
norsvenska 740adc0e58 Fixes silly siding sprites (#76586)
## About The Pull Request

Detaches siding code from the macro in #74171 because it wasn't doing
its job properly. I tried to fix it, but I'm not a very good coder and
opted to manually define each of the variations of siding. So this is
more of a bandaid fix than anything.

## Why It's Good For The Game

Fixes #76195, fixes #75059
Correct turf decals look better than wrong ones

look at how much nicer this corner looks now

![image](https://github.com/tgstation/tgstation/assets/73006946/39e78e69-e26f-4456-ac87-fecfe4d288ef)

## Changelog

🆑
image: Siding now uses the correct sprite on corners and endpieces.
/🆑
2023-07-06 12:56:00 -06:00
jimmyl 2fda4b99fc fixes the airlock power buttons for silicons (#76574)
## About The Pull Request

both values tend to be null or 0

## Why It's Good For The Game

fixes #76571

## Changelog
🆑
fix: silicons can depower airlocks via their UI again
/🆑
2023-07-06 11:54:22 -06:00
ChungusGamer666 c0fc3950ae Alcoholic quirk (#76510)
## About The Pull Request

So you're telling me we have a smoker quirk and we DON'T have an
alcoholic quirk?
What a travesty! Time to fix that.

This quirk is essentially equivalent to smoker, but instead of a
favorite brand you get a favorite *brandy* (as in, favorite type of
booze).

![image](https://github.com/tgstation/tgstation/assets/82850673/f3883f76-414a-48a8-8f69-76f1bc01d020)

## Why It's Good For The Game

More quirk variety with decent roleplay value.
What will we do with a drunken sailor?

## Changelog

🆑
add: Added Alcoholic as a negative quirk.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-06 11:47:39 -06:00
ChungusGamer666 4f2227baf3 Implements a macro for checking mind traits (#76548)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/82850673/f85d0556-1806-40bf-92b8-597e46ccb4af)
Seeing this pattern repeated over various sections of code was starting
to piss me off

## Why It's Good For The Game

Lessens chance to cause errors with mind traits, ensures consistent
behavior, makes it easier to change how mind traits work if necessary.

## Changelog

hopefully not player facing

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-06 11:45:46 -06:00
san7890 755fa4db6d Loads Away Missions for Unit Testing (#76245)
## About The Pull Request

Hey there,

A pretty bad bug (#76226) got through, but it was fixed pretty quickly
in #76241 (cf92862daf). I realized that if
we were testing all the away missions, that this could theoretically get
caught and not happen again. Regardless, unit testing gateway missions
has been on my to-do list for a while now, and I finally got it nailed
down.

Basically, we just have a really small "station" map with the bare bones
(_teeny_ bit of fluff, maploading is going to take 30 seconds tops
anyways let me have my kicks) with a JSON map datum flag that causes it
to load all away missions in the codebase (which are all in one folder).
Just in case some admins were planning on invoking the proc on
`SSmapping`, I also decided to gate a `tgui_alert()` behind it because
you never can be too sure of what people think is funny these days (it
really does lock up your game for a second or so at a time).

I also alphabetized the maps.txt config because that was annoying me.
## Why It's Good For The Game

Things that break on production could(?) be caught in unit testing? I
don't know if the linked issue I mentioned above would have been caught
in retrospect, but it's likely to catch more than a few upcoming bugs
(like the UO45 atmospherics thing at the very top) and ensure that these
gateway missions, which tend to be the most neglected part of mapping,
stay bug-free.

This is also helpful in case someone makes a new away mission and wants
to see if stuff's broken. Helps out maptainers a bit because very, very
technically broken mapping will throw up runtimes. Neato.
## Changelog
Nothing that players should be concerned about.

Let me know if there's a better way to approach this, but I really think
that having a super-duper light map with the bare basics to load up
gateway missions and then all nine-ish gateway missions can sequentially
load during init. I can't think of a better way to do it aside from some
really ugly `#ifdef` shit. Also also, it has the added benefit of being
a map that will always load your away mission without touching a single
shred of config (and it's not likely to break if you follow sane
practices such as making your own areas)
2023-07-05 19:40:24 -07:00
Jacquerel 48cc57010d Various spider fixes (#76528)
## About The Pull Request

Fixes #76484
Then I noticed some weird stuff which slipped through the PR and poked
at that too.

- Spiderlings and Spiders once more have names ending in (###)
- Removed an unused property on Spiderlings.
- Rewrote the descriptions for a bunch of web-abilities and web-objects
to be clearer and have better capitalisation.
- Refactored the "Web Carcass" ability to not extend from "lay web" as
it didn't need to perform most of that behaviour.
- Also I renamed it and made the description give you a hint about why
you would want to instantly spawn a statue.
- The web effigy now despawns at the same rate as the ability cools down
so you're not dumping spider statues all over the place.
- I made spiderlings move at about the same speed as humans except if
they're on webs in which case they're still pretty fast.

To be honest I am not certain an instant statue spawning button is great
to begin with and I didn't even know it was added to the game but I am
not interested in messing much with the balance for now.

This made me look at spiderlings enough that I'm going to try and make a
new sprite for them that isn't awful.

## Why It's Good For The Game

Lets you differentiate individual spiders a little bit.
Makes usage of abilities clearer.

## Changelog

🆑
balance: Guard spider web statues despawn as the ability comes back off
cooldown.
balance: Spiderlings now only move at light speed if they're on webs,
stay safe little guys.
fix: Spiders once again have random numbers after their names.
/🆑
2023-07-05 19:26:45 -06:00
ChungusGamer666 1f9bc21fc5 Hemiplegic quirk (#76526)
## About The Pull Request

Like paraplegic, but instead of a horizontal half of your body being
fucked, it's a vertical half!

![image](https://github.com/tgstation/tgstation/assets/82850673/aab1059e-9f5a-4778-a72a-c55c9fe75403)

![image](https://github.com/tgstation/tgstation/assets/82850673/2edf1a76-906f-41f5-984c-4260b65a279d)

## Why It's Good For The Game

Character customization and pure, undistilled human suffering.

## Changelog
🆑
add: Added Hemiplegic quirk.
/🆑

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-07-05 19:09:38 -06:00
LemonInTheDark 4d1e34322f Macros multi-z code, removes the false premise of manual offsets (#76248)
## About The Pull Request

[Removes the pretense of relative multiz
levels](https://github.com/tgstation/tgstation/pull/76248/commits/0293fdc2bd8c8af7a0d18da33265e060789c71f7)

Our multiz system does not support having a z level that is only
connected one way, or which goes down backwards or anything like that.

That's a fiction of the trait system, the actual backend has never
really supported this.

This pr removes the assumptions we were making backend around this, and
uses that to save cpu time.

I am also converting multiz_levels from an assoc list to a pure one,
which saves significantly on access times and cleans up the code
somewhat.

Also I'm making the get_below/get_above procs into macros, for the sake
of cpu time.

[Converts the starlight disease to use BYOND's directional defines
instead of our
own](https://github.com/tgstation/tgstation/commit/7d698f02d991eb4e1bde56314c657cf6e48ceb5d)

To some extent spurred on by
https://github.com/DaedalusDock/daedalusdock/pull/298, tho it was known
before

## Why It's Good For The Game

Faster multiz code, faster init, etc etc etc
2023-07-05 18:31:27 -06:00
LemonInTheDark 0b29e77985 Adds user feedback for going over order limits in cargo console (#76344)
## About The Pull Request
This'll prevent weird "above the max by accident" cases, and also uses
defines instead of hardcoded stuff. This code is often duped, wish we
had a better way of handling it.

Oh also removes a few safety copies before for loops that aren't
actually needed (for x in list copies the list)

## Why It's Good For The Game

Better UX, slightly saner code
2023-07-05 18:26:56 -06:00
Jacquerel 6e288185bc Cuter spiderlings (#76532)
## About The Pull Request

I hate looking at spiderlings. Mostly because they're an extremely fast
mob with no directional sprites or animations, so they appear to be a
rapid floating overlay.
I made some new ones. I don't know if they're objectively better but _I_
like them more.

Before:

![image](https://github.com/tgstation/tgstation/assets/7483112/ef561c4f-6d34-4ed2-a486-cd42f06f5648)

After:

![image](https://github.com/tgstation/tgstation/assets/7483112/7c073166-a956-4f7f-8dac-21d1a0f0a868)

Unlike the old sprites they also have directional states and movement
animations so you can scurry around really fast without being a static
image (maybe they shouldn't be so fast? A question for another PR).
I spent like 30 minutes looking at GAGs and then realised not only would
the colours be a pain in the ass but it doesn't support movement states
anyway.

Additionally I made the "dead spiderling" item inherit the dead
spiderling icon state from that spiderling instead of always being the
generic one.

Oh also I think a typo made baby tarantulas completely invisible.

## Why It's Good For The Game

I hate looking at spiderlings.

## Changelog

🆑
image: New directional sprites for spiderlings, with movement
animations.
fix: Dead spiderlings will be the same colour as they were when they
were alive.
fix: Tarantula spiderlings are no longer invisible,
/🆑
2023-07-04 20:17:29 -06:00
Ghom 55e00665f3 Walking on conveyors, catwalks and tables no longer plays the footstep sound of the turf, and have theirs. (#76391)
## About The Pull Request
Adds a footstep_override element to the game, that allows object to do
what it reads on the tin.
Only conveyor belts, catwalks and tables use it for now.

## Why It's Good For The Game
Consistency. If you're walking on a table or catwalk, the sound of shoes
trudging on snow or lava shouldn't be played. Tested.

## Changelog

🆑
sound: Walking on conveyors, catwalks and tables no longer plays the
footstep sound of the turf. They have theirs.
/🆑
2023-07-04 22:38:08 +01:00
jimmyl cf45322c7e TTVs on the back 2 : Electric Boogaloo (#76470)
# [ PREVIOUS PR](https://github.com/tgstation/tgstation/pull/76370),this
one is with the changes orangeman wants
## About The Pull Request

Allows you to use 15 cable on a TTV to allow it to be worn on your back
Wirecutting TTVs that have cable on them gives it back and makes it
unable to be worn again
![2023-06-27 18_51_29-Pride Warehouse
Epsilon](https://github.com/tgstation/tgstation/assets/70376633/95c3cb08-2848-4835-aeed-51e283668da5)

The worn sprite as per requests of orangeman changes to the number of
tanks:
All tanks, only tank on the left, only tank on the right, none
![2023-06-30 19_36_50-White Doctor's Course
Upsilon](https://github.com/tgstation/tgstation/assets/70376633/afdcbc03-0698-4b8d-a4b7-3b84c492c572)

## Why It's Good For The Game

Looks cool, sci drip
Can practically achieve the same with a BCI/other-activated TTV (Traitor
sci trolled by 1 shove, loses bomb, still results in detonating with
BCI/other activation, Traitor sci shoved, does not lose bomb on back,
still results in detonation)

## Changelog


🆑
add: You can use cable on TTVs to make them wearable on the back
/🆑
2023-07-03 21:01:08 +02:00
ChungusGamer666 f8049a6e6b [NO GBP] Fixes dumb usage of TRAIT_LIVERLESS_METABOLISM i caused (#76500)
## About The Pull Request

TRAIT_LIVERLESS_METABOLISM should do what it implies, and make you
always metabolize as if you were liverless.
This was a stupid mistake on my part because I wasn't aware
TRAIT_STABLELIVER was a thing.

## Why It's Good For The Game

TRAIT_LIVERLESS_METABOLISM and TRAIT_STABLELIVER should not behave the
exact same.

## Changelog

Not quite player facing.
2023-07-03 20:51:58 +02:00
ChungusGamer666 9e8f8dc877 SPECIES NUKING 2023 EXTRA: Makes skin tones a trait instead of a species variable (#76410)
## About The Pull Request

very similar to https://github.com/tgstation/tgstation/pull/76297, much
simpler though
removes the uses_skintones variable for similar reasons

## Why It's Good For The Game

Species variables are less useful and modular than traits. 
If for some reason we ever add a mechanic that for some reason makes
your character use skin tones instead of whatever their original color
is, it will be much simpler to be handled.

## Changelog

not player facing
2023-07-03 20:44:46 +02:00
itseasytosee 65703df45d Petrify Smite (#75538)
## About The Pull Request
adds a smite to petrify someone forever, works like the wizard spell.
Adds support to make petrification brainless.
Creates a var to remove those annoying "you can not move while buckled
to X" messages for abstract items like statues.
## Why It's Good For The Game
Smite good. Message spam bad.
## Changelog
🆑 itseasytosee
spellcheck: You should see a lot less "you can not move while bucked too
X" messages where they don't make sense.
admin: Added a petrify smite. Try it out on your least favorite player!
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2023-07-03 13:10:18 -04:00
Time-Green fd0d259074 urinal cake is decay proof (#76475)
Urinal cake is not actual food and even the mold dont want it

fixes: #76465

🆑
fix: urinal cakes wont decay anymore
/🆑
2023-07-02 20:39:12 +00:00
Jacquerel eac3c9d91c Emergency Relief Capsule (#76457)
## About The Pull Request

Getting back into coding by making some soul PRs.
Adds a new kind of bluespace capsule which replaces the default one when
the "budget pods" station trait runs, and is available from the vendor
for a (marginal) discount.


![image](https://github.com/tgstation/tgstation/assets/7483112/3fdf30e4-56c3-4181-9f8f-d11b6ec7a5e5)

![image](https://github.com/tgstation/tgstation/assets/7483112/a47581aa-ee2b-47c4-bd91-5a71391c2dd9)

The Nanotrasen Emergency Relief Capsule provides a port in the storm for
people with an urgent need, and very little else.

## Why It's Good For The Game

This one is mostly just kind of funny I'll be honest.
I guess it uuuuuuuh provides a kind of pod with no GPS signal if you
really want to go off the grid? But anything I write here is secondary
to the point of "someone suggested it on the forums and I liked it".

## Changelog

🆑
add: Budget cuts can sometimes effect the station's supply of Emergency
Bluespace Shelters.
/🆑
2023-07-02 20:25:48 +02:00
Helg2 de59a61b6b Some crayons fixes and minor changes. (#76468)
## About The Pull Request
- Defined crayon colors because why not.
- Fixed suicide with crayons not coloring you.
- Made it properly? edible.
- "empty" balloon alert now only appears on empty spraycans.
- Remade attackby restrictions for mime's and rainbow crayons to
`set_holdable` but without balloon alerts sadly. I don't quite know how
to make it.
## Why It's Good For The Game
Crayon burgers.
## Changelog
🆑
fix: Crayon suicide now properly colors you.
fix: You can't put spraycans in crayon box via opening it and putting
directly in slot as intended, but balloon alerts for mime's and rainbow
crayons are gone.
qol: "empty" balloon alert no longer appears on crayons.
qol: You can make crayon burgers now.
/🆑
2023-07-02 20:24:41 +02:00
Helg2 2a02cb536c Increases throwing weapons box storage to fit reinforced bolas and stuff it spawns with. (#76482)
## About The Pull Request

- Increased box with throwing weapons storage to fit the things it
spawns with, such as reinforced bolas.
- Increased debug boxes to fit other boxes and the items it spawns with
too.
## Why It's Good For The Game
Less bluespace magic.
## Changelog
🆑
qol: Box with throwing weapons now can hold the items it spawns with.
Incredible!
admin: Boxex of materials, debugtools and stabilized extracts now 99 of
total storage because they are meant to be debug.
/🆑
2023-07-02 20:12:18 +02:00
MrMelbert 80c954c6a0 Adds a new passive changeling ability - the Defibrillator Grasp. Adds support for 0 cost changeling abilities. (#76301)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/51863163/190d0dda-6899-468d-9a3e-5df05d7b1414)

- Adds a new PASSIVE changeling ability, totally not stolen from The
Thing, called Defibrillator Grasp. If someone attempts to defibrillate
your body while you are in stasis or dead, you will instantly be revived
at full strength. Additionally, the person doing the defibbing will have
both of their arms removed (or if they're a cyborg they'll just be
stunned).

- Adds support for 0 cost changeling abilities. DNA sting is now 0 cost
/ optionally learned.

## Why It's Good For The Game

The intent of this ability to add a new avenue for stealthier
changelings to spring upon their victims - faking their death only to
get brought to medical, then springing up like a bat out of hell and
pouncing upon a now vulnerable medical doctor.

Or maybe pretending to be another type of criminal to get brought to the
brig medbay and revived, then suddenly jumping up and striking out.

As for the DNA sting change - Ling gets a ton of buttons to start and
people don't often use a lot of them. DNA sting is a prime example. By
moving some to just "zero cost, optional", trims down on some action
ability bloat.

## Changelog

🆑 Melbert
add: Added a new 0 cost passive changeling ability, the Defibrillator
Grasp.
add: DNA sing is now no longer innate, but 0 cost, allowing changelings
to not take it if they don't plan on using it.
/🆑
2023-07-02 03:44:19 +01:00
MrMelbert 7f3d763285 Adds Roach Infusion to the DNA infuser (#76393)
## About The Pull Request

- Adds Roach Infusion to the DNA infuser. 
   - Bonuses include:
- All infused organs are 2x as healthy, notably your heart: Meaning
getting revived after being dead a while is easier
- When being attacked from behind or while lying down, take 50% less
damage from brute attacks
      - Lose disgust 32x faster, making it a non-issue
      - Higher toxin purge threshold (5 units, up from 3)
      - Virus resistance (same as spaceacillin)
      - 100 innate bomb armor, preventing explosions from gibbing you
      - 90 innate bio armor
- Immunity to appendicitis, radiation, and to being gibbed by nuclear
bombs
   - Downsides include:
      - Knockdowns are 3x as long
      - get 3x as hungry
      - Ingest reagents to your stomach 1.5x slower
      - Take 2x as much damage from toxins
- Toxins over the purge threshold deal 4x more liver damage (effectively
2x, as the liver has 2x health)
      - Becoming a bug
      - Roaches are gross

- Adds a way to kill roaches without having them splat. If they are
sprayed with bug spray, they will simply fall over, and can be scooped
up.


https://github.com/tgstation/tgstation/assets/51863163/5078c493-9e28-42cb-ae51-45fa25b67a34

## Why It's Good For The Game

More content for the DNA infuser, which benefits greatly from variety. 

While initially it may seem like a lot of bonuses, a lot of them are
very niche, with the exception being the brute resilience which is the
big "actually useful" bonus you gain.

The infusion is intended to be given to Engineers, offering innate
Radiation immunity to allow them to work on the Supermatter without
needing a rad suit. Likewise, if the work goes south and the Supermatter
goes boom, their body will more than likely survive the blast.

## Changelog

🆑 Melbert
add: Adds the Roach infusion to the DNA infuser. Do you want to survive
a nuclear apocalypse? Visit genetics today.
add: Adds a way to kill Roaches without splatting them. Visit botany for
a spray bottle of pestkiller.
qol: Infuser book is more book-like
fix: DNA infuser correctly gives on-success feedback messages
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-02 03:44:03 +01:00
MrMelbert d3fbaea8bd Fixes flaky language holder failure (#76477)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/51863163/d4f2fd51-6884-4623-b208-f670b6cdb75d)

## Why It's Good For The Game

Flaky failure

## Changelog

🆑 Melbert
fix: Fixes a runtime from people with aphasia trauma getting deleted
/🆑
2023-07-02 01:28:20 +01:00
John Willard 333bef46fe Improves jousting and gives it to more weapons (#76321)
## About The Pull Request

I was reading over components and saw one called jousting, I vividly
remember it being mentioned every so often but I've never seen it
in-game. Turns out the SINGLE case for it is when you are using a spear
on a borg. The code itself was also very over the place, making it a
little confusing to figure out what it did.

I tried cleaning the file up as much as I could, and since I wanted to
see this in-game more often, I made some player-facing changes too:

- You can now joust from any vehicle, not just borgs (Secway, ATV,
scooter, Charger holoparasite)
- Added jousting to the broom, pitchfork, captain's sabre, and energy
sword while active (ONLY esword, NOT desword).
- Added examine text to indicate this feature exists.

Extra notes:
Esword gains half the damage increase and half the knockdown chance than
other ways of jousting
Broom only gets 25% damage increase from jousting, since the broom is
already pretty strong I thought it would be better off as something used
mostly to knockdown.
Spears have to travel a longer distance than other weapons to get their
jousting benefits (since it's supposed to be a ghetto weapon)
Jousting now takes the minimum distance needed into account when
handling knockdown chance & damage dealt, so travelling 5 tiles will no
longer be 100% chance of knockdown if you need a minimum distance of 3
tiles to joust (it will instead be 40%, since you've only traveled 2
tiles in 'jousting' mode).

## Why It's Good For The Game

This is an underused component and I thought it would bring some pretty
cool interactions, especially for Holoparasite & Janitors, as a new way
to use vehicles to your advantage when it's otherwise seen as just a
slowdown.

## Changelog

🆑
balance: Jousting now works on anything you're buckled to, not just
Cyborgs.
balance: Brooms, Pitchforks, the Captain's Sabre, and Energy swords can
now be used for jousting.
balance: Spears need to travel a longer distance to joust now.
balance: Jousting's knockdown and damage now only gets stronger after
you've traveled the minimum tiles needed to joust.
/🆑
2023-07-01 21:52:08 +00:00
LovliestPlant 46b52aefd8 Useful Stethoscopes and Penlights (#75800)
## About The Pull Request
This PR overhauls and adds functionality to Stethoscopes and Flashlight
examinations (i.e. shining a penlight into someone's eyes/mouth).

Stethoscope Changes
- Dynamic results based on targeted body part.
- Chest: Assess whether the heart is beating, whether it is damaged
(above 10 dmg), and whether or not the player has suffered severe blood
loss. Assess whether the player is breathing, has lung damage (above
10dmg), and whether or not they have suffocation damage (above 10dmg).
- Head/Extremities: Assess heart function as above, and blood level
(nominal/low/critical).
- Groin: Assess whether or not the liver or the appendix have suffered
damage (above 10dmg). (The latter is only detectable if the patient is
conscious)

Flashlight Changes
- Eyes: Assess whether the patient is dead, has sustained brain damage
(above 20dmg), or has an X-Ray mutation.
- Mouth: Assess mouth organs, dental implants, suffocation damage (above
20dmg), and blood volume (nominal/low/critical)
## Why It's Good For The Game
Adds some proper functionality to two very rarely used tools.

Loosens up medical players' dependence on health analyzers to assess
their patients Provides an alternative, if manual and less accurate,
means of assessment.

For players interested in a more hands-on, RP focused approach to medbay
(or those in areas without power to recharge analyzers); I think this
will be a welcome addition.
## Proof of Testing


<details>
<summary>Screenshots/Videos</summary>


https://github.com/tgstation/tgstation/assets/107971606/43e87774-6db5-4db1-b7fa-92c3565c1009



https://github.com/tgstation/tgstation/assets/107971606/9ec42cc4-a996-4d60-a6f1-1aecf24b9bc8

</details>

## Changelog
🆑
add: Stethoscopes may be used on the chest, groin, or extremities to
assess organ damage, blood level, and/or suffocation damage depending on
the targeted area.
add: Shining flashlights into the mouth or eyes of other players will
additionally assess brain health, suffocation damage, and/or blood level
depending on the targeted area.
balance: Halves the duration of the flash effect from shining lights
into players' eyes (2s -> 1s). Use combat mode to get the full duration.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-07-01 19:31:29 +00:00
Sealed101 1825ea0d78 Storm weather related fixes (#76367)
## About The Pull Request
A bundle of stormy weather-related fixes:
- ash storm visually replenishes dug basalt again; also updates refilled
basalt's light, if it rolled an eligible icon variant
- new proc refill_dug() for asteroid turfs, currently made use of in
weather but be my guest
- I THINK the lowest-light variants are so low they don't show up at all
but I didn't look into the lighting subsystem so /shrug
- `set_basalt_light()` is a global proc. the reason is because we have,
like, an unnecessary amount of basalt turfs that don't call back to each
other. `misc/basalt`, `floor/fakebasalt`, `holofloor/basalt`. bro come
on. should merge them where possible but that's for a separate PR; ALSO
MAKE IT USE THE `diggable` ELEMENT BRO COME ON!!!
- ash storm no longer loops `end()` sounds
- it was calling parent THEN removing the playlist's sounds, which
caused the playlist's ash storm weak sound to be picked again and play
with a hugelarge timer
- snow storm no longer affects mecha pilots
- I find it weird that ash storm immunity is just innate whether the
mech is "sealed" or not (Ripley mk I) but for now, I've made snow storm
immunity behave the same
- _jaunt spells provide weather immunity while the jaunt is active_
- _the caster is supposed to be untouchable by any practical means, it
don't make a lick'a sense to have weather affect them. I gave it a
general weather immunity however, and that also makes jaunts protect
from radiation. methinks it's fair, lmk if that's excessive_

## Why It's Good For The Game
- Fixes #76304
- Fixes #76400
- Refilled basalt tiles that should have light are consistent with
mapped in basalt tiles
- Consistency for mechs; the adjustment might be a balance thing, lmk

## Changelog
🆑
fix: fixed basalt turfs remaining visually dug up when refilled by an
ash storm
fix: fixed ash storm ending sounds looping after the storm is over
fix: mechs are now snow storm immune
fix: jaunt spells protect from weather when jaunting
/🆑
2023-07-01 19:23:19 +01:00
JupiterJaeden 53c3ed80fa Makes you lie down when buckled to surgery tables, removes need for restraints (#75840)
## About The Pull Request

Makes you lie down when you are buckled to a surgery table, and also
removes the need to be cuffed in order to be buckled to one. Also
_technically_ makes surgery tables no longer climbable, but you can
still get on top of one by just buckling yourself to it and then
unbuckling.

## Why It's Good For The Game

This is a quality of life change for medbay (and anyone doing surgery).
It's kind of dumb that people stand up when buckled to surgery tables,
this makes you no longer have to ask them to lie down, especially nice
for dealing with patients who may still be AFK after getting out of
crit.

This also makes surgery a little easier on unwilling victims, no longer
requiring you use a regular/roller bed or crit them/keep them stunned.

## Changelog

🆑
qol: people now lie down when buckled to surgery tables, and you no
longer need cuffs to buckle someone to a surgery table
/🆑
2023-07-01 18:22:49 +01:00
LemonInTheDark 8c2c72b0ed Duiffel Spotfix (#76442)
## About The Pull Request

Gives duffelbags their proper slot count
They inherited this from backpacks, but I sorta just forgot about that

[Creates "levels" of locked objects, uses that to make locked duffels
work](https://github.com/tgstation/tgstation/pull/76442/commits/c613c00f62fa3ff03bb33737d24da9acbf2050e3)

[c613c00](https://github.com/tgstation/tgstation/pull/76442/commits/c613c00f62fa3ff03bb33737d24da9acbf2050e3)

Turns locked into something that holds defines, this makes life a lot
easier.
Requires a lot of boilerplate because of how many uses of these procs
there are and all the passthrough and shit.

Adds a few outfit subtypes to avoid this class of failure in future.

Renames the args in a few but not all touched procs, one thing at a time

Closes #76407
Closes #76430 Had the lock check in the wrong place
Closes #76441 GOD I HATE TK SO MUCH

Wrote half the pr without glasses so if it's weird gimme some grace
yeah?

## Changelog
🆑
fix: Fixes some fuck with duffelbags, them not holding enough + issues
with spawning gear in them (job shit and all)
/🆑
2023-07-01 15:36:26 +01:00
Vekter c5c20524c1 Adds build times to other forms of windows (AKA more Fornite removal) (#76449)
## About The Pull Request
Hot take but [Fortnite](https://www.youtube.com/watch?v=QqRLVFRe9AU) is
actually kind of fun when your opponents can't turn around and shit out
a five story mansion with a three car garage when you so much as breathe
in their direction.

I'm labeling this a fix because goof for some reason didn't do this in
his last anti-Fortnite PR and I can't imagine he intended to _not_ do
it.

## Why It's Good For The Game
Similarly, being able to shit out windows in combat is probably bad for
balance. All the windows take the same amount of time - 0.5s for
directional, 2s for full-tile.

## Changelog
🆑 Vekter
balance: Adds a build time to window types which didn't have ones
before.
/🆑
2023-07-01 15:32:43 +01:00
Ghom 0f4be6d9b5 Adds an element for noisy movement (wheelchairs, office chairs, trashcarts etc. etc.) (#76378)
## About The Pull Request
Converts generic, copypasted behavior into an element.

## Why It's Good For The Game
I'd rather not have someone just copypaste the old thing, since there're
a few more things to take into account now than just whether the item
has gravity, and if that ever has to change, we will only have to modify
one line than several.

## Changelog

🆑
fix: Fixed the office chair being silent. My bad.
/🆑
2023-07-01 15:30:09 +01:00