mirror of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP.git
synced 2026-08-20 12:16:55 +01:00
## About The Pull Request <img width="391" height="54" alt="image" src="https://github.com/user-attachments/assets/109044e2-a68c-4353-988e-e1747156387b" /> also a few events are fixed ## Why It's Good For The Game fixes stuff ## Changelog 🆑 fix: fix a handful of bad references to player_levels /🆑
49 lines
1.5 KiB
Plaintext
49 lines
1.5 KiB
Plaintext
/datum/admin_secret_item/fun_secret/ghost_mode
|
|
name = "Ghost Mode"
|
|
var/list/affected_mobs
|
|
|
|
/datum/admin_secret_item/fun_secret/ghost_mode/New()
|
|
..()
|
|
affected_mobs = list()
|
|
|
|
/datum/admin_secret_item/fun_secret/ghost_mode/execute(var/mob/user)
|
|
. = ..()
|
|
if(!.)
|
|
return
|
|
|
|
var/list/affected_areas = list()
|
|
for(var/mob/M in living_mob_list)
|
|
if(M.stat == CONSCIOUS && !(M in affected_mobs))
|
|
affected_mobs |= M
|
|
switch(rand(1,4))
|
|
if(1)
|
|
M.show_message(SPAN_NOTICE("You shudder as if cold..."), SAYCODE_TYPE_VISIBLE)
|
|
if(2)
|
|
M.show_message(SPAN_NOTICE("You feel something gliding across your back..."), SAYCODE_TYPE_VISIBLE)
|
|
if(3)
|
|
M.show_message(SPAN_NOTICE("Your eyes twitch, you feel like something you can't see is here..."), SAYCODE_TYPE_VISIBLE)
|
|
if(4)
|
|
M.show_message(SPAN_NOTICE("You notice something moving out of the corner of your eye, but nothing is there..."), SAYCODE_TYPE_VISIBLE)
|
|
|
|
for(var/obj/W in orange(5,M))
|
|
if(prob(25) && !W.anchored)
|
|
step_rand(W)
|
|
|
|
var/area/A = get_area(M)
|
|
if(A.requires_power && !A.always_unpowered && A.power_light && (A.z in (LEGACY_MAP_DATUM).station_levels))
|
|
affected_areas |= get_area(M)
|
|
|
|
affected_mobs |= user
|
|
for(var/area/AffectedArea in affected_areas)
|
|
AffectedArea.power_light = 0
|
|
AffectedArea.power_change()
|
|
spawn(rand(25,50))
|
|
AffectedArea.power_light = 1
|
|
AffectedArea.power_change()
|
|
|
|
sleep(100)
|
|
for(var/mob/M in affected_mobs)
|
|
M.show_message(SPAN_NOTICE("The chilling wind suddenly stops..."), SAYCODE_TYPE_VISIBLE)
|
|
affected_mobs.Cut()
|
|
affected_areas.Cut()
|