mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Added primitive optimization to radio code.
Lag reduced by approx 30% (0.5 seconds of total 1.5 on my system). Some air alarms on the map copypasted from toxins one, with its special settings. Added list of used frequencies and HOW IT WORKS section to communications.dm. Sorry for some engrish. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@895 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -107,10 +107,10 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
|
||||
@@ -76,10 +76,10 @@ obj/machinery/atmospherics/binary/pump
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
|
||||
@@ -61,10 +61,10 @@ obj/machinery/atmospherics/binary/volume_pump
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
|
||||
@@ -42,10 +42,10 @@ Filter types:
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -67,10 +67,10 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
|
||||
@@ -26,6 +26,8 @@
|
||||
var/frequency = 1439
|
||||
var/datum/radio_frequency/radio_connection
|
||||
|
||||
var/radio_filter_out
|
||||
var/radio_filter_in
|
||||
|
||||
New()
|
||||
var/area/A = get_area(loc)
|
||||
@@ -119,10 +121,10 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency,radio_filter_in)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
@@ -142,13 +144,17 @@
|
||||
signal.data["external"] = external_pressure_bound
|
||||
signal.data["timestamp"] = air_master.current_cycle
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
initialize()
|
||||
..()
|
||||
|
||||
//some vents work his own spesial way
|
||||
radio_filter_in = frequency==initial(frequency)?(RADIO_FROM_AIRALARM):null
|
||||
radio_filter_out = frequency==initial(frequency)?(RADIO_TO_AIRALARM):null
|
||||
if(frequency)
|
||||
set_frequency(frequency)
|
||||
update_icon()
|
||||
@@ -227,7 +233,7 @@
|
||||
if(istype(W, /obj/item/weapon/weldingtool) && W:welding)
|
||||
if (W:get_fuel() < 1)
|
||||
user << "\blue You need more welding fuel to complete this task."
|
||||
return
|
||||
return 1
|
||||
W:use_fuel(1)
|
||||
playsound(src.loc, 'Welder2.ogg', 50, 1)
|
||||
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
var/panic = 0 //is this scrubber panicked?
|
||||
|
||||
var/area_uid
|
||||
|
||||
var/radio_filter_out
|
||||
var/radio_filter_in
|
||||
New()
|
||||
var/area/A = get_area(loc)
|
||||
if (A.master)
|
||||
@@ -42,9 +43,9 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency, radio_filter_in)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
@@ -63,12 +64,14 @@
|
||||
signal.data["filter_co2"] = scrub_CO2
|
||||
signal.data["filter_toxins"] = scrub_Toxins
|
||||
signal.data["filter_n2o"] = scrub_N2O
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||
|
||||
return 1
|
||||
|
||||
initialize()
|
||||
..()
|
||||
radio_filter_in = frequency==initial(frequency)?(RADIO_FROM_AIRALARM):null
|
||||
radio_filter_out = frequency==initial(frequency)?(RADIO_TO_AIRALARM):null
|
||||
if (frequency)
|
||||
set_frequency(frequency)
|
||||
|
||||
|
||||
@@ -251,10 +251,10 @@ obj/machinery/atmospherics/valve
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
if(frequency)
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
var/frequency = 0
|
||||
var/id = null
|
||||
|
||||
@@ -56,9 +56,9 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
receive_command(obj/source, command, datum/signal/signal)
|
||||
if(..())
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
src.host_program.transfer_holder(src.hd)
|
||||
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[frequency]")
|
||||
radio_controller.add_object(src, frequency)
|
||||
|
||||
|
||||
if (src.default_cartridge)
|
||||
@@ -207,7 +207,7 @@
|
||||
|
||||
signal.source = src
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
signal.transmission_method = TRANSMISSION_RADIO
|
||||
if(frequency)
|
||||
|
||||
@@ -1,77 +1,208 @@
|
||||
/*
|
||||
Special frequency list:
|
||||
HOW IT WORKS
|
||||
|
||||
The radio_controller is a global object maintaining all radio transmissions, think about it as about "ether".
|
||||
Note that /obj/item/device/radio handles transmission using nonstandard way.
|
||||
procs:
|
||||
|
||||
add_object(obj/device as obj, var/new_frequency as num, var/filter as num|null = null)
|
||||
Adds listening object.
|
||||
parameters:
|
||||
device - device receiving signals, must have proc receive_signal (see description below).
|
||||
one device may listen several frequencies, but not same frequency twice.
|
||||
new_frequency - see possibly frequencies below;
|
||||
filter - thing for optimization. Optional, but recommended.
|
||||
All filters should be consolidated in this file, see defines later.
|
||||
Device without listening filter will receive all signals (on specified frequency).
|
||||
Device with filter will receive any signals sent without filter.
|
||||
Device with filter will not receive any signals sent with different filter.
|
||||
returns:
|
||||
Reference to frequency object.
|
||||
|
||||
remove_object (obj/device, old_frequency)
|
||||
Obliviously, after calling this proc, device will not receive any signals on old_frequency.
|
||||
Other frequencies will left unaffected.
|
||||
|
||||
return_frequency(var/frequency as num)
|
||||
returns:
|
||||
Reference to frequency object. Use it if you need to send and do not need to listen.
|
||||
|
||||
radio_frequency is a global object maintaining list of devices that listening specific frequency.
|
||||
procs:
|
||||
|
||||
post_signal(obj/source as obj|null, datum/signal/signal, var/filter as num|null = null, var/range as num|null = null)
|
||||
Sends signal to all devices that wants such signal.
|
||||
parameters:
|
||||
source - object, emitted signal. Usually, devices will not receive their own signals.
|
||||
signal - see description below.
|
||||
filter - described above.
|
||||
range - radius of regular byond's square circle on that z-level. null means everywhere, on all z-levels.
|
||||
|
||||
obj/proc/receive_signal(datum/signal/signal, var/receive_method as num, var/receive_param)
|
||||
Handler from received signals. By default does nothing. Define your own for your object.
|
||||
Avoid of sending signals directly from this proc, use spawn(-1). Do not use sleep() here please.
|
||||
parameters:
|
||||
signal - see description below. Extract all needed data from the signal before doing sleep(), spawn() or return!
|
||||
receive_method - may be TRANSMISSION_WIRE or TRANSMISSION_RADIO.
|
||||
TRANSMISSION_WIRE is currently unused.
|
||||
receive_param - for TRANSMISSION_RADIO here comes frequency.
|
||||
|
||||
datum/signal
|
||||
vars:
|
||||
source
|
||||
an object that emitted signal. Used for debug and bearing.
|
||||
data
|
||||
list with transmitting data. Usual use pattern:
|
||||
data["msg"] = "hello world"
|
||||
encryption
|
||||
Some number symbolizing "encryption key".
|
||||
Note that game actually do not use any cryptography here.
|
||||
If receiving object don't know right key, it must ignore encrypted signal in its receive_signal.
|
||||
|
||||
*/
|
||||
|
||||
/*
|
||||
Frequency range: 1200 to 1600
|
||||
Radiochat range: 1441 to 1489
|
||||
|
||||
Radio:
|
||||
1459 - standard radio chat
|
||||
1353 - Command
|
||||
1355 - Medical
|
||||
1357 - Engineering
|
||||
1359 - Security
|
||||
1441 - death squad
|
||||
1443 - Confession Intercom
|
||||
|
||||
Devices:
|
||||
1457 - RSD default
|
||||
1451 - tracking implant
|
||||
|
||||
On the map:
|
||||
1311 for prison shuttle console (in fact, it is not used)
|
||||
1435 for status displays
|
||||
1437 for atmospherics/fire alerts
|
||||
1439 for engine components
|
||||
1439 for air pumps, air scrubbers, atmo control
|
||||
1441 for atmospherics - supply tanks
|
||||
1443 for atmospherics - distribution loop/mixed air tank
|
||||
1445 for bot nav beacons
|
||||
1447 for mulebot control
|
||||
1449 for airlock controls
|
||||
1447 for mulebot, secbot and ed209 control
|
||||
1449 for airlock controls, electropack
|
||||
1451 for toxin lab access
|
||||
1453 for engineering access
|
||||
1455 for AI access
|
||||
*/
|
||||
|
||||
#define TRANSMISSION_WIRE 0
|
||||
#define TRANSMISSION_RADIO 1
|
||||
|
||||
/* filters */
|
||||
var/const/RADIO_TO_AIRALARM = 1
|
||||
var/const/RADIO_FROM_AIRALARM = 2
|
||||
var/const/RADIO_CHAT = 3
|
||||
|
||||
var/global/datum/controller/radio/radio_controller
|
||||
|
||||
datum/controller/radio
|
||||
var/list/datum/radio_frequency/frequencies = list()
|
||||
|
||||
proc/add_object(obj/device, new_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[new_frequency]
|
||||
proc/add_object(obj/device as obj, var/new_frequency as num, var/filter = null as num|null)
|
||||
var/f_text = num2text(new_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
if(!frequency)
|
||||
frequency = new
|
||||
frequency.frequency = new_frequency
|
||||
frequencies[new_frequency] = frequency
|
||||
frequencies[f_text] = frequency
|
||||
|
||||
frequency.devices += device
|
||||
frequency.add_listener(device, filter)
|
||||
return frequency
|
||||
|
||||
proc/remove_object(obj/device, old_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[old_frequency]
|
||||
var/f_text = num2text(old_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
if(frequency)
|
||||
frequency.devices -= device
|
||||
frequency.remove_listener(device)
|
||||
|
||||
if(frequency.devices.len < 1)
|
||||
if(frequency.devices.len == 0)
|
||||
del(frequency)
|
||||
frequencies -= old_frequency
|
||||
frequencies -= f_text
|
||||
|
||||
return 1
|
||||
|
||||
proc/return_frequency(frequency)
|
||||
return frequencies[frequency]
|
||||
proc/return_frequency(var/frequency as num)
|
||||
var/f_text = num2text(frequency)
|
||||
return frequencies[f_text]
|
||||
|
||||
datum/radio_frequency
|
||||
var/frequency
|
||||
var/list/obj/devices = list()
|
||||
var/frequency as num
|
||||
var/list/list/obj/devices = list()
|
||||
|
||||
proc
|
||||
post_signal(obj/source, datum/signal/signal, range)
|
||||
post_signal(obj/source as obj|null, datum/signal/signal, var/filter = null as num|null, var/range = null as num|null)
|
||||
// var/N=0
|
||||
// var/Nt=0
|
||||
var/filter_str = num2text(filter)
|
||||
var/turf/start_point
|
||||
if(range)
|
||||
start_point = get_turf(source)
|
||||
if(!start_point)
|
||||
del(signal)
|
||||
return 0
|
||||
|
||||
for(var/obj/device in devices)
|
||||
if(device != source)
|
||||
if (filter && ooc_allowed)//HACK, remove ooc_allowed
|
||||
var/list/obj/devices_line = devices[filter_str]
|
||||
for(var/obj/device in devices_line)
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
var/turf/end_point = get_turf(device)
|
||||
if(end_point)
|
||||
if(max(abs(start_point.x-end_point.x), abs(start_point.y-end_point.y)) <= range)
|
||||
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
|
||||
else
|
||||
if(!end_point)
|
||||
continue
|
||||
//if(max(abs(start_point.x-end_point.x), abs(start_point.y-end_point.y)) <= range)
|
||||
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
|
||||
continue
|
||||
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
|
||||
else
|
||||
for (var/next_filter in devices)
|
||||
// var/list/obj/DDD = devices[next_filter]
|
||||
// Nt+=DDD.len
|
||||
for(var/obj/device in devices[next_filter])
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
var/turf/end_point = get_turf(device)
|
||||
if(!end_point)
|
||||
continue
|
||||
//if(max(abs(start_point.x-end_point.x), abs(start_point.y-end_point.y)) <= range)
|
||||
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
|
||||
continue
|
||||
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
|
||||
// N++
|
||||
// log_admin("DEBUG: post_signal(source=[source] ([source.x], [source.y]),filter=[filter]) frequency=[frequency], N=[N],Nt=[Nt]")
|
||||
|
||||
|
||||
|
||||
del(signal)
|
||||
|
||||
add_listener(obj/device as obj, var/filter as num|null)
|
||||
//log_admin("add_listener(device=[device],filter=[filter]) frequency=[frequency]")
|
||||
var/filter_str = num2text(filter)
|
||||
var/list/obj/devices_line = devices[filter_str]
|
||||
if (!devices_line)
|
||||
devices_line = new
|
||||
devices[filter_str] = devices_line
|
||||
devices_line+=device
|
||||
// var/list/obj/devices_line___ = devices[filter_str]
|
||||
// var/l = devices_line___.len
|
||||
//log_admin("DEBUG: devices_line.len=[devices_line.len]")
|
||||
//log_admin("DEBUG: devices(filter_str).len=[l]")
|
||||
|
||||
remove_listener(obj/device)
|
||||
for (var/devices_filter in devices)
|
||||
devices[devices_filter]-=device
|
||||
|
||||
obj/proc
|
||||
receive_signal(datum/signal/signal, receive_method, receive_param)
|
||||
return null
|
||||
|
||||
@@ -59,7 +59,7 @@ obj/machinery/door/airlock
|
||||
signal.data["door_status"] = density?("closed"):("open")
|
||||
signal.data["lock_status"] = locked?("locked"):("unlocked")
|
||||
|
||||
radio_connection.post_signal(src, signal, AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
|
||||
|
||||
open(surpress_send)
|
||||
. = ..()
|
||||
@@ -71,10 +71,10 @@ obj/machinery/door/airlock
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
if(new_frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
initialize()
|
||||
if(frequency)
|
||||
@@ -119,7 +119,7 @@ obj/machinery/airlock_sensor
|
||||
signal.data["tag"] = master_tag
|
||||
signal.data["command"] = "cycle"
|
||||
|
||||
radio_connection.post_signal(src, signal, AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
|
||||
flick("airlock_sensor_cycle", src)
|
||||
|
||||
process()
|
||||
@@ -136,15 +136,15 @@ obj/machinery/airlock_sensor
|
||||
|
||||
signal.data["pressure"] = num2text(pressure)
|
||||
|
||||
radio_connection.post_signal(src, signal, AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
|
||||
|
||||
update_icon()
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
@@ -183,14 +183,14 @@ obj/machinery/access_button
|
||||
signal.data["tag"] = master_tag
|
||||
signal.data["command"] = command
|
||||
|
||||
radio_connection.post_signal(src, signal, AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
|
||||
flick("access_button_cycle", src)
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
|
||||
@@ -38,9 +38,9 @@
|
||||
var/id_tag = signal.data["tag"]
|
||||
if (!id_tag)
|
||||
return
|
||||
if (!signal.data["area"] || signal.data["area"] != area_uid)
|
||||
if (signal.data["area"] != area_uid)
|
||||
return
|
||||
if((!sensors.Find(id_tag) && !vents.Find(id_tag)))
|
||||
if((!sensors[id_tag] && !vents[id_tag]))
|
||||
register_env_machine(id_tag, signal.data["device"])
|
||||
if(signal.data["device"] == "AScr")
|
||||
sensor_information[id_tag] = signal.data
|
||||
@@ -63,9 +63,9 @@
|
||||
send_signal(m_id, "init", new_name )
|
||||
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency, RADIO_TO_AIRALARM)
|
||||
|
||||
|
||||
send_signal(var/target, var/command, var/parameter = null)//sends signal 'command' to 'target'. Returns 0 if no radio connection, 1 otherwise
|
||||
@@ -81,7 +81,7 @@
|
||||
if (parameter)
|
||||
signal.data["parameter"] = parameter
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, RADIO_FROM_AIRALARM)
|
||||
// world << text("Signal [] Broadcasted to []", command, target)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -60,9 +60,9 @@ obj/machinery/air_sensor
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
@@ -176,9 +176,9 @@ obj/machinery/computer/general_air_control
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
@@ -502,9 +502,9 @@ Rate: [volume_rate] L/sec<BR>"}
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[receive_frequency]")
|
||||
radio_controller.remove_object(src, receive_frequency)
|
||||
receive_frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[receive_frequency]")
|
||||
radio_connection = radio_controller.add_object(src, receive_frequency)
|
||||
|
||||
|
||||
attack_hand(mob/user)
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
icon_state = "meter4"
|
||||
|
||||
if(frequency)
|
||||
var/datum/radio_frequency/radio_connection = radio_controller.return_frequency("[frequency]")
|
||||
var/datum/radio_frequency/radio_connection = radio_controller.return_frequency(frequency)
|
||||
|
||||
if(!radio_connection) return
|
||||
|
||||
|
||||
@@ -80,8 +80,8 @@
|
||||
src.cam.c_tag = src.name
|
||||
src.cam.network = "SS13"
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[control_freq]")
|
||||
radio_controller.add_object(src, "[beacon_freq]")
|
||||
radio_controller.add_object(src, control_freq)
|
||||
radio_controller.add_object(src, beacon_freq)
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
@@ -546,7 +546,7 @@ Auto Patrol: []"},
|
||||
// send a radio signal with multiple data key/values
|
||||
proc/post_signal_multiple(var/freq, var/list/keyval)
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -80,8 +80,8 @@
|
||||
|
||||
spawn(5) // must wait for map loading to finish
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[control_freq]")
|
||||
radio_controller.add_object(src, "[beacon_freq]")
|
||||
radio_controller.add_object(src, control_freq)
|
||||
radio_controller.add_object(src, beacon_freq)
|
||||
|
||||
var/count = 0
|
||||
for(var/obj/machinery/bot/mulebot/other in world)
|
||||
@@ -881,7 +881,7 @@
|
||||
if(freq == control_freq && !(wires & wire_remote_tx))
|
||||
return
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -80,8 +80,8 @@
|
||||
src.cam.c_tag = src.name
|
||||
src.cam.network = "SS13"
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[control_freq]")
|
||||
radio_controller.add_object(src, "[beacon_freq]")
|
||||
radio_controller.add_object(src, control_freq)
|
||||
radio_controller.add_object(src, beacon_freq)
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
@@ -525,7 +525,7 @@ Auto Patrol: []"},
|
||||
// send a radio signal with multiple data key/values
|
||||
proc/post_signal_multiple(var/freq, var/list/keyval)
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -77,6 +77,6 @@ obj/machinery/embedded_controller
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
spawn(5) // must wait for map loading to finish
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[freq]")
|
||||
radio_controller.add_object(src, freq)
|
||||
|
||||
// set the transponder codes assoc list from codes_txt
|
||||
proc/set_codes()
|
||||
@@ -84,7 +84,7 @@
|
||||
|
||||
proc/post_signal()
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
..()
|
||||
spawn(5) // must wait for map loading to finish
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[frequency]")
|
||||
radio_controller.add_object(src, frequency)
|
||||
|
||||
|
||||
// timed process
|
||||
|
||||
@@ -145,7 +145,7 @@
|
||||
|
||||
proc/post_status(var/command, var/data1, var/data2)
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("1435")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1435)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
proc/post_signal(var/freq, var/key, var/value, var/key2, var/value2, var/key3, var/value3)
|
||||
|
||||
//world << "Post: [freq]: [key]=[value], [key2]=[value2]"
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("[freq]")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
..()
|
||||
spawn(5)
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[control_freq]")
|
||||
radio_controller.add_object(src, control_freq)
|
||||
|
||||
// receive radio signals
|
||||
// can detect bot status signals
|
||||
@@ -124,8 +124,8 @@
|
||||
..()
|
||||
spawn(5)
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, "[control_freq]")
|
||||
radio_controller.add_object(src, "[beacon_freq]")
|
||||
radio_controller.add_object(src, control_freq)
|
||||
radio_controller.add_object(src, beacon_freq)
|
||||
spawn(10)
|
||||
post_signal(beacon_freq, "findbeacon", "delivery")
|
||||
|
||||
@@ -236,9 +236,9 @@
|
||||
set_frequency(frequency)
|
||||
|
||||
proc/set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency)
|
||||
|
||||
proc/send_signal(message="ACTIVATE")
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
set_frequency(frequency)
|
||||
if(src.secure_frequency)
|
||||
secure_radio_connection = radio_controller.add_object(src, "[secure_frequency]")
|
||||
secure_radio_connection = radio_controller.add_object(src, secure_frequency, RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio
|
||||
var/datum/radio_frequency/radio_connection
|
||||
@@ -21,9 +21,9 @@
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, "[frequency]")
|
||||
radio_controller.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = radio_controller.add_object(src, "[frequency]")
|
||||
radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT)
|
||||
|
||||
/obj/item/device/radio/attack_self(mob/user as mob)
|
||||
user.machine = src
|
||||
@@ -170,7 +170,7 @@ Frequency:
|
||||
var/list/receive = list()
|
||||
|
||||
//for (var/obj/item/device/radio/R in radio_connection.devices)
|
||||
for (var/obj/item/device/radio/R in connection.devices) // Modified for security headset code -- TLE
|
||||
for (var/obj/item/device/radio/R in connection.devices["[RADIO_CHAT]"]) // Modified for security headset code -- TLE
|
||||
if(R.accept_rad(src, message))
|
||||
for (var/i in R.send_hear())
|
||||
if (!(i in receive))
|
||||
|
||||
@@ -215,7 +215,7 @@ var/prison_shuttle_timeleft = 0
|
||||
|
||||
/obj/machinery/computer/prison_shuttle/proc/post_signal(var/command)
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("1311")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1311)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -488,7 +488,7 @@ var/ordernum=0
|
||||
|
||||
/obj/machinery/computer/supplycomp/proc/post_signal(var/command)
|
||||
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency("1435")
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(1435)
|
||||
|
||||
if(!frequency) return
|
||||
|
||||
|
||||
@@ -397,7 +397,7 @@
|
||||
"ahG" = (/obj/landmark{name = "carpspawn"},/turf/space,/area)
|
||||
"ahH" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/lattice,/turf/space,/area)
|
||||
"ahI" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/security/warden)
|
||||
"ahJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/deployable/barrier,/obj/machinery/alarm{icon_state = "alarm0"; dir = 4; pixel_x = -23; pixel_y = 0; frequency = 1445; sensors = list("tox_main_scrub_1" = "Toxin Lab Scrubber #1", "tox_main_scrub_2" = "Toxin Lab Scrubber #2", "tox_storage_scrub" = "Toxin Storage Scrubber", "tox_chem_scrub" = "Toxin Chemical Lab Scrubber")},/turf/simulated/floor,/area/security/warden)
|
||||
"ahJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/deployable/barrier,/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor,/area/security/warden)
|
||||
"ahK" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor,/area/security/hos)
|
||||
"ahL" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/clothing/glasses/thermal,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/security/hos)
|
||||
"ahM" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/stamp/hos,/turf/simulated/floor,/area/security/hos)
|
||||
@@ -2599,7 +2599,7 @@
|
||||
"aXY" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aXZ" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYa" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/camera{c_tag = "Bar North"; dir = 2; network = "SS13"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYb" = (/obj/machinery/alarm{dir = 2; frequency = 1445; icon_state = "alarm0"; pixel_y = 24; sensors = list("tox_main_scrub_1" = "Toxin Lab Scrubber #1", "tox_main_scrub_2" = "Toxin Lab Scrubber #2", "tox_storage_scrub" = "Toxin Storage Scrubber", "tox_chem_scrub" = "Toxin Chemical Lab Scrubber")},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYb" = (/obj/machinery/alarm{dir = 2; pixel_y = 24},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYc" = (/obj/noticeboard{pixel_y = 27},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYd" = (/obj/machinery/power/apc{dir = 4; name = "Bar APC"; pixel_x = 25; pixel_y = 0},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aYe" = (/turf/simulated/wall,/area/crew_quarters/bar)
|
||||
@@ -2674,7 +2674,7 @@
|
||||
"aZv" = (/turf/space,/area/supply/station)
|
||||
"aZw" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/window/reinforced/north,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
||||
"aZx" = (/turf/simulated/floor{tag = "icon-caution_west"; icon_state = "caution_west"},/area/quartermaster/storage)
|
||||
"aZy" = (/obj/machinery/alarm{dir = 2; frequency = 1445; icon_state = "alarm0"; pixel_y = 24; sensors = list("tox_main_scrub_1" = "Toxin Lab Scrubber #1", "tox_main_scrub_2" = "Toxin Lab Scrubber #2", "tox_storage_scrub" = "Toxin Storage Scrubber", "tox_chem_scrub" = "Toxin Chemical Lab Scrubber")},/turf/simulated/floor,/area/quartermaster/storage)
|
||||
"aZy" = (/obj/machinery/alarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/quartermaster/storage)
|
||||
"aZz" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/quartermaster/storage)
|
||||
"aZA" = (/obj/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/quartermaster/storage)
|
||||
"aZB" = (/obj/table{icon_state = "tabledir"; dir = 5},/turf/simulated/floor,/area/quartermaster/office)
|
||||
|
||||
Reference in New Issue
Block a user