diff --git a/code/datums/supply_packs/restricted_equipment.dm b/code/datums/supply_packs/restricted_equipment.dm deleted file mode 100644 index 452ef31390..0000000000 --- a/code/datums/supply_packs/restricted_equipment.dm +++ /dev/null @@ -1,23 +0,0 @@ -// here they will be all the Equipment that are restricted to a role/job. - -/datum/supply_packs/armor_leader - name = "B12 pattern marine armor crate (x1 helmet, x1 armor)" - contains = list( - /obj/item/clothing/head/helmet/marine/leader, - /obj/item/clothing/suit/storage/marine/leader, - ) - cost = 20 - containertype = /obj/structure/closet/crate - containername = "B12 pattern marine armor crate" - group = "Restricted Equipment" - -/datum/supply_packs/armor_tl - name = "M4 pattern marine armor crate (x1 helmet, x1 armor)" - contains = list( - /obj/item/clothing/head/helmet/marine/rto, - /obj/item/clothing/suit/storage/marine/rto, - ) - cost = 20 - containertype = /obj/structure/closet/crate - containername = "M4 pattern marine armor crate" - group = "Restricted Equipment" diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm deleted file mode 100644 index 94ea54ad12..0000000000 --- a/code/modules/clothing/suits/armor.dm +++ /dev/null @@ -1,222 +0,0 @@ - -/obj/item/clothing/suit/armor - flags_inventory = BLOCKSHARPOBJ - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - min_cold_protection_temperature = HELMET_MIN_COLD_PROT - max_heat_protection_temperature = HELMET_MAX_HEAT_PROT - siemens_coefficient = 0.6 - w_class = SIZE_HUGE - allowed = list(/obj/item/weapon/gun, /obj/item/storage/backpack/general_belt)//Guns only. - uniform_restricted = list(/obj/item/clothing/under) - valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S, ACCESSORY_SLOT_ARMOR_M) - restricted_accessory_slots = list(ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S) - slowdown = SLOWDOWN_ARMOR_LIGHT - - pickup_sound = "armorequip" - drop_sound = "armorequip" - -/obj/item/clothing/suit/armor/mob_can_equip(mob/living/carbon/human/M, slot, disable_warning = 0) - . = ..() - if (.) - if(issynth(M) && M.allow_gun_usage == FALSE) - M.visible_message(SPAN_DANGER("Your programming prevents you from wearing this!")) - return 0 - -//armored vest - -/obj/item/clothing/suit/armor/vest - name = "armored vest" - desc = "Generic venlar bulletproof vest found in the hands of various private sector security types." - icon_state = "armor" - item_state = "armor" - blood_overlay_type = "armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_MEDIUM - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_MEDIUM - armor_rad = CLOTHING_ARMOR_LOW - armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW - allowed = list( - /obj/item/weapon/gun/, - /obj/item/tank/emergency_oxygen, - /obj/item/device/flashlight, - /obj/item/ammo_magazine/, - /obj/item/weapon/baton, - /obj/item/handcuffs, - /obj/item/device/binoculars, - /obj/item/storage/large_holster/machete, - /obj/item/storage/belt/gun/m4a3, - /obj/item/storage/belt/gun/m44, - ) - - - -/obj/item/clothing/suit/armor/vest/pilot - name = "\improper M70 flak jacket" - desc = "Venlar flak jacket worn by combat support personnel such as dropship crew, or occasionally by smartgunners. Despite the name it's actually better at stopping ballistics..." - icon = 'icons/obj/items/clothing/cm_suits.dmi' - icon_state = "pilot" - blood_overlay_type = "armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_MEDIUM - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_NONE - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_LOW - armor_rad = CLOTHING_ARMOR_LOW - armor_internaldamage = CLOTHING_ARMOR_MEDIUM - allowed = list( - /obj/item/weapon/gun/, - /obj/item/tank/emergency_oxygen, - /obj/item/device/flashlight, - /obj/item/ammo_magazine/, - /obj/item/weapon/baton, - /obj/item/attachable/bayonet, - /obj/item/storage/backpack/general_belt, - /obj/item/storage/large_holster/machete, - /obj/item/storage/belt/gun/m4a3, - /obj/item/storage/belt/gun/m44, - ) - uniform_restricted = list(/obj/item/clothing/under/marine/officer/pilot) - sprite_sheets = list(SPECIES_MONKEY = 'icons/mob/humans/species/monkeys/onmob/suit_monkey_1.dmi') - item_icons = list( - WEAR_JACKET = 'icons/mob/humans/onmob/suit-layer/suit_marine.dmi' - ) - - -/obj/item/clothing/suit/armor/vest/dutch - name = "armored jacket" - desc = "It's hot in the jungle. Sometimes it's hot and heavy, and sometimes it's hell on earth." - icon = 'icons/obj/items/clothing/cm_suits.dmi' - icon_state = "dutch_armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGHPLUS - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_LOW - armor_rad = CLOTHING_ARMOR_LOW - armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW - uniform_restricted = list(/obj/item/clothing/under/marine/veteran/dutch) - -/obj/item/clothing/suit/armor/vest/security - name = "Wey-Yu security armor" - desc = "Generic venlar bulletproof vest found in the hands of various private sector security types. This one has a Weyland-Yutani corporate badge." - icon_state = "armorsec" - item_state = "armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_MEDIUM - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_NONE - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_MEDIUM - armor_rad = CLOTHING_ARMOR_LOW - valid_accessory_slots = list(ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S, ACCESSORY_SLOT_ARMOR_M) - -/obj/item/clothing/suit/armor/bulletproof - name = "bulletproof vest" - desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles." - icon_state = "bulletproof" - item_state = "armor" - blood_overlay_type = "armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_HIGH - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_MEDIUM - armor_rad = CLOTHING_ARMOR_NONE - armor_internaldamage = CLOTHING_ARMOR_MEDIUM - - -/obj/item/clothing/suit/armor/bulletproof/badge - icon_state = "bulletproofbadge" - valid_accessory_slots = list(ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S, ACCESSORY_SLOT_ARMOR_M) - -/obj/item/clothing/suit/armor/riot - name = "riot suit" - desc = "A suit of armor with heavy padding to protect against melee attacks. Looks like it might impair movement." - icon_state = "riot" - item_state = "swat_suit" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_LEGS|BODY_FLAG_ARMS - slowdown = 1 - armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_LOW - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_NONE - armor_rad = CLOTHING_ARMOR_NONE - armor_internaldamage = CLOTHING_ARMOR_MEDIUM - flags_inventory = BLOCKSHARPOBJ - flags_inv_hide = HIDEJUMPSUIT - siemens_coefficient = 0.5 - time_to_unequip = 20 - time_to_equip = 20 - -/obj/item/clothing/suit/armor/swat - name = "swat suit" - desc = "A heavily armored suit that protects against moderate damage. Used in special operations." - icon_state = "deathsquad" - item_state = "swat_suit" - gas_transfer_coefficient = 0.01 - permeability_coefficient = 0.01 - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_LEGS|BODY_FLAG_FEET|BODY_FLAG_ARMS - allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/handcuffs,/obj/item/tank/emergency_oxygen) - slowdown = 1 - armor_melee = CLOTHING_ARMOR_HIGH - armor_bullet = CLOTHING_ARMOR_HIGH - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_HIGH - armor_rad = CLOTHING_ARMOR_HIGH - armor_internaldamage = CLOTHING_ARMOR_HIGH - flags_inventory = BLOCKSHARPOBJ|NOPRESSUREDMAGE - flags_inv_hide = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT - flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_LEGS|BODY_FLAG_FEET|BODY_FLAG_ARMS|BODY_FLAG_HANDS - min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROT - siemens_coefficient = 0.6 - - -/obj/item/clothing/suit/armor/swat/officer - name = "officer jacket" - desc = "An armored jacket used in special operations." - icon_state = "detective" - item_state = "det_suit" - blood_overlay_type = "coat" - flags_inventory = NO_FLAGS - flags_inv_hide = NO_FLAGS - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_ARMS - - -/obj/item/clothing/suit/armor/det_suit - name = "armor" - desc = "An armored vest with a detective's badge on it." - icon_state = "detective-armor" - item_state = "armor" - blood_overlay_type = "armor" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN - armor_melee = CLOTHING_ARMOR_MEDIUMLOW - armor_bullet = CLOTHING_ARMOR_MEDIUMLOW - armor_laser = CLOTHING_ARMOR_LOW - armor_energy = CLOTHING_ARMOR_LOW - armor_bomb = CLOTHING_ARMOR_LOW - armor_bio = CLOTHING_ARMOR_MEDIUM - armor_rad = CLOTHING_ARMOR_NONE - armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW - valid_accessory_slots = list(ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S, ACCESSORY_SLOT_ARMOR_M) - - - diff --git a/code/modules/clothing/suits/civilian_suit.dm b/code/modules/clothing/suits/civilian_suit.dm index c18148833e..25dbb74f78 100644 --- a/code/modules/clothing/suits/civilian_suit.dm +++ b/code/modules/clothing/suits/civilian_suit.dm @@ -1,76 +1,187 @@ -//==================Corporate Liaison==================\\ -/obj/item/clothing/suit/storage/jacket/marine/vest +// Basic colony armor types + +/obj/item/clothing/suit/armor + flags_inventory = BLOCKSHARPOBJ + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + min_cold_protection_temperature = HELMET_MIN_COLD_PROT + max_heat_protection_temperature = HELMET_MAX_HEAT_PROT + siemens_coefficient = 0.6 + w_class = SIZE_HUGE + allowed = list(/obj/item/weapon/gun, /obj/item/storage/backpack/general_belt)//Guns only. + uniform_restricted = list(/obj/item/clothing/under) + valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S, ACCESSORY_SLOT_ARMOR_M) + restricted_accessory_slots = list(ACCESSORY_SLOT_ARMOR_A, ACCESSORY_SLOT_ARMOR_L, ACCESSORY_SLOT_ARMOR_S) + slowdown = SLOWDOWN_ARMOR_LIGHT + + pickup_sound = "armorequip" + drop_sound = "armorequip" + +/obj/item/clothing/suit/armor/mob_can_equip(mob/living/carbon/human/M, slot, disable_warning = 0) + . = ..() + if (.) + if(issynth(M) && M.allow_gun_usage == FALSE) + M.visible_message(SPAN_DANGER("Your programming prevents you from wearing this!")) + return 0 + +/obj/item/clothing/suit/armor/vest + name = "armored vest" + desc = "Generic venlar bulletproof vest found in the hands of various private sector security types." + icon_state = "armor" + item_state = "armor" + blood_overlay_type = "armor" + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + armor_melee = CLOTHING_ARMOR_MEDIUMLOW + armor_bullet = CLOTHING_ARMOR_MEDIUM + armor_laser = CLOTHING_ARMOR_LOW + armor_energy = CLOTHING_ARMOR_LOW + armor_bomb = CLOTHING_ARMOR_LOW + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_LOW + armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW + allowed = list( + /obj/item/weapon/gun/, + /obj/item/weapon/baton, + /obj/item/handcuffs, + /obj/item/device/binoculars, + /obj/item/attachable/bayonet, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + /obj/item/storage/belt/gun/mateba, + /obj/item/storage/belt/gun/smartpistol, + + /obj/item/device/flashlight, + /obj/item/device/healthanalyzer, + /obj/item/device/radio, + /obj/item/tank/emergency_oxygen, + /obj/item/tool/crowbar, + /obj/item/tool/pen, + /obj/item/storage/large_holster/machete, + ) + +/obj/item/clothing/suit/armor/bulletproof + name = "bulletproof vest" + desc = "A vest that excels in protecting the wearer against high-velocity solid projectiles." + icon_state = "bulletproof" + item_state = "armor" + blood_overlay_type = "armor" + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + armor_melee = CLOTHING_ARMOR_MEDIUMLOW + armor_bullet = CLOTHING_ARMOR_HIGH + armor_laser = CLOTHING_ARMOR_LOW + armor_energy = CLOTHING_ARMOR_LOW + armor_bomb = CLOTHING_ARMOR_LOW + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_NONE + armor_internaldamage = CLOTHING_ARMOR_MEDIUM + +// Unarmored vests and jackets, ect + + +/obj/item/clothing/suit/storage/vest + name = "casual vest" desc = "A brown vest." icon_state = "vest_brown" item_state = "vest_brown" - has_buttons = FALSE - flags_atom = NO_SNOW_TYPE + blood_overlay_type = "coat" + flags_armor_protection = BODY_FLAG_CHEST + allowed = list( + /obj/item/weapon/gun/, + /obj/item/weapon/baton, + /obj/item/handcuffs, + /obj/item/device/binoculars, + /obj/item/attachable/bayonet, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + /obj/item/storage/belt/gun/mateba, + /obj/item/storage/belt/gun/smartpistol, + + /obj/item/device/flashlight, + /obj/item/device/healthanalyzer, + /obj/item/device/radio, + /obj/item/tank/emergency_oxygen, + /obj/item/tool/crowbar, + /obj/item/tool/pen, + /obj/item/storage/large_holster/machete, + ) -/obj/item/clothing/suit/storage/jacket/marine/vest/tan +/obj/item/clothing/suit/storage/vest/tan desc = "A tan vest." icon_state = "vest_tan" item_state = "vest_tan" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/vest/grey +/obj/item/clothing/suit/storage/vest/grey desc = "A casual grey vest." icon_state = "vest_grey" item_state = "vest_grey" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/corporate +/obj/item/clothing/suit/storage/jacket name = "suit jacket" desc = "A khaki suit jacket." icon_state = "corporate_ivy" item_state = "corporate_ivy" - has_buttons = FALSE - flags_atom = NO_SNOW_TYPE + blood_overlay_type = "coat" + flags_armor_protection = BODY_FLAG_CHEST| BODY_FLAG_ARMS + allowed = list( + /obj/item/weapon/gun/, + /obj/item/weapon/baton, + /obj/item/handcuffs, + /obj/item/device/binoculars, + /obj/item/attachable/bayonet, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + /obj/item/storage/belt/gun/mateba, + /obj/item/storage/belt/gun/smartpistol, + + /obj/item/device/flashlight, + /obj/item/device/healthanalyzer, + /obj/item/device/radio, + /obj/item/tank/emergency_oxygen, + /obj/item/tool/crowbar, + /obj/item/tool/pen, + /obj/item/storage/large_holster/machete, + ) -/obj/item/clothing/suit/storage/jacket/marine/corporate/formal - desc = "An ivory suit jacket; a Weyland-Yutani corporate badge is attached to the right lapel." +/obj/item/clothing/suit/storage/jacket/ivory + name = "suit jacket" + desc = "An ivory suit jacket." icon_state = "corporate_formal" item_state = "corporate_formal" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/corporate/black +/obj/item/clothing/suit/storage/jacket/black desc = "A black suit jacket." icon_state = "corporate_black" item_state = "corporate_black" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/corporate/brown +/obj/item/clothing/suit/storage/jacket/brown desc = "A brown suit jacket." icon_state = "corporate_brown" item_state = "corporate_brown" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/corporate/blue +/obj/item/clothing/suit/storage/jacket/blue desc = "A blue suit jacket." icon_state = "corporate_blue" item_state = "corporate_blue" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/bomber +/obj/item/clothing/suit/storage/jacket/bomber name = "bomber jacket" desc = "A khaki bomber jacket popular among stationeers and blue-collar workers everywhere." icon_state = "jacket_khaki" item_state = "jacket_khaki" - has_buttons = FALSE flags_atom = NO_SNOW_TYPE -/obj/item/clothing/suit/storage/jacket/marine/bomber/red +/obj/item/clothing/suit/storage/jacket/bomber/red desc = "A reddish-brown bomber jacket popular among stationeers and blue-collar workers everywhere." icon_state = "jacket_red" item_state = "jacket_red" - has_buttons = FALSE -/obj/item/clothing/suit/storage/jacket/marine/bomber/grey +/obj/item/clothing/suit/storage/jacket/bomber/grey desc = "A blue-grey bomber jacket popular among stationeers and blue-collar workers everywhere." icon_state = "jacket_grey" item_state = "jacket_grey" - has_buttons = FALSE /obj/item/clothing/suit/storage/apron/overalls name = "coveralls" @@ -79,14 +190,15 @@ item_state = "overalls" flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_LEGS allowed = list( - /obj/item/weapon/gun, - /obj/item/ammo_magazine, - /obj/item/ammo_casing, + /obj/item/weapon/gun/, /obj/item/weapon/baton, /obj/item/handcuffs, - /obj/item/storage/fancy/cigarettes, - /obj/item/tool/lighter, - /obj/item/device/taperecorder, + /obj/item/device/binoculars, + /obj/item/attachable/bayonet, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + /obj/item/storage/belt/gun/mateba, + /obj/item/storage/belt/gun/smartpistol, /obj/item/device/flashlight, /obj/item/device/healthanalyzer, @@ -94,8 +206,8 @@ /obj/item/tank/emergency_oxygen, /obj/item/tool/crowbar, /obj/item/tool/pen, + /obj/item/storage/large_holster/machete, ) - valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL) /obj/item/clothing/suit/storage/apron/overalls/tan desc = "A pair of tan overalls. With a large pocket in the front these overalls are popular with workers of all kinds." diff --git a/code/modules/clothing/suits/clf_suit.dm b/code/modules/clothing/suits/clf_suit.dm index 9d6c17aea9..5c4b1c0577 100644 --- a/code/modules/clothing/suits/clf_suit.dm +++ b/code/modules/clothing/suits/clf_suit.dm @@ -73,7 +73,7 @@ icon_state = "mercenary_engineer_armor" item_state_slots = list(WEAR_JACKET = "mercenary_engineer_armor") - /obj/item/clothing/suit/storage/marine/faction/freelancer +/obj/item/clothing/suit/storage/marine/faction/freelancer name = "freelancer cuirass" desc = "An armored protective chestplate scrapped together from various plates. It keeps up remarkably well, as the craftsmanship is solid, and the design mirrors such armors in the UPP and the USCM. The many skilled craftsmen in the freelancers ranks produce these vests at a rate about one a month." icon_state = "freelancer_armor" @@ -107,7 +107,7 @@ armor_rad = CLOTHING_ARMOR_MEDIUM armor_internaldamage = CLOTHING_ARMOR_MEDIUM storage_slots = 2 - uniform_restricted = list(/obj/item/clothing/under/colonist) + uniform_restricted = list(/obj/item/clothing/under/workwear,/obj/item/clothing/under/boiler) allowed = list( /obj/item/weapon/gun, /obj/item/tank/emergency_oxygen, diff --git a/code/modules/clothing/suits/gimmick_suit.dm b/code/modules/clothing/suits/gimmick_suit.dm index 8730e910de..87e86e6886 100644 --- a/code/modules/clothing/suits/gimmick_suit.dm +++ b/code/modules/clothing/suits/gimmick_suit.dm @@ -93,3 +93,19 @@ armor_bomb = CLOTHING_ARMOR_GIGAHIGH storage_slots = 2 + +/obj/item/clothing/suit/armor/vest/dutch + name = "armored jacket" + desc = "It's hot in the jungle. Sometimes it's hot and heavy, and sometimes it's hell on earth." + icon = 'icons/obj/items/clothing/cm_suits.dmi' + icon_state = "dutch_armor" + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + armor_melee = CLOTHING_ARMOR_HIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_laser = CLOTHING_ARMOR_LOW + armor_energy = CLOTHING_ARMOR_LOW + armor_bomb = CLOTHING_ARMOR_LOW + armor_bio = CLOTHING_ARMOR_LOW + armor_rad = CLOTHING_ARMOR_LOW + armor_internaldamage = CLOTHING_ARMOR_MEDIUMLOW + uniform_restricted = list(/obj/item/clothing/under/marine/veteran/dutch) diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm deleted file mode 100644 index adc7066c40..0000000000 --- a/code/modules/clothing/suits/jobs.dm +++ /dev/null @@ -1,34 +0,0 @@ -/* -//Internal Affairs -/obj/item/clothing/suit/storage/internalaffairs - name = "Internal Affairs Jacket" - desc = "A smooth black jacket." - icon_state = "ia_jacket_open" - item_state = "ia_jacket" - blood_overlay_type = "coat" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_ARMS - valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_DECOR, ACCESSORY_SLOT_MEDAL) - restricted_accessory_slots = list(ACCESSORY_SLOT_ARMBAND) - -/obj/item/clothing/suit/storage/internalaffairs/verb/toggle() - set name = "Toggle Coat Buttons" - set category = "Object" - set src in usr - - if(usr.is_mob_incapacitated()) - return 0 - - switch(icon_state) - if("ia_jacket_open") - src.icon_state = "ia_jacket" - to_chat(usr, "You button up the jacket.") - if("ia_jacket") - src.icon_state = "ia_jacket_open" - to_chat(usr, "You unbutton the jacket.") - else - to_chat(usr, "You attempt to button-up the velcro on your [src], before promptly realising how retarded you are.") - return - update_clothing_icon() //so our overlays update - -*/ - diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index 2aae80fb8c..f849bc38da 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -83,42 +83,6 @@ siemens_coefficient = 0.7 valid_accessory_slots = list(ACCESSORY_SLOT_DECOR, ACCESSORY_SLOT_MEDAL) -/obj/item/clothing/suit/storage/snow_suit/doctor - name = "doctor's snow suit" - -/obj/item/clothing/suit/storage/snow_suit/synth - name = "synthetic's snow suit" - desc = "A snow suit designed for keeping synthetic units within acceptable temperature ranges in extremely cold environments to prevent power supply inefficiency. Due to advancements made in synthetic insulation, they are not required for most cold environments." - armor_melee = CLOTHING_ARMOR_NONE //no free armor for synths - armor_bullet = CLOTHING_ARMOR_NONE - armor_laser = CLOTHING_ARMOR_NONE - armor_energy = CLOTHING_ARMOR_NONE - armor_bio = CLOTHING_ARMOR_NONE - armor_internaldamage = CLOTHING_ARMOR_NONE - allowed = list( - /obj/item/weapon/gun/, - /obj/item/storage/fancy/cigarettes, - /obj/item/tool/lighter, - /obj/item/weapon/baton, - /obj/item/handcuffs, - /obj/item/device/binoculars, - /obj/item/attachable/bayonet, - /obj/item/storage/belt/gun/m4a3, - /obj/item/storage/belt/gun/m44, - /obj/item/storage/belt/gun/mateba, - /obj/item/storage/belt/gun/smartpistol, - - /obj/item/device/flashlight, - /obj/item/device/healthanalyzer, - /obj/item/device/radio, - /obj/item/tank/emergency_oxygen, - /obj/item/tool/crowbar, - /obj/item/tool/crew_monitor, - /obj/item/tool/pen, - /obj/item/storage/large_holster/machete, - /obj/item/device/motiondetector, - ) - /obj/item/clothing/suit/storage/snow_suit/survivor name = "robust snow suit" icon_state = "snowsuit" //needs new cool sprite diff --git a/code/modules/clothing/suits/marine_jacket.dm b/code/modules/clothing/suits/marine_jacket.dm index 27f774adf7..71c95b4cfe 100644 --- a/code/modules/clothing/suits/marine_jacket.dm +++ b/code/modules/clothing/suits/marine_jacket.dm @@ -180,7 +180,7 @@ armor_bio = CLOTHING_ARMOR_NONE armor_internaldamage = CLOTHING_ARMOR_NONE -/obj/item/clothing/suit/storage/CMB/Initialize() +/obj/item/clothing/suit/storage/cmb/Initialize() . = ..() pockets.max_w_class = SIZE_SMALL //Can contain small items AND rifle magazines. pockets.bypass_w_limit = list( @@ -190,17 +190,9 @@ ) pockets.max_storage_space = 8 -/obj/item/clothing/suit/storage/CMB/marshal +/obj/item/clothing/suit/storage/cmb/marshal name = "\improper CMB Marshal jacket" desc = "A thick and stylish black leather jacket with a Marshal's badge pinned to it. The back is enscribed with the powerful letters of 'MARSHAL' representing justice, authority, and protection in the outer rim. The laws of the Earth stretch beyond the Sol." icon_state = "CMB_jacket_marshal" item_state = "CMB_jacket_marshal" -/obj/item/clothing/suit/storage/RO - name = "quartermaster jacket" - desc = "A green jacket worn by USCM personnel. The back has the flag of the United Americas on it." - icon_state = "RO_jacket" - blood_overlay_type = "coat" - flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_ARMS - valid_accessory_slots = list(ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_DECOR, ACCESSORY_SLOT_MEDAL) - restricted_accessory_slots = list(ACCESSORY_SLOT_ARMBAND) diff --git a/code/modules/clothing/suits/marine_suit.dm b/code/modules/clothing/suits/marine_suit.dm index ebc4431138..4467845208 100644 --- a/code/modules/clothing/suits/marine_suit.dm +++ b/code/modules/clothing/suits/marine_suit.dm @@ -217,6 +217,10 @@ M.visible_message(SPAN_DANGER("Your programming prevents you from wearing this!")) return 0 +/obj/item/clothing/suit/storage/marine/veteran + flags_marine_armor = ARMOR_LAMP_OVERLAY + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE //Let's make these keep their name and icon. + /obj/item/clothing/suit/storage/marine/padded name = "M3 pattern padded marine armor" icon_state = "1" @@ -361,44 +365,6 @@ /obj/item/clothing/suit/storage/marine/smartgunner/standard flags_atom = NO_SNOW_TYPE -/obj/item/clothing/suit/storage/marine/smartgunner/upp - name = "\improper UH7-I heavy plated harness" - desc = "An experimental set of heavy armor with additional harnesses designed to support QYJ-72-I smartmachinegun. Heavy plates along with harnesses make wearing backpacks extremely uncomfortable and borderline impossible." - icon_state = "upp_armor_heavy" - storage_slots = 1 - slowdown = SLOWDOWN_ARMOR_HEAVY - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - flags_inventory = BLOCKSHARPOBJ|SMARTGUN_HARNESS|BLOCK_KNOCKDOWN - armor_melee = CLOTHING_ARMOR_MEDIUMHIGH - armor_bullet = CLOTHING_ARMOR_HIGHPLUS - armor_laser = CLOTHING_ARMOR_MEDIUMLOW - armor_energy = CLOTHING_ARMOR_MEDIUM - armor_bomb = CLOTHING_ARMOR_HIGH - armor_bio = CLOTHING_ARMOR_MEDIUM - armor_rad = CLOTHING_ARMOR_MEDIUMLOW - armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS - uniform_restricted = list(/obj/item/clothing/under/marine/veteran/UPP, /obj/item/clothing/under/marine/veteran/UPP/medic, /obj/item/clothing/under/marine/veteran/UPP/engi) - allowed = list( - /obj/item/tank/emergency_oxygen, - /obj/item/device/flashlight, - /obj/item/ammo_magazine, - /obj/item/explosive/mine, - /obj/item/attachable/bayonet, - /obj/item/weapon/gun/pkp, - /obj/item/storage/backpack/general_belt, - /obj/item/device/motiondetector, - /obj/item/device/walkman, - ) - - -/obj/item/clothing/suit/storage/marine/smartgunner/upp/Initialize() - . = ..() - pockets.bypass_w_limit = list( - /obj/item/ammo_magazine/minigun, - /obj/item/ammo_magazine/pkp, - ) - - /obj/item/clothing/suit/storage/marine/leader name = "\improper B12 pattern marine armor" desc = "Semi-experimental body armor system similar to M3, incorporating primarily carbon fiber instead of boron carbide. \nDesigned in a lovely olive green, slightly improved protection against blunt impact and biological hazards." @@ -482,45 +448,40 @@ icon_state = "VL_FLAK" storage_slots = 2 -/obj/item/clothing/suit/storage/marine/light/synvest - name = "\improper M3A1 Synthetic Utility Vest" - desc = "This variant of the ubiquitous M3 pattern ballistics vest has been extensively modified, providing no protection in exchange for maximum mobility and storage space. Synthetic programming compliant." - icon_state = "VL_syn_camo" - flags_atom = NO_NAME_OVERRIDE - flags_marine_armor = ARMOR_LAMP_OVERLAY|SYNTH_ALLOWED //No squad colors + can be worn by synths. - armor_melee = CLOTHING_ARMOR_NONE - armor_bullet = CLOTHING_ARMOR_NONE - armor_laser = CLOTHING_ARMOR_NONE +/obj/item/clothing/suit/armor/vest/pilot + name = "\improper M70 flak jacket" + desc = "Venlar flak jacket worn by combat support personnel such as dropship crew, or occasionally by smartgunners. Despite the name it's actually better at stopping ballistics..." + icon = 'icons/obj/items/clothing/cm_suits.dmi' + icon_state = "pilot" + blood_overlay_type = "armor" + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN + armor_melee = CLOTHING_ARMOR_MEDIUMLOW + armor_bullet = CLOTHING_ARMOR_MEDIUM + armor_laser = CLOTHING_ARMOR_LOW armor_energy = CLOTHING_ARMOR_NONE - armor_bomb = CLOTHING_ARMOR_NONE - armor_bio = CLOTHING_ARMOR_NONE - armor_rad = CLOTHING_ARMOR_NONE - armor_internaldamage = CLOTHING_ARMOR_NONE - storage_slots = 3 - slowdown = SLOWDOWN_ARMOR_VERY_LIGHT - time_to_unequip = 0.5 SECONDS - time_to_equip = 1 SECONDS - uniform_restricted = null - -/obj/item/clothing/suit/storage/marine/light/synvest/grey - icon_state = "VL_syn" - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - -/obj/item/clothing/suit/storage/marine/light/synvest/jungle - icon_state = "VL_syn_camo" - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - -/obj/item/clothing/suit/storage/marine/light/synvest/snow - icon_state = "s_VL_syn_camo" - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - -/obj/item/clothing/suit/storage/marine/light/synvest/desert - icon_state = "d_VL_syn_camo" - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - -/obj/item/clothing/suit/storage/marine/light/synvest/dgrey - icon_state = "c_VL_syn_camo" - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + armor_bomb = CLOTHING_ARMOR_LOW + armor_bio = CLOTHING_ARMOR_LOW + armor_rad = CLOTHING_ARMOR_LOW + armor_internaldamage = CLOTHING_ARMOR_MEDIUM + allowed = list( + /obj/item/weapon/gun/, + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/ammo_magazine/, + /obj/item/weapon/baton, + /obj/item/attachable/bayonet, + /obj/item/storage/backpack/general_belt, + /obj/item/storage/large_holster/machete, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + ) + uniform_restricted = list(/obj/item/clothing/under/marine/officer/pilot) + sprite_sheets = list(SPECIES_MONKEY = 'icons/mob/humans/species/monkeys/onmob/suit_monkey_1.dmi') + item_icons = list( + WEAR_JACKET = 'icons/mob/humans/onmob/suit-layer/suit_marine.dmi' + ) /obj/item/clothing/suit/storage/marine/heavy name = "\improper M3-H pattern heavy armor" @@ -979,7 +940,7 @@ //=======================================================================\\ /obj/item/clothing/suit/storage/marine/veteran/ua_riot - name = "\improper UA-M1 armor" + name = "\improper UA-M1 security armor" desc = "Essentially just a reinforced M3 cuirass used by CMB Peacekeepers units and various other colonial security and policing forces." icon_state = "ua_riot" flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN diff --git a/code/modules/clothing/suits/upp_suit.dm b/code/modules/clothing/suits/upp_suit.dm index 7f22d1c10a..8459b9a0a7 100644 --- a/code/modules/clothing/suits/upp_suit.dm +++ b/code/modules/clothing/suits/upp_suit.dm @@ -139,3 +139,40 @@ armor_rad = CLOTHING_ARMOR_MEDIUM armor_internaldamage = CLOTHING_ARMOR_HIGH storage_slots = 2 + +/obj/item/clothing/suit/storage/marine/smartgunner/upp + name = "\improper UH7-I heavy plated harness" + desc = "An experimental set of heavy armor with additional harnesses designed to support QYJ-72-I smartmachinegun. Heavy plates along with harnesses make wearing backpacks extremely uncomfortable and borderline impossible." + icon_state = "upp_armor_heavy" + storage_slots = 1 + slowdown = SLOWDOWN_ARMOR_HEAVY + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + flags_inventory = BLOCKSHARPOBJ|SMARTGUN_HARNESS|BLOCK_KNOCKDOWN + armor_melee = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_laser = CLOTHING_ARMOR_MEDIUMLOW + armor_energy = CLOTHING_ARMOR_MEDIUM + armor_bomb = CLOTHING_ARMOR_HIGH + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_MEDIUMLOW + armor_internaldamage = CLOTHING_ARMOR_HIGHPLUS + uniform_restricted = list(/obj/item/clothing/under/marine/veteran/UPP, /obj/item/clothing/under/marine/veteran/UPP/medic, /obj/item/clothing/under/marine/veteran/UPP/engi) + allowed = list( + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/ammo_magazine, + /obj/item/explosive/mine, + /obj/item/attachable/bayonet, + /obj/item/weapon/gun/pkp, + /obj/item/storage/backpack/general_belt, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + ) + + +/obj/item/clothing/suit/storage/marine/smartgunner/upp/Initialize() + . = ..() + pockets.bypass_w_limit = list( + /obj/item/ammo_magazine/minigun, + /obj/item/ammo_magazine/pkp, + ) diff --git a/code/modules/clothing/suits/weyland_suit.dm b/code/modules/clothing/suits/weyland_suit.dm index e298ac3879..a31dc5a9a0 100644 --- a/code/modules/clothing/suits/weyland_suit.dm +++ b/code/modules/clothing/suits/weyland_suit.dm @@ -1,6 +1,3 @@ -/obj/item/clothing/suit/storage/marine/veteran - flags_marine_armor = ARMOR_LAMP_OVERLAY - flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE //Let's make these keep their name and icon. /obj/item/clothing/suit/storage/marine/veteran/pmc name = "\improper X4 pattern PMC armor" diff --git a/colonialmarines.dme b/colonialmarines.dme index 321a09d43c..98c2a23eb0 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1553,19 +1553,18 @@ #include "code\modules\clothing\spacesuits\miscellaneous.dm" #include "code\modules\clothing\spacesuits\spacesuits.dm" #include "code\modules\clothing\spacesuits\void.dm" -#include "code\modules\clothing\suits\armor.dm" #include "code\modules\clothing\suits\bio.dm" #include "code\modules\clothing\suits\clf_suit.dm" +#include "code\modules\clothing\suits\civilian_suit.dm" #include "code\modules\clothing\suits\gimmick_suit.dm" -#include "code\modules\clothing\suits\weyland_suit.dm" -#include "code\modules\clothing\suits\upp_suit.dm" -#include "code\modules\clothing\suits\rmc_suit.dm" -#include "code\modules\clothing\suits\jobs.dm" #include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\marine_suit.dm" #include "code\modules\clothing\suits\miscellaneous.dm" +#include "code\modules\clothing\suits\rmc_suit.dm" #include "code\modules\clothing\suits\storage.dm" +#include "code\modules\clothing\suits\upp_suit.dm" #include "code\modules\clothing\suits\utility.dm" +#include "code\modules\clothing\suits\weyland_suit.dm" #include "code\modules\clothing\under\civilian_uniform.dm" #include "code\modules\clothing\under\gimmick.dm" #include "code\modules\clothing\under\marine_uniform.dm" diff --git a/icons/mob/humans/onmob/head-layer/head_marine.dmi b/icons/mob/humans/onmob/head-layer/head_marine.dmi index 5f191ecfaa..292569bd9a 100644 Binary files a/icons/mob/humans/onmob/head-layer/head_marine.dmi and b/icons/mob/humans/onmob/head-layer/head_marine.dmi differ diff --git a/icons/mob/humans/onmob/suit-layer/suit_0.dmi b/icons/mob/humans/onmob/suit-layer/suit_0.dmi index b11e936b3d..f8a0dc7c02 100644 Binary files a/icons/mob/humans/onmob/suit-layer/suit_0.dmi and b/icons/mob/humans/onmob/suit-layer/suit_0.dmi differ