diff --git a/code/__DEFINES/equipment.dm b/code/__DEFINES/equipment.dm index 5d5b81bf8c..e523ae48f3 100644 --- a/code/__DEFINES/equipment.dm +++ b/code/__DEFINES/equipment.dm @@ -465,8 +465,17 @@ GLOBAL_LIST_INIT(slot_to_contained_sprite_shorthand, list( #define ACCESSORY_SLOT_ARMBAND "Armband" #define ACCESSORY_SLOT_RANK "Rank" #define ACCESSORY_SLOT_DECOR "Decor" +#define ACCESSORY_SLOT_DECORARMOR "Decor Armor" +#define ACCESSORY_SLOT_DECORBRACER "Decor Bracer" +#define ACCESSORY_SLOT_DECORNECK "Decor Neck" #define ACCESSORY_SLOT_MEDAL "Medal" #define ACCESSORY_SLOT_PONCHO "Ponchos" +#define ACCESSORY_SLOT_HOLSTER "Holster" +#define ACCESSORY_SLOT_SGDECOR "SG Decor" +#define ACCESSORY_SLOT_SGPAINT "SG Paint" +#define ACCESSORY_SLOT_PAINT "Paint" +#define ACCESSORY_SLOT_M3UTILITY "M3 Utility" +#define ACCESSORY_SLOT_M56UTILITY "M56 Utility" /// Used for uniform armor inserts. #define ACCESSORY_SLOT_ARMOR_C "Chest armor" diff --git a/code/__DEFINES/vendors.dm b/code/__DEFINES/vendors.dm index 70e30edddf..5c5e600e96 100644 --- a/code/__DEFINES/vendors.dm +++ b/code/__DEFINES/vendors.dm @@ -2,6 +2,7 @@ #define MARINE_CAN_BUY_SHOES "shoes" #define MARINE_CAN_BUY_HELMET "helmet" #define MARINE_CAN_BUY_ARMOR "armor" +#define MARINE_CAN_BUY_PAINT "armor paint" #define MARINE_CAN_BUY_GLOVES "gloves" #define MARINE_CAN_BUY_EAR "ear" #define MARINE_CAN_BUY_BACKPACK "backpack" @@ -22,7 +23,7 @@ #define CIVILIAN_CAN_BUY_BACKPACK "civilian_backpack" #define CIVILIAN_CAN_BUY_UTILITY "civilian_utility" -#define MARINE_CAN_BUY_ALL list(MARINE_CAN_BUY_UNIFORM = 1, MARINE_CAN_BUY_SHOES = 1, MARINE_CAN_BUY_HELMET = 1, MARINE_CAN_BUY_ARMOR = 1, MARINE_CAN_BUY_GLOVES = 1, MARINE_CAN_BUY_EAR = 1, MARINE_CAN_BUY_BACKPACK = 1, MARINE_CAN_BUY_POUCH = 2, MARINE_CAN_BUY_BELT = 1, MARINE_CAN_BUY_GLASSES = 1, MARINE_CAN_BUY_MASK = 1, MARINE_CAN_BUY_ESSENTIALS = 1, MARINE_CAN_BUY_SECONDARY = 1, MARINE_CAN_BUY_ATTACHMENT = 1, MARINE_CAN_BUY_MRE = 1, MARINE_CAN_BUY_ACCESSORY = 1, MARINE_CAN_BUY_COMBAT_SHOES = 1, MARINE_CAN_BUY_COMBAT_HELMET = 1, MARINE_CAN_BUY_COMBAT_ARMOR = 1, MARINE_CAN_BUY_KIT = 1, MARINE_CAN_BUY_DRESS = 99) +#define MARINE_CAN_BUY_ALL list(MARINE_CAN_BUY_UNIFORM = 1, MARINE_CAN_BUY_SHOES = 1, MARINE_CAN_BUY_HELMET = 1, MARINE_CAN_BUY_ARMOR = 1, MARINE_CAN_BUY_PAINT = 1, MARINE_CAN_BUY_GLOVES = 1, MARINE_CAN_BUY_EAR = 1, MARINE_CAN_BUY_BACKPACK = 1, MARINE_CAN_BUY_POUCH = 2, MARINE_CAN_BUY_BELT = 1, MARINE_CAN_BUY_GLASSES = 1, MARINE_CAN_BUY_MASK = 1, MARINE_CAN_BUY_ESSENTIALS = 1, MARINE_CAN_BUY_SECONDARY = 1, MARINE_CAN_BUY_ATTACHMENT = 1, MARINE_CAN_BUY_MRE = 1, MARINE_CAN_BUY_ACCESSORY = 1, MARINE_CAN_BUY_COMBAT_SHOES = 1, MARINE_CAN_BUY_COMBAT_HELMET = 1, MARINE_CAN_BUY_COMBAT_ARMOR = 1, MARINE_CAN_BUY_KIT = 1, MARINE_CAN_BUY_DRESS = 99) #define MARINE_TOTAL_BUY_POINTS 45 #define MARINE_TOTAL_SNOWFLAKE_POINTS 120 diff --git a/code/_globalvars/global_lists.dm b/code/_globalvars/global_lists.dm index 9648c4cf15..8376a10957 100644 --- a/code/_globalvars/global_lists.dm +++ b/code/_globalvars/global_lists.dm @@ -249,7 +249,7 @@ GLOBAL_LIST_INIT(dropship_camos, list(DROPSHIP_CAMO_TAN, DROPSHIP_CAMO_NAVY, DRO //Backpacks GLOBAL_LIST_INIT(backbaglist, list("Backpack", "Satchel")) //Armor styles -GLOBAL_LIST_INIT(armor_style_list, list("Padded" = 1, "Padless" = 2, "Ridged" = 3, "Carrier" = 4, "Skull" = 5, "Smooth" = 6, "Random")) +GLOBAL_LIST_INIT(armor_style_list, list("Standard" = 1, "Ridged" = 2, "Smooth" = 3, "Random")) // var/global/list/exclude_jobs = list(/datum/job/ai,/datum/job/cyborg) GLOBAL_VAR_INIT(round_should_check_for_win, TRUE) diff --git a/code/datums/emergency_calls/deathsquad.dm b/code/datums/emergency_calls/deathsquad.dm index 649f40c8cb..25313feff1 100644 --- a/code/datums/emergency_calls/deathsquad.dm +++ b/code/datums/emergency_calls/deathsquad.dm @@ -84,48 +84,3 @@ arm_equipment(person, /datum/equipment_preset/pmc/w_y_whiteout/low_threat, TRUE, TRUE) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), person, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) - -//################################################################################################ -// Marine commandos - USCM Deathsquad. Event only -/datum/emergency_call/marsoc - name = "Marine Raider Operatives (!DEATHSQUAD!)" - mob_max = 8 - mob_min = 5 - probability = 0 - shuttle_id = MOBILE_SHUTTLE_ID_ERT2 - home_base = /datum/lazy_template/ert/weyland_station - name_of_spawn = /obj/effect/landmark/ert_spawns/distress_pmc - var/leader_preset = /datum/equipment_preset/uscm/marsoc/sl - var/member_preset = /datum/equipment_preset/uscm/marsoc - -/datum/emergency_call/marsoc/create_member(datum/mind/player, turf/override_spawn_loc) - - var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() - - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. - - var/mob/living/carbon/human/member = new(spawn_loc) - player.transfer_to(member, TRUE) - - if(!leader && HAS_FLAG(member.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(member.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. - leader = member - to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are a Marine Raider Team Leader, better than all the rest."))) - arm_equipment(member, leader_preset, TRUE, TRUE) - else - to_chat(member, SPAN_WARNING(FONT_SIZE_BIG("You are an elite Marine Raider Operative, the best of the best."))) - arm_equipment(member, member_preset, TRUE, TRUE) - to_chat(member, SPAN_BOLDNOTICE("You are absolutely loyal to High Command and must follow their directives.")) - to_chat(member, SPAN_BOLDNOTICE("Execute the mission assigned to you with extreme prejudice!")) - return - -/datum/emergency_call/marsoc/covert - name = "Marine Raider Operatives (!DEATHSQUAD! Covert)" - leader_preset = /datum/equipment_preset/uscm/marsoc/sl/covert - member_preset = /datum/equipment_preset/uscm/marsoc/covert - - -/datum/emergency_call/marsoc/low_threat - name = "Marine Raider Operatives" - leader_preset = /datum/equipment_preset/uscm/marsoc/low_threat/sl - member_preset = /datum/equipment_preset/uscm/marsoc/low_threat diff --git a/code/datums/emergency_calls/solar_devils.dm b/code/datums/emergency_calls/solar_devils.dm deleted file mode 100644 index 6f3323f3cd..0000000000 --- a/code/datums/emergency_calls/solar_devils.dm +++ /dev/null @@ -1,91 +0,0 @@ -/datum/emergency_call/solar_devils - name = "USCM Solar Devils (Half Squad)" - arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess." - objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming." - home_base = /datum/lazy_template/ert/uscm_station - probability = 0 - mob_min = 3 - mob_max = 5 - - max_medics = 1 - max_smartgunners = 1 - -/datum/emergency_call/solar_devils/create_member(datum/mind/new_mind, turf/override_spawn_loc) - var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() - - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. - - var/mob/living/carbon/human/mob = new(spawn_loc) - new_mind.transfer_to(mob, TRUE) - - if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) - leader = mob - arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Team Leader!")) - - else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job)) - medics++ - arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!")) - - else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN)) - smartgunners++ - to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Smartgunner!")) - arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE) - - else - arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!")) - - to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis.")) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) - -/datum/emergency_call/solar_devils_full - name = "USCM Solar Devils (Full Squad)" - arrival_message = "This is the Solar Devils of the USCM 2nd Division, responding to your distress beacon. Don't worry, the grown-ups are here to clean up your mess." - objectives = "Assist local Marine forces in dealing with whatever issue they can't handle. Further orders may be forthcoming." - home_base = /datum/lazy_template/ert/uscm_station - probability = 0 - mob_min = 3 - mob_max = 10 - - max_engineers = 2 - max_medics = 1 - max_smartgunners = 2 - -/datum/emergency_call/solar_devils_full/create_member(datum/mind/new_mind, turf/override_spawn_loc) - var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() - - if(!istype(spawn_loc)) - return //Didn't find a useable spawn point. - - var/mob/living/carbon/human/mob = new(spawn_loc) - new_mind.transfer_to(mob, TRUE) - - if(!leader && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) - leader = mob - arm_equipment(mob, /datum/equipment_preset/uscm/sl_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Leader!")) - - else if(engineers < max_engineers && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(mob.client, JOB_SQUAD_LEADER, time_required_for_job)) - engineers++ - arm_equipment(mob, /datum/equipment_preset/uscm/tl_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Team Leader!")) - - else if(medics < max_medics && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(mob.client, JOB_SQUAD_MEDIC, time_required_for_job)) - medics++ - arm_equipment(mob, /datum/equipment_preset/uscm/medic_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are the Solar Devils Platoon Corpsman!")) - - else if(smartgunners < max_smartgunners && HAS_FLAG(mob.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(mob.client, JOB_SQUAD_SMARTGUN)) - smartgunners++ - to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Smartgunner!")) - arm_equipment(mob, /datum/equipment_preset/uscm/sg_pve, TRUE, TRUE) - - else - arm_equipment(mob, /datum/equipment_preset/uscm/rifleman_pve, TRUE, TRUE) - to_chat(mob, SPAN_ROLE_HEADER("You are a Solar Devils Rifleman!")) - - to_chat(mob, SPAN_ROLE_BODY("You are a member of the 3rd Battalion 'Solar Devils', part of the USCM's 2nd Division, 1st Regiment. Unlike most of the USS Almayer's troops, you are well-trained and properly-equipped career marines. Semper Fidelis.")) - addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), mob, SPAN_BOLD("Objectives: [objectives]")), 1 SECONDS) diff --git a/code/game/machinery/vending/vendor_types/crew/sea.dm b/code/game/machinery/vending/vendor_types/crew/sea.dm index 99daa1325b..036f749c11 100644 --- a/code/game/machinery/vending/vendor_types/crew/sea.dm +++ b/code/game/machinery/vending/vendor_types/crew/sea.dm @@ -56,12 +56,12 @@ GLOBAL_LIST_INIT(cm_vending_clothing_sea, list( list("Sidearm Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Sling Pouch", 0, /obj/item/storage/pouch/sling, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("COMBAT GEAR", 0, null, null, null), + list("COMBAT ARMOR (CHOOSE 1)", 0, null, null, null), + list("M3-VL Pattern Ballistics Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("M3 Pattern Marine Armor", 0, /obj/item/clothing/suit/storage/marine, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + list("Bulletproof Vest", 0, /obj/item/clothing/suit/armor/bulletproof, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), list("M10 Helmet", 0, /obj/item/clothing/head/helmet/marine, MARINE_CAN_BUY_COMBAT_HELMET, VENDOR_ITEM_REGULAR), - list("M3-VL Pattern Ballistics Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_RECOMMENDED), - list("M3 Pattern Padded Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padded, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_REGULAR), - list("Bulletproof Vest", 0, /obj/item/clothing/suit/armor/bulletproof, MARINE_CAN_BUY_COMBAT_ARMOR, VENDOR_ITEM_REGULAR), list("EYEWEAR (CHOOSE 1)", 0, null, null, null), list("Welding Goggles", 0, /obj/item/clothing/glasses/welding, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index d514e20302..50c16a2a77 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -67,12 +67,7 @@ list("Breaching Charge", floor(scale * 2), /obj/item/explosive/plastic/breaching_charge, VENDOR_ITEM_REGULAR), list("WEBBINGS", -1, null, null), - list("Black Webbing Vest", floor(scale * 2), /obj/item/clothing/accessory/storage/black_vest, VENDOR_ITEM_REGULAR), - list("Brown Webbing Vest", floor(scale * 2), /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR), - list("Shoulder Holster", floor(scale * 1.5), /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), - list("Webbing", floor(scale * 5), /obj/item/clothing/accessory/storage/webbing, VENDOR_ITEM_REGULAR), - list("Knife Webbing", floor(scale * 1), /obj/item/clothing/accessory/storage/knifeharness, VENDOR_ITEM_REGULAR), - list("Drop Pouch", floor(scale * 2), /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), + list("Drop Pouch", floor(scale * 5), /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), list("External Webbing", floor(scale * 5), /obj/item/clothing/suit/storage/webbing, VENDOR_ITEM_REGULAR), list("BACKPACKS", -1, null, null), @@ -481,13 +476,10 @@ list("M10 Pattern Marine Helmet", 20, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), list("M10 Pattern Technician Helmet", 20, /obj/item/clothing/head/helmet/marine/tech, VENDOR_ITEM_REGULAR), list("M10 Pattern Corpman Helmet", 20, /obj/item/clothing/head/helmet/marine/medic, VENDOR_ITEM_REGULAR), - list("M3 Pattern Carrier Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", 20, /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), - list("M3-EOD Pattern Heavy Armor", 10, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", 10, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), + list("M3 Pattern Marine Armor", 20, /obj/item/clothing/suit/marine, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", 20, /obj/item/clothing/suit/marine/lines, VENDOR_ITEM_REGULAR), + list("M3-EOD Pattern Heavy Armor", 10, /obj/item/clothing/suit/marine/heavy, VENDOR_ITEM_REGULAR), + list("M3-L Pattern Light Armor", 10, /obj/item/clothing/suit/marine/light, VENDOR_ITEM_REGULAR), list("GLOVES", -1, null, null), list("Marine Combat Gloves", 40, /obj/item/clothing/gloves/marine, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm index f83c0c1de4..0d4e6d2b61 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_medic.dm @@ -134,9 +134,12 @@ GLOBAL_LIST_INIT(cm_vending_clothing_medic, list( list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("Medium Armor", 0, /obj/item/clothing/suit/storage/marine/medium, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), - list("Heavy Armor", 0, /obj/item/clothing/suit/storage/marine/heavy, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + list("Light Armor", 0, /obj/item/clothing/suit/marine/light/pads, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + list("Medium Armor", 0, /obj/item/clothing/suit/marine/pads, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("Heavy Armor", 0, /obj/item/clothing/suit/marine/heavy/pads, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), + + list("ARMOR PAINT (CHOOSE 1)", 0, null, null, null), + list("Red Cross Paint", 0, /obj/item/clothing/accessory/paint/medic, MARINE_CAN_BUY_PAINT, VENDOR_ITEM_RECOMMENDED), list("HELMET (CHOOSE 1)", 0, null, null, null), list("M10 Corpsman Helmet", 0, /obj/item/clothing/head/helmet/marine/medic, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), @@ -177,10 +180,12 @@ GLOBAL_LIST_INIT(cm_vending_clothing_medic, list( list("Vial Pouch (Full)", 0, /obj/item/storage/pouch/vials/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("ACCESSORIES (CHOOSE 1)", 0, null, null, null), - list("Brown Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest/brown_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED), - list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3 Pattern Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3 Pattern Magazine Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/mag, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3 Pattern Shotgun Shell Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/shotgun, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3 Pattern M40 Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/m40, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3 Pattern Small Pouch Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/small, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED), list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), - list("Webbing", 0, /obj/item/clothing/accessory/storage/webbing, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), list("Drop Pouch", 0, /obj/item/clothing/accessory/storage/droppouch, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), )) @@ -305,8 +310,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_forecon_medic, list( list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("ARMOR (CHOOSE 1)", 0, null, null, null), - list("Light Armor", 0, /obj/item/clothing/suit/storage/marine/light/standard, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_REGULAR), - list("M3-R Armor", 0, /obj/item/clothing/suit/storage/marine/rto/forecon, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), + list("M3-R Armor", 0, /obj/item/clothing/suit/marine/pads/rto/forecon, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_RECOMMENDED), list("BACKPACK (CHOOSE 1)", 0, null, null, null), list("Medical Backpack", 0, /obj/item/storage/backpack/marine/medic/standard, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_REGULAR), @@ -341,11 +345,12 @@ GLOBAL_LIST_INIT(cm_vending_clothing_forecon_medic, list( list("Vial Pouch (Full)", 0, /obj/item/storage/pouch/vials/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("ACCESSORIES (CHOOSE 1)", 0, null, null, null), - list("Brown Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest/brown_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED), - list("Black Webbing Vest", 0, /obj/item/clothing/accessory/storage/black_vest, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), - list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), - list("Webbing", 0, /obj/item/clothing/accessory/storage/webbing, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/recon, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Shotgun Shell Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/recon/shotgun, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3-R Pattern M40 Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/recon/m40, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Corpsman Webbing", 0, /obj/item/clothing/accessory/storage/webbing/m3/recon/medic, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_RECOMMENDED), list("Drop Pouch", 0, /obj/item/clothing/accessory/storage/droppouch, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), + list("Shoulder Holster", 0, /obj/item/clothing/accessory/storage/holster, MARINE_CAN_BUY_ACCESSORY, VENDOR_ITEM_REGULAR), )) /obj/structure/machinery/cm_vending/clothing/medic/forecon diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index d765378e03..045480019f 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -105,25 +105,24 @@ list("Marine Combat Gloves", floor(scale * 15), /obj/item/clothing/gloves/marine, VENDOR_ITEM_REGULAR), list("Marine Brown Combat Gloves", floor(scale * 15), /obj/item/clothing/gloves/marine/brown, VENDOR_ITEM_REGULAR), list("Marine Black Combat Gloves", floor(scale * 15), /obj/item/clothing/gloves/marine/black, VENDOR_ITEM_REGULAR), - list("Marine Radio Headset", floor(scale * 15), /obj/item/device/radio/headset/almayer, VENDOR_ITEM_REGULAR), + list("Marine Radio Headset", floor(scale * 15), /obj/item/device/radio/headset/almayer/marine/solardevils, VENDOR_ITEM_REGULAR), list("M10 Pattern Marine Helmet", floor(scale * 15), /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), list("WEBBINGS", -1, null, null), - list("Brown Webbing Vest", 1, /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR), - list("Black Webbing Vest", 1, /obj/item/clothing/accessory/storage/black_vest, VENDOR_ITEM_REGULAR), - list("Webbing", floor(scale * 2), /obj/item/clothing/accessory/storage/webbing, VENDOR_ITEM_REGULAR), - list("Drop Pouch", 0.75, /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), - list("Shoulder Holster", 0.75, /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), + list("M3 Pattern Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3, VENDOR_ITEM_REGULAR), + list("M3 Pattern Magazine Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/mag, VENDOR_ITEM_REGULAR), + list("M3 Pattern Shotgun Shell Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/shotgun, VENDOR_ITEM_REGULAR), + list("M3 Pattern M40 Webbing", 0.75, /obj/item/clothing/accessory/storage/webbing/m3/m40, VENDOR_ITEM_REGULAR), + list("M3 Pattern Small Pouch Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/small, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 3, /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), + list("Shoulder Holster", round(max(1,(scale * 0.5))), /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), list("ARMOR", -1, null, null), - list("M3 Pattern Carrier Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), - list("M3 Pattern Smooth Marine Armor", floor(scale * 15), /obj/item/clothing/suit/storage/marine/medium/smooth, VENDOR_ITEM_REGULAR), - list("M3-EOD Pattern Heavy Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), + list("M3 Pattern Marine Armor", round(scale * 15), /obj/item/clothing/suit/marine/pads, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", round(scale * 15), /obj/item/clothing/suit/marine/pads/lines, VENDOR_ITEM_REGULAR), + list("M3 Pattern Smooth Marine Armor", round(scale * 15), /obj/item/clothing/suit/marine/pads/smooth, VENDOR_ITEM_REGULAR), + list("M3 Pattern Arm Bracers", round(scale * 10), /obj/item/clothing/accessory/pads/bracers, VENDOR_ITEM_REGULAR), + list("M3 Pattern Neck Brace", round(scale * 15), /obj/item/clothing/accessory/pads/neckguard, VENDOR_ITEM_REGULAR), list("BACKPACK", -1, null, null, null), list("Lightweight IMP Backpack", floor(scale * 15), /obj/item/storage/backpack/marine, VENDOR_ITEM_REGULAR), @@ -271,18 +270,17 @@ list("USCM Uniform", round(scale * 15), /obj/item/clothing/under/marine/standard, VENDOR_ITEM_REGULAR), list("Marine Black Gloves", round(scale * 15), /obj/item/clothing/gloves/marine, VENDOR_ITEM_REGULAR), list("Marine Brown Gloves", round(scale * 15), /obj/item/clothing/gloves/marine/brown, VENDOR_ITEM_REGULAR), - list("Marine Radio Headset", round(scale * 15), /obj/item/device/radio/headset/almayer/sof/survivor_forecon, VENDOR_ITEM_REGULAR), + list("Marine Radio Headset", round(scale * 15), /obj/item/device/radio/headset/almayer/marine/solardevils/forecon, VENDOR_ITEM_REGULAR), list("WEBBINGS", -1, null, null), - list("Brown Webbing Vest", round(scale * 1.25), /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR), - list("Black Webbing Vest", round(max(1,(scale * 0.5))), /obj/item/clothing/accessory/storage/black_vest, VENDOR_ITEM_REGULAR), - list("Webbing", round(scale * 2), /obj/item/clothing/accessory/storage/webbing, VENDOR_ITEM_REGULAR), - list("Drop Pouch", round(max(1,(scale * 0.5))), /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/recon, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Shotgun Shell Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/recon/shotgun, VENDOR_ITEM_REGULAR), + list("M3-R Pattern M40 Webbing", 2, /obj/item/clothing/accessory/storage/webbing/m3/recon/m40, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 3, /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), list("Shoulder Holster", round(max(1,(scale * 0.5))), /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), list("ARMOR", -1, null, null), - list("M3-R Pattern Recon Armor", round(scale * 10), /obj/item/clothing/suit/storage/marine/rto/forecon, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", round(scale * 10), /obj/item/clothing/suit/storage/marine/light/standard, VENDOR_ITEM_REGULAR), + list("M3-R Pattern Recon Armor", round(scale * 10), /obj/item/clothing/suit/marine/pads/rto/forecon, VENDOR_ITEM_REGULAR), list("BACKPACK", -1, null, null, null), list("Lightweight IMP Backpack", round(scale * 15), /obj/item/storage/backpack/marine/standard, VENDOR_ITEM_REGULAR), @@ -325,7 +323,6 @@ list("Prescription ballistic goggles", round(scale * 10), /obj/item/clothing/glasses/mgoggles/prescription, VENDOR_ITEM_REGULAR), list("Marine RPG glasses", round(scale * 10), /obj/item/clothing/glasses/regular, VENDOR_ITEM_REGULAR), list("Firearm Lubricant", round(scale * 15), /obj/item/prop/helmetgarb/gunoil, VENDOR_ITEM_REGULAR), - list("USCM Flair", round(scale * 15), /obj/item/prop/helmetgarb/flair_uscm, VENDOR_ITEM_REGULAR), list("FORECON Shoulder Patch", round(scale * 15), /obj/item/clothing/accessory/patch/forecon, VENDOR_ITEM_REGULAR), list("USCM Shoulder Patch", round(scale * 15), /obj/item/clothing/accessory/patch, VENDOR_ITEM_REGULAR), list("Bedroll", round(scale * 20), /obj/item/roller/bedroll, VENDOR_ITEM_REGULAR), @@ -671,22 +668,14 @@ //------------ESSENTIAL SETS--------------- /obj/effect/essentials_set/random/uscm_light_armor spawned_gear_list = list( - /obj/item/clothing/suit/storage/marine/light/padded, - /obj/item/clothing/suit/storage/marine/light/padless, - /obj/item/clothing/suit/storage/marine/light/padless_lines, - /obj/item/clothing/suit/storage/marine/light/carrier, - /obj/item/clothing/suit/storage/marine/light/skull, - /obj/item/clothing/suit/storage/marine/light/smooth, + /obj/item/clothing/suit/marine/light/pads/lines, + /obj/item/clothing/suit/marine/light/pads/smooth, ) /obj/effect/essentials_set/random/uscm_heavy_armor spawned_gear_list = list( - /obj/item/clothing/suit/storage/marine/heavy/padded, - /obj/item/clothing/suit/storage/marine/heavy/padless, - /obj/item/clothing/suit/storage/marine/heavy/padless_lines, - /obj/item/clothing/suit/storage/marine/heavy/carrier, - /obj/item/clothing/suit/storage/marine/heavy/skull, - /obj/item/clothing/suit/storage/marine/heavy/smooth, + /obj/item/clothing/suit/marine/heavy/pads/lines, + /obj/item/clothing/suit/marine/heavy/pads/smooth, ) //------------MARINE CIVILIAN CLOTHING--------------- diff --git a/code/game/machinery/vending/vendor_types/wo_vendors.dm b/code/game/machinery/vending/vendor_types/wo_vendors.dm index 5ca0c35790..4a3043d37a 100644 --- a/code/game/machinery/vending/vendor_types/wo_vendors.dm +++ b/code/game/machinery/vending/vendor_types/wo_vendors.dm @@ -16,30 +16,26 @@ list("Marine Brown Combat Gloves", floor(scale * 2), /obj/item/clothing/gloves/marine/brown, VENDOR_ITEM_REGULAR), list("Marine Black Combat Gloves", floor(scale * 2), /obj/item/clothing/gloves/marine/black, VENDOR_ITEM_REGULAR), list("M10 Pattern Marine Helmet", floor(scale * 10), /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), + list("USCM Patrol Cap", floor(scale * 10), /obj/item/clothing/head/cmcap, VENDOR_ITEM_REGULAR), + list("USCM Boonie Cap", floor(scale * 10), /obj/item/clothing/head/cmcap/boonie, VENDOR_ITEM_REGULAR), list("RADIO HEADSETS", -1, null, null), - list("Marine Alpha Radio Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/alpha, VENDOR_ITEM_REGULAR), - list("Marine Bravo Radio Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/bravo, VENDOR_ITEM_REGULAR), - list("Marine Charlie Radio Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/charlie, VENDOR_ITEM_REGULAR), - list("Marine Delta Radio Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/delta, VENDOR_ITEM_REGULAR), - list("Marine Radio Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer, VENDOR_ITEM_REGULAR), + list("First Platoon Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/solardevils, VENDOR_ITEM_REGULAR), + list("Second Platoon Headset", floor(scale * 5), /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot, VENDOR_ITEM_REGULAR), list("WEBBINGS", -1, null, null), - list("Brown Webbing Vest", floor(scale * 1), /obj/item/clothing/accessory/storage/black_vest/brown_vest, VENDOR_ITEM_REGULAR), - list("Black Webbing Vest", floor(scale * 1), /obj/item/clothing/accessory/storage/black_vest, VENDOR_ITEM_REGULAR), - list("Webbing", floor(scale * 2), /obj/item/clothing/accessory/storage/webbing, VENDOR_ITEM_REGULAR), - list("Drop Pouch", floor(scale * 1), /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), - list("Shoulder Holster", floor(scale * 1), /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), + list("M3 Pattern Webbing", floor(scale * 2), /obj/item/clothing/accessory/storage/webbing/m3, VENDOR_ITEM_REGULAR), + list("M3 Pattern Magazine Webbing", floor(scale * 2), /obj/item/clothing/accessory/storage/webbing/m3/mag, VENDOR_ITEM_REGULAR), + list("M3 Pattern Shotgun Shell Webbing", floor(scale * 2), /obj/item/clothing/accessory/storage/webbing/m3/shotgun, VENDOR_ITEM_REGULAR), + list("M3 Pattern M40 Webbing", floor(scale * 1), /obj/item/clothing/accessory/storage/webbing/m3/m40, VENDOR_ITEM_REGULAR), + list("M3 Pattern Small Pouch Webbing", floor(scale * 1), /obj/item/clothing/accessory/storage/webbing/m3/small, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 3, /obj/item/clothing/accessory/storage/droppouch, VENDOR_ITEM_REGULAR), + list("Shoulder Holster", round(max(1,(scale * 0.5))), /obj/item/clothing/accessory/storage/holster, VENDOR_ITEM_REGULAR), list("ARMOR", -1, null, null), - list("M3 Pattern Carrier Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), - list("M3 Pattern Smooth Marine Armor", floor(scale * 10), /obj/item/clothing/suit/storage/marine/medium/smooth, VENDOR_ITEM_REGULAR), - list("M3-EOD Pattern Heavy Armor", floor(scale * 5), /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", floor(scale * 5), /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), + list("M3 Pattern Marine Armor", 20, /obj/item/clothing/suit/marine/pads, VENDOR_ITEM_REGULAR), + list("M3-EOD Pattern Heavy Armor", 10, /obj/item/clothing/suit/marine/heavy/pads, VENDOR_ITEM_REGULAR), + list("M3-L Pattern Light Armor", 10, /obj/item/clothing/suit/marine/light/pads, VENDOR_ITEM_REGULAR), list("BACKPACK", -1, null, null, null), list("Lightweight IMP Backpack", floor(scale * 10), /obj/item/storage/backpack/marine, VENDOR_ITEM_REGULAR), @@ -99,6 +95,7 @@ list("Marine RPG glasses", floor(scale * 5), /obj/item/clothing/glasses/regular, VENDOR_ITEM_REGULAR), list("M10 Helmet Netting", floor(scale * 5), /obj/item/prop/helmetgarb/netting, VENDOR_ITEM_REGULAR), list("M10 Helmet Rain Cover", floor(scale * 5), /obj/item/prop/helmetgarb/raincover, VENDOR_ITEM_REGULAR), + list("M10 Helmet Camo Cover", floor(scale * 5), /obj/item/prop/helmetgarb/camocover, VENDOR_ITEM_REGULAR), list("Firearm Lubricant", floor(scale * 10), /obj/item/prop/helmetgarb/gunoil, VENDOR_ITEM_REGULAR), list("USCM Flair", floor(scale * 10), /obj/item/prop/helmetgarb/flair_uscm, VENDOR_ITEM_REGULAR), list("Falling Falcons Shoulder Patch", floor(scale * 10), /obj/item/clothing/accessory/patch/falcon, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index e6d4b3464f..8ffa88b2fb 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -10,6 +10,7 @@ subspace_transmission = 1 canhear_range = 0 // can't hear headsets from very far away + flags_equip_slot = SLOT_EAR inherent_traits = list(TRAIT_ITEM_EAR_EXCLUSIVE) var/translate_apollo = FALSE @@ -514,7 +515,12 @@ /obj/item/device/radio/headset/almayer/marine/mp_honor name = "marine honor guard radio headset" desc = "This is used by members of the marine honor guard. Channels are as follows: :p - military police, :v - marine command. :a - alpha squad, :b - bravo squad, :c - charlie squad, :d - delta squad." + icon_override = 'icons/obj/items/radio.dmi' icon_state = "sec_headset" + item_icons = list( + WEAR_L_EAR = 'icons/mob/humans/onmob/ears.dmi', + WEAR_R_EAR = 'icons/mob/humans/onmob/ears.dmi', + ) initial_keys = list(/obj/item/device/encryptionkey/mmpo) volume = RADIO_VOLUME_RAISED locate_setting = TRACKER_CO @@ -625,8 +631,36 @@ /obj/item/device/radio/headset/almayer/marine name = "marine radio headset" desc = "A standard marine radio headset. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." + icon_state = "generic_headset" + item_state = "headset" frequency = ALPHA_FREQ +/obj/item/device/radio/headset/almayer/marine/solardevils + name = "marine radio headset" + desc = "A standard marine radio headset. When worn, grants access to Squad Leader tracker. Click tracker with empty hand to open Squad Info window." + icon = 'icons/obj/items/clothing/cm_hats.dmi' + icon_override = 'icons/mob/humans/onmob/head_1.dmi' + icon_state = "uscm_headset" + item_state = "uscm_headset" + item_icons = list( + WEAR_L_EAR = 'icons/mob/humans/onmob/head_1.dmi', + WEAR_R_EAR = 'icons/mob/humans/onmob/head_1.dmi', + ) + frequency = ALPHA_FREQ + +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon + name = "USCM SOF headset" + desc = "Issued exclusively to Marine Raiders and members of the USCM's Force Reconnaissance." + frequency = SOF_FREQ + initial_keys = list(/obj/item/device/encryptionkey/soc/forecon) + volume = RADIO_VOLUME_QUIET + has_hud = TRUE + hud_type = MOB_HUD_FACTION_MARINE + +/obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot + frequency = CRYO_FREQ + + //############################## ALPHA ############################### /obj/item/device/radio/headset/almayer/marine/alpha name = "marine alpha radio headset" diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 51ac163507..010924b6eb 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -1869,6 +1869,7 @@ name = "\improper M802 pattern smartgunner sidearm rig" desc = "The M802 is a limited-issue mark of USCM load-bearing equipment, designed to carry smartgun ammunition and a sidearm." icon_state = "sgbelt" + flags_equip_slot = SLOT_WAIST holster_slots = list( "1" = list( "icon_x" = 5, @@ -1898,6 +1899,7 @@ /obj/item/storage/belt/gun/smartgunner/garrow name = "\improper M802 pattern smartgunner sidearm rig" desc = "The M802 is a limited-issue mark of USCM load-bearing equipment, designed to carry a limited quantity of smartgun and pistol ammunition, along with a sidearm." + icon_state = "sgbelt" //Keep a track of how many magazines are inside the belt. var/magazines = 0 diff --git a/code/game/objects/structures/crates_lockers/closets/job_closets.dm b/code/game/objects/structures/crates_lockers/closets/job_closets.dm index 3f21dabf16..f172a0dff0 100644 --- a/code/game/objects/structures/crates_lockers/closets/job_closets.dm +++ b/code/game/objects/structures/crates_lockers/closets/job_closets.dm @@ -125,11 +125,14 @@ . = ..() new /obj/item/weapon/gun/smartgun(src) new /obj/item/smartgun_battery(src) - new /obj/item/clothing/suit/storage/marine/smartgunner(src) + new /obj/item/clothing/suit/marine/smartgunner(src) new /obj/item/storage/belt/gun/smartgunner/garrow(src) new /obj/item/ammo_magazine/smartgun(src) new /obj/item/ammo_magazine/smartgun(src) new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src) + new /obj/item/storage/large_holster/machete/smartgunner/full(src) + new /obj/item/clothing/accessory/storage/webbing/m56(src) + new /obj/item/clothing/accessory/storage/webbing/m56/grenade(src) /obj/structure/closet/secure_closet/smartgunner_forecon name = "smartgunner locker" @@ -140,11 +143,14 @@ . = ..() new /obj/item/weapon/gun/smartgun(src) new /obj/item/smartgun_battery(src) - new /obj/item/clothing/suit/storage/marine/smartgunner/standard(src) + new /obj/item/clothing/suit/marine/smartgunner/standard(src) new /obj/item/storage/belt/gun/smartgunner/garrow(src) new /obj/item/ammo_magazine/smartgun(src) new /obj/item/ammo_magazine/smartgun(src) new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(src) + new /obj/item/storage/large_holster/machete/smartgunner/full(src) + new /obj/item/clothing/accessory/storage/webbing/m56(src) + new /obj/item/clothing/accessory/storage/webbing/m56/grenade(src) /obj/structure/closet/cryo/Initialize() . = ..() diff --git a/code/game/objects/structures/crates_lockers/closets/secure/marine_personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/marine_personal.dm index 4462eda61b..dffebb1e41 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/marine_personal.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/marine_personal.dm @@ -29,4 +29,4 @@ if(has_cryo_gear) new /obj/item/clothing/under/marine(src) new /obj/item/clothing/shoes/marine/knife(src) - new /obj/item/device/radio/headset/almayer/marine(src) + new /obj/item/device/radio/headset/almayer/marine/solardevils(src) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 2d37321fb4..427fdd6509 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -295,6 +295,11 @@ GLOBAL_LIST_EMPTY(gear_datums_by_name) display_name = "USCM cap" path = /obj/item/clothing/head/cmcap +/datum/gear/headwear/uscm/cap/sulaco + display_name = "USS Golden Arrow cap" + path = /obj/item/clothing/head/sulacocap + cost = 1 + /datum/gear/headwear/uscm/cap/flap display_name = "USCM flapcap" path = /obj/item/clothing/head/cmcap/flap @@ -445,6 +450,29 @@ GLOBAL_LIST_EMPTY(gear_datums_by_name) path = /obj/item/prop/helmetgarb/chaplain_patch allowed_origins = USCM_ORIGINS +/datum/gear/armor + category = "Armor Cosmetics" + +/datum/gear/armor/paint_sg + display_name = "Black Smartgun Harness Paint" + path = /obj/item/clothing/accessory/paint/sg + cost = 0 + +/datum/gear/armor/paint_skull + display_name = "M3 Pattern Skull Paint" + path = /obj/item/clothing/accessory/paint + cost = 0 + +/datum/gear/armor/paint_heart + display_name = "M3 Pattern Heart Paint" + path = /obj/item/clothing/accessory/paint/heart + cost = 0 + +/datum/gear/armor/uaflag + display_name = "M3 Pattern Flag Paint" + path = /obj/item/clothing/accessory/paint/uaflag + cost = 0 + /datum/gear/paperwork category = "Paperwork" diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 9657278746..1941591ca6 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -1,5 +1,5 @@ #define SAVEFILE_VERSION_MIN 8 -#define SAVEFILE_VERSION_MAX 26 +#define SAVEFILE_VERSION_MAX 27 //handles converting savefiles to new formats //MAKE SURE YOU KEEP THIS UP TO DATE! @@ -165,6 +165,13 @@ S["nanotrasen_relation"] >> relation S["weyland_yutani_relation"] << relation + if(savefile_version < 27) + var/old_pref_armor + S["preferred_armor"] >> old_pref_armor + if(!(old_pref_armor in GLOB.armor_style_list)) + preferred_armor = "Random" + S["preferred_armor"] << preferred_armor + savefile_version = SAVEFILE_VERSION_MAX return 1 diff --git a/code/modules/clothing/head/head.dm b/code/modules/clothing/head/head.dm index 4e135a7918..68fa42f50c 100644 --- a/code/modules/clothing/head/head.dm +++ b/code/modules/clothing/head/head.dm @@ -198,6 +198,23 @@ WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi' ) +/obj/item/clothing/head/sulacocap + name = "\improper USS Golden Arrow Cap" + desc = "A casual cap able to be purchased and worn by Marines stationed on the USS Golden Arrow. While it only protects from the sun, it's much more comfortable than a helmet." + icon_state = "sulacocap" + icon = 'icons/obj/items/clothing/cm_hats.dmi' + var/helmet_overlays[] + var/flipped_cap = FALSE + var/list/flipping_message = list( + "flipped" = "You spin the hat backwards! You look like a tool.", + "unflipped" = "You spin the hat back forwards. That's better." + ) + var/base_cap_icon + var/flags_marine_hat = HAT_GARB_OVERLAY|HAT_CAN_FLIP + item_icons = list( + WEAR_HEAD = 'icons/mob/humans/onmob/head_1.dmi' + ) + /obj/item/clothing/head/cmcap name = "patrol cap" desc = "A casual cap issued as part of the non-combat uniform. While it only protects from the sun, it's much more comfortable than a helmet." diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 029c039b8f..b3e30630de 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -351,9 +351,6 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/paper = "paper", /obj/item/device/flashlight/flare = "flare", /obj/item/clothing/head/headset = "headset", - /obj/item/clothing/accessory/patch = "uscmpatch", - /obj/item/clothing/accessory/patch/falcon = "falconspatch", - /obj/item/clothing/accessory/patch/devils = "devilspatch", /obj/item/ammo_magazine/handful = "bullet", /obj/item/prop/helmetgarb/riot_shield = "helmet_riot_shield", /obj/item/attachable/flashlight = HELMET_GARB_RELAY_ICON_STATE, diff --git a/code/modules/clothing/suits/marine_armor/_marine_armor.dm b/code/modules/clothing/suits/marine_armor/_marine_armor.dm index d047127910..d9970b212d 100644 --- a/code/modules/clothing/suits/marine_armor/_marine_armor.dm +++ b/code/modules/clothing/suits/marine_armor/_marine_armor.dm @@ -385,39 +385,15 @@ armor_variation = 6 light_power = 4 -/obj/item/clothing/suit/storage/marine/medium/padded - name = "M3 pattern padded marine armor" - icon_state = "1" - armor_variation = 0 - specialty = "M3 pattern padded marine" - -/obj/item/clothing/suit/storage/marine/medium/padless - name = "M3 pattern padless marine armor" - icon_state = "2" - armor_variation = 0 - specialty = "M3 pattern padless marine" - /obj/item/clothing/suit/storage/marine/medium/padless_lines name = "M3 pattern ridged marine armor" - icon_state = "3" + icon_state = "2" armor_variation = 0 specialty = "M3 pattern ridged marine" -/obj/item/clothing/suit/storage/marine/medium/carrier - name = "M3 pattern carrier marine armor" - icon_state = "4" - armor_variation = 0 - specialty = "M3 pattern carrier marine" - -/obj/item/clothing/suit/storage/marine/medium/skull - name = "M3 pattern skull marine armor" - icon_state = "5" - armor_variation = 0 - specialty = "M3 pattern skull marine" - /obj/item/clothing/suit/storage/marine/medium/smooth name = "M3 pattern smooth marine armor" - icon_state = "6" + icon_state = "3" armor_variation = 0 specialty = "M3 pattern smooth marine" @@ -437,28 +413,12 @@ armor_internaldamage = CLOTHING_ARMOR_LOW storage_slots = 2 -/obj/item/clothing/suit/storage/marine/light/padded - icon_state = "L1" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/light/padless - icon_state = "L2" - armor_variation = 0 - /obj/item/clothing/suit/storage/marine/light/padless_lines - icon_state = "L3" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/light/carrier - icon_state = "L4" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/light/skull - icon_state = "L5" + icon_state = "L2" armor_variation = 0 /obj/item/clothing/suit/storage/marine/light/smooth - icon_state = "L6" + icon_state = "L3" armor_variation = 0 /obj/item/clothing/suit/storage/marine/light/standard @@ -565,28 +525,12 @@ light_power = 4 light_range = 5 -/obj/item/clothing/suit/storage/marine/heavy/padded - icon_state = "H1" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/heavy/padless - icon_state = "H2" - armor_variation = 0 - /obj/item/clothing/suit/storage/marine/heavy/padless_lines - icon_state = "H3" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/heavy/carrier - icon_state = "H4" - armor_variation = 0 - -/obj/item/clothing/suit/storage/marine/heavy/skull - icon_state = "H5" + icon_state = "H2" armor_variation = 0 /obj/item/clothing/suit/storage/marine/heavy/smooth - icon_state = "H6" + icon_state = "H3" armor_variation = 0 //===========================//SPECIALIST\\================================\\ @@ -684,9 +628,7 @@ icon_state = "cc_armor" flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE - //==================USASF & ARMY==================\\ - /obj/item/clothing/suit/storage/marine/medium/rto/navy name = "\improper M4 pattern naval-deployment armor" desc = "A set of USASF acquired M4 armor, modified to fit the needs of the members that see deployment on the surface of worlds. Robust, yet very nimble, with room for all your pouches." @@ -698,3 +640,350 @@ desc = "Whilst it saw limited field-testing amongst the USCMC, the US Army adopted the M4 series pattern armor across the board. Surprisingly uncomfortable, even compared to the old M3 series armor." flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE +//===========================//CUSTOM ARMOR\\================================\\ +//=======================================================================\\ +//base armor, copies everything from the storage armor for the same traits +/obj/item/clothing/suit/marine + name = "\improper M3 pattern marine armor" + desc = "Standard USCMC issue M3 Pattern Personal Armor. Composite ballistic armor, integral biomonitoring system, and brackets for the IMP system as well as the TNR Shoulder Lamp." + icon = 'icons/obj/items/clothing/cm_suits.dmi' + icon_state = "1" + item_state = "marine_armor" //Make unique states for Officer & Intel armors. + item_icons = list( + WEAR_JACKET = 'icons/mob/humans/onmob/suit_1.dmi' + ) + flags_atom = FPRINT|CONDUCT + flags_inventory = BLOCKSHARPOBJ + flags_armor_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS + flags_cold_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS + flags_heat_protection = BODY_FLAG_CHEST|BODY_FLAG_GROIN|BODY_FLAG_ARMS|BODY_FLAG_LEGS + min_cold_protection_temperature = HELMET_MIN_COLD_PROT + max_heat_protection_temperature = HELMET_MAX_HEAT_PROT + blood_overlay_type = "armor" + armor_melee = CLOTHING_ARMOR_MEDIUM + armor_bullet = CLOTHING_ARMOR_MEDIUM + armor_laser = CLOTHING_ARMOR_MEDIUMLOW + armor_energy = CLOTHING_ARMOR_NONE + armor_bomb = CLOTHING_ARMOR_MEDIUMLOW + armor_bio = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_MEDIUMLOW + armor_internaldamage = CLOTHING_ARMOR_MEDIUM + movement_compensation = SLOWDOWN_ARMOR_LIGHT + siemens_coefficient = 0.7 + slowdown = SLOWDOWN_ARMOR_MEDIUM + allowed = list( + /obj/item/weapon/gun, + /obj/item/prop/prop_gun, + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/storage/fancy/cigarettes, + /obj/item/tool/lighter, + /obj/item/storage/bible, + /obj/item/attachable/bayonet, + /obj/item/storage/backpack/general_belt, + /obj/item/storage/large_holster/machete, + /obj/item/storage/belt/gun/type47, + /obj/item/storage/belt/gun/m4a3, + /obj/item/storage/belt/gun/m44, + /obj/item/storage/belt/gun/smartpistol, + /obj/item/storage/belt/gun/flaregun, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + /obj/item/storage/belt/gun/m39, + ) + valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_DECORARMOR, ACCESSORY_SLOT_DECORBRACER, ACCESSORY_SLOT_DECORNECK, ACCESSORY_SLOT_PAINT, ACCESSORY_SLOT_M3UTILITY, ACCESSORY_SLOT_PONCHO) + restricted_accessory_slots = list(ACCESSORY_SLOT_DECORARMOR, ACCESSORY_SLOT_DECORBRACER, ACCESSORY_SLOT_DECORNECK, ACCESSORY_SLOT_M3UTILITY, ACCESSORY_SLOT_PAINT) + + light_power = 3 + light_range = 4 + light_system = MOVABLE_LIGHT + + var/flashlight_cooldown = 0 //Cooldown for toggling the light + var/locate_cooldown = 0 //Cooldown for SL locator + var/armor_overlays[] + actions_types = list(/datum/action/item_action/toggle) + var/flags_marine_armor = ARMOR_SQUAD_OVERLAY|ARMOR_LAMP_OVERLAY + var/specialty = "M3 pattern marine" //Same thing here. Give them a specialty so that they show up correctly in vendors. speciality does NOTHING if you have NO_NAME_OVERRIDE + w_class = SIZE_HUGE + uniform_restricted = list(/obj/item/clothing/under/marine) + sprite_sheets = list(SPECIES_MONKEY = 'icons/mob/humans/species/monkeys/onmob/suit_monkey_1.dmi') + time_to_unequip = 20 + time_to_equip = 20 + drag_unequip = TRUE + pickup_sound = "armorequip" + drop_sound = "armorequip" + equip_sounds = list('sound/handling/putting_on_armor1.ogg') + var/armor_variation = 0 + /// The dmi where the grayscale squad overlays are contained + var/squad_overlay_icon = 'icons/mob/humans/onmob/suit_1.dmi' + + var/atom/movable/marine_light/light_holder + +/obj/item/clothing/suit/marine/Initialize(mapload) + . = ..() + if(!(flags_atom & NO_NAME_OVERRIDE)) + name = "[specialty]" + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + name += " snow armor" //Leave marine out so that armors don't have to have "Marine" appended (see: generals). + else + name += " armor" + + if(!(flags_atom & NO_SNOW_TYPE)) + select_gamemode_skin(type) + armor_overlays = list("lamp") //Just one for now, can add more later. + if(armor_variation && mapload) + post_vendor_spawn_hook() + update_icon() + + light_holder = new(src) + +/obj/item/clothing/suit/marine/Destroy() + QDEL_NULL(light_holder) + return ..() + +/obj/item/clothing/suit/marine/update_icon(mob/user) + var/image/I + armor_overlays["lamp"] = null + if(flags_marine_armor & ARMOR_LAMP_OVERLAY) + if(flags_marine_armor & ARMOR_LAMP_ON) + I = image('icons/obj/items/clothing/cm_suits.dmi', src, "lamp-on") + else + I = image('icons/obj/items/clothing/cm_suits.dmi', src, "lamp-off") + armor_overlays["lamp"] = I + overlays += I + else armor_overlays["lamp"] = null + if(user) user.update_inv_wear_suit() + +/obj/item/clothing/suit/marine/MouseDrop(obj/over_object as obj) + if (ishuman(usr)) + //makes sure that the clothing is equipped so that we can't drag it into our hand from miles away. + if ((flags_item & NODROP) || loc != usr) + return + + if (!usr.is_mob_incapacitated() && !(usr.buckled)) + if(over_object) + switch(over_object.name) + if("r_hand") + if(usr.drop_inv_item_on_ground(src)) + usr.put_in_r_hand(src) + if("l_hand") + if(usr.drop_inv_item_on_ground(src)) + usr.put_in_l_hand(src) + add_fingerprint(usr) + +/obj/item/clothing/suit/marine/post_vendor_spawn_hook(mob/living/carbon/human/user) //used for randomizing/selecting a variant for armors. + var/new_look //used for the icon_state text replacement. + + if(!user?.client?.prefs) + new_look = rand(1,armor_variation) + + else if(user.client.prefs.preferred_armor == "Random") + new_look = rand(1,armor_variation) + + else + new_look = GLOB.armor_style_list[user.client.prefs.preferred_armor] + + icon_state = replacetext(icon_state,"1","[new_look]") + update_icon(user) + +/obj/item/clothing/suit/marine/attack_self(mob/user) + ..() + + if(!isturf(user.loc)) + to_chat(user, SPAN_WARNING("You cannot turn the light [light_on ? "off" : "on"] while in [user.loc].")) //To prevent some lighting anomalies. + return + + if(flashlight_cooldown > world.time) + return + if(!ishuman(user)) + return + + var/mob/living/carbon/human/H = user + if(H.wear_suit != src) + return + + turn_light(user, !light_on) + +/obj/item/clothing/suit/marine/item_action_slot_check(mob/user, slot) + if(!ishuman(user)) + return FALSE + if(slot != WEAR_JACKET) + return FALSE + return TRUE //only give action button when armor is worn. + +/obj/item/clothing/suit/marine/turn_light(mob/user, toggle_on) + . = ..() + if(. != CHECKS_PASSED) + return + set_light_range(initial(light_range)) + set_light_power(FLOOR(initial(light_power) * 0.5, 1)) + set_light_on(toggle_on) + flags_marine_armor ^= ARMOR_LAMP_ON + + light_holder.set_light_flags(LIGHT_ATTACHED) + light_holder.set_light_range(initial(light_range)) + light_holder.set_light_power(initial(light_power)) + light_holder.set_light_on(toggle_on) + + if(!toggle_on) + playsound(src, 'sound/handling/click_2.ogg', 50, 1) + + playsound(src, 'sound/handling/suitlight_on.ogg', 50, 1) + update_icon(user) + + for(var/X in actions) + var/datum/action/A = X + A.update_button_icon() + +/obj/item/clothing/suit/marine/mob_can_equip(mob/living/carbon/human/M, slot, disable_warning = 0) + . = ..() + if (.) + if(issynth(M) && M.allow_gun_usage == FALSE && !(flags_marine_armor & SYNTH_ALLOWED)) + M.visible_message(SPAN_DANGER("Your programming prevents you from wearing this!")) + return 0 + +/obj/item/clothing/suit/marine/lines + name = "M3 pattern ridged marine armor" + icon_state = "2" + specialty = "M3 pattern ridged marine" + +/obj/item/clothing/suit/marine/smooth + name = "M3 pattern smooth marine armor" + icon_state = "3" + specialty = "M3 pattern smooth marine" + +/obj/item/clothing/suit/marine/pads +//same as the base armor, but this time has the shoulder pads +/obj/item/clothing/suit/marine/pads/Initialize(mapload) + . = ..() + var/obj/item/clothing/accessory/pads/pads = new() + src.attach_accessory(null, pads, TRUE) + +/obj/item/clothing/suit/marine/pads/lines + name = "M3 pattern ridged marine armor" + icon_state = "2" + specialty = "M3 pattern ridged marine" + +/obj/item/clothing/suit/marine/pads/smooth + name = "M3 pattern smooth marine armor" + icon_state = "3" + specialty = "M3 pattern smooth marine" + +/obj/item/clothing/suit/marine/light + name = "\improper M3-L pattern light armor" + desc = "A lighter, cut down version of the standard M3 pattern armor. It sacrifices durability for less weight." + specialty = "\improper M3-L pattern light" + icon_state = "L1" + armor_variation = 3 + slowdown = SLOWDOWN_ARMOR_LIGHT + armor_melee = CLOTHING_ARMOR_MEDIUMLOW + armor_bullet = CLOTHING_ARMOR_MEDIUMLOW + armor_bomb = CLOTHING_ARMOR_MEDIUM + armor_bio = CLOTHING_ARMOR_MEDIUMLOW + armor_rad = CLOTHING_ARMOR_MEDIUMHIGH + armor_internaldamage = CLOTHING_ARMOR_LOW + valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_DECORARMOR, ACCESSORY_SLOT_DECORBRACER, ACCESSORY_SLOT_PAINT, ACCESSORY_SLOT_M3UTILITY, ACCESSORY_SLOT_PONCHO) + restricted_accessory_slots = list(ACCESSORY_SLOT_DECORARMOR, ACCESSORY_SLOT_DECORBRACER, ACCESSORY_SLOT_M3UTILITY, ACCESSORY_SLOT_PAINT) + +/obj/item/clothing/suit/marine/light/lines + name = "M3 pattern ridged marine armor" + icon_state = "L2" + armor_variation = 0 + +/obj/item/clothing/suit/marine/light/smooth + name = "M3 pattern smooth marine armor" + icon_state = "L3" + armor_variation = 0 + +/obj/item/clothing/suit/marine/light/pads + +/obj/item/clothing/suit/marine/light/pads/Initialize(mapload) + . = ..() + var/obj/item/clothing/accessory/pads/pads = new() + src.attach_accessory(null, pads, TRUE) + +/obj/item/clothing/suit/marine/light/pads/lines + name = "M3 pattern ridged marine armor" + icon_state = "L2" + armor_variation = 0 + +/obj/item/clothing/suit/marine/light/pads/smooth + name = "M3 pattern smooth marine armor" + icon_state = "L3" + armor_variation = 0 + +/obj/item/clothing/suit/marine/light/pads/standard + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + +/obj/item/clothing/suit/marine/heavy + name = "\improper M3-H pattern heavy armor" + desc = "M3 armor vest with a rheological liner behind the chestplate, additional armor over the limbs to improve protection ballistic and blast protections. \nMarginal improvement in other areas, and the mass of the extra plates degrades agility, especially in null-gee." + specialty = "\improper M3-H pattern" + icon_state = "H1" + armor_variation = 3 + armor_melee = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_HIGHPLUS + armor_bomb = CLOTHING_ARMOR_HIGHPLUS + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_rad = CLOTHING_ARMOR_MEDIUM + armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + slowdown = SLOWDOWN_ARMOR_LOWHEAVY + movement_compensation = SLOWDOWN_ARMOR_MEDIUM + +/obj/item/clothing/suit/marine/heavy/lines + name = "M3 pattern ridged marine armor" + icon_state = "L2" + armor_variation = 0 + +/obj/item/clothing/suit/marine/heavy/smooth + name = "M3 pattern smooth marine armor" + icon_state = "L3" + armor_variation = 0 + +/obj/item/clothing/suit/marine/heavy/pads + +/obj/item/clothing/suit/marine/heavy/pads/Initialize(mapload) + . = ..() + var/obj/item/clothing/accessory/pads/pads = new() + src.attach_accessory(null, pads, TRUE) + +/obj/item/clothing/suit/marine/heavy/pads/lines + name = "M3 pattern ridged marine armor" + icon_state = "L2" + armor_variation = 0 + +/obj/item/clothing/suit/marine/heavy/pads/smooth + name = "M3 pattern smooth marine armor" + icon_state = "L3" + armor_variation = 0 + +/obj/item/clothing/suit/marine/pads/rto + icon_state = "io" + name = "\improper M4 pattern marine armor" + desc = "A well tinkered and crafted hybrid of Smart-Gunner mesh and M3 pattern plates. Robust, yet nimble, with room for all your pouches." + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_rad = CLOTHING_ARMOR_MEDIUM + light_range = 5 //slightly higher + specialty = "M4 pattern marine" + +/obj/item/clothing/suit/marine/pads/rto/intel + name = "\improper XM4 pattern intelligence officer armor" + uniform_restricted = list(/obj/item/clothing/under/marine/officer, /obj/item/clothing/under/rank/qm_suit, /obj/item/clothing/under/marine/officer/intel) + specialty = "XM4 pattern intel" + +/obj/item/clothing/suit/marine/pads/rto/forecon + name = "\improper M3-R pattern recon armor" + desc = "A modified Colonial Marines M3 Pattern Chestplate. Protects the chest from ballistic rounds, bladed objects and accidents. Issued exclusively to FORECON units." + icon_state = "L1" + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + +/obj/item/clothing/suit/marine/pads/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." + icon_state = "7" + armor_melee = CLOTHING_ARMOR_MEDIUMHIGH + armor_bomb = CLOTHING_ARMOR_MEDIUM + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + specialty = "B12 pattern marine" + diff --git a/code/modules/clothing/suits/marine_armor/smartgunner.dm b/code/modules/clothing/suits/marine_armor/smartgunner.dm index b307602538..0e04b86cd2 100644 --- a/code/modules/clothing/suits/marine_armor/smartgunner.dm +++ b/code/modules/clothing/suits/marine_armor/smartgunner.dm @@ -23,8 +23,9 @@ /obj/item/device/walkman, ) var/list/smartgun_back = list( - /obj/item/storage/large_holster/machete, + /obj/item/storage/large_holster/machete/smartgunner, ) + valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_SGPAINT, ACCESSORY_SLOT_PAINT, ACCESSORY_SLOT_PONCHO) /obj/item/clothing/suit/storage/marine/smartgunner/Initialize() . = ..() @@ -118,3 +119,86 @@ /obj/item/ammo_magazine/minigun, /obj/item/ammo_magazine/pkp, ) + +//Customizable Variant +/obj/item/clothing/suit/marine/smartgunner + name = "\improper M56 combat harness" + desc = "Lightweight vest composed of ballistic micromesh and a ceramic composite chestplate for practical protection, as well as the computers, straps, and armature required for operating the M56 Smartgun itself." + icon_state = "8" + item_state = "armor" + armor_laser = CLOTHING_ARMOR_LOW + armor_bomb = CLOTHING_ARMOR_MEDIUM + armor_rad = CLOTHING_ARMOR_MEDIUM + slowdown = SLOWDOWN_ARMOR_LIGHT + flags_inventory = BLOCKSHARPOBJ|SMARTGUN_HARNESS + flags_atom = NO_NAME_OVERRIDE + unacidable = TRUE + 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/smartgun, + /obj/item/storage/backpack/general_belt, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + ) + var/list/smartgun_back = list( + /obj/item/storage/large_holster/machete/smartgunner, + /obj/item/weapon/gun/smartgun, + ) + valid_accessory_slots = list(ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_SGPAINT, ACCESSORY_SLOT_M56UTILITY, ACCESSORY_SLOT_SGDECOR, ACCESSORY_SLOT_PAINT, ACCESSORY_SLOT_PONCHO) + restricted_accessory_slots = list(ACCESSORY_SLOT_SGPAINT, ACCESSORY_SLOT_M56UTILITY, ACCESSORY_SLOT_SGDECOR, ACCESSORY_SLOT_PAINT) + +/obj/item/clothing/suit/marine/smartgunner/Initialize() + . = ..() + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD] && name == "\improper M56 combat harness" && !(flags_atom & NO_SNOW_TYPE)) + name = "\improper M56 snow combat harness" + else + name = "\improper M56 combat harness" + //select_gamemode_skin(type) + + var/obj/item/clothing/accessory/pads/m56/m56 = new() + src.attach_accessory(null, m56, TRUE) + +/obj/item/clothing/suit/marine/smartgunner/mob_can_equip(mob/equipping_mob, slot, disable_warning = FALSE) + . = ..() + + if(equipping_mob.back && !(equipping_mob.back.flags_item & SMARTGUNNER_BACKPACK_OVERRIDE)) + if(!disable_warning) + to_chat(equipping_mob, SPAN_WARNING("You can't equip [src] while wearing a backpack.")) + return FALSE + +/obj/item/clothing/suit/marine/smartgunner/equipped(mob/user, slot, silent) + . = ..() + + if(slot == WEAR_JACKET) + RegisterSignal(user, COMSIG_HUMAN_ATTEMPTING_EQUIP, PROC_REF(check_equipping)) + +/obj/item/clothing/suit/marine/smartgunner/proc/check_equipping(mob/living/carbon/human/equipping_human, obj/item/equipping_item, slot) + SIGNAL_HANDLER + + if(slot != WEAR_BACK) + return + + if(equipping_item.flags_item & SMARTGUNNER_BACKPACK_OVERRIDE || is_type_in_list(equipping_item, smartgun_back)) + return + + . = COMPONENT_HUMAN_CANCEL_ATTEMPT_EQUIP + + if(equipping_item.flags_equip_slot == SLOT_BACK) + to_chat(equipping_human, SPAN_WARNING("You can't equip [equipping_item] on your back while wearing [src].")) + return + +/obj/item/clothing/suit/marine/smartgunner/unequipped(mob/user, slot) + . = ..() + + UnregisterSignal(user, COMSIG_HUMAN_ATTEMPTING_EQUIP) + +/obj/item/clothing/suit/marine/smartgunner/standard + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + +/obj/item/clothing/suit/marine/smartgunner/black + flags_atom = NO_SNOW_TYPE|NO_NAME_OVERRIDE + icon_state = "8fancy" diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index f80bb16079..b41c760bdc 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -882,7 +882,7 @@ name = "shoulder holster" desc = "A handgun holster with an attached pouch, allowing two magazines or speedloaders to be stored along with it." icon_state = "holster" - slot = ACCESSORY_SLOT_UTILITY + slot = ACCESSORY_SLOT_HOLSTER high_visibility = TRUE hold = /obj/item/storage/internal/accessory/holster @@ -1059,3 +1059,225 @@ icon_state = initial(icon_state) user.visible_message(SPAN_NOTICE("[user] decides to keep [src] nice and puffy."), SPAN_NOTICE("You decide to keep [src] nice and puffy.")) item_state = icon_state + +//===========================//CUSTOM ARMOR COSMETIC PLATES\\================================\\ + +/obj/item/clothing/accessory/pads + name = "\improper M3 Shoulder Pads" + desc = "A set shoulder pads attachable to the M3 armor set worn by the USCM." + icon_state = "pads" + item_state = "pads" + slot = ACCESSORY_SLOT_DECORARMOR + +/obj/item/clothing/accessory/pads/Initialize(mapload) + . = ..() + if(!(flags_atom & NO_SNOW_TYPE)) + select_gamemode_skin(type) + update_icon() + +/obj/item/clothing/accessory/pads/bracers + name = "\improper M3 Arm Bracers" + desc = "A set arm bracers worn in conjunction to the M3 armor set of the USCMC." + icon_state = "bracers" + item_state = "bracers" + slot = ACCESSORY_SLOT_DECORBRACER + +/obj/item/clothing/accessory/pads/neckguard + name = "\improper M3 Neck Guard" + desc = "An attachable neck guard option for the M3 armor set worn by the USCMC." + icon_state = "neckguard" + item_state = "neckguard" + slot = ACCESSORY_SLOT_DECORNECK + +/obj/item/clothing/accessory/pads/m56 + name = "\improper M3 Shin Guards" + desc = "A set shinguards usually shipped with M3 pattern armor, though this set has been repurposed." + icon_state = "shinguards" + item_state = "shinguards" + slot = ACCESSORY_SLOT_SGDECOR + +//===========================//CUSTOM ARMOR PAINT\\================================\\ + +/obj/item/clothing/accessory/paint + name = "skull armor paint" + desc = "A set of paint tones to etch a skull into a Marine's armor." + icon_state = "skull" + item_state = "skull" + slot = ACCESSORY_SLOT_PAINT + +/obj/item/clothing/accessory/paint/heart + name = "heart armor paint" + desc = "A set of paint tones to etch a heart into a Marine's armor." + icon_state = "heart" + item_state = "heart" + +/obj/item/clothing/accessory/paint/medic + name = "cross armor paint" + desc = "A set of paint tones to etch a red cross into a Marine's armor." + icon_state = "medic" + item_state = "medic" + +/obj/item/clothing/accessory/paint/uaflag + name = "cross armor paint" + desc = "A set of paint tones to etch the red, white, and black into a Marine's armor." + icon_state = "uaflag" + item_state = "uaflag" + +/obj/item/clothing/accessory/paint/sg + name = "camouflage paint" + desc = "A set of paints for smartgunners to apply to their harnesses for a darker complextion." + icon_state = "blacksg" + item_state = "blacksg" + slot = ACCESSORY_SLOT_SGPAINT + +//===========================//CUSTOM ARMOR WEBBING\\================================\\ + +/obj/item/clothing/accessory/storage/webbing/m3 + name = "\improper M3 Pattern Webbing" + desc = "A sturdy mess of synthcotton belts and buckles designed to attach to the M3 Pattern Marine armor standard for the USCMC. This one is the slimmed down model designed for general purpose storage." + icon_state = "m3webbing" + hold = /obj/item/storage/internal/accessory/webbing/m3generic + slot = ACCESSORY_SLOT_M3UTILITY + +/obj/item/clothing/accessory/storage/webbing/m3/Initialize(mapload) + . = ..() + if(!(flags_atom & NO_SNOW_TYPE)) + select_gamemode_skin(type) + update_icon() + + +/obj/item/storage/internal/accessory/webbing/m3generic + cant_hold = list( + /obj/item/ammo_magazine/handful/shotgun, + /obj/item/ammo_magazine/rifle, + ) + +/obj/item/clothing/accessory/storage/webbing/m3/mag + name = "\improper M3 Pattern Magazine Webbing" + desc = "A variant of the M3 Pattern webbing that features pouches for pulse rifle magazines." + icon_state = "m3webbingmag" + hold = /obj/item/storage/internal/accessory/webbing/m3mag + +/obj/item/storage/internal/accessory/webbing/m3mag + can_hold = list( + /obj/item/ammo_magazine/rifle, + /obj/item/ammo_magazine/smg/m39, + ) + +/obj/item/clothing/accessory/storage/webbing/m3/shotgun + name = "\improper M3 Pattern Shell Webbing" + desc = "A slightly modified variant of the M3 Pattern grenade webbing, fitted for 12 gauge shotgun shells." + icon_state = "m3webbingshotgun" + hold = /obj/item/storage/internal/accessory/black_vest/m3shotgun + +/obj/item/storage/internal/accessory/black_vest/m3shotgun + can_hold = list( + /obj/item/ammo_magazine/handful, + ) + +/obj/item/clothing/accessory/storage/webbing/m3/small + name = "\improper M3 Pattern Small Pouch Webbing" + desc = "A set of M3 pattern webbing fully outfitted with pouches and pockets to carry a while array of small items." + icon_state = "m3webbingsmall" + hold = /obj/item/storage/internal/accessory/black_vest/m3generic + slot = ACCESSORY_SLOT_M3UTILITY + +/obj/item/storage/internal/accessory/black_vest/m3generic + cant_hold = list( + /obj/item/ammo_magazine/handful/shotgun, + ) + +/obj/item/clothing/accessory/storage/webbing/m3/m40 + name = "\improper M3 Pattern Grenade Webbing" + desc = "A variation of the M3 Pattern webbing fitted with loops for storing M40 grenades." + icon_state = "m3webbingm40" + hold = /obj/item/storage/internal/accessory/black_vest/m3grenade + +/obj/item/storage/internal/accessory/black_vest/m3grenade + storage_slots = 7 + can_hold = list( + /obj/item/explosive/grenade/high_explosive, + /obj/item/explosive/grenade/incendiary, + /obj/item/explosive/grenade/smokebomb, + /obj/item/explosive/grenade/high_explosive/airburst/starshell, + /obj/item/explosive/grenade/high_explosive/frag, + /obj/item/explosive/grenade/phosphorus/weak, + /obj/item/explosive/grenade/slug/baton, + ) + +/obj/item/clothing/accessory/storage/webbing/m3/recon + name = "\improper M3-R Pattern Magazine Webbing" + desc = "A set of magazine webbing made in an alternative configuration for standard M3 Pattern armor. This one is exclusively issued to Force Reconnoissance units." + icon_state = "m3rwebbing" + hold = /obj/item/storage/internal/accessory/webbing/m3mag/recon + +/obj/item/storage/internal/accessory/webbing/m3mag/recon + storage_slots = 4 + +/obj/item/clothing/accessory/storage/webbing/m3/recon/m40 + name = "\improper M3-R Pattern Grenade Webbing" + desc = "An alternative to the M3-R Pattern webbing fitted to store M40 grenades." + icon_state = "m3rwebbingm40" + hold = /obj/item/storage/internal/accessory/black_vest/m3grenade/recon + +/obj/item/storage/internal/accessory/black_vest/m3grenade/recon + storage_slots = 10 + +/obj/item/clothing/accessory/storage/webbing/m3/recon/shotgun + name = "\improper M3-R Pattern Shell Webbing" + desc = "A modified variant of the M3-R Pattern grenade webbing for FORECON units, this one accepting 12 gauge." + icon_state = "m3rwebbingshotgun" + hold = /obj/item/storage/internal/accessory/black_vest/m3shotgun/recon + +/obj/item/storage/internal/accessory/black_vest/m3shotgun/recon + storage_slots = 7 + +/obj/item/clothing/accessory/storage/webbing/m3/recon/medic + name = "\improper M3-R Pattern Corpsman Webbing" + desc = "A large pouch with M3-R Pattern webbing clips designed to house surgical tools for Corpsmen attached to FORECON units, where field hospitals are not readily available." + icon_state = "m3rwebbingmedic" + hold = /obj/item/storage/internal/accessory/black_vest/m3generic/recon + +/obj/item/storage/internal/accessory/black_vest/m3generic/recon + storage_slots = 6 + can_hold = list( + /obj/item/storage/surgical_case/regular, + /obj/item/reagent_container/blood, + /obj/item/tool/surgery/surgical_line, + /obj/item/tool/surgery/synthgraft, + /obj/item/device/healthanalyzer, + ) + +/obj/item/clothing/accessory/storage/webbing/m56 + name = "\improper Clip-on Pouch" + desc = "A clip on synth-leather pouch designed to house a small collection of items for M56 weapon operators." + icon_state = "m56pouch" + hold = /obj/item/storage/internal/accessory/black_vest/m56 + slot = ACCESSORY_SLOT_M56UTILITY + +/obj/item/clothing/accessory/storage/webbing/m56/Initialize(mapload) + . = ..() + if(!(flags_atom & NO_SNOW_TYPE)) + select_gamemode_skin(type) + update_icon() + +/obj/item/storage/internal/accessory/black_vest/m56 + storage_slots = 3 + +/obj/item/clothing/accessory/storage/webbing/m56/grenade + name = "\improper Clip-on Grenade Band" + desc = "A sturdy mess of synth-leather band designed to store a few grenades for M56 weapon operators." + icon_state = "m56grenade" + hold = /obj/item/storage/internal/accessory/black_vest/m56/grenade + +/obj/item/storage/internal/accessory/black_vest/m56/grenade + storage_slots = 4 + can_hold = list( + /obj/item/explosive/grenade/high_explosive, + /obj/item/explosive/grenade/incendiary, + /obj/item/explosive/grenade/smokebomb, + /obj/item/explosive/grenade/high_explosive/airburst/starshell, + /obj/item/explosive/grenade/high_explosive/frag, + /obj/item/explosive/grenade/phosphorus/weak, + /obj/item/explosive/grenade/slug/baton, + ) diff --git a/code/modules/clothing/under/under.dm b/code/modules/clothing/under/under.dm index a48967d885..36a0ab1e93 100644 --- a/code/modules/clothing/under/under.dm +++ b/code/modules/clothing/under/under.dm @@ -32,8 +32,8 @@ var/worn_state = null var/hood_state //for uniforms with hoods. drag_unequip = TRUE - valid_accessory_slots = list(ACCESSORY_SLOT_UTILITY, ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_DECOR, ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_ARMOR_C) - restricted_accessory_slots = list(ACCESSORY_SLOT_UTILITY, ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_ARMOR_C) + valid_accessory_slots = list(ACCESSORY_SLOT_UTILITY, ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_DECOR, ACCESSORY_SLOT_MEDAL, ACCESSORY_SLOT_UTILITY, ACCESSORY_SLOT_ARMOR_C, ACCESSORY_SLOT_HOLSTER) + restricted_accessory_slots = list(ACCESSORY_SLOT_UTILITY, ACCESSORY_SLOT_ARMBAND, ACCESSORY_SLOT_RANK, ACCESSORY_SLOT_ARMOR_C, ACCESSORY_SLOT_HOLSTER) sprite_sheets = list(SPECIES_MONKEY = 'icons/mob/humans/species/monkeys/onmob/uniform_monkey_0.dmi') equip_sounds = list('sound/handling/clothing_on.ogg') unequip_sounds = list('sound/handling/clothing_off.ogg') diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 3dd894ee21..11764531e2 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -529,8 +529,8 @@ /datum/equipment_preset/uscm/private_equipped/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine/pads(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -554,7 +554,7 @@ spawn_marine_backpack(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) @@ -589,8 +589,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/lead(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine/pads/leader(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -647,7 +647,7 @@ /datum/equipment_preset/uscm/smartgunner_equipped/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/smartgunner(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine/smartgunner(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smartgun(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -659,7 +659,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles/no_nightvision(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) /datum/equipment_preset/uscm/smartgunner_equipped/random name = "USCM Squad Smartgunner (Equipped Random)" @@ -695,7 +695,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster(new_human), WEAR_ACCESSORY) spawn_marine_sidearm(new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/smartgunner(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine/smartgunner(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smartgun(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -737,8 +737,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/engineer(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/tech(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/engi(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/tool/shovel/etool/folded(new_human), WEAR_IN_BACK) @@ -783,8 +783,8 @@ /datum/equipment_preset/uscm/medic_equipped/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/medic(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/medic(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/med(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine(new_human), WEAR_BACK) if(prob(50)) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(new_human), WEAR_FACE) @@ -831,8 +831,8 @@ spawn_marine_backpack(new_human) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/medic(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/medic(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/med(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine(new_human), WEAR_JACKET) spawn_marine_fluff_items(new_human) new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) @@ -884,7 +884,7 @@ new_human.equip_to_slot_or_del(new /obj/item/attachable/magnetic_harness(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/spec_kit, WEAR_R_HAND) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/pmc_m39(new_human), WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -950,8 +950,8 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp78(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/rto(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/rto(src), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/marine/pads/rto(src), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(src), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/rto(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) @@ -968,7 +968,7 @@ spawn_marine_armor(new_human) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range(new_human), WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/rto(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/solardevils/foxtrot(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) @@ -980,462 +980,3 @@ new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/m41amk1(new_human), WEAR_WAIST) spawn_marine_fluff_items(new_human) - - - -//############ Marine Raiders ############# -//Operator -/datum/equipment_preset/uscm/marsoc - name = "Marine Raider (!DEATHSQUAD!)" - flags = EQUIPMENT_PRESET_EXTRA - assignment = "Marine Raider" - rank = JOB_MARINE_RAIDER - role_comm_title = "Op." - languages = list(LANGUAGE_ENGLISH, LANGUAGE_TSL) - skills = /datum/skills/commando/deathsquad - auto_squad_name = SQUAD_SOF - ert_squad = TRUE - paygrades = list(PAY_SHORT_ME6 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME7 = JOB_PLAYTIME_TIER_3) - - minimap_icon = "private" - -/datum/equipment_preset/uscm/marsoc/load_status(mob/living/carbon/human/new_human) - new_human.nutrition = NUTRITION_NORMAL - -/datum/equipment_preset/uscm/marsoc/New() - . = ..() - access = get_access(ACCESS_LIST_GLOBAL) - -/datum/equipment_preset/uscm/marsoc/load_gear(mob/living/carbon/human/new_human) - //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/marsoc, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/super, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/super, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/super, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/health/ceramic_plate, WEAR_IN_BACK) - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/sof, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/marsoc, WEAR_FACE) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/sof, WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_HELMET) - //uniform - var/obj/item/clothing/under/marine/veteran/marsoc/M = new() - var/obj/item/clothing/accessory/storage/black_vest/W = new() - M.attach_accessory(new_human, W) - new_human.equip_to_slot_or_del(M, WEAR_BODY) - for(var/i in 1 to W.hold.storage_slots) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_ACCESSORY) - //jacket - var/obj/item/clothing/suit/storage/marine/sof/armor = new() - new_human.equip_to_slot_or_del(armor, WEAR_JACKET) - for(var/i in 1 to armor.storage_slots) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/xm40/heap, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/elite/xm40, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/combat/marsoc, WEAR_WAIST) - //limbs - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS) - //pockets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/socmed/full, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/full, WEAR_R_STORE) - -//Covert Raiders -/datum/equipment_preset/uscm/marsoc/covert - name = "Marine Raider (!DEATHSQUAD! Covert)" - uses_special_name = TRUE -/datum/equipment_preset/uscm/marsoc/covert/load_name(mob/living/carbon/human/new_human, randomise) - new_human.gender = MALE - new_human.change_real_name(new_human, "[pick(GLOB.nato_phonetic_alphabet)]") - new_human.age = rand(20,30) - -/datum/equipment_preset/uscm/marsoc/covert/load_rank(mob/living/carbon/human/new_human) - return PAY_SHORT_CDNM - -//Team Leader -/datum/equipment_preset/uscm/marsoc/sl - name = "Marine Raider Team Leader (!DEATHSQUAD!)" - assignment = JOB_MARINE_RAIDER_SL - rank = JOB_MARINE_RAIDER_SL - role_comm_title = "TL." - paygrades = list(PAY_SHORT_MO1 = JOB_PLAYTIME_TIER_0, PAY_SHORT_MO2 = JOB_PLAYTIME_TIER_3) - skills = /datum/skills/commando/deathsquad/leader - - minimap_icon = "leader" - dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) - dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) - - -//Codenamed Team Leader -/datum/equipment_preset/uscm/marsoc/sl/covert - name = "Marine Raider Team Leader (!DEATHSQUAD! Covert)" - uses_special_name = TRUE -/datum/equipment_preset/uscm/marsoc/sl/covert/load_name(mob/living/carbon/human/new_human, randomise) - new_human.gender = MALE - new_human.change_real_name(new_human, "[pick(GLOB.nato_phonetic_alphabet)]") - new_human.age = rand(20,30) - -/datum/equipment_preset/uscm/marsoc/sl/covert/load_rank(mob/living/carbon/human/new_human) - return PAY_SHORT_CDNM - -//Officer -/datum/equipment_preset/uscm/marsoc/cmd - name = "Marine Raider Officer (!DEATHSQUAD!)" - assignment = JOB_MARINE_RAIDER_CMD - rank = JOB_MARINE_RAIDER_CMD - role_comm_title = "CMD." - paygrades = list(PAY_SHORT_MO3 = JOB_PLAYTIME_TIER_0, PAY_SHORT_MO4 = JOB_PLAYTIME_TIER_3) - skills = /datum/skills/commando/deathsquad/officer - dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) - dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) - -/datum/equipment_preset/uscm/marsoc/low_threat - name = "Marine Raider" - -/datum/equipment_preset/uscm/marsoc/low_threat/load_gear(mob/living/carbon/human/new_human) - //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/marsoc, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/phosphorus, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector, WEAR_IN_BACK) - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/sof, WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc/marsoc, WEAR_FACE) - //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/sof, WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/prop/helmetgarb/helmet_nvg/marsoc, WEAR_IN_HELMET) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_HELMET) - //uniform - var/obj/item/clothing/under/marine/veteran/marsoc/uniform = new() - var/obj/item/clothing/accessory/storage/black_vest/accessory = new() - uniform.attach_accessory(new_human, accessory) - new_human.equip_to_slot_or_del(uniform, WEAR_BODY) - for(var/i in 1 to accessory.hold.storage_slots) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/buckshot, WEAR_IN_ACCESSORY) - //jacket - var/obj/item/clothing/suit/storage/marine/sof/armor = new() - new_human.equip_to_slot_or_del(armor, WEAR_JACKET) - for(var/i in 1 to armor.storage_slots) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/xm40, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/elite/xm40/ap, WEAR_J_STORE) - //waist - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/combat/marsoc, WEAR_WAIST) - //limbs - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine, WEAR_HANDS) - //pockets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical/socmed/not_op, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/full, WEAR_R_STORE) - -/datum/equipment_preset/uscm/marsoc/low_threat/sl - name = "Marine Raider Team Leader" - assignment = JOB_MARINE_RAIDER_SL - rank = JOB_MARINE_RAIDER_SL - role_comm_title = "TL." - paygrades = list(PAY_SHORT_MO1 = JOB_PLAYTIME_TIER_0, PAY_SHORT_MO2 = JOB_PLAYTIME_TIER_3) - skills = /datum/skills/commando/deathsquad/leader - - minimap_icon = "leader" - dress_under = list(/obj/item/clothing/under/marine/dress/blues/senior) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues/officer) - dress_hat = list(/obj/item/clothing/head/marine/dress_cover/officer) - -//############ Solar Devils (PvE Marines) ############# -//## Rifleman ##// -/datum/equipment_preset/uscm/rifleman_pve - name = "USCM Solar Devils Rifleman" - flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - - access = list(ACCESS_MARINE_PREP) - assignment = JOB_SQUAD_MARINE - rank = JOB_SQUAD_MARINE - paygrades = list(PAY_SHORT_ME1 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME2 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME3 = JOB_PLAYTIME_TIER_3) - role_comm_title = "RFN" - skills = /datum/skills/rifleman_pve - auto_squad_name = SQUAD_SOLAR - - minimap_icon = "private" - dress_under = list(/obj/item/clothing/under/marine/dress/blues) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) - -/datum/equipment_preset/uscm/rifleman_pve/load_status(mob/living/carbon/human/new_human) - new_human.nutrition = NUTRITION_MAX - -/datum/equipment_preset/uscm/rifleman_pve/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical(new_human), WEAR_R_EAR) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/splint(new_human), WEAR_IN_JACKET) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wrench(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/device/multitool(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/intel/chestrig(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/toolkit/full(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/high_explosive(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/incendiary(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/medium_stack(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/devils(new_human), WEAR_IN_BACK) - - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - spawn_marine_fluff_items(new_human) - -//## Corpsman ##// -/datum/equipment_preset/uscm/medic_pve - name = "USCM Solar Devils Platoon Corpsman" - flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_MEDPREP, ACCESS_MARINE_MEDBAY) - assignment = JOB_PLT_MED - rank = JOB_SQUAD_MEDIC - paygrades = list(PAY_SHORT_ME2 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME3 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME4 = JOB_PLAYTIME_TIER_3) - role_comm_title = "HM" - skills = /datum/skills/combat_medic_pve - auto_squad_name = SQUAD_SOLAR - - minimap_icon = "medic" - - utility_under = list(/obj/item/clothing/under/marine/medic) - dress_under = list(/obj/item/clothing/under/marine/dress/blues) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) - -/datum/equipment_preset/uscm/medic_pve/load_status(mob/living/carbon/human/new_human) - new_human.nutrition = NUTRITION_NORMAL - -/datum/equipment_preset/uscm/medic_pve/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/medic(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/med(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical(new_human), WEAR_R_EAR) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/splint(new_human), WEAR_IN_JACKET) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wrench(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/device/multitool(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/intel/chestrig(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/devils(new_human), WEAR_IN_BACK) - - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full(new_human), WEAR_WAIST) - spawn_marine_fluff_items(new_human) - -//## Smartgunner ##// -/datum/equipment_preset/uscm/sg_pve - name = "USCM Solar Devils Smartgunner" - flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_SMARTPREP) - assignment = JOB_SQUAD_SMARTGUN - rank = JOB_SQUAD_SMARTGUN - paygrades = list(PAY_SHORT_ME3 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME4 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME5 = JOB_PLAYTIME_TIER_3) - role_comm_title = "SG" - skills = /datum/skills/smartgunner_pve - auto_squad_name = SQUAD_SOLAR - - minimap_icon = "smartgunner" - dress_under = list(/obj/item/clothing/under/marine/dress/blues) - dress_over = list(/obj/item/clothing/suit/storage/jacket/marine/dress/blues) - -/datum/equipment_preset/uscm/sg_pve/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical(new_human), WEAR_R_EAR) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/smartgunner(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/devils(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wrench(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/device/multitool(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/simple(new_human), WEAR_IN_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/smartgun(new_human), WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/smartgunner/full(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m56_goggles(new_human), WEAR_EYES) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full/alternate(new_human), WEAR_R_STORE) - spawn_marine_fluff_items(new_human) - -/datum/equipment_preset/uscm/sg_pve/load_status(mob/living/carbon/human/new_human) - -//## Team Leader ##// -/datum/equipment_preset/uscm/tl_pve - name = "USCM Solar Devils Team Leader" - flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_TL_PREP, ACCESS_MARINE_DROPSHIP) - assignment = JOB_SQUAD_TEAM_LEADER - rank = JOB_SQUAD_TEAM_LEADER - paygrades = list(PAY_SHORT_ME3 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME4 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME5 = JOB_PLAYTIME_TIER_3) - role_comm_title = "FTL" - skills = /datum/skills/tl_pve - auto_squad_name = SQUAD_SOLAR - - minimap_icon = "tl" - -/datum/equipment_preset/uscm/tl_pve/load_status(mob/living/carbon/human/new_human) - new_human.nutrition = NUTRITION_NORMAL - -/datum/equipment_preset/uscm/tl_pve/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical(new_human), WEAR_R_EAR) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/splint(new_human), WEAR_IN_JACKET) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wrench(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/device/multitool(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/rto(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/toolkit/full(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/high_explosive(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/devils(new_human), WEAR_IN_BACK) - - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - spawn_marine_fluff_items(new_human) - -//## Squad Leader ##// -/datum/equipment_preset/uscm/sl_pve - name = "USCM Solar Devils Platoon Leader" - flags = EQUIPMENT_PRESET_EXTRA|EQUIPMENT_PRESET_MARINE - - access = list(ACCESS_MARINE_PREP, ACCESS_MARINE_LEADER, ACCESS_MARINE_DROPSHIP) - assignment = JOB_PLT_SL - rank = JOB_SQUAD_LEADER - paygrades = list(PAY_SHORT_ME5 = JOB_PLAYTIME_TIER_0, PAY_SHORT_ME6 = JOB_PLAYTIME_TIER_1, PAY_SHORT_ME7 = JOB_PLAYTIME_TIER_3) - role_comm_title = "SL" - skills = /datum/skills/sl_pve - auto_squad_name = SQUAD_SOLAR - - minimap_icon = "sl" - -/datum/equipment_preset/uscm/sl_pve/load_status(mob/living/carbon/human/new_human) - new_human.nutrition = NUTRITION_NORMAL - -/datum/equipment_preset/uscm/sl_pve/load_gear(mob/living/carbon/human/new_human) - new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/leader(new_human), WEAR_HEAD) - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/marine/cryo/tl(new_human), WEAR_L_EAR) - new_human.equip_to_slot_or_del(new /obj/item/tool/screwdriver/tactical(new_human), WEAR_R_EAR) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/medium/leader(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range/designator(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack(new_human), WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/splint(new_human), WEAR_IN_JACKET) - - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wirecutters/tactical(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/wrench(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/device/multitool(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/tool/weldingtool/largetank(new_human), WEAR_IN_ACCESSORY) - - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/satchel/intel/chestrig(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/flare/full(new_human), WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full(new_human), WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/insulated/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/toolkit/full(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/surgical(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/devils(new_human), WEAR_IN_BACK) - - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1(new_human), WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine(new_human), WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/m41aMK1/ap(new_human.back), WEAR_IN_BELT) - spawn_marine_fluff_items(new_human) diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 6b27397802..6407b16431 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -551,6 +551,34 @@ Applied by gun suicide and high impact bullet executions, removed by rejuvenate, overlays_standing[SUIT_GARB_LAYER] = IMG apply_overlay(SUIT_GARB_LAYER) + if(istype(wear_suit, /obj/item/clothing/suit/marine)) + var/obj/item/clothing/suit/marine/marine_armor = wear_suit + if(marine_armor.flags_marine_armor & ARMOR_SQUAD_OVERLAY) + if(assigned_squad && assigned_squad.equipment_color && assigned_squad.use_stripe_overlay) + var/leader = assigned_squad.squad_leader + var/image/squad_overlay = image(marine_armor.squad_overlay_icon, icon_state = "std-armor") + if(leader == src) + squad_overlay = image(marine_armor.squad_overlay_icon, icon_state = "sql-armor") + squad_overlay.layer = -SUIT_SQUAD_LAYER + squad_overlay.alpha = assigned_squad.armor_alpha + squad_overlay.color = assigned_squad.equipment_color + overlays_standing[SUIT_SQUAD_LAYER] = squad_overlay + apply_overlay(SUIT_SQUAD_LAYER) + + if(length(marine_armor.armor_overlays)) + var/image/K + var/image/IMG + for(var/i in marine_armor.armor_overlays) + K = marine_armor.armor_overlays[i] + if(K) + if(!IMG) + IMG = image(K.icon,src,K.icon_state, "layer"= -SUIT_GARB_LAYER) + else + IMG.overlays += image(K.icon,src,K.icon_state, "layer"= -SUIT_GARB_LAYER) + if(IMG) + overlays_standing[SUIT_GARB_LAYER] = IMG + apply_overlay(SUIT_GARB_LAYER) + update_tail_showing() else update_tail_showing() diff --git a/code/modules/projectiles/gun_helpers.dm b/code/modules/projectiles/gun_helpers.dm index 46f7f68b6f..0ef3023e82 100644 --- a/code/modules/projectiles/gun_helpers.dm +++ b/code/modules/projectiles/gun_helpers.dm @@ -187,7 +187,7 @@ DEFINES in setup.dm, referenced here. /obj/item/weapon/gun/proc/retrieval_check(mob/living/carbon/human/user, retrieval_slot) if(retrieval_slot == WEAR_J_STORE) var/obj/item/suit = user.wear_suit - if(!istype(suit, /obj/item/clothing/suit/storage/marine)) + if(!(istype(suit, /obj/item/clothing/suit/marine) || istype(suit, /obj/item/clothing/suit/storage/marine))) return FALSE return TRUE diff --git a/code/modules/vehicles/interior/interactable/vendors.dm b/code/modules/vehicles/interior/interactable/vendors.dm index 71f4e9e0e2..6bd4f6dfcd 100644 --- a/code/modules/vehicles/interior/interactable/vendors.dm +++ b/code/modules/vehicles/interior/interactable/vendors.dm @@ -408,13 +408,10 @@ list("ARMOR", -1, null, null), list("M10 Pattern Marine Helmet", 0, /obj/item/clothing/head/helmet/marine, VENDOR_ITEM_REGULAR), - list("M3 Pattern Carrier Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/carrier, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padded Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padded, VENDOR_ITEM_REGULAR), - list("M3 Pattern Padless Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padless, VENDOR_ITEM_REGULAR), - list("M3 Pattern Ridged Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/padless_lines, VENDOR_ITEM_REGULAR), - list("M3 Pattern Skull Marine Armor", 0, /obj/item/clothing/suit/storage/marine/medium/skull, VENDOR_ITEM_REGULAR), - list("M3-EOD Pattern Heavy Armor", 0, /obj/item/clothing/suit/storage/marine/heavy, VENDOR_ITEM_REGULAR), - list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/storage/marine/light, VENDOR_ITEM_REGULAR), + list("M3 Pattern Marine Armor", 0, /obj/item/clothing/suit/marine, VENDOR_ITEM_REGULAR), + list("M3 Pattern Ridged Marine Armor", 0, /obj/item/clothing/suit/marine/lines, VENDOR_ITEM_REGULAR), + list("M3-EOD Pattern Heavy Armor", 0, /obj/item/clothing/suit/marine/heavy, VENDOR_ITEM_REGULAR), + list("M3-L Pattern Light Armor", 0, /obj/item/clothing/suit/marine/light, VENDOR_ITEM_REGULAR), list("MISCELLANEOUS", -1, null, null), list("Box Of MREs", 0, /obj/item/ammo_box/magazine/misc/mre, VENDOR_ITEM_REGULAR), diff --git a/colonialmarines.dme b/colonialmarines.dme index 73208b2a2b..00f5d79df6 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -550,7 +550,6 @@ #include "code\datums\emergency_calls\provost.dm" #include "code\datums\emergency_calls\riot.dm" #include "code\datums\emergency_calls\royal_marines.dm" -#include "code\datums\emergency_calls\solar_devils.dm" #include "code\datums\emergency_calls\souto.dm" #include "code\datums\emergency_calls\supplies.dm" #include "code\datums\emergency_calls\tank_crew.dm" diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index 063e379133..9e74960978 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/belt.dmi b/icons/mob/humans/onmob/belt.dmi index adf914f6dd..bef71ea03a 100644 Binary files a/icons/mob/humans/onmob/belt.dmi and b/icons/mob/humans/onmob/belt.dmi differ diff --git a/icons/mob/humans/onmob/eyes.dmi b/icons/mob/humans/onmob/eyes.dmi index 4450c3f393..b5de9d92d8 100644 Binary files a/icons/mob/humans/onmob/eyes.dmi and b/icons/mob/humans/onmob/eyes.dmi differ diff --git a/icons/mob/humans/onmob/head_1.dmi b/icons/mob/humans/onmob/head_1.dmi index cd7acbc920..78c36b1087 100644 Binary files a/icons/mob/humans/onmob/head_1.dmi and b/icons/mob/humans/onmob/head_1.dmi differ diff --git a/icons/mob/humans/onmob/helmet_garb.dmi b/icons/mob/humans/onmob/helmet_garb.dmi index e1499c4ee4..7db575f905 100644 Binary files a/icons/mob/humans/onmob/helmet_garb.dmi and b/icons/mob/humans/onmob/helmet_garb.dmi differ diff --git a/icons/mob/humans/onmob/suit_1.dmi b/icons/mob/humans/onmob/suit_1.dmi index f0267edd30..37496a3601 100644 Binary files a/icons/mob/humans/onmob/suit_1.dmi and b/icons/mob/humans/onmob/suit_1.dmi differ diff --git a/icons/mob/humans/onmob/ties.dmi b/icons/mob/humans/onmob/ties.dmi index e7e2ab6db8..4e444c9f05 100644 Binary files a/icons/mob/humans/onmob/ties.dmi and b/icons/mob/humans/onmob/ties.dmi differ diff --git a/icons/obj/items/clothing/cm_hats.dmi b/icons/obj/items/clothing/cm_hats.dmi index 365cbb9c68..3c56b14aca 100644 Binary files a/icons/obj/items/clothing/cm_hats.dmi and b/icons/obj/items/clothing/cm_hats.dmi differ diff --git a/icons/obj/items/clothing/cm_suits.dmi b/icons/obj/items/clothing/cm_suits.dmi index c601920ff5..158ac4e28a 100644 Binary files a/icons/obj/items/clothing/cm_suits.dmi and b/icons/obj/items/clothing/cm_suits.dmi differ diff --git a/icons/obj/items/clothing/ties.dmi b/icons/obj/items/clothing/ties.dmi index ec3fe328db..6362a14f85 100644 Binary files a/icons/obj/items/clothing/ties.dmi and b/icons/obj/items/clothing/ties.dmi differ diff --git a/icons/obj/items/clothing/ties_overlay.dmi b/icons/obj/items/clothing/ties_overlay.dmi index 84aeec5710..8a9cdace22 100644 Binary files a/icons/obj/items/clothing/ties_overlay.dmi and b/icons/obj/items/clothing/ties_overlay.dmi differ diff --git a/maps/map_files/rover/rover.dmm b/maps/map_files/rover/rover.dmm index da709e5cfa..3a20fdcbca 100644 --- a/maps/map_files/rover/rover.dmm +++ b/maps/map_files/rover/rover.dmm @@ -1204,8 +1204,8 @@ job = "Platoon Sergeant" }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "mZ" = ( @@ -1533,8 +1533,8 @@ job = "Platoon Corpsman" }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/medic/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/sterile_green, /area/golden_arrow/medical) "qN" = ( @@ -1650,8 +1650,8 @@ job = "Squad Sergeant" }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "rL" = ( @@ -2221,8 +2221,8 @@ has_cryo_gear = 0 }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "yP" = ( @@ -3180,8 +3180,8 @@ job = "Smartgunner" }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "Mw" = ( @@ -3190,8 +3190,8 @@ job = "Radio Telephone Operator" }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "My" = ( @@ -4221,8 +4221,8 @@ has_cryo_gear = 0 }, /obj/item/clothing/shoes/marine/jungle/knife, -/obj/item/device/radio/headset/almayer/sof/survivor_forecon, /obj/item/clothing/under/marine/standard, +/obj/item/device/radio/headset/almayer/marine/solardevils/forecon, /turf/open/floor/almayer/plate, /area/golden_arrow/dorms) "Zx" = (