Removes devices

This commit is contained in:
atermonera
2022-04-17 00:10:48 -08:00
parent 7a9806d9b4
commit 9d71839ac6
600 changed files with 5636 additions and 5530 deletions

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly
/obj/item/assembly
name = "assembly"
desc = "A small electronic device that should never exist."
icon = 'icons/obj/assemblies/new_assemblies.dmi'
@@ -14,7 +14,7 @@
var/secured = 1
var/list/attached_overlays = null
var/obj/item/device/assembly_holder/holder = null
var/obj/item/assembly_holder/holder = null
var/cooldown = FALSE //To prevent spam
var/wires = WIRE_RECEIVE | WIRE_PULSE
@@ -24,49 +24,49 @@
var/const/WIRE_RADIO_RECEIVE = 8 //Allows Pulsed(1) to call Activate()
var/const/WIRE_RADIO_PULSE = 16 //Allows Pulse(1) to send a radio message
/obj/item/device/assembly/proc/holder_movement()
/obj/item/assembly/proc/holder_movement()
return
/obj/item/device/assembly/proc/process_cooldown()
/obj/item/assembly/proc/process_cooldown()
if(cooldown)
return FALSE
cooldown = TRUE
VARSET_IN(src, cooldown, FALSE, 2 SECONDS)
return TRUE
/obj/item/device/assembly/proc/pulsed(var/radio = 0)
/obj/item/assembly/proc/pulsed(var/radio = 0)
if(holder && (wires & WIRE_RECEIVE))
activate()
if(radio && (wires & WIRE_RADIO_RECEIVE))
activate()
return 1
/obj/item/device/assembly/proc/pulse(var/radio = 0)
/obj/item/assembly/proc/pulse(var/radio = 0)
if(holder && (wires & WIRE_PULSE))
holder.process_activation(src, 1, 0)
if(holder && (wires & WIRE_PULSE_SPECIAL))
holder.process_activation(src, 0, 1)
return 1
/obj/item/device/assembly/proc/activate()
/obj/item/assembly/proc/activate()
if(!secured || !process_cooldown())
return FALSE
return TRUE
/obj/item/device/assembly/proc/toggle_secure()
/obj/item/assembly/proc/toggle_secure()
secured = !secured
update_icon()
return secured
/obj/item/device/assembly/proc/attach_assembly(var/obj/item/device/assembly/A, var/mob/user)
holder = new/obj/item/device/assembly_holder(get_turf(src))
/obj/item/assembly/proc/attach_assembly(var/obj/item/assembly/A, var/mob/user)
holder = new/obj/item/assembly_holder(get_turf(src))
if(holder.attach(A,src,user))
to_chat(user, "<span class='notice'>You attach \the [A] to \the [src]!</span>")
return TRUE
/obj/item/device/assembly/attackby(obj/item/W as obj, mob/user as mob)
/obj/item/assembly/attackby(obj/item/W as obj, mob/user as mob)
if(isassembly(W))
var/obj/item/device/assembly/A = W
var/obj/item/assembly/A = W
if((!A.secured) && (!secured))
attach_assembly(A,user)
return
@@ -78,10 +78,10 @@
return
return ..()
/obj/item/device/assembly/process()
/obj/item/assembly/process()
return PROCESS_KILL
/obj/item/device/assembly/examine(mob/user)
/obj/item/assembly/examine(mob/user)
. = ..()
if((in_range(src, user) || loc == user))
if(secured)
@@ -89,20 +89,20 @@
else
. += "\The [src] can be attached!"
/obj/item/device/assembly/attack_self(mob/user as mob)
/obj/item/assembly/attack_self(mob/user as mob)
if(!user)
return 0
user.set_machine(src)
tgui_interact(user)
return 1
/obj/item/device/assembly/tgui_state(mob/user)
/obj/item/assembly/tgui_state(mob/user)
return GLOB.tgui_deep_inventory_state
/obj/item/device/assembly/tgui_interact(mob/user, datum/tgui/ui)
/obj/item/assembly/tgui_interact(mob/user, datum/tgui/ui)
return // tgui goes here
/obj/item/device/assembly/tgui_host()
if(istype(loc, /obj/item/device/assembly_holder))
/obj/item/assembly/tgui_host()
if(istype(loc, /obj/item/assembly_holder))
return loc.tgui_host()
return ..()

View File

@@ -1,29 +1,29 @@
/proc/isassembly(O)
if(istype(O, /obj/item/device/assembly))
if(istype(O, /obj/item/assembly))
return 1
return 0
/proc/isigniter(O)
if(istype(O, /obj/item/device/assembly/igniter))
if(istype(O, /obj/item/assembly/igniter))
return 1
return 0
/proc/isinfared(O)
if(istype(O, /obj/item/device/assembly/infra))
if(istype(O, /obj/item/assembly/infra))
return 1
return 0
/proc/isprox(O)
if(istype(O, /obj/item/device/assembly/prox_sensor))
if(istype(O, /obj/item/assembly/prox_sensor))
return 1
return 0
/proc/issignaler(O)
if(istype(O, /obj/item/device/assembly/signaler))
if(istype(O, /obj/item/assembly/signaler))
return 1
return 0
/proc/istimer(O)
if(istype(O, /obj/item/device/assembly/timer))
if(istype(O, /obj/item/assembly/timer))
return 1
return 0

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly_holder
/obj/item/assembly_holder
name = "Assembly"
icon = 'icons/obj/assemblies/new_assemblies.dmi'
icon_state = "holder"
@@ -9,11 +9,11 @@
throw_range = 10
var/secured = 0
var/obj/item/device/assembly/a_left = null
var/obj/item/device/assembly/a_right = null
var/obj/item/assembly/a_left = null
var/obj/item/assembly/a_right = null
var/obj/special_assembly = null
/obj/item/device/assembly_holder/proc/attach(var/obj/item/device/assembly/D, var/obj/item/device/assembly/D2, var/mob/user)
/obj/item/assembly_holder/proc/attach(var/obj/item/assembly/D, var/obj/item/assembly/D2, var/mob/user)
if(!D || !D2)
return FALSE
@@ -39,10 +39,10 @@
return TRUE
/obj/item/device/assembly_holder/proc/detached()
/obj/item/assembly_holder/proc/detached()
return
/obj/item/device/assembly_holder/update_icon()
/obj/item/assembly_holder/update_icon()
cut_overlays()
if(a_left)
add_overlay("[a_left.icon_state]_left")
@@ -55,7 +55,7 @@
if(master)
master.update_icon()
/obj/item/device/assembly_holder/examine(mob/user)
/obj/item/assembly_holder/examine(mob/user)
. = ..()
if ((in_range(src, user) || src.loc == user))
if (src.secured)
@@ -63,20 +63,20 @@
else
. += "\The [src] can be attached!"
/obj/item/device/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE)
/obj/item/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
if(isturf(old_loc))
unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc)
if(isturf(loc))
sense_proximity(callback = /atom/proc/HasProximity)
/obj/item/device/assembly_holder/HasProximity(turf/T, atom/movable/AM, old_loc)
/obj/item/assembly_holder/HasProximity(turf/T, atom/movable/AM, old_loc)
if(a_left)
a_left.HasProximity(T, AM, old_loc)
if(a_right)
a_right.HasProximity(T, AM, old_loc)
/obj/item/device/assembly_holder/Crossed(atom/movable/AM as mob|obj)
/obj/item/assembly_holder/Crossed(atom/movable/AM as mob|obj)
if(AM.is_incorporeal())
return
if(a_left)
@@ -84,25 +84,25 @@
if(a_right)
a_right.Crossed(AM)
/obj/item/device/assembly_holder/on_found(mob/finder as mob)
/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)
/obj/item/device/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE)
/obj/item/assembly_holder/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
if(a_left && a_right)
a_left.holder_movement()
a_right.holder_movement()
/obj/item/device/assembly_holder/attack_hand()//Perhapse this should be a holder_pickup proc instead, can add if needbe I guess
/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()
..()
/obj/item/device/assembly_holder/attackby(var/obj/item/W, var/mob/user)
/obj/item/assembly_holder/attackby(var/obj/item/W, var/mob/user)
if(W.is_screwdriver())
if(!a_left || !a_right)
to_chat(user, "<span class='warning'> BUG:Assembly part missing, please report this!</span>")
@@ -119,7 +119,7 @@
else
..()
/obj/item/device/assembly_holder/attack_self(var/mob/user)
/obj/item/assembly_holder/attack_self(var/mob/user)
src.add_fingerprint(user)
if(src.secured)
if(!a_left || !a_right)
@@ -131,9 +131,9 @@
if("Right") a_right.attack_self(user)
return
else
if(!istype(a_left,/obj/item/device/assembly/igniter))
if(!istype(a_left,/obj/item/assembly/igniter))
a_left.attack_self(user)
if(!istype(a_right,/obj/item/device/assembly/igniter))
if(!istype(a_right,/obj/item/assembly/igniter))
a_right.attack_self(user)
else
var/turf/T = get_turf(src)
@@ -147,7 +147,7 @@
a_right.forceMove(T)
qdel(src)
/obj/item/device/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1)
/obj/item/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1)
if(!D)
return 0
if(!secured)
@@ -161,23 +161,23 @@
master.receive_signal()
return 1
/obj/item/device/assembly_holder/hear_talk(mob/M, list/message_pieces, verb)
/obj/item/assembly_holder/hear_talk(mob/M, list/message_pieces, verb)
if(a_right)
a_right.hear_talk(M, message_pieces, verb)
if(a_left)
a_left.hear_talk(M, message_pieces, verb)
/obj/item/device/assembly_holder/timer_igniter
/obj/item/assembly_holder/timer_igniter
name = "timer-igniter assembly"
/obj/item/device/assembly_holder/timer_igniter/Initialize()
/obj/item/assembly_holder/timer_igniter/Initialize()
. = ..()
var/obj/item/device/assembly/igniter/ign = new(src)
var/obj/item/assembly/igniter/ign = new(src)
ign.secured = 1
ign.holder = src
var/obj/item/device/assembly/timer/tmr = new(src)
var/obj/item/assembly/timer/tmr = new(src)
tmr.time = 5
tmr.secured = 1
tmr.holder = src
@@ -188,26 +188,26 @@
update_icon()
name = initial(name) + " ([tmr.time] secs)"
loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure
loc.verbs += /obj/item/assembly_holder/timer_igniter/verb/configure
/obj/item/device/assembly_holder/timer_igniter/detached()
loc.verbs -= /obj/item/device/assembly_holder/timer_igniter/verb/configure
/obj/item/assembly_holder/timer_igniter/detached()
loc.verbs -= /obj/item/assembly_holder/timer_igniter/verb/configure
..()
/obj/item/device/assembly_holder/timer_igniter/verb/configure()
/obj/item/assembly_holder/timer_igniter/verb/configure()
set name = "Set Timer"
set category = "Object"
set src in usr
if ( !(usr.stat || usr.restrained()) )
var/obj/item/device/assembly_holder/holder
var/obj/item/assembly_holder/holder
if(istype(src,/obj/item/grenade/chem_grenade))
var/obj/item/grenade/chem_grenade/gren = src
holder=gren.detonator
var/obj/item/device/assembly/timer/tmr = holder.a_left
if(!istype(tmr,/obj/item/device/assembly/timer))
var/obj/item/assembly/timer/tmr = holder.a_left
if(!istype(tmr,/obj/item/assembly/timer))
tmr = holder.a_right
if(!istype(tmr,/obj/item/device/assembly/timer))
if(!istype(tmr,/obj/item/assembly/timer))
to_chat(usr, "<span class='notice'>This detonator has no timer.</span>")
return

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/igniter
/obj/item/assembly/igniter
name = "igniter"
desc = "A small electronic device able to ignite combustable substances."
icon_state = "igniter"
@@ -8,7 +8,7 @@
secured = 1
wires = WIRE_RECEIVE
/obj/item/device/assembly/igniter/activate()
/obj/item/assembly/igniter/activate()
if(!..())
return FALSE
@@ -19,7 +19,7 @@
var/turf/location = get_turf(loc)
if(location)
location.hotspot_expose(1000,1000)
if (istype(src.loc,/obj/item/device/assembly_holder))
if (istype(src.loc,/obj/item/assembly_holder))
if (istype(src.loc.loc, /obj/structure/reagent_dispensers/fueltank/))
var/obj/structure/reagent_dispensers/fueltank/tank = src.loc.loc
if (tank && tank.modded)
@@ -32,9 +32,9 @@
return TRUE
/obj/item/device/assembly/igniter/attack_self(var/mob/user)
/obj/item/assembly/igniter/attack_self(var/mob/user)
activate()
add_fingerprint(user)
/obj/item/device/assembly/igniter/is_hot()
/obj/item/assembly/igniter/is_hot()
return TRUE

View File

@@ -1,6 +1,6 @@
//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
/obj/item/device/assembly/infra
/obj/item/assembly/infra
name = "infrared emitter"
desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
icon_state = "infrared"
@@ -15,21 +15,21 @@
var/visible = 0
var/list/i_beams = null
/obj/item/device/assembly/infra/activate()
/obj/item/assembly/infra/activate()
if(!..())
return FALSE
on = !on
update_icon()
return TRUE
/obj/item/device/assembly/infra/toggle_secure()
/obj/item/assembly/infra/toggle_secure()
secured = !secured
if(!secured)
toggle_state(FALSE)
update_icon()
return secured
/obj/item/device/assembly/infra/proc/toggle_state(var/picked)
/obj/item/assembly/infra/proc/toggle_state(var/picked)
if(!isnull(picked))
on = picked
else
@@ -42,7 +42,7 @@
QDEL_LIST_NULL(i_beams)
return on
/obj/item/device/assembly/infra/update_icon()
/obj/item/assembly/infra/update_icon()
cut_overlays()
LAZYCLEARLIST(attached_overlays)
if(on)
@@ -52,7 +52,7 @@
if(holder)
holder.update_icon(2)
/obj/item/device/assembly/infra/process()
/obj/item/assembly/infra/process()
if(!on && i_beams)
QDEL_LIST_NULL(i_beams)
return
@@ -60,7 +60,7 @@
if(!i_beams && secured && (istype(loc, /turf) || (holder && istype(holder.loc, /turf))))
create_beams()
/obj/item/device/assembly/infra/proc/create_beams(var/limit = 8)
/obj/item/assembly/infra/proc/create_beams(var/limit = 8)
var/current_spot = get_turf(src)
for(var/i = 1 to limit)
var/obj/effect/beam/i_beam/I = new /obj/effect/beam/i_beam(current_spot)
@@ -73,26 +73,26 @@
i_beams |= I
I.visible = visible
/obj/item/device/assembly/infra/attack_hand()
/obj/item/assembly/infra/attack_hand()
QDEL_LIST_NULL(i_beams)
..()
/obj/item/device/assembly/infra/Move()
/obj/item/assembly/infra/Move()
var/t = dir
. = ..()
set_dir(t)
/obj/item/device/assembly/infra/Moved(atom/old_loc, direction, forced = FALSE)
/obj/item/assembly/infra/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
QDEL_LIST_NULL(i_beams)
/obj/item/device/assembly/infra/holder_movement()
/obj/item/assembly/infra/holder_movement()
if(!holder)
return FALSE
QDEL_LIST_NULL(i_beams)
return TRUE
/obj/item/device/assembly/infra/proc/trigger_beam()
/obj/item/assembly/infra/proc/trigger_beam()
if(!process_cooldown())
return FALSE
pulse(0)
@@ -100,7 +100,7 @@
if(!holder)
visible_message("[bicon(src)] *beep* *beep*")
/obj/item/device/assembly/infra/tgui_interact(mob/user, datum/tgui/ui)
/obj/item/assembly/infra/tgui_interact(mob/user, datum/tgui/ui)
if(!secured)
to_chat(user, "<span class='warning'>[src] is unsecured!</span>")
return FALSE
@@ -109,7 +109,7 @@
ui = new(user, src, "AssemblyInfrared", name)
ui.open()
/obj/item/device/assembly/infra/tgui_data(mob/user)
/obj/item/assembly/infra/tgui_data(mob/user)
var/list/data = ..()
data["on"] = on
@@ -117,7 +117,7 @@
return data
/obj/item/device/assembly/infra/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
/obj/item/assembly/infra/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
if(..())
return TRUE
@@ -133,7 +133,7 @@
CHECK_TICK
return TRUE
/obj/item/device/assembly/infra/verb/rotate_clockwise()
/obj/item/assembly/infra/verb/rotate_clockwise()
set name = "Rotate Infrared Laser Clockwise"
set category = "Object"
set src in usr
@@ -146,7 +146,7 @@
name = "i beam"
icon = 'icons/obj/projectiles.dmi'
icon_state = "ibeam"
var/obj/item/device/assembly/infra/master = null
var/obj/item/assembly/infra/master = null
var/visible = 0
anchored = 1

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/mousetrap
/obj/item/assembly/mousetrap
name = "mousetrap"
desc = "A handy little spring-loaded trap for catching pesty rodents."
icon_state = "mousetrap"
@@ -7,12 +7,12 @@
var/armed = 0
/obj/item/device/assembly/mousetrap/examine(var/mob/user)
/obj/item/assembly/mousetrap/examine(var/mob/user)
. = ..(user)
if(armed)
. += "It looks like it's armed."
/obj/item/device/assembly/mousetrap/update_icon()
/obj/item/assembly/mousetrap/update_icon()
if(armed)
icon_state = "mousetraparmed"
else
@@ -20,7 +20,7 @@
if(holder)
holder.update_icon()
/obj/item/device/assembly/mousetrap/proc/triggered(var/mob/target, var/type = "feet")
/obj/item/assembly/mousetrap/proc/triggered(var/mob/target, var/type = "feet")
if(!armed)
return
var/obj/item/organ/external/affecting = null
@@ -49,7 +49,7 @@
update_icon()
pulse(0)
/obj/item/device/assembly/mousetrap/attack_self(var/mob/living/user)
/obj/item/assembly/mousetrap/attack_self(var/mob/living/user)
if(!armed)
to_chat(user, "<span class='notice'>You arm [src].</span>")
else
@@ -67,7 +67,7 @@
update_icon()
playsound(user, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
/obj/item/device/assembly/mousetrap/attack_hand(var/mob/living/user)
/obj/item/assembly/mousetrap/attack_hand(var/mob/living/user)
if(armed)
if((CLUMSY in user.mutations) && prob(50))
var/which_hand = "l_hand"
@@ -79,7 +79,7 @@
return
..()
/obj/item/device/assembly/mousetrap/Crossed(var/atom/movable/AM)
/obj/item/assembly/mousetrap/Crossed(var/atom/movable/AM)
if(AM.is_incorporeal())
return
if(armed)
@@ -93,7 +93,7 @@
triggered(AM)
..()
/obj/item/device/assembly/mousetrap/on_found(var/mob/living/finder)
/obj/item/assembly/mousetrap/on_found(var/mob/living/finder)
if(armed)
finder.visible_message("<span class='warning'>[finder] accidentally sets off [src], breaking their fingers.</span>", \
"<span class='warning'>You accidentally trigger [src]!</span>")
@@ -101,17 +101,17 @@
return 1 //end the search!
return 0
/obj/item/device/assembly/mousetrap/hitby(var/atom/movable/A)
/obj/item/assembly/mousetrap/hitby(var/atom/movable/A)
if(!armed)
return ..()
visible_message("<span class='warning'>[src] is triggered by [A].</span>")
triggered(null)
/obj/item/device/assembly/mousetrap/armed
/obj/item/assembly/mousetrap/armed
icon_state = "mousetraparmed"
armed = 1
/obj/item/device/assembly/mousetrap/verb/hide_under()
/obj/item/assembly/mousetrap/verb/hide_under()
set src in oview(1)
set name = "Hide"
set category = "Object"

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/prox_sensor
/obj/item/assembly/prox_sensor
name = "proximity sensor"
desc = "Used for scanning and alerting when someone enters a certain proximity."
icon_state = "prox"
@@ -14,14 +14,14 @@
var/range = 2
/obj/item/device/assembly/prox_sensor/activate()
/obj/item/assembly/prox_sensor/activate()
if(!..())
return FALSE
timing = !timing
update_icon()
return FALSE
/obj/item/device/assembly/prox_sensor/toggle_secure()
/obj/item/assembly/prox_sensor/toggle_secure()
secured = !secured
if(secured)
START_PROCESSING(SSobj, src)
@@ -32,7 +32,7 @@
update_icon()
return secured
/obj/item/device/assembly/prox_sensor/HasProximity(turf/T, atom/movable/AM, old_loc)
/obj/item/assembly/prox_sensor/HasProximity(turf/T, atom/movable/AM, old_loc)
if(!istype(AM))
log_debug("DEBUG: HasProximity called with [AM] on [src] ([usr]).")
return
@@ -41,7 +41,7 @@
if (!isobserver(AM) && AM.move_speed < 12)
sense()
/obj/item/device/assembly/prox_sensor/proc/sense()
/obj/item/assembly/prox_sensor/proc/sense()
if((!holder && !secured) || !scanning || !process_cooldown())
return FALSE
var/turf/mainloc = get_turf(src)
@@ -49,7 +49,7 @@
if(!holder)
mainloc.visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
/obj/item/device/assembly/prox_sensor/process()
/obj/item/assembly/prox_sensor/process()
if(scanning)
var/turf/mainloc = get_turf(src)
for(var/mob/living/A in range(range,mainloc))
@@ -63,16 +63,16 @@
toggle_scan()
time = initial(time)
/obj/item/device/assembly/prox_sensor/dropped()
/obj/item/assembly/prox_sensor/dropped()
sense()
/obj/item/device/assembly/prox_sensor/proc/toggle_scan()
/obj/item/assembly/prox_sensor/proc/toggle_scan()
if(!secured)
return FALSE
scanning = !scanning
update_icon()
/obj/item/device/assembly/prox_sensor/update_icon()
/obj/item/assembly/prox_sensor/update_icon()
cut_overlays()
LAZYCLEARLIST(attached_overlays)
if(timing)
@@ -87,7 +87,7 @@
var/obj/item/grenade/chem_grenade/grenade = holder.loc
grenade.primed(scanning)
/obj/item/device/assembly/prox_sensor/Moved(atom/old_loc, direction, forced = FALSE)
/obj/item/assembly/prox_sensor/Moved(atom/old_loc, direction, forced = FALSE)
. = ..()
if(isturf(old_loc))
unsense_proximity(range = range, callback = /atom/proc/HasProximity, center = old_loc)
@@ -95,7 +95,7 @@
sense_proximity(range = range, callback = /atom/proc/HasProximity)
sense()
/obj/item/device/assembly/prox_sensor/tgui_interact(mob/user, datum/tgui/ui)
/obj/item/assembly/prox_sensor/tgui_interact(mob/user, datum/tgui/ui)
if(!secured)
to_chat(user, "<span class='warning'>[src] is unsecured!</span>")
return FALSE
@@ -104,7 +104,7 @@
ui = new(user, src, "AssemblyProx", name)
ui.open()
/obj/item/device/assembly/prox_sensor/tgui_data(mob/user)
/obj/item/assembly/prox_sensor/tgui_data(mob/user)
var/list/data = ..()
data["time"] = time * 10
@@ -115,7 +115,7 @@
return data
/obj/item/device/assembly/prox_sensor/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
/obj/item/assembly/prox_sensor/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
if(..())
return TRUE

View File

@@ -3,7 +3,7 @@
desc = "This appears to be made from both an electropack and a helmet."
icon_state = "shock_kit"
var/obj/item/clothing/head/helmet/part1 = null
var/obj/item/device/radio/electropack/part2 = null
var/obj/item/radio/electropack/part2 = null
var/status = 0
w_class = ITEMSIZE_HUGE

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/signaler
/obj/item/assembly/signaler
name = "remote signaling device"
desc = "Used to remotely activate devices. Tap against another secured signaler to transfer configuration."
icon_state = "signaller"
@@ -17,27 +17,27 @@
var/datum/radio_frequency/radio_connection
var/deadman = FALSE
/obj/item/device/assembly/signaler/Initialize()
/obj/item/assembly/signaler/Initialize()
. = ..()
set_frequency(frequency)
/obj/item/device/assembly/signaler/activate()
/obj/item/assembly/signaler/activate()
if(!process_cooldown())
return FALSE
signal()
return TRUE
/obj/item/device/assembly/signaler/update_icon()
/obj/item/assembly/signaler/update_icon()
if(holder)
holder.update_icon()
/obj/item/device/assembly/signaler/tgui_interact(mob/user, datum/tgui/ui)
/obj/item/assembly/signaler/tgui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
ui = new(user, src, "Signaler", name)
ui.open()
/obj/item/device/assembly/signaler/tgui_data(mob/user)
/obj/item/assembly/signaler/tgui_data(mob/user)
var/list/data = list()
data["frequency"] = frequency
data["code"] = code
@@ -45,7 +45,7 @@
data["maxFrequency"] = RADIO_HIGH_FREQ
return data
/obj/item/device/assembly/signaler/tgui_act(action, params)
/obj/item/assembly/signaler/tgui_act(action, params)
if(..())
return TRUE
@@ -71,9 +71,9 @@
update_icon()
/obj/item/device/assembly/signaler/attackby(var/obj/item/W, mob/user, params)
/obj/item/assembly/signaler/attackby(var/obj/item/W, mob/user, params)
if(issignaler(W))
var/obj/item/device/assembly/signaler/signaler2 = W
var/obj/item/assembly/signaler/signaler2 = W
if(secured && signaler2.secured)
code = signaler2.code
set_frequency(signaler2.frequency)
@@ -81,7 +81,7 @@
else
..()
/obj/item/device/assembly/signaler/proc/signal()
/obj/item/assembly/signaler/proc/signal()
if(!radio_connection)
return
if(is_jammed(src))
@@ -93,7 +93,7 @@
signal.data["message"] = "ACTIVATE"
radio_connection.post_signal(src, signal)
/obj/item/device/assembly/signaler/pulse(var/radio = 0)
/obj/item/assembly/signaler/pulse(var/radio = 0)
if(is_jammed(src))
return FALSE
if(connected && wires)
@@ -104,7 +104,7 @@
..(radio)
return TRUE
/obj/item/device/assembly/signaler/receive_signal(datum/signal/signal)
/obj/item/assembly/signaler/receive_signal(datum/signal/signal)
if(!signal)
return FALSE
if(signal.encryption != code)
@@ -119,7 +119,7 @@
for(var/mob/O in hearers(1, src.loc))
O.show_message("[bicon(src)] *beep* *beep*", 3, "*beep* *beep*", 2)
/obj/item/device/assembly/signaler/proc/set_frequency(new_frequency)
/obj/item/assembly/signaler/proc/set_frequency(new_frequency)
if(!frequency)
return
if(!radio_controller)
@@ -128,7 +128,7 @@
frequency = new_frequency
radio_connection = radio_controller.add_object(src, frequency, RADIO_CHAT)
/obj/item/device/assembly/signaler/process()
/obj/item/assembly/signaler/process()
if(!deadman)
STOP_PROCESSING(SSobj, src)
var/mob/M = src.loc
@@ -140,7 +140,7 @@
else if(prob(5))
M.visible_message("[M]'s finger twitches a bit over [src]'s signal button!")
/obj/item/device/assembly/signaler/verb/deadman_it()
/obj/item/assembly/signaler/verb/deadman_it()
set src in usr
set name = "Threaten to push the button!"
set desc = "BOOOOM!"
@@ -149,7 +149,7 @@
log_and_message_admins("is threatening to trigger a signaler deadman's switch", usr)
usr.visible_message("<font color='red'>[usr] moves their finger over [src]'s signal button...</font>")
/obj/item/device/assembly/signaler/Destroy()
/obj/item/assembly/signaler/Destroy()
if(radio_controller)
radio_controller.remove_object(src,frequency)
frequency = 0

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/timer
/obj/item/assembly/timer
name = "timer"
desc = "Used to time things. Works well with contraptions which has to count down. Tick tock."
icon_state = "timer"
@@ -13,7 +13,7 @@
var/time = 10
/obj/item/device/assembly/timer/activate()
/obj/item/assembly/timer/activate()
if(!..())
return FALSE
@@ -22,7 +22,7 @@
update_icon()
return 0
/obj/item/device/assembly/timer/toggle_secure()
/obj/item/assembly/timer/toggle_secure()
secured = !secured
if(secured)
START_PROCESSING(SSobj, src)
@@ -32,27 +32,27 @@
update_icon()
return secured
/obj/item/device/assembly/timer/proc/set_state(var/state)
/obj/item/assembly/timer/proc/set_state(var/state)
if(state && !timing) //Not running, starting though
START_PROCESSING(SSobj, src)
else if(timing && !state) //Running, stopping though
STOP_PROCESSING(SSobj, src)
timing = state
/obj/item/device/assembly/timer/proc/timer_end()
/obj/item/assembly/timer/proc/timer_end()
if(!secured)
return 0
pulse(0)
if(!holder)
visible_message("[bicon(src)] *beep* *beep*", "*beep* *beep*")
/obj/item/device/assembly/timer/process()
/obj/item/assembly/timer/process()
if(timing && time-- <= 0)
set_state(0)
timer_end()
time = 10
/obj/item/device/assembly/timer/update_icon()
/obj/item/assembly/timer/update_icon()
overlays.Cut()
attached_overlays = list()
if(timing)
@@ -62,7 +62,7 @@
holder.update_icon()
return
/obj/item/device/assembly/timer/tgui_interact(mob/user, datum/tgui/ui)
/obj/item/assembly/timer/tgui_interact(mob/user, datum/tgui/ui)
if(!secured)
to_chat(user, "<span class='warning'>[src] is unsecured!</span>")
return FALSE
@@ -71,13 +71,13 @@
ui = new(user, src, "AssemblyTimer", name)
ui.open()
/obj/item/device/assembly/timer/tgui_data(mob/user)
/obj/item/assembly/timer/tgui_data(mob/user)
var/list/data = ..()
data["time"] = time * 10
data["timing"] = timing
return data
/obj/item/device/assembly/timer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
/obj/item/assembly/timer/tgui_act(action, list/params, datum/tgui/ui, datum/tgui_state/state)
if(..())
return TRUE

View File

@@ -1,4 +1,4 @@
/obj/item/device/assembly/voice
/obj/item/assembly/voice
name = "voice analyzer"
desc = "A small electronic device able to record a voice sample, and send a signal when that sample is repeated."
icon_state = "voice"
@@ -7,7 +7,7 @@
var/listening = 0
var/recorded //the activation message
/obj/item/device/assembly/voice/hear_talk(mob/M, list/message_pieces, verb)
/obj/item/assembly/voice/hear_talk(mob/M, list/message_pieces, verb)
var/msg = multilingual_to_message(message_pieces)
if(listening)
recorded = msg
@@ -18,7 +18,7 @@
if(findtext(msg, recorded))
pulse(0)
/obj/item/device/assembly/voice/activate()
/obj/item/assembly/voice/activate()
if(secured)
if(!holder)
listening = !listening
@@ -26,12 +26,12 @@
T.visible_message("[bicon(src)] beeps, \"[listening ? "Now" : "No longer"] recording input.\"")
/obj/item/device/assembly/voice/attack_self(mob/user)
/obj/item/assembly/voice/attack_self(mob/user)
if(!user)
return FALSE
activate()
return TRUE
/obj/item/device/assembly/voice/toggle_secure()
/obj/item/assembly/voice/toggle_secure()
. = ..()
listening = 0