# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 ThunderBear2006 <bearthunder06@gmail.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: lost frontier salvager spawner
  id: LostFrontierSalvagerSpawner
  parent: MarkerBase
  components:
    - type: Sprite
      layers:
        - state: red
        - sprite: Objects/Tools/appraisal-tool.rsi
          state: icon
    - type: RandomSpawner
      prototypes:
      - RandomHumanoidLostFrontierSalvager
      chance: 1

- type: entity
  id: RandomHumanoidLostFrontierSalvager
  name: lost salvager ghost role
  components:
    - type: Sprite
      sprite: Objects/Tools/appraisal-tool.rsi
      state: icon
    - type: RandomHumanoidSpawner
      settings: LostFrontierSalvager

- type: randomHumanoidSettings
  id: LostFrontierSalvager
  parent: EventHumanoid
  components:
    - type: GhostRole
      name: Lost Salvager
      description: Lost crew from Frontier Sector
      rules: ghost-role-information-nonantagonist-rules
      raffle:
        settings: short
    - type: Loadout
      prototypes: [ LostFrontierProspectorSuit ]
      roleLoadout: [ RoleSurvivalStandard ]

- type: entity
  parent: MobHuman
  id: MobHumanRandom
  name: Urist McHuman
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobDiona
  id: MobDionaRandom
  name: Urist McPlants
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesDionaFirst
    - NamesDionaLast
    nameFormat: name-format-standard

- type: entity
  parent: MobFelinid
  id: MobFelinidRandom
  name: Urist McFelinid
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobTajaran
  id: MobTajaranRandom
  name: Urist McTajaran
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesTajaranFirst
    - NamesTajaranLast
    nameFormat: name-format-standard


- type: entity
  parent: MobGingerbread
  id: MobGingerbreadRandom
  name: Urist McCookie
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobMoth
  id: MobMothRandom
  name: Urist McFluff
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesMothFirstFemale
    - NamesMothLast
    nameFormat: name-format-standard

- type: entity
  parent: MobDwarf
  id: MobDwarfRandom
  name: Urist McDwarf
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobHarpy
  id: MobHarpyRandom
  name: Urist McHarpy
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobRodentia
  id: MobRodentiaRandom
  name: Urist McRat
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesRodentiaMale
    - NamesRodentiaLast
    nameFormat: name-format-standard

- type: entity
  parent: MobReptilian
  id: MobReptilianRandom
  name: Urist McScales
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesReptilianMale

- type: entity
  parent: MobVulpkanin
  id: MobVulpkaninRandom
  name: Urist McVulp
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesVulpakinMale
    - NamesVulpakinLast
    nameFormat: name-format-standard

- type: entity
  parent: MobSlimePerson
  id: MobSlimePersonRandom
  name: Urist McSlime
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFirst
    - NamesLast
    nameFormat: name-format-standard

- type: entity
  parent: MobYowie
  id: MobYowieRandom
  name: Urist McYow
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesYowieMale

- type: entity
  parent: MobVox
  id: MobVoxRandom
  name: Uristiti McVox
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesVox

- type: entity
  parent: MobShadowkin
  id: MobShadowkinRandom
  name: Urist McShadowkin
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesShadowkin
    nameFormat: random-metadata-name-format-default

- type: entity
  parent: MobChitinid
  id: MobChitinidRandom
  name: Urist McAnt
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesChitinidFirstMale

- type: entity
  parent: MobFeroxi
  id: MobFeroxiRandom
  name: Urist McFin
  suffix: Random Appearance
  components:
  - type: RandomHumanoidAppearance
  - type: RandomMetadata
    nameSegments:
    - NamesFeroxiFirstMale
    - NamesFeroxiLast
    nameFormat: name-format-standard
### No hour requirement ERT roles.

## Death Squad

- type: entity
  id: RandomHumanoidSpawnerDeathSquadNoReq
  parent: RandomHumanoidSpawnerDeathSquad
  name: Death Squad Lackey
  suffix: ERTRole, Death Squad, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: DeathSquadNoReq

- type: randomHumanoidSettings
  id: DeathSquadNoReq
  parent: DeathSquad # Goobstation
  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
      requirements:

## ERT Leader

- type: entity
  id: RandomHumanoidSpawnerERTLeaderNoReq
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT Leader Stand-in
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTLeaderNoReq

- type: randomHumanoidSettings
  id: ERTLeaderNoReq
  parent: ERTLeader # 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
      requirements:

- type: entity
  id: RandomHumanoidSpawnerERTLeaderEVANoReq
  parent: RandomHumanoidSpawnerERTLeaderNoReq
  name: ERT Leader Stand-in
  suffix: ERTRole, Armored EVA, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTLeaderEVANoReq

- type: randomHumanoidSettings
  id: ERTLeaderEVANoReq
  parent: ERTLeaderEVA
  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
      requirements:

## ERT Chaplain

- type: entity
  id: RandomHumanoidSpawnerERTChaplainNoReq
  parent: RandomHumanoidSpawnerERTLeader
  name: ERT Deacon
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTChaplainNoReq

- type: randomHumanoidSettings
  id: ERTChaplainNoReq
  parent: ERTLeader
  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
      requirements:

- type: entity
  id: RandomHumanoidSpawnerERTChaplainEVANoReq
  parent: RandomHumanoidSpawnerERTChaplainNoReq
  name: ERT Deacon
  suffix: ERTRole, Enviro EVA
  components:
    - type: RandomHumanoidSpawner
      settings: ERTChaplainEVANoReq

- type: randomHumanoidSettings
  id: ERTChaplainEVANoReq
  parent: ERTChaplainEVA
  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
      requirements:

## ERT Janitor

- type: entity
  id: RandomHumanoidSpawnerERTJanitorNoReq
  parent: RandomHumanoidSpawnerERTLeaderNoReq
  name: ERT Janitor Intern
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTJanitorNoReq

- type: randomHumanoidSettings
  id: ERTJanitorNoReq
  parent: ERTLeaderNoReq
  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
      requirements:

- type: entity
  id: RandomHumanoidSpawnerERTJanitorEVANoReq
  parent: RandomHumanoidSpawnerERTJanitorNoReq
  name: ERT Janitor Intern
  suffix: ERTRole, Enviro EVA, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTJanitorEVANoReq

- type: randomHumanoidSettings
  id: ERTJanitorEVANoReq
  parent: ERTJanitorEVA
  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
      requirements:

## ERT Engineer

- type: entity
  id: RandomHumanoidSpawnerERTEngineerNoReq
  parent: RandomHumanoidSpawnerERTLeaderNoReq
  name: ERT Engineer Intern
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTEngineerNoReq

- type: randomHumanoidSettings
  id: ERTEngineerNoReq
  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
      requirements:

- type: entity
  id: RandomHumanoidSpawnerERTEngineerEVANoReq
  parent: RandomHumanoidSpawnerERTEngineerNoReq
  name: ERT Engineer Intern
  suffix: ERTRole, Enviro EVA, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTEngineerEVANoReq

- type: randomHumanoidSettings
  id: ERTEngineerEVANoReq
  parent: ERTEngineerEVA
  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
      requirements:

## ERT Security

- type: entity
  id: RandomHumanoidSpawnerERTSecurityNoReq
  parent: RandomHumanoidSpawnerERTLeaderNoReq
  name: ERT Security Cadet
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTSecurityNoReq

- type: randomHumanoidSettings
  id: ERTSecurityNoReq
  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
      requirements:
      job: ERTSecurity

- type: entity
  id: RandomHumanoidSpawnerERTSecurityEVANoReq
  parent: RandomHumanoidSpawnerERTSecurity
  name: ERT Security Cadet
  suffix: ERTRole, Armored EVA, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTSecurityEVANoReq

- type: randomHumanoidSettings
  id: ERTSecurityEVANoReq
  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
      requirements:
      job: ERTSecurity

## ERT Medic

- type: entity
  id: RandomHumanoidSpawnerERTMedicalNoReq
  parent: RandomHumanoidSpawnerERTLeaderNoReq
  name: ERT Medic Intern
  suffix: ERTRole, Basic, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTMedicalNoReq

- type: randomHumanoidSettings
  id: ERTMedicalNoReq
  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
      requirements:
      job: ERTMedical

- type: entity
  id: RandomHumanoidSpawnerERTMedicalEVANoReq
  parent: RandomHumanoidSpawnerERTMedical
  name: ERT Medic Intern
  suffix: ERTRole, Armored EVA, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: ERTMedicalEVANoReq

- type: randomHumanoidSettings
  id: ERTMedicalEVANoReq
  parent: ERTMedicalEVA
  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:
      job: ERTMedical

## CBURN

- type: entity
  id: RandomHumanoidSpawnerCBURNUnitNoReq
  name: CBURN Agent Cadet
  suffix: ERTRole, No Requirements
  components:
    - type: RandomHumanoidSpawner
      settings: CBURNAgentNoReq

- type: randomHumanoidSettings
  id: CBURNAgentNoReq
  parent: EventHumanoidCentcomm
  components:
    - 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:
