diff --git a/Content.Shared/Clothing/Components/LoadoutComponent.cs b/Content.Shared/Clothing/Components/LoadoutComponent.cs
index 15d0d60af5..58a46bab36 100644
--- a/Content.Shared/Clothing/Components/LoadoutComponent.cs
+++ b/Content.Shared/Clothing/Components/LoadoutComponent.cs
@@ -9,10 +9,8 @@ namespace Content.Shared.Clothing.Components;
public sealed partial class LoadoutComponent : Component
{
///
- /// A list of starting gears, of which one will be given.
+ /// A list of starting gears, of which one will be given, before RoleLoadouts are equipped.
/// All elements are weighted the same in the list.
- ///
- /// If not specified, will be used instead.
///
[DataField("prototypes")]
[AutoNetworkedField]
@@ -21,8 +19,6 @@ public sealed partial class LoadoutComponent : Component
///
/// A list of role loadouts, of which one will be given.
/// All elements are weighted the same in the list.
- ///
- /// If not specified, will be used instead.
///
[DataField]
[AutoNetworkedField]
diff --git a/Resources/Prototypes/Entities/Mobs/Player/human.yml b/Resources/Prototypes/Entities/Mobs/Player/human.yml
index e07ce9c5b4..4a7a48a0d5 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/human.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/human.yml
@@ -11,16 +11,17 @@
name: syndicate agent
suffix: Human, Base
components:
- - type: RandomHumanoidAppearance
- randomizeName: false
- hair: HairBald
- - type: Loadout
- prototypes: [SyndicateOperativeGearExtremelyBasic]
- - type: RandomMetadata
- nameSegments: [names_death_commando]
- - type: NpcFactionMember
- factions:
- - Syndicate
+ - type: RandomHumanoidAppearance
+ randomizeName: false
+ hair: HairBald
+ - type: Loadout
+ prototypes: [SyndicateOperativeGearExtremelyBasic]
+ roleLoadout: [ RoleSurvivalSyndicate ]
+ - type: RandomMetadata
+ nameSegments: [names_death_commando]
+ - type: NpcFactionMember
+ factions:
+ - Syndicate
- type: entity
parent: MobHumanSyndicateAgentBase
@@ -28,10 +29,10 @@
name: syndicate agent
suffix: Human, Traitor
components:
- # make the player a traitor once its taken
- - type: AutoTraitor
- giveUplink: false
- giveObjectives: false
+ # make the player a traitor once its taken
+ - type: AutoTraitor
+ giveUplink: false
+ giveObjectives: false
- type: entity
parent: MobHumanSyndicateAgent
@@ -40,6 +41,7 @@
components:
- type: Loadout
prototypes: [SyndicateReinforcementMedic]
+ roleLoadout: [ RoleSurvivalSyndicate ]
- type: entity
parent: MobHumanSyndicateAgent
@@ -48,6 +50,7 @@
components:
- type: Loadout
prototypes: [SyndicateReinforcementSpy]
+ roleLoadout: [ RoleSurvivalSyndicate ]
- type: entity
parent: MobHumanSyndicateAgent
@@ -56,19 +59,20 @@
components:
- type: Loadout
prototypes: [SyndicateReinforcementThief]
+ roleLoadout: [ RoleSurvivalSyndicate ]
- type: entity
parent: MobHumanSyndicateAgentBase
id: MobHumanSyndicateAgentNukeops # Reinforcement exclusive to nukeops uplink
suffix: Human, NukeOps
components:
- - type: NukeOperative
- - type: RandomMetadata
- nameSegments:
- - nukeops-role-operator
- - SyndicateNamesNormal
- - type: Loadout
- prototypes: [SyndicateOperativeGearFullNoUplink]
+ - type: NukeOperative
+ - type: RandomMetadata
+ nameSegments:
+ - nukeops-role-operator
+ - SyndicateNamesNormal
+ - type: Loadout
+ prototypes: [SyndicateOperativeGearFullNoUplink]
# Nuclear Operative
- type: entity
@@ -77,8 +81,8 @@
parent: MobHuman
id: MobHumanNukeOp
components:
- - type: NukeOperative
- - type: RandomHumanoidAppearance
+ - type: NukeOperative
+ - type: RandomHumanoidAppearance
- type: entity
categories: [ HideSpawnMenu ]
@@ -86,15 +90,16 @@
id: MobHumanLoneNuclearOperative
name: Lone Operative
components:
- - type: RandomHumanoidAppearance
- randomizeName: false
- - type: NukeOperative
- - type: Loadout
- prototypes: [SyndicateLoneOperativeGearFull]
- - type: RandomMetadata
- nameSegments:
- - SyndicateNamesPrefix
- - SyndicateNamesNormal
- - type: NpcFactionMember
- factions:
- - Syndicate
+ - type: RandomHumanoidAppearance
+ randomizeName: false
+ - type: NukeOperative
+ - type: Loadout
+ prototypes: [SyndicateLoneOperativeGearFull]
+ roleLoadout: [ RoleSurvivalSyndicate ]
+ - type: RandomMetadata
+ nameSegments:
+ - SyndicateNamesPrefix
+ - SyndicateNamesNormal
+ - type: NpcFactionMember
+ factions:
+ - Syndicate
diff --git a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml
index 47baca6134..574f31dff3 100644
--- a/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml
+++ b/Resources/Prototypes/Entities/Mobs/Player/humanoid.yml
@@ -44,6 +44,7 @@
settings: short
- type: Loadout
prototypes: [ DeathSquadGear ]
+ roleLoadout: [ RoleSurvivalEVA ]
- type: RandomMetadata
nameSegments:
- NamesFirstMilitaryLeader
@@ -80,6 +81,7 @@
settings: short
- type: Loadout
prototypes: [ ERTLeaderGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: RandomMetadata
nameSegments:
- NamesFirstMilitaryLeader
@@ -109,6 +111,7 @@
settings: short
- type: Loadout
prototypes: [ ERTLeaderGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
- type: entity
id: RandomHumanoidSpawnerERTLeaderEVALecter
@@ -130,6 +133,7 @@
settings: short
- type: Loadout
prototypes: [ ERTLeaderGearEVALecter ]
+ roleLoadout: [ RoleSurvivalEVA ]
## ERT Chaplain
@@ -165,6 +169,7 @@
- NamesLastMilitary
- type: Loadout
prototypes: [ ERTChaplainGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: entity
id: RandomHumanoidSpawnerERTChaplainEVA
@@ -190,6 +195,7 @@
settings: short
- type: Loadout
prototypes: [ ERTChaplainGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
## ERT Janitor
@@ -225,6 +231,7 @@
- NamesLastMilitary
- type: Loadout
prototypes: [ ERTJanitorGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: entity
id: RandomHumanoidSpawnerERTJanitorEVA
@@ -250,6 +257,7 @@
settings: short
- type: Loadout
prototypes: [ ERTJanitorGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
## ERT Engineer
@@ -285,6 +293,7 @@
- NamesLastMilitary
- type: Loadout
prototypes: [ ERTEngineerGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: entity
id: RandomHumanoidSpawnerERTEngineerEVA
@@ -310,6 +319,7 @@
settings: short
- type: Loadout
prototypes: [ ERTEngineerGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
## ERT Security
@@ -345,6 +355,7 @@
- NamesLastMilitary
- type: Loadout
prototypes: [ ERTSecurityGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: entity
id: RandomHumanoidSpawnerERTSecurityEVA
@@ -370,6 +381,7 @@
settings: short
- type: Loadout
prototypes: [ ERTSecurityGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
- type: entity
id: RandomHumanoidSpawnerERTSecurityEVALecter
@@ -391,6 +403,7 @@
settings: short
- type: Loadout
prototypes: [ ERTSecurityGearEVALecter ]
+ roleLoadout: [ RoleSurvivalEVA ]
## ERT Medic
@@ -426,6 +439,7 @@
- NamesLastMilitary
- type: Loadout
prototypes: [ ERTMedicalGear ]
+ roleLoadout: [ RoleSurvivalExtended ]
- type: entity
id: RandomHumanoidSpawnerERTMedicalEVA
@@ -451,6 +465,7 @@
settings: short
- type: Loadout
prototypes: [ ERTMedicalGearEVA ]
+ roleLoadout: [ RoleSurvivalEVA ]
## CBURN
@@ -471,6 +486,7 @@
components:
- type: Loadout
prototypes: [CBURNGear]
+ roleLoadout: [ RoleSurvivalEVA ]
- type: GhostRole
name: ghost-role-information-cburn-agent-name
description: ghost-role-information-cburn-agent-description
@@ -506,6 +522,7 @@
settings: default
- type: Loadout
prototypes: [ CentcomGear ]
+ roleLoadout: [ RoleSurvivalStandard ]
## Syndicate
@@ -528,6 +545,7 @@
randomizeName: false
- type: Loadout
prototypes: [SyndicateOperativeGearExtremelyBasic]
+ roleLoadout: [ RoleSurvivalSyndicate ]
- type: entity
id: RandomHumanoidSpawnerNukeOp
@@ -607,8 +625,6 @@
- type: randomHumanoidSettings
id: LostCargoTechnician
parent: EventHumanoid
- speciesBlacklist:
- - Vox
components:
- type: GhostRole
name: ghost-role-information-lost-cargo-technical-name
@@ -618,6 +634,8 @@
settings: short
- type: Loadout
prototypes: [ LostCargoTechGearSuit, LostCargoTechGearCoat ]
+ roleLoadout: [ RoleSurvivalStandard ]
+
# Clown troupe
@@ -660,8 +678,6 @@
id: ClownTroupe
parent: EventHumanoid
randomizeName: false
- speciesBlacklist:
- - Vox
components:
- type: GhostRole
name: ghost-role-information-clown-troupe-name
@@ -671,6 +687,7 @@
settings: short
- type: Loadout
prototypes: [ ClownTroupe ]
+ roleLoadout: [ RoleSurvivalStandard ]
- type: RandomMetadata
nameSegments:
- names_clown
@@ -682,6 +699,7 @@
components:
- type: Loadout
prototypes: [ BananaClown ]
+ roleLoadout: [ RoleSurvivalStandard ]
# Traveling exotic chef
@@ -712,8 +730,6 @@
- type: randomHumanoidSettings
id: TravelingChef
parent: EventHumanoid
- speciesBlacklist:
- - Vox
components:
- type: GhostRole
name: ghost-role-information-traveling-chef-name
@@ -723,6 +739,7 @@
settings: short
- type: Loadout
prototypes: [ TravelingChef ]
+ roleLoadout: [ RoleSurvivalStandard ]
# Disaster victim
@@ -774,8 +791,6 @@
- type: randomHumanoidSettings
id: DisasterVictimHead
parent: EventHumanoidMindShielded
- speciesBlacklist:
- - Vox
components:
- type: GhostRole
name: ghost-role-information-disaster-victim-name
@@ -790,6 +805,7 @@
components:
- type: Loadout
prototypes: [ DisasterVictimRD, DisasterVictimRDAlt ]
+ roleLoadout: [ RoleSurvivalStandard ]
- type: randomHumanoidSettings
id: DisasterVictimCMO
@@ -797,6 +813,7 @@
components:
- type: Loadout
prototypes: [ DisasterVictimCMO, DisasterVictimCMOAlt ]
+ roleLoadout: [ RoleSurvivalMedical ]
- type: randomHumanoidSettings
id: DisasterVictimCaptain
@@ -804,6 +821,7 @@
components:
- type: Loadout
prototypes: [ DisasterVictimCaptain, DisasterVictimCaptainAlt ]
+ roleLoadout: [ RoleSurvivalStandard ]
# Syndie Disaster Victim
@@ -834,8 +852,6 @@
- type: randomHumanoidSettings
id: SyndieDisasterVictim
parent: EventHumanoid
- speciesBlacklist:
- - Vox
components:
- type: NpcFactionMember
factions:
@@ -848,3 +864,4 @@
settings: short
- type: Loadout
prototypes: [ SyndicateOperativeGearCivilian ]
+ roleLoadout: [ RoleSurvivalStandard ]
diff --git a/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml b/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml
index 001e8a188e..2716310ecf 100644
--- a/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml
+++ b/Resources/Prototypes/Loadouts/Miscellaneous/survival.yml
@@ -177,7 +177,7 @@
equipment:
outerClothing: ClothingOuterVestTank
-# Breaths Tool On Face
+# Breath Tool On Face
- type: loadout
id: LoadoutSpeciesBreathTool
effects:
diff --git a/Resources/Prototypes/Roles/Antags/traitor.yml b/Resources/Prototypes/Roles/Antags/traitor.yml
index cb2fd4b13e..51c61e74c6 100644
--- a/Resources/Prototypes/Roles/Antags/traitor.yml
+++ b/Resources/Prototypes/Roles/Antags/traitor.yml
@@ -31,7 +31,6 @@
gloves: ClothingHandsGlovesColorBlack
storage:
back:
- - BoxSurvivalSyndicate
- WeaponPistolViper
- PinpointerSyndicateNuclear
- DeathAcidifierImplanter
@@ -51,9 +50,6 @@
pocket1: WeaponPistolViper
inhand:
- MedkitCombatFilled
- storage:
- back:
- - BoxSurvivalSyndicate
- type: startingGear
id: SyndicateReinforcementSpy
@@ -62,9 +58,6 @@
id: AgentIDCard
mask: ClothingMaskGasVoiceChameleon
pocket1: WeaponPistolViper
- storage:
- back:
- - BoxSurvivalSyndicate
- type: startingGear
id: SyndicateReinforcementThief
@@ -75,7 +68,6 @@
- ToolboxSyndicateFilled
storage:
back:
- - BoxSurvivalSyndicate
- SyndicateJawsOfLife
#Syndicate Operative Outfit - Basic
diff --git a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml
index 011ac8812b..211a234790 100644
--- a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml
+++ b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml
@@ -31,7 +31,6 @@
pocket2: FlashlightSeclite
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -49,7 +48,6 @@
eyes: ClothingEyesGlassesSecurity
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTLeader
- suitstorage: AirTankFilled
id: ERTLeaderPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltSecurityFilled
@@ -57,7 +55,6 @@
pocket2: FlashlightSeclite
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -75,17 +72,15 @@
eyes: ClothingEyesGlassesSecurity
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTLeader
- suitstorage: WeaponRifleLecter
id: ERTLeaderPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltSecurityFilled
pocket1: MagazineRifle
pocket2: MagazineRifle
inhand:
- - AirTankFilled
+ - WeaponRifleLecter
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -131,7 +126,6 @@
pocket2: DrinkWaterBottleFull
storage:
back:
- - BoxSurvivalEngineering
- BoxCandle
- BoxBodyBag
- DrinkWaterMelonJuiceJug
@@ -156,7 +150,6 @@
neck: ClothingNeckStoleChaplain
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTChaplain
- suitstorage: AirTankFilled
id: ERTChaplainPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltStorageWaistbag
@@ -164,7 +157,6 @@
pocket2: DrinkWaterBottleFull
storage:
back:
- - BoxSurvivalEngineering
- BoxCandle
- BoxBodyBag
- DrinkWaterMelonJuiceJug
@@ -211,7 +203,6 @@
pocket2: GasAnalyzer
storage:
back:
- - BoxSurvivalEngineering
- trayScanner
- RCD
- RCDAmmo
@@ -233,7 +224,6 @@
eyes: ClothingEyesGlassesMeson
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTEngineer
- suitstorage: AirTankFilled
id: ERTEngineerPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltChiefEngineerFilled
@@ -241,7 +231,6 @@
pocket2: GasAnalyzer
storage:
back:
- - BoxSurvivalEngineering
- trayScanner
- RCD
- RCDAmmo
@@ -286,7 +275,6 @@
pocket2: FlashlightSeclite
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -304,7 +292,6 @@
eyes: ClothingEyesGlassesSecurity
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTSecurity
- suitstorage: AirTankFilled
id: ERTSecurityPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltSecurityFilled
@@ -312,7 +299,6 @@
pocket2: FlashlightSeclite
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -330,17 +316,15 @@
eyes: ClothingEyesGlassesSecurity
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTSecurity
- suitstorage: WeaponRifleLecter
id: ERTSecurityPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltSecurityFilled
pocket1: MagazineRifle
pocket2: MagazineRifle
inhand:
- - AirTankFilled
+ - WeaponRifleLecter
storage:
back:
- - BoxSurvivalEngineering
- WeaponDisabler
- MedicatedSuture
- RegenerativeMesh
@@ -380,7 +364,6 @@
pocket1: Flare
storage:
back:
- - BoxSurvivalMedical # Is this actually supposed to be Medical? All other ERT has Extended
- Hypospray
- MedkitAdvancedFilled
- CrowbarRed
@@ -398,14 +381,12 @@
eyes: ClothingEyesHudMedical
gloves: ClothingHandsGlovesNitrile
outerClothing: ClothingOuterHardsuitERTMedical
- suitstorage: AirTankFilled
id: ERTMedicPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltMedicalFilled
pocket1: Flare
storage:
back:
- - BoxSurvivalMedical # Is this actually supposed to be Medical? All other ERT has Extended
- Hypospray
- MedkitAdvancedFilled
- CrowbarRed
@@ -444,7 +425,6 @@
pocket1: Flare
storage:
back:
- - BoxSurvivalEngineering
- LightReplacer
- BoxLightMixed
- BoxLightMixed
@@ -461,14 +441,12 @@
mask: ClothingMaskGasERT
gloves: ClothingHandsGlovesColorPurple
outerClothing: ClothingOuterHardsuitERTJanitor
- suitstorage: AirTankFilled
id: ERTJanitorPDA
ears: ClothingHeadsetAltCentCom
belt: ClothingBeltJanitorFilled
pocket1: Flare
storage:
back:
- - BoxSurvivalEngineering
- LightReplacer
- BoxLightMixed
- BoxLightMixed
diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
index e12bee8c79..f2291e492e 100644
--- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
+++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
@@ -28,7 +28,6 @@
ears: ClothingHeadsetAltCentCom
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitDeathsquad
- suitstorage: AirTankFilled
shoes: ClothingShoesBootsMagAdv
id: DeathsquadPDA
pocket1: EnergySword
@@ -36,8 +35,6 @@
belt: ClothingBeltMilitaryWebbingMedFilled
storage:
back:
- - BoxSurvivalEngineering
- - WeaponPulseRifle
- WeaponPulsePistol
- WeaponRevolverMateba
- SpeedLoaderMagnumAP
@@ -48,6 +45,8 @@
- Hypospray
- DeathAcidifierImplanter # crew will try to steal their amazing hardsuits
- FreedomImplanter
+ inhand:
+ - WeaponPulseRifle
# Syndicate Operative Outfit - Civilian
- type: startingGear
@@ -117,11 +116,9 @@
id: CBURNPDA
pocket1: RadioHandheld
pocket2: WeaponLaserGun
- suitstorage: OxygenTankFilled
belt: ClothingBeltBandolier
storage:
back:
- - BoxSurvivalEngineering
- WeaponShotgunDoubleBarreled
- BoxShotgunIncendiary
- GrenadeFlashBang