diff --git a/code/modules/admin/player_effects.dm b/code/modules/admin/player_effects.dm index c5222c5b49..642d8ee6bd 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) => { + ); };