# Hacky for the stress test so don't even consider adding to this
- type: entity
  name: burrower
  id: MobXeno
  parent: SimpleSpaceMobBase
  description: They mostly come at night. Mostly.
  components:
  - type: Insulated
  - type: CombatMode
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: XenoCompound
    blackboard:
      NavClimb: !type:Bool
        true
      NavInteract: !type:Bool
        true
      NavPry: !type:Bool
        true
      NavSmash: !type:Bool
        true
  - type: Prying
    pryPowered: true
    force: true
    speedModifier: 1.5
    useSound:
      path: /Audio/Items/crowbar.ogg
  - type: Reactive
    groups:
      Flammable: [Touch]
      Extinguish: [Touch]
  - type: NpcFactionMember
    factions:
    - Xeno
  - type: Hands
  - type: ComplexInteraction
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/burrower.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.25
        density: 1000
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: MobState
    allowedStates:
    - Alive
    - Dead
  - type: MobThresholds
    thresholds:
      0: Alive
      50: Dead
  - type: SlowOnDamage
    speedModifierThresholds:
      25: 0.5
  - type: Stamina
    baseCritThreshold: 200
  - type: Bloodstream
    bloodReferenceSolution:
      reagents:
      - ReagentId: FluorosulfuricAcid
        Quantity: 650
  - type: MeleeWeapon
    altDisarm: false
    angle: 0
    soundHit:
     collection: AlienClaw
    animation: WeaponArcBite
    damage:
      groups:
        Brute: 6
  - type: DamageStateVisuals
    states:
      Alive:
        Base: running
      Critical:
        Base: crit
      Dead:
        Base: dead
  - type: Puller
  - type: Butcherable
    butcheringType: Spike
    spawned:
    - id: FoodMeatXeno
      amount: 5
  - type: GhostRole
    allowMovement: true
    allowSpeech: true
    makeSentient: true
    name: ghost-role-information-xeno-name
    description: ghost-role-information-xeno-description
    rules: ghost-role-information-xeno-rules
    raffle:
      settings: default
  - type: GhostTakeoverAvailable
  - type: TypingIndicator
    proto: alien
  - type: Temperature
    currentTemperature: 310.15
  - type: TemperatureDamage
    heatDamageThreshold: 360
    coldDamageThreshold: -150
  - type: Tag
    tags:
      - CannotSuicide
      - DoorBumpOpener
      - FootstepSound
  - type: NoSlip
  - type: Perishable #Ummmm the acid kills a lot of the bacteria or something
    molsPerSecondPerUnitMass: 0.0005
  - type: Speech
    speechVerb: LargeMob

- type: entity
  name: praetorian
  parent: MobXeno
  id: MobXenoPraetorian
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/praetorian.rsi
    offset: 0,0.4
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      100: Dead
  - type: Stamina
    baseCritThreshold: 300
  - type: SlowOnDamage
    speedModifierThresholds:
      50: 0.7
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 400
        mask:
        - MobMask
        layer:
        - MobLayer

- type: entity
  name: drone
  parent: MobXeno
  id: MobXenoDrone
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/drone.rsi
    offset: 0,0.2
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      80: Dead
  - type: SlowOnDamage
    speedModifierThresholds:
      40: 0.7
  - type: MeleeWeapon
    damage:
      groups:
        Brute: 6
  - type: MovementSpeedModifier
    baseSprintSpeed: 4
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 450
        mask:
        - MobMask
        layer:
        - MobLayer

- type: entity
  name: queen
  parent: MobXeno
  id: MobXenoQueen
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/queen.rsi
    offset: 0,0.4
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      300: Dead
  - type: SlowOnDamage
    speedModifierThresholds:
      150: 0.7
  - type: MovementSpeedModifier
  - type: MeleeWeapon
    damage:
     groups:
       Brute: 12
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 15500
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Tag
    tags:
    - CannotSuicide

- type: entity
  name: ravager
  parent: MobXeno
  id: MobXenoRavager
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/ravager.rsi
    offset: 0,0.5
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      100: Dead
  - type: MovementSpeedModifier
    baseSprintSpeed: 4
  - type: MeleeWeapon
    damage:
     groups:
       Brute: 10
  - type: SlowOnDamage
    speedModifierThresholds:
      50: 0.7
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 1350
        mask:
        - MobMask
        layer:
        - MobLayer

- type: entity
  name: runner
  parent: MobXeno
  id: MobXenoRunner
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/runner.rsi
    offset: 0,0.6
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MovementSpeedModifier
    baseSprintSpeed: 6.0
  - type: MeleeWeapon
    damage:
     groups:
       Brute: 5
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 235
        mask:
        - MobMask
        layer:
        - MobLayer

- type: entity
  name: rouny
  parent: MobXenoRunner
  id: MobXenoRouny
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/rouny.rsi
    offset: 0,0.6
  - type: Butcherable
    butcheringType: Spike
    spawned:
    - id: FoodMeatRouny
      amount: 3

- type: entity
  name: spitter
  parent: MobXeno
  id: MobXenoSpitter
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/spitter.rsi
    offset: 0,0.3
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      50: Dead
  - type: SlowOnDamage
    speedModifierThresholds:
      25: 0.7
  - type: HTN
    rootTask:
      task: SimpleRangedHostileCompound
  - type: RechargeBasicEntityAmmo
    rechargeCooldown: 0.75
  - type: BasicEntityAmmoProvider
    proto: BulletAcid
    capacity: 1
    count: 1
  - type: Gun
    fireRate: 0.75
    useKey: false
    selectedMode: FullAuto
    availableModes:
      - FullAuto
    soundGunshot: /Audio/Weapons/Xeno/alien_spitacid.ogg
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 235
        mask:
        - MobMask
        layer:
        - MobLayer

- type: entity
  name: space adder
  parent: SimpleSpaceMobBase
  id: MobPurpleSnake
  description: A menacing purple snake from Kepler-283c.
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/purple_snake.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: purple_snake
  - type: DamageStateVisuals
    states:
      Alive:
        Base: purple_snake
      Critical:
        Base: dead_purple_snake
      Dead:
        Base: dead_purple_snake
  - type: Butcherable
    spawned:
    - id: FoodMeatSnake
      amount: 4
  - type: Grammar
    attributes:
      proper: true
      gender: male
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: SimpleHostileCompound
  - type: NpcFactionMember
    factions:
    - Xeno
    - SimpleHostile
  - type: MeleeWeapon
    angle: 0
    animation: WeaponArcBite
    damage:
      types:
        Piercing: 5
  - type: SolutionContainerManager
    solutions:
      melee:
        reagents:
        - ReagentId: Toxin
          Quantity: 50
  - type: MeleeChemicalInjector
    solution: melee
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 25
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepSnake
  - type: Tag
    tags:
    - DoorBumpOpener
    - FootstepSound

- type: entity
  name: space adder
  parent: MobPurpleSnake
  id: MobSmallPurpleSnake
  suffix: small
  description: A smaller version of the menacing purple snake from Kepler-283c.
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/purple_snake.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: small_purple_snake
  - type: DamageStateVisuals
    states:
      Alive:
        Base: small_purple_snake
      Critical:
        Base: dead_small_purple_snake
      Dead:
        Base: dead_small_purple_snake
  - type: Butcherable
    spawned:
    - id: FoodMeatSnake
      amount: 2
  - type: SolutionTransfer
    maxTransferAmount: 1

# Mob mapped to Xeno Station that can not be ghostrole / pry

- type: entity
  name: '"Dale"'
  description: A praetorian left over from the station's initial security sweep. Has a pair of bloodied dog tags engraved with the name "Pvt. Dale" stuck in its maw.
  parent: SimpleSpaceMobBase
  id: MobXenoLonePraetorianNoGhost
  components:
  - type: Insulated
  - type: CombatMode
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: XenoCompound
    blackboard:
      NavClimb: !type:Bool
        true
      NavInteract: !type:Bool
        true
      NavPry: !type:Bool
        true
      NavSmash: !type:Bool
        true
  - type: Reactive
    groups:
      Flammable: [Touch]
      Extinguish: [Touch]
  - type: NpcFactionMember
    factions:
    - Xeno
  - type: Hands
  - type: ComplexInteraction
  - type: MobState
  - type: Stamina
    baseCritThreshold: 200
  - type: Bloodstream
    bloodReferenceSolution:
      reagents:
      - ReagentId: FluorosulfuricAcid
        Quantity: 300
  - type: MeleeWeapon
    altDisarm: false
    angle: 0
    soundHit:
     collection: AlienClaw
    animation: WeaponArcBite
    damage:
     groups:
       Brute: 5
  - type: DamageStateVisuals
    states:
      Alive:
        Base: running
      Critical:
        Base: crit
      Dead:
        Base: dead
  - type: Puller
  - type: Butcherable
    butcheringType: Spike
    spawned:
    - id: FoodMeatXeno
      amount: 5
  - type: TypingIndicator
    proto: alien
  - type: Temperature
    currentTemperature: 310.15
  - type: TemperatureDamage
    heatDamageThreshold: 360
    coldDamageThreshold: -150
  - type: NoSlip
  - type: Perishable #Ummmm the acid kills a lot of the bacteria or something
    molsPerSecondPerUnitMass: 0.0005
  - type: Speech
    speechVerb: LargeMob
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Aliens/Xenos/praetorian.rsi
    offset: 0,0.4
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: running
  - type: MobThresholds
    thresholds:
      0: Alive
      -1: Critical
      250: Dead
  - type: SlowOnDamage
    speedModifierThresholds:
      120: 0.7
  - type: MovementSpeedModifier
    baseSprintSpeed: 3.7
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.45
        density: 15500
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Tag
    tags:
    - CannotSuicide
  - type: SolutionContainerManager # Being hit speeds you up so you can escape
    solutions:
      bite:
        reagents:
        - ReagentId: Stimulants
          Quantity: 50
        - ReagentId: TranexamicAcid
          Quantity: 50
  - type: MeleeChemicalInjector
    transferAmount: 1
    solution: bite
    pierceArmor: true
