From fd9bedae9ab222b81a7e9fa58ecbff6372362e16 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Tue, 8 Nov 2022 15:26:59 -0500 Subject: [PATCH] New Species: Diona (#11497) * new species: Diona * more diona stuff * dey breathing now * test fixe * fix a merge * now actually fix the merge * foobar * oversight * ok now the rest of em --- Content.Shared/Humanoid/NamingSystem.cs | 9 +- .../Humanoid/Prototypes/SpeciesPrototype.cs | 1 + Resources/Locale/en-US/markings/diona.ftl | 14 ++ Resources/Locale/en-US/species/namepreset.ftl | 3 + Resources/Locale/en-US/species/species.ftl | 1 + Resources/Prototypes/Body/Organs/diona.yml | 90 ++++++++++ Resources/Prototypes/Body/Parts/diona.yml | 159 ++++++++++++++++++ .../Prototypes/Body/Prototypes/diona.yml | 45 +++++ .../Chemistry/metabolizer_types.yml | 3 + Resources/Prototypes/Damage/modifier_sets.yml | 8 + Resources/Prototypes/Datasets/Names/diona.yml | 50 ++++++ .../Mobs/Customization/Markings/diona.yml | 44 +++++ .../Prototypes/Entities/Mobs/Player/diona.yml | 34 ++++ .../Entities/Mobs/Species/diona.yml | 64 +++++++ .../diona_inventory_template.yml | 110 ++++++++++++ Resources/Prototypes/Reagents/botany.yml | 67 ++++++++ Resources/Prototypes/Reagents/gases.yml | 4 + Resources/Prototypes/Species/diona.yml | 122 ++++++++++++++ .../Customization/diona.rsi/flowers_body.png | Bin 0 -> 580 bytes .../Customization/diona.rsi/flowers_head.png | Bin 0 -> 441 bytes .../Customization/diona.rsi/leaf_cover.png | Bin 0 -> 911 bytes .../Mobs/Customization/diona.rsi/meta.json | 31 ++++ .../Customization/diona.rsi/thorns_body.png | Bin 0 -> 543 bytes .../Customization/diona.rsi/thorns_head.png | Bin 0 -> 406 bytes .../Mobs/Species/Diona/organs.rsi/brain.png | Bin 0 -> 580 bytes .../Mobs/Species/Diona/organs.rsi/ears.png | Bin 0 -> 661 bytes .../Species/Diona/organs.rsi/eyeball-l.png | Bin 0 -> 359 bytes .../Species/Diona/organs.rsi/eyeball-r.png | Bin 0 -> 339 bytes .../Mobs/Species/Diona/organs.rsi/meta.json | 26 +++ .../Mobs/Species/Diona/organs.rsi/stomach.png | Bin 0 -> 425 bytes .../Mobs/Species/Diona/parts.rsi/full.png | Bin 0 -> 1077 bytes .../Mobs/Species/Diona/parts.rsi/head_f.png | Bin 0 -> 817 bytes .../Mobs/Species/Diona/parts.rsi/head_m.png | Bin 0 -> 817 bytes .../Mobs/Species/Diona/parts.rsi/l_arm.png | Bin 0 -> 579 bytes .../Mobs/Species/Diona/parts.rsi/l_foot.png | Bin 0 -> 571 bytes .../Mobs/Species/Diona/parts.rsi/l_hand.png | Bin 0 -> 448 bytes .../Mobs/Species/Diona/parts.rsi/l_leg.png | Bin 0 -> 799 bytes .../Mobs/Species/Diona/parts.rsi/meta.json | 62 +++++++ .../Mobs/Species/Diona/parts.rsi/r_arm.png | Bin 0 -> 511 bytes .../Mobs/Species/Diona/parts.rsi/r_foot.png | Bin 0 -> 549 bytes .../Mobs/Species/Diona/parts.rsi/r_hand.png | Bin 0 -> 482 bytes .../Mobs/Species/Diona/parts.rsi/r_leg.png | Bin 0 -> 711 bytes .../Mobs/Species/Diona/parts.rsi/torso_f.png | Bin 0 -> 1815 bytes .../Mobs/Species/Diona/parts.rsi/torso_m.png | Bin 0 -> 1815 bytes 44 files changed, 945 insertions(+), 2 deletions(-) create mode 100644 Resources/Locale/en-US/markings/diona.ftl create mode 100644 Resources/Locale/en-US/species/namepreset.ftl create mode 100644 Resources/Prototypes/Body/Organs/diona.yml create mode 100644 Resources/Prototypes/Body/Parts/diona.yml create mode 100644 Resources/Prototypes/Body/Prototypes/diona.yml create mode 100644 Resources/Prototypes/Datasets/Names/diona.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Customization/Markings/diona.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Player/diona.yml create mode 100644 Resources/Prototypes/Entities/Mobs/Species/diona.yml create mode 100644 Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml create mode 100644 Resources/Prototypes/Species/diona.yml create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/flowers_body.png create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/flowers_head.png create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/leaf_cover.png create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/thorns_body.png create mode 100644 Resources/Textures/Mobs/Customization/diona.rsi/thorns_head.png create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/brain.png create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/ears.png create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-l.png create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-r.png create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Species/Diona/organs.rsi/stomach.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/full.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/head_f.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/head_m.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/l_arm.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/l_foot.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/l_hand.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/l_leg.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/r_arm.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/r_foot.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/r_hand.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/r_leg.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_f.png create mode 100644 Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png diff --git a/Content.Shared/Humanoid/NamingSystem.cs b/Content.Shared/Humanoid/NamingSystem.cs index d19667898a..bf19aeb57b 100644 --- a/Content.Shared/Humanoid/NamingSystem.cs +++ b/Content.Shared/Humanoid/NamingSystem.cs @@ -26,11 +26,16 @@ namespace Content.Shared.Humanoid switch (speciesProto.Naming) { + case SpeciesNaming.TheFirstofLast: + return Loc.GetString("namepreset-thefirstoflast", + ("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto))); case SpeciesNaming.FirstDashFirst: - return $"{GetFirstName(speciesProto, gender)}-{GetFirstName(speciesProto, gender)}"; + return Loc.GetString("namepreset-firstdashfirst", + ("first1", GetFirstName(speciesProto, gender)), ("first2", GetFirstName(speciesProto, gender))); case SpeciesNaming.FirstLast: default: - return $"{GetFirstName(speciesProto, gender)} {GetLastName(speciesProto)}"; + return Loc.GetString("namepreset-firstlast", + ("first", GetFirstName(speciesProto, gender)), ("last", GetLastName(speciesProto))); } } diff --git a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs index fe6fe5b3fd..5c10f4a4e9 100644 --- a/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs +++ b/Content.Shared/Humanoid/Prototypes/SpeciesPrototype.cs @@ -126,4 +126,5 @@ public enum SpeciesNaming : byte { FirstLast, FirstDashFirst, + TheFirstofLast } diff --git a/Resources/Locale/en-US/markings/diona.ftl b/Resources/Locale/en-US/markings/diona.ftl new file mode 100644 index 0000000000..3cf51c6dd8 --- /dev/null +++ b/Resources/Locale/en-US/markings/diona.ftl @@ -0,0 +1,14 @@ +marking-DionaThornsHead-thorns_head = Diona Head (Thorns) +marking-DionaThornsHead = Diona Head (Thorns) + +marking-DionaThornsBody-thorns_body = Diona Chest (Thorns) +marking-DionaThornsBody = Diona Chest (Thorns) + +marking-DionaFlowersHead-flowers_head = Diona Head (Flowers) +marking-DionaFlowersHead = Diona Head (Flowers) + +marking-DionaFlowersBody-flowers_body = Diona Chest (Flowers) +marking-DionaFlowersBody = Diona Chest (Flowers) + +marking-DionaLeafCover-leaf_cover = Diona Chest (Leaf) +marking-DionaLeafCover = Diona Chest (Leaf) \ No newline at end of file diff --git a/Resources/Locale/en-US/species/namepreset.ftl b/Resources/Locale/en-US/species/namepreset.ftl new file mode 100644 index 0000000000..2d43b5f00d --- /dev/null +++ b/Resources/Locale/en-US/species/namepreset.ftl @@ -0,0 +1,3 @@ +namepreset-firstlast = {$first} {$last} +namepreset-firstdashfirst = {$first1}-{$first2} +namepreset-thefirstoflast = The {$first} of {$last} \ No newline at end of file diff --git a/Resources/Locale/en-US/species/species.ftl b/Resources/Locale/en-US/species/species.ftl index 1f03d909c4..42bc2260fa 100644 --- a/Resources/Locale/en-US/species/species.ftl +++ b/Resources/Locale/en-US/species/species.ftl @@ -4,3 +4,4 @@ species-name-human = Human species-name-dwarf = Dwarf species-name-reptilian = Reptilian species-name-slime = Slime Person +species-name-diona = Diona diff --git a/Resources/Prototypes/Body/Organs/diona.yml b/Resources/Prototypes/Body/Organs/diona.yml new file mode 100644 index 0000000000..9015d1799e --- /dev/null +++ b/Resources/Prototypes/Body/Organs/diona.yml @@ -0,0 +1,90 @@ +- type: entity + id: BaseDionaOrgan + parent: BaseItem + abstract: true + components: + - type: Sprite + netsync: false + sprite: Mobs/Species/Diona/organs.rsi + - type: Organ + - type: Food + - type: Extractable + grindableSolutionName: organ + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 10 + +- type: entity + id: OrganDionaBrain + parent: BaseDionaOrgan + name: brain + description: "The source of incredible, unending intelligence. Honk." + components: + - type: Sprite + state: brain + - type: Organ + - type: Input + context: "ghost" + - type: InputMover + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 10 + Lung: + canReact: False + - type: MovementSpeedModifier + baseWalkSpeed: 0 + baseSprintSpeed: 0 + - type: GhostOnMove + - type: Brain + - type: Lung #lungs in they head. why they there tho? + - type: Metabolizer + removeEmpty: true + solutionOnBody: false + solution: "Lung" + metabolizerTypes: [ Plant ] + groups: + - id: Gas + rateModifier: 100.0 + +- type: entity + id: OrganDionaEyes + parent: BaseDionaOrgan + name: eyes + description: "I see you!" + components: + - type: Sprite + layers: + - state: eyeball-l + - state: eyeball-r + - type: Organ + +- type: entity + id: OrganDionaStomach + parent: BaseDionaOrgan + name: stomach + description: "Gross. This is hard to stomach." + components: + - type: Sprite + state: stomach + - type: Organ + - type: SolutionContainerManager + solutions: + stomach: + maxVol: 250 + - type: Stomach + - type: Metabolizer + maxReagents: 6 + metabolizerTypes: [ Plant ] + removeEmpty: true + groups: + - id: Food + - id: Drink + - id: Medicine + - id: Poison + - id: Narcotic \ No newline at end of file diff --git a/Resources/Prototypes/Body/Parts/diona.yml b/Resources/Prototypes/Body/Parts/diona.yml new file mode 100644 index 0000000000..2a1d33fc4e --- /dev/null +++ b/Resources/Prototypes/Body/Parts/diona.yml @@ -0,0 +1,159 @@ +- type: entity + id: PartDiona + parent: BaseItem + name: "diona body part" + abstract: true + components: + - type: Damageable + damageContainer: Biological + - type: BodyPart + - type: ContainerContainer + containers: + bodypart: !type:Container + ents: [] + - type: Sprite + netsync: false + sprite: Mobs/Species/Diona/parts.rsi + - type: Icon + sprite: Mobs/Species/Diona/parts.rsi + - type: StaticPrice + price: 100 + +- type: entity + id: TorsoDiona + name: "diona torso" + parent: PartDiona + components: + - type: Sprite + state: "torso_m" + - type: Icon + state: "torso_m" + - type: BodyPart + partType: Torso + +- type: entity + id: HeadDiona + name: "diona head" + parent: PartDiona + components: + - type: Sprite + state: "head_m" + - type: Icon + 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: entity + id: LeftArmDiona + name: "left diona arm" + parent: PartDiona + components: + - type: Sprite + state: "l_arm" + - type: Icon + state: "l_arm" + - type: BodyPart + partType: Arm + symmetry: Left + +- type: entity + id: RightArmDiona + name: "right diona arm" + parent: PartDiona + components: + - type: Sprite + state: "r_arm" + - type: Icon + state: "r_arm" + - type: BodyPart + partType: Arm + symmetry: Right + +- type: entity + id: LeftHandDiona + name: "left diona hand" + parent: PartDiona + components: + - type: Sprite + state: "l_hand" + - type: Icon + state: "l_hand" + - type: BodyPart + partType: Hand + symmetry: Left + +- type: entity + id: RightHandDiona + name: "right diona hand" + parent: PartDiona + components: + - type: Sprite + state: "r_hand" + - type: Icon + state: "r_hand" + - type: BodyPart + partType: Hand + symmetry: Right + +- type: entity + id: LeftLegDiona + name: "left diona leg" + parent: PartDiona + components: + - type: Sprite + state: "l_leg" + - type: Icon + state: "l_leg" + - type: BodyPart + partType: Leg + symmetry: Left + +- type: entity + id: RightLegDiona + name: "right diona leg" + parent: PartDiona + components: + - type: Sprite + state: "r_leg" + - type: Icon + state: "r_leg" + - type: BodyPart + partType: Leg + symmetry: Right + +- type: entity + id: LeftFootDiona + name: "left diona foot" + parent: PartDiona + components: + - type: Sprite + state: "l_foot" + - type: Icon + state: "l_foot" + - type: BodyPart + partType: Foot + symmetry: Left + +- type: entity + id: RightFootDiona + name: "right diona foot" + parent: PartDiona + components: + - type: Sprite + state: "r_foot" + - type: Icon + state: "r_foot" + - type: BodyPart + partType: Foot + symmetry: Right diff --git a/Resources/Prototypes/Body/Prototypes/diona.yml b/Resources/Prototypes/Body/Prototypes/diona.yml new file mode 100644 index 0000000000..4be2138a99 --- /dev/null +++ b/Resources/Prototypes/Body/Prototypes/diona.yml @@ -0,0 +1,45 @@ +- type: body + id: Diona + name: diona + root: torso + slots: + head: + part: HeadDiona + connections: + - torso + organs: + brain: OrganDionaBrain + eyes: OrganDionaEyes + torso: + part: TorsoDiona + connections: + - left arm + - right arm + - left leg + - right leg + organs: + stomach: OrganDionaStomach + right arm: + part: RightArmDiona + connections: + - right hand + left arm: + part: LeftArmDiona + connections: + - left hand + right hand: + part: RightHandDiona + left hand: + part: LeftHandDiona + right leg: + part: RightLegDiona + connections: + - right foot + left leg: + part: LeftLegDiona + connections: + - left foot + right foot: + part: RightFootDiona + left foot: + part: LeftFootDiona diff --git a/Resources/Prototypes/Chemistry/metabolizer_types.yml b/Resources/Prototypes/Chemistry/metabolizer_types.yml index 2e13f9daff..262cd6711a 100644 --- a/Resources/Prototypes/Chemistry/metabolizer_types.yml +++ b/Resources/Prototypes/Chemistry/metabolizer_types.yml @@ -18,3 +18,6 @@ - type: metabolizerType id: Rat + +- type: metabolizerType + id: Plant \ No newline at end of file diff --git a/Resources/Prototypes/Damage/modifier_sets.yml b/Resources/Prototypes/Damage/modifier_sets.yml index 54ffa352fe..422c801266 100644 --- a/Resources/Prototypes/Damage/modifier_sets.yml +++ b/Resources/Prototypes/Damage/modifier_sets.yml @@ -109,6 +109,14 @@ Heat: 0.9 Poison: 0.9 +- type: damageModifierSet + id: Diona + coefficients: + Blunt: 0.7 + Slash: 0.8 + Heat: 1.5 + Shock: 1.2 + - type: damageModifierSet id: Zombie #Blunt resistent and immune to biological threats, but can be hacked apart and burned coefficients: diff --git a/Resources/Prototypes/Datasets/Names/diona.yml b/Resources/Prototypes/Datasets/Names/diona.yml new file mode 100644 index 0000000000..a4808d8c5d --- /dev/null +++ b/Resources/Prototypes/Datasets/Names/diona.yml @@ -0,0 +1,50 @@ +- type: dataset + id: DionaFirst + values: + - Moss + - Mushroom + - Herb + - Ivy + - Stalk + - Petal + - Thorn + - Rose + - Dandelion + - Birch + - Willow + - Bay + - Lake + - River + - Creek + - Meadow + - Canyon + - Mountain + - Peak + - Garden + - Soil + - Flower + +- type: dataset + id: DionaLast + values: + - Peace + - Harmony + - Relaxation + - Serendipity + - Calmness + - Introspection + - Union + - Comfort + - Dreams + - Quietude + - Balance + - Gentleness + - Placidity + - Repose + - Serenity + - Stillness + - Tranquility + - Ease + - Equilibrium + - Composure + - Control \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/diona.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/diona.yml new file mode 100644 index 0000000000..f81dc13426 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/diona.yml @@ -0,0 +1,44 @@ +- type: marking + id: DionaThornsHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [Diona] + sprites: + - sprite: Mobs/Customization/diona.rsi + state: thorns_head + +- type: marking + id: DionaThornsBody + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Diona] + sprites: + - sprite: Mobs/Customization/diona.rsi + state: thorns_body + +- type: marking + id: DionaFlowersHead + bodyPart: Head + markingCategory: Head + speciesRestriction: [Diona] + sprites: + - sprite: Mobs/Customization/diona.rsi + state: flowers_head + +- type: marking + id: DionaFlowersBody + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Diona] + sprites: + - sprite: Mobs/Customization/diona.rsi + state: flowers_body + +- type: marking + id: DionaLeafCover + bodyPart: Chest + markingCategory: Chest + speciesRestriction: [Diona] + sprites: + - sprite: Mobs/Customization/diona.rsi + state: leaf_cover \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/diona.yml b/Resources/Prototypes/Entities/Mobs/Player/diona.yml new file mode 100644 index 0000000000..79dfcdcf4b --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Player/diona.yml @@ -0,0 +1,34 @@ +- type: entity + save: false + name: Urist McPlants + parent: BaseMobDiona + id: MobDiona + components: + - type: CombatMode + canDisarm: true + - type: InteractionPopup + successChance: 1 + interactSuccessString: hugging-success-generic + interactSuccessSound: /Audio/Effects/thudswoosh.ogg + messagePerceivedByOthers: hugging-success-generic-others + - type: Mind + showExamineInfo: true + - type: Input + context: "human" + - type: Respirator + damage: + types: + Asphyxiation: 0.5 + damageRecovery: + types: + Asphyxiation: -1.0 + - type: MobMover + - type: InputMover + - type: Alerts + - type: Eye + - type: CameraRecoil + - type: Examiner + - type: CanHostGuardian + - type: Faction + factions: + - NanoTrasen diff --git a/Resources/Prototypes/Entities/Mobs/Species/diona.yml b/Resources/Prototypes/Entities/Mobs/Species/diona.yml new file mode 100644 index 0000000000..5bbd02ae05 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Species/diona.yml @@ -0,0 +1,64 @@ +- type: entity + save: false + name: Urist McPlants + parent: BaseMobOrganic + id: BaseMobDiona + abstract: true + components: + - type: Humanoid + species: Diona + - type: Hunger + - type: Thirst + baseDecayRate: 0.3 + - type: Icon + sprite: Mobs/Species/Diona/parts.rsi + state: full + - type: Body + prototype: Diona + - type: Damageable + damageContainer: Biological + damageModifierSet: Diona + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatPlant + amount: 5 + - type: Bloodstream + bloodReagent: Water + bloodlossDamage: + types: + Bloodloss: + 1 + bloodlossHealDamage: + types: + Bloodloss: + -0.25 + - type: Fixtures + fixtures: + - shape: + !type:PhysShapeCircle + radius: 0.35 + density: 300 #weighs more than humans because wood + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + - type: Inventory + templateId: diona + - type: MovementSpeedModifier + baseWalkSpeed : 1.5 + baseSprintSpeed : 3.5 + +- type: entity + save: false + name: Urist McHands + parent: MobHumanDummy + id: MobDionaDummy + noSpawn: true + description: A dummy diona meant to be used in character setup. + components: + - type: Inventory + templateId: diona + - type: Humanoid + species: Diona diff --git a/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml new file mode 100644 index 0000000000..e7ce6ccfa1 --- /dev/null +++ b/Resources/Prototypes/InventoryTemplates/diona_inventory_template.yml @@ -0,0 +1,110 @@ +#human but no shoes +- type: inventoryTemplate + id: diona + slots: + - name: jumpsuit + slotTexture: uniform + slotFlags: INNERCLOTHING + stripTime: 6 + uiWindowPos: 0,2 + strippingWindowPos: 0,2 + displayName: Jumpsuit + - name: outerClothing + slotTexture: suit + slotFlags: OUTERCLOTHING + slotGroup: MainHotbar + stripTime: 6 + uiWindowPos: 1,2 + strippingWindowPos: 1,2 + displayName: Suit + - name: gloves + slotTexture: gloves + slotFlags: GLOVES + uiWindowPos: 2,2 + strippingWindowPos: 2,2 + displayName: Gloves + - name: neck + slotTexture: neck + slotFlags: NECK + uiWindowPos: 0,1 + strippingWindowPos: 0,1 + displayName: Neck + - name: mask + slotTexture: mask + slotFlags: MASK + uiWindowPos: 1,1 + strippingWindowPos: 1,1 + displayName: Mask + - name: eyes + slotTexture: glasses + slotFlags: EYES + stripTime: 3 + uiWindowPos: 0,0 + strippingWindowPos: 0,0 + displayName: Eyes + - name: ears + slotTexture: ears + slotFlags: EARS + stripTime: 3 + uiWindowPos: 2,0 + strippingWindowPos: 2,0 + displayName: Ears + - name: head + slotTexture: head + slotFlags: HEAD + uiWindowPos: 1,0 + strippingWindowPos: 1,0 + displayName: Head + - name: pocket1 + slotTexture: pocket + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 0,3 + strippingWindowPos: 0,4 + dependsOn: jumpsuit + displayName: Pocket 1 + stripHidden: true + - name: pocket2 + slotTexture: pocket + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 2,3 + strippingWindowPos: 1,4 + dependsOn: jumpsuit + displayName: Pocket 2 + stripHidden: true + - name: suitstorage + slotTexture: suit_storage + slotFlags: SUITSTORAGE + stripTime: 3 + uiWindowPos: 2,0 + strippingWindowPos: 2,5 + dependsOn: outerClothing + displayName: Suit Storage + - name: id + slotTexture: id + slotFlags: IDCARD + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 2,1 + strippingWindowPos: 2,4 + dependsOn: jumpsuit + displayName: ID + - name: belt + slotTexture: belt + slotFlags: BELT + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,1 + strippingWindowPos: 1,5 + displayName: Belt + - name: back + slotTexture: back + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,5 + displayName: Back diff --git a/Resources/Prototypes/Reagents/botany.yml b/Resources/Prototypes/Reagents/botany.yml index 7ea551102b..09b285dada 100644 --- a/Resources/Prototypes/Reagents/botany.yml +++ b/Resources/Prototypes/Reagents/botany.yml @@ -9,6 +9,13 @@ plantMetabolism: - !type:PlantAdjustNutrition amount: 1 + metabolisms: + Food: + effects: + - !type:SatiateHunger + conditions: + - !type:OrganType + type: Plant - type: reagent id: Left4Zed @@ -26,6 +33,20 @@ - !type:PlantAdjustMutationMod prob: 0.3 amount: 0.2 + metabolisms: + Medicine: + effects: + - !type:SatiateHunger + conditions: + - !type:OrganType + type: Plant + - !type:HealthChange + damage: + types: + Poison: 1 + conditions: + - !type:OrganType + type: Plant - type: reagent id: PestKiller @@ -40,6 +61,16 @@ amount: 4 - !type:PlantAdjustPests amount: -6 + metabolisms: + Medicine: + effects: + - !type:HealthChange + damage: + types: + Poison: 3 + conditions: + - !type:OrganType + type: Plant - type: reagent id: PlantBGone @@ -58,6 +89,19 @@ amount: -20 - !type:PlantAdjustMutationMod amount: 0.1 + metabolisms: + Medicine: + effects: + - !type:HealthChange + damage: + types: + Poison: -4 + Blunt: 2 + Slash: 1 + Piercing: 1 + conditions: + - !type:OrganType + type: Plant - type: reagent id: RobustHarvest @@ -77,6 +121,19 @@ prob: 0.025 amount: 1 - !type:RobustHarvest {} + metabolisms: + Poison: + effects: + - !type:HealthChange + damage: + types: + Poison: -2 + Blunt: -3 + Slash: -3 + Piercing: -3 + conditions: + - !type:OrganType + type: Plant - type: reagent id: WeedKiller @@ -91,6 +148,16 @@ amount: 4 - !type:PlantAdjustWeeds amount: -6 + metabolisms: + Poison: + effects: + - !type:HealthChange + damage: + types: + Poison: 4 + conditions: + - !type:OrganType + type: Plant - type: reagent id: Ammonia diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml index 1dcd66af94..f0883eb3ba 100644 --- a/Resources/Prototypes/Reagents/gases.yml +++ b/Resources/Prototypes/Reagents/gases.yml @@ -22,6 +22,10 @@ conditions: - !type:OrganType type: Rat + - !type:Oxygenate + conditions: + - !type:OrganType + type: Plant # Convert Oxygen into CO2. - !type:ModifyLungGas conditions: diff --git a/Resources/Prototypes/Species/diona.yml b/Resources/Prototypes/Species/diona.yml new file mode 100644 index 0000000000..a44e06982a --- /dev/null +++ b/Resources/Prototypes/Species/diona.yml @@ -0,0 +1,122 @@ +- type: species + id: Diona + name: species-name-diona + roundStart: true + prototype: MobDiona + sprites: MobDionaSprites + markingLimits: MobDionaMarkingLimits + dollPrototype: MobDionaDummy + skinColoration: TintedHues + maleFirstNames: DionaFirst + femaleFirstNames: DionaFirst + lastNames: DionaLast + naming: TheFirstofLast + +- type: speciesBaseSprites + id: MobDionaSprites + sprites: + Head: MobDionaHead + Chest: MobDionaTorso + LArm: MobDionaLArm + RArm: MobDionaRArm + LHand: MobDionaLHand + RHand: MobDionaRHand + LLeg: MobDionaLLeg + RLeg: MobDionaRLeg + LFoot: MobDionaLFoot + RFoot: MobDionaRFoot + +- type: markingPoints + id: MobDionaMarkingLimits + onlyWhitelisted: true + points: + HeadTop: + points: 1 + required: false + Chest: + points: 1 + required: false + +- type: humanoidBaseSprite + id: MobDionaHead + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobDionaHeadMale + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobDionaHeadFemale + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobDionaTorso + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobDionaTorsoMale + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobDionaTorsoFemale + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobDionaLLeg + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobDionaLHand + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobDionaLArm + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobDionaLFoot + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobDionaRLeg + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobDionaRHand + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobDionaRArm + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobDionaRFoot + baseSprite: + sprite: Mobs/Species/Diona/parts.rsi + state: r_foot diff --git a/Resources/Textures/Mobs/Customization/diona.rsi/flowers_body.png b/Resources/Textures/Mobs/Customization/diona.rsi/flowers_body.png new file mode 100644 index 0000000000000000000000000000000000000000..e531b3ac3c0043261983bb04735b738d8dade2b7 GIT binary patch literal 580 zcmV-K0=xZ*P)Px${z*hZRCt{2nlX}tFbqZIoh?!@T!Rx(la2#%fD8xlf!u|f6Zje#3OaAWYRAKD zW|1x139HwHVF;4HW!YE;5ClOG1mVA;jy`z5-xInK&pcJG?G|;tUP=G^pge4icJov@ zl7+;~Q{}ADu3kq7@$Ikx`0{!ksWy_*c8dZ4X!=3nHHE_hwB4c}mm2^;kkYBJMmzK? z1kw3QUnVyx|lA4Byzf;F%?;N8y&4o6IYA@3j!0la=(ZqW3D ziV3|~=BaYcx9~9$KpFxF8pOO%Vs>b|MOmXAK->@v5@7F$|C<}k{-Gj73s52f;@l6g z%>n@79l#a=IoM}?jy!aD7Wj*pOnel7+;0tEqB|fu0+7(9C>|8-0eI8L|NW*7O;ofFuAm7K@_*SS8k3L`Wev`Fwyi+C8hxq>hHY z*jcy5{i1|_AI0#6Nd*dSjdoo2Naq8d?fvIGD}asWviDY{F#!JB0BdC^#|bj-Va6sv zuIZ554x0e}F}jqzYy<$5IV=&&TYe1vc2+Tzw-f+in+DJDEg}elAP9mWl;R68-xHkir;W$&yXl%n1_!PKQYY4F zC}&GaKH`d2aZ=CmE$(90Nc2^H+4H)R{ZC|lY)oOc)XA=*ttu~;FgggYJN~75-gC$6 zH6LYHO#YWYb@QU0UwRXZpHG*1#1$Fn_AXEQ(JTL&g?oe_WS>2rkR>?n-uqXaJ6hlT zus3i;Dg7$ivo*?NK&M-V1pa&e$^V^=_9k z?Qg6-JD&nwT{v5{ulteg={4IM-nE&|R;=kw=FFWO`9Px&Nl8RORCt{2nn7yoFc5}+3t=RJ2wD|f0m`BaME|OeD_$nM@{=$z*;jMasjkudf#}V;W7<3`(h! zHs9ahCyhx{4d9#u0Lrq&;c$Rbs%YDGpp?QGgP#mM2hRB@Lff_jV+_tY)OB4%`;fS) zNe@3fJPe$3SZe_QtJMl+S)%WIgb>j8J<75i4O)`zc01hN-N6_GN-4be@ZJLethK1B z3U6<3czJnAnwz9N9Cx>>DhMG^mL)jn=(-Ms5R_#JN|T&w68rsrV2r^S0|0Q&K?nf= zpp-%g0j>2c?@JOOqP2!G27TYd7=x;+KnOwK_jr1GT737NbECLI2t+X$W1}ZXDQAtH zEP%BZbzK)qsUm~`V+;<5!)VZUyB%g(asnwOy!YUoLu(D^8~}`;Qc7s8XN{dKKy8Lckcq{Xz&NX+=*#dk;42Pxp zC@ydeg}Sbbxx4<6MFjws-~C8Tz99s}!&p2Roipz8f7%x!3Tv$$zb|p%THFIJjZ&(( zM3T*9GMP*!lgVU$8Ivy)*RBbqGPOQ%bC;o|$pT#4fNPTlxV8b;CJS(F1Fp?%0h*>6 z{)cySP16i*+s?Kl=^(V*?FQgjrRlm3Ap}rLvDs`c))R1wwrvM%Eu@ri&Ou5!mdU0b zgpyv1f7bxfG|eD{03l>-nn)RUD$mc)LoC6?`Kqdd)*6Hm7-J@Nk$hxw2<&#dZwFRN z6~-8>R;!B@NP%NTh%tt$s^Gmx*L7o=EP7)snoMP~0I@mYJCss|wH6_SBm+{39snFe zG1dy}x-Oh^$wku10!($QpM*LGYb`kEaL$dD;;!pHRfX9;k#9uQd~ l4`ec#OeT}bWHOoG#~*c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/diona.rsi/meta.json b/Resources/Textures/Mobs/Customization/diona.rsi/meta.json new file mode 100644 index 0000000000..f26dafca19 --- /dev/null +++ b/Resources/Textures/Mobs/Customization/diona.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/commit/38051f45d3b26bd31f6e292239f43adb36ff01fe, modified by EmoGarbage", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "flowers_body", + "directions": 4 + }, + { + "name": "flowers_head", + "directions": 4 + }, + { + "name": "leaf_cover", + "directions": 4 + }, + { + "name": "thorns_body", + "directions": 4 + }, + { + "name": "thorns_head", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Mobs/Customization/diona.rsi/thorns_body.png b/Resources/Textures/Mobs/Customization/diona.rsi/thorns_body.png new file mode 100644 index 0000000000000000000000000000000000000000..3f0061059b355670dc7699ad71de359b66ab37fb GIT binary patch literal 543 zcmV+)0^t3LP)Px$*-1n}RCt{2nn7~IAPhynJKb@qoP)h{DfXNrmtyTMI^W|kZUROiJJnld62}rB zA!KC0Fbu;mjQ`41dg0^o=;%f}F~-GvKizJ(s{ei0TpU7JoOAHr7Yo;$7~_&sT0f&= zQUTzr#t;C|*je!2PtG~a^E@4ym|_98H>Vh9AcWB5OR)d|K&4YkPlmMwq1~1xSu8*Z zVaW}J5Edq%qYku?t^Gq33oy^~I!H!>b51oU(5IFOXx;{yg*A4EJ=?Y0U{wy-gN8Mh zK}u=O{zsQVvj7?iFvhqr3AZLfu?QGJKGkw~_A-ZKG|^mu^eIdq4fvi<9Wlm6AtYD`IuP zh}IbJ+#Zv-pO^rW{km63FSAQ^hkMu&6MzlU-kdf90G*d5TDj!I5c7?M2$vK9!0AeG h!!QiPFbv~r`~dB882jYVAn*VH002ovPDHLkV1l5q@f!dD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/diona.rsi/thorns_head.png b/Resources/Textures/Mobs/Customization/diona.rsi/thorns_head.png new file mode 100644 index 0000000000000000000000000000000000000000..717a3dc3ac0e75395477792a8525af314b7775fc GIT binary patch literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z13X^3}yjXvz{yj8xo>_F9|Z9f<@IJn=0}fv7 zTlM6{>J^@Sdwk;_teGCo5bB%0*&%wBn1X*zo~mQCnp^MpeVcVIC?C^~Yp{{mS2~%+ zs>6|8%_e<&U1iVK@2jj>K0oT%qm{BgZ9!|zp0)cAoA@5xIH!vHMqb49V}Dvpb+)D& rO^<6nuhVN;wA8HuZgEG4-C_Rhuq(N{7aZCT3}^;VS3j3^P6Px${z*hZR9J=WS21hCKotHWmUhZkT^x;wPLfl^EzrfaL&;RShPIpi3!NMaT3lTU zPF*_+4ieDP$s*O!#X40w=yV<03wJTmT-2f92ZAT>z3+SP-Q7EZ132iF9Nky!Y&k>O zhyPu18=Yj2@mhUTup?NeMu+36vu^k2-mxuHqn4>{T>+LMi)Roucua$+I}ss6yiyK> zs5G67JL^VkB-rSc99`EUmVnzYuz+=9f(EusjRqAUg&?Js?R#W07gzyd1tLxY+5W8VRvn)k^-b!FdR=E^8QB;08nq% zP%ITeQhD55-Aa*53*dW8Qh9-#3Hm%uU~ij{FFjB0g`k&Os8hhQ<-faytUC$(Knf** zC*vzpy{ig#!|@dEDi}nigO_)O36Z+345HG@=EF+)>&+S#gCzhUHk%09GXd`7nNG&h zXpI!9W7zJ`mCQ#^$cWF{O%D8C-3C#qM@uNMVHSA7GBp~xID_4_u^227n@t3Pety|< z#wk6IC~p7&UPg=<_$%f86I1|&WE>qNe0_pIaO5`(Kh5}8jk~{{ucO@w@Dc*}5136= z3kBJ6x~r#LC~}4{J`BP|Bsm7 Sc0xY@0000Px%Pf0{UR9J<@SG|tfKoI^G9fAs~oST$Jvh3;<6rn3fDE$V!KnnVM7r%nvz$FsJ ziGtP^k}0ntsX!?XQ8)z|YrWo|afo!EWC^Wi=lgbMc6I<5SWHLNVmhigwlY@BiF03% z<7mA*3lh?WoMXol004pSaZMW_@plQ}o<_CbAC692rvTMi6o;K_!G;HQfe7-f5GwgC zoCQlT7mWx+aaeu-@eRXh&^Y;ecNXj2S#&u)?dv1}0Jg7Nqmw)qxmov_dL7Y!+V=Q5;tD@wIi;WLwpj&d-C%P+nV1 zN0quc&kFIVS^x6#RPWp57tF_3m9v351xZ?pBrOFwOwv*WzK5TmKG!0wp8k^0o@ban z&j0|!Xn@VB?-sB>9JK_LOA^5$-@a}eHwl1ML=Q0cYf8i8uQ%;xwZK$j4tl_?pwv_9 zI+_}#&8cq`|DIp)o?igm4q&n~HkQ?LQf*HC#%2;=x)sA{P?HjDB3D;!QQw?>a zmt1Iais&TGCoWa^Ttu&zZ~r^fXhM{#JiGYzzNk7VRL&kA8X vooS$ThC~0~;QzrH0eQguQ2fi^a}NFhi{_=k1cU&d00000NkvXXu0mjf1q?48 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-l.png b/Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-l.png new file mode 100644 index 0000000000000000000000000000000000000000..a44b5a1656eae0fc4538424446010c35e1b61327 GIT binary patch literal 359 zcmV-t0hs=YP)Px$AxT6*R9J=WlQBxfKp2I;6>J0AcmZ`~v5W`E4T6=hAZRz_273w{*)FjZi!cWe z_5h|#k!UWEMqyjQ-$D`+H#*5S*JlE-cPaVN3Sx<(FSMNI4=v>!l z*AI8S<7|m~t|Mp1M=T%TjAnvZiFT}totxD&*m1o zOc@OT%ocMh6Ze-(;{?g;%ZB(6{uKBfM-VIddU^&RD@taIIRITT=v?DZeGc{yjRXAq zLG!Q3iV|p-wHZ-m1b(*CXM08iT?DaeMbp)jzTy@Oz&F}Lh=Zm+14RG;002ovPDHLk FV1g(plqdiI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-r.png b/Resources/Textures/Mobs/Species/Diona/organs.rsi/eyeball-r.png new file mode 100644 index 0000000000000000000000000000000000000000..bcde38b543e18fc642cd891e79678b54b7f2ba94 GIT binary patch literal 339 zcmV-Z0j&OsP)Px$4M{{nR9J=WlrajzKoCWLL|Z`{FJO#V#{&o+V6l*ZCkWoa19$^Tr@fRhc4h$PpPBFcq)fXkER%un*+%CDt z=Li6Bf8IVal`EhqwdolBZbx43_J;Cubp`aylqO&`2`u29h4^v+07U0Vezd1E!dL@E zp;`a{w>Q+HRyi%V+P;(wq=_#F8FiY$Vpg4itfEz)KsW+aA4DYsgt{Q>DblT2%>;wq liXPx$V@X6oR9J=WmAy{GFcgJPP$d{pRu)Ez5S>tiWM%8f8}t>Tt~>@iufWu`W0|U` z1Th66ejb3eQ#+aIhT9uEKW*eLK1&rx^7kFvaRDF4NydH6pN|d!A4Opy;Z)%9=_`<9 zP6bRkxPa3n()_dHN}(L$OaL(?kP6x=4$$*N3-&;2+<=m}jdkW+wu}`x^}a zDpp7rDO9W=MZ)Kw61)=uYHbTitn&@>*?YGFyg2|wm$${c?DJ(yVx4aQpd``T6)u}| zI0uuQEjtNNa}MW?r9@R)e}Lb7k^lgc$iCo40#c+ZZJ<6rK0Z8uR$Rqg Tz)Q2900000NkvXXu0mjft-7&> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/full.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..46d002054bb0bdcdfc748360708f6c4735618ed8 GIT binary patch literal 1077 zcmV-51j_q~P)Px&?@2^KR9J=WR?mwXXBd8_R*kyD#6h#QZmBDSBLo&CFc9#NLwXSwd$K(Y#{tL#3pUqNXzNxFn&~ z>7uBqa9j`h%pQuGib_c#udDBbL;ZlOB{vq~p?*MKy?iTFN(%YSe9vwU01wsA0Dwgz zk0psvFhBwczS86h6YcqSuMYrNwIYnB#eB4af`(x-a=bOMF$I;9LL#{&0KjoQWYZ}a zO^dZ*Hl1SN*NvvZFC7~hzBqb9=(M9Z9}Q<1Os3e4i!3U(7>1mPVR3$eP%waOI)!$x zkHEf+S1;e*isKuB7e`M>tJB3-$`^244-Lb_XgEXSL5zV1_GQGPJBWSm{h)WXd1OWKl3*z3u z!C*3FKBM6>)V3JL;`{>n%pQ!Uh3bjvI}>~f(Czo_4^I)vCDH11*$$vjQByG*&anUe z6h%#iG`$3ESz8PP0Q{!nM+9zSdwP6^#rXvmaun@eA6h|S51j=W@hKXHiEKKB#DnD! zk~xOajm&7S*ZaFxw*R@NGJQOBGXaD!&1y35er*%l}utdRZlFvtXl4=c)l3ehN+(4e*ahbzJWX zxcJR`wiW%1D*}31C9&uZ29qf!wvAfd5&)3Z5+YhbVH#mDnJx($d;*nA6FTELoV96p vs2`Bp@=#K%TY}?ySBfo?OEM9%X&C(tT?j77p-tgN00000NkvXXu0mjf)jsjn literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/head_f.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/head_f.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa2350ab5c55fc3e4408ce7ce3e9b4b5da0ce46 GIT binary patch literal 817 zcmV-11J3-3P)Px%>q$gGRCt{2+Rtm+U>FDRZNC$=81rc`0DX@FlV1GgX zhC)a01y3FZrQm%~D0nIKREyXaYDFhX79*&HcZc$Z{$luMO?%k$xv8&t9^brAJUkCT z2not6WtdgUF#h`Uw-4-Z>z@jbV-^g?^9Xt^N%RX=DZ|S9b;&FkY;AP~$G`i~oiPBQ zyk8f-o+z_muu8Qd-Tu*bbRN1h4ix{D$YQIMVfmZ^tCV3I`3x>2W9ZHps-hvCO#IWG zm<8W-o`)Tshn$LG*_#V|O`#1a@7JZnS{-sKhT3rh3!MojQ!jAvAUXpF>0|;QzkEXO zZ43*Y2>=AnLudoIe$PcZnSeVQVk4iy=FVoI;G!zkhBUBkG+S-#e%(c9-~a#ywv9@) z5vcrxH=t5&NN@ThTt>#2Og;3vE`EOhfo7{6`ZIu+o~meYM?(y38}4WbUKV_v$iw(` zkVF=B9fPx9SX*7e>BSWyEjjd3C|X&TH{Rp0R>z{QV>0znsWv3DU@%@5Rte0G&SP); zXyzLc`cwO;)-S4%vs z*fY1r9t&2qvdla0KbR8;8;|Fm_ffR658{e!j8G?~Xl2>5HwSk#^n3E@WCHOe6}96A zfbeGo_(tb*26|l=%~spbMO8Fh%TpYbPiD?Rs5z=TW2|ohs-pQr5%DDzy{>y_T^MC? z|C+t7i};f2=cOtd*0TT8G&Ean z^tvwcIm2(v^4vrS4@fjyZCuOKJMZ&$wVa9x9Y0YA>`@6*`PA{(f vHn|C~pi?4*5JCtcgb+dqA%qY@{uh4$f1pv7;)04Y00000NkvXXu0mjf&;N7x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/head_m.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/head_m.png new file mode 100644 index 0000000000000000000000000000000000000000..4fa2350ab5c55fc3e4408ce7ce3e9b4b5da0ce46 GIT binary patch literal 817 zcmV-11J3-3P)Px%>q$gGRCt{2+Rtm+U>FDRZNC$=81rc`0DX@FlV1GgX zhC)a01y3FZrQm%~D0nIKREyXaYDFhX79*&HcZc$Z{$luMO?%k$xv8&t9^brAJUkCT z2not6WtdgUF#h`Uw-4-Z>z@jbV-^g?^9Xt^N%RX=DZ|S9b;&FkY;AP~$G`i~oiPBQ zyk8f-o+z_muu8Qd-Tu*bbRN1h4ix{D$YQIMVfmZ^tCV3I`3x>2W9ZHps-hvCO#IWG zm<8W-o`)Tshn$LG*_#V|O`#1a@7JZnS{-sKhT3rh3!MojQ!jAvAUXpF>0|;QzkEXO zZ43*Y2>=AnLudoIe$PcZnSeVQVk4iy=FVoI;G!zkhBUBkG+S-#e%(c9-~a#ywv9@) z5vcrxH=t5&NN@ThTt>#2Og;3vE`EOhfo7{6`ZIu+o~meYM?(y38}4WbUKV_v$iw(` zkVF=B9fPx9SX*7e>BSWyEjjd3C|X&TH{Rp0R>z{QV>0znsWv3DU@%@5Rte0G&SP); zXyzLc`cwO;)-S4%vs z*fY1r9t&2qvdla0KbR8;8;|Fm_ffR658{e!j8G?~Xl2>5HwSk#^n3E@WCHOe6}96A zfbeGo_(tb*26|l=%~spbMO8Fh%TpYbPiD?Rs5z=TW2|ohs-pQr5%DDzy{>y_T^MC? z|C+t7i};f2=cOtd*0TT8G&Ean z^tvwcIm2(v^4vrS4@fjyZCuOKJMZ&$wVa9x9Y0YA>`@6*`PA{(f vHn|C~pi?4*5JCtcgb+dqA%qY@{uh4$f1pv7;)04Y00000NkvXXu0mjf&;N7x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_arm.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c4da9d4179c98602fb2127f438df9cf6c5a92f GIT binary patch literal 579 zcmV-J0=)f+P)Px${YgYYRCt{2+ObO`K^O(_mpktc4Pn@jOAJX7!f+cn5YptZ({>?jx7RG#TUlFJ z`j@29P6S&U8`B(ET}0GE@z4-if`lkxt~gdLBDm{JbkFzeXLfkAGqcHj01*)p5fQyL zO@B_k_84B>(#pKi5I&gd*mrFe&frUCa&*$uH>fd;1mL^2s+Nin{UMfC=GAuVAZ6k? zIv5Gy_HG0KXw)To-J96`_^z!Qb*XDuV;Koxke$Kr(=z~o=nqXiLK`CiWOHe){dtZw zwh?L%py|)4!QmBZl``7Dj?mibq@r$ulRW;k2O#=G)GB2hpI;!zd;tJN-2}H=2dQxV zXMX-ctx|^X+D1ar8i40WRV@{f%l}&fFI@`V%Nz7JW^sIef!0>X$VsBT({QGA4A^s| zvV_2O5MXoX=*=FbW9eGQo+FjXO)xR|yMTy@h=_=Yh=_>jk+}aH8>_Rt5mDxcVbfyTk_&R-}bB3A^k2 zk=iGE5AYnRYLzl_`84+09ZY}wiqT0gQf)$_0{|Yr00-Hb$fY<$L_|dI+Fz=Mm0DDM R^``&;002ovPDHLkV1gX@2)_UT literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_foot.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_foot.png new file mode 100644 index 0000000000000000000000000000000000000000..928804dc80d828ebc058d0d8c0d83c4483be234a GIT binary patch literal 571 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zzk0ejhE&XX zd+T8K5AQc;AD=b#!USJu8xM|S!HLr=zwPLm6uoE9W_SJFZ@1Jt2ODZ7irMnmAug{6qqC!+zlj5fwXHw(IXtnG`!!bgGU;AkdsIch4+q z=s*H_t39)Rp1J+-e`8`+a{TOF(cHD+qMt0UNUhC&|I+DxXusT@_MK}U{=B9x_-mb% zq^nQRv1PLuBr8^}d0mi`t@fWOX6c&O8RgX$Rx*#SUfUH_z3_3-#Hy()%^le0UFz!I z5v><1v-^(F`CGHg<6FaGTz20+d@ir$;P2}HbL5{#8(h5+mg@SlIoM)btNQHzi;^|R zzPa^mTDMsK_{=ZgCQoQw{^*j;r1V>_WqM*S`kOMgtyI)Io4mfb;re;IglgquCp3~O zK1qK~Q(5=BbcJcuAp_GZQo0x4eG548+~C%K%WE$G7~kJnmM(p^LkE}|7(8A5T-G@y GGywoOjtlAl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_hand.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/l_hand.png new file mode 100644 index 0000000000000000000000000000000000000000..f251e8d3f9ced02179187411115c3d8b5aeb002b GIT binary patch literal 448 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zt2|vCLn`LH zy=CitI6#E$L9pPGV**NFxvfPwmjyer9NaIUaZ~9Kt9y8Th}hjF5A+L)-lRBQaSUAI z;^phOG-i1RAFr9E`Lj#kZ+=#@wEU^?U4Rj21rSW>`w+X*sNOHNBJNQ6(|di+$J=+G z>I!(pr1I$E>`ghkTpvDKhE20QFMC5wH?r65O3sy+-#&I8`W&a~?WX?5Z*Q#F8`%Wj z`}_Ut67*6|y=b}XRrG&0`+1>d}ta|46 zi~HM!Ctigz1rIDQZPTfe<$3Yu(Xt8AO}^1vBBIPb$VgW7UCL+FEf5ufxD!nNkeT}? z`|JOCwS^|Hj=Pu~=9UDyxxU2l+Ee3id^)p*CH;O;_^{>&oXwiIT$?4&?tMb;1YPx%*-1n}RCt{2+QDnuP#g#FuXAl@qRSF&ozsDp&VNlp{FldXYhl;ZmL$GO>65b9a!NOMCQd0|M^?sdEDbUusDr|w*T4CH5N1u zmjpCwDr?l#z=H@v$%+7g?1~6cNC%D+IsuKE%4A7`EJ>m6#B~|E#vDb!gTaJLywC~Q zYqk=mWx+l_L%EQTED3d^$_!m&$yEhU+y$7Hh3D%kejWaXX<32ehE71;s4@VsGD~4Y zUFqxY&jbK$JW^m<7AmEpKl#08>vlH5x>04`z`QjXwc&{kS(0$jJ?0WGbQx^aROToG z)*mWp_xjlVau`Wzts7M)jsHLt(w83jFn1r|R0Wi*80qAJizSd;RgjZ2c=bU75PtFi zrv&h-$@A=N?{3|))8JVMqM z2$fP119N=QB<%u@B4DvIx^a7s+YuR2Nc(NEy=E&BRnx-IHRhcNd8R!^YHb;d3rW0G zp9YE-*%_g@T361|DMTTS;fX!}&;P(B0RwZ4oSgB$*NrOM+1`(A3FPDq2IlzEqzC30 zld0=p|GKfbJpt`r-#;aCoy{jGE3<@luYc*c+2jK^d-}Kx)X+8NZ9cQ7MtGZzZRi@C zOkKYU3{PwvbdTXE!i{b~=z(r+Zm^u3iTr@XEUyheFvqaZ&q7@{)PTLo0~bqRGIhC} d+8`u8e*vpp8td?2U@8Cr002ovPDHLkV1f>4Y}fz* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json b/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json new file mode 100644 index 0000000000..bc90b509a1 --- /dev/null +++ b/Resources/Textures/Mobs/Species/Diona/parts.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/ParadiseSS13/Paradise/commit/924e8cc949a40ea64a978656dbbc0b43b4a8f33a and modified by EmoGarbage", + "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 + } + ] +} diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/r_arm.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/r_arm.png new file mode 100644 index 0000000000000000000000000000000000000000..36c2665adfb6a04a20db174fd4d6b8e0baa86085 GIT binary patch literal 511 zcmVPx$xk*GpRCt{2+PzA{U>F79Q>z6{B}D2UPD(I?Ah^`ULBS~?*@8o^z)Ns&bnzA( zo!q*(y13}#pn@$$Iyl%L48bIVBA-(RwWLXDA_?c2Q#d(%-#hdTKtx1DL_|cCd8V!k z%g{vB=f{!^lQvUVg(AyXSz1I;!k)DrT1FwAXz8&GO-NH^tZ56lxozUCRu6s0fhWK+ zG-2v$VLa{+ zJm1BW@8Yrb1x1#V$dsyB1qAD|UdKb*euM2eN##mSJBOP9fO%y)kud)uRsomC*8qUZob=;Eq%4bdhb==B#pM~iH@euW zYUp)5Jhq-QJqv~kzGtnA$yXmhHb0yoA|fIp0N>y1h^HKb&rtvX002ovPDHLkV1mC- Bn-8yNl0*g%SUy;0~c*hq>=7PI+aU_W! zJn5yuH*L|hX+f)2oUrt0-sZJ_;w-NJ_ov8|KdJ1yqkEoNKoAKqGF&QiD(Sm9?WXCo z?LMbIh)h;8&dg2^y|PO8#o2U*15P=7ON&@hinbwL-Tiw6gPA{LbWv;;So8GFE zja>BJ^Bfg?v4@4ZJJ{ley>!=&4kYkTe5TRmdX-RVmIjXy)(?SAx9-IVzJ1Pk^lSRB zRdct#Zt?zD>9RaDPx$oJmAMRCt{2+D}UYK^O+`*Q`X>MO^G3d9YYoPeKGiUtvM^wh;_;?Ak}^D+FHZ z7DAsO2s(NbqE2Ci7>jA7$aLB$x-_#hx|`4MzR#}j&ddt$O9TJ_000005If9sxX%0q zo#9b2&*A&KHk};pX)8jk3lJI%-?U{Xq5z}uL|gWv>cBdy@oaBM)k>Kjo;uXHYNuo} znvIt5buyH%fI|P{>&FLXMk=G(Xr;paZyr8VwNlo07%DA*@7jEObAw8&1`!ciB_mQ^ z_hmr+i*@Oh^cTuQ!#AbkfqmEJ#X^BzgMcot@29dQl&Q0tk|pcAHuqgy>wkenP*qR> z00000000000001C$EOGXqER8;9PM=nL=>Nnjcof&s^J(mK+{_mouA##ylKfiha0)P zR1;Nr1u)OyftevAm#4{NPxNwa){3Uob;1Q0jVEN44Cx!H#ysc8OoAw>Ga%gmv-W); zP45|Ga9yrTOX>F4mqR;Yfi_@% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/r_leg.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/r_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..03389a22825677d645d93fc53e1f473c88d097fd GIT binary patch literal 711 zcmV;&0yzDNP)Px%fk{L`RCt{2+COL$Q5*;GZ;WZ^U5@7+Y10q|8$wSg6eJK4I_TgMC>ex6;lQ!z zzdAgX4A)UpDaS*}K5~xe%n#>)OW{0Nj3blf5^?AV62#-&;eS+!i?V?%+? z7zUn)+Kw$XA%O$nX-U)@Hk$1YbjAQowuV?8Q8LmhR?Q{ce{mO9#gv+m-v&U;uo$S$ zm_Peb4_?f^IF#Q!eJ@={paI-_c#|LXM_|Ka06;#Mh2wUmms{AX0Pv`TAkL&|1qwjaOZ_y>b_c-O192`z{RJX~5JCtc zgb+dqA%qZe-c0qsUu0zZy^;T4etu;ERlUpKp3Rf_fh+}?b0juT`06eoO=ls@wgLyhNUNuI z!g0Isv}8EFI)$et;kaFFZ5Bh>Zd2`}#}97t^rGs21?Cd*nco$#DrP9D`KitTF?h%A tLT3#5Ty`c0pkP%@p3h}x)f^%JvLCN5>If?WCXWCB002ovPDHLkV1jFXJvsmY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_f.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_f.png new file mode 100644 index 0000000000000000000000000000000000000000..afba89a1d53ba62c3039f146beb18beaec14a2b0 GIT binary patch literal 1815 zcmV+y2k7{TP)Px*(Md!>RCt{2nonpW=M}(zT2=B&yjGk^5G_q}=Fd*94^;Njun;o;%o@dA)vPn-7Rjn$NS)qR^=D_5Ss ziW^RDTFWn+LZA?8|DRt^oAzts{zoZy~8td*);zwJ)~tAsER_%Fvw-o>=#NbEyU61CH4y?cJ|7?wfwUA!S*MP6&c0G zYRU`-{7B(hOYTSI2izV6Xc-2Q$^b~=St6=zx&E}sW>V}I zO7y-AlX>E8OAB!-wK~$1rP$NLgmj75Z)ui(P8ex`rG+>LjV6P3lWZpSryleO}_m*FGw>I{t)4xbNpbkIwnY55LdD z(?=7XJit=w<+pznpF{rjLwx^w8U5Bv81*kWlWy>6@HIbuH9;(@aagIjnmml~fMWF+ z{rxnBgEFDTIqu!P@7q|#qzb`+A48tu_DTOzHV6i;wdq)Ny63}8a~kKQ)dq%fpmlgg z2>7V{08N+3Wzz%$e$&kZxYhtWdu3lR;5Yjh19tA-_lZEw+8`kp7gD!0mF4F?jK8& zYuMQ<`$Ekws-lp~rup1|K{6Jla8RaY82tXPzanv`ZRy|!$I6P$kchs5Y$iqHv_s-f zoA&#!P&g=0#RxFm4uF&swK~~M%K8&g zc|raK`-RffCNB_PC-wj^j7Q^49vq}WJ4*X8{={&tiM%g1CB@&4r@**qy2POU7=2#i zq%{lO^RdQp{4ylm@3mW+wcp>_EBnNIfvPC3x1ny?-Yxk$-E(?cn42g4XReJirsE&w z*VE=3@BWfc-}}rmfVd{ILoybnQmapW8B7w#F#zDx_da`Wq&4K3i751K|R+uw`y^gTR0JUl!+JUl!+JUl#HBFf_5wH~50Kkn~cy}PgFm(5VK3k*wP zqBL#)KCrp9;;KIHhNs8gSWTI#qVT!@0=r&r%JQy0iiVn9a@jPE(+-tdov#uSDhi@{ ze9~&unQ&Fu&fuuY?|$=|8Bt}5)nime;j2gx<>;KGtv|sHu0DyuumGaZOC)1adWUC3 zR2hJu|KZ1OhZ-9pE27Hu4$nx&qUiI|ScMT+9v~1_7F{7!q1ygQ`7)dMY+@xqbdp?zGb);J}w`=HT)F6UnmWYun@&X94jj_ zfGB_WF9xWJ!mH_5thlgWC|PCnG3R(K_GT?1Q}iv_^>UL594`S)mk0*@WHTv}v8ZKj zQ5zHiNYv~m*(xW-5@QQlqB^W93dvZMY$io8;KxmamaEE8Hj}z!anUl7H}ay4(*SJko6{bY%d0{spYQfQTy7zZjtDl67qwL{u3~m*`&%h^X?VrigL(BO?u9 zkEVb7(?0;LjZmdl=jhL})i7bN*-r~0!!BEFgzP##t^4zEv`*IY%ciDF433)k6B_nN zEc$jri*xi2&j2RgCI`b9)V~-!Bg?)Y5nUtxghsQ`arI8%inaXmrRM0T`Cs17p2u~v zHda&SG#a!=a-EA!BMrLM;X7rLiv8bC(!;~U!^7jn<{L-Ph8@X-_xu0=002ovPDHLk FV1fb!hMNEY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png b/Resources/Textures/Mobs/Species/Diona/parts.rsi/torso_m.png new file mode 100644 index 0000000000000000000000000000000000000000..afba89a1d53ba62c3039f146beb18beaec14a2b0 GIT binary patch literal 1815 zcmV+y2k7{TP)Px*(Md!>RCt{2nonpW=M}(zT2=B&yjGk^5G_q}=Fd*94^;Njun;o;%o@dA)vPn-7Rjn$NS)qR^=D_5Ss ziW^RDTFWn+LZA?8|DRt^oAzts{zoZy~8td*);zwJ)~tAsER_%Fvw-o>=#NbEyU61CH4y?cJ|7?wfwUA!S*MP6&c0G zYRU`-{7B(hOYTSI2izV6Xc-2Q$^b~=St6=zx&E}sW>V}I zO7y-AlX>E8OAB!-wK~$1rP$NLgmj75Z)ui(P8ex`rG+>LjV6P3lWZpSryleO}_m*FGw>I{t)4xbNpbkIwnY55LdD z(?=7XJit=w<+pznpF{rjLwx^w8U5Bv81*kWlWy>6@HIbuH9;(@aagIjnmml~fMWF+ z{rxnBgEFDTIqu!P@7q|#qzb`+A48tu_DTOzHV6i;wdq)Ny63}8a~kKQ)dq%fpmlgg z2>7V{08N+3Wzz%$e$&kZxYhtWdu3lR;5Yjh19tA-_lZEw+8`kp7gD!0mF4F?jK8& zYuMQ<`$Ekws-lp~rup1|K{6Jla8RaY82tXPzanv`ZRy|!$I6P$kchs5Y$iqHv_s-f zoA&#!P&g=0#RxFm4uF&swK~~M%K8&g zc|raK`-RffCNB_PC-wj^j7Q^49vq}WJ4*X8{={&tiM%g1CB@&4r@**qy2POU7=2#i zq%{lO^RdQp{4ylm@3mW+wcp>_EBnNIfvPC3x1ny?-Yxk$-E(?cn42g4XReJirsE&w z*VE=3@BWfc-}}rmfVd{ILoybnQmapW8B7w#F#zDx_da`Wq&4K3i751K|R+uw`y^gTR0JUl!+JUl!+JUl#HBFf_5wH~50Kkn~cy}PgFm(5VK3k*wP zqBL#)KCrp9;;KIHhNs8gSWTI#qVT!@0=r&r%JQy0iiVn9a@jPE(+-tdov#uSDhi@{ ze9~&unQ&Fu&fuuY?|$=|8Bt}5)nime;j2gx<>;KGtv|sHu0DyuumGaZOC)1adWUC3 zR2hJu|KZ1OhZ-9pE27Hu4$nx&qUiI|ScMT+9v~1_7F{7!q1ygQ`7)dMY+@xqbdp?zGb);J}w`=HT)F6UnmWYun@&X94jj_ zfGB_WF9xWJ!mH_5thlgWC|PCnG3R(K_GT?1Q}iv_^>UL594`S)mk0*@WHTv}v8ZKj zQ5zHiNYv~m*(xW-5@QQlqB^W93dvZMY$io8;KxmamaEE8Hj}z!anUl7H}ay4(*SJko6{bY%d0{spYQfQTy7zZjtDl67qwL{u3~m*`&%h^X?VrigL(BO?u9 zkEVb7(?0;LjZmdl=jhL})i7bN*-r~0!!BEFgzP##t^4zEv`*IY%ciDF433)k6B_nN zEc$jri*xi2&j2RgCI`b9)V~-!Bg?)Y5nUtxghsQ`arI8%inaXmrRM0T`Cs17p2u~v zHda&SG#a!=a-EA!BMrLM;X7rLiv8bC(!;~U!^7jn<{L-Ph8@X-_xu0=002ovPDHLk FV1fb!hMNEY literal 0 HcmV?d00001