From d863a54a42112a4b38c3d2bca17fa0264f36e128 Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:20:28 +0700 Subject: [PATCH 1/6] EAEAE --- code/game/objects/items/weaponry.dm | 45 +++++++++++++++++++--- sound/effects/sound_effects_tableslam.ogg | Bin 0 -> 7233 bytes 2 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 sound/effects/sound_effects_tableslam.ogg diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 0148baf7ed5d..a67a9caf84c4 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -794,18 +794,53 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 item_flags = DROPDEL | ABSTRACT attack_verb = list("slapped") hitsound = 'sound/effects/snap.ogg' + /// How many smaller table smacks we can do before we're out + var/table_smacks_left = 3 -/obj/item/slapper/attack(mob/M, mob/living/carbon/human/user) +/obj/item/slapper/attack(mob/living/M, mob/living/carbon/human/user) if(ishuman(M)) var/mob/living/carbon/human/L = M if(L && L.dna && L.dna.species) L.dna.species.stop_wagging_tail(M) user.do_attack_animation(M) - playsound(M, 'sound/weapons/slap.ogg', 50, 1, -1) - user.visible_message(span_danger("[user] slaps [M]!"), - span_notice("You slap [M]!"),\ - "You hear a slap.") + var/slap_volume = 50 + if(user.zone_selected == BODY_ZONE_HEAD || user.zone_selected == BODY_ZONE_PRECISE_MOUTH) + user.visible_message("[user] slaps [M] in the face!", + "You slap [M] in the face!", + "You hear a slap.") + else + user.visible_message("[user] slaps [M]!", + "You slap [M]!", + "You hear a slap.") + playsound(M, 'sound/weapons/slap.ogg', slap_volume, TRUE, -1) return + +/obj/item/slapper/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if(!istype(target, /obj/structure/table)) + return ..() + + var/obj/structure/table/the_table = target + + if(user.a_intent == INTENT_HARM && table_smacks_left == initial(table_smacks_left)) // so you can't do 2 weak slaps followed by a big slam + transform = transform.Scale(5) // BIG slap + if(HAS_TRAIT(user, TRAIT_HULK)) + transform = transform.Scale(2) + color = COLOR_GREEN + user.do_attack_animation(the_table) + //Uncomment if we ever port table slam signals + //SEND_SIGNAL(user, COMSIG_LIVING_SLAM_TABLE, the_table) + //SEND_SIGNAL(the_table, COMSIG_TABLE_SLAMMED, user) + playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 110, TRUE) + user.visible_message("[user] slams [user.p_their()] fist down on [the_table]!", "You slam your fist down on [the_table]!") + qdel(src) + else + user.do_attack_animation(the_table) + playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 40, TRUE) + user.visible_message("[user] slaps [user.p_their()] hand on [the_table].", "You slap your hand on [the_table].", vision_distance=COMBAT_MESSAGE_RANGE) + table_smacks_left-- + if(table_smacks_left <= 0) + qdel(src) + /obj/item/proc/can_trigger_gun(mob/living/user) if(!user.can_use_guns(src)) return FALSE diff --git a/sound/effects/sound_effects_tableslam.ogg b/sound/effects/sound_effects_tableslam.ogg new file mode 100644 index 0000000000000000000000000000000000000000..6d1ba5ce21548b84af2c4e956916dc2884ae8668 GIT binary patch literal 7233 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 S#6YN3dUCHW$09j`^S=O13D2Ma literal 0 HcmV?d00001 From f984d77f46333e0991e45323da93d115306bbc38 Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:29:38 +0700 Subject: [PATCH 2/6] e --- .../{sound_effects_tableslam.ogg => tableslam.ogg} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename sound/effects/{sound_effects_tableslam.ogg => tableslam.ogg} (100%) diff --git a/sound/effects/sound_effects_tableslam.ogg b/sound/effects/tableslam.ogg similarity index 100% rename from sound/effects/sound_effects_tableslam.ogg rename to sound/effects/tableslam.ogg From 8817dae34c148127b4c6ce2233bed0b8e4d6a04a Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:30:13 +0700 Subject: [PATCH 3/6] ea --- code/game/objects/items/weaponry.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index a67a9caf84c4..b45ed97c52fe 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -795,7 +795,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 attack_verb = list("slapped") hitsound = 'sound/effects/snap.ogg' /// How many smaller table smacks we can do before we're out - var/table_smacks_left = 3 + var/table_smacks_left = 6 /obj/item/slapper/attack(mob/living/M, mob/living/carbon/human/user) if(ishuman(M)) From ff7c903a3e26f0b0d51695ab1af33bd17a5f987b Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:42:08 +0700 Subject: [PATCH 4/6] no --- code/game/objects/items/weaponry.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index b45ed97c52fe..54548fb59ae8 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -821,7 +821,7 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/obj/structure/table/the_table = target - if(user.a_intent == INTENT_HARM && table_smacks_left == initial(table_smacks_left)) // so you can't do 2 weak slaps followed by a big slam + if(user.a_intent == INTENT_HARM) transform = transform.Scale(5) // BIG slap if(HAS_TRAIT(user, TRAIT_HULK)) transform = transform.Scale(2) @@ -832,14 +832,10 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 //SEND_SIGNAL(the_table, COMSIG_TABLE_SLAMMED, user) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 110, TRUE) user.visible_message("[user] slams [user.p_their()] fist down on [the_table]!", "You slam your fist down on [the_table]!") - qdel(src) else user.do_attack_animation(the_table) playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 40, TRUE) user.visible_message("[user] slaps [user.p_their()] hand on [the_table].", "You slap your hand on [the_table].", vision_distance=COMBAT_MESSAGE_RANGE) - table_smacks_left-- - if(table_smacks_left <= 0) - qdel(src) /obj/item/proc/can_trigger_gun(mob/living/user) if(!user.can_use_guns(src)) From b6df7d6f64cd142b9b26d61177164986ec7b4ae6 Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:42:23 +0700 Subject: [PATCH 5/6] anea --- code/game/objects/items/weaponry.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 54548fb59ae8..8d98a0da09a4 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -794,8 +794,6 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 item_flags = DROPDEL | ABSTRACT attack_verb = list("slapped") hitsound = 'sound/effects/snap.ogg' - /// How many smaller table smacks we can do before we're out - var/table_smacks_left = 6 /obj/item/slapper/attack(mob/living/M, mob/living/carbon/human/user) if(ishuman(M)) From 1fd991465187e1300d97e3f6232cb8058a753a87 Mon Sep 17 00:00:00 2001 From: Bop Date: Thu, 1 Sep 2022 01:46:58 +0700 Subject: [PATCH 6/6] NO SLAPPING ACROSS MAP --- code/game/objects/items/weaponry.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 8d98a0da09a4..0927e3fd06e9 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -819,6 +819,9 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/obj/structure/table/the_table = target + if(!proximity_flag) + return + if(user.a_intent == INTENT_HARM) transform = transform.Scale(5) // BIG slap if(HAS_TRAIT(user, TRAIT_HULK))