/obj/item/device/megaphone name = "megaphone" desc = "A device used to project your voice. Loudly." icon_state = "megaphone" item_state = "megaphone" w_class = ITEMSIZE_SMALL flags = CONDUCT var/spamcheck = 0 var/emagged = 0 var/insults = 0 var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!") var/activation_sound = 'sound/items/megaphone.ogg' var/needs_user_location = TRUE /obj/item/device/megaphone/attack_self(mob/living/user as mob) if (user.client) if(user.client.prefs.muted & MUTE_IC) to_chat(src, "You cannot speak in IC (muted).") return if(!ishuman(user)) to_chat(user, "You don't know how to use this!") return if(user.silent) return if(spamcheck) to_chat(user, "\The [src] needs to recharge!") return var/message = sanitize(input(user, "Shout a message?", "Megaphone", null) as text) if(!message) return message = capitalize(message) if ((user.stat == CONSCIOUS)) if(needs_user_location) if(!src.loc == user) return if(emagged) if(insults) user.visible_message("[user] broadcasts, \"[pick(insultmsg)]\"") insults-- else to_chat(user, "*BZZZZzzzzzt*") else user.visible_message("[user] broadcasts, \"[message]\"") if(activation_sound) playsound(loc, activation_sound, 100, 0, 1) spamcheck = 1 spawn(20) spamcheck = 0 return /obj/item/device/megaphone/emag_act(var/remaining_charges, var/mob/user) if(!emagged) to_chat(user, "You overload \the [src]'s voice synthesizer.") emagged = 1 insults = rand(1, 3)//to prevent dickflooding return 1