diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm index 49df9aa31c2..d2627ed094c 100644 --- a/code/game/objects/items/devices/whistle.dm +++ b/code/game/objects/items/devices/whistle.dm @@ -6,33 +6,53 @@ w_class = 1.0 flags = CONDUCT + var/use_message = "Halt! Security!" var/spamcheck = 0 - var/emagged = 0 - var/insults = 0//just in case + var/insults -/obj/item/device/hailer/attack_self(mob/living/carbon/user as mob) +/obj/item/device/hailer/verb/set_message() + set name = "Set Hailer Message" + set category = "Object" + set desc = "Alter the message shouted by your hailer." + + if(!isnull(insults)) + usr << "The hailer is fried. The tiny input screen just shows a waving ASCII penis." + return + + var/new_message = input(usr, "Please enter new message (leave blank to reset).") as text + if(!new_message || new_message == "") + use_message = "Halt! Security!" + else + use_message = capitalize(copytext(sanitize(new_message), 1, MAX_MESSAGE_LEN)) + + usr << "You configure the hailer to shout \"[use_message]\"." +/ +obj/item/device/hailer/attack_self(mob/living/carbon/user as mob) if (spamcheck) return - if(emagged) - if(insults >= 1) - playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, 1, vary = 0)//hueheuheuheuheuheuhe - user.show_message("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"",2) //It's a hearable message silly! + if(isnull(insults)) + playsound(get_turf(src), 'sound/voice/halt.ogg', 100, 1, vary = 0) + user.show_message("[user]'s [name] rasps, \"[use_message]\"",1) + else + if(insults > 0) + playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, 1, vary = 0) + // Yes, it used to show the transcription of the sound clip. That was a) inaccurate b) immature as shit. + user.show_message("[user]'s [name] gurgles something indecipherable and deeply offensive.") insults-- else - user << "\red *BZZZZcuntZZZZT*" - else - playsound(get_turf(src), 'sound/voice/halt.ogg', 100, 1, vary = 0) - user.show_message("[user]'s [name] rasps, \"Halt! Security!\"",1) + user << "*BZZZZZZZZT*" spamcheck = 1 spawn(20) spamcheck = 0 /obj/item/device/hailer/attackby(obj/item/I, mob/user) - if(istype(I, /obj/item/weapon/card/emag) && !emagged) - user << "\red You overload \the [src]'s voice synthesizer." - emagged = 1 - insults = rand(1, 3)//to prevent dickflooding - return - return + if(istype(I, /obj/item/weapon/card/emag)) + if(isnull(insults)) + user << "You overload \the [src]'s voice synthesizer." + insults = rand(1, 3)//to prevent dickflooding + else + user << "The hailer is fried. You can't even fit the sequencer into the input slot." + else + return .. ()