- type: entity
  save: false
  abstract: true
  id: SimpleSpaceMobBase # Mob without barotrauma, freezing and asphyxiation (for space carps!?)
  suffix: AI
  components:
  - type: Reactive
    groups:
      Flammable: [Touch]
      Extinguish: [Touch]
      Acidic: [Touch, Ingestion]
  - type: UtilityAI
    behaviorSets:
    # - Clothing
    - Idle
    # No hunger and thirst for space mobs (need a way to eat station tiles for space carps)
  - type: Input
    context: "human"
  - type: AiFactionTag
    factions:
    - SimpleNeutral
  - type: MovementSpeedModifier
    baseWalkSpeed : 4
    baseSprintSpeed : 4
  - type: HealthExaminable
    examinableTypes:
    - Blunt
    - Slash
    - Piercing
    - Heat
    - Shock
  - type: MovedByPressure
  - type: DamageOnHighSpeedImpact
    damage:
      types:
        Blunt: 5
    soundHit:
      path: /Audio/Effects/hit_kick.ogg
  - type: Sprite
    noRot: true
    drawdepth: Mobs
    netsync: false
  - type: Clickable
  - type: InteractionOutline
  - type: Physics
    bodyType: KinematicController # Same for all inheritors
  - type: Fixtures
    fixtures:
    - shape:
        # Circles, cuz rotation of rectangles looks very bad
        !type:PhysShapeCircle
        radius: 0.35
      mass: 20
      mask:
      - Impassable
      - MobImpassable #Bullets?!
      - VaultImpassable
      - SmallImpassable
      layer:
      - Opaque
  - type: SolutionContainerManager
  - type: Bloodstream
    bloodlossDamage:
      types:
        Bloodloss:
          1
    bloodlossHealDamage:
      types:
        Bloodloss:
          -0.25
  - type: Damageable
    damageContainer: Biological
  - type: AtmosExposed
  - type: Flammable
    fireSpread: true
    canResistFire: true
    damage:
      types:
        Heat: 1 #per second, scales with number of fire 'stacks'
  - type: Temperature
    heatDamageThreshold: 360
    coldDamageThreshold: 260
    currentTemperature: 310.15
    coldDamage:
      types:
        Cold : 1 #per second, scales with temperature & other constants
    specificHeat: 42
    heatDamage:
      types:
        Heat : 1 #per second, scales with temperature & other constants
  - type: MobState
    thresholds:
      0: !type:NormalMobState {}
      50: !type:CriticalMobState {}
      100: !type:DeadMobState {}
  - type: HeatResistance
  - type: CombatMode
  - type: Internals
  - type: StatusEffects
    allowed:
    - Stun
    - KnockedDown
    - SlowedDown
    - Stutter
    - Electrocution
  - type: Body
    template: AnimalTemplate
    preset: AnimalPreset
  - type: Examiner
  - type: UnarmedCombat
    range: 1.5
    arcwidth: 0
    arc: bite
    damage:
      groups:
        Brute: 5
  - type: Appearance
    visuals:
    - type: BuckleVisualizer
    - type: FireVisualizer
      sprite: Mobs/Effects/onfire.rsi
      normalState: Generic_mob_burning
  - type: Actions
  - type: DoAfter
  - type: Climbing
  - type: Flashable
  - type: Pullable
  - type: Puller
  - type: Buckle
  - type: Recyclable
    safe: false
  - type: StandingState
  - type: Alerts

- type: entity
  save: false
  abstract: true
  id: SimpleMobBase # for air breathers
  parent: SimpleSpaceMobBase
  suffix: AI
  components:
  - type: UtilityAI
    behaviorSets:
    - Idle
    # - Hunger TODO: eating on the floor and fix weird AI endless stomach
    # - Thirst
  - type: Hunger
    damage:
      types:
        Blunt: 2
  - type: Thirst
    damage:
      types:
        Blunt: 2
  - type: Barotrauma
    damage:
      types:
        Blunt: 1 #per second, scales with pressure and other constants.
  - type: ThermalRegulator
    metabolismHeat: 800
    radiatedHeat: 100
    implicitHeatRegulation: 250
    sweatHeatRegulation: 500
    shiveringHeatRegulation: 500
    normalBodyTemperature: 310.15
    thermalRegulationTemperatureThreshold: 25
  - type: Respirator
    damage:
      types:
        Asphyxiation: 3
    damageRecovery:
      types:
        Asphyxiation: -1.5
  - type: Temperature
    heatDamageThreshold: 360
    coldDamageThreshold: 260
    currentTemperature: 310.15
    specificHeat: 42
    coldDamage:
      types:
        Cold : 1 #per second, scales with temperature & other constants
    heatDamage:
      types:
        Heat : 1 #per second, scales with temperature & other constants

  - type: Bloodstream
    bloodMaxVolume: 150
