mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-14 17:36:52 +01:00
[MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
This has zero reason to exist in our code base. We have no procs or variables tied to this. I removed it to make future modifications cleaner. --------- Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
This commit is contained in:
@@ -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'
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
var/secured = TRUE
|
||||
var/list/attached_overlays = null
|
||||
var/obj/item/device/assembly_holder/holder = null
|
||||
var/obj/item/assembly_holder/holder = null
|
||||
var/cooldown = 0 //To prevent spam
|
||||
|
||||
/**
|
||||
@@ -33,7 +33,7 @@
|
||||
*/
|
||||
var/wires = WIRE_RECEIVE_ASSEMBLY | WIRE_PULSE_ASSEMBLY
|
||||
|
||||
/obj/item/device/assembly/Destroy()
|
||||
/obj/item/assembly/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
holder = null
|
||||
@@ -42,11 +42,11 @@
|
||||
|
||||
. = ..()
|
||||
|
||||
/obj/item/device/assembly/proc/holder_movement()
|
||||
/obj/item/assembly/proc/holder_movement()
|
||||
return
|
||||
|
||||
//Called via spawn(10) to have it count down the cooldown var
|
||||
/obj/item/device/assembly/proc/process_cooldown()
|
||||
/obj/item/assembly/proc/process_cooldown()
|
||||
cooldown--
|
||||
if(cooldown <= 0)
|
||||
return FALSE
|
||||
@@ -54,7 +54,7 @@
|
||||
return TRUE
|
||||
|
||||
// Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs
|
||||
/obj/item/device/assembly/proc/pulsed(var/radio = 0)
|
||||
/obj/item/assembly/proc/pulsed(var/radio = 0)
|
||||
if(holder && (wires & WIRE_RECEIVE_ASSEMBLY))
|
||||
activate()
|
||||
if(radio && (wires & WIRE_RADIO_RECEIVE))
|
||||
@@ -62,36 +62,36 @@
|
||||
return TRUE
|
||||
|
||||
// Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct
|
||||
/obj/item/device/assembly/proc/pulse(var/radio = 0)
|
||||
/obj/item/assembly/proc/pulse(var/radio = 0)
|
||||
if(holder && (wires & WIRE_PULSE_ASSEMBLY))
|
||||
holder.process_activation(src, TRUE, FALSE)
|
||||
if(holder && (wires & WIRE_PULSE_SPECIAL))
|
||||
holder.process_activation(src, FALSE, TRUE)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/proc/activate()
|
||||
/obj/item/assembly/proc/activate()
|
||||
if(!secured || cooldown)
|
||||
return FALSE
|
||||
cooldown = 2
|
||||
addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 1 SECOND)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/proc/toggle_secure()
|
||||
/obj/item/assembly/proc/toggle_secure()
|
||||
secured = !secured
|
||||
update_icon()
|
||||
return secured
|
||||
|
||||
// Called when an assembly is attacked by another
|
||||
/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_NOTICE("You attach \the [A] to \the [src]!"))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/assembly/attackby(obj/item/attacking_item, mob/user)
|
||||
/obj/item/assembly/attackby(obj/item/attacking_item, mob/user)
|
||||
if(isassembly(attacking_item))
|
||||
var/obj/item/device/assembly/A = attacking_item
|
||||
var/obj/item/assembly/A = attacking_item
|
||||
if(!A.secured && !secured)
|
||||
attach_assembly(A, user)
|
||||
return
|
||||
@@ -101,31 +101,31 @@
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly/process()
|
||||
/obj/item/assembly/process()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/feedback_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
if((distance <= 1 || loc == user) && !secured)
|
||||
. += SPAN_NOTICE("\The [src] can be attached!")
|
||||
|
||||
/obj/item/device/assembly/attack_self(mob/user)
|
||||
/obj/item/assembly/attack_self(mob/user)
|
||||
if(!user)
|
||||
return FALSE
|
||||
interact(user)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
/obj/item/assembly/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
/obj/item/device/assembly/interact(mob/user)
|
||||
/obj/item/assembly/interact(mob/user)
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/ui_host(mob/user)
|
||||
/obj/item/assembly/ui_host(mob/user)
|
||||
. = ..()
|
||||
// Sets the UI host to the transfer valve if its mounted on a transfer_valve
|
||||
if(istype(loc,/obj/item/device/transfer_valve))
|
||||
if(istype(loc,/obj/item/transfer_valve))
|
||||
return loc
|
||||
|
||||
return holder || .
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/device/onetankbomb
|
||||
/obj/item/onetankbomb
|
||||
name = "bomb"
|
||||
icon = 'icons/obj/tank.dmi'
|
||||
item_state = "assembly"
|
||||
@@ -9,22 +9,22 @@
|
||||
obj_flags = OBJ_FLAG_CONDUCTABLE
|
||||
movable_flags = MOVABLE_FLAG_PROXMOVE
|
||||
var/status = FALSE // FALSE - not readied // TRUE - bomb finished with welder
|
||||
var/obj/item/device/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
|
||||
var/obj/item/assembly_holder/bombassembly = null //The first part of the bomb is an assembly holder, holding an igniter+some device
|
||||
var/obj/item/tank/bombtank = null //the second part of the bomb is a phoron tank
|
||||
|
||||
/obj/item/device/onetankbomb/examine(mob/user, distance, is_adjacent, infix, suffix, show_extended)
|
||||
/obj/item/onetankbomb/examine(mob/user, distance, is_adjacent, infix, suffix, show_extended)
|
||||
. = ..()
|
||||
examinate(user, bombtank, show_extended)
|
||||
|
||||
/obj/item/device/onetankbomb/update_icon()
|
||||
/obj/item/onetankbomb/update_icon()
|
||||
if(bombtank)
|
||||
icon_state = bombtank.icon_state
|
||||
if(bombassembly)
|
||||
AddOverlays(bombassembly)
|
||||
AddOverlays("bomb_assembly")
|
||||
|
||||
/obj/item/device/onetankbomb/attackby(obj/item/attacking_item, mob/user)
|
||||
if(istype(attacking_item, /obj/item/device/analyzer))
|
||||
/obj/item/onetankbomb/attackby(obj/item/attacking_item, mob/user)
|
||||
if(istype(attacking_item, /obj/item/analyzer))
|
||||
bombtank.attackby(attacking_item, user)
|
||||
return
|
||||
if(!status && (attacking_item.tool_behaviour == TOOL_WRENCH || istype(attacking_item, /obj/item/wirecutters/bomb))) //This is basically bomb assembly code inverted. apparently it works.
|
||||
@@ -57,17 +57,17 @@
|
||||
add_fingerprint(user)
|
||||
..()
|
||||
|
||||
/obj/item/device/onetankbomb/attack_self(mob/user) //pressing the bomb accesses its assembly
|
||||
/obj/item/onetankbomb/attack_self(mob/user) //pressing the bomb accesses its assembly
|
||||
bombassembly.attack_self(user, TRUE)
|
||||
add_fingerprint(user)
|
||||
return
|
||||
|
||||
/obj/item/device/onetankbomb/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here.
|
||||
/obj/item/onetankbomb/receive_signal() //This is mainly called by the sensor through sense() to the holder, and from the holder to here.
|
||||
visible_message("[icon2html(src, viewers(get_turf(src)))] *beep* *beep*", "*beep* *beep*")
|
||||
addtimer(CALLBACK(src, PROC_REF(delayed_explosion)), 10 SECONDS)
|
||||
|
||||
|
||||
/obj/item/device/onetankbomb/proc/delayed_explosion()
|
||||
/obj/item/onetankbomb/proc/delayed_explosion()
|
||||
if(QDELETED(src))
|
||||
return
|
||||
if(status)
|
||||
@@ -75,21 +75,21 @@
|
||||
else
|
||||
bombtank.release()
|
||||
|
||||
/obj/item/device/onetankbomb/HasProximity(atom/movable/AM as mob|obj)
|
||||
/obj/item/onetankbomb/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(bombassembly)
|
||||
bombassembly.HasProximity(AM)
|
||||
|
||||
// ---------- Procs below are for tanks that are used exclusively in 1-tank bombs ----------
|
||||
|
||||
/obj/item/tank/proc/bomb_assemble(W, user) //Bomb assembly proc. This turns assembly+tank into a bomb
|
||||
var/obj/item/device/assembly_holder/S = W
|
||||
var/obj/item/assembly_holder/S = W
|
||||
var/mob/M = user
|
||||
if(!S.secured) //Check if the assembly is secured
|
||||
return
|
||||
if(isigniter(S.a_left) == isigniter(S.a_right)) //Check if either part of the assembly has an igniter, but if both parts are igniters, then fuck it
|
||||
return
|
||||
|
||||
var/obj/item/device/onetankbomb/R = new /obj/item/device/onetankbomb(loc)
|
||||
var/obj/item/onetankbomb/R = new /obj/item/onetankbomb(loc)
|
||||
|
||||
//this is really bad code, TODO: Make it better
|
||||
M.drop_item() //Remove the assembly from your hands
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
/proc/isassembly(O)
|
||||
return istype(O, /obj/item/device/assembly)
|
||||
return istype(O, /obj/item/assembly)
|
||||
|
||||
/proc/isigniter(O)
|
||||
return istype(O, /obj/item/device/assembly/igniter)
|
||||
return istype(O, /obj/item/assembly/igniter)
|
||||
|
||||
/proc/isinfared(O)
|
||||
return istype(O, /obj/item/device/assembly/infra)
|
||||
return istype(O, /obj/item/assembly/infra)
|
||||
|
||||
/proc/isprox(O)
|
||||
return istype(O, /obj/item/device/assembly/prox_sensor)
|
||||
return istype(O, /obj/item/assembly/prox_sensor)
|
||||
|
||||
/proc/issignaler(O)
|
||||
return istype(O, /obj/item/device/assembly/signaler)
|
||||
return istype(O, /obj/item/assembly/signaler)
|
||||
|
||||
/proc/istimer(O)
|
||||
return istype(O, /obj/item/device/assembly/timer)
|
||||
return istype(O, /obj/item/assembly/timer)
|
||||
|
||||
// IsSpecialAssemblyIf true is an object that can be attached to an assembly holder but is a special thing like a phoron can or door
|
||||
/obj/proc/IsSpecialAssembly()
|
||||
|
||||
@@ -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"
|
||||
@@ -11,11 +11,11 @@
|
||||
throw_range = 10
|
||||
|
||||
var/secured = FALSE
|
||||
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/feedback_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly_holder/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
if(distance <= 1 || src.loc == user)
|
||||
if (src.secured)
|
||||
@@ -23,7 +23,7 @@
|
||||
else
|
||||
. += SPAN_NOTICE("\The [src] can be attached!")
|
||||
|
||||
/obj/item/device/assembly_holder/Initialize(mapload, ...)
|
||||
/obj/item/assembly_holder/Initialize(mapload, ...)
|
||||
. = ..()
|
||||
become_hearing_sensitive()
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/item/device/assembly_holder/Destroy()
|
||||
/obj/item/assembly_holder/Destroy()
|
||||
lose_hearing_sensitivity()
|
||||
|
||||
QDEL_NULL(a_left)
|
||||
@@ -42,17 +42,17 @@
|
||||
|
||||
. = ..()
|
||||
|
||||
/obj/item/device/assembly_holder/proc/detached()
|
||||
/obj/item/assembly_holder/proc/detached()
|
||||
if(a_left)
|
||||
a_left.holder_movement()
|
||||
if(a_right)
|
||||
a_right.holder_movement()
|
||||
return
|
||||
|
||||
/obj/item/device/assembly_holder/IsAssemblyHolder()
|
||||
/obj/item/assembly_holder/IsAssemblyHolder()
|
||||
return TRUE
|
||||
|
||||
/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(!istype(D) || !istype(D2))
|
||||
return FALSE
|
||||
if(D.secured || D2.secured)
|
||||
@@ -71,13 +71,13 @@
|
||||
user.put_in_hands(src)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly_holder/proc/attach_special(var/obj/O, var/mob/user)
|
||||
/obj/item/assembly_holder/proc/attach_special(var/obj/O, var/mob/user)
|
||||
if(!O)
|
||||
return
|
||||
if(!O.IsSpecialAssembly())
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/assembly_holder/update_icon()
|
||||
/obj/item/assembly_holder/update_icon()
|
||||
ClearOverlays()
|
||||
if(a_left)
|
||||
AddOverlays("[a_left.icon_state]_left")
|
||||
@@ -90,7 +90,7 @@
|
||||
if(master)
|
||||
master.update_icon()
|
||||
|
||||
/obj/item/device/assembly_holder/HasProximity(atom/movable/AM as mob|obj)
|
||||
/obj/item/assembly_holder/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(a_left)
|
||||
a_left.HasProximity(AM)
|
||||
if(a_right)
|
||||
@@ -98,7 +98,7 @@
|
||||
if(special_assembly)
|
||||
special_assembly.HasProximity(AM)
|
||||
|
||||
/obj/item/device/assembly_holder/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
/obj/item/assembly_holder/proc/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(a_left)
|
||||
@@ -106,7 +106,7 @@
|
||||
if(a_right)
|
||||
a_right.on_entered(source, arrived, old_loc, old_locs)
|
||||
|
||||
/obj/item/device/assembly_holder/on_found(mob/finder)
|
||||
/obj/item/assembly_holder/on_found(mob/finder)
|
||||
if(a_left)
|
||||
a_left.on_found(finder)
|
||||
if(a_right)
|
||||
@@ -116,20 +116,20 @@
|
||||
var/obj/item/S = special_assembly
|
||||
S.on_found(finder)
|
||||
|
||||
/obj/item/device/assembly_holder/Move()
|
||||
/obj/item/assembly_holder/Move()
|
||||
. = ..()
|
||||
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()
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly_holder/attackby(obj/item/attacking_item, mob/user)
|
||||
/obj/item/assembly_holder/attackby(obj/item/attacking_item, mob/user)
|
||||
if(attacking_item.tool_behaviour == TOOL_SCREWDRIVER)
|
||||
if(!a_left || !a_right)
|
||||
to_chat(user, SPAN_DANGER("BUG: Assembly part missing, please report this!"))
|
||||
@@ -148,7 +148,7 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly_holder/attack_self(mob/user)
|
||||
/obj/item/assembly_holder/attack_self(mob/user)
|
||||
add_fingerprint(user)
|
||||
if(secured)
|
||||
if(!a_left || !a_right)
|
||||
@@ -162,9 +162,9 @@
|
||||
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)
|
||||
@@ -184,7 +184,7 @@
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/item/device/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1, var/special = 1)
|
||||
/obj/item/assembly_holder/proc/process_activation(var/obj/D, var/normal = 1, var/special = 1)
|
||||
if(!D)
|
||||
return FALSE
|
||||
if(!secured)
|
||||
@@ -198,22 +198,22 @@
|
||||
master.receive_signal()
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly_holder/hear_talk(mob/living/M, msg, verb, datum/language/speaking)
|
||||
/obj/item/assembly_holder/hear_talk(mob/living/M, msg, verb, datum/language/speaking)
|
||||
if(a_right)
|
||||
a_right.hear_talk(M, msg, verb, speaking)
|
||||
if(a_left)
|
||||
a_left.hear_talk(M, msg, verb, speaking)
|
||||
|
||||
/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(mapload, ...)
|
||||
/obj/item/assembly_holder/timer_igniter/Initialize(mapload, ...)
|
||||
. = ..()
|
||||
|
||||
var/obj/item/device/assembly/igniter/ign = new(src)
|
||||
var/obj/item/assembly/igniter/ign = new(src)
|
||||
ign.secured = TRUE
|
||||
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 = TRUE
|
||||
tmr.holder = src
|
||||
@@ -224,26 +224,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.Held"
|
||||
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_WARNING("This detonator has no timer."))
|
||||
return
|
||||
|
||||
|
||||
@@ -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"
|
||||
@@ -10,7 +10,7 @@
|
||||
secured = TRUE
|
||||
wires = WIRE_RECEIVE_ASSEMBLY
|
||||
|
||||
/obj/item/device/assembly/igniter/activate()
|
||||
/obj/item/assembly/igniter/activate()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE //Cooldown check
|
||||
@@ -22,7 +22,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?.is_leaking)
|
||||
@@ -30,9 +30,9 @@
|
||||
spark(src, 4, GLOB.cardinals)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/igniter/attack_self(mob/user)
|
||||
/obj/item/assembly/igniter/attack_self(mob/user)
|
||||
activate()
|
||||
add_fingerprint(user)
|
||||
|
||||
/obj/item/device/assembly/igniter/isFlameSource()
|
||||
/obj/item/assembly/igniter/isFlameSource()
|
||||
return TRUE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/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,18 +15,18 @@
|
||||
var/obj/effect/beam/i_beam/first = null
|
||||
var/turf/beam_origin //If we're not on this turf anymore, we've moved. Catches holder.master movements when we're attached to bombs and stuff.
|
||||
|
||||
/obj/item/device/assembly/infra/feedback_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly/infra/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
var/direction_text = dir2text(dir)
|
||||
. += SPAN_NOTICE("It is facing [direction_text].")
|
||||
|
||||
/obj/item/device/assembly/infra/activate()
|
||||
/obj/item/assembly/infra/activate()
|
||||
if(!..())
|
||||
return FALSE //Cooldown check
|
||||
toggle_on()
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/infra/proc/toggle_on()
|
||||
/obj/item/assembly/infra/proc/toggle_on()
|
||||
on = !on
|
||||
if(secured && on)
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
@@ -36,7 +36,7 @@
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
update_icon()
|
||||
|
||||
/obj/item/device/assembly/infra/toggle_secure()
|
||||
/obj/item/assembly/infra/toggle_secure()
|
||||
secured = !secured
|
||||
if(secured && on)
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
@@ -47,7 +47,7 @@
|
||||
update_icon()
|
||||
return secured
|
||||
|
||||
/obj/item/device/assembly/infra/update_icon()
|
||||
/obj/item/assembly/infra/update_icon()
|
||||
ClearOverlays()
|
||||
attached_overlays = list()
|
||||
if(on)
|
||||
@@ -57,13 +57,13 @@
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
/obj/item/device/assembly/infra/rotate(var/mob/user, var/anchored_ignore = FALSE)
|
||||
/obj/item/assembly/infra/rotate(var/mob/user, var/anchored_ignore = FALSE)
|
||||
if(..())
|
||||
var/direction_text = dir2text(dir)
|
||||
to_chat(user, SPAN_NOTICE("You rotate \the [src] to face [direction_text]."))
|
||||
QDEL_NULL(first)
|
||||
|
||||
/obj/item/device/assembly/infra/process()
|
||||
/obj/item/assembly/infra/process()
|
||||
|
||||
if(!on || !secured)
|
||||
QDEL_NULL(first)
|
||||
@@ -100,23 +100,23 @@
|
||||
first.process()
|
||||
|
||||
|
||||
/obj/item/device/assembly/infra/attack_hand()
|
||||
/obj/item/assembly/infra/attack_hand()
|
||||
QDEL_NULL(first)
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly/infra/Move()
|
||||
/obj/item/assembly/infra/Move()
|
||||
var/t = dir
|
||||
. = ..()
|
||||
set_dir(t)
|
||||
QDEL_NULL(first)
|
||||
|
||||
/obj/item/device/assembly/infra/holder_movement()
|
||||
/obj/item/assembly/infra/holder_movement()
|
||||
if(!holder)
|
||||
return FALSE
|
||||
QDEL_NULL(first)
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/infra/proc/trigger_beam()
|
||||
/obj/item/assembly/infra/proc/trigger_beam()
|
||||
if(!secured || !on || cooldown)
|
||||
return FALSE
|
||||
pulse(FALSE)
|
||||
@@ -125,26 +125,26 @@
|
||||
cooldown = 2
|
||||
addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 10)
|
||||
|
||||
/obj/item/device/assembly/infra/interact(mob/user)
|
||||
/obj/item/assembly/infra/interact(mob/user)
|
||||
. = ..()
|
||||
if(!secured)
|
||||
to_chat(user, SPAN_WARNING("\The [src] is unsecured!"))
|
||||
return
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/device/assembly/infra/ui_interact(mob/user, datum/tgui/ui)
|
||||
/obj/item/assembly/infra/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "Infrared", "Infrared Emitter", 320, 220)
|
||||
ui.open()
|
||||
|
||||
/obj/item/device/assembly/infra/ui_data(mob/user)
|
||||
/obj/item/assembly/infra/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
data["active"] = on
|
||||
data["visible"] = visible
|
||||
return data
|
||||
|
||||
/obj/item/device/assembly/infra/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
/obj/item/assembly/infra/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
@@ -166,7 +166,7 @@
|
||||
icon = 'icons/obj/projectiles.dmi'
|
||||
icon_state = "ibeam"
|
||||
var/obj/effect/beam/i_beam/next = null
|
||||
var/obj/item/device/assembly/infra/master = null
|
||||
var/obj/item/assembly/infra/master = null
|
||||
var/limit = null
|
||||
|
||||
/obj/effect/beam/i_beam/New(loc, var/set_master)
|
||||
|
||||
@@ -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."
|
||||
item_icons = list(
|
||||
@@ -13,7 +13,7 @@
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 100)
|
||||
var/armed = FALSE
|
||||
|
||||
/obj/item/device/assembly/mousetrap/Initialize(mapload)
|
||||
/obj/item/assembly/mousetrap/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
var/static/list/loc_connections = list(
|
||||
@@ -22,17 +22,17 @@
|
||||
|
||||
AddElement(/datum/element/connect_loc, loc_connections)
|
||||
|
||||
/obj/item/device/assembly/mousetrap/feedback_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly/mousetrap/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
if(armed)
|
||||
. += SPAN_NOTICE("It looks like it's armed.")
|
||||
|
||||
/obj/item/device/assembly/mousetrap/update_icon()
|
||||
/obj/item/assembly/mousetrap/update_icon()
|
||||
icon_state = armed ? "mousetraparmed" : "mousetrap"
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
/obj/item/device/assembly/mousetrap/proc/triggered(var/mob/living/target, var/type = "feet")
|
||||
/obj/item/assembly/mousetrap/proc/triggered(var/mob/living/target, var/type = "feet")
|
||||
if(!armed || !istype(target))
|
||||
return
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
update_icon()
|
||||
pulse(FALSE)
|
||||
|
||||
/obj/item/device/assembly/mousetrap/attack_self(mob/living/user)
|
||||
/obj/item/assembly/mousetrap/attack_self(mob/living/user)
|
||||
if(!armed)
|
||||
to_chat(user, SPAN_NOTICE("You arm \the [src]."))
|
||||
else
|
||||
@@ -76,12 +76,12 @@
|
||||
update_icon()
|
||||
playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3)
|
||||
|
||||
/obj/item/device/assembly/mousetrap/attack_hand(mob/living/user)
|
||||
/obj/item/assembly/mousetrap/attack_hand(mob/living/user)
|
||||
if(armed && clumsy_check(user))
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly/mousetrap/proc/clumsy_check(var/mob/living/user)
|
||||
/obj/item/assembly/mousetrap/proc/clumsy_check(var/mob/living/user)
|
||||
if((user.is_clumsy() || (user.mutations & DUMB)) && prob(50))
|
||||
var/which_hand = BP_L_HAND
|
||||
if(!user.hand)
|
||||
@@ -91,7 +91,7 @@
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/assembly/mousetrap/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
/obj/item/assembly/mousetrap/on_entered(datum/source, atom/movable/arrived, atom/old_loc, list/atom/old_locs)
|
||||
if(armed)
|
||||
if(israt(arrived))
|
||||
triggered(arrived)
|
||||
@@ -106,24 +106,24 @@
|
||||
L.visible_message(SPAN_WARNING("\The [L] accidentally steps on \the [src]."), SPAN_WARNING("You accidentally step on \the [src]."))
|
||||
|
||||
|
||||
/obj/item/device/assembly/mousetrap/on_found(mob/finder)
|
||||
/obj/item/assembly/mousetrap/on_found(mob/finder)
|
||||
if(armed)
|
||||
finder.visible_message(SPAN_WARNING("[finder] accidentally sets off \the [src]!"), SPAN_WARNING("You accidentally trigger \the [src]!"))
|
||||
triggered(finder, finder.hand ? BP_L_HAND : BP_R_HAND)
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/assembly/mousetrap/hitby(atom/movable/hitting_atom, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
|
||||
/obj/item/assembly/mousetrap/hitby(atom/movable/hitting_atom, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
|
||||
if(!armed)
|
||||
return ..()
|
||||
visible_message(SPAN_WARNING("\The [src] is triggered by \the [hitting_atom]."))
|
||||
triggered(null)
|
||||
|
||||
/obj/item/device/assembly/mousetrap/armed
|
||||
/obj/item/assembly/mousetrap/armed
|
||||
icon_state = "mousetraparmed"
|
||||
armed = TRUE
|
||||
|
||||
/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"
|
||||
|
||||
@@ -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"
|
||||
@@ -16,7 +16,7 @@
|
||||
var/time = 10
|
||||
var/range = 2
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/activate()
|
||||
/obj/item/assembly/prox_sensor/activate()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return 0//Cooldown check
|
||||
@@ -24,7 +24,7 @@
|
||||
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(SSprocessing, src)
|
||||
@@ -35,7 +35,7 @@
|
||||
update_icon()
|
||||
return secured
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj)
|
||||
/obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(!istype(AM))
|
||||
LOG_DEBUG("DEBUG: HasProximity called with [AM] on [src] ([usr]).")
|
||||
return
|
||||
@@ -44,7 +44,7 @@
|
||||
if(AM.move_speed < 12)
|
||||
sense()
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/proc/sense()
|
||||
/obj/item/assembly/prox_sensor/proc/sense()
|
||||
var/turf/mainloc = get_turf(src)
|
||||
if((!holder && !secured) || !scanning || cooldown)
|
||||
return FALSE
|
||||
@@ -54,7 +54,7 @@
|
||||
cooldown = 2
|
||||
addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 1 SECOND)
|
||||
|
||||
/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))
|
||||
@@ -69,19 +69,19 @@
|
||||
toggle_scan()
|
||||
time = 10
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/dropped()
|
||||
/obj/item/assembly/prox_sensor/dropped()
|
||||
. = ..()
|
||||
spawn(0)
|
||||
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()
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/update_icon()
|
||||
/obj/item/assembly/prox_sensor/update_icon()
|
||||
ClearOverlays()
|
||||
attached_overlays = list()
|
||||
if(timing)
|
||||
@@ -96,24 +96,24 @@
|
||||
var/obj/item/grenade/chem_grenade/grenade = holder.loc
|
||||
grenade.primed(scanning)
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/Move()
|
||||
/obj/item/assembly/prox_sensor/Move()
|
||||
. = ..()
|
||||
sense()
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/interact(mob/user)
|
||||
/obj/item/assembly/prox_sensor/interact(mob/user)
|
||||
if(!secured)
|
||||
to_chat(user, SPAN_WARNING("\The [src] is unsecured!"))
|
||||
return FALSE
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/ui_interact(mob/user, datum/tgui/ui)
|
||||
/obj/item/assembly/prox_sensor/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "Proximity", "Proximity Sensor", 450, 360)
|
||||
ui.open()
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/ui_data(mob/user)
|
||||
/obj/item/assembly/prox_sensor/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["timeractive"] = timing
|
||||
@@ -123,7 +123,7 @@
|
||||
|
||||
return data
|
||||
|
||||
/obj/item/device/assembly/prox_sensor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
/obj/item/assembly/prox_sensor/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/item/device/assembly/signaler
|
||||
/obj/item/assembly/signaler
|
||||
name = "remote signaling device"
|
||||
desc = "Used to remotely activate devices."
|
||||
icon_state = "signaller"
|
||||
@@ -20,20 +20,20 @@
|
||||
var/datum/radio_frequency/radio_connection
|
||||
var/deadman = FALSE
|
||||
|
||||
/obj/item/device/assembly/signaler/mechanics_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly/signaler/mechanics_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Signalers can be attached to a variety of machinery to remotely activate them."
|
||||
. += "Signalers can be to individual wires within machinery; when a signal is received, it will pulse the wire much like a multitool."
|
||||
|
||||
/obj/item/device/assembly/signaler/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
/obj/item/assembly/signaler/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Signalers can be attached to a variety of machinery to do unspeakable harm or serve as fantastic diversions."
|
||||
|
||||
/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(cooldown)
|
||||
return FALSE
|
||||
cooldown = 2
|
||||
@@ -42,21 +42,21 @@
|
||||
signal()
|
||||
return TRUE
|
||||
|
||||
/obj/item/device/assembly/signaler/update_icon()
|
||||
/obj/item/assembly/signaler/update_icon()
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/signaler/interact(mob/user, flag1)
|
||||
/obj/item/assembly/signaler/interact(mob/user, flag1)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/device/assembly/signaler/ui_interact(mob/user, datum/tgui/ui)
|
||||
/obj/item/assembly/signaler/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "Signaler", "Signaler", 320, 220)
|
||||
ui.open()
|
||||
|
||||
/obj/item/device/assembly/signaler/ui_data(mob/user)
|
||||
/obj/item/assembly/signaler/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["frequency"] = format_frequency(frequency)
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
return data
|
||||
|
||||
/obj/item/device/assembly/signaler/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
/obj/item/assembly/signaler/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
@@ -85,7 +85,7 @@
|
||||
spawn(0)
|
||||
signal(usr)
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/signal(var/mob/user)
|
||||
/obj/item/assembly/signaler/proc/signal(var/mob/user)
|
||||
if(!radio_connection)
|
||||
return
|
||||
if(within_jamming_range(src))
|
||||
@@ -99,7 +99,7 @@
|
||||
radio_connection.post_signal(src, signal)
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/signaler/pulse(var/radio = FALSE)
|
||||
/obj/item/assembly/signaler/pulse(var/radio = FALSE)
|
||||
if(connected && wires)
|
||||
connected.pulse_assembly(src)
|
||||
else if(holder)
|
||||
@@ -110,7 +110,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
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
else if(!holder)
|
||||
audible_message("[icon2html(src, viewers(get_turf(src)))] [capitalize_first_letters(src.name)] beeps, \"<b>Beep beep!</b>\"")
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/set_frequency(new_frequency)
|
||||
/obj/item/assembly/signaler/proc/set_frequency(new_frequency)
|
||||
if(!frequency)
|
||||
return
|
||||
SSradio.remove_object(src, frequency)
|
||||
@@ -147,7 +147,7 @@
|
||||
radio_connection = SSradio.add_object(src, frequency, RADIO_CHAT)
|
||||
|
||||
//Triggers the deadmanswitch if its dropped or moved into ones backpack
|
||||
/obj/item/device/assembly/signaler/dropped(mob/user)
|
||||
/obj/item/assembly/signaler/dropped(mob/user)
|
||||
. = ..()
|
||||
if(deadman)
|
||||
if(!user.client)
|
||||
@@ -156,12 +156,12 @@
|
||||
deadman_trigger(user)
|
||||
|
||||
//Triggers the deadmanswitch if its moved between slots (i.e. from hand into the pocket)
|
||||
/obj/item/device/assembly/signaler/on_slotmove(var/mob/user)
|
||||
/obj/item/assembly/signaler/on_slotmove(var/mob/user)
|
||||
. = ..()
|
||||
if(deadman)
|
||||
deadman_trigger(user)
|
||||
|
||||
/obj/item/device/assembly/signaler/process()
|
||||
/obj/item/assembly/signaler/process()
|
||||
//If we have disabled the deadmanswitch. stop here
|
||||
if(!deadman)
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
@@ -174,13 +174,13 @@
|
||||
M.visible_message(SPAN_DANGER("\The [M]'s finger twitches a bit over \the [src]'s deadman switch!"))
|
||||
return
|
||||
|
||||
/obj/item/device/assembly/signaler/AltClick(mob/user)
|
||||
/obj/item/assembly/signaler/AltClick(mob/user)
|
||||
if(use_check_and_message(user))
|
||||
return
|
||||
to_chat(user, SPAN_NOTICE("You click \the [src]'s signal button."))
|
||||
signal(user)
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/deadman_trigger(var/mob/user)
|
||||
/obj/item/assembly/signaler/proc/deadman_trigger(var/mob/user)
|
||||
if(deadman) //If its not activated, there is no point in triggering it
|
||||
if(user)
|
||||
visible_message(SPAN_DANGER("\The [user] releases \the [src]'s deadman switch!"))
|
||||
@@ -190,7 +190,7 @@
|
||||
deadman = FALSE
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
|
||||
/obj/item/device/assembly/signaler/verb/deadman_it()
|
||||
/obj/item/assembly/signaler/verb/deadman_it()
|
||||
set src in usr
|
||||
set name = "Hold the deadman switch!"
|
||||
set desc = "Sends a signal if dropped or moved into a container."
|
||||
@@ -201,7 +201,7 @@
|
||||
deadman_deactivate(usr)
|
||||
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/deadman_activate(var/mob/user)
|
||||
/obj/item/assembly/signaler/proc/deadman_activate(var/mob/user)
|
||||
deadman = TRUE
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
log_and_message_admins("is threatening to trigger a signaler deadman's switch")
|
||||
@@ -209,12 +209,12 @@
|
||||
to_chat(user, SPAN_WARNING("You are now holding \the [src]'s deadman switch. Dropping, putting the device away, or being hit will activate the signaller."))
|
||||
to_chat(user, SPAN_NOTICE("To deactivate it, make sure to press the verb again."))
|
||||
|
||||
/obj/item/device/assembly/signaler/proc/deadman_deactivate(var/mob/user)
|
||||
/obj/item/assembly/signaler/proc/deadman_deactivate(var/mob/user)
|
||||
deadman = FALSE
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
user.visible_message(SPAN_NOTICE("\The [user] secures and releases \the [src]'s deadman switch..."))
|
||||
|
||||
/obj/item/device/assembly/signaler/Destroy()
|
||||
/obj/item/assembly/signaler/Destroy()
|
||||
if(SSradio)
|
||||
SSradio.remove_object(src,frequency)
|
||||
frequency = 0
|
||||
|
||||
@@ -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/timing = FALSE
|
||||
var/time = 3
|
||||
|
||||
/obj/item/device/assembly/timer/activate()
|
||||
/obj/item/assembly/timer/activate()
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE //Cooldown check
|
||||
@@ -22,7 +22,7 @@
|
||||
update_icon()
|
||||
return FALSE
|
||||
|
||||
/obj/item/device/assembly/timer/toggle_secure()
|
||||
/obj/item/assembly/timer/toggle_secure()
|
||||
secured = !secured
|
||||
if(secured)
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
@@ -32,7 +32,7 @@
|
||||
update_icon()
|
||||
return secured
|
||||
|
||||
/obj/item/device/assembly/timer/proc/timer_end()
|
||||
/obj/item/assembly/timer/proc/timer_end()
|
||||
if(!secured)
|
||||
return FALSE
|
||||
pulse(FALSE)
|
||||
@@ -41,7 +41,7 @@
|
||||
cooldown = 2
|
||||
addtimer(CALLBACK(src, PROC_REF(process_cooldown)), 1 SECOND)
|
||||
|
||||
/obj/item/device/assembly/timer/process()
|
||||
/obj/item/assembly/timer/process()
|
||||
if(timing)
|
||||
if(time > 0)
|
||||
time--
|
||||
@@ -50,7 +50,7 @@
|
||||
timer_end()
|
||||
time = 10
|
||||
|
||||
/obj/item/device/assembly/timer/update_icon()
|
||||
/obj/item/assembly/timer/update_icon()
|
||||
ClearOverlays()
|
||||
attached_overlays = list()
|
||||
if(timing)
|
||||
@@ -59,20 +59,20 @@
|
||||
if(holder)
|
||||
holder.update_icon()
|
||||
|
||||
/obj/item/device/assembly/timer/interact(mob/user)
|
||||
/obj/item/assembly/timer/interact(mob/user)
|
||||
if(!secured)
|
||||
to_chat(user, SPAN_WARNING("\The [src] is unsecured!"))
|
||||
return
|
||||
|
||||
ui_interact(user)
|
||||
|
||||
/obj/item/device/assembly/timer/ui_interact(mob/user, datum/tgui/ui)
|
||||
/obj/item/assembly/timer/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "Timer", "Timer Assembly", 320, 220)
|
||||
ui.open()
|
||||
|
||||
/obj/item/device/assembly/timer/ui_data(mob/user)
|
||||
/obj/item/assembly/timer/ui_data(mob/user)
|
||||
var/list/data = list()
|
||||
|
||||
data["timeractive"] = timing
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
return data
|
||||
|
||||
/obj/item/device/assembly/timer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
/obj/item/assembly/timer/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
|
||||
@@ -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"
|
||||
@@ -9,14 +9,14 @@
|
||||
var/listening = FALSE
|
||||
var/recorded //the activation message
|
||||
|
||||
/obj/item/device/assembly/voice/Initialize(mapload, ...)
|
||||
/obj/item/assembly/voice/Initialize(mapload, ...)
|
||||
. = ..()
|
||||
become_hearing_sensitive()
|
||||
|
||||
/obj/item/device/assembly/voice/Destroy()
|
||||
/obj/item/assembly/voice/Destroy()
|
||||
return ..()
|
||||
|
||||
/obj/item/device/assembly/voice/hear_talk(mob/living/M, msg)
|
||||
/obj/item/assembly/voice/hear_talk(mob/living/M, msg)
|
||||
if(listening)
|
||||
recorded = msg
|
||||
listening = FALSE
|
||||
@@ -26,18 +26,18 @@
|
||||
if(findtext(msg, recorded))
|
||||
pulse(FALSE)
|
||||
|
||||
/obj/item/device/assembly/voice/activate()
|
||||
/obj/item/assembly/voice/activate()
|
||||
if(secured && !holder)
|
||||
listening = !listening
|
||||
var/turf/T = get_turf(src)
|
||||
T.audible_message("[icon2html(src, viewers(get_turf(T)))] 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 = FALSE
|
||||
|
||||
Reference in New Issue
Block a user