- type: entity
  save: false
  name: Urist McSkelly
  parent:
  - MobFlammable
  - BaseMobSpecies
  id: BaseMobSkeletonPerson
  abstract: true
  components:
  - type: HumanoidAppearance
    species: Skeleton
  - type: Icon
    sprite: Mobs/Species/Skeleton/parts.rsi
    state: full
  - type: Body
    prototype: Skeleton
    requiredLegs: 2
    gibSound: /Audio/Effects/bone_rattle.ogg
  - type: Damageable
    damageContainer: BiologicalMetaphysical # Allows them to take Holy damage
    damageModifierSet: Skeleton # If we get non-Holy metaphysical damage types in the future, the Skeleton set might need to be adjusted to provide immunity to them (depends on what exactly the new types are)
  - type: DamageVisuals
    damageOverlayGroups:
      Brute:
        sprite: Mobs/Effects/brute_damage.rsi
        color: "#555555AA"
      Burn:
        sprite: Mobs/Effects/burn_damage.rsi
  - type: MobState
  - type: MobThresholds
    thresholds:
      0: Alive
      100: Critical
      150: Dead
  - type: TransferMindOnGib
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:GibBehavior { }
  - type: SlowOnDamage #modified speeds because they're so weak
    speedModifierThresholds:
      60: 0.9
      80: 0.7
  - type: Speech
    speechVerb: Skeleton
  - type: ZombieImmune
  - type: Vocal
    sounds:
      Male: Skeleton
      Female: Skeleton
      Unsexed: Skeleton
  - type: SkeletonAccent
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 130
        restitution: 0.0
        mask:
          - MobMask
        layer:
          - MobLayer
  - type: Reactive
    groups:
      Flammable: [ Touch ]
      Extinguish: [ Touch ]
    reactions:
    - reagents: [ Water, SpaceCleaner ]
      methods: [ Touch ]
      effects:
      - !type:WashCreamPie
    - reagents: [ Milk, MilkGoat, MilkSoy, MilkSpoiled ]
      # add new types of milk to reagents as they appear, oat milk isn't on the list
      # because turns out oat milk has 1/30th the amount of calcium in it compared to the rest
      # even if it's a meme - I did research
      methods: [ Touch ]
      effects: # TODO: when magic is around - make a milk transformation to a skeleton monster
      - !type:HealthChange
        damage:
          groups: # these groups are the only 3 possible ways to damage a skeleton. numerical values obviously up to discussion
            Burn: -1
            Brute: -0.75
            Metaphysical: -2 # Gameplay: skeletons need some way to heal holy damage. Lore: milk is an unholy liquid that shuns the light of god. (/j)
      - !type:PopupMessage
        type: Local
        visualType: Large
        messages: [ "skeleton-healed-by-milk-popup" ]
        probability: 0.25
    - reagents: [ MilkOat ]
      methods: [ Touch ]
      effects:
        - !type:PopupMessage
          type: Local
          visualType: Large
          messages: [ "skeleton-sprayed-by-oat-milk-popup" ]
          probability: 0.5
  - type: FireVisuals
    alternateState: Standing
  - type: FlashImmunity
    showInExamine: false
  - type: Inventory
    femaleDisplacements:
      jumpsuit:
        sizeMaps:
          32:
            sprite: Mobs/Species/Human/displacement.rsi
            state: jumpsuit-female
  - type: Instrument
    program: 13 # Xylophone. Woodblock is 115 (another good option)
  - type: ActivatableUI
    blockSpectators: true # otherwise they can play client-side music
    inHandsOnly: false
    singleUser: true
    requiresComplex: true
    verbOnly: true
    verbText: verb-instrument-openui
    key: enum.InstrumentUiKey.Key
  - type: UserInterface
    interfaces:
      enum.InstrumentUiKey.Key:
        type: InstrumentBoundUserInterface
      enum.HumanoidMarkingModifierKey.Key:
        type: HumanoidMarkingModifierBoundUserInterface
      enum.StrippingUiKey.Key:
        type: StrippableBoundUserInterface

- type: entity
  parent: BaseSpeciesDummy
  id: MobSkeletonPersonDummy
  categories: [ HideSpawnMenu ]
  components:
  - type: HumanoidAppearance
    species: Skeleton
  - type: Inventory
    femaleDisplacements:
      jumpsuit:
        sizeMaps:
          32:
            sprite: Mobs/Species/Human/displacement.rsi
            state: jumpsuit-female
