From 3a2b2e906dfc5920584909d6e9efe59d3d12a70a Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 00:19:14 -0700 Subject: [PATCH 1/6] Intercom build/destroy --- .../objects/items/devices/radio/intercom.dm | 138 +++++++++++++++--- .../items/mountable_frames/intercom.dm | 10 ++ paradise.dme | 1 + 3 files changed, 125 insertions(+), 24 deletions(-) create mode 100644 code/game/objects/items/mountable_frames/intercom.dm diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 1b28a7b707e..1c12213010c 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,30 +5,45 @@ anchored = 1 w_class = 4.0 canhear_range = 2 - flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 + var/circuitry_installed=1 var/mob/living/silicon/ai/ai = list() var/last_tick //used to delay the powercheck + var/buildstage = 0 -/obj/item/device/radio/intercom/New() +/obj/item/device/radio/intercom/universe/New() + tag = "UNIVERSE" + return ..() + +/obj/item/device/radio/intercom/New(turf/loc, var/ndir = 0, var/building = 3) ..() - processing_objects += src + buildstage = building + if(buildstage) + processing_objects.Add(src) + else + pixel_x = (ndir & 3)? 0 : (ndir == 4 ? 28 : -28) + pixel_y = (ndir & 3)? (ndir ==1 ? 28 : -28) : 0 + dir=ndir + b_stat=1 + on = 0 + update_icon() -/obj/item/device/radio/intercom/Del() - processing_objects -= src +/obj/item/device/radio/intercom/Destroy() + processing_objects.Remove(src) ..() /obj/item/device/radio/intercom/attack_ai(mob/user as mob) - src.add_fingerprint(user) + add_hiddenprint(user) + add_fingerprint(user) spawn (0) attack_self(user) - + /obj/item/device/radio/intercom/attack_paw(mob/user as mob) - return src.attack_hand(user) + return attack_hand(user) /obj/item/device/radio/intercom/attack_hand(mob/user as mob) - src.add_fingerprint(user) + add_fingerprint(user) spawn (0) attack_self(user) @@ -41,32 +56,107 @@ return -1 if (!src.listening) return -1 - if(freq in ANTAG_FREQS) + if(freq == SYND_FREQ) if(!(src.syndie)) return -1//Prevents broadcast of messages over devices lacking the encryption return canhear_range -/obj/item/device/radio/intercom/hear_talk(mob/M as mob, msg) - if(!src.anyai && !(M in src.ai)) +/obj/item/device/radio/intercom/hear_talk(message, atom/movable/speaker, message_langs, raw_message, radio_freq) + if(!src.anyai && !(speaker in src.ai)) return ..() +/obj/item/device/radio/intercom/attackby(obj/item/weapon/W as obj, mob/user as mob) + switch(buildstage) + if(3) + if(iswirecutter(W) && b_stat && wires.IsAllCut()) + user << "You cut out the intercoms wiring and disconnect its electronics." + playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1) + if(do_after(user, 10)) + new /obj/item/stack/cable_coil(get_turf(src),5) + on = 0 + b_stat = 1 + buildstage = 1 + update_icon() + processing_objects.Remove(src) + return 1 + else return ..() + if(2) + if(isscrewdriver(W)) + playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) + if(do_after(user, 10)) + update_icon() + on = 1 + b_stat = 0 + buildstage = 3 + user << "You secure the electronics!" + update_icon() + processing_objects.Add(src) + for(var/i, i<= 5, i++) + wires.UpdateCut(i,1) + return 1 + if(1) + if(iscoil(W)) + var/obj/item/stack/cable_coil/coil = W + if(coil.amount < 5) + user << "You need more cable for this!" + return + if(do_after(user, 10)) + coil.use(5) + user << "You wire \the [src]!" + buildstage = 2 + return 1 + if(iscrowbar(W)) + user << "You begin removing the electronics..." + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + if(do_after(user, 10)) + new /obj/item/weapon/intercom_electronics(get_turf(src)) + user << "The circuitboard pops out!" + buildstage = 0 + return 1 + if(0) + if(istype(W,/obj/item/weapon/intercom_electronics)) + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + if(do_after(user, 10)) + qdel(W) + user << "You insert \the [W] into \the [src]!" + buildstage = 1 + return 1 + if(iswelder(W)) + var/obj/item/weapon/weldingtool/WT=W + playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1) + if(!WT.remove_fuel(3, user)) + user << "You're out of welding fuel." + return 1 + if(do_after(user, 10)) + user << "You cut the intercom frame from the wall!" + new /obj/item/mounted/frame/intercom(get_turf(src)) + qdel(src) + return 1 + +/obj/item/device/radio/intercom/update_icon() + if(!circuitry_installed) + icon_state="intercom-frame" + return + icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]" + /obj/item/device/radio/intercom/process() if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) last_tick = world.timeofday - - if(!src.loc) + if(!areaMaster) on = 0 - else - var/area/A = src.loc.loc - if(!A || !isarea(A) || !A.master) - on = 0 - else - on = A.master.powered(EQUIP) // set "on" to the power status + update_icon() + return + on = areaMaster.powered(EQUIP) // set "on" to the power status + update_icon() - if(!on) - icon_state = "intercom-p" - else - icon_state = "intercom" +/obj/item/weapon/intercom_electronics + name = "intercom electronics" + icon = 'icons/obj/doors/door_assembly.dmi' + icon_state = "door_electronics" + desc = "Looks like a circuit. Probably is." + w_class = 2.0 + m_amt = 50 + g_amt = 50 \ No newline at end of file diff --git a/code/game/objects/items/mountable_frames/intercom.dm b/code/game/objects/items/mountable_frames/intercom.dm new file mode 100644 index 00000000000..3b0f95f927a --- /dev/null +++ b/code/game/objects/items/mountable_frames/intercom.dm @@ -0,0 +1,10 @@ +/obj/item/mounted/frame/intercom + name = "Intercom Frame" + desc = "Used for building intercoms" + icon = 'icons/obj/monitors.dmi' + icon_state = "intercom_f" + mount_reqs = list("simfloor", "nospace") + +/obj/item/mounted/frame/intercom/do_build(turf/on_wall, mob/user) + new /obj/item/device/radio/intercom(get_turf(src), get_dir(on_wall, user), 0) + qdel(src) \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 1ee4f4c642c..316731af4cd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -617,6 +617,7 @@ #include "code\game\objects\items\mountable_frames\apc_frame.dm" #include "code\game\objects\items\mountable_frames\fire_alarm.dm" #include "code\game\objects\items\mountable_frames\frames.dm" +#include "code\game\objects\items\mountable_frames\intercom.dm" #include "code\game\objects\items\mountable_frames\lights.dm" #include "code\game\objects\items\mountable_frames\mountables.dm" #include "code\game\objects\items\mountable_frames\newscaster_frame.dm" From 26ae8ac80e64db00adf54a54f696ed539f32ce24 Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 00:19:27 -0700 Subject: [PATCH 2/6] Revert "Intercom build/destroy" This reverts commit 3a2b2e906dfc5920584909d6e9efe59d3d12a70a. --- .../objects/items/devices/radio/intercom.dm | 140 ++++-------------- .../items/mountable_frames/intercom.dm | 10 -- paradise.dme | 1 - 3 files changed, 25 insertions(+), 126 deletions(-) delete mode 100644 code/game/objects/items/mountable_frames/intercom.dm diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 1c12213010c..1b28a7b707e 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,45 +5,30 @@ anchored = 1 w_class = 4.0 canhear_range = 2 + flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 - var/circuitry_installed=1 var/mob/living/silicon/ai/ai = list() var/last_tick //used to delay the powercheck - var/buildstage = 0 -/obj/item/device/radio/intercom/universe/New() - tag = "UNIVERSE" - return ..() - -/obj/item/device/radio/intercom/New(turf/loc, var/ndir = 0, var/building = 3) +/obj/item/device/radio/intercom/New() ..() - buildstage = building - if(buildstage) - processing_objects.Add(src) - else - pixel_x = (ndir & 3)? 0 : (ndir == 4 ? 28 : -28) - pixel_y = (ndir & 3)? (ndir ==1 ? 28 : -28) : 0 - dir=ndir - b_stat=1 - on = 0 - update_icon() + processing_objects += src -/obj/item/device/radio/intercom/Destroy() - processing_objects.Remove(src) +/obj/item/device/radio/intercom/Del() + processing_objects -= src ..() /obj/item/device/radio/intercom/attack_ai(mob/user as mob) - add_hiddenprint(user) - add_fingerprint(user) + src.add_fingerprint(user) spawn (0) attack_self(user) - + /obj/item/device/radio/intercom/attack_paw(mob/user as mob) - return attack_hand(user) + return src.attack_hand(user) /obj/item/device/radio/intercom/attack_hand(mob/user as mob) - add_fingerprint(user) + src.add_fingerprint(user) spawn (0) attack_self(user) @@ -56,107 +41,32 @@ return -1 if (!src.listening) return -1 - if(freq == SYND_FREQ) + if(freq in ANTAG_FREQS) if(!(src.syndie)) return -1//Prevents broadcast of messages over devices lacking the encryption return canhear_range -/obj/item/device/radio/intercom/hear_talk(message, atom/movable/speaker, message_langs, raw_message, radio_freq) - if(!src.anyai && !(speaker in src.ai)) +/obj/item/device/radio/intercom/hear_talk(mob/M as mob, msg) + if(!src.anyai && !(M in src.ai)) return ..() -/obj/item/device/radio/intercom/attackby(obj/item/weapon/W as obj, mob/user as mob) - switch(buildstage) - if(3) - if(iswirecutter(W) && b_stat && wires.IsAllCut()) - user << "You cut out the intercoms wiring and disconnect its electronics." - playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1) - if(do_after(user, 10)) - new /obj/item/stack/cable_coil(get_turf(src),5) - on = 0 - b_stat = 1 - buildstage = 1 - update_icon() - processing_objects.Remove(src) - return 1 - else return ..() - if(2) - if(isscrewdriver(W)) - playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) - if(do_after(user, 10)) - update_icon() - on = 1 - b_stat = 0 - buildstage = 3 - user << "You secure the electronics!" - update_icon() - processing_objects.Add(src) - for(var/i, i<= 5, i++) - wires.UpdateCut(i,1) - return 1 - if(1) - if(iscoil(W)) - var/obj/item/stack/cable_coil/coil = W - if(coil.amount < 5) - user << "You need more cable for this!" - return - if(do_after(user, 10)) - coil.use(5) - user << "You wire \the [src]!" - buildstage = 2 - return 1 - if(iscrowbar(W)) - user << "You begin removing the electronics..." - playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 10)) - new /obj/item/weapon/intercom_electronics(get_turf(src)) - user << "The circuitboard pops out!" - buildstage = 0 - return 1 - if(0) - if(istype(W,/obj/item/weapon/intercom_electronics)) - playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) - if(do_after(user, 10)) - qdel(W) - user << "You insert \the [W] into \the [src]!" - buildstage = 1 - return 1 - if(iswelder(W)) - var/obj/item/weapon/weldingtool/WT=W - playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1) - if(!WT.remove_fuel(3, user)) - user << "You're out of welding fuel." - return 1 - if(do_after(user, 10)) - user << "You cut the intercom frame from the wall!" - new /obj/item/mounted/frame/intercom(get_turf(src)) - qdel(src) - return 1 - -/obj/item/device/radio/intercom/update_icon() - if(!circuitry_installed) - icon_state="intercom-frame" - return - icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]" - /obj/item/device/radio/intercom/process() if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) last_tick = world.timeofday - if(!areaMaster) - on = 0 - update_icon() - return - on = areaMaster.powered(EQUIP) // set "on" to the power status - update_icon() -/obj/item/weapon/intercom_electronics - name = "intercom electronics" - icon = 'icons/obj/doors/door_assembly.dmi' - icon_state = "door_electronics" - desc = "Looks like a circuit. Probably is." - w_class = 2.0 - m_amt = 50 - g_amt = 50 \ No newline at end of file + if(!src.loc) + on = 0 + else + var/area/A = src.loc.loc + if(!A || !isarea(A) || !A.master) + on = 0 + else + on = A.master.powered(EQUIP) // set "on" to the power status + + if(!on) + icon_state = "intercom-p" + else + icon_state = "intercom" diff --git a/code/game/objects/items/mountable_frames/intercom.dm b/code/game/objects/items/mountable_frames/intercom.dm deleted file mode 100644 index 3b0f95f927a..00000000000 --- a/code/game/objects/items/mountable_frames/intercom.dm +++ /dev/null @@ -1,10 +0,0 @@ -/obj/item/mounted/frame/intercom - name = "Intercom Frame" - desc = "Used for building intercoms" - icon = 'icons/obj/monitors.dmi' - icon_state = "intercom_f" - mount_reqs = list("simfloor", "nospace") - -/obj/item/mounted/frame/intercom/do_build(turf/on_wall, mob/user) - new /obj/item/device/radio/intercom(get_turf(src), get_dir(on_wall, user), 0) - qdel(src) \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 316731af4cd..1ee4f4c642c 100644 --- a/paradise.dme +++ b/paradise.dme @@ -617,7 +617,6 @@ #include "code\game\objects\items\mountable_frames\apc_frame.dm" #include "code\game\objects\items\mountable_frames\fire_alarm.dm" #include "code\game\objects\items\mountable_frames\frames.dm" -#include "code\game\objects\items\mountable_frames\intercom.dm" #include "code\game\objects\items\mountable_frames\lights.dm" #include "code\game\objects\items\mountable_frames\mountables.dm" #include "code\game\objects\items\mountable_frames\newscaster_frame.dm" From 92789ec855fcda2e21c34be1ce06a70c828366ac Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 00:19:34 -0700 Subject: [PATCH 3/6] Revert "Revert "Intercom build/destroy"" This reverts commit 26ae8ac80e64db00adf54a54f696ed539f32ce24. --- .../objects/items/devices/radio/intercom.dm | 138 +++++++++++++++--- .../items/mountable_frames/intercom.dm | 10 ++ paradise.dme | 1 + 3 files changed, 125 insertions(+), 24 deletions(-) create mode 100644 code/game/objects/items/mountable_frames/intercom.dm diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 1b28a7b707e..1c12213010c 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,30 +5,45 @@ anchored = 1 w_class = 4.0 canhear_range = 2 - flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 + var/circuitry_installed=1 var/mob/living/silicon/ai/ai = list() var/last_tick //used to delay the powercheck + var/buildstage = 0 -/obj/item/device/radio/intercom/New() +/obj/item/device/radio/intercom/universe/New() + tag = "UNIVERSE" + return ..() + +/obj/item/device/radio/intercom/New(turf/loc, var/ndir = 0, var/building = 3) ..() - processing_objects += src + buildstage = building + if(buildstage) + processing_objects.Add(src) + else + pixel_x = (ndir & 3)? 0 : (ndir == 4 ? 28 : -28) + pixel_y = (ndir & 3)? (ndir ==1 ? 28 : -28) : 0 + dir=ndir + b_stat=1 + on = 0 + update_icon() -/obj/item/device/radio/intercom/Del() - processing_objects -= src +/obj/item/device/radio/intercom/Destroy() + processing_objects.Remove(src) ..() /obj/item/device/radio/intercom/attack_ai(mob/user as mob) - src.add_fingerprint(user) + add_hiddenprint(user) + add_fingerprint(user) spawn (0) attack_self(user) - + /obj/item/device/radio/intercom/attack_paw(mob/user as mob) - return src.attack_hand(user) + return attack_hand(user) /obj/item/device/radio/intercom/attack_hand(mob/user as mob) - src.add_fingerprint(user) + add_fingerprint(user) spawn (0) attack_self(user) @@ -41,32 +56,107 @@ return -1 if (!src.listening) return -1 - if(freq in ANTAG_FREQS) + if(freq == SYND_FREQ) if(!(src.syndie)) return -1//Prevents broadcast of messages over devices lacking the encryption return canhear_range -/obj/item/device/radio/intercom/hear_talk(mob/M as mob, msg) - if(!src.anyai && !(M in src.ai)) +/obj/item/device/radio/intercom/hear_talk(message, atom/movable/speaker, message_langs, raw_message, radio_freq) + if(!src.anyai && !(speaker in src.ai)) return ..() +/obj/item/device/radio/intercom/attackby(obj/item/weapon/W as obj, mob/user as mob) + switch(buildstage) + if(3) + if(iswirecutter(W) && b_stat && wires.IsAllCut()) + user << "You cut out the intercoms wiring and disconnect its electronics." + playsound(get_turf(src), 'sound/items/Wirecutter.ogg', 50, 1) + if(do_after(user, 10)) + new /obj/item/stack/cable_coil(get_turf(src),5) + on = 0 + b_stat = 1 + buildstage = 1 + update_icon() + processing_objects.Remove(src) + return 1 + else return ..() + if(2) + if(isscrewdriver(W)) + playsound(get_turf(src), 'sound/items/Screwdriver.ogg', 50, 1) + if(do_after(user, 10)) + update_icon() + on = 1 + b_stat = 0 + buildstage = 3 + user << "You secure the electronics!" + update_icon() + processing_objects.Add(src) + for(var/i, i<= 5, i++) + wires.UpdateCut(i,1) + return 1 + if(1) + if(iscoil(W)) + var/obj/item/stack/cable_coil/coil = W + if(coil.amount < 5) + user << "You need more cable for this!" + return + if(do_after(user, 10)) + coil.use(5) + user << "You wire \the [src]!" + buildstage = 2 + return 1 + if(iscrowbar(W)) + user << "You begin removing the electronics..." + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + if(do_after(user, 10)) + new /obj/item/weapon/intercom_electronics(get_turf(src)) + user << "The circuitboard pops out!" + buildstage = 0 + return 1 + if(0) + if(istype(W,/obj/item/weapon/intercom_electronics)) + playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1) + if(do_after(user, 10)) + qdel(W) + user << "You insert \the [W] into \the [src]!" + buildstage = 1 + return 1 + if(iswelder(W)) + var/obj/item/weapon/weldingtool/WT=W + playsound(get_turf(src), 'sound/items/Welder.ogg', 50, 1) + if(!WT.remove_fuel(3, user)) + user << "You're out of welding fuel." + return 1 + if(do_after(user, 10)) + user << "You cut the intercom frame from the wall!" + new /obj/item/mounted/frame/intercom(get_turf(src)) + qdel(src) + return 1 + +/obj/item/device/radio/intercom/update_icon() + if(!circuitry_installed) + icon_state="intercom-frame" + return + icon_state = "intercom[!on?"-p":""][b_stat ? "-open":""]" + /obj/item/device/radio/intercom/process() if(((world.timeofday - last_tick) > 30) || ((world.timeofday - last_tick) < 0)) last_tick = world.timeofday - - if(!src.loc) + if(!areaMaster) on = 0 - else - var/area/A = src.loc.loc - if(!A || !isarea(A) || !A.master) - on = 0 - else - on = A.master.powered(EQUIP) // set "on" to the power status + update_icon() + return + on = areaMaster.powered(EQUIP) // set "on" to the power status + update_icon() - if(!on) - icon_state = "intercom-p" - else - icon_state = "intercom" +/obj/item/weapon/intercom_electronics + name = "intercom electronics" + icon = 'icons/obj/doors/door_assembly.dmi' + icon_state = "door_electronics" + desc = "Looks like a circuit. Probably is." + w_class = 2.0 + m_amt = 50 + g_amt = 50 \ No newline at end of file diff --git a/code/game/objects/items/mountable_frames/intercom.dm b/code/game/objects/items/mountable_frames/intercom.dm new file mode 100644 index 00000000000..3b0f95f927a --- /dev/null +++ b/code/game/objects/items/mountable_frames/intercom.dm @@ -0,0 +1,10 @@ +/obj/item/mounted/frame/intercom + name = "Intercom Frame" + desc = "Used for building intercoms" + icon = 'icons/obj/monitors.dmi' + icon_state = "intercom_f" + mount_reqs = list("simfloor", "nospace") + +/obj/item/mounted/frame/intercom/do_build(turf/on_wall, mob/user) + new /obj/item/device/radio/intercom(get_turf(src), get_dir(on_wall, user), 0) + qdel(src) \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 1ee4f4c642c..316731af4cd 100644 --- a/paradise.dme +++ b/paradise.dme @@ -617,6 +617,7 @@ #include "code\game\objects\items\mountable_frames\apc_frame.dm" #include "code\game\objects\items\mountable_frames\fire_alarm.dm" #include "code\game\objects\items\mountable_frames\frames.dm" +#include "code\game\objects\items\mountable_frames\intercom.dm" #include "code\game\objects\items\mountable_frames\lights.dm" #include "code\game\objects\items\mountable_frames\mountables.dm" #include "code\game\objects\items\mountable_frames\newscaster_frame.dm" From b63d1d0163571c25e4b2670db88690e6e66130d9 Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 15:12:42 -0700 Subject: [PATCH 4/6] Adding Intercom to recipes --- code/game/objects/items/stacks/sheets/sheet_types.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 3914207e538..26daef3e3fa 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -74,6 +74,7 @@ var/global/list/datum/stack_recipe/metal_recipes = list ( \ new/datum/stack_recipe("apc frame", /obj/item/mounted/frame/apc_frame, 2), \ new/datum/stack_recipe("air alarm frame", /obj/item/mounted/frame/alarm_frame, 2), \ new/datum/stack_recipe("fire alarm frame", /obj/item/mounted/frame/firealarm, 2), \ + new/datum/stack_recipe("intercom frame", /obj/item/mounted/frame/intercom, 2), \ null, \ ) From d47a39a05af9176b649c14993393c2753bd39f2d Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 16:14:36 -0700 Subject: [PATCH 5/6] Fixing Intercom changes from VG Code to Paradise --- code/game/objects/items/devices/radio/intercom.dm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm index 1c12213010c..a76d8c1cdeb 100644 --- a/code/game/objects/items/devices/radio/intercom.dm +++ b/code/game/objects/items/devices/radio/intercom.dm @@ -5,6 +5,7 @@ anchored = 1 w_class = 4.0 canhear_range = 2 + flags = CONDUCT | NOBLOODY var/number = 0 var/anyai = 1 var/circuitry_installed=1 @@ -56,15 +57,15 @@ return -1 if (!src.listening) return -1 - if(freq == SYND_FREQ) + if(freq in ANTAG_FREQS) if(!(src.syndie)) return -1//Prevents broadcast of messages over devices lacking the encryption return canhear_range -/obj/item/device/radio/intercom/hear_talk(message, atom/movable/speaker, message_langs, raw_message, radio_freq) - if(!src.anyai && !(speaker in src.ai)) +/obj/item/device/radio/intercom/hear_talk(mob/M as mob, msg) + if(!src.anyai && !(M in src.ai)) return ..() From 164ae8af837aae9073aabf05dad60b592d345b6c Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 17:38:59 -0700 Subject: [PATCH 6/6] Adding Recipe to Auto Lathe --- code/modules/research/designs/autolathe_designs.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/research/designs/autolathe_designs.dm b/code/modules/research/designs/autolathe_designs.dm index b3efb13975a..970f0b139f9 100644 --- a/code/modules/research/designs/autolathe_designs.dm +++ b/code/modules/research/designs/autolathe_designs.dm @@ -122,6 +122,14 @@ build_path = /obj/item/weapon/airlock_electronics category = list("initial", "Electronics") +/datum/design/intercom_electronics + name = "Intercom Electronics" + id = "intercom_electronics" + build_type = AUTOLATHE + materials = list("$metal" = 50, "$glass" = 50) + build_path = /obj/item/weapon/intercom_electronics + category = list("initial", "Electronics") + /datum/design/console_screen name = "Console Screen" id = "console_screen"