From 36b4af57f20e1caf4687e83ca1ffad2d4c8a4157 Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 28 Feb 2014 04:40:36 -0500 Subject: [PATCH 1/4] made module contain channel list --- code/modules/mob/living/silicon/robot/robot.dm | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 5b417e4024..5e186f269a 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -155,7 +155,6 @@ modtype = input("Please, select a module!", "Robot", null, null) in modules var/module_sprites[0] //Used to store the associations between sprite names and sprite index. - var/channels = list() if(module) return @@ -177,7 +176,7 @@ if("Miner") module = new /obj/item/weapon/robot_module/miner(src) - channels = list("Supply" = 1) + module.channels = list("Supply" = 1) if(camera && "Robots" in camera.network) camera.network.Add("MINE") module_sprites["Basic"] = "Miner_old" @@ -186,7 +185,7 @@ if("Medical") module = new /obj/item/weapon/robot_module/medical(src) - channels = list("Medical" = 1) + module.channels = list("Medical" = 1) if(camera && "Robots" in camera.network) camera.network.Add("Medical") module_sprites["Basic"] = "Medbot" @@ -196,7 +195,7 @@ if("Security") module = new /obj/item/weapon/robot_module/security(src) - channels = list("Security" = 1) + module.channels = list("Security" = 1) module_sprites["Basic"] = "secborg" module_sprites["Red Knight"] = "Security" module_sprites["Black Knight"] = "securityrobot" @@ -204,7 +203,7 @@ if("Engineering") module = new /obj/item/weapon/robot_module/engineering(src) - channels = list("Engineering" = 1) + module.channels = list("Engineering" = 1) if(camera && "Robots" in camera.network) camera.network.Add("Engineering") module_sprites["Basic"] = "Engineering" @@ -220,7 +219,7 @@ if("Combat") module = new /obj/item/weapon/robot_module/combat(src) module_sprites["Combat Android"] = "droid-combat" - channels = list("Security" = 1) + module.channels = list("Security" = 1) //Custom_sprite check and entry if (custom_sprite == 1) @@ -234,7 +233,7 @@ status_flags &= ~CANPUSH choose_icon(6,module_sprites) - radio.config(channels) + radio.config(module.channels) /mob/living/silicon/robot/proc/updatename(var/prefix as text) if(prefix) @@ -1280,4 +1279,4 @@ triesleft = 0 return else - src << "Your icon has been set. You now require a module reset to change it." \ No newline at end of file + src << "Your icon has been set. You now require a module reset to change it." From 96dc185fdecf88a3cd2235e16ae07f63076b007c Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 28 Feb 2014 04:42:27 -0500 Subject: [PATCH 2/4] Update robot_modules.dm --- code/modules/mob/living/silicon/robot/robot_modules.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index df259c2197..2c6973595e 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -5,7 +5,7 @@ w_class = 100.0 item_state = "electronic" flags = FPRINT|TABLEPASS | CONDUCT - + var/channels = list() var/list/modules = list() var/obj/item/emag = null var/obj/item/borg/upgrade/jetpack = null @@ -232,4 +232,4 @@ src.modules += new /obj/item/borg/combat/mobility(src) src.modules += new /obj/item/weapon/wrench(src) //Is a combat android really going to be stopped by a chair? src.emag = new /obj/item/weapon/gun/energy/lasercannon/cyborg(src) - return \ No newline at end of file + return From a0bb14f76edc46715b0a170eb4a9e5fe30db1959 Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 28 Feb 2014 04:58:49 -0500 Subject: [PATCH 3/4] borg radio fix --- code/game/objects/items/devices/radio/radio.dm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 45420280f6..97ac8dc0fd 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -744,7 +744,9 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use if(keyslot.syndie) src.syndie = 1 - + var/mob/living/silicon/robot/Ro = usr + if(Ro.module) + src.config(Ro.module.channels) for (var/ch_name in channels) if(!radio_controller) @@ -761,12 +763,16 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use if(usr.stat || !on) return if (href_list["mode"]) - subspace_transmission = !subspace_transmission - if(!subspace_transmission)//Simple as fuck, clears the channel list to prevent talking/listening over them if subspace transmission is disabled + if(subspace_transmission != 1) + subspace_transmission = 1 + usr << "Subspace Transmission is disabled" + else + subspace_transmission = 0 + usr << "Subspace Transmission is enabled" + if(subspace_transmission == 1)//Simple as fuck, clears the channel list to prevent talking/listening over them if subspace transmission is disabled channels = list() else recalculateChannels() - usr << "Subspace Transmission is [(subspace_transmission) ? "enabled" : "disabled"]" ..() /obj/item/device/radio/borg/interact(mob/user as mob) @@ -785,7 +791,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use Toggle Broadcast Mode
"} - if(subspace_transmission)//Don't even bother if subspace isn't turned on + if(!subspace_transmission)//Don't even bother if subspace isn't turned on for (var/ch_name in channels) dat+=text_sec_channel(ch_name, channels[ch_name]) dat+={"[text_wires()]"} @@ -806,4 +812,4 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use return /obj/item/device/radio/off - listening = 0 \ No newline at end of file + listening = 0 From 3d7b7a937c96e0a9185fcb5435edacb86b9e1ed8 Mon Sep 17 00:00:00 2001 From: yashaldie Date: Fri, 28 Feb 2014 05:42:42 -0500 Subject: [PATCH 4/4] Missed some codes... Forgot to add some code from a past bug fix i did on my end. --- .../game/objects/items/devices/radio/radio.dm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 97ac8dc0fd..bd3eeb495d 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -244,12 +244,19 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use //#### Grab the connection datum ####// var/datum/radio_frequency/connection = null - if(channel && channels && channels.len > 0) - if (channel == "department") - //world << "DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"" - channel = channels[1] - connection = secure_radio_connections[channel] - else + if(channel == "headset") + channel = null + if(channel) // If a channel is specified, look for it. + if(channels && channels.len > 0) + if (channel == "department") + //world << "DEBUG: channel=\"[channel]\" switching to \"[channels[1]]\"" + channel = channels[1] + connection = secure_radio_connections[channel] + if (!channels[channel]) // if the channel is turned off, don't broadcast + return + else + // If we were to send to a channel we don't have, drop it. + else // If a channel isn't specified, send to common. connection = radio_connection channel = null if (!istype(connection))