Commit Graph

2282 Commits

Author SHA1 Message Date
SkyratBot
e5ba1e5e99 [MIRROR] [NO GBP] The deathmatch modifiers modal menu can actually be opened now. (#26942)
* [NO GBP] The deathmatch modifiers modal menu can actually be opened now. (#82041)

## About The Pull Request
I've fucked up the logic, so it requires the user to be both the host
and an admin to open it, which was the case when I tested it locally.
This PR fixes that and other issues (and **un**dumbs some of the code).
The spinning screen modifier has also been scrapped for being downright
awful and breaking my screen.

## Why It's Good For The Game
Fixing stuff I've thankfully noticed early.

## Changelog

🆑
fix: The deathmatch modifiers modal menu can actually be opened now.
Also fixed a bunch of issues it had.
/🆑

* [NO GBP] The deathmatch modifiers modal menu can actually be opened now.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-03-20 06:28:45 -04:00
SkyratBot
f7a386b43a [MIRROR] Deathmatch modifiers (#26915)
* Deathmatch modifiers

* Update supplypod.dm

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2024-03-17 07:27:26 -04:00
SkyratBot
2a355aeed2 [MIRROR] Ice cream now gives a chilling food effect (plus small food haste buff) (#26914)
* Ice cream now gives a chilling food effect (plus small food haste buff) (#81719)

## About The Pull Request
We have a `crafted_food_buff` in the code meant for specific food buffs
(and perhaps one day, debuffs) that has gone unused ever since it was
created during the 'Foodening' PR.

Anyway, yeah, this PR takes the fire step to implement it with ice cream
and other frozen treats.

Frozen treats (all food found in the `food/frozen.dm` file) have it by
default. Other ice cream holders such as waffles cones (and now regular
waffles too!) can aquire it when filled with ice cream. Using the ice
cream vat also adds the 'Chef Made' trait now, which is required for
food effects to happen.

Also very slight food effect refactor. There's no need to have five
different alert screen objects when only have to switch icon states.

This PR also adds an action speed modifier to the generic 'haste' food
effect. I'm confident the original creator would have done that too, but
action speed modifiers aren't as well-known.

## Why It's Good For The Game
People tend to make one feature, call it a day and then move on to the
next. Food effects are nice, however they're barely implemented, and I
don't like food being all the same-ish in the end.

## Changelog

🆑
add: Ice cream and frozen treats now have a chilling effect.
add: You can add a scoop of ice cream on waffles.
balance: added an action speed modifier to the generic food haste effect
(you do things, and not just run, an itsy bitsy faster)
/🆑

* Ice cream now gives a chilling food effect (plus small food haste buff)

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-03-16 22:50:16 -04:00
SkyratBot
2c7ac253b5 [MIRROR] Getting shrunk makes your voice small (#26916)
* Getting shrunk makes your voice small (#82025)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/66640614/83822a60-1324-45f2-9893-4a1628484d03)

![image](https://github.com/tgstation/tgstation/assets/66640614/9c22a846-d1b7-4b78-b773-cbfc1686528f)

![image](https://github.com/tgstation/tgstation/assets/66640614/84779e0c-02d8-4d0c-bbeb-c5bd176c4b6d)

![image](https://github.com/tgstation/tgstation/assets/66640614/90e76a29-8e8b-4a9e-86c5-3183fe8b60ee)

## Why It's Good For The Game
I think it's funny. Plus I like what helium introduced with the small
text, and wanted to add it to more places.

## Changelog
🆑 Tattle
add: Getting shrunk makes you talk small
/🆑

---------

Co-authored-by: tattle <article.disaster@ gmail.com>

* Getting shrunk makes your voice small

---------

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@ gmail.com>
2024-03-16 17:17:18 -04:00
Waterpig
d5b55eb158 Removes TRAIT_NUMBED, using TRAIT_ANALGESIA instead (#26885)
* Goodbye my sweet prince

* Mood
2024-03-16 08:20:44 -04:00
SkyratBot
a25fe03398 [MIRROR] Fix psyker echolocation lag (#26911)
* Fix psyker echolocation lag (#82005)

## About The Pull Request
Fixes a slowly increasing lag for psykers, subtly introduced by #80042
Turns out the code expects all of the images to fully fade out before
any new images start fading in, thus the expiry time + fade out time
must not exceed the cooldown time.

Note that this will still be laggier than if you're NOT a psyker because
of how things are rendered, but it should stay consistent.
Fixes #81446
Fixes #80442
Fixes #80798
## Why It's Good For The Game
letting literally thousands of images build up on the client is not a
good thing, turns out.
## Changelog
🆑
fix: Psyker vision no longer causes infinitely worsening lag
/🆑

* Fix psyker echolocation lag

---------

Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
2024-03-16 08:12:54 -04:00
SkyratBot
daadcb1677 [MIRROR] Skateboard tweaks and buffs. (#26908)
* Skateboard tweaks and buffs.

* Update code/datums/components/riding/riding_vehicle.dm

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2024-03-16 05:00:39 -04:00
SkyratBot
237bf908cd [MIRROR] Thermal Pistol Rework Attempt Two: You Spin to Win (it uses the crank energy weapon mechanics) (#26876)
* Thermal Pistol Rework Attempt Two: You Spin to Win (it uses the crank energy weapon mechanics) (#81819)

## About The Pull Request

Thermal pistols now can be 'cranked' in order to reload them, similar to
a smoothbore disabler. Each 'crank' recharges one shot out of 8 shots.

And by crank, I mean you SPIN THE GUN. In order to spin guns, you need a
holster. So, without a holster, you can't utilize this mechanic of the
pistols.

(Also they're more accurate while dual-wielded hoo haa)

Thermal pistol crates are now slightly more expensive, at 2000 credits.
(is this even a balancing point now that we have stocks?)

## Why It's Good For The Game

People really liked what was going on in this [PR with the gun flipping
resulting in a
reload](https://github.com/tgstation/tgstation/pull/76076). However, it
was...maybe a little too strong.

As a more middle ground approach, the gun crank component was a
particularly helpful addition to the game that allows for things
like...slow bullet-by-bullet reloading of even energy weapons.

## Changelog
🆑
balance: Thermal pistols can now be 'cranked' to recharge shots. You
must have a holster equipped in order to utilize this feature. Also,
they have a tighter dual-wield cone.
balance: Thermal pistol crates are now 2000 credits, up from 1400
credits.
/🆑

* Thermal Pistol Rework Attempt Two: You Spin to Win (it uses the crank energy weapon mechanics)

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2024-03-13 19:48:16 -04:00
SkyratBot
f9ea4be02b [MIRROR] Moffers Crafting Recipe (#26860)
* Moffers Crafting Recipe (#81829)

## About The Pull Request

Adds a crafting recipe to make Moffers clown shoes, using 2 mothroach
hides and 1 pair of clown shoes, to the entertainment section of the
crafting menu. Only the basic clown shoes can be used to make it, so
other clown shoes like meown shoes won't work.

https://github.com/tgstation/tgstation/assets/105574010/527424d7-107b-4a62-aa29-92056be2b136

![Screenshot 2024-03-04
095521](https://github.com/tgstation/tgstation/assets/105574010/ba3b53f4-3ebf-4f32-b61c-734360e00de2)

## Why It's Good For The Game

Creates an additional use for mothroach hides so that they're not only
for making moth plushies, giving another mechanical reason to butcher
mothroaches. This will also allow the clown to psychotically pull the
hide of a mothroach over each of their shoes and parade them around
proudly to the horror of anyone watching.

## Changelog
🆑
add: Added Moffers as a crafting recipe in the entertainment section.
/🆑

* Moffers Crafting Recipe

---------

Co-authored-by: ValuedEmployee <105574010+ValuedEmployee@users.noreply.github.com>
2024-03-13 19:39:19 -04:00
SkyratBot
0e217eab7b [MIRROR] Sticker resprite and rewrite (#26853)
* Sticker resprite and rewrite (#81893)

Stealing from Goon is bad, but stickers are actually a good feature, and
loosing those will be a disappointment. This project aims to recreate
'em from scratch without using Jimmyl's and Goon's code. Also,
suspicious icons were resprited and renamed.

* Sticker resprite and rewrite

---------

Co-authored-by: Interception&? <137328283+intercepti0n@users.noreply.github.com>
2024-03-13 19:35:59 -04:00
SkyratBot
54a9df5729 [MIRROR] Refactors weird funky signal usage in style meter (#26845)
* Refactors weird funky signal usage in style meter

* Update style.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2024-03-13 19:31:22 -04:00
SkyratBot
e178821ac4 [MIRROR] General maintenance for grilling related stuff. (#26835)
* General maintenance for grilling related stuff.

* Update grill.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2024-03-12 00:01:24 -04:00
SkyratBot
f8b87b994b [MIRROR] Overlay Lighting Color/Intensity Pass (#26825)
Overlay Lighting Color/Intensity Pass

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-03-11 22:26:46 -04:00
SkyratBot
9079534cf1 [MIRROR] Use a common list for acceptable silo materials (#26817)
* Use a common list for acceptable silo materials (#81790)

## About The Pull Request
This list containing the same material values was copy pasted all over.
It's already cached in the subsystem so let's just use that.

Renamed ore category into silo category.

## Changelog
🆑
code: Use a common list for acceptable silo materials for some stuff.
Renamed ore category into silo category.
/🆑

* Use a common list for acceptable silo materials

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-03-09 14:26:24 -05:00
SkyratBot
2e7908c6c8 [MIRROR] Blesses the codebase with Blahaj (#26800)
* Blesses the codebase with Blahaj (#81862)

## About The Pull Request

Adds the Shark and Shork Costume to the game, craftable via carp scales.
In addition, adds the ability to use a shark costume to craft a shark
plushy.

![ge1uucdAYn8xAAAAABJRU5ErkJggg](https://github.com/tgstation/tgstation/assets/81540056/52d66419-4946-4c0e-8061-8b03e6858a53)

![J2YyKAAI2pNXkXCAyMAAI0sAajuhAYE4FeBciufHkQc53Vij1rxorYmNyadxkKAQRo3lII0FBclnqOiQAChACNyZ95l4ER6FWAbFjkcSrxraha5Q7MF6guBHongADNkZcQvt5bkwIhMDACCBACNDCXpbpjItCrAI0JHO8CAQikE0CA0hliAQIQ6EgAAeoIjmwQgEA6gf8Bgzt4GlTrNLUAAAAASUVORK5CYII](https://github.com/tgstation/tgstation/assets/81540056/a2691688-b6e9-493d-99ec-ef729cf6cb06)

It is five carp scales and five leather to craft the shark costume, take
the costume and craft it with wirecutters to make a shork costume. Take
a shark costume, 10 cotton, and five cloth to craft a shark plush.

## Why It's Good For The Game

Good and funny costumes that give an additional use to pre-existing
crafting materials = good
Giving players another way to craft the shark plushie = good

Todo:
- [x] Make sure shit wont break
- [x] Add the crafting recipe for the costume
- [x] Add the crafting recipe for the shark plushie
- [x] Profit??

## Changelog

🆑 Drag
add: Adds the Shark and Shork costume. Blahaj lovers rejoice!
/🆑

---------

Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>

* Blesses the codebase with Blahaj

---------

Co-authored-by: Thedragmeme <81540056+Draggeru@users.noreply.github.com>
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
2024-03-08 19:19:48 -05:00
SkyratBot
9547b143ab [MIRROR] Webedit, fixes sanity checks for tackle and wellcheers. (WEBEDIT PR, TESTED IN VSC.) (#26783)
* Webedit, fixes sanity checks for tackle and wellcheers. (WEBEDIT PR, TESTED IN VSC.) (#81855)

## About The Pull Request
Fixes both tackle Insanity checks and wellcheers sanity check.

I couldn't get make VSC clone my fork so I just did a webedit, and
tested changes with VSC.

https://github.com/tgstation/tgstation/assets/24631139/73730216-0c0a-45ee-8ee3-94c7695f4337

https://github.com/tgstation/tgstation/assets/24631139/90d96a5f-98cd-4bf5-b1d3-d0e0d14a917a
## Why It's Good For The Game
Bugfixes are good.
Fixes https://github.com/tgstation/tgstation/issues/81852
## Changelog
🆑
fix: Tackle and wellcheers code for sanity values now function.
/🆑

* Webedit, fixes sanity checks for tackle and wellcheers. (WEBEDIT PR, TESTED IN VSC.)

---------

Co-authored-by: 2whatever2 <Anilovacodesin@gmail.com>
2024-03-07 08:56:20 -06:00
SkyratBot
6221130798 [MIRROR] Arcargo: Vendor Cargo and Vending Machine Update (#26782)
* Arcargo: Vendor Cargo and Vending Machine Update (#81582)

Another one.

## About The Pull Request
This pull request originally had a design doc that @ Fikou and I worked
on, but that was never really polished up for publishing quality so I'll
forgo it for now and be as descript as possible here.

### Core changes
- This pull request adds a new NTOS app to the game, the restock
tracker. The restock tracker shows a comprehensive list of vending
machines across the station, as long as there is a need for that vending
machine to get restocked.
- This has also been pre-installed into the cargo data disks.
(`/obj/item/computer_disk/quartermaster`)
- Vending machines now store a total of 20% of the cost of any purchase
made within themselves into a small pool of cash. This only applies to
premium and normal purchases, not to contraband, as they're technically
not sanctioned by the company.
- The restock tracker app will also track which vending machines have
the most credits stored internally inside them.
- By refilling a vending machine, the stored credits within are paid out
to any crewmember who goes and restocks the station, while also paying
out *half that amount to the cargo budget*, serving as a basic but
otherwise easy tertiary money making method on the same level of
complexity as doing bounties, with the added benefit of actually helping
to assist the station for jobs like... assistant.

![image](https://github.com/tgstation/tgstation/assets/41715314/59cee2d9-7e60-4733-8a76-d88fe5b8c3f2)

### Break Stuff
- Anyway, when you try and smash a vending machine open with a melee
weapon of choice, it can now pay out 50 credits at a time as a way to
make money at zero risk to yourself.
- ~~Except for the horrible risk to yourself.~~

![image](https://github.com/tgstation/tgstation/assets/41715314/23208bf0-8484-40b9-b753-0ffdb57d770f)

### Cargo Specific Changes
- Restock units may now be sold for a small profit as well, to
incentivize cargo to keep the station stocked further.
- The `STATION_TRAIT_VENDING_SHORTAGE` trait will now add a small amount
of existing credits into the vending machines on station, to incentivize
cargo to fix the issue during the round and not just push for an early
shuttle call. Or, more accurately, provide the crew with a money making
scheme to engage better with the station trait as it stands.

### This also refactors behavior on vending machines
- This pull request also finally changes it so that vending machines now
use the payment component, which as a consequence allows for the
following improvements:
* Vending machines may now pull from physical credits on your person,
not just requiring you to have money on your ID card.
* Vending machines may also use credits being pulled by the player
interacting with the vending machine, allowing for handless mobs to be
able to purchase items from a vending machine.
* Finally makes the "use-for-everything buying things component" used by
the most utilized component of the in-game economy, to reduce the
quantity of unique implementations of purchasing things in the code.
- Existing vending specific checks are retained on before handing off
behavior to the payment component, for behavior such as purchasing
cigarettes/alcohol under the age of 18/21.

Notes:
- Vending machines will lose their internal credits stored when
deconstructed, as a security measure.
- Vending machines will now show the total amount of credits that a mob
has on their person, combining physical credits as well as credits held
in their ID card to accurately portray their total wealth across the mob
in question.

## Why It's Good For The Game

First off, this is largely an excuse to move vending machine behavior
over to the payment component for the purposes to less code copy-paste,
and to try and make the implementation more wide-spread.

Second, this implements a new tertiary economy method to the game, in
the same design space as bounties, which serve as common methods of
making money without necessarily being specific to their job in
question, with the primary goal of providing small amounts of work to
the crew and a basic interaction with the economy system.

Additionally, it gives cargo more things they can do to assist the
station, and a way to know which parts of the station need support as a
result.
It improves the interaction between the vending shortage station trait
as well, making it a challenge with depth as opposed to a more
oppressive round change that players would rather reroll the game over.

Additionally, this makes a few price tweaks to vending restock modules
as well to help incentivize buying some of the more minor restock kits,
and a few select bumps on restocks that cover wide enough territory to
necessitate fewer restocks.

* Arcargo: Vendor Cargo and Vending Machine Update

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2024-03-06 22:29:57 -05:00
SkyratBot
f845260764 [MIRROR] Small bible / bullet catcher component code cleanup (#26763)
* Small bible / bullet catcher component code cleanup (#81835)

## About The Pull Request

Saw this weird use of storing a component in a var when it didn't really
need to be so I just refactored it a little bit.

* Small bible / bullet catcher component code cleanup

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-03-06 22:15:33 -05:00
SkyratBot
6249d36614 [MIRROR] [NO GBP] You can actually check what fishes can be caught while examining a spot now (#26724)
* [NO GBP] You can actually check what fishes can be caught while examining a spot now

* Update fishing_spot.dm

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
2024-03-05 17:36:09 -05:00
SkyratBot
6cb52ccd22 [MIRROR] Remove 2 instances of duplicate argument names (#26716)
* Remove 2 instances of duplicate argument names (#81757)

## About The Pull Request

I fixed 2 instances of procs having multiple arguments with the same
name. BYOND does not error on these, instead ignoring all but the last.
It's best to remove these for clarity.

## Why It's Good For The Game

N/A

---------

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

* Remove 2 instances of duplicate argument names

---------

Co-authored-by: wixoa <wixoag@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
2024-03-05 17:31:04 -05:00
SkyratBot
a5b8028a9d [MIRROR] Fishes love kronkaine + Examining fishing spots. (#26717)
* Fishes love kronkaine + Examining fishing spots. (#81519)

## About The Pull Request
Food items with kronkaine in it now count as great baits (this is the
case of the "all-natural" bait from that overpriced cargo pack I'm
converting into a less expensive goodie in another PR)

Sufficiently high fishing skill (and the relative skillchip) allows you
to list fishes in a fishing spot by examining it twice.

## Why It's Good For The Game
Little fishing things off the top of my head before I move on bigger
stuff.

## Changelog

🆑
add: Fishes love kronkaine.
qol: Examining a fishing spot twice with sufficiently high fishing skill
(or the skillchip) will get you a list of fishes that can be caught.
/🆑

---------

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

* Fishes love kronkaine + Examining fishing spots.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2024-03-03 12:47:04 -05:00
SkyratBot
68d12ca569 [MIRROR] New Shields and Sprites for them (#26713)
* New Shields and Sprites for them (#81615)

## About The Pull Request
Updates shield sprites to new more polished and 3/4 perspective ones.

<details>

![shielding
show](https://github.com/tgstation/tgstation/assets/42353186/823d1d24-6fdd-40c9-84b4-2b9b61d70813)

</details>

Adds 2 new shield types:
- **Improvised Shield.** Made out of 10 iron sheets and 2 sticky tape
pieces. Weaker then buckler shield and breaks after 2 gunshots or 4
baton hits, but has a 50% (BASE FOR ALL OTHER SHIELDS) blocking chance
instead of 30% that buckler has. Bulky
- **Ballistic Shield.** Printed at Security Techfab for a lot of
titanium after getting weapon research. Strong against projectiles, but
weaker than riot shield against melee. Bulky

Both of these shields break, and both of them are their own subtype. As
such you can still only craft strobe shield with a riot shield.
## Why It's Good For The Game

The sprites of shields were very ancient and extremely flat, this gives
them a more refreshed look.

Ballistic Shield is added because Riot Shield was weakened against
projectiles, Ballistic Shield gives the crew a way to get access to
protection against projectiles at some point in the round.
Improvised Shield adds a second improvised shield in the game (after
Buckler Shield). It's balanced by being weaker than Buckler, but higher
block chance, this adds an interesting choice for players on which
shield to craft.
## Changelog
🆑
add: Adds 2 new shields to the game! Ballistic Shield - researched by
Science, and Improvised Shield - made out of iron and sticky tape
image: Riot, Strobe, Telescopic, Energy shields got new less flat
sprites!
/🆑

* New Shields and Sprites for them

* This should do the trick

* uh oh

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-03-01 21:31:56 +01:00
SkyratBot
32ca7f5816 [MIRROR] virtual pets (#26692)
Virtual pets

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-03-01 19:05:23 +01:00
SkyratBot
b98772fc20 [MIRROR] bloody spreader now deletes itself once blood_left reaches 0 (#26696)
* bloody spreader now deletes itself once `blood_left` reaches 0 (#81723)

## About The Pull Request
This will fix #81626.

## Why It's Good For The Game
See above or below.

## Changelog

🆑
fix: Meat and other bloody things will not spread blood forever.
/🆑

* bloody spreader now deletes itself once `blood_left` reaches 0

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-29 23:25:34 +01:00
SkyratBot
51b8ac1431 [MIRROR] pipebomb (#26704)
* pipebomb (#81529)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/70376633/2c2a8ddf-d210-468b-9403-f7de4fa1fd9b)

removes IEDs, these are its replacement

![image](https://github.com/tgstation/tgstation/assets/70376633/95cc67d7-ed41-481b-9b9d-f31897fdb46d)

this recipe produces a finished pipebomb

you can craft pipes (of the atmos kind) with some metal
then you can make it into a pair of halved pipes with a welder
then you stuff in items for extra effect (optional, only works if it
does something)
then you put in welding fuel OR gunpowder (no other options as of now,
gunpowder is a better explosive)
cable finishes that part
after that, you can attach an unsecured assembly to finish the bomb

also this is the math for the explosion, power is decided by fuel

![image](https://github.com/tgstation/tgstation/assets/70376633/95ac3101-a2af-4bdc-9730-6c9c20195b59)

using it in-hand activates the assembly, using it off-hand allows you to
configure the assembly

## Why It's Good For The Game

IEDs suck and stuff and this would be a better upgrade/replacement
because with assemblies you could make a circuit sentient pipebomb or
gift a pipebomb via cargo or something and gimmicks i guess
## Changelog
🆑
add: Pipebombs
del: Improvised Firebombs
/🆑

* pipebomb

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2024-02-29 23:24:18 +01:00
SkyratBot
6a57604676 [MIRROR] Fixes some tackle business (#26691)
* Fixes some tackle business (#81727)

## About The Pull Request

Fixes #81691

Tackling was making the tackler grab themselves.

I took this opportunity to cut down on some of these weird typecasts.

## Changelog

🆑 Melbert
fix: Fixes grabbing yourself when you tackle someone.
/🆑

* Fixes some tackle business

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-02-29 22:59:20 +01:00
SkyratBot
a0d0f8a7cd [MIRROR] Riot armor and helmets (and similar gear) protect against more melee-based attacks (like RNG punches), bottles aren't near guaranteed knockdowns (#26633)
* Riot armor and helmets (and similar gear) protect against more melee-based attacks (like RNG punches), bottles aren't near guaranteed knockdowns (#81365)

<!-- 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. -->

partially includes Syndicate modsuits and other suits with a module)

TRAIT_SHOVE_KNOCKDOWN_BLOCKED is now called
TRAIT_BRAWLING_KNOCKDOWN_BLOCKED. This is possessed by riot suits, SWAT
suits and now **plate armor**. Not the chaplain variety, because fuck
them I guess. (this was apparently deliberate so don't complain to me,
okay?)

Anyone with this trait is now unable to be knocked down by;

- Pure RNG on blunt objects attacks to the chest (Probability is
otherwise altered by melee armor already)
- Unarmed punches, both RNG and deterministic
- Bodies thrown at them. Instead, dealing stamina damage and causing
them to become staggered.

A new trait called TRAIT_HEAD_INJURY_BLOCKED, which protects from
various head injury related effects. This is possessed by riot helmets,
SWAT helmets, plate helmets, hardhats and applied to MODsuits with armor
boosters activated/the infiltrator suit while active.

The trait is also granted to anyone wearing a modsuit with the Head
Protection module installed. This can be printed from round start, and
comes pre-installed into all the engineering modsuits, security moduits,
research modsuit and magnate modsuit. (I had to bump up the security
modsuit complexity a bit to put it in iunno if we have a policy about
that)

Anyone with this trait is protected against:

- Bottle smashes to the head.
- RNG Blunt force trauma to the head by blunt objects (Probability is
otherwise altered by melee armor already)
- Partially protects against getting your spine snapped during a bad
tackle (this used to be a check ONLY for the riot helmet or hardhat)

The bottle smash's chance of a knockdown is based on the force and
knockdown duration of the bottle, altered by relevant head melee armor.
It's no longer basically guaranteed due to weird math that would
determine whether or not you were knocked down only if your armor
exceeded certain values or not.

Any instance that would check either for riot armor or riot helmets
instead checks for the new traits.

People weren't particularly happy with the possibility of getting
ownzoned by a naked assistant or random toolbox-wielding tider while in
dedicated melee protection armor as a result of pure RNG jank. [There
was a whole thread here about
it](https://tgstation13.org/phpBB/viewtopic.php?f=83&t=35645) with
regards to unarmed combat.

If you're in riot gear, you should feel like you can confidently combat
improvised/blunt weapons at a cost of general protection from the more
serious dangers to your wellbeing (AKA lead poisoning or heatstroke. Get
it....it's bullets and lasers...)

For some reason, bottle smash knockdowns, despite using the values
just...conveniently don't get blocked by armor except for extreme
values? If at all? I felt like this was really weird for something with
such a hefty and fairly powerful knockdown effect, particularly one you
can lob at someones head at range. I remember, way back when I first
started playing, that this was a feature that used to stun, and one I
used a lot to get cheap kills. The amount of bullshit stuns I got on
people with it still haunt me to this day. It hasn't improved in the
current era, despite being a knockdown, simply because any knockdown
still takes several seconds to exit. An arbitrarily low knockdown is
still a several second one. It's time to bring this in line with similar
equipment.

Rather than using flat values that are _clearly_ meant to be only
applicable to riot armor the decade ago that the code was written, let's
use traits instead. That's way better than relying on magic numbers that
may become irrelevant when the code around it changes, which anyone
touching that code may not even be aware existed.

Since we're using a trait, we can actually allow modsuits to
occasionally fill defensive niches that aren't strictly armor values.
Handy.

<!-- 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. -->

🆑
balance: Nanotrasen, in direct response to the increasing danger posed
by wannabe martial artists and rioters in the fringes of the Spinward
Sector, have upgraded the impact dampeners found in their riot armor.
Staff have also started to rediscover the value of medieval armor; it
isn't particularly easy to topple a knight in a suit of plate with just
your fists.
balance: Melee-focused armor is now more able to protect you from
various RNG-based knockdowns, such as critical hits from punches (as
well as the ones applied through the staggered status), shoves, critical
hits with a blunt weapon to the chest, and body throws.
balance: Melee-focused helmets also protect you from head injuries, such
as bottle smashes, accidentally hitting something dense during a tackle,
and critical hits from a blunt weapon to the head.
balance: Bottlesmash knockdowns are less reliable in general.
add: A new module, the Safety-First Head Protection module, protects you
from head trauma! Available in most modsuits expected to take hits to
the head often. And from roundstart exofabricators.
/🆑

<!-- 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. -->

* oh well

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-27 01:59:40 +01:00
SkyratBot
11ecffbf8d [MIRROR] bodytypes to do with body shape and sprite handling have their own var (#26627)
* digi-cybernetics

* bodytypes to do with body shape and sprite handling have their own var

---------

Co-authored-by: Kromatopzia <94389683+aKromatopzia@users.noreply.github.com>
Co-authored-by: vinylspiders <13398309+vinylspiders@users.noreply.github.com>
2024-02-27 01:59:23 +01:00
SkyratBot
9b6a21be82 [MIRROR] Fixes cardboard cutout CI harrassment (#26637)
Fixes cardboard cutout CI harrassment (#81627)

## About The Pull Request

This has been coming up in almost every PR and I'm sick of it.


![image](https://github.com/tgstation/tgstation/assets/13398309/382f08ab-d67c-4874-a4a8-ac0db15f65d9)

Fixes it for good. Also fixes an unrelated issue, where it was
previously adding the `alternate_appearance` to the cutout object
instead of the mob. Then when it tried to remove it, it was trying to
remove it from the mob rather than the cutout object, causing it not
actually be removed.

<details><summary>Still works fine</summary>


![dreamseeker_OsB8t04VQi](https://github.com/tgstation/tgstation/assets/13398309/904d0fdb-3d26-476d-92fa-b4767699aabe)


![dreamseeker_hdoS7UJ9O5](https://github.com/tgstation/tgstation/assets/13398309/b95400fa-e656-46e4-bbd7-734e795b431a)

</details>

## Why It's Good For The Game

Bugfix

## Changelog

🆑
fix: fixes cardboard cutouts not updating when held and using the crayon
on them to change their appearance, and fixes the alt_appearance being
added to the cutout instead of the mob holding it
/🆑



---

EDIT: #81657 was merged before this and it introduces a new issue where
the cardboard cutout does not update when you change it with a crayon
while holding it. This should fix that, revised changelog.

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2024-02-27 01:58:29 +01:00
SkyratBot
9345b4076a [MIRROR] Logs holochip credits worth zero or less credits and prevents them from spawning. (#26636)
* Logs holochip credits worth zero or less credits and prevents them from spawning. (#81605)

* Logs holochip credits worth zero or less credits and prevents them from spawning.

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2024-02-26 21:27:58 +01:00
SkyratBot
f3764d6b5a [MIRROR] Fixes random CI error (#26634)
* Fixes random CI error (#81657)

## About The Pull Request

Closes https://github.com/tgstation/tgstation/issues/81329
Closes https://github.com/tgstation/tgstation/issues/81538

I made some improvements to tactical and twohanded in general, but
here's the fixes I made:
- Two-handed now unregisters signals for fantasy bonuses
- Tactical was registering signals for update icons, which in the case
of kirbyplants was called every time the item was picked up due to
two-handed's ``update_appearance`` call, so every time you picked up the
plant it would actually register signals twice, applying overlays twice,
etc. I removed the signal to update icon because it didn't really make
sense, we update on equip/move/z move, which should be all the cases we
need.

For some reason someone made Monkeys able to hold two-handed items now,
and it appears that in monkey business a monkey can try to pick up a
kirby plant, causing this CI error to be sporadic.

## Why It's Good For The Game

Fixes a CI error by removing a useless signal that was causing kirby
plants to register a bunch of signals twice over every time you picked
one up.

![monkeybusiness](https://github.com/tgstation/tgstation/assets/53777086/e4daea46-7eb3-4092-b452-82a85ac33c9c)

## Changelog

Nothing player facing.

* Fixes random CI error

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-26 21:27:38 +01:00
SkyratBot
c2754d77ba [MIRROR] Footprint Sprites are BASED (on shoes and legs) (#26607)
* Footprint Sprites are BASED (on shoes and legs)

* Update code/modules/mob/living/carbon/human/human.dm

---------

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2024-02-26 21:13:38 +01:00
SkyratBot
88ea23ee6e [MIRROR] Removes holographic monkey species (#26605)
Removes holographic monkey species

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-22 16:56:54 +01:00
SkyratBot
6df629d4a1 [MIRROR] [NO GBP] fixing issues with cutouts and potted plants (#26585)
* [NO GBP] fixing issues with cutouts and potted plants (#81570)

## About The Pull Request
This should fix #81560 and fix #81561,

## Why It's Good For The Game
Oh no, another invisibility exploit.

## Changelog

🆑
fix: fixed an issue with tactical appearance (potted plants / cardboard
cutouts) not going away after giving the item to someone else.
fix: Fixed slaughter demon cutouts being invisible. Also fixed another
issue with the tactical appearance not going away when the cardboard
cutout is pushed down.
/🆑

* [NO GBP] fixing issues with cutouts and potted plants

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-21 19:55:43 +01:00
SkyratBot
a7b1ecb585 [MIRROR] museum away mission (#26463)
museum away mission (#81208)

adds a new gateway map, the Nanotrasen Museum it is filled with
""""Mannequins"""" and Common Core lore
im not putting the preview here because you really should explore it
yourself but if youre that curious i think the Checks tab in mapdiffbot
would have it
this gateway map contains no combat unless you count falling into chasms
because you did not carry a light
or going into the boarded room with no loot or any incentive with
obvious signs that there is the sole enemy on the map in there
the loot is the lore ok thanks

also makes mines detonate if theyre detonated by a non-mob im pretty
sure this couldnt have been intentional
trams stop chasms
and also the relevant items

<details>
  <summary>on second thought if you want spoilers check this</summary>

![image](https://github.com/tgstation/tgstation/assets/70376633/41ab2db1-55ce-4371-8594-a1d8961c37c3)

</details>

more gateway maps = good

🆑
add: nanotrasen museum gateway map
/🆑

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-20 01:00:11 +01:00
SkyratBot
56f02d7e30 [MIRROR] Cardboard cutouts are now tactical. (#26545)
* Cardboard cutouts are now tactical. (#81245)

## About The Pull Request
Basically, this means players holding cardboard cutouts will now assume
their appearance, just like for potted plants. Good for pranking.

I've had to tweak the tactical component and the waddling element a bit
to get them to work as intended while dealing with the multiple sources
of the waddling element.

## Why It's Good For The Game
![](https://media1.tenor.com/m/X1GimXmuByYAAAAd/tom-cruise-doorbell.gif)

## Changelog

🆑
add: Players holding cardboard cutouts will now assume their appearance,
just like for potted plants.
/🆑

* Cardboard cutouts are now tactical.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-17 13:25:03 -05:00
SkyratBot
3ef87e8df0 [MIRROR] Indestructible items are properly rejected by material containers (#26529)
* Indestructible items are properly rejected by material containers (#81487)

## About The Pull Request
- Fixes #81486

Happens only with items that are Indestructible like the pai card, It's
a 2 part fix
- First display error message saying the item was rejected
- If the item is indestructible but was put inside another object like
an bag or anything else, then move the object to turf where this object
was inserted(`context`) & not the ore silo(`parent`) thus fixing the
teleportation bug

## Changelog
🆑
fix: Indestructible items like the pai card don't teleport to the ore
silo when you insert them into silo linked machine & also displays a
message saying it was rejected.
/🆑

* Indestructible items are properly rejected by material containers

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-02-16 16:17:43 -05:00
SkyratBot
5a496e9842 [MIRROR] Micro-Optimize keyLoop's self time (#26513)
* Micro-Optimize keyLoop's self time (#81464)

<!-- 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

This is a REALLY hot proc, takes up to like 2% of total cpu at highpop
Let's micro it then

First, clients do not go null at random. It's not predictable per say
but it is consistent.
We can use this understanding to remove a bunch of null checks here

For loops are expensive. So rather then doing one each keyLoop, let's
cache the client's intended move direction on the client. Simplifies
some other code too

There is no sense running a turn call if it would have no effect, let's
be more intelligent about this

## 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. -->

🆑
refactor: Fucks with how movement keys are handled. Please report any
bugs
/🆑

<!-- 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. -->

* Micro-Optimize keyLoop's self time

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-02-15 17:38:09 -05:00
SkyratBot
4f53ec2660 [MIRROR] Fixes complex lights not handling moving well, renames lighting defines (#26484)
* Fixes complex lights not handling moving well, renames lighting defines (#81423)

## About The Pull Request

[Fixes static lights not
moving](ffef43c05a)

Worked fine when the owner moved, but if the owner was inside something
else, it would try and trigger an update on the PARENT's lights, which
are obviously not us.

[Renames MOVABLE_LIGHT and STATIC_LIGHT to better describe what they
do](de73a63bd4)

People keep trying to change the lighting system of lamps and it makes
me mad.
I choose OVERLAY_LIGHT and COMPLEX_LIGHT here, I couldn't figure out a
better name for turf matrix lighting. Suggestions welcome

## Why It's Good For The Game

Closes #80005
Hopefully improves understanding of lighting at a glance
## Changelog
🆑
fix: Fixes fancy lights not updating their source location when picked
up and moved
/🆑

* Oh well

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-12 22:25:22 +00:00
SkyratBot
0938c796a8 [MIRROR] Adds a signal to buying items from the uplink (& fixes TC misinfo) (#26449)
* Adds a signal to buying items from the uplink (& fixes TC misinfo) (#81372)

## About The Pull Request

Adds a signal when someone buys an item from the uplink and removes
single-letter vars from the ``spawn_item`` proc, and adds/standardizes
add/removing of telecrystals from uplinks (and admin setting how much TC
they have) to ensure the UI always has the right amount of telecrystals
displayed in it.

## Why It's Good For The Game

There are reasons why someone would want to hook up to a traitor's
uplink and listen to items they purchase to do any special effect
on-purchase, so this adds support to do anything in the future with it.
Also tells players how much TC they actually have without forcing them
to close/reopen the UI every time they insert some TC in it by hand.

## Changelog

🆑
fix: Uplinks now update their UI when you add telecrystals in them, so
you don't need to close and reopen it.
/🆑

* Adds a signal to buying items from the uplink (& fixes TC misinfo)

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-10 23:17:36 -05:00
SkyratBot
da41e9156d [MIRROR] settlers can rename their pets (#26435)
* settlers can rename their pets (#81190)

## About The Pull Request
settlers can now rename their tamed pets

## Why It's Good For The Game
adds another fun and harmless interaction between settlers and their
pets

## Changelog
🆑
add: settlers can rename their pets
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>

* settlers can rename their pets

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2024-02-09 23:01:50 -05:00
SkyratBot
561df29ff7 [MIRROR] General maintenance for Lathes (#26410)
* General maintenance for Lathes (#81244)

## About The Pull Request
1. **Qol Stuff**
- Screentips & examines for screwdriver, crowbar acts, multiool &
wirecutter Also for Alt click
- Techfabs can now also use the Mouse drag functionality to set drop
target for items
- Lathe printing animation now plays on loop instead of just flicking
once till printing is finished for more visual feedback

2. **Code Improvements**
- Merged `start_making()` with `do_make_item()`. That proc was like only
3 lines long and used only in 1 place so let's just move that code to
`ui_act()`
- Merged `user_print_item_id()` with `ui_act()`. Again was used only in
1 place so let's just move that code in to save some proc overhead
- Sets `processing_flags` for autolathe to `NONE` cause we don't use
`process()`
    - Autodocs vars such as `hacked` , `shocked` etc & procs
- `maxmult` is now computed client side saving backend bandwidth,
`construction_time` is removed from lathes which did not use it
- Removed all usages of lathe taxes and their related vars, removed
engineering lathe no tax from ice moon, replaced with normal engineering
lathe

3. **Fixes**
- Lathe sheet insertion animations are now linked & work again for all
material types inserted via remote silo/local storage,
silver/titanium/plastic all play the same animation(that is
`protolathe_shiny` overlay). Other materials have their own respective
overlays
- Fixes #81243. Calling `update_static_data_for_all_viewers()` is too
expensive for the UI. We should instead use `SStgui.update_uis(src)`
which will report the `busy` status to the UI more immediatly
- Fixes #81236. Some problems with the params passed to the timer
callback. It should now print the correct number of requested items
- Fixes #81192. `design.materials` would runtime for custom material
items as they were list of texts not materials. We have to pass our
manually parsed list of materials for an specific item to ensure they
are set & used correctly. Same fixes apply for techfabs as well


## Changelog
🆑
qol: adds screentips & examines for screwdriver & crowbar acts & alt
click.
qol: techfabs can now use the mouse drop functionality to set drop
target.
qol: lathe printing animation plays on loop while printing rather than
flicking once for more visual feedback
fix: lathe sheet insertion animations are now linked & work again for
all material types inserted via remote silo/local storage
fix: printing custom materials items from autolathe works again.
fix: printing multiple items from lathes will actually print that
correct quantity of items requested.
fix: printing items the 2nd time around from lathes won't cause the UI
to reload each time.
code: autodoc for some vars & procs, merges procs.
refactor: Optimized code for autolathe & techfabs in general. Report
bugs on github
/🆑

---------

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

* There we go

* aaaa

* Missed this little thingy

* There we go, should be clean af

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-09 02:37:42 +01:00
SkyratBot
bca65962e5 [MIRROR] You can now move and talk through statues and mannequins (#26414)
You can now move and talk through statues and mannequins (#81188)

## About The Pull Request

I recently played a game where I rotated my skeleton model while
rotating my own character at the same time and it being in sync gave me
the realization on how cool it would be if the Coroner was able to
simply control the skeleton body.

I find skeleton displays very funny and I want to see more funny things
happen with them, so I thought this would be a good place to start, with
the benefits that it also works on mannequins and statues too so they
aren't left out.

Basically, while it is unanchored, if you have a statue/mannequin
grabbed, it will change its direction as you do, and speak the same
words you do. Your own messages can only be heard if the person is
directly next to you, revealing that it was you talking through it all
along.

I was originally gonna add this to the simple rotation component but
moved off when I decided to add talking through it, I left in the code
improvements I made to the component though since it is one of the
oldest components and hasn't been touched in a while.

Video demonstration (before I added the person also talking, just ignore
that missing)

https://github.com/tgstation/tgstation/assets/53777086/27242fc3-9649-418d-95cb-b31619319e97

While fixing the Toilet bong's rotation stuff I noticed a lot of it
wasn't up to proper code standards so I went over it and fixed issues I
had with it. It now doesn't give text saying you found something nasty
to species that still likes mice (like flypeople), and fixed its update
appearance to match the codebase standard set by the introduction of
``update_appearance`` many years ago.

## Why It's Good For The Game

It's a funny small idea I had and got inspired to add, it's a niche
mechanic that I think fits the aesthetic I am going for with Coroner and
also give a funny interaction with the human-like inanimate objects.

## Changelog

🆑
fix: Species that can eat mice don't get disgusted from seeing one in
the toilet bong.
add: Grabbing an unwrenched statue/mannequin/skeleton model will now
move its direction as you move yours, and you can talk through it.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-02-09 00:53:36 +01:00
SkyratBot
6980bfd465 [MIRROR] Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds (#26411)
* Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds (#81307)

## About The Pull Request

Fixes #79318

- See the issue for more information. I fixed the runtimes as expected,
and then removed `SURGERY_REQUIRE_LIMB` from some surgeries which don't
actually require a limb, such as implant removal, dissection, and living
revival. I could've easily missed some, and as a result some surgeries
are lost to the void and unselectable, but from what I could tell in
testing it seems... fine.

- Adds `SHOULD_CALL_PARENT` to surgery `can_start`. Cleans up some
surgery `can_start` overrides.

- Adds missing sounds to puncture repair surgery.

## Changelog

🆑 Melbert
fix: Fixed Puncture Repair surgery not having surgical sounds
fix: Fixed Surgery Initiator potentially showing invalid surgeries
/🆑

* Fixes surgeries runtiming constantly when having the surgery initator open, fixes some surgeries missing sounds

* Fixeed

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-02-08 21:54:06 +01:00
SkyratBot
7166ab0ad7 [MIRROR] Material container drops sheets only on object deconstruct & not destroy. (#26363)
* Material container drops sheets only on object deconstruct & not destroy. (#81290)

## About The Pull Request
- Fixes #81289

It has nothing to do with `dump_contents()` but with the material
container that drops its materials on `Destroy()` causing side effects.
Now it only drops sheets when an object is deconstructed but not
destroyed.

For this to work properly on all instances we have to ensure
`deconstruct()` is not overridden at least on machines for now, so they
can send `COMSIG_OBJ_DECONSTRUCT` signal. That comes in the next PR

## Changelog
🆑
fix: deleting objects with local material storage(autolathe, drone
dispenser etc) no longer drops sheets, they only drop materials when
deconstructed
/🆑

* Material container drops sheets only on object deconstruct & not destroy.

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-02-07 12:53:28 -05:00
SkyratBot
3d28268ea0 [MIRROR] Refactor jukebox, jukebox datum, now jukebox audio is positional. And it fully respects deaf people. (#26301)
* Refactor jukebox, jukebox datum, now jukebox audio is positional. And it fully respects deaf people.

* fix our stuff

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: jjpark-kb <mccorvey.norman@gmail.com>
2024-02-04 08:01:27 -05:00
SkyratBot
865afe454b [MIRROR] Fixes burning a bible giving you an infinite amount of curses. (#26346)
* Fixes burning a bible giving you an infinite amount of curses. (#81248)

## About The Pull Request
Burning a bible now gives you 1 curse, instead of INFINITY curses.
## Why It's Good For The Game
It looks like https://github.com/tgstation/tgstation/pull/78899 forgot
about bible curses.
I think this was an oversight.
## Changelog
🆑
fix: burning a bible no longer gives you INFINITY curses
/🆑

* Fixes burning a bible giving you an infinite amount of curses.

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2024-02-04 08:00:38 -05:00
SkyratBot
8e7ec57fd2 [MIRROR] Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#26328)
Kicks Martial Arts out of the attack chain (yippee), makes it use signals, plus a large clean up of existing martial arts (#81097)

- Kicks Martial Arts out of the attack chain.
- All Martial Arts attacks are now handled via unarmed attack or grab
signals
- This means all martial arts are now technically on the living level,
allowing any mob that can unarmed attack to martial arts. Sort of. YMMV.

- All martial arts block checking is now handled by the arts themselves,
meaning you can selectively decide for a martial arts strike to not be
blocked. Maybe good for the future.

- A comprehensive cleanup of all existing martial arts. Improving var
names, code, adding some missing animation calls, etc.

Fixes #74829

Untangles the mess that is martial arts, making it a lot easier to work
with the attack chain and making it overall a ton more consistent.

🆑 Melbert
refactor: Big martial arts refactor, they should now overall act a ton
more consistent. Also technically any mob can do martial arts. Let me
know if something is funky.
/🆑

---------

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-02 21:28:23 +01:00
SkyratBot
e79bdd6783 [MIRROR] Bit of reference handling for custom food holders (#26321)
* Bit of reference handling for custom food holders (#81195)

## About The Pull Request

`ingredients` seems to hold a reference to all the food in our atom's
contents that are used to make up our custom food, but it doesn't clear
it anywhere.

So I implemented `Exited`, as well as cutting the list on component
`Destroy`.

* Bit of reference handling for custom food holders

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-02-02 11:39:47 -06:00
Useroth
22bcdbf5f9 Nova ports batch 1 (#26273)
* Map votes are no longer random (#43)

* Disables the annoying fear of Santa from the claustrophobia quirk (#51)

* Removes the job locks from all armbands except the sec armbands, and reflavors all armbands to not directly state this person is a member of x department (#62)

* [MODULAR] Removes Arbitrary Loadout Restrictions (#58)

* Removes an AM template from NorthStar as well as the prison curtain logic (#72)

* Bilingual now let's you take common (if you don't already have it) (#78)

* Period Era Re-Enactment: Basic autopunctuation (#84)

* [Semi-modular] Gives Xeno-hybrids some xeno-organs in trade for high temperature weakness (#91)

* The Thrill of the Hunt: Hemophage blood digestion changes (#93)

* Removes the ability for shocks to stop your heart (#116)

* Ghost cafe turf fixes (#161)

* ungatekeeps headshots (#170)

* Lo(v)re Wins: Mothic Language return (#186)

* Add Bone Greaves As Foot Clothing For Tribals (#197)

* Saving Private Oversized: Quirk balancing adjustments (#199)

* Over(sized) and Under: Oversized combat adjustments (#202)

* Shuttles no longer bolt their doors on transit (#203)

* Increases PAI description and OOC notes limit (#207)

* Makes headset sounds not insane (WHY DO THEY HAVE A RANGE OF 17 TI:LES?) (#215)

* Add Bone D6 For Tribals. (#217)

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Name <w4rd3nn@gmail.com>
Co-authored-by: Ephemeralis <Ephemeralis@users.noreply.github.com>
Co-authored-by: lila <sheepwiththemask@gmail.com>
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Sable <102194057+Thlumyn@users.noreply.github.com>
Co-authored-by: goobliner <141452834+goobliner@users.noreply.github.com>
Co-authored-by: Lutowski <136726218+Lutowski@users.noreply.github.com>
Co-authored-by: FearfulFurnishing <139661819+FearfulFurnishing@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2024-01-29 20:13:27 +00:00