Commit Graph

240 Commits

Author SHA1 Message Date
SkyratBot
24afc641c5 [MIRROR] hygeienbots basic bots [MDB IGNORE] (#25923)
* hygeienbots basic bots (#80435)

## About The Pull Request
turns hygenic bots into basic bots. also now PAIs and people can play as
hygeinebots. and they can wear hats

## Why It's Good For The Game
transforms hyginebots into basic bots. their old AI used to handle all
the logic. i moved some of the logic to the mob itself so players can
also clean (or burn) things. also this pr will add pathing limits to
bots, in the case the jps movement thinks it can reach something, but
actually cant, in which case the bot will give up the chase

## Changelog
🆑
refactor: hygeinebots are now basic bots. please report all the bugs
fix: fixes hygenebots not being able to patrol
add: hygeinebots can now be controlled by Players
/🆑

* hygeienbots basic bots

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2023-12-31 14:45:33 +00:00
SkyratBot
067188d366 [MIRROR] Micro-optimize qdel by only permitting one parameter [MDB IGNORE] (#25889)
* Micro-optimize qdel by only permitting one parameter (#80628)

Productionizes #80615.

The core optimization is this:

```patch
-	var/hint = to_delete.Destroy(arglist(args.Copy(2))) // Let our friend know they're about to get fucked up.
+	var/hint = to_delete.Destroy(force) // Let our friend know they're about to get fucked up.
```

We avoid a heap allocation in the form of copying the args over to a new
list. A/B testing shows this results in 33% better overtime, and in a
real round shaving off a full second of self time and 0.4 seconds of
overtime--both of these would be doubled in the event this is merged as
the new proc was only being run 50% of the time.

* Micro-optimize qdel by only permitting one parameter

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-12-29 14:41:12 +00:00
SkyratBot
b79167c173 [MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* Organ movement refactor *Un-nullspaces your organs*

* Fix conflicts

I checked the conflicts on the two weird conflicts and no previous TG pr touches them i assume its just github being github because those shoulden't be conflicts *shrug

* Fix #1 uhh...this is going to be a long one

* Fix #2 Modular Movement Flags

* Fix #3 It builds now

* Fix #4 Oh god it builds now, I missed some things

* Fix #5 No more Runtimesplosion Now time for Synths

* Update nightmare_organs.dm

* on_mob_insert

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/25664

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/25685

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/25582

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/25686

* bro the fucking brain does not go into the chest.

* seriously? undocumented code causing shit. if it breaks ghouls, so be it.

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 19:06:09 +00:00
SkyratBot
adbf657c7d [MIRROR] Crafting now transfers reagents from ingredients to final product [MDB IGNORE] (#25711)
* Crafting now transfers reagents from ingredients to final product (#80391)

## About The Pull Request
- Fixes #80143
- Fixes #80381

Based on the ingredients required reagents of the final product can
differ. It now transfers the olive oil from the bottle to the toasted
seeds & the orange juice and grenadine reagent from the ingredients into
the kasei dango.

Snow cones are now also edible

## Changelog
🆑
fix: crafting now transfers reagents from ingredients to final product
making previously inedible foods (toasted seeds, kasei dango & snow
cones) edible. Other crafted food products/items now differ in reagents
based on the ingredients required.
/🆑

* Crafting now transfers reagents from ingredients to final product

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-12-18 13:00:34 -06:00
SkyratBot
a661aeec7a [MIRROR] Fixes an inconsistency with ED-209's crafting recipe [MDB IGNORE] (#25662)
* Fixes an inconsistency with ED-209's crafting recipe (#80364)

## About The Pull Request
Makes the ED-209 crafting recipe only take security helmets, just as the
Beepsky one does.

## Why It's Good For The Game

As it stands right now, any helmet can be used to assemble an ED-209.
This includes anything from your standard security helmet, to a hardhat,
an envirohelm, or even a cheap toy roman helmet. This makes it so you
need an actual security helmet, just like the Beepsky recipe does.
## Changelog
🆑
fix: ED-209s can no longer be crafted with most instances of helmet, you
need security ones just like Beepsky.
/🆑

* Fixes an inconsistency with ED-209's crafting recipe

---------

Co-authored-by: StaringGasMask <62149527+Exester509@users.noreply.github.com>
2023-12-17 10:06:44 -05:00
SkyratBot
4701a177b7 [MIRROR] Motorized Wheelchair improvements [MDB IGNORE] (#25655)
* Motorized Wheelchair improvements (#80045)

## About The Pull Request

This PR improves motorized wheelchairs in the following ways:
- On initialize, motorized wheelchairs will have the most basic possible
stock parts inserted. This resolves a bug where motorized wheelchairs
spawned by admins or other means (mail, mapping) were completely
worthless, as they had no stock parts in them and you could not insert
better ones. When crafted, these basic parts are deleted and replaced
with the correct ones.
- Power cells are now part of the motorized wheelchair recipe, instead
of being inserted after.
- When deconstructed or destroyed, motorized wheelchairs now drop their
power cell on the floor with everything else instead of deleting it from
existence.
- Miscellaneous old code has been tidied up, removing one-letter var
names, pointless code duplication, and the like.
## Why It's Good For The Game

I've been talking to Dalm about this, and wheelchairs are in dire need
of some improvements. Tidying up the mess that is the motorized
wheelchair seemed like a good place to start.

Firstly, it's good for motorized wheelchairs to function as expected
when not specifically crafted by hand. This is helpful to admins,
mappers, and anyone else who might have reason to make one of these
appear. It's also good that all the parts in the wheelchair drop on the
ground when destroyed, as there's no particular reason power cells
should be lost.

As for power cells being included in the recipe - it's not obvious at a
glance that you _need_ to insert a power cell after crafting, until you
try to drive your new wheelchair around. This extra step of annoyance is
now avoided by making it required to stick one in when you build the
thing.
## Changelog
🆑
fix: Motorized wheelchairs will no longer spawn in a bugged state where
they have no parts and can't be upgraded.
fix: Motorized wheelchairs will drop their power cell when destroyed or
deconstructed.
qol: Power cells are now inserted into motorized wheelchairs as part of
the crafting recipe, instead of as an extra step afterwards.
/🆑

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@ users.noreply.github.com>

* Motorized Wheelchair improvements

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@ users.noreply.github.com>
2023-12-16 08:31:45 -05:00
SkyratBot
3d816fc0d5 [MIRROR] basic cleanbots refactor and new janitor skillchip [MDB IGNORE] (#25511)
* basic cleanbots refactor and new janitor skillchip

* Update medbot.dm

* UpdatePaths

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-12-08 19:59:00 -05:00
SkyratBot
9c60ff1de1 [MIRROR] Removes Clone Damage [MDB IGNORE] (#25429)
* Removes Clone Damage

* Update blackbox.dm

* Modular

* Update schema

* Update database_changelog.md

* More modular deprecated clone things

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-12-04 23:01:54 -05:00
SkyratBot
a6975112ed [MIRROR] Basic bots (medibots) [MDB IGNORE] (#25384)
* Basic bots (medibots)

* UpdatePaths, modular

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-03 02:10:21 -05:00
SkyratBot
6c4c965ea4 [MIRROR] Changes occurrences of recieve in code to receive [MDB IGNORE] (#25393)
* Changes occurrences of `recieve` in code to `receive`

* Fix conflict

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
2023-12-02 20:40:07 -06:00
SkyratBot
148c205512 [MIRROR] Fixes crafting menu incorrect use of reagents [MDB IGNORE] (#25382)
* Fixes crafting menu incorrect use of reagents (#80046)

## About The Pull Request
- Fixes #79931

The way crafting menu handles reagents is an abomination. It manually
updates its volume, rather than calling the correct procs for it and
also "clones" reagents like... it does some weird stuff that can leave
the beaker in an inconsistent state let's just leave it at that.

Now we properly consume the reagent via `remove_reagent()` proc and
don't do stuff manually so it works now. Also added some sanity checks
such as `>=` and not simply `>` when checking for reagent volumes and
also checks if we actually found a container in our surroundings which
could runtime if none was available

Also for my sanity please don't tell me to change any single letter var
names here. This whole file is crawling with them so let someone else
get their GBP from that

## Changelog
🆑
fix: crafting food or any other items that require reagents will not
leave behind blank reagents. That and properly updates the holder those
reagents are stored in
/🆑

* Fixes crafting menu incorrect use of reagents

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-12-02 08:54:53 -05:00
SkyratBot
ed67fa1a29 [MIRROR] Final optimizations for reagent holder [MDB IGNORE] (#25216)
* Final optimizations for reagent holder

* Modular

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-23 19:02:57 -05:00
SkyratBot
c34cd6fd3d [MIRROR] More code compression for reagent holder [MDB IGNORE] (#25121)
* More code compression for reagent holder (#79796)

## About The Pull Request
Part 2 of #79686 where we trim down the size of `holder.dm` even further
and in the process give some procs more advanced features as they get
merged with their counterparts.

**1. Removes & merges `get_multiple_reagent_amounts()` proc with
`get_reagent_amount()`**
The proc `get_multiple_reagent_amounts()` was only used by bio generator
and 1 other item with its only use being finding the sum of all reagents
present in the list returned by
`typesof(datum/reagent/consumable/nutrient)`. Currently the approach is
very inefficient because.
- `typesof()` is an expensive call which returns a long list of reagents
- `get_multiple_reagent_amounts()` would then use 2 nested for loops.
One to loop over every reagent in this holder & another inner for loop
to loop over every reagent returned by `typesof()` operator so the time
complexity of this proc is overall multiplicative which in lamen terms
means "Bad"

We can replicate the same behaviour of `typesof()` by using the
`type2parent()` proc and 1 more direct type check to get the exact same
behaviour but with much faster results, therefore reducing overall code

**2. Removes & merges `get_reagent()` proc with `has_reagent()`**
The proc `has_reagent()` is way more advanced than `get_reagent()` with
arguments requesting for a specific amount, metabolization and now even
has a new argument i.e. `chemical flag`. `has_reagent()` has always
returned the reagent reference directly and not a simple TRUE/FALSE so
it is a perfect replacement for `get_reagent()`, therefore reducing
overall code

**3. Removes & merges `has_chemical_flag()` proc with `has_reagent()`**
The proc `has_reagent()` can now look for a specific reagent with a
specific chemical flag as well as mentioned above thus it can replace
`has_chemical_flag()` therefore reducing overall code

## Changelog
🆑
code: Removes & merges `get_multiple_reagent_amounts()` proc with
`get_reagent_amount()` inside reagent holder
code: Removes & merges `get_reagent()` proc with `has_reagent()` inside
reagent holder
code: Removes & merges `has_chemical_flag()` proc with `has_reagent()`
inside reagent holder
refactor: Reagent holder code has been further compressed. Report bugs
on github
/🆑

* More code compression for reagent holder

* Update hemophage_organs.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-19 16:05:16 -05:00
SkyratBot
94e579cd35 [MIRROR] Emergency hotfix for engi crossbow [NO GBP] [MDB IGNORE] (#24910)
* Emergency hotfix for engi crossbow [NO GBP] (#79606)

Hadnt added these commits when the PR got merged due to not expecting it
oops

## Why It's Good For The Game

See above, used to make my last pr actually function as intended.

## Changelog

🆑
fix: fixed engi crossbow being able to be used onehanded + ability to
craft with sci inducers
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Emergency hotfix for engi crossbow [NO GBP]

---------

Co-authored-by: KingkumaArt <69398298+KingkumaArt@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2023-11-10 09:44:42 -05:00
SkyratBot
064682b5cd [MIRROR] Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant [MDB IGNORE] (#24860)
* Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant (#78777)

<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

![image](https://github.com/KingkumaArt/KingkumaTGSS13/assets/69398298/e4d921a6-9bd6-4eb3-9085-2bfa5df67826)
Engi now has access to a Half Life 2 Inspired rebar crossbow! Made of
rods, wire, and an inducer, it shoots sharpened iron rods at a high
velocity. High damage and good embed chance, but requires you to reload
every shot which requires you to stand still for three seconds to pull
the string back. You can also Use a wrench on it to force it to store
more rods (read: more than one), but risks it exploding and shooting you
instead.

The syndicate variant, avaliable to traitor engis, can fire three rounds
before needing a reload, and features a scope and better armor piercing
ammpo, but costs 10TC. I see it as a sidegrade to the revolver - quieter
and has much more widespread ammuniton, but holds less ammo and doesnt
have the same burst stopping power. And, to those concerned about the
balance of a non-traitor with this item - the AP ammo can only be made
by the traitor who bought it, and anyone else has to use normal ammo.

GUN STAT JUNK
Normal one has 60% embed chance and does 40 damage (against unarmored
targetd), but requires you to wait at least 3 seconds not moving to pull
the string back. Good alpha strike but not sustainable in a long fight.
Its akin to a pipegun.

Lacks any AP qualities besides piercing a jumpsuit, because any wound
chance it has is due to a bare skin bonus. Generally not a great weapon
to fight sec with.

Syndie version is generally the above but better. Takes less to pull the
string back, slightly higher damage, better fire rate, etc. Doesnt fare
well against any armor thats equivalent to sec gear or better due to
most having low (relatively) AP and wound chance, but good bare wound
bonus.

STATS TLDR: Its good against unarmored chumps and greyshirts but anyone
in armor that protects against bullets will kick your teeth in.

Also, Ammo is crafted from an iron rod. I wanted to have it just fire
rods as is, but theyre stacked items which you cant define projectiles
or ammo from.

## Why It's Good For The Game

I've always felt engi, for as big of a department as it is, is lacking
in the "fun weapons" area. Sci has mechs and xenobio, med has chem nades
and syringe guns, and cargo has anything the QM will buy - but other
than the flamer and shocked doors, engi doesnt have much. Thats why I
made this pr. it was originally just a traitor item, as they lacked many
traitor items in their shop, but I felt like a worse, bootleg version
would suit them.

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: Enginenering rebar crossbows + tot kit
add: Added a bunch of ammos and crafting junk to make the ammo exist
image: added icond for all the above
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Adds engi improvised weapon - rebar crossbow + Engi Exclusive Tot Shop Variant

---------

Co-authored-by: KingkumaArt <69398298+KingkumaArt@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2023-11-08 22:35:31 -05:00
SkyratBot
a7509e9dfb [MIRROR] Scatter laser shells now use the scatter laser beam, and makes them significantly easier to make. Projectiles can now have damage falloff. [MDB IGNORE] (#24584)
* Scatter laser shells now use the scatter laser beam, and makes them significantly easier to make. Projectiles can now have damage falloff. (#78927)

## About The Pull Request

Allows for damage falloff to apply to more than just shotgun pellets.
Now any projectile can have a damage falloff defined.

Scatter Laser shells no longer use the minigun beams to determine their
damage. Instead they use the actually defined scatter laser beams. Those
beams do 7.5 damage per pellet, times by 6 pellets.

Scatter laser beams now have damage falloff, a separately defined
(positive) wounding power from normal beams, and wound falloff.

Scatter laser shells can be printed from security protolathes once you
have weapon tech.

Scatter laser shells _may_ be damaged by EMPs based on severity. The
result is that it fires a practically useless volley of laser fire. They
cause a honk sound when they hit, so you know when you've shot one of
these.

## Why It's Good For The Game

Well, we want shotguns universally to not be defined by their damage
output (especially extreme damage output) but by niche.

What does the scatter laser shell currently occupy as a niche?

The single highest damage output of any projectile weapon in direct
damage. The thing we don't want of shotguns, and it is reigning champion
of all guns.

Okay, that's a bit misleading, because obviously it is competing with
the likes of .50 BMG which does 70 damage outright and dismembers limbs,
potentially doing upwards of 90 damage if it does, and also hard stuns
people. Obviously _that_ is technically a stronger bullet.

But not for raw damage, because the scatter laser does 90 damage out the
gate, barring any potential wounding that might occur which increases
the damage multiplicatively. No gimmicks, no extra procs, nothing. It's
just 15 force lasers (with no damage dropoff) split between 6 beams.

And the reason for this is because this shell has been nerfed once prior
by making it not fire 6 normal laser shots into someone. That was 120
damage at the time, 120 to 90 was...I guess a nerf during the taser era.
Depends on how you viewed it. Buckshot was doing like 80 at the time,
believe me it was a wild period. But anyway, when we did the whole
damage rearrangement over the course of the laser few years, every other
shell got touched except this one for some reason. Even pulse slugs lost
10 damage while this was still sitting on 90 force point blank.

So what is the new niche? Well, it's laser buckshot. That's not a niche
but crew don't get buckshot, so this is their buckshot. It wounds real
good. Real goddamn good. And its is a laser. It fits the aesthetic,
obviously.

Okay, thanks.

## Changelog
🆑
balance: Scatter laser shells actually utilize the _real_ scatter laser
beam. This comes with damage changes. And wounding power.
feature: EMPs can potentially damage scatter laser shells.
refactor: All projectiles can now have damage falloff defined. Yay.
balance: Scatter laser shells can be printed when weapons technology is
researched.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Scatter laser shells now use the scatter laser beam, and makes them significantly easier to make. Projectiles can now have damage falloff.

* Modular

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-25 19:29:37 +00:00
GoldenAlpharex
a6995da07d Pollution doesn't spawn when the subsystem is offline + only player-crafted bonfires produce smoke (#24555)
* Pollution no longer happens when the subsystem is offline

* Removes the code for bonfire pollution that wasn't done modularly

* Modularizes bonfire pollution, makes the default bonfire not produce pollution

* Player-made campfires produce pollution
2023-10-24 14:37:34 -04:00
SkyratBot
aab4740f24 [MIRROR] Reverts crafting hologram check [MDB IGNORE] (#24517)
* Reverts crafting hologram check (#79185)

## About The Pull Request

Reverts crafting check from #79028

I'm investigating this runtime

![image](https://github.com/tgstation/tgstation/assets/51863163/2920270a-ec2b-483b-93f2-a954a32f7d8a)

and - while the runtime points to a larger issue - this check is not
even necessary, as hologram items are already excluded from the list of
items.

67f263d0c1/code/datums/components/crafting/crafting.dm (L110-L113)

* Reverts crafting hologram check

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-10-22 21:55:57 +00:00
SkyratBot
42512d62be [MIRROR] Fixes crafting menu not detecting ingredients properly [MDB IGNORE] (#24513)
* Fixes crafting menu not detecting ingredients properly (#79141)

## About The Pull Request
1. Fixes #79089
This fix applies for the above issue and all crafting recipes that
require some sort of reagent container containing reagents. It now adds
the container & the reagents inside of it to the list of available
ingredients & not just the reagents which was previously the case.

2. Fixes #79159
Other crafting ingredients in general were not being detected if it was
not a stack type. That's fixed now too

## Changelog
🆑
fix: items that require reagent containers & the reagents inside it for
crafting(e.g. molotov) now crafts properly.
fix: most crafting recipes should work now
/🆑

* Fixes crafting menu not detecting ingredients properly

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-10-22 14:05:56 -04:00
SkyratBot
8a907d2813 [MIRROR] Fix holodeck items from being eaten, crafted, recycled, juiced, or grinded [MDB IGNORE] (#24494)
* Fix holodeck items from being eaten, crafted, recycled, juiced, or grinded (#79028)

## About The Pull Request
- Fixes #74612

The holodeck edibles could be eaten by the crew giving them nutrition
and medicine reagents. This could be done an infinite amount of times
since holodeck programs can be reloaded instantly.

Holodeck items no longer can be:
- Eaten
- Crafted as an ingredient
- Juiced into reagents
- Grinded into reagents
- Recycled into material

## Why It's Good For The Game
No more free infinite heals from holodeck or other silly exploits.

## Changelog
🆑
fix: Fix holodeck items from being eaten, crafted, recycled, juiced, or
grinded.
/🆑

* Fix holodeck items from being eaten, crafted, recycled, juiced, or grinded

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-10-21 15:15:16 -04:00
SkyratBot
e197b087dd [MIRROR] Added more slapcraft recipes, improved its component, fixed base cowboy hat type [MDB IGNORE] (#24410)
* Added more slapcraft recipes, improved its component, fixed base cowboy hat type (#78854)

## About The Pull Request

Added slapcraft recipes for: Pillow suits, pillow helmets, bone and
sinew tailoring/weaponry, pipeguns, ghetto jetpacks, and pneumatic
cannons.

The base type of cowboy hats no longer looks and is named like a bounty
hunter hat, clarifying the recipe for the heroic laser musket.

Fixed an issue where if a slapcraft recipe required more than one
instance of its 'primary' slapcrafting item, it wouldn't show the
additional instance when examining its recipes.

## Why It's Good For The Game

Idk lol

## Changelog

🆑
qol: Added slapcraft recipes for: Pillow suits, pillow helmets, bone and
sinew tailoring/weaponry, pipeguns, ghetto jetpacks, and pneumatic
cannons.
code: The base type of cowboy hats no longer looks and is named like a
bounty hunter hat, clarifying the recipe for the heroic laser musket.
They need cowboy hats not bounty hats.
fix: Fixed an issue where if a slapcraft recipe required more than one
instance of its 'primary' slapcrafting item, it wouldn't show the
additional instance when examining its recipes.
/🆑

* Added more slapcraft recipes, improved its component, fixed base cowboy hat type

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-10-18 00:36:42 -04:00
SkyratBot
d5d78fec30 [MIRROR] Makes the Regal Condor realistically simulate being shot dead with a high caliber hand cannon by making it HITSCAN [MDB IGNORE] (#24149)
* Makes the Regal Condor realistically simulate being shot dead with a high caliber hand cannon by making it HITSCAN (#78674)

## About The Pull Request

The Regal Condor come with a magazine and ammo already inside.

The recipe for the magazine now no longer needs TC, but does need donk
pockets (sponsored murder gear, you see) and a hell of a lot more
materials per magazine (you're looking at like 40 sheets of various
materials all up). It also needs you to make the Condor first. But it
comes preloaded with ammo.

The Condor is 1 whole TC more expensive. Also needs some metal. The old
recipe is there in spirit.

The Regal Condor and the magazines come with 10mm Reaper bullets.
They're high damage. They're high AP. They are also hitscan.

## Why It's Good For The Game

Apparently people don't like the Condor. Too much effort for not enough
reward. After all, revolvers exist. 'It must be a joke' they say! 'It's
joke content! I went to all that effort to make it for nothing! That
slut Anne tricked us!'

**Wrong, bitch.**

If you want the Condor to make you shit yourself the moment someone with
it appears on the screen, then fine!

### **You get what you fucking deserve.**

## Changelog
🆑
balance: Despite earlier reports suggesting that the famous lethality of
the Regal Condor was largely a myth, there has been rumors that the gun
has once again started to display its true killing potential on any
station that it 'manifests'.
/🆑

* Makes the Regal Condor realistically simulate being shot dead with a high caliber hand cannon by making it HITSCAN

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2023-10-06 14:46:20 -07:00
SkyratBot
90f0f07709 [MIRROR] adds boxes of bandages, and bandages to go in them [MDB IGNORE] (#24065)
* adds boxes of bandages, and bandages to go in them (#78406)

## About The Pull Request
have you ever walked into medbay, picked up a suture, and asked yourself
"how do i know how to stitch myself up?"
do you long for the simplicity of a bandage that can be popped on, no
thought required?
well, look no further! now introducing, the DeForest First Aid Bandage!

![image](https://github.com/tgstation/tgstation/assets/110322848/bb737393-0e2b-4773-a673-ab784a409bed)
each box of bandages holds five each, which are all one time use items.
using one heals up to 25 brute damage from a single part of the body.
boxes of bandages will drain much faster than sutures, and are much less
precise for healing specific increments of damage, but heal more in
exchange. they are also worse at stopping blood loss, but not completely
useless for it.

they can be found in a handful of places:
(some) high value medkits
in paramedic's pockets
some medbay lobbies
some cargo holds
all sec infirmaries
in goodies on the cargo console
maint loot
and nanomeds!

i considered making these replace brute kits, but those are used in a
lot of old references, so it felt a bit passe. so i made a new item that
is a bit more balanced, so they can be mapped in and added to vendors
without much worry.
## Why It's Good For The Game
cute item, heals the people who wouldn't really be going into medbay
anyways, and is fairly flavorful. if it's a bit too strong as is i can
tweak the number, but the goal is to not be powerful enough to outshine
sutures, while still offering somewhat effective healing for rough
housing assistants and antags
## Changelog
🆑
add: adds boxes of bandages, a quick healing item
/🆑

* adds boxes of bandages, and bandages to go in them

* Update medical_boxes.dm

* Update VoidRaptor.dmm

---------

Co-authored-by: Lamb <110322848+CoiledLamb@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-10-02 00:15:05 -07:00
SkyratBot
89a03b48e2 [MIRROR] Converts slapcrafting into a component [MDB IGNORE] (#23955)
* Converts slapcrafting into a component

* Update color.dm

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-27 18:19:23 -04:00
SkyratBot
e310aa97b3 [MIRROR] [Fuck Shotties] Old Yellers Old Yeller (Improvised Shell Nerf) [MDB IGNORE] (#23812)
* [Fuck Shotties] Old Yellers Old Yeller (Improvised Shell Nerf) (#78235)

## About The Pull Request

Reworks improv shells to not be equal or even superior to buckshot, by
cutting their damage in half and reducing the wound bonuses. In return
they have a demolition_mod of 3, so do more damage overall to the
environment, a true vandal's paradise.

Added a glass shard to the recipe as an actual projectile instead of
just sheets of metal.

## Why It's Good For The Game

When buckshot was originally removed from the station (#55663) the
intended purpose was, as requested by oranges, to make shotguns a
specialist weapon instead of general purpose lethals.

It has come to my attention that improvised shells (which were initially
intended to be a weaker alternative made form commonly available
materials) are in fact better buckshot, and had no right to survive the
original nerf. I am now fixing that oversight by turning improvised
shells into a more specialised vandalism tool.

## Changelog
🆑
balance: Improvised shotgun shells now deal half as much damage to
humans and cause less wounds, but do 50% more damage to structures and
machines. They also require a glass shard for crafting.
/🆑

* [Fuck Shotties] Old Yellers Old Yeller (Improvised Shell Nerf)

---------

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
2023-09-19 21:19:43 -04:00
SkyratBot
08bbda5fd3 [MIRROR] Gun kits don't need cable coil or tools, halved crafting time [MDB IGNORE] (#23802)
* Gun kits don't need cable coil or tools, halved crafting time (#78419)

## About The Pull Request

Crafting R&D guns from gun kits no longer requires tools or cable coil.
The decloner and energy crossbow still need reagents.

Halved R&D gun crafting time. 20->10 seconds.

## Why It's Good For The Game

These changes were made a long, long while ago and honestly while I
understand gun kits I don't understand why it was made So. Annoying. To
make the fucking guns once you got everything ready. It makes it a total
annoyance. You spent 40 minutes getting all the tech for it, you
shouldn't have to also get tools and cables and wait 20 seconds standing
still.

Anyone who has played ingame like any time after that change can attest
how underused any R&D gun is now. X-ray laser guns still DESTROY blobs
but people don't even THINK about them because of the dumb annoying
recipe (alongside RnD being a pain now).

Simply put this just. Makes life easier for security officers. And
reduces tool dependency.

## Changelog

🆑
qol: Crafting R&D guns from gun kits no longer requires tools or cable
coil. The decloner and energy crossbow still need reagents.
qol: Halved R&D gun crafting time. 20->10 seconds.
/🆑

* Gun kits don't need cable coil or tools, halved crafting time

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-09-19 11:33:45 -04:00
SkyratBot
fb9d01d959 [MIRROR] Adds craftable surgery trays. [MDB IGNORE] (#23790)
* Adds craftable surgery trays. (#78364)

## About The Pull Request

Surgery trays can now be crafted in the crafting menu for two rods and
one silver, while having a screwdriver. (Same cost as a table.)
Out of necessity, the preloaded variants of surgery trays have been
re-pathed to a full subtype, though maps have already been updated to
use the preloaded variant.

The morgue tray and the (new!) advanced trays have been re-pathed to
`.../full/morgue` and `.../full/advanced`, respectively

Additionally, surgery trays can now be deconstructed by secondary click
with a screwdriver. Woo!

## Why It's Good For The Game

If you want more surgery trays, build 'em!
If you want less surgery trays, unbuild 'em!

## Changelog
🆑
qol: Surgery trays can now be crafted via the crafting menu (two rods,
one silver), and deconstructed via secondary click with a screwdriver!
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Adds craftable surgery trays.

* UpdatePaths

---------

Co-authored-by: Shadow-Quill <44811257+Shadow-Quill@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-18 23:48:49 -07:00
SkyratBot
3863238ccd [MIRROR] Removes some food initialize arguments [MDB IGNORE] (#23712)
* Removes some food initialize arguments (#78322)

## About The Pull Request

A prior PR added some new initialize arguments to the food subtype which
did not strictly need to be there, this caused a large number of bugs as
a result of places which already had extra initialize arguments not
correctly accounting for these new ones.
As a result I have removed these again in favour of performing the
required operations in a different way (one of these arguments was
seemingly used for butter purity and literally nothing else), for this
food and also some of its subtypes.

In some other cases where it _did_ make sense to have arguments in
`initialize` I also added them to `new` so they can be passed by name.

This will hopefully make the food more maintainable if in the future if
someone does something similar, and solve any remaining bugs related to
"not passing the arguments properly".

## Changelog

Hopefully not player facing

* Removes some food initialize arguments

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-15 12:30:43 -04:00
SkyratBot
6620bffa84 [MIRROR] Collected food fixes [MDB IGNORE] (#23596)
* Collected food fixes (#78190)

I went through the code and tried to find all of the remaining places we
forgot to update the arguments passed into `item/food/Initialize` after
more arguments were added to it, because there were a couple and they
caused things to stop working.
Most notably, golems were unable to eat anything because nothing would
correctly spawn "golem food".

_Additionally_ we were using a bunch of named arguments in new whenever
crafting or cooking food. This runtimed, causing the food not to init
properly.
_On top of that_ a late code review on a recent PR processed a list into
a string_assoc_list twice causing it to become null.

Finally, we were trying to check the food preferences of examining
ghosts or dogs or other non-human mobs. We shouldn't do that.

I also added a unit test for moth and golem food in the hopes that we'll
notice them breaking.

* Collected food fixes

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-09 10:32:37 -04:00
SkyratBot
5889ad4fc8 [MIRROR] Fixes an edge case in personal crafting that could result in the crafting window getting stuck forever [MDB IGNORE] (#23442)
* Fixes an edge case in personal crafting that could result in the crafting window getting stuck forever

* Update crafting.dm

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-01 00:10:19 -04:00
SkyratBot
061770c032 [MIRROR] Ports poppy and geranium sprites from beestation (plus flower crowns!!) [MDB IGNORE] (#23432)
* Ports poppy and geranium sprites from beestation (plus flower crowns!!) (#78022)

## About The Pull Request
Ported from
[here](https://github.com/BeeStation/BeeStation-Hornet/pull/5397).
I have for the longest time hated how geraniums and lilies are just a
resprite of poppies, so, with the permission of the original PR author

![image](https://github.com/tgstation/tgstation/assets/20053168/19480651-8924-40c7-b57d-ad4e6f06c6e2)
I present you, plants.

![image](https://github.com/tgstation/tgstation/assets/20053168/fa13cc16-929e-44ec-b4cf-065e06772c21)

![image](https://github.com/tgstation/tgstation/assets/20053168/318cc7c2-8f40-47b7-a6df-562255173027)
## Why It's Good For The Game
No more recoloured poppies, plants have soul now. Also flower crowns are
pretty.
## Changelog
🆑 xPokee, Pirill
add: Added flower crowns, craftable via the clothing menu.
image: Resprited geraniums, poppies, and lilys, along with changing
their worn icon.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* Ports poppy and geranium sprites from beestation (plus flower crowns!!)

---------

Co-authored-by: Alexis <catmc8565@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2023-08-31 12:23:57 -07:00
SkyratBot
d0a892d19c [MIRROR] Big Slappy | Giant Weapon DLC [MERGE READY!!!] [MDB IGNORE] (#23082)
* Big Slappy | Giant Weapon DLC [MERGE READY!!!] (#77273)

## About The Pull Request
Big Slappy is a new illegal shovel/wrench which can be obtained through
illegals means. Parts you need to craft it can be found on the black
market uplink for a low price, but if it is not there you can find it on
the imports page on your hacked cargo console for 4400 credits usually.
Big Slappy makes you slow and you will get 10 recoil damage everytime
you hit someone and you will knock down your opponent for two seconds
while throwing people back like a baseball bat. It deals 30 damage and
is the fastest shovel/wrench out there. It can be folded into its wrench
form which will change its typing and makes it look like a wrench. It
also deals more damage in the wrench state, but also deals more recoil
damage and your target will not get knocked down. This weapon will
probably only appear in a few rounds since it has recoil damage, is slow
and costs a lot to obtain. It also has a longer meele attack cooldown.

To craft it you need 4 wrenches, 1 drill, 5 plasteel, 10 rods and 1 big
slappy parts using tools.

![promo](https://github.com/tgstation/tgstation/assets/25363960/4d619283-832c-4ce0-b3b2-e6ddb3dbd988)
## Why It's Good For The Game
Cool new weapon.
## Changelog
🆑
add: Added big slappy
image: Added big slappy parts and big slappy sprites
/🆑

* Big Slappy | Giant Weapon DLC [MERGE READY!!!]

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
2023-08-14 19:27:01 -04:00
SkyratBot
27bdb234e2 [MIRROR] fixes medbots made with tactical medical kits having the wrong skin [MDB IGNORE] (#23074)
* fixes medbots made with tactical medical kits having the wrong skin (#77080)

Fixes #76996

🆑 ShizCalev
fix: Medbots made with tactical medical kits now have the correct skin
/🆑

* fixes medbots made with tactical medical kits having the wrong skin

---------

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2023-08-14 11:50:49 -07:00
SkyratBot
4799d59689 [MIRROR] Fixes FRAG-12 recipe leaving reagents in the beaker after crafting [MDB IGNORE] (#22995)
* Fixes FRAG-12 recipe leaving reagents in the beaker after crafting (#77445)

## About The Pull Request
This PR changes the recipe to use 10 fluorosulfuric acid instead of 5
sulfuric and 5 fluorosulfuric. This doesn't function as a balance change
as sulfuric acid is actually required to craft fluorosulfuric acid, so
this shouldn't impact the difficulty of crafting it, just make it more
consistent.

This also fixes a minor grammar issue with the name of the crafting
recipe that bugged me. Just me being pedantic.

## Why It's Good For The Game
Fixes #77338.

There's probably something deeper going on with how crafting handles
materials that turn into other materials in crafts, but this is a simple
fix that makes sense in the short term to make them actually craft as
expected instead of leaving byproducts.
## Changelog
🆑 Vekter
fix: FRAG-12 shells no longer require sulfuric acid, instead needing 10
fluorosulfuric acid. This should prevent them from leaving byproducts if
crafted in a specific way.
/🆑

* Fixes FRAG-12 recipe leaving reagents in the beaker after crafting

---------

Co-authored-by: Vekter <TheVekter@users.noreply.github.com>
2023-08-10 13:41:06 -04:00
SkyratBot
104eeba880 [MIRROR] Crafting recipes without an explicit name are now named after their results. [MDB IGNORE] (#22984)
* Crafting recipes without an explicit name are now named after their results. (#77465)

## About The Pull Request

What it says on the tin. The code comment accompanying the "name" var
suggests this was already the case, but it was only true for the
crafting UI.
Adjusted some other code that gets recipe names to account for this
change.
## Why It's Good For The Game

Convenient, both as a fallback and for the sake of avoiding repetition
where it isn't necessary. That said, I haven't gone out of my way to
remove pre-existing names that match the result, in case that practice
is still considered desirable.
It also fixes #77379 and similar issues.
## Changelog
🆑
fix: crafting recipes without a name, such as the mothic pizzas, will
inherit the name of the item they make
/🆑

* Crafting recipes without an explicit name are now named after their results.

---------

Co-authored-by: A miscellaneous Fern <80640114+FernandoJ8@users.noreply.github.com>
2023-08-10 08:09:01 -04:00
SkyratBot
8f6dd1c466 [MIRROR] Adds in the smoothbore disablers. [MDB IGNORE] (#22528)
* Adds in the smoothbore disablers.

* Resolve merge conflicts + ammo HUD stuff

* No better way to do this than a skyrat edit since the proc sleeps

* Fixes a changed path

---------

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-07-19 00:13:46 -04:00
SkyratBot
74af69d062 [MIRROR] Adds cardboard IDs to the game: The broke man's agent ID. [MDB IGNORE] (#22341)
* Adds cardboard IDs to the game: The broke man's agent ID.

* Fixes some undocced edits, formats others to match spec

* Fixes a merge conflict

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 01:06:41 -04:00
SkyratBot
e3cd27ab6d [MIRROR] The Laser Musket (2023) (Settlement Helper Edition) [MDB IGNORE] (#22156)
* The Laser Musket (2023) (Settlement Helper Edition) (#76231)

## About The Pull Request
This adds a craftable laser musket to the game. It's slow and unwieldy,
but consistent! I'd be happy to tweak the numbers if it's too good/bad.

This PR also adds an independent militia ERT, who travels the spinward
sector to help defend stations!

TO DO LIST:

- [x] Finish worn sprites
- [x] Add a crafting recipe on par with the pipegun
- [x] Add bayonets
- [x] Separate charging into two stages and REDO THE AUDIO AAAA
- [x] Clean up code (Needs review, totally)

Scrapped:

- Possibly add overcharge mechanic (This is just beyond my skill level
for now)
- Find a unique sound for the weapon firing (We have a unique
projectile, and I can't a sound that fits more than the laser gun one)

![image](https://github.com/tgstation/tgstation/assets/73589390/40ee8f1d-5c1f-4638-af70-ff1215b85c9e)

![1211
(1)](https://github.com/tgstation/tgstation/assets/73589390/1a4b9856-a878-4500-96ce-4fd83587fa81)

![musket (2) (2)
(2)](https://github.com/tgstation/tgstation/assets/73589390/2ebdc2ed-6f78-4761-9deb-a1b2d337a02d)

![aaaa1
(1)](https://github.com/tgstation/tgstation/assets/73589390/6076edd3-97c9-41ec-a67a-90717f97eab0)

![image](https://github.com/tgstation/tgstation/assets/73589390/c47e44bd-3f4b-44b3-aaa5-9b1c25a72cad)

Inhands by RedSentry27
Suit sprite by Kinnebian
Prime Laser Musket sprites by RedSentry27

Balance Considerations (ew):
25 damage (30 on prime)
Normal wound
40 Stamina damage (45 on prime)
Weak to armour (prime not weak to armor)
2 second charge time, needs to be charged twice
No overcharge
Requires two hands to hold (like a chainsaw)

Crafting Recipe:
One rifle stock
Fifteen Cable Coils
Four Iron Rods
One micro laser
One capacitor
One pair of prescription glasses
One drinking glass
Craft for 10 seconds with a wirecutter and screwdriver

Prime crafting recipe: (REQUIRES READING MAINTENANCE LOOT: "journal of a
space ranger")
One laser musket
Fifteen cable coils
Five silver
One water recycler
Fifteen units of nuka cola
Craft for 30 seconds with a screwdriver while wearing cowboy boots and a
cowboy hat
## Why It's Good For The Game
The idea of assistants and revs forming firing lines in the halls to
shoot eachother sounds hilarious. Besides, we need a parallel to the
pipegun, and this is the funniest way to do so.
## Changelog
🆑 Cheshify, Kinnebian, and RedSentry27
add: Maintenance engineers have sent out blueprints across the sector
for a new laser musket.
admin: A new energy-gun toting ERT is available to send to the crew.

---------

Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>

* The Laser Musket (2023) (Settlement Helper Edition)

* Update guns.dm

* Update guns.dm

* Fixes vox/teshari greyscale config paths

---------

Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-14 15:21:42 -04:00
Zergspower
68a899f5bd [Manual Mirror Fix] Coroner additions and tweaks (#76534) (#22380)
* 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.
/🆑

* Modular Scythes

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-07-11 22:07:31 -07:00
SkyratBot
381549f2f7 [MIRROR] service borg cookin fixin update [MDB IGNORE] (#22325)
* 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
/🆑

* service borg cookin fixin update

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2023-07-09 11:16:10 -07:00
SkyratBot
5801897271 [MIRROR] Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible [MDB IGNORE] (#22044)
* Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible (#76259)

## About The Pull Request
Fixes #76250

The problem was a glass bottle has `tool_behaviour = rollingpin` and so
it took priority in this if condition

93d4b6d6cd/code/datums/components/crafting/crafting.dm (L125-L134)
before it could check if its a reagent container

Now the priority is inverted, if the glass bottle has reagents inside it
then it is used as a reagent container else if it is empty then it used
as a rolling pin(i.e. checks for its tool behaviours)

## Changelog
🆑
fix: glass bottles with reagents can be used for crafting, empty glass
bottles will be used as tools(e.g. empty glass bottle as rolling pin)
fix: glass bottle with welding fuel can be used for crafting improvised
shotgun shells
/🆑

* Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-06-27 19:56:30 -07:00
SkyratBot
1beff3980c [MIRROR] Air Sensor are Craftable, Removed from RPD UI, Have New Linking System [MDB IGNORE] (#21964)
* Air Sensor are Craftable, Removed from RPD UI, Have New Linking System (#75869)

## About The Pull Request

**1. Craftable & Removed from RPD UI**

1. Air sensor's are now craftable
2. You can turn them on/off with hand. Even though turning off the
sensor will change it to a diffrent type[from `obj/machinery/air_sensor`
-> `obj/item/air_sensor`] it's I/O port's are sill preserved when
turning them on although you have to assign it a new name again which is
usefull if you want to change the sensor's purpose in game.
3. They can now only be deconstructed by a welding tool and should be
wrenched in place to turn them on.
4. Turned off air sensor's once unwrenched can be picked up like any
regular item
5. Air sensor's are removed from the RPD UI because they don't go with
pipes so it logically doesn't make sense to group them with pipe related
device's

Removed unused code in the process

https://github.com/tgstation/tgstation/assets/110812394/3439a0f3-9c48-43ac-8f4b-98135435ec13

**2. New ID System**
The problem with air sensor's is that each sensor is assigned a unique
ID which is then stored in `GLOB.objects_by_id_tag` list. Each sensor
name it's assigned based on the gas it's trying to sense(for naming only
even though it can detect other gases) So if 2 sensor's having the same
ID are made they will overwrite each other in this list leaving one
sensor orphaned in the world which cannot be referenced because it's
value was overwritten by a new sensor having the same ID in this list.

The Solution? Rather than having all atmos computer's look up sensor's
from this 1 global list make each computer keep track of all sensor's
it's responsible for in it's own local list[which i called
`connected_sensor's`] this way 2 sensor's can have randomly generated
names in the global `GLOB.objects_by_id_tag` list but the computer will
know what sensor to look up in this list based on the stored sensor ID's
in the `connected_sensor's` list

Basically what i am getting at is now you can make as many air sensor's
as you wish but you will know have to connect that sensor to the
computer using a multitool.
Notice in the video how i made 2 sensor's called `Supermatter Chamber
Sensor's`] and every time you try to connect an sensor which has the
same name[`Supermatter Chamber Sensor's` in this case] they will
ovewrite the old sensor in it's list as shown in the video

https://github.com/tgstation/tgstation/assets/110812394/b5283c3b-c8a1-4b94-a6a8-8ba7a0007615

**Why it's good for the game**
![Screenshot
(247)](https://github.com/tgstation/tgstation/assets/110812394/6a7eb501-4414-4f01-a6ef-3e9b70f4af06)

I agree. Also air sensor's taking up a full Tab/Section in the RPD UI
wasted a lot of UI space so that's removed now. Also making the air
sensor's wrenchable and pickable item's was also requested in
https://github.com/tgstation/tgstation/pull/72019#issuecomment-1355499873
so you relate them to device's like meter's

Another huge issue was that the number of air sensor's you can make in
the world was limited because each sensor in the world must have a
unique ID but that's finally fixed now so yeah make as many sensor's as
you want.

## Changelog
🆑
add: air sensor's are craftable
refactor: air sensor's can now be turned off by hand and can only be
deconstructed by a welding tool
refactor: removed `Params()` proc
qol: unwrenched air sensors can be picked up & recycled like regular
item's
del: air sensor are removed from the RPD UI
qol: air sensor's are no longer restricted by their unique ID's which
mean you can craft as many air sensors as you want.
/🆑

---------

Co-authored-by: Time-Green <timkoster1@ hotmail.com>

* Air Sensor are Craftable, Removed from RPD UI, Have New Linking System

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@ hotmail.com>
2023-06-23 16:06:45 -07:00
SkyratBot
b416eaa605 [MIRROR] Burner can be crafted from any open container [MDB IGNORE] (#21832)
* Burner can be crafted from any open container (#75978)

![image](https://github.com/tgstation/tgstation/assets/3625094/042ef40c-512f-40c5-8e65-a7dc842108fd)

## About The Pull Request

Expands the options for making burners (makeshift igniters) by requiring
any open container (bottles, cans, cups) instead of beaker subtypes.

## Why It's Good For The Game

Makes ghetto recipe a bit more ghetto-friendly

## Changelog
🆑
qol: Chemical burner can be crafted from any open container, not just
beakers
/🆑

* Burner can be crafted from any open container

* null modular icon

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 16:04:02 +01:00
SkyratBot
61955eb235 [MIRROR] Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe [MDB IGNORE] (#21704)
* Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe (#75813)

## About The Pull Request

Fixes an issue where crafting something that uses a tool as a part of
its recipe using an integrated arm implant would delete the cyborg tool
from the implant. Technically the flamethrower was not eating the
implant, but it was doing other weird stuff. The tools can still be used
if they are part of the needed tools to put together the item.

fixes: #74081

## Why It's Good For The Game

We don't want players losing their tool implants from crafting an item.

## Changelog

🆑 Seven
fix: Crafting recipes will not eat your implanted toolset if the recipe
calls for a tool
/🆑

* Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe

---------

Co-authored-by: Lufferly <40921881+Lufferly@users.noreply.github.com>
2023-06-07 17:09:36 +02:00
SkyratBot
e8a9d51b10 [MIRROR] Hot Stuff(Igniter's & Sparkers) are buildable. [MDB IGNORE] (#21691)
* Hot Stuff(Igniter's & Sparkers) are buildable. (#75722)

## About The Pull Request

**1. Igniter's**
Those things which you see in atmospheric's incineration chamber &
ordanance lab used to ignite gases, they can now be crafted

![Igniter](https://github.com/tgstation/tgstation/assets/110812394/e59bfffb-2717-4d12-891f-0231f7ba5e7f)

  - **Interactions**
     a) attack with hand to turn it on/off
b) use a multitool to change it's ID(how that's useful? keep reading)
     c) use welding tool to deconstruct it

**2. Sparker's**
No they aren't a new thing, you probably woudn't have noticed them but
it's this thing in xenobiology lab for example, and you use the button
to turn it on
![Screenshot
(235)](https://github.com/tgstation/tgstation/assets/110812394/66009c31-9655-45a5-b9c3-017673cda04c)
They function the same as igniter's(i.e. combust gases) except as the
name implies they emit spark's to get the job done

These can now also be made in the autolathe as a wall mount

![Sparker](https://github.com/tgstation/tgstation/assets/110812394/46392fde-0d27-455a-8a32-087f954a6385)
Yup just stick it on a wall and your done

 - **Interactions**
a) use a multitool to change it's ID(how that's useful? keep reading)
     b) use welding tool to deconstruct it

 To turn this on see the last section

**3. Ignition Switch Controller**
These function just like blast door controller's except they can control
only sparker's & igniter's

Also printable in autolathe

![Controller](https://github.com/tgstation/tgstation/assets/110812394/b378f7f1-3059-4865-8645-0c5a9b5c4011)

 - **How it work's(or a reminder if you already know)**
   a) First use multitool on sparker/igniter to set their ID's
b) Use multitool on this controller to set it's ID to be the same as
your sparker/igniter ID. If the igniter, sparker & this controller all
share the same ID you can use this controller to turn all device's
on/off at once
   c) stick it in a button frame & close
   d) use button

Hot Stuff

https://github.com/tgstation/tgstation/assets/110812394/8b59a71e-8992-428e-a629-5c371b5c0c3d

Ok so really what's the actual difference's between an igniter & sparker
1. Igniter's are built on the floor while sparker's are mounted on
wall's
2. Igniter's have `max_integrity = 300` while sparker's have it s normal
`max_integrity = 100` so yeah igniter's are more durable than sparker's
3. Igniter's keep the turf hot continuously as long as it's on so they
take up power continuously, so their operation cost is high whereas
sparker's emit spark's only once and use power only that one time so
they are cheaper to operate

**Why it's good for the game**
Make your own combustion chamber professionally and not in an improvised
way. Honestly I'm tired of seeing people chuck in lit welding tool's/
Zipo lighter's to ignite the gases and we loose those item's so yeah now
we have the tool's to do it the right way

## Changelog
🆑
add: Igniter's can be crafted
add: Spraker's can be printed in the autolathe
add: ignition controller can be printed in the autolathe
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>

* Hot Stuff(Igniter's & Sparkers) are buildable.

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
2023-06-07 16:47:27 +02:00
SkyratBot
5570198725 [MIRROR] Adds a crafting recipe for the atmospherics gas mask. [MDB IGNORE] (#21689)
* Adds a crafting recipe for the atmospherics gas mask. (#75476)

## About The Pull Request
Adds a crafting recipe for the atmospherics gas mask, allowing them to
be replaced. It requires a sheet of metallic hydrogen for the frame,
painted with zaukerite via a welding tool in the crafting menu.
## Why It's Good For The Game
Allows atmospheric gas masks to get replaced.
## Changelog
🆑
add: Crafting recipe for atmospherics gas mask.
/🆑

* Adds a crafting recipe for the atmospherics gas mask.

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2023-06-07 16:38:31 +02:00
SkyratBot
34a15461b5 [MIRROR] Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item [MDB IGNORE] (#21501)
* Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item (#75681)

## About The Pull Request

Fixes epipens, pillbottles, and test tubes having a missing texture when
put into suit storage.
Makes pills and patches invisible on the player when put into suit
storage.
Turns the paper hat into a craftable item, and by extention fixing an
issue where a paper hat would appear on your head when you put paper
into suit storage.

fixes: #69504

## Why It's Good For The Game

Fixes some missing texture sprites, makes it so the paper hat does not
appear on your head when you put it in suit storage.
Pills and patches also appeared on your body when put into suit storage,
which I thought looked weird, since they would be in your pocket or
something.

## Changelog

🆑 Seven
fix: Fixes epipens, pillbottles, and test tubes missing texture when put
into suit storage
fix: A paper hat no longer appears on your head when putting paper into
suit storage
add: The paper hat is now a craftable item
image: Pills and patches are no longer visible on a person when put into
suit storage
/🆑

* Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item

---------

Co-authored-by: Lufferly <40921881+Lufferly@users.noreply.github.com>
2023-05-29 18:30:09 +01:00
SkyratBot
f9b66de42e [MIRROR] Fix broken icons in the crafting menu [MDB IGNORE] (#21439)
* Fix broken icons in the crafting menu (#75649)

## About The Pull Request

**1. Rolling Pin Icon Fix**

The rolling pin icon shows up correctly under the tools section
![Screenshot
(224)](https://github.com/tgstation/tgstation/assets/110812394/2e90c98a-ca0a-4619-b428-687ee76ee429)

The problem was with the text

`#define TOOL_ROLLINGPIN "rolling pin"`

`"rolling pin"` has a space in it's name, so when it's sent to the UI
and used as a css class identifier it get's treated as 2 separate
classes
class1 = rolling
class2 = pin
Causing undefined results. So i made sure to remove this space when
inserting this name as a sprite sheet and also remove the space manually
in the Client-Side UI

Fixes #75525

**2. Basketball Hoop Icon Fix**

The basket ball hoop has the correct icon in the crafting menu
![Screenshot
(225)](https://github.com/tgstation/tgstation/assets/110812394/8ef100a8-2ee8-4764-9a9c-b764212f4d6c)

This is not an `32 x 32` icon but an `32 x 64 ` icon so we assumed the
icon size wrong hence it got rendered incorrectly. Now in the back end
we query the size of the icon using the datum sprite sheet before
sending it to the UI, so this should also fix a lot of other broken
icon's that are not the standard `32 x 32` that went un noticed

## Changelog
🆑
fix: rolling pin icon show's up correctly under the tools section in the
crafting menu i.e. for those recipes that require it
fix: basketball hoop icon and other sprites that are not the standard
`32 x 32` now show's up correctly in the crafting menu
/🆑

* Fix broken icons in the crafting menu

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-05-26 09:06:32 -07:00
SkyratBot
e2c2ee5eb7 [MIRROR] Reworks gym equipment [MDB IGNORE] (#21300)
* Reworks gym equipment (#75389)

## About The Pull Request

Gym equipment are currently ported from Goon code, and I didn't like how
it currently worked as it was buggy and the code was a mess. I decided
to just rework how they worked entirely. I left the parts that weren't
Goon code (like tooltips & deconstruction) alone because it's not goon
code and I think it's fine that way.

- Now you buckle yourself to it (like a chair, I didn't like how it
didn't work like one) and can work out with an action button you get on
buckle, you can do as many sets as you want, then unbuckle & go.
- You aren't hardstunned for 8 seconds for clicking on it anymore, you
aren't flying around because the stun doesn't even last the duration of
the animation anymore.

Video demonstration

https://github.com/tgstation/tgstation/assets/53777086/f5ae86f1-65fb-46c6-8a5f-8f9d9f0548b3

## Why It's Good For The Game

Reworks old code
Removes un-documented Goon code
Makes gym equipment less broken than it currently is.

## Changelog

🆑
qol: Gym equipment was reworked. You now buckle yourself to weight
machines to use them, rather than clicking on it and getting stunned for
a few seconds. It also means it works like a chair now.
qol: Gym equipment no longer breaks a sweat in no gravity.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Reworks gym equipment

* updatepaths

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-23 16:03:21 +00:00
SkyratBot
58ccdc909d [MIRROR] Makes elder atmosian statue craftable [MDB IGNORE] (#21261)
* Makes elder atmosian statue craftable (#75475)

## About The Pull Request
Fixes https://github.com/tgstation/tgstation/issues/74534 by making
elder atmosian statue craftable. I am not 100% sure if this is the
intended way for it to be able to be made or if it's even the right
amount of materials but if I need to change it please let me know.
## Why It's Good For The Game
Fixing issues is good, having uncraftable things is bad.
## Changelog
:cl:Reality Overseer
fix: makes elder atmosian statue craftable
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* Makes elder atmosian statue craftable

---------

Co-authored-by: RealityOverseer <76832653+RealityOverseer@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-05-18 19:03:19 +02:00