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
Closes#79210Closes#56244
Cleaned up the code and added some much-needed sanity checks. Not sure
how exactly the latter issue happened but the checks should ensure that
it doesnt occur again. Also made the drake not terraform turfs into
lavaland ones after the lava disappears because if it ever went to
station it ended up permanently changing space turfs which is not good,
and there's no reason for terraforming on lavaland already.
## Changelog
🆑
fix: Ash drakes no longer get stuck in flight if their target changes Z
levels or is destroyed and doesn't spawn lavaland turfs after the lava
arena attack ends
/🆑
## About The Pull Request
Closes#85638Closes#64063
Now has a Z level check
## Why It's Good For The Game
While funny as hell (fuck around and find out, miner) I do not think
that this is a very good idea to leave it in, considering current
attitude regarding easy ways to bring megafauna onboard the station.
Plus using Jacob's Ladder as an escape route is a pretty creative use
for a gimmicky item
## Changelog
🆑
fix: Bubblegum can no longer bloodcrawl to other Z levels
/🆑
## 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
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
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
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
This PR was originally meant as a replacement for the Bloody Bastard
blade, but then I stopped existing for 7 months. Now that I'm here
again, I'm finishing the job once and for all.
### **HERETICS VERSUS CULTISTS**
### Heretics
Heretics can now sacrifice cultists, which will give them one of three
gifts: The Cursed Blade, the Crimson Focus, and the Rusted Harvester.
The gifts given are weighted to be spread out equally with each type.
They will also gain one knowledge point.
- The Cursed Blade is a free heretic blade that is more powerful than
the normal heretic blade, including a small block chance. It can also be
used to draw heretic runes off combat mode.
- The Crimson Focus is a necklace that grants focusing and a minor
regeneration effect which also affects nearby heretics, at the cost of
gaining the BLOODY_MESS trait while wearing it. Additionally, it can be
squeezed to heal 50 points of brute/burn damage, injecting yourself with
three to six (separately) units of Eldritch ~~Water~~ Essence and Unholy
Water. Yes, this isn't good.
- The Rusted Harvester is a heretic 'monster' summon. It's a normal
Harvester, but instead of Area Conversion and Forcewall, it has
Aggressive Spread and Rust Construction (Raise Wall). It can delimb, but
only cultists, with a delay. It has an aura of decay, corroding the
environment and withering enemies near it, but it's VERY fragile.
Rusting cultist item dispensers will now cause them to turn into a
Heretic object. Altars turn into small heretic runes, Archives turn into
Codex Cicatrixi, Forges turn into Mawed Crucibles.
Ideally, Heretics would be able to gain an amount of these new powers
and use them to turn the tide against the cultists, amassing their power
and almost forming a sect of their own in turn which sweeps over and
converts the cult.
### Cultists
When a Cultist sacrifices a heretic, two things will happen:
- A new item will be available for creation at one of the dispensers.
- The Heretic will be trapped inside a powerful Haunted Blade.
`/obj/item/melee/cultblade/haunted`
` name = "haunted longsword"`
` desc = "An eerie sword with a blade that is less 'black' than it is
'absolute nothingness'. It glows with furious, restrained green
energy."`
This blade will be stronger across-the-board than a normal cult sword,
and will even allow those who wield it to cast one heretic spell from
their previous path. The only downside? The heretic can also cast one
spell. It's up to the trapped spirit if it wants to help you, or be a
nuisance.
The unlocked items are:
- The Cursed Blade, again. For cultists, it can be used to draw runes
twice as fast as usual, and they can even right-click it to teleport to
safety, just like a heretic!
- The Crimson Focus, again. Cultists are twice as fast at carving spells
into their body, and they gain a 5th spellslot as long as they wear the
amulet. It still causes hemophilia and grants weak regeneration.
- The Proteon Orb. This orb will create a gateway to Nar'sie's own
realm, spawning one Proteon every 15 seconds, which ghosts can possess.
The gateways cannot be placed close to one another.
Originally, they were going to be able to create a Harvester Shell, but
there were some concerns of it being too OP.
The true Bastard sword has been fully deleted. The null rod conversion
has been changed to a Bloody Halberd instead.
I'm considering re-enabling Stun Hand on Heretics, with Mansus Grasp
stats.
### Other
All the items above can be used by both Heretics and Cultists, no matter
how they were first created. Hell, even normal crew can use them! This
is probably not the best idea a lot of the time, though.
There are a lot of other changes in this PR. A loooooot. I will likely
miss some in the changelog, but I'll try to be as thorough as possible.
There's probably also some leftover garbo that I didn't find and clear
out yet.
## Why It's Good For The Game
Cult and Heretics, despite being mortally opposed, have very few
interactions with eachother, especially now that the Blade's gone. The
only thing of note is just the Heretic's unfair complete resistance to
stun hand, which is only marginally better than the alternative. This PR
will reintroduce their animosity, and give both sides a very, very good
reason to fight eachother.
The Cult will gain a sick sword that keeps the heretic in the game, and
unlike with the original implementation, will recieve a cult-wide bonus
in the form of a powerful, well deserved, and fun new item to summon.
The Heretic will gain powerful trinkets and knowledge from the
sacrifices, incentivizing them to become a terrifying cult-hunter. And
if they do succeed in wiping out the cult, they will have quite the
rewards to help with their ascension.
The crew, while mostly unaffected, will have a damn good reason to not
just Side with the heretic, out of fear of what they may become after
the cult is stomped down. They can also use a few of the items here in
an attempt to get one up on either side, as long as they manage to stay
clear of the side-effects.
Let the heretics eradicate the apostates.
Let the cultists root out the heathens.

The haunted longsword creates an aura of darkness (disabled for the
cultist for the image)
Sprites... are not great. Hopefully someone comes by and improves them.
code: Added get_inactive_hand() as an easy shortcut for carbons
code: Wall walker element can now accept a trait for wall-checking
fix: Fixed soulsword component being unable to invoke the post summon
callback
refactor: Turned Heretic rust turf healing into an element, given to
Rust Walkers and Rusted Harvesters
refactor: Converted Limb Amputation from an element to a component
Blade and Sword sprites by meyhaza!!! I did the inhands though. Cuz im
cool
## About The Pull Request
Fixes#63886
(The previous pr to fix added melee cooldown time but that only applies
after the ability ends)
Adds a cooldown to melee before the bubblegum starts charging so it
won't melee while charging.
## Why It's Good For The Game
This is how Bubblegum's charge worked before mob abilities but at the
time of this abilities creation melee cooldowns were not apart of mob
abilities and did not work properly together.
## Changelog
🆑
fix: Bubblegum can no longer melee you while using his charge abilities.
/🆑
## About The Pull Request
### Suit Storage
Makes the suit storage of the various suits consistent across one
another. Now, all the mining suits use a single list which is easier to
maintain.
**The affected suit list is as follows;**
Explorer Suits (and therefore Syndicate Explorer Suits), Goliath Cloaks,
Bone Armor, Drake Armor, Godslayer Armor, Berserker Armor, Mining
MODsuits, H.E.C.K. Suit.
**The list of holdable items is as follows;**
Flashlights, Proto-Kinetic Accelerators, Advanced Mining Scanners /
Mining Scanners, Pickaxes, Upgraded Resonators / Resonators, Ore Bags,
Air Tanks, Spears, special monster organs like Regenerative Cores,
Knives, Proto-Kinetic Crushers, Cleaving Saws (the one that Blood-Drunk
Miners drop), Grappling Guns and Climbing Hooks.
~~It probably doesn't matter too terribly much because you know only air
tanks are going in that slot 95% of the time~~
### Bone Armor and Goliath Cloaks
Bone armor and goliath cloaks both have the same armor values,
environmental protections and coverage as the explorer suit (bone armor
includes the feet due to the sprite physically covering the feet, which
is not a terribly significant balancing point but worth mentioning).
They use the armor plate component to improve the parts of bone armor.
However, they use bone talismans instead of goliath hide to be upgraded.
Goliath cloaks come fully upgraded. You'll see why in a second.
Their recipes are slightly different. Goliath cloaks take nine hides
(I'm so sorry this is for consistency I promise you can't use the
upgrade system with something that deletes its own armor values like
this) and three sinew. Bone armor takes three goliath hides and 6 bone.
### Berserker Armor
Berserker armor can now be improved to the same armor value as drake
armor by using a full suit on both the body and the helmet of the
berserker armor. (Each drake makes two suits, so you need to use up both
suits).
Instead of an armor boost, rage now halves incoming brute damage. Fuck
you, Bubblegum!
### Minor Mining MODsuit Tweak and other armor value changes
The base value for the armor is now 20, rather than 15, so that when it
reaches max ash accretion it has equivalent armor to a fully upgraded
explorer suit. This is only a value difference of 5, but it always
annoyed me seeing it.
All the above mentioned suits also now have a value of about 10 wound
armor. This is because miners do actually experience wounding on
lavaland. Some of the armors had this wound armor. Some didn't. Now they
all do. I don't believe this to have been a deliberate design choice,
but rather, an oversight. Iunno, someone who keeps track of this please
tell me otherwise.
Upgraded suits get a prefix to show they are upgraded. Now, never doubt
whether the miner you are fighting is in a baseline explorer suit or a
riot suit level improved explorer suit ever again!
### Berserker Armor actually covers up clothing/hair underneath properly
and other minor stuff
This is why I started this PR by the way. This one fix. I expand the
scope of my horizons so broadly when I really sit down and PR, don't I?
H.E.C.K. and Berserker helmets can be used for internals.
## Why It's Good For The Game
There is a great deal of inconsistency with regards to the various
lavaland armor you can find and use. Some armors were wildly inferior to
others and only really having value for aesthetic. Some just seemed to
have oversights that didn't seem quite right. And most importantly, the
actual storage list for mining suits in general were not only
inconsistent in of themselves, but were also not being updated as time
goes on.
Bringing them all into line allows for miners to have a bit of freedom
of choice when it comes to appearance, without it becoming a balancing
sticking point nor a detriment to their effectiveness. It is also much
easier to maintain one list than six or seven lists.
Assuming that the baseline of the explorer suit is a-okay for someone to
possess, goliath cloaks and bone armor should now feel more like
fashionable choices rather than, in some cases, being either a worse or
better choice to take (its bone armor, bone armor is the best of these,
its really good generalist armor). I don't care what effect it has on
the ashlander economy. Neither should you.
The minor tweaks and fixes are just stuff that annoyed me for autism
reasons or were oversights due to changes to the items in question or
the game around it. I doubt anyone but me cares very much about these
minor differences, but I like consistency.
## Changelog
🆑
balance: The various mining related suits now have consistent suit
storage. Try putting a knife into your explorer suit's suit storage
today!
balance: Bone armor work similarly to explorer suits, with similar armor
values and options to upgrade their parts. However, they use bone
talismans instead of goliath hides to upgrade. Magic? Just believing
really strongly that the drake is hitting you slightly less hard because
of the talismans? You be the judge.
balance: Goliath cloaks come fully upgraded. However...
balance: The recipes for bone armor and goliath cloaks are slightly
different. Particularly goliath cloaks, which need a lot more dead
goliaths to make. Sorry.
balance: Mining MODsuits achieve at maximum ash accretion the same
amount of melee armor as an upgraded explorer suit.
balance: These various suits also consistently have wound armor.
fix: Berserker armor properly hides underclothing and hair.
balance: Berserker armor pieces can absorb drake armor to gain their
enhanced protection. Become the warrior of Khorne you've always wanted
to be.
balance: Berserker rage now halves brute damage rather than just adding
Melee Armor to you and your squishy body.
qol: Berserker and H.E.C.K. helmets can be used for internals.
/🆑
## About The Pull Request
Converts wendigo's abilities into mob abilities, behavior should be
almost identical to how it was before. Also gave megafauna the same
night vision as normal lavaland mobs since controlling them and being
unable to see was difficult while testing. Wendigo's scream and slam
were made into global procs so they could be used across these
abilities, but if there's a better way to do that I'm open to it.
## Why It's Good For The Game
More refactoring to make way for converting these all to basic
megafauna.
## Changelog
🆑
refactor: Wendigos abilities have been changed into actions that can be
added to any mob.
/🆑
## About The Pull Request
Subsystems currently come in two different flavors:
1. Systems that process at intervals with the master controller
2. Global data containers that do not fire
And I think they should be split up...
This moves 4 non firing, non init subsytems -> datasystem
## Why It's Good For The Game
Clarity in code
## About The Pull Request
This re writes most cell power usage cases with 2 defines
`STANDARD_CELL_CHARGE`(Joules) & `STANDARD_CELL_RATE`(Watts) so changing
cell capacity values in the future won't cause discrepancies.
## Changelog
🆑
code: most cell power usages are scaled with defined constants to help
adapt to future changes
/🆑
## About The Pull Request
Refactors a lot of the unused defines.
## Why It's Good For The Game
Refactors a lot of the unused defines.
## Changelog
Nothing player facing
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Fixes https://github.com/wall-nerds/wallening/issues/100
Replaces a couple of instances of abilities using the icons of walls or
floors with different, somewhat more descriptive icons.
I will be honest I do not understand why two of these were even using
iron walls as an icon.
Both of these instances were cases of "I want to surround something" so
I have replaced them with this icon:

I have also replaced the "freeze floors" ability icon with the ice cube
icon, rather than a 32x32 ice floor icon.

I removed a bunch of old copies of goggles items from the `robot-items`
dmi and made them just reference the corresponding item sprites that
they were copies of, because they were out of date with the items and
using deprecated sprites. X-Ray now just looks like the red sam fisher
goggles instead of a caution sign (not that it is obtainable in game).
Oh also I added a tooltip to Ice Demon afterimages because it didn't
have one.
## Why It's Good For The Game
The previous icons don't even look like anything.
## Changelog
🆑
image: Bubblegum Hallucination Surround Charge, Wendigo Shockwave
Scream, and Ice Demon Floor Freeze all have more appropriate action
icons.
qol: Adds a tooltip to Ice Demon Afterimages ability.
image: Cyborg view items now use the same sprites as their corresponding
goggles instead of old versions of those sprites.
/🆑
## About The Pull Request
1. paper's examine was defined twice, which made spacemandmm throw a
minor notice about
2. paper's altclick had a second arg for some item, which would never be
the case because that's not a real arg
3. there was a check for src's type, now just removed to the type's
altclick
4. some papercode was sitting in paper plane code file, now moved
the rest is misc changes such as replacing camelCase and using SECONDS.
## Why It's Good For The Game
None of this is player-facing but it's updating some rather old code to
more modern code standards.
## Changelog
Nothing player-facing.
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
### work started 12/12/2023
you may alt-click action buttons to bind them to a key
these are subject to click cooldown and if an action successfully
triggers click cooldown is triggered so you cant instantly do multiple
alt-click again to unbind
## Why It's Good For The Game
moving your mouse to the top left corner to do combat is not good
gameplay
## Changelog
🆑
qol: you may altclick action buttons to bind them to a key
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Fixes#80236
Ash drake abilities were rewritten to not be slept and instead use async
which messed up the cooldown timing
Also rewrites several cooldowns to not use a 360 second cooldown hack
## Why It's Good For The Game
Abilities being used at the proper time is very cool
## Changelog
🆑
fix: Ash drake's fire breath attack has proper cooldowns again
/🆑
## About The Pull Request
Converts legions hardcoded abilities to the cooldown action / mob
abilities system.
I also took the liberty of converting the hacky 360 second cooldowns in
a lot of the mob actions into simply disabling other abilities while the
ability is active, this will make it easier to have bosses without
everything on a shared cooldown and also not allow abilities to be used
simultaneously.
## Why It's Good For The Game
Paving the way for basic megafauna.
## Changelog
🆑
refactor: Legions abilities have been changed into actions that can be
added to any mob.
/🆑
---------
Co-authored-by: Changelogs <action@github.com>
## About The Pull Request
Fixes this runtime here

These signals can evidently be overridden and some of these were missing
the override = TRUE parameter.
## Why It's Good For The Game
Less CI fails
## Changelog
🆑
fix: fixes a spurious CI failure from do_charge() signal overrides
/🆑
## About The Pull Request
There were several instances of this being misspelled as 'kenetic'
rather than kinetic. This fixes that.
## Why It's Good For The Game
oughe
## Changelog
🆑
spellcheck: Corrects every misspelled 'kenetic' in the codebase.
/🆑
I've done some changes to the scope component so that it can be applied
to items other than guns.
Binoculars now use it instead of changing the player view size, and lets
them move around while the zoom is on at the cost of a moderate
slowdown. This is both more comfortable, cooler and less laggier than
the previous method. Take in mind it still takes both hands to use
binoculars, so there's no much room for exploitation anyway.
This PR also makes the mothic softcap from the curator kit special: it
too has the scope component, albeit of a much shorter range, because
it's probably the least interesting kit of them all right now and has
nothing that the curator cannot get by walking in the aux base
construction room, except for a pair of pockets in the mothic coat,
though that's superseeded by the Trailwarden kit's saddlepack. It's
pretty fitting if you ask since the softcap has some goofy-looking
googles drawn on it.
Oh, items that aren't guns also have a different mouse tracker icon of
two circles joined together, instead of a reticle.
## About The Pull Request
FOV as it is currently implemented is incompatible* with wallening.
I'm doin wallening, so we gotta redo things here.
The issue is the masking of mobs. Wallening relies on sidemap (layering
based off physical position), which only works on things on the same
plane (because planes are basically sheets we render down onto)
So rather then masking mobs, let's reuse the masking idea from old fov,
and use it to cut out a bit of the game render plane, and
blur/over-saturate the bit that's masked out.
My hope is this makes things visible in light, but not as much in
darkness, alongside making more vivid shit more easily seen (just like
real life)
Here's some videos, what follows after is the commits I care about
(since I had to rip a bunch of planes to nothing, so the files changed
tab might be a bit of a mess)
Oh also I had to remove the darkness pref since the darkness is doing a
lot of the heavy lifting now. I'm sorry.
Edit:
NEW FOV SPRITES! Thanks dongle your aviator glasses will guide us to a
better future.
https://github.com/tgstation/tgstation/assets/58055496/afa9eeb8-8b7b-4364-b0c0-7ac8070b5609https://github.com/tgstation/tgstation/assets/58055496/0eff040c-8bf1-47e4-a4f3-dac56fb2ccc8
## Commits I Care About
[Implements something like fov, but without the planes as layers
hell](a604c7b1c8)
Rather then masking out mobs standing behind us, we use a combo color
matrix and blur filter to make the stuff covered by fov harder to see.
We achive this by splitting the game plane into two, masking both by fov
(one normally and one inversely), and then applying effects to one of
the two.
I want to make the fov fullscreens more gradient, but as an effect this
is a good start
[Removes WALL_PLANE_UPPER by adding a WALL_PLANE overlay to material
walls (init cost comes
here)](2548933739)
@Mothblocks see this. comment in commit explains further but uh, we need
to draw material walls to the light mask plane so things actually can be
seen on them, but we can't do that and also have them be big, so they
get an overlay. Sorry, slight init time bump, about 0.5 seconds. I can
kill it with wallening.
[Moves SEETHROUGH_PLANE above
ABOVE_GAME_PLANE](beec4c00e0)
I don't think it actually wants to draw here
@Time-Green I think this was you so pinging for opinion
[Resprites FOV masks to be clean (and more
consistent)](f02ad13696)
[f02ad13](f02ad13696)
This is 100% donglesplonge's work, he's spent a week or so going back
and forth with me sharpening these to a mirror shine, real chill
## Why It's Good For The Game
Walls are closing in
## Changelog
🆑 LemonInTheDark, Donglesplonge
image: Redoes fov "mask" sprites. They're clean, have a very pleasant
dithering effect, and look real fuckin good!
del: Changed FOV, it no longer hides mobs, instead it blurs the hidden
area, and makes it a bit darker/oversaturated
/🆑
###### * It's technically possible if we start using render targets to
create 2 sets of sources but that's insane and we aren't doing it
<!-- 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
Does what it says on the tin. We don't have any "special" sources of
clone damage left in the game, most of them are rather trivial so I
bunched them together into this PR.
Notable things removed:
- Clonexadone, because its entire thing was centered around clone damage
- Decloner gun, it's also centered around cloning damage, I couldn't
think of a replacement mechanic and nobody uses it anyways
- Everything else already dealt clone damage as a side (rainbow knife
deals a random damage type for example), so these sources were removed
<!-- 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
Consider the four sources of normal damage that you can get: Brute,
Burn, Toxins and Oxygen. These four horsemen of the apocalypse are very
well put together and it's no surprise that they are in the game, as you
can fit any way of damaging a mob into them. Getting beaten to death by
a security officer? Brute damage. Running around on fire? Burn damage.
Poisoned or irradiated? Toxin damage. Suffocating in space? Brute, burn
and oxygen damage. Technically there's also stamina damage but that's
its own ballpark and it also makes sense why we have a damage number for
it.
Picture this now: We have this cool mechanic called "clone pods" where
you can magically revive dead people with absolute ease. We don't want
it to be for free though, it comes at a cost. This cost is clone damage,
and it serves to restrain people from abusing cloning.
Fast forward time a bit and cloning is now removed from the game. What
stays with us is a damage number that is intrinsically tied to the
context of a removed feature. It was a good idea that we had it for that
feature at the time, but now it just sits there. It's the odd one out
from all the other damage types. You can easily explain why your blade
dealt brute damage, but how are you going to fit clone damage into any
context without also becoming extremely specific?
My point is: **clone damage is conceptually a flawed mechanic because it
is too specific**. That is the major issue why no one uses it, and why
that makes it unworthy of being a damage stat.
Don't take my word for it though, because a while ago we only had a
handful of sources for this damage type in the game. And in most of the
rounds where you saw this damage, it came from only one department. It's
not worthwhile to keep it around as a damage number. People also didn't
know what to do with this damage type, so we currently have two ways of
healing clone damage: Cryotubes as a roundstart way of healing clone
damage and Rezadone, which instantly sets your clone damage to 0 on the
first tick. As a medical doctor, when was the last time you saw someone
come in with clone damage and thought to yourself, "Oh, this person has
clone damage, I cannot wait to heal them!" ?
Now we have replacements for these clone damage sources. Slimes? Slime
status effect that deals brute instead of clone. Cosmic heretics? Random
organ damage, because their mechanics are already pretty fleshed out.
Decloning virus? The virus operated as a "ticking timebomb" which used
cloning damage as the timer, so it has been reworked to not use clone
damage. What remains after all this is now a basically unused damage
type. Every specific situation that used clone damage is now relying on
another damage type. Now it's time to put clone damage to rest once and
for all.
Sure, you can technically add some form of cellular degradation in the
future, but it shouldn't be a damage number. The idea of your cells
being degraded is a cool concept, don't get me wrong, but make it a
status effect or maybe even a wound for that matter.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's 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. -->
🆑
del: Removed clone damage.
del: Removed the decloner gun.
del: Removed clonexadone.
/🆑
<!-- 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
Changes two lines in `sign_language.dm` such that it actually updates
its background when toggled, rather than only when forced to update by
some other signal.
## Why It's Good For The Game
The Sign Language action has a visual distinction for whether it's
active or not, but it did not update this properly when toggled. This
fixes that problem.
## Changelog
🆑
fix: Sign Language action properly toggles between an active/inactive
background again.
/🆑
## About The Pull Request
- Deletes `spec_attacked_by`
- Elements simple/basic mob attack threshold
- There was a skeleton mob that "mimics armor" but didn't use the actual
mimicing armor thing we have, so I changed that.
- Moves `check_shields` down to the living level, renames it to
`check_block`
- Martial art blocking is now signalized (only CQC uses it anyways)
- Cleaned up a bit of `attack_x` procs, but not a lot. Should have an
entire PR dedicated to this .... mess.
- Deprecates `/obj/item/melee`
## Why It's Good For The Game
Second verse, same as the first.
- Less bad species related procs.
- Largely brings a lot of code in line, making combat more consistent
across types.
- Makes it a lot easier to add new code relating to blocking or taking
damage.
## Changelog
🆑 Melbert
refactor: Refactored another large chuck of attack code, primarily
involving melee item attacks and non-human mob attacks. Report if you
see anything weird
fix: Pacifists clicking on simple robots or silicons no longer causes
sparks
fix: Blocked thrown batons are now properly... blocked
/🆑
<!-- 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
Adds an action for all implanted HUDs to toggle them on and off. The
default state is on, and the state is toggled appropriately when the
implant is added or removed. This is done by using hud.hide_from and
hud.show_to.
<!-- 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
Quality of life change for roleplay situations where the HUD is usless
clutter.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->
## Changelog
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's 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. -->
🆑
qol: Implanted HUDs can now be toggled on and off with an action.
/🆑
<!-- 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: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
## About The Pull Request
Finishing what https://github.com/tgstation/tgstation/pull/79513/
started, removes 'targetted' typo from code. Also updates the basic mob
guide with the new updated var names.
## Why It's Good For The Game
Typos bad. Accurate guides good.
## Changelog
🆑
code: gets rid of the rest of the instances of 'targetted' typo from
code
/🆑
## About The Pull Request
Likely fixes#79586 and likely fixes#78081 .
Split persons's loc is their parent mob, so they were being disallowed
from casting due to not being loc's in a turf.
Further testing required
## Changelog
🆑 Melbert
fix: Split persons can talk to their host once again
/🆑
## About The Pull Request
Fixes#79485Fixes#77552
Converts Guardians (aka Holoparasites) into Basic Mobs.
Changes a bunch of their behaviours into actions or components which we
can reuse.
Replaces some verbs it would give to you and hide in the status panel
with action buttons that you may be able to find more quickly.
They _**should**_ work basically like they did before but a bit
smoother. It is not unlikely that I made some changes by accident or
just by changing framework though.
My one creative touch was adding random name suggestions.
The Wizard federation have a convention of naming their arcane spirit
guardians by combining a colour and a major arcana of the tarot. The
Syndicate of course won't truck with any of that mystical claptrap and
for their codenames use the much more sensible construction of a colour
and a gamepiece.
This lets you be randomly assigned such creative names as "Sparkling
Hermit", "Bloody Queen", "Blue World", or "Purple Diamond".
You can of course still ignore this entirely and type "The Brapmaster"
into the box if so desired.
I made _one_ other intentional change, which is to swap to Mothblocks'
nice leash component instead of instantly teleporting guardians back to
you when they are pulled out of the edge of their range. They should now
be "dragged" along behind you until they can't path, at which point they
will teleport. This should make the experience a bit less disorienting,
you have the recall button if you _want_ to instantly catch up.
This is unfortunately a bumper-sized PR because it did not seem
plausible to not do all of it at once, but I can make a project branch
for atomisation if people think this is too much of a pain in the ass to
review.
Other changes:
- Some refactoring to how the charge action works so I could
individually override "what you can hit" and "what happens when you hit"
instead of those being the same proc
- Lightning Guardian damage chain is now a component
- Explosive Guardian explosive trap is now a component
- Added even more arguments to the Healing Touch component to allow it
to heal tox/oxy damage and require a specific click modifier
- Life Link component which implements the Guardian behaviour of using
another mob as your health bar
- Moved some stuff about deciding what guardians look and are described
like into a theming datum
- Added a generic proc which can return whether your mob is meant to
apply some kind of damage multiplier to a certain damage type. It's not
perfect because I couldn't figure out how ot cram limb modifiers in
there, which is where most of it is on carbons. Oh well.
- Riders of vehicles now inherit all movement traits of those vehicles,
so riding a charging holoparasite will let you cross chasms. Also works
if you piggyback someone with wings, probably.
## Changelog
🆑
refactor: Guardians/Powerminers/Holoparasites now use the basic mob
framework. Please report any unexpected changes or behaviour.
qol: The verbs used to communicate with, recall, or banish your Guardian
are now action buttons.
balance: If (as a Guardian) your host moves slightly out of range you
will now be dragged back into range if possible, rather than being
instantly teleported to them.
balance: Protectors now have a shorter leash range rather than a longer
one, in order to more easily take advantage of their ability to drag
their charge out of danger.
balance: Ranged Guardians can now hold down the mouse button to fire
automatically.
balance: People riding vehicles or other mobs now inherit all of their
movement traits, so riding a flying mob (or vehicle, if we have any of
those) will allow you to cross chasms and lava safely.
/🆑
---------
Co-authored-by: san7890 <the@san7890.com>
## About The Pull Request
Fixes#78721
This PR does a handful of things behind the scenes to increase the
consistency of shapechange health tracking.
First of all we adjust the order of operations taken when you restore
the original body. The implementation as-was would remove the status
effect midway through and null a bunch of variables we tried to continue
using. This would result in several runtimes and code failing to run,
with the upshot that untransforming upon death would leave the caster
completely alive, with the corpse of its transformed shape at its feet.
Oops.
Additionally while testing this I realised that transferring the damagew
as also kind of fucked.
We wouldn't bother to do it at _all_ if you died, which is a shame, so I
made it simply heal you instead of reviving you so we can always do it.
Then as noted in the linked issue, we were applying all transferred
damage to a single limb, which could exceed the health of the limb and
remove damage. Now we spread it around the body.
Finally, applying damage to a human using the "force" flag would often
actually apply less damage to their _health_ than expected. This is
because arms and legs contribute only 75% of their damage taken to a
mob's overall health.
Now instead of reading `health` we read `total damage` which ignores the
limb damage modifier.
The end result of this is that if you transform into a corgi, take 50%
of your health, and transform back then you will have 50% of your health
as a human.
Previously the result would be that you'd have ~63%, then transforming
into a corgi would leave you with ~63% of a corgi's health, then
transforming back into a human would leave you at about 71%... and so on
and so forth. Now it doesn't do that.
## Changelog
🆑
fix: Dying when using (most) shapeshift spells will now kill you rather
than having you pop out of the corpse of your previous form.
fix: Damage will now be accurately carried between forms rather than
being slightly reduced upon each transformation.
/🆑
## About The Pull Request
Adds a new Wizard Ritual Finale effect which makes everything immortal.
By this I mean, 10 seconds after death a ghostly image of them will
appear somewhere near where the corpse was and then 50 seconds after
that the mob will return to life at that location.
This applies to every mob, everywhere.
This is likely to cause a little bit of disruption to the rest of the
round, so you can only do it after at least 30 minutes have passed.
After that the crew will have to figure out how to deal with their new
gift of immortality. It will involve throwing people into chasms and
lava, probably.

Here's a gif sped up for example purposes.
You can escape from the cycle of death and rebirth via suicide, purely
because it's pointless to try and force people to play the video game if
they don't want to.
Also I split all of these effects into their own files, the only new
code for those is in `immortality.dm`
shout out to Vekter for distracting Oranges while I posted this
wizard-related PR so I didn't get disapprovingly reacted for posting
magic shit (yet)
## Why It's Good For The Game
This might be _too_ much but I want to see what would happen.
It will allow us to simulate whether polite society can survive when
violence has no consequences.
## Changelog
🆑
add: Wizards who complete the grand ritual can now gift everyone with
eternal life
/🆑
## About The Pull Request
Some changes to Cosmic and Knock heretic ascensions, in response to
feedback.
- Cosmic Heretics can no longer control their summon while jaunted.
- Additionally the death link element the Star Gazer used... wouldn't
work if there was more than one cosmic heretic. I refactored it into a
component, so that it would.
Frankly there are probably a lot of _other_ abilities which shouldn't be
usable while jaunted but are, but I have been burned in the past by
adding defaults which were applied too widely so we'll leave it
case-by-case for now.
- The Knock rift can no longer summon Flesh Worms of any kind.
- But it _can_ summon fire sharks (we really need to reflavour these...)
and any future "basic mob" heretic mobs (or ones which are converted).
- Additionally the rift can't be clicked by ghosts while it's polling
ghosts automatically because that would create funky empty-minded mobs.
- Finally it goes away when the heretic dies.
## Why It's Good For The Game
For Cosmic Heretics, controlling the Star Gazer in conjunction with
Space Jaunt essentially meant that the heretic was playing an RTS as an
invincible observer with an invulnerable unit, now they have to actually
be present and killable in order to sic The Beast on you.
For Knock Heretics, Minor Flesh Worms are a proof of concept which was
never meant to be used except by admins. They're _barely_ weaker than a
normal flesh worm, extraordinarily tanky, delete walls, and generally
devalue the Flesh path ascension.
Vanishing upon heretic death is because every _other_ ascension is at
least theoretically stoppable except this one. Now this one is too.
It's still _very hard_ to kill the heretic because every _10 seconds_
they can transform into a heretic mob which acts as an extra health
pool.
## Changelog
🆑
fix: If two cosmic heretics ascend in the same round, their star gazer
survival will be linked to each individual heretic and not shared by
just one of them.
fix: You can't click the Knock heretic portal to join as a mob while
already signed up to become a mob.
balance: Cosmic heretics can't order the Star Gazer around while
jaunting.
balance: The Knock Heretic portal cannot summon Flesh Worms, but can
summon Fire Sharks.
balance: The Knock Heretic portal will disperse if its creator is
killed.
/🆑
## About The Pull Request
Hooks `charge_end()` on charger's death signal and shuffles the proc a
bit to accord for a non-moveloop source. This lets the charger to
properly unregister signals for its charge movement effects and unblocks
its movement via `actively_moving` var (which would be blocked in
`on_move()`).
## Changelog
🆑
fix: fixed lobstrosities becoming unmovable when killed during their
charge windup
/🆑
## About The Pull Request
ided pls nerf
## Why It's Good For The Game
This motherfucker is horrid to fight with a crusher because the first
attack that he does in this action is a shotgun blast, which you just
eat with your face and die. The only reasonable way to trigger this
attack is with a ranged weapon or with a hiero's trophy, the former
being antithetical to the challenge/playstyle that is crusher mining and
the latter being wildly uncontrollable.
Half a second should be ample time to dodge out of harm's way before
server-lagging touhou begins.
## Changelog
🆑
balance: colossus' near-death attack now starts after a 0.5 seconds
delay
/🆑
## About The Pull Request
megafauna now gut you instead of gibbing or dusting
colossus bolts still dust to prevent bodychair cheese
## Why It's Good For The Game
shaft miners are already hard to recover(or impossible in the case of
dusting), having to go through lavaland and likely near the megafauna
itself. This should still be punishing enough for losing to a megafauna
as it removes their heart, lungs and liver from their body while still
leaving it intact, just easier to recover.
## Changelog
🆑
balance: megafauna will now gut instead of dusting or gibbing
/🆑
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
## About The Pull Request
Instead of a supernatural phobia, sacrificed people will now get a
HERESY phobia, which specifically targets heretic stuff, instead of all
of magic. Other heretics, however, do not get this, but instead get
knowledge points sapped from them, as their mind is ruined in a
different way than normal people. This comes with different flavour text
and a harsher but shorter lasting mood debuff. Also fixes some
"knowlege" code typos and places the star gazer and fire shark all in
under heretic_summon
## Why It's Good For The Game
Heretics, Wizards, Chaplains and Cultists will now be able to keep
playing the game after getting sacrificed without overdosing on
psicodine, while still retaining the phobia's original design purpose.
placing the fire shark and star gazer under the same type also is useful
as they share a lot of values. typos bad.
## Changelog
🆑
add: Sacrificed heretic targets will now receive a phobia of heresy
instead of a phobia of the supernatural. Sacrificed heretics will not
get this phobia, but will lose knowledge points instead.
/🆑
Huge thanks to Helg2 for doing the original PR and helping me with this
one, couldn't be done without them
---------
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
## About The Pull Request
The global proc `dragon_fire_line` sleeps, and was being called inside
`ability.Activate`
This made the CI fail on a different PR because the mob stopped existing
between activating the ability and triggering its cooldown, which should
not regularly be possible.
The ice whelp refactor author noticed this when using it in a loop but I
guess didn't think about the other implications 😅
## Why It's Good For The Game
Fixes a bug.
## Changelog
Not player facing
## About The Pull Request
A pact made with `@Kapu1178`
Small changes you should not care about:
RD MODsuit outfit (admin only) no longer has a beret that blocks the
activation of the suit
The beret used by death squad officers no longer is blocked from being
put on a hat stabilizer module
Admins can now Shear matrices of objects in Modify Transform
Multitool buffers have been a little refactored to use a setter proc
that saves them from causing hard dels
Cooler stuff:
A revival and remake of [Nobody Wants To Learn Matrix
Math](https://github.com/tgstation/tgstation/pull/59103), this time with
additional tooling for quick matrix calculations.

The MODLink system, available through every MODsuit and MODLink scryers
(a neck item obtainable from advanced modsuit research or
charliestation)
Let's you make a holographic call with any other MODLink user, where you
can chat in realtime and see what's up with em


## Why It's Good For The Game
Adds a fun way for the crew to communicate with each other that can be
done in real-time with relative privacy compared to radio.
## Changelog
🆑 Fikou, Armhulen, Sheets (+rep for Mothblocks and Potato)
fix: RD MODsuit outfit (admin only) no longer has a beret that blocks
the activation of the suit
fix: The beret used by death squad officers no longer is blocked from
being put on a hat stabilizer module
admin: Admins can now Shear matrices of objects in Modify Transform
admin: Admins now have access to Test Matrices in the VV dropdown, an
all-in-one tool for editing transforms.
add: MODLink system, available through scryers (from RnD and Charlie
Station) and through MODsuits. Lets you call people with holographs!
/🆑
## About The Pull Request
I literally can't focus on anything nowadays, so I just did this to
break a never-ending chain of distress. Anyways, regal rats! These
fellas are mostly player controlled, but did have _some_ AI capabilities
(mainly tied to their actions), so that was incorporated too. Everything
should work as-expected (as well as look a shitload cleaner).
Instead of doing weird and awful conditional signals being sent out, I
made the `COMSIG_REGAL_RAT_INTERACT` (not the actual name) have a return
value so we can always rely on that working whenever we have that signal
registered on something we attack. I also cleaned up pretty much every
proc related to regal rats, gave them AIs to reflect their kingly nature
(and action capabilities (as well as move the action to
`mob_cooldown`)).
Since I thought they needed it, Regal Rats now get a special moniker!
This is stuff like "the Big Cheese" and what-not, like actual regents in
history. That's nice.
## Why It's Good For The Game
Two more off the list. Much better code to read. Way smarter rats with
spawning their army as part of a retaliatory assault (war). More sovl
with better regal rat names. The list goes on.
## Changelog
🆑
refactor: Regal Rats have been refactored into basic mobs. They should
be a bit smarter and retain their docility (until attacked, in which
case you should prepare to get rekt by summoned rats), and properly flee
when they can instead of just sit there as you beat them to death. The
framework for them interacting with stuff (i.e. opening doors while
slobbering on food) is a bit more unified too, now. They also have
cooler names too!
/🆑
FYI: Beyond a few code touchups, I haven't touched the actions at all. I
do not believe myself to be enthusiastic about fixing anything involving
the actions code as of this moment so that this PR is more overbloated
unless it's unbelievably stupid or easy to fix.
## About The Pull Request
This PR fixes the xenomorph sentinel's Sneak ability having an error
icon as opposed to the intended appearance. This PR also adds a smooth
alpha transition to Sneak as opposed to setting the alpha immediately.
Having your alpha drop to its sneak value takes 0.5 seconds, which is
fast enough that it really shouldn't matter.
This PR also changes sneak's chat message alert to a balloon alert.
## Why It's Good For The Game
The icon thing is a bugfix, which is always good. The alpha
transitioning instead of being immediately set looks much better in my
opinion, I think most would agree on that front. Balloon alerts are our
preferred option as opposed to chat alerts now, so its also a good thing
to change.
## Changelog
🆑
qol: Xenomorph Sentinel and Ambusher Spider's sneak ability now has a
transition to a lower alpha as opposed to being immediate.
qol: The sneak ability now uses balloon alerts as opposed to chat
alerts.
fix: Fixed the Xenomorph Sentinel's Sneak ability icon being an error.
/🆑
---------
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
This PR replaces the tiny mob sprite abilities for our large mobs with a
Toggle Seethrough ability. What this does when enabled is make yourself
transparent on your own client and makes you unable to click yourself.
With this, any sort of overlays that get added look correct while in
your tiny mob form and you can still appreciate your large size without
giving up the ability to click on targets that would be hiding
underneath your sprite.


In total, this ability is granted to all the mobs who had tiny sprites:
- Xenomorph Queen
- Space Dragon
- Megafauna (not that players ever get access to these normally, but it
might be nice for admins)
Along with all this, I've also gone and expanded the mobs who get access
to the Seethrough ability to mobs that are large but didn't have a
mini-sprite. This includes:
- Jungle giants (leaper and mega arachnid)
- Tree mob
- Festivus pole mob
- Lavaland elites
- Xenomorph Praetorian
- Wumborian Fugu
On top of all this, any simple/basic mob given a fugu gland also
automatically gains this ability.
This solution also fixes all the overlays bugs that tiny mob sprites
introduced to the game, most notably the xenomorph queen overlays being
screwy when in small form and space dragon's overlays being completely
disabled for everyone if he was in small form.
The only issue with this currently is that clicking on any overlays from
your mob will let you still click on yourself, though this issue is
pretty negligible.
## Why It's Good For The Game
Tiny mob sprite abilities clashed very hard with our overlay system,
leading to a lot of buggy and unintended behavior. This replacement
works a lot more smoothly with overlays and also requires much less
setup to give it to a mob than tiny sprites did. I would also imagine it
helps keep the fantasy of being a big monster alive by letting you still
see yourself being a big monster without it getting in your way when
trying to attack things.
## Changelog
🆑
del: Removed tiny mob sprite abilities for large mobs
add: Add a Self Seethrough ability, given to most large mobs and all
mobs affected by a fugu gland
fix: Space Dragon's overlay will no longer vanish at times
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
## About The Pull Request
This one is a double feature because Watchers and Basilisks share the
same typepath. You might see a couple more of those.
As is tradition I decided to fuck with them rather than just port them.
Here's what's up.
**Basilisks**


- Have a new soulless sprite which looks less like a living blue hedge.
- Walk at you and shoot you while you are not in range (just like
before).
- Become supercharged if they become "heated" by lava, lasers, or
temperature weapons. This was a feature they also previously had but
they would never encounter lava, so now it also works if you use the
wrong gun on them.
- Lose their supercharge if you cool them down.
- Otherwise pretty normal mobs.
**Watchers**
https://www.youtube.com/watch?v=kOq_Bf78k5A
Here's a traditional video of me intentionally getting hit by mechanics
(trust me its definitely on purpose)
- They glow emmissively a little bit so you can see them from further
away.
- Their eyes light up about 0.5 seconds before they are able to shoot at
you.
- No longer melee attack, instead try to stay out of melee.
- Will occasionally put you into "Overwatch", meaning they will shoot
you rapidly if you move or act while they're staring at you for a brief
time period (after which you become immune for 12 seconds, and during
which other watchers will play fair and stop shooting at you).
- If they start taking damage they will also start using their "Gaze"
attack, look away or suffer some kind of negative effect!
- - Normal watcher gaze flashes and confuses you.
- - Magmawing watcher gaze obviously burns (and briefly stuns) you.
- - Icewing watcher gaze freezes you and throws you backwards.
- Magnetically attract and eat diamonds. They also used to do this, but
just if they happened to coincidentally walk past some.
**Other accompanying changes**
All basic mobs will now adopt the "stop gliding" trait if they get
slowed down too much.
I moved behaviour for "fire a projectile from this atom" into a helper
proc because I was using it in three places and I will probably use it
in more places. There are probably other places in the existing code
which could be using this.
I think I made the basic mob melee attack forecast default a little more
forgiving, they were fucking me up too much and I am the playtester.
## Why It's Good For The Game
Another one off the list.
New tricks for old dogs.
Framework for making mobs with ranged attacks "fairer" (you can see when
they are ready to shoot you).
More (hopefully) versatile AI behaviours which we will reuse later (I
hope I'm not duplicating one someone already made).
If our players "enjoy" them enough we can give more mobs "don't look at
me" mechanics.
Removes some soul sprites.
## Changelog
🆑
refactor: Basilisks and Watchers now use the basic mob framework. Please
bug report any unusual behaviour.
sprite: Basilisks have new sprites.
add: Basilisks will go into a frenzy if heated by energy weapons or
temperature beams as well as by lava.
add: Watcher eyes will be illuminated briefly when they are ready to
fire at you.
add: Watchers can now briefly put you into "Overwatch" and penalise you
for moving while they can see you.
add: Wounded watchers will occasionally punish players who look at them.
balance: Unusual watcher variants are more likely to appear.
/🆑
## About The Pull Request
i have refactored ice whelps into basic mobs. They are now the artistic
sort as theyll mark their territory by seeking out icy rocks and carve
out statues of theirselves using their claws to serve as a warning to
players/animals that this is dragon turf and theyll also go out of their
way to burn any trees in vicinity just for the hell of it. they are now
gruesome cannibals if they find a corpse of one of their kin near them
theyll go eat it for nurishment. AS for combat, they have a new ability
which allows them to release fire in all directions however theyll only
use this ability once their enraged meter is full. to make it fair ive
given them a new component which allows them to telegraph abilities and
only do them after a delay so players can react in time for it.
## Why It's Good For The Game
basic mob refactor
## Changelog
🆑
refactor: ice whelps have been refactored to basic mobs
add: ice whelps have a new dangerous ability which theyll use once their
enraged meter is full
/🆑