- type: entity
  abstract: true
  save: false
  parent: [BaseMobSpeciesOrganic]
  id: BaseMobVulpkanin
  name: Urist McBark
  components:
  - type: Hunger
  - type: Thirst
  - type: MessyDrinker
    spillChance: 0.33
  - type: Icon
    sprite: Mobs/Species/Vulpkanin/parts.rsi
    state: full
  - type: Body
    prototype: Vulpkanin
  - type: Speech
    speechSounds: Vulpkanin
    speechVerb: Vulpkanin
    allowedEmotes: [ 'Bark', 'Snarl', 'Whine', 'Howl', 'Growl' ]
  - type: Vocal
    sounds:
      Male: MaleVulpkanin
      Female: FemaleVulpkanin
      Unsexed: MaleVulpkanin
  - type: Damageable
    damageModifierSet: Vulpkanin
  - type: MeleeWeapon
    soundHit:
      path: /Audio/Weapons/pierce.ogg
    animation: WeaponArcClaw
    damage:
      types:
        Piercing: 2
        Slash: 3
  - type: Temperature # Same as moth temperatures until below is solved.
    specificHeat: 44
  - type: TemperatureDamage
    heatDamageThreshold: 320 # TODO: 315 when there is a way to make the temperature alert not blink to the side of the screen and disappear when you "sweat" at 39C.
    coldDamageThreshold: 230 # TODO: 220 when the above is solved.
    coldDamage:
      types:
        Cold: 0.05 # Per second, scales with temperature & other constants
    heatDamage:
      types:
        Heat: 2.5 # Per second, scales with temperature & other constants
  # - type: Wagging TODO: Add back once we have animated tails again. Were removed due to the sprite rework, causing all of them to not fit anymore.
  #   action: ActionToggleWaggingVulpkanin
  - type: TemperatureProtection
    heatingCoefficient: 1.2
    coolingCoefficient: 0.3
  - type: JumpAbility
    action: ActionVulpkaninGravityJump
    canCollide: true
    jumpDistance: 3
    jumpSound:
      path: /Audio/Weapons/punchmiss.ogg
      params:
        pitch: 1.33
        volume: -5
        variation: 0.05
  - type: Sprite # Drawlayers. Top to bottom in order I believe.
    netsync: false
    layers:
    - map: [ "enum.HumanoidVisualLayers.Chest" ]
    - map: [ "enum.HumanoidVisualLayers.Head" ]
    - map: [ "enum.HumanoidVisualLayers.Snout" ]
    - map: [ "enum.HumanoidVisualLayers.Eyes" ]
    - map: [ "enum.HumanoidVisualLayers.RArm" ]
    - map: [ "enum.HumanoidVisualLayers.LArm" ]
    - map: [ "enum.HumanoidVisualLayers.RLeg" ]
    - map: [ "enum.HumanoidVisualLayers.LLeg" ]
    - map: [ "enum.HumanoidVisualLayers.UndergarmentBottom" ]
    - map: [ "enum.HumanoidVisualLayers.UndergarmentTop" ]
    - map: [ "jumpsuit" ]
    - map: [ "enum.HumanoidVisualLayers.LHand" ]
    - map: [ "enum.HumanoidVisualLayers.RHand" ]
    - map: [ "enum.HumanoidVisualLayers.LFoot" ]
    - map: [ "enum.HumanoidVisualLayers.RFoot" ]
    - map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
      color: "#ffffff"
      sprite: Objects/Misc/handcuffs.rsi
      state: body-overlay-2
      visible: false
    - map: [ "id" ]
    - map: [ "gloves" ]
    - map: [ "shoes" ]
    - map: [ "ears" ]
    - map: [ "outerClothing" ]
    - map: [ "eyes" ]
    - map: [ "belt" ]
    - map: [ "neck" ]
    - map: [ "back" ]
    - map: [ "enum.HumanoidVisualLayers.SnoutCover" ]
    - map: [ "enum.HumanoidVisualLayers.FacialHair" ]
    - map: [ "enum.HumanoidVisualLayers.Hair" ]
    - map: [ "enum.HumanoidVisualLayers.HeadSide" ]
    - map: [ "enum.HumanoidVisualLayers.HeadTop" ]
    - map: [ "enum.HumanoidVisualLayers.Tail" ]
    - map: [ "mask" ]
    - map: [ "head" ]
    - map: [ "pocket1" ]
    - map: [ "pocket2" ]
    - map: [ "clownedon" ]
      sprite: "Effects/creampie.rsi"
      state: "creampie_vulpkanin"
      visible: false
  - type: HumanoidAppearance
    species: Vulpkanin
    undergarmentTop: UndergarmentTopTanktopVulpkanin
    undergarmentBottom: UndergarmentBottomBoxersVulpkanin
    hideLayersOnEquip:
    - Snout
    - SnoutCover
    - HeadTop
    - HeadSide
    - FacialHair
    - Hair
    markingsDisplacement:
      Hair:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: hair
  - type: Inventory
    speciesId: vulpkanin
    displacements:
      jumpsuit:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: jumpsuit
      back:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: back
      outerClothing:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: outerwear
      gloves:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: hand
      shoes:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: shoes
      head:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: head
      neck:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: neck
      eyes:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: eyes
      belt:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: belt

- type: entity
  parent: [BaseSpeciesDummy]
  id: MobVulpkaninDummy
  categories: [ HideSpawnMenu ]
  components:
  - type: HumanoidAppearance
    species: Vulpkanin
    hideLayersOnEquip:
    - Snout
    - HeadTop
    - HeadSide
    markingsDisplacement:
      Hair:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: hair
  - type: Inventory
    speciesId: vulpkanin
    displacements:
      jumpsuit:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: jumpsuit
      back:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: back
      outerClothing:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: outerwear
      gloves:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: hand
      shoes:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: shoes
      head:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: head
      neck:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: neck
      eyes:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: eyes
      belt:
        sizeMaps:
          32:
            sprite: Mobs/Species/Vulpkanin/displacement.rsi
            state: belt
