* Fixes being able to punch yourself (#79033)
## About The Pull Request
Fixes#79031Fixes#79042
I forgot some logic here when making the human override.
Not the cleanest way to do it but it'll suffice.
## Changelog
🆑 Melbert
fix: You can punch yourself again
/🆑
* Fixes being able to punch yourself
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Improved documentation and message for the dcs_check_list_arguments unit test. (#78903)
## About The Pull Request
I've been contacted recently by san7890 regarding an opened issue report
about the aforementioned unit test. I've told them it's mainly an issue
about the lack of clarity and the bad choice of words in both
documentation and fail messages, and that I'd get to it soon.
I don't repute myself a good writer. The renewed doc and messages may
contain a few grammar issues, but I'm optimistic that it explains it way
more thoroughfully than before.
## Why It's Good For The Game
Better documentation for one of the few unit tests that might tell you
to "fix" stuff you're not directly responsible of. Suggestions are
welcome. This closes#78896.
## Changelog
N/A
* Improved documentation and message for the dcs_check_list_arguments unit test.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Basic Mob Gorillas (#78918)
## About The Pull Request
Now we can make basic mobs with hands easily so I did, they don't
actually use their hands for anything with AI.
In the future we can come back and share the monkey AI where they pick
up items to hit people with, but frankly few weapons are more deadly
than a gorilla's fists.
IIRC I didn't really change their behaviour much, this is mostly just a
straight conversion. Main difference is that they will prioritise eating
nearby bananas and fruit salads over punching people.
When I make these conversions nowadays I need to decide between "does
this attack at the speed that it did as an NPC mob or the speed it did
as a player?"
I am arbitrarily deciding that gorillas are usually not players and
electing for the former, but tell me if you disagree.
I also made "show basic inhand sprites" into a component shared by
Gorillas, Drones, and Dextrous Guardians (all also now available to
become basic, once I get around to it),
And I added an AI behaviour to run a basic emote. This is similar but
different to "random speech", which kind of sucks and needs rewriting
anyway.
Gorillas don't speak, only ooga.
## Why It's Good For The Game
https://www.youtube.com/watch?v=npuuTBlEb1U
## Changelog
🆑
refactor: Gorillas now use the basic mob framework. Please report any
unusual side effects.
/🆑
* Basic Mob Gorillas
* Modular paths
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* venus human traps are basicmobs + ""balance"" (#78749)
## About The Pull Request
theyre basicmobs now, tangling is an ability and also applies a leash
for the duration of the beam
they now have 100 HP
also when theyre not within 2 tiles range of space vines every Life tick
they take 20 damage(they have 100 max hp)
if they are in range however they heal 10 damage
theyre slightly slower too, and they deal 10-20 damage, from the
previous guaranteed 20 damage
also their attack cooldown is 0.2 seconds slower
the tangling does not automatically pull people but for the duration of
the tangle the victim is leashed to you
which means they cannot go out of range of you, so you can move
backwards to pull them closer (as seen in video)
https://github.com/tgstation/tgstation/assets/70376633/aed77f81-c564-4fcc-879e-7dd8a9b5c787
## Why It's Good For The Game
basicmob good
also fighting these dudes unprepared is a death sentence and being
caught unprepared is easy if kudzu decides to spawn in the middle of
fucking nowhere and rolls flowering, then absolutely does not listen to
the protect kudzu part and goes from the middle of nowhere to medbay to
murderbone
hopefully this should make them less proficient at shredding people and
make them actually defend kudzu instead of murderboning
## Changelog
🆑
refactor: venus human traps are basicmobs now
balance: venus human traps have 100 health
balance: venus human traps take damage out of range of kudzu, heal near
kudzu, are slightly slower, attack slower, and their damage output is
slightly more random
balance: also venus human trap tangle ability now needs you to actually
move backwards to pull victims
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* venus human traps are basicmobs + ""balance""
* Modular paths
* Update venus.dm
* Update venus.dm
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Replaces the changeling spacesuit with a passive ability (#78763)
## About The Pull Request
Fixes#74168
I was going to make changes to the changeling spacesuit so that it works
on Icebox but then I thought, why not _not_ do that.
This isn't a commonly picked adaption so why don't we make it a little
better.
What's more spooky, hearing a knock on the window and seeing a fat suit
outside? Or this?

Picking Void Adaption will now make you immune to low temperature and
pressure (but not high temperature and pressure) and you will stop
breathing. If you enter an area with low temperature or pressure then
your chemical regeneration rate will decrease until you leave that area.
Because it doesn't put a suit on you, it now also works during Lesser
Form.
While testing this I noticed that we weren't calling `Grant` on passive
changeling abilities for some reason, I replaced that with the
already-written interface for making "an action which doesn't give you a
button".
If people really _really_ miss the fat suit I guess I'll rework that
instead, but I think I like this more.
## Why It's Good For The Game
Makes a niche-pick ability more useful and easier to use.
Meteor Changelings who land on Icebox now don't roll a dice to see if
they get instantly knocked out by the atmosphere there.
## Changelog
🆑
balance: The Changeling Space Suit has been replaced by a new ability
which makes you passively spaceproof without replacing your clothing.
admin: Editing the atmos sensitivity variables on a basic mob during the
game will now actually do something.
/🆑
* Replaces the changeling spacesuit with a passive ability
* Fix screenshot test
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Basic Constructs: parent type + Harvester (#78807)
## About The Pull Request
I kind of hate cult as a whole, but I like these little guys. Let's
basic-ize them.
This PR begins the process with the harbinger of the Red Harvest, the
Harvester! Their actual capabilities have been changed very little,
except that most of their unique properties have been moved to
components and elements. The basic parent type of constructs has also
been set up to make the next bunch of conversions easier.
- Constructs capable of repair now receive the healing hands component.
Healing hands has been extended, to allow the healing particles to come
in custom colors, and to allow it to print the target's health if the
target is not a carbon.
- Repairing constructs also receive a new element: Structure repair is a
lighter-weight variant on healing hands that allows repairing clicked-on
atoms of specified types.
- Constructs capable of damaging walls, meanwhile, receive the wall
smasher element.
Harvesters in specific have two special elements:
- The existing "amputating limbs" element, making them instantly rip a
limb off of any carbon they attack. As before, if they attempt this on a
carbon with no arms or legs, the harvester will hear Nar'Sie's call to
bring the victim to her.
- A new "wall walker" element, allowing them to walk through walls of
specified type (cult walls for harvesters) and allowing them to drag any
atom through as well.
Other than laying the groundwork, there's not much else here. I started
with Harvesters specifically because they are only ever
player-controlled, which makes things easy.
I'm not completely happy with the use of healing hands here - it gets
the job done, but currently loses a bit of the previous flavor (a
healing beam as a visual; printing the target's health in cult span). I
may extend it further to allow this behavior.
I've included an UpdatePaths script, even if these things shouldn't be
mapped, just in case something fucky is going on on a downstream. You
never know.
## Why It's Good For The Game
Constructs, currently, occupy _19_ spots on the simple animal list. This
is something close to 10% of all the remaining ones. Also, like
everything to do with cult, construct code is janky, old, and
desperately in need of updating. This is the first step.
## Changelog
🆑
refactor: Harvester constructs have been updated to the basic mob
framework. This should have very little impact on their behavior, but
please report any issues.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
* Basic Constructs: parent type + Harvester
---------
Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
* Refactors Sloths into Basic Mobs (#78752)
## About The Pull Request
Hey there,
This just refactors sloths to the basic mob framework. Nothing new
should be added beyond them seeming a bit more sluggish and being a bit
smarter about the fights they pick/running away.
## Why It's Good For The Game
Three more subtypes off the list, we are now sub-200 simple animals left
to refactor. If people want to play catch with their sloth it should be
much easier to fit that in now.
## Changelog
🆑
refactor: Sloths are now basic mobs, however their overall sluggish
behavior shouldn't have changed much- let us know if anything is broken.
/🆑
* Refactors Sloths into Basic Mobs
* Modular path
---------
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Refactors Goats into Basic Mobs (#78759)
## About The Pull Request
Refactors goats into basic mobs, pretty clean refactor. They're a bit
smarter when it comes to retaliating mobs, and they're still just as
good as ever when it comes to munching on good ol' plantlife. I also
(finally) turned Pete into a goat subtype just in case people want to
inject more behavior into him in the future.
## Why It's Good For The Game
Cleaner implementation of code when it comes to doing stuff like eating
kudzu or just lusting after flora.
## Changelog
🆑
refactor: Refactored goats into basic mobs! Not much should have changed
beyond their endless desire to retaliate should you attack them, they're
still just as good as chomping away plant life as ever.
/🆑
* Refactors Goats into Basic Mobs
* UpdatePaths
---------
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* QoL improvements to the mob damage unit tests (#78748)
## About The Pull Request
This is something that I meant to do because it was a minor annoyance as
I was creating the tests but I never got around to it.
Because many of the failures occurred in procs it could be difficult to
pinpoint the exact line of the test where they were failing. It would
just be the line within the proc, and not the line where the proc was
called. So you'd have to sort of infer which one it was from the values
of `x` and `y` in `Expected x to be equal to y`.
Now each test failure will have a brief description and a line number
where `apply_damage()` / `verify_damage()` actually got called to make
it clearer. Like shown below.

## Why It's Good For The Game
Just a small QoL update for coders. Some typos fixed, too.
## Changelog
Nothing player facing though.
* QoL improvements to the mob damage unit tests
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Basic Mob Flesh Worm (#78744)
## About The Pull Request
Fixes#68614
Converts the Flesh Worm (Armsy) into a Basic Mob.
Most of its behaviour has been moved into a component which we can use
to make arbitrary mobs into linked lists of mobs.
To accomplish this I added a signal which is sent when you call any
`adjustXLoss` proc, let me know if my implementation is "calling the
same signal from several places" by a backdoor, I wanted to avoid
registering to 6 signals but I'll change it if I must.
While I was here I killed the unused "lesser" variant because we stopped
using it. Resultingly, Ascended Armsy doesn't need to distinguish itself
by inflating the sprite, so it doesn't. This means that now flesh worms
are using their sprites as intended to be displayed, but if people
really miss all of its segments being poorly scaled by the byond engine
then I guess I can restore it.
## Why It's Good For The Game

## Changelog
🆑
refactor: Flesh Worms are now basic mobs. Please report any unexpected
behaviour.
sprite: Flesh Worms are a little bit slimmer.
/🆑
* Basic Mob Flesh Worm
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Basic Mob Raw Prophet (#78733)
## About The Pull Request
Might as well start on these now, should be easy enough.
The Raw Prophet actually comes with a couple of new components.
The `wheel` element is sort of like the `waddling` element in that you
give it to any movable atom to have it move like a raw prophet.

Whee!
The focused attacker component can be attached to any mob or item and
causes it to escalate its damage every time you attack the same target.
I'll be honest I consistently forget that the Raw Prophet does this.
The ones in the Ruin have the blinding gaze attack inherited from
Watchers instead of the point-target Blind spell in order to ensure that
you can actually "dodge" it.
I tried to make it jaunt if it got stuck but ran into too many problems.
Another time.
## Why It's Good For The Game
I do this to relax now.
## Changelog
🆑
refactor: Raw Prophets now use the basic mob framework. Please report
any unusual behaviour.
/🆑
* Basic Mob Raw Prophet
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* A thorough audit of damage procs and specifically their use in on_mob_life() (with unit tests!)
* Modular changes--bonus, removes a bunch of completely unused code signals code that was taking up resources needlessly
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* The fishing portal generator expansion (plus skill-chip) (#78203)
## About The Pull Request
This is a PR I worked on last month, but had to put on hold while
dealing with some pressing issues with fishing feature, minigame and
other stuff, and because I had to atomize out some of the stuff
previously present here.
I've expanded on the fishing portal generator to do something other than
dispense guppies and goldfishes. It now has multiple settings,
unlockable by performing scanning experiments for fish types, available
from the get go, which also reward a meager amount of techweb points
upon completion. The generator can now be built too. No longer it has to
be ordered from cargo.
It can also be emagged for the syndicate setting, tho right now it only
dispenses donkfish and emulsijack, both otherwise impossible to get
outside of... exodrone adventures.
The advanced fishing rod now comes with an experiment handler component,
specific to the fish scanning experiment, that automatically scans
fished content. The node to get it now requires 2000 points and the
first fish scanning exp to be unock.
A new skillchip has been added, which adds a trait that changes the icon
of the fish shown in the minigame UI, giving some clues on what the
reward will be. The same trait is also gained by reaching the master
(penultimate) level of the fishing skill.
A new fish type has been added, with its own quirks. One of these quirks
included temporarily switching movement direction of the bait.
Currently, it can only be fished in the hyperspace and randomizer
setting of the fishing portal.
Screenshots:


## Why It's Good For The Game
The fishing portal generator is but a stale and underdeveloped prototype
of the fishing feature right now, so much I was thinking of removing it
at first. However, we also have a lot of fishes which are pretty much
unfishable, so I came up with the idea of adding new portal settings
that allow people to actually get them.
As for the skillchip and trait, it's but an extra to both the vending
machine in the library and the fishing skill itself, which has an
overall humble impact on the minigame.
## Changelog
🆑
add: Expanded the fishing portal generator. It now comes with several
portal options that can be unlocked by performing fish scanning
experiments, which also award a modest amount of techweb points.
balance: The fishing portal generator is now buildable and no longer
orderable. The board can be printed from cargo, service and science
lathes.
balance: Advanced fishing tech is no longer a BEPIS design. It now
requires the base fish scanning experiment and 2000 points to be
unlocked.
add: The advanced fishing rod now comes with an incorporated
experiscanner specific for fish scanning.
add: Added a new skillchip that may change the icon of the "fish" shown
in the minigame UI to less generic ones. Reaching master level in
fishing also does that.
qol: The experiment handler UI no longer shows unselectable experiments.
/🆑
* The fishing portal generator expansion (plus skill-chip)
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Refactors Supermatter Spiders into Basic Mobs (#78653)
## About The Pull Request
Short n' simple, just refactors these nasty buggers to be basic mobs.
Dirt-cheap AI for an admin-only spawn.
## Why It's Good For The Game
Smarter AI, less wack code, better implementation of certain aspects,
etc.
Also fixed a bug where these guys could be causing runtimes since they
would qdel mobs with a client by just adding a quick ghostize (the mob
will have had `death()` called on it already by that point so nothing
should realistically change anyways)
## Changelog
🆑
refactor: Supermatter Spiders have been refactored into basic mobs, on
the extremely off chance you spot one and also notice any weird bugs
regarding it, please report it.
/🆑
* Refactors Supermatter Spiders into Basic Mobs
---------
Co-authored-by: san7890 <the@san7890.com>
* Feature: bitrunner, a new supply role (READY)
* Delete bepis.dm
* Conflicts
* Update dynamic_rulesets_midround.dm
* Fixing this invalid icon file path
It was trying to use the aesthetics one
* Bepis is dead
* New digi sprites courtesy of CandleJaxx!!
Now in the correct branch!
* Fixing merge conflict
* bitrunning hotfixes [NO GBP]
* Modular health adjustments
* Revert "Modular health adjustments"
This reverts commit 0ff3c48d398f6c1aac51cdf8fecaf869491bbc86.
* Modular health adjustments
Only this one should be necessary
* The screenshot test
* Bitrunner den for voidraptor (FOR #23865) (#23891)
* no shower in sight
* lets bitrunners actually get to their room and spawn there
* New digi sprites courtesy of CandleJaxx!!
* Revert "New digi sprites courtesy of CandleJaxx!!"
This reverts commit eea9f47de256dd407c78450bc8f2a09b814f93e9.
---------
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Removes bitrunning unit tests (#78607)
## About The Pull Request
Removes the fraction of unit tests I thought would be safe.
Not thrilled that I have to exclude ALL unit tests now, but hey.
The issue is that atmos attempts to process on a turf which hasn't
initialized yet.
## Why It's Good For The Game
Other PRs can pass checks now
## Changelog
N/A
* Update birdshot.dmm
* Tweaks the BEPIS category of the bitrunning order console
* Adds back the flashdark that we had skyrat edited in
* Update tgstation.dme
* Fixes Voidraptor bitrunning den not being connected to the powergrid
---------
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Tweak greyscale JSON test error message (#78469)
## About The Pull Request
Slightly changes the wording of the greyscale JSON check error.
The previous creates messages such as "Expected 1 but only found 3."
which implies it isn't finding enough, which isn't always the case.
## Changelog
🆑 LT3
spellcheck: Improved wording in greyscale JSON error message
/🆑
* Tweak greyscale JSON test error message
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Changelings can now speak through their decoy brain if placed in an MMI (#78342)
## About The Pull Request
- If a changeling's decoy brain is placed in an MMI, they will now be
prompted to speak through it.
- They can speak through the decoy even if incapacitated or dead (or
fake-dead).
https://github.com/tgstation/tgstation/assets/51863163/804bd48a-c4b8-4feb-b021-019ea70e4b8e
## Why It's Good For The Game
The oft-controversial ling MMI test has been brought up time and time
again so I figure I throw my cards in for a solution.
We want as few ways as possible for people to hard and fast discover
whether someone is an antag, especially changling which is supposed to
revel in paranoia. This soft-patches out a big way, the MMI test, in
which you place a ling's brain in an MMI to determine if it's vestigial
and therefore, a ling.
Now the ling player can provide some benefit of the doubt by speaking
through the brain as normal, appearing active while actually in their
body still.
## Changelog
🆑 Melbert
add: Changelings can now speak through their decoy brain if it is placed
in an MMI, to maintain the illusion they are actually dead and have been
debrained.
/🆑
* Changelings can now speak through their decoy brain if placed in an MMI
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Basic Mob Brimdemon (#78424)
## About The Pull Request
Fixes#71330
The brimdemon was basically already perfect (well, it has a novel means
of attacking) so I didn't get too fancy with this one, it's _largely_
just a straightforward conversion.
Following this change it's a little slower to back off, but better at
lining up with people in order to blast them. Additionally, its beam is
now a mob ability so you can give it to other mobs if you so desire.
Because I can't help doing a _little_ tinkering, Brimdemons now explode
2.5 seconds after they die, after a brief warning animation.
## Why It's Good For The Game
Simple mobs must die
## Changelog
🆑
add: Brimdemon corpses release an explosion shortly after death, just to
keep you on your toes.
refactor: Brimdemons now use the basic mob framework which (should)
improve their pathfinding somewhat. Please bug report any unusual
behaviour.
admin: The brimdemon's beam ability can be given to any mob, for your
Binding of Isaac event
/🆑
* Basic Mob Brimdemon
* Modular
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* seedling basic mobs (#78224)
## About The Pull Request
this is a mob that was removed from the game since years ago. this pr
refactors them and readds them to the game. seedlings now can have
different colored petals!

to obtain this monster, botany can now grow them out of 'seedling' seeds
that they can find in the exotic seeds crate. this mob loves to help all
plants and when its grown out of the seed, it will help the botanists
look after their plants. it can water plants (if it finds a bucket),
remove weeds and remove dead plants. they will also use their solarbeam
ability to provide small healing to damaged plants. it will try to
refill its bucket with water if there is a water source near by. it will
also follow the orders of whoever harvested it.

traitors can buy a seed from the uplink that grows an evil version of
the seedlings, they can command them to attack people and use abilities
and to cause chaos on the station.
## Why It's Good For The Game
refacotrs the seedlings into basic mobs
## Changelog
🆑
refactor: seedlings have been refactored into basic mobs please report
any bugs
add: seedlings now can have different colored petals and can look after
botanys plants
add: seedlings are re-added to the game! they grow out of seedling seeds
obtainable from exotic seed crates or traitor uplink
/🆑
* seedling basic mobs
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
* Fixes rescue hooks, adds a unit test to help prevent it from breaking again (#78418)
## About The Pull Request
Fixes https://github.com/Skyrat-SS13/Skyrat-tg/issues/23763
Somewhere along https://github.com/tgstation/tgstation/pull/77739 and
the following fishing PR's this feature got overlooked and broken.
The args for `dispense_reward()` and `find_chasm_contents()` needed to
be updated as they were just wrong.
This sets them straight and adds an additional fishing unit test for the
rescue hook to hopefully prevent this edge case from being overlooked.
## Why It's Good For The Game
Rescue hooks work again, hooray.
## Changelog
🆑
fix: rescue hooks will once again drop the mob next to the fisherman
instead of just displaying a balloon alert and doing nothing
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Fixes rescue hooks, adds a unit test to help prevent it from breaking again
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* [TEST-MERGE FIRST] Wound refactor number two: Full synthetic support
* Wound refactor two compatability (#23618)
* Delam emergency procedure moth (#23483)
* safety moff
* delta/whitespace/examine
* icebox
* moff poster
* moff poster
* Update DelamProcedure.tsx
* Update scram.dm
* sound plays during warning
* remove nightshift, theres already a global proc
* scrubber hint
* missed that define
* Apply suggestions from code review
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* covered by ui_interact
* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Update modular_skyrat/modules/delam_emergency_stop/code/scram.dm
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Automatic changelog for PR #23483 [ci skip]
* Automatic changelog compile [ci skip]
* [non modular] disables TG "hold up" for the foreseeable future (#23607)
Update gun.dm
* Automatic changelog for PR #23607 [ci skip]
* [MIRROR] Desouls Hivelord [MDB IGNORE] (#23609)
* Desouls Hivelord (#78213)
## About The Pull Request

Replaces the sprite of the hivelord with a new one, in my continuing
quest to annihilate the old asteroid mob sprites.
A (never completed) asteroid mob resprite was actually my first PR, this
one is my 200th.
I am also planning on fucking with basic mob versions of these mobs some
time but the sprites can be atomised out.
In addition to replacing the old-ass MSPaint sprites, this PR also adds
a short death animation effect to the hivelord brood (from hivelords or
legions) which looks nicer than them just vanishing instantly upon
death.
Look at this video for an example of the animation:
https://www.youtube.com/watch?v=cKaskN5-y2A
## Why It's Good For The Game
Looks nicer.
## Changelog
🆑
image: Hivelords have a new sprite.
image: Hivelord and Legion brood have a death animation.
/🆑
* Desouls Hivelord
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Automatic changelog for PR #23609 [ci skip]
* [MIRROR] Updates chem factory tank sprites [MDB IGNORE] (#23608)
* Updates chem factory tank sprites (#78209)
Updates chem factory tank sprites.
* Updates chem factory tank sprites
---------
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
* [MIRROR] Rice Dough can be made in a beaker [MDB IGNORE] (#23611)
* Rice Dough can be made in a beaker (#78062)
## About The Pull Request
Rice dough can be made in a beaker using 20u of Rice Flour and 10u of
Water. 10u of Rice Flour is made from 5u of Rice and 5u of Flour. Rice
dough can still be crafted manually using the crafting menu and the
original recipe.
## Why It's Good For The Game
Cooks can sometimes get swamped with work, especially on a high-pop
shift or when there are no botanists. By making rice dough more
convenient to make, cooks don't need to spend as much time in the
crafting menu.
Rice Flour is made from mixing equal parts Rice and Flour. Since no
recipe other than Rice dough uses both Rice and Flour in it's Recipe, it
should be fine to turn those regents into the intermediate reagent "Rice
Flour".
Fixes#77966
## Changelog
🆑
qol: Rice Dough may be made in beaker instead of being crafted, but the
rice and flour must be added first
/🆑
* Rice Dough can be made in a beaker
---------
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
* Automatic changelog for PR #23608 [ci skip]
* Automatic changelog for PR #23611 [ci skip]
* f
* awda
* unused type!!!
* Apply suggestions from code review
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* oh hey unused defines! bye
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: RatFromTheJungle <62520989+RatFromTheJungle@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Wallem <66052067+Wallemations@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
* Removes Sleep Printing Library (#78324)
## About The Pull Request
#76286, which spawned it, is dead. Don't need to hang onto it anymore
per moth's instructions
* Removes Sleep Printing Library
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* Turning off teleport beacon actually disables teleporting to it and adds unit tests for teleporter (#78183)
## About The Pull Request
Teleport beacon can be turned on and off. Turning off only removes it
from the list of selectable locations on the teleporter, you can still
teleport to it. In this PR <s>I add weak_ref removal on turning off the
beacon (of which I'm not certain if that's a good solution, but seems to
work)</s> I use signals to handle turning off the teleportation.
## Why It's Good For The Game
You can turn off the beacon to stop someone teleporting to your location
and it doesn't mislead players into thinking disabled teleport beacon
cannot be teleported to anymore.
## Changelog
🆑
fix: You can no longer teleport to disabled beacon if the teleporter was
previously locked-on to it.
/🆑
* Turning off teleport beacon actually disables teleporting to it and adds unit tests for teleporter
---------
Co-authored-by: MrDas <62486730+Das15@users.noreply.github.com>
* Collected food fixes (#78190)
I went through the code and tried to find all of the remaining places we
forgot to update the arguments passed into `item/food/Initialize` after
more arguments were added to it, because there were a couple and they
caused things to stop working.
Most notably, golems were unable to eat anything because nothing would
correctly spawn "golem food".
_Additionally_ we were using a bunch of named arguments in new whenever
crafting or cooking food. This runtimed, causing the food not to init
properly.
_On top of that_ a late code review on a recent PR processed a list into
a string_assoc_list twice causing it to become null.
Finally, we were trying to check the food preferences of examining
ghosts or dogs or other non-human mobs. We shouldn't do that.
I also added a unit test for moth and golem food in the hopes that we'll
notice them breaking.
* Collected food fixes
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* [TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds
* ah fuck it
* test
* edaawdawd
* Revert "edaawdawd"
This reverts commit 47be710fe61a1f4ca79212b29b3e88bf05ec9a3a.
* nothing but sheer hatred
* freaawd
* dzfxg
* Fixing some diffs here while we are at it.
* These are deprecated and should be removed
---------
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: nikothedude <simon.prouty@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* minebots basic bots (#78032)
## About The Pull Request
Transforms the minebots into basic robots. You can now command these
minebots to extract minerals for you. To activate automated mining mode,
simply instruct them with the command "mine." They will then proceed to
autonomously mine walls and gather ores. If you wish to make the bot
deposit all the collected ores, use the command "drop." Alternatively,
you can leave it in collection mode, and it will gather all the ores you
mine. Additionally, the bot now responds to several more commands; you
can instruct it to follow you, toggle its lights on or off by saying
"lights." In attack mode, it refrains from mining or collecting ores but
will engage in combat alongside you. If it detects you as deceased or
unconscious, it will alert all miners, request assistance, and relay
your coordinates via the mining communication channel. to power it on u
will need to feed it any type of ore first so it may listen to ur
commands
## Why It's Good For The Game
makes the non sapiant minebots more useful
## Changelog
🆑
refactor: the minebots have been refactored please report any bugs
add: minebots can now mine walls and collect ores automatically and they
will alert everyone if they find u dead
/🆑
* minebots basic bots
* Modular
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Actually fixing fishable contents for some sources. (#78030)
## About The Pull Request
During my first fishing related PR, I hadn't yet know that for the
`fish_counts` var to work, its contents also had to be within the
`fish_table` list, thus I ended up adding stuff that's not actually
fishable. Also there was no unit test to enforce that design, which is
lame.
## Why It's Good For The Game
Fixing the issues explained above. Basically #78019 but done right.
## Changelog
🆑
fix: You can now actually fish soggy wallets from toilets, rare ores on
ice moon, some boney stuff in oil puddles (good luck finding them) and
lube-fishes by the seawater.
/🆑
* Actually fixing fishable contents for some sources.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Culls the Simple Animal Boss Framework (#78031)
## About The Pull Request
The only thing that ever actually needed to use this (Paper Wizards)
were refactored in #76688 (46e819297a).
The AI is primitive compared to modern AI frameworks, and I'm pretty
sure anything that may have been needed to be re-used was recoded in the
paper wizard framework (or at least serves as a good template for coding
"bosses").
## Why It's Good For The Game
Yeeting deprecated formats is so poggers champion.
## Changelog
Nothing that players could care about.
* Culls the Simple Animal Boss Framework
---------
Co-authored-by: san7890 <the@san7890.com>
* Adjustments to the new Cargo sprites, and updates to a few missed sprites
* Modular icon files are upsetting
Updates digi sprites
* Some fixes
* Adds 'vanilla' cargo jumpsuits to loadouts as job restricted
* Screenshot test
* Fixes path
* Update loadout_datum_under.dm
---------
Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Achievements now show how many people have unlocked them. (#77083)
## About The Pull Request
Checking the achievements UI now shows a line below the Unlocked/Locked
status for normal achievements, informing the user of how many players
have unlocked said achievement. It also contains a tooltip; within it is
a percentile comparison with the most unlocked achievement.
Beside that, I've added a check in the achievement unit test to
ascertain that all award categories are actually present in the UI, and
as well moved all `ui_data` to `static_ui_date` considering it is not
the sort of interface that has to be constantly updated like an air
alarm or an APC.
Here's a screenshot of the UI, with the tooltip where my cursor would be
(the hot damn! achievement was var-edited of course):

## Why It's Good For The Game
This should provide some fundamental statistics for achievements, from
which contributors and players can deduct the rarity and bragging
rights.
## Changelog
🆑
qol: The Achievements UI now shows how many people have unlocked a given
achievement.
fix: The "Skills" Category for achievements should no longer be hidden.
/🆑
---------
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Jordie0608 <4343468+Jordie0608@ users.noreply.github.com>
* Achievements now show how many people have unlocked them.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Jordie0608 <4343468+Jordie0608@ users.noreply.github.com>