Files
Paradise/code/modules/media/machinery.dm
T
Rob NelsonandZomgPonies 5c8ddf2a31 YOOOOO0U. YOU GOT WHAT AH NEEEEEEEED
Conflicts:
	code/__HELPERS/game.dm
	code/game/machinery/alarm.dm
	code/game/machinery/doors/firedoor.dm
	code/modules/client/preferences_toggles.dm
	code/setup.dm
	maps/tgstation.2.1.0.0.1.dmm
2014-03-11 02:28:58 -04:00

66 lines
1.3 KiB
Plaintext

// Machinery serving as a media source.
/obj/machinery/media
var/playing=0
var/media_url=""
var/media_start_time=0
var/area/master_area
// Notify everyone in the area of new music.
// YOU MUST SET MEDIA_URL AND MEDIA_START_TIME YOURSELF!
/obj/machinery/media/proc/update_music()
update_media_source()
// Bail if we lost connection to master.
if(!master_area)
return
// Send update to clients.
for(var/mob/M in mobs_in_area(master_area))
if(M && M.client)
M.update_music()
/obj/machinery/media/proc/update_media_source()
var/area/A = get_area_master(src)
// Check if there's a media source already.
if(A.media_source && A.media_source!=src)
master_area=null
return
// Update Media Source.
if(!A.media_source)
A.media_source=src
master_area=A
/obj/machinery/media/proc/disconnect_media_source()
var/area/A = get_area_master(src)
// Sanity
if(!A)
master_area=null
return
// Check if there's a media source already.
if(A && A.media_source && A.media_source!=src)
master_area=null
return
// Update Media Source.
A.media_source=null
// Clients
for(var/mob/M in mobs_in_area(A))
if(M && M.client)
M.update_music()
master_area=null
/obj/machinery/media/New()
..()
update_media_source()
/obj/machinery/media/Destroy()
disconnect_media_source()
..()