diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 17bbb0a12f..5a4cd477e5 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -586,6 +586,31 @@ flags_1 = DROPDEL_1 | ABSTRACT_1 attack_verb = list("bopped") +/obj/item/slapper + name = "slapper" + desc = "This is how real men fight." + icon_state = "latexballon" + force = 1 + throwforce = 0 + flags_1 = DROPDEL_1 | ABSTRACT_1 + attack_verb = list("slapped") + hitsound = 'sound/effects/snap.ogg' + +/obj/item/slapper/attack(mob/M, mob/living/carbon/human/user) + if(ishuman(M)) + var/mob/living/carbon/human/L = M + L.endTailWag() + if(user.a_intent != INTENT_HARM) + var/aim_for_face = ((user.zone_selected == "mouth") || (user.zone_selected == "eyes") || (user.zone_selected == "head")) + user.do_attack_animation(M) + playsound(M, 'sound/weapons/slap.ogg', 50, 1, -1) + user.visible_message("[user] slaps [M] in the [(aim_for_face)?"face":user.zone_selected]!", + "You slap [M] in the [(aim_for_face)?"face":user.zone_selected]! ",\ + "You hear a slap.") + return + else + ..() + /obj/item/proc/can_trigger_gun(mob/living/user) if(!user.can_use_guns(src)) return FALSE diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index bbe02a3f8e..051003726b 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -513,3 +513,16 @@ else qdel(N) to_chat(user, "You don't have any free hands to make a circle with.") + +/datum/emote/living/slap + key = "slap" + key_third_person = "slaps" + restraint_check = TRUE + +/datum/emote/living/slap/run_emote(mob/user, params) + . = ..() + var/obj/item/slapper/N = new(user) + if(user.put_in_hands(N)) + to_chat(user, "You ready your slapping hand.") + else + to_chat(user, "You're incapable of slapping in your current state.")