From: āda Date: Mon, 19 Jan 2026 05:05:53 +0000 (-0600) Subject: Round-start equipment rebalance: Medical (#42423) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=820fdca6efa9ea4c8390a5b9b8bb783b2759791b;p=space-station-14.git Round-start equipment rebalance: Medical (#42423) * loadouts * lockers * Vending machines * death to chemistry. long live chemistry. * tweaks * actually remove them * chemistry hand label * Revert "death to chemistry. long live chemistry." This reverts commit cd2fe4832267d87e7c4bda9c2b62c7a80f2c33c0. # Conflicts: # Resources/Prototypes/Catalog/Cargo/cargo_vending.yml # Resources/Prototypes/Catalog/Fills/Crates/vending.yml # Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml # Resources/Prototypes/Entities/Objects/Specific/Service/vending_machine_restock.yml * remove vending machine bottles --------- Co-authored-by: iaada --- diff --git a/Resources/Locale/en-US/preferences/loadout-groups.ftl b/Resources/Locale/en-US/preferences/loadout-groups.ftl index b91678848c..e05572082e 100644 --- a/Resources/Locale/en-US/preferences/loadout-groups.ftl +++ b/Resources/Locale/en-US/preferences/loadout-groups.ftl @@ -175,7 +175,6 @@ loadout-group-security-cadet-jumpsuit = Security cadet jumpsuit loadout-group-security-star = Security Star # Medical -loadout-group-medical-gloves = Medical gloves loadout-group-medical-mask = Medical mask loadout-group-chief-medical-officer-head = Chief Medical Officer head @@ -202,8 +201,6 @@ loadout-group-paramedic-jumpsuit = Paramedic jumpsuit loadout-group-paramedic-outerclothing = Paramedic outer clothing loadout-group-paramedic-shoes = Paramedic shoes -loadout-group-medical-glasses = Medical glasses - # Wildcards loadout-group-reporter-jumpsuit = Reporter jumpsuit diff --git a/Resources/Prototypes/Catalog/Fills/Items/belt.yml b/Resources/Prototypes/Catalog/Fills/Items/belt.yml index 1a06d09f3a..ebbcd05992 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/belt.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/belt.yml @@ -96,8 +96,8 @@ - id: WireBrush - type: entity - id: ClothingBeltMedicalFilled parent: ClothingBeltMedical + id: ClothingBeltMedicalFilled suffix: Filled components: - type: EntityTableContainerFill @@ -105,27 +105,37 @@ storagebase: !type:AllSelector children: - id: Brutepack - amount: 2 - id: Ointment - - id: Bloodpack - id: Gauze - - id: EmergencyMedipen #You never know what people are going to latejoin into + # Reagents reflect the bottles in CoreMedicineReagentBottleTable + - id: ChemistryBottleSaline + - id: ChemistryBottleBicaridine + - id: ChemistryBottleDexalin + - id: ChemistryBottleDylovene + - id: ChemistryBottleHyronalin + - id: ChemistryBottleKelotane + - id: ChemistryBottleEpinephrine # A power item for medical players that feels thematic and worth stealing + - id: PillCanisterTricordrazine - type: entity - id: ClothingBeltMedicalEMTFilled parent: ClothingBeltMedicalEMT - suffix: Paramedic,Filled + id: ClothingBeltMedicalEMTFilled + suffix: Paramedic, Filled components: - type: EntityTableContainerFill containers: storagebase: !type:AllSelector children: - - id: Brutepack - - id: Ointment - id: Bloodpack + amount: 2 - id: Gauze - - id: EmergencyMedipen #You never know what people are going to latejoin into - amount: 3 + # Reagents focused on emergency response rather than outright healing + - id: ChemistryBottleInaprovaline + amount: 2 + - id: ChemistryBottleHaloperidol + - id: ChemistryBottleEthylredoxrazine + - id: ChemistryBottleIpecac + - id: ChemistryBottleCharcoal - type: entity id: ClothingBeltPlantFilled diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 23ee84bd3c..7074f65796 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -203,19 +203,17 @@ id: LockerFillChiefMedicalOfficerNoHardsuit table: !type:AllSelector children: - - id: BoxEncryptionKeyMedical - - id: ClothingBackpackDuffelSurgeryFilled - id: ClothingEyesHudMedical - - id: ClothingHandsGlovesNitrile - - id: ClothingHeadsetAltMedical - - id: ClothingMaskSterile - - id: DoorRemoteMedical + - id: ClothingBeltMedicalFilled - id: HandheldCrewMonitor - id: Hypospray - - id: BoxCMOCircuitboards - - id: MedkitFilled - - id: RubberStampCMO - id: MedTekCartridge + # Standard command gear + - id: RubberStampCMO + - id: ClothingHeadsetAltMedical + - id: DoorRemoteMedical + - id: BoxEncryptionKeyMedical + - id: BoxCMOCircuitboards # Hardsuit table, used for suit storage as well - type: entityTable diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml b/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml index 67eeb837aa..b38b900983 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/medical.yml @@ -1,19 +1,20 @@ +# Medical supply lockers + - type: entityTable id: LockerFillMedicine table: !type:AllSelector children: - - id: BoxSyringe - - id: ChemistryBottleEpinephrine - - id: Brutepack - amount: !type:ConstantNumberSelector - value: 2 - - id: Ointment - amount: !type:ConstantNumberSelector - value: 2 - - id: Bloodpack - amount: !type:ConstantNumberSelector - value: 2 - - id: Gauze + - !type:NestedSelector + tableId: CoreMedicineReagentBottleTable + rolls: 2 + - !type:GroupSelector # Basic topicals + rolls: 7 + children: + - id: Brutepack + - id: Ointment + - id: Bloodpack + - id: Gauze + weight: 0.5 - type: entity parent: LockerMedicine @@ -36,35 +37,18 @@ entity_storage: !type:NestedSelector tableId: LockerFillMedicine +# Medical role lockers + - type: entityTable id: LockerFillMedicalDoctor table: !type:AllSelector children: - - id: HandheldHealthAnalyzer - prob: 0.6 - - id: ClothingHeadMirror - prob: 0.1 - - id: ClothingHandsGlovesLatex - - id: ClothingHeadsetMedical - id: ClothingEyesHudMedical - - !type:GroupSelector - children: - - id: ClothingHeadHatSurgcapGreen - weight: 0.1 - - id: ClothingHeadHatSurgcapPurple - weight: 0.05 - - id: ClothingHeadHatSurgcapBlue - weight: 0.90 - - !type:GroupSelector - children: - - id: UniformScrubsColorBlue - weight: 0.5 - - id: UniformScrubsColorGreen - weight: 0.1 - - id: UniformScrubsColorPurple - weight: 0.05 - - id: ClothingMaskSterile + - id: ClothingBeltMedicalFilled - id: JetInjector + - id: HandheldHealthAnalyzer + - id: ChemistryBottleLaughter # Widely recognized as the best medicine :o) + prob: 0.01 - type: entity parent: LockerMedical @@ -91,20 +75,25 @@ id: LockerFillChemistry table: !type:AllSelector children: - - id: BoxSyringe - - id: BoxBeaker - - id: BoxBeaker - prob: 0.3 - - id: BoxPillCanister - - id: BoxBottle - - id: BoxVial - - id: PlasmaChemistryVial + - id: ClothingEyesGlassesChemical - id: ChemBag - - id: ClothingHandsGlovesLatex - - id: ClothingHeadsetMedical - - id: ClothingMaskSterile + - id: Dropper - id: HandLabeler - prob: 0.5 + - id: BarSpoon # Should be replaced by a stirring tool with medical theming, like a glass rod + - id: PlasmaChemistryVial + - !type:AllSelector # The wonderful world of chemical storage + children: + - id: BoxSyringe + - id: BoxBottle + - id: BoxVial + - id: BoxBeaker + - id: BoxPillCanister + - !type:GroupSelector # Remind chemists once in a while of alternate storage options + prob: 0.2 + children: + - id: SprayBottle + - id: Bucket + - id: DrinkCartonMilk - type: entity parent: LockerChemistry @@ -120,20 +109,17 @@ id: LockerFillParamedic table: !type:AllSelector children: - - id: ClothingOuterHardsuitVoidParamed - - id: ClothingOuterCoatParamedicWB - - id: ClothingHeadHatParamedicsoft - - id: ClothingOuterWinterPara - - id: ClothingUniformJumpsuitParamedic - - id: ClothingUniformJumpskirtParamedic - id: ClothingEyesHudMedical - - id: ClothingHandsGlovesLatex - - id: ClothingHeadsetMedical - - id: ClothingMaskSterile - - id: HandheldGPSBasic - - id: MedkitFilled - prob: 0.3 + - id: ClothingOuterHardsuitVoidParamed + - id: ClothingBeltMedicalEMTFilled - id: JetInjector + - id: HandheldHealthAnalyzer + - id: BoxBodyBag + - !type:GroupSelector + children: + - id: RollerBedSpawnFolded + - id: CheapRollerBedSpawnFolded + - id: EmergencyRollerBedSpawnFolded - type: entity parent: LockerParamedic diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemdrobe.yml index 43e60a3a86..af49193a0f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chemdrobe.yml @@ -1,19 +1,19 @@ - type: vendingMachineInventory id: ChemDrobeInventory startingInventory: - ClothingUniformJumpsuitChemistry: 2 - ClothingUniformJumpskirtChemistry: 2 - ClothingOuterCoatLabChem: 2 - ClothingShoesColorWhite: 2 - ClothingBackpackChemistry: 2 - ClothingBackpackSatchelChemistry: 2 - ClothingBackpackDuffelChemistry: 2 - ChemBag: 2 - HandLabeler: 3 - ClothingBeltMedical: 2 - ClothingHandsGlovesLatex: 2 - ClothingHeadsetMedical: 2 - ClothingOuterWinterChem: 2 - ClothingEyesGlassesChemical: 2 + # Essential + ClothingEyesGlassesChemical: 1 + # Optional + ClothingHeadsetMedical: 1 + ClothingBackpackChemistry: 1 + ClothingBackpackSatchelChemistry: 1 + ClothingBackpackDuffelChemistry: 1 + ChemBag: 1 + ClothingUniformJumpsuitChemistry: 1 + ClothingUniformJumpskirtChemistry: 1 + ClothingOuterCoatLabChem: 1 + ClothingOuterWinterChem: 1 + ClothingHandsGlovesLatex: 1 + ClothingShoesColorWhite: 1 contrabandInventory: ToyFigurineChemist: 1 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/genedrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/genedrobe.yml index 84a5f9a79b..1d50f7feec 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/genedrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/genedrobe.yml @@ -1,11 +1,11 @@ - type: vendingMachineInventory id: GeneDrobeInventory startingInventory: + ClothingBackpackGenetics: 2 + ClothingBackpackSatchelGenetics: 2 + ClothingBackpackDuffelGenetics: 2 ClothingUniformJumpsuitGenetics: 2 ClothingUniformJumpskirtGenetics: 2 - ClothingShoesColorWhite: 2 ClothingOuterCoatLabGene: 2 ClothingOuterWinterGen: 2 - ClothingBackpackGenetics: 2 - ClothingBackpackSatchelGenetics: 2 - ClothingBackpackDuffelGenetics: 2 + ClothingShoesColorWhite: 2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml index 639bc55f87..34830b9dc1 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml @@ -11,67 +11,65 @@ PillCanisterTricordrazine: 2 contrabandInventory: PillCanisterRandom: 1 - PowerCellSmall: 2 +# All access version. Should reflect the stock of NanoMedInventory, but less powerful - type: vendingMachineInventory id: NanoMedCivilianWallInventory startingInventory: HandheldHealthAnalyzer: 1 - AloeCream: 2 - Gauze: 3 + Tourniquet: 3 Brutepack: 3 - Ointment: 2 + AloeCream: 3 # Currently just a reskin of Ointment but it's something Bloodpack: 3 - ChemistryBottleEpinephrine: 3 + ChemistryBottleInaprovaline: 3 Syringe: 3 - PillCanisterTricordrazine: 2 + PillTricordrazine: 10 contrabandInventory: PillCanisterRandom: 1 - PowerCellSmall: 2 +# Core medical supply vendor - type: vendingMachineInventory id: NanoMedPlusInventory startingInventory: + # Medical Essential Gear + ClothingBeltMedicalFilled: 2 + # Shared Essential HandheldHealthAnalyzer: 3 - Gauze: 5 - Brutepack: 5 - Ointment: 5 - Bloodpack: 5 - Tourniquet: 2 - ChemistryBottleEpinephrine: 3 - ChemistryBottleBicaridine: 1 - Syringe: 5 - JetInjector: 2 + JetInjector: 3 + # Paramed Essential Gear + ClothingBeltMedicalEMTFilled: 1 + EmergencyRollerBedSpawnFolded: 1 + BoxBodyBag: 1 + # Extra Expendable Gear + Gauze: 4 + Brutepack: 4 + Ointment: 4 + Bloodpack: 4 + # Optional / Situational Gear BoxBottle: 3 - PillCanisterTricordrazine: 3 - PillCanisterIron: 1 - PillCanisterCopper: 1 - PillCanisterPotassiumIodide: 1 - SyringeIpecac: 1 - ClothingEyesHudMedical: 2 - ClothingEyesEyepatchHudMedical: 2 + Defibrillator: 2 # Easily shared between several people + Syringe: 4 + PillCanisterTricordrazine: 4 + ClothingOuterHospitalGown: 2 # Not a popular item, so less stock contrabandInventory: PillCanisterRandom: 3 PillSpaceDrugs: 3 FoodApple: 1 +# All access version. Should reflect NanoMedCivilianWallInventory, but with more stock - type: vendingMachineInventory id: NanoMedCivilianInventory startingInventory: HandheldHealthAnalyzer: 3 - AloeCream: 3 - Gauze: 5 + Tourniquet: 5 Brutepack: 5 - Ointment: 4 + AloeCream: 5 Bloodpack: 5 - Tourniquet: 1 - ChemistryBottleEpinephrine: 3 + ChemistryBottleInaprovaline: 5 Syringe: 5 - BoxBottle: 3 - PillCanisterTricordrazine: 2 - PillCanisterIron: 1 - PillCanisterCopper: 1 - PillCanisterPotassiumIodide: 1 + PillTricordrazine: 10 + PillIron: 5 + PillCopper: 5 contrabandInventory: PillCanisterRandom: 1 PillSpaceDrugs: 3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml index 03655aece4..f4c83e028e 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml @@ -1,27 +1,36 @@ - type: vendingMachineInventory id: MediDrobeInventory startingInventory: - ClothingBackpackDuffelMedical: 4 - ClothingBackpackMedical: 4 - ClothingBackpackSatchelMedical: 4 - ClothingUniformJumpsuitMedicalDoctor: 4 - ClothingUniformJumpskirtMedicalDoctor: 4 - ClothingBeltMedical: 4 - ClothingHeadHatBeretMedic: 4 - ClothingHeadNurseHat: 4 - ClothingOuterCoatLab: 4 - ClothingShoesColorWhite: 4 - ClothingHandsGlovesLatex: 4 - ClothingHandsGlovesNitrile: 2 - ClothingHeadsetMedical: 4 + # Essential Medical Clothing + ClothingEyesHudMedical: 2 + ClothingEyesEyepatchHudMedical: 2 + # Optional Clothing + ClothingHeadHatBeretMedic: 2 + ClothingHeadNurseHat: 2 + ClothingHeadHatParamedicsoft: 1 + ClothingHeadHatSurgcapGreen: 2 + ClothingHeadHatSurgcapBlue: 2 + ClothingHeadHatSurgcapPurple: 2 + ClothingMaskSterile: 2 + ClothingHeadsetMedical: 2 + ClothingBackpackMedical: 2 + ClothingBackpackDuffelMedical: 2 + ClothingBackpackSatchelMedical: 2 + ClothingUniformJumpsuitMedicalDoctor: 2 + ClothingUniformJumpskirtMedicalDoctor: 2 + UniformScrubsColorGreen: 2 + UniformScrubsColorBlue: 2 + UniformScrubsColorPurple: 2 + ClothingUniformJumpsuitParamedic: 1 + ClothingUniformJumpskirtParamedic: 1 + ClothingOuterCoatLab: 2 ClothingOuterWinterMed: 2 - ClothingOuterHospitalGown: 5 - UniformScrubsColorGreen: 4 - UniformScrubsColorBlue: 4 - UniformScrubsColorPurple: 4 - ClothingHeadHatSurgcapGreen: 4 - ClothingHeadHatSurgcapBlue: 4 - ClothingHeadHatSurgcapPurple: 4 + ClothingOuterCoatParamedicWB: 1 + ClothingOuterWinterPara: 1 + ClothingHandsGlovesLatex: 2 + ClothingHandsGlovesNitrile: 2 + ClothingShoesColorBlue: 2 + ClothingShoesColorWhite: 2 ClothingShoesBootsWinterMed: 2 contrabandInventory: ClothingUniformJumpskirtOfLife: 1 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml index 4831cfc22f..1f302e0aff 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml @@ -904,6 +904,21 @@ - ReagentId: Ultravasculine Quantity: 30 +- type: entity + parent: BaseChemistryBottleFilled + id: ChemistryBottleCharcoal + suffix: charcoal + components: + - type: Label + currentLabel: reagent-name-charcoal + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Charcoal + Quantity: 30 + # Other bottles - type: entity @@ -1056,6 +1071,21 @@ - ReagentId: Toxin Quantity: 30 +- type: entity + parent: BaseChemistryBottleFilled + id: ChemistryBottleLaughter + suffix: laughter + components: + - type: Label + currentLabel: reagent-name-laughter + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Laughter + Quantity: 30 + # Base reagent bottles - type: entity id: ChemistryBottleAluminium @@ -1389,13 +1419,12 @@ children: - id: ChemistryBottleBicaridine - id: ChemistryBottleKelotane - - id: ChemistryBottleDermaline - id: ChemistryBottleDylovene - id: ChemistryBottleInaprovaline - id: ChemistryBottleDexalin - - id: ChemistryBottleDexalinPlus - id: ChemistryBottleSaline - id: ChemistryBottleTricordrazine + - id: ChemistryBottleHyronalin - type: entityTable id: SpecialtyMedicineReagentBottleTable @@ -1409,6 +1438,8 @@ - id: ChemistryBottleTricordrazine - id: ChemistryBottleTranexamicAcid - id: ChemistryBottleOculine + - id: ChemistryBottleCharcoal + - id: ChemistryBottleLaughter - type: entityTable id: AllMedicineReagentBottlesTable @@ -1464,3 +1495,5 @@ - id: ChemistryBottleTranexamicAcid - id: ChemistryBottleTricordrazine - id: ChemistryBottleUltravasculine + - id: ChemistryBottleCharcoal + - id: ChemistryBottleLaughter diff --git a/Resources/Prototypes/Loadouts/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Loadouts/Jobs/Medical/chief_medical_officer.yml index 1444247083..5679a5d67b 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Medical/chief_medical_officer.yml @@ -1,13 +1,3 @@ -# For mantles -- type: loadoutEffectGroup - id: MasterCMO - effects: - - !type:JobRequirementLoadoutEffect - requirement: - !type:RoleTimeRequirement - role: JobChiefMedicalOfficer - time: 20h - # Jumpsuit - type: loadout id: ChiefMedicalOfficerJumpsuit @@ -52,12 +42,7 @@ neck: ClothingNeckMantleCMO effects: - !type:GroupLoadoutEffect - proto: MasterCMO - -- type: startingGear - id: ChiefMedicalOfficerMantle - equipment: - neck: ClothingNeckMantleCMO + proto: CMOJourneymanTimer # Outer clothing - type: loadout diff --git a/Resources/Prototypes/Loadouts/Jobs/Medical/medical_doctor.yml b/Resources/Prototypes/Loadouts/Jobs/Medical/medical_doctor.yml index b5e5cc10e8..16b8ce2796 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Medical/medical_doctor.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Medical/medical_doctor.yml @@ -1,41 +1,9 @@ -# Senior Time -- type: loadoutEffectGroup - id: SeniorPhysician - effects: - - !type:JobRequirementLoadoutEffect - requirement: - !type:RoleTimeRequirement - role: JobChemist - time: 6h - - !type:JobRequirementLoadoutEffect - requirement: - !type:RoleTimeRequirement - role: JobMedicalDoctor - time: 6h - - !type:JobRequirementLoadoutEffect - requirement: - !type:DepartmentTimeRequirement - department: Medical - time: 60h - -# Other Timers - -- type: loadoutEffectGroup - id: MedicalHeadMirrorTimer - effects: - - !type:JobRequirementLoadoutEffect - requirement: - !type:RoleTimeRequirement - role: JobMedicalDoctor - time: 30h - # Head - - type: loadout id: SeniorPhysicianBeret effects: - !type:GroupLoadoutEffect - proto: SeniorPhysician + proto: MedicalExpertTimer equipment: head: ClothingHeadHatBeretSeniorPhysician @@ -43,7 +11,7 @@ id: MedicalHeadMirror effects: - !type:GroupLoadoutEffect - proto: MedicalHeadMirrorTimer + proto: MedicalJourneymanTimer equipment: head: ClothingHeadMirror @@ -87,7 +55,7 @@ id: SeniorPhysicianJumpsuit effects: - !type:GroupLoadoutEffect - proto: SeniorPhysician + proto: MedicalExpertTimer equipment: jumpsuit: ClothingUniformJumpsuitSeniorPhysician @@ -95,7 +63,7 @@ id: SeniorPhysicianJumpskirt effects: - !type:GroupLoadoutEffect - proto: SeniorPhysician + proto: MedicalExpertTimer equipment: jumpsuit: ClothingUniformJumpskirtSeniorPhysician @@ -140,7 +108,7 @@ id: SeniorPhysicianLabCoat effects: - !type:GroupLoadoutEffect - proto: SeniorPhysician + proto: MedicalExpertTimer equipment: outerClothing: ClothingOuterCoatLabSeniorPhysician @@ -160,29 +128,12 @@ id: SeniorPhysicianPDA effects: - !type:GroupLoadoutEffect - proto: SeniorPhysician + proto: MedicalExpertTimer equipment: id: SeniorPhysicianPDA -# Gloves -- type: loadout - id: NitrileGloves - equipment: - gloves: ClothingHandsGlovesNitrile - #Masks - type: loadout id: SterileMask equipment: mask: ClothingMaskSterile - -#Eyewear -- type: loadout - id: MedicalHud - equipment: - eyes: ClothingEyesHudMedical - -- type: loadout - id: MedicalEyePatchHud - equipment: - eyes: ClothingEyesEyepatchHudMedical diff --git a/Resources/Prototypes/Loadouts/Jobs/Medical/role_timers.yml b/Resources/Prototypes/Loadouts/Jobs/Medical/role_timers.yml new file mode 100644 index 0000000000..29af74b213 --- /dev/null +++ b/Resources/Prototypes/Loadouts/Jobs/Medical/role_timers.yml @@ -0,0 +1,39 @@ +# Top level timer for master medical players +- type: loadoutEffectGroup + id: MedicalExpertTimer + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobChemist + time: 6h + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobMedicalDoctor + time: 6h + - !type:JobRequirementLoadoutEffect + requirement: + !type:DepartmentTimeRequirement + department: Medical + time: 60h + +# Mid-level timer for players who have a solid amount of experience +- type: loadoutEffectGroup + id: MedicalJourneymanTimer + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobMedicalDoctor + time: 20h + +# Mid-level timer for CMO +- type: loadoutEffectGroup + id: CMOJourneymanTimer + effects: + - !type:JobRequirementLoadoutEffect + requirement: + !type:RoleTimeRequirement + role: JobChiefMedicalOfficer + time: 20h diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/LoadoutGroups/loadout_groups.yml similarity index 85% rename from Resources/Prototypes/Loadouts/loadout_groups.yml rename to Resources/Prototypes/Loadouts/LoadoutGroups/loadout_groups.yml index ed25ef0829..f4d262242c 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/LoadoutGroups/loadout_groups.yml @@ -1342,235 +1342,6 @@ - EmergencyOxygenSecurity - LoadoutSpeciesVoxNitrogen -# Medical -- type: loadoutGroup - id: ChiefMedicalOfficerHead - name: loadout-group-chief-medical-officer-head - minLimit: 0 - loadouts: - - ChiefMedicalOfficerBeret - - CMOMedicalHeadMirror - -- type: loadoutGroup - id: ChiefMedicalOfficerJumpsuit - name: loadout-group-chief-medical-officer-jumpsuit - loadouts: - - ChiefMedicalOfficerJumpsuit - - ChiefMedicalOfficerJumpskirt - - ChiefMedicalOfficerTurtleneckJumpsuit - - ChiefMedicalOfficerTurtleneckJumpskirt - -- type: loadoutGroup - id: ChiefMedicalOfficerOuterClothing - name: loadout-group-chief-medical-officer-outerclothing - minLimit: 0 - loadouts: - - ChiefMedicalOfficerLabCoat - - ChiefMedicalOfficerWintercoat - -- type: loadoutGroup - id: ChiefMedicalOfficerNeck - name: loadout-group-chief-medical-officer-neck - minLimit: 0 - loadouts: - - ChiefMedicalOfficerCloak - - ChiefMedicalOfficerMantle - -- type: loadoutGroup - id: ChiefMedicalOfficerShoes - name: loadout-group-chief-medical-officer-shoes - loadouts: - - BrownShoes - - MedicalWinterBoots - -- type: loadoutGroup - id: ChiefMedicalOfficerJobTrinkets - name: loadout-group-jobtrinkets - minLimit: 0 - loadouts: - - LizardPlushieChiefMedicalOfficer - -- type: loadoutGroup - id: MedicalDoctorHead - name: loadout-group-medical-doctor-head - minLimit: 0 - loadouts: - - MedicalBeret - - SeniorPhysicianBeret - - MedicalHeadMirror - - BlueSurgeryCap - - GreenSurgeryCap - - PurpleSurgeryCap - - NurseHat - -- type: loadoutGroup - id: MedicalDoctorJumpsuit - name: loadout-group-medical-doctor-jumpsuit - loadouts: - - MedicalDoctorJumpsuit - - MedicalDoctorJumpskirt - - SeniorPhysicianJumpsuit - - SeniorPhysicianJumpskirt - - MedicalBlueScrubs - - MedicalGreenScrubs - - MedicalPurpleScrubs - -- type: loadoutGroup - id: MedicalDoctorOuterClothing - name: loadout-group-medical-doctor-outerclothing - minLimit: 0 - loadouts: - - RegularLabCoat - - MedicalDoctorWintercoat - - SeniorPhysicianLabCoat - -- type: loadoutGroup - id: MedicalBackpack - name: loadout-group-medical-doctor-backpack - loadouts: - - MedicalDoctorBackpack - - MedicalDoctorSatchel - - MedicalDoctorDuffel - -- type: loadoutGroup - id: MedicalShoes - name: loadout-group-medical-doctor-shoes - loadouts: - - WhiteShoes - - MedicalWinterBoots - -- type: loadoutGroup - id: MedicalDoctorPDA - name: loadout-group-medical-doctor-id - loadouts: - - MedicalDoctorPDA - - SeniorPhysicianPDA - -- type: loadoutGroup - id: MedicalGloves - name: loadout-group-medical-gloves - minLimit: 0 - loadouts: - - LatexGloves - - NitrileGloves - -- type: loadoutGroup - id: MedicalMask - name: loadout-group-medical-mask - minLimit: 0 - loadouts: - - SterileMask - -- type: loadoutGroup - id: MedicalDoctorJobTrinkets - name: loadout-group-jobtrinkets - minLimit: 0 - loadouts: - - LizardPlushieMedicalDoctor - -- type: loadoutGroup - id: MedicalInternJumpsuit - name: loadout-group-medical-intern-jumpsuit - loadouts: - - WhiteJumpsuit - - WhiteJumpskirt - -- type: loadoutGroup - id: MedicalInternJobTrinkets - name: loadout-group-jobtrinkets - minLimit: 0 - loadouts: - - LizardPlushieMedicalIntern - -- type: loadoutGroup - id: ChemistJumpsuit - name: loadout-group-chemist-jumpsuit - loadouts: - - ChemistJumpsuit - - ChemistJumpskirt - -- type: loadoutGroup - id: ChemistOuterClothing - name: loadout-group-chemist-outerclothing - minLimit: 0 - loadouts: - - RegularLabCoat - - ChemistLabCoat - - ChemistWintercoat - -- type: loadoutGroup - id: ChemistBackpack - name: loadout-group-chemist-backpack - loadouts: - - ChemistBackpack - - ChemistSatchel - - ChemistDuffel - -- type: loadoutGroup - id: ChemistJobTrinkets - name: loadout-group-jobtrinkets - minLimit: 0 - loadouts: - - LizardPlushieChemist - -- type: loadoutGroup - id: ParamedicHead - name: loadout-group-paramedic-head - minLimit: 0 - loadouts: - - ParamedicHead - -- type: loadoutGroup - id: ParamedicJumpsuit - name: loadout-group-paramedic-jumpsuit - loadouts: - - ParamedicJumpsuit - - ParamedicJumpskirt - -- type: loadoutGroup - id: ParamedicOuterClothing - name: loadout-group-paramedic-outerclothing - minLimit: 0 - loadouts: - - ParamedicWindbreaker - - ParamedicWintercoat - -- type: loadoutGroup - id: ParamedicShoes - name: loadout-group-paramedic-shoes - loadouts: - - BlueShoes - - WhiteShoes - - MedicalWinterBoots - -- type: loadoutGroup - id: ParamedicJobTrinkets - name: loadout-group-jobtrinkets - minLimit: 0 - loadouts: - - LizardPlushieParamedic - -- type: loadoutGroup - id: MedicalEyewear - name: loadout-group-medical-glasses - minLimit: 0 - loadouts: - - MedicalHud - - MedicalEyePatchHud - - Glasses - - GlassesJamjar - - GlassesJensen - -- type: loadoutGroup - id: SurvivalMedical - name: loadout-group-survival-medical - minLimit: 2 - hidden: true - loadouts: - - EmergencyNitrogenMedical - - EmergencyOxygenMedical - - LoadoutSpeciesVoxNitrogen - # Wildcards - type: loadoutGroup id: ReporterJumpsuit diff --git a/Resources/Prototypes/Loadouts/LoadoutGroups/medical.yml b/Resources/Prototypes/Loadouts/LoadoutGroups/medical.yml new file mode 100644 index 0000000000..5cb77dce1e --- /dev/null +++ b/Resources/Prototypes/Loadouts/LoadoutGroups/medical.yml @@ -0,0 +1,220 @@ +# Generic + +- type: loadoutGroup + id: MedicalMask + name: loadout-group-medical-mask + minLimit: 0 + loadouts: + - SterileMask + +- type: loadoutGroup + id: MedicalBackpack + name: loadout-group-medical-doctor-backpack + loadouts: + - MedicalDoctorBackpack + - MedicalDoctorSatchel + - MedicalDoctorDuffel + +- type: loadoutGroup + id: MedicalShoes + name: loadout-group-medical-doctor-shoes + loadouts: + - WhiteShoes + - MedicalWinterBoots + +- type: loadoutGroup + id: SurvivalMedical + name: loadout-group-survival-medical + minLimit: 2 + hidden: true + loadouts: + - EmergencyNitrogenMedical + - EmergencyOxygenMedical + - LoadoutSpeciesVoxNitrogen + +# Chief Medical Officer + +- type: loadoutGroup + id: ChiefMedicalOfficerHead + name: loadout-group-chief-medical-officer-head + minLimit: 0 + loadouts: + - ChiefMedicalOfficerBeret + - CMOMedicalHeadMirror + +- type: loadoutGroup + id: ChiefMedicalOfficerJumpsuit + name: loadout-group-chief-medical-officer-jumpsuit + loadouts: + - ChiefMedicalOfficerJumpsuit + - ChiefMedicalOfficerJumpskirt + - ChiefMedicalOfficerTurtleneckJumpsuit + - ChiefMedicalOfficerTurtleneckJumpskirt + +- type: loadoutGroup + id: ChiefMedicalOfficerOuterClothing + name: loadout-group-chief-medical-officer-outerclothing + minLimit: 0 + loadouts: + - ChiefMedicalOfficerLabCoat + - ChiefMedicalOfficerWintercoat + +- type: loadoutGroup + id: ChiefMedicalOfficerNeck + name: loadout-group-chief-medical-officer-neck + minLimit: 0 + loadouts: + - ChiefMedicalOfficerCloak + - ChiefMedicalOfficerMantle + +- type: loadoutGroup + id: ChiefMedicalOfficerShoes + name: loadout-group-chief-medical-officer-shoes + loadouts: + - BrownShoes + - MedicalWinterBoots + +- type: loadoutGroup + id: ChiefMedicalOfficerJobTrinkets + name: loadout-group-jobtrinkets + minLimit: 0 + loadouts: + - LizardPlushieChiefMedicalOfficer + +# Medical Doctor + +- type: loadoutGroup + id: MedicalDoctorHead + name: loadout-group-medical-doctor-head + minLimit: 0 + loadouts: + - MedicalBeret + - SeniorPhysicianBeret + - MedicalHeadMirror + - BlueSurgeryCap + - GreenSurgeryCap + - PurpleSurgeryCap + - NurseHat + +- type: loadoutGroup + id: MedicalDoctorJumpsuit + name: loadout-group-medical-doctor-jumpsuit + loadouts: + - MedicalDoctorJumpsuit + - MedicalDoctorJumpskirt + - SeniorPhysicianJumpsuit + - SeniorPhysicianJumpskirt + - MedicalBlueScrubs + - MedicalGreenScrubs + - MedicalPurpleScrubs + +- type: loadoutGroup + id: MedicalDoctorOuterClothing + name: loadout-group-medical-doctor-outerclothing + minLimit: 0 + loadouts: + - RegularLabCoat + - MedicalDoctorWintercoat + - SeniorPhysicianLabCoat + +- type: loadoutGroup + id: MedicalDoctorPDA + name: loadout-group-medical-doctor-id + loadouts: + - MedicalDoctorPDA + - SeniorPhysicianPDA + +- type: loadoutGroup + id: MedicalDoctorJobTrinkets + name: loadout-group-jobtrinkets + minLimit: 0 + loadouts: + - LizardPlushieMedicalDoctor + +# Medical Intern + +- type: loadoutGroup + id: MedicalInternJumpsuit + name: loadout-group-medical-intern-jumpsuit + loadouts: + - WhiteJumpsuit + - WhiteJumpskirt + +- type: loadoutGroup + id: MedicalInternJobTrinkets + name: loadout-group-jobtrinkets + minLimit: 0 + loadouts: + - LizardPlushieMedicalIntern + +# Chemist + +- type: loadoutGroup + id: ChemistJumpsuit + name: loadout-group-chemist-jumpsuit + loadouts: + - ChemistJumpsuit + - ChemistJumpskirt + +- type: loadoutGroup + id: ChemistOuterClothing + name: loadout-group-chemist-outerclothing + minLimit: 0 + loadouts: + - RegularLabCoat + - ChemistLabCoat + - ChemistWintercoat + +- type: loadoutGroup + id: ChemistBackpack + name: loadout-group-chemist-backpack + loadouts: + - ChemistBackpack + - ChemistSatchel + - ChemistDuffel + +- type: loadoutGroup + id: ChemistJobTrinkets + name: loadout-group-jobtrinkets + minLimit: 0 + loadouts: + - LizardPlushieChemist + +# Paramedic + +- type: loadoutGroup + id: ParamedicHead + name: loadout-group-paramedic-head + minLimit: 0 + loadouts: + - ParamedicHead + +- type: loadoutGroup + id: ParamedicJumpsuit + name: loadout-group-paramedic-jumpsuit + loadouts: + - ParamedicJumpsuit + - ParamedicJumpskirt + +- type: loadoutGroup + id: ParamedicOuterClothing + name: loadout-group-paramedic-outerclothing + minLimit: 0 + loadouts: + - ParamedicWindbreaker + - ParamedicWintercoat + +- type: loadoutGroup + id: ParamedicShoes + name: loadout-group-paramedic-shoes + loadouts: + - BlueShoes + - WhiteShoes + - MedicalWinterBoots + +- type: loadoutGroup + id: ParamedicJobTrinkets + name: loadout-group-jobtrinkets + minLimit: 0 + loadouts: + - LizardPlushieParamedic diff --git a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml index 3642300ba7..4e03b12c82 100644 --- a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml +++ b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml @@ -441,11 +441,8 @@ - type: loadout id: TowelColorLightBlue effects: - - !type:JobRequirementLoadoutEffect - requirement: - !type:DepartmentTimeRequirement - department: Medical - time: 100h + - !type:GroupLoadoutEffect + proto: MedicalExpertTimer storage: back: - TowelColorLightBlue diff --git a/Resources/Prototypes/Loadouts/RoleLoadouts/medical.yml b/Resources/Prototypes/Loadouts/RoleLoadouts/medical.yml new file mode 100644 index 0000000000..1cac8b94b9 --- /dev/null +++ b/Resources/Prototypes/Loadouts/RoleLoadouts/medical.yml @@ -0,0 +1,78 @@ +## Role Loadouts + +- type: roleLoadout + id: JobChiefMedicalOfficer + groups: + - GroupTankHarness + - ChiefMedicalOfficerHead + - MedicalMask + - ChiefMedicalOfficerJumpsuit + - MedicalBackpack + - ChiefMedicalOfficerOuterClothing + - ChiefMedicalOfficerNeck + - ChiefMedicalOfficerShoes + - Glasses + - SurvivalMedical + - Trinkets + - ChiefMedicalOfficerJobTrinkets + - GroupSpeciesBreathToolMedical + +- type: roleLoadout + id: JobMedicalDoctor + groups: + - GroupTankHarness + - MedicalDoctorHead + - MedicalMask + - MedicalDoctorJumpsuit + - MedicalBackpack + - MedicalDoctorOuterClothing + - MedicalShoes + - MedicalDoctorPDA + - Glasses + - SurvivalMedical + - Trinkets + - MedicalDoctorJobTrinkets + - GroupSpeciesBreathToolMedical + +- type: roleLoadout + id: JobMedicalIntern + groups: + - GroupTankHarness + - MedicalInternJumpsuit + - MedicalBackpack + - Glasses + - SurvivalMedical + - Trinkets + - MedicalInternJobTrinkets + - GroupSpeciesBreathToolMedical + +- type: roleLoadout + id: JobChemist + groups: + - GroupTankHarness + - MedicalMask + - ChemistJumpsuit + - ChemistBackpack + - ChemistOuterClothing + - MedicalShoes + - Glasses + - SurvivalMedical + - Trinkets + - ChemistJobTrinkets + - GroupSpeciesBreathToolMedical + +- type: roleLoadout + id: JobParamedic + groups: + - GroupTankHarness + - ParamedicHead + - MedicalMask + - ParamedicJumpsuit + - MedicalBackpack + - ParamedicOuterClothing + - ParamedicShoes + - Glasses + - SurvivalMedical + - Trinkets + - ParamedicJobTrinkets + - GroupSpeciesBreathToolMedical diff --git a/Resources/Prototypes/Loadouts/role_loadouts.yml b/Resources/Prototypes/Loadouts/RoleLoadouts/role_loadouts.yml similarity index 86% rename from Resources/Prototypes/Loadouts/role_loadouts.yml rename to Resources/Prototypes/Loadouts/RoleLoadouts/role_loadouts.yml index 98bc279cbb..026cadfa46 100644 --- a/Resources/Prototypes/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/Loadouts/RoleLoadouts/role_loadouts.yml @@ -432,87 +432,6 @@ - SecurityCadetJobTrinkets - GroupSpeciesBreathToolSecurity -# Medical -- type: roleLoadout - id: JobChiefMedicalOfficer - groups: - - GroupTankHarness - - ChiefMedicalOfficerHead - - MedicalMask - - ChiefMedicalOfficerJumpsuit - - MedicalGloves - - MedicalBackpack - - ChiefMedicalOfficerOuterClothing - - ChiefMedicalOfficerNeck - - ChiefMedicalOfficerShoes - - MedicalEyewear - - SurvivalMedical - - Trinkets - - ChiefMedicalOfficerJobTrinkets - - GroupSpeciesBreathToolMedical - -- type: roleLoadout - id: JobMedicalDoctor - groups: - - GroupTankHarness - - MedicalDoctorHead - - MedicalMask - - MedicalDoctorJumpsuit - - MedicalGloves - - MedicalBackpack - - MedicalDoctorOuterClothing - - MedicalShoes - - MedicalDoctorPDA - - MedicalEyewear - - SurvivalMedical - - Trinkets - - MedicalDoctorJobTrinkets - - GroupSpeciesBreathToolMedical - -- type: roleLoadout - id: JobMedicalIntern - groups: - - GroupTankHarness - - MedicalInternJumpsuit - - MedicalBackpack - - MedicalEyewear - - SurvivalMedical - - Trinkets - - MedicalInternJobTrinkets - - GroupSpeciesBreathToolMedical - -- type: roleLoadout - id: JobChemist - groups: - - GroupTankHarness - - MedicalMask - - ChemistJumpsuit - - MedicalGloves - - ChemistBackpack - - ChemistOuterClothing - - MedicalShoes - - SurvivalMedical - - Trinkets - - ChemistJobTrinkets - - GroupSpeciesBreathToolMedical - -- type: roleLoadout - id: JobParamedic - groups: - - GroupTankHarness - - ParamedicHead - - MedicalMask - - ParamedicJumpsuit - - MedicalGloves - - MedicalBackpack - - ParamedicOuterClothing - - ParamedicShoes - - MedicalEyewear - - SurvivalMedical - - Trinkets - - ParamedicJobTrinkets - - GroupSpeciesBreathToolMedical - # Wildcards - type: roleLoadout id: JobReporter diff --git a/Resources/Prototypes/Loadouts/loadouts_chameleon.yml b/Resources/Prototypes/Loadouts/loadouts_chameleon.yml deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml index 784ba81403..6f86179015 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml @@ -20,12 +20,6 @@ equipment: id: ChemistryPDA ears: ClothingHeadsetMedical - belt: ChemBag - pocket1: HandLabeler - eyes: ClothingEyesGlassesChemical - #storage: - #back: - #- Stuff - type: chameleonOutfit id: ChemistChameleonOutfit diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml index f67041a713..5abd370503 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml @@ -40,7 +40,6 @@ equipment: id: CMOPDA ears: ClothingHeadsetCMO - belt: ClothingBeltMedicalFilled storage: back: - Flash diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml index a41e95d400..f012f25197 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml @@ -24,10 +24,6 @@ id: DoctorGear equipment: ears: ClothingHeadsetMedical - belt: ClothingBeltMedicalFilled - #storage: - #back: - #- Stuff - type: chameleonOutfit id: MedicalDoctorChameleonOutfit diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml index 9c1c41da2b..cc96b6bee2 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml @@ -22,11 +22,7 @@ shoes: ClothingShoesColorWhite id: MedicalInternPDA ears: ClothingHeadsetMedical - belt: ClothingBeltMedicalFilled pocket2: BookMedicalReferenceBook - #storage: - #back: - #- Stuff - type: chameleonOutfit id: MedicalInternChameleonOutfit diff --git a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml index da71ac0367..4ef5f08e4d 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml @@ -21,10 +21,6 @@ equipment: id: ParamedicPDA ears: ClothingHeadsetMedical - belt: ClothingBeltMedicalEMTFilled - storage: - back: - - EmergencyRollerBedSpawnFolded - type: chameleonOutfit id: ParamedicChameleonOutfit