mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 03:25:49 +01:00
Atmos now starts with nitrous oxide in storage tank.
Radio was optimized even more. Still have some reserves. Restored admin verb "Radio Report". It shows some signs of errors on the map, but I am too tired to fix it now. Optimized player login (that "400000 calls of new_player/Move" bug). Various optimizations and fixes in radio code. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1046 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -110,7 +110,7 @@
|
||||
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, filter = RADIO_ATMOSIA)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
@@ -129,7 +129,7 @@
|
||||
signal.data["output"] = output_pressure_max
|
||||
signal.data["external"] = external_pressure_bound
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
return 1
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(signal.data["tag"] && (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
@@ -193,6 +193,7 @@
|
||||
|
||||
external_pressure_bound = number
|
||||
|
||||
if(signal.data["tag"])
|
||||
spawn(5) broadcast_status()
|
||||
//if(signal.data["tag"])
|
||||
spawn(5)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
@@ -77,7 +77,7 @@ obj/machinery/atmospherics/binary/pump
|
||||
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, filter = RADIO_ATMOSIA)
|
||||
|
||||
broadcast_status()
|
||||
if(!radio_connection)
|
||||
@@ -92,7 +92,7 @@ obj/machinery/atmospherics/binary/pump
|
||||
signal.data["power"] = on
|
||||
signal.data["target_output"] = target_pressure
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
return 1
|
||||
interact(mob/user as mob)
|
||||
@@ -114,7 +114,7 @@ obj/machinery/atmospherics/binary/pump
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(signal.data["tag"] && (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
@@ -132,8 +132,8 @@ obj/machinery/atmospherics/binary/pump
|
||||
number = min(max(number, 0), ONE_ATMOSPHERE*50)
|
||||
|
||||
target_pressure = number
|
||||
|
||||
broadcast_status()
|
||||
spawn(5)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ obj/machinery/atmospherics/binary/volume_pump
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(signal.data["tag"] && (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
@@ -108,6 +108,6 @@ obj/machinery/atmospherics/binary/volume_pump
|
||||
|
||||
transfer_rate = number
|
||||
|
||||
if(signal.data["tag"])
|
||||
spawn(5) broadcast_status()
|
||||
spawn(5)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
@@ -45,7 +45,7 @@ Filter types:
|
||||
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_ATMOSIA)
|
||||
|
||||
New()
|
||||
..()
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(signal.data["tag"] && (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id) || !signal.data["command"])
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
@@ -110,6 +110,7 @@
|
||||
|
||||
if("inject")
|
||||
spawn inject()
|
||||
return
|
||||
|
||||
if("set_volume_rate")
|
||||
var/number = text2num(signal.data["parameter"])
|
||||
@@ -117,8 +118,14 @@
|
||||
|
||||
volume_rate = number
|
||||
|
||||
if(signal.data["tag"])
|
||||
spawn(5) broadcast_status()
|
||||
if("status")
|
||||
//broadcast_status
|
||||
|
||||
else
|
||||
log_admin("DEBUG \[[world.timeofday]\]: outlet_injector/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
|
||||
return
|
||||
spawn(5)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
|
||||
hide(var/i) //to make the little pipe section invisible, the icon changes.
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
level = 1
|
||||
var/area_uid
|
||||
var/id = null
|
||||
var/id_tag = null
|
||||
|
||||
var/on = 0
|
||||
var/pump_direction = 1 //0 = siphoning, 1 = releasing
|
||||
@@ -33,7 +33,9 @@
|
||||
if (A.master)
|
||||
A = A.master
|
||||
area_uid = A.uid
|
||||
id = "\ref[src]"
|
||||
if (!id_tag)
|
||||
assign_uid()
|
||||
id_tag = num2text(uid)
|
||||
..()
|
||||
|
||||
high_volume
|
||||
@@ -127,15 +129,17 @@
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
signal.data["area"] = src.area_uid
|
||||
signal.data["tag"] = src.id
|
||||
signal.data["device"] = "AVP"
|
||||
signal.data["power"] = on?("on"):("off")
|
||||
signal.data["direction"] = pump_direction?("release"):("siphon")
|
||||
signal.data["checks"] = pressure_checks
|
||||
signal.data["internal"] = internal_pressure_bound
|
||||
signal.data["external"] = external_pressure_bound
|
||||
signal.data["timestamp"] = air_master.current_cycle
|
||||
signal.data = list(
|
||||
"area" = src.area_uid,
|
||||
"tag" = src.id_tag,
|
||||
"device" = "AVP",
|
||||
"power" = on?("on"):("off"),
|
||||
"direction" = pump_direction?("release"):("siphon"),
|
||||
"checks" = pressure_checks,
|
||||
"internal" = internal_pressure_bound,
|
||||
"external" = external_pressure_bound,
|
||||
"timestamp" = air_master.current_cycle,
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||
|
||||
@@ -153,7 +157,8 @@
|
||||
update_icon()
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
//log_admin("DEBUG \[[world.timeofday]\]: /obj/machinery/atmospherics/unary/vent_pump/receive_signal([signal.debug_print()])")
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || !signal.data["command"])
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
@@ -203,11 +208,17 @@
|
||||
|
||||
if("init")
|
||||
name = signal.data["parameter"]
|
||||
return
|
||||
|
||||
if(signal.data["tag"])
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
if("status")
|
||||
//broadcast_status
|
||||
|
||||
else
|
||||
log_admin("DEBUG \[[world.timeofday]\]: vent_pump/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
|
||||
return
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
hide(var/i) //to make the little pipe section invisible, the icon changes.
|
||||
|
||||
@@ -28,7 +28,9 @@
|
||||
if (A.master)
|
||||
A = A.master
|
||||
area_uid = A.uid
|
||||
id_tag = "\ref[src]"
|
||||
if (!id_tag)
|
||||
assign_uid()
|
||||
id_tag = num2text(uid)
|
||||
..()
|
||||
|
||||
update_icon()
|
||||
@@ -54,16 +56,18 @@
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
signal.data["area"] = area_uid
|
||||
signal.data["tag"] = id_tag
|
||||
signal.data["device"] = "AScr"
|
||||
signal.data["timestamp"] = air_master.current_cycle
|
||||
signal.data["on"] = on
|
||||
signal.data["scrubbing"] = scrubbing
|
||||
signal.data["panic"] = panic
|
||||
signal.data["filter_co2"] = scrub_CO2
|
||||
signal.data["filter_toxins"] = scrub_Toxins
|
||||
signal.data["filter_n2o"] = scrub_N2O
|
||||
signal.data = list(
|
||||
"area" = area_uid,
|
||||
"tag" = id_tag,
|
||||
"device" = "AScr",
|
||||
"timestamp" = air_master.current_cycle,
|
||||
"on" = on,
|
||||
"scrubbing" = scrubbing,
|
||||
"panic" = panic,
|
||||
"filter_co2" = scrub_CO2,
|
||||
"filter_toxins" = scrub_Toxins,
|
||||
"filter_n2o" = scrub_N2O,
|
||||
)
|
||||
radio_connection.post_signal(src, signal, radio_filter_out)
|
||||
|
||||
return 1
|
||||
@@ -154,8 +158,8 @@
|
||||
*/
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id_tag))
|
||||
return ..()
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id_tag) || !signal.data["command"])
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
if("toggle_power")
|
||||
@@ -179,10 +183,17 @@
|
||||
volume_rate = initial(volume_rate)
|
||||
if("init")
|
||||
name = signal.data["parameter"]
|
||||
if(signal.data["tag"])
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if("status")
|
||||
//broadcast_status
|
||||
|
||||
else
|
||||
log_admin("DEBUG \[[world.timeofday]\]: vent_scrubber/receive_signal: unknown command \"[signal.data["command"]]\"\n[signal.debug_print()]")
|
||||
return
|
||||
spawn(2)
|
||||
broadcast_status()
|
||||
update_icon()
|
||||
return
|
||||
|
||||
power_change()
|
||||
|
||||
@@ -265,7 +265,7 @@ obj/machinery/atmospherics/valve
|
||||
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_ATMOSIA)
|
||||
|
||||
var/frequency = 0
|
||||
var/id = null
|
||||
@@ -277,7 +277,7 @@ obj/machinery/atmospherics/valve
|
||||
set_frequency(frequency)
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
if(signal.data["tag"] && (signal.data["tag"] != id))
|
||||
if(!signal.data["tag"] || (signal.data["tag"] != id))
|
||||
return 0
|
||||
|
||||
switch(signal.data["command"])
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
active_power_usage = 0
|
||||
power_channel = EQUIP
|
||||
//EQUIP,ENVIRON or LIGHT
|
||||
uid
|
||||
global
|
||||
gl_uid = 1
|
||||
|
||||
/obj/machinery/alarm
|
||||
name = "alarm"
|
||||
|
||||
@@ -215,17 +215,13 @@
|
||||
// called when power status changes
|
||||
|
||||
/area/proc/power_change()
|
||||
|
||||
|
||||
for(var/area/RA in related)
|
||||
for(var/obj/machinery/M in RA) // for each machine in the area
|
||||
M.power_change() // reverify power status (to update icons etc.)
|
||||
|
||||
RA.updateicon()
|
||||
|
||||
if (fire || eject || party)
|
||||
RA.updateicon()
|
||||
|
||||
/area/proc/usage(var/chan)
|
||||
|
||||
var/used = 0
|
||||
switch(chan)
|
||||
if(LIGHT)
|
||||
|
||||
+53
-20
@@ -5,7 +5,7 @@
|
||||
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)
|
||||
add_object(obj/device as obj, var/new_frequency as num, var/filter as text|null = null)
|
||||
Adds listening object.
|
||||
parameters:
|
||||
device - device receiving signals, must have proc receive_signal (see description below).
|
||||
@@ -30,7 +30,7 @@
|
||||
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)
|
||||
post_signal(obj/source as obj|null, datum/signal/signal, var/filter as text|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.
|
||||
@@ -114,16 +114,21 @@ var/const/SYND_FREQ = 1213
|
||||
#define TRANSMISSION_RADIO 1
|
||||
|
||||
/* filters */
|
||||
var/const/RADIO_TO_AIRALARM = 1
|
||||
var/const/RADIO_FROM_AIRALARM = 2
|
||||
var/const/RADIO_CHAT = 3
|
||||
var/const/RADIO_TO_AIRALARM = "1"
|
||||
var/const/RADIO_FROM_AIRALARM = "2"
|
||||
var/const/RADIO_CHAT = "3"
|
||||
var/const/RADIO_ATMOSIA = "4"
|
||||
var/const/RADIO_NAVBEACONS = "5"
|
||||
var/const/RADIO_AIRLOCK = "6"
|
||||
var/const/RADIO_SECBOT = "7"
|
||||
var/const/RADIO_MULEBOT = "8"
|
||||
|
||||
var/global/datum/controller/radio/radio_controller
|
||||
|
||||
datum/controller/radio
|
||||
var/list/datum/radio_frequency/frequencies = list()
|
||||
|
||||
proc/add_object(obj/device as obj, var/new_frequency as num, var/filter = null as num|null)
|
||||
proc/add_object(obj/device as obj, var/new_frequency as num, var/filter = null as text|null)
|
||||
var/f_text = num2text(new_frequency)
|
||||
var/datum/radio_frequency/frequency = frequencies[f_text]
|
||||
|
||||
@@ -157,19 +162,19 @@ datum/radio_frequency
|
||||
var/list/list/obj/devices = list()
|
||||
|
||||
proc
|
||||
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
|
||||
post_signal(obj/source as obj|null, datum/signal/signal, var/filter = null as text|null, var/range = null as num|null)
|
||||
//log_admin("DEBUG \[[world.timeofday]\]: post_signal {source=\"[source]\", [signal.debug_print()], filter=[filter]}")
|
||||
// var/N_f=0
|
||||
// var/N_nf=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
|
||||
if (filter)
|
||||
var/list/obj/devices_line = devices[filter_str]
|
||||
for(var/obj/device in devices_line)
|
||||
if (filter) //here goes some copypasta. It is for optimisation. -rastaf0
|
||||
for(var/obj/device in devices[filter])
|
||||
if(device == source)
|
||||
continue
|
||||
if(range)
|
||||
@@ -180,6 +185,18 @@ datum/radio_frequency
|
||||
if(start_point.z!=end_point.z || get_dist(start_point, end_point) > range)
|
||||
continue
|
||||
device.receive_signal(signal, TRANSMISSION_RADIO, frequency)
|
||||
for(var/obj/device in devices["_default"])
|
||||
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_f++
|
||||
else
|
||||
for (var/next_filter in devices)
|
||||
// var/list/obj/DDD = devices[next_filter]
|
||||
@@ -195,20 +212,21 @@ datum/radio_frequency
|
||||
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]")
|
||||
// N_nf++
|
||||
|
||||
// log_admin("DEBUG: post_signal(source=[source] ([source.x], [source.y], [source.z]),filter=[filter]) frequency=[frequency], N_f=[N_f], N_nf=[N_nf]")
|
||||
|
||||
|
||||
del(signal)
|
||||
|
||||
add_listener(obj/device as obj, var/filter as num|null)
|
||||
add_listener(obj/device as obj, var/filter as text|null)
|
||||
if (!filter)
|
||||
filter = "_default"
|
||||
//log_admin("add_listener(device=[device],filter=[filter]) frequency=[frequency]")
|
||||
var/filter_str = num2text(filter)
|
||||
var/list/obj/devices_line = devices[filter_str]
|
||||
var/list/obj/devices_line = devices[filter]
|
||||
if (!devices_line)
|
||||
devices_line = new
|
||||
devices[filter_str] = devices_line
|
||||
devices[filter] = devices_line
|
||||
devices_line+=device
|
||||
// var/list/obj/devices_line___ = devices[filter_str]
|
||||
// var/l = devices_line___.len
|
||||
@@ -217,7 +235,14 @@ datum/radio_frequency
|
||||
|
||||
remove_listener(obj/device)
|
||||
for (var/devices_filter in devices)
|
||||
devices[devices_filter]-=device
|
||||
var/list/devices_line = devices[devices_filter]
|
||||
devices_line-=device
|
||||
while (null in devices_line)
|
||||
devices_line -= null
|
||||
if (devices_line.len==0)
|
||||
devices -= devices_filter
|
||||
del(devices_line)
|
||||
|
||||
|
||||
obj/proc
|
||||
receive_signal(datum/signal/signal, receive_method, receive_param)
|
||||
@@ -237,4 +262,12 @@ datum/signal
|
||||
source = model.source
|
||||
transmission_method = model.transmission_method
|
||||
data = model.data
|
||||
encryption = model.encryption
|
||||
encryption = model.encryption
|
||||
|
||||
proc/debug_print()
|
||||
if (source)
|
||||
. = "signal = {source = '[source]' ([source:x],[source:y],[source:z])\n"
|
||||
else
|
||||
. = "signal = {source = '[source]' ()\n"
|
||||
for (var/i in data)
|
||||
. += "data\[\"[i]\"\] = \"[data[i]]\"\n"
|
||||
|
||||
@@ -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, range = AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
|
||||
|
||||
open(surpress_send)
|
||||
. = ..()
|
||||
@@ -74,7 +74,7 @@ obj/machinery/door/airlock
|
||||
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, RADIO_AIRLOCK)
|
||||
|
||||
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, range = AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
|
||||
flick("airlock_sensor_cycle", src)
|
||||
|
||||
process()
|
||||
@@ -136,7 +136,7 @@ obj/machinery/airlock_sensor
|
||||
|
||||
signal.data["pressure"] = num2text(pressure)
|
||||
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
|
||||
|
||||
update_icon()
|
||||
|
||||
@@ -144,7 +144,7 @@ obj/machinery/airlock_sensor
|
||||
set_frequency(new_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_AIRLOCK)
|
||||
|
||||
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, range = AIRLOCK_CONTROL_RANGE)
|
||||
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
|
||||
flick("access_button_cycle", src)
|
||||
|
||||
proc
|
||||
set_frequency(new_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_AIRLOCK)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
return
|
||||
if (signal.data["area"] != area_uid)
|
||||
return
|
||||
if((!sensors[id_tag] && !vents[id_tag]))
|
||||
if(!(id_tag in sensors) && !(id_tag in vents))
|
||||
register_env_machine(id_tag, signal.data["device"])
|
||||
if(signal.data["device"] == "AScr")
|
||||
sensor_information[id_tag] = signal.data
|
||||
|
||||
@@ -55,14 +55,14 @@ obj/machinery/air_sensor
|
||||
signal.data["toxins"] = 0
|
||||
signal.data["nitrogen"] = 0
|
||||
signal.data["carbon_dioxide"] = 0
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
|
||||
proc
|
||||
set_frequency(new_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_ATMOSIA)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
@@ -178,7 +178,7 @@ obj/machinery/computer/general_air_control
|
||||
set_frequency(new_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_ATMOSIA)
|
||||
|
||||
initialize()
|
||||
set_frequency(frequency)
|
||||
@@ -254,9 +254,9 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = input_tag
|
||||
signal.data["status"] = 1
|
||||
signal.data["command"] = "status"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["in_toggle_injector"])
|
||||
input_info = null
|
||||
@@ -270,7 +270,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
signal.data["tag"] = input_tag
|
||||
signal.data["command"] = "power_toggle"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["out_refresh_status"])
|
||||
output_info = null
|
||||
@@ -282,9 +282,9 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = output_tag
|
||||
signal.data["status"] = 1
|
||||
signal.data["command"] = "status"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["out_toggle_power"])
|
||||
output_info = null
|
||||
@@ -298,7 +298,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
signal.data["tag"] = output_tag
|
||||
signal.data["command"] = "power_toggle"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["out_set_pressure"])
|
||||
output_info = null
|
||||
@@ -313,7 +313,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
signal.data["command"] = "set_internal_pressure"
|
||||
signal.data["parameter"] = "[pressure_setting]"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["adj_pressure"])
|
||||
var/change = text2num(href_list["adj_pressure"])
|
||||
@@ -393,7 +393,7 @@ Max Output Pressure: [output_pressure] kPa<BR>"}
|
||||
else
|
||||
signal.data["command"] = "power_off"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
..()
|
||||
|
||||
@@ -443,9 +443,9 @@ Rate: [volume_rate] L/sec<BR>"}
|
||||
signal.source = src
|
||||
|
||||
signal.data["tag"] = device_tag
|
||||
signal.data["status"] = 1
|
||||
signal.data["command"] = "status"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["toggle_automation"])
|
||||
automation = !automation
|
||||
@@ -462,7 +462,7 @@ Rate: [volume_rate] L/sec<BR>"}
|
||||
signal.data["tag"] = device_tag
|
||||
signal.data["command"] = "power_toggle"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["injection"])
|
||||
if(!radio_connection)
|
||||
@@ -475,7 +475,7 @@ Rate: [volume_rate] L/sec<BR>"}
|
||||
signal.data["tag"] = device_tag
|
||||
signal.data["command"] = "inject"
|
||||
|
||||
radio_connection.post_signal(src, signal)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
/obj/machinery/computer/atmos_alert
|
||||
var/datum/radio_frequency/radio_connection
|
||||
@@ -504,7 +504,7 @@ Rate: [volume_rate] L/sec<BR>"}
|
||||
set_frequency(new_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, RADIO_ATMOSIA)
|
||||
|
||||
|
||||
attack_hand(mob/user)
|
||||
|
||||
@@ -277,6 +277,20 @@ Release Pressure: <A href='?src=\ref[src];pressure_adj=-1000'>-</A> <A href='?sr
|
||||
src.update_icon()
|
||||
return 1
|
||||
|
||||
//Dirty way to fill room with gas. However it is a bit easier to do than creating some floor/engine/n2o -rastaf0
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent/roomfiller/New()
|
||||
..()
|
||||
var/datum/gas/sleeping_agent/trace_gas = air_contents.trace_gases[1]
|
||||
trace_gas.moles = 9*4000
|
||||
spawn(10)
|
||||
var/turf/simulated/location = src.loc
|
||||
if (istype(src.loc))
|
||||
while (!location.air)
|
||||
sleep(10)
|
||||
location.assume_air(air_contents)
|
||||
air_contents = new
|
||||
return 1
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/New()
|
||||
|
||||
..()
|
||||
|
||||
@@ -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, filter = RADIO_SECBOT)
|
||||
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
@@ -553,24 +553,25 @@ Auto Patrol: []"},
|
||||
var/datum/signal/signal = new()
|
||||
signal.source = src
|
||||
signal.transmission_method = 1
|
||||
for(var/key in keyval)
|
||||
signal.data[key] = keyval[key]
|
||||
//for(var/key in keyval)
|
||||
// signal.data[key] = keyval[key]
|
||||
//world << "sent [key],[keyval[key]] on [freq]"
|
||||
|
||||
signal.data = keyval
|
||||
if (signal.data["findbeacon"])
|
||||
frequency.post_signal(src, signal, null)
|
||||
frequency.post_signal(src, signal, filter = RADIO_NAVBEACONS)
|
||||
else if (signal.data["type"] == "secbot")
|
||||
frequency.post_signal(src, signal, null)
|
||||
frequency.post_signal(src, signal, filter = RADIO_SECBOT)
|
||||
else
|
||||
frequency.post_signal(src, signal)
|
||||
|
||||
// signals bot status etc. to controller
|
||||
proc/send_status()
|
||||
var/list/kv = new()
|
||||
kv["type"] = "secbot"
|
||||
kv["name"] = name
|
||||
kv["loca"] = loc.loc // area
|
||||
kv["mode"] = mode
|
||||
var/list/kv = list(
|
||||
"type" = "secbot",
|
||||
"name" = name,
|
||||
"loca" = loc.loc, // area
|
||||
"mode" = mode,
|
||||
)
|
||||
post_signal_multiple(control_freq, kv)
|
||||
|
||||
|
||||
|
||||
@@ -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, filter = RADIO_MULEBOT)
|
||||
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
|
||||
var/count = 0
|
||||
for(var/obj/machinery/bot/mulebot/other in world)
|
||||
@@ -890,24 +890,31 @@
|
||||
var/datum/signal/signal = new()
|
||||
signal.source = src
|
||||
signal.transmission_method = 1
|
||||
for(var/key in keyval)
|
||||
signal.data[key] = keyval[key]
|
||||
//for(var/key in keyval)
|
||||
// signal.data[key] = keyval[key]
|
||||
signal.data = keyval
|
||||
//world << "sent [key],[keyval[key]] on [freq]"
|
||||
frequency.post_signal(src, signal)
|
||||
if (signal.data["findbeacon"])
|
||||
frequency.post_signal(src, signal, filter = RADIO_NAVBEACONS)
|
||||
else if (signal.data["type"] == "mulebot")
|
||||
frequency.post_signal(src, signal, filter = RADIO_MULEBOT)
|
||||
else
|
||||
frequency.post_signal(src, signal)
|
||||
|
||||
// signals bot status etc. to controller
|
||||
proc/send_status()
|
||||
var/list/kv = new()
|
||||
kv["type"] = "mulebot"
|
||||
kv["name"] = suffix
|
||||
kv["loca"] = loc.loc // area
|
||||
kv["mode"] = mode
|
||||
kv["powr"] = cell ? cell.percent() : 0
|
||||
kv["dest"] = destination
|
||||
kv["home"] = home_destination
|
||||
kv["load"] = load
|
||||
kv["retn"] = auto_return
|
||||
kv["pick"] = auto_pickup
|
||||
var/list/kv = list(
|
||||
"type" = "mulebot",
|
||||
"name" = suffix,
|
||||
"loca" = loc.loc, // area
|
||||
"mode" = mode,
|
||||
"powr" = (cell ? cell.percent() : 0),
|
||||
"dest" = destination,
|
||||
"home" = home_destination,
|
||||
"load" = load,
|
||||
"retn" = auto_return,
|
||||
"pick" = auto_pickup,
|
||||
)
|
||||
post_signal_multiple(control_freq, kv)
|
||||
|
||||
|
||||
|
||||
@@ -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, filter = RADIO_SECBOT)
|
||||
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
|
||||
examine()
|
||||
set src in view()
|
||||
@@ -445,7 +445,7 @@ Auto Patrol: []"},
|
||||
// used for beacon reception
|
||||
|
||||
receive_signal(datum/signal/signal)
|
||||
|
||||
//log_admin("DEBUG \[[world.timeofday]\]: /obj/machinery/bot/secbot/receive_signal([signal.debug_print()])")
|
||||
if(!on)
|
||||
return
|
||||
|
||||
@@ -532,10 +532,16 @@ Auto Patrol: []"},
|
||||
var/datum/signal/signal = new()
|
||||
signal.source = src
|
||||
signal.transmission_method = 1
|
||||
for(var/key in keyval)
|
||||
signal.data[key] = keyval[key]
|
||||
//for(var/key in keyval)
|
||||
// signal.data[key] = keyval[key]
|
||||
signal.data = keyval
|
||||
//world << "sent [key],[keyval[key]] on [freq]"
|
||||
frequency.post_signal(src, signal)
|
||||
if (signal.data["findbeacon"])
|
||||
frequency.post_signal(src, signal, filter = RADIO_NAVBEACONS)
|
||||
else if (signal.data["type"] == "secbot")
|
||||
frequency.post_signal(src, signal, filter = RADIO_SECBOT)
|
||||
else
|
||||
frequency.post_signal(src, signal)
|
||||
|
||||
// signals bot status etc. to controller
|
||||
proc/send_status()
|
||||
|
||||
@@ -97,4 +97,8 @@
|
||||
return 1
|
||||
|
||||
src.add_fingerprint(user)
|
||||
return 0
|
||||
return 0
|
||||
|
||||
/obj/machinery/proc/assign_uid()
|
||||
uid = gl_uid
|
||||
gl_uid++
|
||||
|
||||
@@ -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, RADIO_NAVBEACONS)
|
||||
|
||||
// set the transponder codes assoc list from codes_txt
|
||||
proc/set_codes()
|
||||
@@ -96,7 +96,7 @@
|
||||
for(var/key in codes)
|
||||
signal.data[key] = codes[key]
|
||||
|
||||
frequency.post_signal(src, signal)
|
||||
frequency.post_signal(src, signal, filter = RADIO_NAVBEACONS)
|
||||
|
||||
|
||||
attackby(var/obj/item/I, var/mob/user)
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
if (istype(loc.loc, /obj/item/device/pda))
|
||||
hostpda = loc.loc
|
||||
|
||||
proc/post_signal(var/freq, var/key, var/value, var/key2, var/value2, var/key3, var/value3)
|
||||
proc/post_signal(var/freq, var/key, var/value, var/key2, var/value2, var/key3, var/value3, s_filter)
|
||||
|
||||
//world << "Post: [freq]: [key]=[value], [key2]=[value2]"
|
||||
var/datum/radio_frequency/frequency = radio_controller.return_frequency(freq)
|
||||
@@ -29,7 +29,7 @@
|
||||
if(key3)
|
||||
signal.data[key3] = value3
|
||||
|
||||
frequency.post_signal(src, signal)
|
||||
frequency.post_signal(src, signal, filter = s_filter)
|
||||
|
||||
proc/print_to_host(var/text)
|
||||
if (isnull(src.hostpda))
|
||||
@@ -56,7 +56,7 @@
|
||||
..()
|
||||
spawn(5)
|
||||
if(radio_controller)
|
||||
radio_controller.add_object(src, control_freq)
|
||||
radio_controller.add_object(src, control_freq, filter = RADIO_SECBOT)
|
||||
|
||||
// receive radio signals
|
||||
// can detect bot status signals
|
||||
@@ -91,23 +91,23 @@
|
||||
|
||||
if("control")
|
||||
active = locate(href_list["bot"])
|
||||
post_signal(control_freq, "command", "bot_status", "active", active)
|
||||
post_signal(control_freq, "command", "bot_status", "active", active, s_filter = RADIO_SECBOT)
|
||||
|
||||
if("scanbots") // find all bots
|
||||
botlist = null
|
||||
post_signal(control_freq, "command", "bot_status")
|
||||
post_signal(control_freq, "command", "bot_status", s_filter = RADIO_SECBOT)
|
||||
|
||||
if("botlist")
|
||||
active = null
|
||||
|
||||
|
||||
if("stop", "go")
|
||||
post_signal(control_freq, "command", href_list["op"], "active", active)
|
||||
post_signal(control_freq, "command", "bot_status", "active", active)
|
||||
post_signal(control_freq, "command", href_list["op"], "active", active, s_filter = RADIO_SECBOT)
|
||||
post_signal(control_freq, "command", "bot_status", "active", active, s_filter = RADIO_SECBOT)
|
||||
|
||||
if("summon")
|
||||
post_signal(control_freq, "command", "summon", "active", active, "target", get_turf(PDA) )
|
||||
post_signal(control_freq, "command", "bot_status", "active", active)
|
||||
post_signal(control_freq, "command", "summon", "active", active, "target", get_turf(PDA) , s_filter = RADIO_SECBOT)
|
||||
post_signal(control_freq, "command", "bot_status", "active", active, s_filter = RADIO_SECBOT)
|
||||
PDA.cartridge.unlock()
|
||||
|
||||
/obj/item/radio/integrated/mule
|
||||
@@ -124,10 +124,10 @@
|
||||
..()
|
||||
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, filter = RADIO_MULEBOT)
|
||||
radio_controller.add_object(src, beacon_freq, filter = RADIO_NAVBEACONS)
|
||||
spawn(10)
|
||||
post_signal(beacon_freq, "findbeacon", "delivery")
|
||||
post_signal(beacon_freq, "findbeacon", "delivery", filter = RADIO_NAVBEACONS)
|
||||
|
||||
// receive radio signals
|
||||
// can detect bot status signals
|
||||
@@ -172,43 +172,43 @@
|
||||
|
||||
if("control")
|
||||
active = locate(href_list["bot"])
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
|
||||
if("scanbots") // find all bots
|
||||
botlist = null
|
||||
post_signal(control_freq, "command", "bot_status")
|
||||
post_signal(control_freq, "command", "bot_status", s_filter = RADIO_MULEBOT)
|
||||
|
||||
if("botlist")
|
||||
active = null
|
||||
|
||||
|
||||
if("unload")
|
||||
post_signal(control_freq, cmd, "unload")
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "unload", s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
if("setdest")
|
||||
if(beacons)
|
||||
var/dest = input("Select Bot Destination", "Mulebot [active.suffix] Interlink", active.destination) as null|anything in beacons
|
||||
if(dest)
|
||||
post_signal(control_freq, cmd, "target", "destination", dest)
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "target", "destination", dest, s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
|
||||
if("retoff")
|
||||
post_signal(control_freq, cmd, "autoret", "value", 0)
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "autoret", "value", 0, s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
if("reton")
|
||||
post_signal(control_freq, cmd, "autoret", "value", 1)
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "autoret", "value", 1, s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
|
||||
if("pickoff")
|
||||
post_signal(control_freq, cmd, "autopick", "value", 0)
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "autopick", "value", 0, s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
if("pickon")
|
||||
post_signal(control_freq, cmd, "autopick", "value", 1)
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, "autopick", "value", 1, s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
|
||||
if("stop", "go", "home")
|
||||
post_signal(control_freq, cmd, href_list["op"])
|
||||
post_signal(control_freq, cmd, "bot_status")
|
||||
post_signal(control_freq, cmd, href_list["op"], s_filter = RADIO_MULEBOT)
|
||||
post_signal(control_freq, cmd, "bot_status", s_filter = RADIO_MULEBOT)
|
||||
PDA.cartridge.unlock()
|
||||
|
||||
|
||||
|
||||
@@ -15,33 +15,11 @@
|
||||
|
||||
for (var/ch_name in channels)
|
||||
secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT)
|
||||
/*
|
||||
if(src.secure_frequency)
|
||||
secure_radio_connection = radio_controller.add_object(src, secure_frequency, RADIO_CHAT)
|
||||
if(src.channels.Find("Medical"))
|
||||
med_connection = radio_controller.add_object(src, med_freq, RADIO_CHAT)
|
||||
if(src.channels.Find("Science"))
|
||||
sci_connection = radio_controller.add_object(src, sci_freq, RADIO_CHAT)
|
||||
if(src.channels.Find("Security"))
|
||||
sec_connection = radio_controller.add_object(src, sec_freq, RADIO_CHAT)
|
||||
if(src.channels.Find("Command"))
|
||||
com_connection = radio_controller.add_object(src, com_freq, RADIO_CHAT)
|
||||
if(src.channels.Find("Engineer"))
|
||||
eng_connection = radio_controller.add_object(src, eng_freq, RADIO_CHAT)*/
|
||||
|
||||
/obj/item/device/radio
|
||||
var
|
||||
datum/radio_frequency/radio_connection
|
||||
|
||||
list/datum/radio_frequency/secure_radio_connections = new
|
||||
/*
|
||||
datum/radio_frequency/secure_radio_connection // Shared by Mport2004 for the security headsets -- TLE
|
||||
datum/radio_frequency/med_connection
|
||||
datum/radio_frequency/sci_connection
|
||||
datum/radio_frequency/com_connection
|
||||
datum/radio_frequency/eng_connection
|
||||
datum/radio_frequency/sec_connection*/
|
||||
|
||||
proc
|
||||
set_frequency(new_frequency)
|
||||
radio_controller.remove_object(src, frequency)
|
||||
|
||||
@@ -116,18 +116,34 @@
|
||||
set category = "Debug"
|
||||
set name = "Radio report"
|
||||
|
||||
var/output = "<b>Radio Report</b><hr>"/*
|
||||
var/filters = list(
|
||||
"1" = "RADIO_TO_AIRALARM",
|
||||
"2" = "RADIO_FROM_AIRALARM",
|
||||
"3" = "RADIO_CHAT",
|
||||
"4" = "RADIO_ATMOSIA",
|
||||
"5" = "RADIO_NAVBEACONS",
|
||||
"6" = "RADIO_AIRLOCK",
|
||||
"7" = "RADIO_SECBOT",
|
||||
"8" = "RADIO_MULEBOT",
|
||||
"_default" = "NO_FILTER"
|
||||
)
|
||||
var/output = "<b>Radio Report</b><hr>"
|
||||
for (var/fq in radio_controller.frequencies)
|
||||
output += "<b>Freq: [fq]</b><br>"
|
||||
var/list/datum/radio_frequency/fqs = radio_controller.frequencies[fq]
|
||||
output += " Voice: [fqs.voice.len]<br>"
|
||||
output += " Broadcast: [fqs.broadcast.len]<br>"
|
||||
output += " Tags: <br>"
|
||||
for (var/tag in fqs.tags)
|
||||
var/list/ctag = fqs.tags[tag]
|
||||
output += " [tag]: [ctag.len]<br>"
|
||||
output += " Groups: <br>"
|
||||
for (var/group in fqs.groups)
|
||||
var/list/cgroup = fqs.groups[group]
|
||||
output += " [group]: [cgroup.len]<br>"*/
|
||||
if (!fqs)
|
||||
output += " <b>ERROR</b><br>"
|
||||
continue
|
||||
for (var/filter in fqs.devices)
|
||||
var/list/f = fqs.devices[filter]
|
||||
if (!f)
|
||||
output += " [filters[filter]]: ERROR<br>"
|
||||
continue
|
||||
output += " [filters[filter]]: [f.len]<br>"
|
||||
for (var/device in f)
|
||||
if (isobj(device))
|
||||
output += " [device] ([device:x],[device:y],[device:z] in area [get_area(device:loc)])<br>"
|
||||
else
|
||||
output += " [device]<br>"
|
||||
|
||||
usr << browse(output,"window=radioreport")
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
mob/new_player
|
||||
anchored = 1
|
||||
|
||||
var/datum/preferences/preferences
|
||||
var/ready = 0
|
||||
var/spawning = 0
|
||||
@@ -14,7 +12,8 @@ mob/new_player
|
||||
anchored = 1 // don't get pushed around
|
||||
|
||||
Login()
|
||||
..()
|
||||
//Next line is commented out because seem it does nothing helpful and on the other hand it calls mob/new_player/Move() to EACH turf in the world. --rastaf0
|
||||
//..()
|
||||
|
||||
if(!preferences)
|
||||
preferences = new
|
||||
|
||||
Reference in New Issue
Block a user