diff --git a/code/game/objects/items/knives.dm b/code/game/objects/items/knives.dm index b7273ed0a32..315862d2d79 100644 --- a/code/game/objects/items/knives.dm +++ b/code/game/objects/items/knives.dm @@ -124,6 +124,7 @@ name = "combat knife" icon = 'icons/obj/weapons/stabby.dmi' icon_state = "buckknife" + worn_icon_state = "buckknife" desc = "A military combat utility survival knife." embedding = list("pain_mult" = 4, "embed_chance" = 65, "fall_chance" = 10, "ignore_throwspeed_threshold" = TRUE) force = 20 @@ -131,11 +132,33 @@ attack_verb_continuous = list("slashes", "stabs", "slices", "tears", "lacerates", "rips", "cuts") attack_verb_simple = list("slash", "stab", "slice", "tear", "lacerate", "rip", "cut") bayonet = TRUE + slot_flags = ITEM_SLOT_MASK + +/obj/item/knife/combat/Initialize(mapload) + . = ..() + AddComponent(/datum/component/knockoff, 90, list(BODY_ZONE_PRECISE_MOUTH), slot_flags) //90% to knock off when wearing a mask + +/obj/item/knife/combat/dropped(mob/living/user, slot) + . = ..() + if(user.get_item_by_slot(ITEM_SLOT_MASK) == src && !user.has_status_effect(/datum/status_effect/choke) && prob(20)) + user.apply_damage(5, BRUTE, BODY_ZONE_HEAD) + playsound(user, 'sound/weapons/slice.ogg', 50, TRUE) + user.visible_message(span_danger("[user] accidentally cuts [user.p_them()]self while pulling [src] out of [user.p_them()] teeth! What a doofus!"), span_userdanger("You accidentally cut your mouth with [src]!")) + . = ..() + +/obj/item/knife/combat/equipped(mob/living/user, slot, initial = FALSE) + . = ..() + if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(20)) + if(user.get_item_by_slot(ITEM_SLOT_MASK) == src) + user.apply_status_effect(/datum/status_effect/choke, src) + user.visible_message(span_danger("[user] accidentally swallows [src]!")) + playsound(user, 'sound/items/eatfood.ogg', 100, TRUE) /obj/item/knife/combat/survival name = "survival knife" icon = 'icons/obj/weapons/stabby.dmi' icon_state = "survivalknife" + worn_icon_state = "survivalknife" embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) desc = "A hunting grade survival knife." force = 15 @@ -153,6 +176,7 @@ desc = "A sharpened bone. The bare minimum in survival." embedding = list("pain_mult" = 4, "embed_chance" = 35, "fall_chance" = 10) obj_flags = parent_type::obj_flags & ~CONDUCTS_ELECTRICITY + slot_flags = NONE force = 15 throwforce = 15 custom_materials = null diff --git a/icons/mob/clothing/mask.dmi b/icons/mob/clothing/mask.dmi index 4c05979ff2b..24e8622344e 100644 Binary files a/icons/mob/clothing/mask.dmi and b/icons/mob/clothing/mask.dmi differ