From 5eb76bb6e16906a7f41ac882209555f0cfcd442b Mon Sep 17 00:00:00 2001 From: MoreRobustThanYou Date: Tue, 10 Oct 2017 14:30:27 -0400 Subject: [PATCH 1/2] Removes spawns from assembly code --- code/modules/assembly/assembly.dm | 121 ++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 5f4ddd27b0..da3cfd0ac9 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -1,3 +1,4 @@ +<<<<<<< HEAD /obj/item/device/assembly name = "assembly" desc = "A small electronic device that should never exist." @@ -118,3 +119,123 @@ /obj/item/device/assembly/interact(mob/user) return //HTML MENU FOR WIRES GOES HERE +======= +#define WIRE_RECEIVE 1 +#define WIRE_PULSE 2 +#define WIRE_PULSE_SPECIAL 4 +#define WIRE_RADIO_RECEIVE 8 +#define WIRE_RADIO_PULSE 16 + +/obj/item/device/assembly + name = "assembly" + desc = "A small electronic device that should never exist." + icon = 'icons/obj/assemblies/new_assemblies.dmi' + icon_state = "" + flags_1 = CONDUCT_1 + w_class = WEIGHT_CLASS_SMALL + materials = list(MAT_METAL=100) + throwforce = 2 + throw_speed = 3 + throw_range = 7 + origin_tech = "magnets=1;engineering=1" + + var/secured = TRUE + var/list/attached_overlays = null + var/obj/item/device/assembly_holder/holder = null + var/wire_type = WIRE_RECEIVE | WIRE_PULSE + var/attachable = FALSE // can this be attached to wires + var/datum/wires/connected = null + + var/next_activate = 0 //When we're next allowed to activate - for spam control + +/obj/item/device/assembly/proc/on_attach() + +/obj/item/device/assembly/proc/on_detach() + +/obj/item/device/assembly/proc/holder_movement() //Called when the holder is moved + return + +/obj/item/device/assembly/proc/describe() // Called by grenades to describe the state of the trigger (time left, etc) + return "The trigger assembly looks broken!" + + +/obj/item/device/assembly/proc/is_secured(mob/user) + if(!secured) + to_chat(user, "The [name] is unsecured!") + return FALSE + 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(radio = 0) + if(wire_type & WIRE_RECEIVE) + INVOKE_ASYNC(src, .proc/activate) + if(radio && (wire_type & WIRE_RADIO_RECEIVE)) + INVOKE_ASYNC(src, .proc/activate) + 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(radio = 0) + if(connected && wire_type) + connected.pulse_assembly(src) + return TRUE + if(holder && (wire_type & WIRE_PULSE)) + holder.process_activation(src, 1, 0) + if(holder && (wire_type & WIRE_PULSE_SPECIAL)) + holder.process_activation(src, 0, 1) + return TRUE + + +// What the device does when turned on +/obj/item/device/assembly/proc/activate() + if(QDELETED(src) || !secured || (next_activate > world.time)) + return FALSE + next_activate = world.time + 30 + return TRUE + + +/obj/item/device/assembly/proc/toggle_secure() + secured = !secured + update_icon() + return secured + + +/obj/item/device/assembly/attackby(obj/item/W, mob/user, params) + if(isassembly(W)) + var/obj/item/device/assembly/A = W + if((!A.secured) && (!secured)) + holder = new/obj/item/device/assembly_holder(get_turf(src)) + holder.assemble(src,A,user) + to_chat(user, "You attach and secure \the [A] to \the [src]!") + else + to_chat(user, "Both devices must be in attachable mode to be attached together.") + return + if(istype(W, /obj/item/screwdriver)) + if(toggle_secure()) + to_chat(user, "\The [src] is ready!") + else + to_chat(user, "\The [src] can now be attached!") + return + ..() + + +/obj/item/device/assembly/examine(mob/user) + ..() + if(secured) + to_chat(user, "\The [src] is secured and ready to be used.") + else + to_chat(user, "\The [src] can be attached to other things.") + + +/obj/item/device/assembly/attack_self(mob/user) + if(!user) + return FALSE + user.set_machine(src) + interact(user) + return TRUE + +/obj/item/device/assembly/interact(mob/user) + return //HTML MENU FOR WIRES GOES HERE + +>>>>>>> 305af6e... Removes spawns from assembly code (#31475) From 2e503acc570dfdcbcf59d3e5458cc4f3402c2c4e Mon Sep 17 00:00:00 2001 From: LetterJay Date: Thu, 12 Oct 2017 06:21:30 -0500 Subject: [PATCH 2/2] Update assembly.dm --- code/modules/assembly/assembly.dm | 124 ------------------------------ 1 file changed, 124 deletions(-) diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index da3cfd0ac9..6c2df587e1 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -1,125 +1,3 @@ -<<<<<<< HEAD -/obj/item/device/assembly - name = "assembly" - desc = "A small electronic device that should never exist." - icon = 'icons/obj/assemblies/new_assemblies.dmi' - icon_state = "" - flags_1 = CONDUCT_1 - w_class = WEIGHT_CLASS_SMALL - materials = list(MAT_METAL=100) - throwforce = 2 - throw_speed = 3 - throw_range = 7 - origin_tech = "magnets=1;engineering=1" - - var/secured = 1 - var/list/attached_overlays = null - var/obj/item/device/assembly_holder/holder = null - var/wire_type = WIRE_RECEIVE | WIRE_PULSE - var/attachable = 0 // can this be attached to wires - var/datum/wires/connected = null - - var/const/WIRE_RECEIVE = 1 //Allows Pulsed(0) to call Activate() - var/const/WIRE_PULSE = 2 //Allows Pulse(0) to act on the holder - var/const/WIRE_PULSE_SPECIAL = 4 //Allows Pulse(0) to act on the holders special assembly - 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 - - var/next_activate = 0 //When we're next allowed to activate - for spam control - -/obj/item/device/assembly/proc/on_attach() - -/obj/item/device/assembly/proc/on_detach() - -/obj/item/device/assembly/proc/holder_movement() //Called when the holder is moved - return - -/obj/item/device/assembly/proc/describe() // Called by grenades to describe the state of the trigger (time left, etc) - return "The trigger assembly looks broken!" - - -/obj/item/device/assembly/proc/is_secured(mob/user) - if(!secured) - to_chat(user, "The [name] is unsecured!") - return 0 - return 1 - - -//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(radio = 0) - if(wire_type & WIRE_RECEIVE) - spawn(0) - activate() - if(radio && (wire_type & WIRE_RADIO_RECEIVE)) - spawn(0) - activate() - return 1 - - -//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(radio = 0) - if(connected && wire_type) - connected.pulse_assembly(src) - return 1 - if(holder && (wire_type & WIRE_PULSE)) - holder.process_activation(src, 1, 0) - if(holder && (wire_type & WIRE_PULSE_SPECIAL)) - holder.process_activation(src, 0, 1) - return 1 - - -// What the device does when turned on -/obj/item/device/assembly/proc/activate() - if(QDELETED(src) || !secured || (next_activate > world.time)) - return FALSE - next_activate = world.time + 30 - return TRUE - - -/obj/item/device/assembly/proc/toggle_secure() - secured = !secured - update_icon() - return secured - - -/obj/item/device/assembly/attackby(obj/item/W, mob/user, params) - if(isassembly(W)) - var/obj/item/device/assembly/A = W - if((!A.secured) && (!secured)) - holder = new/obj/item/device/assembly_holder(get_turf(src)) - holder.assemble(src,A,user) - to_chat(user, "You attach and secure \the [A] to \the [src]!") - else - to_chat(user, "Both devices must be in attachable mode to be attached together.") - return - if(istype(W, /obj/item/screwdriver)) - if(toggle_secure()) - to_chat(user, "\The [src] is ready!") - else - to_chat(user, "\The [src] can now be attached!") - return - ..() - - -/obj/item/device/assembly/examine(mob/user) - ..() - if(secured) - to_chat(user, "\The [src] is secured and ready to be used.") - else - to_chat(user, "\The [src] can be attached to other things.") - - -/obj/item/device/assembly/attack_self(mob/user) - if(!user) - return 0 - user.set_machine(src) - interact(user) - return 1 - -/obj/item/device/assembly/interact(mob/user) - return //HTML MENU FOR WIRES GOES HERE - -======= #define WIRE_RECEIVE 1 #define WIRE_PULSE 2 #define WIRE_PULSE_SPECIAL 4 @@ -237,5 +115,3 @@ /obj/item/device/assembly/interact(mob/user) return //HTML MENU FOR WIRES GOES HERE - ->>>>>>> 305af6e... Removes spawns from assembly code (#31475)