diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm index 0a389bc745c..2bb0e0b91af 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -178,7 +178,7 @@ to_chat(user, SPAN_WARNING("You don't want to harm other living beings!")) return FALSE - if(!force) + if(!force && !("zero_damage_hitsound" in vars)) playsound(loc, 'sound/weapons/tap.ogg', get_clamped_volume(), TRUE, -1) else SEND_SIGNAL(target, COMSIG_ATTACK) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 44adbb4fd0b..87da806b8c5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -729,7 +729,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons var/mob/living/L = hit_atom L.IgniteMob() var/volume = get_volume_by_throwforce_and_or_w_class() - if(throwforce > 0) + if(throwforce > 0 || ("zero_damage_hitsound" in vars)) if(mob_throw_hit_sound) SSthrowing.playsound_capped(hit_atom, mob_throw_hit_sound, volume, TRUE, -1) else if(hitsound) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 93266974e84..a4927f7b8df 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -2089,3 +2089,36 @@ desc = "Rumor has it that microscopic space life makes its home in these crevices." icon_state = "shell_red" dye_color = DYE_LIGHTRED + +/obj/item/toy/pool_noodle + name = "boring pool noodle" + desc = ABSTRACT_TYPE_DESC + icon = 'icons/obj/toy.dmi' + icon_state = "pool_noodle" + attack_verb = list("bopped", "splatted", "smacked", "thwapped", "slapped") + hitsound = 'sound/items/pool_noodle_hit.ogg' + // Having this var at all should play hitsound even if damage is zero + var/zero_damage_hitsound = TRUE + w_class = WEIGHT_CLASS_BULKY + +/obj/item/toy/pool_noodle/Initialize(mapload) + if(!color) + return ..() + name = "pool noodle" + desc = "A damp, flexible tube for unrestrained summer fun." + return ..() + +/obj/item/toy/pool_noodle/pink + color = COLOR_PINK + +/obj/item/toy/pool_noodle/lime + color = COLOR_LIME + +/obj/item/toy/pool_noodle/aqua + color = COLOR_CYAN + +/obj/item/toy/pool_noodle/violet + color = COLOR_VIOLET + +/obj/item/toy/pool_noodle/orange + color = COLOR_ORANGE diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index c71d9a11837..db57fc42dc4 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index 97ffa58df0b..bf876a4b9d2 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 84a6fb02a1d..2418d5ab0f6 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ diff --git a/sound/Attributions.txt b/sound/Attributions.txt index a72fab16953..28b523418eb 100644 --- a/sound/Attributions.txt +++ b/sound/Attributions.txt @@ -29,3 +29,6 @@ effects/mob_effects/flap.ogg and effects/mob_effects/angryflap.ogg were taken fr effects/mob_effects/flutter.ogg was taken from https://freesound.org/people/Godowan/sounds/240476/ under CC0 items/beach_chair_hit_1.ogg was compressed to ogg from "screen door open 1.wav" in https://filmcow.itch.io/filmcow-sfx 's "FilmCow Recorded SFX.zip" under their FilmCow Royalty Free SFX Library License Agreement + +items/pool_noodle_hit.ogg was compressed to ogg from "cardboard box hit 28.wav" in https://filmcow.itch.io/filmcow-sfx-4 's "Hits & Crunches 48kHz.zip" under their FilmCow Royalty Free SFX Library License Agreement + diff --git a/sound/items/pool_noodle_hit.ogg b/sound/items/pool_noodle_hit.ogg new file mode 100644 index 00000000000..3021bb4e4c5 Binary files /dev/null and b/sound/items/pool_noodle_hit.ogg differ