Commit Graph

436 Commits

Author SHA1 Message Date
SkyratBot
2a355aeed2 [MIRROR] Ice cream now gives a chilling food effect (plus small food haste buff) (#26914)
* Ice cream now gives a chilling food effect (plus small food haste buff) (#81719)

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

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

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

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

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

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

## Changelog

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

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

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-03-16 22:50:16 -04:00
Waterpig
d5b55eb158 Removes TRAIT_NUMBED, using TRAIT_ANALGESIA instead (#26885)
* Goodbye my sweet prince

* Mood
2024-03-16 08:20:44 -04:00
SkyratBot
5fdf13293f [MIRROR] Crushers and PKAs: Coop Upgrades (#26882)
* Crushers and PKAs: Coop Upgrades (#81940)

## About The Pull Request

This PR makes 2 changes, one to the crusher and one to the PKA

Crushers: Their projectile no longer overrides eachother, so a mob can
have the blue bubble from several crushers. Triggering it will only
trigger the one that you own, so each player has to go hit the mob to
strike.

PKA: Fixed the minebot passthrough upgrade, and also adds a human
passthrough upgrade. They are incompatible with eachother, so you choose
between solo+minebot or coop, which is a compromise I thought as a
better alternative to taking mod space (the minebot passthrough
currently takes none). This upgrade is available solely at the mining
vendor, for 750 points.

## Why It's Good For The Game

The new mining has been great, and one thing I love is that it
encourages more coop play. Excavating boulders with other miners is much
more engaging and has good teamwork in it, and also is a good way to
encourage miners to stick together more and even fight megafauna in
pairs.
This hopes to make that easier to do, because currently having anyone
with a crusher is sort of a detriment to the whole team. Either the PKA
dude will accidentally shoot the crusher user while they're going in for
a melee kill, or 2 crusher users will be constantly erasing the mark of
the other. This will hopefully make that aspect better, and make mining
with friends a little better.

## Changelog

🆑
balance: Crusher marks no longer overwrite eachother, fauna can have one
from each crusher.
balance: Ash drake's crusher trophy no longer affects people the same
faction as you (like hiero trophy), so you won't friendly fire people
with it.
add: Added a new upgrade: Human Passthrough. You can shoot your PKA
without having to worry about friendly fire with this, for 750 mining
points at your mining vendor.
fix: Minebot passthrough upgrade now properly makes PKAs pass through
minebots.
/🆑

---------

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

* Crushers and PKAs: Coop Upgrades

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2024-03-15 13:38:47 -04:00
SkyratBot
85e8283abd [MIRROR] Basic Mobs Can Now Get Wet (and can therefore clear the slimed status effect) (#26852)
* Basic Mobs Can Now Get Wet (and can therefore clear the `slimed` status effect) (#81927)

## About The Pull Request

A year ago in #73601 (b7da743e7d), we made
it such that we wouldn't apply the `/datum/status_effect/fire_handler`
to any basic mob that wasn't a "flammable" mob. However, guess what? The
way we handle "wet stacks" is handled by a subtype,
`/datum/status_effect/fire_handler/wet_stacks`. This means that any mob
that wasn't flammable wouldn't also get wet, meaning that they would
literally _never_ get the `slimed` status effect off them (since that is
reliant on wet stacks).

In order to rectify this, let's actually account for the case in the
code to ensure that mobs that should get wet do get wet (I made it an
opt-out flag because I can't think of a single mob that can't get wet
and didn't want to balloon the diff trying to think of every mob that
should be able to get wet, etc.), and now it's all fixed hunky-dory.
## Why It's Good For The Game

Fixes #81888

Basic mobs should be able to get wet. It's an oversight with how the
wet_stack handler is tacked onto the backend of the fire_handler
latticework- ideally these two would be two separate systems (or it
would at least not be named `fire_handler` so people don't make this
confusion in the future without realizing that it handles more than
just... `fire`) but I don't have time to do a full cleansing and
refactor of this code.
## Changelog
🆑
fix: All basic mobs are able to get wet. This means, among other things,
that you can clear the "slimed" status effect off your holoparasite or
dog or whatever.
/🆑

* Basic Mobs Can Now Get Wet (and can therefore clear the `slimed` status effect)

---------

Co-authored-by: san7890 <the@san7890.com>
2024-03-13 19:34:32 -04:00
SkyratBot
f8b87b994b [MIRROR] Overlay Lighting Color/Intensity Pass (#26825)
Overlay Lighting Color/Intensity Pass

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-03-11 22:26:46 -04:00
SkyratBot
122d1612bf [MIRROR] Fix love not working right before Valentines day (VERY HIGHI priority) (#26490)
* Fix love not working right before Valentines day (VERY HIGHI priority) (#81440)

## About The Pull Request

The parent new call is what handles showing the alt appearance to the
mob

So we add the alt appearance to our date, try to show to any mob, it
fails (there is no seer), then set seer

Fixes this by fixing the order

## Changelog

🆑 Melbert
fix: You can once again see love on Valentines Day
/🆑

* Fix love not working right before Valentines day (VERY HIGHI priority)

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-02-12 19:05:31 -05:00
Useroth
7bb2f5055e [MIRROR] 81182 81367 81399 (#26492)
* Implements rgb2num, uses it to replace all our manual rgb reading. Redoes HSV management (#81182)

[Converts all manual extraction of rbg with rgb2num. It's just
better](ae798eabd5)

[Yanks out old HSV management, replaces it with list
stuff](4997e86051)

There's this old lummy era clunky code that passed HSV as text

We can now cleanly replace it with passing hsv as lists from a rgb2hsv
proc

So let's just do that.

Also, cleans up spraytan code (and ethereal lighting)

Code better

* Refactors fire overlays once again to make it not get stuck so often (#81367)

Maybe finally fixes #77701

A big reason why this kept happening is because fire uses standing
overlays. But fire isn't managed by mobs anymore. Meaning in some
situations, fire can cease to exist but the overlay can still be on the
mob. So it gets stuck.

So like, why use standing overlays anymore? We can just hook
`update_overlays` signal.
Isn't that neat.

🆑 Melbert
refactor: Fire effects get added to mobs in a different way now. Maybe
it will get stuck less. Report any oddities.
/🆑

* Fix Flaky Failure From Fire  (#81399)

## About The Pull Request

Closes #81396 , Closes #81391 , Closes #81403, Closes #81402

I don't know why but I thought this proc was only called once, when the
mob entered the turf. That was silly.

And going back at it, I'm not entirely sure why I tied
`TRAIT_NO_EXTINGUISH` to the element anyways, rather than the lava like
it originally was.

While going back over this, I cleaned up the proc a bit. 

## Changelog

Not necessary

* There we go?

* Bruh moment

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-02-12 19:03:58 -05:00
SkyratBot
5489126089 [MIRROR] Adds fire ants as a chem (#26455)
* Adds fire ants as a chem (#81214)

## About The Pull Request
Adds fire ants as a chem. They work pretty much exactly the same as
normal ants, but they deal roughly 2x damage. Also mildly cleans up
whatever ant code I touched
## Why It's Good For The Game
Doesn't really make sense that when you scoop up an anthill of fire
ants, you get a beaker full of normal ants. It's honestly an injustice.
Also, new flavours for the bartender and chef to work with are always
nice.
## Changelog
🆑
add: Fire ants can now be scooped up and used as a chem like normal
space ants
/🆑

---------

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

* Adds fire ants as a chem

---------

Co-authored-by: Nick <42454181+Momo8289@users.noreply.github.com>
Co-authored-by: Aki Ito <11748095+ExcessiveUseOfCobblestone@ users.noreply.github.com>
2024-02-10 23:20:14 -05:00
SkyratBot
0d0c901be2 [MIRROR] Disarm refactor, plus shoving people with shields [MDB IGNORE] (#26144)
* Disarm refactor, plus shoving people with shields

* wew

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2024-01-19 01:58:37 +00:00
SkyratBot
ec2286db17 [MIRROR] Fishing hook and reel line tweaks (also qol for the fish bounties) [MDB IGNORE] (#26150)
* Fishing hook and reel line tweaks (also qol for the fish bounties) (#80599)

## About The Pull Request
This PR includes a series of small changes and additions to hooks and
reel lines, as well as the aforementioned bounties. My objective here is
to make the (base) hook and reel line feel more useful. Ditto with a few
other things.

Here's the list of changes:
- Almost all fishing rods come with a hook and reel line pre-installed.
The rod from the fishing toolbox comes with separate hook and reel line.
- Without a hook, you cannot fish. Without a reel line, the cast range
is reduced (from 5 to 3).
- Fishing with a reel line installed provides a mild boon to completion
speed by default.
- The sinewy reel line (craftable from lavaland mobs) can now be used to
fish on lava / liquid plasma, but it's a bit stiff and gives a mild
malus to completion speed.
- Unlike other hooks, the rescue and jawed hooks now allow you to cast a
line and reel in living mobs too, not only items. They even get a status
alert they can click to un-snag themselves, or move away far enough to
achieve the same effect.
- Master fishing rod buffed. It now comes with a flexible reel line and
weighted hook pre-installed, and can be cast further than other rods.
- On top of that, the jawed hook will slow down living mobs snagged by
it and is a bit harder to remove.
- when casting a line, it will now show the icon of the current hook as
projectile, not a generic one.
- Reeling now correctly checks movement resistance and anchorage.
- Reeling an object (or a mob) now plays a sound. Ditto for
installing/removing slotted items.
- A few balloon alert feedbacks.
- Minor code improvements.
- The jawed hook should look a smidge sharper.
- reel lines are now small items.

## Why It's Good For The Game
The base hook and reel line didn't do anything begin with, and you would
do just fine without them. In the end it's just a bit unintuitive for
them not to be a requirement.

Beside that, it makes sense for the rescue hook to be able to snag mobs,
so they may as well be used to drag people out of lava or liquid plasma.
As for the jawed hook, it always felt to me a bit underwhelming and a
bit of a filler I had cooked up on the moment. It really could have some
'tactical' utility in virtue of being one of those niche black market
items.

## Changelog

🆑
add: Most fishing rods come with a hook and line preinstalled. Fishing
toolboxes come with separate reel and lines as usual.
balance: Fishing hooks are now required to fish.
balance: Without a reel line, the range of fishing rods is reduced by
two tiles. Conversely, having one installed gives a mild buff to the
minigame completion speed.
balance: The craftable sinewy reel line can now be used to fish on lava
or liquid plasma, but it's a bit harder to use.
balance: The rare-to-find-in-maintenance master fishing rod now comes
with a flexible line and weighted hook preinstalled, and has better
range than other rods.
balance: Fishing reel lines are now small enough to fit pockets.
add: The rescue and jawed hook can now snag and reel in mobs, not only
items. The jawed hook also slows down when applied, a la beartrap.
qol: Fish bounties now accept filled (stasis) fish cases.
qol: Several balloon alerts for fishing rod interactions.
fix: Reeling in items (and mobs) now respects movement resistance and
anchorage.
fix: Fixed the fishing rod equipment UI being too small to fit its
components.
sound: Reeling in something now plays a sound.
/🆑

* Fishing hook and reel line tweaks (also qol for the fish bounties)

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-01-17 06:41:19 -05:00
SkyratBot
b79167c173 [MIRROR] Organ movement refactor *Un-nullspaces your organs* [MDB IGNORE] (#25530)
* Organ movement refactor *Un-nullspaces your organs*

* Fix conflicts

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

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

* Fix #2 Modular Movement Flags

* Fix #3 It builds now

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

* Fix #5 No more Runtimesplosion Now time for Synths

* Update nightmare_organs.dm

* on_mob_insert

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

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

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

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

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

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

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-24 19:06:09 +00:00
SkyratBot
d82bce70b3 [MIRROR] Fake Virus doesn't affect virus immune mobs [MDB IGNORE] (#25765)
* Fake Virus doesn't affect virus immune mobs (#80447)

## About The Pull Request

Fake Virus random event won't pick Virus Immune mobs.

Plus some code cleanup.

## Why It's Good For The Game

Feeling a virus when you can't feel a virus makes it pretty obvious
what's going on.

## Changelog

🆑 Melbert
fix: Crewmembers immune to viruses won't be picked by the fake virus
event.
/🆑

* Fake Virus doesn't affect virus immune mobs

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-12-21 11:40:29 -05:00
SkyratBot
1095bcd545 [MIRROR] Fitness rebalance and improvements - mood, fireman carry, and longer workouts [MDB IGNORE] (#25609)
* Fitness rebalance and improvements - mood, fireman carry, and longer workouts

* Resolve Conflicts

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
2023-12-17 15:06:11 -05:00
SkyratBot
3658c80e57 [MIRROR] Explodes device.dmi [MDB IGNORE] (#25523)
* Explodes device.dmi

* Demodularize these

* Update traitordevices.dm

* Update traitordevices.dm

* Modularizes hypnotic flash

* Modular dmi repath

* Modular dmi repath

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-09 09:48:43 -05:00
SkyratBot
b15b16976a [MIRROR] Attack chain refactoring: Broadening tool_act into item_interact, moving some item interactions to... atom/item_interact / item/interact_with_atom [MDB IGNORE] (#25516)
* Attack chain refactoring: Broadening `tool_act` into `item_interact`, moving some item interactions to... `atom/item_interact` / `item/interact_with_atom`

* Patches up merge skew (#80197)

## About The Pull Request

Yeah #79968 (1e76fd70b4) was not
compatible with master but no one said anything on the PR so i got
jebaited into merging it. The code should be up to the same standards
per the documentation I read (preventing thwacking the target in certain
situations while not returning anything in other situations)

master will definitely compile now though

* Patches up merge skew

* Merge conflicts

* Modular adjustments

* Removes this entirely duplicated proc...

* Update tool_override.dm

* Update weldingtool.dm

* Update tool_override.dm

* Update tool_override.dm

* Nope. Copy paste begone.

A skyrat edit is so much easier to deal with here

* Update brand_intelligence.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-09 08:22:19 -05:00
SkyratBot
72aa36d0a8 [MIRROR] Fixes? / Removes stagger shoving animation on corpses. [MDB IGNORE] (#25463)
* Fixes? / Removes stagger shoving animation on corpses. (#79985)

## About The Pull Request

Appears to have been intended, but I'm guessing its scale and time were
not.

## Why It's Good For The Game

Shoving dead bodies was causing them to spasm for longer than described
and frankly made it obnoxious both judging whether or not you were
dealing with a dead body and clicking on them after doing it (which
should probably be redundant with a dead body.)

## Changelog

🆑
del: Stagger animation no longer fires longer than it should on dead
bodies or on dead bodies period.
/🆑

---------

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

* Fixes? / Removes stagger shoving animation on corpses.

---------

Co-authored-by: Higgin <cdonny11@yahoo.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-12-06 00:54:12 -05:00
SkyratBot
9c60ff1de1 [MIRROR] Removes Clone Damage [MDB IGNORE] (#25429)
* Removes Clone Damage

* Update blackbox.dm

* Modular

* Update schema

* Update database_changelog.md

* More modular deprecated clone things

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-12-04 23:01:54 -05:00
SkyratBot
4eb17420b5 [MIRROR] Festival Sect Expansion: New Tunes, New Rites, Cogitandi Fidis [MDB IGNORE] (#25404)
* Festival Sect Expansion: New Tunes, New Rites, Cogitandi Fidis (#80032)

## About The Pull Request

### Cogitandi Fidis

Creates a holy violin that gives an analysis of songs played on it. This
lets you check how long the song is for final effects, to make sure they
trigger without the hassle of trying a rite with a song until you get
one that works. 20 Favor, looks neat too!

### Portable Song Tuning

Rite to empower an instrument with the ability to invoke specifically
song tuning rites, 5 charges before you need to go back to a proper
altar. Helps a chaplain stay on the move, since songs are interruptable
and sometimes an altar can be incredibly far. 10 Favor for 5 charges.

### Illuminating Solo

![image](https://github.com/tgstation/tgstation/assets/40974010/9dddc60a-92e3-4e42-bf7b-423e9ac25c7c)

New free invocation that lets you light up the way with your music! The
finishing effect applies a weaker glow to all listeners for a minute.

### Other Misc Changes

The threshold for getting a final effect on a song is now lower, 220 ->
170. As a reminder, this threshold is lines * tempo. I think the
threshold was simply too high

## Why It's Good For The Game

Changes were made from
https://tgstation13.org/phpBB/viewtopic.php?f=10&t=35381 statistics and
feedback about sects. I think, overall, Festival Sect is in a very good
place and doesn't need a whole lot but a few rites that help with a
quality of life would really cut down on the amount of time a chappy is
spending doing nothing but running allllll the way back to the chapel to
load up some new songs

## Changelog
🆑
add: Festival Sect has 3 new rites: Cogitandi Fidis, Portable Song
Tuning, and Illuminating Solo.
balance: lowers threshold for triggering a final effect. Consult your
Cogitandi Fidis for more information
/🆑

* Festival Sect Expansion: New Tunes, New Rites, Cogitandi Fidis

---------

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2023-12-03 01:55:43 -05:00
SkyratBot
6c4c965ea4 [MIRROR] Changes occurrences of recieve in code to receive [MDB IGNORE] (#25393)
* Changes occurrences of `recieve` in code to `receive`

* Fix conflict

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
2023-12-02 20:40:07 -06:00
SkyratBot
8cdfc4103d [MIRROR] Fix typo in spacer negative moodlet [MDB IGNORE] (#25359)
* Fix typo in spacer negative moodlet (#80036)

## About The Pull Request

Fixes a typo in one of the spacer quirk's negative moodlets.
## Why It's Good For The Game

Typos aren't good.
## Changelog
🆑
spellcheck: fixed typo in one of spacer's moodlets
/🆑

* Fix typo in spacer negative moodlet

---------

Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
2023-11-30 20:10:46 -06:00
SkyratBot
35cf52a0f9 [MIRROR] The Inversenning : Superior Healing Medications [MDB IGNORE] (#25315)
* The Inversenning : Superior Healing Medications (#79342)

Introducing new inverse reagents for existing superior healing
medications! This push includes...

**Benzoic Acid** : Inverse of Salicylic Acid. Robust fertilizer that
provides a decent range of benefits for plant life.

**Oxymetholone** : Inverse of Oxandrolone. Anabolic steroid that
promotes the growth of muscle during and after exercise.

**Bamethan** : Inverse of Salbutamol. Blood thinner that drastically
increases the chance of receiving bleeding wounds.

**Pendetide** : Inverse of Pentetic Acid. An unusual bioradioactive drug
that purges basic radiation healing chems. Also increases the severity
of radiation poisoning.

**Hyoscyamine** : Inverse of Atropine. Heals heart and stomach damage,
and slowly removes minor toxin damage.

**Ammoniated Sludge** : Inverse of Ammoniated Mercury. A ghastly looking
mess of mercury by-product which causes bursts of manic hysteria.

**Inreziniver** : Inverse of Rezadone. Makes the user horribly afraid of
all things related to carps.

This is an effort to add more variety to the existing inverse reagent
system within chemistry. Not only should this variety serve to provide
additional options for a Chemist to experiment with, they should also
broaden the possibilities for already existing strategies.

* The Inversenning : Superior Healing Medications

---------

Co-authored-by: MGOOOOOO <97645027+MGOOOOOO@users.noreply.github.com>
2023-11-28 15:40:54 -05:00
SkyratBot
b0a9ec864c [MIRROR] [READY] The Tackleling: Unarmed bonuses and features contribute to tackle success and failure, significant outcome overhaul, among other things [MDB IGNORE] (#25191)
* [READY] The Tackleling: Unarmed bonuses and features contribute to tackle success and failure, significant outcome overhaul, among other things

* Update tackle.dm

* Update living.dm

* Update tackle.dm

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-22 19:13:26 +00:00
SkyratBot
5540632705 [MIRROR] Reworks transformation sting to be temporarily in living mobs, forever in dead mobs [MDB IGNORE] (#24002)
* Reworks transformation sting to be temporarily in living mobs, forever in dead mobs

* Modular updates

* Recaches the icons generated in the `changeling` unit test

* Pain

* More tweaks

* Disable unit test

* Let's see if we can pass test temporarily

* Makes transformation sting unobtainable more cleanly

* Unit test

* Cursed proc

* Kill the unholy copy pasta

Seriously this stuff is just awful. This is not maintainable.

* test this

* Update comments

* Fixing the screenshot test, maybe?

* grrr

* Update changeling.dm

* Attempt to fix this nonsense

* Update changeling.dm

* Update changeling.dm

* Update changeling.dm

* Update dna.dm

* Fixes it?

* Screenshot test

* Update _traits.dm

* Update _traits.dm

* Fix this

* Update dna.dm

* Update dna.dm

* Hmm

* This proc needs a new name

* I want to scream but I have no mutant parts

* Fix

* Update species.dm

* Update species.dm

* Update species.dm

* Update species.dm

* Some touch ups

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
2023-11-21 13:21:37 -05:00
SkyratBot
3fa98bd2cc [MIRROR] Adds UPSIDE_DOWN movetype for negative gravity / makes Atrocinator affected by less things [MDB IGNORE] (#25155)
* Adds `UPSIDE_DOWN` movetype for negative gravity / makes Atrocinator affected by less things (#79785)

## About The Pull Request

Fixes #79764

I was going to tackle this issue by slamming `TRAIT_NO_SLIP_ALL` on
Atrocinator users and calling it a day, but like, that didn't feel
proper.

So I thought hey, we could just give them the flying movetype, even
though they technically aren't flying it means they're unaffected by
things that flying would make you unaffected by.

Nope, this means the mob technically "negates gravity", so no falling
and no feetsteps.

Let's try floating - this give us feetsteps but no falling upwards.

So instead of going back to square one, with `TRAIT_NO_SLIP_ALL`, I
decided to go for the more complex route of just adding a movetype.

Hence, move type `UPSIDE_DOWN`. This covers situations where a mob would
be "floating" above the ground, but still walking. ...Negative gravity.

This means overall the Atrociator acts more as you'd expect - you don't
slip on ice, you don't trigger bear traps or mouse traps, you can walk
over railings, unaffected by conveyor belts, etc.

## Why It's Good For The Game

Makes the Atrocinator a lot more consistent with how you'd expect for it
to work.

Admittedly it is a bit niche use of movetypes, but it can possibly be
expanded to more things in the future, who knows? I applied it to mobs
on meat spikes (even though they don't move), just for proof of concept.

## Changelog

🆑 Melbert
fix: Atrocinating mobs will now behave more as you'd expect. Meaning
they don't slip on wet patches, can't trigger bear traps / landmines /
mouse traps, ignore conveyors, and can walk over tables and railings.
fix: Floating mobs are unaffected by conveyor belts, acid (on the
ground), glass tables
fix: Floating mobs won't squish stuff like roaches anymore
fix: Fixes bear traps triggering on floating / flying mobs
/🆑

---------

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

* Adds `UPSIDE_DOWN` movetype for negative gravity / makes Atrocinator affected by less things

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-11-20 17:10:59 -05:00
SkyratBot
c34cd6fd3d [MIRROR] More code compression for reagent holder [MDB IGNORE] (#25121)
* More code compression for reagent holder (#79796)

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

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

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

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

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

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

* More code compression for reagent holder

* Update hemophage_organs.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-19 16:05:16 -05:00
SkyratBot
caa13c44af [MIRROR] Reworks stop, drop, roll into a gradual, interruptable thing, that repeats until extinguished [MDB IGNORE] (#25038)
* Reworks stop, drop, roll into a gradual, interruptable thing, that repeats until extinguished (#79694)

## About The Pull Request

Related: #78017

Stop drop and roll is no longer instant -5 fire stacks -> stun -> wait.

Now, when you stop drop and roll, every time you roll you will lose 1
firestack.

A roll is triggered every 0.8 seconds. Moving, getting up, or becoming
incapacitated / stunned will stop you from rolling.
_(This number puts it roughly equivalent to its current rate.)_

While rolling, your hands are blocked (you cannot use items, hold
things, etc.)
Additionally, you will roll until all firestacks are cleared.

## Why It's Good For The Game

Getting stunned for 6 seconds because you decide to stop and roll is a
little silly. Reasonably you could stop rolling and get back up should
the need arise, such as "oh god there's more fire I gotta relocate".

By changing it to a gradual thing, it makes it a bit more reasonable and
fair.
- New players who immediately slam "STOP DROP ROLL" because the alert on
their screen tells them to are no longer helpless for 6 whole seconds
- People who hit the resist key, intending to interact with something
else (such as a bola) are no longer stuck rolling when they did not want
to

## Changelog

🆑 Melbert
balance: Stop, drop, and roll no longer instantly clears 5 fire stacks
off of you - Instead, it will clear 1 fire stack off of you every time
you roll, with a roll every 0.8 seconds.
balance: Stop, drop, and roll no longer stuns you for 6 seconds.
Instead, it will knock you to the floor while you are rolling. Moving
around or getting up will cancel the roll, and you cannot use items
while rolling around.
balance: Stop, drop, and roll will now repeat until the fire is put out
or you get up.
/🆑

* Reworks stop, drop, roll into a gradual, interruptable thing, that repeats until extinguished

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-11-15 21:28:29 -05:00
SkyratBot
a3779921d6 [MIRROR] Traits from blessing of insanity are now applied correctly [MDB IGNORE] (#25012)
* Traits from blessing of insanity are now applied correctly (#79704)

## About The Pull Request
What it reads on the title. The traits should be applied to the owner
and not the status effect itself.

## Why It's Good For The Game
This will fix #79641.

## Changelog

🆑 san7890, Ghommie
fix: The Blessing of Insanity now grants no damage slowdown and free
hyperspace movement correctly.
/🆑

* Traits from blessing of insanity are now applied correctly

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-11-14 17:10:57 -05:00
SkyratBot
33336eda17 [MIRROR] Gunpoint now blocks bumps, adds examine text and can be broken by shoving [MDB IGNORE] (#24976)
* Gunpoint now blocks bumps, adds examine text and can be broken by shoving (#79564)

## About The Pull Request
Lesser version of https://github.com/tgstation/tgstation/pull/75226

Changes a few things with bumping which could lead to cheesing a charged
shot if the shooter has an ally to bump the target. Also adds examine
text to know what's happening.
Also shoving now can be used to break gunpoint, since having immovable
mobs can be troublesome in some situations

## Why It's Good For The Game
Grabs from the target no longer counter gunpoint;
Accidental or cheesy bumps are removed;
Shoves and pulls can be used in a teamplay to break gunpoint

## Changelog
🆑
qol: Gunpoint: Examining the target will show who is holding them at
gunpoint
qol: Gunpoint: Examining the shooter will show who they are holding at
gunpoint
balance: Gunpoint: If the target tries to grab, they will trigger the
shot
balance: Gunpoint: If the target or the shooter are shoved, it will
cancel the gunpoint
balance: Gunpoint: If the target is pulled, it will cancel the gunpoint
balance: Both the target and the shooter can't be bumped anymore to
avoid cheesing charged shot or removing the gunpoint by just moving
around
fix: Clicking the alert button of the shooter will now correctly remove
gunpoint
/🆑

---------

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

* Gunpoint now blocks bumps, adds examine text and can be broken by shoving

---------

Co-authored-by: larentoun <31931237+larentoun@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
2023-11-13 10:39:07 -05:00
SkyratBot
e140e83be3 [MIRROR] Fire temperature effects on a human is soft capped at 1200 kelvin, from when dimishing returns are applied [MDB IGNORE] (#24955)
* Fire temperature effects on a human is soft capped at 1200 kelvin, from when dimishing returns are applied (#79655)

## About The Pull Request

Past 1200 kelvin, fire temperature applied to humans receive diminishing
returns

![image](https://github.com/tgstation/tgstation/assets/51863163/40ddbcde-f3fa-4ecc-8c5b-ca27e86b9aed)

At 30 minutes of fire, a human is expected to be at about 6,200 k

## Why It's Good For The Game

It's not really realistic that a body can manage to get up to the
hundreds of thousands of kelvin, the energy just isn't there.

It doesn't even make sense that a body can get to 6000 kelvin that's
like as hot as plasma IRL or something. Humans cremate at 1200 kelvin.
Temperature in general should be reigned in to prevent that but that's a
much larger project.

This also helps curb two issues, one being the "very high temperature
reagents" exploit and the other being "shaft miners coming into medical
being very difficult to revive".

## Changelog

🆑 Melbert
balance: Body temperature from being lit on fire will soft cap at 1,200
K. It will still increase beyond this, but with diminishing returns. For
example, at 5,000 K, fire will heat 67x weaker.
/🆑

* Fire temperature effects on a human is soft capped at 1200 kelvin, from when dimishing returns are applied

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-11-13 06:12:13 -05:00
SkyratBot
6fe3acd702 [MIRROR] Fix being unable to resist out of /datum/status_effect/freon [MDB IGNORE] (#24944)
* Fix being unable to resist out of `/datum/status_effect/freon` (#79628)

## About The Pull Request

Arguments were backwards.

Adds some free code cleanup as well.

## Changelog

🆑 Melbert
fix: Fix being unable to resist out of ice cubes
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Fix being unable to resist out of `/datum/status_effect/freon`

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2023-11-12 11:27:14 -05:00
SkyratBot
42d245a4be [MIRROR] Basic Guardians/Holoparasites [MDB IGNORE] (#24921)
* Basic Guardians/Holoparasites (#79473)

## About The Pull Request

Fixes #79485
Fixes #77552

Converts Guardians (aka Holoparasites) into Basic Mobs.
Changes a bunch of their behaviours into actions or components which we
can reuse.
Replaces some verbs it would give to you and hide in the status panel
with action buttons that you may be able to find more quickly.

They _**should**_ work basically like they did before but a bit
smoother. It is not unlikely that I made some changes by accident or
just by changing framework though.

My one creative touch was adding random name suggestions.
The Wizard federation have a convention of naming their arcane spirit
guardians by combining a colour and a major arcana of the tarot. The
Syndicate of course won't truck with any of that mystical claptrap and
for their codenames use the much more sensible construction of a colour
and a gamepiece.

This lets you be randomly assigned such creative names as "Sparkling
Hermit", "Bloody Queen", "Blue World", or "Purple Diamond".
You can of course still ignore this entirely and type "The Brapmaster"
into the box if so desired.

I made _one_ other intentional change, which is to swap to Mothblocks'
nice leash component instead of instantly teleporting guardians back to
you when they are pulled out of the edge of their range. They should now
be "dragged" along behind you until they can't path, at which point they
will teleport. This should make the experience a bit less disorienting,
you have the recall button if you _want_ to instantly catch up.

This is unfortunately a bumper-sized PR because it did not seem
plausible to not do all of it at once, but I can make a project branch
for atomisation if people think this is too much of a pain in the ass to
review.

Other changes:
- Some refactoring to how the charge action works so I could
individually override "what you can hit" and "what happens when you hit"
instead of those being the same proc
- Lightning Guardian damage chain is now a component
- Explosive Guardian explosive trap is now a component
- Added even more arguments to the Healing Touch component to allow it
to heal tox/oxy damage and require a specific click modifier
- Life Link component which implements the Guardian behaviour of using
another mob as your health bar
- Moved some stuff about deciding what guardians look and are described
like into a theming datum
- Added a generic proc which can return whether your mob is meant to
apply some kind of damage multiplier to a certain damage type. It's not
perfect because I couldn't figure out how ot cram limb modifiers in
there, which is where most of it is on carbons. Oh well.
- Riders of vehicles now inherit all movement traits of those vehicles,
so riding a charging holoparasite will let you cross chasms. Also works
if you piggyback someone with wings, probably.

## Changelog

🆑
refactor: Guardians/Powerminers/Holoparasites now use the basic mob
framework. Please report any unexpected changes or behaviour.
qol: The verbs used to communicate with, recall, or banish your Guardian
are now action buttons.
balance: If (as a Guardian) your host moves slightly out of range you
will now be dragged back into range if possible, rather than being
instantly teleported to them.
balance: Protectors now have a shorter leash range rather than a longer
one, in order to more easily take advantage of their ability to drag
their charge out of danger.
balance: Ranged Guardians can now hold down the mouse button to fire
automatically.
balance: People riding vehicles or other mobs now inherit all of their
movement traits, so riding a flying mob (or vehicle, if we have any of
those) will allow you to cross chasms and lava safely.
/🆑

---------

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

* Basic Guardians/Holoparasites

* Modular

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-11 07:07:34 -05:00
SkyratBot
500c94e25f [MIRROR] Security Pen and Penlight improvement [MDB IGNORE] (#24727)
* Security Pen and Penlight improvement

* Update inventory.dm

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-01 22:47:00 +00:00
SkyratBot
c8cb56309c [MIRROR] Blackout qol [MDB IGNORE] (#24541)
* Blackout qol

* This should have been a config setting

---------

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-24 20:22:07 +00:00
SkyratBot
9faed16434 [MIRROR] Add new fitness skill and mechanics [MDB IGNORE] (#24448)
* Add new fitness skill and mechanics

* Modular changes

* No size increase

* Update fitness.dm

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-20 11:00:59 -07:00
SkyratBot
b5152fcd86 [MIRROR] [NO GBP] Fix husks fire decay to be slower and allow pyre rite to sacrifice husks [MDB IGNORE] (#24446)
* [NO GBP] Fix husks fire decay to be slower and allow pyre rite to sacrifice husks (#79095)

## About The Pull Request

- Fixes #78881

Husks were having their firestacks decay too rapidly to allow chaplains
to perform their burning sacrifice rite. The decay rate is lowered and
you can now sacrifice husked bodies (caused only by burns) for the pyre
rite sacrifice.

## Why It's Good For The Game

Pyre sacrifice now is functional.

## Changelog

🆑
fix: Fix husks fire decay rate to be slower. Pyre chaplains can now use
husked bodies (only caused by burns) to complete their burning sacrifice
rite.
/🆑

* [NO GBP] Fix husks fire decay to be slower and allow pyre rite to sacrifice husks

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-10-19 20:54:40 -04:00
SkyratBot
ad98db62cb [MIRROR] Spasms don't trigger in stasis or otherwise [MDB IGNORE] (#24428)
* Spasms don't trigger in stasis or otherwise (#79065)

## About The Pull Request

Fixes #77333

Spasms don't trigger if you are incapacitated (including in stasis),
your hands are blocked, or you are immobilized.

## Why It's Good For The Game

Consistency. Mutations and brain traumas don't fire on-life due to
stasis (which are both how you acquire spasms). Otherwise it shouldn't
bother triggering if you can't actually... spasm at the moment.

## Changelog

🆑 Melbert
fix: Spasms won't trigger in stasis, incapacitated, if your hands are
blocked, or you are immobilized.
/🆑

* Spasms don't trigger in stasis or otherwise

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-10-19 03:41:53 -04:00
SkyratBot
0c9149bf35 [MIRROR] Refactor gib code to use bitflags and have documentation [MDB IGNORE] (#24143)
* Refactor gib code to use bitflags and have documentation

* Modular updates

* Modular updates

* Modular updates

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-09 15:00:17 -04:00
SkyratBot
17acc39bdd [MIRROR] Dels a bad stack trace from stoned effect [MDB IGNORE] (#24210)
* Dels a bad stack trace from stoned effect (#78843)

## About The Pull Request

This is a bad stack trace, the reagent application makes no effort in
ensuring non-carbons get the effect applied.

ce51db06ef/code/modules/reagents/chemistry/reagents/drug_reagents.dm (L48-L50)

So rather than crashing, we'll just `return FALSE` to tell the status
effect not to apply.

* Dels a bad stack trace from stoned effect

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2023-10-09 07:49:30 -04:00
SkyratBot
4d317efce6 [MIRROR] Fix bodies burning or set on fire while husked [MDB IGNORE] (#24176)
* Fix bodies burning or set on fire while husked (#78795)

## About The Pull Request
Fixes #78794

Bodies now lose fire stacks while husked.

## Why It's Good For The Game
One less bug.

## Changelog
🆑
fix: Fix bodies now lose fire stacks while husked.
/🆑

* Fix bodies burning or set on fire while husked

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
2023-10-07 17:50:55 -04:00
SkyratBot
dff57af34a [MIRROR] Add blackout drunk [MDB IGNORE] (#24084)
* Add blackout drunk (#78394)

## About The Pull Request
You drink too much you lose your memory, but we cant really do that so
instead a ghost will take control of your body temporary. The drunk
character will then be given objective to do wild, wacky and otherwise
unusual stuff until the original returns to backtrack what transpired.
The blackout character will not be able to kill or hurt the body. Oh and
the duration is about 10 minutes
## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/92416224/16808551-43a3-4495-848a-4707412fc049)
## Changelog
🆑
add: Added blackout, happens when you drink...ALOT
/🆑

---------

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

* Add blackout drunk

* No blackout drunk lol

* Fixes the commenting out

---------

Co-authored-by: FinancialGoose <92416224+TheBoondock@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@ users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-10-05 14:24:53 -07:00
SkyratBot
4b78c15fde [MIRROR] Adds The Hand of Midas, an ancient Egyptian gun. [MDB IGNORE] (#24105)
* Adds The Hand of Midas, an ancient Egyptian gun. (#78699)

## About The Pull Request
Adds the Hand of Midas (HoM), a weapon for pirate captains.

This matchlock pistol is powered by gold rather than gunpowder.
If you hit someone with it, they will be afflicted with Midas Blight for
a duration of time that scales with how much gold is in your gun.
Midas Blight will slowly turn their blood into gold, and slow them down
depending on how much blood is in their system.
If you right-click on someone with the HoM, it will siphon all gold from
their bloodstream and recharge the gun, curing them of Midas Blight in
the process if they still have it.
The amount of gold you can get from people is meant to be ~1.5x as much
as you fired into them in the first place, if you get your timing right.
This way you can exponentially scale the power of your weapon if you can
hit your shots, with a limit of 30 Seconds on the Blight timer.
The siphon has a range of 2 meters, and if you miss a shot you can input
a gold coin into the gun to refill it with the same weak shot you
started with.

It's a little hard to explain in text so here's some video examples:

https://github.com/tgstation/tgstation/assets/66052067/d49238fc-beb2-4ba9-be0c-83e8a701c995

https://github.com/tgstation/tgstation/assets/66052067/34dc23e7-2b88-4ee9-bb1e-c8067a491975

https://github.com/tgstation/tgstation/assets/66052067/68a07426-ba6c-43a7-8228-132fc4b02b83

## Why It's Good For The Game
Honestly I just had the idea for the gun and thought it would be really
cool lmao.
Also because Barrel Behind the Door is one of the funniest YuGiOh cards,
the censored design is TOO GOOD.

![image](https://github.com/tgstation/tgstation/assets/66052067/7c930287-410d-43bd-8731-0f7224b9f049)
## Changelog
🆑 Wallem
add: Adds The Hand of Midas, an ancient Egyptian matchlock pistol.
/🆑

* Adds The Hand of Midas, an ancient Egyptian gun.

---------

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
2023-10-03 22:00:40 -07:00
SkyratBot
59e1231c8b [MIRROR] A thorough audit of damage procs and specifically their use in on_mob_life() (with unit tests!) [MDB IGNORE] (#24087)
* A thorough audit of damage procs and specifically their use in on_mob_life() (with unit tests!)

* Modular changes--bonus, removes a bunch of completely unused code signals code that was taking up resources needlessly

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-10-03 05:27:34 -04:00
SkyratBot
964fc99589 [MIRROR] Feature: bitrunner, a new supply role (READY) [MDB IGNORE] (#23865)
* Feature: bitrunner, a new supply role (READY)

* Delete bepis.dm

* Conflicts

* Update dynamic_rulesets_midround.dm

* Fixing this invalid icon file path

It was trying to use the aesthetics one

* Bepis is dead

* New digi sprites courtesy of CandleJaxx!!

Now in the correct branch!

* Fixing merge conflict

* bitrunning hotfixes [NO GBP]

* Modular health adjustments

* Revert "Modular health adjustments"

This reverts commit 0ff3c48d398f6c1aac51cdf8fecaf869491bbc86.

* Modular health adjustments

Only this one should be necessary

* The screenshot test

* Bitrunner den for voidraptor (FOR #23865) (#23891)

* no shower in sight

* lets bitrunners actually get to their room and spawn there

* New digi sprites courtesy of CandleJaxx!!

* Revert "New digi sprites courtesy of CandleJaxx!!"

This reverts commit eea9f47de256dd407c78450bc8f2a09b814f93e9.

---------

Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>

* Removes bitrunning unit tests (#78607)

## About The Pull Request
Removes the fraction of unit tests I thought would be safe.
Not thrilled that I have to exclude ALL unit tests now, but hey.

The issue is that atmos attempts to process on a turf which hasn't
initialized yet.
## Why It's Good For The Game
Other PRs can pass checks now
## Changelog
N/A

* Update birdshot.dmm

* Tweaks the BEPIS category of the bitrunning order console

* Adds back the flashdark that we had skyrat edited in

* Update tgstation.dme

* Fixes Voidraptor bitrunning den not being connected to the powergrid

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2023-09-29 20:53:36 -04:00
SkyratBot
8cdc0fbe61 [MIRROR] Refactors Snakes into Basic Animals [MDB IGNORE] (#23972)
* Refactors Snakes into Basic Animals (#78612)

* Refactors Snakes into Basic Animals

* Modular paths

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-28 03:21:34 -04:00
SkyratBot
5e8212f85b [MIRROR] Borgs will slow down when stuff is thrown at them [MDB IGNORE] (#23963)
* Borgs will slow down when stuff is thrown at them (#78561)

## About The Pull Request

This feature was added in #75819 but didn't work, for two reasons.
Reason one: it was checking for throwing impact on the "I got shot by a
bullet" proc and then checking the throwforce of a bullet (generally 0,
because you don't throw those).
Reason two: the duration was throwforce / 10 seconds. This would apply a
slowdown which was usually one or fewer seconds, which might as well not
exist.

The solution to this is to assign it to the correct proc and give it a
flat duration for anything over a threshold of damage.
Currently this is 3 seconds for anything with 10 or more force (such as
the humble iron rod). You can reapply it by just throwing more stuff.

## Why It's Good For The Game

Cyborgs don't suffer health-based slowdown like humans.
This is good because cyborg combat should be similar to humans, but bad
because our move speed config is so ludicrously high that it makes
fighting anyone at full speed a real pain in the ass.
Since flashes have been nerfed to require two clicks in order to stun a
cyborg, you have to be able to catch them to apply the second click.
Throwing something at them should make this more likely.

## Changelog

🆑
fix: Throwing things at cyborgs will now slow them down, as intended
balance: Adjusted the calculation of throwforce -> slowdown for cyborgs
such that it is simply a flat duration for anything above a certain
damage threshold (the value of throwing iron rods)
/🆑

* Borgs will slow down when stuff is thrown at them

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-27 18:21:36 -04:00
SkyratBot
9f3be12c19 [MIRROR] [TEST-MERGE FIRST] Wound refactor number two: Full synthetic support [MDB IGNORE] (#23601)
* [TEST-MERGE FIRST] Wound refactor number two: Full synthetic support

* Wound refactor two compatability (#23618)

* Delam emergency procedure moth (#23483)

* safety moff

* delta/whitespace/examine

* icebox

* moff poster

* moff poster

* Update DelamProcedure.tsx

* Update scram.dm

* sound plays during warning

* remove nightshift, theres already a global proc

* scrubber hint

* missed that define

* Apply suggestions from code review

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>

* covered by ui_interact

* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>

* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Automatic changelog for PR #23483 [ci skip]

* Automatic changelog compile [ci skip]

* [non modular] disables TG "hold up" for the foreseeable future (#23607)

Update gun.dm

* Automatic changelog for PR #23607 [ci skip]

* [MIRROR] Desouls Hivelord [MDB IGNORE] (#23609)

* Desouls Hivelord (#78213)

## About The Pull Request

![dreammaker_RJz4brjobM](https://github.com/tgstation/tgstation/assets/7483112/e5e4a3e9-ea6b-47f9-887c-3339d24d3fa8)

Replaces the sprite of the hivelord with a new one, in my continuing
quest to annihilate the old asteroid mob sprites.
A (never completed) asteroid mob resprite was actually my first PR, this
one is my 200th.
I am also planning on fucking with basic mob versions of these mobs some
time but the sprites can be atomised out.

In addition to replacing the old-ass MSPaint sprites, this PR also adds
a short death animation effect to the hivelord brood (from hivelords or
legions) which looks nicer than them just vanishing instantly upon
death.

Look at this video for an example of the animation:
https://www.youtube.com/watch?v=cKaskN5-y2A

## Why It's Good For The Game

Looks nicer.

## Changelog

🆑
image: Hivelords have a new sprite.
image: Hivelord and Legion brood have a death animation.
/🆑

* Desouls Hivelord

---------

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

* Automatic changelog for PR #23609 [ci skip]

* [MIRROR] Updates chem factory tank sprites [MDB IGNORE] (#23608)

* Updates chem factory tank sprites (#78209)

Updates chem factory tank sprites.

* Updates chem factory tank sprites

---------

Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>

* [MIRROR] Rice Dough can be made in a beaker [MDB IGNORE] (#23611)

* Rice Dough can be made in a beaker (#78062)

## About The Pull Request

Rice dough can be made in a beaker using 20u of Rice Flour and 10u of
Water. 10u of Rice Flour is made from 5u of Rice and 5u of Flour. Rice
dough can still be crafted manually using the crafting menu and the
original recipe.
## Why It's Good For The Game

Cooks can sometimes get swamped with work, especially on a high-pop
shift or when there are no botanists. By making rice dough more
convenient to make, cooks don't need to spend as much time in the
crafting menu.
Rice Flour is made from mixing equal parts Rice and Flour. Since no
recipe other than Rice dough uses both Rice and Flour in it's Recipe, it
should be fine to turn those regents into the intermediate reagent "Rice
Flour".
Fixes #77966
## Changelog
🆑
qol: Rice Dough may be made in beaker instead of being crafted, but the
rice and flour must be added first
/🆑

* Rice Dough can be made in a beaker

---------

Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>

* Automatic changelog for PR #23608 [ci skip]

* Automatic changelog for PR #23611 [ci skip]

* f

* awda

* unused type!!!

* Apply suggestions from code review

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

* oh hey unused defines! bye

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
2023-09-16 11:24:49 -04:00
SkyratBot
06691fc603 [MIRROR] Converts vomit() to use bitflags [MDB IGNORE] (#23642)
* Converts `vomit()` to use bitflags

* Update turf.dm

* Modular

* Modular fix

* Update _hemophage_defines.dm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-13 10:44:50 -04:00
SkyratBot
55135555a0 [MIRROR] Nuclear Operative Jump Jets [MDB IGNORE] (#23659)
* Nuclear Operative Jump Jets (#78088)

## About The Pull Request

This PR gives operative MODsuits access to "jump jets".
This is an activated module (starts pinned) with a 30 second cooldown
which removes your personal gravity for 5 seconds and (if possible)
pushes you upwards by one z level. In combination with your regular
jetpack this allows you to fly over gaps, and (most importantly) out of
pits such as you may inadvertently find yourself wandering into on
Icebox.
I have a few other changes I want to make specifically targetted at the
experience of Icebox station destruction causing people to fall several
z levels and get trapped, but this is the first one.

You have to stand still for 1 second to activate the jump jet. This is
because jetpack movement without gravity is actually usually faster than
an operative will walk, and I don't want them to just toggle it as a
sprint button while running around. If people find other tactical uses
for this though I think that's cool.

This module currently isn't available to crew on the tech web, although
maybe someone could add it later if they wanted to. It's not quite so
useful if you don't _also_ have a jetpack though.
I bumped the available complexity of the suits I attached it to up by
the complexity cost of this module so it's not taking up previously
available space.

## Why It's Good For The Game

It's funny when the whole ops team falls in a hole after an explosion
they caused and gets stuck in there fighting Snow Legions but they
should probably have some method for dealing with that.
It also lets them pop back up from the tram hole, a risky proposition
because any flying mob hit by the tram dies almost instantly.

## Changelog

🆑
add: Operative MODsuits now have an attached "jump jet" which sends you
upwards and allows you to use your jetpack under gravity for a few
seconds, perfect for navigating the pits and valleys of Icebox Station.
/🆑

* Nuclear Operative Jump Jets

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2023-09-12 13:14:22 -07:00
SkyratBot
8248bb90df [MIRROR] Polymorph belt blacklists several biotypes instead of allowing only organics [MDB IGNORE] (#23620)
* Polymorph belt blacklists several biotypes instead of allowing only organics (#78229)

## About The Pull Request

Title; this makes the belt able to morph into _more_ mobs, but _less
problematic/abusable_ mobs hopefully. It still only functions on
basic/simple_animals, however.

~~Headslugs get a `MOB_UNDEAD` bioflag to prevent morphing into them
completely. Though catching a sentient ling slug and morphing everyone
into it is funny, it's only funny the first 5 times someone does it.
(disclaimer: this is an approximation, i did not actually see a
polymorph belt in-game because i currently play miner and like 10 games
a week tops)
Arguably, this isn't ideal, but it's the closest we get unless we rename
`MOB_EPIC` or something into `MOB_SPECIAL` and let that one be the go-to
bioflag for mobs we don't want **fun** things happen to.~~
`MOB_EPIC` is now `MOB_SPECIAL`. Headslugs get that.
I think the alternative methow could use whatever the gold cores use to
determine what to spawn but that would shift the mobs available for the
belt even more and I can't be assed to figure out how _much_ of a shift
that would be. Dragons or slimes or lavaland mobs would be out, for
example. Don't really vibe with that.

Fixes headslug's description bit that discerns a sentient slug from an
AI one showing up on a dead slug. It can't move while it's dead, no
matter its mind/AI.

Also adds simple dmdoc comments to the defines to help discern a few of
them more easily. Non-quip text suggestions welcome.

## Why It's Good For The Game
- Resolves #77756
- Resolves #78227

More mobs available for the funny belt but less _fun_ mobs should allow
for more stable use of the damn thing. Arguably, some of the mobs that
have been found to be incompatible with the belt are simply lacking a
`MOB_ORGANIC` flag, some of them with no apparent reason. However,
blacklisting potentially problematic biotypes should be easier to design
the unwanted mobs around.
Also consistency, less all-ling stations, code clarity. Whatever.

## Changelog

🆑
balance: polymorph belt now blacklists mobs that are undead, humanoid,
robotic or spiritual (in nature, not religiously), as well as megafauna
balance: however, this means that it works with more mobs that it should
logically work with, like slimes/bugs/lightgeists etc
fix: fixed headslug shenanigans with the polymorph belt hopefully for
good this time
fix: fixed headslug description mentioning its movement despite the slug
being dead
/🆑

* Polymorph belt blacklists several biotypes instead of allowing only organics

---------

Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
2023-09-10 21:43:42 -04:00
SkyratBot
2bcbb36ab9 [MIRROR] [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds [MDB IGNORE] (#23407)
* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds

* ah fuck it

* test

* edaawdawd

* Revert "edaawdawd"

This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.

* nothing but sheer hatred

* freaawd

* dzfxg

* Fixing some diffs here while we are at it.

* These are deprecated and should be removed

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-09-05 13:24:22 -04:00