Commit Graph

2599 Commits

Author SHA1 Message Date
Lucy
57cc38c789 GPSes now show the general direction of crosslinked z-levels (#87437)
## About The Pull Request

This makes the GPS UI give the general direction of a GPS on a different
linked z-level.


https://github.com/user-attachments/assets/98c6dfd8-5ced-4145-b14a-3813821ef30c


## Why It's Good For The Game

Makes navigating through space less of a chore, as previously, I believe
the only way was to manually write down or memorize what direction was
linked to what z-level.

## Changelog
🆑
add: GPSes now show the general direction of cross-linked z-levels.
/🆑
2024-10-26 15:41:34 +02:00
SmArtKar
273b428ee9 [NO GBP] Fixes hat stabilizer component not cancelling the attack chain (#87455)
## About The Pull Request

Copypasta moment

## Changelog
🆑
fix: Fixed hat stabilizer component not cancelling the attack chain
/🆑
2024-10-26 13:37:56 +02:00
Time-Green
d170a410d4 Recovered Crew | Medical+Cargo Respawns (#87072)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-10-26 09:36:57 +02:00
MrMelbert
922203edb9 Adds Allergic reactions to a few things (Bee stings, Beer) (#87392)
## About The Pull Request

The following effects will trigger allergic reactions for the "Food
Allergy" quirk
- For Alcohol allergies:
   - Drinking any ethanol (beer, wine, etc) 
- For Bug allergies:
   - Drinking ants
   - Getting stung by a bee
   - Getting bit by a (giant) ant
   - Getting bit by a (giant) spider 
- For Sugar allergies:
   - Drinking Sugar

Other notes
- Any mob undergoing surgery will benefit from ethanol speeding it up,
rather than just carbons

## Why It's Good For The Game

I saw a random discord comment that said "Bee stings should trigger bug
allergies" and I thought it was funny, so I added it, then I thought I
could add similar triggers to a few other things.

Important to note for the reagent based effects, they only trigger on
ingestion. And on top of that, it's a % chance to trigger, scaling with
the amount you drink at once. So you can sneak a sip of alcohol if you
want to roll the dice (I figure if I made syringes kill you, I'd have to
up the point reward, which I don't want to bother with)

## Changelog

🆑 Melbert
add: Drinking any ethanol (beer, wine, etc) will trigger alcohol
allergies
add: Drinking ants will trigger Bug allergies
add: Getting stung by a bee, or bitten by a (giant) ant or (giant)
spider, will trigger bug allergies
add: Drinking plain sugar or caramel will trigger sugar allergies
qol: Ethanol can speed up the surgeries of any mob type applied to,
rather than solely humans.
/🆑
2024-10-25 15:52:08 +02:00
MelokGleb
2f99af2330 The Supermatter Resizing: How a crystal can fit into hand (#87232)
## About The Pull Request
adds supermatter sword craft made out of:
20 adamantium
2 vortex cores
actual sm
6 minutes of crafting
announcement on fourth minute
shrinking wand

first of all, you need to craft adamantium pedestal (2 min)

![image](https://github.com/user-attachments/assets/3a24611d-ddce-4438-9b9f-7283458b0791)

then, you should combine it with shrink wand and sm (2 min)
(announcement once you craft it) (it has a gps signal)

![image2](https://github.com/user-attachments/assets/667a58d5-1b3b-49bc-a781-45f84cdaf2b7)


and the last one, small sm and 2 vortex cores (2 min) (dont forget about
gps signal)

![image1](https://github.com/user-attachments/assets/ae432269-af3d-4e14-ab80-f42f558e3d46)
![image3](https://github.com/user-attachments/assets/313033f1-f375-43d3-a8d5-f7307713e69e)


## Why It's Good For The Game
wiz needs more challenges and fun
craft is very hard and challenging, but the reward is powerfull as fuck
## Changelog
🆑 MelokGleb and KREKS
add: very hard wiz-only sm sword craft
sprite: sm sword resprite
/🆑
2024-10-25 02:30:51 +02:00
SyncIt21
fd7c75b590 Refactor for drone holder loving component (#87239)
## About The Pull Request
Refactors `/datum/component/holderloving` as a whole. It was registering
a lot of unnecessary signals and was doing too much in general(vars like
`can_transfer` simply isn't required)

Fixes
https://github.com/tgstation/tgstation/pull/87131#issuecomment-2403284265
properly by adding an extra `newloc` argument to
`temporarilyRemoveItemFromInventory()` which simply hints where we want
to move the object without actually removing it from the player.

Using this argument we can fix camera assembly construction code because
we now hint we want to move the gas analyzer into the camera and the
signal handler code for drones can correctly check for locs

## Changelog
🆑
refactor: cleaned up how drone holds their tools from the toolbox.
report bugs on github
/🆑
2024-10-25 01:57:48 +02:00
Sealed101
a5864d4fec Akimbo firing automatic guns no longer forces the offhand gun to fire even if dry on ammo (#87415)
## About The Pull Request

...preventing runtimes and playing dry click sounds correctly i think?
was that part of the issue caused by the runtime? iunno

## Why It's Good For The Game

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

## Changelog

🆑
fix: fixed akimbo firing automatic guns runtiming on the offhand gun
when it's empty, possibly causing dry fire clicks to not play
/🆑
2024-10-24 16:59:36 +02:00
SmArtKar
b8091a2e5d Changes wall leaning into a component, makes windows leanable #2 (#87390)
## About The Pull Request
Recovery of #85771, minus directional window leaning (because it looks
goofy)

## Changelog
🆑
add: You can now lean on windows the same way you can lean on walls
fix: You no longer stop leaning on walls after clicking on anything
/🆑
2024-10-24 16:54:44 +02:00
SmArtKar
c21fdb5a60 Rustle component no longer counts diagonal steps as two moves (#87400)
## About The Pull Request

Closes #87379
Also cleaned up the code and made the wearer be the source of the sound
for sanity purposes

## Changelog
🆑
fix: Rustle component no longer counts diagonal steps as two moves
/🆑
2024-10-24 14:12:34 +02:00
SmArtKar
592353088e Refactors hat stabilizers into a component shared with plasmamen helmets (#87305)
## About The Pull Request

Hat stabilization is now a component shared between MODsuits and
plasmaman helmets, only change this results in is attached helmets
applying their visor flags to plasmaman helmets (like it was with
MODsuits), but that should not have any impact envirohelms already cover
your face

## Why It's Good For The Game

Less copypasted code and maybe some day we can get hat stands.

## Changelog
🆑
refactor: Refactored hat stabilizers into a component shared with
plasmaman helmets
/🆑

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2024-10-23 20:32:01 +02:00
SmArtKar
b15d1f2938 Fixes embedded items not reacting to explosions (#87351)
## About The Pull Request
Closes #63414

## Changelog
🆑
fix: Fixed embedded items not reacting to explosions
/🆑
2024-10-23 14:06:23 +02:00
SmArtKar
1b695ed033 Fixes a typo in ooze eating code (#87321)
## About The Pull Request
Closes #87314

![378125806-023117cf-0c4f-471d-b965-c4ac60eb9e07](https://github.com/user-attachments/assets/bc78e817-c3f7-45fa-bc84-2cdedb0e7b56)

## Changelog
🆑
fix: Fixed a typo in ooze eating code
/🆑
2024-10-21 16:47:58 +03:00
Ghom
86aee083e3 Speed potion improvements (#87322)
## About The Pull Request
I've added a trait for when a speed potion is applied to the object.
This allows me to remove some args and variables from riding and
ridable, and allow fish past 2000 units of weight to have speed potions
applied to them without the risk of the slowdown being reset the next
time `update_size_and_weight()` is called.

Speed potions now also affect drag slowdown.

## Why It's Good For The Game
Small code improvement, leading to a possible balance change.
This fixes #38623.

## Changelog


🆑
balance: Speed potions now cancel drag slowdown too.
balance: Speed potions can be used on fish past 2000 units of weight.
fix: You can now speed up cardboard boxes with speed potions.
/🆑
2024-10-21 16:46:50 +03:00
SmArtKar
46e3edc788 Fixes electrified chair overlay layering (#87228)
## About The Pull Request

Closes #87221 by changing overlay layers when a mob is buckled to the
chair.

## Changelog
🆑
fix: Fixed electrified chair overlay layering
/🆑
2024-10-18 20:45:34 +03:00
SmArtKar
ddf6f13dc7 [NO GBP] Plasmamen no longer self-immolate while in stasis (#87257)
## About The Pull Request

I forgor because spec_life is not called in stasis but life is

## Changelog
🆑
fix: Plasmamen no longer self-immolate while in stasis
/🆑
2024-10-18 09:36:25 +02:00
grungussuss
63bd34eff7 some code organization for playsound(smth, pick('... (#87211) 2024-10-17 21:35:02 +02:00
EnterTheJake
0d0270b3dc Blade Heretic/Side knowledges improvements/fixes. (#87167)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Blade Heretic has received a few changes.

The cost of crafting a Dark blade has been reduced in exchange for a
lower blade capacity, The Dark blade itself has received a new sprite.

![Updated Dark
Blade](https://github.com/user-attachments/assets/f5dde8a3-6827-4d4f-a530-0a1a01965a63)

Realignment pulls you out stuns a bit faster and grants baton resistance
while active.

You may now infuse your blades with a (weaker) mansus grasp upon
unlocking the ability to dual wield, they also gain increased demolition
modifier.

Mawed Crucible now slowly refills and requires fewer organs to brew a
potion; you may now use a charge to refill your eldritch flask.

The potion themselves have also received changes more on that below.

The cooldown on the cursed curio shield has been reduced.

Lionhunter's rifle no longer does increased damage on scoped targets,
instead it marks them with Mansus grasp and teleports the heretic to
them.

Lastly Blade ascension has been fixed, you once again get the Ring of
Blades.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

Oh boy, here we go.

# **Blade Heretic changes**

Blade Heretic sits in a pretty decent spot, I wouldn't call the path
weak by any stretch of imagination, but there are few aspects that could
be reasonably improved without changing the overall strength of the path
significantly.

**Sundered Blade**
I think these are too expensive to craft, especially compared to the
other blades which require very basic materials.

It's not uncommon to run into situations where you just cannot afford to
make more than a set of blades, and i'd argue it's not fun for the crew
to have their titanium or silver deposit drained every time a blade
heretic rolls around.

As a solution, i'm halving the cost in exchange of lowering the cap from
5 to 4 blades.

**Realingment**

This spell is lowkey awful; 25 stamina regen per second really doesn't
make much of a difference when you are getting chain batoned, I have
footage of blade heretics dying to a single shove stun while this abilty
was active.

The stamina regen and reduce immobility timer has been buffed on top of
granting baton resist so long as it stays active, so you can properly
get in fighting position without getting constantly knocked down.

Mind you, It's still no CNS rebooter, so stuns will still yield a few
seconds of vulnerability.

**Swift Blades reworked into Empowered Blades**

You may now use your Mansus grasp to infuse your Dark blades.

It comes with the tradeoff of losing the knockdown and the stamina
damage, you still retain the backstab.

Video Demonstration: https://www.youtube.com/watch?v=9cO9BOD8Zz4

Dark Blades also gain increased demolition modifier.

Dual wielding puts the heretic in the annoying position of having to
switch between the second Blade and an empty hand to use Mansus grasp.

Blade is supposed to be a master of melee combat, but they are still a
dark mage, so why shouldn't they be able to infuse their blades?

It still comes with a tradeoff, I'd reckon super sweaty players will
still want to hotswap, but hey, the option is there.

The added demolition modifier is to provide Blade with some way of
breaking in and out of places, given the path has no jaunts or utility
whatsoever, this seems reasonable to me.

Lastly Malestrom of Silver finally works now; you once again get the
blade aura upon ascending.


# **Side Knowledge changes**

**Mawed Crucible**

The crucible now passively refills, and has a special interaction to
refill the Eldritch Flask, the potion themselves have received changes.

- Xray Potion: duration bumped from 60 to 90 seconds.

- Wall phasing potion: Duration bumped from 15 to 40 seconds, you may
now recall to your original location at will.

- Potion of the Wounded soldier: Upon expiring, it heals your wounds and
regrows missing limbs.

**Reasoning**: Let's be honest here, noone ever makes this thing, the
cost of making 1 potion is exorbitant and the potion themselves are not
even that good to begin with.

I'm not gonna explain every change in detail, but considering the
crucible is one of the OG side knoweldges and you hardly hear anyone
talk about it, we can safely give it a few buffs.

**Unfathomable Curio**

Cooldown on the shield has been halved.

**Reasoning**: discussed it with Rex (the guy who created it), 60
seconds for 1 block is a bit excessive , 30 seconds seems reasonable
enough.

**Lionhunter's Rifle**

Made a bit easier to craft and maintain, it can now be stored in the
vest slot of the Eldritch Robes.

The homing projectile now fully penetrates armor instead of having bonus
damage; it also marks the victim with Mansus grasp and teleports the
Heretic directly to them, the homing on the projectile itself has been
improved.

**Reasoning**: another side knowledge that sadly barely sees any play.

Frankly this gun just doesn't have a purpose to exist, long range
weaponry don't really mix with Heretic toolkit all that well, as you
want to get close to your target to drag em to the spook dimension, not
snipe 'em from a distance

Lionhunter now works as an initiation tool, upon marking the target, the
Heretic transforms into the fired bullet until it connects, applying
mansus grasp on the victim.

Keep in mind you still need xray or thermals to use the rifle to its
full potential, either from the Crucible or the ashen medallion.

Video Demonstration: https://www.youtube.com/watch?v=AXmidKrx-Fg

As a trade off, the damage has been halved from 60 to 30.

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

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

🆑
balance: Sundered Blades now require 1 Titanium or Silver bar to craft
and their capacity has been reduced to 4.
balance: Realignment pulls you out of stuns a bit faster and grants
baton resist while active.
balance: Blade Heretic dual wielding now let's you infuse Your Dark
Blades with a weaker mansus grasp and grants an increase in demolition
modifier.
fix: Malestrom of Silver grants the ring of protective blades once
again.
balance: Mawed Crucible requires 3 organs to brew one potion, passively
refills overtime and can be used to refill the Eldritch Flask
balance: Brew of Crucible soul effect bumped to 40 seconds and can be
ended early.
balance: Brew Of Dusk and Dawn effect bumped to 3 minutes.
balance: Brew of the wounded soldier now offers a very minor passive
heal and fully heals your wounds and limbs upon expiring.
balance: Cursed Curio shield now recharges faster.
balance: Lionhunter's rifle has been reworked, it now fits on the
eldritch robes vest slots, it's cheaper to craft it and its ammunition
and works as an initiation tool.
/🆑

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

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-16 22:02:08 +02:00
Y0SH1M4S73R
c597ea9850 syndicate sleeper agents can forge custom objectives (#87180)
## About The Pull Request

The removal of the ability for midround traitors to take progression
objectives had the run-on effect of preventing them from using their
uplink to view their primary objectives, which also means they cant
forge custom objectives. This PR changes that, and provides additional
logic in uplink ui code to account for uplinks belonging to traitors
with one type of objective but not the other.

## Why It's Good For The Game

Fixes #86763
2024-10-16 12:18:30 -05:00
junkgle
593e9173d3 resprites clown mask styles and adds one (#87159)
![Screenshot_108](https://github.com/user-attachments/assets/c0c40aca-ec80-4849-8d24-b6a45df8ed7d)

## About The Pull Request

resprites the existing clown mask styles and adds a new clown mask
style: The Dealer. the old madman mask has been made into an optional
craft: the gamer's wig and mask.

does not resprite already existing default clown mask


![Screenshot_109](https://github.com/user-attachments/assets/99b6fdb9-5e19-4b27-a41c-5902a5b92d27)

## Why It's Good For The Game

resprites are good! and more variety is good too

## Changelog

🆑
add: the Honkmother has decided to bless Her children with a new form!
image: resprited the optional clown mask styles
/🆑
2024-10-15 19:56:39 +02:00
Ghom
115711ee37 Fixing several fish-related issues. (#87199) 2024-10-15 17:33:25 +00:00
Ghom
734051bb1f update_body_parts() is now called when adding or removing bodypart overlays. (#87215)
## About The Pull Request
I'm making sure that `update_body_parts()` is properly called when
changing bodypart overlays, so that they actually show up the very
moment they were changed. However, to avoid redundant
`update_body_parts()` calls on init or while changing species, I've
added a living flag that stops `update_body_parts()` from being called
in these situations. I also scoured the codebase for other redundant
`update_body_parts()` to remove and things to clean up a little.

## Why It's Good For The Game
This automates the process of calling `update_body_parts()` a bit.

## Changelog
Mainly backend.
2024-10-15 18:49:05 +02:00
Bloop
241514f520 Fixes improper static list declarations + adds grep for it (#87207)
## About The Pull Request

I randomly came across a `var/list/static` in the code, which does not
actually do what was intended, and thought it was silly. A ctrl+f
revealed that this was a fairly common mistake, so I went and fixed all
the instances of it I could find.

~~Including one in lighting code, which it looked like they were trying
to create a global list to cache generated lighting sheet values for
speed, but it was just a normal list that got created each time
pointlessly. Now those values are actually being cached (using a global
var, because a `static` list was not the right thing to use there in the
first place).~~

Nevermind, it seems that this was in fact being cached even if it
shouldn't have been, because byond. Just rearranged it there seeing as
it works either way.


## Why It's Good For The Game

Code that does what it's supposed to

## Changelog

🆑
fix: fixes a bunch of improper static list declarations
/🆑
2024-10-14 22:36:41 -06:00
SmArtKar
d12fca5dfd [NO GBP] Prevents ghosts from cutting tethers (#87194)
## About The Pull Request

Closes #87192

## Changelog
🆑
fix: Ghosts can no longer cut people's tethers
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-10-13 20:06:51 +03:00
SmArtKar
2a365a4097 Fixes incorrect use of pronoun macros in multiple lives component (#87185)
## About The Pull Request

p_Theyve is not suited for this.

## Changelog
🆑
spellcheck: Fixed a typo in multiple lives component
/🆑
2024-10-13 18:03:35 +03:00
necromanceranne
6658d9f324 Pyro/Cryokinesis cast range is the same as the projectile's range. Pyro and ash mutations are no longer subtypes (#87144) 2024-10-13 00:47:45 +03:00
Ghom
3b444ffd72 DNA Infusers now check for a datum trait instead of whether non-living objects are edible and have the GORE food type. (#87154) 2024-10-12 19:58:23 +02:00
Striders13
e378b00328 Removes gas mask fov, pepperspray now applies tint to masks until washed off (#87102)
## About The Pull Request
Gas masks and all their subtypes no longer have fov.
Using pepperspray on gas mask wearer applies 1 tint per 5u of spray. At
3 tint the wearer becomes fully blind.
If you wanna use the mask again you'll have to wash off the pepperspray
from it using soap or shower.

## Why It's Good For The Game
Gas mask assistants are peak soul and removing it was a terrible
disaster. FoV is too annoying to ever deal with, so it ends up with gas
masks never being worn. Gas filter doesn't make up for it whatsoever,
it's only use is shoving cigarettes in it to look cool. This PR makes it
so pepperspray/tear gas is still useful against mask wearers, albeit
less efficient.
2024-10-12 11:56:59 -05:00
SmArtKar
91e14ba363 Plasmaman Species Refactor | Jesus Christ This Hurts Edition (#87086)
## About The Pull Request
Completely refactors plasmaman code by moving their self-ignition code
to limbs via a component and making suits handle their extinguishing
code by themselves. This means that if someone gets a plasmaman limb
attached to them, they'll need to seal it off from oxygen or it will
ignite!

## Why It's Good For The Game

Plasmaman code is really bad and we've been trying to move away from
species specific code and make them just limb and organ containers
Closes #52649

## Changelog
🆑
fix: Plasmaman space suit internal extinguisher works and can be
refilled now
refactor: Refactored plasmamen self-ignition to be limb-side instead of
being handled by their species
/🆑
2024-10-12 12:55:33 +02:00
MrMelbert
d266ee9b88 Reverts a check added in [NO GBP] Fixes drone toolbox issues, fixes clothing unequipping, unit test (#87131)
## About The Pull Request

Fixes #87129

[This
change](https://github.com/tgstation/tgstation/pull/87073/files#diff-c8ab5fbc20de60e202b839834b039649cbb69a1c4b99b27a5e467f3889442ccd)
added in #87073, passing `invdrop = FALSE` to `doUnEquip`, breaks the
behavior of unequipping dropping your items. Because that's what
`invdrop` does. If you pass it as `FALSE` it prevents other items from
dropping off the mob, intended for like, outfit use / "quick swapping"
an item out

So I reverted it. Drone tools still seem to work I guess. @SyncIt21 

## Changelog

🆑 Melbert
fix: Fixes stuff staying on your body after removing your clothes
/🆑
2024-10-11 13:06:13 +13:00
Ghom
4738c1f26e Feeding fish certain reagents may have some effects (#86955) 2024-10-10 14:06:22 +00:00
SyncIt21
475e716bd6 [NO GBP] Fixes drone toolbox issues (#87073)
## About The Pull Request
- Fixes #87071 as in
 a) Dropping a drone tool will put it back in the toolbox again
 b) You can manually put the tool back in the toolbox via mouse click
 c) You cannot dump the contents of the drone toolbox on anything

## Changelog
🆑
fix: you can drop/put drone tools back in the toolbox
fix: you cannot dump the contents of the drone toolbox
/🆑
2024-10-09 02:09:16 +02:00
Ghom
96c0c0b12c Fish infusion (#87030)
## About The Pull Request
I'm adding a new infusion ~~(actually four, but two of them are just
holders for specific organs tied to a couple fish traits)~~ to the game.
As the title says, it's about fish.

The infusion is composed of three primary organs, plus another few that
can be gotten from fish with specific traits.

The primary organs are:
- Gills (lungs): Instead of breathing oxygen, you now need to stay wet
or breathe water vapor.
- fish-DNA infused stomach: Can safely eat raw fish.
- fish tail: On its own, it only speeds you up on water turfs, but it
has another effect once past the organ set threshold. It also makes you
waddle and flop like a fish while crawling (I still gotta finish sprites
on this one)

Other organs are:
- semi-aquatic lungs: A subtype of gills from fish with the 'amphibious'
trait, falls back on oxygen if there's no water. Can also be gotten from
frogs, axolotl and crabs.
- fish-DNA infused liver: From fish with the 'toxic' trait. Uses
tetrodotoxin as a healing chem instead of a toxin. Also better tolerance
to alcohol if you want to drink like a fish (ba dum tsh).
- inky tongue: From fish with the 'ink production' trait. Gives mobs the
ability to spit ink on a cooldown, blinding and confusion foes
temporarily.

The main gimmick of this infusion revolves around being drenched in
water to benefit from it, In the case you get the gills organ, this also
becomes a necessity, to not suffocate to death (alternatively, you can
breathe water vapor, without any benefit). To enable the bonus of the
organs set, three organs need to be infused. They can be gills, stomach,
tail and/or liver, while the inky tongue doesn't count towards it.

Once the threshold is reached, the following bonus are enabled:
- Wetness decays a lot slower and resists fire a bit more.
- Ink spit becomes stronger, allowing it to very briefly knock down
foes.
- Fishing bonuses and experience
- Resistance to high pressures
- Slightly expanded FOV
- drinking water and showers mildly heal you over time.
- for felinids: You won't hate getting sprayed by water or taking a
shower.
- While wet:
- - If the fish tail is implanted, crawling speed is boosted.
- - You no longer slip on wet tiles.
- - You also become slippery when lying on the floor.
- - You get a very mild damage resistance and passive stamina
regeneration, and cool down faster.
- - You resist grabs better.
- - get a very weak positive moodlet.
- However, being dry will make you quite squisher, especially against
fire damage, slower and give you a modest negative moodlet.

While working on it, I've also noticed a few things that explained why
tetrodotoxin (TTX) did jackshit at low doses, because livers have a set
toxin tolerance value, below which, any amount of toxin does nothing.
Also I've felt like reagents like multiver & co were a bit too strong
against a reagent that's supposed to work at very low doses, with slow
metabolization, so I've added a couple variables to buff TTX a bit,
making it harder to purge and resistant to liver toxin tolerance (also
added a bit of lungs damage).



## Why It's Good For The Game
I wanted to take a shot at coding a DNA infusion and see how chock-full
I could make it. DNA infusions are like a middle point between "aha,
small visual trinket" and organs with generally ok effects. I seek to
make something a bit more complex ~~(also tied to fishing ofc because
that's more or less the recurrent gag of my recent features)~~ primaly
focused around the unique theme of being strong when wet and weaker when
dry.

EDIT: The PR is now ready, have a set of screenshots of the (fairly mid)
fish tails (and gills, barely visible) on randomly generated spessman
and one consistent joe:

![immagine](https://github.com/user-attachments/assets/a4965508-22e2-4d3a-8523-29fec6bce91e)


## Changelog

🆑
add: Added a new infusion to the game: Fish. Its main gimmick revolves
around being stronger and slippery when wet while weaker when dry.
balance: Buffed tetrodotoxin a little against liver tolerance and
purging reagents.
/🆑
2024-10-09 02:03:50 +02:00
antropod
9d0447501b Trapdoor QoL (#86943)
## About The Pull Request

- Trapdoor remote will connect to multiple trapdoors
- Trapdoor will close automatically in 5 seconds (ctrl-clicking on a
remote will toggle autoclose)
- Additional trapdoors can be linked to the same remote by clicking on a
trapdoor with the remote
- Improved examine message to reflect how to use remote
## Why It's Good For The Game

I added ability to connect multiple trapdoors with to one remote. This
makes making trapdoor traps much easier (before that you had to connect
each trapdoor to dedicated remote and use signallers).
I also added autoclose for trapdoors so you don't need to close it
manually, so you can have like an infrared emitter that will trigger the
trap and the trap would reset automatically.
And the last addition - ability to link trapdoors manually - it just
makes it easier to add trapdoors to your remote if you missed any on the
linking step.
## Changelog
🆑
add: You can now link to multiple trapdoors with one remote
add: Trapdoor will automatically close in 5 seconds (ctrl-clicking on a
remote will toggle autoclose)
/🆑
2024-10-07 13:34:36 +02:00
Ghom
cdebe98a17 refactoring how materials effects are added to atoms (#86901)
## About The Pull Request
I'm "cooking" the materials system a bit, specifically the code
responsible for applying and removing effects. My goal is to move most
of the code to the objects-side, split it in smaller procs that can be
more easily overriden or called for object-specific modifiers and
effects, while also revamping things all around to better support items
made from multiple materials (the cleric mace will most likely be one in
this PR, with the handle and tip made of different materials).

PR NO LONGER WIP, TESTED AND ALL, CLERIC MACES CAN NOW BE MADE OF TWO
MATERIALS.

## Why It's Good For The Game
One of the nastiest flaws with the materials system is that it's just
unfeasable to have items made of multiple mats (with effects enabled)
right now, as they easily tend to override each other, where some of the
modifiers and effects should only be applied the main material.

Beside, the system's starting to show signs of its time, from the
several type checks used to apply different effects, the one letter
variables to the the material flags that are still being passed down as
arguments when you can access them from the atom/source arg anyway. It
would be disonhest of me if I went ahead and coded material fishing rods
or whatever fish fuckery with materials without ensuring it won't
further the technical debt the feature currently has.

## Changelog
🆑
refactor: Refactored materials code. report any issue.
add: Cleric maces (The autolathe-printable weapon design from outer
space) can now be made of two different materials.
balance: Buffed cleric maces a little.
fix: toolboxes' stats are now affected by materials again.
/🆑

---------

Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
2024-10-06 21:56:20 +02:00
grungussuss
6df3dd14ac Item rustling component, riot armor and swat suit sounds (#87008)
## About The Pull Request


https://github.com/user-attachments/assets/665053dc-8b46-49a5-bbea-7e6bb8f81cd7

- added a new component called `item_equipped_movement_rustle` for
moving in zero-g and gravity with editable variables.
- gave riot suits and swat suits a new sound using this new component.
## Why It's Good For The Game
makes riot suits more immersive and allows us to implement it for other
items in the future.
## Changelog
🆑 grungussuss
sound: riot suits and swat suits now make noise when moving around in
them.
/🆑
2024-10-06 21:46:55 +02:00
SyncIt21
35d008dfab General maintenance for inducer (#86929)
## About The Pull Request
**1. Qol** 
- Adds examines & screentips for screwdriver act, inserting & removing
cell

**2. Code Improvements**
 - Autodocs & removes some unused/redundant vars
 - Corrects return values of `screwdriver_act()`
 
**3. Fixes**
- Fixes #85408. Charging is consistent with cell rating & scales for
higher tier cells
- Syndicate inducers now uses super batteries not cells so they have
higher charge
 
**4. Refactor**
- Moved attack chain to `item_interaction()` & `interact_with_atom()` &
removes a lot of procs to merge with this new attack chain
 

## Changelog
🆑
qol: adds extra examines & screentips for inducer
fix: inducer charging rate scales with cell rating
fix: syndicate inducers now have correct charge & batteries installed
refactor: inducer attack chain has been improved & redundant vars/procs
have been removed, report bugs on github
/🆑

---------

Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-06 18:27:40 +00:00
Ghom
9d4014c361 Space dragons can now catch and eat fish (plus shark form and rift fishing) (#86582) 2024-10-06 20:19:17 +02:00
_0Steven
6a6e92ec9c Move food_storage to item interaction signals, fixes not being able to embed syringes into cake/bread/cheese (#87059)
## About The Pull Request

So we have a feature for embedding small objects into cake/bread/cheese,
where if you eat it there's a chance you bite into it.
For syringes, this means you get injected by it.

However, it seems that this is currently broken, being unable to ever
reach this state due to order of operations.
Moving this component to the newer
`COMSIG_ATOM_ITEM_INTERACTION_SECONDARY` signal fixes this.

As a side, replaces an `a` with `\a` so it doesn't display "a the X" for
different syringes being bitten into.
Edit: Additionally turned an if into an early return in the food storage
insertion procs.

## Why It's Good For The Game

Better when things work as intended.
## Changelog
🆑
fix: Syringes can be put into cake/bread/cheese on right click again.
spellcheck: Biting into a hidden syringe no longer displays things like
"a the syringe".
/🆑
2024-10-06 18:02:27 +02:00
SmArtKar
6ea10333c8 [NO GBP] Makes jetpack movement much smoother and prevents pushing off objects while using one (#87020)
## About The Pull Request
Jetpacks will now prevent you from attempting to interact with objects
near you in zero G, preventing you from pushing lockers and people
around. This also makes jetpack movement ***much*** more smooth, as they
will activate at your first move, preventing jerky movement when pushing
off walls. Same applies to all wings which should help moth players with
new spacemove.

Thanks to iusedtoplayxbox on discord for providing details regarding the
issue.

## Why It's Good For The Game

Less jank = happier players

## Changelog
🆑
qol: Jetpack movement is now much smoother
/🆑
2024-10-05 02:03:39 +02:00
MrMelbert
b3245078c8 Puts blood back on floor plane, puts runes on floor plane (removes shadows from blood and runes) (#87013)
## About The Pull Request

Basically goes through and puts some flat objects onto the floor plane.
Also puts blood back on the floor plane, since it seems like it used to
be but may have been moved mistakenly questionmark.

This means they will not be affected by Ambient Occlusion: 


![image](https://github.com/user-attachments/assets/594b878b-e5e9-42e3-900e-3c9390c819ee)

## Why It's Good For The Game

A lot of these "flat" things look really out of place because they're
secretly "floating" due to being on the wrong plane

## Changelog

🆑 Melbert
qol: Runes, crayons, and similar decals no longer have shadows
fix: Blood and similar "mess" decals no longer have shadows (again)
/🆑
2024-10-04 02:57:45 +02:00
SmArtKar
c06f2f9352 [NO GBP] Makes MODtethers quicker to cut, adds a rapid cut action to MODsuits and some examine hints (#86984)
## About The Pull Request
Tethers will now take only 1 second to cut, tether anchors have a line
about how to lengthen/shorten and cut tethers, and MODsuit tether module
now can quickly snap all tethers attached to you in case of an
emergency.

I'm not a fan of MOD tether quick cutting code but its the best we can
do to avoid GetComponent usage.

## Why It's Good For The Game
Tethers aren't very comfortable to use and a lot of people get confused
and stuck with them, this should help a ton.

## Changelog
🆑
qol: Added an explanation of how to change tether length and cut them to
tether anchors
qol: MODsuits can now quickly snap all tethers attached to you
balance: Tethers can now be cut significantly quicker
/🆑
2024-10-04 01:29:24 +02:00
Chubbygummibear
22d319fa86 Weather planes from The Wallening to fix multi-z weather overlays (#86733)
## About The Pull Request

I started doing this for Yogstation, but ended up doing all my testing
on TG code since there's more debug tools to use, and @LemonInTheDark
said I should upstream it when I was done. So I'm just gonna start here.
The whole point of this is to stop multi-z maps from stacking weather
overlay effects like

![dreamseeker_FBUu3nPLCJ](https://github.com/user-attachments/assets/52559dfc-68d2-403d-8148-b410750f78c4)
Old pic I know, but you get the point

Now it behaves as expected


https://github.com/user-attachments/assets/6d737eae-2493-4b48-8870-e4ac73dcbbeb



https://github.com/user-attachments/assets/b253aa97-c90d-4049-a97d-940b0ec386d0


<details>

<summary>Note: this does not fix the issue of areas out of your view not
updating their appearance. 90% sure that's a Byond™️ issue</summary>


https://github.com/user-attachments/assets/3db5ce28-2623-4d3e-a5f4-bd561d96010a

</details>



## Why It's Good For The Game

Isolating weather to its own planes is good for having better control
over how it behaves. Since weather overlays are tied to areas it makes
them kinda hacky to begin with, but this is a step in reigning them in.

## Changelog
🆑
fix: fixed multi-z weather overlays stacking and not hiding overlays
above you
/🆑
2024-10-02 22:49:09 -07:00
Ben10Omintrix
179a607a90 fixes some mobs having their aggro appearance linger around after sentience (#87014)
## About The Pull Request
if the behavior's logic doesnt clear target keys on finish_action, the
mob would keep its aggroed look post sentience

## Why It's Good For The Game
fixes some mobs having their aggro appearance linger around after
sentience

## Changelog
🆑
fix: fixes some mobs having their aggro appearance linger around after
sentience
/🆑
2024-10-03 03:59:19 +02:00
Ben10Omintrix
6897f33767 AI controllers interactions refactor (#86492)
## About The Pull Request
refactors all behaviors to work through clicking. also removes some now
redundant behaviors. in the future ill try to generalize more of these
behaviors

## Why It's Good For The Game
makes AI controllers work through clicks which may help with swing
combat implementation

## Changelog
🆑
refactor: basic mob AI interactions has been refactored. please report
any bugs
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-03 03:44:41 +02:00
Ghom
e28a2ab52c [NO GBP] Fixing the examine text of the fishing difficulty adjustment comp. (#86966) 2024-10-01 20:11:16 +02:00
tonty
3f0b4abb8d Replaces world.icon_size (and some magic numbers) with defines (#86819)
## About The Pull Request

All usages of world.icon_size in code have been replaced with new
`ICONSIZE_X`, `ICONSIZE_Y` and `ICONSIZE_ALL` defines depending on
context

Replaces some "32" magic numbers with the defines

A few bits of code have been modified to split up x/y math as well

## Why It's Good For The Game

Magic number bad, code more readable, code more flexible and I'm told
there's an access cost to doing world.icon_size so minor performance
gains

## Changelog

🆑 tonty
code: made some code relating to the world's icon size more readable
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-29 13:28:32 +00:00
jimmyl
0771b1b3a7 adds some "factory" machines (#86063)
## About The Pull Request



https://github.com/user-attachments/assets/4ceb4c0f-d5ef-4fc0-8436-d7eec5b6f396



https://github.com/user-attachments/assets/56ddd387-7376-4c35-a067-1adccbddeecd



https://github.com/user-attachments/assets/dda6cc2b-614a-4adb-a8f4-2c03b51162e0



https://github.com/user-attachments/assets/fa7697fb-f484-48a0-bb85-ee0c2f4867e2



https://github.com/user-attachments/assets/02de4b24-2fa0-4a1e-b147-df9500109b3c



https://github.com/user-attachments/assets/b56c03ab-49c9-487f-a99f-fcba5ce038ac



https://github.com/user-attachments/assets/52bae5a4-68b0-4f25-99c1-1b677b99790a

i didnt feel like recording the lathe and crafter for a suitable file
size again but essentially the crafter crafts and the lathe lathes

all machines but the router and sorter are cable powered (suitable on
lavaland)
theyre researched roundstart

they can receive any resource that bumps into it if that resource is on
the conveyor

## Why It's Good For The Game
more fun engineering stuff
and perhaps mining given these are more efficient but require effort to
set up
https://hackmd.io/@jimmyl/S1dZRZosC
## Changelog
🆑
add: added the manufacturing
smelter,router,sorter,crafter,lathe,crusher,unloader
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-29 14:58:27 +02:00
Cheshify
18ffabca05 Laser Musket & Smoothbore Disabler BUFFS (Crank it AND Run) (#86867)
## About The Pull Request
This rebalances the Laser Musket and Heroic Laser Musket

Replaces glasses with 2 drinking glasses in the crafting recipe
Removes 2-handed demand
Standard shot damage slightly increased and stamina damage greatly
decreased
Heroic shot made a 3-round scatter shot, very powerful, damage and
stamina damage decreased to compensate
Crank-charge weapons, except the thermal revolvers, can be charged while
moving
Muskets can also be worn on jackets

## Why It's Good For The Game

These things were severely underused, and I always kinda wanted them to
be crankable while you moved, I just didn't know how. This should also
help the Militiamen ERT be less of a joke. I would appreciate
balanceposters giving some advice on the numbers if you're seeing this.

The heroic musket is incredibly rare, and SHOULD be pretty powerful.
## Changelog
🆑
balance: laser muskets have been rebalanced
balance: crank weapons can be charged while moving
/🆑
2024-09-28 08:05:19 +12:00
SmArtKar
d4ac95a0e1 Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request
123 changed files and multiple crashes after writing broken regex, I
replaced most remains of direct spans with macros. This cleans up the
code and makes it easier to work with in general, see justification for
the original PR. I also fixed a bunch of broken and/or unclosed spans
here too.
I intentionally avoided replacing spans with multiple classes (in most
cases) and spans in the middle of strings as it would impact readability
(in my opinion at least) and could be done later if required.

## Why It's Good For The Game

Cleaner code, actually using our macros, fixes borked HTML in some
places. See original PR.

## Changelog
Nothing player-facing
2024-09-26 19:36:13 +00:00
SmArtKar
ad111f4950 Spacemove refactor - Newtonian physics (#84869)
## About The Pull Request

This PR significantly enhances how zero-g movement works. Its no longer
locked to one of 8 directions, everything now has inertia and is
affected by weight. This means that throwing a piece of wire will no
longer completely reverse your movement direction, and that being thrown
out of mass driver no longer will slow you down to a halt at some point.

This leads to following gameplay changes:
* Guns now accelerate you. Ballistics have higher acceleration than
lasers, and higher calibers have higher acceleration than smaller ones.
This means that firing full-auto weapons in zero-g will make you drift
and accelerate significantly. While this can be a hilarious way to
travel in space, it makes using them trickier.
* Impacting a wall or an object while moving at high speeds will cause
you to violently crash into it as if you were thrown. Careful when
exploring!
* Jetpacks now have inertia. Changes introduced in #84712 have been
mostly reverted, although speed buff has been reduced to 0.3 instead of
0.5 (although this is compensated by new movement mechanics, so overall
speed should be roughly equal). All MODsuit jetpacks now possess the
speed boost. Advanced MODsuit jets (which has also been added back) and
captain's jetpack instead have higher acceleration and stabilization
power, providing much more precise control over your movement.
* Firing guns while moving on a jetpack will partially negate your
pack's acceleration, slowing you down. Non-advanced jetpacks'
stabilization is not enough to compensate for heavy caliber weaponry as
sniper rifles, shotguns or rocket launchers.
* You no longer instantly decelerate upon sliding along a wall. Instead,
it may take a few tiles if you are moving at extreme speeds. Passing
over lattices still allows you to grab onto them!

As space movement is angle-based instead of dir-based now, its much more
smooth than before due to using new movement logic.

Example of jetpack stabilization in action:

https://github.com/tgstation/tgstation/assets/44720187/6761a4fd-b7de-4523-97ea-38144b8aab41

And, of course, you can do this now.

![jetpack_500](https://github.com/tgstation/tgstation/assets/44720187/37b11cd8-2bd1-4640-ae0c-5e0cc505bf52)

**This pull request requires extensive gameplay testing before
merging**, as a large amount of numbers have been picked arbitrarily in
an attempt to keep consistency with previous behavior (guns and
normal-sized items applying 1 drift force, which is equal to what
everything applied before this PR). Jetpacks and impacts may also
require adjustments as to not be frustrating to use.

Closes #85165

## Why It's Good For The Game

Zero-G refactor - currently our zero-g movement is rather ugly and can
be uncomfortable to work with. A piece of cable being able to accelerate
you the same as a duffelbag full of items when thrown makes no sense,
and so does instantly changing directions. Inertia-based version is
smoother and more intuitive. This also makes being thrown into space
more of a hazard (possibly opening the door for explosive
decompressions?)
Jetpack inertia and gun changes - this is mostly a consequence of
inertia-based movement. However, zero-g combat being preferred during
modes like warops was an issue due to it negatively affecting everyone
without jetpacks which are in limited supply onboard. This reverts the
mobility changes which severely impacted space exploration, while making
zero-g combat more dangerous and having it require more skill to be a
viable option.

## What's left

- [x] Refactor moth wings to use jetpack code
- [x] Refactor functional wings to use jetpack code
- [x] Locate and fix a recursion runtime that sometimes occurs upon
splattering against a wall
- [x] Add craftable tethers and modify engineering MOD tethers to use
the same system

## Changelog
🆑
add: You can now craft tether anchors, which can be secured with a
wrench and attached to with right click. They won't let you drift into
space and you can adjust tether length/cut it via lmb/rmb/ctrl click on
the wire.
add: MOD tethers now remotely place and connect to tether anchors
instead of throwing you at where they landed.
balance: MOD tethers can now be used in gravity
balance: Jetpacks are now inertia-based. 
balance: Guns can accelerate you significantly in zero-g.
balance: All jetpacks now give you equal speed buff, however advanced
MOD ion jets and captain's jetpack have higher acceleration/deceleration
values.
refactor: Refactored zero-g movement to be inertia-based and utilize
angles instead of directions.
/🆑
2024-09-26 02:49:54 -07:00