# SPDX-FileCopyrightText: 2022 CommieFlowers <rasmus.cedergren@hotmail.com>
# SPDX-FileCopyrightText: 2022 CrudeWax <75271456+CrudeWax@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 rolfero <45628623+rolfero@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Alekshhh <44923899+Alekshhh@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <drsmugleaf@gmail.com>
# SPDX-FileCopyrightText: 2023 I.K <45953835+notquitehadouken@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Jackrost <jackrost@mail.ru>
# SPDX-FileCopyrightText: 2023 Jezithyr <jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 JimGamemaster <140008923+JimGamemaster@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 faint <46868845+ficcialfaint@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 liltenhead <104418166+liltenhead@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk228 <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 notquitehadouken <1isthisameme>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2024 Alex Pavlenko <diraven@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Centronias <me@centronias.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Doomsdrayk <robotdoughnut@comcast.net>
# SPDX-FileCopyrightText: 2024 DrEnzyme <DrEnzyme@gmail.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Elysium206 <151651971+Elysium206@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Floofi <126319569+Shadowtheprotogen546@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Kevin Zheng <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MetalSage <74924875+MetalSage@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MetalSage <metalsage.official@gmail.com>
# SPDX-FileCopyrightText: 2024 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Truoizys <153248924+Truoizys@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 WarMechanic <69510347+WarMechanic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 marbow <152051971+marboww@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 mhamster <81412348+mhamsterr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 neutrino <67447925+neutrino-laser@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Арт <123451459+JustArt1m@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ExponentialWizard <38435756+ExponentialWizard@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Zokkie <6126135+Zokkie@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ss14-Starlight <ss14-Starlight@outlook.com>
# SPDX-FileCopyrightText: 2025 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: basic
  id: MobSpaceBasic
  parent: SimpleSpaceMobBase
  abstract: true
  description: It looks friendly. Why don't you give it a hug?
  components:
  - type: HTN
    rootTask:
      task: SimpleHostileCompound
  - type: NpcFactionMember
    factions:
    - SimpleHostile
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Animals/bear.rsi
    layers:
    - map: [ "enum.DamageStateVisualLayers.Base" ]
      state: bear
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
      state: glow
      shader: unshaded
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.40
        density: 100
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: MobThresholds
    thresholds:
      0: Alive
      80: Dead
  - type: Stamina
    critThreshold: 150
  - type: MovementAlwaysTouching
  - type: Bloodstream
    bloodMaxVolume: 300
    bloodReagent: Cryoxadone
  - type: CombatMode
  - type: Temperature
    heatDamageThreshold: 500
    coldDamageThreshold: 0
  - type: MeleeWeapon
    soundHit:
        path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
    angle: 0
    animation: WeaponArcClaw
    damage:
      types:
        Blunt: 5
        Slash: 10
  - type: Tag
    tags:
    - DoorBumpOpener
    - FootstepSound
  - type: Puller
    needsHands: false
  - type: PointLight
    radius: 1.2
    energy: 2
    color: "#4faffb"
  - type: GhostTakeoverAvailable
  - type: Speech
    speechVerb: LargeMob

- type: entity
  name: space bear
  id: MobBearSpace
  parent: MobSpaceBasic
  description: It looks friendly. Why don't you give it a hug?
  components:
  - type: Body # Shitmed Change
    prototype: SpaceBear
  - type: SurgeryTarget # Shitmed
  - type: UserInterface # Shitmed
    interfaces:
      enum.SurgeryUIKey.Key:
        type: SurgeryBui
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Animals/bear.rsi
    layers:
    - map: [ "enum.DamageStateVisualLayers.Base" ]
      state: bear
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
      state: glow
      shader: unshaded
  - type: DamageStateVisuals
    states:
      Alive:
        Base: bear
        BaseUnshaded: glow
      Critical:
        Base: bear_dead
      Dead:
        Base: bear_dead
  - type: Butcherable
    spawned:
    - id: FoodMeatBear
      amount: 3
    - id: MaterialHideBear
      amount: 1
      prob: 0.3
  - type: ReplacementAccent
    accent: genericAggressive
  - type: Vocal
    sounds:
      Unsexed: Bear
  - type: InteractionPopup
    successChance: 0.25
    interactSuccessString: petting-success-bear
    interactFailureString: petting-failure-bear
    interactSuccessSound:
      path: /Audio/Animals/sloth_squeak.ogg
  - type: Fauna # Lavaland Change

- type: entity
  id: MobBearSpaceSalvage
  parent: MobBearSpace
  suffix: "Salvage Ruleset"
  components:
  - type: SalvageMobRestrictions

- type: entity
  name: space kangaroo
  id: MobKangarooSpace
  parent: [MobSpaceBasic, StripableInventoryBase]
  description: It looks friendly. Why don't you give it a hug?
  components:
  - type: Body # Shitmed Change
    prototype: SpaceKangaroo
  - type: SurgeryTarget # Shitmed
  - type: UserInterface # Shitmed
    interfaces:
      enum.SurgeryUIKey.Key:
        type: SurgeryBui
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Animals/kangaroo.rsi
    layers:
    - map: [ "enum.DamageStateVisualLayers.Base" ]
      state: kangaroo-space
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
      state: glow
      shader: unshaded
  - type: MeleeWeapon
    soundHit:
        path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
    angle: 0
    animation: WeaponArcClaw
    damage:
      types:
        Blunt: 9
        Slash: 2
  - type: MovementSpeedModifier
    baseWalkSpeed: 3.5
    baseSprintSpeed: 4.5
  - type: DamageStateVisuals
    states:
      Alive:
        Base: kangaroo-space
        BaseUnshaded: glow
      Critical:
        Base: kangaroo-space-crit
      Dead:
        Base: kangaroo-space-dead
  - type: Stamina
    critThreshold: 180
  - type: Inventory
    speciesId: kangaroo
    templateId: spacekangaroo
  - type: Vocal
    sounds:
      Unsexed: Kangaroo
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepBounce
  - type: LanguageKnowledge # Einstein Engines - Language
    speaks:
    - Kangaroo
    understands:
    - Kangaroo
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 1
  - type: Fauna # Lavaland Change
  - type: CombatPower # Goobstation
    factor: 1 # times more dangerous than a crew-member
  - type: MobThresholds
    thresholds:
      0: Alive
      120: Dead # Lavaland Change: 60 -> 120

- type: entity
  id: MobKangarooSpaceSalvage
  parent: MobKangarooSpace
  suffix: "Salvage Ruleset"
  components:
  - type: SalvageMobRestrictions

- type: entity
  name: space spider
  id: MobSpiderSpace
  parent: MobSpaceBasic
  description: It's so glowing, it looks dangerous.
  components:
  - type: VentCrawler # goobstation - Ventcrawl
  - type: Body # Shitmed Change
    prototype: SpaceSpider
  - type: SurgeryTarget # Shitmed
  - type: UserInterface # Shitmed
    interfaces:
      enum.SurgeryUIKey.Key:
        type: SurgeryBui
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Animals/spacespider.rsi
    layers:
    - map: [ "enum.DamageStateVisualLayers.Base" ]
      state: spacespider
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
      state: glow
      shader: unshaded
  - type: MobThresholds
    thresholds:
      0: Alive
      45: Dead
  - type: Stamina
    critThreshold: 150
  - type: DamageStateVisuals
    states:
      Alive:
        Base: spacespider
        BaseUnshaded: glow
      Dead:
        Base: spacespider_dead
  - type: Butcherable
    spawned:
    - id: FoodMeatSpider
      amount: 2
    - id: EggSpider
      amount: 1
      prob: 0.5
  - type: Bloodstream
    bloodMaxVolume: 250
    bloodReagent: Cryoxadone
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 120
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: MeleeWeapon
    soundHit:
      path: /Audio/Effects/bite.ogg
    angle: 0
    animation: WeaponArcBite
    damage:
      types:
        Piercing: 6
        Poison: 4
  - type: SolutionContainerManager
    solutions:
      melee:
        reagents:
        - ReagentId: ChloralHydrate
          Quantity: 80
  - type: MeleeChemicalInjector
    solution: melee
    transferAmount: 4
  - type: LanguageKnowledge # Einstein Engines - Language
    speaks:
    - Xeno
    understands:
    - Xeno
  - type: InteractionPopup
    successChance: 0.20
    interactSuccessString: petting-success-tarantula
    interactFailureString: petting-failure-generic
  - type: PointLight
    radius: 1.2
    energy: 2
    color: "#4faffb"
  - type: NoSlip
  - type: IgnoreSpiderWeb
  - type: Speech
    speechVerb: Arachnid
    speechSounds: Arachnid
    allowedEmotes: ['Click', 'Chitter']
  - type: Vocal
    sounds:
      Male: UnisexArachnid
      Female: UnisexArachnid
      Unsexed: UnisexArachnid
  - type: TypingIndicator
    proto: spider
  - type: Fauna # Lavaland Change
  - type: CombatPower # Goobstation
    factor: 1.5 # times more dangerous than a crew-member

- type: entity
  id: MobSpiderSpaceSalvage
  parent: MobSpiderSpace
  suffix: "Salvage Ruleset"
  components:
  - type: SalvageMobRestrictions

- type: entity
  name: space cobra
  id: MobCobraSpace
  parent: MobSpaceBasic
  description: Long fangs and a glowing hood, and the alluring look begs to come closer.
  components:
  - type: Body # Shitmed Change
    prototype: SpaceCobra
  - type: SurgeryTarget # Shitmed
  - type: UserInterface # Shitmed
    interfaces:
      enum.SurgeryUIKey.Key:
        type: SurgeryBui
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Animals/spacecobra.rsi
    layers:
      - map: [ "enum.DamageStateVisualLayers.Base" ]
        state: spacecobra
      - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
        state: glow
        shader: unshaded
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepSnake
  - type: MobThresholds
    thresholds:
      0: Alive
      70: Dead # Lavaland Change: 40 -> 70
  - type: Stamina
    critThreshold: 150
  - type: DamageStateVisuals
    states:
      Alive:
        Base: spacecobra
        BaseUnshaded: glow
      Dead:
        Base: dead_spacecobra
  - type: Butcherable
    spawned:
      - id: FoodMeatSnake
        amount: 2
      - id: UraniumOre1
        amount: 1
      - id: ClothingShoesSnakeskinBoots
        amount: 1
        prob: 0.3
  - type: Bloodstream
    bloodMaxVolume: 200
    bloodReagent: Cryoxadone
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.40
        density: 120
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: NpcFactionMember # Goobstation
    factions:
    - Xeno # Aligning them with Space Adders
  - type: MeleeWeapon
    hidden: true
    soundHit:
      path: /Audio/Effects/bite.ogg
    angle: 0
    animation: WeaponArcBite
    damage:
      types:
        Piercing: 6
        Poison: 4
  - type: SolutionContainerManager
    solutions:
      melee:
        reagents:
        - ReagentId: NorepinephricAcid
          Quantity: 90
  - type: MeleeChemicalInjector
    solution: melee
    transferAmount: 6
  - type: LanguageKnowledge # Einstein Engines - Language
    speaks:
    - Xeno
    understands:
    - Xeno
  - type: InteractionPopup
    successChance: 0.2
    interactSuccessString: petting-success-snake
    interactFailureString: petting-failure-generic
  - type: PointLight
    radius: 1.1
    energy: 1.5
    color: "#4faffb"
  - type: Fauna # Lavaland Change

- type: entity
  id: MobCobraSpaceSalvage
  parent: MobCobraSpace
  suffix: "Salvage Ruleset"
  components:
    - type: SalvageMobRestrictions

- type: entity
  parent: SimpleSpaceMobBase
  id: MobSnail
  name: snail
  description: Revolting unless you're french.
  components:
  - type: Body
    prototype: Mouse
  - type: GhostRole
    makeSentient: true
    allowSpeech: false
    allowMovement: true
    name: ghost-role-information-snail-name
    description: ghost-role-information-snail-description
    rules: ghost-role-information-freeagent-rules
    mindRoles:
    - MindRoleGhostRoleFreeAgentHarmless
  - type: GhostTakeoverAvailable
  - type: Emoting
  - type: Sprite
    drawdepth: SmallMobs
    sprite: Mobs/Animals/snail.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: snail
  - type: Item
    size: Tiny
  - type: NpcFactionMember
    factions:
      - Mouse
  - type: HTN
    constantlyReplan: false
    rootTask:
      task: MouseCompound
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.2
        density: 10 # Goob edit
        mask:
        - SmallMobMask
        layer:
        - SmallMobLayer
  - type: MobState
  - type: Deathgasp
  - type: MobStateActions
    actions:
      Critical:
      - ActionCritSuccumb
      - ActionCritFakeDeath
      - ActionCritLastWords
  - type: MobThresholds
    thresholds:
      0: Alive
      10: Critical
      20: Dead
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTypeTrigger
        damageType: Blunt
        damage: 40
      behaviors:
      - !type:GibBehavior
        recursive: false
  - type: MovementSpeedModifier
    baseWalkSpeed : 2
    baseSprintSpeed : 3
  - type: DamageStateVisuals
    states:
      Alive:
        Base: snail
      Critical:
        Base: dead
      Dead:
        Base: dead
  - type: Food
  - type: Thirst
    startingThirst: 25  # spawn with Okay thirst state
    thresholds:
      OverHydrated: 35
      Okay: 25
      Thirsty: 15
      Parched: 10
      Dead: 0
    baseDecayRate: 0.04
  - type: Hunger
    thresholds:
      Overfed: 35
      Okay: 25
      Peckish: 15
      Starving: 10
      Dead: 0
    baseDecayRate: 0.1
  - type: Extractable
    grindableSolutionName: food
  - type: SolutionContainerManager
    solutions:
      food:
        reagents:
        - ReagentId: UncookedAnimalProteins
          Quantity: 3
  - type: Butcherable
    spawned:
    - id: FoodMeatSnail
      amount: 1
  - type: Tag
    tags:
    - Trash
    - VimPilot
    - ChefPilot
    - Meat
  - type: CombatMode
    combatToggleAction: ActionCombatModeToggleOff
  - type: Bloodstream
    bloodMaxVolume: 30
    bloodReagent: Cryoxadone
  - type: CanEscapeInventory
  - type: MobPrice
    price: 50
  - type: BadFood
  - type: NonSpreaderZombie
  - type: FireVisuals
    sprite: Mobs/Effects/onfire.rsi
    normalState: Mouse_burning
  - type: Temperature
    heatDamageThreshold: 500
    coldDamageThreshold: 0
  - type: Reactive
    reactions:
    - reagents: [TableSalt, Saline]
      methods: [Touch, Ingestion, Injection]
      effects:
      - !type:HealthChange
        scaleByQuantity: true
        damage:
          types:
            Caustic: 1
      - !type:PopupMessage
        type: Local
        visualType: Large
        messages: [ "snail-hurt-by-salt-popup" ]
        probability: 0.66

- type: entity
  parent: MobSnail
  id: MobSnailInstantDeath
  suffix: Smite
  components:
  - type: GhostRole
    mindRoles:
    - MindRoleGhostRoleFreeAgent
  - type: MobStateActions
    actions:
      Alive:
      - ActionSmite
      Critical:
      - ActionCritSuccumb
      - ActionCritFakeDeath
      - ActionCritLastWords
  - type: Godmode
  - type: MovementAlwaysTouching

- type: entity
  parent: MobSnail
  id: MobSnailSpeed
  suffix: Speed
  components:
  - type: GhostRole
    name: ghost-role-information-snailspeed-name
    description: ghost-role-information-snailspeed-description
    rules: ghost-role-information-freeagent-rules
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: spacesnail
  - type: DamageStateVisuals
    states:
      Alive:
        Base: spacesnail
      Critical:
        Base: spacedead
      Dead:
        Base: spacedead
  - type: MovementSpeedModifier
    baseWalkSpeed : 5 #he go fast, also they cant slip so its probably fine.
    baseSprintSpeed : 7
#  - type: ActiveJetpack # I think this will need a custom component to not make tests angry.
  - type: MovementAlwaysTouching

- type: entity
  parent: MobSnail
  id: MobSnailMoth
  name: Snoth
  components:
  - type: Body
    prototype: Mothroach
  - type: GhostRole
    name: ghost-role-information-snoth-name
    description: ghost-role-information-snoth-description
    rules: ghost-role-information-freeagent-rules
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: snoth
  - type: DamageStateVisuals
    states:
      Alive:
        Base: snoth
      Critical:
        Base: snothdead
      Dead:
        Base: snothdead
