mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-20 20:37:45 +01:00
Merge pull request #9983 from Ghommie/Ghommie-cit408
refactoring altclick interaction to allow parent calls without forcing the turf contents stat menu open.
This commit is contained in:
@@ -1,159 +1,161 @@
|
||||
/obj/item/clothing/head/hardhat
|
||||
name = "hard hat"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
|
||||
icon_state = "hardhat0_yellow"
|
||||
item_state = "hardhat0_yellow"
|
||||
var/brightness_on = 4 //luminosity when on
|
||||
light_color = "#FFCC66"
|
||||
var/power_on = 0.8
|
||||
var/on = FALSE
|
||||
item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite)
|
||||
armor = list("melee" = 15, "bullet" = 5, "laser" = 20,"energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
|
||||
flags_inv = 0
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light)
|
||||
resistance_flags = FIRE_PROOF
|
||||
dynamic_hair_suffix = "+generic"
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head
|
||||
|
||||
/obj/item/clothing/head/hardhat/attack_self(mob/living/user)
|
||||
toggle_helmet_light(user)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/toggle_helmet_light(mob/living/user)
|
||||
on = !on
|
||||
if(on)
|
||||
turn_on(user)
|
||||
else
|
||||
turn_off(user)
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/update_icon()
|
||||
icon_state = "hardhat[on]_[item_color]"
|
||||
item_state = "hardhat[on]_[item_color]"
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
H.update_inv_head()
|
||||
for(var/X in actions)
|
||||
var/datum/action/A = X
|
||||
A.UpdateButtonIcon(force = TRUE)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/turn_on(mob/user)
|
||||
set_light(brightness_on, power_on)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/turn_off(mob/user)
|
||||
set_light(0)
|
||||
|
||||
/obj/item/clothing/head/hardhat/orange
|
||||
icon_state = "hardhat0_orange"
|
||||
item_state = "hardhat0_orange"
|
||||
item_color = "orange"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/hardhat/red
|
||||
icon_state = "hardhat0_red"
|
||||
item_state = "hardhat0_red"
|
||||
item_color = "red"
|
||||
dog_fashion = null
|
||||
name = "firefighter helmet"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/head/hardhat/white
|
||||
icon_state = "hardhat0_white"
|
||||
item_state = "hardhat0_white"
|
||||
item_color = "white"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
dog_fashion = /datum/dog_fashion/head
|
||||
|
||||
/obj/item/clothing/head/hardhat/dblue
|
||||
icon_state = "hardhat0_dblue"
|
||||
item_state = "hardhat0_dblue"
|
||||
item_color = "dblue"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/hardhat/atmos
|
||||
icon_state = "hardhat0_atmos"
|
||||
item_state = "hardhat0_atmos"
|
||||
item_color = "atmos"
|
||||
dog_fashion = null
|
||||
name = "atmospheric technician's firefighting helmet"
|
||||
desc = "A firefighter's helmet, able to keep the user cool in any situation."
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
mutantrace_variation = MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat
|
||||
name = "welding hard hat"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield! The bulb seems a little smaller though."
|
||||
brightness_on = 3 //Needs a little bit of tradeoff
|
||||
dog_fashion = null
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen)
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
flags_inv = HIDEEYES | HIDEFACE
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT
|
||||
visor_flags_inv = HIDEEYES | HIDEFACE
|
||||
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/attack_self(mob/living/user)
|
||||
toggle_helmet_light(user)
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/AltClick(mob/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE))
|
||||
toggle_welding_screen(user)
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user)
|
||||
if(weldingvisortoggle(user))
|
||||
playsound(src, 'sound/mecha/mechmove03.ogg', 30, TRUE) //Visors don't just come from nothing
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands)
|
||||
. = ..()
|
||||
if(!isinhands)
|
||||
. += mutable_appearance('icons/mob/head.dmi', "weldhelmet")
|
||||
if(!up)
|
||||
. += mutable_appearance('icons/mob/head.dmi', "weldvisor")
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/update_icon()
|
||||
cut_overlays()
|
||||
if(!up)
|
||||
add_overlay("weldvisor")
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/orange
|
||||
icon_state = "hardhat0_orange"
|
||||
item_state = "hardhat0_orange"
|
||||
item_color = "orange"
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/white
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield!" //This bulb is not smaller
|
||||
icon_state = "hardhat0_white"
|
||||
item_state = "hardhat0_white"
|
||||
brightness_on = 4 //Boss always takes the best stuff
|
||||
item_color = "white"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/dblue
|
||||
icon_state = "hardhat0_dblue"
|
||||
item_state = "hardhat0_dblue"
|
||||
/obj/item/clothing/head/hardhat
|
||||
name = "hard hat"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight."
|
||||
icon_state = "hardhat0_yellow"
|
||||
item_state = "hardhat0_yellow"
|
||||
var/brightness_on = 4 //luminosity when on
|
||||
light_color = "#FFCC66"
|
||||
var/power_on = 0.8
|
||||
var/on = FALSE
|
||||
item_color = "yellow" //Determines used sprites: hardhat[on]_[item_color] and hardhat[on]_[item_color]2 (lying down sprite)
|
||||
armor = list("melee" = 15, "bullet" = 5, "laser" = 20,"energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
|
||||
flags_inv = 0
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light)
|
||||
resistance_flags = FIRE_PROOF
|
||||
dynamic_hair_suffix = "+generic"
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head
|
||||
|
||||
/obj/item/clothing/head/hardhat/attack_self(mob/living/user)
|
||||
toggle_helmet_light(user)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/toggle_helmet_light(mob/living/user)
|
||||
on = !on
|
||||
if(on)
|
||||
turn_on(user)
|
||||
else
|
||||
turn_off(user)
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/update_icon()
|
||||
icon_state = "hardhat[on]_[item_color]"
|
||||
item_state = "hardhat[on]_[item_color]"
|
||||
if(ishuman(loc))
|
||||
var/mob/living/carbon/human/H = loc
|
||||
H.update_inv_head()
|
||||
for(var/X in actions)
|
||||
var/datum/action/A = X
|
||||
A.UpdateButtonIcon(force = TRUE)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/turn_on(mob/user)
|
||||
set_light(brightness_on, power_on)
|
||||
|
||||
/obj/item/clothing/head/hardhat/proc/turn_off(mob/user)
|
||||
set_light(0)
|
||||
|
||||
/obj/item/clothing/head/hardhat/orange
|
||||
icon_state = "hardhat0_orange"
|
||||
item_state = "hardhat0_orange"
|
||||
item_color = "orange"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/hardhat/red
|
||||
icon_state = "hardhat0_red"
|
||||
item_state = "hardhat0_red"
|
||||
item_color = "red"
|
||||
dog_fashion = null
|
||||
name = "firefighter helmet"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/head/hardhat/white
|
||||
icon_state = "hardhat0_white"
|
||||
item_state = "hardhat0_white"
|
||||
item_color = "white"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
dog_fashion = /datum/dog_fashion/head
|
||||
|
||||
/obj/item/clothing/head/hardhat/dblue
|
||||
icon_state = "hardhat0_dblue"
|
||||
item_state = "hardhat0_dblue"
|
||||
item_color = "dblue"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/hardhat/atmos
|
||||
icon_state = "hardhat0_atmos"
|
||||
item_state = "hardhat0_atmos"
|
||||
item_color = "atmos"
|
||||
dog_fashion = null
|
||||
name = "atmospheric technician's firefighting helmet"
|
||||
desc = "A firefighter's helmet, able to keep the user cool in any situation."
|
||||
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL | BLOCK_GAS_SMOKE_EFFECT
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
mutantrace_variation = MUTANTRACE_VARIATION
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat
|
||||
name = "welding hard hat"
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield! The bulb seems a little smaller though."
|
||||
brightness_on = 3 //Needs a little bit of tradeoff
|
||||
dog_fashion = null
|
||||
actions_types = list(/datum/action/item_action/toggle_helmet_light, /datum/action/item_action/toggle_welding_screen)
|
||||
flash_protect = 2
|
||||
tint = 2
|
||||
flags_inv = HIDEEYES | HIDEFACE
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
visor_vars_to_toggle = VISOR_FLASHPROTECT | VISOR_TINT
|
||||
visor_flags_inv = HIDEEYES | HIDEFACE
|
||||
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/Initialize()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/attack_self(mob/living/user)
|
||||
toggle_helmet_light(user)
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(user.canUseTopic(src, BE_CLOSE))
|
||||
toggle_welding_screen(user)
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/proc/toggle_welding_screen(mob/living/user)
|
||||
if(weldingvisortoggle(user))
|
||||
playsound(src, 'sound/mecha/mechmove03.ogg', 30, TRUE) //Visors don't just come from nothing
|
||||
update_icon()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/worn_overlays(isinhands)
|
||||
. = ..()
|
||||
if(!isinhands)
|
||||
. += mutable_appearance('icons/mob/head.dmi', "weldhelmet")
|
||||
if(!up)
|
||||
. += mutable_appearance('icons/mob/head.dmi', "weldvisor")
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/update_icon()
|
||||
cut_overlays()
|
||||
if(!up)
|
||||
add_overlay("weldvisor")
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/orange
|
||||
icon_state = "hardhat0_orange"
|
||||
item_state = "hardhat0_orange"
|
||||
item_color = "orange"
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/white
|
||||
desc = "A piece of headgear used in dangerous working conditions to protect the head. Comes with a built-in flashlight AND welding shield!" //This bulb is not smaller
|
||||
icon_state = "hardhat0_white"
|
||||
item_state = "hardhat0_white"
|
||||
brightness_on = 4 //Boss always takes the best stuff
|
||||
item_color = "white"
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = FIRE_HELM_MAX_TEMP_PROTECT
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/head/hardhat/weldhat/dblue
|
||||
icon_state = "hardhat0_dblue"
|
||||
item_state = "hardhat0_dblue"
|
||||
item_color = "dblue"
|
||||
+297
-297
@@ -1,297 +1,297 @@
|
||||
//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
|
||||
|
||||
/obj/item/clothing/head/chefhat/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is donning [src]! It looks like [user.p_theyre()] trying to become a chef.</span>")
|
||||
user.say("Bork Bork Bork!", forced = "chef hat suicide")
|
||||
sleep(20)
|
||||
user.visible_message("<span class='suicide'>[user] climbs into an imaginary oven!</span>")
|
||||
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
|
||||
|
||||
//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
|
||||
|
||||
//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
|
||||
|
||||
//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()
|
||||
. = ..()
|
||||
new /obj/item/reagent_containers/food/drinks/flask/det(src)
|
||||
|
||||
/obj/item/clothing/head/fedora/det_hat/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to take a candy corn.</span>"
|
||||
|
||||
/obj/item/clothing/head/fedora/det_hat/AltClick(mob/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
..()
|
||||
if(loc == 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.")
|
||||
|
||||
|
||||
//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/highlander
|
||||
desc = "That was white fabric. <i>Was.</i>"
|
||||
dog_fashion = null //THIS IS FOR SLAUGHTER, NOT PUPPIES
|
||||
|
||||
/obj/item/clothing/head/beret/highlander/Initialize()
|
||||
. = ..()
|
||||
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/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, "<span class='notice'>You set the voice circuit to the middle position.</span>")
|
||||
mode = DRILL_SHOUTING
|
||||
if(DRILL_SHOUTING)
|
||||
to_chat(user, "<span class='notice'>You set the voice circuit to the last position.</span>")
|
||||
mode = DRILL_YELLING
|
||||
if(DRILL_YELLING)
|
||||
to_chat(user, "<span class='notice'>You set the voice circuit to the first position.</span>")
|
||||
mode = DRILL_DEFAULT
|
||||
if(DRILL_CANADIAN)
|
||||
to_chat(user, "<span class='danger'>You adjust voice circuit but nothing happens, probably because it's broken.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/head/warden/drill/wirecutter_act(mob/living/user, obj/item/I)
|
||||
if(mode != DRILL_CANADIAN)
|
||||
to_chat(user, "<span class='danger'>You broke the voice circuit!</span>")
|
||||
mode = DRILL_CANADIAN
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/head/warden/drill/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
if (slot == SLOT_HEAD)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, .proc/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"
|
||||
armor = list("melee" = 40, "bullet" = 30, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
|
||||
strip_delay = 60
|
||||
|
||||
/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"
|
||||
|
||||
/obj/item/clothing/head/beret/sec/bitch
|
||||
name = "security's bitch beret"
|
||||
desc = "A softer beret with the word 'BITCH' embroidered on it in pink thread."
|
||||
icon_state = "bitchberet"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
item_color = null
|
||||
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
|
||||
//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
|
||||
|
||||
/obj/item/clothing/head/chefhat/suicide_act(mob/user)
|
||||
user.visible_message("<span class='suicide'>[user] is donning [src]! It looks like [user.p_theyre()] trying to become a chef.</span>")
|
||||
user.say("Bork Bork Bork!", forced = "chef hat suicide")
|
||||
sleep(20)
|
||||
user.visible_message("<span class='suicide'>[user] climbs into an imaginary oven!</span>")
|
||||
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
|
||||
|
||||
//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
|
||||
|
||||
//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
|
||||
|
||||
//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()
|
||||
. = ..()
|
||||
new /obj/item/reagent_containers/food/drinks/flask/det(src)
|
||||
|
||||
/obj/item/clothing/head/fedora/det_hat/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click to take a candy corn.</span>"
|
||||
|
||||
/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/highlander
|
||||
desc = "That was white fabric. <i>Was.</i>"
|
||||
dog_fashion = null //THIS IS FOR SLAUGHTER, NOT PUPPIES
|
||||
|
||||
/obj/item/clothing/head/beret/highlander/Initialize()
|
||||
. = ..()
|
||||
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/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, "<span class='notice'>You set the voice circuit to the middle position.</span>")
|
||||
mode = DRILL_SHOUTING
|
||||
if(DRILL_SHOUTING)
|
||||
to_chat(user, "<span class='notice'>You set the voice circuit to the last position.</span>")
|
||||
mode = DRILL_YELLING
|
||||
if(DRILL_YELLING)
|
||||
to_chat(user, "<span class='notice'>You set the voice circuit to the first position.</span>")
|
||||
mode = DRILL_DEFAULT
|
||||
if(DRILL_CANADIAN)
|
||||
to_chat(user, "<span class='danger'>You adjust voice circuit but nothing happens, probably because it's broken.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/head/warden/drill/wirecutter_act(mob/living/user, obj/item/I)
|
||||
if(mode != DRILL_CANADIAN)
|
||||
to_chat(user, "<span class='danger'>You broke the voice circuit!</span>")
|
||||
mode = DRILL_CANADIAN
|
||||
return TRUE
|
||||
|
||||
/obj/item/clothing/head/warden/drill/equipped(mob/M, slot)
|
||||
. = ..()
|
||||
if (slot == SLOT_HEAD)
|
||||
RegisterSignal(M, COMSIG_MOB_SAY, .proc/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"
|
||||
armor = list("melee" = 40, "bullet" = 30, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
|
||||
strip_delay = 60
|
||||
|
||||
/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"
|
||||
|
||||
/obj/item/clothing/head/beret/sec/bitch
|
||||
name = "security's bitch beret"
|
||||
desc = "A softer beret with the word 'BITCH' embroidered on it in pink thread."
|
||||
icon_state = "bitchberet"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
|
||||
//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"
|
||||
item_color = null
|
||||
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
|
||||
|
||||
@@ -1,142 +1,142 @@
|
||||
/obj/item/clothing/head/soft
|
||||
name = "cargo cap"
|
||||
desc = "It's a baseball hat in a tasteless yellow colour."
|
||||
icon_state = "cargosoft"
|
||||
item_state = "helmet"
|
||||
item_color = "cargo"
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head/cargo_tech
|
||||
|
||||
var/flipped = 0
|
||||
|
||||
/obj/item/clothing/head/soft/dropped()
|
||||
src.icon_state = "[item_color]soft"
|
||||
src.flipped=0
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/soft/verb/flipcap()
|
||||
set category = "Object"
|
||||
set name = "Flip cap"
|
||||
|
||||
flip(usr)
|
||||
|
||||
|
||||
/obj/item/clothing/head/soft/AltClick(mob/user)
|
||||
..()
|
||||
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
return
|
||||
else
|
||||
flip(user)
|
||||
|
||||
|
||||
/obj/item/clothing/head/soft/proc/flip(mob/user)
|
||||
if(!user.incapacitated())
|
||||
src.flipped = !src.flipped
|
||||
if(src.flipped)
|
||||
icon_state = "[item_color]soft_flipped"
|
||||
to_chat(user, "<span class='notice'>You flip the hat backwards.</span>")
|
||||
else
|
||||
icon_state = "[item_color]soft"
|
||||
to_chat(user, "<span class='notice'>You flip the hat back in normal position.</span>")
|
||||
usr.update_inv_head() //so our mob-overlays update
|
||||
|
||||
/obj/item/clothing/head/soft/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].</span>"
|
||||
|
||||
/obj/item/clothing/head/soft/red
|
||||
name = "red cap"
|
||||
desc = "It's a baseball hat in a tasteless red colour."
|
||||
icon_state = "redsoft"
|
||||
item_color = "red"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/blue
|
||||
name = "blue cap"
|
||||
desc = "It's a baseball hat in a tasteless blue colour."
|
||||
icon_state = "bluesoft"
|
||||
item_color = "blue"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/green
|
||||
name = "green cap"
|
||||
desc = "It's a baseball hat in a tasteless green colour."
|
||||
icon_state = "greensoft"
|
||||
item_color = "green"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/yellow
|
||||
name = "yellow cap"
|
||||
desc = "It's a baseball hat in a tasteless yellow colour."
|
||||
icon_state = "yellowsoft"
|
||||
item_color = "yellow"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/grey
|
||||
name = "grey cap"
|
||||
desc = "It's a baseball hat in a tasteful grey colour."
|
||||
icon_state = "greysoft"
|
||||
item_color = "grey"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/orange
|
||||
name = "orange cap"
|
||||
desc = "It's a baseball hat in a tasteless orange colour."
|
||||
icon_state = "orangesoft"
|
||||
item_color = "orange"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/mime
|
||||
name = "white cap"
|
||||
desc = "It's a baseball hat in a tasteless white colour."
|
||||
icon_state = "mimesoft"
|
||||
item_color = "mime"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/purple
|
||||
name = "purple cap"
|
||||
desc = "It's a baseball hat in a tasteless purple colour."
|
||||
icon_state = "purplesoft"
|
||||
item_color = "purple"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/black
|
||||
name = "black cap"
|
||||
desc = "It's a baseball hat in a tasteless black colour."
|
||||
icon_state = "blacksoft"
|
||||
item_color = "black"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/rainbow
|
||||
name = "rainbow cap"
|
||||
desc = "It's a baseball hat in a bright rainbow of colors."
|
||||
icon_state = "rainbowsoft"
|
||||
item_color = "rainbow"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/sec
|
||||
name = "security cap"
|
||||
desc = "It's a robust baseball hat in tasteful red colour."
|
||||
icon_state = "secsoft"
|
||||
item_color = "sec"
|
||||
armor = list("melee" = 30, "bullet" = 25, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 50)
|
||||
strip_delay = 60
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/emt
|
||||
name = "paramedic cap"
|
||||
desc = "It's a baseball hat with a dark turquoise color and a reflective cross on the top."
|
||||
icon_state = "emtsoft"
|
||||
item_color = "emt"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/baseball
|
||||
name = "baseball cap"
|
||||
desc = "It's a robust baseball hat, this one belongs to syndicate major league team."
|
||||
icon_state = "baseballsoft"
|
||||
item_color = "baseballsoft"
|
||||
item_state = "baseballsoft"
|
||||
flags_inv = HIDEEYES|HIDEFACE
|
||||
armor = list("melee" = 35, "bullet" = 35, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 90)
|
||||
strip_delay = 90 //You dont take a Major Leage cap
|
||||
dog_fashion = null
|
||||
/obj/item/clothing/head/soft
|
||||
name = "cargo cap"
|
||||
desc = "It's a baseball hat in a tasteless yellow colour."
|
||||
icon_state = "cargosoft"
|
||||
item_state = "helmet"
|
||||
item_color = "cargo"
|
||||
|
||||
dog_fashion = /datum/dog_fashion/head/cargo_tech
|
||||
|
||||
var/flipped = 0
|
||||
|
||||
/obj/item/clothing/head/soft/dropped()
|
||||
src.icon_state = "[item_color]soft"
|
||||
src.flipped=0
|
||||
..()
|
||||
|
||||
/obj/item/clothing/head/soft/verb/flipcap()
|
||||
set category = "Object"
|
||||
set name = "Flip cap"
|
||||
|
||||
flip(usr)
|
||||
|
||||
|
||||
/obj/item/clothing/head/soft/AltClick(mob/user)
|
||||
. = ..()
|
||||
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
|
||||
return
|
||||
flip(user)
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/item/clothing/head/soft/proc/flip(mob/user)
|
||||
if(!user.incapacitated())
|
||||
src.flipped = !src.flipped
|
||||
if(src.flipped)
|
||||
icon_state = "[item_color]soft_flipped"
|
||||
to_chat(user, "<span class='notice'>You flip the hat backwards.</span>")
|
||||
else
|
||||
icon_state = "[item_color]soft"
|
||||
to_chat(user, "<span class='notice'>You flip the hat back in normal position.</span>")
|
||||
usr.update_inv_head() //so our mob-overlays update
|
||||
|
||||
/obj/item/clothing/head/soft/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<span class='notice'>Alt-click the cap to flip it [flipped ? "forwards" : "backwards"].</span>"
|
||||
|
||||
/obj/item/clothing/head/soft/red
|
||||
name = "red cap"
|
||||
desc = "It's a baseball hat in a tasteless red colour."
|
||||
icon_state = "redsoft"
|
||||
item_color = "red"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/blue
|
||||
name = "blue cap"
|
||||
desc = "It's a baseball hat in a tasteless blue colour."
|
||||
icon_state = "bluesoft"
|
||||
item_color = "blue"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/green
|
||||
name = "green cap"
|
||||
desc = "It's a baseball hat in a tasteless green colour."
|
||||
icon_state = "greensoft"
|
||||
item_color = "green"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/yellow
|
||||
name = "yellow cap"
|
||||
desc = "It's a baseball hat in a tasteless yellow colour."
|
||||
icon_state = "yellowsoft"
|
||||
item_color = "yellow"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/grey
|
||||
name = "grey cap"
|
||||
desc = "It's a baseball hat in a tasteful grey colour."
|
||||
icon_state = "greysoft"
|
||||
item_color = "grey"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/orange
|
||||
name = "orange cap"
|
||||
desc = "It's a baseball hat in a tasteless orange colour."
|
||||
icon_state = "orangesoft"
|
||||
item_color = "orange"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/mime
|
||||
name = "white cap"
|
||||
desc = "It's a baseball hat in a tasteless white colour."
|
||||
icon_state = "mimesoft"
|
||||
item_color = "mime"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/purple
|
||||
name = "purple cap"
|
||||
desc = "It's a baseball hat in a tasteless purple colour."
|
||||
icon_state = "purplesoft"
|
||||
item_color = "purple"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/black
|
||||
name = "black cap"
|
||||
desc = "It's a baseball hat in a tasteless black colour."
|
||||
icon_state = "blacksoft"
|
||||
item_color = "black"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/rainbow
|
||||
name = "rainbow cap"
|
||||
desc = "It's a baseball hat in a bright rainbow of colors."
|
||||
icon_state = "rainbowsoft"
|
||||
item_color = "rainbow"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/sec
|
||||
name = "security cap"
|
||||
desc = "It's a robust baseball hat in tasteful red colour."
|
||||
icon_state = "secsoft"
|
||||
item_color = "sec"
|
||||
armor = list("melee" = 30, "bullet" = 25, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 50)
|
||||
strip_delay = 60
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/emt
|
||||
name = "paramedic cap"
|
||||
desc = "It's a baseball hat with a dark turquoise color and a reflective cross on the top."
|
||||
icon_state = "emtsoft"
|
||||
item_color = "emt"
|
||||
dog_fashion = null
|
||||
|
||||
/obj/item/clothing/head/soft/baseball
|
||||
name = "baseball cap"
|
||||
desc = "It's a robust baseball hat, this one belongs to syndicate major league team."
|
||||
icon_state = "baseballsoft"
|
||||
item_color = "baseballsoft"
|
||||
item_state = "baseballsoft"
|
||||
flags_inv = HIDEEYES|HIDEFACE
|
||||
armor = list("melee" = 35, "bullet" = 35, "laser" = 25, "energy" = 10, "bomb" = 25, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 90)
|
||||
strip_delay = 90 //You dont take a Major Leage cap
|
||||
dog_fashion = null
|
||||
|
||||
Reference in New Issue
Block a user