mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 18:02:57 +00:00
fix entertainment monitors
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -75,3 +75,38 @@
|
|||||||
if (!area_motion)
|
if (!area_motion)
|
||||||
if(isliving(AM))
|
if(isliving(AM))
|
||||||
newTarget(AM)
|
newTarget(AM)
|
||||||
|
|
||||||
|
/obj/machinery/camera/motion/thunderdome
|
||||||
|
name = "entertainment camera"
|
||||||
|
network = list("thunder")
|
||||||
|
c_tag = "Arena"
|
||||||
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF
|
||||||
|
|
||||||
|
/obj/machinery/camera/motion/thunderdome/Initialize()
|
||||||
|
. = ..()
|
||||||
|
proximity_monitor.SetRange(7)
|
||||||
|
|
||||||
|
/obj/machinery/camera/motion/thunderdome/HasProximity(atom/movable/AM as mob|obj)
|
||||||
|
if (!isliving(AM) || get_area(AM) != get_area(src))
|
||||||
|
return
|
||||||
|
localMotionTargets |= WEAKREF(AM)
|
||||||
|
if (!detectTime)
|
||||||
|
for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines)
|
||||||
|
TV.notify(TRUE)
|
||||||
|
detectTime = world.time + 30 SECONDS
|
||||||
|
|
||||||
|
/obj/machinery/camera/motion/thunderdome/process()
|
||||||
|
if (!detectTime)
|
||||||
|
return
|
||||||
|
|
||||||
|
for (var/datum/weakref/targetref in localMotionTargets)
|
||||||
|
var/mob/target = targetref.resolve()
|
||||||
|
if(QDELETED(target) || target.stat == DEAD || get_dist(src, target) > 7 || get_area(src) != get_area(target))
|
||||||
|
localMotionTargets -= targetref
|
||||||
|
|
||||||
|
if (localMotionTargets.len)
|
||||||
|
detectTime = world.time + 30 SECONDS
|
||||||
|
else if (world.time > detectTime)
|
||||||
|
detectTime = 0
|
||||||
|
for(var/obj/machinery/computer/security/telescreen/entertainment/TV in GLOB.machines)
|
||||||
|
TV.notify(FALSE)
|
||||||
@@ -246,17 +246,21 @@
|
|||||||
network = list("thunder")
|
network = list("thunder")
|
||||||
density = FALSE
|
density = FALSE
|
||||||
circuit = null
|
circuit = null
|
||||||
interaction_flags_atom = NONE // interact() is called by BigClick()
|
//interaction_flags_atom = NONE // interact() is called by BigClick()
|
||||||
var/icon_state_off = "entertainment_blank"
|
var/icon_state_off = "entertainment_blank"
|
||||||
var/icon_state_on = "entertainment"
|
var/icon_state_on = "entertainment"
|
||||||
|
|
||||||
|
/* If someone would like to try to get this long-distance viewing thing working, be my guest. I tried everything I could possibly think of and it just refused to operate correctly.
|
||||||
|
|
||||||
/obj/machinery/computer/security/telescreen/entertainment/Initialize()
|
/obj/machinery/computer/security/telescreen/entertainment/Initialize()
|
||||||
. = ..()
|
. = ..()
|
||||||
RegisterSignal(src, COMSIG_CLICK, .proc/BigClick)
|
RegisterSignal(src, COMSIG_CLICK, .proc/BigClick)
|
||||||
|
|
||||||
// Bypass clickchain to allow humans to use the telescreen from a distance
|
// Bypass clickchain to allow humans to use the telescreen from a distance
|
||||||
/obj/machinery/computer/security/telescreen/entertainment/proc/BigClick()
|
/obj/machinery/computer/security/telescreen/entertainment/proc/BigClick()
|
||||||
|
SHOULD_NOT_SLEEP(TRUE)
|
||||||
interact(usr)
|
interact(usr)
|
||||||
|
*/
|
||||||
|
|
||||||
/obj/machinery/computer/security/telescreen/entertainment/proc/notify(on)
|
/obj/machinery/computer/security/telescreen/entertainment/proc/notify(on)
|
||||||
if(on && icon_state == icon_state_off)
|
if(on && icon_state == icon_state_off)
|
||||||
@@ -278,7 +282,7 @@
|
|||||||
name = "circuitry telescreen"
|
name = "circuitry telescreen"
|
||||||
desc = "Used for watching the other eggheads from the safety of the circuitry lab."
|
desc = "Used for watching the other eggheads from the safety of the circuitry lab."
|
||||||
network = list("rd")
|
network = list("rd")
|
||||||
|
|
||||||
/obj/machinery/computer/security/telescreen/ce
|
/obj/machinery/computer/security/telescreen/ce
|
||||||
name = "\improper Chief Engineer's telescreen"
|
name = "\improper Chief Engineer's telescreen"
|
||||||
desc = "Used for watching the engine, telecommunications and the minisat."
|
desc = "Used for watching the engine, telecommunications and the minisat."
|
||||||
|
|||||||
@@ -131,7 +131,7 @@
|
|||||||
for(var/mob/living/mob in thunderdome)
|
for(var/mob/living/mob in thunderdome)
|
||||||
qdel(mob) //Clear mobs
|
qdel(mob) //Clear mobs
|
||||||
for(var/obj/obj in thunderdome)
|
for(var/obj/obj in thunderdome)
|
||||||
if(!istype(obj, /obj/machinery/camera))
|
if(!istype(obj, /obj/machinery/camera) && !istype(obj, /obj/effect/abstract/proximity_checker))
|
||||||
qdel(obj) //Clear objects
|
qdel(obj) //Clear objects
|
||||||
|
|
||||||
var/area/template = locate(/area/tdome/arena_source)
|
var/area/template = locate(/area/tdome/arena_source)
|
||||||
|
|||||||
@@ -567,7 +567,7 @@ Since Ramadan is an entire month that lasts 29.5 days on average, the start and
|
|||||||
|
|
||||||
/datum/holiday/xmas/proc/roundstart_celebrate()
|
/datum/holiday/xmas/proc/roundstart_celebrate()
|
||||||
for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines)
|
for(var/obj/machinery/computer/security/telescreen/entertainment/Monitor in GLOB.machines)
|
||||||
Monitor.icon_state = "entertainment_xmas"
|
Monitor.icon_state_on = "entertainment_xmas"
|
||||||
|
|
||||||
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list)
|
for(var/mob/living/simple_animal/pet/dog/corgi/Ian/Ian in GLOB.mob_living_list)
|
||||||
Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian))
|
Ian.place_on_head(new /obj/item/clothing/head/helmet/space/santahat(Ian))
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Reference in New Issue
Block a user