Commit Graph

10858 Commits

Author SHA1 Message Date
SkyratBot
6e029611ac [MIRROR] Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test [MDB IGNORE] (#19959)
* Implements AddTraits and RemoveTraits procs for adding/removing multiple traits + swag unit test

* MISSED MIRROR https://github.com/tgstation/tgstation/pull/71606

* Update modules_supply.dm

* Update tgstation.dme

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 03:26:52 +01:00
SkyratBot
6d08ad8984 [MIRROR] Machines can now be pried open multiple times and maintain their initial densities [MDB IGNORE] (#20044)
* Machines can now be pried open multiple times and maintain their initial densities (#74163)

## About The Pull Request
These changes fix how machines are pried open with crowbars. Currently,
most machines can be pried open, but many of them have no method for
being closed again. This means they can be pried once, and then never
again (as their internal logic has them stuck in an "open" state).

Additionally, the densities of these machines is also inconsistent, as
density is tied to the procs for opening/closing machines (open =
non-dense, closed = dense). Thus, these new changes allow desired
densities to be passed to `open_machine()` and `close_machine()`, as
well as `default_pry_open()`, meaning that atypical machine densities
can be maintained (e.g. machines that should remain dense when open, or
non-dense when closed).

I've also added a `close_after_pry` boolean parameter to the
`default_pry_open()` proc, which determines whether to immediately close
a machine after opening it. This is useful for machines that don't
really have a use case for remaining open, often lacking a sprite to
represent this state as well.
* Note: Opening and immediately closing machines with this boolean will
still drop their contents onto the floor, but will now immediately
"close" in their logic, allowing for further prying attempts in the
future.

It's worth noting that this implements default density values for these
procs, which match the existing behavior for machines, so as to
(hopefully) not disrupt existing or expected machine behavior.

Two caveats to these changes currently exist:
1. On machines that immediately close after prying, the prying action
can now be spammed to the chat with repeated clicking. I'm uncertain if
this needs some sort of spam protection or if it's fine as is.
2. I've only been able to manually test this code. I'd love to write
unit tests for it, as it affects a lot of different machines, but don't
know where to begin with DM Unit Testing (or which files would be good
examples to reference in the code base).
* Note: I did manually test each and every machine that calls
`default_pry_open()` and they all seem to be working correctly. (Except
for `obj/machinery/plumbing/sender`, but that doesn't seem to need
prying, as it has no contents to drop, only reagents.)

As always, let me know if any improvements/changes should be made.

This closes #26833.

## Why It's Good For The Game
These changes allow crowbar prying to correctly occur multiple times on
any machine, which is intended behavior. It prevents player confusion
that could occur when a machine couldn't be pried open a second time
during a shift, even though it had previously been pried before, forcing
players to question themselves. (Are they missing something? Did they
perform the action a different way last time? Is the machine actually
still powered on instead of off? Etc.)

These changes also maintain the correct density for machines after
prying, preventing scenarios where a machine might behave differently
once it had been pried open. (An example of this was being able to walk
through a smartfridge after prying it open.) Additionally, players are
no longer required to know/use workarounds (such as machine disassembly)
to retrieve a powered-off machine's contents.

Overall, these changes improve consistency around machines, creating
more scenarios where they behave as players would expect.

## Changelog
🆑
fix: machines can now be pried open more than once.
fix: machines now have the correct density when pried open.
/🆑

---------

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

* Machines can now be pried open multiple times and maintain their initial densities

* wew

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-27 02:36:29 +01:00
SkyratBot
e9e7d7a461 [MIRROR] Minigame DLC - Intergalactic Basketball League [MDB IGNORE] (#20048)
* Minigame DLC - Intergalactic Basketball League (#72459)

## About The Pull Request
New DLC bout to drop.

![dreamseeker_45s0qiPMXE](https://user-images.githubusercontent.com/5195984/210466427-35b90d46-6620-45e2-8b21-66d1dcada76f.png)

Lots of new things included:
- New basketball minigame that can be played between 2-7 players
- Crafting recipe for basketballs using leather sheets
- Crafting recipe for basketball hoops using metal, rods, and durathread
- New basketball sounds for the ball and hoops
- New scorecard that can be reset using CtrlClick
- Basketball hoops can be rotated using a wrench and AltClick
- Dunking and shooting animations.

### New basketball mechanics that now utilize stamina:

- Dunking costs large stamina and you must be directly adjacent to the
hoop and click on it.
- Shooting costs medium stamina and uses RMB. Shooting lets you aim the
ball over peoples heads, meaning anyone obstructing your path will be
bypassed. There is a half second delay during shooting where someone can
bump or push to prevent the shot from succeeding.
- Shooting from further away results in less accuracy. If you do not
click directly on the hoop, there is also an accuracy penalty!
- Passing costs no stamina and uses LMB. Trying to score into the hoop
via passing results in a reduced chance.
- Spinning costs medium stamina while holding the ball. It gives a
reduced chance for the ball to be stolen but decreases accuracy for
shooting.
- Pushing a player using RMB will attempt to steal the ball and drain
their stamina.
- The chance to steal the ball is based on the stamina of both players
and the direction they are facing. If the person with the ball is at low
stamina, and the person stealing is at full stamina, they will have a
higher chance. Likewise, if the person with the ball is face to face
with the stealer, then there is a higher chance for the ball to be
stolen. If the person has their back to the stealer, then it's a lower
chance.
- Shooting from more than 2 tiles away, results in 3 points. See below
picture to know the distance.

![dreamseeker_1iFLhQGx01](https://user-images.githubusercontent.com/5195984/210469319-162b9745-fcae-4261-92ef-228388eb4f6f.png)

### Now to introduce the teams:

<details>
<summary>Nanotrasen Basketball Department</summary>

![dreamseeker_baSqp2nipv](https://user-images.githubusercontent.com/5195984/210469887-9e0a92d5-d4bd-4da8-9e73-b11d91fdfcd8.png)

</details>

<details>
<summary>Greytide Worldwide</summary>

![dreamseeker_quzZ3KnwpX](https://user-images.githubusercontent.com/5195984/210469923-ed774656-f5cc-43bc-8314-f8309a01c474.png)

</details>

<details>
<summary>Lusty Xenomorphs</summary>

![dreamseeker_VDeT3JQkNF](https://user-images.githubusercontent.com/5195984/210469944-a229e0cc-4b2e-4754-a0b4-6b36953dca2e.png)

</details>

<details>
<summary>Space Surfers</summary>

![dreamseeker_Dh91fznQbN](https://user-images.githubusercontent.com/5195984/210469963-9a85b4e3-b69d-4b66-8c96-4e2ff2b3b983.png)

</details>

---

Big shoutout to the nukie round a few weeks ago where the nuke ops
challenged the crew (and clown) to a basketball match on their rebuilt
basketball shuttle. The nukies won, but it made me realize that the
basketball mechanics were very raw and needed some polishing.

#### TODO LIST

- [x] Fix bug where ball only goes over peoples heads if they are 1 tile
away
- [x] Remove leftover code comments and procs
- [x] Rebalance stamina values (maybe move this to different ball types)
- [x] Fix basketball stadium template runtiming from wall smoothing
during load
- [x] Fix space surfer stadium having an air breach somewhere
- [x] Add more sounds for when ball is passed, shot, or dunked
- [x] Make it so that holding a ball while on the floor isn't possible
(to avoid those meta cheese strats)
- [x] Drop basketball lets mobs make sounds when spinning (need to
detach signal?)
- [x] Finish adding a simple lobby menu for minigame

## Why It's Good For The Game
_If you can't slam with the best, then jam with the rest._

## Changelog
🆑
add: Add crafting recipe for basketballs (leather sheets) and basketball
hoops (metal, rods, and durathread)
add: Add new basketball minigame for 2-7 players. There are 4 different
courts and teams by default with more planned to be added later.
add: New basketball mechanics that uses stamina. Shoot with RMB, pass
with LMB, and dunk by clicking the hoop while adjacent. Spinning while
holding the ball decreases the chance for someone to steal the ball, but
it decreases your shooting accuracy. Shooting from 2 tiles away lets you
score 3 points.
qol: Basketballs now play a buzzer sound when someone scores. CtrlClick
will reset the scorecard and AltClick with a wrench will rotate the
hoop.
qol: Dunking and shooting animations for basketball.
soundadd: Added basketball bounce sound with credits attribution
imageadd: Added basketball icon to minigames. Move baseball and
dodgeball icons to toy/balls.dmi
/🆑

* Minigame DLC - Intergalactic Basketball League

* Update CentCom_skyrat_z2.dmm

* raptor

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Paxilmaniac <paxilmaniac@gmail.com>
2023-03-27 02:24:29 +01:00
SkyratBot
629941e590 [MIRROR] Turns stickers into a component and an element [MDB IGNORE] (#20071)
* Turns stickers into a component and an element (#74091)

## About The Pull Request
Adds /datum/element/sticker, and /datum/component/attached_sticker
Sticker items now mostly operate off /datum/element/sticker
The sticker element, hooks the whole "attach to stuff" and adds the
attached_sticker component to its target
The attached_sticker component, adds the overlay, hooks the clean and
on-fire signals.

## Why It's Good For The Game

Allows to check if a sticker is present on an object (which I will use
later)
Code is probably cleaner???

## Changelog
🆑
refactor: Stickers use a component and an element now to do their
sticking
/🆑

* Turns stickers into a component and an element

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-26 01:58:13 -07:00
SkyratBot
2728bbe9a9 [MIRROR] Polishes some side sources of light and color [MDB IGNORE] (#19860)
* Polishes some side sources of light and color (#73936)

## About The Pull Request

[Circuit Floor
Polish](6b0ee98132)

Circuit floors glow! but it looks like crap cause it's dim and the
colors are washed out.
I'd like to make them look nicer. Let's make them more intense and
longer range, and change the colors over to more vivid replacements.

While I'm here, these should really use power and turn on and off based
off that.
Simple enough to do, just need to hook into a signal (and add a setter
for turf area, which cleans up other code too).

[Desklamp
Upgrade](8506b13b9c)

Desklamps look bad. They're fullwhite, have a way too large
range.Crummy.
Let's lower their lightrange from 5 to 3.5, and make the ornate ones
warmer, and the more utilitarian ones cooler. The clown one can be
yellow because it's funny

I'm renaming a color define here so I'm touching more files then you'd
expect

[Brightens
Niknacks](835bae28e9)

Increases the light range of request consoles, status displays,
newscasters, and air alarms (keycard machines too, when they're awaiting
input at least)
Increases the brightness of air alarms, I think they should be on par
with apcs, should be able to tell when they're good/bad.
Increases the brightness of vending machines (I want them to light up
the tiles around them very lightly, I think it's a vibe)

Fixes a bug with ai status displays where they'd display an emissive
even if they didn't have anything on their screen, looking stupid.
This was decently easy but required a define. Looked really bad tho

## Why It's Good For The Game

Pretty

<details>
<summary>
Circuit Floors
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534470-c6eac5f5-5de6-40e9-897d-3212b8796d81.png)

![image](https://user-images.githubusercontent.com/58055496/224534477-ad412ad9-f7c4-44ae-ad75-a1a2c9bd17be.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534486-b7b408a3-546c-4f90-aa9f-0e58bf8128ad.png)

![image](https://user-images.githubusercontent.com/58055496/224534496-626458f7-ab63-429c-a5db-eae9c784d06a.png)
</details>

<details>
<summary>
Desk Lights
</summary>

Old

![image](https://user-images.githubusercontent.com/58055496/224534513-9868b0b8-bc73-4b45-b986-8445078a8653.png)

![image](https://user-images.githubusercontent.com/58055496/224534518-bbbc8c6d-b59e-4f28-a31c-6c6a7e2c2885.png)

New

![image](https://user-images.githubusercontent.com/58055496/224534529-7988f440-03be-42ef-894c-b9e77f577ae5.png)

![image](https://user-images.githubusercontent.com/58055496/224534532-c3f2c6bf-c925-4a59-a8f9-10bb955a9942.png)
</details>

The niknack changes are more minor so I'm not gonna grab photos for
them. I can if you'd like but I don't think it's necessary. Mostly a
vibes in dark spaces sorta thing

## Changelog

🆑
add: I made circuit floors brighter and more vivid.
add: Made air alarms, vending machines, newscasters, request consoles,
status displays and keycard machines slightly "brighter" (larger light
range, tho I did make air alarms a bit brighter too)
add: Tweaked desklamps. Lower range, and each type gets its own coloring
instead of just fullwhite.
fix: AI displays are no longer always emissive, they'll stop doing it if
they aren't displaying anything. Hopefully this'll look nicer
/🆑

* Polishes some side sources of light and color

* yellow

* Update dance_machine.dm

* Merge branch 'upstream-merge-73936' of https://github.com/Skyrat-SS13/Skyrat-tg into upstream-merge-73936

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-26 01:39:17 -07:00
SkyratBot
ebb19783dc [MIRROR] Fixes atmos machinery breaking when the area is edited/renamed via station blueprints & Deletes empty areas, ARCD upgrades [MDB IGNORE] (#19904)
* Fixes atmos machinery breaking when the area is edited/renamed via station blueprints & Deletes empty areas, ARCD upgrades

* areas

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 23:54:59 -07:00
SkyratBot
7fe3ebcaf7 [MIRROR] Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself) [MDB IGNORE] (#19874)
* Fixes Ice Slipping, Refactors noslip mechanics, Allows magboots to prevent slip slides (but not the slip itself)

* Update snail.dm

* NOSLIP

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 23:22:58 -07:00
SkyratBot
1210dfb9ef [MIRROR] Adds wire brush to janivend and janiborg. Also adds ability to put it in janibelt. [MDB IGNORE] (#20012)
* Adds wire brush to janivend and janiborg. Also adds ability to put it in janibelt.

* merge conflicts

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-25 01:28:55 -07:00
SkyratBot
552ae21e61 [MIRROR] Dump ejected implant contents onto our turf, not inside our mob [MDB IGNORE] (#19996)
* Dump ejected implant contents onto our turf, not inside our mob (#74120)

## About The Pull Request

Fixes #74119
This was probably a victim of the storage refactor.
When removing items, it was dumping them _inside the mob_ rather than on
the floor, additionally it was putting mob blood on every item already
inside the mob rather than on the items being dumped for some reason?
Now it doesn't do that.

## Why It's Good For The Game

Removing a storage implant from someone should dump the items, not trap
them in your body.

## Changelog

🆑
fix: Removing a storage implant from someone will dump the items on the
ground rather than inside the mob.
/🆑

* Dump ejected implant contents onto our turf, not inside our mob

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-25 01:08:56 -07:00
SkyratBot
0d2ba72250 [MIRROR] Replaces internal_organs with organs [MDB IGNORE] (#19871)
* Replaces internal_organs with organs

* Makes all of the necessary internal_organs -> organs in our files to compile

And it seems to work too!

---------

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-24 13:27:48 -04:00
SkyratBot
8cc890658e [MIRROR] Access Keys list and destroy proc [MDB IGNORE] (#20046)
* Access Keys list and destroy proc (#74181)

## About The Pull Request

- Puts recently added access key rings into the janitor devices list
- Access key rings now tracked in Custodial Locator tablet app
- Access key rings unregister their department signal when destroyed

## Why It's Good For The Game
Management of access key rings.

## Changelog

🆑 LT3
code: Access key rings added to list on creation
code: Access keys unregister signal when destroyed
/🆑

---------

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

* Access Keys list and destroy proc

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-23 21:41:11 -07:00
SkyratBot
c3219b2ae2 [MIRROR] Fixes gondola meatslab not being able to be placed into infuser [MDB IGNORE] (#20038)
* Fixes gondola meatslab not being able to be placed into infuser (#74173)

## About The Pull Request

https://github.com/tgstation/tgstation/pull/73796 Seems to have made it
so that gondola meat is used in the infuser instead of its body, which
turns into meat on death. The issue with that is the meat slab does not
have the `GORE` flag and so was rejected by the infuser.

As per
afe6ecc353/code/game/machinery/dna_infuser/dna_infuser.dm (L294-L297)

Looking at the code this should fix it right up.

## Why It's Good For The Game

Bugfix

## Changelog
🆑
fix: fixes gondola meatslab not being able to be placed into the DNA
infuser
/🆑

* Fixes gondola meatslab not being able to be placed into infuser

---------

Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-03-22 22:47:36 -07:00
SkyratBot
91b2287d39 [MIRROR] Fix missing meat clown food types [MDB IGNORE] (#20014)
* Fix missing meat clown food types (#74146)

🆑 coiax
fix: Fixed missing food types for the meat clown, it is now meat and
fruit.
/🆑

Liked by lizards, toxic to moths, and neutral to humans and felnids in
terms of species biases.

The construction recipe is steak + banana, but the resulting product has
no food types, making it blandly suitable for everyone. This is an
oversight. Not everyone will like a mixture of banana and flesh.

* Fix missing meat clown food types

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
2023-03-22 00:47:59 -07:00
SkyratBot
a3f22bdcb0 [MIRROR] Adds the Janitor access keyring [MDB IGNORE] (#19993)
* Adds the Janitor access keyring

* skyrat edits

* changelog

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
2023-03-20 11:11:04 -07:00
SkyratBot
cba0f20e0a [MIRROR] [no GBP] non-organic human species can be implanted [MDB IGNORE] (#19976) 2023-03-20 09:03:44 -07:00
SkyratBot
e7afde2a85 [MIRROR] Bone gel now spawns in stacks of 4 inside Paramedic and Medical ERT belts [MDB IGNORE] (#19943)
* Bone gel now spawns in stacks of 4 inside Paramedic and Medical ERT belts (#74063)

## About The Pull Request
Bone gel spawned inside player medical belts, for the roles of Paramedic
and Medical ERT, now spawns in a stack of 4. Previously they would spawn
with only a single stack. This new amount matches the stack size
received when purchasing the identical item from a Nanomed, or ordering
it in a Cargo crate.

As such, this change creates consistency around the number of uses in an
fresh, "unopened" bottle of bone gel.

## Why It's Good For The Game
Creating a uniform, default stack size for bone gel keeps interactions
with the item consistent and predictable. In the case of paramedics,
their starting kit also includes 5 stacks of surgical tape, so having a
few stacks of bone gel matches the player expectation that they have
enough supplies to treat a few instances of each type of injury (rather
than only one).

Addressing this discrepancy also Closes #71393.

## Changelog
🆑
balance: Bone gel now spawns in stacks of 4 in Paramedic and Medical ERT
belts
/🆑

* Bone gel now spawns in stacks of 4 inside Paramedic and Medical ERT belts

---------

Co-authored-by: Antonio Tosti <5588048+atosti@users.noreply.github.com>
2023-03-18 11:21:40 -07:00
SkyratBot
c03fc1ffd0 [MIRROR] Fixes some incorrect uses of rand() [MDB IGNORE] (#19910)
* Fixes some incorrect uses of `rand()` (#74032)

## About The Pull Request

`Rand` only takes integers

![image](https://user-images.githubusercontent.com/51863163/225454770-bdb70aca-ed43-4c17-a943-2ec99720b53d.png)

![image](https://user-images.githubusercontent.com/51863163/225454784-8f9cc053-8e7d-46fd-b6b2-42efb0751d5e.png)

## Why It's Good For The Game

Less misleading code

## Changelog

🆑 Melbert
fix: Lead batteries now start partially drained as intended.
/🆑

* Fixes some incorrect uses of `rand()`

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-03-18 03:26:13 -07:00
SkyratBot
e13e921d75 [MIRROR] Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours! [MDB IGNORE] (#19882)
* Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours! (#73746)

## About The Pull Request

Adds the Snatcherprod, the telecrystal version of the teleprod. It
yoinks an item out of the victim's hand, and puts it into yours. Or on
the ground, if your hands are full.

You make it like you would a teleprod, but using a telecrystal instead.

## Why It's Good For The Game

It was a funny joke I observed. Also I'm deeply sleep deprived and so my
better judgement eludes me during these capricious moments.

## Changelog
🆑
add: Adds the Snatcherprod. Like a teleprod, but it steals stuff from
peoples hands instead. Made using a telecrystal, rather than a bluespace
crystal.
/🆑

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Adds the Snatcherprod. It steals stuff from peoples hands and puts it into yours!

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2023-03-18 03:24:31 -07:00
SkyratBot
ea588b56cb [MIRROR] Adds tooltips for pneumatic cannon, changes powerfist's tooltip slightly and fixes some bugs about it. [MDB IGNORE] (#19926)
* Adds tooltips for pneumatic cannon, changes powerfist's tooltip slightly and fixes some bugs about it. (#73922)

## About The Pull Request
Adds tooltips for screwdriver and wrench with it's pressure level. It'll
look like this:

![image](https://user-images.githubusercontent.com/93882977/224517382-b8bd8c32-2256-4516-8318-b9e52cd67f31.png)
And an image of how it look's at the moment just to compare:

![image](https://user-images.githubusercontent.com/93882977/224512677-5899722c-1e79-4975-afd2-2bf741adf829.png)

Also changed powerfist's tooltip slightly:

![image](https://user-images.githubusercontent.com/93882977/224842693-d0574328-2da3-467a-8fd5-f10d70e08da1.png)
And another image for comparison again:

![image](https://user-images.githubusercontent.com/93882977/224517677-4790add6-f433-49bd-93bf-6d4a498955f4.png)

You weren't able to put wrench in it, because it combined both LMB and
RMB tool_acts, deleted the part with RMB as screwdriver uses LMB.

And for some reason you could put air tanks in pie guns and adjust its
pressure level. Like is there even a purpose of it? It'll just hiss.
## Why It's Good For The Game
## Changelog
🆑
qol: added tooltips for pneumatic cannon. Also changed powerfist's
tooltips slightly.
fix: fixed that you can't put wrench in pneumatic cannon.
fix: fixed that you can manipulate with pie gun as if it's a normal
pneumatic cannon (adjust air tank, wrench it's output level's and etc.)
/🆑

* Adds tooltips for pneumatic cannon, changes powerfist's tooltip slightly and fixes some bugs about it.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-03-18 03:18:43 -07:00
SkyratBot
fe6d130044 [MIRROR] EMP no longer turns off defib safeties [MDB IGNORE] (#19931)
* EMP no longer turns off defib safeties (#74018)

## About The Pull Request

EMP can no longer disable safeties on defibs

## Why It's Good For The Game

Rewarding people with a slightly stronger baton that you don't drop when
you get knocked down for literally just mixing a crushed can and like
two common ingredients is a terrible idea.

edit: also ignores shielding and blocks
## Changelog
🆑
balance: You can no longer EMP defibrillators to make them combat-usable
/🆑

* EMP no longer turns off defib safeties

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2023-03-18 03:17:09 -07:00
SkyratBot
408f0e9c5a [MIRROR] Audits usage of isanimal() vs isanimal_or_basic_mob() [MDB IGNORE] (#19938)
* Audits usage of isanimal() vs isanimal_or_basic_mob() (#74029)

## About The Pull Request

There's a couple of open issues which fix places where only simple
animals were considered, but they are doing it piecemeal.
I decided to just go through every instance of `isanimal` or
`subtypesof(mob/living/simple_animal)` I could find, identify which
should also affect basic mobs, and fix them.

I left out the two others which are already in PR, I'm not stealing your
GBP.

Fixes https://github.com/tgstation/tgstation/issues/68881

## Why It's Good For The Game

Consistency, mostly.
As far as I can tell all of these things _should_ have effected basic
mobs, but didn't.
This fixes a fair number of bugs but also they're bugs that nobody
noticed or reported.

There are a couple of places I did not update which will need updating
in future. These are:
- Dextrousness checks, because basic mobs don't have that yet.
- The Charge cooldown action, because frankly I couldn't tell what it
was trying to do.

alright here goes

## Changelog

🆑
fix: Carp will once again be healed from being near carp rifts
fix: Sepia slime cores and the rewind camera now work on Ian
fix: Sapient ridden carp (or cows) can throw off their riders by shoving
them, or by performing the spin emote.
fix: Giant Spider AI will be disabled by the timestop spell
fix: Ian can eat envirochow
fix: Mice, Frogs, and Cockroaches will no longer set off bear traps
fix: You can put a macrobomb implant into Cayenne (or Ian)
fix: Ian will now recognise that being squeezed by a cyborg is a nice
hug
fix: The player panel will tell admins if you're currently a corgi
fix: The staff of storms deals massive damage to Bileworms and Giant
Spiders
fix: Ian will whimper if forced to scream
fix: Slimes can consume space carp
fix: Mice can be captured in xenoballs
fix: You can use pacifying potions on Giant Spiders
fix: Sgt Araneus can be fitted with a xenobiological radio implant
fix: Sapient corgis no longer count as living players for the purpose of
highlander escape objectives
fix: The random sentience event can now target corgis and sergeant
araneus
add: The random sentience event can target a wider array of farm animals
fix: Petsplosion wizard event can target corgis
add: Petsplosion wizard event will now target farm animals and
mothroaches
fix: The colossus possession crystal can now actually possess the
cockroach it spawns, does not kill you instantly upon ending possession
/🆑

* Audits usage of isanimal() vs isanimal_or_basic_mob()

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-03-18 03:15:31 -07:00
SkyratBot
ef8b8b7372 [MIRROR] Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw [MDB IGNORE] (#19950)
* Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw (#73996)

## About The Pull Request

The chainsaw now has an audio loop, as well as SFX for starting and
stopping. I'm pretty confident that I did the attribution stuff
correctly.

https://user-images.githubusercontent.com/28870487/225054900-4bf87ee7-9245-4004-b414-77d0e6e83a7c.mp4

I think this came out well. It may be a bit loud, but I wanted the
volume to be about the same as how the chainsaw slash sound comes out.
Audio stuff isn't really my forte, so let me know if anything sounds
off, or if any adjustments should be made.

To make this work for the mounted chainsaw (more specifically, the
abstract object that enters your hand), it has been made into a chainsaw
subtype. An updatepaths script has been included in the event that
someone has a map where the former path was included (why??).
## Why It's Good For The Game

Makes the chainsaw more menacing. It's one of the most powerful and
beloved pieces of crew weaponry, in addition to being a fucking
chainsaw. If you aren't keen on walking around the hallways with the
chainsaw loop playing like the badass you are, you can always just keep
it off until you get into a fight.

Gives an extra bit of immersion for those special moments where you get
to chainsaw someone to death.
## Changelog
🆑
soundadd: The chainsaw now has SFX for starting, stopping, and idling.
/🆑

* Gives the chainsaw start/stop/loop SFX, makes the arm-mounted chainsaw a subtype of a regular chainsaw

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-18 03:09:51 -07:00
SkyratBot
bc38ec63e9 [MIRROR] Cleans up ..() usage in organs' Insert() and Remove() [MDB IGNORE] (#19948)
* Cleans up `..()` usage in organs' `Insert()` and `Remove()` (#74055)

## About The Pull Request
fumbled around while investigating #74047 and turns out there's other
organs that have the same issue as the reported alien organs in that
issue. went around and replaced parent calls where applicable
(cursed/demonic hearts, flashlight eyes, alien organs, abductor glands)

## Why It's Good For The Game
Fixes #74047
Considerably less ghost internal organs, hopefully less unreported jank
on removing organs

## Changelog
🆑
fix: fixed a few internal organs acting wonky on inserting/removing
(some xenomorph organs, abductor glands, flashlight eyes, demon/cursed
hearts)
/🆑

* Cleans up `..()` usage in organs' `Insert()` and `Remove()`

---------

Co-authored-by: Sealed101 <75863639+Sealed101@users.noreply.github.com>
2023-03-18 02:35:04 +00:00
lessthanthree
0d983be692 [MANUAL MIRROR] Fix: DNA Infuser & Unit Tests, Organs Bugfixes (#19211)
* Fix: DNA Infuser & Unit Tests, Organs Bugfixes (#73003)

>_"I don't remember buying tickets to Mutants on Ice."_
>-Duke Nukem

This PR is (hopefully the final) part of a series of my continuing
refactors of the DNA Infuser. This PR represents a "quality pass" which
should also iron-out the rest of the most impactful bugs.

Granular list of changes:
- This PR adds unit tests for the DNA Infuser organs and
`/datum/status_effect/organ_set_bonus` as recommended by @AnturK
- I noticed that the base `/datum/infuser_entry` was being used in the
machine for the Fly and "rejected" infusions, whereas usually we would
expect it to be a base type used only as a development template. I
corrected this issue and created `/datum/infuser_entry/fly` to be used
for that use-case instead.
- Added `/mob/proc/can_mutate()` and `/mob/living/carbon/can_mutate()`
to replace a few copied lines across several files. The proc is normally
used in the context of mutating a Human via their DNA.
- I fixed a ton of typos in organ-related code, specifically where
"receiver" was typo'd as "reciever". There are far more of those typos,
but I limited the scope of my changes to organs.
- I noticed a bug in `/datum/species/proc/regenerate_organs` wherein a
race condition caused an organ to remove itself before it's done
inserting itself. This happens because the Fly organ set bonus runs
`regenerate_organs` which calls `Remove` on the organ while `Insert` is
still in the call-stack. I added `INVOKE_ASYNC` as a workaround, and
also changed the order the signals are emitted to prevent future bugs.
This bug primarily only impacted the flyperson species transformation,
which was part of the DNA Infuser's flyperson infusion organ set bonus.
- In my last refactor PR #72745 I also introduced a bug in
`/obj/machinery/dna_infuser/proc/infuse_organ` wherein I forgot to add
the usage of `new` when attempting to implant new organs, and this PR
fixes the erroneous code.
- Fxed a bug which causes the organ set bonus to activate when mixing
organs from different sources, which is caused by a developer oversight
wherein all `/datum/status_effect/organ_set_bonus` had identical IDs.
- Added a cleaner `replacetext`-based way of handling pronouns in
`/datum/element/noticable_organ/proc/on_receiver_examine`, using custom
macros `%PRONOUN_S` and `%PRONOUN_ES` as advised by @MrMelbert
- This PR also fixes #72767

With the changes in this PR the machine will finally work as we expect
it to. By adding unit tests we will also be able to ensure that it works
as expected from now on. I feel confident saying that the completeness,
algorithmic correctness, and code health of the DNA Infuser is much
better than it was before.

🆑 A.C.M.O.
fix: Fully fixed the DNA Infuser, which will now infuse organs as
expected.
fix: Fixed flyperson species transformation and organ set bonus, which
was throwing a runtime.
fix: Fixed many typos in organ-related source code.
/🆑

---------

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

* *shrug

* Uncommented the line Gandalf wanted uncommented

* Properly fixes CI on this one, hopefully.

---------

Co-authored-by: Dani Glore <fantasticdragons@gmail.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-03-17 18:29:15 -04:00
SkyratBot
7ad441e407 [MIRROR] More stuff to construct & destroy [MDB IGNORE] (#19903)
* More stuff to construct & destroy (#73942)

## About The Pull Request
**1. Suit Storage Units**
- What about them?

1. You can print "suit storage unit" circuit boards from engineering &
science circuit printer's after research to make more suit storage
units, now since they behave like regular constructable machines you can
deconstruct them via screwdriver & crowbar.
   2.  You can upgrade its capacitor to get faster charging speeds

- Why its good for the game?
   1. You can rebuild these in the event they get destroyed
   2. Better tier capacitors = faster charging speeds
3. More storage units = More places to decontaminate your equipment +
Recharge more mod suits made in robotics
4. If you decide to leave the game or your done using a mod suit e.g. a
mining mod suit rather than keeping it to yourself or throwing it away,
just build a suit storage unit and hang it there so other players can
use it i.e., sharing is caring.

**2. Freezer Cabinet**
- What about them?
 1. They are now craftable

![Screenshot
(133)](https://user-images.githubusercontent.com/110812394/224561037-5461be22-e651-4d72-8afc-f797bb7d8a47.png)

  3. You can deconstruct them with a welding tool.

- Why its good for the game?
  1. You can now make more of them if they get stolen/destroyed
  2. More places to store food, dead bodies, whatever

**3. Flood Lights**
- What about them?
They can now be fully deconstructed in the exact opposite sequence you
constructed them.
  - First use screwdriver to open its panel
  - Then use empty hand to remove light
  - Then use screwdriver to unscrew the wiring from frame
  - Use wire cutter to remove wiring completely
  - Finally use wrench to completely deconstruct frame

- Why it's good for the game?
Reclaim used material to build flood light else where . Also much more
clean than what the wiki is suggesting.

![Screenshot
(134)](https://user-images.githubusercontent.com/110812394/224561553-f44a97f3-ac70-49e7-892f-1a05e2323ecb.png)

  ## Changelog
🆑
add: suit storage unit circuit boards to engineering & science
department circuit printers.
add: freezer cabinet as a craftable & destructible item.
qol: flood light can now be deconstructed rather than destroyed/thrown
away.
/🆑

---------

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

* More stuff to construct & destroy

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-03-16 18:41:12 -04:00
SkyratBot
679ff9222d [MIRROR] Minor grammar fixes [MDB IGNORE] (#19895)
* Minor grammar fixes (#73994)

## About The Pull Request
Not much to discuss.
Fixed name of box of party poppers and camera tag of tech_storage.
## Why It's Good For The Game
Grammar
## Changelog
🆑
spellcheck: fixed a box of party_poppers and camera tag "tech_storage"
/🆑

* Minor grammar fixes

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-03-16 15:06:53 +00:00
SkyratBot
763c0c5eb7 [MIRROR] Reworks trashbags slightly [MDB IGNORE] (#19864)
* Reworks trashbags slightly

* fex

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-03-15 18:38:27 -07:00
SkyratBot
2c71b2284d [MIRROR] Adds the Smoking Room icebox surface ruin [MDB IGNORE] (#19883)
* Adds the Smoking Room icebox surface ruin (#73876)

## About The Pull Request

My contribution to the March Into Mapping/Mapness event -- The forlorn
homestead of mister Charles Morlbaro, a high-brow individual with a
taste for cigarettes. This ruin spawns on the surface level of Icebox.

![image](https://user-images.githubusercontent.com/28870487/224414415-6bacf208-9a39-43e4-8f79-60d142049a17.png)

A local of the ice planet, Morlbaro lived a peaceful life at home, until
an _incident_ compromised one of his windows. Fearing the cold and
unable to keep anything larger than a cigarette lit, he sequestered
himself in his private smoking room, and hasn't been seen since.

...

Oh, right, the loot. That's the most important part for some of you
guys.

![image](https://user-images.githubusercontent.com/28870487/224161740-cc25f84e-3aaf-4f78-9ea9-06c79e376cdb.png)

Where there's smoke, there's fire, and where there's cigarettes, there's
lighters. Mister Morlbaro collected novelty lighters, which have to be
worth something to someone, right? You might be able to find some if you
dig around in his belongings. Just try not to disturb him if you choose
to enter his smoking room.

### Mapping March

<!-- If your pull request is part of Mapping March and you want to earn
an antagonist token for your FIRST mapping pull request submitted this
month, please include your ckey. For more information, read about the
event here: https://hackmd.io/@ EOBGames/BkwuRlxkh -->

Ckey to recieve rewards: theduffelbag

## Why It's Good For The Game

Ruin variety is nice. This one doesn't have any particularly spectacular
loot, but it's a surface ruin.

Bro space ruins are sooooo 2020 bro, it's all about icebox ruins now
bro.

## Changelog

🆑 Rhials
add: Adds the Smoking Room icebox ruin, found on the station level!
/🆑

* Adds the Smoking Room icebox surface ruin

---------

Co-authored-by: Rhials <Datguy33456@gmail.com>
2023-03-15 11:11:20 -04:00
Gandalf
999e96cb2f [MIRROR] Improved engineering tools patch 2: Bolter Wrench (#72445) (#19875)
Improved engineering tools patch 2: Bolter Wrench (#72445)

This adds a new wrench that can be printed after Advanced Engineering is
researched or as a rare mail gift for engineers.

The Bolter Wrench is medium sized (fits on toolbelts and bags but not on
boxes) and can grab into the bolting system of airlocks, raising it's
bolts after a 5 second `do_after`, even if the airlock has no power or
the wires are cut, as long as you can access the inner wires. (Won't
work if the panel is closed or has it's wires reinforced.)

Codersprite blatantly inspired by Iconoclast's wrench and looks like
this:

![bolting](https://user-images.githubusercontent.com/55374212/210415159-dbac7990-46bb-4d42-9061-dd0278905937.png)

![Iconoclasts](https://user-images.githubusercontent.com/55374212/210415375-80070c25-91f9-40bb-aa62-889fc8f0b206.gif)

Right now, the only way to fix a powerless bolted down airlock is by
fixing the power first, this becomes an issue if the APC is behind the
airlock.
If that is the case, the only way in is to break through walls/windows
or destroy the airlock if you can, both add more things you need to
repair, making reconstruction times longer and longer...

Or you use an RCD to delete the airlock in 5 seconds, while faster than
the above method still is another thing to the repair list...

Repairing damaged and bolted down airlocks is such a hassle that
doormag'd airlocks bypass the default deconstruction system and just let
you deconstruct them directly without the steps of unbolting and
welding, something that could be removed with this tool but I won't
defend the pros and cons of it now.

Reconstruction is slow and cumbersome without an RCD. (And even with
one...)
I've been trying to make it smoother without using RCDs or a future RAT
on previous PRs and future ones to come, this tool is part of those
plans.
🆑 Guillaume Prata
add: Bolter Wrench as a new tool, it can raise the bolts of airlocks
regardless of it's power status to smoother station repairs. It can be
printed and is unlocked on the same tier as RCD. It can also rarely be a
mail gift for engineers.
/🆑

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2023-03-15 01:02:26 +00:00
SkyratBot
426b390001 [MIRROR] Adds stickers [MDB IGNORE] (#19856)
* Adds stickers (#73892)

## About The Pull Request

Adds stickers to the game, purchasable from cargo. They are flammable,
applied instantly, and fall off when washed by
spacecleaner/showers/soap. They burn instantly if the mob it is attached
to is ignited or the turf it is attached to reaches 100+ Celsius

![2023-03-10
13_22_31-Window](https://user-images.githubusercontent.com/70376633/224326335-08848332-f51d-476e-9aaf-c6064ca82c30.png)
Syndicate-only stickers on the left, normal on the right

![image](https://user-images.githubusercontent.com/70376633/224433519-a92c6124-392f-4e96-81bf-f51df2ab2e80.png)
![2023-03-10
22_34_42-Window](https://user-images.githubusercontent.com/70376633/224433579-c29d0d39-d544-47f7-baa8-249abe1bbb96.png)
![2023-03-10
22_34_58-Window](https://user-images.githubusercontent.com/70376633/224433599-8c991983-ea6b-4187-b74c-a786b4c4f3b9.png)

## Why It's Good For The Game

Stickers probably could be cool if the clown puts googly-eyes on beepsky
or smiley faces on the captain
Probably good for tile art?

look at this guy go

![image](https://user-images.githubusercontent.com/70376633/224326733-add34f1f-0127-4499-8a4d-7caa1ca2ab5c.png)

## Changelog
🆑
add: Added stickers, purchasable from cargo
/🆑

---------

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

* Adds stickers

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-03-15 00:50:11 +00:00
SkyratBot
8805502dc4 [MIRROR] Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows. [MDB IGNORE] (#19852)
* Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows. (#73974)

## About The Pull Request

The metallic hydrogen axe had no usesound var set despite having a
tool_behavior applied to it, this meant that when using it as a crowbar,
for example to remove floor tiles no sound was played. I've given it the
default crowbar sound for this.

Bonus fix: Crowbars were incapable of hitting fully constructed default
windows, this included the H2 axe, They are now able to be used on
standard windows (they already worked on reinforced windows)

## Why It's Good For The Game

Missing sound bad. Pretty sure the crowbar thing is a bug too.
## Changelog
🆑
fix: The metallic hydrogen axe is no longer silent when using it as a
crowbar.
fix: You are now capable of hitting standard windows with a crowbar when
they're fully constructed.
/🆑

* Fixes the metallic hydrogen axe being silent when being used as a crowbar and crowbars can now hit windows.

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-15 00:48:13 +00:00
SkyratBot
fd0d736291 [MIRROR] Calomel Rework [MDB IGNORE] (#19835)
* Calomel Rework (#73762)

## About The Pull Request
This transforms the Calomel now into a better version called Ammoniated
Mercury and brings the old Calomel back. Calomel purges all chemicals
again and Ammoniated Mercury purges toxins. Calomel deals toxin damage
until you have less than 100 health in which case it starts doing to
opposite. Ammoniated Mercury heals toxin damage if you do not have
enough brute or fire damage.

Paramedics now get a bottle of Ammoniated Mercury since it is the new
Calomel.
## Why It's Good For The Game
I always used to use Calomel back in the day to get rid of all
chemicals. Multiver does the same but has very weird conditions, so now
I split the old and new Calomel into two chemicals for both uses to
become available. I have never seen anyone use Calomel so now it can be
used to fix overdoses again.
## Changelog
🆑
add: Adds Ammoniated Mercury, a chemical to the game.
balance: Calomel now purges all chemicals again, and now Ammoniated
Mercury only purges toxins.
/🆑

* Calomel Rework

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
2023-03-14 01:58:17 +00:00
SkyratBot
a98484d624 [MIRROR] Adds Pinatas that can be purchased by cargo and clown operatives! [MDB IGNORE] (#19829)
* Adds Pinatas that can be purchased by cargo and clown operatives! (#73868)

## About The Pull Request

Pinata's drop various items when struck with a sufficiently powerful
weapon. This PR adds two types, a standard one which can be bought from
cargo which contains various candy items and a syndicate one which
contains both candy items and explosives purchasable by clown
operatives.

The pinata functionality is also a component so admins can turn any
structure/machine/mob into a pinata and customize the "candy" inside

Sprites by @ Mey-Ha-Zah animated versions by me
## Why It's Good For The Game

Adds a cute little celebration themed structure that can be bought by
players to accommodate a celebration based gimmicks or the party trait.
I think the options on things to do as a crew during a celebration are a
bit limited at present with most of the options being making/purchasing
food, activity wise the main example of a celebration item is pin the
tail on the corgi which is a bit uninteresting, the pinata on the other
hand is more cathartic and provides a "reward" in the form of various
candy items for people who participate in smashing it. I also think its
just funny to have clown operative gambling half their TC to try and get
explosives.
## Changelog
🆑 Mey-Ha-Zah & NamelessFairy
add: Added pinata crates to cargo, they contain various candy items. Fun
at parties.
add: Clown operatives can now purchase a weapons grade pinata, this
contains both candy and explosives. Still fun at parties.
admin: Admins can now turn players, mobs and objects into pinata's with
the new pinata component.
/🆑

* Adds Pinatas that can be purchased by cargo and clown operatives!

---------

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
2023-03-13 16:20:54 -07:00
SkyratBot
b5bfa4db46 [MIRROR] Resprites Donut Boxes [MDB IGNORE] (#19799)
* Resprites Donut Boxes (#73896)

## About The Pull Request
Resprites the donut boxes to look better. and to be more accurate since
the resprites of the actual donuts.

![image](https://user-images.githubusercontent.com/75904284/224395088-973270be-0664-41f0-8eb7-83990d5f8354.png)

![image](https://user-images.githubusercontent.com/75904284/224493041-3f347cb1-9ed7-4a25-83b2-a7791d1b9913.png)
Old sprite for reference

![image](https://user-images.githubusercontent.com/75904284/224493157-661ca228-8e96-45d2-aece-677f409b4e33.png)

![image](https://user-images.githubusercontent.com/75904284/224493176-f7f3ce75-564b-4f6b-972c-f18daacb9558.png)

## Why It's Good For The Game
I think it looks better, and it removes some very old sprites. Also
shifts the sprite to be in 3/4ths.
## Changelog
-Changes all sprites for the donut box, and relating to the donut box.
🆑
imageadd: Resprites Donut Box, and all sprites for donuts in it.
/🆑

* Resprites Donut Boxes

---------

Co-authored-by: kinnebian <75904284+kinneb@users.noreply.github.com>
2023-03-13 01:57:48 +00:00
SkyratBot
4912b160a8 [MIRROR] Removes bad nodamage var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage [MDB IGNORE] (#19768)
* Removes bad `nodamage` var from projectiles, fixes Juggernaut / Rust Walker projectiles doing zero damage

* wew

* Update drinks.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-11 04:19:58 +00:00
Gandalf
3d461fc097 [MANUAL MIRROR] [MIRROR] Rapid Wiring Device(RWD) (#72802) (#19758)
Rapid Wiring Device(RWD) (#72802)

Just a big roll of cable(7 stacks worth of cable) you carry around it
has the following features
1. Dual wield it and just walk across plating to lay new cable. Make
sure you wear insulated gloves
2. If you just have it in one of your hands it can pick up any stray
cable pieces lying around
3. Right click on it to dispense a custom amount of cable
4. Refill with cable
5. Alt click to change cable layer
6. Available in autolathe & engineering protolathe round start

https://user-images.githubusercontent.com/110812394/213224959-f393e849-2e0a-4314-ab0e-c10924cf8fce.mp4

1. Clean up cable pieces bitten by rats and lay fresh cable in
maintenance very quickly.
2. For big construction projects. Carrying one big roll of 7 stacks of
cable is much more storage efficient than carrying 7 separate stacks
individually.
3. For wiring Solars very quickly

Also, I'm pretty sure something like this exists in real life so why
not. It's just the rapid pipe cleaner but for cables.

🆑
add: Rapid wiring device
imageadd: Sprite for RWD
/🆑

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-03-10 07:27:13 +00:00
SkyratBot
a71c12248b [MIRROR] Wrapping paper fixes. [MDB IGNORE] (#19750)
* Wrapping paper fixes. (#73803)

## About The Pull Request

This, as the title suggests, fixes some wrapping paper bugs.

First, wrapping paper coloration has been rebound to Alt+click, so the
control doesn't conflict with extracting wrapping paper from a roll,
which is right click. Originally, both of them were on right click,
which caused problems.

Second, it fixes a problem with the greyscale icons on the gifts
themselves. They were showing up as the default gift icon, no matter
what color you selected, because the automatic path generation wasn't
set up properly. This fixes that.

Fixes #73800.

## Why It's Good For The Game

Bugs are bad, and we should try to fix them.

## Changelog
🆑
fix: Gifts you wrap will now display their greyscale colors as they're
supposed to.
fix: Wrapping paper color selection has been rebound to Alt+click, to
fix a bug where both wrapping paper color selection, and extracting
wrapping paper from a roll were both bound to right click.
/🆑

* Wrapping paper fixes.

---------

Co-authored-by: sergeirocks100 <31294280+sergeirocks100@users.noreply.github.com>
2023-03-10 06:49:15 +00:00
Gandalf
0d030f5cbc [MANUAL MIRROR] [MIRROR] https://github.com/tgstation/tgstation/pull/72290 (#19753)
* Turns miming into a trait instead of an unsightly mind boolean (#72290)

https://github.com/tgstation/tgstation/pull/72254 turned to be wildly
unpopular so i'm simplifying it and keeping only the important, code
backend stuff

makes the code gooder, makes mobs without a mind capable of miming (if
that becomes necessary for whatever reason)

Not player facing

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

* Update scream_emote.dm

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2023-03-10 06:42:19 +00:00
SkyratBot
fa7538b5dc [MIRROR] Adds the "Law panel", a control center for admins interacting with silicon laws [MDB IGNORE] (#19655)
* Adds the "Law panel", a control center for admins interacting with silicon laws

* Update admin_verbs.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:10:46 +00:00
SkyratBot
7432ea47f6 [MIRROR] Restores Slippery Spraycan (and Hellcan) [MDB IGNORE] (#19527)
Restores Slippery Spraycan (and Hellcan)

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 06:08:27 +00:00
SkyratBot
b3a9f971b8 [MIRROR] RCD build patches [MDB IGNORE] (#19393)
RCD build patches

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 05:22:28 +00:00
Gandalf
5816c48e9b [MANUAL MIRROR] [MIRROR] Some more RCD Designs & Patches (#72757) (#19752)
Some more RCD Designs & Patches (#72757)

Adds some more stuff you can build with the RCD
1. Under structures you can now build/deconstruct catwalks & construct
Reflector Frames. Destorying a catwalk will cut any cable on it leaving
pieces of it behind
![Screenshot
(92)](https://user-images.githubusercontent.com/110812394/212850493-b7a5d25a-dab5-42e4-bd56-8e7045023984.png)

2. If you have the frames upgrade you can construct APC, Air Alarm &
Fire Alarm frames on walls & Flood light fixtures[fully wired]. It only
creates the wall mount and sticks it on the wall. Wiring, Circuits and
finishing the frame is still your job
![Screenshot
(94)](https://user-images.githubusercontent.com/110812394/214264787-188c7783-473a-4f34-84c1-00ad73520f22.png)

3. If you have the furnishing upgrade you can create racks & beds &
additional bar stool
![Screenshot
(95)](https://user-images.githubusercontent.com/110812394/214264893-96b52fc9-1502-45af-bee3-724cce1935af.png)

**Important Code Refractors**
1. `/turf/closed/wall/proc/try_wallmount()` will return true only after
you have successfully mounted the wallframe or stuck an poster on it &
not simply check if you are trying to mount a valid thing on it
2. `apc_tool_act/rcd_act()` was incorrectly checking passed_mode for the
simple circuit upgrade and not the `the_rcd.upgrade `flag. Thats fixed
now to
3. newly created APC's weren't assigning themselves to their areas
allowing multiple to be created in one area. Thats fixed now
4. Walls, Airlocks & other stuff could be built on tiles having
something dense that would block it. For example a wall could be build
on top of a machine frame!!. Thats also fixed now

More stuff you can build rapidly with the RCD

🆑
add: more designs for the rcd
refactor:` try_wallmount()` to return true only after successful mount
fix: `apc_tool_act/rcd_act()` incorrecly checking for simple circuits
upgrade in the wrong variable
fix: newly created APC's not assigning themselves to their areas.
fix: rcd building structures [walls, airlocks etc] on turf's that
already have structures on them
/🆑

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-03-10 05:19:44 +00:00
SkyratBot
4cd00f275a [MIRROR] Faction defines [MDB IGNORE] (#19590)
* Faction defines

* fixes

---------

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:55:18 +00:00
SkyratBot
480745ce05 [MIRROR] Basic Mob Spiders III: Sgt. Araneus is no longer a bat [MDB IGNORE] (#19315)
* Basic Mob Spiders III: Sgt. Araneus is no longer a bat

* spooky scary spider

* Revert "spooky scary spider"

This reverts commit 7bcca7750390c7ba6aaa08760886eda524f600f8.

* resolve conflicts

* resolve conflicts

* https://github.com/tgstation/tgstation/pull/73724

https://github.com/tgstation/tgstation/pull/73724

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

* fixes

* wew

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthnthree <three@lessthanthree.dk>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:47:03 +00:00
SkyratBot
f8f2abb11f [MIRROR] Refactor, improve, and rename canUseTopic to be can_perform_action [MDB IGNORE] (#19391)
* Refactor, improve, and rename canUseTopic to be can_perform_action

* updoot

* https://github.com/tgstation/tgstation/pull/72876

https://github.com/tgstation/tgstation/pull/72876

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 04:19:25 +00:00
SkyratBot
88f8ef7adc [MIRROR] Netherworld Mobs Refractor [MDB IGNORE] (#19181)
* Netherworld Mobs Refractor

* Update statues.dm

* Update tgstation.dme

* w

---------

Co-authored-by: Comxy <tijntensen@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:44:53 +00:00
SkyratBot
a8758f9ab0 [MIRROR] Fix fancy boxes to fold like regular boxes [MDB IGNORE] (#19420)
* Fix fancy boxes to fold like regular boxes (#73406)

🆑 coiax
fix: Folding a "fancy box" like donut or candles will now put cardboard
in your hand, rather than on the floor.
fix: You can always see how many pickles are in a jar of pickles, or
rolling papers there are in a pack of rolling papers, since it's not
possible to close them.
/🆑

Currently, folding a "fancy box", one where the contents are visible in
the icon, like a donut or candle box, the cardboard will drop on the
floor.

The `attack_self()` proc between the two types of boxes have been
unified.

In addition, the `is_open` for fancy boxes has been expanded to include
the "always open" option, where the contents of the box are always
countable on examine, and the box does not have a closed appearance.
Candle boxes previously special cased the `attack_self()` proc, and with
this addition, no longer need to.

## Why It's Good For The Game

Consistency in box interaction. Cardboard in hand. Always can count
pickles.

* Fix fancy boxes to fold like regular boxes

* Update gunsets.dm

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:44:27 +00:00
GoldenAlpharex
c040ddb857 [MIRROR] A few records-related manual mirrors (so I don't have to deal with annoying conflicts) (#19588)
* Records: Clerical expansion (#73022)

A few changes to sec records geared towards making it obvious how and
why someone is wanted.

- You can no longer set someone to arrest via console unless they have a
valid prior.
- Setting players to arrest via HUD creates a crime entry for that
person.
- Priors can be edited by the author and qualified personnel (armory
access).
- Priors can be invalidated by qualified personnel. This redacts the
info from huds and rapsheets.
- Invalidating the last crime sets a player to discharged
- Much like real life, you can no longer outright delete crimes. This
prevents gaming the arrest system by adding/deleting.
- Deleting an individual record in a sec console removes it from the
manifest (@JohnFulpWillard) this was previous behavior
- Purging records in sec requires higher access

Have you ever brought a wanted person into the brig only to find there's
no reasons listed and no one in sec will explain why they're wanted?
🆑
fix: Deleting a sec record removes it from the manifest again
qol: It's now easier to see security notes via HUD.
qol: It's now easier to see why someone is set to arrest.
qol: Crime authors and armory access can edit crimes.
balance: Setting players to arrest requires a valid crime.
balance: Armory access can invalidate priors.
balance: Setting players to arrest via HUD creates a crime for the
suspect.
/🆑

---------

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

* Records hotfix [NO GBP] (#73363)

A remake of #73169
Repaths records consoles to their own subtype
Fixes some weirdness with observers logging into sec/med consoles
Fixes security notes not being able to be set etc

Bug fixes and cleaner code

🆑
fix: Security can set notes through consoles again
fix: Observers are now properly logged out of record consoles
/🆑

---------

Co-authored-by: Jeremiah <jlsnow301@pm.me>

* Fixes the map merge conflicts, hopefully.

* Fixes player created security records being unprintable for wanted/missing posters. (#73666)

## About The Pull Request

If a player created a security record during a round and attempted to
print it the printing process would runtime and result in the printer
being unusable.

As a side effect of fixing this I've discovered an annoying bug with
posters with them defaulting to the bottom left corner of a record. So
currently mugshot uploads has been restricted to 32x32 pixels with
approval from @jlsnow301 . Ideally at some point a player exposed photo
cropping system can be implemented to make it easier to create mugshots
using larger photos.

## Why It's Good For The Game

Fixes a bug.

## Changelog
🆑
fix: You can now create wanted/missing posters using player created
security records. Due to a visual bug and usability issue photos above 1
by 1 meters in size will no longer work for mugshots in records.
/🆑

* Fixes ui_data on ntosrecords [NO GBP] (#73670)

## About The Pull Request
Missed this while redoing records, this makes it match what the UI is
expecting
## Why It's Good For The Game
Bug fixes
## Changelog
🆑
fix: Fixes NTOS records program receiving bad medical disability data
/🆑

Co-authored-by: Jeremiah <jlsnow301@pm.me>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Updates all of our maps with the new records computer paths

* Actually I don't know where this came from but I think it'll fix the linters

* Okay now it should work properly, hopefully

* mapas

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Jeremiah <jlsnow301@pm.me>
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:42:52 +00:00
SkyratBot
a993ba2461 [MIRROR] Fix chef food ownership to follow mind [MDB IGNORE] (#19517)
* Fix chef food ownership to follow mind (#73600)

🆑 coiax
fix: A chef who is beheaded, and the head stitched on another body will
still see their food as their own.
/🆑

## Why It's Good For The Game

Having food ownership be based on the mind, rather than the mob, makes
it resilient to body-swap, mind-swap, podcloning (cloning!?),
situations. Because even though you may have been reduced to just a
head, that stew is still yours, you still made it.

* Fix chef food ownership to follow mind

---------

Co-authored-by: Jack Edge <yellowbounder@gmail.com>
2023-03-10 02:41:30 +00:00
SkyratBot
7f29afc8ec [MIRROR] Refactors species mutanthands into human component [MDB IGNORE] (#19355)
* Refactors species mutanthands into human component

* wew

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-03-10 02:39:41 +00:00