diff --git a/code/game/objects/items/boxcutter.dm b/code/game/objects/items/boxcutter.dm index aa649f2960d..d6fc81fc82a 100644 --- a/code/game/objects/items/boxcutter.dm +++ b/code/game/objects/items/boxcutter.dm @@ -25,7 +25,7 @@ speed = 7 SECONDS, \ effectiveness = 100, \ ) - tool_behaviour = TOOL_KNIFE + AddComponent(/datum/component/transforming, \ start_transformed = start_extended, \ force_on = 10, \ @@ -45,5 +45,6 @@ on = active playsound(src, on_sound, 50) + tool_behaviour = (active ? TOOL_KNIFE : NONE) return COMPONENT_NO_DEFAULT_MESSAGE diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 5308cbb7c2c..55d7238b175 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -401,6 +401,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 speed = 7 SECONDS, \ effectiveness = 100, \ ) + AddComponent(/datum/component/transforming, \ start_transformed = start_extended, \ force_on = 20, \ @@ -410,7 +411,16 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 hitsound_on = 'sound/weapons/bladeslice.ogg', \ w_class_on = WEIGHT_CLASS_NORMAL, \ attack_verb_continuous_on = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "cuts"), \ - attack_verb_simple_on = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut")) + attack_verb_simple_on = list("slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "cut"), \ + ) + + RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, PROC_REF(on_transform)) + +/obj/item/switchblade/proc/on_transform(obj/item/source, mob/user, active) + SIGNAL_HANDLER + + tool_behaviour = (active ? TOOL_KNIFE : NONE) + return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/switchblade/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))