# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: MobHuman
  id: MobHumanApprenticeBase
  name: apprentice
  suffix: Human, Apprentice
  components:
  - type: RandomHumanoidAppearance
    randomizeName: false
  - type: RandomMetadata
    nameSegments:
    - WizardFirst
    - WizardLast
    nameFormat: name-format-standard
  - type: Loadout
    prototypes: [ApprenticeGearBlue]
    roleLoadout: [RoleSurvivalEVA]
  - type: Apprentice
  - type: SpellsGrant
    antagProfile: ApprenticeRule
  - type: NpcFactionMember
    factions:
    - Wizard

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeDestruction
  name: destruction apprentice
  components:
  - type: SpellsGrant
    guaranteedActions:
    - ActionFireball
    - ActionMutateSpell

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeEthereal
  name: ethereal apprentice
  components:
  - type: SpellsGrant
    guaranteedActions:
    - ActionTeleportWizard
    - ActionPolymorphJaunt

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeSummon
  name: summoning apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearYellow]
  - type: SpellsGrant
    guaranteedActions:
    - ActionLesserSummonBees
    - ActionSummonSimians

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeGun
  name: gunslinger apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearBlack]
  - type: SpellsGrant
    guaranteedActions:
    - ActionLesserSummonGuns
    - ActionSmoke
    - ActionBlinkSpell

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeArcane
  name: arcane apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearPurple]
  - type: SpellsGrant
    guaranteedActions:
    - ActionArcaneBarrage
    - ActionChargeSpell
    - ActionInstantSummons

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeSanguine
  name: sanguine apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearRed]
  - type: SpellsGrant
    guaranteedActions:
    - ActionSanguineStrike
    - ActionScreamForMe
    - ActionInstantSummons

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeRobeless
  name: robeless apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearRobeless]
  - type: SpellsGrant
    guaranteedActions:
    - ActionMindSwap
    - ActionForceWall
    - ActionKnock

- type: entity
  parent: MobHumanApprenticeBase
  id: MobHumanApprenticeChaos
  name: chaos apprentice
  components:
  - type: Loadout
    prototypes: [ApprenticeGearPsy]
  - type: SpellsGrant
    randomActions: ChaosApprenticeSpellTable
    totalWeight: 6
