From 92be94aadc9ab9a9b990f5792cd092831178084d Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Fri, 19 Jul 2024 00:01:02 +0800 Subject: [PATCH 1/2] InitalCommit --- code/datums/emergency_calls/mercs.dm | 44 +++- code/modules/clothing/head/helmet.dm | 34 +++ .../clothing/suits/marine_armor/ert.dm | 76 ++++++ code/modules/clothing/under/marine_uniform.dm | 2 +- .../modules/gear_presets/_select_equipment.dm | 32 ++- code/modules/gear_presets/other.dm | 229 +++++++++++++++++- 6 files changed, 403 insertions(+), 14 deletions(-) diff --git a/code/datums/emergency_calls/mercs.dm b/code/datums/emergency_calls/mercs.dm index 33a261a1da5e..6362cbd1c750 100644 --- a/code/datums/emergency_calls/mercs.dm +++ b/code/datums/emergency_calls/mercs.dm @@ -85,13 +85,18 @@ max_medics = 3 /datum/emergency_call/heavy_mercs - name = "Elite Mercenaries (Random Alignment)" + name = "Elite Mercenaries (!DEATHSQUAD!) (Random Hostility)" mob_min = 4 mob_max = 8 probability = 0 max_medics = 1 max_engineers = 1 max_heavies = 1 + var/standard_preset = /datum/equipment_preset/other/elite_merc/standard + var/medic_preset = /datum/equipment_preset/other/elite_merc/medic + var/engineer_preset = /datum/equipment_preset/other/elite_merc/engineer + var/heavy_preset = /datum/equipment_preset/other/elite_merc/heavy + var/leader_preset = /datum/equipment_preset/other/elite_merc/leader /datum/emergency_call/heavy_mercs/New() . = ..() @@ -102,8 +107,24 @@ else objectives = "Help the crew of the [MAIN_SHIP_NAME] in exchange for payment, and choose your payment well. Do what your Captain says. Ensure your survival at all costs." +/datum/emergency_call/heavy_mercs/low_threat + name = "Elite Mercenaries (Random Hostility)" + standard_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat + medic_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/medic + engineer_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer + heavy_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy + leader_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/leader + /datum/emergency_call/heavy_mercs/hostile + name = "Elite Mercenaries (!DEATHSQUAD!) (HOSTILE to USCM)" + +/datum/emergency_call/heavy_mercs/hostile/low_threat name = "Elite Mercenaries (HOSTILE to USCM)" + standard_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat + medic_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/medic + engineer_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer + heavy_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy + leader_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/leader /datum/emergency_call/heavy_mercs/hostile/New() . = ..() @@ -112,7 +133,8 @@ objectives = "Ransack the [MAIN_SHIP_NAME] and kill anyone who gets in your way. Do what your Captain says. Ensure your survival at all costs." /datum/emergency_call/heavy_mercs/friendly - name = "Elite Mercenaries (Friendly)" + name = "Elite Mercenaries (!DEATHSQUAD!) (ALLIED to USCM)" + mob_min = 1 /datum/emergency_call/heavy_mercs/friendly/New() . = ..() @@ -132,6 +154,14 @@ to_chat(H, SPAN_NOTICE(SPAN_BOLD("To this end, you have been contacted by Weyland-Yutani of the USCSS Royce to assist the [MAIN_SHIP_NAME].."))) to_chat(H, SPAN_NOTICE(SPAN_BOLD("Ensure they are not destroyed."))) +/datum/emergency_call/heavy_mercs/friendly/low_threat + name = "Elite Mercenaries (ALLIED to USCM)" + standard_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat + medic_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/medic + engineer_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer + heavy_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy + leader_preset = /datum/equipment_preset/other/elite_merc/standard_lowthreat/leader + /datum/emergency_call/heavy_mercs/create_member(datum/mind/M, turf/override_spawn_loc) var/turf/spawn_loc = override_spawn_loc ? override_spawn_loc : get_spawn_point() @@ -145,22 +175,22 @@ if(!leader && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_LEADER) && check_timelock(H.client, JOB_SQUAD_LEADER, time_required_for_job)) //First one spawned is always the leader. leader = H - arm_equipment(H, /datum/equipment_preset/other/elite_merc/leader, TRUE, TRUE) + arm_equipment(H, leader_preset, TRUE, TRUE) to_chat(H, SPAN_ROLE_HEADER("You are the Elite Mercenary leader!")) else if(medics < max_medics && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_MEDIC) && check_timelock(H.client, JOB_SQUAD_MEDIC, time_required_for_job)) medics++ - arm_equipment(H, /datum/equipment_preset/other/elite_merc/medic, TRUE, TRUE) + arm_equipment(H, medic_preset, TRUE, TRUE) to_chat(H, SPAN_ROLE_HEADER("You are an Elite Mercenary Medic!")) else if(engineers < max_engineers && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_ENGINEER) && check_timelock(H.client, JOB_SQUAD_ENGI, time_required_for_job)) engineers++ - arm_equipment(H, /datum/equipment_preset/other/elite_merc/engineer, TRUE, TRUE) + arm_equipment(H, engineer_preset, TRUE, TRUE) to_chat(H, SPAN_ROLE_HEADER("You are an Elite Mercenary Engineer!")) else if(heavies < max_heavies && HAS_FLAG(H.client.prefs.toggles_ert, PLAY_SMARTGUNNER) && check_timelock(H.client, JOB_SQUAD_SMARTGUN, time_required_for_job)) heavies++ - arm_equipment(H, /datum/equipment_preset/other/elite_merc/heavy, TRUE, TRUE) + arm_equipment(H, heavy_preset, TRUE, TRUE) to_chat(H, SPAN_ROLE_HEADER("You are an Elite Mercenary Specialist!")) else - arm_equipment(H, /datum/equipment_preset/other/elite_merc/standard, TRUE, TRUE) + arm_equipment(H, standard_preset, TRUE, TRUE) to_chat(H, SPAN_ROLE_HEADER("You are an Elite Mercenary!")) print_backstory(H) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index e52032d0cba6..fce908565fb9 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -1364,6 +1364,40 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( desc = "A sturdy helmet worn by an unknown mercenary group. Features a toggleable welding screen for eye protection." built_in_visors = list(new /obj/item/device/helmet_visor/welding_visor/mercenary) +//=======================================================================\\ + +/obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat + name = "\improper L12 ceramic helmet" + desc = "A sturdy helmet worn by an unknown mercenary group. This is a cheaper version of the far more stronger K12 helmet." + icon_state = "mercenary_heavy_helmet" + flags_armor_protection = BODY_FLAG_HEAD|BODY_FLAG_FACE|BODY_FLAG_EYES + 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 + flags_inventory = COVEREYES|COVERMOUTH|BLOCKSHARPOBJ + flags_inv_hide = HIDEEARS|HIDEEYES|HIDEFACE|HIDEMASK|HIDEALLHAIR + flags_marine_helmet = HELMET_DAMAGE_OVERLAY + +/obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/miner + name = "\improper L8 miner helmet" + desc = "A sturdy helmet, specialised for mining, worn by an unknown mercenary group. This is a cheaper version of the far more stronger L8 helmet." + icon_state = "mercenary_miner_helmet" + +/obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/support + name = "\improper L7 helmet" + desc = "A sturdy helmet worn by an unknown mercenary group. This is a cheaper version of the far more stronger L8 helmet." + icon_state = "mercenary_engineer_helmet" + +/obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/support/engineer + desc = "A sturdy helmet worn by an unknown mercenary group. Features a toggleable welding screen for eye protection. This is a cheaper version of the far more stronger L8 helmet." + built_in_visors = list(new /obj/item/device/helmet_visor/welding_visor/mercenary) + + //=============================//MEME\\==================================\\ //=======================================================================\\ diff --git a/code/modules/clothing/suits/marine_armor/ert.dm b/code/modules/clothing/suits/marine_armor/ert.dm index 90fb962ffa93..ea8b2f78fe29 100644 --- a/code/modules/clothing/suits/marine_armor/ert.dm +++ b/code/modules/clothing/suits/marine_armor/ert.dm @@ -642,6 +642,82 @@ armor_melee = CLOTHING_ARMOR_VERYHIGH armor_bomb = CLOTHING_ARMOR_GIGAHIGH +//=====================================================================\\ + +/obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat + name = "\improper L12 ceramic plated armor" + desc = "A set of grey, heavy ceramic armor with dark blue highlights. It is the standard uniform of an unknown mercenary group working in the sector. This is a cheaper version of the far more stronger K12 version." + icon_state = "mercenary_heavy_armor" + flags_inventory = BLOCKSHARPOBJ|BLOCK_KNOCKDOWN + 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 + storage_slots = 2 + slowdown = SLOWDOWN_ARMOR_LIGHT + allowed = list( + /obj/item/weapon/gun, + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/ammo_magazine/, + /obj/item/weapon/baton, + /obj/item/restraint/handcuffs, + /obj/item/storage/fancy/cigarettes, + /obj/item/tool/lighter, + /obj/item/explosive/grenade, + /obj/item/storage/bible, + /obj/item/weapon/sword/machete, + /obj/item/attachable/bayonet, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + ) + uniform_restricted = list(/obj/item/clothing/under/marine/veteran/mercenary) + item_state_slots = list(WEAR_JACKET = "mercenary_heavy_armor") + +/obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/heavy + name = "\improper Modified L12 ceramic plated armor" + desc = "A set of grey, heavy ceramic armor with dark blue highlights. It has been modified with extra ceramic plates placed in its storage pouch, and seems intended to support an extremely heavy weapon. This is a cheaper version of the far more stronger K12 version." + armor_melee = CLOTHING_ARMOR_MEDIUMHIGH + armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH + armor_bomb = CLOTHING_ARMOR_MEDIUMHIGH + armor_bio = CLOTHING_ARMOR_MEDIUMHIGH + armor_rad = CLOTHING_ARMOR_MEDIUMHIGH + armor_internaldamage = CLOTHING_ARMOR_MEDIUMHIGH + storage_slots = 1 + +/obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/miner + name = "\improper L8 armored miner vest" + desc = "A set of beige, light armor built for protection while mining. It is a specialized uniform of an unknown mercenary group working in the sector. This is a cheaper version of the far more stronger Y8 version." + icon_state = "mercenary_miner_armor" + storage_slots = 3 + allowed = list( + /obj/item/weapon/gun, + /obj/item/tank/emergency_oxygen, + /obj/item/device/flashlight, + /obj/item/ammo_magazine/, + /obj/item/weapon/baton, + /obj/item/restraint/handcuffs, + /obj/item/storage/fancy/cigarettes, + /obj/item/tool/lighter, + /obj/item/explosive/grenade, + /obj/item/storage/bible, + /obj/item/weapon/sword/machete, + /obj/item/attachable/bayonet, + /obj/item/device/motiondetector, + /obj/item/device/walkman, + ) + uniform_restricted = list(/obj/item/clothing/under/marine/veteran/mercenary) + item_state_slots = list(WEAR_JACKET = "mercenary_miner_armor") + +/obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/support + name = "\improper L7 armored vest" + desc = "A set of blue armor with yellow highlights built for protection while building or carrying out medical treatment in highly dangerous environments. It is a specialized uniform of an unknown mercenary group working in the sector. This is a cheaper version of the far more stronger Z7 version" + icon_state = "mercenary_engineer_armor" + item_state_slots = list(WEAR_JACKET = "mercenary_engineer_armor") //=========================//PROVOST\\================================\\ //=======================================================================\\ diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index 74cb5ea552ee..9af39c791ab5 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -635,7 +635,7 @@ icon_state = "mercenary_heavy_uniform" worn_state = "mercenary_heavy_uniform" min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT - suit_restricted = list(/obj/item/clothing/suit/storage/marine/veteran/mercenary) + suit_restricted = list(/obj/item/clothing/suit/storage/marine/veteran/mercenary, /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat) /obj/item/clothing/under/marine/veteran/mercenary/miner name = "\improper Mercenary miner fatigues" diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 138e091ad5a4..253ee170ddfb 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -609,7 +609,7 @@ GLOBAL_LIST_INIT(rebel_rifles, list( var/list/elite_merc_rifles = list( /obj/item/weapon/gun/smg/m39/elite = /obj/item/ammo_magazine/smg/m39/ap, - /obj/item/weapon/gun/rifle/m41aMK1 = /obj/item/ammo_magazine/rifle/m41aMK1, + /obj/item/weapon/gun/rifle/m41aMK1 = /obj/item/ammo_magazine/rifle/m41aMK1/ap, /obj/item/weapon/gun/rifle/m41a/elite = /obj/item/ammo_magazine/rifle/ap) var/list/elite_merc_shotguns = list( @@ -635,6 +635,36 @@ GLOBAL_LIST_INIT(rebel_rifles, list( new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine, WEAR_WAIST) spawn_weapon(gunpath, ammopath, M, 0, ammo_amount) +/datum/equipment_preset/proc/spawn_merc_elite_weapon_lowthreat(atom/M, ammo_amount = 12, shotgun_chance = 50, spawn_belt = 1) + if(!M) return + + var/list/elite_merc_rifles = list( + /obj/item/weapon/gun/rifle/m41aMK1/anchorpoint = /obj/item/ammo_magazine/rifle/m41aMK1/ap, + /obj/item/weapon/gun/rifle/m41a/tactical = /obj/item/ammo_magazine/rifle/ap) + + var/list/elite_merc_shotguns = list( + /obj/item/weapon/gun/shotgun/merc = pick(GLOB.shotgun_handfuls_12g), + /obj/item/weapon/gun/shotgun/combat = pick(GLOB.shotgun_handfuls_12g), + /obj/item/weapon/gun/shotgun/type23 = pick(GLOB.shotgun_handfuls_8g)) + + if(prob(shotgun_chance)) + var/gunpath = pick(elite_merc_shotguns) + var/ammopath = elite_merc_shotguns[gunpath] + if(spawn_belt) + if(ishuman(M)) + var/mob/living/carbon/human/new_human = M + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/shotgun, WEAR_WAIST) + ammo_amount = 24 + spawn_weapon(gunpath, ammopath, M, 0, ammo_amount) + else + var/gunpath = pick(elite_merc_rifles) + var/ammopath = elite_merc_rifles[gunpath] + if(spawn_belt) + if(ishuman(M)) + var/mob/living/carbon/human/new_human = M + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine, WEAR_WAIST) + spawn_weapon(gunpath, ammopath, M, 0, ammo_amount) + /datum/equipment_preset/proc/spawn_weapon(gunpath, ammopath, atom/M, sidearm = 0, ammo_amount = 12) diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index 4d7ef9bda559..64d88b0c62ee 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -266,9 +266,10 @@ new_human.b_hair = rand(25,45) //*****************************************************************************************************/ +//************************************* DEATHSQUAD ELITE MERCENARIES **********************************/ /datum/equipment_preset/other/elite_merc/standard - name = "Elite Mercenary (Standard Miner)" + name = "Elite Mercenary (!DEATHSQUAD!) (Standard)" paygrade = PAY_SHORT_EFL_S flags = EQUIPMENT_PRESET_EXTRA @@ -305,7 +306,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc/heavy - name = "Elite Mercenary (Heavy)" + name = "Elite Mercenary (!DEATHSQUAD!) (Heavy)" paygrade = PAY_SHORT_EFL_H flags = EQUIPMENT_PRESET_EXTRA @@ -345,7 +346,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc/engineer - name = "Elite Mercenary (Engineer)" + name = "Elite Mercenary (!DEATHSQUAD!) (Engineer)" paygrade = PAY_SHORT_EFL_E flags = EQUIPMENT_PRESET_EXTRA @@ -399,7 +400,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc/medic - name = "Elite Mercenary (Medic)" + name = "Elite Mercenary (!DEATHSQUAD!) (Medic)" paygrade = PAY_SHORT_EFL_M flags = EQUIPMENT_PRESET_EXTRA @@ -445,7 +446,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc/leader - name = "Elite Mercenary (Leader)" + name = "Elite Mercenary (!DEATHSQUAD!) (Leader)" paygrade = PAY_SHORT_EFL_TL flags = EQUIPMENT_PRESET_EXTRA @@ -480,6 +481,224 @@ //gun spawn_merc_elite_weapon(new_human, 7, 25, 1) //lower shotgun chance, but not zero + +//*****************************************************************************************************/ +//*********************************** NON-DEATHSQUAD ELITE MERCENARIES ********************************/ + +/datum/equipment_preset/other/elite_merc/standard_lowthreat + name = "Elite Mercenary (Standard)" + paygrade = PAY_SHORT_EFL_S + flags = EQUIPMENT_PRESET_EXTRA + + idtype = /obj/item/card/id/centcom + assignment = "Mercenary Miner" + rank = "Mercenary" + skills = /datum/skills/mercenary/elite + faction = FACTION_MERCENARY + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/load_gear(mob/living/carbon/human/new_human) + //TODO: add unique backpacks and satchels + //clothes + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/mercenary/miner, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/miner, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/miner, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m42_night_goggles, WEAR_EYES) + //storage items, belt spawning is handled in the spawn elite weapon proc. + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/autoinjector/full, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/upp, WEAR_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/hefa, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + //gun + spawn_merc_elite_weapon_lowthreat(new_human, 12, 50, 1) + +//*****************************************************************************************************/ + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy + name = "Elite Mercenary (Heavy)" + paygrade = PAY_SHORT_EFL_H + flags = EQUIPMENT_PRESET_EXTRA + + idtype = /obj/item/card/id/centcom + assignment = "Mercenary Heavy" + rank = "Mercenary" + skills = /datum/skills/mercenary/elite/heavy + faction = FACTION_MERCENARY + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy/load_gear(mob/living/carbon/human/new_human) + //TODO: add backpacks and satchels + //clothes + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/mercenary, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/heavy, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m42_night_goggles, WEAR_EYES) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/heavy, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/pressurized_reagent_canister/oxycodone, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/autoinjector/full, WEAR_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/m15, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/phosphorus, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/minigun(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/minigun(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/minigun(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/minigun(new_human), WEAR_IN_BACK) + //gun + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/minigun(new_human), WEAR_J_STORE) + + +//*****************************************************************************************************/ +/datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer + name = "Elite Mercenary (Engineer)" + paygrade = PAY_SHORT_EFL_E + flags = EQUIPMENT_PRESET_EXTRA + + idtype = /obj/item/card/id/data + assignment = "Mercenary Engineer" + rank = "Mercenary" + skills = /datum/skills/mercenary/elite/engineer + faction = FACTION_MERCENARY + + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer/load_gear(mob/living/carbon/human/new_human) + //TODO: add backpacks and satchels + //snowflake webbing + var/obj/item/clothing/under/marine/veteran/mercenary/support/SUPPORT = new() + var/obj/item/clothing/accessory/storage/black_vest/W = new() + SUPPORT.attach_accessory(new_human, W) + W.hold.storage_slots = 7 + new_human.equip_to_slot_or_del(SUPPORT, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/bicaridine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/bicaridine, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/kelotane, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/kelotane, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/tramadol, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/tramadol, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/emergency, WEAR_IN_ACCESSORY) + //clothes + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/support, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/support/engineer, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/m42_night_goggles, WEAR_EYES) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked/elite_merc, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/large, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tactical/full, WEAR_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/ert, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/plasteel/large_stack, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/defenses/handheld/sentry/mini, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + //gun + spawn_merc_elite_weapon_lowthreat(new_human, 9, 100, 0) //only shotguns + +//*****************************************************************************************************/ + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/medic + name = "Elite Mercenary (Medic)" + paygrade = PAY_SHORT_EFL_M + flags = EQUIPMENT_PRESET_EXTRA + + idtype = /obj/item/card/id/centcom + assignment = "Mercenary Medic" + rank = "Mercenary" + skills = /datum/skills/mercenary/elite/medic + faction = FACTION_MERCENARY + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/medic/load_gear(mob/living/carbon/human/new_human) + //webbing + var/obj/item/clothing/under/marine/veteran/mercenary/support/SUPPORT = new() + var/obj/item/clothing/accessory/storage/surg_vest/equipped/W = new() + SUPPORT.attach_accessory(new_human, W) + new_human.equip_to_slot_or_del(SUPPORT, WEAR_BODY) + //clothing + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/medhud, WEAR_EYES) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/mercenary/support, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat/support, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat/support, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator/upgraded, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/adv, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/roller/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_BACK) //Line in vest. + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + //gun + spawn_merc_elite_weapon_lowthreat(new_human, 7, 0, 0) //no shotguns + +//*****************************************************************************************************/ + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/leader + name = "Elite Mercenary (Leader)" + paygrade = PAY_SHORT_EFL_TL + flags = EQUIPMENT_PRESET_EXTRA + + idtype = /obj/item/card/id/centcom + assignment = "Mercenary Warlord" + rank = "Mercenary" + skills = /datum/skills/mercenary/elite/leader + faction = FACTION_MERCENARY + +/datum/equipment_preset/other/elite_merc/standard_lowthreat/leader/load_gear(mob/living/carbon/human/new_human) + //clothes + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/dutch, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/mercenary, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/veteran/mercenary_lowthreat, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran, WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/marine/veteran/mercenary_lowthreat, WEAR_HEAD) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/veteran/pmc/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/pmc, WEAR_FACE) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night/medhud, WEAR_EYES) + //storage items + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/C4, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/autoinjector/full, WEAR_R_STORE) + //backpack and stuff in it + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/attachments(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/m15, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/smoke, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/box/packet/phosphorus/upp, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/storage/firstaid/regular/response, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked/elite_merc, WEAR_IN_BACK) + //gun + spawn_merc_elite_weapon_lowthreat(new_human, 7, 25, 1) //lower shotgun chance, but not zero + + //*****************************************************************************************************/ /datum/equipment_preset/other/business_person From 6f6fb598d11dd7d8362da2a85287d1ffe781185b Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 23:10:34 +0800 Subject: [PATCH 2/2] FinalFix --- code/modules/gear_presets/other.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/gear_presets/other.dm b/code/modules/gear_presets/other.dm index 4d7b8a47404e..ec6926da5da4 100644 --- a/code/modules/gear_presets/other.dm +++ b/code/modules/gear_presets/other.dm @@ -487,7 +487,7 @@ /datum/equipment_preset/other/elite_merc/standard_lowthreat name = "Elite Mercenary (Standard)" - paygrade = PAY_SHORT_EFL_S + paygrades = list(PAY_SHORT_EFL_S = JOB_PLAYTIME_TIER_0) flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/centcom @@ -524,7 +524,7 @@ /datum/equipment_preset/other/elite_merc/standard_lowthreat/heavy name = "Elite Mercenary (Heavy)" - paygrade = PAY_SHORT_EFL_H + paygrades = list(PAY_SHORT_EFL_H = JOB_PLAYTIME_TIER_0) flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/centcom @@ -564,7 +564,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/other/elite_merc/standard_lowthreat/engineer name = "Elite Mercenary (Engineer)" - paygrade = PAY_SHORT_EFL_E + paygrades = list(PAY_SHORT_EFL_E = JOB_PLAYTIME_TIER_0) flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/data @@ -618,7 +618,7 @@ /datum/equipment_preset/other/elite_merc/standard_lowthreat/medic name = "Elite Mercenary (Medic)" - paygrade = PAY_SHORT_EFL_M + paygrades = list(PAY_SHORT_EFL_M = JOB_PLAYTIME_TIER_0) flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/centcom @@ -664,7 +664,7 @@ /datum/equipment_preset/other/elite_merc/standard_lowthreat/leader name = "Elite Mercenary (Leader)" - paygrade = PAY_SHORT_EFL_TL + paygrades = list(PAY_SHORT_EFL_TL = JOB_PLAYTIME_TIER_0) flags = EQUIPMENT_PRESET_EXTRA idtype = /obj/item/card/id/centcom