diff --git a/baystation12.dme b/baystation12.dme
index 5d4b167fef7..4c45d783ba9 100644
--- a/baystation12.dme
+++ b/baystation12.dme
@@ -1086,6 +1086,7 @@
#include "code\modules\clothing\suits\alien.dm"
#include "code\modules\clothing\suits\armor.dm"
#include "code\modules\clothing\suits\bio.dm"
+#include "code\modules\clothing\suits\hoodies.dm"
#include "code\modules\clothing\suits\jobs.dm"
#include "code\modules\clothing\suits\labcoat.dm"
#include "code\modules\clothing\suits\miscellaneous.dm"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index e43eaade151..a4f4b78e0ae 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -103,14 +103,13 @@
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
- new /obj/item/clothing/head/HoS(src)
- new /obj/item/clothing/suit/armor/vest/security(src)
+ new /obj/item/clothing/head/helmet/HoS(src)
new /obj/item/clothing/suit/storage/vest/hos(src)
new /obj/item/clothing/under/rank/head_of_security/jensen(src)
new /obj/item/clothing/under/rank/head_of_security/corp(src)
new /obj/item/clothing/suit/armor/hos/jensen(src)
new /obj/item/clothing/suit/armor/hos(src)
- new /obj/item/clothing/head/HoS/dermal(src)
+ new /obj/item/clothing/head/helmet/HoS/dermal(src)
new /obj/item/weapon/cartridge/hos(src)
new /obj/item/device/radio/headset/heads/hos(src)
new /obj/item/clothing/glasses/sunglasses/sechud(src)
@@ -123,7 +122,7 @@
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/clothing/accessory/holster/waist(src)
new /obj/item/weapon/melee/telebaton(src)
- new /obj/item/clothing/head/beret/sec/corporate/hos(src)
+ new /obj/item/clothing/head/beret/sec/hos(src)
new /obj/item/clothing/accessory/badge/hos(src)
new /obj/item/ammo_magazine/tranq(src)
return
@@ -147,7 +146,6 @@
new /obj/item/weapon/storage/backpack/security(src)
else
new /obj/item/weapon/storage/backpack/satchel_sec(src)
- new /obj/item/clothing/suit/armor/vest/security(src)
new /obj/item/clothing/suit/storage/vest/warden(src)
new /obj/item/clothing/under/rank/warden(src)
new /obj/item/clothing/under/rank/warden/corp(src)
@@ -166,7 +164,7 @@
new /obj/item/weapon/melee/baton/loaded(src)
new /obj/item/weapon/gun/energy/pistol(src)
new /obj/item/weapon/storage/box/holobadge(src)
- new /obj/item/clothing/head/beret/sec/corporate/warden(src)
+ new /obj/item/clothing/head/beret/sec/warden(src)
new /obj/item/clothing/accessory/badge/warden(src)
return
@@ -190,7 +188,6 @@
new /obj/item/weapon/storage/backpack/satchel_sec(src)
new /obj/item/clothing/suit/storage/vest/officer(src)
new /obj/item/clothing/head/helmet(src)
-// new /obj/item/weapon/cartridge/security(src)
new /obj/item/device/radio/headset/headset_sec(src)
new /obj/item/weapon/storage/belt/security(src)
new /obj/item/device/flash(src)
diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
index 0e03c47e6b1..2f40f5c03be 100644
--- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm
@@ -26,12 +26,11 @@
new /obj/item/clothing/head/beret/sec(src)
new /obj/item/clothing/head/beret/sec(src)
new /obj/item/clothing/head/beret/sec(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
- new /obj/item/clothing/head/beret/sec/corporate/officer(src)
+ new /obj/item/clothing/head/beret/sec/alt(src)
+ new /obj/item/clothing/head/beret/sec/alt(src)
+ new /obj/item/clothing/head/beret/sec/alt(src)
return
-
/obj/structure/closet/wardrobe/pink
name = "pink wardrobe"
icon_state = "pink"
diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm
index a38233def5b..54a5438d3ee 100644
--- a/code/modules/client/preferences_gear.dm
+++ b/code/modules/client/preferences_gear.dm
@@ -75,21 +75,21 @@ var/global/list/gear_datums = list()
/datum/gear/bsec_beret
display_name = "beret, navy (officer)"
- path = /obj/item/clothing/head/beret/sec/navy/officer
+ path = /obj/item/clothing/head/beret/sec
cost = 1
slot = slot_head
allowed_roles = list("Security Officer","Head of Security","Warden","Security Cadet","Detective")
/datum/gear/bsec_beret_warden
display_name = "beret, navy (warden)"
- path = /obj/item/clothing/head/beret/sec/navy/warden
+ path = /obj/item/clothing/head/beret/sec/warden
cost = 1
slot = slot_head
allowed_roles = list("Head of Security","Warden")
/datum/gear/bsec_beret_hos
display_name = "beret, navy (hos)"
- path = /obj/item/clothing/head/beret/sec/navy/hos
+ path = /obj/item/clothing/head/beret/sec/hos
cost = 1
slot = slot_head
allowed_roles = list("Head of Security")
diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm
index 0836befa81a..148fe07a7c0 100644
--- a/code/modules/clothing/gloves/miscellaneous.dm
+++ b/code/modules/clothing/gloves/miscellaneous.dm
@@ -44,6 +44,7 @@
siemens_coefficient = 1.0 //thin latex gloves, much more conductive than fabric gloves (basically a capacitor for AC)
permeability_coefficient = 0.01
germ_level = 0
+
/obj/item/clothing/gloves/botanic_leather
desc = "These leather work gloves protect against thorns, barbs, prickles, spikes and other harmful objects of floral origin."
name = "botanist's leather gloves"
@@ -52,7 +53,6 @@
permeability_coefficient = 0.05
siemens_coefficient = 0.50 //thick work gloves
-
/obj/item/clothing/gloves/latex/unathi
name = "unathi latex gloves"
desc = "Sterile latex gloves. Designed for Unathi use."
@@ -146,11 +146,10 @@
/obj/item/clothing/gloves/force // this pair should be put in r&d if you choose to do so. and also the hos office locker. do it okay
-
- desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
name = "force gloves"
- icon_state = "black"
- item_state = "swat_gl"
+ desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
+ icon_state = "force_glove" //todo: different sprites for different levels of power
+ item_state = "force_glove"
siemens_coefficient = 0.6
permeability_coefficient = 0.05
@@ -163,13 +162,10 @@
var/amplification = 2
/obj/item/clothing/gloves/force/basic //dooo iiiitttttt
- desc = "These gloves bend gravity and bluespace, providing a cheap boost to the effectiveness of your average security staff."
name = "basic force gloves" //do it skull do it give it to all sec the forums agree go
+ desc = "These gloves bend gravity and bluespace, providing a cheap boost to the effectiveness of your average security staff."
amplification = 1 //just do it
/obj/item/clothing/gloves/force/syndicate //for syndies. pda, *maybe* nuke team or ert. up to you. maybe just use the amp 2 variant.
- desc = "These gloves bend gravity and bluespace, dampening inertia and augmenting the wearer's melee capabilities."
name = "enhanced force gloves"
- icon_state = "black"
- item_state = "swat_gl"
amplification = 2.5 //because *2.5 is kind of scary okay. sometimes you want the scary effect. sometimes not.
diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm
index 769f296b9ec..fd0a32be850 100644
--- a/code/modules/clothing/head/jobs.dm
+++ b/code/modules/clothing/head/jobs.dm
@@ -56,47 +56,42 @@
icon_state = "beret"
body_parts_covered = 0
-//Security
+//berets
/obj/item/clothing/head/beret/sec
name = "security beret"
desc = "A beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety."
- icon_state = "beret_officer"
-/obj/item/clothing/head/beret/sec/navy/officer
+ icon_state = "beret_badge"
+
+/obj/item/clothing/head/beret/sec/alt
name = "officer beret"
desc = "A navy blue beret with an officer's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_navy_officer"
-/obj/item/clothing/head/beret/sec/navy/hos
- name = "officer beret"
+ icon_state = "officerberet"
+
+/obj/item/clothing/head/beret/sec/hos
+ name = "commander beret"
desc = "A navy blue beret with a commander's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_navy_hos"
-/obj/item/clothing/head/beret/sec/navy/warden
+ icon_state = "hosberet"
+
+/obj/item/clothing/head/beret/sec/warden
name = "warden beret"
desc = "A navy blue beret with a warden's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_navy_warden"
-/obj/item/clothing/head/beret/sec/corporate/officer
- name = "officer beret"
- desc = "A corporate black beret with an officer's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_corporate_officer"
-/obj/item/clothing/head/beret/sec/corporate/hos
- name = "officer beret"
- desc = "A corporate black beret with a commander's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_corporate_hos"
-/obj/item/clothing/head/beret/sec/corporate/warden
- name = "warden beret"
- desc = "A corporate black beret with a warden's rank emblem. For officers that are more inclined towards style than safety."
- icon_state = "beret_corporate_warden"
+ icon_state = "wardenberet"
+
/obj/item/clothing/head/beret/engineering
name = "engineering beret"
desc = "A beret with the engineering insignia emblazoned on it. For engineers that are more inclined towards style than safety."
icon_state = "beret_engineering"
+
/obj/item/clothing/head/beret/purple
name = "purple beret"
desc = "A stylish, if purple, beret."
icon_state = "beret_purple"
+
/obj/item/clothing/head/beret/centcom/officer
name = "officers beret"
desc = "A black beret adorned with the shield - a silver kite shield with an engraved sword - of the corporate security forces."
icon_state = "beret_centcom_officer"
+
/obj/item/clothing/head/beret/centcom/captain
name = "captains beret"
desc = "A white beret adorned with the shield - a silver kite shield with an engraved sword - of the corporate security forces."
diff --git a/code/modules/clothing/suits/hoodies.dm b/code/modules/clothing/suits/hoodies.dm
new file mode 100644
index 00000000000..a7ec58b6cde
--- /dev/null
+++ b/code/modules/clothing/suits/hoodies.dm
@@ -0,0 +1,142 @@
+//Hoods for winter coats and chaplain hoodie etc
+
+/obj/item/clothing/suit/storage/hooded
+ var/obj/item/clothing/head/winterhood/hood
+ var/hoodtype = null
+ var/suittoggled = 0
+ var/hooded = 0
+
+/obj/item/clothing/suit/storage/hooded/New()
+ MakeHood()
+ ..()
+
+/obj/item/clothing/suit/storage/hooded/Destroy()
+ qdel(hood)
+ return ..()
+
+/obj/item/clothing/suit/storage/hooded/proc/MakeHood()
+ if(!hood)
+ var/obj/item/clothing/head/winterhood/W = new hoodtype(src)
+ hood = W
+
+/obj/item/clothing/suit/storage/hooded/equipped(mob/user, slot)
+ if(slot != slot_wear_suit)
+ RemoveHood()
+ ..()
+
+/obj/item/clothing/suit/storage/hooded/proc/RemoveHood()
+ icon_state = "[initial(icon_state)]"
+ item_state = "[initial(item_state)]"
+ suittoggled = 0
+ if(ishuman(hood.loc))
+ var/mob/living/carbon/H = hood.loc
+ H.unEquip(hood, 1)
+ H.update_inv_wear_suit()
+ hood.loc = src
+
+/obj/item/clothing/suit/storage/hooded/dropped()
+ RemoveHood()
+
+/obj/item/clothing/suit/storage/hooded/verb/ToggleHood()
+
+ set name ="Toggle Coat Hood"
+ set category = "Object"
+ set src in usr
+
+ if(!usr.canmove || usr.stat || usr.restrained())
+ return 0
+
+ if(!suittoggled)
+ if(ishuman(loc))
+ var/mob/living/carbon/human/H = src.loc
+ if(H.wear_suit != src)
+ H << "You must be wearing [src] to put up the hood!"
+ return
+ if(H.head)
+ H << "You're already wearing something on your head!"
+ return
+ else
+ H.equip_to_slot_if_possible(hood,slot_head,0,0,1)
+ suittoggled = 1
+ icon_state = "[initial(icon_state)]_t"
+ item_state = "[initial(item_state)]_t"
+ H.update_inv_wear_suit()
+ else
+ RemoveHood()
+
+
+//hoodies and the like
+
+/obj/item/clothing/suit/storage/hooded/wintercoat
+ name = "winter coat"
+ desc = "A heavy jacket made from animal furs."
+ icon = 'icons/obj/hoodies.dmi'
+ icon_state = "coatwinter"
+ item_state = "coatwinter"
+ contained_sprite = 1
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
+ min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0)
+ hooded = 1
+ hoodtype = /obj/item/clothing/head/winterhood
+
+/obj/item/clothing/head/winterhood
+ name = "winter hood"
+ desc = "A hood attached to a heavy winter jacket."
+ icon = 'icons/obj/hoodies.dmi'
+ icon_state = "generic_hood"
+ body_parts_covered = HEAD
+ cold_protection = HEAD
+ flags_inv = HIDEEARS | BLOCKHAIR
+ min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE
+ canremove = 0
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/captain
+ name = "captain's winter coat"
+ icon_state = "coatcaptain"
+ item_state = "coatcaptain"
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/security
+ name = "security winter coat"
+ icon_state = "coatsecurity"
+ item_state = "coatsecurity"
+ armor = list(melee = 25, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 0)
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/medical
+ name = "medical winter coat"
+ icon_state = "coatmedical"
+ item_state = "coatmedical"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 50, rad = 0)
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/science
+ name = "science winter coat"
+ icon_state = "coatscience"
+ item_state = "coatscience"
+ armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 10, bio = 0, rad = 0)
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/engineering
+ name = "engineering winter coat"
+ icon_state = "coatengineer"
+ item_state = "coatengineer"
+ armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 0, rad = 20)
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos
+ name = "atmospherics winter coat"
+ icon_state = "coatatmos"
+ item_state = "coatatmos"
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/hydro
+ name = "hydroponics winter coat"
+ icon_state = "coathydro"
+ item_state = "coathydro"
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/cargo
+ name = "cargo winter coat"
+ icon_state = "coatcargo"
+ item_state = "coatcargo"
+
+/obj/item/clothing/suit/storage/hooded/wintercoat/miner
+ name = "mining winter coat"
+ icon_state = "coatminer"
+ item_state = "coatminer"
\ No newline at end of file
diff --git a/code/modules/clothing/under/accessories/badges.dm b/code/modules/clothing/under/accessories/badges.dm
index d06f9b3c62c..88175384e1c 100644
--- a/code/modules/clothing/under/accessories/badges.dm
+++ b/code/modules/clothing/under/accessories/badges.dm
@@ -112,10 +112,3 @@
desc = "An immaculately polished gold security badge. Labeled 'Commander.'"
icon_state = "goldbadge"
slot_flags = SLOT_TIE
-
-/obj/item/clothing/accessory/badge/marshal
- name = "marshal's badge"
- desc = "A leather-backed gold badge displaying the crest of the Colonial Marshals."
- icon_state = "marshalbadge"
- badge_string = "Colonial Marshal Bureau"
-
diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm
index c1a4832a089..9b8b42db02e 100644
--- a/code/modules/clothing/under/jobs/security.dm
+++ b/code/modules/clothing/under/jobs/security.dm
@@ -167,16 +167,15 @@ obj/item/clothing/head/det_hat/technicolor/attackby(obj/item/weapon/O as obj, mo
name = "Head of Security hat"
desc = "The hat of the Head of Security. For showing the officers who's in charge."
icon_state = "hoscap"
- armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
+ armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
flags_inv = HIDEEARS
body_parts_covered = 0
siemens_coefficient = 0.5
-/obj/item/clothing/head/HoS/dermal
+/obj/item/clothing/head/helmet/HoS/dermal
name = "Dermal Armour Patch"
desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
icon_state = "dermal"
- siemens_coefficient = 0.6
/obj/item/clothing/suit/armor/hos
name = "head of security's jacket"
@@ -185,7 +184,6 @@ obj/item/clothing/head/det_hat/technicolor/attackby(obj/item/weapon/O as obj, mo
item_state = "hos"
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
- flags_inv = HIDEJUMPSUIT
siemens_coefficient = 0.5
pocket_slots = 4//More slots because coat
@@ -196,17 +194,12 @@ obj/item/clothing/head/det_hat/technicolor/attackby(obj/item/weapon/O as obj, mo
icon_state = "jensen"
item_state = "jensen"
worn_state = "jensen"
- siemens_coefficient = 0.7
/obj/item/clothing/suit/armor/hos/jensen
name = "armored trenchcoat"
desc = "A trenchcoat augmented with a special alloy for some protection and style."
icon_state = "jensencoat"
item_state = "jensencoat"
- flags_inv = 0
- siemens_coefficient = 0.5
- body_parts_covered = UPPER_TORSO|ARMS
- pocket_slots = 4//More slots because coat
/*
* Navy uniforms
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index f4abb8de975..868a645e639 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -187,14 +187,14 @@
if(result == PROJECTILE_FORCE_MISS)
if(!silenced)
- visible_message("\The [src] misses [target_mob] narrowly!")
+ target_mob.visible_message("\The [src] misses [target_mob] narrowly!")
return 0
//hit messages
if(silenced)
target_mob << "You've been hit in the [parse_zone(def_zone)] by \the [src]!"
else
- visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter
+ target_mob.visible_message("\The [target_mob] is hit by \the [src] in the [parse_zone(def_zone)]!")//X has fired Y is now given by the guns so you cant tell who shot you if you could not see the shooter
//admin logs
if(!no_attack_log)
diff --git a/html/changelogs/alberyk-PR-1272.yml b/html/changelogs/alberyk-PR-1272.yml
new file mode 100644
index 00000000000..949112a36bb
--- /dev/null
+++ b/html/changelogs/alberyk-PR-1272.yml
@@ -0,0 +1,8 @@
+author: Alberyk
+
+delete-after: True
+
+changes:
+ - imageadd: "Force gloves have an unique sprite now."
+ - rscadd: "Added hooded winter jackets."
+ - tweak: "Tweaked the hos gear to be far more uniform now."
diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi
index 089d111fb4a..8dadd6427ca 100644
Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ
diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi
index 6dae3e2b716..0aa0a5107dd 100644
Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index efd525cab08..e9345120782 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi
index 18106c0cec3..c1b707899f0 100644
Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ
diff --git a/icons/obj/hoodies.dmi b/icons/obj/hoodies.dmi
new file mode 100644
index 00000000000..a62aaaf6e86
Binary files /dev/null and b/icons/obj/hoodies.dmi differ