## About The Pull Request
I've refactored the FISH_SAFE_STORAGE trait into an element, mainly
because there were a few problems with how it worked: It wasn't stopping
hunger from raising, ditto with the breeding wait, and it offered no
healing whatsoever, which I find kind of a bummer. The new element will
keep the fish from getting any hungrier or ready to reproduce and will
heal them up to 65% of their base health.
Also, I've added a new bluespace fish case as a techweb design, found
along with other stuff in the advanced fishing node, though if you want
I can move it to a bluespace node. This should make it possible to
reasonably store and carry around larger fish.
Examining a fish will no longer give out readings on weight and size if
you haven't at least attempted fishing once (you can get to novice level
in less than a minute). While examining a fish with apprentice level or
higher will also give readings on the general conditions of the fish (is
it starving? drowning? has it lost a considerable chunk of health?). The
fishing skillchip also gives you these traits.
I've also converted two fish variables into traits, because fish have
waaaay too many variables. and gave some topdown shading to the
pre-existing fishbox sprite.
## Why It's Good For The Game
## Changelog
🆑
add: Added a bluespace fish case to the advanced fishing node.
balance: Fish cases will keep a fish from getting hungrier or ready to
reproduce, while also healing it up to 65% health.
balance: Examining a fish with zero fishing skill whatsoever won't give
a reading on its size and weight. Conversely, examining one with the
skill leveled two times will give general information on if it's
starving, sick, hungry, or dead.
/🆑
## About The Pull Request
Turns
`ON_WALL_LAYER`
into
`FLAT_ON_WALL_LAYER`
`ON_WALL_LAYER`
`HIGH_ON_WALL_LAYER`
Where `FLAT_ON_WALL_LAYER` is meant for lower-priority wall mounts like
signs and posters
`ON_WALL_LAYER` is default
and `HIGH_ON_WALL_LAYER` is for stuff that "hang over" the wall
Also makes the incident display actually wall mounted
## Why It's Good For The Game
I noticed this while doing mapping and I thought it was a really cool
effect

Unfortunately this effect was a coinflip because all wall mounts were on
the same layer. Sometimes it'd look like this

So this allows us to do this kinda stuff consistently.
Also has the added effect of letting us "de-prioritize" stuff like
posters, so we can hang stuff *over* posters and signs, which could be
useful.
## Changelog
🆑 Melbert
qol: Some wall mounts will now consistently layer over others (light
switches and cameras, notably, should always layer above other mounts
like signs and status displays)
/🆑
## About The Pull Request
Fixes#85679.
## Why It's Good For The Game
Fixes#85679.
## Changelog
🆑
fix: Fixed the shower water visually not coming out behind the
showerhead.
/🆑
## About The Pull Request
Requires #85491 to be merged first, as otherwise leaning on directional
windows looks incredibly goofy
You can now lean on both fulltile and directional windows, and its
possible to easily extend this functionality to other objects. Dunno if
this even deserves to be called a refactor so not marking it in any way.
## Why It's Good For The Game
Just makes sense that you'd be able to do it
## Changelog
🆑
add: You can now lean on windows the same way you can lean on walls
fix: You no longer stop leaning on walls after clicking on anything
/🆑
## About The Pull Request
This PR adds a treasure chest that can be fished from the ocean if
you're lucky enough (or have enough explosives or lobstrosities to do it
for you). The treasure chest is basically a mystery box (like the ones
from the deathmatch) with a couple catches; the treasure chest can be
opened up to 18 times in total before breaking down, however, it can
only be opened up to 3 times per spaceman, encouraging the player to
share it with others.
Here the possible loot by the by:
- A toolbox containing a master fishing rod, all the hooks and reels,
fish feed, an experi-scanner, an aquarium kit and a can of super baits
- A box containing a lazarus injector, a cup and a bottle of strange
reagent which you can use to revive fish now
- A circuit board for a pre-emagged fishing portal generator
- A master fishing rod
- A can of super fishing baits
- A fish case containing Tiziran fish
- A fish case containing Syndicate fish
- An old, yet fairly strong cutlass
- An old laser gun which fires only 5 shots before running out
- A crank laser musket
- A smoothbore disabler
- A surplus bolt action rifle
- A ration pack
- A can of squid ink
- A bottle of aged rum that forces you to switch to the piratespeak
language
- A money bag with some doubloons inside
- A piratespeak manual
- Pirate armored coat
- Pirate armored hat
- A pre-loaded cannon
- Four trash cannon balls
- Four cannon balls
## Why It's Good For The Game
Mystery boxes are fun, from the little fanfare they play to the
potential loot they can give, and I had an old treasure chest I had
sprited for fun years ago around so I've come up with an entertaining
idea. If you think the loot list is a bit too hot, I can cool it down a
bit.
Also yeah, I wanted to make fish revivable with strange reagent, since
you can already do it with lazarus injectors even though using a lazarus
injector for this would be a severe waste of mining points.
## Changelog
🆑
add: Added a treasure chest you can rarely fish from the ocean/beach,
with loot being a mix of fishing and piratey stuff.
add: You can revive fish with strange reagent now.
/🆑
Hello everybuddy, your number three rated coder-failure here to clean up
some mess. This PR accomplishes some of the more major structural clean
up changes I wanted to do with /obj/ folder, but decided to wait on
until wallening gets merged, and so, time has come. Several things to
still be done, although I know these cleaning PR's are quite a load, so
will wait for this one to get done with first.
## Why It's Good For The Game
Saner spriters, better sprites, less annoyance. Also deleted a whole
load of redundancy this time around, a lot of sprites which existed
simultaniously in two places now got exit their quantum superposition.
## About The Pull Request
Use GAGS to auto-generate digitgrade leg sprites based off of 1 basic
template + color sampling.
Icons are cached relatively aggressively, like female sprite variations.
So no need to worry about that.
The result: All of these sprites with only **3** icons added (the base
template, and the masks)
Obviously it's not perfect - some of the sprites (like the engineer's
jumpsuit) lose some "luster", but it does the job if I do say so myself.

Only applied to undersuits, for now.
## Why It's Good For The Game
- Allows Lizards to show off their handicap, rather than hiding it or
necessitating they use skirts.
- (Ideally) leads to an uptick in Digitigrade abuse (due to being easier
to identify), which is also a net positive.
- Implemented without any common issues revolving alt bodytype clothing
sprites (those being maintainability and sprite bloat)
## Changelog
🆑 Melbert
add: Auto-generated digitigrade clothing sprites for most jumpsuits
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
<!-- 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
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! --> rcds now build based off of player's dirs right
before the object gets built
## Why It's Good For The Game
<!-- 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. --> closes#85810
## 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. -->
🆑
fix: fixes rcds accounting for player dir only before construction
/🆑
<!-- 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: Ghom <42542238+Ghommie@users.noreply.github.com>
<!-- 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
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! --> with the new wallening offsets it isnt necessary to
shift buckled mobs up anymore since tables now have a shift down
## Why It's Good For The Game
<!-- 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. --> closes#85804
## 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. -->
🆑
fix: fixes surgery table buckle offsets
/🆑
<!-- 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. -->
<!-- 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
Updates mirrors to fit wallening's style, sadly this does mean making
them smaller and only noticably reflective when facing south.


Closes#85836Closes#77476
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->
## Why It's Good For The Game
Currently they look like floating plates near walls instead of being
actual mirrors
## 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. -->
🆑
image: Mirrors have been successfully wallened
/🆑
<!-- 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. -->
<!-- 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
Fixes#85571
## Why It's Good For The Game
Just a push in the direction of a de-jank'd wallening
## Changelog
🆑
fix: bedsheets are laid on beds properly now
/🆑
<!-- 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. -->
## About The Pull Request
Closes#85846Closes#85847
Also minor south sprite adjustment to not have holes in it
## Changelog
🆑
fix: You can now move horizontally on tall stairs and they no longer
have a hole in them when facing south
/🆑
## About The Pull Request
https://github.com/user-attachments/assets/155210d1-d0ae-404e-b69c-a0d185306db6
### Added container rustle sounds for:
- medkit
- box
- toolbox
### Added container open sounds for:
- box
- toolbox
### De-hard coded container rustle sounds so now you can change the
sound path on subtypes.
## Why It's Good For The Game
- Hearing the same cloth rustling SFX for boxes, toolboxes and medkits,
when they're clearly not made of cloth is immersion breaking, let's fix
that.
- giving players satisfying sounds when they open containers and an
overall diversity of sounds will reduce ear fatigue
- rustle SFX were previously hard coded and you couldn't change them or
change the `vary` boolean, we should keep the code customizable and
allow contributors to add more rustle sounds by implementing this
framework.
## Changelog
🆑 grungussuss
sound: added rustle sounds for: toolbox, medkit, box
sound: added open sounds for: toolbox, box
code: added support for giving container items rustle sounds
/🆑
## About The Pull Request
see title
## Why It's Good For The Game
It's been a really long time since anyone other than a turret could
shoot the energy cannon (free tasers for everyone!!) so it's an entirely
useless weapon roll. I'm replacing it with the new smartgun because the
smartgun is cool and more importantly you can actually shoot it.
## Changelog
🆑
add: The new smartgun has replaced the unusable energy cannon in mystery
boxes
/🆑
## About The Pull Request
I got annoyed at not being able to plung vents when there's a clog. This
PR corrects that. I copied all of the cyborg mop attributes to make
this. This is my first PR on this server, but I did test it on a local
server, and it indeed, plungs.
## Why It's Good For The Game
More content for janitorial cyborg. They really should have a plunger,
to be honest. It just makes sense to me.
## Changelog
🆑
add: Added a cyborg plunger for janitorial modules
/🆑
## About The Pull Request
- Lowered the HP of the "flora" type from 150 (same as reinforced
window) to 100
- Trees are still 150 HP
- Gave flora an x4 modifier to burn damage (takes 4 times the burn
damage)
## Why It's Good For The Game
Every time you do a project as an engineer on a map with bushes, each
bush takes 10 welding tool hits to destroy, overall bushes have way too
much HP and shouldn't be this difficult to destroy.
## Changelog
🆑 grungussuss
balance: bushes and other flora have had their HP reduced from 150 to
100. Trees still have 150 HP
balance: flora now has an X4 modifier to damage from burn sources
/🆑
## About The Pull Request
forceMove made it possible for someone to get shoved into a
closet/crate/disposals bin through a piece of directional glass that was
located on said objects tile, resulting in a very cheesy way to GBJ
people.
## Changelog
🆑
fix: You can no longer shove people into closets through directional
glass
/🆑
## What's going on here
Kept you waitin huh!
This pr resprites most all walls, windows and other "wall adjacent"
things to a 3/4th perspective, technical term is "tall" walls (we are
very smart).
If you're trying to understand the technical details here, much of the
"rendering tech" is built off the idea of split-vis. Basically, split a
sprite up and render it on adjacent turfs, to prevent seeing "through"
walls/doors, and to support seeing "edges" without actually seeing the
atom itself.
Most of the rest of it is pipelining done to accommodate how icons are
cut.
## Path To Merge
Almost* all sprites and code is done at this point.
There are some things missing both on and off the bounty list, but that
will be the case forever unless we force upstream (you guys) to stop
adding new shit that doesn't fit the style.
I plan on accepting and integrating prs to the current working repo
<https://github.com/wall-nerds/wallening> up until a merge, to make
contribution simpler and allow things like bounties to close out more
easily
This pr is quite bulky, even stripping away map changes it's maybe 7000
LOC (We have a few maps that were modified with UpdatePaths, I am also
tentatively pring our test map, for future use.)
This may inhibit proper review, although that is part of why I am
willing to make it despite my perfectionism. Apologies in advance.
Due to the perspective shift, a lot of mapping work is going to need to
be done at some point. This comes in varying levels of priority. Many
wallmounts are offset by hand, some are stuck in the wall/basically
cannot be placed on the east/west/north edges of walls (posters), some
just don't look great good in their current position.
Tests are currently a minor bit yorked, I thought it was more important
to get this up then to clean them fully.
## What does it look like?






## Credits
<details>
<summary>Historical Mumbojumbo</summary>
I am gonna do my best to document how this project came to be. I am
operating off third party info and half remembered details, so if I'm
wrong please yell at me.
This project started sometime in late 2020, as a product of Rohesie
trying to integrate and make easier work from Mojave Sun (A recently
defunct fallout server) with /tg/.
Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man
is insane) was working with tall walls, IE walls that are 48px tall
instead of the normal 32. This was I THINK done based off a technical
prototype from aao7 proving A it was possible and B it didn't look like
dogwater.
This alongside oranges begging the art team for 3/4th walls (he meant
TGMC style) lead to Rohesie bringing on contributors from general /tg/,
including actionninja who would eventually take over as technical lead
and Kryson, who would define /tg/'s version of the artstyle. Much of the
formative aspects of this project are their work.
The project was coming along pretty well for a few months, but ran into
serious technical issues with `SIDE_MAP`, a byond map_format that allows
for simpler 3/4th rendering.
Due to BULLSHIT I will not detail here, the map format caused issues
both at random with flickering and heavily with multiz.
Concurrent with this, action stepped down after hacking out the
rendering tech and starting work on an icon cutter that would allow for
simpler icon generation, leaving ninjanomnom to manage the project.
Some time passed, and the project stalled out due to the technical
issues. Eventually I built a test case for the issues we had with
`SIDE_MAP` and convinced lummox jr (byond's developer) to explain how
the fuckin thing actually worked. This understanding made the project
theoretically possible, but did not resolve the problems with multi-z.
Resolving those required a full rework of how rendering like, worked. I
(alongside tattle) took over project development from ninjanomnom at
this time, and started work on Plane Cube (#69115), which when finished
would finally make the project technically feasible.
The time between then and now has been slow, progressive work. Many many
artists and technical folks have dumped their time into this (as you can
see from the credits). I will get into this more below but I would like
to explicitly thank (in no particular order) tattle, draco, arcanemusic,
actionninja, imaginos, viro and kylerace for keeping the project alive
in this time period. I would have curled up into a ball and died if I
had to do this all myself, your help has been indispensable.
</details>
<details>
<summary>Detailed Credits</summary>
Deep apologies if I have forgotten someone (I am sure I have, if someone
is you please contact me). I've done my best to collate from the git
log/my memory.
Thanks to (In no particular order):
Raccoff: Being funny to bully, creating threshold decals for airlocks
aa07: (I think) inspiring the project
ActionNinja: Laying the technical rock we build off, supporting me
despite byond trying to kill him, building the icon cutter that makes
this possible
ArcaneMusic: Artistic and technical work spanning from the project's
start to literally today, being a constant of motivation and positivity.
I can't list all the stuff he's done
Armhulen: Key rendering work (he's the reason thindows render right), an
upbeat personality and a kick in the ass. Love you arm
Azlan: Damn cool sprites, consistently
Ben10Omintrix: You know ben showed up just to make basic mobs work, he's
just fuckin like that man
BigBimmer: A large amount of bounty work, alongside just like, throwing
shit around. An absolute joy to work with
Capsandi: Plaques, blastdoors, artistic work early on
CapybaraExtravagante: Rendering work on wall frames
Draco: SO MUCH STUFF. Much of the spritework done over the past two
years is his, constantly engaged and will take on anything. I would have
given up if not for you
Floyd: Early rendering work, so early I don't even know the details.
Enjoy freedom brother
Imaginos16: A guiding hand through the middle years, handled much of the
sprite review and contribution for a good bit there
Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of
effort dissecting feedback with a focus on making things as good as they
can be at the jump
Infrared: Part of the impetus for the project, made all the xenomorph
stuff in the MS style
Jacquerel: A bunch of little upkeep/technical things, has done so much
sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES)
Justice12354: Solved a bunch of error sprites (and worked out how to
actually make prs to the project) Thanks bro!
Kryson: Built the artstyle of the project, carrying on for years even
when it was technically dying, only stopping to casually beat cancer. So
much of our style and art is Kryson
KylerAce: Handled annoying technical stuff for me, built window frame
logic and fully got rid of grilles.
LemonInTheDark: Rendering dirtywork, project management and just so much
fucking time in dreammaker editing sprites
Meyhazah: Table buttons, brass windows and alll the old style doors
Mothblocks: Has provided constant support, gave me a deadline and
motivation, erased worries about "it not being done", gave just SO much
money to fill in the critical holes in sprites. Thanks moth
MTandi: Contributed art despite his own blackjack and hookers club
opening right down the road, I'm sorry I rolled over some of your
sprites man I wish we had finished earlier
Ninjanomnomnom: Consulted on gags issues, kept things alive through some
truly shit times
oranges: This is his fault
Rohesie: Organized the effort, did much of the initial like, proof of
concept stuff. I hope you're doin well whatever you're up to.
san7890: Consulting on mapper UX/design problems, being my pet mapper
Senefi: Offsetting items with a focus on detail/the more unused
canidates
SimplyLogan: Detailed map work and mapper feedback, personally very kind
even if we end up talking past each other sometimes. Thank you!
SpaceSmithers: Just like, random mapping support out of nowhere, and
bein a straight up cool dude
Tattle: A bunch of misc project management stuff, organizing the
discord, managing the test server, dealing with all the mapping bullshit
for me, being my backup in case of bus. I know you think you didn't do
much but your presence and work have been a great help
Thunder12345: Came out of nowhere and just so much of the random
bounties, I'm kind of upset about how much we paid him
Time-Green: I hooked him in by fucking with stuff he made and now he's
just doin shit, thanks for helping out man!
Twaticus: Provided artistic feedback and authority for my poor feeble
coder brain, believed in the project for YEARS, was a constant source of
❤️ and affirmation
unit0016: I have no god damn idea who she is, popped out of nowhere on
the github one day and dealt with a bunch of annoying
rendering/refactoring. Godspeed random furry thank you for all your
effort and issue reports
Viro: A bunch of detailed spriting moving towards 3/4ths, both on and
off the wallening fork. If anyone believed this project would be done,
it was viro
Wallem: Artistic review and consultation, was my go-to guy for a long
time when the other two spritetainers were inactive
Waltermeldon: Cracked out a bunch of rendering work, he's the reason
windows look like not dogwater. Alongside floyd and action spent a TON
of time speaking to lummox/unearthing how byond rendering worked trying
to make this thing happen
ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin
bugaboo that was living in my brain like it was nothing. Love you
brother
And finally:
The Mojave Sun development team. They provided a testbed for the idea,
committed hundreds and hundreds of hours to the artstyle, and were a
large reason we caught issues early enough to meaningfully deal with
them. Your work is a testament to what longterm effort and deep detailed
care produce. I hope you're doing well whatever you're up to. Go out
with a bang!
</details>
## Changelog
🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan,
Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd,
Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson,
KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom,
oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner,
SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016,
Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team!
add: Resprites or offsets almost all "tall" objects in the game to match
a 3/4ths perspective
add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: = <stewartareid@outlook.com>
Co-authored-by: Capsandi <dansullycc@gmail.com>
Co-authored-by: ArcaneMusic <hero12290@aol.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com>
Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com>
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Rob Bailey <github@criticalaction.net>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
## About The Pull Request
Fixes swapped arguments to a do_after, allowing tadpoles to be scooped
from puddles
## Why It's Good For The Game
bug bad
## Changelog
🆑
fix: tadpoles can actually be scooped from ponds
/🆑
## About The Pull Request
If you shove someone onto a table, you can then shove them again for a
stun.
This is NOT true if you tableslam someone (aggro grab and then click on
a table with combat mode activated).
## Why It's Good For The Game
I actually assumed (foolishly) that this was already possible but as it
turns out, it is handled by separate procs from the main shoving proc.
That's my bad. This was intended to make you vulnerable to a stun when I
made changes here https://github.com/tgstation/tgstation/pull/84640
## Changelog
🆑
fix: Shoving someone onto a table now causes them to become vulnerable
to being stunned.
/🆑
## About The Pull Request
Node drones now show a small green progress light as they reach 25%,
50%, and 75% landmarks within the wave defense minigame. This allows for
a bit of consistency when it comes to doing wave defense, so you can get
a feel for how much longer you have until wave defense is complete at
any given vent.
This also clears the registered signal on QDEL, so that when wave
defense is completed successfully, it doesn't trigger the "*creaks and
groans as the mining attempt fails, and the vent closes back up*"
message.


## Why It's Good For The Game
This was presented as an idea to me as a quick QOL improvement for
arcmining, which I agree would make for an easy improvement to how the
wave defense minigame is presented. Been meaning to do more balance,
system, and QOL changes to arcmining, but I've been swamped with real
life as of late. This however was a fairly simple change I did over the
weekend.
## Changelog
🆑
qol: NODE drones summoned to tap a vent within ore vents now display a
green status light to show how much longer they need the vent defended
for.
/🆑
## About The Pull Request
I've componentized part of the code that manages raising lobstrosities
from chrabs so that it can be added to other fish too. As proof of
concept, I've added tadpoles. Tadpoles are not fished like the rest,
instead you merely right-click a puddle and after 5 seconds you'll get
one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce,
require lukewarm freshwater, need to be feed frequently, and become
frogs after about 3 minutes.
## Why It's Good For The Game
A small needed refactor for the chrab code, plus another small fish to
make it easier to complete the first fish scanning experiment.
## Changelog
🆑
add: Added tadpoles, which can be scooped from puddles with right-click.
Functionally they're like most fish, which require an aquarium to
survive, and also need to be fed fairly frequently, however they quickly
become frogs after about 3 minutes of care.
add: Every station now has a couple puddles. One at the public garden
and the other in prison.
qol: Changed the name of an aquarium UI button from "Reproduction
Prevention" to "Reproduction and Growth", as it controls both fish
breeding and growth.
/🆑
## About The Pull Request
So apparently, as the title says, placing items on tables through the
lootpanel would place them in the very corner.
I learnt about this because of someone telling me it _used_ to always
center them.
Looking into it, this seems to be because we ALWAYS set it based on the
`modifiers` `ICON_X` and `ICON_Y`:
0da57e9524/code/game/objects/structures/tables_racks.dm (L319-L321)
While those are not set when clicking through the lootpanel, causing
these formulas to default to `-16`, and thus placing them in the corner.
Comparing this to crayons/spraycans, which do center, and do this
because they only adjust the `pixel_x` and `pixel_y` if `ICON_X` and
`ICON_Y` are actually set:
0da57e9524/code/game/objects/items/crayons.dm (L500-L502)
At some point in the past tables also had this check, but it seems it
got accidentally removed during the move to `item_interaction(...)` from
`attackby(...)`.
We just reintroduce this check, meaning it once again defaults to the
item being centered.
## Why It's Good For The Game
Having your item be placed on the very leg of the table is kinda
awkward.
## Changelog
🆑
fix: Clicking on a table in the lootpanel with an item in-hand tries to
place it in the center again.
/🆑
## About The Pull Request
Adds a new space ruin to the pool. It's the haunted trading post. It is
a whiteship dock with a large (safe) common area. The back rooms contain
loot and danger. Here are a few 'teaser' images.
https://i.imgur.com/M1te9Ha.pnghttps://i.imgur.com/SF3bJ62.pnghttps://i.imgur.com/i9xeUFP.pnghttps://i.imgur.com/UBwpJAM.png
Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk
Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret
Recipe.
Oh yeah the secret documents teach you how to make three prototype
variants of Donk Pockets. There is no limit to the amount of times it
can be read, so if you want to corner the market remember to lock up the
documents. Or you can share them with your friends.
**Now COMPLETE!**

## Why It's Good For The Game
This ruin is a multi-room dungeon with multiple solutions to each room.
It has plenty of action from mobs, traps and hazards. Each room has some
form of treasure or unique item in it. There's a boss at the end with
great rewards for fighting it, including a cool gun (slightly worse
variant of laser carbine).
This ruin is also a whiteship dock and space base. The public area is
entirely safe: stick to the well lit sector and don't trespass in the
employees only areas and you won't be harmed. There is a variety of
vendors to resupply at (including a brand new Donk Co snack vendor) but
unlike most other space ruins you do have to pay. A whiteship can dock
at this ruin if you have one, so you can bring groups of people to party
or attack the dungeon together.
## Changelog
🆑
add: Adds the Haunted Trading Post space ruin.
add: Adds 10+ unique items for the Haunted Trading Post
add: Adds 5 dangerous mobs for the Haunted Trading Post
add: Adds 4 new types of hazardous traps for the Haunted Trading Post.
/🆑
---------
Co-authored-by: Afevis <ShizCalev@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
Thanks to Potato (Lemon here) on discord for writing a regex to find
these ``^/.*\).*\n\t\t``
## Changelog
🆑
code: Removed 8 cases of double indentation
/🆑
## About The Pull Request
So I saw #84834 get made, and just went, oh boy. That's exactly what I
think it is, isn't it?
And yep, there we go:
cb5a5c1c69/code/game/objects/structures/tables_racks.dm (L253-L259)
Tables are calling `attackby(...)` with the drawn card on themselves
when hit with a deck of cards, when there's no longer code for putting
stuff on the table beyond `item_interaction(...)`.
Now we could probably just slap `item_interaction(...)` in its place,
but that'd be excessive and honestly kinda awkward.
Hell, it already feels kind of awkward that we call
`item_interaction(...)` from `item_interaction_secondary(...)` almost
solely for the placement logic, making us do the deck check twice.
So we split off placement logic into `table_place_act(...)`, and call
that on both our item interaction procs and when using a deck to place a
card, to avoid calling the entirety of `item_interaction(...)` all over
again.
Then we see we use mostly the same code for deck interactions on both
item interaction procs, so we split off deck interactions into
`deck_act(..., flip)`, where `flip` determines whether to flip the card,
and use that instead in both procs.
Finally we split off the other interactions into their own `X_act(...)`
procs as to keep the base interaction procs clean.
This fixes our deck issue.
As a side-effect, because we no longer call all of
`item_interaction(...)` on `item_interaction_secondary(...)`, trays can
now actually be placed onto tables with their contents if you right
click.
## Why It's Good For The Game
Fixes#84834.
Reduces order of operations jank.
Not being able to place trays with food on them annoyed me So much while
playing chef.
## Changelog
🆑
refactor: Refactored table item interactions, please report any issues.
fix: Fixed being unable to use decks to draw cards directly onto tables.
qol: Right clicking a table with a tray puts it down regardless of it
having contents.
/🆑
## About The Pull Request
it's - conjunction of "it" and "is"
its - possessive form of "it"
grammar is hard, and there were a lot of places where "it's" was used
where it shouldn't have been. i went and painstakingly searched the
entire repository for these instances, spending a few hours on it. i
completely ignored the changelog archive, and i may have missed some
outliers. most player-facing ones should be corrected, though
## Why It's Good For The Game
proper grammar is good
## Changelog
🆑
spellcheck: Numerous instances of "it's" have been properly replaced
with "its"
/🆑
## About The Pull Request
https://github.com/user-attachments/assets/9184fc20-e114-42ff-b442-a491692a388b
## Why It's Good For The Game
Sitting with a pixel offset on bar stools will further the bar RP
experience, it'll also show the barkeep that you're here to drink or
talk.
## Changelog
🆑 grungussuss
add: You can now buckle to bar stools
/🆑
## About The Pull Request
Lattices make catwalk sounds when walked across, much like their
children catwalks do
## Why It's Good For The Game
If you've ever walked across the tramway, it's really jarring to go from
catwalk (footstep sound) -> lattice (no footstep sound) -> catwalk
(footstep sound) -> lattice (no footstep sound)
But they'd probably sound the same in practice
## Changelog
🆑 Melbert
qol: Lattices now make the same footstep sound as catwalks
/🆑
## The Voidwalker
Adds a new antagonist, the Voidwalker!
It's a rare antag that spawns in space when there's at least 40 people
Design doc is here: https://hackmd.io/jE4YScP8RPykXo37rTBV2Q (there's
some deviations)
No biddle
## Summary
Spooky space antag that moves around space, ambushing people either in
space or near space. They can move through glass, have an ability to
stamina drain you if they remain in your vision for 8 seconds, can
temporarily remove glass windows to drag you through them and deal
~~stamina damage~~ incredibly violence. Upon being taken, they can be
kidnapped and cursed, muting and pacifying the person and sending them
to the void.
## Passive


Passive abilities:
- Permanent space flight and indoor flight
- Space regen
- Slowdown when in gravity
- Space camo (very low alpha when in space
- Can freely move through unshocked glass
- Mute, but can hear all station frequencies (excluding binary)
- Will quickly die when on planets or moons (obviously can't roll on
icebox)
- 10 brute armor and 20 burn armor. They can't wear any form of armor
and don't have any get out of jail free cards, so I think it'll help
with their survivability a slight bit
## Abilities
**Void eater:** Literally just a light-eater but instead of eating light
it instantly shatters windows, but restores them after a few seconds
**Space Dive:** New ability that lets you move under the station with a
2 second do_after, so they can still get to closed of space spots
without being as annoying as heretic space shift
**Unsettle:** Remain in view of the target for 8 seconds to give them a
short stun, slurring and 80 stamina damage, but announce your presence
and location to them. Both you and your target can move, as long as you
remain in their view.
**Space Kidnap:** When your target is incapacitated and in space, you
can drag them into the cosmic void. They'll be returned cursed after
undergoing a sort of reverse heretic sacrifice (more on that in the next
section).
[Showcase of all the above abilities!](https://youtu.be/NJ01H28PV9w)
## Voided Crew
A brain trauma received when you get kidnapped. While under it's
influence, you are muted and pacified. You will die in planetary gravity
and cannot enter space.

It can be cured with a lobotomy or by dying in planetary gravity.
You get warned to avoid the Voidwalker. The voidwalker now does extra
damage and gets the option to glass gib you if you die, leaving just a
brain
## Loot
On death, the Voidwalker shatters into glass and drops a cosmic skull.
Looking into the skull gives you a stable version of the Voided brain
trauma. It doesn't give you pacifism and doesn't ban you from space. It
also makes you space immune and gives you the ability to walk through
unshocked glass after 2 seconds do_after.
Sprites for the cosmic skull by Justice12354 and Rex9001! I'll throw up
a video showcasing death and their sprites on Sunday
## Why It's Good For The Game
We don't have any space centered antagonists. The closest we have are
Space Dragons, but they have to go deep into the station anyway. I'm
also quite fond of simpler antagonists, like revenant and nightmare.
Give people the tools, and they'll make the fun themselves.
I've been comparing the Voidwalker with the Nightmare. Both are goalles,
simple antagonists, but where the Nightmare's gimmick is darkness, the
Voidwalker's gimmick is space.
They also get a dark tentacle arm so they can murderize people, but it
only gets them to crit. After that they can drag people into the "void"
to kidnap them. This is mostly to encourage the Voidwalker not to just
space them cause that's kinda lame. They still can though, just in-case
it would be very funny
## Changelog
🆑 Time-Green, Justice12354, Rex9001
add: Adds the Voidwalker, a new rare space based midround antagonist!
code: Adds the ability to texture limbs and bodypart_overlays
Sprite: Cosmic skull sprites by Justice12354 and Rex9001
/🆑
- [x] Add a better kidnapping mechanic, instead of just teleporting
someone to a station turf
- [x] Add an armblade or weapon or something, unarmed combat is kinda
ass for this
- [x] Fix the antag preview not rendering textures
- [x] Prevent them from space phasing when in combat so they can
actually be killed in space combat, even if really fucking hard
- [x] Nerf visibility for people with space parallax disabled, probably
also something to improve camo with colored parallax
- [x] Replace the stamina damage stuff
- [x] Cool rework of space phase idea I have
- [x] Update/implement vidual effects
- [x] Implement names
## Considerations
There's a few things that I might change or implement later, depending
on how it actually plays.
It's a space focused antag, but there might not be enough people near
space in a given round. An ability to let them "capture" area's or let
them turn into a meteor or something might be needed later if they turn
out to be too passive.
They might also be _too_ oppressive in space. I designed them for
near-space combat, but may've made them insanely overpowered in in raw
space combat.
Probably wont do biddle, but might add more powers that you can reroll
every few minutes or something (like blob). Either wat it wont be this
PR
---------
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
Adds the Herculean Gravitronic Spinal Implant. A personal gravity
dampener that affords the user improved physical performance without all
the effort of actually working out.
This implant improves the user's ability in a variety of minor but
useful ways Including;
1) Faster climbing speeds with climbing hooks and ladders. (Athletics
now also influences this time)
2) Slightly less damage from falling from a height.
3) Faster fireman lifting and placing onto tables.
4) An easier time working out and stronger in boxing.
5) Standing up just a bit faster.
6) Throwing things just a little further.
7) Tackle performance, including offense, defense and safety if you
miss.
You can improve the implant by using a gravity anomaly core on it,
transforming it into an Atlas implant. This implant has considerably
better bonuses compared to the baselines fairly minor even if numerous
benefits. It also forces personal gravity to normal values.
As a result, the total number of gravity anomaly cores is now 6.

Has some little floating rocks around your head while active.
## Why It's Good For The Game
I attempted to add something fairly similar in the past, but didn't
quite like simply making an entirely combat related implant. Instead,
I've changed the concept towards generally improving some minor physical
world interactions. Things that you may not really think about or
notice.
I really enjoy getting just slight tweaks to the small little gameplay
activities that come up every so often, and even if this won't appeal to
most players, I know someone will see this and think to find a way to
make the most of the implant in some way that I didn't even think about.
## Changelog
🆑
add: Adds the Herculean Gravitronic Spinal Implant; an implant that
makes you better at athletics. You can upgrade it into an Atlas implant
using a gravity anomaly core.
balance: Gravity anomaly cores have had their max number of cores
reduces from 8 to 6.
balance: Your athletic ability allows you to climb faster.
/🆑
This PR adds the National Ice Cream Day (yeah, it's one of those
'murrican holidays) to the game, bringing a few niche ice-cream-related
effects to the game
During the Ice Cream Day:
- Crematoriums replaced with cre**a**matoriums.
- All cyborgs that don't already come with the treat dispenser are given
(a slightly weaker) one stuck in ice cream mode.
- Robot customers order ice cream thrice as often.
- The ice cream vat starts with two times and a half more ingredients.
- Ice cream cones can hold up to four times as many scoops as normal.
## About The Pull Request
Adds a sign for the exodrone rooms
## Why It's Good For The Game
Sub-departments usually have signs to find them easier. Exodrone rooms
are usually out of the way.
i think 2 or 3 maps have them tucked away in maint.
## Changelog
🆑
add:Exodrone signage
/🆑
## About The Pull Request
Ore vents now provide a trait to the turf they spawn on,
TRAIT_NO_TERRAFORM, which does exactly what it says on the tin,
preventing the turf from being able to change into something else, like
a chasm. Ore vents already have `move_resist =
MOVE_FORCE_EXTREMELY_STRONG`, so they shouldn't be movable by any other
means anyway, resulting in them being stuck in the turf that they
spawned without admin tomfoolery.

## Why It's Good For The Game
Fixes#84463. Reasonably, too, we'll one day have other uses for
something that needs to avoid the turf changing on it as well such as
this.
I also sorted the turf traits because they were starting to get
non-alphabetical and I know that'll drive someone crazy if I don't fix
that while it's still early.
## Changelog
🆑
fix: Ore vents that are caught in the cross-fire of a lavaland tendril
collapsing will now spare the ore vent and it's associated turf.
/🆑
## About The Pull Request
This is a reboot of #84550 but with way less unbearable: mesons are off
the table and I've made the night vision tonalities lighter now, while
also improving the darkness cutoffs of some of them. Btw, you can also
turn night vision googles on/off now. Each pair of departmental night
vision goggles now comes with their own tint to boot.
As always, this doesn't affect nukies and ninjas. They're almost
garaunteed to keep their googles equipped and on at all time, so it
would honestly adulterate the overall experience a little.
Now, for some pictures...
In the dark, **top** row is **old**, **bottom** row is **new**. from
left to right: security, science, standard/meson, diagnostic, health:

In the light: security, science, no goggles, standard/meson, diagnostic,
health:

The screenshots were taken from varedited goggles on the servers because
it's bit faster than booting up a local server, plus I had to finetune a
few things.
## Why It's Good For The Game
So, I kinda wanted to give a bit of screen colors to goggles that was
not some sort of "optional, by default turned off" kind of crap nobody
cares about, however my previous PR was met with a lot of criticism,
which made me rethink how to do it. I honestly don't want it to be a
burden, but I do want to make them a bit fancier tho.
Also the the medical NVs (and perhaps sec NVs) were a bit crappier than
the rest.
## Changelog
🆑
add: Night vision goggles now subtly tint your screen.
add: You can turn your night vision goggles off. Doing so removes the
tint and the eye protection malus.
/🆑
## About The Pull Request
Window doors, unlike many machines and structures with multi-step
construction, was lacking a set of examine instructions to let you know
how to build it properly.
This PR adds those instructions, and basic instructions for
deconstruction as well to windoors and windoor assemblies to make using
them more seemless.
Also, updates some code comments in the file while I'm here because
they're just straight up incorrect, as it turns out!
## Why It's Good For The Game
In playing a round, I had absolutely no clue on how to construct a
windoor. I quickly checked the code, only to learn that the steps were
completely wrong in the documentation too, so this should help prevent
this from being an issue going forward.
## Changelog
🆑
qol: Examining a windoor will now provide the construction steps, like
other standard buildable objects.
/🆑
## About The Pull Request
Ok so like, side map right? It makes things higher up in the world
render above things lower down in the world.
Most of the time this is what we want, but it is NOT what we want for
floors.
Floors are allowed to be larger then 32x32, and if they are we want them
to render based off JUST their layer.
If we don't allow this grass turfs and others get cut off on their
bottom edge, which looks WEIRD.
In order to make this happen, we can add TOPDOWN_LAYER to every layer on
the floor plane and disable sidemap.
I've added documentation for this to VISUALS.md, and have also
implemented unit test errors to prevent mixing TOPDOWN layers with non
topdown planes (or vis versa).
This new test adds ~1 second to tests, which is I think a perfectly
scrumpulent number.
EDIT:
I nerd sniped myself and implemented sidemap layering and lighting for
cameras (also larger then 32x32 icon support for getflat)
The lighting isn't perfect, we don't handle things displaying in the
void all that well (I am convinced getflat blending is broken but I have
no debugger so I can't fix it properly), but it'll do.
This came up cause I had to fix another layering issue in cameras and
thought I might as well go all in.

## Why It's Good For The Game
Old:

New:

## Changelog
🆑
fix: Grass turfs will render properly now. Reworked how floors render,
please report any bugs!
fix: Cameras now properly capture lighting
fix: The layering seen in photos should better match the actual game
/🆑
## About The Pull Request
Makes Growing Vat work as a normal machine akin hydrotray.
Doesn't need plunger to clear reagents, doesn't need plumbing to input
reagents.
Still has the plumbing port, but can be used without it.
Also made the examine text a bit more compact.
Removed science plumbing RCD from the game.
Removed plumbing tools from cytology equipment, and added a protein
powder jug instead.

Automatically fixes#84573
## Why It's Good For The Game
Plumbing was an unnecessary complication for Cytology.
Growing vat is a relatively simple machine that shouldn't require
plumbing knowledge.
Now it works more like hydrotray, and you can pour reagents directly,
and clear them out with a right click.
## Changelog
🆑
refactor: Vat grower is a normal machine now that doesn't need plumbing
qol: Cytology petri dish smartfridge starts with 3 random samples
add: Added protein powder condiment bottle, available in the cytology
supplies locker and the cargo pack
del: Removed science variant of plumbing RCD
fix: Fixed a bug when machines without stock parts didn't spawn frames
on deconstruction
fix: Fixed vat grower not growing
/🆑
## About The Pull Request
This pr simply adds drop/pickup sounds to bedsheets, replaces its
`attackby(...)` and `attack_secondary(...)` with `item_interaction(...)`
and `interact_with_atom_secondary(...)`, and makes tucking in match the
bedsheet `pixel_z` with that of the living we're tucking in. It also
removes a check that's no longer needed to allow for telekinetically
tucking someone in.
First bit of note, we use `item_interaction(...)` instead of
`wirecutters_act(...)`/`tool_act(...)` as I think tearing up the
bedsheets should be the interaction in combat mode too, and everything
under `tool_act(...)` only gets called with combat mode being off.
Second bit of note, we remove the `!user.CanReach(target)` check from
tucking people in, as I believe that's no longer necessary here. This
allows us to tuck people in telekinetically, given the bedsheets are
adjacent to the one we're tucking in.
Finally, we match the bedsheets' `pixel_z` with that of the living we're
tucking in by setting it directly, and also reset it directly when we
smooth the sheets.
I know the elevation element exists, but I believe that only cares about
living instances, and besides that really we only want this to be set
when tucking someone in rather than always. Most importantly, it works.
## Why It's Good For The Game
Using the new item interaction code is better than `attackby(...)` and
such.
Cloth sounds are nicer than no sounds, and make sense given they're,
well, cloth.
Tucking someone in with telekinesis is funny.
Previously, bedsheets would not offset their `pixel_z` to match that of
the living they're tucking in, meaning if you were to say rest upon a
table the bedsheets would always be awkwardly offset.
This fixes that.
## Changelog
🆑
code: Moved bedsheet interactions to the item interaction code. Please
report any issues.
fix: Bedsheets adjust their offset to match that of the living they're
tucking in.
sound: Bedsheets use the cloth drop/pickup sounds instead of being
silent.
qol: You can tuck someone in telekinetically.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
exorcises hardstun weapons + death/poly wands from lootboxes
pulse weapons are of the taserless variant
also all nukeop guns are unrestricted let people have fun bro
also removes the enchanted modsuit from said loot
## Why It's Good For The Game
getting instantly paralyzed with a ranged gun is not fun, never will be
so we just remove those
also being able to use the guns you get from an admin
shitspawn/deathmatch prop is pretty much a fix???
polymorph wands and death wands are stupid and are just taser++ except
they kill you outright (polymorph could make you a rat that would count
as dead personally)
enchanted modsuit entirely shuts down basically 90% of other players
spells which basically invalidates the entire ragin mages map (which
sucks anyway)
## Changelog
🆑
balance: removed tasers, the unfirable turret gun, death wand, polymorph
wands and the enchanted modsuit from lootbox loot tables
fix: lootbox guns should now mostly not have syndicate firing pins so
you can actually use them
/🆑
## About The Pull Request
This pr just replaces the bedsheet bin `attackby(...)` with
`item_interaction(...)`, adds usage screentips to bedsheet bins, adds
more balloon alert feedback to failing to hide items in bedsheet bins,
and added `silent = FALSE` to the `user.transferItemToLoc(tool, src)`
calls' parameters such that putting items in isn't silent.
Main thing to note is that we skip hiding items when in combat mode,
such that you do not try to hide the item you are currently trying to
beat up the bin with.
Tiny second thing to note is that we explicitly `return .` in
`add_context(...)` due to adjusting the value of `.`.
## Why It's Good For The Game
Better to update `attackby(...)` to `item_interaction(...)`.
I think item interactions being internally consistent is more intuitive;
left click always being hiding feels nicer than left click being hiding
_except_ for tools where it's right click.
Then, I think hiding should be left click as "putting something in" is
the primary item interaction we're expecting, parallel to tables or
storage or racks or somesuch.
Nice to have screentips.
Nice to have more failure feedback.
Nice when things aren't silent.
## Changelog
🆑
code: Moved bedsheet bin interactions to the item interaction code.
Please report any issues.
qol: Made bedsheet bin tool interactions right click, such that left
click is consistently for putting in items.
qol: Added usage screentips to bedsheet bins.
qol: Added more feedback to failing to hide items in bedsheet bins.
sound: Made putting items in bedsheet bins not silent (If the items have
associated pickup/drop sounds).
/🆑
## About The Pull Request
[Implements a new cardinal only bitmask smoothing
mode](d565564918)
The icon cutter supports generating cardinal only dmis, we should
support using them.
This is fairly trivial, just involves skipping a step to handle
diagonals.
While I'm here, makes adding new smoothing modes easier by creating a
"using smoothing" group define
[Removes undef for smoothing
junctions](4c0a4d6e34)
It is useful to be able to reference these in the general codebase, they
should not be considered scoped to just icon smoothing
[Fixes a copypasta issue breaking burn states for asteroid
snow](a41b31dbe2)
[Removes SMOOTH_BROKEN_TURF and
SMOOTH_BURNT_TURF](8a9a340728)
Bitflags should not be this specific, this should be a var on
/turf/open, so that's what I'm making it.
## Why It's Good For The Game
Upstreams a bit of wallening work, cleans up the codebase some
## Changelog
🆑
fix: Some varieties of snow now visually melt properly again when burned
/🆑
## About The Pull Request
Creates a vent-specific wendigo subtype that will not spawn a portal
upon death
## Why It's Good For The Game
Fixes#84119
## Changelog
🆑
fix: Vent-born wendigos no longer create one-way portals
/🆑