This commit is contained in:
LankLTE
2023-08-03 22:21:28 -07:00
committed by GitHub
parent 94e2c7a4b0
commit 70545f4873
71 changed files with 982 additions and 659 deletions

View File

@@ -36,14 +36,11 @@ namespace Content.Server.Nutrition.Components
public bool UtensilRequired = false; public bool UtensilRequired = false;
/// <summary> /// <summary>
/// If this is set to true, eating this food will require you to have a stomach with a /// If this is set to true, food can only be eaten if you have a stomach with a
/// <see cref="StomachComponent.SpecialDigestible"/> that includes this entity in its whitelist, /// <see cref="StomachComponent.SpecialDigestible"/> that includes this entity in its whitelist,
/// rather than just being digestible by anything that can eat food. /// rather than just being digestible by anything that can eat food.
/// Whitelist the food component to allow eating of normal food.
/// </summary> /// </summary>
/// <remarks>
/// TODO think about making this a little more complex, right now you cant disallow mobs from eating stuff
/// that everyone else can eat
/// </remarks>
[DataField("requiresSpecialDigestion")] [DataField("requiresSpecialDigestion")]
public bool RequiresSpecialDigestion = false; public bool RequiresSpecialDigestion = false;

View File

@@ -27,6 +27,7 @@ using Content.Shared.Stacks;
using Robust.Shared.Audio; using Robust.Shared.Audio;
using Robust.Shared.Player; using Robust.Shared.Player;
using Robust.Shared.Utility; using Robust.Shared.Utility;
using Content.Shared.Tag;
namespace Content.Server.Nutrition.EntitySystems namespace Content.Server.Nutrition.EntitySystems
{ {
@@ -50,6 +51,7 @@ namespace Content.Server.Nutrition.EntitySystems
[Dependency] private readonly ReactiveSystem _reaction = default!; [Dependency] private readonly ReactiveSystem _reaction = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly StackSystem _stack = default!; [Dependency] private readonly StackSystem _stack = default!;
[Dependency] private readonly TagSystem _tags = default!;
public const float MaxFeedDistance = 1.0f; public const float MaxFeedDistance = 1.0f;
@@ -107,6 +109,7 @@ namespace Content.Server.Nutrition.EntitySystems
var forceFeed = user != target; var forceFeed = user != target;
// Check for special digestibles
if (!IsDigestibleBy(food, foodComp, stomachs)) if (!IsDigestibleBy(food, foodComp, stomachs))
{ {
_popupSystem.PopupEntity( _popupSystem.PopupEntity(
@@ -367,28 +370,33 @@ namespace Content.Server.Nutrition.EntitySystems
} }
/// <summary> /// <summary>
/// Returns true if <paramref name="stomachs"/> has a <see cref="StomachComponent"/> that is capable of /// Returns true if <paramref name="stomachs"/> has a <see cref="StomachComponent.SpecialDigestible"/> that whitelists
/// digesting this <paramref name="food"/> (or if they even have enough stomachs in the first place). /// this <paramref name="food"/> (or if they even have enough stomachs in the first place).
/// </summary> /// </summary>
private bool IsDigestibleBy(EntityUid food, FoodComponent component, List<(StomachComponent, OrganComponent)> stomachs) private bool IsDigestibleBy(EntityUid food, FoodComponent component, List<(StomachComponent, OrganComponent)> stomachs)
{ {
var digestible = true; var digestible = true;
// Does the mob have enough stomachs?
if (stomachs.Count < component.RequiredStomachs) if (stomachs.Count < component.RequiredStomachs)
return false; return false;
if (!component.RequiresSpecialDigestion) // Run through the mobs' stomachs
return true;
foreach (var (comp, _) in stomachs) foreach (var (comp, _) in stomachs)
{ {
// Find a stomach with a SpecialDigestible
if (comp.SpecialDigestible == null) if (comp.SpecialDigestible == null)
continue; continue;
// Check if the food is in the whitelist
if (!comp.SpecialDigestible.IsValid(food, EntityManager)) if (comp.SpecialDigestible.IsValid(food, EntityManager))
return false; return true;
// They can only eat whitelist food and the food isn't in the whitelist. It's not edible.
return false;
} }
if (component.RequiresSpecialDigestion)
return false;
return digestible; return digestible;
} }

View File

@@ -0,0 +1,9 @@
- files: ["moth_scream.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from https://github.com/tgstation/tgstation/commit/31c19654e0f641166ecd80c672ea05362fd19488"
source: "https://github.com/tgstation/tgstation/commits/master/sound/voice/moth/scream_moth.ogg"
- files: ["moth_laugh.ogg, moth_chitter.ogg"]
license: "CC-BY-SA-3.0"
copyright: "Taken from https://github.com/BeeStation/BeeStation-Hornet/commit/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d"
source: "https://github.com/BeeStation/BeeStation-Hornet/blob/11ba3fa04105c93dd96a63ad4afaef4b20c02d0d/sound/emotes/"

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,5 @@
marking-MothAntennasDefault = Antennas (Default)
marking-MothWingsDefault = Wings (Default)
marking-MothWingsLook1 = Wings (Pointy)
marking-MothWingsLook2 = Wings (Swirly)
marking-MothWingsLook3 = Wings (Dotted)

View File

@@ -6,6 +6,7 @@ food-you-need-to-hold-utensil = You need to be holding a {$utensil} to eat that!
food-nom = Nom. {$flavors} food-nom = Nom. {$flavors}
food-swallow = You swallow the {$food}. {$flavors} food-swallow = You swallow the {$food}. {$flavors}
food-repulsing = This looks repulsing.
food-system-remove-mask = You need to take off the {$entity} first. food-system-remove-mask = You need to take off the {$entity} first.

View File

@@ -6,3 +6,4 @@ species-name-reptilian = Reptilian
species-name-slime = Slime Person species-name-slime = Slime Person
species-name-diona = Diona species-name-diona = Diona
species-name-arachnid = Arachnid species-name-arachnid = Arachnid
species-name-moth = Moth Person

View File

@@ -45,7 +45,6 @@
layers: layers:
- state: lung-l - state: lung-l
- state: lung-r - state: lung-r
- type: Organ
- type: Lung - type: Lung
- type: Metabolizer - type: Metabolizer
updateFrequency: 1.5 updateFrequency: 1.5
@@ -74,7 +73,6 @@
components: components:
- type: Sprite - type: Sprite
state: heart-on state: heart-on
- type: Organ
- type: Metabolizer - type: Metabolizer
updateFrequency: 1.5 updateFrequency: 1.5
maxReagents: 2 maxReagents: 2
@@ -93,7 +91,6 @@
components: components:
- type: Sprite - type: Sprite
state: liver state: liver
- type: Organ
- type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol. - type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol.
updateFrequency: 1.5 updateFrequency: 1.5
maxReagents: 1 maxReagents: 1
@@ -113,7 +110,6 @@
layers: layers:
- state: kidney-l - state: kidney-l
- state: kidney-r - state: kidney-r
- type: Organ
# The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap. # The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap.
- type: Metabolizer - type: Metabolizer
updateFrequency: 1.5 updateFrequency: 1.5
@@ -131,7 +127,6 @@
layers: layers:
- state: eyeball-l - state: eyeball-l
- state: eyeball-r - state: eyeball-r
- type: Organ
- type: entity - type: entity
id: OrganArachnidTongue id: OrganArachnidTongue
@@ -141,4 +136,3 @@
components: components:
- type: Sprite - type: Sprite
state: tongue state: tongue
- type: Organ

View File

@@ -19,16 +19,12 @@
- type: entity - type: entity
id: OrganDionaBrain id: OrganDionaBrain
parent: BaseDionaOrgan parent: [BaseDionaOrgan, OrganHumanBrain]
name: brain name: brain
description: "The source of incredible, unending intelligence. Honk." description: "The source of incredible, unending intelligence. Honk."
components: components:
- type: Sprite - type: Sprite
state: brain state: brain
- type: Organ
- type: Input
context: "ghost"
- type: InputMover
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
organ: organ:
@@ -60,7 +56,6 @@
layers: layers:
- state: eyeball-l - state: eyeball-l
- state: eyeball-r - state: eyeball-r
- type: Organ
- type: entity - type: entity
id: OrganDionaStomach id: OrganDionaStomach
@@ -70,7 +65,6 @@
components: components:
- type: Sprite - type: Sprite
state: stomach state: stomach
- type: Organ
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
stomach: stomach:

View File

@@ -40,7 +40,6 @@
layers: layers:
- state: eyeball-l - state: eyeball-l
- state: eyeball-r - state: eyeball-r
- type: Organ
- type: entity - type: entity
id: OrganHumanTongue id: OrganHumanTongue
@@ -50,7 +49,6 @@
components: components:
- type: Sprite - type: Sprite
state: tongue state: tongue
- type: Organ
- type: entity - type: entity
id: OrganHumanAppendix id: OrganHumanAppendix
@@ -62,7 +60,6 @@
- state: appendix - state: appendix
- state: appendix-inflamed - state: appendix-inflamed
visible: false visible: false
- type: Organ
- type: entity - type: entity
id: OrganHumanEars id: OrganHumanEars
@@ -72,7 +69,6 @@
components: components:
- type: Sprite - type: Sprite
state: ears state: ears
- type: Organ
- type: entity - type: entity
id: OrganHumanLungs id: OrganHumanLungs
@@ -84,7 +80,6 @@
layers: layers:
- state: lung-l - state: lung-l
- state: lung-r - state: lung-r
- type: Organ
- type: Lung - type: Lung
- type: Metabolizer - type: Metabolizer
removeEmpty: true removeEmpty: true
@@ -112,7 +107,6 @@
components: components:
- type: Sprite - type: Sprite
state: heart-on state: heart-on
- type: Organ
# The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs. # The heart 'metabolizes' medicines and poisons that aren't filtered out by other organs.
# This is done because these chemicals need to have some effect even if they aren't being filtered out of your body. # This is done because these chemicals need to have some effect even if they aren't being filtered out of your body.
# You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands. # You're technically 'immune to poison' without a heart, but.. uhh, you'll have bigger problems on your hands.
@@ -132,7 +126,6 @@
components: components:
- type: Sprite - type: Sprite
state: stomach state: stomach
- type: Organ
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
stomach: stomach:
@@ -157,7 +150,6 @@
components: components:
- type: Sprite - type: Sprite
state: liver state: liver
- type: Organ
- type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol. - type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol.
maxReagents: 1 maxReagents: 1
metabolizerTypes: [Human] metabolizerTypes: [Human]
@@ -175,7 +167,6 @@
layers: layers:
- state: kidney-l - state: kidney-l
- state: kidney-r - state: kidney-r
- type: Organ
# The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap. # The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap.
- type: Metabolizer - type: Metabolizer
maxReagents: 5 maxReagents: 5

View File

@@ -0,0 +1,20 @@
- type: entity
id: OrganMothStomach
parent: [OrganAnimalStomach, OrganHumanStomach]
noSpawn: true
components:
- type: Stomach
specialDigestible:
tags:
- ClothMade
- type: SolutionContainerManager
solutions:
stomach:
maxVol: 50
- type: Metabolizer
maxReagents: 6
metabolizerTypes: [ Plant ]
removeEmpty: true
groups:
- id: Food
- id: Drink

View File

@@ -1,14 +1,9 @@
- type: entity - type: entity
id: SentientSlimeCore id: SentientSlimeCore
parent: BaseItem parent: [BaseItem, OrganHumanBrain]
name: sentient slime core name: sentient slime core
description: "The source of incredible, unending gooeyness." description: "The source of incredible, unending gooeyness."
components: components:
- type: Sprite
sprite: Mobs/Species/Human/organs.rsi
state: brain
- type: Organ
- type: Brain
- type: Stomach - type: Stomach
- type: Metabolizer - type: Metabolizer
maxReagents: 6 maxReagents: 6
@@ -38,7 +33,6 @@
layers: layers:
- state: lung-l - state: lung-l
- state: lung-r - state: lung-r
- type: Organ
- type: Lung - type: Lung
- type: Metabolizer - type: Metabolizer
removeEmpty: true removeEmpty: true

View File

@@ -2,17 +2,10 @@
# TODO BODY: Part damage # TODO BODY: Part damage
- type: entity - type: entity
id: PartArachnid id: PartArachnid
parent: BaseItem parent: [BaseItem, BasePart]
name: "arachnid body part" name: "arachnid body part"
abstract: true abstract: true
components: components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -24,16 +17,11 @@
- type: entity - type: entity
id: TorsoArachnid id: TorsoArachnid
name: "arachnid torso" name: "arachnid torso"
parent: PartArachnid parent: [PartArachnid, BaseTorso]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "torso_m" state: "torso_m"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -45,27 +33,11 @@
- type: entity - type: entity
id: HeadArachnid id: HeadArachnid
name: "arachnid head" name: "arachnid head"
parent: PartArachnid parent: [PartArachnid, BaseHead]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "head_m" state: "head_m"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: MovementSpeedModifier
baseWalkSpeed: 0
baseSprintSpeed: 0
- type: InputMover
- type: GhostOnMove
- type: Tag
tags:
- Head
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -77,77 +49,47 @@
- type: entity - type: entity
id: LeftArmArachnid id: LeftArmArachnid
name: "left arachnid arm" name: "left arachnid arm"
parent: PartArachnid parent: [PartArachnid, BaseLeftArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_arm" state: "l_arm"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity - type: entity
id: RightArmArachnid id: RightArmArachnid
name: "right arachnid arm" name: "right arachnid arm"
parent: PartArachnid parent: [PartArachnid, BaseRightArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_arm" state: "r_arm"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity - type: entity
id: LeftHandArachnid id: LeftHandArachnid
name: "left arachnid hand" name: "left arachnid hand"
parent: PartArachnid parent: [PartArachnid, BaseLeftHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_hand" state: "l_hand"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity - type: entity
id: RightHandArachnid id: RightHandArachnid
name: "right arachnid hand" name: "right arachnid hand"
parent: PartArachnid parent: [PartArachnid, BaseRightHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_hand" state: "r_hand"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity - type: entity
id: LeftLegArachnid id: LeftLegArachnid
name: "left arachnid leg" name: "left arachnid leg"
parent: PartArachnid parent: [PartArachnid, BaseLeftLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_leg" state: "l_leg"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart - type: MovementBodyPart
walkSpeed: 3.0 walkSpeed: 3.0
sprintSpeed: 5.0 sprintSpeed: 5.0
@@ -155,17 +97,11 @@
- type: entity - type: entity
id: RightLegArachnid id: RightLegArachnid
name: "right arachnid leg" name: "right arachnid leg"
parent: PartArachnid parent: [PartArachnid, BaseRightLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_leg" state: "r_leg"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart - type: MovementBodyPart
walkSpeed: 3.0 walkSpeed: 3.0
sprintSpeed: 5.0 sprintSpeed: 5.0
@@ -173,29 +109,17 @@
- type: entity - type: entity
id: LeftFootArachnid id: LeftFootArachnid
name: "left arachnid foot" name: "left arachnid foot"
parent: PartArachnid parent: [PartArachnid, BaseLeftFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_foot" state: "l_foot"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left
- type: entity - type: entity
id: RightFootArachnid id: RightFootArachnid
name: "right arachnid foot" name: "right arachnid foot"
parent: PartArachnid parent: [PartArachnid, BaseRightFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Arachnid/parts.rsi sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_foot" state: "r_foot"
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right

View File

@@ -0,0 +1,116 @@
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: BasePart
parent: BaseItem
name: "body part"
abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: StaticPrice
price: 100
- type: Tag
tags:
- Trash
- type: entity
id: BaseTorso
name: "torso"
parent: BasePart
components:
- type: BodyPart
partType: Torso
- type: entity
id: BaseHead
name: "head"
parent: BasePart
components:
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: Tag
tags:
- Head
- type: entity
id: BaseLeftArm
name: "left arm"
parent: BasePart
components:
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity
id: BaseRightArm
name: "right arm"
parent: BasePart
components:
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity
id: BaseLeftHand
name: "left hand"
parent: BasePart
components:
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity
id: BaseRightHand
name: "right hand"
parent: BasePart
components:
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity
id: BaseLeftLeg
name: "left leg"
parent: BasePart
components:
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart
- type: entity
id: BaseRightLeg
name: "right leg"
parent: BasePart
components:
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart
- type: entity
id: BaseLeftFoot
name: "left foot"
parent: BasePart
components:
- type: BodyPart
partType: Foot
symmetry: Left
- type: entity
id: BaseRightFoot
name: "right foot"
parent: BasePart
components:
- type: BodyPart
partType: Foot
symmetry: Right

View File

@@ -1,120 +1,67 @@
- type: entity - type: entity
id: PartDiona id: PartDiona
parent: BaseItem parent: [BaseItem, BasePart]
name: "diona body part" name: "diona body part"
abstract: true abstract: true
components: components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: Sprite - type: Sprite
sprite: Mobs/Species/Diona/parts.rsi sprite: Mobs/Species/Diona/parts.rsi
- type: Icon
sprite: Mobs/Species/Diona/parts.rsi
- type: StaticPrice
price: 100
- type: Tag
tags:
- Trash
- type: entity - type: entity
id: TorsoDiona id: TorsoDiona
name: "diona torso" name: "diona torso"
parent: PartDiona parent: [PartDiona, BaseTorso]
components: components:
- type: Sprite - type: Sprite
state: "torso_m" state: "torso_m"
- type: Icon
state: "torso_m"
- type: BodyPart
partType: Torso
- type: entity - type: entity
id: HeadDiona id: HeadDiona
name: "diona head" name: "diona head"
parent: PartDiona parent: [PartDiona, BaseHead]
components: components:
- type: Sprite - type: Sprite
state: "head_m" state: "head_m"
- type: Icon
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: Tag
tags:
- Head
- type: entity - type: entity
id: LeftArmDiona id: LeftArmDiona
name: "left diona arm" name: "left diona arm"
parent: PartDiona parent: [PartDiona, BaseLeftArm]
components: components:
- type: Sprite - type: Sprite
state: "l_arm" state: "l_arm"
- type: Icon
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity - type: entity
id: RightArmDiona id: RightArmDiona
name: "right diona arm" name: "right diona arm"
parent: PartDiona parent: [PartDiona, BaseRightArm]
components: components:
- type: Sprite - type: Sprite
state: "r_arm" state: "r_arm"
- type: Icon
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity - type: entity
id: LeftHandDiona id: LeftHandDiona
name: "left diona hand" name: "left diona hand"
parent: PartDiona parent: [PartDiona, BaseLeftHand]
components: components:
- type: Sprite - type: Sprite
state: "l_hand" state: "l_hand"
- type: Icon
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity - type: entity
id: RightHandDiona id: RightHandDiona
name: "right diona hand" name: "right diona hand"
parent: PartDiona parent: [PartDiona, BaseRightHand]
components: components:
- type: Sprite - type: Sprite
state: "r_hand" state: "r_hand"
- type: Icon
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity - type: entity
id: LeftLegDiona id: LeftLegDiona
name: "left diona leg" name: "left diona leg"
parent: PartDiona parent: [PartDiona, BaseLeftLeg]
components: components:
- type: Sprite - type: Sprite
state: "l_leg" state: "l_leg"
- type: Icon
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart - type: MovementBodyPart
walkSpeed : 1.5 walkSpeed : 1.5
sprintSpeed : 3.5 sprintSpeed : 3.5
@@ -122,12 +69,10 @@
- type: entity - type: entity
id: RightLegDiona id: RightLegDiona
name: "right diona leg" name: "right diona leg"
parent: PartDiona parent: [PartDiona, BaseRightLeg]
components: components:
- type: Sprite - type: Sprite
state: "r_leg" state: "r_leg"
- type: Icon
state: "r_leg"
- type: BodyPart - type: BodyPart
partType: Leg partType: Leg
symmetry: Right symmetry: Right
@@ -138,12 +83,10 @@
- type: entity - type: entity
id: LeftFootDiona id: LeftFootDiona
name: "left diona foot" name: "left diona foot"
parent: PartDiona parent: [PartDiona, BaseLeftFoot]
components: components:
- type: Sprite - type: Sprite
state: "l_foot" state: "l_foot"
- type: Icon
state: "l_foot"
- type: BodyPart - type: BodyPart
partType: Foot partType: Foot
symmetry: Left symmetry: Left
@@ -151,12 +94,10 @@
- type: entity - type: entity
id: RightFootDiona id: RightFootDiona
name: "right diona foot" name: "right diona foot"
parent: PartDiona parent: [PartDiona, BaseRightFoot]
components: components:
- type: Sprite - type: Sprite
state: "r_foot" state: "r_foot"
- type: Icon
state: "r_foot"
- type: BodyPart - type: BodyPart
partType: Foot partType: Foot
symmetry: Right symmetry: Right

View File

@@ -2,22 +2,10 @@
# TODO BODY: Part damage # TODO BODY: Part damage
- type: entity - type: entity
id: PartHuman id: PartHuman
parent: BaseItem parent: [BaseItem, BasePart]
name: "human body part" name: "human body part"
abstract: true abstract: true
components: components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: StaticPrice
price: 100
- type: Tag
tags:
- Trash
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -29,16 +17,11 @@
- type: entity - type: entity
id: TorsoHuman id: TorsoHuman
name: "human torso" name: "human torso"
parent: PartHuman parent: [PartHuman, BaseTorso]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "torso_m" state: "torso_m"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -50,22 +33,11 @@
- type: entity - type: entity
id: HeadHuman id: HeadHuman
name: "human head" name: "human head"
parent: PartHuman parent: [PartHuman, BaseHead]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "head_m" state: "head_m"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: Tag
tags:
- Head
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -77,121 +49,71 @@
- type: entity - type: entity
id: LeftArmHuman id: LeftArmHuman
name: "left human arm" name: "left human arm"
parent: PartHuman parent: [PartHuman, BaseLeftArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "l_arm" state: "l_arm"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity - type: entity
id: RightArmHuman id: RightArmHuman
name: "right human arm" name: "right human arm"
parent: PartHuman parent: [PartHuman, BaseRightArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "r_arm" state: "r_arm"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity - type: entity
id: LeftHandHuman id: LeftHandHuman
name: "left human hand" name: "left human hand"
parent: PartHuman parent: [PartHuman, BaseLeftHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "l_hand" state: "l_hand"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity - type: entity
id: RightHandHuman id: RightHandHuman
name: "right human hand" name: "right human hand"
parent: PartHuman parent: [PartHuman, BaseRightHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "r_hand" state: "r_hand"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity - type: entity
id: LeftLegHuman id: LeftLegHuman
name: "left human leg" name: "left human leg"
parent: PartHuman parent: [PartHuman, BaseLeftLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "l_leg" state: "l_leg"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart
- type: entity - type: entity
id: RightLegHuman id: RightLegHuman
name: "right human leg" name: "right human leg"
parent: PartHuman parent: [PartHuman, BaseRightLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "r_leg" state: "r_leg"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart
- type: entity - type: entity
id: LeftFootHuman id: LeftFootHuman
name: "left human foot" name: "left human foot"
parent: PartHuman parent: [PartHuman, BaseLeftFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "l_foot" state: "l_foot"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left
- type: entity - type: entity
id: RightFootHuman id: RightFootHuman
name: "right human foot" name: "right human foot"
parent: PartHuman parent: [PartHuman, BaseRightFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Human/parts.rsi sprite: Mobs/Species/Human/parts.rsi
state: "r_foot" state: "r_foot"
- type: Icon
sprite: Mobs/Species/Human/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right

View File

@@ -0,0 +1,120 @@
# TODO: Add descriptions (many)
# TODO BODY: Part damage
- type: entity
id: PartMoth
parent: [BaseItem, BasePart]
name: "moth body part"
abstract: true
components:
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 3
- ReagentId: Blood
Quantity: 10
- type: entity
id: TorsoMoth
name: "moth torso"
parent: [PartMoth, BaseTorso]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "torso_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 10
- ReagentId: Blood
Quantity: 20
- type: entity
id: HeadMoth
name: "moth head"
parent: [PartMoth, BaseHead]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "head_m"
- type: Extractable
juiceSolution:
reagents:
- ReagentId: Fat
Quantity: 5
- ReagentId: Blood
Quantity: 10
- type: entity
id: LeftArmMoth
name: "left moth arm"
parent: [PartMoth, BaseLeftArm]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "l_arm"
- type: entity
id: RightArmMoth
name: "right moth arm"
parent: [PartMoth, BaseRightArm]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "r_arm"
- type: entity
id: LeftHandMoth
name: "left moth hand"
parent: [PartMoth, BaseLeftHand]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "l_hand"
- type: entity
id: RightHandMoth
name: "right moth hand"
parent: [PartMoth, BaseRightHand]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "r_hand"
- type: entity
id: LeftLegMoth
name: "left moth leg"
parent: [PartMoth, BaseLeftLeg]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "l_leg"
- type: entity
id: RightLegMoth
name: "right moth leg"
parent: [PartMoth, BaseRightLeg]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "r_leg"
- type: entity
id: LeftFootMoth
name: "left moth foot"
parent: [PartMoth, BaseLeftFoot]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "l_foot"
- type: entity
id: RightFootMoth
name: "right moth foot"
parent: [PartMoth, BaseRightFoot]
components:
- type: Sprite
sprite: Mobs/Species/Moth/parts.rsi
state: "r_foot"

View File

@@ -2,20 +2,10 @@
# TODO BODY: Part damage # TODO BODY: Part damage
- type: entity - type: entity
id: PartReptilian id: PartReptilian
parent: BaseItem parent: [BaseItem, BasePart]
name: "reptilian body part" name: "reptilian body part"
abstract: true abstract: true
components: components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: Tag
tags:
- Trash
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -27,16 +17,11 @@
- type: entity - type: entity
id: TorsoReptilian id: TorsoReptilian
name: "reptilian torso" name: "reptilian torso"
parent: PartReptilian parent: [PartReptilian, BaseTorso]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "torso_m" state: "torso_m"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -48,22 +33,11 @@
- type: entity - type: entity
id: HeadReptilian id: HeadReptilian
name: "reptilian head" name: "reptilian head"
parent: PartReptilian parent: [PartReptilian, BaseHead]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "head_m" state: "head_m"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: Tag
tags:
- Head
- type: Extractable - type: Extractable
juiceSolution: juiceSolution:
reagents: reagents:
@@ -75,77 +49,47 @@
- type: entity - type: entity
id: LeftArmReptilian id: LeftArmReptilian
name: "left reptilian arm" name: "left reptilian arm"
parent: PartReptilian parent: [PartReptilian, BaseLeftArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_arm" state: "l_arm"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity - type: entity
id: RightArmReptilian id: RightArmReptilian
name: "right reptilian arm" name: "right reptilian arm"
parent: PartReptilian parent: [PartReptilian, BaseRightArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_arm" state: "r_arm"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity - type: entity
id: LeftHandReptilian id: LeftHandReptilian
name: "left reptilian hand" name: "left reptilian hand"
parent: PartReptilian parent: [PartReptilian, BaseLeftHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_hand" state: "l_hand"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity - type: entity
id: RightHandReptilian id: RightHandReptilian
name: "right reptilian hand" name: "right reptilian hand"
parent: PartReptilian parent: [PartReptilian, BaseRightHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_hand" state: "r_hand"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity - type: entity
id: LeftLegReptilian id: LeftLegReptilian
name: "left reptilian leg" name: "left reptilian leg"
parent: PartReptilian parent: [PartReptilian, BaseLeftLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_leg" state: "l_leg"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart - type: MovementBodyPart
walkSpeed : 2.7 walkSpeed : 2.7
sprintSpeed : 4.5 sprintSpeed : 4.5
@@ -153,17 +97,11 @@
- type: entity - type: entity
id: RightLegReptilian id: RightLegReptilian
name: "right reptilian leg" name: "right reptilian leg"
parent: PartReptilian parent: [PartReptilian, BaseRightLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_leg" state: "r_leg"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart - type: MovementBodyPart
walkSpeed : 2.7 walkSpeed : 2.7
sprintSpeed : 4.5 sprintSpeed : 4.5
@@ -171,29 +109,17 @@
- type: entity - type: entity
id: LeftFootReptilian id: LeftFootReptilian
name: "left reptilian foot" name: "left reptilian foot"
parent: PartReptilian parent: [PartReptilian, BaseLeftFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_foot" state: "l_foot"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left
- type: entity - type: entity
id: RightFootReptilian id: RightFootReptilian
name: "right reptilian foot" name: "right reptilian foot"
parent: PartReptilian parent: [PartReptilian, BaseRightFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Reptilian/parts.rsi sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_foot" state: "r_foot"
- type: Icon
sprite: Mobs/Species/Reptilian/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right

View File

@@ -1,175 +1,96 @@
# TODO BODY: Part damage # TODO BODY: Part damage
- type: entity - type: entity
id: PartSlime id: PartSlime
parent: BaseItem parent: [BaseItem, PartBase]
name: "slime body part" name: "slime body part"
abstract: true abstract: true
components:
- type: Damageable
damageContainer: Biological
- type: BodyPart
- type: ContainerContainer
containers:
bodypart: !type:Container
ents: []
- type: StaticPrice
price: 100
- type: Tag
tags:
- Trash
- type: entity - type: entity
id: TorsoSlime id: TorsoSlime
name: "slime torso" name: "slime torso"
parent: PartSlime parent: [PartSlime, BaseTorso]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "torso_m" state: "torso_m"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "torso_m"
- type: BodyPart
partType: Torso
- type: entity - type: entity
id: HeadSlime id: HeadSlime
name: "slime head" name: "slime head"
parent: PartSlime parent: [PartSlime, BaseHead]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "head_m" state: "head_m"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "head_m"
- type: BodyPart
partType: Head
vital: true
- type: Input
context: "ghost"
- type: Tag
tags:
- Head
- type: entity - type: entity
id: LeftArmSlime id: LeftArmSlime
name: "left slime arm" name: "left slime arm"
parent: PartSlime parent: [PartSlime, BaseLeftArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "l_arm" state: "l_arm"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "l_arm"
- type: BodyPart
partType: Arm
symmetry: Left
- type: entity - type: entity
id: RightArmSlime id: RightArmSlime
name: "right slime arm" name: "right slime arm"
parent: PartSlime parent: [PartSlime, BaseRightArm]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "r_arm" state: "r_arm"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "r_arm"
- type: BodyPart
partType: Arm
symmetry: Right
- type: entity - type: entity
id: LeftHandSlime id: LeftHandSlime
name: "left slime hand" name: "left slime hand"
parent: PartSlime parent: [PartSlime, BaseLeftHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "l_hand" state: "l_hand"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "l_hand"
- type: BodyPart
partType: Hand
symmetry: Left
- type: entity - type: entity
id: RightHandSlime id: RightHandSlime
name: "right slime hand" name: "right slime hand"
parent: PartSlime parent: [PartSlime, BaseRightHand]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "r_hand" state: "r_hand"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "r_hand"
- type: BodyPart
partType: Hand
symmetry: Right
- type: entity - type: entity
id: LeftLegSlime id: LeftLegSlime
name: "left slime leg" name: "left slime leg"
parent: PartSlime parent: [PartSlime, BaseLeftLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "l_leg" state: "l_leg"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "l_leg"
- type: BodyPart
partType: Leg
symmetry: Left
- type: MovementBodyPart
- type: entity - type: entity
id: RightLegSlime id: RightLegSlime
name: "right slime leg" name: "right slime leg"
parent: PartSlime parent: [PartSlime, BaseRightLeg]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "r_leg" state: "r_leg"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "r_leg"
- type: BodyPart
partType: Leg
symmetry: Right
- type: MovementBodyPart
- type: entity - type: entity
id: LeftFootSlime id: LeftFootSlime
name: "left slime foot" name: "left slime foot"
parent: PartSlime parent: [PartSlime, BaseLeftFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "l_foot" state: "l_foot"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "l_foot"
- type: BodyPart
partType: Foot
symmetry: Left
- type: entity - type: entity
id: RightFootSlime id: RightFootSlime
name: "right slime foot" name: "right slime foot"
parent: PartSlime parent: [PartSlime, BaseRightFoot]
components: components:
- type: Sprite - type: Sprite
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi
state: "r_foot" state: "r_foot"
- type: Icon
sprite: Mobs/Species/Slime/parts.rsi
state: "r_foot"
- type: BodyPart
partType: Foot
symmetry: Right

View File

@@ -0,0 +1,49 @@
- type: body
id: Moth
name: "Moth"
root: torso
slots:
head:
part: HeadMoth
connections:
- torso
organs:
brain: OrganHumanBrain
eyes: OrganHumanEyes
torso:
part: TorsoMoth
organs:
heart: OrganAnimalHeart
lungs: OrganHumanLungs
stomach: OrganMothStomach
liver: OrganAnimalLiver
kidneys: OrganHumanKidneys
connections:
- left arm
- right arm
- left leg
- right leg
right arm:
part: RightArmMoth
connections:
- right hand
left arm:
part: LeftArmMoth
connections:
- left hand
right hand:
part: RightHandMoth
left hand:
part: LeftHandMoth
right leg:
part: RightLegMoth
connections:
- right foot
left leg:
part: LeftLegMoth
connections:
- left foot
right foot:
part: RightFootMoth
left foot:
part: LeftFootMoth

View File

@@ -32,3 +32,7 @@
- type: metabolizerType - type: metabolizerType
id: Dwarf id: Dwarf
name: dwarf name: dwarf
- type: metabolizerType
id: Moth
name: moth

View File

@@ -137,7 +137,17 @@
Piercing: 1.15 Piercing: 1.15
Slash: 0.85 Slash: 0.85
Heat: 1.25 Heat: 1.25
Poison: 0.8 Poison: 0.8
- type: damageModifierSet
id: Moth # Slightly worse at everything but cold
coefficients:
Blunt: 1
Piercing: 1.15
Slash: 1.15
Cold: 0.7
Heat: 1.3
Poison: 1.1
- type: damageModifierSet - type: damageModifierSet
id: Zombie #Blunt resistant and immune to biological threats, but can be hacked apart and burned id: Zombie #Blunt resistant and immune to biological threats, but can be hacked apart and burned

View File

@@ -7,3 +7,15 @@
state: icon state: icon
- type: Clothing - type: Clothing
slots: [gloves] slots: [gloves]
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Fiber
Quantity: 10
- type: Tag
tags:
- ClothMade

View File

@@ -7,6 +7,18 @@
state: icon state: icon
- type: Clothing - type: Clothing
slots: [mask] slots: [mask]
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Fiber
Quantity: 10
- type: Tag
tags:
- ClothMade
- type: entity - type: entity
abstract: true abstract: true

View File

@@ -16,3 +16,15 @@
spawned: spawned:
- id: MaterialCloth1 - id: MaterialCloth1
amount: 2 amount: 2
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Fiber
Quantity: 10
- type: Tag
tags:
- ClothMade

View File

@@ -17,6 +17,18 @@
coefficients: coefficients:
Slash: 0.95 Slash: 0.95
Heat: 0.90 Heat: 0.90
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
reagents:
- ReagentId: Fiber
Quantity: 30
- type: Tag
tags:
- ClothMade
- type: entity - type: entity
parent: ClothingOuterWinterCoat parent: ClothingOuterWinterCoat

View File

@@ -8,6 +8,18 @@
- FEET - FEET
- type: Sprite - type: Sprite
state: icon state: icon
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 10
reagents:
- ReagentId: Fiber
Quantity: 10
- type: Tag
tags:
- ClothMade
- type: entity - type: entity
abstract: true abstract: true

View File

@@ -14,6 +14,18 @@
spawned: spawned:
- id: MaterialCloth1 - id: MaterialCloth1
amount: 3 amount: 3
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 30
reagents:
- ReagentId: Fiber
Quantity: 30
- type: Tag
tags:
- ClothMade
- type: entity - type: entity
abstract: true abstract: true

View File

@@ -0,0 +1,49 @@
# Antennas
- type: marking
id: MothAntennasDefault
bodyPart: HeadTop
markingCategory: HeadTop
speciesRestriction: [Moth]
sprites:
- sprite: Mobs/Customization/moth_parts.rsi
state: antenna_default
# Wings
- type: marking
id: MothWingsDefault
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Moth]
sprites:
- sprite: Mobs/Customization/moth_parts.rsi
state: wings_default
- type: marking
id: MothWingsLook1
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Moth]
sprites:
- sprite: Mobs/Customization/moth_parts.rsi
state: wings_look1
- type: marking
id: MothWingsLook2
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Moth]
sprites:
- sprite: Mobs/Customization/moth_parts.rsi
state: wings_look2
- type: marking
id: MothWingsLook3
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Moth]
sprites:
- sprite: Mobs/Customization/moth_parts.rsi
state: wings_look3
# Other markings

View File

@@ -1,35 +1,13 @@
- type: entity - type: entity
save: false save: false
name: Urist McWeb name: Urist McWeb
parent: BaseMobArachnid parent: [BaseMobArachnid, BaseMob]
id: MobArachnid id: MobArachnid
components: components:
- type: CombatMode
canDisarm: true
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Respirator - type: Respirator
damage: damage:
types: types:
Asphyxiation: 2 # Make sure you have O2 on you at all times Asphyxiation: 2 # Make sure you have O2 on you at all times
damageRecovery: damageRecovery:
types: types:
Asphyxiation: -0.5 # Recovery will suck without chems Asphyxiation: -0.5 # Recovery will suck without chems
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -0,0 +1,34 @@
- type: entity
save: false
name: BaseMob
id: BaseMob
components:
- type: CombatMode
canDisarm: true
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -1,20 +1,9 @@
- type: entity - type: entity
save: false save: false
name: Urist McPlants name: Urist McPlants
parent: BaseMobDiona parent: [BaseMobDiona, BaseMob]
id: MobDiona id: MobDiona
components: components:
- type: CombatMode
canDisarm: true
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: Respirator - type: Respirator
damage: damage:
types: types:
@@ -22,13 +11,3 @@
damageRecovery: damageRecovery:
types: types:
Asphyxiation: -1.0 Asphyxiation: -1.0
- type: MobMover
- type: InputMover
- type: Alerts
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -1,27 +1,5 @@
- type: entity - type: entity
save: false save: false
name: Urist McHands The Dwarf name: Urist McHands The Dwarf
parent: BaseMobDwarf parent: [BaseMobDwarf, BaseMob]
id: MobDwarf id: MobDwarf
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -1,37 +1,8 @@
- type: entity - type: entity
save: false save: false
name: Urist McHands name: Urist McHands
parent: BaseMobHuman parent: [BaseMobHuman, BaseMob]
id: MobHuman id: MobHuman
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen
#Syndie #Syndie
- type: entity - type: entity

View File

@@ -0,0 +1,5 @@
- type: entity
save: false
name: Urist McFluff
parent: [BaseMobMoth, BaseMob]
id: MobMoth

View File

@@ -1,34 +1,7 @@
- type: entity - type: entity
save: false save: false
name: Urisst' Mzhand name: Urisst' Mzhand
parent: BaseMobReptilian parent: [BaseMobReptilian, BaseMob]
id: MobReptilian id: MobReptilian
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Alerts
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0
#Weh #Weh

View File

@@ -1,26 +1,4 @@
- type: entity - type: entity
save: false save: false
parent: BaseMobSlimePerson parent: [BaseMobSlimePerson, BaseMob]
id: MobSlimePerson id: MobSlimePerson
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Alerts
- type: Actions
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen

View File

@@ -1,33 +1,5 @@
- type: entity - type: entity
save: false save: false
name: Vox name: Vox
parent: BaseMobVox parent: [BaseMobVox, BaseMob]
id: MobVox id: MobVox
components:
- type: CombatMode
- type: InteractionPopup
successChance: 1
interactSuccessString: hugging-success-generic
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
messagePerceivedByOthers: hugging-success-generic-others
- type: MindContainer
showExamineInfo: true
- type: Input
context: "human"
- type: MobMover
- type: InputMover
- type: Alerts
- type: Eye
- type: CameraRecoil
- type: Examiner
- type: CanHostGuardian
- type: NpcFactionMember
factions:
- NanoTrasen
- type: Respirator
damage:
types:
Asphyxiation: 1.0
damageRecovery:
types:
Asphyxiation: -1.0

View File

@@ -18,15 +18,15 @@
- type: Damageable - type: Damageable
damageContainer: Biological damageContainer: Biological
damageModifierSet: Arachnid # spooder damageModifierSet: Arachnid # spooder
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: full
- type: Hunger - type: Hunger
starvationDamage: starvationDamage:
types: types:
Cold: 0.5 Cold: 0.5
Bloodloss: 0.5 Bloodloss: 0.5
- type: Thirst - type: Thirst
- type: Icon
sprite: Mobs/Species/Arachnid/parts.rsi
state: full
# Damage and speed # Damage and speed
- type: Bloodstream - type: Bloodstream
bloodReagent: SpiderBlood bloodReagent: SpiderBlood

View File

@@ -12,7 +12,7 @@
Bloodloss: 0.5 Bloodloss: 0.5
- type: Thirst - type: Thirst
- type: Icon - type: Icon
sprite: Mobs/Species/Slime/parts.rsi sprite: Mobs/Species/Slime/parts.rsi # It was like this beforehand, no idea why.
state: full state: full
- type: Respirator - type: Respirator
damage: damage:

View File

@@ -9,7 +9,10 @@
starvationDamage: starvationDamage:
types: types:
Cold: 0.5 Cold: 0.5
Bloodloss: 0.5 Bloodloss: 0.5
- type: Icon # It will not have an icon in the adminspawn menu without this. Body parts seem fine for whatever reason.
sprite: Mobs/Species/Human/parts.rsi
state: full
- type: Thirst - type: Thirst
- type: Perishable - type: Perishable
- type: Butcherable - type: Butcherable

View File

@@ -0,0 +1,66 @@
- type: entity
save: false
name: Urist McFluff
parent: BaseMobOrganic
id: BaseMobMoth
abstract: true
components:
- type: HumanoidAppearance
species: Moth
- type: Hunger
starvationDamage:
types:
Cold: 0.5
Bloodloss: 0.5
- type: Thirst
- type: Icon
sprite: Mobs/Species/Moth/parts.rsi
state: full
- type: Body
prototype: Moth
requiredLegs: 2
- type: Damageable
damageContainer: Biological
damageModifierSet: Moth
- type: Butcherable
butcheringType: Spike
spawned:
- id: FoodMeat
amount: 5
- type: Vocal
sounds:
Male: UnisexMoth
Female: UnisexMoth
Unsexed: UnisexMoth
- type: MovementSpeedModifier
baseWalkSpeed : 2.5
baseSprintSpeed : 4.5
weightlessAcceleration: 1.5 # Move around more easily in space.
weightlessFriction: 1
weightlessModifier: 1
- type: Flammable
damage:
types:
Heat: 1.5 # moths burn more easily
- type: Temperature # Moths hate the heat and thrive in the cold.
heatDamageThreshold: 335
coldDamageThreshold: 230
currentTemperature: 310.15
specificHeat: 46
coldDamage:
types:
Cold : 0.05 #per second, scales with temperature & other constants
heatDamage:
types:
Heat : 0.2 #per second, scales with temperature & other constants
- type: entity
save: false
name: Urist McFluff
parent: MobHumanDummy
id: MobMothDummy
noSpawn: true
description: A dummy moth meant to be used in character setup.
components:
- type: HumanoidAppearance
species: Moth

View File

@@ -12,8 +12,8 @@
- type: ItemStatus - type: ItemStatus
- type: Tag - type: Tag
tags: tags:
- RawMaterial
- DroneUsable - DroneUsable
- RawMaterial
- type: Damageable - type: Damageable
damageContainer: Inorganic damageContainer: Inorganic
- type: Destructible - type: Destructible
@@ -69,11 +69,6 @@
name: cloth name: cloth
suffix: Full suffix: Full
components: components:
- type: Tag
tags:
- RawMaterial
- DroneUsable
- Gauze
- type: Healing - type: Healing
damageContainers: damageContainers:
- Biological - Biological
@@ -110,6 +105,22 @@
- type: Appearance - type: Appearance
- type: Item - type: Item
size: 30 size: 30
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: Fiber
Quantity: 5
- type: Tag
tags:
- ClothMade
- DroneUsable
- Gauze
- RawMaterial
- type: entity - type: entity
parent: MaterialCloth parent: MaterialCloth
@@ -149,6 +160,20 @@
- type: Construction - type: Construction
graph: Durathread graph: Durathread
node: MaterialDurathread node: MaterialDurathread
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: Fiber
Quantity: 5
- type: Tag
tags:
- ClothMade
- DroneUsable
- RawMaterial
- type: entity - type: entity
parent: MaterialDurathread parent: MaterialDurathread
@@ -304,6 +329,20 @@
- type: Appearance - type: Appearance
- type: Item - type: Item
size: 30 size: 30
- type: Food
requiresSpecialDigestion: true
- type: SolutionContainerManager
solutions:
food:
maxVol: 5
reagents:
- ReagentId: Fiber
Quantity: 5
- type: Tag
tags:
- ClothMade
- DroneUsable
- RawMaterial
- type: entity - type: entity

View File

@@ -34,6 +34,14 @@
physicalDesc: reagent-physical-desc-fibrous physicalDesc: reagent-physical-desc-fibrous
flavor: fiber flavor: fiber
color: "#808080" color: "#808080"
metabolisms:
Food:
effects:
- !type:SatiateHunger
conditions:
- !type:OrganType
type: Moth
- type: reagent - type: reagent
id: BuzzochloricBees id: BuzzochloricBees

View File

@@ -0,0 +1,144 @@
- type: species
id: Moth
name: species-name-moth
roundStart: true
prototype: MobMoth
sprites: MobMothSprites
defaultSkinTone: "#ffda93"
markingLimits: MobMothMarkingLimits
dollPrototype: MobMothDummy
skinColoration: Hues
- type: speciesBaseSprites
id: MobMothSprites
sprites:
Head: MobMothHead
Snout: MobHumanoidAnyMarking
Chest: MobMothTorso
HeadTop: MobHumanoidAnyMarking
HeadSide: MobHumanoidAnyMarking
Tail: MobHumanoidAnyMarking
Eyes: MobMothEyes
LArm: MobMothLArm
RArm: MobMothRArm
LHand: MobMothLHand
RHand: MobMothRHand
LLeg: MobMothLLeg
RLeg: MobMothRLeg
LFoot: MobMothLFoot
RFoot: MobMothRFoot
- type: humanoidBaseSprite
id: MobMothEyes
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: eyes
- type: markingPoints
id: MobMothMarkingLimits
onlyWhitelisted: true
points:
Hair:
points: 0
required: false
FacialHair:
points: 0
required: false
Tail:
points: 1
required: true
defaultMarkings: [ MothWingsDefault ]
Snout:
points: 1
required: false
HeadTop:
points: 1
required: true
defaultMarkings: [ MothAntennasDefault ]
HeadSide:
points: 1
required: false
- type: humanoidBaseSprite
id: MobMothHead
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: MobMothHeadMale
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: head_m
- type: humanoidBaseSprite
id: MobMothHeadFemale
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: head_f
- type: humanoidBaseSprite
id: MobMothTorso
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: MobMothTorsoMale
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: torso_m
- type: humanoidBaseSprite
id: MobMothTorsoFemale
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: torso_f
- type: humanoidBaseSprite
id: MobMothLLeg
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: l_leg
- type: humanoidBaseSprite
id: MobMothLHand
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: l_hand
- type: humanoidBaseSprite
id: MobMothLArm
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: l_arm
- type: humanoidBaseSprite
id: MobMothLFoot
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: l_foot
- type: humanoidBaseSprite
id: MobMothRLeg
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: r_leg
- type: humanoidBaseSprite
id: MobMothRHand
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: r_hand
- type: humanoidBaseSprite
id: MobMothRArm
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: r_arm
- type: humanoidBaseSprite
id: MobMothRFoot
baseSprite:
sprite: Mobs/Species/Moth/parts.rsi
state: r_foot

View File

@@ -255,6 +255,18 @@
variation: 0.125 variation: 0.125
pitchscale: 0.75 pitchscale: 0.75
- type: emoteSounds
id: UnisexMoth
params:
variation: 0.125
sounds:
Scream:
path: /Audio/Voice/Moth/moth_scream.ogg
Laugh:
path: /Audio/Voice/Moth/moth_laugh.ogg
Chitter:
path: /Audio/Voice/Moth/moth_chitter.ogg
# body emotes # body emotes
- type: emoteSounds - type: emoteSounds
id: GeneralBodyEmotes id: GeneralBodyEmotes

View File

@@ -110,6 +110,21 @@
- squishes. - squishes.
- squishes! - squishes!
- type: emote
id: Chitter
category: Vocal
chatMessages: [chitters.]
chatTriggers:
- chitter
- chitter.
- chitter!
- chitters
- chitters.
- chitters!
- chittered
- chittered.
- chittered!
# hand emotes # hand emotes
- type: emote - type: emote
id: Clap id: Clap

View File

@@ -167,6 +167,9 @@
- type: Tag - type: Tag
id: CigPack id: CigPack
- type: Tag
id: ClothMade
- type: Tag - type: Tag
id: ClownMask id: ClownMask

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

View File

@@ -0,0 +1,31 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/commit/1d0eadcb126fc3581eed33490f4be2a88157af58#diff-69bd499bf0bc772862b15c2c9209e2eb5804a1bf72162b2ec4e75158cacb6109, modified by https://github.com/PixelTheKermit",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "wings_default",
"directions": 4
},
{
"name": "wings_look1",
"directions": 4
},
{
"name": "wings_look2",
"directions": 4
},
{
"name": "wings_look3",
"directions": 4
},
{
"name": "antenna_default",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 976 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 887 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 878 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 324 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 281 B

View File

@@ -0,0 +1,66 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "https://github.com/tgstation/tgstation/commit/1d0eadcb126fc3581eed33490f4be2a88157af58, modified by https://github.com/PixelTheKermit",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "full"
},
{
"name": "head_f",
"directions": 4
},
{
"name": "head_m",
"directions": 4
},
{
"name": "l_arm",
"directions": 4
},
{
"name": "l_foot",
"directions": 4
},
{
"name": "l_hand",
"directions": 4
},
{
"name": "l_leg",
"directions": 4
},
{
"name": "r_arm",
"directions": 4
},
{
"name": "r_foot",
"directions": 4
},
{
"name": "r_hand",
"directions": 4
},
{
"name": "r_leg",
"directions": 4
},
{
"name": "torso_f",
"directions": 4
},
{
"name": "torso_m",
"directions": 4
},
{
"name": "eyes",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 188 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 320 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B