* Don't use turf icons for abilities (#81720)
## 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.
/🆑
* Don't use turf icons for abilities
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Fixes some issues with paper planes (#81453)
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.
None of this is player-facing but it's updating some rather old code to
more modern code standards.
Nothing player-facing.
---------
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* bindable action buttons (#81371)
## 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>
* bindable action buttons
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Fixes Mob Action Cooldowns (Ash Drake) (#81211)
## 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
/🆑
* Fixes Mob Action Cooldowns (Ash Drake)
---------
Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
* Legion Mob Abilities (#81082)
## 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>
* Legion Mob Abilities
---------
Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
Co-authored-by: Changelogs <action@ github.com>
* Fixes a spurious CI runtime in do_charge() (#81048)
## 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
/🆑
* Fixes a spurious CI runtime in do_charge()
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Fixes every instance of 'kenetic' in the codebase (#80782)
## 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.
/🆑
* Fixes every instance of 'kenetic' in the codebase
---------
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Sign Language action now properly updates its background when toggled (#80052)
## 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.
/🆑
* Sign Language action now properly updates its background when toggled
---------
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
* Adds a toggle action to implant HUDs (#79777)
<!-- 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>
* Adds a toggle action to implant HUDs
---------
Co-authored-by: Shroopy <delyth@shroop.net>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
* Removes final remnants of 'targetted' (#79626)
## 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
/🆑
* Removes final remnants of 'targetted'
---------
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Basic Guardians/Holoparasites (#79473)
## 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>
* Basic Guardians/Holoparasites
* Modular
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Fix split personality commune being unusable I think (#79631)
## 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
/🆑
* Fix split personality commune being unusable I think
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Grand Ritual Finale: An end to death (#78497)
## 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
/🆑
* Grand Ritual Finale: An end to death
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Heretic Ascension Tweaks (#78472)
## 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.
/🆑
* Heretic Ascension Tweaks
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* Fixes lobstrosities becoming unmovable when killed during their charge windup (#78533)
## 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
/🆑
* Fixes lobstrosities becoming unmovable when killed during their charge windup
---------
Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
* Colossus' Titan's Finale ability has a 0.5 seconds delay before starting the attack (#78171)
## 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
/🆑
* Colossus' Titan's Finale ability has a 0.5 seconds delay before starting the attack
---------
Co-authored-by: Sealed101 <cool.bullseye@yandex.ru>
* megafauna no longer gib/dust you (#77731)
## 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>
* megafauna no longer gib/dust you
---------
Co-authored-by: 1393F <59183821+1393F@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
* Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon (#77306)
## 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>
* Adds a Heresy phobia, fixes some typos in heretic code, places the stargazer and fire shark under heretic_summon
---------
Co-authored-by: DATAxPUNGED <44149906+DATA-xPUNGED@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
Co-authored-by: Helg2 <93882977+Helg2@ users.noreply.github.com>
* Don't sleep in ability.Activate() when breathing fire (#77673)
## 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
* Don't sleep in ability.Activate() when breathing fire
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
* MODLink System (+ NWTLMM) (#77639)
## 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!
/🆑
* MODLink System (+ NWTLMM)
---------
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Refactors Regal Rats into Basic Mobs (more titles edition) (#77681)
## 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.
* Refactors Regal Rats into Basic Mobs (more titles edition)
---------
Co-authored-by: san7890 <the@san7890.com>
* Fixes Xeno Sentinel's Sneak Action Icon + Additional Sneak QoL (#77543)
## 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>
* Fixes Xeno Sentinel's Sneak Action Icon + Additional Sneak QoL
---------
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@ users.noreply.github.com>
* Automatic changelog for PR #23141 [ci skip]
* Replaces Big Mob Tiny Sprites With Togglable Clientside Transparency For Big Mobs
* Replaces Big Mob Tiny Sprites With Togglable Clientside Transparency For Big Mobs (#77361)
## 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>
* Delete AutoChangeLog-pr-23141.yml
This is really weird
* Modular adjustments
---------
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
* Basic Watchers & Basilisks (#77630)
## 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.
/🆑
* Basic Watchers & Basilisks
* Modular paths
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* basic ice whelps (#77493)
## 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
/🆑
* basic ice whelps
* Modular paths
---------
Co-authored-by: SMOSMOSMOSMOSMO <95004236+SmoSmoSmoSmok@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Refactors Morphs into Basic Mobs (there is now a swag action for morphification) (#77503)
## About The Pull Request
I was bored, so did this. Probably one of the neatest refactors I've
done, sorry if there's some oddities because I was experimenting with
some other stuff in this so just tell me to clean them up whenever I
can.
Anyways, morphs are basic mobs now. We are able to easily refactor the
whole "eat items and corpses" stuff in the basic mob framework, but the
whole "morph into objects and people" turned out to be a bit trickier.
That was easily rectified with a datum mob cooldown action and
copy-pasting the old code into that code, as well as doing some nice
stuff with traits and signals to ensure the one-way communication from
the action to the mob.
Old Morph AI didn't seem to be existant whatsoever, they inappropriately
leveraged some old procs and I have no idea how to make it work with new
AI. They DEFINITELY don't spawn outside of admin interference/ the event
anymore, and will always be controlled by a player, so this shouldn't be
too bad of an issue. I gave them something to seem alive just in case
though, but I think adding legitimate prop-hunt AI would be such a
laborious task that I am unwilling to do it in this PR.
## Why It's Good For The Game
If admins want to add the ability for Ian to assume the form of the HoP,
they can do that now! The datum action cooldown is quite nice for simple
and basic mobs... but it is currently not compatible with carbons. That
is not within scope for this PR, but I am dwelling on ways to extend it
to carbon but they all sound really awfully bad.
Also morphs are smarter, and we tick another simple animal in need of
refactoring off the list.
## Changelog
🆑
refactor: Morphs are now basic mobs with a nice new ability to help you
change forms rather than the old shift-click method, much more
intuitive.
admin: With the morph rework comes a new ability you can add to mobs,
"Assume Form". Feel free to add that to any simple or basic mob for le
funnies as Runtime turns into a pen or something.
/🆑
~~Does anyone know if there's a (sane) way to alias a cooldown action as
a keypress? I can't think of a good way to retain the old shift-click
functionality, because that does feel _kinda_ nice, but I think it can
be lived without.~~ I added it. Kinda fugly but whatever.
* Refactors Morphs into Basic Mobs (there is now a swag action for morphification)
---------
Co-authored-by: san7890 <the@san7890.com>
* Spider Evolution - Young Spiders [Ready] (#76692)
## About The Pull Request
This pr adds a young spiders that appear between spiderlings and adult
spiders. Now spiders have a stage where they are squishy but can also
spin webs and do some other things early depending on the spider type.
Spiderling stage takes 40 seconds and young spider stage take 1 minute,
ealier for spiderling this was 1 minute. Also adds a new wizard spider
sprite and makes the spider form usable.
Gives Wizard Spider version has better immunity against fire since it
can kill a wizard very fast it they are not paying attention.
Makes tangle spider get more health but makes the self-healing worse.
This is done because spider is a team antag except for the flesh
(changeling spider), making it so solo-playing as tangle is less
encouraged.
Scout spiderling gets thermal vision also. It cannot communicate, but it
can already start scouting now.
Viper deals bonus damage when an enemy is on low health. Toxins don't
kill humans anymore, and since the viper spider only deals 5 damage now
it deals more so it can actually take down enemies at low health. They
also have a little more health since they always die very fast. Viper
can also change between a defensive/slow mode with more armor or a
offensive/speed mode with less armor.
Nurse spider heals for 25 instead of 20, since 25 is one laser shot, it
makes more sense for the nurse spider to be able to heal that amount.
Flesh spider grows faster since they are a solo antag and spawn killing
isn't cool.
Tarantula spider can now tear down walls by clicking them instead of
needing to use their charge attack. They can also build wall webs and
passage webs. Their damage coeffs also got the regular burn factor for
spider so their health also increased a bit.


## Why It's Good For The Game
Now there is a smooth transition between the tiny spiderling and the
bigger spider stage. This will promote people to help the hive at an
earlier stage while not being too powerful yet. It is also realistic and
adds extra flavor to the spider antag. The other balance changes are
improvements to the game.
## Changelog
🆑
add: Young Spiders that appear between spiderlings and adult spiders.
balance: Wizard Spider version has better immunity against temp damage
and can lay webs faster.
balance: Tangle Spider sucks more with self-healing but has more health.
balance: Scout spiderling gets thermal vision.
balance: Viper deals bonus damage when an enemy is below 20% health.
/🆑
* Spider Evolution - Young Spiders [Ready]
---------
Co-authored-by: Comxy <tijntensen@gmail.com>
* make the hive bot a basic bot (#77274)
## About The Pull Request
i make the hivebot a basic bot also the old hivebot simple bot he was
chaneged apperence when he finded a target so i maked a new element to
allowed this behavier so now when the basic finded a target he apperence
can also changed and this elememt can be gived to another basic monsters
so they can changed apperence when they found a target. i give him new
behaviers now the hivebot will look for ech other and when he finded ech
other they will comunicated with binyary messages and now the mechanic
hivebot he will go to look for broked machines so he can repair him
## Why It's Good For The Game
the hivebot is a basic and he have a better behaver
## Changelog
🆑
refactor: the hivebot is now a basic please report any bugs
/🆑
---------
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
* make the hive bot a basic bot
* Update salvagepost.dmm
---------
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Fikou <23585223+Fikou@ users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Basic Lobstrosity (#77253)
## About The Pull Request
I'm slowly chipping away at mining mobs. These ones also got some new
sprites because the old ones were a bit weird except when facing South.

Arctic Lobstrosities are now hairy to give them a little more visual
distinction from Lavaland ones.
In terms of behaviour, they're now a little faster and can charge you
from further away.
They will _only_ attack players who are incapacitated in some way
(primarily from being hit by their charge, but could be from a Goliath
or something too) and will otherwise keep their distance until they can
charge again. They move slower for a short duration after charging
though, so you have time to slap them a bit.
If a Lobstrosity downs you then it will try to snip off one of your
arms, then retreat in order to eat it.
Obviously nobody likes losing an arm, but this does give you an
opportunity to get away while it is distracted? Funnily enough the way
our health system works means that sometimes losing that arm actually
takes you out of soft crit so you can stumble back to the station for a
replacement (or try to wrestle yours back?)
All of these things are achievable also by a player if you make one
sapient, they will pull arms off mobs they attack which are in crit and
can eat arms if they see them lying around if they want.
I added an element to let you dismember people with your bare hands,
maybe someone evil can use it to add a beheading attack some day.
Here's a video of their new behaviours:
https://www.youtube.com/watch?v=9eKxsH7hD7Q
## Why It's Good For The Game
Gives mobs more character.
Reduces our list of frozen simple mobs.
Replaces some ugly side sprites.
Medbay enrichment?
## Changelog
🆑
refactor: Lobstrosities are now basic mobs and have different AI
behaviour. Please report anything which seems like it shouldn't be
happening.
add: Lobstrosities will now only opportunistically attack things they
have knocked over with their charge, and are otherwise timid.
add: Lobstrosities are hungry for fingers and will steal one of your
arms if they defeat you in combat, although this gives you time to crawl
away.
sprite: New sprites for Lobstrosities.
/🆑
* Basic Lobstrosity
* Modular paths
---------
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Refactors mind language holders into non-existent, fixes new languages being deleted on species swap + tests
* Fixing merge conflicts
* don't forget to ctrl+s!
* Another forgotten file
* urgh
* gets rid of vestiges of update_atom_languages()
and mind language holders
* No longer needed
* Fixes some modular grant_language calls
* Deprecated code
* This was up here before..
* Fixes failing unit tests, refactors silverscale lizards language a bit removing the need for skyrat edits
Removes some no longer needed code
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Icon folder cleaning wave one
* Fixe a merge conflict
* Fixes some more merge conflicts
* Fixes some modular icon paths
* Fixes even more modular icon paths...
Hopefully that's the last of them
* Fixes some merge discrepencies
* More merge issues
* ok
* not ok
---------
Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Maptext 2023 tweaks [NO GBP] (#76397)
## About The Pull Request
- In PR https://github.com/tgstation/tgstation/pull/76356 missed a few
bits of maptext around, such as shuttle signs and the supermatter. Small
text adjustments/fixes here.
- Large amount of feedback about the context tooltips. Increases size,
lightens default color as to not be too imposing.
🆑 LT3
qol: Context tooltip size increased
fix: Fixed remnants of old maptext code on various things
/🆑
* Maptext 2023 tweaks [NO GBP]
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>