Changelog: modules/clothing/head/Hardhat.dm: -Added Welder Hard Hats & various colours --They function as a combi hard hat & welder mask, but have a slightly dimmer head lamp modules/clothing/vending/wardrobes.dm -Added 3 Welder Hard Hats to the Engi-drobe and Atmos-drobe -Equalized some values between the two (3 atmos winter coats now instead of 5, and 3 engineering dufflebags instead of 2) game/objects/structures/crates_lockers/closets/secure/engineering.dm -Replaced the welding mask in the CE's locker with a white WHH (This one has brighter buld in it! Same brightness as a regular hard hat) datums/action.dm - Added the item_action to lower the WHH's face shield icons/mob/head.dmi -Added weldervisor + welderhat, which are used by the WHH's -Recoloured hardhat0/1_dblue to be in atmos colours as I've never seen it on the station before and this way is actually used icons/mob/obj/hats.dmi -Added weldervisor, again, used by the WHH's -Repositioned the hardhat sprites up several pixels so they don't clip and look weird with the weldervisor -Recoloured hardhat0/1_dblue to be in atmos colours as I've never seen it on the station before and this way is actually used
160 lines
5.6 KiB
Plaintext
160 lines
5.6 KiB
Plaintext
/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)
|
|
clothing_flags = SNUG_FIT
|
|
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', 50, 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" |