# Mice and rats
- type: entity
  parent: RMCRodent
  id: CMMobMouse
  name: mouse
  suffix: RMC
  description: It's a small, disease-ridden rodent.
  components:
  - type: Sprite
    drawdepth: SmallMobs
    sprite: Mobs/Animals/mouse.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base", "movement"]
      state: mouse-0
  - type: Item
    size: Tiny
    heldPrefix: 0
  - type: Clothing
    quickEquip: false
    sprite: Mobs/Animals/mouse.rsi
    equippedPrefix: 0
    slots:
    - HEAD
  - type: DamageStateVisuals
    states:
      Alive:
        Base: mouse-0
      Critical:
        Base: dead-0
      Dead:
        Base: splat-0

- type: entity
  parent: CMMobMouse
  id: CMMobMouse1
  name: mouse
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base", "movement"]
      state: mouse-1
  - type: Clothing
    equippedPrefix: 1
  - type: DamageStateVisuals
    states:
      Alive:
        Base: mouse-1
      Critical:
        Base: dead-1
      Dead:
        Base: splat-1
  - type: Item
    size: Tiny
    heldPrefix: 1

- type: entity
  parent: CMMobMouse
  id: CMMobMouse2
  name: mouse
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base", "movement"]
      state: mouse-2
  - type: Clothing
    equippedPrefix: 2
  - type: DamageStateVisuals
    states:
      Alive:
        Base: mouse-2
      Critical:
        Base: dead-2
      Dead:
        Base: splat-2
  - type: Item
    size: Tiny
    heldPrefix: 2

- type: entity
  parent: CMMobMouse
  id: RMCMobMouseDoc
  name: Doc
  description: "Senior mouse researcher of the Almayer. Likes: cheese, experiments, explosions."

- type: entity
  name: rat
  parent: RMCRodent
  id: RMCMobRat
  description: It's a small laboratory rat.
  suffix: RMC
  components:
  - type: Sprite
    drawdepth: SmallMobs
    sprite: _RMC14/Mobs/Animals/rat.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: rat-0
  - type: DamageStateVisuals
    states:
      Alive:
        Base: rat-0
      Critical:
        Base: dead-0
      Dead:
        Base: splat-0
  - type: Item
    size: Tiny
    heldPrefix: 0
  - type: Clothing
    quickEquip: false
    sprite: Mobs/Animals/mouse.rsi
    equippedPrefix: 0
    slots:
    - HEAD

- type: entity
  parent: RMCMobRat
  id: RMCMobRatBrown
  suffix: RMC
  name: rat
  description: It's a big, disease-ridden rodent.
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: rat-1
  - type: DamageStateVisuals
    states:
      Alive:
        Base: rat-1
      Critical:
        Base: dead-1
      Dead:
        Base: splat-1

- type: entity
  parent: RMCMobRatBrown
  id: RMCMobRatGray
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: rat-2
  - type: DamageStateVisuals
    states:
      Alive:
        Base: rat-2
      Critical:
        Base: dead-2
      Dead:
        Base: splat-2

- type: entity
  parent: RMCMobRatBrown
  id: RMCMobRatBlack
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: rat-3
  - type: DamageStateVisuals
    states:
      Alive:
        Base: rat-3
      Critical:
        Base: dead-3
      Dead:
        Base: splat-3

#-- Pets --
# TODO: Add a way to pat and pick up pets. Obfuscate names for xenos to refer to them as fuzzies/pets.
- type: entity
  parent: RMCSimpleMob
  id: RMCMobCorgi
  name: corgi
  description: It's a corgi.
  abstract: true
  components:
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: ReplacementAccent
    accent: dog
  - type: Speech
    speechVerb: Canine
    speechSounds: Dog
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 150
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: MobThresholds
    thresholds:
      0: Alive
      15: Critical
      20: Dead
  - type: Grammar
    attributes:
      gender: epicene
  - type: FixedIdentity
    name: cm-chatsan-replacement-dogs

- type: entity
  parent: RMCMobCorgi
  id: CMMobWiggles
  name: Mister Wiggles
  description: It's a corgi puppy. MISTER WIGGLES!! HE IS THE GREATEST!
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: puppy
  - type: DamageStateVisuals
    states:
      Alive:
        Base: puppy
      Critical:
        Base: puppy_dead
      Dead:
        Base: puppy_dead
  - type: Item
    size: Normal
    sprite: _RMC14/Mobs/Animals/corgi.rsi
    heldPrefix: puppy
  - type: Clothing
    quickEquip: false
    sprite: _RMC14/Mobs/Animals/corgi.rsi
    equippedPrefix: puppy
    slots:
    - HEAD
  - type: WarpPoint
    follow: true
    location: Mister Wiggles


- type: entity
  parent: RMCSimpleMob
  id: RMCMobCat
  name: cat
  description: It's a black cat
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/cat.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: cat
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 115
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: DamageStateVisuals
    states:
      Alive:
        Base: cat
      Critical:
        Base: cat_dead
      Dead:
        Base: cat_dead
  - type: Item
    size: Normal
    sprite: _RMC14/Mobs/Animals/cat.rsi
    heldPrefix: cat1
  - type: Clothing
    quickEquip: false
    sprite: _RMC14/Mobs/Animals/cat.rsi
    equippedPrefix: cat1
    slots:
    - HEAD
  - type: Speech
    speechSounds: Cat
    speechVerb: SmallMob
  - type: MeleeWeapon
    soundHit:
      path: /Audio/Effects/bite.ogg
    angle: 0
    animation: WeaponArcBite
    damage:
      types:
        blunt: 25
  - type: MobThresholds
    thresholds:
      0: Alive
      15: Critical
      20: Dead
  - type: ReplacementAccent
    accent: cat
  - type: Grammar
    attributes:
      gender: epicene
  - type: FixedIdentity
    name: cm-chatsan-replacement-cat

- type: entity
  parent: RMCMobCat
  id: RMCMobCatCalico
  name: calico
  description: It's an orange, brown and black cat
  components:
  - type: Sprite
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: cat2
  - type: DamageStateVisuals
    states:
      Alive:
        Base: cat2
      Critical:
        Base: cat2_dead
      Dead:
        Base: cat2_dead
  - type: Item
    size: Normal
    sprite: _RMC14/Mobs/Animals/cat.rsi
    heldPrefix: cat2
  - type: Clothing
    quickEquip: false
    sprite: _RMC14/Mobs/Animals/cat.rsi
    equippedPrefix: cat2
    slots:
    - HEAD

- type: entity
  parent: RMCMobCatCalico
  id: CMMobJones
  name: Jones
  description: A tough, old stray whose origin no one seems to know.
  components:
  - type: MobThresholds
    thresholds:
      0: Alive
      45: Critical
      50: Dead # A TOUGH old stray, yes this is parity reasoning
  - type: Grammar
    attributes:
      proper: true
      gender: male
  - type: WarpPoint
    follow: true
    location: Jones

- type: entity
  parent: RMCMobCatCalico
  id: RMCMobOrion
  name: Orion
  description: A domesticated, feline pet. The collar says 'Orion'.
  components:
  - type: WarpPoint
    follow: true
    location: Orion

- type: entity
  parent: RMCMobCat
  id: RMCMobGarry
  name: Garry
  description: Her fur has the look and feel of velvet, and her tail quivers occasionally.
  components:
  - type: Grammar
    attributes:
      proper: true
      gender: female
  - type: WarpPoint
    follow: true
    location: Garry

# Spawners
- type: entity
  parent: SpawnMobMouse
  id: CMSpawnMobMouse
  suffix: RMC
  components:
  - type: ConditionalSpawner
    prototypes:
    - CMMobMouse
    - CMMobMouse1
    - CMMobMouse2

- type: entity
  parent: MarkerBase
  id: RMCSpawnRatBlack
  name: rat spawner
  suffix: black
  components:
  - type: Sprite
    layers:
    - state: green
    - state: icon-3
      sprite: _RMC14/Mobs/Animals/rat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobRatBlack

- type: entity
  parent: RMCSpawnRatBlack
  id: RMCSpawnRatGray
  suffix: gray
  components:
  - type: Sprite
    layers:
    - state: green
    - state: icon-2
      sprite: _RMC14/Mobs/Animals/rat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobRatGray

- type: entity
  parent: RMCSpawnRatBlack
  id: RMCSpawnRatBrown
  suffix: brown
  components:
  - type: Sprite
    layers:
    - state: green
    - state: icon-1
      sprite: _RMC14/Mobs/Animals/rat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobRatBrown

- type: entity
  parent: RMCSpawnRatBlack
  id: RMCSpawnRatWhite
  suffix: white
  components:
  - type: Sprite
    layers:
    - state: green
    - state: icon-0
      sprite: _RMC14/Mobs/Animals/rat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobRat

- type: entity
  parent: MarkerBase
  id: CMSpawnMobWiggles
  name: Mr. Wiggles Spawner
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - state: green
    - state: puppy
      sprite: Mobs/Pets/corgi.rsi
  - type: ConditionalSpawner
    prototypes:
    - CMMobWiggles

- type: entity
  parent: MarkerBase
  id: CMSpawnMobJones
  name: Jones Spawner
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - state: green
    - state: cat2
      sprite: Mobs/Pets/cat.rsi
  - type: ConditionalSpawner
    prototypes:
    - CMMobJones

- type: entity
  parent: MarkerBase
  id: CMSpawnMobOrion
  name: Orion Spawner
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - state: green
    - state: cat2
      sprite: Mobs/Pets/cat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobOrion

- type: entity
  parent: MarkerBase
  id: RMCSpawnMobGarry
  name: Garry Spawner
  suffix: RMC
  components:
  - type: Sprite
    layers:
    - state: green
    - state: cat
      sprite: Mobs/Pets/cat.rsi
  - type: ConditionalSpawner
    prototypes:
    - RMCMobGarry

- type: entity
  parent: SpawnMobMouse
  id: RMCSpawnMobDoc
  name: doc spawner
  suffix: RMC
  components:
  - type: ConditionalSpawner
    prototypes:
    - RMCMobMouseDoc
