# SPDX-FileCopyrightText: 2022 Cheackraze <71046427+Cheackraze@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Flipp Syder <76629141+vulppine@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk228 <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 sephtasm <41873764+sephtasm@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2024 Alex Pavlenko <diraven@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Doomsdrayk <robotdoughnut@comcast.net>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mota <belochuc@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <108604614+PoTeletubby@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Truoizys <153248924+Truoizys@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 degradka <69397649+degradka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 neutrino <67447925+neutrino-laser@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 no <165581243+pissdemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 poeMota <142114334+poeMota@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Арт <123451459+JustArt1m@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BloodfiendishOperator <141253729+Diggy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 UpAndLeaves <92269094+Alpha-Two@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Verm <32827189+Vermidia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
## Random humanoids
## All role time requirements are from goobstation.

- type: randomHumanoidSettings
  id: EventHumanoid
  # Shitmed Change Start
  speciesBlacklist:
  - Monkey
  - Kobold
  - Abductor
  # Shitmed Change End
  - Yowie # Goobstation - No hardsuit
  - IPC # Goobstation - Your EMP (when you're nukie, DS or ninja) can easily kill you. TODO: Make EMPImmune component for these roles?
  - Diona # Goobstation - Lack of legs makes it weaker than other species in combat
  - Harpy # Goobstation - Same with Diona
  - Plasmaman # Goobstation - Do i need to fucking say it?
  components:
    - type: RandomHumanoidAppearance
      randomizeName: false
    - type: GhostTakeoverAvailable
    - type: IdBind

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

# Goobstation start
- type: randomHumanoidSettings
  id: EventHuman
  parent: EventHumanoid
  speciesWhitelist: Human

- type: randomHumanoidSettings
  id: EventHumanMindShielded
  parent: EventHumanoidMindShielded
  speciesWhitelist: Human

- type: randomHumanoidSettings
  id: EventHumanoidLibrarian
  parent: EventHumanoid
  components:
  - type: AutoImplant
    implants:
    - LibrarianTranslatorImplant      #Librarians should speak most languages

- type: randomHumanoidSettings
  id: EventHumanoidChef
  parent: EventHumanoid
  components:
  - type: AutoImplant
    implants:
    - SpaceItalianTranslatorImplant   #chefs should speak space italian
  - type: GrantCqc                    #Chefs should have CqC
# Goobstation end

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

## Death Squad

- type: entity
  id: RandomHumanoidSpawnerDeathSquad
  name: Death Squad Operative
  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: CentcommHumanoid # Goobstation
  components:
    - type: AutoImplant
      implants: [ FreedomImplant, BluespaceLifelineImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant, DeathRattleImplantCentcomm] # Goobstation
    - type: DeathSquadMember # Goobstation
    - 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
      requirements:
      - !type:DepartmentTimeRequirement
        department: Security
        time: 48000 # Goobstation
      - !type:DepartmentTimeRequirement
        department: Command
        time: 18000 # Goobstation
    - 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: RandomMetadata
      nameSegments:
      - NamesMilitaryFirstLeader
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: RandomHumanoidSpawner
      settings: ERTLeader

- type: randomHumanoidSettings
  id: ERTLeader
  parent: CentcommHumanoid # Goobstation
  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
      requirements:
      - !type:DepartmentTimeRequirement
        department: Security
        time: 36000 # ten hours
      - !type:DepartmentTimeRequirement
        department: Command
        time: 18000 # five hours
    - type: Loadout
      prototypes: [ ERTLeaderGear ]
      roleLoadout: [ RoleSurvivalExtended ]
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant, DeathRattleImplantCentcomm ] # Goobstation
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirstLeader
      - NamesMilitaryLast
      nameFormat: name-format-ert

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

- type: randomHumanoidSettings
  id: ERTLeaderEVA
  parent: ERTLeader
  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: [ ERTLeaderGearEVA ]
      roleLoadout: [ RoleSurvivalEVA ]

## ERT Chaplain

- type: entity
  id: RandomHumanoidSpawnerERTChaplain
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT chaplain
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: chaplain #needs an ERT variant once a good suit it made.
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - 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:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: Loadout
      prototypes: [ ERTChaplainGear ]
      roleLoadout: [ RoleSurvivalExtended ]

- type: entity
  id: RandomHumanoidSpawnerERTChaplainEVA
  parent: RandomHumanoidSpawnerERTChaplain
  name: ERT chaplain
  suffix: ERTRole, Enviro EVA
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: chaplain #needs an ERT variant once a good suit it made.
    - type: RandomHumanoidSpawner
      settings: ERTChaplainEVA

- type: randomHumanoidSettings
  id: ERTChaplainEVA
  parent: ERTChaplain
  components:
    - 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: Loadout
      prototypes: [ ERTChaplainGearEVA ]
      roleLoadout: [ RoleSurvivalEVA ]

## ERT Janitor

- type: entity
  id: RandomHumanoidSpawnerERTJanitor
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT janitor
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertjanitor
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - 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:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: Loadout
      prototypes: [ ERTJanitorGear ]
      roleLoadout: [ RoleSurvivalExtended ]

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

- type: randomHumanoidSettings
  id: ERTJanitorEVA
  parent: ERTJanitor
  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: Loadout
      prototypes: [ ERTJanitorGearEVA ]
      roleLoadout: [ RoleSurvivalEVA ]

## ERT Engineer

- type: entity
  id: RandomHumanoidSpawnerERTEngineer
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT engineer
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertengineer
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - 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
      requirements:
      - !type:DepartmentTimeRequirement
        department: Engineering
        time: 36000 # ten hours
      - !type:DepartmentTimeRequirement
        department: Security
        time: 18000 # five hours
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: Loadout
      prototypes: [ ERTEngineerGear ]
      roleLoadout: [ RoleSurvivalExtended ]

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

- type: randomHumanoidSettings
  id: ERTEngineerEVA
  parent: ERTEngineer
  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: Loadout
      prototypes: [ ERTEngineerGearEVA ]
      roleLoadout: [ RoleSurvivalEVA ]

## ERT Security

- type: entity
  id: RandomHumanoidSpawnerERTSecurity
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT security
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertsecurity
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - 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:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: Loadout
      prototypes: [ ERTSecurityGear ]
      roleLoadout: [ RoleSurvivalExtended ]
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation

- type: entity
  id: RandomHumanoidSpawnerERTSecurityEVA
  parent: RandomHumanoidSpawnerERTSecurity
  name: ERT security
  suffix: ERTRole, Armored 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: [ RoleSurvivalEVA ]
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation

# ERT Lecter is dead, and I have killed it. - Sol
#- type: entity
#  id: RandomHumanoidSpawnerERTSecurityEVALecter
#  parent: RandomHumanoidSpawnerERTSecurityEVA
#  suffix: ERTRole, Lecter, EVA
#  components:
#    - type: RandomHumanoidSpawner
#      settings: ERTSecurityEVALecter
#
#- type: randomHumanoidSettings
#  id: ERTSecurityEVALecter
#  parent: ERTSecurityEVA
#  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: [ ERTSecurityGearEVALecter ]
#      roleLoadout: [ RoleSurvivalEVA ]

## ERT Medic

- type: entity
  id: RandomHumanoidSpawnerERTMedical
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT medic
  suffix: ERTRole, Basic
  components:
    - type: Sprite
      sprite: Markers/jobs.rsi
      state: ertmedical
    - type: RandomMetadata
      nameSegments:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - 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:
      - NamesMilitaryFirst
      - NamesMilitaryLast
      nameFormat: name-format-ert
    - type: Loadout
      prototypes: [ ERTMedicalGear ]
      roleLoadout: [ RoleSurvivalExtended ]
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation

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

- type: randomHumanoidSettings
  id: ERTMedicalEVA
  parent: ERTMedical
  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
      requirements:
      - !type:DepartmentTimeRequirement
        department: Medical
        time: 36000 # ten hours
      - !type:DepartmentTimeRequirement
        department: Security
        time: 18000 # five hours
      job: ERTMedical
    - type: Loadout
      prototypes: [ ERTMedicalGearEVA ]
      roleLoadout: [ RoleSurvivalEVA ]
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation

## 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: CentcommHumanoid
  components:
    - type: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation
    - 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
      requirements:
      - !type:DepartmentTimeRequirement
        department: Security
        time: 36000 # ten hours
      - !type:DepartmentTimeRequirement
        department: Command
        time: 18000 # five hours
    - 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: AutoImplant
      implants: [ FreedomImplant, RadioImplantCentcomm, NutrimentPumpImplant, StypticStimulatorImplant ] # Goobstation
    - 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
    - type: Loadout
      prototypes: [ CentcomGear ]
      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
  parent: EventHumanoid # Goobstation
  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
  parent: EventHumanoid # Goobstation
  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
