## Random humanoids

- type: randomHumanoidSettings
  id: EventHumanoid
  components:
    - type: RandomHumanoidAppearance
      randomizeName: false
    - type: GhostTakeoverAvailable
    - type: IdBind

- type: randomHumanoidSettings
  id: EventHumanoidMindShielded
  parent: EventHumanoid
  components:
    - type: AutoImplant
      implants:
      - MindShieldImplant
    - type: AntagImmune

- type: randomHumanoidSettings
  id: EventHumanoidCentcomm
  parent: EventHumanoidMindShielded
  randomizeName: false
  components:
  - type: AutoImplant
    implants:
    - MindShieldImplant
    - DeathRattleImplantCentcomm

## Death Squad

- type: entity
  id: RandomHumanoidSpawnerDeathSquad
  name: Death Squad Agent
  suffix: ERTRole, Death Squad
  components:
    - type: Sprite
      sprite: Clothing/OuterClothing/Hardsuits/deathsquad.rsi
      state: icon
    - type: RandomMetadata
      nameSegments:
        - NamesMilitaryFirstLeader
        - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: RandomHumanoidSpawner
      settings: DeathSquad

- type: randomHumanoidSettings
  id: DeathSquad
  parent: EventHumanoidCentcomm
  components:
    - type: GhostRole
      name: ghost-role-information-Death-Squad-name
      description: ghost-role-information-Death-Squad-description
      rules: ghost-role-information-Death-Squad-rules
      raffle:
        settings: short
      mindRoles:
      - MindRoleGhostRoleFamiliar
      job: DeathSquad
    - type: Loadout
      prototypes: [ DeathSquadGear ]
      roleLoadout: [ RoleSurvivalEVA ]
    - type: RandomMetadata
      nameSegments:
        - NamesMilitaryFirstLeader
        - NamesMilitaryLast
      nameFormat: name-format-ert


## ERT Leader

- type: entity
  id: RandomHumanoidSpawnerERTLeader
  name: ERT leader
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertleader
    - type: RandomHumanoidSpawner
      settings: ERTLeader

- type: randomHumanoidSettings
  id: ERTLeader
  parent: EventHumanoidCentcomm
  components:
    - type: GhostRole
      name: ghost-role-information-ert-leader-name
      description: ghost-role-information-ert-leader-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTLeader
    - type: Loadout
      prototypes: [ ERTLeaderGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-leader

- type: entity
  id: RandomHumanoidSpawnerERTLeaderEVA
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT leader
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertleadereva
    - type: RandomHumanoidSpawner
      settings: ERTLeaderEVA

- type: randomHumanoidSettings
  id: ERTLeaderEVA
  parent: ERTLeader
  components:
    - type: Loadout
      prototypes: [ ERTLeaderGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTLeaderArmed
  parent: RandomHumanoidSpawnerERTLeaderEVA
  suffix: ERTRole, Armed, EVA
  components:
    - type: RandomHumanoidSpawner
      settings: ERTLeaderArmed

- type: randomHumanoidSettings
  id: ERTLeaderArmed
  parent: ERTLeaderEVA
  components:
    - type: Loadout
      prototypes: [ ERTLeaderGearArmed ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

## ERT Chaplain

- type: entity
  id: RandomHumanoidSpawnerERTChaplain
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT chaplain
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertchaplain
    - type: RandomHumanoidSpawner
      settings: ERTChaplain

- type: randomHumanoidSettings
  id: ERTChaplain
  parent: ERTLeader
  components:
    - type: BibleUser
    - type: GhostRole
      name: ghost-role-information-ert-chaplain-name
      description: ghost-role-information-ert-chaplain-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTChaplain
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-specialist
    - type: Loadout
      prototypes: [ ERTChaplainGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTChaplainEVA
  parent: RandomHumanoidSpawnerERTChaplain
  name: ERT chaplain
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertchaplaineva
    - type: RandomHumanoidSpawner
      settings: ERTChaplainEVA

- type: randomHumanoidSettings
  id: ERTChaplainEVA
  parent: ERTChaplain
  components:
    - type: Loadout
      prototypes: [ ERTChaplainGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

## ERT Janitor

- type: entity
  id: RandomHumanoidSpawnerERTJanitor
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT janitor
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertjanitor
    - type: RandomHumanoidSpawner
      settings: ERTJanitor

- type: randomHumanoidSettings
  id: ERTJanitor
  parent: ERTLeader
  components:
    - type: GhostRole
      name: ghost-role-information-ert-janitor-name
      description: ghost-role-information-ert-janitor-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTJanitor
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-specialist
    - type: Loadout
      prototypes: [ ERTJanitorGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTJanitorEVA
  parent: RandomHumanoidSpawnerERTJanitor
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertjanitoreva
    - type: RandomHumanoidSpawner
      settings: ERTJanitorEVA

- type: randomHumanoidSettings
  id: ERTJanitorEVA
  parent: ERTJanitor
  components:
    - type: Loadout
      prototypes: [ ERTJanitorGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

## ERT Engineer

- type: entity
  id: RandomHumanoidSpawnerERTEngineer
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT engineer
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertengineer
    - type: RandomHumanoidSpawner
      settings: ERTEngineer

- type: randomHumanoidSettings
  id: ERTEngineer
  parent: ERTLeader
  components:
    - type: GhostRole
      name: ghost-role-information-ert-engineer-name
      description: ghost-role-information-ert-engineer-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTEngineer
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-specialist
    - type: Loadout
      prototypes: [ ERTEngineerGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTEngineerEVA
  parent: RandomHumanoidSpawnerERTEngineer
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertengineereva
    - type: RandomHumanoidSpawner
      settings: ERTEngineerEVA

- type: randomHumanoidSettings
  id: ERTEngineerEVA
  parent: ERTEngineer
  components:
    - type: Loadout
      prototypes: [ ERTEngineerGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  parent: RandomHumanoidSpawnerERTEngineerEVA
  id: RandomHumanoidSpawnerERTEngineerArmed
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTEngineerArmed

- type: randomHumanoidSettings
  id: ERTEngineerArmed
  parent: ERTEngineer
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-pointman
  - type: Loadout
    prototypes: [ ERTEngineerGearArmed ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

## ERT Security

- type: entity
  id: RandomHumanoidSpawnerERTSecurity
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT security
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertsecurity
    - type: RandomHumanoidSpawner
      settings: ERTSecurity

- type: randomHumanoidSettings
  id: ERTSecurity
  parent: ERTLeader
  components:
    - type: GhostRole
      name: ghost-role-information-ert-security-name
      description: ghost-role-information-ert-security-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTSecurity
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-officer
    - type: Loadout
      prototypes: [ ERTSecurityGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTSecurityEVA
  parent: RandomHumanoidSpawnerERTSecurity
  name: ERT security
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertsecurityeva
    - type: RandomHumanoidSpawner
      settings: ERTSecurityEVA

- type: randomHumanoidSettings
  id: ERTSecurityEVA
  parent: ERTSecurity
  components:
    - type: GhostRole
      name: ghost-role-information-ert-security-name
      description: ghost-role-information-ert-security-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTSecurity
    - type: Loadout
      prototypes: [ ERTSecurityGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTSecurityArmedRifle
  parent: RandomHumanoidSpawnerERTSecurityEVA
  name: ERT security rifleman
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTSecurityArmedRifle

- type: randomHumanoidSettings
  id: ERTSecurityArmedRifle
  parent: ERTSecurityEVA
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-rifle
  - type: Loadout
    prototypes: [ ERTSecurityGearArmedRifle ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  parent: RandomHumanoidSpawnerERTSecurityEVA
  id: RandomHumanoidSpawnerERTSecurityArmedGrenade
  name: ERT security grenadier
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTSecurityArmedGrenade

- type: randomHumanoidSettings
  parent: ERTSecurityEVA
  id: ERTSecurityArmedGrenade
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-grenade
  - type: Loadout
    prototypes: [ ERTSecurityGearArmedGrenade ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  parent: RandomHumanoidSpawnerERTSecurityEVA
  id: RandomHumanoidSpawnerERTSecurityArmedVanguard
  name: ERT security vanguard
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTSecurityArmedVanguard

- type: randomHumanoidSettings
  parent: ERTSecurityEVA
  id: ERTSecurityArmedVanguard
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-vanguard
  - type: Loadout
    prototypes: [ ERTSecurityGearArmedVanguard ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  parent: RandomHumanoidSpawnerERTSecurityEVA
  id: RandomHumanoidSpawnerERTSecurityArmedShotgun
  name: ERT security breacher
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTSecurityArmedShotgun

- type: randomHumanoidSettings
  parent: ERTSecurityEVA
  id: ERTSecurityArmedShotgun
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-pointman
  - type: Loadout
    prototypes: [ ERTSecurityGearArmedShotgun ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

## ERT Medic

- type: entity
  id: RandomHumanoidSpawnerERTMedical
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT medic
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertmedical
    - type: RandomHumanoidSpawner
      settings: ERTMedical

- type: randomHumanoidSettings
  id: ERTMedical
  parent: ERTLeader
  components:
    - type: GhostRole
      name: ghost-role-information-ert-medical-name
      description: ghost-role-information-ert-medical-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: ERTMedical
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryLast
      nameFormat: name-format-ert-doctor
    - type: Loadout
      prototypes: [ ERTMedicalGear ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  id: RandomHumanoidSpawnerERTMedicalEVA
  parent: RandomHumanoidSpawnerERTMedical
  suffix: ERTRole, EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertmedicaleva
    - type: RandomHumanoidSpawner
      settings: ERTMedicalEVA

- type: randomHumanoidSettings
  id: ERTMedicalEVA
  parent: ERTMedical
  components:
    - type: Loadout
      prototypes: [ ERTMedicalGearEVA ]
      roleLoadout: [ RoleSurvivalMilitaryDouble ]

- type: entity
  parent: RandomHumanoidSpawnerERTMedicalEVA
  id: RandomHumanoidSpawnerERTMedicalArmed
  suffix: ERTRole, Armed, EVA
  components:
  - type: RandomHumanoidSpawner
    settings: ERTMedicalArmed

- type: randomHumanoidSettings
  parent: ERTMedicalEVA
  id: ERTMedicalArmed
  components:
  - type: RandomMetadata
    nameSegments:
    - NamesMilitaryLast
    nameFormat: name-format-ert-corpsman
  - type: Loadout
    prototypes: [ ERTMedicalGearArmed ]
    roleLoadout: [ RoleSurvivalMilitaryDouble ]

## CBURN

- type: entity
  id: RandomHumanoidSpawnerCBURNUnit
  name: CBURN Agent
  suffix: ERTRole
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: cburn
    - type: RandomHumanoidSpawner
      settings: CBURNAgent

- type: randomHumanoidSettings
  id: CBURNAgent
  parent: EventHumanoidCentcomm
  components:
    - type: Loadout
      prototypes: [CBURNGear]
      roleLoadout: [ RoleSurvivalEVA ]
    - type: GhostRole
      name: ghost-role-information-cburn-agent-name
      description: ghost-role-information-cburn-agent-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
      job: CBURN
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert

## Central Command

- type: entity
  name: CentComm official
  id: RandomHumanoidSpawnerCentcomOfficial
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: centcom
    - type: RandomHumanoidSpawner
      settings: CentcomOfficial

- type: randomHumanoidSettings
  id: CentcomOfficial
  parent: EventHumanoidCentcomm
  components:
    - type: GhostRole
      name: ghost-role-information-centcom-official-name
      description: ghost-role-information-centcom-official-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: default
      job: CentralCommandOfficial
    - type: Loadout
      prototypes: [ CentcommGear ]
      roleLoadout: [ RoleSurvivalStandard ]

## Syndicate

- type: entity
  id: RandomHumanoidSpawnerSyndicateAgent
  name: syndicate agent
  components:
    - type: Sprite
      sprite: Mobs/Species/Human/parts.rsi
      state: full
    - type: RandomMetadata
      nameSegments: [ NamesDeathCommando ]
    - type: RandomHumanoidSpawner
      settings: SyndicateAgent

- type: randomHumanoidSettings
  id: SyndicateAgent
  components:
    - type: RandomHumanoidAppearance
      randomizeName: false
    - type: Loadout
      prototypes: [SyndicateOperativeGearExtremelyBasic]
      roleLoadout: [ RoleSurvivalSyndicate ]

- type: entity
  id: RandomHumanoidSpawnerNukeOp
  name: Nuclear Operative
  components:
    - type: Sprite
      sprite: Mobs/Species/Human/parts.rsi
      state: full
    - type: RandomHumanoidSpawner
      settings: NukeOp

- type: randomHumanoidSettings
  id: NukeOp
  components:
    - type: RandomHumanoidAppearance
      randomizeName: false
    - type: NukeOperative

- type: entity
  id: RandomHumanoidSpawnerCluwne
  name: Cluwne
  suffix: spawns a cluwne
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: cluwne
    - type: RandomHumanoidSpawner
      settings: Cluwne
    - type: RandomMetadata
      nameSegments:
      - NamesFirst
      - NamesLast
      nameFormat: name-format-standard

- type: randomHumanoidSettings
  id: Cluwne
  parent: EventHumanoid
  randomizeName: false
  components:
    - type: GhostRole
      name: ghost-role-information-cluwne-name
      description: ghost-role-information-cluwne-description
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: default
    - type: Cluwne
