From 62507546971bd94ea97296e254458d77b69044aa Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 3 Mar 2021 15:19:19 +0100 Subject: [PATCH] =?UTF-8?q?[MIRROR]=20At=20first=20i=20thought=20that=20i?= =?UTF-8?q?=20was=20being=20forced=20to=20add=20a=20feature=20=F0=9F=A4=AE?= =?UTF-8?q?=20but=20then=20i=20realized=20i=20was=20being=20encouraged=20t?= =?UTF-8?q?o=20refactor=20=F0=9F=98=84.=20Electrified=20chair=20is=20now?= =?UTF-8?q?=20a=20component=20instead=20of=20a=20failure=20(#3801)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure (#57117) * At first i thought that i was being forced to add a feature 🤮 but then i realized i was being encouraged to refactor 😄. Electrified chair is now a component instead of a failure Co-authored-by: Kylerace --- code/__DEFINES/dcs/signals.dm | 3 + code/__DEFINES/electrified_buckle.dm | 14 ++ code/datums/components/electrified_buckle.dm | 203 ++++++++++++++++++ .../items/devices/radio/electropack.dm | 8 +- .../objects/structures/beds_chairs/chair.dm | 54 +++-- .../objects/structures/beds_chairs/sofa.dm | 5 + code/game/objects/structures/electricchair.dm | 40 +--- code/game/objects/structures/watercloset.dm | 3 +- code/modules/assembly/assembly.dm | 7 +- code/modules/assembly/shock_kit.dm | 43 ++-- icons/obj/chairs.dmi | Bin 36084 -> 36326 bytes tgstation.dme | 2 + 12 files changed, 303 insertions(+), 79 deletions(-) create mode 100644 code/__DEFINES/electrified_buckle.dm create mode 100644 code/datums/components/electrified_buckle.dm diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 2a74785cc98..f447a13be77 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -1097,3 +1097,6 @@ #define COMSIG_AQUARIUM_BEFORE_INSERT_CHECK "aquarium_about_to_be_inserted" #define COMSIG_AQUARIUM_SURFACE_CHANGED "aquarium_surface_changed" #define COMSIG_AQUARIUM_FLUID_CHANGED "aquarium_fluid_changed" + +///from /obj/item/assembly/proc/pulsed() +#define COMSIG_ASSEMBLY_PULSED "assembly_pulsed" diff --git a/code/__DEFINES/electrified_buckle.dm b/code/__DEFINES/electrified_buckle.dm new file mode 100644 index 00000000000..59fab13ccba --- /dev/null +++ b/code/__DEFINES/electrified_buckle.dm @@ -0,0 +1,14 @@ +///electrified_buckle requires a shock kit attached to it in order to shock +#define SHOCK_REQUIREMENT_ITEM (1<<0) +///electrified_buckle requires a live cable to work, and draws power from it +#define SHOCK_REQUIREMENT_LIVE_CABLE (1<<1) +///electrified_buckle requires to be turned on with a signal in order to shock the buckled mob +#define SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED (1<<2) +///electrified_buckle requires the parent to be alive in order to shock (if parent is a mob) +#define SHOCK_REQUIREMENT_PARENT_MOB_ISALIVE (1<<3) +///a signal can toggle the ability to shock on a timer +#define SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE (1<<4) + + +///This trait signifies that the object can be used to electrify things buckled to it +#define TRAIT_ELECTRIFIED_BUCKLE "electrified buckle" diff --git a/code/datums/components/electrified_buckle.dm b/code/datums/components/electrified_buckle.dm new file mode 100644 index 00000000000..8a3ed0f9fd8 --- /dev/null +++ b/code/datums/components/electrified_buckle.dm @@ -0,0 +1,203 @@ +///divide the power in the cable net under parent by this to determine the shock damage +#define ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR 5000 +///it will not shock the mob buckled to parent if its required to use a cable to shock and the cable has less than this power availaible +#define ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH 10 + + +/** + * # electrified_buckle component: + * attach it to any atom/movable that can be buckled to in order to have it shock mobs buckled to it. by default it shocks mobs buckled to parent every shock_loop_time. + * the parent is supposed to define its behavior with arguments in AddComponent +*/ +/datum/component/electrified_buckle + ///if usage_flags has SHOCK_REQUIREMENT_ITEM, this is the item required to be inside parent in order for it to shock buckled mobs + var/obj/item/required_object + ///this is casted to the overlay we put on parent_chair + var/list/requested_overlays + ///it will only shock once every shock_loop_time + COOLDOWN_DECLARE(electric_buckle_cooldown) + ///these flags tells this instance what is required in order to allow shocking + var/usage_flags + ///if true, this will shock the buckled mob every shock_loop_time in process() + var/shock_on_loop = TRUE + ///how long the component waits before shocking the mob buckled to parent again + var/shock_loop_time = 5 SECONDS + ///how much damage is done per shock iff usage_flags doesnt have SHOCK_REQUIREMENT_LIVE_CABLE + var/shock_damage = 50 + ///this signal was given as an argument to register for parent to emit, if its emitted to parent then shock_on_demand is called. var is so it can be unregistered + var/requested_signal_parent_emits = null + +/** + * Initialize args: + * + * * input_requirements - bitflag that defines how the component is supposed to act, see __DEFINES/electrified_buckle.dm for the options. sets usage_flags + * * input_item - if set to an item and input_requirements has SHOCK_REQUIREMENT_ITEM, moves that item inside parent and the component will delete itself if input_item no longer exists/moves out of parent. sets required_object + * * overlays_to_add - pass in a list of images and the component will add them to parent as well as remove them in UnregisterFromParent(). sets requested_overlays + * * override_buckle - if TRUE, sets parent.can_buckle = TRUE and resets it on UnregisterFromParent(), usually objects that have need to be overridden will look janky on buckle + * * damage_on_shock - if SHOCK_REQUIREMENT_LIVE_CABLE is not set in input_requirements, then this is how much damage each shock does. sets shock_damage + * * signal_to_register_from_parent - if set, the component registers to listen for this signal targeting parent to manually shock. sets requested_signal_parent_emits +*/ +/datum/component/electrified_buckle/Initialize(input_requirements, obj/item/input_item, list/overlays_to_add, override_buckle, damage_on_shock = 50, signal_to_register_from_parent, loop_length) + var/atom/movable/parent_as_movable = parent + if(!istype(parent_as_movable)) + return COMPONENT_INCOMPATIBLE + + usage_flags = input_requirements + + if(!parent_as_movable.can_buckle && !override_buckle) + return COMPONENT_INCOMPATIBLE + else if (override_buckle) + parent_as_movable.can_buckle = TRUE + + if((usage_flags & SHOCK_REQUIREMENT_ITEM) && QDELETED(input_item)) + return COMPONENT_INCOMPATIBLE + + if(HAS_TRAIT(parent_as_movable, TRAIT_ELECTRIFIED_BUCKLE)) + return COMPONENT_INCOMPATIBLE + + if(usage_flags & SHOCK_REQUIREMENT_ITEM) + required_object = input_item + required_object.Move(parent_as_movable) + RegisterSignal(required_object, COMSIG_PARENT_PREQDELETED, .proc/delete_self) + RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), .proc/move_required_object_from_contents) + + if(usage_flags & SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED) + shock_on_loop = FALSE + RegisterSignal(required_object, COMSIG_ASSEMBLY_PULSED, .proc/shock_on_demand) + else if(usage_flags & SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE) + RegisterSignal(required_object, COMSIG_ASSEMBLY_PULSED, .proc/toggle_shock_loop) + + if((usage_flags & SHOCK_REQUIREMENT_PARENT_MOB_ISALIVE) && ismob(parent)) + RegisterSignal(parent, COMSIG_LIVING_DEATH, .proc/delete_self) + + RegisterSignal(parent, COMSIG_MOVABLE_BUCKLE, .proc/on_buckle) + + ADD_TRAIT(parent_as_movable, TRAIT_ELECTRIFIED_BUCKLE, INNATE_TRAIT) + + //if parent wants us to manually shock on some specified action + if(signal_to_register_from_parent) + RegisterSignal(parent, signal_to_register_from_parent, .proc/shock_on_demand) + requested_signal_parent_emits = signal_to_register_from_parent + + if(overlays_to_add) + requested_overlays = overlays_to_add + parent_as_movable.add_overlay(requested_overlays) + + parent_as_movable.name = "electrified [initial(parent_as_movable.name)]" + + shock_damage = damage_on_shock + + if(loop_length) + shock_loop_time = loop_length + + if(parent_as_movable.has_buckled_mobs()) + for(var/mob/living/possible_guinea_pig as anything in parent_as_movable.buckled_mobs) + if(on_buckle(src, possible_guinea_pig)) + break + +/datum/component/electrified_buckle/UnregisterFromParent() + var/atom/movable/parent_as_movable = parent + + parent_as_movable.cut_overlay(requested_overlays) + parent_as_movable.name = initial(parent_as_movable.name) + parent_as_movable.can_buckle = initial(parent_as_movable.can_buckle) + + if(parent) + REMOVE_TRAIT(parent_as_movable, TRAIT_ELECTRIFIED_BUCKLE, INNATE_TRAIT) + UnregisterSignal(parent, list(COMSIG_MOVABLE_BUCKLE, COMSIG_MOVABLE_UNBUCKLE, COMSIG_ATOM_EXIT, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER))) + if(requested_signal_parent_emits) + UnregisterSignal(parent, requested_signal_parent_emits) + + if(required_object) + UnregisterSignal(required_object, list(COMSIG_PARENT_PREQDELETED, COMSIG_ASSEMBLY_PULSED)) + if(parent_as_movable && (required_object in parent_as_movable.contents)) + required_object.Move(parent_as_movable.loc) + + required_object = null + STOP_PROCESSING(SSprocessing, src) + +/datum/component/electrified_buckle/proc/delete_self() + SIGNAL_HANDLER + qdel(src) + +/datum/component/electrified_buckle/proc/move_required_object_from_contents(datum/source, mob/living/user, obj/item/tool, tool_type) + SIGNAL_HANDLER + var/atom/movable/parent_as_movable = parent + if(!QDELETED(parent_as_movable)) + tool.play_tool_sound(parent_as_movable) + required_object.Move(parent_as_movable.loc) + qdel(src) + +/datum/component/electrified_buckle/proc/on_buckle(datum/source, mob/living/mob_to_buckle, _force) + SIGNAL_HANDLER + if(!istype(mob_to_buckle)) + return FALSE + + COOLDOWN_START(src, electric_buckle_cooldown, shock_loop_time) + if(!(usage_flags & SHOCK_REQUIREMENT_ON_SIGNAL_RECEIVED) && shock_on_loop) + START_PROCESSING(SSprocessing, src) + return TRUE + +///where the guinea pig is actually shocked if possible +/datum/component/electrified_buckle/process(delta_time) + var/atom/movable/parent_as_movable = parent + if(QDELETED(parent_as_movable) || !parent_as_movable.has_buckled_mobs()) + return PROCESS_KILL + + if(!shock_on_loop) + return PROCESS_KILL + + if(!COOLDOWN_FINISHED(src, electric_buckle_cooldown)) + return + + COOLDOWN_START(src, electric_buckle_cooldown, shock_loop_time) + + var/turf/our_turf = get_turf(parent_as_movable) + var/obj/structure/cable/live_cable = our_turf.get_cable_node() + + if(usage_flags & SHOCK_REQUIREMENT_LIVE_CABLE) + if((!live_cable || !live_cable.powernet || live_cable.powernet.avail < ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH)) + return + + for(var/mob/living/guinea_pig as anything in parent_as_movable.buckled_mobs) + guinea_pig.electrocute_act(round(live_cable.powernet.avail / ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR), parent_as_movable) + break + else + for(var/mob/living/guinea_pig as anything in parent_as_movable.buckled_mobs) + guinea_pig.electrocute_act(shock_damage, parent_as_movable) + break + + parent_as_movable.visible_message("The electric chair went off!", "You hear a deep sharp shock!") + +///a shock that is toggled manually +/datum/component/electrified_buckle/proc/shock_on_demand() + SIGNAL_HANDLER + if((usage_flags & SHOCK_REQUIREMENT_ITEM) && QDELETED(required_object)) + return + + var/atom/movable/parent_as_movable = parent + if(usage_flags & SHOCK_REQUIREMENT_LIVE_CABLE) + var/turf/our_turf = get_turf(parent_as_movable) + var/obj/structure/cable/live_cable = our_turf.get_cable_node() + if(!live_cable || !live_cable.powernet || live_cable.powernet.avail < ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH) + return + + for(var/mob/living/guinea_pig as anything in parent_as_movable.buckled_mobs) + var/shock_damage = round(live_cable.powernet.avail / ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR) + guinea_pig.electrocute_act(shock_damage, parent_as_movable) + break + +/datum/component/electrified_buckle/proc/toggle_shock_loop() + SIGNAL_HANDLER + var/atom/movable/parent_as_movable = parent + if(shock_on_loop) + shock_on_loop = FALSE + STOP_PROCESSING(SSprocessing, src) + parent_as_movable.visible_message("The electric chair emits a snap as its circuit opens, making it safe for now.") + else + shock_on_loop = TRUE + START_PROCESSING(SSprocessing, src) + parent_as_movable.visible_message("You hear the sound of an electric circuit closing coming from the electric chair!") + +#undef ELECTRIC_BUCKLE_SHOCK_STRENGTH_DIVISOR +#undef ELECTRIC_BUCKLE_MINUMUM_POWERNET_STRENGTH diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm index 78fc87585d9..f83cb762557 100644 --- a/code/game/objects/items/devices/radio/electropack.dm +++ b/code/game/objects/items/devices/radio/electropack.dm @@ -46,11 +46,11 @@ to_chat(user, "[W] is stuck to your hand, you cannot attach it to [src]!") return W.master = A - A.part1 = W + A.helmet_part = W user.transferItemToLoc(src, A, TRUE) master = A - A.part2 = src + A.electropack_part = src user.put_in_hands(A) A.add_fingerprint(user) @@ -60,7 +60,6 @@ /obj/item/electropack/receive_signal(datum/signal/signal) if(!signal || signal.data["code"] != code) return - if(isliving(loc) && on) if(shock_cooldown) return @@ -77,6 +76,9 @@ L.Paralyze(100) if(master) + if(isassembly(master)) + var/obj/item/assembly/master_as_assembly = master + master_as_assembly.pulsed() master.receive_signal() /obj/item/electropack/proc/set_frequency(new_frequency) diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index 2868b5028ea..7fa485b097b 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -75,23 +75,35 @@ qdel(src) /obj/structure/chair/attackby(obj/item/W, mob/user, params) - if(W.tool_behaviour == TOOL_WRENCH && !(flags_1&NODECONSTRUCT_1)) - W.play_tool_sound(src) - deconstruct() - else if(istype(W, /obj/item/assembly/shock_kit)) - if(!user.temporarilyRemoveItemFromInventory(W)) - return - var/obj/item/assembly/shock_kit/SK = W - var/obj/structure/chair/e_chair/E = new /obj/structure/chair/e_chair(src.loc) - playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) - E.setDir(dir) - E.part = SK - SK.forceMove(E) - SK.master = E - qdel(src) - else - return ..() + if(flags_1 & NODECONSTRUCT_1) + return . = ..() + if(istype(W, /obj/item/assembly/shock_kit) && !HAS_TRAIT(src, TRAIT_ELECTRIFIED_BUCKLE)) + electrify_self(W, user) + return + . = ..() +///allows each chair to request the electrified_buckle component with overlays that dont look ridiculous +/obj/structure/chair/proc/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) + SHOULD_CALL_PARENT(TRUE) + if(!user.temporarilyRemoveItemFromInventory(input_shock_kit)) + return + if(!overlays_from_child_procs || overlays_from_child_procs.len == 0) + var/image/echair_over_overlay = image('icons/obj/chairs.dmi', loc, "echair_over") + AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), input_shock_kit, list(echair_over_overlay), FALSE) + else + AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), input_shock_kit, overlays_from_child_procs, FALSE) + + if(HAS_TRAIT(src, TRAIT_ELECTRIFIED_BUCKLE)) + to_chat(user, "You connect the shock kit to the [name], electrifying it ") + else + user.put_in_active_hand(input_shock_kit) + to_chat(user, " You cannot fit the shock kit onto the [name]!") + + +/obj/structure/chair/wrench_act(mob/living/user, obj/item/I) + . = ..() + I.play_tool_sound(src) + deconstruct() /obj/structure/chair/attack_tk(mob/user) if(!anchored || has_buckled_mobs() || !isturf(user.loc)) @@ -212,6 +224,11 @@ /obj/structure/chair/comfy/shuttle/GetArmrest() return mutable_appearance('icons/obj/chairs.dmi', "shuttle_chair_armrest") +/obj/structure/chair/comfy/shuttle/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) + if(!overlays_from_child_procs) + overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + . = ..() + /obj/structure/chair/office anchored = FALSE buildstackamount = 5 @@ -224,6 +241,11 @@ if(has_gravity()) playsound(src, 'sound/effects/roll.ogg', 100, TRUE) +/obj/structure/chair/office/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) + if(!overlays_from_child_procs) + overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + . = ..() + /obj/structure/chair/office/light icon_state = "officechair_white" diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm index 4a0b1e2b32e..51b6168c526 100644 --- a/code/game/objects/structures/beds_chairs/sofa.dm +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -10,6 +10,11 @@ armrest = mutable_appearance(icon, "[icon_state]_armrest", ABOVE_MOB_LAYER) return ..() +/obj/structure/chair/sofa/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) + if(!overlays_from_child_procs) + overlays_from_child_procs = list(image('icons/obj/chairs.dmi', loc, "echair_over", pixel_x = -1)) + . = ..() + /obj/structure/chair/sofa/post_buckle_mob(mob/living/M) . = ..() update_armrest() diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm index a5235f461a4..13b838b28f6 100644 --- a/code/game/objects/structures/electricchair.dm +++ b/code/game/objects/structures/electricchair.dm @@ -1,52 +1,22 @@ + /obj/structure/chair/e_chair name = "electric chair" desc = "Looks absolutely SHOCKING!" icon_state = "echair0" - var/obj/item/assembly/shock_kit/part = null var/last_time = 1 item_chair = null /obj/structure/chair/e_chair/Initialize() . = ..() - add_overlay(mutable_appearance('icons/obj/chairs.dmi', "echair_over", MOB_LAYER + 1)) + var/obj/item/assembly/shock_kit/stored_kit = new(contents) + var/image/export_to_component = image('icons/obj/chairs.dmi', loc, "echair_over") + AddComponent(/datum/component/electrified_buckle, (SHOCK_REQUIREMENT_ITEM | SHOCK_REQUIREMENT_LIVE_CABLE | SHOCK_REQUIREMENT_SIGNAL_RECEIVED_TOGGLE), stored_kit, list(export_to_component)) /obj/structure/chair/e_chair/attackby(obj/item/W, mob/user, params) if(W.tool_behaviour == TOOL_WRENCH) var/obj/structure/chair/C = new /obj/structure/chair(loc) W.play_tool_sound(src) C.setDir(dir) - part.forceMove(loc) - part.master = null - part = null qdel(src) - -/obj/structure/chair/e_chair/proc/shock() - if(last_time + 50 > world.time) return - last_time = world.time - - // special power handling - var/area/A = get_area(src) - if(!isarea(A)) - return - if(!A.powered(AREA_USAGE_EQUIP)) - return - A.use_power(AREA_USAGE_EQUIP, 5000) - - flick("echair_shock", src) - var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread - s.set_up(12, 1, src) - s.start() - if(has_buckled_mobs()) - for(var/m in buckled_mobs) - var/mob/living/buckled_mob = m - buckled_mob.electrocute_act(85, src, 1) - to_chat(buckled_mob, "You feel a deep shock course through your body!") - addtimer(CALLBACK(buckled_mob, /mob/living.proc/electrocute_act, 85, src, 1), 1) - visible_message("The electric chair went off!", "You hear a deep sharp shock!") - -/obj/structure/chair/e_chair/post_buckle_mob(mob/living/L) - SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "dying", /datum/mood_event/deaths_door) - -/obj/structure/chair/e_chair/post_unbuckle_mob(mob/living/L) - SEND_SIGNAL(L, COMSIG_CLEAR_MOOD_EVENT, "dying") + . = ..() diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 02e01450a8a..9c9a608ca2c 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -127,8 +127,7 @@ var/obj/item/reagent_containers/RG = I RG.reagents.add_reagent(/datum/reagent/water, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this)) to_chat(user, "You fill [RG] from [src]. Gross.") - else - return ..() + . = ..() /obj/structure/toilet/secret var/obj/item/secret diff --git a/code/modules/assembly/assembly.dm b/code/modules/assembly/assembly.dm index 559868960c6..06ffd620cd2 100644 --- a/code/modules/assembly/assembly.dm +++ b/code/modules/assembly/assembly.dm @@ -58,15 +58,16 @@ return FALSE return TRUE -//Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs +///Called when another assembly acts on this one, var/radio will determine where it came from for wire calcs /obj/item/assembly/proc/pulsed(radio = FALSE) if(wire_type & WIRE_RECEIVE) INVOKE_ASYNC(src, .proc/activate) if(radio && (wire_type & WIRE_RADIO_RECEIVE)) INVOKE_ASYNC(src, .proc/activate) + SEND_SIGNAL(src, COMSIG_ASSEMBLY_PULSED) return TRUE -//Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct +///Called when this device attempts to act on another device, var/radio determines if it was sent via radio or direct /obj/item/assembly/proc/pulse(radio = FALSE) if(connected && wire_type) connected.pulse_assembly(src) @@ -77,7 +78,7 @@ holder.process_activation(src, 0, 1) return TRUE -// What the device does when turned on +/// What the device does when turned on /obj/item/assembly/proc/activate() if(QDELETED(src) || !secured || (next_activate > world.time)) return FALSE diff --git a/code/modules/assembly/shock_kit.dm b/code/modules/assembly/shock_kit.dm index dbca939b86e..d105b79e57b 100644 --- a/code/modules/assembly/shock_kit.dm +++ b/code/modules/assembly/shock_kit.dm @@ -3,38 +3,41 @@ desc = "This appears to be made from both an electropack and a helmet." icon = 'icons/obj/assemblies.dmi' icon_state = "shock_kit" - var/obj/item/clothing/head/helmet/part1 = null - var/obj/item/electropack/part2 = null + var/obj/item/clothing/head/helmet/helmet_part = null + var/obj/item/electropack/electropack_part = null w_class = WEIGHT_CLASS_HUGE flags_1 = CONDUCT_1 /obj/item/assembly/shock_kit/Destroy() - qdel(part1) - qdel(part2) + QDEL_NULL(helmet_part) + QDEL_NULL(electropack_part) return ..() +/obj/item/assembly/shock_kit/Initialize() + . = ..() + if(!helmet_part) + helmet_part = new(src) + helmet_part.master = src + if(!electropack_part) + electropack_part = new(src) + electropack_part.master = src + /obj/item/assembly/shock_kit/wrench_act(mob/living/user, obj/item/I) ..() to_chat(user, "You disassemble [src].") - if(part1) - part1.forceMove(drop_location()) - part1.master = null - part1 = null - if(part2) - part2.forceMove(drop_location()) - part2.master = null - part2 = null + if(helmet_part) + helmet_part.forceMove(drop_location()) + helmet_part.master = null + helmet_part = null + if(electropack_part) + electropack_part.forceMove(drop_location()) + electropack_part.master = null + electropack_part = null qdel(src) return TRUE /obj/item/assembly/shock_kit/attack_self(mob/user) - part1.attack_self(user) - part2.attack_self(user) + helmet_part.attack_self(user) + electropack_part.attack_self(user) add_fingerprint(user) return - -/obj/item/assembly/shock_kit/receive_signal() - if(istype(loc, /obj/structure/chair/e_chair)) - var/obj/structure/chair/e_chair/C = loc - C.shock() - return diff --git a/icons/obj/chairs.dmi b/icons/obj/chairs.dmi index 2b19a92cc4d12adacec9f64fc90f70c5b3c355b0..2565c3262c860e8c585918643ba9968009e1fe99 100644 GIT binary patch literal 36326 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

mTFavdjQ{VdC`3Ud+@v~wWKdd>$ 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 XiKsg7+xO6x0SG)@{an^LB{Ts53E~v7 literal 36084 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