mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-06-05 05:24:36 +01:00
ec44f9afc8
* Invisibility GM tool and Glamour Mob Added a new plane for event use, with the intent of making it so that only specific players can see things on it. Added two new buttons to player effects, one to make something move to the new invisible plane and another to allow a player to see things on that plane. Added a new mob that takes advantage of this new plane to be only visible to one player at a time. * Wrong way round. * Catalogue
51 lines
1.8 KiB
Plaintext
51 lines
1.8 KiB
Plaintext
/datum/plane_holder/New(mob/this_guy)
|
|
my_mob = this_guy
|
|
plane_masters[VIS_CH_STATUS_R] = new /obj/screen/plane_master{plane = PLANE_CH_STATUS_R} //Right-side status icon
|
|
plane_masters[VIS_CH_HEALTH_VR] = new /obj/screen/plane_master{plane = PLANE_CH_HEALTH_VR} //Health bar but transparent at 100
|
|
plane_masters[VIS_CH_BACKUP] = new /obj/screen/plane_master{plane = PLANE_CH_BACKUP} //Backup implant status
|
|
plane_masters[VIS_CH_VANTAG] = new /obj/screen/plane_master{plane = PLANE_CH_VANTAG} //Vore Antags
|
|
plane_masters[VIS_CH_STOMACH] = new /obj/screen/plane_master{plane = PLANE_CH_STOMACH} //Stomach
|
|
plane_masters[VIS_SOULCATCHER] = new /obj/screen/plane_master{plane = PLANE_SOULCATCHER} // Soulcatcher
|
|
plane_masters[VIS_EVENT_INVIS] = new /obj/screen/plane_master{plane = PLANE_INVIS_EVENT} //Things only specific players can see at any time.
|
|
|
|
plane_masters[VIS_AUGMENTED] = new /obj/screen/plane_master/augmented(null, my_mob) //Augmented reality
|
|
..()
|
|
|
|
/////////////////
|
|
//AR planemaster does some special image handling
|
|
/obj/screen/plane_master/augmented
|
|
plane = PLANE_AUGMENTED
|
|
var/state = FALSE //Saves cost with the lists
|
|
var/mob/my_mob
|
|
|
|
/obj/screen/plane_master/augmented/Initialize(mapload, var/mob/M)
|
|
. = ..()
|
|
my_mob = M
|
|
|
|
/obj/screen/plane_master/augmented/Destroy()
|
|
GLOB.entopic_users -= my_mob
|
|
my_mob = null
|
|
. = ..()
|
|
|
|
/obj/screen/plane_master/augmented/set_visibility(var/want = FALSE)
|
|
. = ..()
|
|
state = want
|
|
apply()
|
|
|
|
/obj/screen/plane_master/augmented/proc/apply()
|
|
if(!my_mob.client)
|
|
return
|
|
|
|
if(state)
|
|
GLOB.entopic_users |= my_mob
|
|
if(my_mob.client)
|
|
my_mob.client.images |= GLOB.entopic_images
|
|
else
|
|
GLOB.entopic_users -= my_mob
|
|
if(my_mob.client)
|
|
my_mob.client.images -= GLOB.entopic_images
|
|
|
|
/mob/Destroy()
|
|
. = ..()
|
|
GLOB.entopic_users -= src
|