kinesis changes + smaller misc modsuit stuff (#77241)

## About The Pull Request
renames plasmaman helmet exempt flag to stackable helmet exempt. hat
stabilizer now cares about this instead of letting you stack eva helmets
on top of modsuit helmets
improves some code that dripped in quality when i was on break
kinesis has some tweaks
previously it used to stun for a set amount of time - i think this is
because the creator couldnt figure out how to stop movement while being
held? this is changed, now as long as youre holding someone they are
immobilized
you can cancel your kinesis without throwing or moving out of range by
using right click on the click catcher
adds an admin version of kinesis just for the admin suit. it can grab
(almost) ANYTHING and config menu lets you enable phasing, which makes
it so the atom you grabbed phases through everything. pick up that can.

## Why It's Good For The Game
its fun

## Changelog
🆑
balance: hat stabilizer module can now hold what plasmaman helmets can
hold
qol: kinesis module can be stopped without launching an object with
right click
balance: kinesis module stuns last until the kinesis stops
add: admin suit has a version of kinesis that can pick up anything at
any range and can be configured to make grabbed mobs phase through walls
:)
/🆑
This commit is contained in:
Fikou
2023-08-02 19:47:57 +00:00
committed by GitHub
parent 3e72c200f0
commit ba6c2ffa4c
21 changed files with 203 additions and 100 deletions
+8 -2
View File
@@ -105,7 +105,9 @@
overlay_state_active = "module_jetpack_on"
/// Do we give the wearer a speed buff.
var/full_speed = FALSE
/// Do we have stabilizers? If yes the user won't move from inertia.
var/stabilize = TRUE
/// Callback to see if we can thrust the user.
var/thrust_callback
/obj/item/mod/module/jetpack/Initialize(mapload)
@@ -585,7 +587,7 @@
incompatible_modules = list(/obj/item/mod/module/hat_stabilizer)
/*Intentionally left inheriting 0 complexity and removable = TRUE;
even though it comes inbuilt into the Magnate/Corporate MODS and spawns in maints, I like the idea of stealing them*/
/// Currently "stored" hat. No armor or function will be inherited, ONLY the icon.
/// Currently "stored" hat. No armor or function will be inherited, only the icon and cover flags.
var/obj/item/clothing/head/attached_hat
/// Original cover flags for the MOD helmet, before a hat is placed
var/former_flags
@@ -616,14 +618,18 @@
SIGNAL_HANDLER
if(!istype(hitting_item, /obj/item/clothing/head))
return
var/obj/item/clothing/hat = hitting_item
if(!mod.active)
balloon_alert(user, "suit must be active!")
return
if(attached_hat)
balloon_alert(user, "hat already attached!")
return
if(hat.clothing_flags & STACKABLE_HELMET_EXEMPT)
balloon_alert(user, "invalid hat!")
return
if(mod.wearer.transferItemToLoc(hitting_item, src, force = FALSE, silent = TRUE))
attached_hat = hitting_item
attached_hat = hat
former_flags = mod.helmet.flags_cover
former_visor_flags = mod.helmet.visor_flags_cover
mod.helmet.flags_cover |= attached_hat.flags_cover