--- /dev/null
+- type: body
+ id: SmartCorgi
+ name: corgi
+ root: torso
+ slots:
+ torso:
+ part: TorsoAnimal
+ connections:
+ - righthand
+ - lefthand
+ - legs
+ organs:
+ brain: OrganHumanBrain # feels strange but it is what it is
+ lungs: OrganAnimalLungs
+ stomach: OrganAnimalStomach
+ liver: OrganAnimalLiver
+ heart: OrganAnimalHeart
+ kidneys: OrganAnimalKidneys
+ lefthand:
+ part: LeftHandSmartCorgi
+ righthand:
+ part: RightHandSmartCorgi
+ legs:
+ part: LegsAnimal
+ connections:
+ - feet
+ feet:
+ part: FeetAnimal
- VimPilot
- type: entity
- name: corgi
+ abstract: true
parent: [SimpleMobBase, StripableInventoryBase]
- id: MobCorgi
+ id: MobCorgiBase
+ name: corgi
description: Finally, a space corgi!
components:
- type: Sprite
- type: Inventory
speciesId: dog
templateId: pet
+ - 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: 200
+
+- type: entity
+ parent: MobCorgiBase
+ id: MobCorgi
+ components:
- type: DamageStateVisuals
states:
Alive:
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: SentienceTarget
flavorKind: station-event-random-sentience-flavor-corgi
- - type: MobPrice
- price: 200
- type: Tag
tags:
- VimPilot
Base: reindeer_doe_dead
Dead:
Base: reindeer_doe_dead
+
+- type: entity
+ parent: MobCorgiBase
+ id: MobCorgiSmart
+ name: smart corgi
+ description: An unusually smart dog.
+ components:
+ # Use corgi sprite, need to add handcuff layer
+ - type: Sprite
+ layers:
+ - map: ["enum.DamageStateVisualLayers.Base"]
+ state: corgi
+ - map: [ "enum.HumanoidVisualLayers.Handcuffs" ]
+ color: "#ffffff"
+ sprite: Objects/Misc/handcuffs.rsi # Would do a custom dog handcuff sprite but unfortunately handcuffs have their overlay baked-in to the cuff itself so this is mostly filler
+ state: body-overlay-2
+ visible: false
+ - type: UserInterface
+ interfaces:
+ enum.StrippingUiKey.Key:
+ type: StrippableBoundUserInterface
+ enum.StorageUiKey.Key:
+ type: StorageBoundUserInterface
+ # Custom inventory template
+ - type: Inventory
+ speciesId: dog
+ templateId: SmartCorgi
+ displacements:
+ belt:
+ sizeMaps:
+ 32:
+ sprite: Mobs/Pets/corgi.rsi
+ state: belt_displacement
+ ears:
+ sizeMaps:
+ 32:
+ sprite: Mobs/Pets/corgi.rsi
+ state: belt_displacement
+ - type: Hands # HANDS!
+ - type: Puller
+ - type: Cuffable # bad dog!
+ - type: BlockWriting # dogs can't write, paws unwieldy; mouth-writing is a myth
+ - type: Stripping
+ - type: ComplexInteraction
+ # Implement custom borgi body type
+ - type: Body
+ prototype: SmartCorgi
+ - type: RotationVisuals
+ defaultRotation: 90
+ horizontalRotation: 180
+ - type: Grammar
+ attributes:
+ gender: epicene # Gender neutral
+ proper: true
+ - type: Tag
+ tags:
+ - VimPilot
+ - CanPilot
+ - DoorBumpOpener
+ - type: StatusIcon # marks them as crew
+ bounds: -0.5,-0.5,0.5,0.5
--- /dev/null
+# Borgi Inventory Template
+- type: inventoryTemplate
+ id: SmartCorgi
+ slots:
+ - name: ears
+ slotTexture: ears
+ slotFlags: EARS
+ stripTime: 3
+ uiWindowPos: 2,2
+ strippingWindowPos: 2,0
+ displayName: Ears
+ - name: mask
+ slotTexture: mask
+ slotFlags: MASK
+ uiWindowPos: 0,2
+ strippingWindowPos: 1,2
+ 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
+ - name: belt
+ slotTexture: belt
+ fullTextureName: template_small
+ slotFlags: BELT
+ slotGroup: SecondHotbar
+ stripTime: 6
+ uiWindowPos: 3,1
+ strippingWindowPos: 1,5
+ displayName: Belt
+ - name: outerClothing
+ slotTexture: suit
+ slotFlags: OUTERCLOTHING
+ stripTime: 6
+ uiWindowPos: 1,1
+ strippingWindowPos: 1,3
+ displayName: Suit
+ whitelist:
+ tags:
+ - CorgiWearable
+ - name: eyes
+ slotTexture: glasses
+ slotFlags: EYES
+ uiWindowPos: 1,2
+ strippingWindowPos: 1,1
+ displayName: Eyes
+ whitelist:
+ tags:
+ - CorgiWearable
+ - name: head
+ slotTexture: head
+ slotFlags: HEAD
+ uiWindowPos: 1,3
+ strippingWindowPos: 1,0
+ displayName: Head
+ whitelist:
+ tags:
+ - CorgiWearable
"y": 32
},
"license": "CC-BY-SA-3.0",
- "copyright": "https://github.com/tgstation/tgstation/commit/53d1f1477d22a11a99c6c6924977cd431075761b , cerberus by Alekshhh, real mouse by TheShuEd",
+ "copyright": "https://github.com/tgstation/tgstation/commit/53d1f1477d22a11a99c6c6924977cd431075761b , cerberus by Alekshhh, real mouse by TheShuEd. belt_displacement by Sparlight.",
"states": [
{
"name": "corgi",
},
{
"name": "real_mouse_dead"
+ },
+ {
+ "name": "belt_displacement"
}
]
}