Commit Graph

15510 Commits

Author SHA1 Message Date
Waterpig
5574262fb5 Changes up carbon EMP handling (#83857)
## About The Pull Request

The organ refactor 6 months ago changed up organs, making them be
actually inside bodyparts and the mob. This introduced the bug of all
emp effects being called twice on everything thanks to how /mob/living
handles it (Fixed in this PR), but also some new stuff:

Made bodyparts handle organ EMPs. This also means we can now have
support for bodyparts with EMP_PROTECT_CONTENTS protecting the organs
inside.
Made a new proc for bodyparts once they are successfully hit by an emp.
Makes it much easier to add overrides for the behaviour.
Fixed emps hitting bodyparts twice

## Why It's Good For The Game

It lays a groundwork for some interesting limb concepts, and makes organ
emps make a bit more sense.

Fixes a bug that laid unnoticed for 6 months.

## Changelog

🆑
fix: EMPs on carbons no longer happen twice
code: Moves organ emps under bodyparts, changes how bodyparts handle emp
effects
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2024-06-11 22:10:24 -07:00
Joshua Kidder
df0e0811c2 Significantly increases stamina recovery on most effects that provide it (#83556)
## About The Pull Request

Currently, stamina healing is a niche side effect on many drugs, besides
a few effects (mostly heretic powers, an obscure side effect of some
drinks) that actually contribute to a significant shift in gameplay
style when you use them. In this PR I significantly increased the
stamina recovery on almost every drug and some effects that provide it.

Points of interest (not completely inclusive):
Syndicate stimulants heal 12 instead of 5 stamina damage. This will
bring you out of stam crit in two cycles, and let you heal out of the
slowdown from the stamina damage from a baton strike. The current rate
of 5 takes 5 seconds to heal out of stam crit, and the stamina reset
takes place before you heal out of stamina damage slowdown.
Bath salts heal stamina at the rate stimulants used to. Meth heals
stamina slightly slower.
Changeling adrenaline will instantly bring you out of stam crit if
you're in it; otherwise, it will heal 10 stamina damage.
Ephedrine heals 4 stamina per life, instead of 1.
Being so drunk that you black out and give up your body to ghost control
will make you heal stamina more quickly than an ascended rust heretic.
You will also likely be dying of liver damage.
## Why It's Good For The Game

At the levels they are set, most of these stamina healing effects have
almost no effect on gameplay whatsoever except in the case of tanking a
couple of extra disabler shots (only in the case of the high end drugs),
or being able to do stamina consuming tasks slightly longer (breaking
boulders, grinding with pestle and mortar, working out, ???).

Adjusting these numbers would make these drugs an actual factor in
combat situations that rely on stamina crit (stun batons, ebows, stamina
damaging poisons and diseases). Most of the drugs already have side
effects such as brain and organ damage, which in the current state
hugely outweighs any reason to use most of them besides a few that give
a movespeed buff or prevent baton knockdown (ephedrine, stimulants).

This only affects stamina healing. There has been no change to any other
interactions with things that knock down or cause any other kind of
stun.

These changes are in consideration of the fact that taking stamina
damage puts you in a cooldown before you can recover your stamina
naturally. Effects that cause steady stamina damage will bottom out your
stamina the way they do now, unless you use something to heal it.
## Changelog
🆑
balance: Stamina healing has been significantly increased for most
reagents and passive effects.
/🆑
2024-06-11 22:03:50 -07:00
MrMelbert
4b8127a777 Incoming stamina damage while in stamcrit has diminishing returns applied (#83445)
## About The Pull Request

After being put in stamcrit, future incoming stamina damage has
"diminishing returns" applied*.

The formula looks like `ceil(sqrt(amount of stamina damage) / 2) - times
you have taken stamina damage in stamcrit`.

This means eventually stamina based damage will do less than zero
damage, and thus, not contribute to keeping stamcrit active.

Very, very low amounts of stamina damage (such as from chems) contribute
to DR 1/20th the amount.

*_Note, this is not real diminishing returns because making it real
diminishing returns would be pointless, you are capped to 120 stamina
damage so 99.99% of the time you take stam damage while in stam crit
you're already capped. This is just faking the effect._

In its current stat this means that a stun baton will stop being able to
keep someone in stamcrit after the 5th hit, and a stock disabler will
stop being able to keep someone in stamcrit after the 4th hit.

## Why It's Good For The Game

Mostly just an experiment. I don't imagine it will shake up much about
the baton situation in its current state.

There's also no grace period after getting UP - so like you can just be
stamcritted right after anyways. Maybe there should be one? Food for
thought.

And yes of course you can just space out your hits, you're not clever
for thinking about that

## Changelog

🆑 Melbert
balance: Taking stamina damage in stamcrit has diminishing returns
associated, meaning you cannot be infinitely stamcrit.
/🆑
2024-06-11 22:02:24 -07:00
MrMelbert
ff6b41aa07 Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request

- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)


![image](https://github.com/tgstation/tgstation/assets/51863163/1e70f7be-0990-4827-a60a-0c9dd0e0ee49)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`

I have manually tested many of the refactored procs but there was 200+
so it's kinda hard

## Why It's Good For The Game

Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item

This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.

If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`

This does result in some instances of boilerplate as shown here:


![image](https://github.com/tgstation/tgstation/assets/51863163/a7e469dd-115e-4e5b-88e0-0c664619c878)

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution

~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~

## Changelog

🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
2024-06-11 21:58:09 -07:00
MrMelbert
d244c86ce6 Adds Character Loadout Tab to preferences (with just a small handful of items to start) (#83521)
## About The Pull Request

Adds a Character Loadout Tab to the preference menu

This tab lets you pick items to start the round with


![image](https://private-user-images.githubusercontent.com/51863163/336254447-c5f7eefa-c44c-418d-b48e-0409bb5bb982.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTgwNDAxMjMsIm5iZiI6MTcxODAzOTgyMywicGF0aCI6Ii81MTg2MzE2My8zMzYyNTQ0NDctYzVmN2VlZmEtYzQ0Yy00MThkLWI0OGUtMDQwOWJiNWJiOTgyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA2MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNjEwVDE3MTcwM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWYxYWFmYjI2NDU0YjUyODg3NjBmM2VjZDg4YWQ1YjlhMThmODU3MDYyMzYwOGVmYTcxYmY2MDhjZWVmYjQ5ZTcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.Y0_19Gisfp4yyUmLgW2atfKyneL7POWFRKNVgNWTbEs)

This also has some additional mechanics, such as being able to recolor
colorable items, rename certain items (such as plushies), set item skins
(such as the pride pin)


![image](https://github.com/tgstation/tgstation/assets/51863163/8a085d6c-a294-4538-95d2-ada902ab69b4)

## Why It's Good For The Game

This has been headcoder sanctioned for some time, just no one did it. So
here we are.

Allows players to add some additional customization to their characters.
Keeps us from cluttering the quirks list with quirks that do nothing but
grants items.

## Changelog

🆑 Melbert
add: Character Loadouts
del: Pride Pin quirk (it's in the Loadout menu now)
/🆑
2024-06-11 17:50:12 -07:00
Goat
0f646e64e4 Gets rid of BDM's islava check (#83828)
## About The Pull Request
Removes `islava(newloc)` from BDM's move atom.

## Why It's Good For The Game
Megafauna have lava immunity and so won't take any damage from pathing
over lava. BDM would get stuck on his lava tile spawn due to this as
well.
fix #83615 

## Changelog
🆑 Goat
fix: blood drunk miner can now path over lava
/🆑
2024-06-10 23:37:05 -04:00
oranges
9d06ad8103 Revert "Changeling Rebalance: Kill It With Fire, feat. Armblade Rework" (#83842)
Closes #83841
Closes #83843
2024-06-11 10:28:18 +12:00
Iamgoofball
f6281d4184 Changeling Rebalance: Kill It With Fire, feat. Armblade Rework (#83616)
## About The Pull Request


https://github.com/tgstation/tgstation/assets/4081722/684da396-fb28-4022-9f46-0fc4feb34b7a

Changelings now do not like fire, as is tradition.
If they are on fire, they no longer generate chemicals until they put
the fire out.
If they are on fire, they no longer can use any changeling powers until
they put the fire out.
All changeling equippable items like armblades, shields, armor,
spacesuits, etc. are now flammable and super-duper vulnerable to flames.
The Armblade now costs 30 chemicals to equip, and has a DNA cost of 3,
compared to the previous 20 chemicals and 2 DNA cost.
The Armblade now shatters after enough uses in exactly the same way as
the Shield; extract genomes with Absorb to maximize your Armblade's
efficiency. for its' chemical cost.
Fixes items you're holding not catching on fire alongside the rest of
you when you light on fire.
Fixes the Changeling Shield having one more hit than it was supposed to.

## Why It's Good For The Game

Changeling has been in a relatively incredibly rough state ever since
someone walked up to this predominatly stealth and intrigue based
antagonist and went "lets turn it into a carbon copy of an early 2000s
action game I just played".

![image - 2024-05-31T180546
466](https://github.com/tgstation/tgstation/assets/4081722/31f6b1bf-4c1d-4e38-be4a-d931c806a689)

Since then, just about every changeling has been a loud changeling. The
stats speak for themselves; Changelings are no longer a stealth antag
and they're defined by having an undroppable e-sword, armor, and HP
regen they can use mid-fight. They're just loud beatsticks now instead
of the scary stealth antagonist they were years ago.

I'm expecting a lot of pushback from the adrenaline addicts who dislike
the concept of stealth, to which I say: too bad.

Giving Changelings a weak point in the form of fire is not only
thematically appropriate for the original inspiration for Changeling,
but also provides the crew a way to actually scare off changelings back
into hiding, and encourages more usage of fire-causing weapons. This is
going to shake up changelings, and

Nerfing the hell out of the Armblade is going to encourage changelings
to take stealthier approaches to combat, and utilize the rest of their
power assortment that isn't just focused around being a gigantic
unstoppable beatstick.

## Changelog
🆑
balance: Changelings now do not like fire, as is tradition.
balance: If they are on fire, they no longer generate chemicals until
they put the fire out.
balance: If they are on fire, they no longer can use any changeling
powers until they put the fire out.
balance: All changeling equippable items like armblades, shields, armor,
spacesuits, etc. are now flammable and super-duper vulnerable to flames.
balance: The Armblade now costs 30 chemicals to equip, and has a DNA
cost of 3, compared to the previous 20 chemicals and 2 DNA cost.
add: The Armblade now shatters after enough uses in exactly the same way
as the Shield; extract genomes with Absorb to maximize your Armblade's
efficiency. for its' chemical cost.
fix: Fixes items you're holding not catching on fire alongside the rest
of you when you light on fire.
fix: Fixes the Changeling Shield having one more hit than it was
supposed to.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-06-09 15:00:53 +01:00
Time-Green
fde2eb3177 NEW BEPIS: Positronic sphere (#83688)
## About The Pull Request

Adds a new positronic brain variant to bepis tech
To save materials we took the corners off but now they can roll
It can roll around, knock items over and push other posibrains away
You can also kick it across the room and it's a lot cheaper because you
cut the corners off


https://github.com/tgstation/tgstation/assets/7501474/e4f913e8-cf2f-455a-b2eb-1654468df708

## Why It's Good For The Game
A chorus of whining posibrains is like heroine to the ears, now they can
aggresively shit around the robotics lab while whining for their DURAND
or cyborg shell, but the robo can also punt them into the disposal bin

## Changelog
🆑
add: Adds a positronic sphere to bepis tech and roboticist mail goodies.
It can now wreack havoc across the robotics lab while whining for a
DURAND body, but you can also punt it!
/🆑

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-06-09 14:52:00 +01:00
Afevis
295a1b28ab Fixes basic bots being targeted by turrets (#83777)
turret faction got removed by accident.

fixes #83747

🆑 ShizCalev
fix: Basic bots are now in the proper faction and will no longer be
targeted by turrets.
/🆑
2024-06-08 19:23:37 -04:00
DustanHache
82b3de721a lobstrosity's meat is RAW! (#83786)
## About The Pull Request

A simple fix to meat drops on lobstrosities, so that they aren't
pre-cooked.
## Why It's Good For The Game

Chefs have a limited access to crab meat unless miners are generous
enough to bring it back, but because it is cooked it can't be used in
crab rangoon or other recipes that call for the meat raw.. miners on the
other hand usually aren't pressured for food anyways, due to how
lavaland and icebox are. Furthermore, this is a sanity check of sorts:
Why are lobstrosities, especially Arctic lobstrosities, dropping cooked
meat? If they're able to survive in lava, it should probably come out
raw.

## Changelog
🆑
fix: Lobstrosities are no longer pre-cooked through bluespace
shenanigans.
/🆑
2024-06-08 19:22:04 -04:00
krookodilehunter
aa7c0666d3 Fixes some Raptor grammar (#83794)
## About The Pull Request

Corrects some grammar in the raptor code. (This time it should be
correct!)

## Why It's Good For The Game

Good grammar is best grammar

## Changelog

🆑
spellcheck: fixes bad raptor grammar
/🆑
2024-06-08 19:20:58 -04:00
_0Steven
1e60447ada Fix crew records not accounting for quirks for latejoiners (#83740)
## About The Pull Request

So crew records weren't actually showing the right quirks for
latejoiners, and in at least one instance (heterochromatic eyes) even
the fingerprint was wrong. The latter seemed to be caused by a recent
fix pr making the quirk actually update your dna, for the sake of
paradox clones/changelings.
Looking into it, this seemed to be because we assign quirks to
latejoiners _after_ injecting them into the manifest:

b7225d8486/code/modules/mob/dead/new_player/new_player.dm (L218-L244)
See line 219 and 244.

So we move manifest injection to be _after_ quirk assignment:
```dm
(line 242-246)
	if((job.job_flags & JOB_ASSIGN_QUIRKS) && humanc && CONFIG_GET(flag/roundstart_traits))
		SSquirks.AssignQuirks(humanc, humanc.client)

	if(humanc) // Quirks may change manifest datapoints, so inject only after assigning quirks
		GLOB.manifest.inject(humanc)
```
This fixes it.
## Why It's Good For The Game

Makes quirks actually show in the medical records for latejoiners.
Makes latejoiners with heterochromatic eyes not have the wrong
fingerprint in the security records.
_Probably_ fixes #83681.
Fixes #56469.
## Changelog
🆑
fix: Latejoiners with heterochromatic eyes no longer have the wrong
fingerprint in the security records.
fix: Latejoiners actually have their quirks visible in the medical
records.
/🆑
2024-06-07 22:07:55 -04:00
zxaber
fe629442af Fixes borg chargers constantly (abet slowly) draining borg cells. (#83743)
## About The Pull Request
- Adds in checks for the borg consumables resupplying to stop drawing
power once supplies are full. Specifically, the `respawn_consumables()`
proc will run attempting to stock everything it can, and will return
TRUE if any item required stocking.
## Why It's Good For The Game
Certain borg tools are still supplied by the borg chargers directly at a
power cost because material costs just don't make sense. These did not
have a check in place for if the various resources were full, meaning
every process cycle a bit of the borg's cell would be used attempting to
restock things. Since it's a percentage of the cell's current charge, a
filled bluespace cell could have a surprising power leak.

Now that borg chargers pull directly from the SMES units, borgs don't
recharge if the powernet is empty (regardless of local APC charge). But
borg consumables restocking carries on, which causes borgs to slowly
drain. So I have added some checks to stop the drain if nothing was
actually done.
## Changelog
🆑
fix: Fixed borg chargers (especially unpowered ones) constantly draining
a borg's cell.
/🆑
2024-06-07 15:30:39 -04:00
Time-Green
108880a1e6 Sneeze Rework: Projectile Combat Edition (#83361)
## About The Pull Request
Reworks sneezing. Instead of a range check that checks if you're facing
someone, it is now a skill check


https://github.com/tgstation/tgstation/assets/7501474/c11ffa16-9bd2-4ed1-8022-2094360657bc

All sneezes shoot projectiles, but depends on the virus if they're
infectious. Using the sneeze emote is the only method that doesn't shoot
a sneeze

## Why It's Good For The Game
I think the invisible infection mechanics are unfun. A lot of station
dangers challenge your knowledge and mechanical skill, while viruses are
gotten by being around people in a roleplay game. You can get a round
seriously ruined if you walk past someone with a sneezing virus and
don't immediately rush spaceillin or chemistry, which I don't think is
mechanically interesting.

Now if you get infected, it's a skill issue. Get good and dodge the
sneeze

Note that this is just one method of infection. I didn't touch coughing
and airborne viruses, which do constant area checks and infect everyone
around. I plan to, but not now. I'll probably make coughing do a cone or
something, and ignore the airborne viruses since they can't be modified
and are generally less broken

## Changelog
🆑
balance: You can now dodge sneezes
balance: Infectious simple diseases that use sneezes now infect with
sneezes and have lowered airborn transmission
balance: Damageless attacks, projectiles, hugs etc no longer drain
shields
/🆑

- [x] Make sneezes shoot to your cursor so you can either intentionally
sneeze on people or sneeze away from people if you react fast

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-06-07 13:40:05 -04:00
thegrb93
8925d03775 Fix borg emag modules stuck in inventory/screen after losing emag status (#83734)
## About The Pull Request
Checks that held modules exist in new module list after rebuilding
modules before putting them back in held modules.
Fixes emag modules stuck in inventory/screen after losing emag status
Also fixes jank fail to install piercing hypospray upgrade
## Why It's Good For The Game
Fixes buges
## Changelog
🆑
fix: Borg emag module jank when no longer emagged
fix: Borg piercing hypospray fail message
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-06-07 00:09:47 -07:00
Erol509
f6569b4a14 Little QOL change for AI cyborg display power (#83625)
## About The Pull Request

Slightly changes the formating from ugly 1e777 numbers to neat Jules
format.
## FROM 

![image](https://github.com/tgstation/tgstation/assets/81807356/755d4e2f-feed-4aa5-afed-e3f6f410910c)
## TO 

![image](https://github.com/tgstation/tgstation/assets/81807356/1e276476-afa7-46f2-a5a2-ef2a245a4fa2)

## Why It's Good For The Game

Much prettier stat panel and easier to read

## Changelog
🆑
qol: Cyborgs on AI statpanel now have jules energy format. 
/🆑
2024-06-06 10:17:34 +01:00
Pickle-Coding
35216f127c Paradox clones copy the voice. (#83729)
## About The Pull Request
I have no idea if this works because I didn't setup TTS to test, but
it's simple. Makes paradox clones use the victim's voice.
## Why It's Good For The Game
Closes #81450

Because it doesn't make sense for a clone to have a different voice.
## Changelog
🆑
fix: Fixes paradox clones using a different voice from the owner.
/🆑
2024-06-05 23:54:29 -04:00
Jacquerel
4339c0ba49 Mutadone restores your original monkey status (#83720)
## About The Pull Request

Before PR:
Giving mutadone to a monkey turns it into a human
Giving mutadone to a human does nothing about its human status

After PR:
Giving mutadone to a monkey created from a monkey cube does nothing
about its monkey status
Giving mutadone to a monkey which was originally a human restores it to
being a human
Giving mutadone to a human who has never been a monkey does nothing
about its human status
Giving mutadone to a human who was originally a monkey returns it to
being a monkey

I couldn't think of any better way to achieve this than putting a trait
on the monkey typepath but if anyone has one, I'd love to hear it
(actually, maybe I could just typecheck the mob... but that seems
equally gross)

## Why It's Good For The Game

Treating "being a monkey" as a mutation makes sense from the perspective
of the DNA console but not from the perspective of certain other game
mechanics.
A chemical which "removes all mutations" should _intuitively_ restore
people to the state they were in at the start of the round (so monkeys
turned into humans should return to monkey, and vice versa) rather than
unilaterally enact rapid evolution upon monkeys.
At least, I don't _think_ it's meant to be a lore implication that all
test apes on the station are transformed humans...

This has a couple of side effects, both of which I think are desirable.

Firstly- some mechanics work on humans but not monkeys (see #83698), and
can be circumvented by spraying mutadone gas into a monkey pen. This
will now only be achievable by individually mutating each monkey, which
requires more effort for whatever your desired result is.
Secondly- this adds a downside to the common "cure-all" surgical method
of turning a monkey into a human and transplanting a brain into it. This
new body will still genetically remember being a monkey, adding some
element of risk to this otherwise undramatic means of curing basically
any ailment in the game.
Thirdly- Some people have admitted to using mutadoned monkeys to create
a large number of humans to kill for Heretic and Changeling progression,
which I also don't want them to do, so making this take longer is a
positive.

## Changelog

🆑
balance: Mutadone restores your originally monkey status, rather than
always turning monkeys into humans
/🆑
2024-06-06 11:13:38 +12:00
Ben10Omintrix
55c41fb9ad basic honkbots (#81920)
## About The Pull Request
this refactors honkbots into basic mobs. its mostly a faithful 1:1
refactor but i couldnt keep my hands to myselves so i gave them some new
behaviors.

honkbots now love playing with clowns, they will go seek out for clowns
and celebrate around them. also, if the honkbot finds a banana peel or a
slippery item near it, it will actively drag people onto them

honkbots will now go out of theirway to mess with secbots and annoy them

## Why It's Good For The Game
refactors hinkbots into basic bots and also undoes some of the silliness
i did in the previous basic bot prs. i also added lazylist support to
remove_thing_from_list.

## Changelog
🆑
refactor: honkbots are now basic mobs, please report any bugs
add: honkbots will try to slip people on banana peels
/🆑
2024-06-05 10:17:34 -04:00
Jacquerel
167c55bed2 Sentient mobs can slowly subtract slime stacks by shaking (#83471)
## About The Pull Request

Closes #82746
PR #77569 replaced the clone damage inflicted by slimes with a lingering
damage over time effect which can be removed with water.
This is all well and good for humans who can spray themselves with fire
extinguishers, showers, or sinks... but most other mobs are not actually
capable of opearating any form of equipment which can make them wet.

This PR allows you to click on the debuff icon to shake the slime off
slowly over time (15 seconds to fully remove the debuff).
This is slower than the recovery time when wet.

Dogs, Cats, and by extension, Felinids are better at removing slime
because of their self-cleaning prowess (they're always licking weird
stuff off themselves). This is rarely helpful if you're not a Felinid,
because almost all cats and dogs have so little health that they will
hit the minimum health threshold and lose the debuff anyway by the time
they would be done.
In the very niche circumstance that a sentient wolf is attacked by a
slime they will appreciate this bonus.

## Why It's Good For The Game

This was a replacement for slimes inflicting clone damage (I am not sure
this even did anything for most simple mobs?) but essentially turned
slimes into an automatic death sentence for most forms of mob without
hands.
Technically the slime debuff cannot kill you and stops if you are under
10 HP, but this is small consolation for most of these mobs which cannot
heal themselves either.

You are still probably going to take between 30-60 damage during the 15
seconds of removing slime from your body.

## Changelog

🆑
balance: Corrosive slime left behind after a slime fails to eat you can
be scraped off with your hands, or shaken off in some other way, by
clicking on the debuff. This is slower and less effective than washing
it off using water.
/🆑
2024-06-05 14:47:02 +02:00
Jacquerel
7ea65a30fd Legioned Monkeys create different mobs (#83698)
## About The Pull Request


![image](https://github.com/tgstation/tgstation/assets/7483112/e25b360a-3cb2-4150-998c-c1293e917b68)

A Monkey infested by a Legion will spawn a "Rabble" instead of a
"Legion".
This is a somewhat slow 40 HP mob which tries to melee attack nearby
people.
Its only real claim to excitement is that it can and will ventcrawl if
it has nobody to attack.

## Why It's Good For The Game

Apparently people are creating large amounts of monkeys using monkey
cubes and then using the Legion's infestation mechanic to transform them
into large groups of much more dangerous mobs.
This is funny and creative but probably shouldn't be as effective as it
is.
Replacing Legion Monkeys with this mob will still create a mob of...
mobs, but they won't self-perpetuate in the same way.

## Changelog

🆑
add: A unique kind of mob is created when a Monkey is infested by a
Legion.
/🆑
2024-06-05 14:28:43 +02:00
DrAmazing343
707b5ef744 Minor Spider Rebalance (#83554)
## About The Pull Request
Breacher and Viper player-controlled Spiders have swapped castes; Vipers
now come from Abnormal Eggs, while Breachers will now come from Enriched
Eggs. This means that Vipers may be seen more, while Breachers require
the Nest to acquire at least a single kill to wrap and create an
Enriched Egg from. Nurse Spiders also perform their heal action much
faster, at the cost of a bit less healing. It was very difficult to heal
others due to the long do_after and thus we saw very few Nurse Spiders.

Breacher Spiders also are now NOT immune to cold, and will die if they
try to space a room or go into space.

## Why It's Good For The Game
Breacher Spiders are in kind of a difficult spot, both in theming and
balance; their space resistance made them able to vent the station in
multiple places by breaking key walls, and they had no need to commit to
their sieges because they could escape into space at all times. It also
broke part of the dynamic of Spiders wanting to keep the atmosphere in
the station, and disincentivizing Breachers from venting the station
also makes them more coherently a part of the Nest because they won't
reduce the Nest's habitable area.

Viper Spiders were seen quite little instead of the other options in the
Enriched Egg; now, hopefully we'll see more. Likewise, the Breacher is
quite powerful for being an Abnormal Egg, so perhaps now we'll see more
focus on cocooning to unlock the powerful Breachers, or just overall
less of them, which will help even the odds.

Nurse Spiders were VERY underutilized despite their power— the do_after
for their healing just felt obnoxiously long, and especially in tense
situations, you'd have shuffle and Spiders yelling at one another
because two of them have to Space Hulk the hallway for a semi-extended
period of time. Now, Nurses will be able to heal and move on a bit
faster. I don't believe this will create too many issues, balance-wise,
as the time-to-kill on Spiders is still quite low for all but the
tankiest against lasers and even welders.
## Changelog
🆑 Jane
balance: Spider Breachers and Vipers have swapped castes. Breachers come
from Enriched Eggs while Vipers come from Abnormals! Breachers can no
longer survive in spaced rooms/temperatures. The Nurse wraps wounds
faster, but with less damage healed per wrap.
/🆑
2024-06-03 19:46:32 +01:00
Joshua Kidder
5e9f1f6582 Cuffed people can sign (to a limited degree), signing tone emotes improvement (#83501)
## About The Pull Request

Currently, if you handcuff someone and they only have sign language
available to speak in (mute, no tongue, nearby people are deaf, you have
bronchitis(?)), they are rendered totally unable to communicate with
anything but emotes. This is stifling to trying to roleplay with nearby
people who want to keep you cuffed for whatever reason (security,
antagonists, weirdos who keep hugging you, etc).

So instead, I've made it so that if you use sign language while
handcuffed, you are still able to sign, but to a much more limited
degree (3 - 5 words per message).

If you're put in a straightjacket, you're still totally unable to use
sign language.

Additionally, I spruced up the messages that sign language uses to
signify tone (?, !) and added one for EXCLAIMED QUESTIONS?! I also made
the emotes work as emotes, rather than the small (easily missable)
messages in the chat box. These emotes will not fire if you sign with
tone while cuffed, to avoid you becoming a spam machine.
## Why It's Good For The Game

It lets cuffed sign language users communicate, which is usually a
pretty good thing when it comes to improving a scene for both them and
the people they're playing with.

It improves the descriptiveness of the inquisitive and exclamatory tone
messaging for sign language users, and also adds one for a combination
of the two tones.
## Changelog
🆑
qol: Sign language users can now sign in cuffs, but to a very limited
degree. They also have more descriptive emotes for questions,
exclamations, and a combination of the two.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-06-01 16:01:03 -06:00
carlarctg
445ed08ce1 Adds Crutches to Medbay & Crafting (#83242)
## About The Pull Request

Added crutches! Wooden ones can be made with wood. Medical ones can be
bought from the medvendor.

Crutches will reduce slowdown from missing a leg by 60%, and they will
remove the limping from fractured bones. They're also a fairly decent
bludgeon. However, they do nothing if both legs are cut off. Canes now
also remove broken bone limping as well

Changed the 'white cane' name to 'probing cane' to better reflect its
function.

Shuffled some wound and mob code around, added signals for limbless
slowdown and limping.

Crutches make you waddle.

SPRITES BY XHORIAN!!!!!!!!!!!!!


![image](https://github.com/tgstation/tgstation/assets/53100513/fe7e5ac8-0e6e-4291-ae64-c96632997607)

![image](https://github.com/tgstation/tgstation/assets/53100513/bde7fd7a-38d4-4036-82f2-01bdb8a6f00b)

![image](https://github.com/tgstation/tgstation/assets/53100513/9d94bc8d-5a80-4199-a044-7c5cf1944f99)

![image](https://github.com/tgstation/tgstation/assets/53100513/b26ecf53-177a-400d-aa5a-f2c0d5560942)



## Why It's Good For The Game

> Added crutches! Wooden ones can be made with wood. Medical ones can be
bought from the medvendor.

> Crutches will reduce slowdown from missing a leg by 60%, and they will
remove the limping from broken bones. They're also a fairly decent
bludgeon. However, they do nothing if both legs are cut off.

Currently there's no way to abate slowdown from a missing leg except
getting on a vehicle, which I think is pretty lame. What if all the
doctors are busy, missing, or dead? What if medbay is a hole? A crutch
helps make up for the loss at the cost of a hand slot.

> Changed the 'white cane' name to 'probing cane' to better reflect its
function.

'White cane' was undescriptive.

> Shuffled some wound and mob code around, added signals for limbless
slowdown and limping.

I dont know where to put the friggin signals

## Changelog

🆑
Carlarc, Xhorian
add: Added crutches! Wooden ones can be made with wood. Medical ones can
be bought from the medvendor.
add: Crutches will reduce slowdown from missing a leg by 60%, and they
will remove the limping from fractured bones. (canes do that now too)
They're also a fairly decent bludgeon. However, they do nothing if both
legs are cut off.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-06-01 20:02:00 +00:00
Gaxeer
f53dd0735d fix: allow giant spiders aggressively grab again (#83531)
## About The Pull Request

Remove check that restricted non-carbon mobs from upgrading grab, using
`max_grab` instead which exists for this purpose
All mobs now have `max_grab` set to `GRAB_PASSIVE` by default, overrided
where required.
Giant spiders can now agressively grab, which makes `ambush` spider
playable again (i hope).

closes #83485

## Why It's Good For The Game

Ambush spider works as intended, as it has `STRONG_GRABBER` trait, but
effectively it didn't work, as spiders couldn't grab agressively.

## Changelog

🆑
fix: ambush spider (should instantly agressive grab) and other giant
spiders can now agressively grab
/🆑
2024-06-01 18:29:33 +01:00
Echriser
790ef2c72d Fix not being able to stop looking vertically (#83503)
## About The Pull Request
This fixes a bug with the look down/up verbs where you are not able to
*stop* looking unless you're on a tile where you're able to *start*
looking.

## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/16826524/6cafddbb-2f52-47d5-839e-dfac1595521d)


## Changelog
🆑
fix: you are now able to cancel the look up/down verbs from anywhere
/🆑
2024-06-01 18:10:14 +01:00
MrMelbert
b1a4e0ba7e Makes disease airborne spread more realistic (#83423)
## About The Pull Request

1. Rather than checking every life tick to try to spread via air, it
checks every breath tick. IE, every 8 seconds.
2. Wearing a mask now protects you from catching airborne diseases,
rather than only protecting you from spreading it.
3. Wearing a mask is no longer guaranteed effective (unless on
internals), it now scales based on BIO armor. This is doubly effectively
for people wearing a mask to stop spreading to others vs wearing a mask
to block spreading to them.

## Why It's Good For The Game

Wearing any kind of mask means airborne viruses will never spread, but
also wearing any kind of mask on the opposite end is pointless unless on
internals. Kinda silly.

This PR unifies those behaviors. Wearing a mask to stop spread is still
rewarded, as BIO armor is doubly effective at stopping a spread attempt
as blocking a spread attempt.

Ultimately the goal of this is to give players a realistic way to
protect themselves against airborne transmission vectors besides staying
on internals 100% of the time.

## Changelog

🆑 Melbert
balance: Wearing a mask can now prevent you from being spread airborne
diseases. Prior, it only stopped you from spreading it yourself.
balance: Wearing a mask no longer 100% guarantees you don't spread
viruses to others people - it now scales on the masks BIO armor. Get a
sterile mask from Medical for max safety.
balance: Wearing a mask to stop you from spreading to other people is
doubly effective than wearing a mask to prevent spread to yourself -
Mask up for the greater good!
balance: Passive airborne virus spread attempts are now done every time
you breathe (every eight seconds), rather than every two seconds. The
chance of spread is the same, though - it has been scaled up to
accommodate.
code: Cleaned up a fair bid of airborne-transmission-code. Report any
oddities.
/🆑
2024-06-01 17:51:04 +01:00
Lufferly
7f82baf07f Fixing the timeline (Paradox clone fixes) (#83452)
## About The Pull Request

Fixes #83388 (Hair gradients are now part of dna, if just making a
snowflake check on paradox clones is a better way to do this I can do
that too)
Fixes #82238 (Hardcore random was not supposed to set your hair to
white)
Fixes paradox clones (and changelings) not having correct heterochromia
colors
Fixes #80557

## Why It's Good For The Game

Bugfixes; Paradox clones are supposed to at least be a copy of the
target player as they are roundstart, but right now for funkier
characters they are being outed for having the wrong hair gradient or
something, which feels bad. Hopefully this can bring us to a point where
medical and security records cant out the clone.

## Changelog

🆑 Seven
fix: Paradox clones (and changelings) now properly copy hair gradients
and heterochromia eye colors.
fix: Hardcore random no longer mistakenly makes your hair white, this
was not a feature.
/🆑
2024-06-01 18:22:23 +02:00
Wayland-Smithy
c6c1963723 Restrict AI floor bolt external manipulation (#83463)
## About The Pull Request

My delayed reaction to #68451

**When an AI is alive, on main power, and not SSD its bolts cannot be
raised or lowered externally thus returning some small amount of
autonomy to everyone's favorite brain in a box.**

I tested to be sure this change does not interfere with (de)construction
or other tool actions besides their "must be anchored" requirements.
Should maintainers wish I can adjust the check to allow external
lowering, but not raising, of the bolts anytime to satisfy those
scenarios.

I decided to include "is on backup power (incapacitated)" in the check
as a middle ground so when moving an AI from a bombed sat or the like
anyone who is now used to being able to wrench for a rescue is not
caught off guard since AI gets a harsh penalty for moving bolts on
backup power (most likely overlooked in the original PR). This also
means if you really want to move an active AI Core against its will you
still have a path forward aside from _convincing_ the AI to raise them
voluntarily.

## Why It's Good For The Game

IMO this sort of check should have been included in the original
changes, or at least made to post the anchor status message to the AI's
chat rather than a balloon they are likely to miss. An incapacitated AI
is much more likely to be watching their core.

In the grand scheme this changes very little for anyone out to get an AI
since they will most likely just card or smash it to death anyway. It's
mostly just good for a little silicon piece of mind.

## Changelog
🆑
balance: When an AI is alive, on main power, and not SSD its bolts
cannot be raised or lowered externally.
/🆑
2024-06-01 18:18:59 +02:00
jimmyl
3808dc8821 projectile dismemberment respects limb dismemberability (#83479)
## About The Pull Request

projectile dismemberment respects limb dismemberability
## Why It's Good For The Game

bug bad

## Changelog
🆑
balance: you may not decap people with a plasma cutter
/🆑
2024-06-01 18:14:36 +02:00
_0Steven
c10b0d3b2f Remove a bunch of unnecessary periods from photo descriptions containing living entities. (#83564)
## About The Pull Request

Looking at a picture I noticed the description was a bit off, so I did
some testing:

![image](https://github.com/tgstation/tgstation/assets/42909981/828664eb-d619-4000-8fcf-a847b8746556)
Lo and behold, wow it really does just slap periods on everywhere huh?

So I just went through the code for getting mob photo descriptions and
shuffled around where and when the periods are placed til it no longer
did that:

![image](https://github.com/tgstation/tgstation/assets/42909981/ed926ea6-5d4e-42d7-ab49-a9c6fd517bb1)
Also replaced a single letter variable while I was at it.

### EDIT:
Also added newlines between them, for good measure.

![image](https://github.com/tgstation/tgstation/assets/42909981/814b778b-6aac-4e9a-be90-8a2ed78fed08)

## Why It's Good For The Game

Think it's better for there to not be excess periods. ..

### EDIT:
The added newlines also make it, well, more readable.

## Changelog
🆑
spellcheck: Photo descriptions containing living entities no longer have
a pile of unnecessary periods. .. Which they used to have between
describing different entities. .. Also removed that additional space
they had too sometimes..
qol: Photo descriptions containing living entities have these
sub-descriptions split into newlines for ease of reading.
/🆑
2024-06-01 18:08:44 +02:00
Waterpig
16ec040798 Stops janiborgs from killing the machinery subsystem by charging light replacers 200000 times a charge tick (#83624)
## About The Pull Request

So, with the somewhat-recent power changes, cells now have a shitton of
charge compared to the old one.

Now, recently, the `model.respawn_consumable` call in
`/mob/living/silicon/robot/proc/charge` was changed to use this
variable, so every time you had a borg inside a charger, it would
constantly drain 0.5% of its cell charge, and use it for the light
replacer charge calculation.

### The light replacer

So, we now have about 200000 as the charge coefficient on bluespace
cells. On code that was made back for 1000 charge in like 2012 according
to the gitblame. Slight issue: **There's a fucking for loop looping
200000 times every time we charge**, calling
`/obj/item/lightreplacer/proc/Charge` every time it loops. It has no
break condition, so it does this every machinery tick. This, with a
single janiborg with a blue cell kills the machinery subsystem and
causes a hell of a lot of overtime, and a hilarious profiler log:

![image](https://github.com/tgstation/tgstation/assets/49160555/92726216-3bc3-4504-ab69-a2f2adf954f8)

### The fix

Simply not make the light replacer calculation loop like this and just
use division and a modulo, like a normal sensible coder, plus adjust it
to the new cell values.

See the profiler log now:

![image](https://github.com/tgstation/tgstation/assets/49160555/d909de18-f0a2-4172-ae8d-98f2641bcc89)

## Why It's Good For The Game

It fixes a potentially game killing bug. A FUCK moment to be sure

## Warning for upstreams

_Looks at Nova and Skyrat_ check your Charge() proc usages, I know you
have at least one extra hit for it.

## Changelog

🆑
fix: Fixes janitor borgs killing the machinery subsystem by charging
light replacers 200k times a tick.
/🆑
2024-06-01 02:11:09 -07:00
John Willard
8442124bcd Gondolas are now basic mobs (#83451)
## About The Pull Request

This PR turns gondolas into basic mobs and does some fiddling with
gondola pods
Their verbs are now action buttons which they lose upon delivering. If
set to stay, they won't have their abilities afterwards (or wont get
them in the first place if the delivery is already done).
Lets them survive without a pod requirement in case admins want to spawn
one for their own stuff, so I also removed it from the snowflake checks
to exclude them from stuff.

Also replaced the hardcoded "cant speak" with simply giving the mute
trait, so admins can make gondolas speak if they want to for any reason.

## Why It's Good For The Game

The pet level of simple animals can finally be killed off, also gives
admins more control over gondola-related stuff if they so wish.

## Changelog

🆑
refactor: Gondolas (including gondola pods) are now basic mobs.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-05-31 16:48:31 -06:00
zxaber
bc00c6d91b Fixes Minebots ordered through cargo being stuck in idle mode (#83482)
## About The Pull Request
- Presumably due to being spawned off-station on (I believe) the
centcomm Z-level, Minebots ordered via points and that are delivered by
the shuttle are stuck with their AI in the idle state. Rather than
override a bunch of base-level AI code, I made clicking on them set
their status to active. Right-clicking will set this without opening the
bot's UI, while left-clicking will do both. Examine text now gives users
a hint about this.

- Removed text about feeding the mining bot ore to befriend it, as this
functionality was removed in an earlier PR.
## Why It's Good For The Game
Bugfix.
## Changelog
🆑
fix: Minebots purchased via mining points are no longer stuck in idle
mode. Clicking on them will activate their AI.
spellcheck: Removed the examine text about feeding ore to minebots; this
functionality was removed already.
/🆑
2024-05-31 10:48:57 -07:00
Rhials
a05321db2f Increases move resistance on NODE Drones, adds handling for when the drone is seperated from the node (#83309)
## About The Pull Request

NODE Drones now have higher move resistance
(MOVE_FORCE_EXTREMELY_STRONG), preventing them from being bumped off the
node, pulled away, or lifted away by a fulton extraction kit.

As an extra layer of assurance, the NODE Drone will depart from the site
if it is moved off of its vent.

## Why It's Good For The Game

Closes #83164.

I'm pretty sure these things shouldn't really be ever moving off of
their vents.
## Changelog
🆑 Rhials
fix: You can no longer force NODE Drones off of ore vents. That includes
using fulton packs!
fix: When a NODE Drone is forcibly separated from its vent, it will fly
away.
/🆑
2024-05-30 12:46:48 +01:00
san7890
e81f9c6ef0 Replaces move_on_shuttle with a trait (#83550)
## About The Pull Request

`move_on_shuttle` was a variable that existed on `/mob` despite only
ever being used by cameras. This PR downgrades the variable to only
exist on `/mob/camera` types, but have the only thing that variable do
is add a trait that blocks movement on shuttles if not allowed. This
allows us to check the variable without casting to camera, which is what
some code was un-necessarily doing. This also retainst the ability to
add the trait later on to different mobs who we may not want to be on
shuttles that aren't `/mob/camera`.
## Why It's Good For The Game

There's no point for this variable to live on `/mob` if all it can do is
clog up the VV screen, especially if the current utilization for it is
only cameras. Let's move it off `/mob` and turn it into a trait so it
still has the similar utilization on a global level without typecasting
- as well as make it actually work since needless typecasting was
introducing a minor bug
## Changelog
Irrelevant.

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2024-05-30 08:54:31 +02:00
Time-Green
93b2f48c49 Log trauma gain and loss (#83519) 2024-05-29 00:26:48 -06:00
Whoneedspacee
152b3c550a Wendigo Mob Abilities (#83325)
## About The Pull Request

Converts wendigo's abilities into mob abilities, behavior should be
almost identical to how it was before. Also gave megafauna the same
night vision as normal lavaland mobs since controlling them and being
unable to see was difficult while testing. Wendigo's scream and slam
were made into global procs so they could be used across these
abilities, but if there's a better way to do that I'm open to it.

## Why It's Good For The Game

More refactoring to make way for converting these all to basic
megafauna.

## Changelog

🆑
refactor: Wendigos abilities have been changed into actions that can be
added to any mob.
/🆑
2024-05-27 12:09:10 -07:00
Jacquerel
29b3f30eb7 Vines can't pull anchored objects, can pull you off tables (#83410)
## About The Pull Request

Fixes #83072 by preventing the ability from targeting anchored atoms.
Also fixes the logic to only check for obstacles interposed between us
and the target, not ones sharing the tile.

## Why It's Good For The Game

This is how the ability was already supposed to work

## Changelog

🆑
fix: Venus Man Traps cannot use vines to drag around machines or objects
that are bolted, welded, rooted to, or otherwise are part of the ground
fix: Standing on a table will not prevent you from being grappled by a
Venus Man Trap
/🆑
2024-05-27 10:46:11 -06:00
MrMelbert
249df48116 Deletes handle_random_events, saving us from 1 whole proc call in Life (#83421)
## About The Pull Request

Dumps `handle_random_events` in the bin, giving us one less proc in
`Life`, that's a free proc call optimization baby.

Replaces its only implementation with a status effect conditionally
applied when gaining / losing tox dam.

## Changelog

🆑 Melbert
refactor: Refactored the way high toxins cause you to vomit.
/🆑
2024-05-26 11:58:16 -07:00
Time-Green
b872baf465 Removes miasma and gibs diseases (#83455)
## About The Pull Request
Removes miasma generating random viruses (in two locations for some
reason)
Also removes diseases being generated by gibs, which is responsible for
a lot of disease spam

## Why It's Good For The Game
New diseases are spread through events and virology (and some other
minor sources). Miasma and gibs are a source of random viruses that
dilutes player response to diseases. It's frankly exhausting curing the
disease outbreak, just to see 10 others pop-up. Hopefully we can reduce
the madness a bit and place more focus on individual diseases

## Changelog
🆑
del: Miasma and gibs no longer generates random diseases
/🆑

Something like lung rot could be cool though, but out of scope for the
current PR
2024-05-26 11:56:16 -07:00
YesterdaysPromise
8eb3b51ad9 /icons/ folder cleansing crusade part 3 (#83420)
## About The Pull Request

In my effort to make the /icons/ folder cleaner and more intuitive
instead of having to rely on recalling names of stuff and looking them
up in code to find them for poor sods such as myself, plus in spurt of
complusion to organize stuff, here goes. I've tracked all changes in
commit descriptions. A lot still to be done, but I know these waves go
over dozens of files making things slow, so went lighter on it.
Destroyed useless impostor files taking up space and cleaned a stray
pixel on my way.

## Why It's Good For The Game

Cleaner /icons/ file means saner spriters, less time spent. Stray pixels
and impostor files (ones which are copies of actually used ones
elsewhere) are not good.

## Changelog

🆑
image: Cleaned a single stray pixel in a single frame of a bite
telegraphing accidentaly found while re-organizing the files.
/🆑
2024-05-25 21:08:08 -07:00
Ben10Omintrix
6da03cfb66 minor raptor tweaks (#83407)
## About The Pull Request
i think i made these a bit too strong, this hopefully balances them out
a bit. they were initially accidentally given alot of armor against
ranged attacks, this is now removed. also ive reduced their base hp by a
bit. im open to other suggestions and feedback

## Why It's Good For The Game
they were stronger than i intended. this keeps their usefulness for
battling tendrils, or ore vents but also prevents using them to cheese
several megafauna

## Changelog
🆑
balance: you can now polymorph into raptors
balance: raptors overall have less health and no longer have armor
against ranged attacks
/🆑
2024-05-24 16:12:49 +01:00
Ben10Omintrix
90cc66953e adds a new fish to lava and plasma rivers (#83146)
## About The Pull Request
this pr adds a new fish to lavaland and icebox, the lavaloop! i noticed
neither has any exclusive fish so im trying to add one of my own. u can
find this fish by using reinforced rods on lava or plasmarivers. this
fish is also lobstrosity's favorite delicacy as you will now often see
AI controlled lobstrosities fishing for it in lava and then eating it.

![fished](https://github.com/tgstation/tgstation/assets/138636438/03cd4095-940d-4cc0-8d1e-2064cae1921d)

because of its body's curvature and razor sharp spikes, this fish can
also be used as a make-shift boomerang weapon against mining mobs,
although it comes with some new mechanics. u can increase the damage it
does to mobs by winding up ur throw. when the bar reaches purple, this
indicates maximum damage. however, if it goes over the purple, it will
react violently and explode your arm off, so you have to time it just
right to get the best damage possible. On icebox, instead of dealing raw
damage, fish will freeze mobs depending on how long you charged ur
throw. charging it for too long will cause the fish to freeze you
instead


https://github.com/tgstation/tgstation/assets/138636438/c8ac3696-3705-45b0-bc43-c5b81d75cb1b

while its nowhere near as effective as using PKA's or crushers, it can
be a useful tool for hermits and ashwalkers.
## Why It's Good For The Game
having lobstrosities fish and hunt for it makes lavaland feel more like
an ecosystem with a food chain. also i think tossing fish at eldritch
horrors is a funny way to fight them

## Changelog
🆑
add: adds a new fish to lava and plasma rivers, the lava loop
/🆑
2024-05-22 23:11:45 -06:00
Afevis
53a8ba74c8 grep's for "recieve" typos (#83369)
Just spellchecking some common mistakes.
2024-05-23 00:41:05 -04:00
Ben10Omintrix
b35a79464f jps movement can read accesses from the access component (#83384)
## About The Pull Request
jps movement can read accesses from the access component

## Why It's Good For The Game
i cant think of any mobs that need this now but it will be useful in the
future

## Changelog
🆑
/🆑
2024-05-22 19:01:31 -04:00
Jacquerel
77aefc3815 Legion mob nerfs (#83267)
## About The Pull Request

This PR does a handful of things to make the hostile "Legion" mob less
dangerous.
Firstly: They will spawn extra mobs half as often.
Secondly: Those mobs have the "attack forecast" component also used by
Goliaths and some other mining mobs.

Also now Legions can't spawn skulls while they're inside pipes or bags,
because that doesn't make any sense.

## Why It's Good For The Game

When converted to basic mobs these guys became _far_ more deadly than
they were supposed to be, to the point where even approaching a Legion
tendril was basically suicide.
This was compounded by an issue which would sometimes cause 33% more
Legions to be present at the tendril than were supposed to spawn there,
but they'd still be fairly scary with just 3 of them.

There were a couple of causes of this which this PR does something to
address:
- Simple mob AI was simply a lot more sluggish than Basic Mobs. Legions
now react faster and more reliably _actually_ spawn skulls at every
available opportunity whereas previously despite having the same
cooldown they wouldn't always bother.
- Similarly, the skulls themselves were slower to pick a target and
slower to attack, whereas Basic Mob skulls will melee you the instant
they detect that you are in range.
- This also means three (or four with the spawner bug) Legions dropping
adds on you the second they see _you_, with no guarantee that you have
yet seen them. The damage starts to become quite hard to avoid, and 4x
Legion skulls (with another four spawning in two seconds) dealing 12
damage each would crit you very quickly.
- Our click CD means it's not even possible to punch four skulls in two
seconds even if you managed to time it perfectly.

So to solve this: Spawn fewer of them, they do less damage, and you can
step away from their attacks (this gets pretty hard when you're
surrounded, but that is by design).

Eventually I am probably going to play like 20 rounds of miner, look at
all of the mining mobs we have on each map, and then completely redraw
what their roles are in a way that probably changes what this mob does
quite significantly... but I'm not going to do it yet. This should do
for now.

## Changelog

🆑
balance: The melee attacks from small mobs spawned by Legions can now be
dodged.
balance: Legions spawn their mobs less often.
fix: Legions cannot spawn mobs while inside pipes or closets.
/🆑
2024-05-23 10:22:58 +12:00
necromanceranne
b830ba11b7 Research Directors are now strong (the Athletics trait, that is). Suplexing a rod is an incredible workout. (#83269)
## About The Pull Request

Grants the Research Director TRAIT_STRENGTH via their skill chip. This
trait is only relevant to athletics-related activities. They still need
to actually do the workout before they see any results.

Fitness bros will overestimate the RD's power level due to their ability
to suplex an immovable rod.

Suplexing a rod grants an incredible amount of athletics skill,
increased by how many people the rod has taken out. The frequency of
this happening is bound to be pretty small, but it's a nice in-round
reward for accomplishing the task (and maybe blowing up a department as
a result), and also potentially a large number of casualties on top of
that.

## Why It's Good For The Game

The athletics changes didn't acknowledge that there is already someone
on the station that is, for some reason, unnaturally stronger than
everyone else. The Research Director. So now, fitness bros think they're
naturally swole. Mind over matter, I guess?

I just think it'd be funny if by suplexing the rod once, you gain
incredible physical power and then need to take a nap because boy that
sure was an explosive amount of strength you had to apply. Since this
only happens with looping rods, I don't imagine it will disrupt fitness
as a skill too much.

## Changelog
🆑
add: The Research Director is now actually strong.
add: Fitness bros will determine the Research Director to be stronger
than they actually are, without even working out. How does he do it?
balance: Suplexing a rod grants a large burst of athletics experience.
add: The more sentient casualties of the rod, the more experience
suplexing that rod grants. Absorb the souls of the weak and feeble.
/🆑
2024-05-21 22:50:58 +01:00
Horatio22
e8aea936eb Corrects player-facing instances of "recieve" (#83350)
## About The Pull Request

Changes all player-facing instances of "recieve" to the correct spelling
"receive". There are still a handful of instances in the code, but this
PR doesn't mess with those.
## Why It's Good For The Game

It's important to speel things correctly.

## Changelog
🆑
spellcheck: Correctly spells "received." 
/🆑
2024-05-20 21:09:20 -07:00