Commit Graph

1898 Commits

Author SHA1 Message Date
SkyratBot
39dedb52a0 [MIRROR] Improves jousting and gives it to more weapons [MDB IGNORE] (#22184)
* Improves jousting and gives it to more weapons (#76321)

## About The Pull Request

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

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

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

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

## Why It's Good For The Game

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

## Changelog

🆑
balance: Jousting now works on anything you're buckled to, not just
Cyborgs.
balance: Brooms, Pitchforks, the Captain's Sabre, and Energy swords can
now be used for jousting.
balance: Spears need to travel a longer distance to joust now.
balance: Jousting's knockdown and damage now only gets stronger after
you've traveled the minimum tiles needed to joust.
/🆑

* Improves jousting and gives it to more weapons

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-07-03 17:41:21 -04:00
SkyratBot
02e36ec18e [MIRROR] Expanding the Experimental MODsuit Bepis Node with three new modules. [MDB IGNORE] (#21851)
* Expanding the Experimental MODsuit Bepis Node with three new modules. (#75801)

## About The Pull Request
So, I've had this idea to make a contribution to the Bepis feature with
some modsuit stuff. The gimmicky stuff is ok and a good way to even out
the better content since it has game of chance design it has (you can
find those disks in space anyway so...). However, the Experimental
MODsuit node feels very underwhelming right now, compared to how big
that feature is.

This PR adds three MOD modules to the Experimental MODsuit node, plus
two more:
- Magneto Charger: While the Modsuit is activated, each step the user
takes will charge the installed power cell by a tiny bit, enough to
sustain a standard modsuit of generic slow speed with only a few, easy
modules installed. It won't work in zero G, while flying, pulled by
someone else, on a conveyor belt, riding a vehicle or crawling on the
floor, though.
- Recycler: It collects (most) garbage and casings off the ground and
recycles them into material sheets that can be dispensed on an adjacent
location or storage with with Middle Mouse Button. Doesn't clean debris,
and scuffed because most trash doesn't yield material anyway.
- - It also has two subtypes, unbound from the node: one that dispenses
riot foam darts and can be found on the black market, and another that
dispenses the more innocuous foam darts, rarely found in maints.
- Shooting Assistant: A configurable module. On Stormtrooper mode, it
will give the user a faster fire rate (the double tap trait) at the cost
of accuracy. On Sharpshooter mode, it will improve the user accuracy and
make their shots ricochet against walls at least once (if the hit atom
allows that, that is, e.g. lasers don't ricochet against iron walls), at
the cost of movement speed. Both modes also prevent the user from dual
wielding guns.

To make the Stormtrooper mode stackable with the poor aim quirk and
refrain from making a new trait for the sharpshooter mode, the gun
spread code in gun.dm has also received a little refactor and cleanup.
Also, it's been tested.

## Why It's Good For The Game
The Experimental MODsuit node is quite shabby and could use something
extra to make it more appealing to MODsuit enjoyers.

Also doubles down as a small addition to the black market and maint
loot, and code cleanup, since gun code gives off some garbled vibes.

## Changelog

🆑
add: Expanded the Experimental MODsuit Bepis node with three new
modules: Magneto Charger, Recycler and Shooting Assistant.
add: Added a Riot Foam Recycler module to the black market, as well a
more innocuous version as maint loot.
/🆑

* Expanding the Experimental MODsuit Bepis Node with three new modules.

* update modular, I hate this file btw

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-07-01 14:21:47 -04:00
SkyratBot
f485737ea1 [MIRROR] Eating from floor may cause disease [MDB IGNORE] (#22151)
* Eating from floor may cause disease

* Update turf.dm

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-07-01 01:30:17 -07:00
SkyratBot
9ac12f0f60 [MIRROR] Maptext 2023 tweaks [NO GBP] [MDB IGNORE] (#22149)
* Maptext 2023 tweaks [NO GBP] (#76397)

## About The Pull Request

- In PR https://github.com/tgstation/tgstation/pull/76356 missed a few
bits of maptext around, such as shuttle signs and the supermatter. Small
text adjustments/fixes here.
- Large amount of feedback about the context tooltips. Increases size,
lightens default color as to not be too imposing.

🆑 LT3
qol: Context tooltip size increased
fix: Fixed remnants of old maptext code on various things
/🆑

* Maptext 2023 tweaks [NO GBP]

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-29 23:56:47 -07:00
SkyratBot
86538a8356 [MIRROR] Mind link speech displays symbols correctly [MDB IGNORE] (#22069)
* Mind link speech displays symbols correctly (#76290)

Closes #71991
Removes a call to sanitize() in mind linker code because tgui_input_text() already sanitizes input by default, symbols now display correctly

* Mind link speech displays symbols correctly

---------

Co-authored-by: cnleth <113535457+cnleth@users.noreply.github.com>
2023-06-27 20:41:25 -07:00
SkyratBot
5801897271 [MIRROR] Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible [MDB IGNORE] (#22044)
* Glass bottles with reagents can be used for crafting, empty ones will be used as tools if possible (#76259)

## About The Pull Request
Fixes #76250

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

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

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

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

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

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-06-27 19:56:30 -07:00
SkyratBot
132c1d2882 [MIRROR] Changes food storage to use a right-click instead of a left-click, adds context hints [MDB IGNORE] (#21979)
* Changes food storage to use a right-click instead of a left-click, adds context hints (#76110)

What it says on the tin. Currently, if you left-click a cake or bread
with anything small enough (including a knife) you store it inside and
have to remove it to actually use it. Now it uses a right-click which
makes significantly more sense because you're almost always going to be
trying to cut the piece of food and not embedding an object into it and
left-click actions should ideally be "what you're most likely to be
doing with the object 99% of the time".

Also adds context tips for slicing, embedding, and removing embedded
items. It'll always give a prompt to remove an item even if there isn't
one, so there's no concern about it giving away that something is
inside.

* Changes food storage to use a right-click instead of a left-click, adds context hints

---------

Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
2023-06-23 16:14:52 -07:00
SkyratBot
8e3d901049 [MIRROR] [NO GBP] Patches for material container [MDB IGNORE] (#21963)
* [NO GBP] Patches for material container (#75747)

**1. Meat hook**
#75422 gave auto lathe's the ability to consume an item AND it's
content's recursively so the autolathe can display multiple messages if
it founds item's in that object content's which it will also recycle.
This might catch player's off guard as they would not have expected that
item to contain other stuff inside it so now the auto lathe(and any item
implementing material container component) will display that item name &
it's material worth being consumed.

**New Format.**
Here i inserted 3 item's
1. Shotgun
2. Foam Box Riot(full ammo inside)
3. Stack of iron

The red line indicates where one item end's and the other one begin's.
Notice how every part of the shotgun(it's bean slugs and even it's
firing pin) are consumed and the same for the ammo box(the box + 40 of
it's bullets)

**2. Tentacle Gun**
this is an abstract item
So even though the auto lathe understood that & didn't touch it, it
still tried to consume it's contents leaving behind an non functional
tentacle gun.

Now it will early return if the item is an hologram/abstract and won't
touch any of that item's content's

**3. Other Patches**
- Indestructible item's inside an item's content's are not consumed but
forced moved out
- the total material worth of the item & it's contents are calculated
and we check if there is enough space for all of them before we attempt
to insert. This is important so we don't break an object by consuming
only some of it's contents and leaving out the rest

* [NO GBP] Patches for material container

---------

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

## About The Pull Request

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

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

Removed unused code in the process

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

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

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

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

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

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

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

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

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

---------

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

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

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@ hotmail.com>
2023-06-23 16:06:45 -07:00
SkyratBot
8f2c771b5f [MIRROR] Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do. [MDB IGNORE] (#21953)
* Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do. (#76020)

Changed hardcoded matter bins values to use defined
`SHEET_MATERIAL_AMOUNT` for following stuff: autolathe, protolathe, mech
fabricator and component printer.

`Material Access Bar` and `MaterialIcon` used for protolathes, circuit
printers and etc. now also use defined `SHEET_MATERIAL_AMOUNT`, via
static ui data, to prevent same issues in future.

Also changed some notes in /// parts just because why not.

* Autolathe, protolathe, mech fab and comp printer now use defines for matter bins values. Also some production ui do.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2023-06-23 15:34:52 -07:00
SkyratBot
85203fcc2f [MIRROR] Fixes and adds an element for TC reimbursement. [MDB IGNORE] (#21950)
* Fixes and adds an element for TC reimbursement. (#75816)

## About The Pull Request

Fixed being unable to reimburse syndicate spawners via uplinks. This
includes nukie reinforcements, cyborgs, and holoparasite injectors.

Turned TC reimbursement into a bespoke element.

Tuned demon's blood message when there's no ghosts to pick to be a
little more understandable and sensible.

## Why It's Good For The Game

> Fixed being unable to reimburse syndicate spawners via uplinks. This
includes nukie reinforcements, cyborgs, and holoparasite injectors.

This bug was, to my knowledge, introduced with bubby traitors when
uplinks were turned into components, as the code no longer supported it
due to what I presume to be an oversight, since there's plenty of
references to it ingame still.

> Turned TC reimbursement into a bespoke element.

Seemed like the best way of doing this. Since for some godforsaken
reason attackby() is one-way only (no attackto() ), the uplink component
sends a signal to any item hit with it instead.

## Changelog

🆑
fix: Fixed being unable to reimburse syndicate spawners via uplinks.
This includes nukie reinforcements, cyborgs, and holoparasite injectors.
refactor: Turned TC reimbursement into a bespoke element.
spellcheck: Tuned demon's blood message when there's no ghosts to pick
to be a little more understandable and sensible.
/🆑

* Fixes and adds an element for TC reimbursement.

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-06-23 15:33:48 -07:00
SkyratBot
60e1129616 [MIRROR] Fix cyborg autofire [MDB IGNORE] (#22005)
* Fix cyborg autofire (#76240)

## About The Pull Request

Nothing implies this has to be an `iscarbon` check anywhere

Closes #76211

## Changelog

🆑 Melbert
fix: The Syndicate Assault Cyborg can autofire their LMG
/🆑

* Fix cyborg autofire

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-06-23 15:51:34 +01:00
SkyratBot
529b8b4464 [MIRROR] Lighting object oddities [MDB IGNORE] (#21945)
* Lighting object oddities (#76009)

## About The Pull Request

Fire stacks status effect no longer uses a weakref for the mob light, I
am pretty sure there was no real reason to use a weakref there.
Deleted weird luminescent glow dummy, now it just uses the standard
moblight obj.
Put all /obj/effect/dummy/lighting_obj together in a single file and
added a comment explaining why they exist.

(I severely dislike the /obj/effect/dummy typepath, but I am very much
unsure if just replacing all of them with /obj/effect/abstract would
break shit)

## Why It's Good For The Game

Code organization good

* Lighting object oddities

* Update kindle.dm

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-20 14:06:48 -07:00
SkyratBot
a863e7787d [MIRROR] Unit tests now catch decals in walls/space [MDB IGNORE] (#21862)
* Unit tests now catch decals in walls/space

* the fuck

* vr

* vr

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-06-20 10:28:46 -04:00
SkyratBot
bcb7bcc5c5 [MIRROR] Food gets stink lines when about to go rotten [MDB IGNORE] (#21925)
* Food gets stink lines when about to go rotten (#76038)

## About The Pull Request

Title says it all, food that decomposes gets stink lines halfway
through.

![image](https://github.com/tgstation/tgstation/assets/82850673/ae90220c-4b27-49dd-873a-6f349055f891)

![image](https://github.com/tgstation/tgstation/assets/82850673/c982055d-ed69-4935-bda5-7851836fad2c)

Moldy messes always gets stink lines.

## Why It's Good For The Game

1. It's funny
2. It's a visual indicator for food going bad which is kinda nice

## Changelog

🆑
add: Food now gets stink lines when going bad. Uh oh, stinky.
/🆑

---------

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

* Food gets stink lines when about to go rotten

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-06-19 17:34:53 -04:00
SkyratBot
4a451d4e24 [MIRROR] Removes some boilerplate from transforming component [MDB IGNORE] (#21885)
* Removes some boilerplate from transforming component

* conflicts

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-19 17:14:10 -04:00
SkyratBot
e10c569414 [MIRROR] Acid particles (+unsorted acid/burning/thermite component changes) [MDB IGNORE] (#21874)
Acid particles (+unsorted acid/burning/thermite component changes)

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 15:19:40 +00:00
SkyratBot
b416eaa605 [MIRROR] Burner can be crafted from any open container [MDB IGNORE] (#21832)
* Burner can be crafted from any open container (#75978)

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

## About The Pull Request

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

## Why It's Good For The Game

Makes ghetto recipe a bit more ghetto-friendly

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

* Burner can be crafted from any open container

* null modular icon

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 16:04:02 +01:00
SkyratBot
7bac58e2fc [MIRROR] Renames COMSIG_ITEM_ATTACK_OBJ to COMSIG_ITEM_ATTACK_ATOM [MDB IGNORE] (#21916)
* Renames COMSIG_ITEM_ATTACK_OBJ to COMSIG_ITEM_ATTACK_ATOM

* conflicts

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 14:51:14 +00:00
SkyratBot
6dfe17306c [MIRROR] Pulls apart the vestiges of components still hanging onto signals [MDB IGNORE] (#21738)
* Pulls apart the vestiges of components still hanging onto signals

* update modular

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2023-06-18 13:18:23 +00:00
SkyratBot
06b9606beb [MIRROR] Fixes stowing suit storage jetpacks when retracting modsuit chestplates [MDB IGNORE] (#21888)
* Fixes stowing suit storage jetpacks when retracting modsuit chestplates (#75844)

## About The Pull Request

This is a bizare bug I discovered while trying to develop another
feature, so let's just get into the reproduction steps:
- Wear a modsuit and extend it's parts
- Put a jetpack in the suit storage slot and turn it on. Currently, the
only jetpack that fits in the storage slot on TG is the captain's
jetpack.
- While the jetpack is activated, deactivate your modsuit using the UI,
which stows the jetpack into your storage module automatically.
- This fails to unregister some signal thing because it can't find the
user.

My fix *could* be shitcode, so any feedback would be appreciated.

Jetpack activation and deactivation signals now pass a user.
`/datum/component/jetpack/proc/activate(datum/source, mob/user)`
`/datum/component/jetpack/proc/deactivate(datum/source, mob/user)`

Some jetpack `pre_move_react` thing now has a check to see if it's
argument is null.
```
if(!trail)
	return FALSE
```

## Why It's Good For The Game

Stops a crash/runtime.
## Changelog
🆑 stonetear
fix: jetpack signals now pass a user argument. This fixes an error when
automatically stowing a captain jetpack into your modsuit.
/🆑

* Fixes stowing suit storage jetpacks when retracting modsuit chestplates

---------

Co-authored-by: Stonetear <89315023+Stonetear@users.noreply.github.com>
2023-06-18 14:03:59 +01:00
SkyratBot
8b7bdc4959 [MIRROR] Shuttle events [MDB IGNORE] (#21917)
Shuttle events

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-18 15:02:04 +02:00
SkyratBot
e495d90e55 [MIRROR] Plasma flower MOD core from the lavaland patch of eden ruin [MDB IGNORE] (#21824)
* Plasma flower MOD core from the lavaland patch of eden ruin

* Fixes the merge conflict

* Okay, keep your secrets

---------

Co-authored-by: Nick <42454181+Momo8289@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-06-17 11:08:09 -04:00
SkyratBot
9706be5b93 [MIRROR] fix comment in ECS/DCS [MDB IGNORE] (#21733)
* fix comment in ECS/DCS (#75912)

* fix comment in ECS/DCS

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2023-06-15 00:20:13 -07:00
SkyratBot
5807f593f4 [MIRROR] Heretic runes are easier to click through and have a windup for clearing them [MDB IGNORE] (#21852)
* Heretic runes are easier to click through and have a windup for clearing them (#75868)

Heretic runes no longer have every single transparent pixel set to 1
alpha, to make it easier to click on objects.

Clearing heretic runes with mansus grasp takes 0.4 seconds of standing
still, to prevent you from accidentally clearing it in combat.

Added code for effect remover element to use a windup if set.

* Heretic runes are easier to click through and have a windup for clearing them

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
2023-06-14 21:40:17 -07:00
SkyratBot
df7455f2a4 [MIRROR] Named barrels [MDB IGNORE] (#21850)
* Named barrels (#75976)

![dreamseeker_qLlw7wAl94](https://github.com/tgstation/tgstation/assets/3625094/747f61a0-533f-4cc2-ac61-2901d2d3afb4)

## About The Pull Request

Barrels are nice stationary reagent containers, but it's hard to use
many of them because they're non-transparent and to see the reagents
with science glasses, you need to open the lid.

Now you can name barrels to not mistake them.

## Why It's Good For The Game

You don't need to open the barrel to figure out what you're going to get
from the tap.

## Changelog

🆑
qol: You can name barrels with a pen now, changing its icon
/🆑

* Named barrels

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
2023-06-14 21:39:09 -07:00
SkyratBot
7537ed425e [MIRROR] Assistants get a liver trait + Officer's sabre banes against them [MDB IGNORE] (#21763)
* Assistants get a liver trait + Officer's sabre banes against them (#75933)

## About The Pull Request

Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.

The officer's sabre has gained a small amount of bloodthrist for
assistants!

Fixed liver masters being unable to inspect the liver of scientists.

## Why It's Good For The Game

> Assistants get a new liver trait, maintenance metabolism. This trait
only lets them process maintenance drugs, grey bull, and pump-up for 20%
more time and gives them a probably-positive 2 minute moodlet when
ingesting these.

This trait is pretty much entirely here for the actual
liver-identification of assistants the sabre uses, though I didn't want
to just add an empty trait so I gave it the above effects as pretty damn
harmless effects. I'm sure the maints will dislike even this so I'm open
to anything.

> The officer's sabre has gained a small amount of bloodthirst for
assistants! Or at least their livers.

I find the concept of the sabre having a bane against assistants
amusing, and it wouldn't hurt to give them something that may help
against tiders. As a smidgen of fairness, the detection is tied to the
liver - if they want to take less damage they can have it replaced,
though the captain can also help with that by disemboweling organs. The
liver being used for something that isn't reagents processing might be a
bit controversial, but like I said, I'd rather have that than have it
permanently, intrinsically tied to a job.

> Fixed liver masters being unable to inspect the liver of scientists.

Ballmer metabolism quacks like a duck, traits like a duck, and thus
should be able to be duck inspected by the duck master, since there is
no practical difference between it and other 'official' metabolisms.

## Changelog

🆑
add: Assistants get a new liver trait, maintenance metabolism. This
trait only lets them process maintenance drugs, grey bull, and pump-up
for 20% more time and gives them a probably-positive 2 minute moodlet
when ingesting these.
add: The officer's sabre has gained a small amount of bloodthrist for
assistants!
fix: Fixed liver masters being unable to inspect the liver of
scientists.
/🆑

---------

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

* Assistants get a liver trait + Officer's sabre banes against them

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
2023-06-10 19:43:38 -07:00
SkyratBot
ff12ce83f4 [MIRROR] Late adjustments to my previous move_loop PR. [NO GBP] [MDB IGNORE] (#21730)
* Late adjustments to my previous move_loop PR. [NO GBP] (#75778)

## About The Pull Request
Lemon guy was a bit too late in reviewing #75732 because it got already
merged by someone else, and I too hadn't managed to make some adjustment
to that PR in time.

This PR applies suggested changes, turns a simple proc into a macro, and
makes it so that also waddling, squeaky shoes and swivel chair sounds
don't running when moved by conveyor belt.

This doesn't stop squeaking from happening when other
conveyor-belt-moved objects or mobs cross its tile. That'd be hacky and
I'm not here to fight sfx-spamming machines.

## Why It's Good For The Game
These are changes that should have been included in #75732 but couldn't.
See that PR for the general idea.

## Changelog

🆑
fix: waddling, squeaky shoes and swivel chair sound effects no longer
run when moved by conveyor belt.
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>

* Late adjustments to my previous move_loop PR. [NO GBP]

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@ users.noreply.github.com>
2023-06-10 19:27:42 -07:00
SkyratBot
fd20f69744 [MIRROR] Being moved around by conveyor belt or tram no longer plays footsteps and wheelchair sounds. [MDB IGNORE] (#21562)
* Being moved around by conveyor belt or tram no longer plays footsteps and wheelchair sounds. (#75732)

## About The Pull Request
More or less a triviality, currently footstep/wheelchai sounds are
played even when the mob is moved by a conveyor belt, or riding the
tram. This PR puts an end to that.

To clarify, this doesn't stop these sounds from being played if you're
walking/running/rolling along or against a belt, or inside the tram.

But more than that, I made this PR because, afaik, we don't have a good
way to tell if a given movement proc chain was caused by a move loop or
not, and I need one for something I'm working on. This is more of an
implementation and reason for this PR to be made.

Tested, no issue. Waiting for a review, specially from @ LemonInTheDark,
since they're the mind behind the movement loop code. Hopefully I'm
right saying what I said.

## Why It's Good For The Game
This fixes a consistency issue (if it can be called such) and the lack
of a simple way to tell if a movable is being moved by a move loop
outside of its own code.

## Changelog

🆑
fix: Being moved around by conveyor belt or tram no longer play
footsteps and wheelchair sounds.
/🆑

* Being moved around by conveyor belt or tram no longer plays footsteps and wheelchair sounds.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-06-07 09:00:24 -07:00
SkyratBot
c4a58bb0c6 [MIRROR] Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars [MDB IGNORE] (#21679)
* Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars (#75769)

## About The Pull Request

[Improves the documentation of DCS lists, removes old list of callback
docs that no longer
apply](c3821d9f5f)

[Adds a second signal register to decal rotating, adds a trait to
objects under a tile. STOP DIRECTLY READING HIDDEN LISTS I SWEAR TO
GOD](6b3f97a76a)

[Removes direct reads of the timer list, they were redundant
mostly](14fcd9f8a6)

[Please stop directly reading/modifying the traits list to ensure your
dna rot follows the
brain](ec0e5237ec)

[Marks internal datum lists as well internal with
_](57c6577ff6)

[57c6577](57c6577ff6)

Does the same to _clear_signal_refs() in hopes of keeping people from
touching it

## Why It's Good For The Game

They pissed me off.

Users should not be touching these lists, especially in ways that make
assumptions about their structure and are thus prone to breaking if that
ever changes.
Most of these are close to zero cost changes, using a wrapper to solve
the problem, or just yeeting it

Two aren't, Decals with a direction have gained a second signal register
on init, and things that sit underfloor (cables/pipes) now get a trait
when inserted there.

This should have a minimal impact on memory/init time, bugging
@ Mothblocks about it just in case

* Cleans up/renames as private some internal var definitions, removes some fucked uses of internal list vars

* fix

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-07 15:10:42 +00:00
SkyratBot
61955eb235 [MIRROR] Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe [MDB IGNORE] (#21704)
* Fixes crafting using tool implants eating the implant if the tool is part of the crafting recipe (#75813)

## About The Pull Request

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

fixes: #74081

## Why It's Good For The Game

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

## Changelog

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

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

---------

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

## About The Pull Request

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

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

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

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

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

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

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

 To turn this on see the last section

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

Also printable in autolathe

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

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

Hot Stuff

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

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

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

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

---------

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

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

---------

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

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

* Adds a crafting recipe for the atmospherics gas mask.

---------

Co-authored-by: Pickle-Coding <58013024+Pickle-Coding@users.noreply.github.com>
2023-06-07 16:38:31 +02:00
SkyratBot
19d04376e6 [MIRROR] Refactors chicks into basic mobs [MDB IGNORE] (#21602)
* Refactors chicks into basic mobs (#75663)

## About The Pull Request

On the tin. They have pretty much nothing in common with chickens, so no
subtyping. They are in the same folder to keep that whole thing tidy,
though.

Also includes fixes to `growth_and_differentiation` element that I made
for spiderlings, since some stuff was yorked without me realizing. It
pretty much worked flawlessly for these chicks otherwise though. It all
works fine now.
## Why It's Good For The Game

More verbose naming scheme (instead of "holo", we get "permanent"
chicks), smarter AI for chicks, knocks them off the list, etc. etc.

One thing that I wanted to do was to have chicks recognize their mother
(if they had one), but that would be way out of scope for this simple
port PR. I'll dwell on adding something cool for that in the future.
## Changelog
🆑
refactor: Chicks are now a bit smarter, be careful not to squish them!
/🆑

Let me know if the whole "COMPONENT_KILL" thing is cringe, I couldn't
figure out a better way to do it without abusing `GetComponent()` to
`qdel()` it that way.

* Refactors chicks into basic mobs

* fix

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: ghost sheep <sheepwiththemask@gmail.com>
2023-06-07 13:58:53 +00:00
SkyratBot
33adb63d55 [MIRROR] Re-pr of #70522 "Space Dragon Update: Up Close and Personal" [MDB IGNORE] (#21553)
* Re-pr of #70522 "Space Dragon Update: Up Close and Personal"

* Update mind_linker.dm

* Update hivemind.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-06-05 20:56:31 -07:00
SkyratBot
de4f2add68 [MIRROR] Mafia update: Return to body when the game ends [MDB IGNORE] (#21669)
* Mafia update: Return to body when the game ends (#75258)

## About The Pull Request

Mafia players are now sent to their last body when the Mafia game ends,
and in the meantime they have text saying why they are dead.
They can still be revived during this period, and when the game is up
they'll be forced back into their body if alive, if they are dead then
they'll just be able to re-enter their corpse as normal.

Also since I was poking around in Mafia stuff:
- I removed mafia observing because it was unused (this previously was
used to allow ghosts to see Changeling chat).
- I fixed it being a Draw when there was one Town or Changeling left.
- I fixed the role list showing some roles multiple times
- I fixed the Chaplain not being able to use their night ability (and
therefore being completely useless)
- I added prevention to prevent Admins from causing runtimes or straight
up crashing the server, with a very real chance it can happen purely by
accident, through the Admin UI.

I'm hoping to change how this actually does the job because I find it to
be very bad coding practices, but my problem is that everyone who signs
up for Mafia is a ghost, and they are added into the game through their
CLIENTS, so we don't have access on the mafia controller or the role, to
the player's previous body or mind, without this shit.

Also adds a new mafia board icon

Made by tatax and I find it fits more the theme of Mafia than the
current one.

New UI

* Mafia update: Return to body when the game ends

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-06-05 14:22:20 -07:00
SkyratBot
f7d35bc80d [MIRROR] Stops shields getting broken by pillows and disablers. [MDB IGNORE] (#21588)
* Stops shields getting broken by pillows and disablers. (#75759)

## About The Pull Request
See the title. Doing so by adding a new arg for damage type to
`check_shields()` and `hit_reaction()`. The other way would had involved
a couple istype checks for item or projectile damage type, but this is a
longer term solution and can tackle more than just that.

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

## Changelog

🆑
fix: Stops shields getting broken by pillows and disablers.
/🆑

* Stops shields getting broken by pillows and disablers.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-06-02 21:36:53 -07:00
SkyratBot
24552f5f95 [MIRROR] Refactors for material container, ammo box & recycler [MDB IGNORE] (#21519)
* Refactors for material container, ammo box & recycler

* Mirror!

* Modular!

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 16:24:54 -07:00
SkyratBot
02e3251f84 [MIRROR] Makes gasses use defines [MDB IGNORE] (#21492)
* Makes gasses use defines

* Mirror!

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2023-06-01 15:24:31 +12:00
SkyratBot
34a15461b5 [MIRROR] Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item [MDB IGNORE] (#21501)
* Fixes some missing textures on the labcoat suit storage + makes the paper hat a craftable item (#75681)

## About The Pull Request

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

fixes: #69504

## Why It's Good For The Game

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

## Changelog

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

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

---------

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

## About The Pull Request

**1. Rolling Pin Icon Fix**

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

The problem was with the text

`#define TOOL_ROLLINGPIN "rolling pin"`

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

Fixes #75525

**2. Basketball Hoop Icon Fix**

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

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

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

* Fix broken icons in the crafting menu

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2023-05-26 09:06:32 -07:00
SkyratBot
7dad8c75ca [MIRROR] Adds a eye-dropper right-click function to the painting canvas. [MDB IGNORE] (#21411)
* Adds a eye-dropper right-click function to the painting canvas. (#75571)

## About The Pull Request
Having used the painting UI to kill some time during long rounds for a
decent chunk of the past year, the need of a quicker and less tedious
way to fix a misclick or mistake like drawing over the wrong pixel has
become clear to me, as well as getting some feedback on the palette
component I made last year.

As the title suggests, this PR adds an eye-dropper function to the
canvas. Right-Click a pixel on the canvas, and the painting tool will
copy its color. Simple as, works on both finished and unfinished
paintings.

As a bonus, you can also right-click one of those selectable
white/colored squares on the color scheme near the bottom of the UI (if
using spraycan/palette) to change its color without having to go back to
main game window and a radial menu.

EDIT: With the tooltip added to the UI, I can say it's ready.

## Why It's Good For The Game
This PR aims to add better options to change colors on the go and
improve the user experience on the painting UI.

## Changelog

🆑
qol: Adds a eye-dropper-like right-click function to the painting canvas
UI. Right-Click a pixel on the canvas while holding a painting tool to
have it copy its color.
qol: Also adds a right-click function to the color palette at the bottom
of the UI to allow users to set its colors without having to alternate
between the game window and the UI.
qol: Lastly, a tooltip has been added near the top-left corner of the
same UI to let players know of these features.
/🆑

* Adds a eye-dropper right-click function to the painting canvas.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-05-25 17:24:49 -07:00
SkyratBot
e2c2ee5eb7 [MIRROR] Reworks gym equipment [MDB IGNORE] (#21300)
* Reworks gym equipment (#75389)

## About The Pull Request

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

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

Video demonstration

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

## Why It's Good For The Game

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

## Changelog

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

---------

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

* Reworks gym equipment

* updatepaths

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-23 16:03:21 +00:00
SkyratBot
7415526265 [MIRROR] You can tip flashed borgs [MDB IGNORE] (#21339)
* You can tip flashed borgs (#75539)

## About The Pull Request

Fixes tippable not working on flashed mobs by letting it work on those
who are forced standing even if they aren't conscious, then gives that
trait to borgs.
I thought this would be the best fix for it because borgs technically
are just forced standing anyways, and I didn't want to just add an
issilicon check.

## Why It's Good For The Game

Fixes an old bug that I should've fixed a long time ago, makes tipping
something that can realistically happen in-game.

## Changelog

🆑
fix: Borgs can be tipped over while flashed.
/🆑

* You can tip flashed borgs

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-05-21 22:49:08 -07:00
SkyratBot
0391d4b7b2 [MIRROR] Cursed quirk doesn't go away after triggering a single time [MDB IGNORE] (#21271)
* Cursed quirk doesn't go away after triggering a single time (#75477)

## About The Pull Request

Fixes #75471
Someone added some optional initialise arguments and forgot to make an
important one optional, leading to it always setting the "permanent"
value to "null", which of course evaluates falsily to FALSE.

## Why It's Good For The Game

If you take this quirk you _want_ to be repeatedly pulverised by vending
machines until your skull pops. We shouldn't deny people their agency.

## Changelog

🆑
fix: The Cursed quirk will once more plague you with bad luck for your
entire shift rather than just once.
/🆑

* Cursed quirk doesn't go away after triggering a single time

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-05-20 22:22:58 +01:00
SkyratBot
6c9be73f51 [MIRROR] Adds TTS to the game. Players can select their own voices in preferences. [MDB IGNORE] (#21232)
* Adds TTS to the game. Players can select their own voices in preferences.

* [SEMI-MODULAR] [MIRROR FIX] Fixes the TTS PR. (#21267)

Fixes the TTS PR.

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2023-05-19 01:47:19 +01:00
SkyratBot
58ccdc909d [MIRROR] Makes elder atmosian statue craftable [MDB IGNORE] (#21261)
* Makes elder atmosian statue craftable (#75475)

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

---------

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

* Makes elder atmosian statue craftable

---------

Co-authored-by: RealityOverseer <76832653+RealityOverseer@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2023-05-18 19:03:19 +02:00
SkyratBot
9f3909a809 [MIRROR] Blobs and Kudzu are killed by chasms. [MDB IGNORE] (#21252)
* Blobs and Kudzu are killed by chasms. (#75469)

## About The Pull Request

Fixes #75451
Originally I just whitelisted them because they're structures that are
supported by their surroundings... but there's still the theoretical
scenario where it has expanded over a reasonably large chasm and then
becomes almost impossible to remove because you can't easily get at the
ones in the middle, and it would be "levitating" after you cut off
everything around the edge.

So instead this adds a trait which restores the original behaviour of
chasms where they delete stuff which falls into them and applies it to
Blobs and Kudzu.

## Why It's Good For The Game

It's a very niche scenario but "expanding structure falls into abstract
chasm storage" causes issues where it potentially keeps processing in
there and there isn't much you can do about it.
Maybe there's other stuff that commonly falls into chasms we'll decide
that we want to delete instead of keeping in pools now that you can just
slap a trait onto something to do it, future consideration.

## Changelog

🆑
fix: Blob and Kudzu tiles which expand into chasms will now be correctly
destroyed by the chasm.
/🆑

* Blobs and Kudzu are killed by chasms.

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-05-18 18:59:37 +02:00
SkyratBot
d3f2386664 [MIRROR] Bible refactor [MDB IGNORE] (#21190)
* Bible refactor

* Delete book.dm

* updatepaths

* you're meaning to tell me i have to edit CODE??

---------

Co-authored-by: ChungusGamer666 <82850673+ChungusGamer666@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
2023-05-16 09:34:10 -04:00
SkyratBot
6574eb3faa [MIRROR] Sign language Fixes & Spellcasting, just for fun [MDB IGNORE] (#21144)
* Sign language Fixes & Spellcasting, just for fun (#74768)

Fixes #72165
First PR, first-time coder, this might be a doozy but _hopefully_
everything is fine.

## About The Pull Request

This fixes signers being able to speak with sign language while cuffed
or emotemute, bringing the feature back to how it was initially
intended.

This also fixes signers only being able to sign spells based on their
ability to speak. Before this PR, signers could cast spells with sign
language, but it was dependent on their ability to speak with their
mouth, allowing them to sign spells even if they would not be able to.
Instead, it has been changed to work so that one can sign spells only
when both of their hands are completely empty.
## Why It's Good For The Game

First of all, signers should probably not be able to speak when cuffed
or emotemute, I'm not sure when this broke but somewhere along the lines
it did and this is simply bringing it back to how it was supposed to be.

Second of all, spells were created long before sign langauge (I believe,
don't quote me on that), but sign language is just another language and
still can communicate the same. Furthermore, signing spells instead of
speaking them is overall more difficult to work with given the fact that
it won't work if you are holding items, restrained, have a limb disabled
or amputated, or are emotemuted. The one benefit that sign language
provides is being able to sign when otherwise mute, but this only really
applies in select cases. I feel the downsides definitely outweigh the
upsides in this case, and it will be more of a gimmick so that mute
players can still play antags like heretic.

* Sign language Fixes & Spellcasting, just for fun

---------

Co-authored-by: Sylvette <96358436+SylvetteSylph@users.noreply.github.com>
2023-05-15 14:10:22 +01:00