## About The Pull Request
Oil blood will no longer try to ignite twice when hit with a welder,
runtiming on the second try.
Also added crashes when ``add_blood_DNA`` is passed non-list or lists
with null assoc values, as both are invalid and cause crashes, because I
need to hunt down a stupid bug.
## Changelog
🆑
fix: Trying to ignite oil with a welding tool no longer runtimes due to
it trying to get ignited twice
/🆑
## About The Pull Request

This PR adds "platforms" to the game, a port of the window frames from
the Wallening branch but with no windows attached.
You can craft them with two stacks of many kinds of materials.
Functionally they're basically just tables for standing on and act as a
decorative tool allowing you to make raised areas like stages.
Largely as far as I can tell I _think_ these were sprited by @Krysonism
although it's a little hard to check if there's any that were done by
someone else.
You can walk directly from tables to platforms (and crates) and vice
versa. You can also tableslam people onto them.
This PR also comes with "steps" (AKA small stairs)
You can use steps to walk onto platforms (or tables, or crates) without
needing to do the climbing action first.

If you try to run through them the wrong way you will trip.
Right now they only come in "Iron" flavour. Maybe one day someone will
sprite some wooden ones, or other varieties.
Basically the intention is to use them to build a little stage or altar
or maze or something. They don't have a lot of non-decorative purpose.
Don't be alarmed by the touched files list. It's mostly sprites and
there's barely even any code in this PR. It's almost entirely elements
and boilerplate.
## Why It's Good For The Game
Mappers keep asking me to add these.
Salvages some sprites from the Wallening project which we can still use.
You can make a really really big multitile pizza.
## Changelog
🆑 Jacquerel, Smartkar, sprites by Kryson
add: Added "platforms", or "half-walls" which are a kind of decorative
block similar to tables which you can walk around on.
add: You can walk freely between tables, platforms, and crates that
happen to be near tables or platforms.
add: You can construct iron steps to traverse tables and platforms
without needing to climb on, but try not to trip over them.
/🆑
---------
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
## About The Pull Request

Food items pass down their intrinsic materials during crafting, which
should prevent foods being crafted from meat being red and squishy. The
implementation might be too broad or kinda suck but it worked for the
problem items I tested it on (headcheese, crispy breaded headcheese,
moussaka, ballpark tsukune).
Also properly sets up `material_flags` to be a bitflag when viewing
variables.
## Why It's Good For The Game
Makes intrinsic food materials actually do what they're supposed to do
(prevent food being crafted with meat from being weirdly too meaty).
## Changelog
🆑
code: Materials bitflags should now show the bitflag interface in VV.
fix: Food items now pass down their intrinsic materials during
crafting/processing/microwaving/etc. etc.
/🆑
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
## About The Pull Request
This PR reinforces the flavour and mechanical prowess of morbid people
like the coroner by giving them a 30% speed bonus for two additional
morbid activities: shearing off limbs and digging graves.
It also makes toolspeed modifers affect the time it takes to dig a
grave.
I have not rebalanced the shovels stats or toolspeed mods in this PR,
that will have to wait until my upcoming gravedigging expansion.
## Why It's Good For The Game
The amputation shears is a decent luxury chase item for coroner because
it synergizes nicely with his playstyle, but it currently doesn't take
any morbid or autopsy bonuses into account which makes not that great as
a time saver.
I think is a shame because the item has perfect flavour and base
mechanics for the role.
This change makes shelling out the 700 credits feel more worth it and
makes the choice regarding what to spend your credits on more
meaningful.
Digging graves, while a very niche interaction, is also a very
flavourful way of getting rid of rejected cadavers, so having a boost
there is also nice for encouraging players to try it out instead of just
leaving it on the floor to rot or throwing it in disposals.
The tool speed modifier change is something that makes the very marginal
upgraded shovels a little more special, and is in line with how other
advanced tools work.
I was touching that line anyway so I figured I might as well add it.
## Changelog
🆑
balance: Morbid people, like the coroner now amputate 30% faster using
the amputation shears.
balance: Morbid people dig graves 30% faster.
balance: Better shovels dig graves faster.
/🆑
## About The Pull Request
Reworks the Voidwalker into a basic mob, including a lot of the balance
and mechanics!
Old (left), new (right)

https://github.com/user-attachments/assets/22d6138f-11aa-4f7a-8600-2565e6578bcf
(little outdated)
https://youtu.be/cp1E3qPJGX4 (high res mirror)
**🟨Voidwalker mob changes🟨**
No longer a human species and no more void eater. Instead deals damage
by simple unarmed attacks.
Instead of dealing brute, the voidwalker does oxygen damage (4-5 hits to
knock out) with left-click, and slight brute on right click. Non-human
mobs automatically take brute damage instead of oxygen damage.
150 HP
33% burn armor
Yes it has hands, but it can only pick up and drop stuff
**🟨Window phase🟨**

Instead of needing to smash a window with the void eater, moving through
windows simply leaves them passable for 5 seconds. Makes kidnapping a
lot easier, but also makes it easier for people to chase you
People who used the voided skull also leave windows passable for a short
bit.
**🟩Cosmic Charge🟩**
Standard charge ability, but only lets you charge towards space and
works while dragging people
**🟩The Vomitwalker🟩**
People you kidnapped now occasionally do the nebula vomit, which
voidwalkers can use to dive from and into

Diving into it is very fast but also removes the nebula vomit. You can
also kidnap people into the vomit (this doesn't remove the vomit).
There is also a little UI for tracking this. Clicking it while in space
dive teleports you to the next nebula vomit, if there are any.

**🟨Voided people changes🟨**
Kidnapped people and people that used the cosmic skull are no longer
muted, but take 10% extra brute and occasionally leave behind glass
shards when taking a lot of damage.
Are no longer obliterated on a second encounter with voidwalkers.
Voidwalkers can't hurt people they've already voided (unless they really
want to), but instead just knock them out for 30s
Also the kidnapped do space vomit as I said earlier.
**🟩Sunwalker🟩**
Voidwalker variant made for pure murderbone. Has no camo and kindap
mechanics, but has a fiery charge, loads of damage and area igniting and
people ignition. It's admin, but I might change this later once I've had
some more time to think about it.

Other changes:
- Voidwindows no longer need to be space adjacent
- Unsettle works faster but can't be used in combat anymore
- Space camo now grants complete space invisibility
- Makes a lot of aspects easily moddable, so we can easily mod it into a
moistwalker in-game
- Taking a cosmic skull when you already used one gives you the old
voidwalker void eater arm. Additional uses just gives you more void
eater arms until you run out of hands
- I definitely forgot a lot more
- I made a cool voidwalker hud! It even has a unique space camo toggle
## Why It's Good For The Game
<details>
<summary>Lot of text</summary>
Voidwalker was basically a snowflaked toghether human species because I
didn't know how to sprite, but I was able to work with species and
visual effects. Then I realized I can just commission sprites!
This also let me just cut out a lot of the snowflake code, because it's
no longer a human so half the things I didn't want them to be able to
do, they just literally cannot do.
Voidwalkers were in a bit of strange spot with kidnapping? There was
essentially no incentive, other than "smash spaceman = funny". They also
had issues doing, anything? There's surprisingly little space on a space
station, especially maps such as tram. Making the voided victims have
nebula vomit gives the voidwalker a reason to WANT to kidnap, by giving
them a way to appear basically anywhere on the station. I don't think
it's too overpowered. Voided people don't vomit that much, it's easily
cleanable and diving into it removes them, so they're limited usability.
Replacing the brute damage with oxygen damage also kinda... just makes
sense? I seriously contemplated letting them do stamina damage for the
first iteration, but opted not to do it because stamina damage has so
many hooks attached. Oxygen damage doesn't! It's also just incredibly
thematic, let's them bypass most armor and makes them more suited to
non-letha kidnappings.
Space camo making them completely invisible was also long overdue. It
was literally just urging people to turn up their gamma and turn down
their parallax settings. I thought it was an interesting mechanic, but
it's just straight up unfair and doesn't belong in a multiplayer game.
They now more frequently leave behind little glass shards, leave
particles from nebula vomit they leave from and have more unique sound
effects, so attentive (and lucky) people can still deduce if an area is
safe-ish.
I removed being able to shatter voided people because the mechanic was
deeply misunderstood. It was intended to give them a means of removing
people if they kept incessently bothering the voidwalker, but people
went out of their way to use this to roundremove people they had already
voided. The 30s sleep conveys my intention a lot better, and fits better
now that the voidwalker benefits from having as many voided people
vomitting all over the place.
The cosmic charge gives them some much needed survivability. My
experiences (in observing voidwalkers, I can never get the roll ;_;) is
that they're constantly one mistake away from complete obliteration. The
cosmic charge let's them get out quick despite their slow movement speed
in gravity. It also makes them stronger when fighting in space.
They got 33% burn armor so it's a tiny bit harder to wipe them away in a
single laser salvo, while still giving people ample opportunity to fight
them off . Also they're like glass or something so it fits thematically.
I gave them hands because I thought it was cool, might be a mistake idk
</details>
## Changelog
🆑 Time-Green, INFRARED_BACON
add: Voidwalker has been throughly reworked! Now you are even less safe!
admin: Adds admin-only Sunwalker mob
fix: Unsettle doesnt work on yourself anymore
fix: Space camo doesnt stop bobbing anymore
fix: Voidwalker windows now recharge on kidnap
runtime: Fixes healthanalyzers runtiming when scanning mobs without
reagent holders
/🆑
## About The Pull Request
ABSTRACT is an ``item_flags`` not an ``obj_flags`` which was fucking up
making the items abstract, this fixes that, and removes a runtime for
slapcraft for non-craft users (it was causing a runtime when borgs were
trying to use one of their items on another one of their items).
## Why It's Good For The Game
Closes https://github.com/tgstation/tgstation/issues/91736
## Changelog
🆑
fix: Borgs can't put their models in other storage items.
/🆑
## About The Pull Request
the element was wrongfully adding items to its list. since its meant to
be a singleton, this list would get extremely large.
## Why It's Good For The Game
closes#91738
## Changelog
🆑
fix: 50 minebots no longer crash the server
/🆑
## About The Pull Request
A few places seem to call `hitby` or `throw_impact` without a throwing
datum to mimic the effect of colliding with something, which is cringe,
but I guess we should support it.
So we need to nullcheck for `get_thrower`, else it runtimes and cancels
the whole proc.
## Changelog
🆑 Melbert
fix: Glass shards from colliding with vendors or glass table hurt you
again.
/🆑
## About The Pull Request
The element wasn't making use of the flag in the
`equip_to_slot_if_possible()` proc, which meant that you would spend
time on a `do_after()` to attack-equip an item onto someone else just so
the recipient would have to spend time equal to `equip_delay_self` to
equip the item. This is weird, and it led to stuff like #73225 where you
could magically make a jacket disappear into the recipient's contents.
In theory this calls for a closer inspection of the equip pipeline's
safety checks? but I might be a tad bit lazy to that. Funny how there
are exactly 3 instances of an item with `equip_delay_self` in the entire
game.
## Why It's Good For The Game
Closes#73225
## Changelog
🆑
fix: fixed equipping straight jackets onto people with attack-equip then
equipping another jacket through the equip window causing magical jacket
consumption into the recipient's contents
/🆑
## About The Pull Request

Makes the chainsaw arm code generic, so you can attach any normal or
bulky sized item as an arm
Impl. detail:
Items-as-arms just use inhand sprites unless it has
`/datum/element/prosthetic_icon`. Currently used for chainsaws as the
only item with an implanted sprite.
Chainsaw arm nullrod now fully replaces the arm rather than being a
nodrop item.
When surgically adding any non-bodypart item, applying the item will
result in a loose fitting, and it might fall off on attack. The
following step (tape/suture) removes the fall chance.
## Why It's Good For The Game
Chainsaw arms are funny, but why stop at chainsaws beyond it being an
Evil Dead reference?
## Changelog
🆑 Melbert
add: Any normal or bulky sized item can be used as a prosthetic arm,
instead of just chainsaws.
/🆑
## About The Pull Request
This PR changes `TRAIT_SPACEBREATHING` from a lung trait to a mob trait,
and simultaneously renames it to the much less snappy but simultaneously
more specific `TRAIT_NO_BREATHLESS_DAMAGE`
This proc technically does not allow you to breathe specifically in
space, it only bypasses any checks for minimum levels of gases
regardless of if you are in space or not
At the same time I implemented it for basic mobs, just because I can. I
don't think they have any way of gaining it, but if some future dev was
going to make a temporary buff that lets something breathe in space now
it could also work on basic mobs.
## Why It's Good For The Game
This is how developers expected the trait to work and no longer requires
that the mob have lungs to be used
## Changelog
🆑
fix: Changelings with Void Adaption can once again breathe in space
/🆑
## About The Pull Request
Very simply put, we weren't actually unregistering the
`COMSIG_MOVABLE_MOVED` signal on detaching.
This was making it so that when you open a critter crate it doesn't
actually unregister the signal, meaning that it re-attaches a lot of its
effects to the turf the next time the crate moves. However, because it
wasn't actually *properly* attached anymore, breaking the crate wouldn't
unregister the turf.
So this was making it so that if you were to open a critter crate and
then move it immediately after, it would regain its ability to elevate
you as if it were closed, and this would linger even after it breaking.
This fixes that.
## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/91204.
## Changelog
🆑
fix: Critter crates no longer re-attain their ability to lift you
despite being open if you move one after opening it, and neither does
this lifting field stay after you destroy it.
/🆑
## About The Pull Request
Changes some logic in underfloor object and atmos component rendering to
make them look nicer when visible, but not accessible under floors. Also
changes how catwalks get rendered to improve their visuals when opened.
Before:

After:

## Why It's Good For The Game
Makes pipes look less shit. The rendering curse reigns eternal.
## Changelog
🆑
fix: Fixed vents and pipes partially poking out from under glass and
catwalk floors
/🆑
## About The Pull Request
Adds bloodroaches.

These are cockroaches that have gorged themselves on blood in
maintenance. They're very gross!

Splatting one causes an explosion of blood all around the death
perimeter, splashing both turfs and mobs with blood.
They have a 1% chance of spawning in place of normal roaches.
They also spawn in:
- Abandoned crates, replacing the 30 roaches with 30 bloodroaches.
- As backup anomalous crystal possession targets.
- Grimy fridges
Added a trait given to things killed by pest spray, used to check on
death explosion for bloodroaches.
Changed roach spawns in maps to use mob spawners, so I can replace them
with bloodroaches 1% of the time.
## Why It's Good For The Game
Splatting a random roach in maintenance that explodes into blood sounds
hilarious. It also adds janitorial depth by requiring pest spray to
carefully eliminate these pests
## Changelog
🆑
add: Added bloodroaches, a rare variant of cockroaches that explode into
a shower of blood when squashed.
/🆑
## About The Pull Request
This has the potential to create a lot of needless mob updates which is
not great. Now should only update a mob's clothing if it was actually
washed.
This PR
1) ensures that all wash() procs return a bitflag.
2) ensures that `wash()` proccalls which result in expensive operations
like icon updates only do so when it is necessary
## Why It's Good For The Game
Updating mob sprites is expensive, and doing it when nothing has been
changed is bad.
## Changelog
Nothing really player facing
## About The Pull Request
Turns out there were a couple of black mask subtypes that I missed as
well as a prisoner uniform subtype.
Also fixes some bugs that are not related to the map icon pr to further
improve the situation with GAGS previews.
## Why It's Good For The Game
Smaller .dmis, working previews
## Changelog
🆑
fix: spraycan can now be used to recolor the gi, glow shoes, striped
dress, H.E.C.K. suit
fix: most GAGS items should now be showing up in the lootpanel again
/🆑
## About The Pull Request
My original plan was to just implement materials into crafting so that
items would inherit the materials of their components, allowing for some
interesting stuff if the material flags of the item allow it. However to
my dismay crafting is a pile of old tech debt, starting from the old
`del_reqs` and `CheckParts` which still contain lines about old janky
bandaids that are no longer in use nor reachable, up to the
`customizable_reagent_holder` component which has some harddel issues
when your custom food is sliced, and items used in food recipes not
being deleted and instead stored inside the result with no purpose as
well as other inconsistencies like stack recipes that transfer materials
having counterparts in the UI that don't do that.
EDIT: Several things have come up while working on this, so I apologise
that it ended up changing over 100+ files. I managed to atomize some of
the changes, but it's a bit tedious.
EDIT: TLDR because I was told this section is too vague and there's too
much going on. This PR:
- Improves the dated crafting code (not the UI).
- replaced `atom/CheckParts` and `crafting_recipe/on_craft_completion`
with `atom/on_craft_completion`.
- Reqs used in food recipes are now deleted by default and not stored
inside the result (they did nothing).
- Renames the customizable_reagent_holder comp and improves it (No
harddels/ref issues).
- Adds a unit test that tries to craft all recipes to see what's wrong
(it skips some of the much more specific reqs for now).
- In the unit test is also the code to make sure materials of the
crafted item and a non-crafted item of the same type are roughly the
same, so far only applied to food.
- Some mild material/food refactoring around the fact that food item
code has been changed to support materials.
## Why It's Good For The Game
Improving the backbone of the crafting system. Also materials and food
code.
## Changelog
🆑
refactor: Refactored crafting backend. Report possible pesky bugs.
balance: the MEAT backpack (from the MEAT cargo pack) may be a smidge
different because of code standardization.
/🆑
## About The Pull Request
Closes#91131.
The author currently has other priorities, and as I need it for
something else I am finishing it myself with the author's blessing.
Recently, we turned `transferItemToLoc(...)` into a proc intended to be
for transfers to non-turfs, with it now playing an animation to reflect
that.
However, this had the effect of leaving us with `dropItemToGround(...)`
for mob>turf transfers, which isn't _ideal_. It sends an 'item dropped'
signal, it randomizes offsets, and using it to transfer to a
non-`drop_location()` loc was implemented as an afterthought.
So in this pr we create a new proc, `transfer_item_to_turf(...)`, that
separates off the actual transferring, setting offsets, and animating
into its own proc.
Then `dropItemToGround(...)`, tables, racks, easels, closets, hoops,
beds, conveyor belts, pin the tail corgi posters, some other stuff, and
the `floor_placeable` element call such each with their own preferred
arguments.
While we could leave setting offsets out of it, because setting the
offsets after calling the animation works just fine, having them be set
before the animation felt like a more intuitive flow.
...While I would love to refactor the easel's incredibly questionable
`attackby(...)`, that is outside of the scope of this pr.
## Why It's Good For The Game
Fixes#91082.
Less jank 👍
## Changelog
🆑
fix: Placing an item on a table/turf via the alt-click menu actually
centers it, again.
fix: Certain items, like canvases or syringe guns, are no longer weirdly
offset when placed on tables.
fix: Placing items on racks, closets, crates, hoops, beds, conveyor
belts, and pin the tail corgi posters is animated again, instead of
instantly teleporting followed by the pickup animation.
fix: Placing a canvas on an easels no longer applies a random offset as
if dropped.
fix: Tucking in someone else actually animates the bedsheet from you to
them, instead of from them to them.
qol: Placing a canvas on an easel is animated.
/🆑
## About The Pull Request
Refactors most of blood handling code untouched by #90593 and completely
rewrites all blood decals, components and reagents.
- Blood types now have behavioral flags which allow them to control
where they leave decals/DNA/viruses. Oil no longer transfers DNA and
viruses with it, while podpeople water-blood doesn't leave visible
decals on turfs and items, but still can be picked up by DNA scanners.
- Multiple blood types have received unique handling - liquid
electricity blood now glows in the dark, oil trails are flammable and
lube ones are slippery. Oil blood can be restored with fuel, lube with
silicon and slime with stable plasma (as normal plasma already passively
regenerates their blood), instead of everything using iron. Saline
solution only supplements on iron-based blood and won't do anything to
help with bloodloss for species who rely on different blood types.
(Roundstart this applies only to Ethereals)
- All blood logic has been moved away from the blood reagent itself into
a blood element that is assigned to the blood reagent by default, and to
any reagent that's drawn from a mob as their "blood" (in
``transfer_blood_to``). This means that blood you draw from lizards will
be green and have lizard's blood description instead of mentioning red
blood cells, Ethereal "blood" will actually contain their DNA and genes,
etc.
- Refactored all blood decals. Blood states are no more, everything is
now handled via blood DNA. Credits to MrMelbert and Maplestation, as a
significant amount of code has been taken from
https://github.com/MrMelbert/MapleStationCode/pull/436 and many of his
followup PRs. Oil and xenomorph splatters are now subtypes of blood,
blood drying is now animated, blood trails now curve and can be
diagonal.
- Rewrote bloodysoles and bloody_spreader components, credits to Melbert
again for the former, while latter now makes more sense with its
interactions. Bloody soles no longer share blood DNA with your hands.
- Ported Melbert's bloody footprint sprites and bot-blood-spreading
functionality.
- Removed all species-side reagent interactions, instead they're handled
by said species' livers. (This previously included exotic blood
handling, thus the removal)
- Slightly optimized human rendering by removing inbetween overlay
holders for clothing when they're not needed.
- Blood-transmitted diseases will now get added to many more decals than
before.
- Cleaned up and partially refactored replica pods, fixed an issue where
monkeys/manipulators were unable to harvest mindless pods.
- Exotic bloodtype on species now automatically assigns their blood
reagent, without the need to assign them separately.
- Clown mobs now bleed (with colorful reagent instead of blood during
april fools), and so do vatbeasts (lizard blood)
- Implemented generic procs for handling bleeding checks, all sorts of
scanners now also correctly call your blood for what it is.
- Podpeople's guts are now lime-green like their organs, instead of
being weirdly greyish like their water-blood. (Their bleeding overlays
are still grey, as they're bleeding water)
- Slimepeople now can bleed. Their jelly is pale purple in color, but
their wound overlays copy their body color.
- Injecting/spraying/splashing/etc mob with a reagent preserves its
data, so you could theoretically recycle fine wines from someone's
bloodstream
- Fixed burdened chaplain's sect never actually giving a blessing when
applying effects, and giving a blessing when nothing can be healed.
Inverted check strikes again.
- Closes#91039
#### Examples
A lot of blood here has dried, visually the blood colors are almost
exactly the same as before either of the blood refactors.


## About The Pull Request
Prettier (an auto formatter) is set to only run within the tgui folder
currently. This removes that limitation, allowing it to automatically
format all supported files in the repo (.js, .html, .yml
[etc](https://prettier.io/docs/))
I made a few exceptions for bundled and generated files
## Why It's Good For The Game
I'm of the opinion that code should look uniform and am lazy enough to
want CTRL-S to format files without having to think beyond that
## Changelog
## About The Pull Request
I was trying to fix a hard delete and it became a whole thing
- Reworks `/obj/item/stack/proc/split_stack` to no longer also try to
put it in the user's hands, or take a user at all. The proc now purely
splits the stack and returns the new one
- Creates `/obj/item/stack/proc/split_n_take` which uses `split_stack`
and does the other behaviors like fingerprint adding and putting in the
user's hands
- Update usages of `split_stack` to either properly use it and remove
the code added to get around the put in hands behavior, or change them
to use `split_n_take` instead
- Fix a random bug in pipe bomb building I noticed while testing
## Why It's Good For The Game
Ultimately this fixes a hard delete with goldgrubs eating a piece of ore
while sitting on top of another piece of ore of the same type (the put
in hands behavior of split stack would cause the ore being consumed to
drop to the ground briefly, merge with the ore there, and then qdel
while still being moved to the goldgrub contents), but also added bonus
that it makes `split_stack` just split the stack and not some other
stuff too. Also a pipe bomb bug fix
## Changelog
🆑
fix: fixed being able to add seemingly infinite refined bluespace
crystals to pipe bombs
refactor: /obj/item/stack/split_stack no longer tries to move the stack
into the user's hands, use /obj/item/stack/split_n_take for that
/🆑
## About The Pull Request
Given the existence of basic mobs with hand slots, it feels like
throwing and giving items shouldn't be something exclusive to carbon
mobs, so I've pulled things around to make this happen. The only basic
mobs with hands at time of writing are gorillas and dextrous
holoparasites, but the inability to throw things when you're a gorilla
just doesn't seem right to me.
Some more details about what I've done here:
- Made the dextrous component optionally enable throwing for the mob
it's added to.
- Moved offer/give item functionality to /mob/living (I can't see any
reason why only carbon mobs should have this option)
- Moved throwing and give item hotkeys from carbon to "human" (where all
the other /mob/living hotkeys go) and, as a result, removed carbon
hotkeys (nothing is left in them).
- Moved throwing code and item offering code to its own file because
living.dm is 3000+ lines long and should probably be broken up some day
(I'm not brave enough for that)
- Cleaned up an unused global signal that hasn't been used since dogs
got moved to basic mobs.
- Other miscellaneous cleanup where I noticed it.
- In terms of testing: Tested using gorillas (only checked the dextrous
holoparasite to confirm the button and hotkeys worked). Things that were
working:
- Can throw items if the mob is set up to allow it.
- Can give items as a gorilla to a human, as a human to a gorilla, and
as a human to a human.
- Can give a high five to a gorilla (and the gorilla can receive it).
Gorillas can't give a high five back, though (they don't have the
emote), this already ballooned in scope, someone else can make that
happen.
- There are an alarmingly high amount of niche
emote-into-item-into-giving behaviours I suspect half the playerbase or
more aren't even aware of (does anyone offer their hand to someone to
get them up off of the ground?) and I don't know if I broke any of them
with this, but the fact high fives work gives me some hope they're
probably still fine.
## Why It's Good For The Game
Lets gorillas and dextrous holoparasites throw things and give things,
but most importantly sets up more framework for any future dextrous
basic mobs to also be able to do this. There's no real reason to keep
this functionality confined to carbon mobs when dextrous basic mobs are
a thing.
## Changelog
🆑
add: Gorillas can now throw things and offer items to players.
refactor: Moved throwing and offering item code to be based on living
mobs, not just carbon mobs.
/🆑
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
Currently, due to the amount of stamina damage that entering a tile
deal, as well as the amount of stamina damage and the frequency of the
stamina damage inflicted by the swimming status effect, wading into deep
water may be tantamount to suicide without stimulants.
To avoid this problem, we've made some adjustments to how and when we
inflict our swimmer with stamina damage.
Firstly, we've reduced the values for stamina loss and oxygen loss by a
fairly decent margin.
Secondly, we only inflict stamina damage on wading into deep water 30%
of the time. When this happens, we award experience and give our swimmer
the exercised buff.
Thirdly, for a bit of realism, our combined weight class of equipped
items and combined equipped item slowdowns contribute to our stamina
penalty from wading through water. Smaller objects do not affect this,
but things like jumpsuits and backpacks do. Shorts do not contribute to
this weight specifically. You're definitely going to sink if you are
wearing the RD's MODsuit. (though the RD has the strength to move in
that thing anyway)
Fourthly, we increased the tick interval for the swimming status effect
from every second to every five seconds. This better represents long
term swimming exhaustion. However, we don't award athletics skill points
for this. You have to actually move to get skill improvements.
Breath loss from drowning also has been put behind a probability,
because losing breathes is actually pretty severe and we don't want this
increment infinitely quickly.
As an added bonus, we now include athletics boosters to swimming.
Finally, we fixed a runtime in the exercised status effect when assigned
to a mob without a mind.
## Why It's Good For The Game
One time I found an assistant that had drowned in the 1x3 deep water on
Metastation because he didn't know stepping into deep water was
basically asking to die a horrible death. Rather nasty.
Also that other swimming PR reminded me that this needs fixing. It is
hilariously lethal. I just want to go for a swim at the beach!
## Changelog
🆑
balance: Swimming is no longer so hyper lethal, and also benefits from
athletics boosters.
balance: By default, swimming through deep water does a somewhat low but
mounting quantity of stamina damage. Reduced by athletics skill and
athletics boosters.
balance: Your total carried equipment weight (and their slowdowns, if
any) contribute to your stamina loss while swimming. If you fell into
deep water, best start stripping items.
balance: Floating is slightly less lethal, especially if you are
starting to drown.
fix: Fixes a runtime caused by the exercised status effect.
/🆑
## About The Pull Request
This PR fixes and issue where /obj/food/grown items that were produced
as a trash product from other /obj/food/grown items did not inherit seed
characteristics.
This only(?) affected the bungo pit, as it is currently the only item of
this class(?).
## Why It's Good For The Game
Tot botanists are sad when they can't reexperience the hottest meta
strategy of 2022.
## Changelog
🆑
fix: fixed bungo pits not inheriting genes and stats from the fruit.
/🆑
## About The Pull Request
This PR includes a number of fixes, buffs and improvements to the clown
mobs to make them more playable and worthwhile.
### Atmos tolerance buffs
This PR removes the insane unsuitable atmos and temperature damage clown
mobs used to take and bring it in line with other mobs.
In addition, clownanas can tolerate lower oxygen levels and are immune
to carbon dioxide due to their half plant biology.
### Movement speed changes
A lot of these mobs were previously unviable due to their slow speed,
one of the most important stats.
This problem will only get worse for basic mobs if the proposed basic
mob stamina changes get implemented.
Most of them are still slower than humans but now have some chance to
corner a human in some circumstances.
(I plan to add more ways to modify basic mob run speed in the future to
help with this.)
The flesh clown and honkling are now fast again, I remember the original
speed nerf of fleshclown upset the very few fleshclown enjoyers once i
PR'd in the initial balance pass years back.
### Glutton buffs
The banana glutton is now given a mechanical incentive to eat lots of
foods to nudge them into good RP.
They heal for every item and gain max health every 5 items eaten!
The banana glutton can now smash doors.
They can now prank the crew with ink sacs should they find them.
### Biotype update
Clownana has gained the plant biotype.
Living lube has gained the slime biotype.
### cell lines & samples
clownana and longface; the two other clown cell lines now have samples
associated with them and can be biopsied to create pure samples of each
cell line.
The clownana banana bunch can also be swabbed for the pure clownana cell
line!
### death drop changes
The death drop element now spreads the items out slightly instead of
stacking lots of drops in the center of the tile.
Clown mobs now drop less soap and more peels, with some of the rarer
ones dropping mimana, bluespace or gros michel peels.
The clownana now has a chance to drop full bananas or even a full banana
bunch.
The banana glutton has a chance to drop a heart of freedom.
The flesh clown now drops a meatclown instead of soap, and a piece of
human skin instead of a bloated human suit.
### other stat changes
living lube is now highly resistant to brute damage
longface can now acutally fight a little bit, still kinda terrible
though.
## Why It's Good For The Game
These mobs are quite beloved but their level of playability is low due
to poor balance.
The main problem is atmos.
Even a whiff of bad atmos would gib these mobs before they could get to
safety.
Many of them had their speed set way too high or way too low when they
were first added, even after i adjusted their speeds years ago I was
being too conservative.
Their loot tables were too similar, this helps with that a little bit. A
couple of them might even be worthwhile farming for their drops in
certain niche situations!
The banana glutton has such a cool sprite but has been neglected
mechanically, this helps make him a little more worthwhile and the extra
obj damage helps him not be in that sucky place where he is too large to
vent crawl and not powerful enough to break down doors.
Ideally in the future we should probably be more restrictive with
allowing mobs to smash airlocks and give them another way of opening
doors via armblade -like prying or ID implants.
## Changelog
🆑
add: banana gluttons gain max health and heal by eating foods! And they
can smash doors.
balance: clown mobs no longer get nuked by bad atmos.
balance: blown mobs have new death drops.
balance: most clown more are now faster!
balance: clownanas are now plants and are immune to carbon dioxide.
balance: living lube is now a slime and highly brute resistant.
balance: longfaces now hit decently hard.
fix: clownanas and longfaces can now be biopsied.
/🆑
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
- Damp rag is now no longer god's perfect cleaning tool. After blood,
the damp rag will collect it, and after cleaning a lot of blood, you can
no longer clean with the rag until you wash it in a sink (or with
cleaner or however you want)
- This means the rag will collect DNA in it as you clean, which gives
detectives an opportunity to investigate.
- It also means the DNA it collects will occasionally spread onto you,
meaning you will have to clean your gloves or hands.
- Cleaning vomit and such is (currently) unaffected (and does not dirty
the rag).
- Diseases are not currently transferred to the rag (but this would be
fun to add)
- Gauze now gets dirty when using it to wrap bleeding wounds. This is
just visual, though blood DNA gets transferred. It can be washed in a
sink.
- Removed gauze on sink / cloth on sink interaction.
- Can't really wash gauze with it, plus it's redundant.
- Damp rag is no longer a cup.
## Why It's Good For The Game
Damp rag is just "soap without any downsides", which is kinda lame.
I thought about going a step further and making it require you wet it
first but then it just becomes "mop but small" which is also lame.
Instead, you're required to clean it, which gives janitors / crewmembers
an alternate cleaning method:
- Soap: Small, finite, limited. Can't be replenished.
- Cleaner: Small, finite, even more limited, ranged. Can be refilled
with chemistry's help.
- Mop: Large, infinite, limited. Needs a water bucket.
- Damp Rag: Small, infinite, limited. Need to clean it after a few goes.
## Changelog
🆑 Melbert
balance: Damp Rags can now get dirty when using them to clean blood,
passing blood DNA along.
add: Gauze now gets dirty when apply it to actively bleeding wounds.
Doesn't spread disease or anything, just passes blood DNA. It can be
cleaned in a sink.
del: Removed cloth on sink / gauze on sink interaction to make rags.
Just use the crafting menu
/🆑
## About The Pull Request
The element name, as it would indicate, is for placing items on the
floor. The proc it's using to do so is, specifically, the one for moving
items anywhere BUT the floor. This fixes that.
## Why It's Good For The Game
AM I THE ONLY ONE AROUND HERE WHO GIVES A SHIT ABOUT THE PROCS?
Fixes#91083
## Changelog
🆑 Bisar
fix: Things with the behavior for placing on the floor now correctly use
the code for placing on the floor.
/🆑
## About The Pull Request
Instead of having the deep water tile slow people down, they get slowed
down by the swimming status effect. Fishpeople are immune to that
slowdown.
## Why It's Good For The Game
glug
## Changelog
🆑
fix: fixed fish infused people swimming slow in deep water
/🆑
## About The Pull Request
Since #90505 added another entry to it the Regal Rat Riot ability, which
turns maintenance creatures into versions loyal to the rat, has become
sort of unmanageable (and to be honest it was a bit gross to start
with).
Instead of having a big if/else list (which was making the same range
check multiple times...) that sets stats on a bunch of mobs, I delegated
it to the mobs themselves and instead of changing some stats of the
existing mobs we just turn them into a new mob which can be spawned or
placed separately by mappers or admins if they want.
Other stuff I changed:
Riot (the ability which transforms mobs into minions) no longer spawns a
mouse if it fails to find anything. Instead you have a chance to fish
mice out of disposals bins while digging out trash and items.
Domain is now a toggle which activates itself every 6 seconds rather
than a button you manually click every 6 seconds.
Riot makes a visual effect when used.
Rare Pepe randomisation is done via a random spawner instead of the mob
modifying a bunch of its own properties in Initialise.
A bunch of mobs now automatically follow you after being tamed. I wrote
this assuming I was going to add it to the rioted mobs but then didn't
end up doing that because you might want them to immediately attack
someone.
My rule of thumb is that if I think you'd want the mob to attack someone
the moment it is befriended I didn't add this and if you wouldn't I did.
I changed some of the regal rat minion names, and some of them can now
spawn from gold slime which couldn't before.
## Why It's Good For The Game
This proc sucked and now it's nicer.
As for the other changes;
- A tamed mob immediately following you is nice feedback and saves you a
click as it's likely to be your first action. Also removes some admin
panel shitcode I added.
- I changed Domain to a toggle because you generally want to use it on
cooldown and someone suggested it on this PR and it sounded like a good
idea.
- I saw someone in Discord complaining that the previous flow of
recruiting rats by hitting Riot with nothing around to summon one,
waiting, hitting it again to convert one rat, and waiting again was
tedious and annoying which I agree with.
This method improves the quality of life by separating these two actions
but _also_ as a side effect reduces a regal rat's ability to secretly
stockpile 50 rats in a hidden maintenance room because most disposal
bins are in slightly more visible areas, they'll actually need to go and
make a mess somewhere someone can see them.
## Changelog
🆑
balance: Regal Rats can now grab mice out of disposal bins, and no
longer spawn them with the Riot ability.
balance: The Riot ability no longer needs to be used once for each
slightly different kind of mob in your radius.
balance: The Regal Rat Domain ability is now toggled on and off.
balance: Several kinds of mob will immediately start following you once
tamed.
balance: Rats, hostile frogs, and evil snails can be created via gold
slime reaction.
/🆑
## About The Pull Request
This PR enables most mobs to take stamina damage, become slowed as a
result of taking stamina damage.
It also gives most mobs CANSTUN which not only allows them to enter
stamcrit from taking stamina damage but also makes them vulnerable to
mechanics like stun batons.
Mobs which already took stamina damage (Spiders and Space Dragons) still
work the same way.
Mechanical or artificial mobs, mining mobs, simple xenomorphs, ghosts,
and most kinds of mob closely associated with antagonists still don't
take stamina damage.
## Why It's Good For The Game
A new player armed with a disabler will probably try and use it on
aggressive animals and be disappointed, but I don't think there is any
_reason_ for them to be disappointed when it's already something they
are doing merely to delay being attacked rather than to kill the target.
It's not intuitive for these mechanics not to function against simple
mobs when they do against humans, _especially_ the kinds of mobs which
look like humans, and there isn't any technical reason why it _couldn't_
work against most mobs which it looks like they should work against.
While this reduces the threat level of some mobs against Security
players I think the greater interaction with the sandbox is beneficial.
I'm hopeful it doesn't have that much effect on many of the most common
places you encounter dangerous mobs like Space Ruins or Gateways as they
are also places where you can't reliably recharge your energy-based
stamina weapons as most that don't require energy do require getting
into melee and endangering yourself.
## Changelog
🆑
balance: Most biological mobs are now slowed by taking stamina damage,
and can be stunned. Mechanical mobs, mining mobs, and several other
special kinds (chiefly those invoked by antagonists) are unaffected. If
this seems to effect any mob it probably shouldn't, please report it as
a bug.
/🆑
## About The Pull Request
``transparent_protection`` is a set of cover flags which are supposed to
be used for things that can be seen, but cannot be accessed. Replaced
the argument in ``check_obscured_slots`` with a separate
``check_covered_slots`` proc for clarity.
Closes#90827
Also went a bit down a rabbit hole and fixed some UI issues with the
strip menu, as I found out that covered slots also counted as obscured.
Covered, but not obscured slots are now semi-transparent, images are
pixel-perfect, and action buttons no longer are offset. Also slots with
items in them don't have the background, akin to how inventory slots
function in-game.
## About The Pull Request
This PR adds four small fixes:
- Custom shuttle docking consoles no longer runtime at the world border
- Custom shuttle docking consoles are no longer blocked by where the
linked shuttle currently is
- Shuttle blueprints don't runtime and bluescreen while on whiteships
- Custom shuttles don't cause a divide-by-zero runtime when installing
engines for the first time (and are calculated correctly)
And one major QOL tweak:
- Shuttle frames are now datums which can track their own size, as well
as track which custom shuttles are adjacent to them. This allows shuttle
blueprints to display the size of the shuttle that will be built or
expanded, as well as much more performantly report issues that would
prevent shuttle construction or expansion.
## Why It's Good For The Game
I've been informed of several issues and nice-to-haves regarding custom
shuttles, and caught several other issues in the process of implementing
the requested changes.
## Changelog
🆑
fix: Shuttle blueprints don't error out when opening them while on
non-custom shuttles.
fix: Custom shuttles calculate their engine count correctly, no longer
lagging behind by one engine (un)installation.
fix: Custom shuttle docking consoles are no longer blocked by where the
linked shuttle currently is.
qol: Shuttle blueprints now show you how large a shuttle frame is, along
with any issues preventing you from building or expanding a shuttle
using said frame.
/🆑
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->
## About The Pull Request
I spotted this when I used throw mode to hit my lizard character with
the officer's sabre
`check_biotype_path` in the bane element typecasts bane_applier into
`/mob/living/bane_applier` and then checks for
`bane_applier.combat_mode` , which runtimes if `bane_applier` doesn't
actually have combat_mode.
instead, let's typecast `bane_applier` into an atom and check if it's
living down the line.
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->
🆑 grungussuss
fix: fixes bane element not working if it was used by a weapon without a
wielder
/🆑
<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
---------
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
## About The Pull Request
Fully removes thrownby as a var on items, and is now instead handled by
throwingdatums' ``get_thrower()`` proc
Also replaces the early return for throwing things at yourself (it now
only prevents the call for check_block and therefore hit reaction
stuff), since the only way to throw things at yourself is with
boomerangs, which currently only works because it doesn't pass you as
the thrower for boomerang's return
Speaking of, boomerangs now see the thrower as thrower on returns
Before (Boomerangs don't pass you as the thrower, so it shows you as
being hit by nothing):

After (Boomerangs pass you and you can affect yourself, so it sees you
hitting yourself & it still batons you):

This is gonna be used for
https://github.com/tgstation/tgstation/pull/90689 as well.
## Why It's Good For The Game
Better logging for boomeranged items, removes a deprecated var and
better consistency for thrown items leaving better readability.
## Changelog
🆑
admin: People throwing boomeranged items and hitting themselves now logs
it as them hitting themselves (rather than being hit by the air).
/🆑
## About The Pull Request
So I really wanted to do the stereotypical "really I'm just a
construction worker" break-in bit, but then quickly realized you can't
even place warning cones on the floor! You have to awkwardly drop them,
or put them on a table and move them off!
Thinking about that, I remembered my similar annoyance with candles for
rituals or wet floor signs when playing a janitor.
Initially this was intended to include the ability to stack warning
cones for easy storage and placement, but I realized that was taking a
_lot_ more time than making the other items placeable on the floor.
Because of this, I decided to atomize the much less complex part off
into this pr.
So here, in this pr, we add a simple element
`/datum/element/floor_placeable` and apply it to a list of items for
which I think "placing it on the floor" makes enough sense as an
interaction.
As a side to this, we add the plastic pickup/drop noises to wet floor
signs and warning cones, because they're made of plastic and it's
leagues better than being entirely inaudible.
We remove `var/cooldown = 0` from `/obj/item/toy/cattoy` because it
wasn't used.
## Why It's Good For The Game
Can't do the stereotypical hazard vest break-in in _style_ without the
ability to actually place the cones:

Oh man is it so much less of a pain to make fancy schmancy rituals when
you don't have to place candles on tables and drag them off for it to
work:

It's really funny to be able to play with toys on the floor:

## Changelog
🆑
add: Certain items can now be placed directly on the floor in the
clicked on location. This currently includes warning cones, wet floor
signs, candles, action figures, plushies, mech toys, and a list of other
toys.
sound: Warning cones now use plastic pickup/drop sounds.
sound: Wet floor signs now use plastic pickup/drop sounds.
/🆑
## About The Pull Request
This PR:
- Converts all of the blood types into their own datums, which can be
set up to have their own colors, descriptions, and other fun unique
properties. For example, the clown blood that is constantly randomizing
itself.
- Converts all the blood decals into greyscale, which in turn eliminates
the need for separate xeno sprites. They both use the same ones now.
- Audit of blood splatters/gibs/bodyparts/organs to make sure that they
are getting the correct forensic data applied to them.
- For the admins: Adds a clown blood smite.
My primary goal with was to make the appearance of the new sprites look
almost indistinguishable to the original ones.
I consider this a "first pass", as in there are still some further
refactors I would like to do on the backend side, but am satisfied with
it enough to push it forward as a first step towards a better blood
system! I didn't want to do too much at once because of A) fatigue and
B) easier to test things to make sure I'm not breaking something
important this way.
This has been test-merged on Nova for over a week now and has been going
great, so I finally got around to upstreaming the bones to TG. Although
I did test it a bit you may want to TM it just in case I missed some
things when copying it over.
## About The Pull Request
Fixes#90790
Decreases the exp gain from swimming and only grants it while you
actually have stamina.
Even if it doesn't kill you this shouldn't make you stronger
## Changelog
🆑
fix: Floating motionless and face down in the water doesn't count as a
workout
/🆑
## About The Pull Request
People can now pet held mothroaches and pugs if they want to, or use
items on them, hopefully without causing many issues. After all, it only
took about a couple dozen lines of code to make...
...Oh, did the 527 files changed or the 850~ lines added/removed perhaps
catch your eye? Made you wonder if I accidentally pushed the wrong
branch? or skewed something up big time? Well, nuh uh. I just happen to
be fed up with the melee attack chain still using stringized params
instead of an array/list. It was frankly revolting to see how I'd have
had to otherwise call `list2params` for what I'm trying to accomplish
here, and make this PR another tessera to the immense stupidity of our
attack chain procs calling `params2list` over and over and over instead
of just using that one call instance from `ClickOn` as an argument. It's
2025, honey, wake up!
I also tried to replace some of those single letter vars/args but there
are just way too many of them.
## Why It's Good For The Game
Improving old code. And I want to be able to pet mobroaches while
holding them too.
## Changelog
🆑
qol: You can now interact with held mobs in more ways beside wearing
them.
/🆑
## About The Pull Request
yeah, fixes that thing
Also shuffles some of this redeem_voucher_async code into multiple
procs, no change in behavior there.
## Why It's Good For The Game
the economy will never recover from this
https://github.com/user-attachments/assets/83a0acef-4de0-42c3-8012-7f5d960de70d
## Changelog
🆑
fix: Mining vendors will no longer mistake non-voucher items as
authentic mining vouchers
/🆑
## About The Pull Request
##### Disclaimer - Some of the code/icons/sounds were ported from TMGC.
Introducing more weather types! And yes, you can now have rain be
reagent based!
<details>
<summary>Regular Rain</summary>

</details>
<details>
<summary>Blood Rain</summary>

</details>
<details>
<summary>Acid Rain</summary>

</details>
You can even make it rain ants, plasma, or drugs. All of their effects
get applied to turfs, objects, and mobs depending on the weather options
you select.
Did I mention... there is thunder?
<details>
<summary>Thunder Strikes</summary>

</details>
<details>
<summary>Sand Storms</summary>

</details>
Despite all this new stuff, none of it has been directly added to the
game but the code can be used in the future for:
- Wizard event - Similar to lava on floor, but this time make the
reagent random or picked from a list and give wizard immunity
- Chaplain ability - Maybe make this a benefit or ability once enough
favor has been obtained
- Admin events - I have added a BUNCH of admin tooling to run customized
weather events that let you control a lot of options
- New station maps/biomes for downstreams (Jungle Station, etc.)
- Change Ion storms to use the new weather system that triggers
EMP/thunder effects across the station
- IceBox could get plasma rain
- Lavaland could get thunder effects applied to ash storms
Relevant PRs that removed/added some of the weather stuff I used:
- #60303
- #25222
---
#### Attribution
- Rain sprites were added via [novaepee](https://github.com/novaepee) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/9675
- Sand sprites were added via [TiviPlus](https://github.com/TiviPlus)
(who commissioned them from bimmer) in
https://github.com/tgstation/TerraGov-Marine-Corps/pull/4645
- Rain sounds [already existed on
tg](https://github.com/tgstation/tgstation/pull/25222#discussion_r106794579)
and were provided by provided by Cuboos, using Royalty Free sounds,
presumed under default tg sound license - Creative Commons 3.0 BY-SA
- Siren sound is from siren.wav by IFartInUrGeneralDirection --
[Freesound](https://freesound.org/s/46092/) -- License: Attribution 4.0
The original `siren.ogg` sound used on a lot of SS13 servers doesn't
seem to have any attribution that I could locate. The sound was added
about 15 years ago. So I just looked for a somewhat similar sounding
siren noise on Freesound.
## Why It's Good For The Game
More weather customization!
## Changelog
🆑
add: Added new weather types for rain and sandstorms. Rain now uses a
reagent that gets exposed to the turfs, mobs, and objects. There is also
a thunder strike setting you can apply to any weather.
add: Hydro trays and soil will now add reagents to their trays when
exposed to a chemical reaction. (weather, shower, chem spills, foam
grenades, etc.)
add: Weather temperature now affects weather reagents and mobs body
temperature.
bal: Snowstorm temperature calculations were tweaked to allow universal
weather temperature effects.
sound: Added weather sounds from TGMC for rain and sirens (attributed to
Cuboos and IFartInUrGeneralDirection )
image: Added weather images from TGMC for rain and sand storms
(attributed to Novaepee and Bimmer)
refactor: Refactored a lot of the weather code to be more robust
admin: Admins can now control more weather related options when running
weather events. The weather admin verbs have been moved to their own
"Weather" category under the Admin tab.
/🆑
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
Hunger bar is now dynamic rather than 4 static sprites
Hunger bar now accounts for food you have yet to metabolize, meaning it
updates as you eat
https://github.com/user-attachments/assets/06269da7-f07d-4738-98b2-ca6bde8ba0fe
Other changes:
- Adds a hunger tier between hungry and starving
## Why It's Good For The Game
Overeating happens so often simply because this bar is trash, so let's
give it some love
## Changelog
🆑 Melbert
fix: All humans no longer have a baseline "75" ghost nutrition (which
means you can eat more)
qol: Hunger bar update! It's now dynamic and updates as you eat.
qol: Adds a hunger tier between hungry and starving (for mood)
/🆑
## About The Pull Request
Adds `/datum/element/voucher_redeemer`, expands `/datum/voucher_set` a
bit, bumps all mining stuff down a level to `/datum/voucher_set/mining`.
## Why It's Good For The Game
Having a generic way to
`input item -> output a choice of a set of items`
would be really handy.
## Changelog
🆑 Melbert
refactor: Minor mining voucher refactor, report any oddities.
/🆑
## About The Pull Request
1. Burning paper (and similar) is now two way - rather than
necessitating you touch the paper with the burning thing, you can now
touch the burning thing with the paper
2. You can now light a cigarette on a lit candle
3. Candles no longer craft into flashlight eyes
## Why It's Good For The Game
1. Burning money with a cigarette larp
2. Cool Frenchman larp
3. ??? I noticed you can't light a candle with a candle because it tried
to craft flashlight eyes.
## Changelog
🆑 Melbert
qol: Burning paper (and similar) is now two way. Rather than needing to
click on the paper with a burning item, you can now click on a burning
item with the paper. This means you can burn paper on your lit cigarette
like a badass.
qol: You can now light cigarettes on candles.
del: Flares and candles can no longer craft into flashlight eyes, I
guess.
/🆑