- type: markingsGroup
  parent: Undergarments
  id: Vulpkanin
  limits:
    enum.HumanoidVisualLayers.Hair:
      limit: 1
      required: false
    enum.HumanoidVisualLayers.FacialHair:
      limit: 1
      onlyGroupWhitelisted: true
      required: false
    enum.HumanoidVisualLayers.Head:
      limit: 3
      required: false
    enum.HumanoidVisualLayers.HeadTop:
      limit: 1
      required: true
      default: [ VulpEar ]
    enum.HumanoidVisualLayers.Snout:
      limit: 1
      required: true
      default: [ VulpSnout ]
    enum.HumanoidVisualLayers.SnoutCover:
      limit: 3
      required: false
    enum.HumanoidVisualLayers.Tail:
      limit: 1
      required: true
      default: [ VulpTailVulp ]
    enum.HumanoidVisualLayers.LArm:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.RArm:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.LHand:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.RHand:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.LLeg:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.RLeg:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.LFoot:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.RFoot:
      limit: 2
      required: false
    enum.HumanoidVisualLayers.UndergarmentTop:
      limit: 1
      required: false
      nudityDefault: [ UndergarmentTopTanktopVulpkanin ]
    enum.HumanoidVisualLayers.UndergarmentBottom:
      limit: 1
      required: false
      nudityDefault: [ UndergarmentBottomBoxersVulpkanin ]

- type: entity
  parent: BaseSpeciesAppearance
  id: AppearanceVulpkanin
  name: vulpkanin appearance
  components:
  - type: InitialBody
    organs:
      Torso: OrganVulpkaninTorso
      Head: OrganVulpkaninHead
      ArmLeft: OrganVulpkaninArmLeft
      ArmRight: OrganVulpkaninArmRight
      HandRight: OrganVulpkaninHandRight
      HandLeft: OrganVulpkaninHandLeft
      LegLeft: OrganVulpkaninLegLeft
      LegRight: OrganVulpkaninLegRight
      FootLeft: OrganVulpkaninFootLeft
      FootRight: OrganVulpkaninFootRight
      Brain: OrganVulpkaninBrain
      Eyes: OrganVulpkaninEyes
      Tongue: OrganVulpkaninTongue
      Appendix: OrganVulpkaninAppendix
      Ears: OrganVulpkaninEars
      Lungs: OrganVulpkaninLungs
      Heart: OrganVulpkaninHeart
      Stomach: OrganVulpkaninStomach
      Liver: OrganVulpkaninLiver
      Kidneys: OrganVulpkaninKidneys
  - type: HumanoidProfile
    species: Vulpkanin
  - 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:
  - AppearanceVulpkanin
  - BaseSpeciesMobOrganic
  id: MobVulpkanin
  name: Urist McArfArf
  components:
  - type: MessyDrinker
    spillChance: 0.33
  - 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
    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: entity
  parent: OrganBase
  id: OrganVulpkanin
  abstract: true
  suffix: vulpkanin

- type: entity
  id: OrganVulpkaninMetabolizer
  abstract: true
  components:
  - type: Metabolizer
    metabolizerTypes: [ Animal ]

- type: entity
  parent: OrganVulpkanin
  id: OrganVulpkaninInternal
  abstract: true
  components:
  - type: Sprite
    sprite: Mobs/Species/Human/organs.rsi

- type: entity
  id: OrganVulpkaninVisual
  abstract: true
  components:
  - type: VisualOrgan
    data:
      sprite: Mobs/Species/Vulpkanin/parts.rsi
  - type: VisualOrganMarkings
    markingData:
      group: Vulpkanin

- type: entity
  parent: [ OrganVulpkanin, OrganVulpkaninVisual ]
  id: OrganVulpkaninExternal
  abstract: true
  components:
  - type: Sprite
    sprite: Mobs/Species/Vulpkanin/parts.rsi

- type: entity
  parent: [ OrganBaseTorsoSexed, OrganBaseTorso, OrganVulpkaninExternal ]
  id: OrganVulpkaninTorso

- type: entity
  parent: [ OrganBaseHead, OrganVulpkaninExternal ]
  id: OrganVulpkaninHead
  components:
  - type: VisualOrganMarkings
    hideableLayers:
    - enum.HumanoidVisualLayers.Snout
    - enum.HumanoidVisualLayers.HeadTop
    - enum.HumanoidVisualLayers.HeadSide
    - enum.HumanoidVisualLayers.Hair
    - enum.HumanoidVisualLayers.FacialHair
    dependentHidingLayers:
      enum.HumanoidVisualLayers.Snout:
      - enum.HumanoidVisualLayers.SnoutCover

- type: entity
  parent: [ OrganBaseArmLeft, OrganVulpkaninExternal ]
  id: OrganVulpkaninArmLeft

- type: entity
  parent: [ OrganBaseArmRight, OrganVulpkaninExternal ]
  id: OrganVulpkaninArmRight

- type: entity
  parent: [ OrganBaseHandLeft, OrganVulpkaninExternal ]
  id: OrganVulpkaninHandLeft

- type: entity
  parent: [ OrganBaseHandRight, OrganVulpkaninExternal ]
  id: OrganVulpkaninHandRight

- type: entity
  parent: [ OrganBaseLegLeft, OrganVulpkaninExternal ]
  id: OrganVulpkaninLegLeft

- type: entity
  parent: [ OrganBaseLegRight, OrganVulpkaninExternal ]
  id: OrganVulpkaninLegRight

- type: entity
  parent: [ OrganBaseFootLeft, OrganVulpkaninExternal ]
  id: OrganVulpkaninFootLeft

- type: entity
  parent: [ OrganBaseFootRight, OrganVulpkaninExternal ]
  id: OrganVulpkaninFootRight

- type: entity
  parent: [ OrganBaseBrain, OrganSpriteHumanInternal, OrganVulpkaninInternal ]
  id: OrganVulpkaninBrain

- type: entity
  parent: [ OrganVulpkaninVisual, OrganBaseEyes, OrganVulpkaninInternal ]
  id: OrganVulpkaninEyes

- type: entity
  parent: [ OrganBaseTongue, OrganVulpkaninInternal ]
  id: OrganVulpkaninTongue

- type: entity
  parent: [ OrganBaseAppendix, OrganSpriteHumanInternal, OrganVulpkaninInternal ]
  id: OrganVulpkaninAppendix

- type: entity
  parent: [ OrganBaseEars, OrganSpriteHumanInternal, OrganVulpkaninInternal ]
  id: OrganVulpkaninEars

- type: entity
  parent: [ OrganBaseLungs, OrganVulpkaninInternal, OrganVulpkaninMetabolizer ]
  id: OrganVulpkaninLungs

- type: entity
  parent: [ OrganBaseHeart, OrganVulpkaninInternal, OrganVulpkaninMetabolizer ]
  id: OrganVulpkaninHeart

- type: entity
  parent: [ OrganBaseStomach, OrganVulpkaninInternal, OrganVulpkaninMetabolizer ]
  id: OrganVulpkaninStomach

- type: entity
  parent: [ OrganBaseLiver, OrganSpriteHumanInternal, OrganVulpkaninInternal, OrganVulpkaninMetabolizer ]
  id: OrganVulpkaninLiver

- type: entity
  parent: [ OrganBaseKidneys, OrganSpriteHumanInternal, OrganVulpkaninInternal, OrganVulpkaninMetabolizer ]
  id: OrganVulpkaninKidneys
