Commit Graph

536 Commits

Author SHA1 Message Date
SkyratBot
a28712d76e [MIRROR] Make butt sprites overridable for downstream (#28269)
* Make butt sprites overridable for downstream (#84100)

## About The Pull Request
Allows changing the spritesheet for downstreams
## Why It's Good For The Game
Small code cleanup and lets downstreams do more butts for other species.

* Make butt sprites overridable for downstream

---------

Co-authored-by: thegrb93 <grbrown93@sbcglobal.net>
2024-06-20 11:02:18 +05:30
SkyratBot
d7de7b74b6 [MIRROR] mothroaches in the wardrobe (#28266)
* mothroaches in the wardrobe (#83695)

## About The Pull Request
there is a very small chance vendrobes will have mothroaches inside.
this will become apparent as the clothes you buy will come out slightly
damaged and eaten. hitting the vendrobe with a weapon (or throwing the
weapon at it) will cause the mothroaches to come out and scatter
everywhere. mothroaches will now also seek out clothes to eat them

## Why It's Good For The Game
gives more character and depth to mothroach AI

## Changelog
🆑
add: vendrobes may have mothroaches inside them
add: mothroaches will now seek out clothes to eat them
/🆑

* mothroaches in the wardrobe

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-06-20 10:57:23 +05:30
SkyratBot
6a8b418812 [MIRROR] Improvements for can_perform_action() (#28262)
* Improvements for `can_perform_action()` (#84006)

## About The Pull Request
The proc `can_perform_action()` now
- Accepts atoms & not just movables without runtiming. Fixes #83985
- It now uses `CanReach()` instead of `Adjacent()`. Allows you to
  - Check if the target object is placed on top & not hidden
  - Is the object inside another storage atom & such
- Properly checks for recursive locs. Before we were passing the direct
atom & not the type to `recursive_loc_check()` causing this proc to
always return true & giving us false positives. Now this proc has been
adjusted to accept both type paths & real atoms
- Removes `can_perform_turf_action()` since its now obsolete

## Changelog
🆑
fix: no more runtimes when dragging turfs onto other stuff
code: most actions now properly check for recursive locs & better
adjacency
/🆑

* Improvements for `can_perform_action()`

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
2024-06-20 10:56:42 +05:30
SkyratBot
e3e365ef12 [MIRROR] Gorillas have big fingers (#28238)
* Gorillas have big fingers (#83999)

## About The Pull Request

Gives gorillas the big fingers trait

## Why It's Good For The Game

because gorillas have big fingers
this doesnt actually have a lot of effects because Gorillas already
can't use guns for unrelated reasons, but as gorillas have hands it
might come up some day as we expand the number of items which interact
with this trait

currently this stops gorillas from using stun batons, and laser pointers
gorillas dont need to use stun batons because they can just beat you to
death with their fists

## Changelog

🆑
balance: Gorillas have big fingers, which mostly just prevents them from
using laser pointers and stun batons
/🆑

* Gorillas have big fingers

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-06-18 10:54:39 +01:00
SkyratBot
8ac5118614 [MIRROR] Slime transparency fix [NO GBP] (#28225)
* Slime transparency fix [NO GBP] (#84031)

## About The Pull Request

I forgot to add transparency for the non-metallic slime subtypes. This
PR fixes that.

![image](https://github.com/tgstation/tgstation/assets/3625094/82a3c04a-ad41-4446-9665-dab9d38b40fb)

## Why It's Good For The Game

A mistake was made.

## Changelog

🆑
fix: Non-metallic slime types are semi-transparent
/🆑

---------

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

* Slime transparency fix [NO GBP]

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
2024-06-17 18:36:36 +01:00
SkyratBot
90dd2bb32c [MIRROR] fixes two harddels (#28216)
* fixes two harddels (#84019)

## About The Pull Request

build mode and space dragons should stop harddeling on destroy

## Why It's Good For The Game

harddelete = bad

## Changelog
🆑
fix: build mode and space dragons dont harddel on destroy
/🆑

* fixes two harddels

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2024-06-17 17:18:07 +05:30
SkyratBot
60e22e610d [MIRROR] Misha - the bear (#28204)
* Misha - the bear (#83949)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/96586172/beeee166-f838-4bce-ab52-667ed566e25c)
Adds Misha the bear to icebox HoS office, a snow bear with the same
health stats as Sgt. Araneus.
## Why It's Good For The Game
With how easy it is to break into the HoS office on icebox (you don't
need any space protection) it never made sense to keep a slow pet in the
office. The bear is fast and deals 15 damage, while also resistant to
cold.
I think it adds more depth that the HoS tamed a bear on icebox and
trained it. Also the bear fits the map.
## Changelog
🆑 grungussuss
add: Added Misha the bear to the HoS office on icebox.
/🆑

* Misha - the bear

---------

Co-authored-by: grungussuss <96586172+Sadboysuss@users.noreply.github.com>
2024-06-16 04:28:49 +01:00
SkyratBot
b3ccf9523d [MIRROR] Ian and Runtime can lick your wounds (#28187)
* Ian and Runtime can lick your wounds

* Update _wounds.dm

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2024-06-15 18:51:48 +01:00
SkyratBot
df90e547cc [MIRROR] Mouse drag & drop refactored attack chain (#28156)
* Mouse drag & drop refactored attack chain

* fex

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2024-06-15 18:09:14 +01:00
SkyratBot
1c42b03d01 [MIRROR] Incoming stamina damage while in stamcrit has diminishing returns applied (#28129)
* Incoming stamina damage while in stamcrit has diminishing returns applied

* Fixing

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-06-15 17:36:34 +01:00
SkyratBot
b540aaf8ab [MIRROR] Afterattack is dead, long live Afterattack (#28128)
* Afterattack is dead, long live Afterattack

* wew

* fixes

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2024-06-15 04:02:11 +02:00
SkyratBot
61f9e7bfa7 [MIRROR] Makes that one random frog in the freezing cold plasma facility more atmospherically resistant (#28158)
* Makes that one random frog in the freezing cold plasma facility more atmospherically resistant (#83928)

## About The Pull Request

Makes the random frog in the icemoon plasma facility more
atmospherically resistant so that it survives in its environment.

## Why It's Good For The Game

Please stop failing my PRs by dying in the cold, Peter.

## Changelog
🆑
fix: Peter Jr. is capable of surviving in the environment they spawn in.
/🆑

---------

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

* Makes that one random frog in the freezing cold plasma facility more atmospherically resistant

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2024-06-14 20:21:52 +01:00
SkyratBot
4b692ac95a [MIRROR] New Slime Sprites (#28165)
* New Slime Sprites (#83891)

* New Slime Sprites

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>
2024-06-14 10:36:28 -04:00
SkyratBot
16c66010c9 [MIRROR] /icons/ folder cleansing crusade part 3 (#27859)
* /icons/ folder cleansing crusade part 3

* fixes

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-06-09 12:00:28 +05:30
SkyratBot
d1643d2077 [MIRROR] Fixes basic bots being targeted by turrets (#28083)
* 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.
/🆑

* Fixes basic bots being targeted by turrets

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
2024-06-09 11:54:13 +05:30
SkyratBot
1c852b0905 [MIRROR] lobstrosity's meat is RAW! (#28076)
* 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.
/🆑

* lobstrosity's meat is RAW!

---------

Co-authored-by: DustanHache <107366411+DustanHache@users.noreply.github.com>
2024-06-09 11:49:04 +05:30
SkyratBot
1190dc5bf6 [MIRROR] Fixes some Raptor grammar (#28075)
* 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
/🆑

* Fixes some Raptor grammar

---------

Co-authored-by: krookodilehunter <103150968+krookodilehunter@users.noreply.github.com>
2024-06-09 11:45:52 +05:30
SkyratBot
60b40c1379 [MIRROR] Random Name Generation refactor, generate random names based on languages (for species without name lists, like Felinids and Podpeople) (#27593)
* Random Name Generation refactor, generate random names based on languages (for species without name lists, like Felinids and Podpeople)

* [MIRROR] Random Name Generation refactor, generate random names based on languages (for species without name lists, like Felinids and Podpeople) (#2314)

* Random Name Generation refactor, generate random names based on languages (for species without name lists, like Felinids and Podpeople)

* Modular adjustments (vox, teshari names)

* Update yangyu.dm

* Delete language.dm

* Remove language.dm override

---------

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

* Fix 2

* fix 3

* Update monkeys.dm

* test fix

* One modular adjustment

* Ticked

* yeah

* unhardcodes modsuit parts (#82905)

see #70061 but i almost finished it, i only need to go through every
single module and assign it a fitting part

🆑
refactor: modsuits have been refactored if you see bugs report them
fix: admin cargo tech modsuit outfit now works correctly
/🆑

---------

Co-authored-by: Andrew <mt.forspam@gmail.com>

* Revert "unhardcodes modsuit parts (#82905)"

This reverts commit 622968a8e5e9cd142cb4d19bf9775f084a4c17d9.

* Removes language.dm and duplicate species() proc

* Removes modular language subsystem

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Andrew <mt.forspam@gmail.com>
2024-06-09 11:19:08 +05:30
SkyratBot
24151d1228 [MIRROR] Moves "sprite accessories" (e.g. Hair, Undergarments, Mutant Bits) from GLOB to a datasystem (#27561)
* Moves "sprite accessories" (e.g. Hair, Undergarments, Mutant Bits) from `GLOB` to a datasystem

* Merge branch 'master' of https://github.com/tgstation/tgstation

* Moves everything I can think of to the subsystem

* Seems to be working fine now

* makes it compile

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Waterpig <wtryoutube@seznam.cz>
2024-06-08 09:35:22 +05:30
SkyratBot
0f2aad9e2f [MIRROR] basic honkbots (#28007)
* 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
/🆑

* basic honkbots

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-06-06 18:22:01 +05:30
SkyratBot
b86cde0521 [MIRROR] Sentient mobs can slowly subtract slime stacks by shaking (#28006)
* 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.
/🆑

* Sentient mobs can slowly subtract slime stacks by shaking

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-06-06 18:21:50 +05:30
SkyratBot
b9612d5763 [MIRROR] Legioned Monkeys create different mobs (#28002)
* 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.
/🆑

* Legioned Monkeys create different mobs

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-06-06 18:20:24 +05:30
SkyratBot
555c4b8cde [MIRROR] Minor Spider Rebalance (#27979)
* 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.
/🆑

* Minor Spider Rebalance

---------

Co-authored-by: DrAmazing343 <147954468+DrAmazing343@users.noreply.github.com>
2024-06-04 14:37:14 +02:00
SkyratBot
f591dd3bd3 [MIRROR] Gondolas are now basic mobs (#27934)
* 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>

* Well then. Hope it works.

* Ohhh.

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-06-02 17:37:45 +02:00
SkyratBot
36bc0c91fa [MIRROR] fix: allow giant spiders aggressively grab again (#27953)
* 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
/🆑

* fix: allow giant spiders aggressively grab again

---------

Co-authored-by: Gaxeer <44334376+Gaxeer@users.noreply.github.com>
2024-06-02 03:16:25 +02:00
SpaceLoveSs13
ef7e5f10fe Merge pull request #27930 from Skyrat-SS13/upstream-merge-83482
[MIRROR] Fixes Minebots ordered through cargo being stuck in idle mode
2024-06-01 11:12:06 +05:30
zxaber
5c3e0d006b 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 13:52:02 -04:00
Rhials
9cc4194409 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 08:20:16 -04:00
SkyratBot
b76bc59957 [MIRROR] Vines can't pull anchored objects, can pull you off tables (#27867)
* 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
/🆑

* Vines can't pull anchored objects, can pull you off tables

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-05-28 05:07:58 +02:00
SkyratBot
630b3705b6 [MIRROR] minor raptor tweaks (#27845)
* 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
/🆑

* minor raptor tweaks

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-05-25 20:59:58 +02:00
SkyratBot
61ec10c3e0 [MIRROR] grep's for "recieve" typos (#27826)
* grep's for "recieve" typos (#83369)

Just spellchecking some common mistakes.

* Missed these.

---------

Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2024-05-23 23:38:14 +02:00
SpaceLoveSs13
f47c7dc815 Merge pull request #27828 from Skyrat-SS13/upstream-merge-83146
[MIRROR] adds a new fish to lava and plasma rivers
2024-05-23 23:05:46 +05:30
SpaceLoveSs13
5cfad9601d Merge pull request #27821 from Skyrat-SS13/upstream-merge-83267
[MIRROR] Legion mob nerfs
2024-05-23 22:58:45 +05:30
NullDagaf
0479ed8980 Merge branch 'master' into bubber_smelly 2024-05-23 16:06:33 +00:00
NullFag
87d4b85204 Merge branch 'master' into bubber_smelly 2024-05-23 17:59:52 +02:00
Ben10Omintrix
2ecff6862d 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-23 01:14:52 -04:00
Jacquerel
8c4c8fbf01 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-22 18:46:54 -04:00
SpaceLoveSs13
c61718f4be Merge pull request #27786 from Skyrat-SS13/upstream-merge-83305
[MIRROR] Advanced Health Analysers can detect certain organs
2024-05-22 17:33:16 +05:30
SpaceLoveSs13
17216fd902 Merge pull request #27795 from Skyrat-SS13/upstream-merge-83340
[MIRROR] [No GBP] Slime people will not be eaten be slimes
2024-05-22 08:40:16 +05:30
Profakos
f0cc389329 [No GBP] Slime people will not be eaten be slimes (#83340)
## About The Pull Request

This PR readds a missing faction check that got lost during basic mob
conversion. Partially at least, previous, it ensured that
FACTION_NEUTRAL was a one way faction, protecting slimes from other
things, while keeping all the other factions via a check that fully
reimplemented `faction_check` in a less efficient way. Rather then
reimplementing this behaviour, I have just made them check for the
FACTION_SLIME, similarly how regal rats skip converting already
converted frogs and cockroaches.

So in short, slimes once again will not attack slime people, but
everything else is fair game once they get hungry (except for people who
are in their friend list).

I am not fully happy with this solution, but I would rather not make a
new list by subtracting FACTION_NEUTRAL every time they check someone.

## Why It's Good For The Game

One of the unique features of slime people was that slimes consider them
friends and family. This PR brings this back this feature I forgot to
reimplement.

Fixes #83324

## Changelog

🆑
fix: Slimes will no longer consider feeding upon slime people
/🆑
2024-05-20 12:13:30 -04:00
nikothedude
bbd6c02050 Minor raptor spellchecking (#83339)
## About The Pull Request

Spellchecks a few things in raptor code.
## Why It's Good For The Game

typos and bad grammar are bad surprisingly
## Changelog
🆑
spellcheck: Improved the grammar/spelling of a few raptor descriptions
/🆑
2024-05-20 12:08:13 -04:00
SkyratBot
e396dda558 [MIRROR] Ore vents now have countermeasures against walling them off from all sides. (#27790)
* Ore vents now have countermeasures against walling them off from all sides. (#83295)

## About The Pull Request

This PR fixes some balance and practicality issues with the spawner
component that has affected vent mining and the associated wave defense.

* The turf_peel() proc now checks to see if it's pulling no turf from
the inside or outside of it's peel, in which case it now has a default
case where it returns it's center turf instead.
* As a consequence of this, the center turf is where mobs will spawn if
an ore vent is unable to find any space where it can spawn any new
hostile mobs.

Upon testing this, it worked fairly well, but ultimately node drones
were capable of tanking enough hits for long enough that typically they
could still survive a small vent's onslaught. As a precaution, I've made
two additional changes.

* Node drones have had their maximum health dropped slightly, from 500
health to 300 health.
* As a secondary precaution, if a spawner using the turf peel method
cannot spawn correctly, it will send a signal, which ore vents are now
registered to. When called on an ore vent, it has new behavior to clear
the offending nearby turfs and create a pathway to allow nearby mobs to
get access to the vent.
* (**This is an explosion**.)

## Why It's Good For The Game

Fixes an unreported on the repo but repeatedly pinged issue regarding
ore vent waves where players could often wall off or blockoff an ore
vent in such a way that it allows vents to be functionally immortal by
quickly walling off the vent using sandstone doors. This should help to
prevent players cheesing the intended gameplay mechanic, as well as keep
up the challenge to arcmining wave defense without some additional
nuance.

I may have gone a little overboard with the health tweaks as well, but
considering that even with the explosions, I was able to survive the
repeated explosions on the vent, I think this should work quite well all
things considered. Still, open to feedback there.

## Changelog

🆑
balance: Ore vents, if blocked off from all four sides while being
defended, now cause a mild gas explosion, resulting in a mild dissuasive
explosion.
fix: NODE drones spawned from ore vent defense have lower maximum
health.
/🆑

* Ore vents now have countermeasures against walling them off from all sides.

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2024-05-20 06:36:50 -04:00
SkyratBot
0e7559e69a [MIRROR] Adds logging for Legion Tumour interactions (#27772)
* Adds logging for Legion Tumour interactions (#83302)

## About The Pull Request

Adds logs to three events:
- Receiving a Legion Tumour organ (logs victim).
- Being transformed by having a Legion Tumour organ for too long (logs
victim).
- A Critically Wounded person being clicked with a Legion Tumour and
turned into a Legion (logs attacker and victim).

## Why It's Good For The Game

It hasn't happened _often_ but I've seen these various interactions
confuse admins (or players) every so often and it's good to log things
that aren't obvious (and many things which are).
This usually comes up in the case of someone getting one from a
Bioscrambler and then later experiencing a surprise transformation.

## Changelog

🆑
admin: Various bad things that can happen as a result of Legion organs
are now logged
/🆑

* Adds logging for Legion Tumour interactions

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-05-20 06:26:21 -04:00
SkyratBot
233f6d24d7 [MIRROR] carps now properly stop floating when you kill them (#27770)
* carps now properly stop floating when you kill them (#83293)

## About The Pull Request
they forced their movement type to FLYING when all this stuff is
supposed to be handled by the simple flying element, so even though they
would lose the flying trait they would keep doing the flying animation
and had movement type flying (would go over chasms and shit)
as a side note - ground movement probably shouldnt exist (nothing really
checks for it and you get goofy shit like GROUND|FLYING all the time)
but i cant be assed to remove it because of how it interacts with speed
modifiers

## Why It's Good For The Game
Got damned!

## Changelog
🆑
fix: carps now properly stop floating when you kill them
/🆑

* carps now properly stop floating when you kill them

---------

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2024-05-20 06:25:16 -04:00
SkyratBot
ffd24e42a3 [MIRROR] [no gbp] raptors with the playful trait now play with their owners (#27766)
* [no gbp] raptors with the playful trait now play with their owners (#83294)

## About The Pull Request
i forgot to add this behavior to playful raptors, currently this trait
does nothing. raptors will now play with their owners and tease them if
they are nearby

## Why It's Good For The Game
adds more personality to raptors with the playful trait. also this
behavior can now be given to any other tameable mobs

## Changelog
🆑
fix: playful raptors now correctly play with owners
/🆑

* [no gbp] raptors with the playful trait now play with their owners

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-05-20 06:22:01 -04:00
Jacquerel
9107d1c572 Advanced Health Analysers can detect certain organs 2024-05-20 03:18:57 -04:00
SkyratBot
b5a28d6e68 [MIRROR] Changes how lube crawling works and fixes a bug with snails (#27744)
Changes how lube crawling works and fixes a bug with snails (#83238)

This partially reverts https://github.com/tgstation/tgstation/pull/76336
- Just for slimepeople since it's the only one that felt important to be
tied to species.
Snails are currently pretty fast when they are crawling around, but on
top of that they are also able to get their legs replaced to become 3x
faster than normal humans while resting. It's a little silly, and I
thought I should fix it.

I also changed the element itself to be easier for admins to edit,
giving them control over time and wet flags, and made it work a little
better.
Instead of being hardcoded to listen to carbons and to register every
step to check if they are resting, calling add/remove movespeed modifier
every single time they move, we are told whether they have to be
resting, and update when they get up/lie down. This has an extra bonus
that admins can control whether or not they want to make simple/basic
animals have to rest to lube things (like cats).

Closes https://github.com/tgstation/tgstation/issues/78417
Makes the lube spitting element that (primarily) snails use into a more
general thing that can be used by admins or other contributors that want
to make things wet thing as they walk for some time.
Also no insanely fast snails anymore.

🆑
fix: Snails no longer move at normal speed while resting.
fix: Snails can no longer get insane speed from getting their legs
replaced.
fix: Humans don't become immensely slow when getting a Snail leg.
admin: lube walking element is now much easier to mess with to fit
however you want to use it for.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2024-05-18 18:34:28 +02:00
SkyratBot
61c379045c [MIRROR] lavaland raptors (#27746)
lavaland raptors (#82537)

adds raptors to lavaland. these are creatures that have been created
through countless xenobiological experiments by nanotrasen to breed an
animal that can withstand the harsh conditions of lavaland and aid
miners. theres now a new ranch miners can access bottom right to the
mining base

![ranch](https://github.com/tgstation/tgstation/assets/138636438/20d9e358-15a5-48e2-aee3-9364ca139e43)
this ranch starts somewhat empty as most raptors have escaped
containment and are now scattered all across lavaland, u can find them
and return them to ur ranch.

in order to tame a raptor, u first need to prove to it that ur a capable
master. when u try to ride it, a little minigame prompt will pop up

![minigame](https://github.com/tgstation/tgstation/assets/138636438/dcc13102-7100-40c8-ae7a-089cd4daf868)
in this game, the bird's icon rapidly changes direction and u have to
quickly click the arrow thats OPPOSITE to the direction its facing
several times before the direction changes. if you fail 3 times itll
knock you off and run away, however if u win it will deem u a suitable
master and listen to your orders.

There's many different breeds of raptors you can find across lavaland,
all with different capabilities:
red raptors: these excel at combat and can be very useful for dealing
with lavaland mobs or defending the node drone
yellow raptors: are very speedy mounts, theyll get u from point A to
point B in record time
green raptors: they are the tankiest type of raptor and are very good
miners. while mounted, they will clear any rock walls in their path
purple raptors: can store items in them. they have a decent storage size
allowing players to carry more items across trips
white raptors: are able to heal other injured raptors. having one in ur
party would be very useful as they can nurse the combat raptors back to
full health when they need it
blue raptors: produce very nutritious milk with healing capabilities.
having 1 or 2 of these back at ur ranch would be very useful
black raptors: by far the rarest breed, its very unlikely that ull be
able to get one of these, but in the case u do, they have the combat
capabilities of the red raptor, speed of the yellow raptor, and
tankiness of the green raptor.

Breeding different colored raptors together can net u an entirely new
colored raptor. each breed has atleast 1 guaranteed combination of
parents that it will result out of.

you will also need to maintain a good friendship bond with ur raptors,
this is done by feeding them, grooming them, and petting them. u can see
the strength of ur bond by SHIFT clicking them. more hearts indicate a
stronger bond

![hearts](https://github.com/tgstation/tgstation/assets/138636438/5662c5a7-2df3-4f98-99f4-a11faa17b569)
having higher friendship bonds means ur raptors will perform better in
combat, and in the case of blue raptors, they will produce more milk.
Maintaining friendship bonds with baby raptors and keeping them happy
will also encourage them to grow faster

U can also analyze raptors using the new raptor-dex device available at
ur ranch

![pokedex](https://github.com/tgstation/tgstation/assets/138636438/82b92c0c-b7db-4a0d-997e-384a69c0ecbe)
the inherit modifiers indicate how strong this raptor's offspring will
be. raptors inherit attack and health stats from both their parents,
breeding raptors with higher inherit modifiers means the offspring will
be stronger.

raptors will also inherit some traits from their parents that will
change how they will act around u and around other raptors, some of them
being:
Playful: raptors will play with their masters and tease them
motherly: raptors will care for baby raptors, this will encourage baby
raptors to grow quicker
depressed: means its hard to keep this raptor happy and friendship bonds
will deteriorate faster if not given enough care.
coward: makes them flee combat if severly injured, ditching u to the
wolves
trouble maker: makes them attack other raptors at the ranch. however,
trouble maker raptors will not attack other trouble maker raptors,
instead they will form posses and bully raptors together. it might be a
good idea to isolate them from the other raptors

raptors primarily consume ores. to feed raptors, you need to place ore
into the food troughs at the ranch. they are too civilized to eat ores
off the ground or directly from ur hand, they will only eat it if its in
their trough

![trough](https://github.com/tgstation/tgstation/assets/138636438/70723cc7-5743-4ace-9955-4307879e7a83)

beautiful raptor sprites by spessmenart! (rest are codersprites)

adds a new layer to lavaland mobs, and gives miners new interesting
tools and ways to tackle the challenges of lavaland.

🆑 sheets, spacemenart, ben10omintrix, goofball, infrared baron, aofie
add: adds lavaland raptors and the raptor ranch
/🆑

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2024-05-18 11:40:59 -04:00
EnterTheJake
d8c8b79c44 Rust Heretic rework: THE PUKENING. (#83006)
## About The Pull Request
Turf rusting is now based on knowledge instead of RNG; toxic damage on
spells has been replaced with disgust; rust walkers are a bit easier to
summon and show up early in the tree.

Rust ascension spread has been massively increased and immunities while
on Rust have been updated.
## Why It's Good For The Game

This is a massive list of changes, but the tl:dr is Rust heretic design
is pretty barebones and dated in its current state. I'm going to try my
best to explain why that is and why it needs to change.

###  RNG on rusting is bad

**Problem** : quite a lot of turfs cannot be rusted, and reinforced
turfs rusting is tied to RNG, the emergency shuttle floors are also
unrustable, making an ascended heretic not threatening at all to an
escaping crew.

**Solution**: Heretic rusting prowess is now tied to knowledge
progression; reinf wall rusting is no longer tied to RNG; the emergency
shuttle is now rustable if you have accrued enough knowledge.

**Explanation** : I've been adopting the code from a previous PR that
sadly didn't make the light of day.

Link: https://github.com/tgstation/tgstation/pull/65361

The goal is to have Heretic rusting be more consistent, so that if you
ascend the shuttle is no longer a safe refuge.

**Grasp Of Rust**: Basic floors and walls.
**Mark Of Rust**: Reinf floors and walls (takes 3 applications of rust
to fully destroy).
**Toxic Blade** Titanium and Plastitanium( still takes 3 applications of
rust to destroy).
**Ascension**: almost everything save for admin walls, glass, and
silver.

### A territorial antagonist with no tools to defend its turf

**Problem**: Rust heretic is forced into a territorial playstyle, but
it's heavily diminished by rusted turfs not having any negative effect
on the crew whatsoever, Toxic damage on plume and blade is also kind of
bad and has no synergy with the rest of the kit.

Lastly, while fitting to the theme of Rust; mark detonation destroying
clothes and items can end up being more harmful to the heretic, as
destroying a secoff's flashbang will result in you getting stunned and
killed.

**Solution**: Rusted floors are no longer safe for the crew; walking
over Rust will add a small buildup of disgust, silicons will receive
ticking damage, Toxic damage on Rust skills has been replaced with
disgust buildup and a chem purge effect to prevent the crew from
cheesing the debuff with sol dry.

**Explaination** "The goal behind this change is to prevent the crew to
just be able to walk willy nilly into an eldritchly decayed area without
repercussions, plus I feel like disgust is a fitting debuff for Rusties
for a number of reasons.

1) Lore wise, your goal is to turn the entire station into a garbage
dump.

2) It fits for fighting a territorial antagonist, it's not immediately
threatening on its own, but if you overstay your welcome, it has dire
consequences.

3) We don't really do much with disgust as a status effect, far as i
know, this'll be the first iteration of it being used for an antagonist
toolset.

4) It gives reason to the crew to act hostile towards the Heretic, as
you are essentially making their work area inhabitable.

I've also Slightly increased the healing on leeching walk and gave it
some minor temperature regulation (you won't be able to outtemp space
cold).

### Rust Walkers

**Problem**: Rust walkers might as well not exist in their current
state; they are one of the latest heretic unlocks, and the recipe for
summoning one is INSANE now that you cannot decapitate mobs anymore.

**Solution**: Rust walkers pop up a bit earlier in the tree; the ritual
to summon them has more reasonable reagents (wires, pools of vomit, iron
sheets) and they have increased health.

**Explanation**: : There is not a lot to add to this. without walkers,
Rust heretics are fairly slow at spreading rust, by making rust walkers
have reasonable summoning reagents, we ease that problem; lastly i've
slightly bumped their hp, as i felt 75 hp was a bit low.

### Underwhelming ascension

**Problem**: The spread rate from the ascension is downright ATROCIOUS
in its current state, i actually ran multiple tests on different maps,
on Metastation it can take up to 40 minutes for the rust to spread to
the entire station, considering an ascended heretic results in an
immediate shuttle call, it's unecceptable in its current form.

Solution: Rust spread is now a hybridization between old ascension and
Wizard tranformation ritual.

**Explanation**: The spread rate in its current form is painstakingly
slow and has a tendency to reach one corner of the map and compound on
itself, i've borrowed the code from the wizard final ritual
"transformation" and gave it my own spin so that given enough time it
will cover the station more or less evenly, it can now spread through
all z levels.

Video example: https://www.youtube.com/watch?v=jZ5zMrNM6Jw

I've also updated the immunities you gain on ascension to ignore
slowdown and stasis from Cryogelidia.

The whole point of rust ascension is to become immune to crowd control,
i've seen far too many ascended heretics die to a single bola or cryo
syringe, that's pretty lame so i fixed that.

Lastly, aggressive spread has had its radius reduced in exchange for the
spread being consistent now; cooldown is also halved when you ascend, to
better help the heretic go on the offensive.
2024-05-16 14:55:45 -04:00
SkyratBot
da778a7432 [MIRROR] parrots try to immitate voices (#27721)
* parrots try to immitate voices (#82773)

## About The Pull Request
whenever parrots repeat lines they will try to mimic the speaker's
voice. it wont sound exact but theyre trying their best

## Why It's Good For The Game
adds more detail and character to the line repeating feature

## Changelog
🆑
add: parrots will now try to immitate the speaker's voice
/🆑

* parrots try to immitate voices

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-05-16 06:33:48 +02:00