Commit Graph

260 Commits

Author SHA1 Message Date
Aliceee2ch
8cb8941485 [NO GBP] Borgening fixes (#93026)
## About The Pull Request

closes #93025 and closes #93013
also gives borg thermals right icon, i acidentally used regular meson
icon before, and kills borg goggles items (forgot to do that)

## Why It's Good For The Game

because bugs smell

## Changelog

🆑
fix: Fixed meson and thermal view action for cyborgs
fix: You can't eject infinite toner from cyborg decal painter anymore.
del: Removed now unused cyborg meson and thermal goggles items.

/🆑
2025-09-21 14:07:49 -04:00
Hatterhat
ea06f858c8 repaths lava lattices to lava catwalks (#92994)
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-09-20 09:18:28 -04:00
Hatterhat
c0f8e7bb5c Multiload Second Pass (ft. Speedloaders Will Be Real In 2025) (#92854)
## About The Pull Request
Gets, yet again, more granular with multiload capabilities, by
introducing `AMMO_BOX_MULTILOAD_OUT_LOADED`; ammo boxes flagged with
this can speed-load ammo boxes that are currently inside another gun,
like revolver cylinders or internal magazines.

To accomodate for this, the previous flag that covered this,
`AMMO_BOX_MULTILOAD_OUT` can no longer speedload into currently loaded
magazines (e.g. internal magazines, including revolver cylinders).

Also implements a base type for speedloaders, moving .38 and .357
speedloaders along with .310 stripper clips to this type, instead of
being ammo boxes. Also features an UpdatePaths script for mappers, which
is why there's so many files touched - repathing is a pain.

Also also adds fancy types for ammo boxes, magazines, and speedloaders,
which isn't particularly player-facing.

Also also also makes the lionhunter ammo strip for the lionhunter rifle
visually three rounds only instead of being perpetually half-full (or
half-empty, depending on your pessimism).

## Why It's Good For The Game

The hypothetical case of "ammo box that holds shotgun ammo" should
probably... not... teleport as much of its ammo as possible into a
tube-fed shotgun, but should probably still be okay at reloading
magazines that actually go into shotguns. Or something.

More relevant, reloading BR-38 magazines with speedloaders, while funny,
probably also shouldn't be teleporting in six fresh rounds.

## Changelog

🆑
balance: General ammo boxes (not speedloaders, not stripper clips) can
no longer multiload into currently loaded magazines (revolver cylinders,
internal magazines).
balance: Speedloaders are now a separate type from ammo boxes, and can
only multiload into currently loaded magazines e.g. revolver cylinders.
qol: Ammo boxes, magazines, and speedloaders now have fancier types for
spawning in by admins.
sprite: Lionhunter ammo clips are visually smaller now.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-09-20 08:10:35 +10:00
SyncIt21
27e868a3da Refactors how air sensors & atmos monitors connect (#92849)
## About The Pull Request
**1. Qol**
- Air sensors(maploaded & hand crafted) now auto connect to any input
ports & output valves that are within a 4 tile radius from it meaning
there is no need for these ports to have unique IDs attached to them &
you don't need a multitool to link them together if you first placed
those ports & then placed the air sensor close to them
- Atmos control monitors now finds all air sensors that are closest to
it within the same z level meaning you can have/place multiple air
sensors of the same type on the same z level & the monitor will locate
them correctly without any ambiguity

**2. Refactor**
- Removed var `chamber_id` from both injectors & vents meaning you don't
need to have unique ids assigned to them. As long as mappers/players put
them within 4 tile radius from the air sensor it will auto connect to
them
- Removed var `GLOB.map_loaded_sensors`

## Changelog
🆑
qol: hand crafted air sensors now auto connect to input & output ports
if they are located within a 4 tile radius from it
qol: atmos control monitors now locate all air sensors nearest to in on
that same z level meaning you can have multiple air sensors of the same
type on the same map
refactor: refactored how air sensors & atmos monitors connect to each
other. Please report any atmos computers that have missing input
valves/output ports on their connected air sensors or those that don't
list any air sensors at all on github
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-09-10 01:06:36 -07:00
SmArtKar
a35e236268 Adds glowing bits and pieces to a bunch of lavaland mobs (#92730) 2025-08-27 12:39:18 -04:00
Leland Kemble
571e0f53db Changes the white filing cabinet's path from filingcabinet/filingcabinet to filingcabinet/white (#92729) 2025-08-26 22:52:22 -06:00
MrMelbert
5df4de3f71 [MDB Ignore] Re-add hop console second ID slot (#92157)
## About The Pull Request

<img width="491" height="301" alt="image"
src="https://github.com/user-attachments/assets/a3b5b19f-edf5-4de9-9201-9cbfab9e8827"
/>

Mod computers with the access changing software installed have a
secondary ID slot once again. This ID slot doesn't contribute to access.
You can insert IDs into the slot with right click and remove them with
alt-right click.

Also removes the "New IDs and you" memo paper. 

Also tweaks PDA on_deconstruct so contents are dropped on when they're
deconstructed with assembly.

Fixes #92151

## Why It's Good For The Game

Changing IDs is very unnecessarily clunky with the one slot. Insert hop
id, log in, remove hop id, insert crew id, change access, remove crew
id, log out.

We had it right back when we had two slots. Insert hop ID, insert crew
id, log in. It just works.

This also allows for mobile HoPs to change access without necessitating
removing their ID from their PDA.

Other changes: 

The "New IDs and you" memo is very old. They haven't been new for 4
years now. I don't think anyone reads it and they served their purpose.

I found it odd that, if your PDA was melted or blown up, it would delete
your ID. If this is a hold-over from old PDA behavior feel free to let
me know but otherwise it seems sensible that it'd spit out the contents
as you would expect.

## Changelog

🆑 Melbert
qol: The access changing software (the HoP console) now has ID two slots
again (one for the HoP's id and one for the ID being changed). You can
insert IDs in the secondary slot via the UI or right click, and remove
them via the UI or alt-right click.
qol: If your PDA is destroyed via acid or bombs, your ID (and similar
contents such as disks) are spit out instead of being deleted
del: Deletes the "New IDs and you" memo in the HoP's office. They
haven't been new for 4 years.
fix: Engineering sub-tab in the access changing software no longer looks
messed up
fix: Fix reversed alt-click logic for mod pcs
/🆑
2025-08-11 19:08:18 +00:00
FalloutFalcon
2f932ccc88 [MDB Ignore] Converts all mapped space turfs into space/basic (#92385)
## About The Pull Request
an update paths to convert `/turf/open/space : /turf/open/space/basic`
## Why It's Good For The Game
From what i can tell there is 0 reason to use non-basic space turfs in
maps and this should be a free <sub><sup>*micro micro micro
micro*</sub></sup> optimization. consistency and avoiding confusion on
which one to use
## Changelog
🆑
map: converts all non-basic space turfs to space/basic
/🆑
2025-08-06 01:02:17 +00:00
Thunder12345
d97c57b263 The Glitterening (#92226)
## About The Pull Request

Adds a number of new capabilities to glitter.

- It can be any colour.
<img width="657" height="398" alt="image"
src="https://github.com/user-attachments/assets/60e80c04-8eee-470c-8953-47f6eda9f83e"
/>

- It can be made in chemistry and dyed by combining it with acetone and
other reagents to give it the average colour of the non-glitter,
not-acetone reagents.
- Multiple colours can be mixed into one reagent datum, randomly
depositing a colour from those in the datum on the floor.
<img width="554" height="507" alt="image"
src="https://github.com/user-attachments/assets/9cc7d1d5-9bec-4b28-af06-310ffb24de49"
/>

- Anyone with glitter reagent in them will cough glitter onto the floor
- Glittery crates will leave a trail of appropriately coloured glitter
when moved
<img width="960" height="259" alt="image"
src="https://github.com/user-attachments/assets/71cc1176-23f9-4ae7-b500-1744b752c014"
/>

Resprited glitter to support these changes and make it not look like gas
(or ass).

## Why It's Good For The Game

It looks cool and raises the bar for chemists maximally pissing off the
janitor as they fill a room with multicoloured glitter and all the
occupants run off to cough more up all over the surrounding area.

## Changelog
🆑
add: Glitter can now be made from plastic polymers and aluminium.
add: Plastic polymer can be made at any temperature, and then heated to
produce sheets.
add: Glitter can now be made any colour, mix 10 units each of glitter
and acetone to change its colour to that of the other reagents in the
beaker.
add: Mixing different colours of glitter will cause a random selection
of those colours to appear on the floor when released.
add: Being exposed to glitter in reagent form causes you to cough up
more glitter onto the floor
add: Dragging glittery crates will now spread a trail of glitter and
angry janitors behind them.
image: Added new glitter sprites (that don't look like gasses)
/🆑
2025-08-03 00:25:58 +10:00
SmArtKar
aaec4fd227 Removes forced tint from NVGs (#92322)
## About The Pull Request

Partially reverts #84594, removing forced tint from night vision goggles
(if anyone for some reason wants to experience it again, they can toggle
it via alt click like it could be done before the [aforementioned
PR](https://github.com/tgstation/tgstation/pull/84594))

Approved by Ghom (the original PR author)

## Why It's Good For The Game

NVG tint is a pretty sizeable accessibility issue, as forced screentint
can easily cause eye strain if they're used for prolonged periods of
time, being especially bad for blue-tinted NVGs. They're already locked
pretty deep down the techweb, and this change just made everyone avoid
them. If we need to make tintless variants of them for every single
antag and special role (and bitrunners, lol), we maybe shouldn't have
added the tint in the first place.
2025-07-30 21:52:35 -05:00
FalloutFalcon
d74f9ae8d5 generic parent type for both sabre sheaths (#92300)
## About The Pull Request
puts both the grass and normal sabre sheath types under a shared parent
type for shared behavior.
considered subtyping the storage datum but it seemed overkill. can do if
requested.
## Why It's Good For The Game
less copy paste. good if someone wants to add a clay-more sheath for
similar (believe that exists somewhere downstream), would have done it
myself but no sprites.
## Changelog
N/A
2025-07-25 20:14:26 -06:00
Y0SH1M4S73R
3e2c118921 Adds constructible plastitanium reinforced walls (#92115)
## About The Pull Request

You can now construct reinforced plastitanium walls by using a single
plastitanium sheet on a reinforced girder. These are mostly identical to
syndicate walls, but only have 2 explosion resistance like normal
reinforced walls, as opposed to the 20 of syndicate walls.

## Why It's Good For The Game

Have you ever wanted a construction project to have that cool syndicate
aesthetic, but doing so would compromise its security due to the walls
being able to be simply welded down? Now you can make a syndicate
shuttle or satellite that will at least require thermite or the aid of
an engiborg to rapidly break into.

## Changelog

🆑
add: You can construct reinforced plastitanium walls by using
plastitanium on reinforced girders.
/🆑
2025-07-21 13:42:24 +02:00
SyncIt21
f57f95aa95 [MDB Ignore] General maintenance for SMES (#91587)
## About The Pull Request
- SMES now directly gives/takes charge to the power cells stored inside
its component parts instead of modifying a `charge` variable whose value
was set from the total charge of its stored cells
- Removed `capacity` var. It's now derived from the total cells
`max_charge`. Even then its value was set to this so manually setting it
was a waste
- Fixes #71918. Because of point 1, this also means if you install
rigged cells in the SMES it now explodes
- Adds examines & screentips for installing terminal & other tool acts
- Smes can be connected to the powernet with a multitool with the panel
open after construction.
- General maintenance for portable smes as well. Repaths it to machine
subtype instead of power cause all it's functionality wasn't used
- Removed a bunch of unused defines, autodoc and shuffled around other
code

## Changelog
🆑
qol: SMES has examines and screentips for various stuff
code: Improved code of SMES in general
fix: smes can be connected to the powernet with a multitool with the
panel open after construction
refactor: SMES now functions consistently with its power cells & the
RPED.
/🆑
2025-07-12 16:21:58 +02:00
OrionTheFox
1cd78246b4 Makes the Organ Jar printable, lowers it chemical capacity and makes it pour large amounts at once (#92003)
## About The Pull Request

A note to start: the coroner's mail goodie is untouched. They still get
their brain-in-a-jar, prefilled with formaldehyde and with the
ghostrole-brain.

**First part is fairly simple. It's printable now.**

![image](https://github.com/user-attachments/assets/e11d0845-9002-4707-8b12-80ab0f0ede65)

**Balance is hopefully also simple...**
Originally it could store 150u, which just made it an improvement over
most of the other basic beakers... but it shouldn't even be useful in
chemistry, it's rather unshapely for that!

So the balance is as follows:
- It stores 120u of chemicals, printable roundstart.
_Identical to the X-Large Beaker - even in cost, needing some plastic
(which makes it shatter-proof. i guess.)_
- The unwieldy lip means it can only pour in large amounts (20, 40, 60,
120)
_It's not ideal for mixing in chemistry... This will **hopefully**
discourage using it where it'd look out-of-place.
Why juggle big numbers when you can use easier to handle, equivalent
X-Large Beaker?_
 
If players so choose they **can**, of course, still mix their spacedrugs
soaking in a bottle with a Felinid Liver. It's just not a preferred
shift-start beaker.

_Also it's a /beaker subtype now because I wanted to inherit some
things, like the pickup/drop sounds.
This technically means it works as a component in machines, but since
it's equal to an X-Large beaker that doesn't really mean anything. Just
a funny interaction._
## Why It's Good For The Game

I can finally torment my patients without having to hope the Mail Gods
deem me (or the department Coroner) worthy.
The idea of gifting them their inflamed appendix in a preserved jar
makes me happy.


![image](https://github.com/user-attachments/assets/fc0bc9db-28dd-4a13-a3b7-47c51389759f)
## Changelog
🆑
add: Medical (and Science) can now print Organ Jars from their
protolathes! Their shatter-proofing requires some plastic, though.
balance: Organ Jar capacity lowered to 120u, and they can only pour in
large quantities (have you ever tried pouring out of a jar with a lip
like that? Disaster. Such a mess.).
/🆑
2025-07-09 14:11:07 +02:00
Roxy
a37a081b5f Add updatepaths script for maid uniform resprite (#91979)
## About The Pull Request

#91885 deleted the hand and neck items and repathed the headband during
the re-sprite and those could have been mapped in somewhere... on a
downstream far away

## Why It's Good For The Game

Deleting/repathing items likely to be on maps should have updatepaths
script

## Changelog

No player facing changes
2025-07-06 21:11:07 +02:00
Roxy
959e6e6a36 Fix emergency suture updatepaths script (#91978)
## About The Pull Request

The script is backwards, it replaces bandages with emergency sutures

## Why It's Good For The Game

It doesn't work

## Changelog

No
2025-07-06 21:10:39 +02:00
Krysonism
8ef45975ba Emergency suture is kill. Replaced with bandage. (#91854)
## About The Pull Request

This PR removes the suture/emergency item and replaces it with a bandage
in all instances.

Provides as much brute healing overall(25), but in one big chunk.

## Why It's Good For The Game

### Flavour

Suturing is a specialised medical skill and not typically something
you'd expect to find a standard workplace first aid kit.

The emergency suture also shared a sprite with the regular suture
causing confusion.

### Healing Glut

Like when I first added sutures and mesh six year ago, one of the main
reasons for making this change is also to start making a dent in the
glut of free easy healing available to the crew.

While medical is in a much better place than before we started the grand
medical revitalisation project¹ 6 or so years ago, we have been
backsliding by turbo powercreeping chems, letting plumbing churn out
ungodly amounts of heal mix patches, nerfing organ damage and wounds and
adding more free healing items to maps.

While these bandages provide the same amount of healing, the healing is
less granular as such some of it will likely be wasted, leading to a
modest reduction of free heal points available to the crew under real
world conditions.

#### Wound Treatment

The bandages are worse for treating bleeds, but the kit already contains
a super ez bleed fixing pen and gauze, so the kit is still very robust
for dealing with bleeds.

Hopefully the minor reduction in bleed treating power will encourage
players to engage more with the expansive and robust system we have for
ghetto treatment of bleeds.

While this doesn't address the multiple elephants in the room, it
reduces the free item glut slightly.

1. (cloning removal, organ damage, trek meds removal, sleeper removal,
bruise pack removal, surgery expansion etc)
2025-06-29 13:20:51 -05:00
SmArtKar
7f693d1395 Allows attaching breath masks and tanks to operating tables (#91112)
## About The Pull Request

Air tanks (ones that can slot into tank holders) and breath masks
(normal, surgical and muzzle, which has been repathed to be a subtype of
breath masks instead of being a subtype of a muzzle, for some reason)
can now be attached to operating tables, and removed using
wrenches/screwdrivers respectively.
Right-clicking on an operating table with a mask attached will put it in
your hand akin to defib paddles (similarly snapping back if you walk
away). Dragging the table with an attached tank onto the person lying on
it will attempt to connect their internals to the attached tank.

Also since I had to adjust the table sprite, its lights now change color
based on whenever there's an active patient and an active operating
computer.

##### This is a commission for Improvedname/Ezel

## Why It's Good For The Game

Anesthetics are incredibly clunky to use, as either the person
themselves, or you as a surgeon, need to equip the tank onto whoever is
being operated on, then equip and activate the mask. This should make
them a bit less tedious, so maybe they'll actually see some use.

## Changelog
🆑
add: You can now attach anesthetic tanks and breathing masks to surgical
tables.
/🆑
2025-06-09 16:29:02 +01:00
Ghom
14fb86e3e8 Mutation code cleanup, mutations now have sources to avoid concurrency problems. (#91346)
## About The Pull Request
This PR aims to clean or bring up to date portions of code about dna,
the dna console and mutations. This includes taking care of or removing
some of the awful choices like the pratically useless
`datum/mutation/human` pathing, or the class variable, in favor of using
sources to avoid potential issues with extraneous sources of a mutation.

The files changed are over a hundred just because I removed the
`datum/mutation/human` path, but the actual bulk of the code is mainly
shared between the datum/dna.dm, _mutations.dm and dna_console.dm.

## Why It's Good For The Game
Mutation shitcode is hurting my future plans for infusions a little.
Also it's a much needed refactor. Drafted 'till I'm sure it works
without issues.

## Changelog

🆑
refactor: Refactored mutation code backend. Report any issue.
/🆑
2025-06-08 13:57:10 +02:00
Roxy
11180471ea rewrite blood refactor UpdatePaths to use @SUBTYPES (#91462)
## About The Pull Request

This subtype isn't currently used on any TG maps but it is a subtype
that was renamed in the refactor

## Why It's Good For The Game

More complete UpdatePaths scripts

## Changelog

Nothing player facing
2025-06-07 10:56:32 -06:00
SmArtKar
b4061f1800 [MDB IGNORE] Blood Refactor Chapter 2: Collector's Edition (#91054)
## About The Pull Request

Refactors most of blood handling code untouched by #90593 and completely
rewrites all blood decals, components and reagents.

- Blood types now have behavioral flags which allow them to control
where they leave decals/DNA/viruses. Oil no longer transfers DNA and
viruses with it, while podpeople water-blood doesn't leave visible
decals on turfs and items, but still can be picked up by DNA scanners.
- Multiple blood types have received unique handling - liquid
electricity blood now glows in the dark, oil trails are flammable and
lube ones are slippery. Oil blood can be restored with fuel, lube with
silicon and slime with stable plasma (as normal plasma already passively
regenerates their blood), instead of everything using iron. Saline
solution only supplements on iron-based blood and won't do anything to
help with bloodloss for species who rely on different blood types.
(Roundstart this applies only to Ethereals)
- All blood logic has been moved away from the blood reagent itself into
a blood element that is assigned to the blood reagent by default, and to
any reagent that's drawn from a mob as their "blood" (in
``transfer_blood_to``). This means that blood you draw from lizards will
be green and have lizard's blood description instead of mentioning red
blood cells, Ethereal "blood" will actually contain their DNA and genes,
etc.
- Refactored all blood decals. Blood states are no more, everything is
now handled via blood DNA. Credits to MrMelbert and Maplestation, as a
significant amount of code has been taken from
https://github.com/MrMelbert/MapleStationCode/pull/436 and many of his
followup PRs. Oil and xenomorph splatters are now subtypes of blood,
blood drying is now animated, blood trails now curve and can be
diagonal.
- Rewrote bloodysoles and bloody_spreader components, credits to Melbert
again for the former, while latter now makes more sense with its
interactions. Bloody soles no longer share blood DNA with your hands.
- Ported Melbert's bloody footprint sprites and bot-blood-spreading
functionality.
- Removed all species-side reagent interactions, instead they're handled
by said species' livers. (This previously included exotic blood
handling, thus the removal)
- Slightly optimized human rendering by removing inbetween overlay
holders for clothing when they're not needed.
- Blood-transmitted diseases will now get added to many more decals than
before.
- Cleaned up and partially refactored replica pods, fixed an issue where
monkeys/manipulators were unable to harvest mindless pods.
- Exotic bloodtype on species now automatically assigns their blood
reagent, without the need to assign them separately.
- Clown mobs now bleed (with colorful reagent instead of blood during
april fools), and so do vatbeasts (lizard blood)
- Implemented generic procs for handling bleeding checks, all sorts of
scanners now also correctly call your blood for what it is.
- Podpeople's guts are now lime-green like their organs, instead of
being weirdly greyish like their water-blood. (Their bleeding overlays
are still grey, as they're bleeding water)
- Slimepeople now can bleed. Their jelly is pale purple in color, but
their wound overlays copy their body color.
- Injecting/spraying/splashing/etc mob with a reagent preserves its
data, so you could theoretically recycle fine wines from someone's
bloodstream
- Fixed burdened chaplain's sect never actually giving a blessing when
applying effects, and giving a blessing when nothing can be healed.
Inverted check strikes again.

- Closes #91039 

#### Examples

A lot of blood here has dried, visually the blood colors are almost
exactly the same as before either of the blood refactors.


![dreamseeker_BSP7FE9pRB](https://github.com/user-attachments/assets/45711fa0-ae65-4ec2-9e89-753fa7dd876f)

![dreamseeker_zyv9ssh5VN](https://github.com/user-attachments/assets/7b112854-b7e3-4bfe-b78b-199a55b5b051)
2025-05-31 19:38:07 -05:00
John Willard
7b04440de1 Re-adds the Dragoon tomb ruin & Spear (#90781)
## About The Pull Request

It was removed in https://github.com/tgstation/tgstation/pull/27799
because the spear was broken and the Flans' AI sucked with not-great
sprites and was all just one big reference. Original addition:
https://github.com/tgstation/tgstation/pull/22270

This re-adds it, updates the map (now using airless turfs) with extra
ambiance, using ash whelps (lavaland variation of ice whelps) instead of
Flans, re-adds the spear, and adds armor as well this time around.

The spear gives you a jump ability to crash down upon a player below
you, rather than teleporting to wherever you throw the spear at. You
can't attack while mid-air, you can go through tables but not
walls/doors, and you also can't un-dualwield or drop the spear mid-jump.
Landing on a mob deals double damage to them (36 to unarmored people),
while landing on objects deals 150 damage to them (taken from savannah's
jump ability, which was in turn taken from hulk's punching)
It's also got some extra throw force (24 compared to default spear's 20)

The armor has basic security-level armor but covers your whole body.
Does not include space protection, and can be worn by Ian.

Video demonstration


https://github.com/user-attachments/assets/a77c3a0d-17d2-4e8d-88b6-cdbca8b1f2c3

New sprites demonstration

https://github.com/user-attachments/assets/0e465351-5484-406f-8adc-ffa1ac180daf

Armor demonstration

https://github.com/user-attachments/assets/abdfcac6-65bf-443c-bde2-27d157ee3a80

Map

![436285657-104a555f-60dc-46f0-8283-a92db2ca5352](https://github.com/user-attachments/assets/a1677c9a-7157-4562-9703-5ad44c923e8d)

With the changes in https://github.com/tgstation/tgstation/pull/90771 I
had to mess with ash whelp abilities a bit, I decided to make them use
cold fire instead of hardcoding blue color on top of the fire sprites,
and it now acts accordingly too


https://github.com/user-attachments/assets/cfca0d70-d13d-4c73-996d-2d4a7519866d

The jump was taken from Savannah Ivanov, and Goof's bunny jumping.

##### Code bounty by Ezel/Improvedname

## Why It's Good For The Game

This Re-implements a old spear that got removed for its buggyness/bad
mapping and on the authors request as well not wanting to deal with it.

Re-introduces the SkyBulge as a space ruin, referencing Dragoons from
Final Fantasy. this just like any normal spear, but using the savannah
jump mechanic, this allows you to close distances with the spear
avoiding ranged projectiles in the jump, and if you directly land on
your target you will do double the damage.

##### -Ezel/Improvedname

## Changelog

🆑 Ezel/Improvedname, Toriate, JohnFulpWillard
add: Re-added the Dragoon Tomb lair, now has a Skybulge spear and
Drachen armor.
balance: Ice whelps now spit out cold fire.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2025-05-30 11:36:38 +10:00
Goat
640e692c87 [MDB Ignore] Makes toolset arms a subtype of arm implants (#91029) 2025-05-28 01:11:27 -04:00
Bloop
cb51a652a9 Adds automatic GAGS icon generation for mapping and the loadout menu (#90940)
## About The Pull Request

Revival of https://github.com/tgstation/tgstation/pull/86482, which is
even more doable now that we have rustg iconforge generation.

What this PR does:

- Sets up every single GAGS icon in the game to have their own preview
icon autogenerated during compile. This is configurable to not run
during live. The icons are created in `icons/map_icons/..`
- This also has the side effect of providing accurate GAGS icons for
things like the loadout menu. No more having to create your own
previews.


![FOuGL6ofxC](https://github.com/user-attachments/assets/e5414971-7f13-4883-9f7f-a8a212b46fe8)

<details><summary>Mappers rejoice!</summary>


![StrongDMM_1oeMSoRHXT](https://github.com/user-attachments/assets/83dcfe4c-31be-4953-98f3-dff90268bbc4)


![StrongDMM_uyqu3CggPn](https://github.com/user-attachments/assets/7896f99e-2656-40e1-a9da-3a513882365a)

</details>

<details><summary>Uses iconforge so it does not take up much time during
init</summary>


![dreamdaemon_u4Md3Dqwge](https://github.com/user-attachments/assets/17baaff8-5d5e-4a4d-ba8f-9dd548024155)

</details>

---

### Copied from https://github.com/tgstation/tgstation/pull/86482 as
this still applies:

Note for Spriters:

After you've assigned the correct values to vars, you must run the game
through init on your local machine and commit the changes to the map
icon dmi files. Unit tests should catch all cases of forgetting to
assign the correct vars, or not running through init.

Note for Server Operators:

In order to not generate these icons on live I've added a new config
entry which should be disabled on live called GENERATE_ASSETS_IN_INIT in
the config.txt


## Why It's Good For The Game

No more error icons in SDMM and loadout.

## Changelog

🆑
refactor: preview icons for greyscale items are now automatically
generated, meaning you can see GAGS as they actually appear ingame while
mapping or viewing the loadout menu.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2025-05-24 15:21:02 -07:00
MrMelbert
685ca9db69 [MDB Ignore] Damp Rag can now get dirty / Repaths damp rag (it's no longer a cup) (#90700)
## About The Pull Request

- Damp rag is now no longer god's perfect cleaning tool. After blood,
the damp rag will collect it, and after cleaning a lot of blood, you can
no longer clean with the rag until you wash it in a sink (or with
cleaner or however you want)
- This means the rag will collect DNA in it as you clean, which gives
detectives an opportunity to investigate.
- It also means the DNA it collects will occasionally spread onto you,
meaning you will have to clean your gloves or hands.
- Cleaning vomit and such is (currently) unaffected (and does not dirty
the rag).
- Diseases are not currently transferred to the rag (but this would be
fun to add)

- Gauze now gets dirty when using it to wrap bleeding wounds. This is
just visual, though blood DNA gets transferred. It can be washed in a
sink.

- Removed gauze on sink / cloth on sink interaction.
   - Can't really wash gauze with it, plus it's redundant.

- Damp rag is no longer a cup.

## Why It's Good For The Game

Damp rag is just "soap without any downsides", which is kinda lame. 
I thought about going a step further and making it require you wet it
first but then it just becomes "mop but small" which is also lame.

Instead, you're required to clean it, which gives janitors / crewmembers
an alternate cleaning method:
- Soap: Small, finite, limited. Can't be replenished.
- Cleaner: Small, finite, even more limited, ranged. Can be refilled
with chemistry's help.
- Mop: Large, infinite, limited. Needs a water bucket.
- Damp Rag: Small, infinite, limited. Need to clean it after a few goes.

## Changelog

🆑 Melbert
balance: Damp Rags can now get dirty when using them to clean blood,
passing blood DNA along.
add: Gauze now gets dirty when apply it to actively bleeding wounds.
Doesn't spread disease or anything, just passes blood DNA. It can be
cleaned in a sink.
del: Removed cloth on sink / gauze on sink interaction to make rags.
Just use the crafting menu
/🆑
2025-05-16 13:49:27 -07:00
Goat
3799f50e65 [MDB Ignore] Makes photocopiers buildable (#90658)
## About The Pull Request
Adds the ability to build & deconstruct photocopiers. Replaces
photocopiers on current maps with a prebuilt version that's prestocked
with ink & paper. It starts preresearched in the office equipment node.
Takes a scanning module, micro laser, and servo to build.
## Why It's Good For The Game
Being able to remake is GOOD !!! Lets crew have ~ass scanning factories~
hard working offices wherever they want.
## Changelog
🆑 Goat, LePiromano
qol: Photocopiers now have boards meaning you can build, destroy, and
remake them. (If you're a mapper use the prebuilt version to prestock
your photocopiers)
/🆑
2025-04-18 17:47:26 +02:00
necromanceranne
8df0c5851d Partially reverts #89619, where I partially reverted #87936; Puts back the mining and damage AOE damage on Mech PKA, but improves the standard modkits as well (#89993)
## About The Pull Request

In #89619, I removed the mech PKA's mining AOE and reduced the damaging
AOE to a fraction of the damage.

I have restored both of these aspects, but I have also applied this
change to the standard PKA's mining and damage AOE. I have also included
the mob biotype limitations as well.

AOE modkits take 10% capacity, now allowing miners to use them in more
setups. However, they conflict with one another. You can only have one
AOE mod until you can get the dual AOE mod from tendrils.

The AOE damage/mining effect is now a 2 tile effect rather than 1 tile
effect.

## Why It's Good For The Game

My intent in the previous PR was to bring mech PKA's down to standard
mining limitations. So, why not improve those standards for everyone
instead? The new state of mining expects you to be dealing with a lot of
mobs at once. Even small vents can, on occasion, decide to spit out
several goliaths back to back. That's a lot of mobs with a lot of
health.

Miners need AOE options more than ever. They have very little that are
actually meaningful, sadly. So my intent here is that this should be an
expectation for our miners to be seeking out and can fit into their
current, standard gameplay.

Certainly I've only felt like shit having to sacrifice a damage or
cooldown mod for an AOE mod, only to get a very minor amount of damage
splash for my efforts. That, and the radius doesn't usually impact most
mobs as they spawn and attack from awkward angles or distances from one
another where they are JUST out of reach of one another. Trying to use
the splash to hit multiple enemies is often not worth it compared to
just hitting one enemy at a time with a lot of damage.

So, let's just go with the standard of 'Good AOE is fundamentally needed
now' and worth from that premise.

## Changelog
🆑
balance: Mech PKA now once again mines turfs and does full damage on its
AOE explosion (still only hitting mining mobs).
balance: The standard PKA AOE mods are now by default 10% capacity. But
they cannot be used with one another.
balance: The standard PKA offensive AOE mod now does the PKA's full
damage in its AOE.
balance: Mining AOEs will affect everything within a 2 tile radius
around the point of impact, up from a 1 tile radius.
/🆑

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2025-03-19 07:57:52 +01:00
OrionTheFox
6f3e92f4ef Fixes several turfs' airless subtypes being capitalized (#90006)
## About The Pull Request
Oh gee today I think I'll map some `/turf/open/floor/grass/airless`!

The nefarious `/turf/open/floor/grass/Airless`:

![image](https://github.com/user-attachments/assets/5a226f5d-5603-4dab-8c37-fd621332ca20)


Pretty simple, just changes some `A`s to `a`s. Includes an UpdatePaths
because I think I'm supposed to do that.
~~The change in `icemoon_underground_syndielab.dmm` was the UpdatePaths
finding a duplicated tile in that map so not technically related but if
I don't push it someone else's stuff will try to.~~
## Why It's Good For The Game
Saw this downstream maybe a year ago. Finally remembered to actually do
something about it. And apparently we've got more than the one I found
all that time ago.
Not for much longer though. Probably.
## Changelog
No player facing changes
2025-03-17 01:43:21 +01:00
Ghom
7c703fc712 Food types are now passed down when cooking from recipes. (#89706)
## About The Pull Request
~~I have some beef with the cooking system.~~

Cooking recipes are coded in a way that disregard the possibility for
their components to have different foodtype flags than the ones you
would find normally find.
For example, if I wanted to make corned beef, but instead of a standard
steak, I used a killer tomato "steak", the result would still have the
meat food type, even if none of the components has it.

I've had to resort to a few hacky lines of code to manipulate the food
types from the edible component, but that can be easily fixed if #89687
is merged.

## Why It's Good For The Game
This also makes cooking recipes less strict about their food types and
can help us spot inconsistencies with recipes.

## Changelog

🆑
qol: Food types are now passed down when cooking from recipes. For
example, a plate of corned "beef" made from giant killer tomato slabs no
longer counts as meat but only vegetables now.
fix: Fixed a metric ton of inconsistencies with food types and recipes.
fix: Dank-pockets (the weed variant) can now be microwaved.
/🆑
2025-03-13 20:06:35 +01:00
SmArtKar
eb2796831b [MDB Ignore] Refactors pills, patches, and generalizes stomach contents, nothing to see here. (#89549)
## About The Pull Request

Currently patches are a subtype of pills, and while they have the
``dissolveable`` var set to FALSE, barely anything checks it (because
people don't expect patches to be pills in disguise) so we end up
patches being dissolveable and implantable, which is far from ideal.
Both have been moved into an ``/obj/item/reagent_containers/applicator``
class, which handles their common logic and helps handling cases where
either one fits. As for gameplay changes:
* Pills no longer dissolve instantly, instead adding their contents to
your stomach after 3 seconds (by default). You can increase the timer by
dropping sugar onto them to thicken their coating, 1s per 1u applied, up
to a full minute. Coating can also be dissolved with water, similarly
-1s per 1u applied. Pills with no coating will work like before.
* Patches now only take half as long to apply (1.5s), but also slowly
trickle in their reagents instead of instantly applying all of them.
This is done via embedding so you could theoretically (if you get lucky)
stick a ranged patch at someone, although they are rather quick to rip
off. The implementation and idea itself are separate, but the idea for
having a visual display has been taken from
https://github.com/Monkestation/Monkestation2.0/pull/2558.

![dreamseeker_Ywd4jQcy3t](https://github.com/user-attachments/assets/7ce0e549-9ecd-4a8a-98ea-12e00754bdd9)
* In order to support the new pill mechanics, stomachs have received
contents. Pills and items that you accidentally swallow now go into your
stomach instead of your chest cavity, and may damage it if they're
sharp, requiring having them surgically cut out (cut the stomach open
with a scalpel, then cauterize it to mend the incision). Or maybe you
can get a bacchus's blessing, or a geneticist hulk to gut punch you,
that may also work. Alien devour ability also uses this system now. If
you get a critical slashing wound on your chest contents of your cut
apart stomach (if a surgeon forgot to mend it, or if you ate too much
glass shard for breakfast) may fall out. However, spacemen with the
strong stomach trait can eat as much glass cereal as they want.

Pill duration can also be chosen in ChemMaster when you have a pill
selected, 0 to 30 seconds.

![image](https://github.com/user-attachments/assets/1f40210e-74dd-49c2-8093-432a747ac8dd)

## Why It's Good For The Game

Patches and pills are extremely similar in their implemenation, former
being a worse version of sprays and pills, with only change being that
pills cannot be applied through helmets while patches and sprays ignore
both. This change makes them useful for separate cases, and allows
reenactment of some classic... movie, scenes, with the pill change. As
for stomach contents, this was probably the sanest way of implementing
pill handling, and everything else (item swallowing and cutting stomachs
open to remove a cyanide pill someone ate before it dissolves) kind of
snowballed from there. I pray to whatever gods that are out there that
this won't have some extremely absurd and cursed interactions (it
probably will).

## Changelog
🆑
add: Instead of dissolving instantly, pills now activate after 4
seconds. This timer can be increased by using a dropper filled with
sugar on them, 1s added per 1u dropped.
add: Patches now stick to you and slowly bleed their reagents, instead
of being strictly inferior to both pills and sprays.
add: Items that you accidentally swallow now go into your stomach
contents.
refactor: Patches are no longer considered pills by the game
refactor: All stomachs now have contents, instead of it being exclusive
to aliens. You can cut open a stomach to empty it with a scalpel, and
mend an existing incision with a cautery.
/🆑
2025-03-13 17:31:37 +01:00
Hatterhat
0ff75d301e SKS interaction tweaks and bolt-action rifle interaction fix (#89760)
## About The Pull Request
The SKS was repathed to the bolt rifle subtype in order to make it not
eject its entire magazine, and to make it act more like its real
counterpart (e.g. you have to keep the bolt open/locked back in order to
load more ammo).

Also fixes the issue where bolt-actions' interaction blocking was
non-functional due to being moved to a different proc, so now you need
to open the bolt on bolt-actions (and now the SKS) to load ammo.)

## Why It's Good For The Game
Ejecting your entire magazine on-use kind of sucked. The
bolt-open-to-load thing is for funsies.

## Changelog

🆑
fix: The Sakhno SKS no longer ejects its entire internal magazine upon
interaction. To facilitate this, it now requires the bolt to be open
like its bolt-action contemporaries in order to load ammunition.
fix: You can no longer force ammunition into Sakhno precision rifles and
other bolt-action-likes through a closed bolt.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-03-07 19:49:56 +01:00
necromanceranne
0619c2a21c Replaces the surplus rifle from the gang mode era with the Sakhno SKS semi-automatic rifle (#89453)
## About The Pull Request

No. Not the Sakhno M2442 Army. It isn't the Sakhno Precision Rifle. I'm
talking about the dinky shitty rifle you find in the snow resort away
mission. The one with a 3 second cooldown between shots and fires 10mm.

The Sakhno SKS semi-automatic rifle fires at the same rate as standard
semi-automatic weapons, and fires .310 Strilka caseless rounds. It has a
x0.5 damage multiplier (so does 30 damage rather than 60 damage per
shot), and has 10 rounds in its internal magazine. Stripper clips come
in sets of 5, so you'll need two clips to fully load the rifle.


![image](https://github.com/user-attachments/assets/5de3752f-a664-4c8f-8d44-9f3ea6a3d8d1)

You can get the Chekhov version of the weapon from the resort, but you
can also acquire a parts kit from the black market. Put together with a
stock and receiver, you get yourself a (empty) fresh new SKS. You can
also acquire the ammo via the black market as well.


![image](https://github.com/user-attachments/assets/d5af5abd-3dba-463d-81dd-402291f534b6)

## Why It's Good For The Game

This gun is a travesty. It is so ancient that it can be carbon dated to
around when our codebase was moved to Github. It actively has the worst
statistic of any weapon in the game. And it exists in this strange
half-existence in a ruin as, I guess, some purpose that is barely
understood or remembered today.

The irony of it being called Chekhov's gun yet finding no functional use
in the map is either the joke itself, or a failing of the map.

Anyway, so I decided to go all out and replace it with an SKS. Because I
figured someone would like that.

## Changelog
🆑
add: Replaces the 10mm semi-automatic surplus rifle with the Sakhno SKS
semi-automatic rifle.
add: You can acquire a SKS parts kit from the black market.
/🆑
2025-02-21 14:25:42 +00:00
Jacquerel
940e2d31cf tgstation is back online and you are a horrible goose (#89204)
## About The Pull Request

Converts geese to basic mobs.
Nobody else did this one because two separate other developers have said
they started and then examining what the goose does made them feel
mildly ill, but I am stronger.

I will admit though I wasn't 100% committed to making it work exactly
the same way, I rewrote the entire system to use interfaces I like more
(read: I put all this shit in a status effect which means any mob can be
given the ability to vomit out everything in its contents) and if that
means the behaviour is only "inspired by" that didn't bother me that
much.

**Geese:**
- Wander randomly around.
- Peck people who attack them.
- Occasionally start pecking other nearby animals for absolutely no
reason.
- Eat any food they randomly wander within one tile of, but don't seek
it out further than that.
- Eat anything made of plastic that they randomly wander within one tile
of.
- Choke to death over 30 seconds if they eat anything made of plastic.
- Vomit out whatever it was that they choked on when they die.
- Honk (this is new).

The more famous subtype of goose is Birdboat. Birdboat is a unique goose
present on several maps with some additional behaviour.

**Birdboat:**
- Is chill and doesn't start pecking people for no reason.
- Is occasionally possessed by ghosts.
- Builds up an internal vomit-meter as he eats things. Moving around and
just sort of generally hanging will start rolling dice to find out when
Birdboat's tummy gets upset.
- May start vomiting instead of choking to death on plastic, thereby
saving his own life.
- Vomits out everything that he just ate while running around, making a
mess of the floor.
- Starts eating everything he just vomited out again.

Unlike regular geese who just eat your food and it's gone, Birdboat's
miraculous digestion preserves all of the food he eats so if he consumes
the entire kitchen counter it will eventually come back out again the
way it went in. Although you might not want to eat it any more.

The precise way in which this manifests may be slightly different, but
largely this is also what these animals did before.

Other stuff:

I noticed a bunch of find/set behaviours were not setting a search
range? I think that means they were never finding anything?
I did not actually test any of them to see if they were broken, but it's
possible that a bunch of broken AI behaviours like "climbing trees" may
now actually start triggering because they have a search radius greater
than an orange of 0.

I added "keep this in contents instead of deleting it" as a parameter
for generic eating and slapped it on the goldgrub, as it is used in two
places and may end up being used in more.

## Why It's Good For The Game

This kills off the last user of the `retaliate` subtype and makes our
list so so much closer to finish.
It's like... a couple of bots, a handful of oddballs (I'll probably
handle these soon), and then just the mining bosses and minibosses to
go.

If you give a human the vomit goose ability (now that I made it work on
any mob) they will eject all their organs and body parts via the mouth
until they die, if you don't do the brain or heart first you can vomit
your own head off.

## Changelog

🆑
refactor: Geese have been moved to the basic mob subsystem, please
report any unusual behaviour.
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2025-01-27 14:54:34 +02:00
Jacquerel
2aeeed086f Basic Dark Wizards (#89147)
## About The Pull Request

Simple animal Dark Wizard => Basic mob Dark Wizard.
This mob is I think used in literally one ruin, and very occasionally
spawned in deathmatch.
They don't really do anything except shoot you with slowing projectiles
and hit you with sticks.

I gave them a version of blink with a longer cooldown that they use when
attacked in melee range purely to make them very marginally more
wizard-like, and they will also now try to back away from you while
shooting you instead of running towards you.

They will also retaliate against anyone who attacks them including as a
response to friendly fire from other Dark Wizards, because I think it is
funny if they have very little loyalty to each other and that's a fun
thing to trigger when you are playing Doom.

Finally, we have a component called "revenge ability" which is mostly a
standin for AI responses to getting attacked. I made all existing uses
of it turn off if you're controlled by a sapient player who can hit
those buttons themselves, because they can choose when they want to use
those abilities themselves.

## Why It's Good For The Game

The march of progress is almost complete

## Changelog

🆑
refactor: refactored some code
balance: Dark Wizards now teleport when attacked, but are more likely to
turn on their allies
/🆑
2025-01-22 20:50:07 -07:00
Jacquerel
6dee384568 Basic Mob Vatbeast (#89158)
## About The Pull Request

Another pretty easy conversion; this mob doesn't really do anything
except melee people and become rideable after you feed it cheese fries.
Changes in behaviour are that it will now seek out cheese fries by
itself if they happen to be lying around, and if it stays mad at you for
10 seconds it will use its powerful tentacle slap ability to hurl you
across the room, probably breaking a bone. Really just don't approach
this thing if you don't have cheese fries.

This mob basically only exists from cytology so I would be surprised if
it has existed in more than one round in the past four months.

## Why It's Good For The Game

I'm working down the remaining simple animals and a lot of them turn out
to still be quick fixes.

## Changelog

🆑
refactor: The Cytology Vatbeast now uses the basic mob framework, please
report any unusual behaviour.
/🆑
2025-01-22 20:44:35 -07:00
Bloop
4a1fedf64f Fixes an UpdatePaths script that was written backwards (#89128)
## About The Pull Request

Tin. This script when run would actually undo any instances of the thing
and revert it back to the invalid version. I found this out after
running it and becoming confused when it seemingly undid their pr.

## Why It's Good For The Game

Working scripts for downstreams are nice. I think.

## Changelog

N/a
2025-01-21 19:03:46 -07:00
Jacquerel
c5396ab66c Basic Mob Zombies (#89153)
## About The Pull Request

Simple to Basic ruin zombies.
Zombies are about as simple as you can get so I am surprised they
weren't converted already.
I didn't make any particular changes, except canonising a commonly-used
map varedit into a subtype and made them groan occasionally.

It's a little weird that the default zombie wears a doctor's outfit but
no point changing it until/unless it actually causes a problem.

## Why It's Good For The Game

2025 year of no more simple animals.

## Changelog

🆑
refactor: NPC zombies found in ruins now use the basic mob framework.
Please make an issue report if they exhibit any unusual behaviour.
/🆑
2025-01-21 18:36:13 -07:00
jimmyl
4b512f1239 makes mimics into basicmobs (#88910)
## About The Pull Request

mimics are basicmobs now
the only change not carried over worth mentioning is that all mimics are
a consistent speed because i cant imagine a gun or object with aimbot
going at you mach 2 would be very fun

mimic crates had some stuff changed compared to their simple animal
variant
they open and close their lid when attacking (unless locked) to be like
menacing or something like animals flash colors to ward off people
attempting to open a nonsentient hostile crate mimic will make it lock
itself (if it contains anything) and attack you

mimics are a really stupid naming for these because like
mimic crates pretend to be crates
anything else inheriting from mimics are just used to make objects alive



https://github.com/user-attachments/assets/34a733a4-45a3-409e-8a6a-b2a8c7540898



ranged mimics now use viscontents (they also keep trying to pointblank
people for some reason i think thats ok though unless its a wand of
fireball)
ranged mimic (any ranged weapon animated by a bolt of animation)


https://github.com/user-attachments/assets/c3f1d2f5-cfb8-46a9-a58c-255c53a034db



## Why It's Good For The Game
fixes #85668

## Changelog
🆑
refactor: mimics (bolt of animation, malf ai Machine Override, etc) are
basicmobs
fix: crate mimics may now be opened
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2025-01-19 21:29:49 +00:00
Hatterhat
81e1b149ee Magazine Miscellany (and a very small tidbit of gun examine QoL) (#88889)
## About The Pull Request
- Makarov magazines no longer have a placeholder description from the
base type.
- Standardized pistol magazines' descriptions and extended descriptions
for ammo types.
- Repathed the gangs-era surplus rifle's magazines (these still exist?
wow) from m10mm/rifle to /sr10mm so they no longer fit in Ansems.
- Ammo counts from examined guns are now bolded to be slightly easier to
notice at a glance.
- Magazines now show ammo count on a new line.

![image](https://github.com/user-attachments/assets/8a30a631-24fb-4d23-b2ca-895bfe24cbc3)


## Why It's Good For The Game
Makarov description being an obvious placeholder bugged me and then
things got out of scope.
The bold ammo count thing is really small but it might come in handy for
someone? Possibly?

## Changelog
Surplus rifle changes not mentioned in changelog because it's
unobtainable in-game and also just really bad as a gun in general.
🆑
qol: Examining a gun or magazine now shows the ammo capacity in bold.
spellcheck: Standardized pistol magazine descriptions, fixing Makarov
magazines having a placeholder description.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2025-01-06 03:22:43 +01:00
larentoun
91ac612707 Renames UpdatePath script name for consistency (#88520) 2024-12-24 18:58:02 +01:00
necromanceranne
e9471b00b0 Adds the NT BR-38 Battle Rifle. A sci-fi hybrid gun, but better than the last attempt. Only SOMETIMES fails at existence. (#88095)
## About The Pull Request

A repeat of the first half of
https://github.com/tgstation/tgstation/pull/86853

The NT BR-38 Battle Rifle is a semi-automatic
railgun...marksman...carbine...rifle...thingy that uses .38 ammunition
and is magazine fed from a 15 round magazine. It comes with a scope, and
is bulky.


![image](https://github.com/user-attachments/assets/456aba07-ba0a-4ad3-993c-7fc2bc1395d6)

Sprites by OrcaCora.

### Some of its features

The gun shoots at a higher than normal velocity for .38. This means it
hits harder (30 damage compared to the standard 25), and flies faster
through the air.

The gun, however, suffers from degradation as it is used. It has a 10
shot buffer before suffering degradation. After the 10 shot buffer, it
has a 10% chance each shot to increase in degradation stage. From stage
1 to stage 5 (the maximum stage), it begins to lose fire rate and
projectile flight speed.

To recalibrate the gun, you can do one of two things; 
A) Use a multitool on the gun. This completely resets the gun, but its
pretty slow.
B) Insert it into a weapon recharger to recharge its buffer and reduce
its degradation stages.

### Some of its downsides

The weapon is EMP vulnerable. If it gets EMP'd, it immediately degrades
and loses any buffer it has. While EMP'd, there is a 75% chance it
doesn't fire when you pull the trigger. This is also true if the gun has
hit maximum degradation. Keep your guns in good shape.

It can be emagged. While emagged, the gun has increased damage (40 for
standard ammunition), but once it hits maximum degradation, it
immediately begins to catastrophically fail. It also degrades
significantly faster while emagged. There is no way to reverse this
effect, and the explosion is extremely lethal.

### Where can I find it? What about ammo?

You can purchase the gun from cargo at a significant premium, as well as
some additional magazines of some basic ammo types.

There is exactly one of these in the armory, and you can print more
magazines from the security protolathe. As research progresses, you can
print different, specialized ammunition for the rifle. (and also the
detective .38 revolver, obviously)

### New .38 ammunition types

True Strike bounces accurately between targets, but deals significantly
less damage than other ammo types (15 base, 18 in this rifle).

It is printed once the station gets Exotic Ammo.

## Why It's Good For The Game

This is a followup on my previous PR, where I tested this weapon and
gathered a whole bunch of feedback on it. Most people quite liked it.
but had some concerns that I feel this addresses.

Much of the justifications given there apply here. Obviously ignoring
anything to do with the combat shotgun removal.

Some stuff obviously has not come back from the original test. Notably,
the TRAC changes were probably a little too powerful. As much as I liked
a default entirely nonlethal ammunition type, TRAC itself is better left
as a late research goal.

In addition, I moved the explosion part to an emag effect. It's funny,
and lends itself to the original intention of the weapon; a callback to
the WT-550 incident. But it isn't a standard part of the guns mechanics.
2024-12-13 19:46:24 +00:00
larentoun
ac670224cb Added missing updatepath file for floorbots->repairbots (#88039)
## About The Pull Request
Added missing updatepaths from
https://github.com/tgstation/tgstation/pull/86084 , which updates
floorbots path to repairbots

Checked it by applying it, downstream map has correctly changed

## Why It's Good For The Game
Easier to apply changes on downstream maps
2024-11-21 02:38:04 +02:00
Ghom
7663b39cc8 Refactoring aquariums into components (feat: portable fish tanks) (#87866)
## About The Pull Request
I've been meaning to do this for some time. I need this for
portable/handheld aquariums/fishtanks to be possible. I'll sprite and
code them before I call this PR ready, however suggestions and code
reviews are welcome in the meantime.

Being a pretty heavy refactor, some things might break (we have more
than a few unit tests so perhaps not) while others, coincidentally,
might be fixed without me knowing. Anyway I'm sure this PR fixes
aquarium beauty, which wasn't really working to begin with because the
code was so fucking bad. Nothing really worth of a CL entry tho.


TODO:
- [x] handheld aquariums, craftable with a kit and little plastic or
buyable from the fun vendor ig.
- [x] an aquarium upgrade for handheld aquariums to bypass possible
restrictions.
- [x] update the beauty element to consider items, which shouldn't
contribute to the area beauty when held or otherwise not on a turf.

## Why It's Good For The Game
This should make handheld aquariums possible.

## Changelog

🆑
refactor: refactored aquariums heavily. Please report any fishy bug.
add: Added portable/handheld fish tanks to the game. They can be crafted
with an aquarium kit and 5 sheets of plastic. While portable, they
cannot store fish that are too big or if there're too many already. This
restriction can be removed by using the new "bluespace fish tank kit"
techweb item.
map: Replaced the lawyer's stationary pet aquarium with a fish tank, so
you can carry McGill around.
balance: Reduced the iron cost of stationary aquariums a little.
/🆑
2024-11-21 09:45:49 +13:00
Waterpig
46d4ac9d8e Mech fabricator output direction can now be changed with a drag pull (#87828)
## About The Pull Request

See name, makes it consistent with all the other printing machines. For
some reason we have three different paths for all of them but
refactoring is out of scope for me.

Comes with updatepaths too

## Why It's Good For The Game

No more confusion with how to change the direction, it's the same as all
the other ones now.

## Changelog

🆑
qol: mech fabricator output direction can now be changed with a drag
pull
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-11-13 12:57:48 +01:00
Ghom
e5472d9be4 Fishing bluespace capsules (#87639)
## About The Pull Request
With this PR, I'm introducing fishing bluespace capsules to the game.
They can be found on the black market, but I'll get a couple more ways
to get them before it's ready.

Anyway, they're special bluespace capsules that spawn a fishing spot of
your choice. The fishing spot can be changed by alt-clicking the
capsule, and so far it has 5 choices, plus 2 locked behind emagging for
obvious reasons:
- Freshwater: pretty basic, you get freshwater fish from this.
- Saltwater: mainly saltwater fish.
- Tiziran: You get tiziran fish here, like the gunner jellyfish,
armorfish, needlefish, dwarves moonfish and the new, bigger zagoskian
moonfish. By the by, moonfish now periodically lay moonfish eggs, a
staple of lizardfolk cuisine.
- Ice fishing spot: A small ice turf with a hole dug in it; salmon,
arctic char, arctic chrabs and the bonemass (skeleton fish).
- Hot Spring: Somehow the new home to the ought-to-be-extinct
sacabambaspis. It also doubles as a better shower overall, with mild
healing on top of stamina recovery. Felinids still hate it though, and
won't benefit from the healing.
- Lava: A 2x2 square of pure lava. Requires an emag for obvious reasons.
- Plasma: Ditto, but it's plasma instead of lava.

As a sidenote, unlike standard shelter capsules, these require their
area to be clear of pipes and cables on top of the other requirements,
unless emagged. Obviously, I've done some changes to allow pipes and
cables to not be hidden by water turfs, though I'm still keeping these
reqs because I don't think these fishing spots would look great if
riddled with cables and pipes. I may remove this extra req later if it
proves to be a tad too tedious.

Also they don't knock you back when expanding.

Screenshot from a recent test (fixed the misplaced decal and tweaked a
few things since then):

![immagine](https://github.com/user-attachments/assets/6bbcddfb-ff1c-4e96-834a-2129cadbb31f)


## Why It's Good For The Game
The idea stems from how not all fishing spots aren't designed to be
accessible every round, which is fine, because we have the fish-porter
for that. However, even the fish-porter should have its limits in terms
of what it can provide by itself (linking is all fair and game), so I've
thought having something of a middle point would been neat, also as a
way to mess around with the station layout a bit, to empower the player
with a little extra "terraforming".

## Changelog

🆑
add: Added fishing bluespace capsules to the game, which can be used to
spawn a variety of fishing spots, from freshwater to tiziran sea to hot
springs, and also lava and plasma if emagged.
add: Added two new fish: the zagoskian moonfish and the sacabambaspis.
Moonfish will now periodically lay moonfish eggs.
map: The 'crashed pod' lavaland ruin now has a hot spring, and the
cursed hotspring on icemoon now has a plastic chair and a fishing
toolbox.
/🆑
2024-11-11 08:01:09 +13:00
Ghom
6386b6c706 [NO GBP] You can now use fish feed cans on aquariums while the control panel is open. (#87761) 2024-11-10 12:35:04 +01:00
Ghom
778ed9f1ab The death or internal/external organ pathing (ft. fixed fox ears and recoloring bodypart overlays with dye sprays) (#87434)
## About The Pull Request
This PR kills the abstract internal and external typepaths for organs,
now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds.

This PR also fixes fox ears (from #87162, no tail is added) and
mushpeople's caps (they should be red, the screenshot is a tad
outdated).

And yes, you can now use a hair dye spray to recolor body parts like
most tails, podpeople hair, mushpeople caps and cat ears. The process
can be reversed by using the spray again.

## Why It's Good For The Game
Time-Green put some effort during the last few months to untie functions
and mechanics from external/internal organ pathing. Now, all that this
pathing is good for are a few typechecks, easily replaceable with
bitflags.

Also podpeople and mushpeople need a way to recolor their "hair". This
kind of applies to fish tails from the fish infusion, which colors can't
be selected right now. The rest is just there if you ever want to
recolor your lizard tail for some reason.

Proof of testing btw (screenshot taken before mushpeople cap fix, right
side has dyed body parts, moth can't be dyed, they're already fabolous):

![immagine](https://github.com/user-attachments/assets/2bb625c9-9233-42eb-b9b8-e0bd6909ce89)

## Changelog

🆑
code: Removed internal/external pathing from organs in favor of a bit
flag. Hopefully this shouldn't break anything about organs.
fix: Fixed invisible fox ears.
fix: Fixed mushpeople caps not being colored red by default.
add: You can now dye most tails, podpeople hair, mushpeople caps etc.
with a hair dye spray.
/🆑
2024-10-30 08:03:02 +01:00
Bloop
feb474550f Removes vestigial req_access from vending machines + some cleanup (#86550)
## About The Pull Request

Once upon a time, vending machines were access locked I guess? It's been
so many years since that has been the case that most people don't
remember (including myself).

This just removes all the old unused req_access lists that reside on the
various vending machines.

## Why It's Good For The Game

Less chance of cargo culting something that serves no purpose anymore.

## Changelog

Nothing player facing I should hope

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-10 14:41:42 +00:00
Ghom
d2ab513332 Reintroducing my PRs that were lost in the wallening revert. (#86439)
## About The Pull Request
This PR reintroduces #85759, #85892 and #85894.
#85892 has post-wallening arrows, but it isn't a big deal because they
fit the top-down or 3/4 style we've for a lot of things.

## Why It's Good For The Game
Reintroducing lost features and improvements. Remember to remove the
'Lost in the wallening revert' label from those PRs when this is merged.

## Changelog
N/A
2024-09-04 06:50:04 -04:00
tgstation-ci[bot]
9a9b428b61 Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
8868a5d1fe and replaying the PRs skipping
#85491.

The following 239 (39 + Wallening Main PR excluded) PRs need to be
replayed (DO NOT EDIT THIS LIST MANUALLY, IT IS USED BY THE BOT TO TRACK
PROGRESS):

  - [x] #85777 - Reverted in 3
  - [x] #85767 - Reverted in 2
  - [x] #85763 - Reverted in c
  - [x] #85762 - Reverted in 2
  - [x] #85760 - Reverted in dbc19df13b033ac8bb5a83fa38c5cf140cf31836
  - [x] #85733 - Reverted in 22f17d057eac71661b86c3f2186489568c130043
  - [x] #85721 - Reverted in 6d90643dbbc90f3d21f2d25dc85dc4d4f706d6a3
  - [x] #85719 - Reverted in c52954648309ad4786238f409cd33142d486190f
  - [x] #85705 - Reverted in 3b5ddabfd5ab2cfec226a643be6e8a8fd656c831
  - [x] #85684 - Reverted in cbc1839625f44ba67bcd5489c3629ef98e31b2d4
  - [x] #85662 - Reverted in 69cac24e236604c262093abea7b9566ecbd092c4
  - [x] #85663 - Reverted in f394c3b1430d346b0598abf19fe511b30c3f4676
  - [x] #85673 - Reverted in 8a9ae0411488c9c779a54c5c41076238c230a304
  - [x] #85718 - Reverted in f8f18d8b626e963b06555f76850702740d5de0c3
  - [x] #85667 - Reverted in a1365766d178b727b6c6b503ad410e9d88d57ddd
  - [x] #85683 - Reverted in 3bdb0207d883de8db6f726d976025517cc6d3cba
  - [x] #85676 - Reverted in 0a5d667b2c8a9a2519af2a4fda8cd39f568e5049
  - [x] #85661 - Reverted in 49fc6bc1815133644d7173aa7914ede6c900218a
  - [x] #85682 - Reverted in b41efe96fd72228b079319ac07c660f4cd974af6
  - [x] #85695 - Reverted in 89a173b136cb0297070cef39c5bc9783b6323f02
  - [x] #85654 - Reverted in 1e4836b5173a40fbeb8755e0fb76ebc8d39fe1e0
  - [x] #85655 - Reverted in b4dde41eebd0422e1ec440b4d8d54229fc9617f4
  - [x] #85634 - Reverted in 0c352fc785762da025a68873438593b508f757d9
  - [x] #85700 - Reverted in 1327cf7fe48d7f4fd227120508f77c831aefa4ca
  - [x] #85633 - Reverted in c71c8c9d43112a1f4c6331bbba546881dcffd59d
  - [x] #85649 - Reverted in 73484337077f616878e63208d9bf2309f0d2e579
  - [x] #85475 - Reverted in 839f700001a57646109e75332d5311fe27bbc957
  - [x] #85467 - Reverted in 6f08421f64d01b13775d146cf7a451f9f38e195a
  - [x] #85472 - Reverted in 63c6a9b04e72e8130df5eeb2861c75f80a97e3de
  - [x] #85300 - Reverted in 7c776034f34ee6a76810c1a3779f169f2430c418
  - [x] #85249 - Reverted in 257d02273751fc1f939f76756f70b614a6e06789
  - [x] #85236 - Reverted in f9f4c444c8fc027dea87d4dbe0ebb8dd6bc67154
  - [x] #85299 - Reverted in f24ddff51dc3fec7145a2e97f057f1b286921db3
  - [x] #85228 - Reverted in cb8c318f7e2183d9f941c582f79e4c8b2503d95c
  - [x] #84910 - Reverted in 2a562ca26d9d13f335c276487f66edaa0d21b3bd
  - [x] #84889 - Reverted in 679da6885b034bcd8843f7f4c855388bce263733
  - [x] #84766 - Reverted in 4035dd7adee74af0fed82c14a8749585b2ab1c96
  - [x] #85607 - Reverted in dc9a0462b4c287cee2d541925f8a9988d18d9d85
  - [x] #85618 - Reverted in 2a06f57c89939dc31e9273ef250bd050cff17ff1
  - [x] #85619 - Reverted in b98661affc90e44c68a58c05e57cdf1dfd094c93
  - [x] #85608 - Reverted in 57a935126233f90255aef0a55dab16524be1faac
  - [x] #85648 - Reverted in ab82c66a95d4fbff86040b421a86cc82dca73009
  - [x] #85692 - Reverted in f04fac92bd3594f12f244bae9ea0c5c300c737fb
  - [x] #85544 - Reverted in 7b1198eb5c700e85ec163e60828c01fac55a9909
  - [x] #85631 - Reverted in 81c04ceb553f9887d59f8edf8b2526ff3807264b
  - [x] #85529 - Reverted in 2a7e2c8e3856d67cdefda0d25803393070a6e996
  - [x] #85525 - Reverted in 6ed2d9f28a9333c705eafd21acf54771b8e4db36
  - [x] #85514 - Reverted in a4fa2aa79d93b69d15e0fb9cb1fb7a5bc288bb34
  - [x] #85520 - Reverted in 6e1bd4b11cd55e36cab332c5a0c90c76a2e43703
  - [x] #85521 - Reverted in 79afdac194da5f42b38fb0fdfc394f2b8d485266
  - [x] #85519 - Reverted in a967cae1fb3feea23fdf196595e496431740f52d
  - [x] #85513 - Reverted in e3934edf8794f93a37dc7f63c60aa64ed7b60736
  - [x] #85498 - Reverted in cf1fadbc54a1365362aaeb142cbbd4e2c3be6f15
  - [x] #85485 - Reverted in 2a650ef9c0454bd650d6a13d10c0cb71bb134b2b
  - [x] #85494 - Reverted in bbb97958010dc0f74cee279fd304a7fcaccb625e
  - [x] #85552 - Reverted in f1780715bd054300e50e9102ad150c76690d4ca1
  - [x] #85724 - Reverted in 6933699cef8b01f9aef989f36ca079680a2777ff
  - [x] #85735 - Reverted in a6564f19226ef3969bec0573b49fa772d6e6df31
  - [x] #85729 - Reverted in f728d121a2f27a3cc7973fc2041df9b7193b796d
  - [x] #85704 - Reverted in 38f5b034a3370eda4657a2a5a6adcf3df6ec280c
  - [x] #85660 - Reverted in 7db39869d37ff5b39574d88ffc872449ab5b457c
  - [x] #85752 - Reverted in 1f2988028b7cccad121fc658d6547d89453703b7
  - [x] #85592 - Reverted in 263cbcfcb54746a9361369d86b44cc3e2d375199
  - [x] #85580 - Reverted in a92d53624198dce844c108b5dbea09cf2a16cd10
  - [x] #85573 - Reverted in a7d51042355798038ced44f64e987261b85e93bc
  - [x] #85534 - Reverted in 31787e7d1ce4fec2ce20776672099bf35486a296
  - [x] #85511 - Reverted in 2567a2eb56cdb7058f89ea298e53197147198d82
  - [x] #85508 - Reverted in 69de2ac16c20d968adcd19f0732fd2f84a4ae90e
  - [x] #85680 - Reverted in 44437ac406c708b9a3ab3b47f4e3c10e77a0b91b
  - [x] #85551 - Reverted in 7f17d428fd2787a6982534bfc9ac9188fd4b8675
  - [x] #85478 - Reverted in bd9e575dafc62dc7e1259e8c19199ba15d82be4f
  - [x] #85476 - Reverted in 4ce8052076de0bb52f1ed87663920e98482ade62
  - [x] #85593 - Reverted in 9ff5924d3d56fcba3f180fc4b539568fb2013323
  - [x] #85441 - Reverted in db96015adaec01f3fbcb978796a0d7abd5668932
  - [x] #85567 - Reverted in 62696ad04fb34fd946708309bd3e439db9b3f488
  - [x] #85337 - Reverted in 1267e9f002d03c33187afd2e734e95a78a5ca6ac
  - [x] #85348 - Reverted in 4fcc3c659ee2a38d978e137252309644d5adde8f
  - [x] #85350 - Reverted in e691c833dd5aca2e7808591516e8443e8ccf1b27
  - [x] #85744 - Reverted in 251578d2868a691981b824a268c540b9c15a424e
  - [x] #85772 - Reverted in bc6804a04aa9368074bcc853e689c8fe6de2cb3a
  - [x] #85797 - Reverted in a05e36ec4a0129ff6901ea07488120b54a8ee124
  - [x] #85787 - Reverted in a5393f94b9e71d9ea0625e5fcfb5baaf16af38d3
  - [x] #85742 - Reverted in cd99a2aeaa1347b790c9bfdae35e41900e2ada9a
  - [x] #85440 - Reverted in 8b5ead7c7f0d8087b41256a296e730443752f17d
  - [x] #85739 - Reverted in 3511aae5a4798104220b79ad0e5b2b357dc1e83b
  - [x] #85293 - Reverted in fc687ca36ef476ab9080f0c62b427ab0af533d68
  - [x] #85716 - Reverted in 130b32a222a7585cfdde71aa561fb8b2c7d8083b
- ~~[ ] #85848 - Reverted in f6c46ca2f5cb2d039e4b26731570ca801741cc5d~~
(SKIPPED)
  - [x] #85795 - Reverted in 4684c3325a9135b6bf10eb43026f373993bf605d
  - [x] #85859 - Reverted in 0e0838fe11b7d9af4f62af4f7388ed8fb57bf49c
  - [x] #84873 - Reverted in 34407b79a45718a305f3bfe3fac7f129b4f1c51f
  - [x] #85864 - Reverted in 4b25a209c5019bb65922cd793aff339f20c3d026
- ~~[ ] #85845 - Reverted in a326246e81b7b9242bbf45e7ab3b31caf9ce8147~~
(SKIPPED)
  - [x] #85844 - Reverted in bdf1e6c1e3469884550d3211e51ec9303a022482
- ~~[ ] #85843 - Reverted in 41a8acb196af0988372b06ade7131d07d03daab3~~
(NOT BEING INCLUDED)
- ~~[ ] #85840 - Reverted in 4807bacea8418000f84d62ca0fb122846cab4929~~
(NOT BEING INCLUDED)
- ~~[ ] #85837 - Reverted in bc9edfa8666de14ca4e57e466146d753182a3a71~~
(NOT BEING INCLUDED)
  - [x] #85865 - Reverted in 14c958b465af40f0ff28b100047c4c572919ae19
- ~~[ ] #85818 - Reverted in a77256f74e2d330f5f76141eb9c994a8e5e45810~~
(NOT BEING INCLUDED)
  - [x] #85822 - Reverted in caba685be95fd336f0b09e88bccfb8856d5ad9b4
  - [x] #85794 - Reverted in 0d4de984eb8513d065e8ac724e8cde11f01d4ef7
  - [x] #85756 - Reverted in 9c5a7e1a5f895851493e149ccb5cd50e35cd6101
  - [x] #85852 - Reverted in 74303e5bbae8426a073d068ef4342d8acc420a09
- ~~[ ] #85841 - Reverted in e5831ce3cc87765cb13e6d342417bc1730780392~~
(NOT BEING INCLUDED)
- ~~[ ] #85834 - Reverted in 1be665204da791ec7520d0799c015157fc625953~~
(NOT BEING INCLUDED)
  - [x] #85792 - Reverted in 33b4e48175040f9f76ef83d3154f10c69589b6ad
  - [x] #85646 - Reverted in fd23a0d6c4c96470b688dc0a35370c61c7e32f61
- ~~[ ] #85799 - Reverted in 4a7a6d812f2f301c1e749c92f324223f9bde8a39~~
(NOT BEING INCLUDED)
  - [x] #85819 - Reverted in 8bf001b7889d3a4282947cd332833c473b98eac1
  - [x] #85479 - Reverted in 6aeb5ef4582c03febe0c914185d29f75df4d5d94
- ~~[ ] #85824 - Reverted in 9ca3edfaa17d97306ac73207ef32fd1272061f6b~~
(SKIPPED)
  - [x] #85406 - Reverted in 702280ff48c8aef44f4da9a85eb33a7bc5faa013
  - [x] #85778 - Reverted in ce0ec5c685aadb02ae049d6714f1d2fd6dae1f26
- ~~[ ] #85851 - Reverted in 610c68b275cf3c54181d36ce48bd97b0cce0665c~~
(NOT BEING INCLUDED)
  - [x] #85754 - Reverted in 5cbdda00c5335db79ea50aedba097de1d06bf91b
  - [x] #85266 - Reverted in abdfec798e5223dfa9d67e1967d7618454dbec28
- ~~[ ] #85823 - Reverted in 86b766abd3d77af8ad835a3464fc5ff95cc11079~~
(NOT BEING INCLUDED)
- ~~[ ] #85842 - Reverted in 7ddd47e26ef1bc336e92a6675a33ec3191039c16~~
(NOT BEING INCLUDED)
  - [x] #85857 - Reverted in e32312ee20e9fdccb6dd7c4dc2d185540bd2276b
  - [x] #85856 - Reverted in 7d5d74c2b55a08ef5553568e996053157359dbe2
  - [x] #85276 - Reverted in 1d6fa881e4aef1e6b368d5b6809bccb021fbbd2a
  - [x] #85886 - Reverted in f27d6cabdf8f06f29926616345fa82c4e1e48708
- ~~[ ] #85771 - Reverted in 019d898b601c9ef4d45b7ee0f2144518ee127ca9~~
(SKIPPED)
  - [x] #85464 - Reverted in adc00417795deb85f8aa6170b0f0a07c40c8798c
- ~~[ ] #85870 - Reverted in d69b998420bfb39693bb59b9b9a20611880fdafa~~
(NOT BEING INCLUDED)
- ~~[ ] #85869 - Reverted in 0063c69f111bb67144f9b379476250ce86c99eee~~
(NOT BEING INCLUDED)
  - [x] #85530 - Reverted in b40c93399411d277b3899e149196f3eb974f841f
- ~~[ ] #85871 - Reverted in 63908bbd0a71d0a2bd0a4691816c17cc9eb5310c~~
(NOT BEING INCLUDED)
- ~~[ ] #85832 - Reverted in b29dab083f091198d65a9b0754536f13a935dc2c~~
(SKIPPED)
- ~~[ ] #85825 - Reverted in d072b294ca3bc526df5128df45653db97ba38fe1~~
(NOT BEING INCLUDED)
  - [x] #85632 - Reverted in 290092c7d826aa5b100a38cd4bacc5330b39a934
  - [x] #85902 - Reverted in 76118d620e71f1819a9385863b689d9a8d4ea810
  - [x] #85906 - Reverted in 82623c2cc0fd9aee3e79c95fe5558146c59bc941
  - [x] #85907 - Reverted in 68b7305f21240ca28c33afc904ee532966b7c4bd
  - [x] #85449 - Reverted in ab86a79339ef7b01ceb08dc7279c698927ebcbfa
- ~~[ ] #85875 - Reverted in 0a1fcda90e638e66d574c247e93f0669d0c27b0e~~
(NOT BEING INCLUDED)
- ~~[ ] #85861 - Reverted in 6dad5111aa144860371c93a2d78094fe3d39a7e1~~
(NOT BEING INCLUDED)
  - [x] #85264 - Reverted in dc1d2dcc995f33fc5773e037f5171e9516897281
  - [x] #85726 - Reverted in dbd9ec81586c87c1ab2afc43d43c4f020907dc1b
  - [x] #85730 - Reverted in 7de2c2a1d012ccb03f82c6beabd71a66aa0f910a
  - [x] #85880 - Reverted in 02169d2f28611765997fa332dda69c8031436fd1
  - [x] #85176 - Reverted in e3c85aae1cf665c9892bf7280b7b48ea42323198
- ~~[ ] #85887 - Reverted in 56b35f294b303fd30fbd7685011d37b456d584c7~~
(NOT BEING INCLUDED)
  - [x] #85883 - Reverted in 53be06a505ebd8581114bba8590e378d387b6c1a
- ~~[ ] #85882 - Reverted in a8877ff0083ca5753e3d3b1b9c9edc3613fa6570~~
(NOT BEING INCLUDED)
  - [x] #85895 - Reverted in 741235d41b3a19a40434653f1c14fc0999fac9c3
- ~~[ ] #85746 - Reverted in b7aebb6e5788f6c484173f0a5e29f042ea0c8560~~
(NOT BEING INCLUDED)
- ~~[ ] #85889 - Reverted in d677231d8c55efcd2cf427d510d961cd00f186c7~~
(NOT BEING INCLUDED)
- ~~[ ] #85888 - Reverted in 693f79abae54980ee098d602ed79926d51d5094b~~
(NOT BEING INCLUDED)
  - [x] #85898 - Reverted in 4f41fda23e6b9711aef5d00836591c1ac230612e
- ~~[ ] #85821 - Reverted in 738c9a75f65c4a376da36ad208e1fd8fdeac1ff0~~
(NOT BEING INCLUDED)
  - [x] #85694 - Reverted in f7ea4d19cdaa2067c87c43362b514c684b56b1f3
  - [x] #85308 - Reverted in 4a89b62774da5e9ec9ea241c60ec2a99f51f9bed
  - [x] #85904 - Reverted in 999dbe1773cc7488c629bb8d0d21be5454dbef60
- ~~[ ] #85901 - Reverted in bbf832da9e0c61ad25221530df3b1e93cace25dd~~
(NOT BEING INCLUDED)
- ~~[ ] #85896 - Reverted in 542fe408728faaef8a16869e13c4661018a8a07c~~
(NOT BEING INCLUDED)
  - [x] #85927 - Reverted in 7dc87df28e79ef3e9f3fad83cc0907d2dc867c47
  - [x] #85908 - Reverted in bcca80f073a486ca7908e9636d0e8b275c2085bf
  - [x] #85929 - Reverted in 094bf3610a73961f6433a52ada1a52f25d853738
  - [x] #85877 - Reverted in 5874cafd0dab8d3bd61cf1f662793c2708f42dcc
  - [x] #85903 - Reverted in b3ba8fffc5548e0f2ae6bada3baf10bad3c75e54
- ~~[ ] #85913 - Reverted in 67f7ec48d20f9a64ce4664fa2c452a25b60db59e~~
(SKIPPED)
  - [x] #85914 - Reverted in 7efcd3a5f7fef33c2a1625386bfead80a6ed5309
  - [x] #85917 - Reverted in fc50a5ff998d0e7269131a029e533e90e9dc3c54
- ~~[ ] #85949 - Reverted in 10a8e0f5c69e3ca1eb6e26f00945bfe226598bc2~~
(NOT BEING INCLUDED)
- ~~[ ] #85338 - Reverted in 847549ab938f77464829b1392a1b6f2b2f4b9e8f~~
(SKIPPED)
- ~~[ ] #85922 - Reverted in 3d9388249b8c322aac5dd4980d4ab4673ca01006~~
(SKIPPED)
  - [x] #85923 - Reverted in 2c6ffa4decf40eb52a92353aeb98aee8cbc7b4a2
- ~~[ ] #85920 - Reverted in 1de5b03981d9fcf9c2e6823bffa515fb939aa541~~
(NOT BEING INCLUDED)
  - [x] #85919 - Reverted in 1773e9baccdc941285f56ccb416f5c7125b031ef
  - [x] #85271 - Reverted in aecf8002cf2807a76b6b295867e50392b4bc4534
  - [x] #85918 - Reverted in 023ec3a4d1b1b2fc8f596fea65a77ddc9a06689f
  - [x] #85924 - Reverted in e4886079ad90f33628ac59e0793dfbbc8b8b9420
  - [x] #85928 - Reverted in 7470b7d5ac40be21c345e8825f4c4efc4738e29f
  - [x] #85926 - Reverted in 7761c9e3a1f442f37d4db4b27e5d78fae95edf00
  - [x] #85900 - Reverted in 633736cb0655dc464e9794666c63ae6ec7689826
  - [x] #85909 - Reverted in a47c7ec8a77bd02f8b7bb1ce3c621efbe57077c3
- ~~[ ] #85931 - Reverted in 9bc7a412982da6fbdb9cd24570d98877b76a45c3~~
(NOT BEING INCLUDED)
- ~~[ ] #85894 - Reverted in c15e1711656929aeb59f482145ecf029b40d58b8~~
(SKIPPED)
- ~~[ ] #85759 - Reverted in f45d70be0ffb9bf007bfa18a1bd1b5ce23d6dcfc~~
(SKIPPED)
- ~~[ ] #85892 - Reverted in fc08dc1a7160f584c94e368962eb56c18dccc86a~~
(SKIPPED)
- ~~[ ] #85915 - Reverted in 428f475c26f383998a689560a16de86da3f17557~~
(NOT BEING INCLUDED)
  - [x] #85222 - Reverted in 66e7ac2f00735c90acdb69a50c9e485a0f4e1552
  - [x] #85150 - Reverted in 3079387f926e41febb576105ec0b3acec2f7beba
  - [x] #85935 - Reverted in ce6114f644593ead295763362a61d19077f22acf
- ~~[ ] #85936 - Reverted in f601fa796bce7e70645a84fff91391cbb6ed8e37~~
(NOT BEING INCLUDED)
  - [x] #85937 - Reverted in 64242f589df3d9118fd5c09d19574758260c76a1
- ~~[ ] #85940 - Reverted in a979c6c24705a8729efab5eca40840f1c8070f1d~~
(NOT BEING INCLUDED)
- ~~[ ] #85942 - Reverted in 9562c14083212fc962b8687663ba5fac2ebfdd1a~~
(NOT BEING INCLUDED)
  - [x] #85944 - Reverted in adf8e1927e4b9886c9042d6a0eaaef74e4e0e102
  - [x] #85605 - Reverted in 88dbfb4f859f12549e8cf8ed5204ee8d7183d40f
  - [x] #85945 - Reverted in dea9e79a9c298eae05b8d173d8df4a37218e2d9c
  - [x] #84964 - Reverted in 234481fb1d92a266768fcbca49245151236803ed
  - [x] #85952 - Reverted in c62d87ab54d687db64b1551b319195527ca92924
  - [x] #85953 - Reverted in bd0e46245ccb597081b8baa4f81ff85949f672be
- ~~[ ] #85943 - Reverted in 697b6841391354885ef2d314d9185b8eee7a5cb0~~
(NOT BEING INCLUDED)
  - [x] #85946 - Reverted in f4afd4d330b6fc28397f7707bca8773d44cb15ed
  - [x] #85950 - Reverted in 394fffcb836f32f4e1b1fd91a621249e0e5d7d67
  - [x] #85955 - Reverted in 2230a5bc141cd11fc79ccf6b4b653257508a7e65
  - [x] #85319 - Reverted in fdaddd9cd6ed0bdd1cd78ba3c9729035936abcbd
- ~~[ ] #85934 - Reverted in 41bb6122b6d6e3c38c500d5ddf63808836ab090e~~
(NOT BEING INCLUDED)
- ~~[ ] #85255 - Reverted in 3e213b8554b40e53f6429969d6e9dbaa357fb09e~~
(SKIPPED)
- ~~[ ] #85961 - Reverted in 6f3d000b3601dc7f75f7edd221fab3edc3bbbd8c~~
(NOT BEING INCLUDED)
  - [x] #85956 - Reverted in a5bf22a93ca1a149ca839e6c874d088b32c7c25f
  - [x] #85958 - Reverted in c964a46741bd26a600bb75bc6463c629c11c914f
- ~~[ ] #85969 - Reverted in b599cd4bd3ae223210eb0d3b47c3bd814e1cb08c~~
(NOT BEING INCLUDED)
  - [x] #85252 - Reverted in 5a0e2f31a6e1093ab47970056f5bb3af54172e12
  - [x] #85984 - Reverted in b000da82f62bb48b059a881d596f3a2e7d985d21
  - [x] #85137 - Reverted in 1f31b558e41fc66d5da9db30a83d89cbb9949eae
  - [x] #85881 - Reverted in f3913f94c4557c4fc9d5605cd8e875accabebda6
  - [x] #85972 - Reverted in d3afed87a3a8eed7e0016512d2186b6aded0fca9
  - [x] #85998 - Reverted in 3d286b763cf2f7fe11b6f0ccb2456130570726c2
  - [x] #85358 - Reverted in 75f84bda1b3c80d54ae94a567bf96016aaae45b2
- ~~[ ] #85964 - Reverted in be1aeb010afa20c1b6949218d8911ee9e900b3d7~~
(SKIPPED)
  - [x] #85960 - Reverted in 69cbfce1529377ce7cd998ab474add0d61650d7f
  - [x] #85992 - Reverted in 89e4a7bb0b793461338ba1b0a3d332bf78ef140c
  - [x] #85967 - Reverted in d398e418eb340f309be523514ae0befdf1869560
  - [x] #84888 - Reverted in bb98eb09f06a1fdc0bbb733d6a42d711e6d477bc
- ~~[ ] #85983 - Reverted in 81152a9cd347eb7b4073758e2e96490e6e729ca9~~
(NOT BEING INCLUDED)
  - [x] #85976 - Reverted in 93c091347ca8f04763b91fd4c39ccdff848a0d50
- ~~[ ] #85962 - Reverted in de32ea25b534c725e3d55418ef0363145f0ed2b0~~
(NOT BEING INCLUDED)
  - [x] #85977 - Reverted in 393652a1ef065014748ae6977a9f36b32c99dc7c
  - [x] #85959 - Reverted in 52e6e07eb98bcb74a423934b14d5850dbf2c6647
- ~~[ ] #85988 - Reverted in a5853ccde46b5fee2d9eb31755384de15e7a5a87~~
(SKIPPED)
- ~~[ ] #85974 - Reverted in eab20ba04e6b06f862a0fb35cedb6374af7b93c0~~
(SKIPPED)
  - [x] #85939 - Reverted in ca85b05692f55f6b3e4bd0b3f30c63f89531c33f
  - [x] #85878 - Reverted in 3b3d3dbff9148e46b01f3af28f17f66bef4dfd16
  - [x] #85858 - Reverted in 08d6082e62d07117170ff5ffd065daad1278e853
  - [x] #85651 - Reverted in b76ab4a2114dd0eb78336878b2825d9919c210cc
  - [x] #85505 - Reverted in 0958eaa7b6f4d48400bea4e215e11edaa933ba8a
- ~~[ ] #85352 - Reverted in 620cec18618e514bbe4d3eb0a0d0db1528b9d312~~
(SKIPPED)
  - [x] #85279 - Reverted in ba0fd529ef94ba793fe2eee40975533fe8f475e3
  - [x] #85954 - Reverted in d7fe0336f2a968b93fd02361814930236e3b8ddf
- ~~[ ] #85996 - Reverted in 5fbd62139e0c1b668aaaf35d249d527cdc276b93~~
(SKIPPED)
  - [x] #85994 - Reverted in c99a03c6833ac58e0288111953573f697488234f
  - [x] #85470 - Reverted in fbd5ac46d84d27455cbcf5f998741124ed6de625
- ~~[ ] #85981 - Reverted in dc74c75011ddfb1b16d644fd2ca5607599532d6f~~
(NOT BEING INCLUDED)
  - [x] #86011 - Reverted in b14b42e70e2bd21f19d443065b2342e4591c5e05
  - [x] #85820 - Reverted in 26248546b9f7d0fedec52e7b2f7def40d457e29f
  - [x] #86013 - Reverted in e17ac14f53d08be988f0516e7c39d31496a35184
  - [x] #85986 - Reverted in 4021ffea0b1bbb1f6c5b26a296abd5a8bda1d5b3
  - [x] #86019 - Reverted in c0801b3aa5dbdd33ca7c6c81e80c9fa573ada9e1
  - [x] #86010 - Reverted in 10dff005729305b75deaf1c5755a94125fa5141d
  - [x] #86029 - Reverted in 664619213db52930fa22007561dad01fe8bb3de4
  - [x] #86024 - Reverted in e74ea4368cbd2cd085aa6e8bbe83db07800b0bd4
  - [x] #86022 - Reverted in 0b2fc6a1f478c48546b161fd3ddd571f7ed6000f
  - [x] #86015 - Reverted in b99d93592dbf8840a035f22f26b64bcf27c817cb
  - [x] #85415 - Reverted in d6102c7339838675c03eb771d7a3b5a9bea4035d
- ~~[ ] #85703 - Reverted in 339b7edf3c0318f9f02922018d6918211660234f~~
(SKIPPED)
  - [x] #85890 - Reverted in 4e54f376e07071f84ed283e7468e334aaf6e4e02
  - [x] #86046 - Reverted in 0bbe2c9a048c229d151682e08aca1fa176c3ad91
  - [x] #86008 - Reverted in a0a0635cd6618618c49fda7cf150231d62a14236
  - [x] #86042 - Reverted in fa376315a064b945ed9846225c7f48e38e9b55ed
  - [x] #85891 - Reverted in 603dcd691e9eaad0a610c60c94fee522391bd2b3
  - [x] #86040 - Reverted in e42fc7618194b4b01cb68ca0c61385e465d0cb05
  - [x] #86025 - Reverted in 536bb25fe91845fe05bb7d512d8e73cc193b67ff
  - [x] #86012 - Reverted in 5cb4ec5bdf87653a5bb651c536f21423db30887e
  - [x] #86004 - Reverted in e9536143e78e3b0614d3ce6ee2c9a40005ba9b91
  - [x] #85989 - Reverted in 88a92322c2f028d2e3a2be18951d35d1135a6268
  - [x] #86044 - Reverted in d0a5fb5956be23144e325d3d51f53cb103dd5bbe
  - [x] #86001 - Reverted in 195c3597044315c9b10d002e6196911ac0622c45
  - [x] #86030 - Reverted in 5265796286b481d34fc91a1f8c58b6373d23415e
  - [x] #86055 - Reverted in e82138798cda028b673fe7ac83890e5a6b9e16d2
  - [x] #86057 - Reverted in c921900e6151552aa0768b4c9d7cc58c58dfbcc0
  - [x] #86014 - Reverted in c004d4e989a2faa672793f58fd98bd6fded8194e
  - [x] #85304 - Reverted in 611510bd7f65ee06738b7344326d72f57a131f8a
  - [x] #86061 - Reverted in f14b0a245dcf164bb99f7696e180847bb5be9b11
  - [x] #86075 - Reverted in 5339fe6c098d48769eda3f9935aa3488faa73097
  - [x] #86089 - Reverted in 10b5398e6b55f4799ca7d6740ac50c031e157c43
  - [x] #86081 - Reverted in ba86f43383cd2e8417c0a465c23fe3227fcd5520
  - [x] #85609 - Reverted in 9e5208feaca3163b7f4237c316d880161933777f
  - [x] #86114 - Reverted in cf410a97b8348381f96cc784a6489d7c1dea49ba
  - [x] #86023 - Reverted in a7a2e95c0c1b0598f15019934c80ccc80a9f89af
  - [x] #86027 - Reverted in 9cf71611befac64d26d326c060ef082262aeca70
  - [x] #86016 - Reverted in b67fa06e1559c8de87899bd06d09891b4c7ae947
  - [x] #86095 - Reverted in dc5abd827bb56e1609afe5a9d2bdd957d40cc75c
  - [x] #86105 - Reverted in f5b8e7ecbe99cb38e829a98a4f6eb2c200af8b91
  - [x] #86070 - Reverted in 6c460bbc22827bdbc566b524b8e6a959cbb61c37

After that some startup commits on this branch need to be reverted then
it can be merged.

---------

Co-authored-by: tgstation-ci <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: MrMelbert <kmelbert4@gmail.com>
2024-09-03 10:41:51 +02:00