- type: entity
  abstract: true
  save: false
  parent: [BaseMobSpeciesOrganic]
  id: BaseMobVulpkanin
  name: Urist McBark
  components:
  - type: Hunger
  - type: Thirst
  # begin starcup: remove messy drinker
#  - type: MessyDrinker
#    spillChance: 0.33
  # end starcup
  - 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.
    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.
    specificHeat: 44
    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.TailBehind" ] # floof
    - 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: [ "enum.HumanoidVisualLayers.TailOversuit" ] # floof
    - 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
    # begin starcup: use delta-v sprites
    # undergarmentTop: UndergarmentTopTanktopVulpkanin
    # undergarmentBottom: UndergarmentBottomBoxersVulpkanin
    # end starcup
    hideLayersOnEquip:
    - Snout
    - SnoutCover
    - HeadTop
    - HeadSide
    - FacialHair
    # begin starcup: use delta-v sprites
    # markingsDisplacement:
    #   Hair:
    #     sizeMaps:
    #       32:
    #         sprite: Mobs/Species/Vulpkanin/displacement.rsi
    #         state: hair
    # end starcup
  - type: Inventory
    speciesId: vulpkanin
    displacements:
    # begin starcup: use delta-v sprites
#      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
    # end starcup
  - type: Carriable # Carrying system from nyanotrasen.

- 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
    # begin starcup: use delta-v sprites
#    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
    # end starcup
