//defines the drill hat's yelling setting #define DRILL_DEFAULT "default" #define DRILL_SHOUTING "shouting" #define DRILL_YELLING "yelling" #define DRILL_CANADIAN "canadian" //Chef /obj/item/clothing/head/chefhat name = "chef's hat" item_state = "chef" icon_state = "chef" desc = "The commander in chef's head wear." strip_delay = 10 equip_delay_other = 10 dynamic_hair_suffix = "" dog_fashion = /datum/dog_fashion/head/chef beepsky_fashion = /datum/beepsky_fashion/chef /obj/item/clothing/head/chefhat/suicide_act(mob/user) user.visible_message("[user] is donning [src]! It looks like [user.p_theyre()] trying to become a chef.") user.say("Bork Bork Bork!", forced = "chef hat suicide") sleep(20) user.visible_message("[user] climbs into an imaginary oven!") user.say("BOOORK!", forced = "chef hat suicide") playsound(user, 'sound/machines/ding.ogg', 50, 1) return(FIRELOSS) //Captain /obj/item/clothing/head/caphat name = "captain's hat" desc = "It's good being the king." icon_state = "captain" item_state = "that" flags_inv = 0 armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/captain beepsky_fashion = /datum/beepsky_fashion/captain //Captain: This is no longer space-worthy /obj/item/clothing/head/caphat/parade name = "captain's parade cap" desc = "Worn only by Captains with an abundance of class." icon_state = "capcap" dog_fashion = null /obj/item/clothing/head/caphat/beret name = "captain's beret" desc = "A beret fit for a leader." icon_state = "capberet" dynamic_hair_suffix = "" dog_fashion = null /obj/item/clothing/head/caphat/beret/white name = "captain's white beret" desc = "A white beret fit for a leader." icon_state = "beret_captain_white" //Head of Personnel /obj/item/clothing/head/hopcap name = "head of personnel's cap" icon_state = "hopcap" desc = "The symbol of true bureaucratic micromanagement." armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) dog_fashion = /datum/dog_fashion/head/hop /obj/item/clothing/head/hopcap/beret name = "head of personnel's beret" desc = "The symbol of true bureaucratic micromanagement, although in a fancy form." icon_state = "hopberet" dynamic_hair_suffix = "" dog_fashion = null /obj/item/clothing/head/hopcap/beret/white name = "head of personnel's white beret" desc = "The symbol of true bureaucratic micromanagement, although in a fancy form." icon_state = "beret_white_hop" //Chaplain /obj/item/clothing/head/nun_hood name = "nun hood" desc = "Maximum piety in this star system." icon_state = "nun_hood" flags_inv = HIDEHAIR flags_cover = HEADCOVERSEYES //Detective /obj/item/clothing/head/fedora/det_hat name = "detective's fedora" desc = "There's only one man who can sniff out the dirty stench of crime, and he's likely wearing this hat." armor = list(MELEE = 25, BULLET = 5, LASER = 25, ENERGY = 10, BOMB = 0, BIO = 0, RAD = 0, FIRE = 30, ACID = 50) icon_state = "detective" var/candy_cooldown = 0 pocket_storage_component_path = /datum/component/storage/concrete/pockets/small/detective dog_fashion = /datum/dog_fashion/head/detective /obj/item/clothing/head/fedora/det_hat/Initialize(mapload) . = ..() new /obj/item/reagent_containers/food/drinks/flask/det(src) /obj/item/clothing/head/fedora/det_hat/examine(mob/user) . = ..() . += "Alt-click to take a candy corn." /obj/item/clothing/head/fedora/det_hat/AltClick(mob/user) . = ..() if(loc == user && user.canUseTopic(src, BE_CLOSE, ismonkey(user))) if(candy_cooldown < world.time) var/obj/item/reagent_containers/food/snacks/candy_corn/CC = new /obj/item/reagent_containers/food/snacks/candy_corn(src) user.put_in_hands(CC) to_chat(user, "You slip a candy corn from your hat.") candy_cooldown = world.time+1200 else to_chat(user, "You just took a candy corn! You should wait a couple minutes, lest you burn through your stash.") return TRUE //Mime /obj/item/clothing/head/beret name = "beret" desc = "A beret, a mime's favorite headwear." icon_state = "beret" dog_fashion = /datum/dog_fashion/head/beret dynamic_hair_suffix = "" /obj/item/clothing/head/beret/black name = "black beret" desc = "A black beret, perfect for war veterans and dark, brooding, anti-hero mimes." icon_state = "beretblack" /obj/item/clothing/head/beret/purple name = "purple beret" desc = "A purple beret." icon_state = "beret_purple" /obj/item/clothing/head/beret/blue name = "blue beret" desc = "A blue beret" icon_state = "beret_blue" /obj/item/clothing/head/beret/highlander desc = "That was white fabric. Was." dog_fashion = null //THIS IS FOR SLAUGHTER, NOT PUPPIES /obj/item/clothing/head/beret/highlander/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_NODROP, HIGHLANDER) //Security /obj/item/clothing/head/HoS name = "head of security cap" desc = "The robust standard-issue cap of the Head of Security. For showing the officers who's in charge." icon_state = "hoscap" armor = list(MELEE = 40, BULLET = 30, LASER = 25, ENERGY = 10, BOMB = 25, BIO = 10, RAD = 0, FIRE = 50, ACID = 60) strip_delay = 80 dynamic_hair_suffix = "" /obj/item/clothing/head/HoS/syndicate name = "syndicate cap" desc = "A black cap fit for a high ranking syndicate officer." /obj/item/clothing/head/HoS/beret name = "head of security beret" desc = "A robust beret for the Head of Security, for looking stylish while not sacrificing protection." icon_state = "hosberetblack" /obj/item/clothing/head/HoS/beret/officer name = "head of security officer beret" desc = "A robust beret for the Head of Security, for looking stylish while not sacrificing protection." icon_state = "beret_centcom_officer" /obj/item/clothing/head/HoS/beret/syndicate name = "syndicate beret" desc = "A black beret with thick armor padding inside. Stylish and robust." /obj/item/clothing/head/warden name = "warden's police hat" desc = "It's a special armored hat issued to the Warden of a security force. Protects the head from impacts." icon_state = "policehelm" armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 30, ACID = 60) strip_delay = 60 dog_fashion = /datum/dog_fashion/head/warden /obj/item/clothing/head/warden/drill name = "warden's campaign hat" desc = "A special armored campaign hat with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection. Has the letters 'FMJ' enscribed on its side." icon_state = "wardendrill" item_state = "wardendrill" dog_fashion = null var/mode = DRILL_DEFAULT /obj/item/clothing/head/warden/drill/screwdriver_act(mob/living/carbon/human/user, obj/item/I) if(..()) return TRUE switch(mode) if(DRILL_DEFAULT) to_chat(user, "You set the voice circuit to the middle position.") mode = DRILL_SHOUTING if(DRILL_SHOUTING) to_chat(user, "You set the voice circuit to the last position.") mode = DRILL_YELLING if(DRILL_YELLING) to_chat(user, "You set the voice circuit to the first position.") mode = DRILL_DEFAULT if(DRILL_CANADIAN) to_chat(user, "You adjust voice circuit but nothing happens, probably because it's broken.") return TRUE /obj/item/clothing/head/warden/drill/wirecutter_act(mob/living/user, obj/item/I) if(mode != DRILL_CANADIAN) to_chat(user, "You broke the voice circuit!") mode = DRILL_CANADIAN return TRUE /obj/item/clothing/head/warden/drill/equipped(mob/M, slot) . = ..() if (slot == ITEM_SLOT_HEAD) RegisterSignal(M, COMSIG_MOB_SAY, PROC_REF(handle_speech)) else UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/clothing/head/warden/drill/dropped(mob/M) . = ..() UnregisterSignal(M, COMSIG_MOB_SAY) /obj/item/clothing/head/warden/drill/proc/handle_speech(datum/source, mob/speech_args) var/message = speech_args[SPEECH_MESSAGE] if(message[1] != "*") switch (mode) if(DRILL_SHOUTING) message += "!" if(DRILL_YELLING) message += "!!" if(DRILL_CANADIAN) message = " [message]" var/list/canadian_words = strings("canadian_replacement.json", "canadian") for(var/key in canadian_words) var/value = canadian_words[key] if(islist(value)) value = pick(value) message = replacetextEx(message, " [uppertext(key)]", " [uppertext(value)]") message = replacetextEx(message, " [capitalize(key)]", " [capitalize(value)]") message = replacetextEx(message, " [key]", " [value]") if(prob(30)) message += pick(", eh?", ", EH?") speech_args[SPEECH_MESSAGE] = message /obj/item/clothing/head/beret/sec name = "security beret" desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." icon_state = "beret_badge" armor = list(MELEE = 40, BULLET = 30, LASER = 30,ENERGY = 10, BOMB = 25, BIO = 0, RAD = 0, FIRE = 50, ACID = 50) strip_delay = 60 dog_fashion = null /obj/item/clothing/head/beret/sec/navyhos name = "head of security's beret" desc = "A special beret with the Head of Security's insignia emblazoned on it. A symbol of excellence, a badge of courage, a mark of distinction." icon_state = "hosberet" /obj/item/clothing/head/beret/sec/navywarden name = "warden's beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." icon_state = "wardenberet" /obj/item/clothing/head/beret/sec/corporatewarden name = "warden's corporate beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." icon_state = "beret_corporate_warden" /obj/item/clothing/head/beret/sec/navyofficer desc = "A special beret with the security insignia emblazoned on it. For officers with class." icon_state = "officerberet" //Curator /obj/item/clothing/head/fedora/curator name = "treasure hunter's fedora" desc = "You got red text today kid, but it doesn't mean you have to like it." icon_state = "curator" //Chief Medical Officer /obj/item/clothing/head/beret/cmo name = "chief medical officer's beret" desc = "A fancy beret with a green cross, signifying your status in the station's medbay." icon_state = "cmoberet" /obj/item/clothing/head/beret/cmo/blue name = "chief medical officer's blue beret" desc = "A fancy beret with a blue and white cross, try not to be chief malpractice officer in it." icon_state = "beret_blue_cmo" //Medical /obj/item/clothing/head/beret/med name = "medical officer's beret" desc = "A fancy beret with a blue cross, smells sterile" icon_state = "beret_med" /obj/item/clothing/head/beret/chem name = "chemist's beret" desc = "A fancy beret with a orange beaker, you're not sure if you should smell it" icon_state = "beret_chem" /obj/item/clothing/head/beret/viro name = "virologist's beret" desc = "A fancy beret with a green gross, hopefully it's virus free!" icon_state = "beret_viro" //Research Director /obj/item/clothing/head/beret/rd name = "research director's beret" desc = "A beret worn only by highly intelligent people." icon_state = "rdberet" //Scientist /obj/item/clothing/head/beret/sci name = "scientist's beret" desc = "A Scientist's beret, looks like it's covered in slime." icon_state = "beret_sci" //Roboticist /obj/item/clothing/head/beret/robo name = "roboticist's beret" desc = "A Roboticist's beret, almost more oil than hat." icon_state = "beret_robot" //Chief Engineer /obj/item/clothing/head/beret/ce name = "chief engineer's beret" desc = "A beret that will surely make you look way cooler than a hard hat, although lack of protection is the price." icon_state = "ceberet" /obj/item/clothing/head/beret/ce/white name = "chief engineer's white beret" desc = "A beret that will surely make you look way cooler than a hard hat, although lack of protection is the price." icon_state = "beret_ce_white" //Atmos /obj/item/clothing/head/beret/atmos name = "atmospheric technician's beret" desc = "An Atmospheric Technician's beret. Smells like plasma fire." icon_state = "beret_atmos" //Engineer /obj/item/clothing/head/beret/eng name = "engineer's beret" desc = "An Engineer's beret, try not to lose it to space wind." icon_state = "beret_engineering" //Quartermaster /obj/item/clothing/head/beret/qm name = "quartermaster's beret" desc = "This headwear shows off your Cargonian leadership" icon_state = "qmberet" /obj/item/clothing/head/beret/durathread name = "durathread beret" desc = "A beret made from durathread, its resilient fibres provide some protection to the wearer." icon_state = "beretdurathread" armor = list(MELEE = 25, BULLET = 10, LASER = 20,ENERGY = 10, BOMB = 30, BIO = 15, RAD = 20, FIRE = 100, ACID = 50) #undef DRILL_DEFAULT #undef DRILL_SHOUTING #undef DRILL_YELLING #undef DRILL_CANADIAN