- type: entity
  save: false
  name: Urist McVulp
  parent: BaseMobSpeciesOrganic
  id: BaseMobVulpkanin
  abstract: true
  components:
  - type: HumanoidAppearance
    species: Vulpkanin
  - type: Hunger
  - type: Carriable # Carrying system from nyanotrasen.
  - type: Inventory # Allows vulps to wear properly shaped helmets
    speciesId: vulpkanin
  - type: Thirst
  - type: Icon
    sprite: _DV/Mobs/Species/Vulpkanin/parts.rsi
    state: full
  - type: Body
    prototype: Vulpkanin
    requiredLegs: 2
  - type: Speech
    speechSounds: Vulpkanin
    speechVerb: Vulpkanin
    allowedEmotes: ['Bark', 'Snarl', 'Whine', 'Howl', 'Awoo', 'Growl']
  - type: LanguageKnowledge # Einstein Engines - Languages
    speaks:
    - TauCetiBasic
    - Canilunzt
    understands:
    - TauCetiBasic
    - Canilunzt
  - type: Sprite
    netsync: false
    noRot: true
    drawdepth: Mobs
    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" ]
      - shader: StencilClear
        sprite: Mobs/Species/Human/parts.rsi #PJB on stencil clear being on the left leg: "...this is 'fine'" -https://github.com/space-wizards/space-station-14/pull/12217#issuecomment-1291677115
        # its fine, but its still very stupid that it has to be done like this instead of allowing sprites to just directly insert a stencil clear.
        # sprite refactor when
        state: l_leg
      - shader: StencilMask
        map: [ "enum.HumanoidVisualLayers.StencilMask" ]
        sprite: _DV/Mobs/Customization/Vulpkanin/masking_helpers.rsi
        state: female_full
        visible: false
      - map: [ "jumpsuit" ]
      - map: [ "balaclava" ]
      - 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: [ "back" ]
      - map: [ "neck" ]
      - 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: [ "helmetcover" ]
      - map: [ "helmetattachment" ]
      - map: [ "pocket1" ]
      - map: [ "pocket2" ]
      - map: [ "clownedon" ] # Dynamically generated
        sprite: "_DV/Effects/creampie.rsi"
        state: "creampie_vulpkanin"
        visible: false
  - type: MeleeWeapon
    hidden: true
    soundHit:
      path: /Audio/Weapons/pierce.ogg
    angle: 30
    animation: WeaponArcClaw
    damage:
      types:
        Blunt: 2
        Slash: 3
  - type: Perishable
  - type: Damageable
    damageModifierSet: Vulpkanin
  - type: TemperatureProtection
    coolingCoefficient: 0.1 # fur is insulating
  - type: Vocal
    sounds:
      Male: MaleVulpkanin
      Female: FemaleVulpkanin
      Unsexed: MaleVulpkanin
  - type: DogVision
  - type: InteractionPopup # Frontier
    successChance: 1
    interactSuccessString: pat-success-generic
    interactSuccessSound: /Audio/Effects/thudswoosh.ogg
    messagePerceivedByOthers: pat-success-generic-others
  - type: ShortWhitelist # Frontier
    scale: 0.8 # Frontier
    density: 140 # Frontier
    pseudoItem: true # Frontier
    cosmeticOnly: false # Frontier
  - type: TallWhitelist # Frontier
    scale: 1.2 # Frontier

- type: entity
  save: false
  name: Vulpkanin Dummy
  parent: MobHumanDummy
  id: MobVulpkaninDummy
  categories: [ HideSpawnMenu ]
  description: A dummy vulpkanin meant to be used in character setup.
  components:
  - type: HumanoidAppearance
    species: Vulpkanin
