Files
Paradise/code/modules/media/broadcast/receivers/radio.dm
T
Rob Nelson ac0c864603 Added and completed radio broadcasting system.
Conflicts:
	code/modules/media/broadcast/transmitters/broadcast.dm
	code/modules/media/jukebox.dm
	icons/obj/radio.dmi
	maps/tgstation.dmm
2014-07-27 12:46:46 -04:00

83 lines
2.1 KiB
Plaintext

/obj/machinery/media/receiver/boombox
name = "Boombox"
desc = "Tune in and tune out."
icon='icons/obj/radio.dmi'
icon_state="radio"
var/on=0
/obj/machinery/media/receiver/boombox/initialize()
if(on)
update_on()
update_icon()
/obj/machinery/media/receiver/boombox/attack_hand(var/mob/user)
if(stat & (NOPOWER|BROKEN))
usr << "\red You don't see anything to mess with."
return
user.set_machine(src)
interact(user)
/obj/machinery/media/receiver/boombox/interact(var/mob/user)
var/dat = "<html><head><title>[src]</title></head><body><TT>"
dat += {"
Power: <a href="?src=\ref[src];power=1">[on ? "On" : "Off"]</a><BR>
Frequency: <A href='byond://?src=\ref[src];set_freq=-1'>[format_frequency(media_frequency)]</a><BR>
"}
dat+={"</TT></body></html>"}
user << browse(dat, "window=radio-recv")
onclose(user, "radio-recv")
return
/obj/machinery/media/receiver/boombox/proc/update_on()
if(on)
visible_message("\The [src] hisses to life!")
playing=1
connect_frequency()
else
visible_message("\The [src] falls quiet.")
playing=0
disconnect_frequency()
/obj/machinery/media/receiver/boombox/Topic(href,href_list)
..()
if("power" in href_list)
on = !on
update_on()
if("set_freq" in href_list)
var/newfreq=media_frequency
if(href_list["set_freq"]!="-1")
newfreq = text2num(href_list["set_freq"])
else
newfreq = input(usr, "Set a new frequency (MHz, 90.0, 200.0).", src, media_frequency) as null|num
if(newfreq)
if(findtext(num2text(newfreq), "."))
newfreq *= 10 // shift the decimal one place
if(newfreq > 900 && newfreq < 2000) // Between (90.0 and 100.0)
disconnect_frequency()
media_frequency = newfreq
connect_frequency()
else
usr << "\red Invalid FM frequency. (90.0, 200.0)"
updateDialog()
/obj/machinery/media/receiver/boombox/wallmount
name = "Sound System"
desc = "This plays music for this room."
icon='icons/obj/radio.dmi'
icon_state="wallradio"
anchored=1
/obj/machinery/media/receiver/boombox/wallmount/muzak
on=1
media_frequency=1015
/obj/machinery/media/receiver/boombox/wallmount/update_on()
..()
if(on)
icon_state="wallradio-p"
else
icon_state="wallradio"