- type: entity
  name: Charonic leech
  id: MobCharonicLeech
  parent: [ SimpleMobBase, FlyingMobBase, MobCombat ]
  description: There is no life on Charon Epsilon.
  components:
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: SimpleHostileCompound
    blackboard:
      NavSmash: !type:Bool
        true
  - type: NpcFactionMember
    factions:
    - SimpleHostile
  - type: Sprite
    drawdepth: Mobs
    sprite: _starcup/Mobs/Aliens/charonic_leech.rsi
    layers:
    - map: [ "enum.DamageStateVisualLayers.Base" ]
      state: alive
  - type: CombatMode
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.40
        density: 80
        mask:
        - FlyingMobMask
        layer:
        - FlyingMobLayer
  - type: MobState
  - type: MobThresholds
    thresholds:
      0: Alive
      30: Dead
  - type: MovementSpeedModifier
    baseWalkSpeed: 2.5
    baseSprintSpeed: 3.5
  - type: Stamina
    baseCritThreshold: 100
  - type: DamageStateVisuals
    states:
      Alive:
        Base: alive
      Dead:
        Base: gib
  - type: MeleeWeapon
    altDisarm: false
    angle: 0
    animation: WeaponArcBite
    soundHit:
      collection: LeechBite
    damage:
      types:
        Piercing: 8
  - type: TypingIndicator
    proto: alien
  - type: Tag
    tags:
    - DoorBumpOpener
    - CannotSuicide
    - CreatureEmotes
  - type: ReplacementAccent
    accent: genericAggressive
  - type: Speech
    speechVerb: LargeMob
    speechSounds: LeechSpeechSounds
    allowedEmotes: ['CreatureGrowl', 'CreatureScream']
  - type: Vocal
    sounds:
      Unsexed: LeechSpeechEmotes
    screamId: CreatureScream
    screamAction: ActionEmitSound
  - type: AutoEmote
    emotes:
    - GrowlAutoEmote
  - type: InteractionPopup
    interactSuccessString: petting-success-frog
    interactFailureString: petting-failure-carp
    interactFailureSound:
      path: /Audio/_starcup/Monsters/CharonicLeech/leech_scream.ogg
  - type: FloatingVisuals
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 29
      behaviors:
      - !type:GibBehavior
        recursive: false
  - type: Bloodstream
    bloodReferenceSolution:
      reagents:
      - ReagentId: VentCrud
        Quantity: 300

- type: entity
  name: glowing object
  id: MobCharonicWisp
  suffix: AI
  parent:
  - BaseSimpleMob
  - FlyingMobBase
  description: It reflects a strange, otherworldly light.
  components:
    - type: Sprite
      drawdepth: Mobs
      sprite: _starcup/Mobs/Aliens/charonic_wisp.rsi
      state: charonwisp
    - type: Icon
      sprite: _starcup/Mobs/Aliens/charonic_wisp.rsi
      state: icon
    - type: InputMover
    - type: MobMover
    - type: FloatingVisuals
    - type: NpcFactionMember
      factions:
      - SimpleHostile
    - type: HTN
      rootTask:
        task: TargetedFollowCompound
      blackboard:
        AggroVisionRadius: !type:Single
          7.0
        FollowCloseRange: !type:Single
          1.0
        FollowRange: !type:Single
          2.0
    - type: Damageable
      damageContainer: Inorganic
    - type: Destructible
      thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 40
        behaviors:
        - !type:PlaySoundBehavior
          sound:
            path: /Audio/Magic/Eldritch/voidblink.ogg
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
    - type: StatusEffects
      allowed:
      - Electrocution
      - RadiationProtection
      - Adrenaline
    - type: MovementSpeedModifier
      baseWalkSpeed: 2.5
      baseSprintSpeed: 3.5
    - type: RadiationSource
      intensity: 4
      slope: 2
    - type: PointLight
      enabled: true
      radius: 3
      energy: 2.5
      color: "#BBF0FF"
      netsync: false
    - type: LightBehaviour
      behaviours:
      - !type:FadeBehaviour
        id: radiating
        maxDuration: 2.0
        startValue: 3.0
        endValue: 2.0
        isLooped: true
        reverseWhenFinished: true
      - !type:PulseBehaviour
        id: blinking
        interpolate: Nearest
        maxDuration: 1.0
        startValue: 0.1
        endValue: 2.0
        isLooped: true
    - type: Speech
      speechVerb: Wisp
      speechSounds: Alto
    - type: IntrinsicRadioReceiver
    - type: IntrinsicRadioTransmitter
      channels:
      - Common
    - type: ActiveRadio
      channels:
      - Common
    - type: Tag
      tags:
      - DoorBumpOpener
      - CannotSuicide

- type: entity
  name: ink-black sludge
  id: MobCharonicSlime
  suffix: AI
  parent: [ MobAdultSlimes, MobCombat ]
  description: It oozes like tar and drips like a slavering maw.
  components:
    - type: Sprite
      drawdepth: Mobs
      sprite: _starcup/Mobs/Aliens/alt_reagent_slime.rsi
      layers:
        - map: [ "enum.DamageStateVisualLayers.Base" ]
          state: alive
          color: "#1f2e2c"
    - type: Damageable
      damageContainer: Inorganic # to make it immune to caustic/radiation
      damageModifierSet: Slime
    - type: MobState
      allowedStates:
      - Alive
      - Dead
    - type: MobThresholds
      thresholds:
        0: Alive
        75: Dead
    - type: Bloodstream
      bloodReferenceSolution:
        reagents:
        - ReagentId: MuteToxin
          Quantity: 100
    - type: ExaminableSolution
      solution: bloodstream
    - type: InjectableSolution
      solution: bloodstream
    - type: DrainableSolution
      solution: bloodstream
    - type: MeleeWeapon
      soundHit:
        collection: AlienClaw
      animation: WeaponArcBite
      damage:
        types:
          Slash: 3
          Caustic: 3
    - type: MeleeChemicalInjector
      solution: bloodstream
      transferAmount: 5
    - type: DamageStateVisuals
      states:
        Alive:
          Base: alive
        Dead:
          Base: dead
    - type: NoSlip
    - type: ZombieImmune
    - type: StatusEffects
      allowed:
      - Electrocution
    - type: NpcFactionMember
      factions:
      - SimpleHostile
    - type: Tag
      tags:
      - FootstepSound
      - CannotSuicide
      - DoorBumpOpener
      - StunImmune
      - CreatureEmotes
    - type: Speech
      speechVerb: Slime
      speechSounds: FeralSlimeSpeechSounds
      allowedEmotes: ['Squish', 'Bubble', 'Pop', 'Fizz', 'Simmer']
    - type: TypingIndicator
      proto: slime
    - type: Vocal
      sounds:
        Unsexed: FeralSlimeSpeechEmotes
      screamId: Simmer
      screamAction: ActionEmitSound

- type: entity
  id: MobSpawnCharonicSlime
  name: ink-black sludge
  suffix: Spawner
  categories: [ Spawner ]
  components:
    - type: Transform
      anchored: True
    - type: InteractionOutline
    - type: Physics
      bodyType: Static
    - type: Sprite
      drawdepth: Mobs
      sprite: _starcup/Mobs/Aliens/alt_reagent_slime.rsi
      state: spawn
      color: "#1f2e2c"
    - type: Fixtures
      fixtures:
        portalFixture:
          shape:
            !type:PhysShapeCircle
            radius: 0.3
          density: 80
          mask:
            - MobMask
          layer:
            - MobLayer
    - type: TriggerOnSpawn
    - type: EmitSoundOnTrigger
      sound:
        path: /Audio/_starcup/Effects/Fluids/splash1.ogg
        params:
          pitch: 0.82
          volume: 0.85
    - type: TimedDespawn
      lifetime: 2.1
    - type: SpawnOnDespawn
      prototype: MobCharonicSlime
