From dc33f36fba6124c91fe7dbc4b3fc1cee7375c462 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 15:01:05 +0800 Subject: [PATCH 1/5] InitalCommit --- code/__DEFINES/job.dm | 3 + code/__DEFINES/paygrade_defs/upp.dm | 3 + code/datums/factions/upp.dm | 4 + code/datums/paygrades/factions/upp/upp.dm | 7 + code/datums/skills/upp.dm | 28 + code/modules/cm_marines/marines_consoles.dm | 2 + code/modules/gear_presets/upp.dm | 629 +++++++++++++------- icons/mob/hud/marine_hud.dmi | Bin 13613 -> 13786 bytes 8 files changed, 462 insertions(+), 214 deletions(-) diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index 3fd552f5369f..890e731ea667 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -263,6 +263,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_UPP_SPECIALIST "UPP Serzhant" #define JOB_UPP_LEADER "UPP Master Serzhant" #define JOB_UPP_POLICE "UPP Politsiya" +#define JOB_UPP_SUPPLY "UPP Korporal Logistiki" #define JOB_UPP_LT_OFFICER "UPP Leytenant" #define JOB_UPP_LT_DOKTOR "UPP Leytenant Doktor" #define JOB_UPP_SRLT_OFFICER "UPP Senior Leytenant" @@ -290,6 +291,8 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_UPP_CREWMAN "UPP Tank Crewman" +#define JOB_UPP_COMMISSAR "UPP Starshy Politruk" + //-------- CLF --------// #define JOB_CLF "CLF Guerilla" #define JOB_CLF_ENGI "CLF Field Technician" diff --git a/code/__DEFINES/paygrade_defs/upp.dm b/code/__DEFINES/paygrade_defs/upp.dm index 40c0d8441b2e..7e1f6e5ed7ad 100644 --- a/code/__DEFINES/paygrade_defs/upp.dm +++ b/code/__DEFINES/paygrade_defs/upp.dm @@ -43,6 +43,9 @@ /// UO4, Mayjor #define PAY_SHORT_UO4 "UO4" +/// UO4P, Starshy Politruk +#define PAY_SHORT_UO4P "UO4P" + /// UO5, Leytenant Kolonel #define PAY_SHORT_UO5 "UO5" diff --git a/code/datums/factions/upp.dm b/code/datums/factions/upp.dm index 90b04765cf85..1a1f0e9a2390 100644 --- a/code/datums/factions/upp.dm +++ b/code/datums/factions/upp.dm @@ -53,6 +53,10 @@ hud_icon_state = "vc" if(JOB_UPP_LT_DOKTOR) hud_icon_state = "doc" + if(JOB_UPP_SUPPLY) + hud_icon_state = "log" + if(JOB_UPP_COMMISSAR) + hud_icon_state = "commi" if(hud_icon_state) holder.overlays += image('icons/mob/hud/marine_hud.dmi', H, "upp_[hud_icon_state]") diff --git a/code/datums/paygrades/factions/upp/upp.dm b/code/datums/paygrades/factions/upp/upp.dm index b9ce691fdb8d..0cb6d1e455e9 100644 --- a/code/datums/paygrades/factions/upp/upp.dm +++ b/code/datums/paygrades/factions/upp/upp.dm @@ -95,6 +95,13 @@ pay_multiplier = 2.5 officer_grade = GRADE_OFFICER +/datum/paygrade/upp/uo4p + paygrade = PAY_SHORT_UO4P + name = "Starshy Politruk" + prefix = "Pol." + pay_multiplier = 5 + officer_grade = GRADE_OFFICER + /datum/paygrade/upp/uo5 paygrade = PAY_SHORT_UO5 name = "Leytenant Kolonel" diff --git a/code/datums/skills/upp.dm b/code/datums/skills/upp.dm index 8ada7ccad124..1e8230dafb1c 100644 --- a/code/datums/skills/upp.dm +++ b/code/datums/skills/upp.dm @@ -83,6 +83,34 @@ UNITED PROGRESSIVE PEOPLES SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, ) +/datum/skills/upp/supply_specialist + name = "UPP Soldat Logistiki" + skills = list( + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, + SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, + ) + +/datum/skills/upp/commissar + name = "UPP Starshy Politruk" + skills = list( + SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, + SKILL_ENGINEER = SKILL_ENGINEER_NOVICE, + SKILL_MEDICAL = SKILL_MEDICAL_TRAINED, + SKILL_ENDURANCE = SKILL_ENDURANCE_TRAINED, + SKILL_FIREMAN = SKILL_FIREMAN_TRAINED, + SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, + SKILL_POWERLOADER = SKILL_POWERLOADER_MASTER, + SKILL_VEHICLE = SKILL_VEHICLE_SMALL, + SKILL_LEADERSHIP = SKILL_LEAD_MASTER, + SKILL_OVERWATCH = SKILL_OVERWATCH_TRAINED, + SKILL_INTEL = SKILL_INTEL_EXPERT, + ) + /datum/skills/upp/officer name = "UPP Officer" skills = list( diff --git a/code/modules/cm_marines/marines_consoles.dm b/code/modules/cm_marines/marines_consoles.dm index 7225556584de..bd7becf8f63e 100644 --- a/code/modules/cm_marines/marines_consoles.dm +++ b/code/modules/cm_marines/marines_consoles.dm @@ -1115,12 +1115,14 @@ GLOBAL_LIST_EMPTY_TYPED(crewmonitor, /datum/crewmonitor) JOB_UPP_COMMANDO = 22, // 30-39: Security JOB_UPP_POLICE = 31, + JOB_UPP_COMMISSAR = 41, // 40-49: MedSci JOB_UPP_LT_DOKTOR = 41, // 50-59: Engineering JOB_UPP_COMBAT_SYNTH = 50, JOB_UPP_CREWMAN = 51, JOB_UPP_SUPPORT_SYNTH = 52, + JOB_UPP_SUPPLY = 53, // 60-69: Soldiers JOB_UPP_LEADER = 60, JOB_UPP_SPECIALIST = 61, diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index ad7b1523d279..f8898db16595 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -56,6 +56,10 @@ //*****************************************************************************************************/ +//=====================// +// Frontline Roles // +//=================// + /datum/equipment_preset/upp/soldier name = "UPP Soldier" flags = EQUIPMENT_PRESET_EXTRA @@ -956,6 +960,10 @@ //*****************************************************************************************************/ +//=====================// +// Support Roles // +//=================// + /datum/equipment_preset/upp/military_police name = "UPP Military Police" flags = EQUIPMENT_PRESET_EXTRA @@ -1110,6 +1118,234 @@ //*****************************************************************************************************/ + +/datum/equipment_preset/upp/doctor + name = "UPP Doctor" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp/combat_medic + assignment = JOB_UPP_LT_DOKTOR + rank = JOB_UPP_LT_DOKTOR + role_comm_title = "Lt. Med." + paygrades = list(PAY_SHORT_UO1 = JOB_PLAYTIME_TIER_0) + +/datum/equipment_preset/upp/doctor/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/surgical, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/np92, WEAR_IN_BACK) //targeting unarmed medical personal is not a war crime in aliens(primarily because, off memory, warcrimes aren't really a thing, although this definately is bad manners), and the playerbase is HRP in this concern!(if you don't get the joke, the players regularly execute unarmed doctors in hvh events. :D) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) + if(new_human.disabilities & NEARSIGHTED) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) + else + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/ushanka, WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/medic/UPP = new() + var/obj/item/clothing/accessory/storage/surg_vest/equipped/W = new() + UPP.attach_accessory(new_human, W) + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_BELT) + //limbs + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) + //póckets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large, WEAR_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) + + if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) + new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) + +/datum/equipment_preset/upp/doctor/get_antag_clothing_equipment() + return list( + list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("Boots", 0, /obj/item/clothing/shoes/marine/upp/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), + list("Medic Fatigues", 0, /obj/item/clothing/under/marine/veteran/UPP/medic, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), + list("UL6 Personal Armor", 0, /obj/item/clothing/suit/storage/marine/faction/UPP/support, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Gloves", 0, /obj/item/clothing/gloves/marine/veteran/upp, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), + list("Headset", 0, /obj/item/device/radio/headset/distress/UPP, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + list("Ration", 0, /obj/item/reagent_container/food/snacks/upp, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), + list("Combat Pack", 0, /obj/item/storage/backpack/lightpack, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY), + list("HealthMate HUD", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + + list("HELMET (CHOOSE 1)", 0, null, null, null), + list("Ushanka", 0, /obj/item/clothing/head/uppcap/ushanka, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + + list("BELT", 0, null, null, null), + list("Type 41 Lifesaver Bag", 0, /obj/item/storage/belt/medical/lifesaver/upp/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_MANDATORY), + + list("POUCHES (CHOOSE 2)", 0, null, null, null), + list("Auto-Injector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("First Responder Pouch", 0, /obj/item/storage/pouch/first_responder, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Medical Pouch (Splints)", 0, /obj/item/storage/pouch/medical/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Medical Pouch (Pills)", 0, /obj/item/storage/pouch/medical/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Medium General Pouch", 0, /obj/item/storage/pouch/general/medium, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Medical Kit Pouch", 0, /obj/item/storage/pouch/medkit, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + + list("MASK (CHOOSE 1)", 0, null, null, null), + list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), + list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR) + ) + +/datum/equipment_preset/upp/doctor/get_antag_gear_equipment() + return list( + list("MEDIC SET (MANDATORY)", 0, null, null, null), + list("Essential Medic Set", 0, /obj/effect/essentials_set/medic/upp, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + + list("FIELD SUPPLIES", 0, null, null, null), + list("Burn Kit", 2, /obj/item/stack/medical/advanced/ointment, null, VENDOR_ITEM_RECOMMENDED), + list("Trauma Kit", 2, /obj/item/stack/medical/advanced/bruise_pack, null, VENDOR_ITEM_RECOMMENDED), + list("Medical Splints", 1, /obj/item/stack/medical/splint, null, VENDOR_ITEM_RECOMMENDED), + + list("FIRSTAID KITS", 0, null, null, null), + list("Advanced Firstaid Kit", 12, /obj/item/storage/firstaid/adv, null, VENDOR_ITEM_RECOMMENDED), + list("Firstaid Kit", 5, /obj/item/storage/firstaid/regular/response, null, VENDOR_ITEM_REGULAR), + list("Fire Firstaid Kit", 6, /obj/item/storage/firstaid/fire, null, VENDOR_ITEM_REGULAR), + list("Toxin Firstaid Kit", 6, /obj/item/storage/firstaid/toxin, null, VENDOR_ITEM_REGULAR), + list("Oxygen Firstaid Kit", 6, /obj/item/storage/firstaid/o2, null, VENDOR_ITEM_REGULAR), + list("Radiation Firstaid Kit", 6, /obj/item/storage/firstaid/rad, null, VENDOR_ITEM_REGULAR), + + list("AUTOINJECTORS", 0, null, null, null), + list("Autoinjector (Bicaridine)", 1, /obj/item/reagent_container/hypospray/autoinjector/bicaridine, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Dexalin+)", 1, /obj/item/reagent_container/hypospray/autoinjector/dexalinp, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Epinephrine)", 2, /obj/item/reagent_container/hypospray/autoinjector/adrenaline, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Inaprovaline)", 1, /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Kelotane)", 1, /obj/item/reagent_container/hypospray/autoinjector/kelotane, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tramadol)", 1, /obj/item/reagent_container/hypospray/autoinjector/tramadol, null, VENDOR_ITEM_REGULAR), + list("Autoinjector (Tricord)", 1, /obj/item/reagent_container/hypospray/autoinjector/tricord, null, VENDOR_ITEM_REGULAR), + + list("PILL BOTTLES", 0, null, null, null), + list("Pill Bottle (Bicaridine)", 5, /obj/item/storage/pill_bottle/bicaridine, null, VENDOR_ITEM_RECOMMENDED), + list("Pill Bottle (Dexalin)", 5, /obj/item/storage/pill_bottle/dexalin, null, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Dylovene)", 5, /obj/item/storage/pill_bottle/antitox, null, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Inaprovaline)", 5, /obj/item/storage/pill_bottle/inaprovaline, null, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Kelotane)", 5, /obj/item/storage/pill_bottle/kelotane, null, VENDOR_ITEM_RECOMMENDED), + list("Pill Bottle (Peridaxon)", 5, /obj/item/storage/pill_bottle/peridaxon, null, VENDOR_ITEM_REGULAR), + list("Pill Bottle (Tramadol)", 5, /obj/item/storage/pill_bottle/tramadol, null, VENDOR_ITEM_RECOMMENDED), + + list("MEDICAL UTILITIES", 0, null, null, null), + list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), + list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_REGULAR), + list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR), + list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR), + + list("UTILITIES", 0, null, null, null), + list("Brown Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest/brown_vest, null, VENDOR_ITEM_RECOMMENDED), + list("Black Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest, null, VENDOR_ITEM_RECOMMENDED), + list("Fire Extinguisher (Portable)", 5, /obj/item/tool/extinguisher/mini, null, VENDOR_ITEM_REGULAR), + list("Large General Pouch", 10, /obj/item/storage/pouch/general/large, null, VENDOR_ITEM_REGULAR), + list("Shoulder Holster", 10, /obj/item/clothing/accessory/storage/holster, null, VENDOR_ITEM_REGULAR), + list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR), + ) + +//*****************************************************************************************************/ + +/datum/equipment_preset/upp/supply + name = "UPP Korporal Logistiki" + flags = EQUIPMENT_PRESET_EXTRA + + skills = /datum/skills/upp/supply_specialist + assignment = JOB_UPP_SUPPLY + rank = JOB_UPP_SUPPLY + role_comm_title = "Log." + paygrades = list(PAY_SHORT_UE3 = JOB_PLAYTIME_TIER_0) + +/datum/equipment_preset/upp/supply/load_gear(mob/living/carbon/human/new_human) + //back + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/upp, WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/device/motiondetector/hacked, WEAR_IN_BACK) + //face + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/cct, WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/welding(new_human), WEAR_EYES) + //head + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap(new_human), WEAR_HEAD) + //body + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() + new_human.equip_to_slot_or_del(UPP, WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + //waist + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(new_human), WEAR_WAIST) + //limb + new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/insulated(new_human), WEAR_HANDS) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) + //pockets + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/construction(new_human), WEAR_R_STORE) + +/datum/equipment_preset/upp/supply/get_antag_clothing_equipment() + return list( + list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("Boots", 0, /obj/item/clothing/shoes/marine/upp/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), + list("Fatigues", 0, /obj/item/clothing/under/marine/veteran/UPP, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), + list("UM5 Personal Armor", 0, /obj/item/clothing/suit/storage/marine/faction/UPP, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), + list("Gloves", 0, /obj/item/clothing/gloves/marine/veteran/upp, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), + list("Headset", 0, /obj/item/device/radio/headset/distress/UPP/cct, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), + list("Welding Goggles", 0, /obj/item/clothing/glasses/welding, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), + list("Ration", 0, /obj/item/reagent_container/food/snacks/upp, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), + list("Welderpack", 0, /obj/item/storage/backpack/marine/engineerpack/upp, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY), + + list("HELMET (CHOOSE 1)", 0, null, null, null), + list("Armored Cap", 0, /obj/item/clothing/head/uppcap, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("UM4 Helmet", 0, /obj/item/clothing/head/helmet/marine/veteran/UPP, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + + list("BELT (Choose 1)", 0, null, null, null), + list("Type 41 Ammo Load Rig", 0, /obj/item/storage/belt/marine/upp, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), + list("Type 41 Pistol Holster Rig", 0, /obj/item/storage/belt/gun/m4a3, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), + list("Toolbelt Rig (Full)", 0, /obj/item/storage/belt/utility/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_RECOMMENDED), + + list("POUCHES (Choose 2)", 0, null, null, null), + list("Construction Pouch", 0, /obj/item/storage/pouch/construction, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Electronics Pouch (Full)", 0, /obj/item/storage/pouch/electronics/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Explosive Pouch", 0, /obj/item/storage/pouch/explosive, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Magazine Pouch", 0, /obj/item/storage/pouch/magazine, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Medium General Pouch", 0, /obj/item/storage/pouch/general/medium, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Pistol Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Tools Pouch (Full)", 0, /obj/item/storage/pouch/tools/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + + list("MASK (CHOOSE 1)", 0, null, null, null), + list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), + list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR) + ) + + +//*****************************************************************************************************/ + + +//====================// +// Field Officers // +//================// + /datum/equipment_preset/upp/officer name = "UPP Lieutenant" flags = EQUIPMENT_PRESET_EXTRA @@ -2071,6 +2307,10 @@ //*****************************************************************************************************/ +//===================// +// Flag Officers // +//===============// + /datum/equipment_preset/upp/officer/may_gen name = "UPP Mayjor General" assignment = JOB_UPP_KOL_OFFICER @@ -2587,6 +2827,11 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/explosive/C4, WEAR_R_STORE) //*****************************************************************************************************/ + +//===================// +// UPP Synthetics // +//================// + /datum/equipment_preset/upp/synth name = "UPP Synthetic" flags = EQUIPMENT_PRESET_EXTRA @@ -2858,131 +3103,25 @@ //*****************************************************************************************************/ -/datum/equipment_preset/upp/conscript - //meme role - name = "UPP Conscript" - flags = EQUIPMENT_PRESET_EXTRA +//=================// +// UPP SpecFor // +//=============// - skills = /datum/skills/upp - assignment = JOB_UPP_CONSCRIPT - rank = JOB_UPP_CONSCRIPT - role_comm_title = "Cons" - paygrades = list(PAY_SHORT_UE1 = JOB_PLAYTIME_TIER_0) +/datum/equipment_preset/upp/commando + name = "UPP Commando (!DEATHSQUAD!)" + flags = EQUIPMENT_PRESET_EXTRA -/datum/equipment_preset/upp/conscript/load_gear(mob/living/carbon/human/new_human) - //back - var/maybebackpack = prob(20) ? pick(/obj/item/storage/backpack/lightpack/upp, /obj/item/storage/backpack/lightpack) : null - if(maybebackpack) - new_human.equip_to_slot_or_del(new maybebackpack, WEAR_BACK) //what in back? - //face - new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) + skills = /datum/skills/commando + assignment = JOB_UPP_COMMANDO + rank = JOB_UPP_COMMANDO + role_comm_title = "JKdo" + paygrades = list(PAY_SHORT_UC1 = JOB_PLAYTIME_TIER_0) + idtype = /obj/item/card/id/data + languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_TSL, LANGUAGE_SPANISH, LANGUAGE_CHINESE) - //head - var/maybehat = prob(66) ? pick(/obj/item/clothing/head/uppcap, /obj/item/clothing/head/uppcap/beret, /obj/item/clothing/head/ushanka, /obj/item/clothing/head/uppcap/ushanka) : null - if(maybehat) - new_human.equip_to_slot_or_del(new maybehat, WEAR_HEAD) - - //body - var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() - new_human.equip_to_slot_or_del(UPP, WEAR_BODY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - - var/maybejacket = prob(50) ? pick(/obj/item/clothing/suit/storage/marine/faction/UPP/jacket, /obj/item/clothing/suit/storage/snow_suit/soviet) : null - if(maybejacket) - new_human.equip_to_slot_or_del(new maybejacket, WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/bottle/vodka, WEAR_IN_JACKET) - //limit of snowcoat - new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_JACKET) - - //limbs - new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - var/maybegloves = prob(80) ? pick(/obj/item/clothing/gloves/black, /obj/item/clothing/gloves/marine/veteran/upp, /obj/item/clothing/gloves/combat) : null - if(maybegloves) - new_human.equip_to_slot_or_del(new maybegloves, WEAR_HANDS) - - //gun - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/carbine, WEAR_R_HAND) - - //webbing or belt? - if(prob(30)) - var/obj/item/clothing/accessory/storage/webbing/W = new() - UPP.attach_accessory(new_human, W) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) - else if(prob(30)) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/scarce, WEAR_WAIST) - //if you fail the rolls you must scavenge the ammo from your fallen brethren - - if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) - new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) - - if(prob(10)) - //sometimes Ivan smiles upon the corps - new_human.set_species("Human Hero") - -/datum/equipment_preset/upp/conscript/get_antag_clothing_equipment() - return list( - list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), - list("Boots", 0, /obj/item/clothing/shoes/marine/upp/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), - list("Fatigues", 0, /obj/item/clothing/under/marine/veteran/UPP, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("Headset", 0, /obj/item/device/radio/headset/distress/UPP, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), - list("Ration", 0, /obj/item/reagent_container/food/snacks/upp, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), - - list("HELMET", 0, null, null, null), - list("Armored Cap", 0, /obj/item/clothing/head/uppcap, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), - list("Armored Ushanka", 0, /obj/item/clothing/head/uppcap/ushanka, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), - - list("BELT (CHOOSE 1)", 0, null, null, null), - list("Type 41 Pistol Holster Rig", 0, /obj/item/storage/belt/gun/m4a3, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), - - list("POUCHES (CHOOSE 2)", 0, null, null, null), - list("Bayonet Sheath", 0, /obj/item/storage/pouch/bayonet/upp, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - - list("ATTACHMENT (CHOOSE 1)", 0, null, null, null), - list("Laser Sight", 0, /obj/item/attachable/lasersight, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), - - list("MASK (CHOOSE 1)", 0, null, null, null), - list("Tactical Bandana", 0, /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR) - ) - -/datum/equipment_preset/upp/conscript/get_antag_gear_equipment() - return list( - list("ENGINEERING SUPPLIES", 0, null, null, null), - list("Entrenching Tool", 2, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_RECOMMENDED), - list("Sandbags x25", 5, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED), - - list("EXPLOSIVES", 0, null, null, null), - list("Smoke Grenade", 5, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), - - list("UTILITIES", 0, null, null, null), - list("Brown Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest/brown_vest, null, VENDOR_ITEM_RECOMMENDED), - list("Black Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest, null, VENDOR_ITEM_RECOMMENDED), - list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR), - list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR) - ) - -//*****************************************************************************************************/ - -/datum/equipment_preset/upp/commando - name = "UPP Commando (!DEATHSQUAD!)" - flags = EQUIPMENT_PRESET_EXTRA - - skills = /datum/skills/commando - assignment = JOB_UPP_COMMANDO - rank = JOB_UPP_COMMANDO - role_comm_title = "JKdo" - paygrades = list(PAY_SHORT_UC1 = JOB_PLAYTIME_TIER_0) - idtype = /obj/item/card/id/data - languages = list(LANGUAGE_RUSSIAN, LANGUAGE_ENGLISH, LANGUAGE_TSL, LANGUAGE_SPANISH, LANGUAGE_CHINESE) - -/datum/equipment_preset/upp/commando/New() - . = ..() - access = get_access(ACCESS_LIST_GLOBAL) +/datum/equipment_preset/upp/commando/New() + . = ..() + access = get_access(ACCESS_LIST_GLOBAL) /datum/equipment_preset/upp/commando/load_gear(mob/living/carbon/human/new_human) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/kdo, WEAR_L_EAR) @@ -3518,6 +3657,10 @@ //*****************************************************************************************************/ +//============// +// Other // +//========// + /datum/equipment_preset/upp/tank name = "UPP Vehicle Crewman (TANK)" flags = EQUIPMENT_PRESET_EXTRA @@ -3636,137 +3779,195 @@ //*****************************************************************************************************/ -/datum/equipment_preset/upp/doctor - name = "UPP Doctor" +/datum/equipment_preset/upp/conscript + //meme role + name = "UPP Conscript" flags = EQUIPMENT_PRESET_EXTRA - skills = /datum/skills/upp/combat_medic - assignment = JOB_UPP_LT_DOKTOR - rank = JOB_UPP_LT_DOKTOR - role_comm_title = "Lt. Med." - paygrades = list(PAY_SHORT_UO1 = JOB_PLAYTIME_TIER_0) + skills = /datum/skills/upp + assignment = JOB_UPP_CONSCRIPT + rank = JOB_UPP_CONSCRIPT + role_comm_title = "Cons" + paygrades = list(PAY_SHORT_UE1 = JOB_PLAYTIME_TIER_0) -/datum/equipment_preset/upp/doctor/load_gear(mob/living/carbon/human/new_human) +/datum/equipment_preset/upp/conscript/load_gear(mob/living/carbon/human/new_human) //back - new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/upp, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/device/defibrillator, 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/surgical, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/np92, WEAR_IN_BACK) //targeting unarmed medical personal is not a war crime in aliens(primarily because, off memory, warcrimes aren't really a thing, although this definately is bad manners), and the playerbase is HRP in this concern!(if you don't get the joke, the players regularly execute unarmed doctors in hvh events. :D) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/np92, WEAR_IN_BACK) + var/maybebackpack = prob(20) ? pick(/obj/item/storage/backpack/lightpack/upp, /obj/item/storage/backpack/lightpack) : null + if(maybebackpack) + new_human.equip_to_slot_or_del(new maybebackpack, WEAR_BACK) //what in back? //face new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP, WEAR_L_EAR) - if(new_human.disabilities & NEARSIGHTED) - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health/prescription(new_human), WEAR_EYES) - else - new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/health(new_human), WEAR_EYES) + //head - new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/ushanka, WEAR_HEAD) + var/maybehat = prob(66) ? pick(/obj/item/clothing/head/uppcap, /obj/item/clothing/head/uppcap/beret, /obj/item/clothing/head/ushanka, /obj/item/clothing/head/uppcap/ushanka) : null + if(maybehat) + new_human.equip_to_slot_or_del(new maybehat, WEAR_HEAD) + //body - var/obj/item/clothing/under/marine/veteran/UPP/medic/UPP = new() - var/obj/item/clothing/accessory/storage/surg_vest/equipped/W = new() - UPP.attach_accessory(new_human, W) + var/obj/item/clothing/under/marine/veteran/UPP/UPP = new() new_human.equip_to_slot_or_del(UPP, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) - //waist - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/upp/full, WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_BELT) + + var/maybejacket = prob(50) ? pick(/obj/item/clothing/suit/storage/marine/faction/UPP/jacket, /obj/item/clothing/suit/storage/snow_suit/soviet) : null + if(maybejacket) + new_human.equip_to_slot_or_del(new maybejacket, WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/stack/medical/bruise_pack, WEAR_IN_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/drinks/bottle/vodka, WEAR_IN_JACKET) + //limit of snowcoat + new_human.equip_to_slot_or_del(new /obj/item/explosive/grenade/high_explosive/upp, WEAR_IN_JACKET) + //limbs new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/upp/knife, WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine/veteran/upp, WEAR_HANDS) - //póckets - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large, WEAR_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/food/snacks/upp, WEAR_IN_R_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/device/healthanalyzer, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/autoinjector/oxycodone, WEAR_IN_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/reagent_container/hypospray/tricordrazine, WEAR_IN_L_STORE) + var/maybegloves = prob(80) ? pick(/obj/item/clothing/gloves/black, /obj/item/clothing/gloves/marine/veteran/upp, /obj/item/clothing/gloves/combat) : null + if(maybegloves) + new_human.equip_to_slot_or_del(new maybegloves, WEAR_HANDS) + + //gun + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/type71/carbine, WEAR_R_HAND) + + //webbing or belt? + if(prob(30)) + var/obj/item/clothing/accessory/storage/webbing/W = new() + UPP.attach_accessory(new_human, W) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle/type71, WEAR_IN_ACCESSORY) + else if(prob(30)) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/scarce, WEAR_WAIST) + //if you fail the rolls you must scavenge the ammo from your fallen brethren if(SSmapping.configs[GROUND_MAP].environment_traits[MAP_COLD]) new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, WEAR_FACE) -/datum/equipment_preset/upp/doctor/get_antag_clothing_equipment() + if(prob(10)) + //sometimes Ivan smiles upon the corps + new_human.set_species("Human Hero") + +/datum/equipment_preset/upp/conscript/get_antag_clothing_equipment() return list( list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), list("Boots", 0, /obj/item/clothing/shoes/marine/upp/knife, MARINE_CAN_BUY_SHOES, VENDOR_ITEM_MANDATORY), - list("Medic Fatigues", 0, /obj/item/clothing/under/marine/veteran/UPP/medic, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), - list("UL6 Personal Armor", 0, /obj/item/clothing/suit/storage/marine/faction/UPP/support, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), - list("Gloves", 0, /obj/item/clothing/gloves/marine/veteran/upp, MARINE_CAN_BUY_GLOVES, VENDOR_ITEM_MANDATORY), + list("Fatigues", 0, /obj/item/clothing/under/marine/veteran/UPP, MARINE_CAN_BUY_UNIFORM, VENDOR_ITEM_MANDATORY), list("Headset", 0, /obj/item/device/radio/headset/distress/UPP, MARINE_CAN_BUY_EAR, VENDOR_ITEM_MANDATORY), list("Ration", 0, /obj/item/reagent_container/food/snacks/upp, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), - list("Combat Pack", 0, /obj/item/storage/backpack/lightpack, MARINE_CAN_BUY_BACKPACK, VENDOR_ITEM_MANDATORY), - list("HealthMate HUD", 0, /obj/item/clothing/glasses/hud/health, MARINE_CAN_BUY_GLASSES, VENDOR_ITEM_MANDATORY), - list("HELMET (CHOOSE 1)", 0, null, null, null), - list("Ushanka", 0, /obj/item/clothing/head/uppcap/ushanka, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("HELMET", 0, null, null, null), + list("Armored Cap", 0, /obj/item/clothing/head/uppcap, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), + list("Armored Ushanka", 0, /obj/item/clothing/head/uppcap/ushanka, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), - list("BELT", 0, null, null, null), - list("Type 41 Lifesaver Bag", 0, /obj/item/storage/belt/medical/lifesaver/upp/full, MARINE_CAN_BUY_BELT, VENDOR_ITEM_MANDATORY), + list("BELT (CHOOSE 1)", 0, null, null, null), + list("Type 41 Pistol Holster Rig", 0, /obj/item/storage/belt/gun/m4a3, MARINE_CAN_BUY_BELT, VENDOR_ITEM_REGULAR), list("POUCHES (CHOOSE 2)", 0, null, null, null), - list("Auto-Injector Pouch", 0, /obj/item/storage/pouch/autoinjector, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("First-Aid Pouch (Refillable Injectors)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("First-Aid Pouch (Splints, Gauze, Ointment)", 0, /obj/item/storage/pouch/firstaid/full/alternate, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("First-Aid Pouch (Pill Packets)", 0, /obj/item/storage/pouch/firstaid/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("First Responder Pouch", 0, /obj/item/storage/pouch/first_responder, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Bayonet Sheath", 0, /obj/item/storage/pouch/bayonet/upp, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), - list("Medical Pouch (Splints)", 0, /obj/item/storage/pouch/medical/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Medical Pouch (Pills)", 0, /obj/item/storage/pouch/medical/full/pills, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Medium General Pouch", 0, /obj/item/storage/pouch/general/medium, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), - list("Medical Kit Pouch", 0, /obj/item/storage/pouch/medkit, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + + list("ATTACHMENT (CHOOSE 1)", 0, null, null, null), + list("Laser Sight", 0, /obj/item/attachable/lasersight, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), + + list("MASK (CHOOSE 1)", 0, null, null, null), + list("Tactical Bandana", 0, /obj/item/clothing/mask/rebreather/scarf/tacticalmask/green, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR) + ) + +/datum/equipment_preset/upp/conscript/get_antag_gear_equipment() + return list( + list("ENGINEERING SUPPLIES", 0, null, null, null), + list("Entrenching Tool", 2, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_RECOMMENDED), + list("Sandbags x25", 5, /obj/item/stack/sandbags_empty/half, null, VENDOR_ITEM_RECOMMENDED), + + list("EXPLOSIVES", 0, null, null, null), + list("Smoke Grenade", 5, /obj/item/explosive/grenade/smokebomb, null, VENDOR_ITEM_REGULAR), + + list("UTILITIES", 0, null, null, null), + list("Brown Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest/brown_vest, null, VENDOR_ITEM_RECOMMENDED), + list("Black Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest, null, VENDOR_ITEM_RECOMMENDED), + list("Webbing", 10, /obj/item/clothing/accessory/storage/webbing, null, VENDOR_ITEM_REGULAR), + list("Drop Pouch", 10, /obj/item/clothing/accessory/storage/droppouch, null, VENDOR_ITEM_REGULAR) + ) + + +/datum/equipment_preset/upp/commissar + name = "UPP Starshy Politruk" + flags = EQUIPMENT_PRESET_EXTRA + + assignment = JOB_UPP_COMMISSAR + rank = JOB_UPP_COMMISSAR + paygrades = list(PAY_SHORT_UO4P = JOB_PLAYTIME_TIER_0) + role_comm_title = "Politruk" + minimum_age = 30 + skills = /datum/skills/upp/commissar + +/datum/equipment_preset/upp/commissar/load_gear(mob/living/carbon/human/new_human) + new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/veteran/UPP(new_human), WEAR_BODY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/patch/upp/naval, WEAR_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/laceup(new_human), WEAR_FEET) + new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/UPP/command(new_human), WEAR_L_EAR) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/revolver(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/gimmick/jason(new_human), WEAR_JACKET) + new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) + new_human.equip_to_slot_or_del(new /obj/item/clothing/head/uppcap/beret(new_human), WEAR_HEAD) + +/datum/equipment_preset/upp/commissar/load_status() + return + +/datum/equipment_preset/upp/commissar/get_antag_clothing_equipment() + return list( + list("STANDARD EQUIPMENT (TAKE ALL)", 0, null, null, null), + list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), + + list("HELMET (CHOOSE 1)", 0, null, null, null), + list("UL2 Cap", 0, /obj/item/clothing/head/uppcap, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("UL3 Beret", 0, /obj/item/clothing/head/uppcap/beret, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("UL8 Ushanka", 0, /obj/item/clothing/head/uppcap/beret, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + list("UM4 Helmet", 0, /obj/item/clothing/head/helmet/marine/veteran/UPP, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_REGULAR), + + list("POUCHES (CHOOSE 2)", 0, null, null, null), + list("First-Aid Pouch (Full)", 0, /obj/item/storage/pouch/firstaid/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_RECOMMENDED), + list("Flare Pouch (Full)", 0, /obj/item/storage/pouch/flare/full, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Large General Pouch", 0, /obj/item/storage/pouch/general/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Sling Pouch", 0, /obj/item/storage/pouch/sling, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Large Pistol Magazine Pouch", 0, /obj/item/storage/pouch/magazine/pistol/large, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Magazine Pouch", 0, /obj/item/storage/pouch/magazine, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), + list("Sidearm Pouch", 0, /obj/item/storage/pouch/pistol, MARINE_CAN_BUY_POUCH, VENDOR_ITEM_REGULAR), list("MASK (CHOOSE 1)", 0, null, null, null), list("Gas Mask", 0, /obj/item/clothing/mask/gas, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), - list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR) + list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), ) -/datum/equipment_preset/upp/doctor/get_antag_gear_equipment() +/datum/equipment_preset/upp/commissar/get_antag_gear_equipment() return list( - list("MEDIC SET (MANDATORY)", 0, null, null, null), - list("Essential Medic Set", 0, /obj/effect/essentials_set/medic/upp, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), + list("SQUAD LEADER SET (MANDATORY)", 0, null, null, null), + list("Essential SL Set", 0, /obj/effect/essentials_set/leader/upp, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_MANDATORY), - list("FIELD SUPPLIES", 0, null, null, null), - list("Burn Kit", 2, /obj/item/stack/medical/advanced/ointment, null, VENDOR_ITEM_RECOMMENDED), - list("Trauma Kit", 2, /obj/item/stack/medical/advanced/bruise_pack, null, VENDOR_ITEM_RECOMMENDED), - list("Medical Splints", 1, /obj/item/stack/medical/splint, null, VENDOR_ITEM_RECOMMENDED), + list("GENERAL SUPPLIES", 0, null, null, null), + list("Whistle", 5, /obj/item/device/whistle, null, VENDOR_ITEM_REGULAR), - list("FIRSTAID KITS", 0, null, null, null), - list("Advanced Firstaid Kit", 12, /obj/item/storage/firstaid/adv, null, VENDOR_ITEM_RECOMMENDED), - list("Firstaid Kit", 5, /obj/item/storage/firstaid/regular/response, null, VENDOR_ITEM_REGULAR), - list("Fire Firstaid Kit", 6, /obj/item/storage/firstaid/fire, null, VENDOR_ITEM_REGULAR), - list("Toxin Firstaid Kit", 6, /obj/item/storage/firstaid/toxin, null, VENDOR_ITEM_REGULAR), - list("Oxygen Firstaid Kit", 6, /obj/item/storage/firstaid/o2, null, VENDOR_ITEM_REGULAR), - list("Radiation Firstaid Kit", 6, /obj/item/storage/firstaid/rad, null, VENDOR_ITEM_REGULAR), + list("ENGINEERING SUPPLIES", 0, null, null, null), + list("Entrenching Tool", 2, /obj/item/tool/shovel/etool, null, VENDOR_ITEM_REGULAR), + list("Insulated Gloves", 3, /obj/item/clothing/gloves/yellow, null, VENDOR_ITEM_REGULAR), + list("Tools Pouch (Full)", 5, /obj/item/storage/pouch/tools/full, null, VENDOR_ITEM_REGULAR), + list("Welding Goggles", 5, /obj/item/clothing/glasses/welding, null, VENDOR_ITEM_REGULAR), - list("AUTOINJECTORS", 0, null, null, null), - list("Autoinjector (Bicaridine)", 1, /obj/item/reagent_container/hypospray/autoinjector/bicaridine, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Dexalin+)", 1, /obj/item/reagent_container/hypospray/autoinjector/dexalinp, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Epinephrine)", 2, /obj/item/reagent_container/hypospray/autoinjector/adrenaline, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Inaprovaline)", 1, /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Kelotane)", 1, /obj/item/reagent_container/hypospray/autoinjector/kelotane, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tramadol)", 1, /obj/item/reagent_container/hypospray/autoinjector/tramadol, null, VENDOR_ITEM_REGULAR), - list("Autoinjector (Tricord)", 1, /obj/item/reagent_container/hypospray/autoinjector/tricord, null, VENDOR_ITEM_REGULAR), + list("MEDICAL SUPPLIES", 0, null, null, null), + list("Burn Kit", 2, /obj/item/stack/medical/advanced/ointment, null, VENDOR_ITEM_REGULAR), + list("Trauma Kit", 2, /obj/item/stack/medical/advanced/bruise_pack, null, VENDOR_ITEM_REGULAR), + list("Advanced Firstaid Kit", 12, /obj/item/storage/firstaid/adv, null, VENDOR_ITEM_REGULAR), + list("Medical Splints", 1, /obj/item/stack/medical/splint, null, VENDOR_ITEM_REGULAR), - list("PILL BOTTLES", 0, null, null, null), - list("Pill Bottle (Bicaridine)", 5, /obj/item/storage/pill_bottle/bicaridine, null, VENDOR_ITEM_RECOMMENDED), - list("Pill Bottle (Dexalin)", 5, /obj/item/storage/pill_bottle/dexalin, null, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Dylovene)", 5, /obj/item/storage/pill_bottle/antitox, null, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Inaprovaline)", 5, /obj/item/storage/pill_bottle/inaprovaline, null, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Kelotane)", 5, /obj/item/storage/pill_bottle/kelotane, null, VENDOR_ITEM_RECOMMENDED), - list("Pill Bottle (Peridaxon)", 5, /obj/item/storage/pill_bottle/peridaxon, null, VENDOR_ITEM_REGULAR), - list("Pill Bottle (Tramadol)", 5, /obj/item/storage/pill_bottle/tramadol, null, VENDOR_ITEM_RECOMMENDED), + list("Injector (Bicaridine)", 1, /obj/item/reagent_container/hypospray/autoinjector/bicaridine, null, VENDOR_ITEM_REGULAR), + list("Injector (Dexalin+)", 1, /obj/item/reagent_container/hypospray/autoinjector/dexalinp, null, VENDOR_ITEM_REGULAR), + list("Injector (Inaprovaline)", 1, /obj/item/reagent_container/hypospray/autoinjector/inaprovaline, null, VENDOR_ITEM_REGULAR), + list("Injector (Kelotane)", 1, /obj/item/reagent_container/hypospray/autoinjector/kelotane, null, VENDOR_ITEM_REGULAR), + list("Injector (Oxycodone)", 2, /obj/item/reagent_container/hypospray/autoinjector/oxycodone, null, VENDOR_ITEM_REGULAR), + list("Injector (Tramadol)", 1, /obj/item/reagent_container/hypospray/autoinjector/tramadol, null, VENDOR_ITEM_REGULAR), + list("Injector (Tricord)", 1, /obj/item/reagent_container/hypospray/autoinjector/tricord, null, VENDOR_ITEM_REGULAR), - list("MEDICAL UTILITIES", 0, null, null, null), list("Health Analyzer", 4, /obj/item/device/healthanalyzer, null, VENDOR_ITEM_REGULAR), - list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_REGULAR), - list("Roller Bed", 4, /obj/item/roller, null, VENDOR_ITEM_REGULAR), - list("Stasis Bag", 6, /obj/item/bodybag/cryobag, null, VENDOR_ITEM_REGULAR), + list("Medical HUD Glasses", 4, /obj/item/clothing/glasses/hud/health, null, VENDOR_ITEM_MANDATORY), list("UTILITIES", 0, null, null, null), list("Brown Webbing Vest", 10, /obj/item/clothing/accessory/storage/black_vest/brown_vest, null, VENDOR_ITEM_RECOMMENDED), diff --git a/icons/mob/hud/marine_hud.dmi b/icons/mob/hud/marine_hud.dmi index def6cdd56a0ec7baf9e61e97df779ad23c8b526c..61e8843503ae48ce2e5f076c0a1ad6be76b3d24b 100644 GIT binary patch literal 13786 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 literal 13613 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⪼f z>N*!m#0?z7;XQ_&zSu;(eEosLyQCx*5j8r}Y_$9=eu!2y>|5Ax>f;OjY1*wC_Ty56{S^kOk!bEKpf#WcPIYQG-UWrD#r6ME^uz`#kozqx zh0BJ_*=p!T?zpKkF#8Xdq+I$nvRek_KDechL`r)8t$3cV^ZueJsIq%6`Exycikwv- zm7N==FH6%f$IlS0T&c}mCNH)LdB2fPzlnPY87;}Cpv6Y8uJnyuDb*gLFDi2d>C_Ri zgQz_g&mdR&{!f5A?9iZUgzC*e6STY;;u*SKcpUN3I#Ck4m9*ygD|b+l?eT0YVRtaJ z{0CRk!%Q*4WA*gA01$9O#gQu}c8=3w0+y9m2{ZF(`cy7^r`OjKV*3R7Xk5J95Y`>l#2>&N#4D7%e; zEqK*`lm5bDXq92pG?4!PP#-3zTt|oIXJ)uwKnIG1|6Kz8KP~Nl&Z~pX!%*Y|@B4CX z1Q^71gEO7oN5NpYnSUGkKj|ggxx~1WakgL{|9`glPsZxMCh-54y{XX3&xFtBjWcuL Qe}e+_t{Nfpuh>2Le>+-oIsgCw From 7b3adfbb8f17828d5167d132630b2968b86a2ed6 Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Sun, 11 Aug 2024 15:12:09 +0800 Subject: [PATCH 2/5] SoldatRemove --- code/datums/skills/upp.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/skills/upp.dm b/code/datums/skills/upp.dm index 1e8230dafb1c..570f09a054e2 100644 --- a/code/datums/skills/upp.dm +++ b/code/datums/skills/upp.dm @@ -84,7 +84,7 @@ UNITED PROGRESSIVE PEOPLES ) /datum/skills/upp/supply_specialist - name = "UPP Soldat Logistiki" + name = "UPP Korporal Logistiki" skills = list( SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, From 16fe638382b94e6b8ada91b788765a866d91c28d Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Fri, 16 Aug 2024 12:32:56 +0800 Subject: [PATCH 3/5] NameChange --- code/__DEFINES/job.dm | 4 ++-- code/__DEFINES/paygrade_defs/upp.dm | 2 +- code/datums/paygrades/factions/upp/upp.dm | 2 +- code/modules/gear_presets/upp.dm | 6 +++--- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/code/__DEFINES/job.dm b/code/__DEFINES/job.dm index 890e731ea667..10f90cab9b99 100644 --- a/code/__DEFINES/job.dm +++ b/code/__DEFINES/job.dm @@ -263,7 +263,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_UPP_SPECIALIST "UPP Serzhant" #define JOB_UPP_LEADER "UPP Master Serzhant" #define JOB_UPP_POLICE "UPP Politsiya" -#define JOB_UPP_SUPPLY "UPP Korporal Logistiki" +#define JOB_UPP_SUPPLY "UPP Logistics Technician" #define JOB_UPP_LT_OFFICER "UPP Leytenant" #define JOB_UPP_LT_DOKTOR "UPP Leytenant Doktor" #define JOB_UPP_SRLT_OFFICER "UPP Senior Leytenant" @@ -291,7 +291,7 @@ GLOBAL_LIST_INIT(job_command_roles, JOB_COMMAND_ROLES_LIST) #define JOB_UPP_CREWMAN "UPP Tank Crewman" -#define JOB_UPP_COMMISSAR "UPP Starshy Politruk" +#define JOB_UPP_COMMISSAR "UPP Political Commissar" //-------- CLF --------// #define JOB_CLF "CLF Guerilla" diff --git a/code/__DEFINES/paygrade_defs/upp.dm b/code/__DEFINES/paygrade_defs/upp.dm index 7e1f6e5ed7ad..d753d531b67d 100644 --- a/code/__DEFINES/paygrade_defs/upp.dm +++ b/code/__DEFINES/paygrade_defs/upp.dm @@ -43,7 +43,7 @@ /// UO4, Mayjor #define PAY_SHORT_UO4 "UO4" -/// UO4P, Starshy Politruk +/// UO4P, Political Commissar #define PAY_SHORT_UO4P "UO4P" /// UO5, Leytenant Kolonel diff --git a/code/datums/paygrades/factions/upp/upp.dm b/code/datums/paygrades/factions/upp/upp.dm index 0cb6d1e455e9..3eef33921137 100644 --- a/code/datums/paygrades/factions/upp/upp.dm +++ b/code/datums/paygrades/factions/upp/upp.dm @@ -97,7 +97,7 @@ /datum/paygrade/upp/uo4p paygrade = PAY_SHORT_UO4P - name = "Starshy Politruk" + name = "Political Commissar" prefix = "Pol." pay_multiplier = 5 officer_grade = GRADE_OFFICER diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index f8898db16595..58fd14b96ba9 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -1264,7 +1264,7 @@ //*****************************************************************************************************/ /datum/equipment_preset/upp/supply - name = "UPP Korporal Logistiki" + name = "UPP Logistics Technician" flags = EQUIPMENT_PRESET_EXTRA skills = /datum/skills/upp/supply_specialist @@ -3889,13 +3889,13 @@ /datum/equipment_preset/upp/commissar - name = "UPP Starshy Politruk" + name = "UPP Political Commissar" flags = EQUIPMENT_PRESET_EXTRA assignment = JOB_UPP_COMMISSAR rank = JOB_UPP_COMMISSAR paygrades = list(PAY_SHORT_UO4P = JOB_PLAYTIME_TIER_0) - role_comm_title = "Politruk" + role_comm_title = "Commissar" minimum_age = 30 skills = /datum/skills/upp/commissar From 88ec7ad7cd14a72566675dc8e984b7c102afc97a Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Tue, 20 Aug 2024 03:00:57 +0800 Subject: [PATCH 4/5] MissingLogistic --- code/modules/gear_presets/upp.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 58fd14b96ba9..b68b485083a8 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -1267,7 +1267,7 @@ name = "UPP Logistics Technician" flags = EQUIPMENT_PRESET_EXTRA - skills = /datum/skills/upp/supply_specialist + skills = /datum/skills/upp/logistcs_technician assignment = JOB_UPP_SUPPLY rank = JOB_UPP_SUPPLY role_comm_title = "Log." From 859e3612cab245a9459630f0087fad5a4ad3f76d Mon Sep 17 00:00:00 2001 From: Steelpoint Date: Tue, 20 Aug 2024 03:03:29 +0800 Subject: [PATCH 5/5] FixAgain --- code/datums/skills/upp.dm | 4 ++-- code/modules/gear_presets/upp.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/datums/skills/upp.dm b/code/datums/skills/upp.dm index 570f09a054e2..c292251b9ab9 100644 --- a/code/datums/skills/upp.dm +++ b/code/datums/skills/upp.dm @@ -83,8 +83,8 @@ UNITED PROGRESSIVE PEOPLES SKILL_FIREARMS = SKILL_FIREARMS_EXPERT, ) -/datum/skills/upp/supply_specialist - name = "UPP Korporal Logistiki" +/datum/skills/upp/logistics_technician + name = "UPP Logistics Technician" skills = list( SKILL_CONSTRUCTION = SKILL_CONSTRUCTION_ENGI, SKILL_ENGINEER = SKILL_ENGINEER_TRAINED, diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index b68b485083a8..f40995c71da5 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -1267,7 +1267,7 @@ name = "UPP Logistics Technician" flags = EQUIPMENT_PRESET_EXTRA - skills = /datum/skills/upp/logistcs_technician + skills = /datum/skills/upp/logistics_technician assignment = JOB_UPP_SUPPLY rank = JOB_UPP_SUPPLY role_comm_title = "Log."