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()