Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Officer Uniforms #3966

Closed
wants to merge 13 commits into from
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ GLOBAL_LIST_INIT(cm_vending_clothing_staff_officer, list(
list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null),
list("Uniform", 0, /obj/item/clothing/under/marine/officer/bridge, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Boots", 0, /obj/item/clothing/shoes/marine/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY),
list("Uniform", 0, /obj/item/clothing/under/marine/officer/boilersuit, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY),
list("Field Cap", 0, /obj/item/clothing/head/cmcap/ro, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
list("Headset", 0, /obj/item/device/radio/headset/almayer/mcom, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY),
list("Helmet", 0, /obj/item/clothing/head/helmet/marine/MP/SO, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY),
list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY),

list("JACKET (CHOOSE 1)", 0, null, null, null),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ GLOBAL_LIST_EMPTY(co_secure_boxes)
new /obj/item/clothing/head/cmcap/ro(src)
new /obj/item/clothing/under/marine/officer/bridge(src)
new /obj/item/clothing/under/marine/officer/bridge(src)
new /obj/item/clothing/under/marine/officer/boilersuit(src)
new /obj/item/clothing/under/marine/officer/boilersuit(src)
new /obj/item/clothing/shoes/marine(src)
new /obj/item/clothing/shoes/marine(src)
new /obj/item/storage/belt/marine(src)
Expand Down
20 changes: 20 additions & 0 deletions code/modules/client/preferences_gear.dm
Original file line number Diff line number Diff line change
Expand Up @@ -611,6 +611,26 @@ var/global/list/gear_datums_by_name = list()
/datum/gear/flask/metal
display_name = "Metal flask"
path = /obj/item/reagent_container/food/drinks/flask
/datum/gear/jungle_boots
display_name = "Jungle Pattern Combat Boots"
path = /obj/item/clothing/shoes/marine/jungle
slot = WEAR_IN_BACK
cost = 1
allowed_origins = USCM_ORIGINS

/datum/gear/marine_brown_boots
display_name = "Brown Combat Boots"
path = /obj/item/clothing/shoes/marine/brown
slot = WEAR_IN_BACK
cost = 1
allowed_origins = USCM_ORIGINS

/datum/gear/browngloves
display_name = "Brown Combat Gloves"
path = /obj/item/clothing/gloves/marine/brown
slot = WEAR_IN_BACK
cost = 1
allowed_origins = USCM_ORIGINS

/datum/gear/flask/uscm
display_name = "USCM flask"
Expand Down
14 changes: 13 additions & 1 deletion code/modules/clothing/gloves/marine_gloves.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
name = "marine combat gloves"
desc = "Standard issue marine tactical gloves. It reads: 'knit by Marine Widows Association'."
icon_state = "black"
item_state = "bgloves"
item_state = "black"
siemens_coefficient = 0.6
permeability_coefficient = 0.05
flags_cold_protection = BODY_FLAG_HANDS
Expand Down Expand Up @@ -36,6 +36,12 @@
item_state = "lightbrowngloves"
siemens_coefficient = 0

/obj/item/clothing/gloves/marine/brown
name = "brown marine gloves"
icon_state = "marine_brown"
item_state = "marine_brown"
adopts_squad_color = FALSE

/obj/item/clothing/gloves/marine/black
name = "marine black combat gloves"
adopts_squad_color = FALSE
Expand All @@ -47,6 +53,12 @@
item_state = "bgloves"
adopts_squad_color = FALSE

/obj/item/clothing/gloves/marine/senior
name = "senior officer gloves"
desc = "White gloves, worn by senior officers of the USCM."
icon_state = "class_D_gloves"
item_state = "class_D_gloves"

/obj/item/clothing/gloves/marine/officer/chief
name = "chief officer gloves"
desc = "Blood crusts are attached to its metal studs, which are slightly dented."
Expand Down
12 changes: 11 additions & 1 deletion code/modules/clothing/head/head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,17 @@
desc = "A beret with the USCM insignia emblazoned on it. It radiates respect and authority."
icon_state = "beret_badge"

/obj/item/clothing/head/beret/marine/mp
/obj/item/clothing/head/marine/cap
name = "officer peaked cap"
desc = "A stylish, black peaked cap. Designed to be worn with Class-Cs during formal engagements, balls and funerals alike."
icon = 'icons/obj/items/clothing/cm_hats.dmi'
icon_state = "officers_peaked_cap"
item_icons = list(
WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi'
)


/obj/item/clothing/head/helmet/beret/marine/mp
name = "\improper USCM MP beret"
icon_state = "beretred"
desc = "A beret with the USCM Military Police insignia emblazoned on it."
Expand Down
6 changes: 6 additions & 0 deletions code/modules/clothing/shoes/marine_shoes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@
item_state = "monkey_shoes"
knife_type = /obj/item/attachable/bayonet

/obj/item/clothing/shoes/marine/brown
name = "brown combat boots"
icon_state = "marine_brown_boots"
item_state = "marine_brown_boots"
knife_type = /obj/item/attachable/bayonet

/obj/item/clothing/shoes/marine/upp
name = "military combat boots"
armor_melee = CLOTHING_ARMOR_MEDIUMLOW
Expand Down
27 changes: 22 additions & 5 deletions code/modules/clothing/under/marine_uniform.dm
Original file line number Diff line number Diff line change
Expand Up @@ -200,12 +200,21 @@
specialty = "marine service"
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE


obj/item/clothing/under/marine/officer/junior
name = "class c uniform"
desc = "A formal suit, worn by both junior officers and enlisted alike. These Class-Cs have served the marine corps for centuries before you. Wear them proudly."
icon_state = "class_C_jumpsuit"
worn_state = "class_C_jumpsuit"
specialty = "junior uniform"
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE

/obj/item/clothing/under/marine/officer/exec
name = "executive officer uniform"
desc = "A uniform typically worn by an Executive Officer in the USCM. It has shards of light Kevlar to help protect against stabbing weapons and bullets."
icon_state = "BO_jumpsuit"
worn_state = "BO_jumpsuit"
specialty = "executive officer"
name = "senior officer uniform"
desc = "A formal suit, hard to clean, and easy to spot in its white colors. These are issued out exclusively to senior officers of the USCM. It has shards of light Kevlar to help protect against stabbing weapons and bullets."
icon_state = "senior_officer_uniform"
worn_state = "senior_officer_uniform"
specialty = "senior uniform"
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE

/obj/item/clothing/under/marine/officer/command
Expand All @@ -215,6 +224,14 @@
worn_state = "CO_jumpsuit"
specialty = "USCM officer"

/obj/item/clothing/under/marine/officer/boilersuit
name = "USCM boiler suit"
desc = "A flexible boilersuit coming in a variety of camos. The standard issue uniform for comissioned officers operating within an AO while not in a 'hands-on' capacity."
icon_state = "boiler_uscm"
worn_state = "boiler_uscm"
specialty = "USCM boilersuit"
flags_jumpsuit = UNIFORM_SLEEVE_ROLLABLE

/obj/item/clothing/under/marine/officer/general
name = "general uniform"
desc = "A uniform worn by a fleet general. It comes in a shade of deep black, and has a light shimmer to it. The weave looks strong enough to provide some light protections."
Expand Down
62 changes: 36 additions & 26 deletions code/modules/gear_presets/uscm_ship.dm
Original file line number Diff line number Diff line change
Expand Up @@ -372,14 +372,14 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/industrial

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/ct(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/full(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/beanie(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_R_STORE)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/ct(H), WEAR_L_EAR)
H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/cargotech(H), WEAR_BODY)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine(H), WEAR_FEET)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(H), WEAR_HANDS)
H.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/full(H), WEAR_WAIST)
H.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/req(H), WEAR_HEAD)
H.equip_to_slot_or_del(new backItem(H), WEAR_BACK)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(H), WEAR_R_STORE)

/datum/equipment_preset/uscm_ship/cargo/load_rank(mob/living/carbon/human/new_human)
if(new_human.client)
Expand Down Expand Up @@ -451,6 +451,16 @@
if("VP78")
sidearmpath = /obj/item/storage/belt/gun/m4a3/vp78

H.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(H), WEAR_L_EAR)
H.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/exec(H), WEAR_BODY)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress/commander(H), WEAR_FEET)
H.equip_to_slot_or_del(new /obj/item/clothing/head/marine/cap(H), WEAR_HEAD)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/senior(H), WEAR_HANDS)
H.equip_to_slot_or_del(new sidearmpath(H), WEAR_WAIST)
H.equip_to_slot_or_del(new backItem(H), WEAR_BACK)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(H), WEAR_R_STORE)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/pistol/command(H), WEAR_L_STORE)
H.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(H), WEAR_L_HAND)
new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/service(new_human), WEAR_JACKET)
Expand Down Expand Up @@ -518,15 +528,15 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/exec(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/service(new_human), WEAR_JACKET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_L_STORE)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom/cdrcom(H), WEAR_L_EAR)
H.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/exec(H), WEAR_BODY)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(H), WEAR_FEET)
H.equip_to_slot_or_del(new /obj/item/clothing/head/marine/cap(H), WEAR_HEAD)
H.equip_to_slot_or_del(new backItem(H), WEAR_BACK)
H.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/senior(H), WEAR_HANDS)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(H), WEAR_L_STORE)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(H), WEAR_R_STORE)
H.equip_to_slot_or_del(new /obj/item/device/binoculars/range(H), WEAR_L_STORE)

//*****************************************************************************************************/

Expand All @@ -551,15 +561,15 @@
if (new_human.client && new_human.client.prefs && (new_human.client.prefs.backbag == 1))
back_item = /obj/item/storage/backpack/marine

new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom(new_human), WEAR_L_EAR)
new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY)
new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET)
new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST)
new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/ro(new_human), WEAR_HEAD)
new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_L_STORE)
new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE)
new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_L_HAND)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom(H), WEAR_L_EAR)
H.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/junior(H), WEAR_BODY)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(H), WEAR_FEET)
H.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(H), WEAR_WAIST)
H.equip_to_slot_or_del(new /obj/item/clothing/head/marine/cap (H), WEAR_HEAD)
H.equip_to_slot_or_del(new backItem(H), WEAR_BACK)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(H), WEAR_L_STORE)
H.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(H), WEAR_R_STORE)
H.equip_to_slot_or_del(new /obj/item/device/binoculars/range(H), WEAR_L_HAND)

//*****************************************************************************************************/

Expand Down
Binary file modified icons/mob/humans/onmob/feet.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/hands.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/head_1.dmi
Binary file not shown.
Binary file modified icons/mob/humans/onmob/uniform_0.dmi
Binary file not shown.
Binary file added icons/obj/items/clothing/Service_hat.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/cm_hats.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/gloves.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/shoes.dmi
Binary file not shown.
Binary file modified icons/obj/items/clothing/uniforms.dmi
Binary file not shown.