From 2e19e73ee3bafb748c5b500ddfdd7a46135b09e1 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 9 Sep 2020 08:20:28 +0200 Subject: [PATCH] [MIRROR] FIXES WEEWOO MAKING SERVER EXPLODE (#710) * WHY DO I KEEP BREAKING THINGS (#53557) * FIXES WEEWOO MAKING SERVER EXPLODE Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com> --- code/datums/looping_sounds/item_sounds.dm | 5 +++++ code/modules/clothing/clothing.dm | 1 - code/modules/clothing/head/helmet.dm | 22 +++++++++++++++++----- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/code/datums/looping_sounds/item_sounds.dm b/code/datums/looping_sounds/item_sounds.dm index e729ed22dd4..3826c69e905 100644 --- a/code/datums/looping_sounds/item_sounds.dm +++ b/code/datums/looping_sounds/item_sounds.dm @@ -46,3 +46,8 @@ mid_sounds = list('sound/machines/beep.ogg') mid_length = 60 volume = 10 + +/datum/looping_sound/siren + mid_sounds = list('sound/items/weeoo1.ogg') + mid_length = 15 + volume = 20 diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 0d7797cccbb..ca7cda23706 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -19,7 +19,6 @@ var/alt_desc = null var/toggle_message = null var/alt_toggle_message = null - var/active_sound = null var/toggle_cooldown = null var/cooldown = 0 diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 33bb9eb13c0..35aa4b371c9 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -143,10 +143,6 @@ var/mob/living/carbon/C = user C.head_update(src, forced = 1) - if(active_sound) - while(up) - playsound(src, "[active_sound]", 100, FALSE, 4) - /obj/item/clothing/head/helmet/justice name = "helmet of justice" desc = "WEEEEOOO. WEEEEEOOO. WEEEEOOOO." @@ -156,8 +152,24 @@ actions_types = list(/datum/action/item_action/toggle_helmet_light) can_toggle = 1 toggle_cooldown = 20 - active_sound = 'sound/items/weeoo1.ogg' dog_fashion = null + ///Looping sound datum for the siren helmet + var/datum/looping_sound/siren/weewooloop + +/obj/item/clothing/head/helmet/justice/Initialize() + . = ..() + weewooloop = new(list(src), FALSE, FALSE) + +/obj/item/clothing/head/helmet/justice/Destroy() + QDEL_NULL(weewooloop) + return ..() + +/obj/item/clothing/head/helmet/justice/attack_self(mob/user) + . = ..() + if(up) + weewooloop.start() + else + weewooloop.stop() /obj/item/clothing/head/helmet/justice/escape name = "alarm helmet"