Loadout Hats - assorted additions and condensing (#16476)

* part 2

* progress

* hats

* HATTTS

* fixes a test + adds a pixel to the fedora
This commit is contained in:
kyres1
2023-07-29 08:04:03 -05:00
committed by GitHub
parent e0a2760da5
commit ea40046836
22 changed files with 252 additions and 188 deletions

View File

@@ -1,6 +1,7 @@
/datum/gear/head
display_name = "ushanka"
path = /obj/item/clothing/head/ushanka
display_name = "green boonie hat"
description = "A floppy boonie hat with an attached string."
path = /obj/item/clothing/head/bucket/boonie/green
slot = slot_head
sort_category = "Hats and Headwear"
@@ -8,9 +9,10 @@
..()
gear_tweaks += list(gear_tweak_hair_block)
/datum/gear/head/ushanka_grey
display_name = "ushanka, grey"
path = /obj/item/clothing/head/ushanka/grey
/datum/gear/head/boonie_blue
display_name = "blue boonie hat"
description = "A floppy boonie hat with an attached string. This one is blue."
path = /obj/item/clothing/head/bucket/boonie/blue
/datum/gear/head/bandana
display_name = "bandana selection"
@@ -211,16 +213,8 @@
hats["hat, boatsman"] = /obj/item/clothing/head/boaterhat
hats["hat, bowler"] = /obj/item/clothing/head/bowler
hats["hat, fez"] = /obj/item/clothing/head/fez
hats["hat, tophat"] = /obj/item/clothing/head/that
hats["hat, feather trilby"] = /obj/item/clothing/head/feathertrilby
hats["hat, striped black fedora"] = /obj/item/clothing/head/fedora
hats["hat, black fedora"] = /obj/item/clothing/head/fedora/black
hats["hat, brown fedora"] = /obj/item/clothing/head/fedora/brown
hats["hat, dark brown fedora"] = /obj/item/clothing/head/fedora/brown/dark
hats["hat, grey fedora"] = /obj/item/clothing/head/fedora/grey
hats["hat, beaver"] = /obj/item/clothing/head/beaverhat
hats["hat, cowboy"] = /obj/item/clothing/head/cowboy
hats["hat, wide-brimmed cowboy"] = /obj/item/clothing/head/cowboy/wide
hats["hat, sombrero"] = /obj/item/clothing/head/sombrero
hats["hat, flatcap"] = /obj/item/clothing/head/flatcap
gear_tweaks += new /datum/gear_tweak/path(hats)
@@ -229,14 +223,23 @@
display_name = "hat selection (colourable)"
description = "A selection of hats."
path = /obj/item/clothing/head/flatcap/colourable
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION
/datum/gear/head/hats_colourable/New()
..()
var/list/hats_colourable = list()
hats_colourable["hat, flatcap"] = /obj/item/clothing/head/flatcap/colourable
hats_colourable["hat, bucket"] = /obj/item/clothing/head/bucket
hats_colourable["hat, feather trilby"] = /obj/item/clothing/head/feathertrilby/colourable
hats_colourable["hat, woolen"] = /obj/item/clothing/head/wool
hats_colourable["hat, fedora"] = /obj/item/clothing/head/fedora
hats_colourable["hat, top hat"] = /obj/item/clothing/head/top_hat
hats_colourable["hat, cowboy"] = /obj/item/clothing/head/cowboy
hats_colourable["hat, cowboy wide"] = /obj/item/clothing/head/cowboy/wide
hats_colourable["hat, wide sun hat"] = /obj/item/clothing/head/wide_hat
hats_colourable["hat, sun hat with band"] = /obj/item/clothing/head/wide_hat/alt
hats_colourable["hat, wide pointed"] = /obj/item/clothing/head/wide_hat/pointed
hats_colourable["hat, wide pointed with band"] = /obj/item/clothing/head/wide_hat/pointed/alt
gear_tweaks += new /datum/gear_tweak/path(hats_colourable)
/datum/gear/head/hijab
@@ -313,10 +316,16 @@
path = /obj/item/clothing/head/beanie
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/head/beanie_alt
display_name = "winter beanie"
path = /obj/item/clothing/head/beanie/winter
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION
/datum/gear/head/nonla
display_name = "non la hat"
path = /obj/item/clothing/head/nonla
origin_restriction = list(/singleton/origin_item/origin/earth, /singleton/origin_item/origin/new_hai_phong)
/datum/gear/head/konyang
display_name = "gat"
path = /obj/item/clothing/head/konyang
@@ -406,11 +415,6 @@
flags = GEAR_HAS_DESC_SELECTION
origin_restriction = list(/singleton/origin_item/origin/vysoka, /singleton/origin_item/origin/ipc_vysoka)
/datum/gear/head/buckethat
display_name = "bucket hat"
path = /obj/item/clothing/head/buckethat
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/head/bridge_crew_cap_alt
display_name = "san colettish bridge crew cap"
path = /obj/item/clothing/head/caphat/bridge_crew/alt
@@ -423,6 +427,11 @@
flags = GEAR_HAS_DESC_SELECTION
origin_restriction = list(/singleton/origin_item/origin/gadpathur)
/datum/gear/head/ushanka
display_name = "ushanka (colorable)"
path = /obj/item/clothing/head/ushanka
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/head/gadpathur/New()
..()
var/list/gadpathur = list()

View File

@@ -88,10 +88,22 @@
name = "gat"
desc = "A traditional hat worn on Konyang and originating on Earth."
desc_extended = "Although traditionally made from horsehair, many different types of fabrics, including water-resistant fibres from feathers are now used."
icon = 'icons/clothing/head/konyang_gat.dmi'
icon_state = "konyang_gat"
item_state = "konyang_gat"
icon = 'icons/obj/item/clothing/head/konyang_caps.dmi'
icon_state = "gat"
item_state = "gat"
contained_sprite = TRUE
var/veilup = 0
/obj/item/clothing/head/konyang/attack_self(mob/user as mob)
src.veilup = !src.veilup
if(src.veilup)
icon_state = "[icon_state]_up"
to_chat(user, "You raise the rain veil on the gat.")
else
src.icon_state = initial(icon_state)
to_chat(user, "You lower the rain veil on the gat.")
update_icon()
update_clothing_icon()
/obj/item/clothing/under/konyangdress
name = "konyanger dress"

View File

@@ -117,28 +117,6 @@
icon_state = "surgcap_idris"
item_state = "surgcap_idris"
//Detective
/obj/item/clothing/head/det
name = "fedora"
desc = "A brown fedora - either the cornerstone of a detective's style or a poor attempt at looking cool, depending on the person wearing it."
icon_state = "brown_fedora"
item_state_slots = list(
slot_l_hand_str = "det_hat",
slot_r_hand_str = "det_hat"
)
allowed = list(/obj/item/reagent_containers/food/snacks/candy_corn, /obj/item/pen)
armor = list(
melee = ARMOR_MELEE_RESISTANT,
laser = ARMOR_LASER_SMALL,
energy = ARMOR_ENERGY_MINOR
)
siemens_coefficient = 0.75
/obj/item/clothing/head/det/grey
icon_state = "grey_fedora"
desc = "A grey fedora - either the cornerstone of a detective's style or a poor attempt at looking cool, depending on the person wearing it."
/obj/item/clothing/head/warden
name = "warden hat"
desc = "A warden hat. For showing who is in charge of the brig."
@@ -151,7 +129,7 @@
/obj/item/clothing/head/warden/zavod
icon_state = "zav_warden_hat"
item_state = "zav_warden_hat"
/obj/item/clothing/head/warden/zavod/alt
icon_state = "zav_warden_hat_alt"
item_state = "zav_warden_hat_alt"
@@ -222,4 +200,4 @@
name = "black zavodskoi pilotka cap"
desc = "A simple cap, often worn by pilots. This one is in Zavodskoi colors."
icon_state = "zavodskoi_pilotka_alt"
item_state = "zavodskoi_pilotka_alt"
item_state = "zavodskoi_pilotka_alt"

View File

@@ -9,10 +9,12 @@
siemens_coefficient = 0.9
/obj/item/clothing/head/pin
icon_state = "pin"
item_state = "pin"
name = "hair pin"
desc = "A nice hair pin."
icon = 'icons/obj/item/clothing/accessory/hair_pins.dmi'
contained_sprite = TRUE
icon_state = "pin"
item_state = "pin"
slot_flags = SLOT_HEAD | SLOT_EARS
body_parts_covered = 0
drop_sound = 'sound/items/drop/ring.ogg'
@@ -330,15 +332,6 @@
icon_state = "hijab_black"
item_state = "hijab_black"
/obj/item/clothing/head/cowboy
name = "cowboy hat"
desc = "A wide-brimmed hat, in the prevalent style of the frontier."
icon_state = "cowboyhat"
/obj/item/clothing/head/cowboy/wide
name = "wide-brimmed cowboy hat"
icon_state = "cowboy_wide"
/obj/item/clothing/head/sombrero
name = "sombrero"
desc = "You can practically taste the fiesta."
@@ -411,44 +404,7 @@
. = ..()
color = get_random_colour(lower = 150)
/obj/item/clothing/head/fedora
name = "fedora"
icon_state = "fedora"
desc = "A sharp, stylish hat."
/obj/item/clothing/head/fedora/black
name = "black fedora"
icon_state = "black_fedora"
/obj/item/clothing/head/fedora/brown
name = "fedora"
desc = "A brown fedora - either the cornerstone of a detective's style or a poor attempt at looking cool, depending on the person wearing it."
icon_state = "brown_fedora"
item_state_slots = list(
slot_l_hand_str = "det_hat",
slot_r_hand_str = "det_hat"
)
siemens_coefficient = 0.7
/obj/item/clothing/head/fedora/brown/dark
icon_state = "darkbrown_fedora"
/obj/item/clothing/head/fedora/grey
icon_state = "grey_fedora"
desc = "A grey fedora - either the cornerstone of a detective's style or a poor attempt at looking cool, depending on the person wearing it."
/obj/item/clothing/head/beanie
name = "beanie"
desc = "A head-hugging brimless winter cap. This one is tight."
icon_state = "beanie"
item_state = "beanie"
/obj/item/clothing/head/beanie/random/Initialize()
. = ..()
color = get_random_colour(lower = 150)
//Flower crowns
/obj/item/clothing/head/sunflower_crown
name = "sunflower crown"
desc = "A flower crown weaved with sunflowers."
@@ -484,50 +440,6 @@
icon_state = "legion_cap"
item_state = "legion_cap"
//golden beep stuff
/obj/item/clothing/head/headchain
name = "cobalt head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_headchains"
item_state = "cobalt_headchains"
body_parts_covered = 0
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/head/headchain/emerald
name = "emerald head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_headchains"
item_state = "emerald_headchains"
/obj/item/clothing/head/headchain/ruby
name = "ruby head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_headchains"
item_state = "ruby_headchains"
/obj/item/clothing/head/crest
name = "cobalt head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon_state = "cobalt_crest"
item_state = "cobalt_crest"
body_parts_covered = 0
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/head/crest/emerald
name = "emerald head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_crest"
item_state = "emerald_crest"
/obj/item/clothing/head/crest/ruby
name = "ruby head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_crest"
item_state = "ruby_crest"
/obj/item/clothing/head/fake_culthood
name = "occultist hood"
icon_state = "culthood"
@@ -543,14 +455,6 @@
icon_state = "tank"
flags_inv = BLOCKHEADHAIR
/obj/item/clothing/head/buckethat
name = "bucket hat"
desc = "A hat with an all-around visor. Only slightly better than wearing an actual bucket."
icon_state = "buckethat"
sprite_sheets = list(
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi'
)
/obj/item/clothing/head/papersack
name = "paper sack hat"
desc = "A paper sack with crude holes cut out for eyes. Useful for hiding one's identity or ugliness."
@@ -705,4 +609,4 @@
name = "sol army campaign hat"
desc = "A green campaign hat issued as part of Solarian Army service uniforms. The NCOs that scream at you more than the normal ones should wear this."
icon_state = "army_campaign"
item_state = "army_campaign"
item_state = "army_campaign"

View File

@@ -118,43 +118,6 @@
src.icon_state = "cake0"
src.item_state = "cake0"
return
/*
* Ushanka
*/
/obj/item/clothing/head/ushanka
name = "ushanka"
desc = "A warm fur hat with ear flaps that can be raised and tied to be out of the way."
icon_state = "ushanka"
flags_inv = HIDEEARS
var/earsup = 0
/obj/item/clothing/head/ushanka/grey
name = "grey ushanka"
desc = "Perfect for winter in Siberia, da?"
icon_state = "greyushanka"
/obj/item/clothing/head/ushanka/nyakas
name = "visegradi nyakas"
desc = "A type of flap hat that is extremely popular on Visegrad. It is designed to keep one's head and neck dry, and the flap can be pinned to the sides of the hat when not needed."
contained_sprite = TRUE
icon = 'icons/obj/item/clothing/head/nyakas.dmi'
icon_state = "nyakas"
item_state = "nyakas"
/obj/item/clothing/head/ushanka/attack_self(mob/user as mob)
src.earsup = !src.earsup
if(src.earsup)
icon_state = "[icon_state]_up"
item_state = "[item_state]_up"
to_chat(user, "You raise the ear flaps on the hat.")
else
src.icon_state = initial(icon_state)
item_state = initial(item_state)
to_chat(user, "You lower the ear flaps on the hat.")
update_clothing_icon()
/*
* Pumpkin head
*/

View File

@@ -0,0 +1,86 @@
/obj/item/clothing/head/wide_hat
name = "wide-brimmed sun hat"
desc = "A large and light hat meant to block the sun from your precious eyes."
icon = 'icons/obj/item/clothing/head/sun_hat.dmi'
icon_state = "sun_hat"
item_state = "sun_hat"
contained_sprite = TRUE
has_accents = TRUE
/obj/item/clothing/head/wide_hat/alt
build_from_parts = TRUE
worn_overlay = "over"
/obj/item/clothing/head/wide_hat/pointed
icon_state = "pointed_large"
item_state = "pointed_large"
/obj/item/clothing/head/wide_hat/pointed/alt
build_from_parts = TRUE
worn_overlay = "band"
/obj/item/clothing/head/cowboy
name = "cowboy hat"
desc = "A wide-brimmed hat, in the prevalent style of the frontier."
icon = 'icons/obj/item/clothing/head/cowboy.dmi'
contained_sprite = TRUE
icon_state = "cowboyhat"
item_state = "cowboyhat"
/obj/item/clothing/head/cowboy/wide
name = "wide-brimmed cowboy hat"
icon_state = "cowboy_wide"
item_state = "cowboy_wide"
/obj/item/clothing/head/bucket
name = "bucket hat"
desc = "A basic, circular hat with a modest brim."
icon = 'icons/obj/item/clothing/head/bucket_hat.dmi'
contained_sprite = TRUE
icon_state = "buckethat"
item_state = "buckethat"
sprite_sheets = list(
"Tajara" = 'icons/mob/species/tajaran/helmet.dmi'
)
/obj/item/clothing/head/bucket/boonie
name = "boonie hat"
desc = "A floppy boonie hat with an attached string."
icon_state = "boonie"
item_state = "boonie"
build_from_parts = TRUE
worn_overlay = "over"
/obj/item/clothing/head/bucket/boonie/green
icon_state = "green_boonie"
item_state = "green_boonie"
/obj/item/clothing/head/bucket/boonie/blue
icon_state = "blue_boonie"
item_state = "blue_boonie"
/obj/item/clothing/head/fedora
name = "fedora"
icon_state = "fedora"
item_state = "fedora"
desc = "A sharp, stylish hat."
icon = 'icons/obj/item/clothing/head/bucket_hat.dmi'
contained_sprite = TRUE
has_accents = TRUE
/obj/item/clothing/head/fedora/grey
name = "grey fedora"
/obj/item/clothing/head/fedora/grey/Initialize()
. = ..()
color = "#5d6363"
/obj/item/clothing/head/top_hat
name = "top hat"
icon_state = "tophat"
item_state = "tophat"
desc = "A top hat worn by only the most prestigious hat collectors."
icon = 'icons/obj/item/clothing/head/top_hat.dmi'
contained_sprite = TRUE
has_accents = TRUE

View File

@@ -0,0 +1,57 @@
/obj/item/clothing/head/ushanka
name = "ushanka"
desc = "A warm fur hat with ear flaps that can be raised and tied to be out of the way."
icon = 'icons/obj/item/clothing/head/ushanka.dmi'
icon_state = "ushanka"
item_state = "ushanka"
contained_sprite = TRUE
build_from_parts = TRUE
worn_overlay = "over"
flags_inv = HIDEEARS
var/earsup = 0
/obj/item/clothing/head/ushanka/nyakas
name = "visegradi nyakas"
desc = "A type of flap hat that is extremely popular on Visegrad. It is designed to keep one's head and neck dry, and the flap can be pinned to the sides of the hat when not needed."
contained_sprite = TRUE
build_from_parts = FALSE
icon = 'icons/obj/item/clothing/head/nyakas.dmi'
icon_state = "nyakas"
item_state = "nyakas"
/obj/item/clothing/head/ushanka/attack_self(mob/user as mob)
src.earsup = !src.earsup
if(src.earsup)
icon_state = "[icon_state]_up"
to_chat(user, "You raise the ear flaps on the ushanka.")
else
src.icon_state = initial(icon_state)
to_chat(user, "You lower the ear flaps on the ushanka.")
update_icon()
update_clothing_icon()
/obj/item/clothing/head/ushanka/grey
name = "grey ushanka"
/obj/item/clothing/head/ushanka/grey/Initialize()
. = ..()
color = "#5d6363"
/obj/item/clothing/head/beanie
name = "beanie"
desc = "A head-hugging brimless winter cap. This one is tight."
icon = 'icons/obj/item/clothing/head/beanie.dmi'
contained_sprite = TRUE
icon_state = "beanie"
item_state = "beanie"
/obj/item/clothing/head/beanie/random/Initialize()
. = ..()
color = get_random_colour(lower = 150)
/obj/item/clothing/head/beanie/winter
name = "winter beanie"
desc = "A head-hugging brimless winter cap. This one has flaps that cover the ears."
icon_state = "winterbeanie"
item_state = "winterbeanie"
has_accents = TRUE

View File

@@ -0,0 +1,45 @@
/obj/item/clothing/head/headchain
name = "cobalt head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon = 'icons/obj/item/clothing/head/ipc/golden_deep.dmi'
contained_sprite = TRUE
icon_state = "cobalt_headchains"
item_state = "cobalt_headchains"
body_parts_covered = 0
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/head/headchain/emerald
name = "emerald head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_headchains"
item_state = "emerald_headchains"
/obj/item/clothing/head/headchain/ruby
name = "ruby head chains"
desc = "A set of luxurious chains intended to be wrapped around one's head. They don't seem particularly comfortable. They're encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_headchains"
item_state = "ruby_headchains"
/obj/item/clothing/head/crest
name = "cobalt head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with cobalt-blue gems, and made of <b>REAL</b> faux gold."
icon = 'icons/obj/item/clothing/head/ipc/golden_deep.dmi'
contained_sprite = TRUE
icon_state = "cobalt_crest"
item_state = "cobalt_crest"
body_parts_covered = 0
drop_sound = 'sound/items/drop/accessory.ogg'
pickup_sound = 'sound/items/pickup/accessory.ogg'
/obj/item/clothing/head/crest/emerald
name = "emerald head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with emerald-green gems, and made of <b>REAL</b> faux gold."
icon_state = "emerald_crest"
item_state = "emerald_crest"
/obj/item/clothing/head/crest/ruby
name = "ruby head crest"
desc = "A solemn crest wrapping around the back of one's head, seeming to bend in the center on multiple hinges and clip on. It's encrusted with ruby-red gems, and made of <b>REAL</b> faux gold."
icon_state = "ruby_crest"
item_state = "ruby_crest"