/obj/item/integrated_signaler name = "\improper PDA radio module" desc = "An electronic radio system." icon = 'icons/obj/module.dmi' icon_state = "power_mod" var/obj/item/modular_computer/hostpda = null var/on = 0 //Are we currently active?? var/menu_message = "" /obj/item/integrated_signaler/Initialize() . = ..() if (istype(loc.loc, /obj/item/modular_computer)) hostpda = loc.loc /obj/item/integrated_signaler/Destroy() hostpda = null return ..() /obj/item/integrated_signaler/proc/post_signal(var/freq, var/key, var/value, var/key2, var/value2, var/key3, var/value3, s_filter) var/datum/radio_frequency/frequency = SSradio.return_frequency(freq) if(!frequency) return var/datum/signal/signal = new() signal.source = src signal.transmission_method = TRANSMISSION_RADIO signal.data[key] = value if(key2) signal.data[key2] = value2 if(key3) signal.data[key3] = value3 frequency.post_signal(src, signal, filter = s_filter) return /* * Radio Cartridge, essentially a signaler. */ /obj/item/integrated_signaler/signal var/frequency = 1457 var/code = 30.0 var/last_transmission var/datum/radio_frequency/radio_connection /obj/item/integrated_signaler/signal/Initialize() . = ..() if(!SSradio) return if (src.frequency < PUBLIC_LOW_FREQ || src.frequency > PUBLIC_HIGH_FREQ) src.frequency = sanitize_frequency(src.frequency) set_frequency(frequency) /obj/item/integrated_signaler/signal/proc/set_frequency(new_frequency) SSradio.remove_object(src, frequency) frequency = new_frequency radio_connection = SSradio.add_object(src, frequency) /obj/item/integrated_signaler/signal/proc/send_signal(message="ACTIVATE") if(last_transmission && world.time < (last_transmission + 5)) return last_transmission = world.time var/time = time2text(world.realtime,"hh:mm:ss") var/turf/T = get_turf(src) GLOB.lastsignalers.Add("[time] : [usr.key] used [src] @ location ([T.x],[T.y],[T.z]) : [format_frequency(frequency)]/[code]") var/datum/signal/signal = new signal.source = src signal.encryption = code signal.data["message"] = message radio_connection.post_signal(src, signal) /obj/item/integrated_signaler/signal/Destroy() SSradio.remove_object(src, frequency) return ..()