This commit is contained in:
Ghommie
2019-12-09 00:04:22 +01:00
375 changed files with 11630 additions and 8094 deletions
+7 -17
View File
@@ -41,14 +41,14 @@
H.update_inv_head()
///Special throw_impact for hats to frisbee hats at people to place them on their heads/attempt to de-hat them.
///Special throw_impact for hats to frisbee hats at people to place them on their heads.
/obj/item/clothing/head/throw_impact(atom/hit_atom, datum/thrownthing/thrownthing)
. = ..()
///if the thrown object's target zone isn't the head
if(thrownthing.target_zone != BODY_ZONE_HEAD)
return
///ignore any hats with the tinfoil counter-measure enabled
if(clothing_flags & ANTI_TINFOIL_MANEUVER)
///ignore any hats with downsides when worn
if(clothing_flags & IGNORE_HAT_TOSS)
return
///if the hat happens to be capable of holding contents and has something in it. mostly to prevent super cheesy stuff like stuffing a mini-bomb in a hat and throwing it
if(LAZYLEN(contents))
@@ -57,20 +57,8 @@
var/mob/living/carbon/H = hit_atom
if(istype(H.head, /obj/item))
var/obj/item/WH = H.head
///check if the item has NODROP
if(HAS_TRAIT(WH, TRAIT_NODROP))
H.visible_message("<span class='warning'>[src] bounces off [H]'s [WH.name]!", "<span class='warning'>[src] bounces off your [WH.name], falling to the floor.</span>")
return
///check if the item is an actual clothing head item, since some non-clothing items can be worn
if(istype(WH, /obj/item/clothing/head))
var/obj/item/clothing/head/WHH = WH
///SNUG_FIT hats are immune to being knocked off
if(WHH.clothing_flags & SNUG_FIT)
H.visible_message("<span class='warning'>[src] bounces off [H]'s [WHH.name]!", "<span class='warning'>[src] bounces off your [WHH.name], falling to the floor.</span>")
return
///if the hat manages to knock something off
if(H.dropItemToGround(WH))
H.visible_message("<span class='warning'>[src] knocks [WH] off [H]'s head!</span>", "<span class='warning'>[WH] is suddenly knocked off your head by [src]!</span>")
H.visible_message("<span class='warning'>[src] bounces off [H]'s [WH.name]!", "<span class='warning'>[src] bounces off your [WH.name], falling to the floor.</span>")
return
if(H.equip_to_slot_if_possible(src, SLOT_HEAD, FALSE, TRUE))
H.visible_message("<span class='notice'>[src] lands neatly on [H]'s head!", "<span class='notice'>[src] lands perfectly onto your head!</span>")
return
@@ -84,6 +72,8 @@
R.visible_message("<span class='notice'>[src] lands neatly on top of [R].", "<span class='notice'>[src] lands perfectly on top of you.</span>")
R.place_on_head(src) //hats aren't designed to snugly fit borg heads or w/e so they'll always manage to knock eachother off
/obj/item/clothing/head/worn_overlays(isinhands = FALSE)
. = list()
if(!isinhands)
+3 -8
View File
@@ -13,14 +13,12 @@
/obj/item/clothing/head/collectable/slime
name = "collectable slime cap!"
desc = "It just latches right in place!"
clothing_flags = SNUG_FIT
icon_state = "slime"
dynamic_hair_suffix = ""
/obj/item/clothing/head/collectable/xenom
name = "collectable xenomorph helmet!"
desc = "Hiss hiss hiss!"
clothing_flags = SNUG_FIT
icon_state = "xenom"
/obj/item/clothing/head/collectable/chef
@@ -29,7 +27,6 @@
icon_state = "chef"
item_state = "chef"
dynamic_hair_suffix = ""
dog_fashion = /datum/dog_fashion/head/chef
/obj/item/clothing/head/collectable/paper
@@ -73,14 +70,13 @@
desc = "A collectable welding helmet. Now with 80% less lead! Not for actual welding. Any welding done while wearing this helmet is done so at the owner's own risk!"
icon_state = "welding"
item_state = "welding"
clothing_flags = SNUG_FIT
resistance_flags = NONE
/obj/item/clothing/head/collectable/slime
name = "collectable slime hat"
desc = "Just like a real brain slug!"
icon_state = "headslime"
item_state = "headslime"
clothing_flags = SNUG_FIT
/obj/item/clothing/head/collectable/flatcap
name = "collectable flat cap"
@@ -124,7 +120,6 @@
/obj/item/clothing/head/collectable/hardhat
name = "collectable hard hat"
desc = "WARNING! Offers no real protection, or luminosity, but damn, is it fancy!"
clothing_flags = SNUG_FIT
icon_state = "hardhat0_yellow"
item_state = "hardhat0_yellow"
@@ -147,7 +142,7 @@
desc = "Go Red! I mean Green! I mean Red! No Green!"
icon_state = "thunderdome"
item_state = "thunderdome"
clothing_flags = SNUG_FIT
resistance_flags = NONE
flags_inv = HIDEHAIR
/obj/item/clothing/head/collectable/swat
@@ -155,5 +150,5 @@
desc = "That's not real blood. That's red paint." //Reference to the actual description
icon_state = "swat"
item_state = "swat"
clothing_flags = SNUG_FIT
resistance_flags = NONE
flags_inv = HIDEHAIR
-1
View File
@@ -11,7 +11,6 @@
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"
+1 -1
View File
@@ -10,7 +10,7 @@
heat_protection = HEAD
max_heat_protection_temperature = HELMET_MAX_TEMP_PROTECT
strip_delay = 60
clothing_flags = SNUG_FIT
resistance_flags = NONE
flags_cover = HEADCOVERSEYES
flags_inv = HIDEHAIR
+14 -11
View File
@@ -67,14 +67,12 @@
desc = "A plastic replica of a Syndicate agent's space helmet. You'll look just like a real murderous Syndicate agent in this! This is a toy, it is not made for use in space!"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
mutantrace_variation = MUTANTRACE_VARIATION
clothing_flags = SNUG_FIT
/obj/item/clothing/head/cueball
name = "cueball helmet"
desc = "A large, featureless white orb meant to be worn on your head. How do you even see out of this thing?"
icon_state = "cueball"
item_state="cueball"
clothing_flags = SNUG_FIT
flags_cover = HEADCOVERSEYES|HEADCOVERSMOUTH
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
@@ -83,7 +81,6 @@
desc = "A ball of white styrofoam. So festive."
icon_state = "snowman_h"
item_state = "snowman_h"
clothing_flags = SNUG_FIT
flags_cover = HEADCOVERSEYES
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
@@ -93,7 +90,6 @@
icon_state = "justicered"
item_state = "justicered"
flags_inv = HIDEHAIR|HIDEEARS|HIDEEYES|HIDEFACE|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
flags_cover = HEADCOVERSEYES
/obj/item/clothing/head/justice/blue
@@ -117,10 +113,8 @@
desc = "Wearing these makes you look useless, and only good for your sex appeal."
icon_state = "bunny"
dynamic_hair_suffix = ""
dog_fashion = /datum/dog_fashion/head/rabbit
/obj/item/clothing/head/flatcap
name = "flat cap"
desc = "A working man's cap."
@@ -165,7 +159,6 @@
icon_state = "chickenhead"
item_state = "chickensuit"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
/obj/item/clothing/head/griffin
name = "griffon head"
@@ -173,7 +166,6 @@
icon_state = "griffinhat"
item_state = "griffinhat"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
/obj/item/clothing/head/bearpelt
name = "bear pelt hat"
@@ -187,7 +179,6 @@
item_state = "xenos_helm"
desc = "A helmet made out of chitinous alien hide."
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
/obj/item/clothing/head/fedora
name = "fedora"
@@ -212,7 +203,6 @@
item_state = "sombrero"
desc = "You can practically taste the fiesta."
flags_inv = HIDEHAIR
dog_fashion = /datum/dog_fashion/head/sombrero
/obj/item/clothing/head/sombrero/green
@@ -309,7 +299,6 @@
desc = "When everything's going to crab, protecting your head is the best choice."
icon_state = "lobster_hat"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
/obj/item/clothing/head/drfreezehat
name = "doctor freeze's wig"
@@ -377,3 +366,17 @@
item_state = "assu_helmet"
desc = "A cheap replica of old riot helmet without visor. It has \"D.A.B.\" written on the front."
flags_inv = HIDEHAIR
/obj/item/clothing/head/hotel
name = "Telegram cap"
desc = "A bright red cap warn by hotel staff. Or people who want to be a singing telegram"
icon_state = "telegramhat"
item_color = "telegramhat"
dog_fashion = null
/obj/item/clothing/head/colour
name = "Singer cap"
desc = "A light white hat that has bands of color. Just makes you want to sing and dance!"
icon_state = "colour"
item_color = "colour"
dog_fashion = /datum/dog_fashion/head/colour
+16 -7
View File
@@ -29,7 +29,6 @@
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
resistance_flags = FIRE_PROOF
mutantrace_variation = MUTANTRACE_VARIATION
clothing_flags = SNUG_FIT
/obj/item/clothing/head/welding/attack_self(mob/user)
weldingvisortoggle(user)
@@ -116,7 +115,6 @@
item_state = "hardhat0_pumpkin"
item_color = "pumpkin"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
clothing_flags = SNUG_FIT
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
brightness_on = 2 //luminosity when on
flags_cover = HEADCOVERSEYES
@@ -165,7 +163,6 @@
desc = "A helmet made out of a box."
icon_state = "cardborg_h"
item_state = "cardborg_h"
clothing_flags = SNUG_FIT
flags_cover = HEADCOVERSEYES
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
@@ -230,7 +227,6 @@
desc = "A crude helmet made out of bronze plates. It offers very little in the way of protection."
icon = 'icons/obj/clothing/clockwork_garb.dmi'
icon_state = "clockwork_helmet_old"
clothing_flags = SNUG_FIT
flags_inv = HIDEEARS|HIDEHAIR
armor = list("melee" = 5, "bullet" = 0, "laser" = -5, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 20)
@@ -243,7 +239,7 @@
equip_delay_other = 140
var/datum/brain_trauma/mild/phobia/paranoia
var/warped = FALSE
clothing_flags = ANTI_TINFOIL_MANEUVER
clothing_flags = IGNORE_HAT_TOSS
/obj/item/clothing/head/foilhat/Initialize(mapload)
. = ..()
@@ -258,8 +254,8 @@
return
if(paranoia)
QDEL_NULL(paranoia)
paranoia = new()
user.gain_trauma(paranoia, TRAUMA_RESILIENCE_MAGIC, "conspiracies")
paranoia = new("conspiracies")
user.gain_trauma(paranoia, TRAUMA_RESILIENCE_MAGIC)
to_chat(user, "<span class='warning'>As you don the foiled hat, an entire world of conspiracy theories and seemingly insane ideas suddenly rush into your mind. What you once thought unbelievable suddenly seems.. undeniable. Everything is connected and nothing happens just by accident. You know too much and now they're out to get you. </span>")
/obj/item/clothing/head/foilhat/MouseDrop(atom/over_object)
@@ -301,3 +297,16 @@
. = ..()
if(!warped)
warp_up()
/obj/item/clothing/head/flakhelm //Actually the M1 Helmet
name = "flak helmet"
icon_state = "m1helm"
item_state = "helmet"
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0.1, "bio" = 0, "rad" = 0, "fire" = -10, "acid" = -15)
desc = "A dilapidated helmet used in ancient wars. This one is brittle and essentially useless. An ace of spades is tucked into the band around the outer shell."
pocket_storage_component_path = /datum/component/storage/concrete/pockets/tiny/spacenam //So you can stuff other things in the elastic band instead of it simply being a fluff thing.
//The "pocket" for the M1 helmet so you can tuck things into the elastic band
/datum/component/storage/concrete/pockets/tiny/spacenam
attack_hand_interact = TRUE //So you can actually see what you stuff in there
+1 -1
View File
@@ -139,4 +139,4 @@
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
dog_fashion = null