diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 962d7792f93..f4409b4d056 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -58,10 +58,10 @@ /obj/item/assembly/process_cooldown() cooldown-- if(cooldown <= 0) - return 0 + return FALSE spawn(10) process_cooldown() - return 1 + return TRUE /obj/item/assembly/Destroy() if(istype(loc, /obj/item/assembly_holder) || istype(holder)) @@ -78,7 +78,7 @@ activate() if(radio && (wires & WIRE_RADIO_RECEIVE)) activate() - return 1 + return TRUE /obj/item/assembly/pulse(radio = 0) if(holder && (wires & WIRE_PULSE)) @@ -88,15 +88,15 @@ if(istype(loc, /obj/item/grenade)) // This is a hack. Todo: Manage this better -Sayu var/obj/item/grenade/G = loc G.prime() // Adios, muchachos - return 1 + return TRUE /obj/item/assembly/activate() - if(!secured || (cooldown > 0)) - return 0 + if(!secured || cooldown > 0) + return FALSE cooldown = 2 spawn(10) process_cooldown() - return 1 + return TRUE /obj/item/assembly/toggle_secure() secured = !secured @@ -107,13 +107,13 @@ holder = new /obj/item/assembly_holder(get_turf(src)) if(holder.attach(A, src, user)) to_chat(user, "You attach [A] to [src]!") - return 1 - return 0 + return TRUE + return FALSE /obj/item/assembly/attackby(obj/item/W, mob/user, params) if(isassembly(W)) var/obj/item/assembly/A = W - if((!A.secured) && (!secured)) + if(!A.secured && !secured) attach_assembly(A, user) return if(isscrewdriver(W)) @@ -129,7 +129,7 @@ /obj/item/assembly/examine(mob/user) ..() - if((in_range(src, user) || loc == user)) + if(in_range(src, user) || loc == user) if(secured) to_chat(user, "[src] is ready!") else @@ -140,7 +140,7 @@ return user.set_machine(src) interact(user) - return 1 + return TRUE /obj/item/assembly/interact(mob/user) return \ No newline at end of file diff --git a/code/modules/assembly/bomb.dm b/code/modules/assembly/bomb.dm index 763152cc5cf..862974cbaaf 100644 --- a/code/modules/assembly/bomb.dm +++ b/code/modules/assembly/bomb.dm @@ -42,7 +42,7 @@ qdel(src) return - if((istype(W, /obj/item/weldingtool) && W:welding)) + if(istype(W, /obj/item/weldingtool) && W:welding) if(!status) status = 1 investigate_log("[key_name(user)] welded a single tank bomb. Temperature: [bombtank.air_contents.temperature-T0C]", INVESTIGATE_BOMB) diff --git a/code/modules/assembly/health.dm b/code/modules/assembly/health.dm index aac2c922802..993e57337b1 100644 --- a/code/modules/assembly/health.dm +++ b/code/modules/assembly/health.dm @@ -13,9 +13,10 @@ /obj/item/assembly/health/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE//Cooldown check toggle_scan() - return 0 + return FALSE /obj/item/assembly/health/toggle_secure() secured = !secured @@ -61,7 +62,8 @@ return /obj/item/assembly/health/proc/toggle_scan() - if(!secured) return 0 + if(!secured) + return FALSE scanning = !scanning if(scanning) processing_objects.Add(src) @@ -72,7 +74,7 @@ /obj/item/assembly/health/interact(mob/user as mob)//TODO: Change this to the wires thingy if(!secured) user.show_message("The [name] is unsecured!") - return 0 + return FALSE var/dat = text("Health Sensor [scanning?"On":"Off"]") if(scanning && health_scan) dat += "
Health: [health_scan]" diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index e7c7ddbd9cb..c90b3f62171 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -13,200 +13,201 @@ var/obj/item/assembly/a_left = null var/obj/item/assembly/a_right = null - proc/attach(var/obj/item/D, var/obj/item/D2, var/mob/user) - return +/obj/item/assembly_holder/proc/attach(var/obj/item/D, var/obj/item/D2, var/mob/user) + return - proc/process_activation(var/obj/item/D) - return +/obj/item/assembly_holder/proc/process_activation(var/obj/item/D) + return +/obj/item/assembly_holder/IsAssemblyHolder() + return TRUE +/obj/item/assembly_holder/Destroy() + if(a_left) + a_left.holder = null + if(a_right) + a_right.holder = null + return ..() - IsAssemblyHolder() - return 1 - - Destroy() - if(a_left) - a_left.holder = null - if(a_right) - a_right.holder = null - return ..() - - attach(var/obj/item/D, var/obj/item/D2, var/mob/user) - if((!D)||(!D2)) return 0 - if((!isassembly(D))||(!isassembly(D2))) return 0 - if((D:secured)||(D2:secured)) return 0 - if(!D.remove_item_from_storage(src)) - if(user) - user.remove_from_mob(D) - D.loc = src - if(!D2.remove_item_from_storage(src)) - if(user) - user.remove_from_mob(D2) - D2.loc = src - D:holder = src - D2:holder = src - a_left = D - a_right = D2 - name = "[D.name]-[D2.name] assembly" - update_icon() - return 1 - - +/obj/item/assembly_holder/attach(var/obj/item/D, var/obj/item/D2, var/mob/user) + if(!D||!D2) + return FALSE + if(!isassembly(D) || !isassembly(D2)) + return FALSE + if(D:secured || D2:secured) + return FALSE + if(!D.remove_item_from_storage(src)) + if(user) + user.remove_from_mob(D) + D.loc = src + if(!D2.remove_item_from_storage(src)) + if(user) + user.remove_from_mob(D2) + D2.loc = src + D:holder = src + D2:holder = src + a_left = D + a_right = D2 + name = "[D.name]-[D2.name] assembly" update_icon() - overlays.Cut() - if(a_left) - overlays += "[a_left.icon_state]_left" - for(var/O in a_left.attached_overlays) - overlays += "[O]_l" - if(a_right) - src.overlays += "[a_right.icon_state]_right" - for(var/O in a_right.attached_overlays) - overlays += "[O]_r" - if(master) - master.update_icon() + return TRUE - examine(mob/user) - ..(user) - if((in_range(src, user) || src.loc == user)) - if(src.secured) - to_chat(user, "\The [src] is ready!") - else - to_chat(user, "\The [src] can be attached!") +/obj/item/assembly_holder/update_icon() + overlays.Cut() + if(a_left) + overlays += "[a_left.icon_state]_left" + for(var/O in a_left.attached_overlays) + overlays += "[O]_l" + if(a_right) + src.overlays += "[a_right.icon_state]_right" + for(var/O in a_right.attached_overlays) + overlays += "[O]_r" + if(master) + master.update_icon() - HasProximity(atom/movable/AM as mob|obj) - if(a_left) - a_left.HasProximity(AM) - if(a_right) - a_right.HasProximity(AM) +/obj/item/assembly_holder/examine(mob/user) + ..(user) + if(in_range(src, user) || src.loc == user) + if(src.secured) + to_chat(user, "\The [src] is ready!") + else + to_chat(user, "\The [src] can be attached!") - Crossed(atom/movable/AM as mob|obj) - if(a_left) - a_left.Crossed(AM) - if(a_right) - a_right.Crossed(AM) - - on_found(mob/finder as mob) - if(a_left) - a_left.on_found(finder) - if(a_right) - a_right.on_found(finder) +/obj/item/assembly_holder/HasProximity(atom/movable/AM as mob|obj) + if(a_left) + a_left.HasProximity(AM) + if(a_right) + a_right.HasProximity(AM) - hear_talk(mob/living/M as mob, msg) - if(a_left) - a_left.hear_talk(M, msg) - if(a_right) - a_right.hear_talk(M, msg) +/obj/item/assembly_holder/Crossed(atom/movable/AM as mob|obj) + if(a_left) + a_left.Crossed(AM) + if(a_right) + a_right.Crossed(AM) - hear_message(mob/living/M as mob, msg) - if(a_left) - a_left.hear_message(M, msg) - if(a_right) - a_right.hear_message(M, msg) +/obj/item/assembly_holder/on_found(mob/finder as mob) + if(a_left) + a_left.on_found(finder) + if(a_right) + a_right.on_found(finder) - proc/process_movement() // infrared beams and prox sensors - if(a_left && a_right) - a_left.holder_movement() - a_right.holder_movement() - Move() - ..() - process_movement() +/obj/item/assembly_holder/hear_talk(mob/living/M as mob, msg) + if(a_left) + a_left.hear_talk(M, msg) + if(a_right) + a_right.hear_talk(M, msg) + +/obj/item/assembly_holder/hear_message(mob/living/M as mob, msg) + if(a_left) + a_left.hear_message(M, msg) + if(a_right) + a_right.hear_message(M, msg) + +/obj/item/assembly_holder/proc/process_movement() // infrared beams and prox sensors + if(a_left && a_right) + a_left.holder_movement() + a_right.holder_movement() + +/obj/item/assembly_holder/Move() + ..() + process_movement() + return + +/obj/item/assembly_holder/pickup() + ..() + process_movement() + +/obj/item/assembly_holder/Bump() + ..() + process_movement() + +/obj/item/assembly_holder/throw_impact() // called when a throw stops + ..() + process_movement() + +/obj/item/assembly_holder/attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess + if(a_left && a_right) + a_left.holder_movement() + a_right.holder_movement() + ..() + return + +/obj/item/assembly_holder/attackby(obj/item/W as obj, mob/user as mob, params) + if(istype(W, /obj/item/screwdriver)) + if(!a_left || !a_right) + to_chat(user, "BUG:Assembly part missing, please report this!") + return + a_left.toggle_secure() + a_right.toggle_secure() + secured = !secured + if(secured) + to_chat(user, "\The [src] is ready!") + else + to_chat(user, "\The [src] can now be taken apart!") + update_icon() return - - pickup() + else ..() - process_movement() - - Bump() - ..() - process_movement() - - throw_impact() // called when a throw stops - ..() - process_movement() - - attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess - if(a_left && a_right) - a_left.holder_movement() - a_right.holder_movement() - ..() - return + return - attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W, /obj/item/screwdriver)) - if(!a_left || !a_right) - to_chat(user, "BUG:Assembly part missing, please report this!") - return - a_left.toggle_secure() - a_right.toggle_secure() - secured = !secured - if(secured) - to_chat(user, "\The [src] is ready!") - else - to_chat(user, "\The [src] can now be taken apart!") - update_icon() +/obj/item/assembly_holder/attack_self(mob/user as mob) + src.add_fingerprint(user) + if(src.secured) + if(!a_left || !a_right) + to_chat(user, "Assembly part missing!") + return + if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code + switch(alert("Which side would you like to use?",,"Left","Right")) + if("Left") a_left.attack_self(user) + if("Right") a_right.attack_self(user) return else - ..() - return + a_left.attack_self(user) + a_right.attack_self(user) + else + var/turf/T = get_turf(src) + if(!T) + return FALSE + if(a_left) + a_left:holder = null + a_left.loc = T + if(a_right) + a_right:holder = null + a_right.loc = T + spawn(0) + qdel(src) + return - attack_self(mob/user as mob) - src.add_fingerprint(user) - if(src.secured) - if(!a_left || !a_right) - to_chat(user, "Assembly part missing!") - return - if(istype(a_left,a_right.type))//If they are the same type it causes issues due to window code - switch(alert("Which side would you like to use?",,"Left","Right")) - if("Left") a_left.attack_self(user) - if("Right") a_right.attack_self(user) - return - else - a_left.attack_self(user) - a_right.attack_self(user) - else - var/turf/T = get_turf(src) - if(!T) return 0 - if(a_left) - a_left:holder = null - a_left.loc = T - if(a_right) - a_right:holder = null - a_right.loc = T - spawn(0) - qdel(src) - return +/obj/item/assembly_holder/process_activation(var/obj/D, var/normal = 1, var/special = 1) + if(!D) + return FALSE + if(normal && a_right && a_left) + if(a_right != D) + a_right.pulsed(0) + if(a_left != D) + a_left.pulsed(0) + if(master) + master.receive_signal() + return TRUE - process_activation(var/obj/D, var/normal = 1, var/special = 1) - if(!D) return 0 - if((normal) && (a_right) && (a_left)) - if(a_right != D) - a_right.pulsed(0) - if(a_left != D) - a_left.pulsed(0) - if(master) - master.receive_signal() - return 1 - - - ex_act(severity) - switch(severity) - if(1.0) +/obj/item/assembly_holder/ex_act(severity) + switch(severity) + if(1.0) + qdel(src) + return + if(2.0) + if(prob(50)) + qdel(src) + return + if(3.0) + if(prob(25)) qdel(src) return - if(2.0) - if(prob(50)) - qdel(src) - return - if(3.0) - if(prob(25)) - qdel(src) - return - return diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 785e4549a47..93ccdc82e4b 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -21,7 +21,8 @@ /obj/item/assembly/igniter/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE//Cooldown check var/turf/location = get_turf(loc) if(location) location.hotspot_expose(1000,1000) if(istype(src.loc,/obj/item/assembly_holder)) @@ -35,7 +36,7 @@ beakerbomb.heat_beaker() sparks.start() - return 1 + return TRUE /obj/item/assembly/igniter/attack_self(mob/user as mob) diff --git a/code/modules/assembly/infrared.dm b/code/modules/assembly/infrared.dm index c16537b46a0..d2748691623 100644 --- a/code/modules/assembly/infrared.dm +++ b/code/modules/assembly/infrared.dm @@ -33,10 +33,11 @@ to_chat(user, describe()) /obj/item/assembly/infra/activate() - if(!..()) return 0//Cooldown check + if(!..()) + return FALSE//Cooldown check on = !on update_icon() - return 1 + return TRUE /obj/item/assembly/infra/toggle_secure() secured = !secured @@ -110,9 +111,10 @@ qdel(first) /obj/item/assembly/infra/holder_movement() - if(!holder) return 0 + if(!holder) + return FALSE qdel(first) - return 1 + return TRUE /obj/item/assembly/infra/equipped(var/mob/user, var/slot) qdel(first) @@ -124,7 +126,7 @@ /obj/item/assembly/infra/proc/trigger_beam() if(!secured || !on || cooldown > 0) - return 0 + return FALSE pulse(0) audible_message("[bicon(src)] *beep* *beep*", null, 3) if(first) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm index 011e46e7990..d9ce1125d37 100644 --- a/code/modules/assembly/mousetrap.dm +++ b/code/modules/assembly/mousetrap.dm @@ -8,124 +8,118 @@ bomb_name = "contact mine" - examine(mob/user) - ..(user) - if(armed) - to_chat(user, "It looks like it's armed.") +/obj/item/assembly/mousetrap/examine(mob/user) + ..(user) + if(armed) + to_chat(user, "It looks like it's armed.") - activate() - if(..()) - armed = !armed - if(!armed) - if(ishuman(usr)) - var/mob/living/carbon/human/user = usr - if(((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50))) - to_chat(user, "Your hand slips, setting off the trigger.") - pulse(0) - update_icon() - if(usr) - playsound(usr.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) - - describe() - return "The pressure switch is [armed?"primed":"safe"]." - - update_icon() - if(armed) - icon_state = "mousetraparmed" - else - icon_state = "mousetrap" - if(holder) - holder.update_icon() - - proc/triggered(mob/target as mob, var/type = "feet") - if(!armed) - return - var/obj/item/organ/external/affecting = null - if(ishuman(target)) - var/mob/living/carbon/human/H = target - switch(type) - if("feet") - if(!H.shoes) - affecting = H.get_organ(pick("l_leg", "r_leg")) - H.Weaken(3) - if("l_hand", "r_hand") - if(!H.gloves) - affecting = H.get_organ(type) - H.Stun(3) - if(affecting) - affecting.receive_damage(1, 0) - else if(ismouse(target)) - var/mob/living/simple_animal/mouse/M = target - visible_message("SPLAT!") - M.splat() - playsound(src.loc, 'sound/effects/snap.ogg', 50, 1) - layer = MOB_LAYER - 0.2 - armed = 0 - update_icon() - pulse(0) - - - attack_self(mob/living/user as mob) - if(!armed) - to_chat(user, "You arm [src].") - else - if(((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50))) - var/which_hand = "l_hand" - if(!user.hand) - which_hand = "r_hand" - triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", \ - "You accidentally trigger [src]!") - return - to_chat(user, "You disarm [src].") +/obj/item/assembly/mousetrap/activate() + if(..()) armed = !armed - update_icon() - playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) - - - attack_hand(mob/living/user as mob) - if(armed) - if(((user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50)) - var/which_hand = "l_hand" - if(!user.hand) - which_hand = "r_hand" - triggered(user, which_hand) - user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", \ - "You accidentally trigger [src]!") - return - ..() - - - Crossed(var/atom/movable/AM as mob|obj) - if(armed) - if(ishuman(AM)) - var/mob/living/carbon/H = AM - if(H.m_intent == MOVE_INTENT_RUN) - triggered(H) - H.visible_message("[H] accidentally steps on [src].", \ - "You accidentally step on [src]") - else if(ismouse(AM)) - triggered(AM) - else if(AM.density) // For mousetrap grenades, set off by anything heavy - triggered(AM) - ..() - - - on_found(mob/finder as mob) - if(armed) - finder.visible_message("[finder] accidentally sets off [src], breaking [finder.p_their()] fingers.", \ - "You accidentally trigger [src]!") - triggered(finder, finder.hand ? "l_hand" : "r_hand") - return 1 //end the search! - return 0 - - - hitby(A as mob|obj) if(!armed) - return ..() - visible_message("[src] is triggered by [A].") - triggered(null) + if(ishuman(usr)) + var/mob/living/carbon/human/user = usr + if((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)) + to_chat(user, "Your hand slips, setting off the trigger.") + pulse(0) + update_icon() + if(usr) + playsound(usr.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) +/obj/item/assembly/mousetrap/describe() + return "The pressure switch is [armed?"primed":"safe"]." + +/obj/item/assembly/mousetrap/update_icon() + if(armed) + icon_state = "mousetraparmed" + else + icon_state = "mousetrap" + if(holder) + holder.update_icon() + +/obj/item/assembly/mousetrap/proc/triggered(mob/target as mob, var/type = "feet") + if(!armed) + return + var/obj/item/organ/external/affecting = null + if(ishuman(target)) + var/mob/living/carbon/human/H = target + switch(type) + if("feet") + if(!H.shoes) + affecting = H.get_organ(pick("l_leg", "r_leg")) + H.Weaken(3) + if("l_hand", "r_hand") + if(!H.gloves) + affecting = H.get_organ(type) + H.Stun(3) + if(affecting) + affecting.receive_damage(1, 0) + else if(ismouse(target)) + var/mob/living/simple_animal/mouse/M = target + visible_message("SPLAT!") + M.splat() + playsound(src.loc, 'sound/effects/snap.ogg', 50, 1) + layer = MOB_LAYER - 0.2 + armed = 0 + update_icon() + pulse(0) + +/obj/item/assembly/mousetrap/attack_self(mob/living/user as mob) + if(!armed) + to_chat(user, "You arm [src].") + else + if((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50)) + var/which_hand = "l_hand" + if(!user.hand) + which_hand = "r_hand" + triggered(user, which_hand) + user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", \ + "You accidentally trigger [src]!") + return + to_chat(user, "You disarm [src].") + armed = !armed + update_icon() + playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) + +/obj/item/assembly/mousetrap/attack_hand(mob/living/user as mob) + if(armed) + if((user.getBrainLoss() >= 60 || CLUMSY in user.mutations) && prob(50)) + var/which_hand = "l_hand" + if(!user.hand) + which_hand = "r_hand" + triggered(user, which_hand) + user.visible_message("[user] accidentally sets off [src], breaking [user.p_their()] fingers.", \ + "You accidentally trigger [src]!") + return + ..() + +/obj/item/assembly/mousetrap/Crossed(var/atom/movable/AM as mob|obj) + if(armed) + if(ishuman(AM)) + var/mob/living/carbon/H = AM + if(H.m_intent == MOVE_INTENT_RUN) + triggered(H) + H.visible_message("[H] accidentally steps on [src].", \ + "You accidentally step on [src]") + else if(ismouse(AM)) + triggered(AM) + else if(AM.density) // For mousetrap grenades, set off by anything heavy + triggered(AM) + ..() + +/obj/item/assembly/mousetrap/on_found(mob/finder as mob) + if(armed) + finder.visible_message("[finder] accidentally sets off [src], breaking [finder.p_their()] fingers.", \ + "You accidentally trigger [src]!") + triggered(finder, finder.hand ? "l_hand" : "r_hand") + return TRUE //end the search! + return FALSE + +/obj/item/assembly/mousetrap/hitby(A as mob|obj) + if(!armed) + return ..() + visible_message("[src] is triggered by [A].") + triggered(null) /obj/item/assembly/mousetrap/armed icon_state = "mousetraparmed" diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index c08b9246e33..80e486170c2 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -19,11 +19,11 @@ return "The proximity sensor is [scanning ? "armed" : "disarmed"]." /obj/item/assembly/prox_sensor/activate() - if(!..()) - return 0 //Cooldown check + if(!..()) + return FALSE //Cooldown check timing = !timing update_icon() - return 0 + return FALSE /obj/item/assembly/prox_sensor/toggle_secure() secured = !secured @@ -39,14 +39,14 @@ /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM) if(!isobj(AM) && !isliving(AM)) return - if(istype(AM, /obj/effect)) + if(istype(AM, /obj/effect)) return if(AM.move_speed < 12) sense() /obj/item/assembly/prox_sensor/proc/sense() - if((!secured)||(!scanning)||(cooldown > 0)) - return 0 + if(!secured || !scanning || cooldown > 0) + return FALSE pulse(0) visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") cooldown = 2 @@ -69,7 +69,7 @@ /obj/item/assembly/prox_sensor/proc/toggle_scan() if(!secured) - return 0 + return FALSE scanning = !scanning update_icon() @@ -95,7 +95,7 @@ /obj/item/assembly/prox_sensor/interact(mob/user)//TODO: Change this to the wires thingy if(!secured) user.show_message("The [name] is unsecured!") - return 0 + return FALSE var/second = time % 60 var/minute = (time - second) / 60 var/dat = text("Proximity Sensor\n[] []:[]\n- - + +\n", (timing ? "Arming" : "Not Arming"), minute, second) diff --git a/code/modules/assembly/signaler.dm b/code/modules/assembly/signaler.dm index 6a2019b9001..fe8c283ca7a 100644 --- a/code/modules/assembly/signaler.dm +++ b/code/modules/assembly/signaler.dm @@ -38,13 +38,14 @@ return "\The [src]'s power light is [receiving?"on":"off"]" /obj/item/assembly/signaler/activate() - if(cooldown > 0) return 0 + if(cooldown > 0) + return FALSE cooldown = 2 spawn(10) process_cooldown() signal() - return 1 + return TRUE /obj/item/assembly/signaler/update_icon() if(holder) @@ -53,10 +54,6 @@ /obj/item/assembly/signaler/interact(mob/user as mob, flag1) var/t1 = "-------" -// if((src.b_stat && !( flag1 ))) -// t1 = text("-------
\nGreen Wire: []
\nRed Wire: []
\nBlue Wire: []
\n", (src.wires & 4 ? "Cut Wire" : "Mend Wire"), (src.wires & 2 ? "Cut Wire" : "Mend Wire"), (src.wires & 1 ? "Cut Wire" : "Mend Wire")) -// else -// t1 = "-------" Speaker: [src.listening ? "Engaged" : "Disengaged"]
var/dat = {" "} @@ -144,13 +141,14 @@ return ..(radio) /obj/item/assembly/signaler/receive_signal(datum/signal/signal) - if( !receiving || !signal ) - return 0 + if(!receiving || !signal) + return FALSE if(signal.encryption != code) - return 0 + return FALSE - if(!(src.wires & WIRE_RADIO_RECEIVE)) return 0 + if(!(src.wires & WIRE_RADIO_RECEIVE)) + return FALSE pulse(1) for(var/mob/O in hearers(1, src.loc)) diff --git a/code/modules/assembly/timer.dm b/code/modules/assembly/timer.dm index a585a689f2c..a432a05e985 100644 --- a/code/modules/assembly/timer.dm +++ b/code/modules/assembly/timer.dm @@ -14,127 +14,118 @@ var/repeat = 0 var/set_time = 10 - proc - timer_end() - - describe() - if(timing) - return "The timer is counting down from [time]!" - return "The timer is set for [time] seconds." - - activate() - if(!..()) return 0//Cooldown check - timing = !timing - update_icon() - return 0 - - - toggle_secure() - secured = !secured - if(secured) - processing_objects.Add(src) - else - timing = 0 - processing_objects.Remove(src) - update_icon() - return secured - - - timer_end() - if((!secured)||(cooldown > 0)) return 0 - pulse(0) - if(loc) - loc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") - cooldown = 2 - spawn(10) - process_cooldown() - return - - - process() - if(timing && (time > 0)) - time -= 2 // 2 seconds per process() - if(timing && time <= 0) - timing = repeat - timer_end() - time = set_time - return - +/obj/item/assembly/timer/describe() + if(timing) + return "The timer is counting down from [time]!" + return "The timer is set for [time] seconds." +/obj/item/assembly/timer/activate() + if(!..()) + return FALSE//Cooldown check + timing = !timing update_icon() - overlays.Cut() - attached_overlays = list() - if(timing) - overlays += "timer_timing" - attached_overlays += "timer_timing" - if(holder) - holder.update_icon() + return FALSE + +/obj/item/assembly/timer/toggle_secure() + secured = !secured + if(secured) + processing_objects.Add(src) + else + timing = 0 + processing_objects.Remove(src) + update_icon() + return secured + +/obj/item/assembly/timer/proc/timer_end() + if(!secured || cooldown > 0) + return FALSE + pulse(0) + if(loc) + loc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*") + cooldown = 2 + spawn(10) + process_cooldown() + return + +/obj/item/assembly/timer/process() + if(timing && (time > 0)) + time -= 2 // 2 seconds per process() + if(timing && time <= 0) + timing = repeat + timer_end() + time = set_time + return + +/obj/item/assembly/timer/update_icon() + overlays.Cut() + attached_overlays = list() + if(timing) + overlays += "timer_timing" + attached_overlays += "timer_timing" + if(holder) + holder.update_icon() + return + +/obj/item/assembly/timer/interact(mob/user as mob)//TODO: Have this use the wires + if(!secured) + user.show_message("The [name] is unsecured!") + return FALSE + var/second = time % 60 + var/minute = (time - second) / 60 + var/set_second = set_time % 60 + var/set_minute = (set_time - set_second) / 60 + if(second < 10) second = "0[second]" + if(set_second < 10) set_second = "0[set_second]" + + var/dat = {" + +

Timing Unit

+ [minute]:[second] [timing?"Stop":"Start"] Reset
+ Repeat: [repeat?"On":"Off"]
+ Timer set for + - - [set_minute]:[set_second] + + +
+
+

+ Refresh +

+ Close"} + var/datum/browser/popup = new(user, "timer", name, 400, 400) + popup.set_content(dat) + popup.open(0) + onclose(user, "timer") + return + +/obj/item/assembly/timer/Topic(href, href_list) + ..() + if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) + usr << browse(null, "window=timer") + onclose(usr, "timer") return + if(href_list["time"]) + timing = !timing + if(timing && istype(holder, /obj/item/transfer_valve)) + message_admins("[key_name_admin(usr)] activated [src] attachment on [holder].") + investigate_log("[key_name(usr)] activated [src] attachment for [loc]", INVESTIGATE_BOMB) + log_game("[key_name(usr)] activated [src] attachment for [loc]") + update_icon() + if(href_list["reset"]) + time = set_time - interact(mob/user as mob)//TODO: Have this use the wires - if(!secured) - user.show_message("The [name] is unsecured!") - return 0 - var/second = time % 60 - var/minute = (time - second) / 60 - var/set_second = set_time % 60 - var/set_minute = (set_time - set_second) / 60 - if(second < 10) second = "0[second]" - if(set_second < 10) set_second = "0[set_second]" + if(href_list["repeat"]) + repeat = !repeat - var/dat = {" - -

Timing Unit

- [minute]:[second] [timing?"Stop":"Start"] Reset
- Repeat: [repeat?"On":"Off"]
- Timer set for - - - [set_minute]:[set_second] + + -
-
-

- Refresh -

- Close"} - var/datum/browser/popup = new(user, "timer", name, 400, 400) - popup.set_content(dat) - popup.open(0) - onclose(user, "timer") - return - - - Topic(href, href_list) - ..() - if(!usr.canmove || usr.stat || usr.restrained() || !in_range(loc, usr)) - usr << browse(null, "window=timer") - onclose(usr, "timer") - return - - if(href_list["time"]) - timing = !timing - if(timing && istype(holder, /obj/item/transfer_valve)) - message_admins("[key_name_admin(usr)] activated [src] attachment on [holder].") - investigate_log("[key_name(usr)] activated [src] attachment for [loc]", INVESTIGATE_BOMB) - log_game("[key_name(usr)] activated [src] attachment for [loc]") - update_icon() - if(href_list["reset"]) + if(href_list["tp"]) + var/tp = text2num(href_list["tp"]) + set_time += tp + set_time = min(max(round(set_time), 6), 600) + if(!timing) time = set_time - if(href_list["repeat"]) - repeat = !repeat - - if(href_list["tp"]) - var/tp = text2num(href_list["tp"]) - set_time += tp - set_time = min(max(round(set_time), 6), 600) - if(!timing) - time = set_time - - if(href_list["close"]) - usr << browse(null, "window=timer") - return - - if(usr) - attack_self(usr) - + if(href_list["close"]) + usr << browse(null, "window=timer") return + + if(usr) + attack_self(usr) diff --git a/code/modules/assembly/voice.dm b/code/modules/assembly/voice.dm index 2dc6749bd73..e8462884cd4 100644 --- a/code/modules/assembly/voice.dm +++ b/code/modules/assembly/voice.dm @@ -41,12 +41,13 @@ /obj/item/assembly/voice/attack_self(mob/user) - if(!user || !secured) return 0 + if(!user || !secured) + return FALSE listening = !listening var/turf/T = get_turf(src) T.visible_message("[bicon(src)] beeps, \"[listening ? "Now" : "No longer"] recording input.\"") - return 1 + return TRUE /obj/item/assembly/voice/toggle_secure()