From c98fe91da3e339a064f37f9d40fe107152ab7251 Mon Sep 17 00:00:00 2001 From: Aroliacue <96730930+Aroliacue@users.noreply.github.com> Date: Sat, 28 Dec 2024 20:33:34 +1000 Subject: [PATCH] Admin-Distributable Cloaking Ability (#16769) * Admin-Distributable Cloaking Ability * span update --------- Co-authored-by: Aroliacue --- code/modules/admin/player_effects.dm | 6 ++++++ .../mob/living/carbon/carbon_powers.dm | 20 +++++++++++++++++++ .../PlayerEffectsTabs/ControlAbilities.tsx | 3 +++ 3 files changed, 29 insertions(+) diff --git a/code/modules/admin/player_effects.dm b/code/modules/admin/player_effects.dm index c16661ef47..ed0ed51826 100644 --- a/code/modules/admin/player_effects.dm +++ b/code/modules/admin/player_effects.dm @@ -610,6 +610,12 @@ add_verb(Tar, /mob/living/proc/eat_trash) add_verb(Tar, /mob/living/proc/toggle_trash_catching) + if("active_cloaking") + var/mob/living/Tar = target + if(!istype(Tar)) + return + add_verb(Tar, /mob/living/proc/toggle_active_cloaking) + ////////INVENTORY////////////// diff --git a/code/modules/mob/living/carbon/carbon_powers.dm b/code/modules/mob/living/carbon/carbon_powers.dm index d6fdc94788..284224604d 100644 --- a/code/modules/mob/living/carbon/carbon_powers.dm +++ b/code/modules/mob/living/carbon/carbon_powers.dm @@ -60,3 +60,23 @@ else to_chat(src, span_warning("You do not have enough chemicals stored to reproduce.")) return + +/mob/living/proc/toggle_active_cloaking() // Borrowed from Rogue Star, thanks guys! + set category = "Abilities.General" + set name = "Toggle Active Cloaking" + + if(invisibility == INVISIBILITY_OBSERVER) + invisibility = initial(invisibility) + to_chat(src, span_notice("You are now visible.")) + alpha = max(alpha + 100, 255) + else + invisibility = INVISIBILITY_OBSERVER + to_chat(src, span_notice("You are now invisible.")) + alpha = max(alpha - 100, 0) + + var/datum/effect/effect/system/spark_spread/sparks = new /datum/effect/effect/system/spark_spread() + sparks.set_up(5, 0, src) + sparks.attach(loc) + sparks.start() + visible_message(span_warning("Electrical sparks manifest around \the [src] as they suddenly appear!")) + qdel(sparks) diff --git a/tgui/packages/tgui/interfaces/PlayerEffects/PlayerEffectsTabs/ControlAbilities.tsx b/tgui/packages/tgui/interfaces/PlayerEffects/PlayerEffectsTabs/ControlAbilities.tsx index 366c44cb66..5a187f228c 100644 --- a/tgui/packages/tgui/interfaces/PlayerEffects/PlayerEffectsTabs/ControlAbilities.tsx +++ b/tgui/packages/tgui/interfaces/PlayerEffects/PlayerEffectsTabs/ControlAbilities.tsx @@ -45,6 +45,9 @@ export const ControlAbilities = (props) => { + ); };