From 26ae8ac80e64db00adf54a54f696ed539f32ce24 Mon Sep 17 00:00:00 2001 From: SirBloodBuske Date: Sat, 2 May 2015 00:19:27 -0700 Subject: [PATCH] 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"