## 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
refactors pet behaviors, such as collars and pet cultists into elements.
also this is a first step to completely removing the pet subtype
## Why It's Good For The Game
this means itll be alot easier for coders to make their tameable mobs
able to wear pet collars without having to make them of the pet subtype,
which i also plan to do
## Changelog
🆑
refactor: refactors pet collars and cultist pets into elements
/🆑
## About The Pull Request
Doubletapping (potentially) expensive procs is bad, etc etc. Reverse of
void storm fiasco.
## Changelog
🆑
code: Removed multiple cases of unnecessary updatehealth
/🆑
juvenile lobstrosities would constantly runtime as chasm crabs delete
their ai after growth and replace it with a new one, meaning blackboard
keys arent set correctly
## About The Pull Request
Reverts tgstation/tgstation#85401
## Why It's Good For The Game
This change is nonsensical, and ended up making thermal insulation not
work whatsoever for lizards resulting in them dying in space/icebox cold
## Changelog
🆑
fix: Lizards no longer die from cold on icebox despite wearing
insulation
/🆑
## About The Pull Request
Makes cyborgs blink yellow when they're dead. The icons were lying
around in the code for some reason, so why not repurpose them?
Borg death blink:
https://www.youtube.com/watch?v=DtYSHSSZVs8
Makes cyborgs emit particles when they reach a certain damage threshold.
Smoke for brute, sparks for burn. I think I want to tweak them a little
more, but it's hard to troubleshoot when the particle editor keeps
throwing a BSOD.
Borg particles:
https://www.youtube.com/watch?v=Xh64rZkrp-U
## Why It's Good For The Game
It's really really annoying when you're sitting dead in robotics and
everyone assumes you're AFK because the roboticist isn't wearing a
diagnostic hud (agony).
The particles I just think are cool flavour, plus it's a way for
silicons to show actual signs of wear and tear.
## Changelog
🆑 Tattle
qol: dead cyborgs now blink yellow lights
qol: damaged cyborgs have smoke particles when they've taken brute
damage, and sparks for burn
/🆑
---------
Co-authored-by: tattle <article.disaster@gmail.com>
## 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
Currently if you and someone else try to move in the same direction
while standing next to each other, you'll end up swapping places
endlessly which is, while extremely funny, quite frustrating at times to
deal with. This PR prevents this from happening unless you're faster
than the other person, in which case you still push through them. This
way both of you will be able to move forward without goofy ass swapping.
I also moved out the ugly logic tree into its own proc for readability's
sake, I am not piling up more code on that.
## Why It's Good For The Game
Its frustrating to deal with and doesn't make much sense logically. This
just makes sure that if both of you want to move in a certain direction,
you'll be able to do so. You can currently achieve the same effect by
enabling combat mode, so it doesn't change anything balance-wise.
## Changelog
🆑
qol: You no longer goofily swap with others trying to move in the same
direction as you if you're not faster than them
code: Moved mobswap check logic into a separate proc and made it more
readable
/🆑
## About The Pull Request
The charge indicator overlay on power cells is now properly updated when
the cell is charged/discharged. Before, you could use a power cell until
it's empty and the overlay wouldn't change at all.
## Why It's Good For The Game
The overlay is there to indicate the charge of the cell. It should work.
## Changelog
🆑
fix: The charge indicators on power cells now work properly.
code: Removed some now redundant power cell appearance updates
/🆑
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
## About The Pull Request
I didn't remove or change a few copypasted lines. @Jacquerel.
## Why It's Good For The Game
They won't flee otherwise.
## Changelog
N/A
## 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
Slightly slimmed down the helmet, changed belt into plates, recolored
brown parts to blue and added a few more glowy bits to the mining
MODsuit.

Here's what it looks like currently

Mining MODsuit now hides belts, has THICKMATERIAL while active and got
large capacity storage. Eating apparatus no longer has an on-person
sprite. Adjusted drill module active sprite to actually fit on your hand
instead of being slightly to the side.
## Why It's Good For The Game
Currently the MOD looks a bit goofy, I tried making it a bit more
streamlined without removing the bulk and look of a reinforced explorer
exosuit. Belts are hidden for the sake of visuals, as almost all miners
wear riggings which do not fit with the MOD spritework at all. While
inactive it has THICKMATERIAL but for some reason loses it when
activated, which doesn't make much sense. Its a thick, armored
spacesuit.
Eating apparatus isn't a module that people around you need to be
acutely aware of, nor did it look particularly good. I tried respriting
it but there's not much to be done with 12 pixels worth of space.
Large storage is a rather impactful change - currently only loader and
advanced (CE's personal) MODs have it, and more can be printed after
researching advanced engineering MODsuit designs (from my experience,
usually done by ~40 minute mark). Storage space is a very important
aspect, and mining MODs already have high competition with ash drake and
H.E.C.K. armors. Having less storage makes them a weird sidegrade,
arguably even a downgrade, to roundstart explorer gear that has been
upgraded with plates; its only real advantage is being able to pass
through lava and freeing a pocket previously occupied by your ore
satchel due to arcmining nerfing its main purpose (ore mining). While
this still is technically worse than roundstart backpacks, this should
allow them compete with with other equipment in terms of usability.
## Changelog
🆑
balance: Mining MODsuits are now considered thick clothing and gained
expanded storage.
image: Mining MODsuits got a slight glowup and hide belts now
/🆑
## About The Pull Request
Carps, frogs and young lobstrosities now fear legendary anglers wearing
the legendary fishing hat and will flee. The item is skill-locked, so
only those that have maxxed out the skill can wear it.
Differently, adult lobstrosities and megacarps (and suicide frogs, which
are used nowhere) do not flee but will still prioritize them over the
rest.
## Why It's Good For The Game
I'm putting some emphasis on the "fish fear me" _(lobstrosities and
frogs aren't exactly fish but it'd been quite boring to only include
carps)_ and also making the hat a bit more than just some cosmetic
novelty.
## Changelog
🆑
add: Carps, frogs and young lobstrosities now fear people wearing
fishing hats! Adults and megacarp favour the 'fight' part of the fear
reflex however.
fix: The hat stabilizer module now inherits the clothing traits of the
attached hat.
/🆑
## About The Pull Request
When returning to thermal equilibrium, the core temperature and body
temperature seem to get stuck in a feedback loop, causing them to
sometimes get stuck below or above safe limits and kill the player
unless they remove their armor. This fixes that.
Here's a pic of slowly returning to safe temperature after being shot a
bunch by watcher, whereas originally this would kill you if you had too
much thermal insulation.

(Ignore the duplicate var prints, one should be core_skin_change, but
messed it up)
## Why It's Good For The Game
You don't have to remove your armor to stop from being permanently
frozen/hot.
## Changelog
🆑
fix: Fixes getting permanently hot or cold if wearing thermal insulation
as a lizard
/🆑
## About The Pull Request
Ok, I've had a bit of false memories about fishing being easy. It's
actually tough. It also has some issues that I didn't completely
understand until very recently.
First of all, I thought anything that count as a bait would be good
enough for fishing, but it turns attaching a raw meatball doesn't remove
dud chances from fishing spots. Having finally played with the feature
enough, I came to realize it's quite dumb to have something like that IF
you have a bait regardless of quality. We have other ways to handle bait
related stuff.
Second, I've lowered the time to raise a lobstrosity slightly. Waiting
20 minutes to get an adult one is a tad much if you add in all the prep
needed for it. Conversely, I've also increased their feeding frequency.
I think they should eat a bit more than once every 15 minutes to
survive. 10 should be ok.
I've also halved the reproduction timeout for the sludgefish. When I
first added it. I didn't take in consideration I'd have later have made
it so newly spawned fish would be on cooldown for double the standard
duration.
The abstract fishing rod that "profound fisher" mobs use now comes with
the same omni-bait advanced fishing rods use, so that they can catch all
kind of fish with less bad RNG.
Buffed the fishing skill a bit.
Aquariums that unanchored (except pre-filled ones) and do not
auto-connect to plumbing; ferer issues if you were to build one near the
toilets. They alo have the 'enable breeding' enabled by default.
I've also re-increased the deceleration of the minigame bait. Making the
controls less slippery.
## Why It's Good For The Game
I've been suffering from some Mandela effect about fishing. It's
definitely more challenging when the server isn't shitting the bed.
## Changelog
🆑
qol: Aquariums start unanchored and don't autoconnect to plumbing. Their
reproduction prevention is also disabled by default.
balance: Made it a tad easier to control the bait during the minigame.
Buffed the fishing skill. No fishing duds at all when using ANY bait.
balance: Chasm Chrabs take less time to grow into Lobstrosities but need
food a bit more frequently.
balance: "Profound fisher" mobs will have less RNG-dependant time
fishing.
fix: You can now ACTUALLY interact with other things while fishing if
the fishing rod isn't in your active hand.
/🆑
## About The Pull Request
Some mining mobs didn't have signal registrations to respond to
ashwalkers breaking the peace. This fixes that by giving all mining mobs
a signal listener to being attacked if their AI handler doesn't give
them one already.
## Why It's Good For The Game
Fixes an exploit where people would drag legion to the ashwalker nest to
kill them for free egg spawning because legion don't have a signal
listener for being attacked.
Future proofs any other mining mobs that might be missing this signal
through AI.
## Changelog
🆑 Bisar
fix: All mining mobs now properly listen to the signals sent by
attackers and will respond appropriately.
/🆑
## About The Pull Request
adds soap to maint drones' internal storage
## Why It's Good For The Game
eliminates the hell that is no soap spawning on station meaning you are
unable to clean at all. also feel free to recommend more internal
storage items too!
## Changelog
🆑
qol: drones now have soap in their internal storage!
/🆑
## About The Pull Request

Shift + middle clicking while wearing a mining headset will open a
callout radial, after moving your mouse over one of the options a
callout emote will appear where you pointed (No need to click on the
radial button). Callouts have a 3 second cooldown to prevent spam and
glow in the dark due to how dark lavaland is (normal point emotes do
not)
There are 6 options: pointing, danger, attack, mine, defend and
reposition. Your callouts are colored in your runechat color. This is
done via a component so later if needed it could be added to other
headsets/mobs/items. Callouts also can initiate basic mob orders, being
a better way to command your minebots in combat.
Additionally, they also boost your speech back to normal levels in
low-pressure environments, ensuring that your runechat is still nice and
readable.
## Why It's Good For The Game
This would make coop mining much more enjoyable, as stopping to type
mid-fight is more often than not a death sentence on lavaland. With
arcmining's vents cooperating is actually beneficial, and I feel like we
should incentivize miners to do it more often by providing them with
tools for it.
## Changelog
🆑
add: Mining headsets now allow you to make callouts via pointing. You
can use them to communicate with fellow miners or order your army of
bots and raptors!
add: Mining headsets keep your voice loud and clear in low-pressure
environments (not vacuum!)
/🆑
## About The Pull Request
This is a suggestion that was to me several months ago to add the
ability to pay credits to restock the black market. I liked the idea
because it'd add anothe small reason to buy the board, though I had
forgotten about it shortly after and just happened to remember it now.
So, yeah, you can swat the LTSRBT with a holochip to restock the
market(s). The price is shared amongst all pads and starts at 675
credits, but it doubles up everytime this is done, for obvious balance
purposes.
I've also updated included this new feature in the unit test, given the
LTSRBT new sprites and renamed the Blackmarket subsystem to Market,
because of how it can support different types of market datums, not just
the blackmarket
## Why It's Good For The Game
This adds one more reason to buy and build the LTSRBT and make markets
less dependant on the bad side of RNG, if you have the credits. It's a
bit of a money sink.
## Changelog
🆑
add: You can now restock the black market by hitting the LTSRBT with
enough credits. The price doubles each time this is done.
imageadd: Updated the LTSRBT sprites.
balance: Reintroduced the LTSRBT to cargo for 2000 credits vs the
original 4000 (the ansible and crystals to build it are included btw),
and slightly lowered the average blackmarket price for the same item to
account for shipping costs.
/🆑
## About The Pull Request
Added a var to emotes for ignoring walls when playing their sound, now
only the scream emote can ignore walls.
## Why It's Good For The Game
It's really annoying and stupid that you can hear people crying through
walls and doesn't make sense at all.
## Changelog
🆑 grungussuss
sound: only the scream emote can be heard through walls
/🆑
## About The Pull Request
So sneeze projectiles have a hitsound whenever it lands, this leads to
very silly immersion breaking situations where a person keeps sneezing,
missing and performing "suppressive" sneezing to "combatants" Setting
the hitsound to null should fix that
## Why It's Good For The Game
Hearing the same hitsound for the sneeze projectile as bullets and other
projectiles is really jarring, better remove it.
## Changelog
🆑 grungussuss
sound: the sneeze projectile no longer makes a sound when making
contact.
/🆑
## About The Pull Request
- Deletes monkey tail DNA block
- This is not something DNA blocks should be used for. If your only
options are "exists" or "doesn't exist", it doesn't need a DNA block,
you should just remove the tail!
- Minor sprite accessory cleanup
- Replaces a lot of blank SAs with `add_blank` usage. Tested in game and
it works.
- No reason to copy-paste blanks when we have a designated function for
it.
- Randomizing features can no longer select locked features
- Bugfix, though it doesn't affect us at the moment.
- Monkeys (and lizard people) will no longer random into being tailless
- Felinids can still random into tailless (though that function is
broken ATM)
## Why It's Good For The Game
For the tailless change:
It's a bit weird for these species to spawn without tails. They're kinda
a huge part of their identity.
I left in the tailless Sprite Accessory, however, so you can still
select them in the prefs menu.
## Changelog
🆑 Melbert
qol: All randomly spawned monkeys (and lizardpeople) will spawn with
tails. You can still select to be tailless.
code: Cleaned up some code relating to species features (like tails,
markings, etc). Report any oddities
/🆑
## About The Pull Request
Closes#85101
They need to drop their modules beforehand because else they don't have
a model to drop them into
## Changelog
🆑
fix: Borgs now unequip their equipment upon module change like they
should
/🆑
## About The Pull Request
Lobstrosities can now be raised from aquarium icemoon/lavaland chrabs.
First of all, you've to get a live chrab, an aquarium, and some fish
feed. Second, you place the chrab inside the aquarium and turn the
'allow breeding' settting on (should probably rename it to a more apt
name now). Keep the chrab well fed, and possibly with some friends and
props in the same aquarium until it develops into a hopefully calm
juveline lobstrosity and plops out of the aquarium (it can take some
time). From there you can tame it by feeding it its favorite food: arms
and lavaloop fish, and wait another dozen minutes for it to mature into
a fully grown lobstrosity.
Juveline lobstrosities are basically smaller and weaker lobstrosities,
if not slightly faster in some ways. Unlike their taller counterparts,
they can be tamed. Once done so, they'll retain their tamedness once
grown up. Regardless, tamed lobstrosities can be given the pet command
to fish for things by pointing at them. Thanks BenMatrix for the
profound fisher component, woo.
The chrab's weigth and size influence the growth speed of the first
stage faster, meaning bigger chrabs (may require crossbreeding) will
turn into juveline lobstrosities quickly. Amongst other things
influencing the resulting mob are fish traits:
Several traits have been given effects that apply to the mob, such as
nocturnal regeneration, being venomous or being able to fly akin space
carps. Also a new one that prevents the resulting lobstrosity from fully
developing
Now tested.
## Why It's Good For The Game
I'm building upon fishing and aquarium stuff, which has been an interest
of mine in a good while, though most of it doesn't have that many
practical uses, I'm slowly trying to make it cooler, and chasm chrabs
growing into lobstrosities is pretty much in line with the fluff texts
for the fish.
Eventually I'll have to add tips inside fishing toolboxes, otherwise
people won't know even half of it.
## Changelog
🆑
add: You can raise lobstrosities from chasm chrabs inside an aquarium
with the 'allow breeding' setting on. Keep the fish well fed, healthy
and not lonely if you don't want an hostile one.
add: Juveline lobstrosities (from chasms, plasma rivers, or aquariums,
xenobio too) can be tamed with arms and lavaloop fishes.
add: For lobstrosities grown from aquariums, they can have additional
effects based on the fish traits they had in the aquarium, like being
venomous or even flying.
/🆑
## About The Pull Request
Closes#85143
Blocking interactions unless you can dip is a pretty bad idea, and
leaving the line in wouldn't make much sense anymore.
## Changelog
🆑
fix: You can now put dead mice into mortars/grinders properly
/🆑
## 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
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
Renamed the Crimson Focus to the Crimson Medallion
Fixed harvesters not being properly bound to their master, nor dying
when they do
Fixed heads totally overriding cultist sacrifice rewards
Heretic blade now converts to a nullblade
Added wooshing, shaking, and glowing to flinging around with the heretic
blade
Removed the probability to not gain a reward when sacrificing a cultist
## Why It's Good For The Game
> Renamed the Crimson Focus to the Crimson Medallion
I heard bradley say this and it sounded better, differentiated it from
the amber focus, gave it a unique identity
> Fixed harvesters not being properly bound to their master, nor dying
when they do
Now you can track your master through the arrow though
> Fixed heads totally overriding cultist sacrifice rewards
Whoops
> Heretic blade now converts to a nullblade
Everyone loves these and it fits more-ish
> Added wooshing, shaking, and glowing to flinging around with the
heretic blade
I am the flavor master
> Removed the probability to not gain a reward when sacrificing a
cultist
This was 'pre-balancing' which is a cardinal sin in my books. It
shouldn't exist without a good reason, plus the implementation is poor.
## Changelog
🆑
spellcheck: Renamed the Crimson Focus to the Crimson Medallion
fix: Fixed harvesters not being properly bound to their master, nor
dying when they do
fix: Fixed heads totally overriding cultist sacrifice rewards
add: Heretic blade now converts to a nullblade
add: Added wooshing, shaking, and glowing to flinging around with the
heretic blade
balance: Removed the probability to not gain a reward when sacrificing a
cultist
/🆑
## About The Pull Request
Balances
- Stops voidwalkers from breaking glass at all, and throwing items
Voidwalkers started using spears to break electrified windows to space
area's. Throwing bypasses too many safety checks, and shouldn't be their
main means of combat either way
- No hitting anyone in crit
Voidwalkers were using weapons to try and kill as many people as
possible without kidnapping
- Only able to pull people
Voidwalkers were dragging bags around with a personal armory. It also
just looks goofy as hell
- Increases space dive enter to 3 seconds (from 2) and decreases space
dive exit (from 2 seconds to 1)
The original value was pretty fast, and is being used to slip out of
combat if anyone ever comes after them. This is intended to a certain
degree, but it was a bit too strong
- Void Eater becomes blunt during use, needs kidnappings to refresh
Yeah... For some it's being used as a murderbone antag, forgoing
kidnappings completely. This change makes murderboning significantly
more difficult without bothering good faith players. It goes from 25
damage to 15 in 0.5 damage increments.
This slightly decreases take-down potentially against people with
low-mood, but clicks that go SCRUNGE release dopamine so it balances
- Gives voidwalkers chunkyfingers, preventing stun baton and gun use
Voidwalker originally had this, but I figured I'd keep it out to give
people to freedom to be more opportunistic in combat, but a significant
portion defaulted to getting a stunbaton as quick as possible so they
could avoid engaging in actual combat
- Removes eye slots
They're already flash immune. People don't know this so they're all
rushing sunglasses. It just looks weird when the space monster is
wearing glasses :/. They can still wear scarves if they decide to be
fashionable
- Void eater applies 10s of NODEATH
Yeah fuck it why not? It also prevents succumbing and takes out a lot of
cheese
- Removed Voidwalker armor
They had 10% brute and 20% burn armor. I didn't really think much about
the original change, figured they'd be too weak otherwise, but turns out
they're sufficiently strong and this kinda deviates from the intended
"ambush antag" by making them stronger in sustained combat
- Voided go to a safe turf instead of a random one
Actually just a mistake on my part. Dumping mute people in the turbine
plasma burn chamber is cruel, even for a coder
Fixes
- The Unsettle ability line of sight didn't check for line of sight :/
Addition:
- Gives Voidwalker telepathy. I originally kept it out because whatever
but honestly I think it's fine and gives them the chance to communicate
if they ever need to. I've also given the abilities it's own sprite and
background cause good vibes
## Why It's Good For The Game
The original testmerges I spectated went very well! I had it testmerged
on Terry and the rounds where I observed were played in very good faith
and played a spooky antag incredibly well. I've also seen others play
incredibly fun rounds!
It seems to have gone downhill a bit though (or Terry is high-RP?). I've
observed a few rounds on other servers and the way it's played is not
great. I originally kept as little handrails as I could as to give
people the most freedom possible in playing the spooky antag, but some
people dissappoint me so, so incredibly deeply.
It's just been merged but I'm already seeing players ignoring kidnap
mechanics in favor of roundremoving as many people as possible, giving
up any semblance of stealth in favor of carrying around mini armories.
Another spent it's time breaking windows to vent as much of the station
as possible. I also knew it would happen, but not this much. I probably
should've had this PR up a bit sooner but I've gotten really into
Hardrock TerraFirmaCraft (seriously it's _sooo_ good).
I can keep going "Argh, players!!" but honestly I've been incredibly
naive. These set of balance changes set out to cripple gameplay
optimizers while leaving good faithed players unaffected for the most
part, bringing it closer to the original design doc I wrote and away
from just being another murderbone machine
## Changelog
🆑
add: Gives voidwalker telepathy
fix: Fixes the Unsettle ability ignoring line of sight (which was it's
sole gimmick, im just dumb)
balance: Voidwalkers cannot break windows anymore or throw objects
balance: Voidwalkers can no longer harm people in crit
balance: Voidwalkers can only pull mobs
balance: Voidwalkers' space dive enter has been increased by 1 seconds,
but dive exit decreased by 1 second
balance: Void eater becomes blunt during use. Kidnap people to refresh
it
balance: Removes voidwalker glasses slot
balance: Gives voidwalkers chunky fingers
balance: Voidwalker applies NODEATH on hit
balance: Voided victims get dumped in safer places
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
Due to how projectile code currently operates its (almost) impossible to
parry projectiles and completely impossible to projectile boost them, as
they move away from you instantly after being shot. Parrying others
projectiles requires them to be slow enough and to land on a tile right
in front of you on their last move of their tick, as else they instantly
hit you.
I moved parrying component from being on user to being on projectiles
themselves and added TRAIT_MINING_PARRYING which allows users to
actually perform the parries. This allows me to get rid of parry code
existing on all projectiles and add a "grace period" mechanic - now you
can parry projectiles by clicking on any turf they moved through in the
last 0.25 seconds. Parrying actually runs when projectiles hit you if
you clicked on the correct turf during same grace period timer. This
also acts as lag compensation, allowing players with high ping to
utilize this mechanic. Projectile boosting occurs when you hit a tile
the projectile moved through in first 0.25 seconds of its existence.
Parry also occurs on click instead of attack_hand due to this, so you
can parry projectiles while holding your
accelerator/crusher/resonator(what even?) - which is also important to
make projectile boosting possible as firing sets your click cooldown -
making attacking the turf impossible (another roadblock on ultrakill
players' path)
Projectile boosting now grants x1.5 damage multiplier and +40% speed
instead of x1.15 and +20% like parrying, since its significantly harder
to perform.
Crusher projectiles now can be parried/boosted. Crushers are ***the***
badass miner weapon, but they weren't possible to boost - probably
because it'd be pointless due to their lack of damage. Now boosting a
crusher blast gives it 10 damage, +3 range and makes the mark it applies
always count as backstab for additional style (although doing so is very
tricky due to speed/range)
Crusher marks are now a STATUS_EFFECT_REFRESH effect and no longer
per-user. This means that anyone can blow up anyone else's mark and
applying new ones refreshes the timer. Trophy effects of the person who
detonated the mark are the ones actually applied.
also cleaned up pixel_move a bit
## Why It's Good For The Game
Parrying refactor - parries are a very cool mechanic which is almost
impossible to execute in-game (and boosting is physically impossible)
and even if "fixed" would require perfect server performance and single
digit ping. Making them slightly easier to execute and adding a grace
period will allow more players to utilize it and also make it possible
to do parrying/boosting on highpop.
Boosting damage/speed buff - Boosting is harder to perform, and while
with parrying damage/speed is a nice bonus to the fact that your face
doesn't explode outwards from a death bolt, for boosting its the only
reason why you'd do it (beyond style points)
Crusher boosting - Crushers are more often used by skilled miners as
they are a high risk/high reward weapon. Them not being boostable is
rather disappointing as boosting is supposed to be a thing for extremely
skilled miners to do, essentially turning crushers into deadweight for
those who wanted to use style meters.
Unified crusher marks - Mobs being able to have multiple crusher marks
made fighting very confusing for rare coop crusher miners, as you
weren't able to tell if you could detonate the mark or not. This should
make coop fighting more viable as marks can now be comboed if you have
good cooperation with your teammate.
## Changelog
🆑
refactor: Refactored parrying to be projectile-side and not user-side.
add: You can now parry crusher projectiles to give them some more range,
add damage and make the mark always count as a backstab.
add: Projectile parrying has been significantly improved, making
parrying and boosting projectiles actually possible. Includes a small
grace period as lag compensation for players with higher pings.
balance: Crusher marks can now be detonated by any crusher, not only the
one that applied it, as to incentivise coop mining for crusher users.
balance: Projectile boosting now gives a significantly bigger damage and
speed increase
/🆑
## About The Pull Request
Brainwashed brains are now truly smooth. Machine-washing brains (even
without a skillchip) smoothes them out and adds an examine line.

## Why It's Good For The Game
Brainwashing is a funny feature and this is a way to add more flavor to
it (and possibly make someone actually use it if they find the
skillchip)
## Changelog
🆑
image: Brainwashing victims now have smoothed out brain sprites without
those pesky wrinkles
/🆑
## About The Pull Request
Felinid that pray are given chimkin nugget
## Why It's Good For The Game
Chimkin nugget
## Changelog
🆑 oranges
qol: Felinid that pray are given chimkin nugget
/🆑
## About The Pull Request
Closes#81955
Also performed a bit of a cleanup and added early returns everywhere to
reduce the amount of pyramid shapes in the code
## Changelog
🆑
fix: Sentient floorbots can now rip up tiles when emagged
code: Slight cleanup in floorbot code
/🆑
## About The Pull Request
Currently if you want to apply a HUD you usually add both its trait and
the HUD itself. Only exceptions are things like simplemobs where you
should avoid adding the hud trait since it adds security/med DB access
and such, but there is no cases where you'd want to apply the trait and
not apply the hud.
Requested by Melbert about a week ago.

## Why It's Good For The Game
This makes working with HUDs significantly easier, as you no longer have
to bother with manually adding/removing them. Also potentially removes
an edge case where if your hud could get removed while keeping the
trait.
## Changelog
🆑
refactor: HUD traits now apply their corresponding hud automatically
/🆑
## About The Pull Request
- Being monkified / humanified no longer knocks you down
- Fairly certain this was one of the consequences of the stun refactors
of ages past, using `Paralyze` rather than `Stun`.
- Having monkifiaction cured now gives you the cure text
- Didn't call parent for some reason
- Monkification grant / cure text now has spans
- Self evident
- Being humanified now tells you what species you are rather than you're
"Human"
- Just a small tweak
## Changelog
🆑 Melbert
fix: When Monkified or Humanified, you are no longer knocked down.
fix: When cured of Monkified, you get the cure text now.
fix: The text shown when cured / given Monkification now has color.
fix: Being humanified now tells you what species you become rather than
assuming you are a human.
/🆑
## About The Pull Request
Monkeys that pray are given bonana
## Why It's Good For The Game
Bonana
## Changelog
🆑 Melbert
qol: Monkeys that pray are given bonana
/🆑
## About The Pull Request
Currently, each time someone flip, the cooldown is halved. Whoops.
Also, COMSIG_MOB_PRE_EMOTED doesn't prevent the emote from running,
because it isn't allowed to return FALSE inside the `run_emote` proc, so
we moved the checks up to the comsig behind the `run_emote` call.
## Why It's Good For The Game
Fixing stuff.
## Changelog
🆑
fix: Fixed beyblade *flipping.
/🆑
## About The Pull Request
#83186 made it so ghosts are fooled by disguises, like wearing a mask
and an ID. This PR fixes that behavior, instead always displaying the
person's real name and their face/ID name (if their face name is somehow
different from real name) in brackets.
Additionally, this PR makes orbit menu prioritize "real" job name and
icon, aka the ones the person spawned with. If they don't have an
assigned job, it will fall back to current behavior of looking it up
from their ID. Also, searching people includes both their fake and real
name.
## Why It's Good For The Game
Ghosts really, really shouldn't be fooled by wearing a gas mask and an
ID. **Especially** admin ghosts.
## Changelog
🆑
qol: Ghost orbit menu now always displays person's real name and their
roundstart job and cannot be fooled by disguises.
/🆑
## About The Pull Request
fixes sentient firebots attacking from a distance
## Why It's Good For The Game
closes#85015
## Changelog
🆑
fix: fixes sentient firebots mauling things from a distance
/🆑
## About The Pull Request
Both `get_cold_protection()` and `get_heat_protection()` run into
decimal precision issues due to several small percentage additions,
which means that even if you have all protection flags present, the
value returned will never be 1.


This means you cannot check for if protection is at 100% if you wanted
to short circuit some proc doing temperature calculations which don't
need to be done if you have full protection, aswell as may lead to very
minor drift.
(I was doing something like that elsewhere which led me to find this
problem and mirror this here).
This rounds to 0.1% accuracy (0.001), which is both the smallest decimal
used by the bodypart protection define values and is sufficiently large
to rectify precision issues.
## Why It's Good For The Game
This should save some coder from a bad day when they try to see if
someone is 100% protected against temperature and it doesn't work.
## Changelog
🆑
fix: cold- & heat protection no longer have decimal precision issues.
/🆑
## About The Pull Request
If you move off someone you automatically stop autoobserve (stop viewing
their UI and seeing from their perspective)
## Why It's Good For The Game
Only way to stop autoobserve right now is via orbit UI, and following in
chat does not break you out of it either. And if you have closed your
orbit window, you need to open it from ghost tab as you no longer have a
button for it, which can be annoying.
## Changelog
🆑
qol: Stopping orbiting now automatically breaks you out of autoobserve
/🆑
## About The Pull Request
I was investigating a bug with hulk in which using it while damaged
doesn't put you back on full speed
I noticed `TRAIT_IGNOREDAMAGESLOWDOWN` on its own was subtly broken, in
that it did nothing if the user did not call `updatehealth` afterwards
And guess what, most (if not all) uses of the trait did not do this, so
it never applied correctly
So I nuked the trait entirely, made all uses of it use the same thing
morphine uses (`/datum/movespeed_modifier/damage_slowdown`)
And since I was auditing this I saw the ball module was broke, it
removed the immunity but never added it. Quick fix
I also cleaned up some Hulk stuff while I was in the area because I was
in the area. I removed all instances of `check_mutation` and replaced it
with trait checking because it made more sense.
I also also fixed a bug with the simple flying element never removing on
detach because I touched something that uses it for the above change.
## Changelog
🆑 Melbert
fix: Using hulk (and a myriad of similar effects) now properly updates
your movespeed to ignore the damage movespeed penalty
fix: Some things which temporarily make you fly don't make you fly
forever
fix: MODsuit ball module now properly makes you immune to damage
movespeed penalty when in ball form
fix: Adding Hulk via VV dropdown doesn't default to adding the strongest
hulk available (that which is used by the medieval pirates)
/🆑