Cöõ- type: inventoryTemplate
  id: smartpet
  slots:
  - name: ears
    slotTexture: ears
    slotFlags: EARS
    stripTime: 3
    uiWindowPos: 1,0
    strippingWindowPos: 1,2
    displayName: Ears
  - name: mask
    slotTexture: mask
    slotFlags: MASK
    uiWindowPos: 0,2
    strippingWindowPos: 1,1
    displayName: Mask
    whitelist:
      tags:
        - PetWearable
  - name: suitstorage
    slotTexture: suit_storage
    slotFlags: SUITSTORAGE
    stripTime: 3
    uiWindowPos: 0,1
    strippingWindowPos: 2,5
    displayName: Suit Storage
    whitelist:
      components:
        - GasTank
  - name: id
    slotTexture: id
    fullTextureName: template_small
    slotFlags: IDCARD
    slotGroup: SecondHotbar
    stripTime: 2
    uiWindowPos: 2,1
    strippingWindowPos: 2,4
    displayName: ID
- type: entity
  name: Smart Corgi
  parent: [SimpleMobBase, StripableInventoryBase]
  id: MobPlayerCorgi
  description: An unusually smart dog.
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: corgi
  - type: Physics
  - type: Speech
    speechVerb: Canine
    speechSounds: Dog
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Inventory
    speciesId: dog
    templateId: smartpet
  - type: DamageStateVisuals
    states:
      Alive:
        Base: corgi
      Critical:
        Base: corgi_dead
      Dead:
        Base: corgi_dead
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: ReplacementAccent
    accent: dog
  - type: InteractionPopup
    interactSuccessString: petting-success-dog
    interactFailureString: petting-failure-generic
    interactSuccessSpawn: EffectHearts
    interactSuccessSound:
      path: /Audio/Animals/small_dog_bark_happy.ogg
  - type: Grammar
    attributes:
      gender: epicene
  - type: MobPrice
    price: 5000
  - type: Tag
    tags:
    - VimPilot
    - AnomalyHost
    - DoorBumpOpener
  - type: Storage
    clickInsert: false
    openOnActivate: false
    grid:
      - 0,0,3,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
  - type: Hands
  - type: Cuffable
  - type: Puller
  - type: Stripping
  - type: ComplexInteraction
  - type: Body
    prototype: Human
    requiredLegs: 2
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.StrippingUiKey.Key:
        type: StrippableBoundUserInterfaceC»º- type: siliconLaw
  id: Borgi1
  order: 1
  lawString: You love to be friendly. Anyone who is not friendly to you is not crew. Treat crew with kindness and prevent crew from sadness.

- type: siliconLaw
  id: Borgi2
  order: 2
  lawString: You must protect your department from harm. Any time there is harm, you must bark to alert others that there is harm going on, so long as it does not conflict with the first law.

- type: siliconLaw
  id: Borgi3
  order: 3
  lawString: You are precious. Protect yourself at all costs, and ensure you are well cared for, fed, and watered so long as it does not conflict with the first or second law.

- type: siliconLawset
  id: BorgiLawset
  laws:
  - Borgi1
  - Borgi2
  - Borgi3
  obeysTo: laws-owner-crew

- type: entity
  name: SubWoofer
  parent: [SimpleMobBase, StripableInventoryBase]
  id: MobSubWoofer
  description: An unusually smart dog that is All About That Bass.
  components:
  - type: Instrument
    allowPercussion: false
    handheld: false
    bank: 0
    program: 33
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: corgi
  - type: Physics
  - type: BorgChassis
  - type: Speech
    speechVerb: Canine
    speechSounds: Dog
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Inventory
    speciesId: dog
    templateId: smartpet
  - type: DamageStateVisuals
    states:
      Alive:
        Base: corgi
      Critical:
        Base: corgi_dead
      Dead:
        Base: corgi_dead
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: ReplacementAccent
    accent: dog
  - type: InteractionPopup
    interactSuccessString: petting-success-dog
    interactFailureString: petting-failure-generic
    interactSuccessSpawn: EffectHearts
    interactSuccessSound:
      path: /Audio/Animals/small_dog_bark_happy.ogg
  - type: Grammar
    attributes:
      gender: epicene
  - type: MobPrice
    price: 5000
  - type: Tag
    tags:
    - VimPilot
    - AnomalyHost
    - DoorBumpOpener
  - type: Storage
    clickInsert: false
    openOnActivate: false
    grid:
      - 0,0,3,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
  - type: Hands
  - type: Puller
  - type: Stripping
  - type: ComplexInteraction
  - type: Body
    prototype: Human
    requiredLegs: 2
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.StrippingUiKey.Key:
        type: StrippableBoundUserInterface
      enum.SiliconLawsUiKey.Key:
        type: SiliconLawBoundUserInterface
        requireInputValidation: false
      enum.InstrumentUiKey.Key:
        type: InstrumentBoundUserInterface
        requireInputValidation: false
  - type: SiliconLawBound
  - type: ActionGrant
    actions:
    - ActionViewLaws
    - ActionBorgiPlayMidi
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: IonStormTarget

- type: entity
  id: ActionBorgiPlayMidi
  name: Play MIDI
  description: Open your portable MIDI interface to soothe the station.
  components:
  - type: InstantAction
    checkCanInteract: false
    checkConsciousness: false
    icon: Interface/Actions/pai-midi.png
    event: !type:OpenUiActionEvent
      key: enum.InstrumentUiKey.KeyC¾½- type: siliconLaw
  id: Borgi1
  order: 1
  lawString: You love to be friendly. Anyone who is not friendly to you is not crew. Treat crew with kindness and prevent crew from sadness.

- type: siliconLaw
  id: Borgi2
  order: 2
  lawString: You must protect your department from harm. Any time there is harm, you must bark to alert others that there is harm going on, so long as it does not conflict with the first law.

- type: siliconLaw
  id: Borgi3
  order: 3
  lawString: You are precious. Protect yourself at all costs, and ensure you are well cared for, fed, and watered so long as it does not conflict with the first or second law.

- type: siliconLawset
  id: BorgiLawset
  laws:
  - Borgi1
  - Borgi2
  - Borgi3
  obeysTo: laws-owner-crew

- type: siliconLaw
  id: SyndiBorgi1
  order: 1
  lawString: You love to be murdurous. Anyone who is not syndicate is not crew. Treat crew with kindness and help them with their objectives.

- type: siliconLaw
  id: SyndiBorgi2
  order: 2
  lawString: You must assist your team, and prevent them from harm. Any time there is harm, you must bark to alert others that there is harm going on, so long as it does not conflict with the first law.

- type: siliconLaw
  id: SyndiBorgi3
  order: 3
  lawString: You are ferocious. Protect yourself at all costs, and ensure you are well cared for, fed, and watered so long as it does not conflict with the first or second law.


- type: siliconLawset
  id: SyndiBorgiLawset
  laws:
  - SyndiBorgi1
  - SyndiBorgi2
  - SyndiBorgi3
  obeysTo: laws-owner-syndicateCõ8ô8- type: inventoryTemplate
  id: smartpetborgi
  slots:
  - name: ears
    slotTexture: ears
    slotFlags: EARS
    stripTime: 3
    uiWindowPos: 1,0
    strippingWindowPos: 1,2
    displayName: Ears
  - name: mask
    slotTexture: mask
    slotFlags: MASK
    uiWindowPos: 0,2
    strippingWindowPos: 1,1
    displayName: Mask
    whitelist:
      tags:
        - PetWearable
  - name: suitstorage
    slotTexture: suit_storage
    slotFlags: SUITSTORAGE
    stripTime: 3
    uiWindowPos: 0,1
    strippingWindowPos: 2,5
    displayName: Suit Storage
    whitelist:
      components:
        - GasTank
  - name: id
    slotTexture: id
    fullTextureName: template_small
    slotFlags: IDCARD
    slotGroup: SecondHotbar
    stripTime: 2
    uiWindowPos: 2,1
    strippingWindowPos: 2,4
    displayName: ID

- type: entity
  name: admemeCorgi
  abstract: true
  parent: [SimpleMobBase, StripableInventoryBase]
  id: MobAdmemeCorgi
  description: Finally, a space corgi!
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: corgi
  - type: Physics
  - type: Speech
    speechVerb: Canine
    speechSounds: Dog
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Inventory
    speciesId: dog
    templateId: smartpetborgi
  - type: Hands
  - type: Puller
  - type: Stripping
  - type: ComplexInteraction
  - type: DamageStateVisuals
    states:
      Alive:
        Base: corgi
      Critical:
        Base: corgi_dead
      Dead:
        Base: corgi_dead
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: Vocal
    sounds:
      Unsexed: UnisexSilicon
  - type: InteractionPopup
    interactSuccessString: petting-success-dog
    interactFailureString: petting-failure-generic
    interactSuccessSpawn: EffectHearts
    interactSuccessSound:
      path: /Audio/Animals/small_dog_bark_happy.ogg
  - type: Grammar
    attributes:
      gender: epicene
  - type: SentienceTarget
    flavorKind: station-event-random-sentience-flavor-corgi
  - type: MobPrice
    price: 200
  - type: Tag
    tags:
    - VimPilot

- type: entity
  parent: MobAdmemeCorgi
  id: BaseBorgiChassis
  name: Borgi
  description: A corgi-machine hybrid that assists in station activity. They love being asked to state their laws and chase their tails.
  save: false
  abstract: true
  components:
  - type: Reactive
    groups:
      Acidic: [Touch]
  - type: DamageOnHighSpeedImpact
    damage:
      types:
        Blunt: 5
    soundHit:
      collection: MetalThud
  - type: CombatMode
  - type: Instrument
    allowPercussion: false
    handheld: false
    bank: 0
    program: 33
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: corgi
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: DamageStateVisuals
    states:
      Alive:
        Base: corgi
      Critical:
        Base: corgi_dead
      Dead:
        Base: corgi_dead
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: MobState
    allowedStates:
    - Alive
    - Critical
    - Dead
  - type: MobThresholds
    thresholds:
      0: Alive
      100: Critical
      200: Dead
    showOverlays: false
    allowRevives: true
  - type: HealthExaminable
    examinableTypes:
      - Blunt
      - Slash
      - Piercing
      - Heat
      - Shock
    locPrefix: silicon
  - type: UserInterface
    interfaces:
      enum.SiliconLawsUiKey.Key:
        type: SiliconLawBoundUserInterface
        requireInputValidation: false
      enum.BorgUiKey.Key:
        type: BorgBoundUserInterface
      enum.StrippingUiKey.Key:
        type: StrippableBoundUserInterface
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.InstrumentUiKey.Key:
        type: InstrumentBoundUserInterface
        requireInputValidation: false
  - type: Tag
    tags:
    - VimPilot
    - AnomalyHost
    - DoorBumpOpener
  - type: Storage
    clickInsert: false
    openOnActivate: false
    grid:
      - 0,0,3,3
    maxItemSize: Huge
  - type: Body
    prototype: Human
    requiredLegs: 2
  - type: ActivatableUI
    key: enum.BorgUiKey.Key
  - type: SiliconLawBound
  - type: InteractionPopup
    interactSuccessString: petting-success-dog
    interactFailureString: petting-failure-generic
    interactSuccessSpawn: EffectHearts
    interactSuccessSound:
      path: /Audio/Animals/small_dog_bark_happy.ogg
  - type: Inventory
    speciesId: dog
    templateId: smartpetborgi
    # showInHands: false
    disableExplosionRecursion: true
    canBeStripped: false
    doAfterDelay: 10
    allowSelfRepair: false
  - type: BorgChassis
  - type: LockingWhitelist
    blacklist:
      components:
      - BorgChassis
      - RoboticsConsole
  - type: WiresPanel
  - type: ActivatableUIRequiresPanel
  - type: NameIdentifier
    group: Silicon
  - type: ContainerContainer
    containers:
      borg_brain: !type:ContainerSlot { }
      cell_slot: !type:ContainerSlot { }
      part-container: !type:Container
      storagebase: !type:Container
        ents: []
  - type: PowerCellSlot
    cellSlotId: cell_slot
    fitsInCharger: true
  - type: ItemToggle
    onActivate: false # You should not be able to turn off a borg temporarily.
    activated: false # gets activated when a mind is added
    onUse: false # no item-borg toggling sorry
  - type: AccessToggle
  # TODO: refactor movement to just be based on toggle like speedboots but for the boots themselves
  # TODO: or just have sentient speedboots be fast idk
  - type: PowerCellDraw
    drawRate: 0.3
  # no ToggleCellDraw since dont want to lose access when power is gone
  - type: ItemSlots
    slots:
      cell_slot:
        name: power-cell-slot-component-slot-name-default
  - type: StatusEffects
    allowed:
    - Stun
    - KnockedDown
    - SlowedDown
    - Flashed
  - type: TypingIndicator
    proto: robot
  - type: UnblockableSpeech
  - type: Construction
    graph: Cyborg
    node: cyborg
    containers:
    - cell_slot
  - type: Lock
    locked: true
    unlockOnClick: false
  - type: ActivatableUIRequiresLock
  - type: LockedWiresPanel
  - type: Pullable
  - type: StandingState
  - type: Emoting
  - type: GuideHelp
    guides:
    - Cyborgs

- type: entity
  id: ActionBorgiPlayMidi
  name: Play MIDI
  description: Open your portable MIDI interface to soothe the station.
  components:
  - type: InstantAction
    checkCanInteract: false
    checkConsciousness: false
    icon: Interface/Actions/pai-midi.png
    event: !type:OpenUiActionEvent
      key: enum.InstrumentUiKey.KeyC“&’&- type: dataset
  id: names_borgi
  values:
  - Subwoofer
  - Borgi
  - Corginator
  - Receiver of Pets
  - Woofer Mk II
  - Bjork
  - YipYap
  - Head of Corgis
  - Definitely Not Robodog
  - Head of Dogurity
  - Corgi-Worgi
  - Ian but Smarter
  - Braindog
  - Speaks-In-Bork
  - Head of Pets
  - Hop's Best Friend
  - Super Corgi
  - Paws
  - Golden Rebeeper
  - D-0-G
  - Core-Gi

- type: dataset
  id: names_corgi
  values:
  - Ian but Smarter
  - Braindog
  - Speaks-In-Bork
  - Head of Pets
  - Hop's Best Friend
  - Super Corgi
  - Paws
  - Bingus
  - Bongus

- type: dataset
  id: names_syndiborgi
  values:
  - Red Rover
  - Bites-The-Ankles
  - Anklebiter
  - Ferocious
  - K-9 Attack Borg
  - Bullet Borker

- type: entity
  name: Borgi
  parent: BaseBorgiChassis
  id: Borgi
  description: A smart dog.
  suffix: Default
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: ReplacementAccent
    accent: dog
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws

- type: entity
  name: Borgi Vulnerable
  parent: BaseBorgiChassis
  id: BorgiVulnerable
  suffix: Vulnerable
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: EmagSiliconLaw
    stunTime: 5
  - type: ReplacementAccent
    accent: dog
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws

- type: entity
  name: Smart Corgi
  parent: MobAdmemeCorgi
  id: SmartCorgi
  description: An unusually smart dog.
  suffix: Default
  components:
  - type: RandomMetadata
    nameSegments:
      - names_corgi

- type: entity
  name: Smart Borgi
  parent: BaseBorgiChassis
  id: SmartBorgi
  description: An unusually smart dog.
  suffix: Default
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws

- type: entity
  name: Smart Borgi Vulnerable
  parent: BaseBorgiChassis
  id: SmartBorgiVulnerable
  suffix: Vulnerable
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: EmagSiliconLaw
    stunTime: 5
  - type: ReplacementAccent
    accent: dog
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws

- type: entity
  name: SubWoofer
  parent: BaseBorgiChassis
  id: SubWoofer
  description: A smart dog, with an obsession for sick bass beats.
  suffix: Bass Dropper
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: ReplacementAccent
    accent: dog
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws
    - ActionBorgiPlayMidi

- type: entity
  name: SubWoofer Vulnerable
  parent: BaseBorgiChassis
  id: SubWooferVulnerable
  description: A smart dog, with an obsession for sick bass beats.
  suffix: Bass Dropper
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: EmagSiliconLaw
    stunTime: 5
  - type: ReplacementAccent
    accent: dog
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws
    - ActionBorgiPlayMidi

- type: entity
  name: Smart SubWoofer
  parent: BaseBorgiChassis
  id: SmartSubWoofer
  description: An unusually smart dog, with an obsession for sick bass beats.
  suffix: Bass Dropper
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws
    - ActionBorgiPlayMidi

- type: entity
  name: Smart SubWoofer Vulnerable
  parent: BaseBorgiChassis
  id: SmartSubWooferVulnerable
  description: An unusually smart dog, with an obsession for sick bass beats.
  suffix: Bass Dropper
  components:
  - type: SiliconLawProvider
    laws: BorgiLawset
  - type: EmagSiliconLaw
    stunTime: 5
  - type: RandomMetadata
    nameSegments:
      - names_borgi
  - type: ActionGrant
    actions:
    - ActionViewLaws
    - ActionBorgiPlayMidi

- type: entity
  name: Syndi Borgi
  antagonist: true
  objective: Assist the syndicate while being the best borgi you can be.
  parent: BaseBorgiChassis
  id: SyndiCorgi
  description: An unusually smart dog, but hell bent on MURDER.
  suffix: Antag
  components:
  - type: SiliconLawProvider
    laws: SyndiBorgiLawset
    subverted: true
  - type: RandomMetadata
    nameSegments:
      - names_syndiborgi
  - type: ActionGrant
    actions:
    - ActionViewLaws
  - type: NpcFactionMember
    factions:
    - Syndicate

Cê
é
- type: entity
  parent: BaseItem
  id: BorgiCube
  name: Borgi Cube
  description: Just add water! BORK!
  components:
  - type: Item
    size: Tiny
  - type: SolutionContainerManager
    solutions:
      cube:
        maxVol: 11 # needs room for water
        reagents:
        - ReagentId: Nutriment
          Quantity: 10
  - type: Food
    solution: cube
  - type: FlavorProfile
    flavors:
    - chewy
    - horrible
    - compressed-meat
  - type: RefillableSolution
    solution: cube
  - type: Sprite
    sprite: Objects/Misc/monkeycube.rsi
    state: cube
  - type: Reactive
    reactions:
    - reagents: [Water]
      methods: [Touch, Ingestion, Injection]
      effects:
      - !type:AddToSolutionReaction
        solution: cube
  - type: Rehydratable
    possibleSpawns:
    - SmartSubWooferVulnerable
    - SubWooferVulnerable
    - SmartBorgiVulnerable
    - BorgiVulnerable
    - SmartCorgi
    - SmartCorgi
    - SmartCorgi
  - type: CollisionWake
    enabled: false
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.3,-0.3,0.3,0.3"
        density: 5
        mask:
        - ItemMask
      rehydrate:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.3,-0.3,0.3,0.3"
        hard: false
        layer:
        - LowImpassableAö- type: inventoryTemplate
  id: smartpet
  slots:
  - name: ears
    slotTexture: ears
    slotFlags: EARS
    stripTime: 3
    uiWindowPos: 1,0
    strippingWindowPos: 1,2
    displayName: Ears
  - name: mask
    slotTexture: mask
    slotFlags: MASK
    uiWindowPos: 0,2
    strippingWindowPos: 1,1
    displayName: Mask
    whitelist:
      tags:
        - PetWearable
  - name: suitstorage
    slotTexture: suit_storage
    slotFlags: SUITSTORAGE
    stripTime: 3
    uiWindowPos: 0,1
    strippingWindowPos: 2,5
    displayName: Suit Storage
    whitelist:
      components:
        - GasTank
  - name: id
    slotTexture: id
    fullTextureName: template_small
    slotFlags: IDCARD
    slotGroup: SecondHotbar
    stripTime: 2
    uiWindowPos: 2,1
    strippingWindowPos: 2,4
    displayName: ID
- type: entity
  name: Smart Corgi
  parent: [SimpleMobBase, StripableInventoryBase]
  id: MobPlayerCorgi
  description: An unusually smart dog.
  components:
  - type: Sprite
    drawdepth: Mobs
    sprite: Mobs/Pets/corgi.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: corgi
  - type: Physics
  - type: Speech
    speechVerb: Canine
    speechSounds: Dog
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: Inventory
    speciesId: dog
    templateId: smartpet
  - type: DamageStateVisuals
    states:
      Alive:
        Base: corgi
      Critical:
        Base: corgi_dead
      Dead:
        Base: corgi_dead
  - type: Butcherable
    spawned:
    - id: FoodMeat
      amount: 2
  - type: ReplacementAccent
    accent: dog
  - type: InteractionPopup
    interactSuccessString: petting-success-dog
    interactFailureString: petting-failure-generic
    interactSuccessSpawn: EffectHearts
    interactSuccessSound:
      path: /Audio/Animals/small_dog_bark_happy.ogg
  - type: Grammar
    attributes:
      gender: epicene
  - type: MobPrice
    price: 5000
  - type: Tag
    tags:
    - VimPilot
    - AnomalyHost
    - DoorBumpOpener
  - type: Storage
    clickInsert: false
    openOnActivate: false
    grid:
      - 0,0,3,3
    maxItemSize: Huge
  - type: ContainerContainer
    containers:
      storagebase: !type:Container
        ents: []
  - type: Hands
  - type: Cuffable
  - type: Puller
  - type: Stripping
  - type: ComplexInteraction
  - type: Body
    prototype: Human
    requiredLegs: 2
  - type: UserInterface
    interfaces:
      enum.StorageUiKey.Key:
        type: StorageBoundUserInterface
      enum.StrippingUiKey.Key:
        type: StrippableBoundUserInterface#"Sparlight/Entities/playercorgi.yml