diff --git a/code/__DEFINES/sound.dm b/code/__DEFINES/sound.dm index 4df7cba9861..9658f12c152 100644 --- a/code/__DEFINES/sound.dm +++ b/code/__DEFINES/sound.dm @@ -265,3 +265,5 @@ GLOBAL_LIST_INIT(announcer_keys, list( #define SFX_DEFAULT_LIQUID_SLOSH "default_liquid_slosh" #define SFX_PLATE_ARMOR_RUSTLE "plate_armor_rustle" #define SFX_PIG_OINK "pig_oink" +#define SFX_VISOR_UP "visor_up" +#define SFX_VISOR_DOWN "visor_down" diff --git a/code/game/objects/structures/crates_lockers/closets/fitness.dm b/code/game/objects/structures/crates_lockers/closets/fitness.dm index 7b4f2d2ee2c..4e43ea2ce10 100644 --- a/code/game/objects/structures/crates_lockers/closets/fitness.dm +++ b/code/game/objects/structures/crates_lockers/closets/fitness.dm @@ -50,7 +50,7 @@ new /obj/item/gun/energy/laser/redtag(src) for(var/i in 1 to 3) new /obj/item/clothing/suit/redtag(src) - new /obj/item/clothing/head/helmet/redtaghelm(src) + new /obj/item/clothing/head/helmet/taghelm/red(src) /obj/structure/closet/lasertag/blue @@ -65,4 +65,4 @@ new /obj/item/gun/energy/laser/bluetag(src) for(var/i in 1 to 3) new /obj/item/clothing/suit/bluetag(src) - new /obj/item/clothing/head/helmet/bluetaghelm(src) + new /obj/item/clothing/head/helmet/taghelm/blue(src) diff --git a/code/game/sound.dm b/code/game/sound.dm index d0da9e1c315..97987fc5fd6 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -585,4 +585,15 @@ 'sound/mobs/non-humanoids/pig/pig1.ogg', 'sound/mobs/non-humanoids/pig/pig2.ogg', ) + if(SFX_VISOR_DOWN) + soundin = pick( + 'sound/items/handling/helmet/visor_down1.ogg', + 'sound/items/handling/helmet/visor_down2.ogg', + 'sound/items/handling/helmet/visor_down3.ogg', + ) + if(SFX_VISOR_UP) + soundin = pick( + 'sound/items/handling/helmet/visor_up1.ogg', + 'sound/items/handling/helmet/visor_up2.ogg', + ) return soundin diff --git a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm index 91107529721..9f6d10677d1 100644 --- a/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm +++ b/code/modules/antagonists/abductor/equipment/gear/abductor_items.dm @@ -594,6 +594,10 @@ Congratulations! You are now trained for invasive xenobiology research!"} icon_state = "alienhelmet" inhand_icon_state = null flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /obj/item/clothing/head/helmet/abductor/equipped(mob/living/user, slot) . = ..() diff --git a/code/modules/cargo/packs/costumes_toys.dm b/code/modules/cargo/packs/costumes_toys.dm index 8b96a5ddaf7..588353b34fe 100644 --- a/code/modules/cargo/packs/costumes_toys.dm +++ b/code/modules/cargo/packs/costumes_toys.dm @@ -82,8 +82,8 @@ /obj/item/gun/energy/laser/bluetag = 3, /obj/item/clothing/suit/redtag = 3, /obj/item/clothing/suit/bluetag = 3, - /obj/item/clothing/head/helmet/redtaghelm = 3, - /obj/item/clothing/head/helmet/bluetaghelm = 3, + /obj/item/clothing/head/helmet/taghelm/blue = 3, + /obj/item/clothing/head/helmet/taghelm/red = 3, ) crate_name = "laser tag crate" diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index cc02c191735..398c2f7d2c9 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -14,6 +14,10 @@ var/visor_flags_cover = NONE //same as above, but for flags_cover ///What to toggle when toggled with adjust_visor() var/visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT | VISOR_VISIONFLAGS | VISOR_INVISVIEW + ///Sound this item makes when its visor is flipped down + var/visor_toggle_down_sound = null + ///Sound this item makes when its visor is flipped up + var/visor_toggle_up_sound = null var/clothing_flags = NONE ///List of items that can be equipped in the suit storage slot while we're worn. @@ -533,6 +537,12 @@ BLIND // can't see anything to_chat(user, span_notice("You push [src] [up ? "out of the way" : "back into place"].")) + //play sounds when toggling the visor up or down (if there is any) + if(visor_toggle_up_sound && up) + playsound(src, visor_toggle_up_sound, 20, TRUE, -1) + if(visor_toggle_down_sound && !up) + playsound(src, visor_toggle_down_sound, 20, TRUE, -1) + update_item_action_buttons() if(user.is_holding(src)) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index b9b371d498c..b8e6bfa7ada 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -33,6 +33,12 @@ /obj/item/clothing/head/helmet/sec var/flipped_visor = FALSE + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' + visor_toggle_up_sound = SFX_VISOR_UP + visor_toggle_down_sound = SFX_VISOR_DOWN /obj/item/clothing/head/helmet/sec/Initialize(mapload) . = ..() @@ -70,8 +76,10 @@ icon_state = base_icon_state if (flipped_visor) flags_cover &= ~HEADCOVERSEYES + playsound(src, SFX_VISOR_DOWN, 20, TRUE, -1) else flags_cover |= HEADCOVERSEYES + playsound(src, SFX_VISOR_UP, 20, TRUE, -1) update_appearance() return CLICK_ACTION_SUCCESS @@ -79,6 +87,10 @@ name = "press helmet" desc = "A blue helmet used to distinguish non-combatant \"PRESS\" members, like if anyone cares." icon_state = "helmet_press" + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /obj/item/clothing/head/helmet/press/worn_overlays(mutable_appearance/standing, isinhands, icon_file) . = ..() @@ -92,6 +104,10 @@ inhand_icon_state = "helmet" armor_type = /datum/armor/helmet_alt dog_fashion = null + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /datum/armor/helmet_alt melee = 15 @@ -118,6 +134,10 @@ clothing_flags = STOPSPRESSUREDAMAGE | STACKABLE_HELMET_EXEMPT resistance_flags = FIRE_PROOF | ACID_PROOF dog_fashion = null + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /datum/armor/helmet_marine melee = 50 @@ -161,6 +181,10 @@ name = "degrading helmet" desc = "Standard issue security helmet. Due to degradation the helmet's visor obstructs the users ability to see long distances." tint = 2 + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /obj/item/clothing/head/helmet/blueshirt name = "blue helmet" @@ -168,6 +192,10 @@ icon_state = "blueshift" inhand_icon_state = "blueshift_helmet" custom_premium_price = PAYCHECK_COMMAND + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /obj/item/clothing/head/helmet/toggleable @@ -200,6 +228,12 @@ flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF clothing_traits = list(TRAIT_HEAD_INJURY_BLOCKED) + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' + visor_toggle_up_sound = SFX_VISOR_UP + visor_toggle_down_sound = SFX_VISOR_DOWN /obj/item/clothing/head/helmet/toggleable/riot/Initialize(mapload) . = ..() @@ -241,6 +275,12 @@ COOLDOWN_DECLARE(visor_toggle_cooldown) ///Looping sound datum for the siren helmet var/datum/looping_sound/siren/weewooloop + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' + visor_toggle_up_sound = SFX_VISOR_UP + visor_toggle_down_sound = SFX_VISOR_DOWN /obj/item/clothing/head/helmet/toggleable/justice/adjust_visor(mob/living/user) if(!COOLDOWN_FINISHED(src, visor_toggle_cooldown)) @@ -283,6 +323,10 @@ resistance_flags = FIRE_PROOF | ACID_PROOF dog_fashion = null clothing_traits = list(TRAIT_HEAD_INJURY_BLOCKED) + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /obj/item/clothing/head/helmet/swat/Initialize(mapload) . = ..() @@ -388,41 +432,35 @@ flags_cover = HEADCOVERSEYES dog_fashion = null -/obj/item/clothing/head/helmet/redtaghelm +/obj/item/clothing/head/helmet/taghelm + flags_cover = HEADCOVERSEYES + // Offer about the same protection as a hardhat. + armor_type = /datum/armor/helmet_taghelm + dog_fashion = null + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' + +/datum/armor/helmet_taghelm + melee = 15 + bullet = 10 + laser = 20 + energy = 10 + bomb = 20 + acid = 50 + +/obj/item/clothing/head/helmet/taghelm/red name = "red laser tag helmet" desc = "They have chosen their own end." icon_state = "redtaghelm" - flags_cover = HEADCOVERSEYES inhand_icon_state = "redtag_helmet" - armor_type = /datum/armor/helmet_redtaghelm - // Offer about the same protection as a hardhat. - dog_fashion = null -/datum/armor/helmet_redtaghelm - melee = 15 - bullet = 10 - laser = 20 - energy = 10 - bomb = 20 - acid = 50 - -/obj/item/clothing/head/helmet/bluetaghelm +/obj/item/clothing/head/helmet/taghelm/blue name = "blue laser tag helmet" desc = "They'll need more men." icon_state = "bluetaghelm" - flags_cover = HEADCOVERSEYES inhand_icon_state = "bluetag_helmet" - armor_type = /datum/armor/helmet_bluetaghelm - // Offer about the same protection as a hardhat. - dog_fashion = null - -/datum/armor/helmet_bluetaghelm - melee = 15 - bullet = 10 - laser = 20 - energy = 10 - bomb = 20 - acid = 50 /obj/item/clothing/head/helmet/knight name = "medieval helmet" @@ -491,6 +529,10 @@ icon_state = "rus_helmet" inhand_icon_state = "rus_helmet" armor_type = /datum/armor/helmet_rus_helmet + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /datum/armor/helmet_rus_helmet melee = 25 @@ -559,6 +601,10 @@ strip_delay = 80 dog_fashion = null armor_type = /datum/armor/helmet_military + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' /datum/armor/helmet_military melee = 45 diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 422cb34fa09..46bdd0742bb 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -98,7 +98,7 @@ box = /obj/item/storage/box ears = /obj/item/radio/headset gloves = /obj/item/clothing/gloves/color/red - head = /obj/item/clothing/head/helmet/redtaghelm + head = /obj/item/clothing/head/helmet/taghelm/red shoes = /obj/item/clothing/shoes/sneakers/red /datum/outfit/traitor_cutout @@ -141,7 +141,7 @@ suit = /obj/item/clothing/suit/bluetag suit_store = /obj/item/gun/energy/laser/bluetag gloves = /obj/item/clothing/gloves/color/blue - head = /obj/item/clothing/head/helmet/bluetaghelm + head = /obj/item/clothing/head/helmet/taghelm/blue shoes = /obj/item/clothing/shoes/sneakers/blue /datum/outfit/tunnel_clown diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index fea48d13d37..d063e54e6bb 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -25,6 +25,10 @@ resistance_flags = NONE dog_fashion = null slowdown = 0.5 + sound_vary = TRUE + equip_sound = 'sound/items/handling/helmet/helmet_equip1.ogg' + pickup_sound = 'sound/items/handling/helmet/helmet_pickup1.ogg' + drop_sound = 'sound/items/handling/helmet/helmet_drop1.ogg' ///How much this helmet affects fishing difficulty var/fishing_modifier = 3 diff --git a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm index 161ea00a4fb..2c8b4efd75f 100644 --- a/code/modules/jobs/job_types/assistant/gimmick_assistants.dm +++ b/code/modules/jobs/job_types/assistant/gimmick_assistants.dm @@ -54,7 +54,7 @@ /datum/outfit/job/assistant/gimmick/skater name = "Gimmick Assistant - Skater" - head = /obj/item/clothing/head/helmet/redtaghelm + head = /obj/item/clothing/head/helmet/taghelm/red suit = /obj/item/clothing/suit/redtag l_hand = /obj/item/melee/skateboard @@ -65,7 +65,7 @@ /datum/outfit/job/assistant/gimmick/rollerskater name = "Gimmick Assistant - Rollerskater" - head = /obj/item/clothing/head/helmet/bluetaghelm + head = /obj/item/clothing/head/helmet/taghelm/blue suit = /obj/item/clothing/suit/bluetag shoes = /obj/item/clothing/shoes/wheelys/rollerskates diff --git a/sound/items/handling/helmet/attribution.txt b/sound/items/handling/helmet/attribution.txt new file mode 100644 index 00000000000..78383b32fa3 --- /dev/null +++ b/sound/items/handling/helmet/attribution.txt @@ -0,0 +1,8 @@ +visor_up and visor_down are: +Bike helmet visor.wav by Didi0508 -- https://freesound.org/s/541921/ -- License: Attribution NonCommercial 4.0 + +helmet drop and equip: +helmet motorbike put on a head by cupido-1 -- https://freesound.org/s/614199/ -- License: Creative Commons 0 + +helmet pickup: +helmet_grabbing_and_handling_sound by Artninja -- https://freesound.org/s/725314/ -- License: Attribution 4.0 diff --git a/sound/items/handling/helmet/helmet_drop1.ogg b/sound/items/handling/helmet/helmet_drop1.ogg new file mode 100644 index 00000000000..8892e120e03 Binary files /dev/null and b/sound/items/handling/helmet/helmet_drop1.ogg differ diff --git a/sound/items/handling/helmet/helmet_equip1.ogg b/sound/items/handling/helmet/helmet_equip1.ogg new file mode 100644 index 00000000000..379ad6ce866 Binary files /dev/null and b/sound/items/handling/helmet/helmet_equip1.ogg differ diff --git a/sound/items/handling/helmet/helmet_pickup1.ogg b/sound/items/handling/helmet/helmet_pickup1.ogg new file mode 100644 index 00000000000..b28def3a51e Binary files /dev/null and b/sound/items/handling/helmet/helmet_pickup1.ogg differ diff --git a/sound/items/handling/helmet/visor_down1.ogg b/sound/items/handling/helmet/visor_down1.ogg new file mode 100644 index 00000000000..df93db6b7cf Binary files /dev/null and b/sound/items/handling/helmet/visor_down1.ogg differ diff --git a/sound/items/handling/helmet/visor_down2.ogg b/sound/items/handling/helmet/visor_down2.ogg new file mode 100644 index 00000000000..1662f7cfbfe Binary files /dev/null and b/sound/items/handling/helmet/visor_down2.ogg differ diff --git a/sound/items/handling/helmet/visor_down3.ogg b/sound/items/handling/helmet/visor_down3.ogg new file mode 100644 index 00000000000..7d2d2b2a6ae Binary files /dev/null and b/sound/items/handling/helmet/visor_down3.ogg differ diff --git a/sound/items/handling/helmet/visor_up1.ogg b/sound/items/handling/helmet/visor_up1.ogg new file mode 100644 index 00000000000..bb498d6d663 Binary files /dev/null and b/sound/items/handling/helmet/visor_up1.ogg differ diff --git a/sound/items/handling/helmet/visor_up2.ogg b/sound/items/handling/helmet/visor_up2.ogg new file mode 100644 index 00000000000..ffa485833e3 Binary files /dev/null and b/sound/items/handling/helmet/visor_up2.ogg differ