From 4a451d4e24b714d9e5f4df107621deb889f8921e Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 19 Jun 2023 23:14:10 +0200 Subject: [PATCH] [MIRROR] Removes some boilerplate from transforming component [MDB IGNORE] (#21885) * Removes some boilerplate from transforming component * conflicts --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> --- code/__DEFINES/traits.dm | 2 + code/datums/actions/mobs/transform_weapon.dm | 10 +- code/datums/components/transforming.dm | 38 +++---- code/game/objects/items/boxcutter.dm | 11 +- code/game/objects/items/melee/baton.dm | 11 +- code/game/objects/items/melee/energy.dm | 101 ++++++++++-------- code/game/objects/items/melee/misc.dm | 15 ++- code/game/objects/items/shields.dm | 36 +++---- code/game/objects/items/tools/crowbar.dm | 8 +- code/game/objects/items/tools/screwdriver.dm | 8 +- code/game/objects/items/tools/wrench.dm | 19 ++-- code/game/objects/items/toys.dm | 14 +-- code/game/objects/items/weaponry.dm | 14 ++- .../antagonists/clown_ops/clown_weapons.dm | 18 ++-- .../modules/mining/lavaland/megafauna_loot.dm | 22 ++-- code/modules/paperwork/pen.dm | 36 +++---- code/modules/recycling/sortingmachinery.dm | 2 +- code/modules/surgery/tools.dm | 18 ++-- icons/mob/inhands/weapons/swords_lefthand.dmi | Bin 25610 -> 23583 bytes .../mob/inhands/weapons/swords_righthand.dmi | Bin 28840 -> 26268 bytes 20 files changed, 197 insertions(+), 186 deletions(-) diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 4caa3e1d0dd..1a64238c992 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -632,6 +632,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_APC_SHOCKING "apc_shocking" /// Properly wielded two handed item #define TRAIT_WIELDED "wielded" +/// A transforming item that is actively extended / transformed +#define TRAIT_TRANSFORM_ACTIVE "active_transform" /// Buckling yourself to objects with this trait won't immobilize you #define TRAIT_NO_IMMOBILIZE "no_immobilize" /// Prevents stripping this equipment diff --git a/code/datums/actions/mobs/transform_weapon.dm b/code/datums/actions/mobs/transform_weapon.dm index 884f4fa36dc..3cc70e4f748 100644 --- a/code/datums/actions/mobs/transform_weapon.dm +++ b/code/datums/actions/mobs/transform_weapon.dm @@ -20,9 +20,7 @@ var/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/BDM = owner var/obj/item/melee/cleaving_saw/miner/miner_saw = BDM.miner_saw miner_saw.attack_self(owner) - if(!miner_saw.is_open) - BDM.rapid_melee = 5 // 4 deci cooldown before changes, npcpool subsystem wait is 20, 20/4 = 5 - else - BDM.rapid_melee = 3 // same thing but halved (slightly rounded up) - BDM.icon_state = "miner[miner_saw.is_open ? "_transformed":""]" - BDM.icon_living = "miner[miner_saw.is_open ? "_transformed":""]" + var/saw_open = HAS_TRAIT(miner_saw, TRAIT_TRANSFORM_ACTIVE) + BDM.rapid_melee = saw_open ? 3 : 5 + BDM.icon_state = "miner[saw_open ? "_transformed":""]" + BDM.icon_living = "miner[saw_open ? "_transformed":""]" diff --git a/code/datums/components/transforming.dm b/code/datums/components/transforming.dm index 52b334e31f0..d704ca2098d 100644 --- a/code/datums/components/transforming.dm +++ b/code/datums/components/transforming.dm @@ -37,24 +37,24 @@ /// If we get sharpened with a whetstone, save the bonus here for later use if we un/redeploy var/sharpened_bonus = 0 /// Dictate whether we change inhands or not - var/inhand_icon_change + var/inhand_icon_change = TRUE /// Cooldown in between transforms COOLDOWN_DECLARE(transform_cooldown) /datum/component/transforming/Initialize( - start_transformed = FALSE, - transform_cooldown_time = 0 SECONDS, - force_on = 0, - throwforce_on = 0, - throw_speed_on = 2, - sharpness_on = NONE, - hitsound_on = 'sound/weapons/blade1.ogg', - w_class_on = WEIGHT_CLASS_BULKY, - clumsy_check = TRUE, - list/attack_verb_continuous_on, - list/attack_verb_simple_on, - inhand_icon_change = TRUE, - ) + start_transformed = FALSE, + transform_cooldown_time = 0 SECONDS, + force_on = 0, + throwforce_on = 0, + throw_speed_on = 2, + sharpness_on = NONE, + hitsound_on = 'sound/weapons/blade1.ogg', + w_class_on = WEIGHT_CLASS_BULKY, + clumsy_check = TRUE, + list/attack_verb_continuous_on, + list/attack_verb_simple_on, + inhand_icon_change = TRUE, +) if(!isitem(parent)) return COMPONENT_INCOMPATIBLE @@ -120,7 +120,7 @@ if(do_transform(source, user)) clumsy_transform_effect(user) - . = COMPONENT_CANCEL_ATTACK_CHAIN + return COMPONENT_CANCEL_ATTACK_CHAIN /* * Transform the weapon into its alternate form, calling [toggle_active]. @@ -153,7 +153,7 @@ /datum/component/transforming/proc/default_transform_message(obj/item/source, mob/user) if(user) source.balloon_alert(user, "[active ? "enabled" : "disabled"] [source]") - playsound(user ? user : source.loc, 'sound/weapons/batonextend.ogg', 50, TRUE) + playsound(source, 'sound/weapons/batonextend.ogg', 50, TRUE) /* * Toggle active between true and false, and call @@ -175,6 +175,7 @@ * source - the item being transformed / parent */ /datum/component/transforming/proc/set_active(obj/item/source) + ADD_TRAIT(source, TRAIT_TRANSFORM_ACTIVE, REF(src)) if(sharpness_on) source.sharpness = sharpness_on if(force_on) @@ -203,6 +204,7 @@ * source - the item being un-transformed / parent */ /datum/component/transforming/proc/set_inactive(obj/item/source) + REMOVE_TRAIT(source, TRAIT_TRANSFORM_ACTIVE, REF(src)) if(sharpness_on) source.sharpness = initial(source.sharpness) if(force_on) @@ -245,8 +247,8 @@ var/hurt_self_verb_continuous = LAZYLEN(attack_verb_continuous_on) ? pick(attack_verb_continuous_on) : "hits" user.visible_message( span_warning("[user] triggers [parent] while holding it backwards and [hurt_self_verb_continuous] themself, like a doofus!"), - span_warning("You trigger [parent] while holding it backwards and [hurt_self_verb_simple] yourself, like a doofus!") - ) + span_warning("You trigger [parent] while holding it backwards and [hurt_self_verb_simple] yourself, like a doofus!"), + ) user.take_bodypart_damage(10) return TRUE return FALSE diff --git a/code/game/objects/items/boxcutter.dm b/code/game/objects/items/boxcutter.dm index ebf5eac5bbc..2d7f0190183 100644 --- a/code/game/objects/items/boxcutter.dm +++ b/code/game/objects/items/boxcutter.dm @@ -13,10 +13,6 @@ w_class = WEIGHT_CLASS_SMALL resistance_flags = FIRE_PROOF force = 0 - var/start_extended = FALSE - /// Whether or not the boxcutter has been readied - var/on = FALSE - var/on_sound = 'sound/items/boxcutter_activate.ogg' /// Used on Initialize, how much time to cut cable restraints and zipties. var/snap_time_weak_handcuffs = 0 SECONDS /// Used on Initialize, how much time to cut real handcuffs. Null means it can't. @@ -30,8 +26,8 @@ effectiveness = 100, \ ) - AddComponent(/datum/component/transforming, \ - start_transformed = start_extended, \ + AddComponent( \ + /datum/component/transforming, \ force_on = 10, \ throwforce_on = 4, \ throw_speed_on = throw_speed, \ @@ -47,8 +43,7 @@ /obj/item/boxcutter/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - on = active - playsound(src, on_sound, 50) + playsound(src, 'sound/items/boxcutter_activate.ogg', 50) tool_behaviour = (active ? TOOL_KNIFE : NONE) if(active) AddElement(/datum/element/cuffsnapping, snap_time_weak_handcuffs, snap_time_strong_handcuffs) diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 305cf688266..f1cca87b88d 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -322,13 +322,15 @@ /obj/item/melee/baton/telescopic/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = active_force, \ hitsound_on = hitsound, \ w_class_on = WEIGHT_CLASS_NORMAL, \ clumsy_check = FALSE, \ attack_verb_continuous_on = list("smacks", "strikes", "cracks", "beats"), \ - attack_verb_simple_on = list("smack", "strike", "crack", "beat")) + attack_verb_simple_on = list("smack", "strike", "crack", "beat"), \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/melee/baton/telescopic/suicide_act(mob/living/user) @@ -361,8 +363,9 @@ src.active = active inhand_icon_state = active ? on_inhand_icon_state : null // When inactive, there is no inhand icon_state. - balloon_alert(user, active ? "extended" : "collapsed") - playsound(user ? user : src, on_sound, 50, TRUE) + if(user) + balloon_alert(user, active ? "extended" : "collapsed") + playsound(src, on_sound, 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/melee/baton/telescopic/contractor_baton diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 917b161b049..06efb0d7fd6 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -16,8 +16,6 @@ /// The color of this energy based sword, for use in editing the icon_state. var/sword_color_icon - /// Whether our blade is active or not. - var/blade_active = FALSE /// Force while active. var/active_force = 30 /// Throwforce while active. @@ -48,9 +46,11 @@ /obj/item/melee/energy/Initialize(mapload) . = ..() make_transformable() - AddComponent(/datum/component/butchering, \ - speed = 5 SECONDS, \ - butcher_sound = active_hitsound, \ + AddElement(/datum/element/update_icon_updates_onmob) + AddComponent( + /datum/component/butchering, \ + speed = 5 SECONDS, \ + butcher_sound = active_hitsound, \ ) /obj/item/melee/energy/Destroy() @@ -61,7 +61,8 @@ * Gives our item the transforming component, passing in our various vars. */ /obj/item/melee/energy/proc/make_transformable() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = active_force, \ throwforce_on = active_throwforce, \ throw_speed_on = 4, \ @@ -70,12 +71,11 @@ w_class_on = active_w_class, \ attack_verb_continuous_on = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts"), \ attack_verb_simple_on = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut"), \ - inhand_icon_change = FALSE, \ ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/melee/energy/suicide_act(mob/living/user) - if(!blade_active) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) attack_self(user) user.visible_message(span_suicide("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku!")) return (BRUTELOSS|FIRELOSS) @@ -85,7 +85,7 @@ open_flame() /obj/item/melee/energy/ignition_effect(atom/atom, mob/user) - if(!heat && !blade_active) + if(!heat && !HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return "" var/in_mouth = "" @@ -97,27 +97,28 @@ playsound(loc, hitsound, get_clamped_volume(), TRUE, -1) add_fingerprint(user) -/* +/obj/item/melee/energy/update_icon_state() + . = ..() + if(!sword_color_icon) + return + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) + icon_state = "[base_icon_state]_on_[sword_color_icon]" // "esword_on_red" + inhand_icon_state = icon_state + else + icon_state = base_icon_state + inhand_icon_state = base_icon_state + +/** * Signal proc for [COMSIG_TRANSFORMING_ON_TRANSFORM]. * - * Updates our icon to have the correct color, - * updates the amount of heat our item gives out, - * enables / disables embedding, and - * starts / stops processing. + * Updates some of the stuff the transforming comp doesn't, such as heat and embedding. * * Also gives feedback to the user and activates or deactives the glow. */ /obj/item/melee/energy/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - blade_active = active if(active) - if(sword_color_icon) - icon_state = "[icon_state]_[sword_color_icon]" - inhand_icon_state = "[inhand_icon_state]_on_[sword_color_icon]" - if(ismob(loc)) - var/mob/loc_mob = loc - loc_mob.update_held_items() if(embedding) updateEmbedding() heat = active_heat @@ -131,8 +132,9 @@ tool_behaviour = (active ? TOOL_SAW : NONE) //Lets energy weapons cut trees. Also lets them do bonecutting surgery, which is kinda metal! if(user) balloon_alert(user, "[name] [active ? "enabled":"disabled"]") - playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) + playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) set_light_on(active) + update_appearance(UPDATE_ICON_STATE) return COMPONENT_NO_DEFAULT_MESSAGE /// Energy axe - extremely strong. @@ -141,6 +143,7 @@ desc = "An energized battle axe." icon_state = "axe" inhand_icon_state = "axe" + base_icon_state = "axe" lefthand_file = 'icons/mob/inhands/weapons/axes_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/axes_righthand.dmi' hitsound = 'sound/weapons/bladeslice.ogg' @@ -161,12 +164,14 @@ active_w_class = WEIGHT_CLASS_HUGE /obj/item/melee/energy/axe/make_transformable() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = active_force, \ throwforce_on = active_throwforce, \ throw_speed_on = throw_speed, \ sharpness_on = sharpness, \ - w_class_on = active_w_class) + w_class_on = active_w_class, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/melee/energy/axe/suicide_act(mob/living/user) @@ -178,6 +183,7 @@ name = "energy sword" desc = "May the force be within you." icon_state = "e_sword" + base_icon_state = "e_sword" inhand_icon_state = "e_sword" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' @@ -192,9 +198,9 @@ embedding = list("embed_chance" = 75, "impact_pain_mult" = 10) /obj/item/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) - if(blade_active) - return ..() - return FALSE + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) + return FALSE + return ..() /obj/item/melee/energy/sword/cyborg name = "cyborg energy sword" @@ -207,14 +213,14 @@ return var/obj/item/stock_parts/cell/our_cell = user.cell - if(blade_active && !(our_cell.use(hitcost))) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) && !(our_cell.use(hitcost))) attack_self(user) to_chat(user, span_notice("It's out of charge!")) return return ..() /obj/item/melee/energy/sword/cyborg/cyborg_unequip(mob/user) - if(!blade_active) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return attack_self(user) @@ -246,7 +252,7 @@ "blue" = LIGHT_COLOR_LIGHT_CYAN, "green" = LIGHT_COLOR_GREEN, "purple" = LIGHT_COLOR_LAVENDER, - ) + ) /// Whether this saber has been multitooled. var/hacked = FALSE var/hacked_color @@ -261,19 +267,22 @@ /obj/item/melee/energy/sword/saber/process() . = ..() - if(blade_active && hacked) - if(!LAZYLEN(possible_sword_colors)) - possible_sword_colors = list( - "red" = COLOR_SOFT_RED, - "blue" = LIGHT_COLOR_LIGHT_CYAN, - "green" = LIGHT_COLOR_GREEN, - "purple" = LIGHT_COLOR_LAVENDER, - ) - possible_sword_colors -= hacked_color - hacked_color = pick(possible_sword_colors) - set_light_color(possible_sword_colors[hacked_color]) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) || !hacked) + return + + if(!LAZYLEN(possible_sword_colors)) + possible_sword_colors = list( + "red" = COLOR_SOFT_RED, + "blue" = LIGHT_COLOR_LIGHT_CYAN, + "green" = LIGHT_COLOR_GREEN, + "purple" = LIGHT_COLOR_LAVENDER, + ) possible_sword_colors -= hacked_color + hacked_color = pick(possible_sword_colors) + set_light_color(possible_sword_colors[hacked_color]) + possible_sword_colors -= hacked_color + /obj/item/melee/energy/sword/saber/red sword_color_icon = "red" @@ -293,16 +302,14 @@ hacked = TRUE sword_color_icon = "rainbow" to_chat(user, span_warning("RNBW_ENGAGE")) - if(force >= active_force) - icon_state = "[initial(icon_state)]_on_rainbow" - inhand_icon_state = "[initial(inhand_icon_state)]_on_rainbow" - user.update_held_items() + update_appearance(UPDATE_ICON_STATE) /obj/item/melee/energy/sword/pirate name = "energy cutlass" desc = "Arrrr matey." icon_state = "e_cutlass" inhand_icon_state = "e_cutlass" + base_icon_state = "e_cutlass" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' light_color = COLOR_RED @@ -312,6 +319,7 @@ name = "energy blade" desc = "A concentrated beam of energy in the shape of a blade. Very stylish... and lethal." icon_state = "blade" + base_icon_state = "blade" lefthand_file = 'icons/mob/inhands/weapons/swords_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/swords_righthand.dmi' hitsound = 'sound/weapons/blade1.ogg' @@ -324,7 +332,6 @@ sharpness = SHARP_EDGED heat = 3500 w_class = WEIGHT_CLASS_BULKY - blade_active = TRUE /// Our linked spark system that emits from our sword. var/datum/effect_system/spark_spread/spark_system @@ -335,6 +342,7 @@ spark_system.set_up(5, 0, src) spark_system.attach(src) START_PROCESSING(SSobj, src) + ADD_TRAIT(src, TRAIT_TRANSFORM_ACTIVE, INNATE_TRAIT) // Functions as an extended esword /obj/item/melee/energy/blade/Destroy() QDEL_NULL(spark_system) @@ -348,3 +356,4 @@ desc = "An extremely sharp blade made out of hard light. Packs quite a punch." icon_state = "lightblade" inhand_icon_state = "lightblade" + base_icon_state = "lightblade" diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 4c017783273..9043d0e9af3 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -355,14 +355,13 @@ var/static/list/ovens /// The beam that links to the oven we use var/datum/beam/beam - /// Whether or stick is extended and can recieve sausage - var/extended = FALSE /obj/item/melee/roastingstick/Initialize(mapload) . = ..() if (!ovens) ovens = typecacheof(list(/obj/singularity, /obj/energy_ball, /obj/machinery/power/supermatter_crystal, /obj/structure/bonfire)) - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ hitsound_on = hitsound, \ clumsy_check = FALSE, \ inhand_icon_change = FALSE, \ @@ -390,16 +389,16 @@ /obj/item/melee/roastingstick/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - extended = active inhand_icon_state = active ? "nullrod" : null - balloon_alert(user, "[active ? "extended" : "collapsed"] [src]") - playsound(user ? user : src, 'sound/weapons/batonextend.ogg', 50, TRUE) + if(user) + balloon_alert(user, "[active ? "extended" : "collapsed"] [src]") + playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/melee/roastingstick/attackby(atom/target, mob/user) ..() if (istype(target, /obj/item/food/sausage)) - if (!extended) + if (!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) to_chat(user, span_warning("You must extend [src] to attach anything to it!")) return if (held_sausage) @@ -430,7 +429,7 @@ /obj/item/melee/roastingstick/afterattack(atom/target, mob/user, proximity) . = ..() - if (!extended) + if (!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return if (!is_type_in_typecache(target, ovens)) return diff --git a/code/game/objects/items/shields.dm b/code/game/objects/items/shields.dm index b06ea245dbd..d41397301b3 100644 --- a/code/game/objects/items/shields.dm +++ b/code/game/objects/items/shields.dm @@ -244,8 +244,6 @@ throw_speed = 3 breakable_by_damage = FALSE block_sound = 'sound/weapons/block_blade.ogg' - /// Whether the shield is currently extended and protecting the user. - var/enabled = FALSE /// Force of the shield when active. var/active_force = 10 /// Throwforce of the shield when active. @@ -257,19 +255,21 @@ /obj/item/shield/energy/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = active_force, \ throwforce_on = active_throwforce, \ throw_speed_on = active_throw_speed, \ hitsound_on = hitsound, \ - clumsy_check = !can_clumsy_use) + clumsy_check = !can_clumsy_use, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/shield/energy/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) return FALSE /obj/item/shield/energy/IsReflect() - return enabled + return HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) /* * Signal proc for [COMSIG_TRANSFORMING_ON_TRANSFORM]. @@ -277,10 +277,9 @@ /obj/item/shield/energy/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - enabled = active - - balloon_alert(user, "[active ? "activated":"deactivated"]") - playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) + if(user) + balloon_alert(user, active ? "activated" : "deactivated") + playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/shield/riot/tele @@ -296,27 +295,28 @@ throw_speed = 3 throw_range = 4 w_class = WEIGHT_CLASS_NORMAL - /// Whether the shield is extended and protecting the user.. - var/extended = FALSE /obj/item/shield/riot/tele/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = 8, \ throwforce_on = 5, \ throw_speed_on = 2, \ hitsound_on = hitsound, \ w_class_on = WEIGHT_CLASS_BULKY, \ attack_verb_continuous_on = list("smacks", "strikes", "cracks", "beats"), \ - attack_verb_simple_on = list("smack", "strike", "crack", "beat")) + attack_verb_simple_on = list("smack", "strike", "crack", "beat"), \ + ) + RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/shield/riot/tele/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) - if(extended) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) return ..() return FALSE -/* +/** * Signal proc for [COMSIG_TRANSFORMING_ON_TRANSFORM]. * * Allows it to be placed on back slot when active. @@ -324,10 +324,10 @@ /obj/item/shield/riot/tele/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - extended = active slot_flags = active ? ITEM_SLOT_BACK : null - playsound(user ? user : src, 'sound/weapons/batonextend.ogg', 50, TRUE) - balloon_alert(user, "[active ? "extended" : "collapsed"]") + if(user) + balloon_alert(user, active ? "extended" : "collapsed") + playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE #undef BATON_BASH_COOLDOWN diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index 9203c8a123e..034e274d3cd 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -109,7 +109,8 @@ /obj/item/crowbar/power/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = force, \ throwforce_on = throwforce, \ hitsound_on = hitsound, \ @@ -128,8 +129,9 @@ SIGNAL_HANDLER tool_behaviour = (active ? TOOL_WIRECUTTER : TOOL_CROWBAR) - balloon_alert(user, "attached [active ? "cutting" : "prying"]") - playsound(user ? user : src, 'sound/items/change_jaws.ogg', 50, TRUE) + if(user) + balloon_alert(user, "attached [active ? "cutting" : "prying"]") + playsound(src, 'sound/items/change_jaws.ogg', 50, TRUE) if(tool_behaviour == TOOL_CROWBAR) RemoveElement(/datum/element/cuffsnapping, snap_time_weak_handcuffs, snap_time_strong_handcuffs) else diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm index d9ad265ced8..adb9058be65 100644 --- a/code/game/objects/items/tools/screwdriver.dm +++ b/code/game/objects/items/tools/screwdriver.dm @@ -103,7 +103,8 @@ /obj/item/screwdriver/power/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = force, \ throwforce_on = throwforce, \ hitsound_on = hitsound, \ @@ -122,8 +123,9 @@ SIGNAL_HANDLER tool_behaviour = (active ? TOOL_WRENCH : TOOL_SCREWDRIVER) - balloon_alert(user, "attached [active ? "bolt bit" : "screw bit"]") - playsound(user ? user : src, 'sound/items/change_drill.ogg', 50, TRUE) + if(user) + balloon_alert(user, "attached [active ? "bolt bit" : "screw bit"]") + playsound(src, 'sound/items/change_drill.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/screwdriver/power/examine() diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm index c8a7ac74c80..20bf3884f34 100644 --- a/code/game/objects/items/tools/wrench.dm +++ b/code/game/objects/items/tools/wrench.dm @@ -103,12 +103,14 @@ /obj/item/wrench/combat/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = 6, \ throwforce_on = 8, \ hitsound_on = hitsound, \ w_class_on = WEIGHT_CLASS_NORMAL, \ - clumsy_check = FALSE) + clumsy_check = FALSE, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /* @@ -119,15 +121,10 @@ /obj/item/wrench/combat/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - if(active) - tool_behaviour = TOOL_WRENCH - toolspeed = 1 - else - tool_behaviour = initial(tool_behaviour) - toolspeed = initial(toolspeed) - - balloon_alert(user, "[name] [active ? "active, woe!":"restrained"]") - playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE) + tool_behaviour = active ? TOOL_WRENCH : initial(tool_behaviour) + if(user) + balloon_alert(user, "[name] [active ? "active, woe!":"restrained"]") + playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/wrench/bolter diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 82d2ac2adb5..45337d70c28 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -409,7 +409,8 @@ /obj/item/toy/sword/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ throw_speed_on = throw_speed, \ hitsound_on = hitsound, \ clumsy_check = FALSE, \ @@ -432,8 +433,11 @@ */ /obj/item/toy/sword/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - balloon_alert(user, "[active ? "flicked out":"pushed in"] [src]") - playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 20, TRUE) + + if(user) + balloon_alert(user, "[active ? "flicked out":"pushed in"] [src]") + + playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 20, TRUE) update_appearance(UPDATE_ICON) return COMPONENT_NO_DEFAULT_MESSAGE @@ -464,9 +468,7 @@ /obj/item/toy/sword/update_icon_state() . = ..() - var/datum/component/transforming/transforming_comp = GetComponent(/datum/component/transforming) - var/active = transforming_comp?.active - var/last_part = active ? "_on[saber_color ? "_[saber_color]" : null]" : null + var/last_part = HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? "_on[saber_color ? "_[saber_color]" : null]" : null icon_state = "[initial(icon_state)][last_part]" inhand_icon_state = "[initial(inhand_icon_state)][last_part]" diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 3eda40d51ab..5fad2e4e28a 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -428,7 +428,8 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 effectiveness = 100, \ ) - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ start_transformed = start_extended, \ force_on = 20, \ throwforce_on = 23, \ @@ -503,13 +504,15 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/cane/white/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = 7, \ hitsound_on = hitsound, \ w_class_on = WEIGHT_CLASS_BULKY, \ clumsy_check = FALSE, \ attack_verb_continuous_on = list("smacks", "strikes", "cracks", "beats"), \ - attack_verb_simple_on = list("smack", "strike", "crack", "beat")) + attack_verb_simple_on = list("smack", "strike", "crack", "beat"), \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) ADD_TRAIT(src, TRAIT_BLIND_TOOL, INNATE_TRAIT) @@ -521,8 +524,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 /obj/item/cane/white/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - balloon_alert(user, active ? "extended" : "collapsed") - playsound(user ? user : src, 'sound/weapons/batonextend.ogg', 50, TRUE) + if(user) + balloon_alert(user, active ? "extended" : "collapsed") + playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/staff diff --git a/code/modules/antagonists/clown_ops/clown_weapons.dm b/code/modules/antagonists/clown_ops/clown_weapons.dm index c1f6c030d20..6e1821e52ee 100644 --- a/code/modules/antagonists/clown_ops/clown_weapons.dm +++ b/code/modules/antagonists/clown_ops/clown_weapons.dm @@ -99,11 +99,13 @@ COOLDOWN_DECLARE(next_trombone_allowed) /obj/item/melee/energy/sword/bananium/make_transformable() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ throw_speed_on = 4, \ attack_verb_continuous_on = list("slips"), \ attack_verb_simple_on = list("slip"), \ - clumsy_check = FALSE) + clumsy_check = FALSE, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/melee/energy/sword/bananium/on_transform(obj/item/source, mob/user, active) @@ -114,20 +116,20 @@ * Adds or removes a slippery component, depending on whether the sword is active or not. */ /obj/item/melee/energy/sword/bananium/proc/adjust_slipperiness() - if(blade_active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) AddComponent(/datum/component/slippery, 60, GALOSHES_DONT_HELP) else qdel(GetComponent(/datum/component/slippery)) /obj/item/melee/energy/sword/bananium/attack(mob/living/M, mob/living/user) . = ..() - if(blade_active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.Slip(src, M) /obj/item/melee/energy/sword/bananium/throw_impact(atom/hit_atom, throwingdatum) . = ..() - if(blade_active) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) slipper.Slip(src, hit_atom) @@ -140,7 +142,7 @@ return ..() /obj/item/melee/energy/sword/bananium/suicide_act(mob/living/user) - if(!blade_active) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) attack_self(user) user.visible_message(span_suicide("[user] is [pick("slitting [user.p_their()] stomach open with", "falling on")] [src]! It looks like [user.p_theyre()] trying to commit seppuku, but the blade slips off of [user.p_them()] harmlessly!")) var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) @@ -172,7 +174,7 @@ * Adds or removes a slippery and boomerang component, depending on whether the shield is active or not. */ /obj/item/shield/energy/bananium/proc/adjust_comedy() - if(enabled) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) AddComponent(/datum/component/slippery, 60, GALOSHES_DONT_HELP) AddComponent(/datum/component/boomerang, throw_range+2, TRUE) else @@ -180,7 +182,7 @@ qdel(GetComponent(/datum/component/boomerang)) /obj/item/shield/energy/bananium/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) - if(enabled) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) var/caught = hit_atom.hitby(src, FALSE, FALSE, throwingdatum=throwingdatum) if(iscarbon(hit_atom) && !caught)//if they are a carbon and they didn't catch it var/datum/component/slippery/slipper = GetComponent(/datum/component/slippery) diff --git a/code/modules/mining/lavaland/megafauna_loot.dm b/code/modules/mining/lavaland/megafauna_loot.dm index 7e5f7398c4e..619a60188b3 100644 --- a/code/modules/mining/lavaland/megafauna_loot.dm +++ b/code/modules/mining/lavaland/megafauna_loot.dm @@ -848,8 +848,6 @@ hitsound = 'sound/weapons/bladeslice.ogg' w_class = WEIGHT_CLASS_BULKY sharpness = SHARP_EDGED - /// Whether the saw is open or not - var/is_open = FALSE /// List of factions we deal bonus damage to var/list/nemesis_factions = list(FACTION_MINING, FACTION_BOSS) /// Amount of damage we deal to the above factions @@ -865,7 +863,8 @@ /obj/item/melee/cleaving_saw/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ transform_cooldown_time = (CLICK_CD_MELEE * 0.25), \ force_on = open_force, \ throwforce_on = open_throwforce, \ @@ -873,26 +872,28 @@ hitsound_on = hitsound, \ w_class_on = w_class, \ attack_verb_continuous_on = list("cleaves", "swipes", "slashes", "chops"), \ - attack_verb_simple_on = list("cleave", "swipe", "slash", "chop")) + attack_verb_simple_on = list("cleave", "swipe", "slash", "chop"), \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /obj/item/melee/cleaving_saw/examine(mob/user) . = ..() - . += span_notice("It is [is_open ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].") + . += span_notice("It is [HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? "open, will cleave enemies in a wide arc and deal additional damage to fauna":"closed, and can be used for rapid consecutive attacks that cause fauna to bleed"].") . += span_notice("Both modes will build up existing bleed effects, doing a burst of high damage if the bleed is built up high enough.") . += span_notice("Transforming it immediately after an attack causes the next attack to come out faster.") /obj/item/melee/cleaving_saw/suicide_act(mob/living/user) - user.visible_message(span_suicide("[user] is [is_open ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")) + user.visible_message(span_suicide("[user] is [HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")) attack_self(user) return BRUTELOSS /obj/item/melee/cleaving_saw/melee_attack_chain(mob/user, atom/target, params) . = ..() - if(!is_open) + if(!HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) user.changeNext_move(CLICK_CD_MELEE * 0.5) //when closed, it attacks very rapidly /obj/item/melee/cleaving_saw/attack(mob/living/target, mob/living/carbon/human/user) + var/is_open = HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) if(!is_open || swiping || !target.density || get_turf(target) == get_turf(user)) if(!is_open) faction_bonus_force = 0 @@ -943,11 +944,10 @@ /obj/item/melee/cleaving_saw/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - is_open = active user.changeNext_move(CLICK_CD_MELEE * 0.25) - - balloon_alert(user, "[active ? "opened":"closed"] [src]") - playsound(user ? user : src, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (is_open * 30000)) + if(user) + balloon_alert(user, "[active ? "opened" : "closed"] [src]") + playsound(src, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000)) return COMPONENT_NO_DEFAULT_MESSAGE //Legion: Staff of Storms diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index be6b4d2478c..ea62ba176d1 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -268,8 +268,6 @@ var/hidden_desc = "It's a normal black ink pe- Wait. That's a thing used to stab people!" /// The real icons used when extended. var/hidden_icon = "edagger" - /// Whether or pen is extended - var/extended = FALSE /obj/item/pen/edagger/Initialize(mapload) . = ..() @@ -277,7 +275,8 @@ speed = 6 SECONDS, \ butcher_sound = 'sound/weapons/blade1.ogg', \ ) - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = 18, \ throwforce_on = 35, \ throw_speed_on = 4, \ @@ -289,7 +288,7 @@ RegisterSignal(src, COMSIG_DETECTIVE_SCANNED, PROC_REF(on_scan)) /obj/item/pen/edagger/suicide_act(mob/living/user) - if(extended) + if(HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE)) user.visible_message(span_suicide("[user] forcefully rams the pen into their mouth!")) else user.visible_message(span_suicide("[user] is holding a pen up to their mouth! It looks like [user.p_theyre()] trying to commit suicide!")) @@ -305,7 +304,6 @@ /obj/item/pen/edagger/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - extended = active if(active) name = hidden_name desc = hidden_desc @@ -324,8 +322,9 @@ embedding = list(embed_chance = EMBED_CHANCE) updateEmbedding() - balloon_alert(user, "[hidden_name] [active ? "active":"concealed"]") - playsound(user ? user : src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE) + if(user) + balloon_alert(user, "[hidden_name] [active ? "active" : "concealed"]") + playsound(src, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 5, TRUE) set_light_on(active) return COMPONENT_NO_DEFAULT_MESSAGE @@ -363,12 +362,11 @@ desc = "A pen with an extendable screwdriver tip. This one has a yellow cap." icon_state = "pendriver" toolspeed = 1.2 // gotta have some downside - /// whether the pen is extended - var/extended = FALSE /obj/item/pen/screwdriver/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ throwforce_on = 5, \ w_class_on = WEIGHT_CLASS_SMALL, \ sharpness_on = TRUE, \ @@ -378,24 +376,14 @@ RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(toggle_screwdriver)) AddElement(/datum/element/update_icon_updates_onmob) - -/obj/item/pen/screwdriver/vv_edit_var(var_name, var_value) - if(var_name == NAMEOF(src, extended)) - if(var_value != extended) - var/datum/component/transforming/transforming_comp = GetComponent(/datum/component/transforming) - transforming_comp.on_attack_self(src) - datum_flags |= DF_VAR_EDITED - return - return ..() - /obj/item/pen/screwdriver/proc/toggle_screwdriver(obj/item/source, mob/user, active) SIGNAL_HANDLER - extended = active + if(user) - balloon_alert(user, "[extended ? "extended" : "retracted"]") + balloon_alert(user, active ? "extended" : "retracted") playsound(src, 'sound/weapons/batonextend.ogg', 50, TRUE) - if(!extended) + if(!active) tool_behaviour = initial(tool_behaviour) RemoveElement(/datum/element/eyestab) else @@ -407,5 +395,5 @@ /obj/item/pen/screwdriver/update_icon_state() . = ..() - icon_state = "[initial(icon_state)][extended ? "_out":null]" + icon_state = "[initial(icon_state)][HAS_TRAIT(src, TRAIT_TRANSFORM_ACTIVE) ? "_out" : null]" inhand_icon_state = initial(inhand_icon_state) //since transforming component switches the icon. diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm index a6b122383a8..1f2affb6e7a 100644 --- a/code/modules/recycling/sortingmachinery.dm +++ b/code/modules/recycling/sortingmachinery.dm @@ -193,7 +193,7 @@ else if(istype(item, /obj/item/boxcutter)) var/obj/item/boxcutter/boxcutter_item = item - if(boxcutter_item.on) + if(HAS_TRAIT(boxcutter_item, TRAIT_TRANSFORM_ACTIVE)) if(!attempt_pre_unwrap_contents(user, time = 0.5 SECONDS)) return unwrap_contents() diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 76a313020f7..cabcc48e4eb 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -82,12 +82,14 @@ /obj/item/cautery/advanced/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = force, \ throwforce_on = throwforce, \ hitsound_on = hitsound, \ w_class_on = w_class, \ - clumsy_check = FALSE) + clumsy_check = FALSE, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /* @@ -331,14 +333,16 @@ /obj/item/scalpel/advanced/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = force + 1, \ throwforce_on = throwforce, \ throw_speed_on = throw_speed, \ sharpness_on = sharpness, \ hitsound_on = hitsound, \ w_class_on = w_class, \ - clumsy_check = FALSE) + clumsy_check = FALSE, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /* @@ -378,12 +382,14 @@ /obj/item/retractor/advanced/Initialize(mapload) . = ..() - AddComponent(/datum/component/transforming, \ + AddComponent( \ + /datum/component/transforming, \ force_on = force, \ throwforce_on = throwforce, \ hitsound_on = hitsound, \ w_class_on = w_class, \ - clumsy_check = FALSE) + clumsy_check = FALSE, \ + ) RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) /* diff --git a/icons/mob/inhands/weapons/swords_lefthand.dmi b/icons/mob/inhands/weapons/swords_lefthand.dmi index b9825c07859b37c31055e50019f2977b553cb4dc..dd1aba84b7d07bf0cc5ad69e66e6d56917c14e52 100644 GIT binary patch literal 23583 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

VKK}$d%NX737TxoC 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 literal 28840 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 bW$9e&yYk?5ly?JA24rGzQy-`M&y)WECc!VC