From df70984c5261b2de9e22e16950867cb48a003405 Mon Sep 17 00:00:00 2001 From: Peptide90 <78795277+Peptide90@users.noreply.github.com> Date: Fri, 2 Apr 2021 11:41:00 +0100 Subject: [PATCH] Adds more mob crates for livestock (#3604) * Adds livestock crate sprites and cargo crates Goat and butterfly * Sorted NPC crates. Added more mobs Alphabetized NPC crates & Cargo_livestock Added all current mob crates to cargo. Added remaining mobs as crates. Fixed .rsi naming Added descriptions to livestock crates Added construction graph for crates under new category "storage" * Added bees, chickens and gorillas NPC Crates for cargo * Fixed cargo console icons * Alphabetised NPC animals * Randomizer comment * removed livestock from cargo console * Fix chickenmob * Update yml Co-authored-by: metalgearsloth --- .../Catalog/Cargo/cargo_livestock.yml | 156 ++++++++ .../Prototypes/Catalog/Fills/Crates/npc.yml | 145 ++++++-- .../Storage/Crates/crate_types.yml | 54 +++ .../Prototypes/Entities/Mobs/NPCs/animals.yml | 333 ++++++++++-------- .../Crafting/Graphs/cratelivestock.yml | 25 ++ .../Prototypes/Recipes/Crafting/crates.yml | 11 + .../Crates/livestock.rsi/livestockcrate.png | Bin 0 -> 592 bytes .../livestock.rsi/livestockcrate_door.png | Bin 0 -> 346 bytes .../livestock.rsi/livestockcrate_open.png | Bin 0 -> 251 bytes .../Storage/Crates/livestock.rsi/meta.json | 23 ++ 10 files changed, 559 insertions(+), 188 deletions(-) create mode 100644 Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml create mode 100644 Resources/Prototypes/Recipes/Crafting/Graphs/cratelivestock.yml create mode 100644 Resources/Prototypes/Recipes/Crafting/crates.yml create mode 100644 Resources/Textures/Constructible/Storage/Crates/livestock.rsi/livestockcrate.png create mode 100644 Resources/Textures/Constructible/Storage/Crates/livestock.rsi/livestockcrate_door.png create mode 100644 Resources/Textures/Constructible/Storage/Crates/livestock.rsi/livestockcrate_open.png create mode 100644 Resources/Textures/Constructible/Storage/Crates/livestock.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml new file mode 100644 index 0000000000..3df323eb5f --- /dev/null +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -0,0 +1,156 @@ +- type: cargoProduct + name: "bee crate" + id: livestockbee + description: "A crate containing a swarm of eight bees" + icon: + sprite: Mobs/Animals/bee.rsi + state: 0 + product: CrateNPCBee + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "butterfly crate" + id: livestockbutterfly + description: "A crate containing five butterflies" + icon: + sprite: Mobs/Animals/butterfly.rsi + state: butterfly + product: CrateNPCButterflies + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "cat crate" + id: livestockcat + description: "A crate containing a single cat" + icon: + sprite: Mobs/Pets/cat.rsi + state: cat + product: CrateNPCCat + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "chicken crate" + id: livestockchicken + description: "A crate containing a four fully grown chickens" + icon: + sprite: Mobs/Animals/chicken.rsi + state: icon-1 + product: CrateNPCChicken + cost: 1500 + category: Livestock + group: market + +- type: cargoProduct + name: "corgi crate" + id: livestockcorgi + description: "A crate containing a single corgi" + icon: + sprite: Mobs/Pets/corgi.rsi + state: corgi + product: CrateNPCCorgi + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "cow crate" + id: livestockcow + description: "A crate containing a single cow" + icon: + sprite: Mobs/Animals/cow.rsi + state: cow + product: CrateNPCCow + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "goat crate" + id: livestockgoat + description: "A crate containing a single goat" + icon: + sprite: Mobs/Animals/goat.rsi + state: goat + product: CrateNPCGoat + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "goose crate" + id: livestockgoose + description: "A crate containing two geese" + icon: + sprite: Mobs/Animals/goose.rsi + state: goose + product: CrateNPCGoose + cost: 1500 + category: Livestock + group: market + +- type: cargoProduct + name: "gorilla crate" + id: livestockgorilla + description: "A crate containing a single gorilla" + icon: + sprite: Mobs/Animals/gorilla.rsi + state: icon + product: CrateNPCGorilla + cost: 2000 + category: Livestock + group: market + +- type: cargoProduct + name: "monkey cube crate" + id: livestockmonkeycube + description: "A crate containing three boxes of monkey cubes " + icon: + sprite: Mobs/Animals/monkey.rsi + state: monkey + product: CrateNPCMonkeyCube + cost: 1500 + category: Livestock + group: market + +- type: cargoProduct + name: "parrot crate" + id: livestockparrot + description: "A crate containing three parrots" + icon: + sprite: Mobs/Animals/parrot.rsi + state: parrot + product: CrateNPCParrot + cost: 1000 + category: Livestock + group: market + +- type: cargoProduct + name: "penguin crate" + id: livestockpenguin + description: "A crate containing two penguins" + icon: + sprite: Mobs/Animals/penguin.rsi + state: penguin + product: CrateNPCPenguin + cost: 2000 + category: Livestock + group: market + +- type: cargoProduct + name: "snake crate" + id: livestocksnake + description: "A crate containing three snakes" + icon: + sprite: Mobs/Animals/snake.rsi + state: snake + product: CrateNPCSnake + cost: 1000 + category: Livestock + group: market + \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml index 130c076815..775b90313f 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -1,69 +1,140 @@ +- type: entity + id: CrateNPCBee + name: crate of bees + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: BeeMob_Content + amount: 8 + + +- type: entity + id: CrateNPCButterflies + name: crate of butterflies + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: ButterflyMob_Content + amount: 5 + + +- type: entity + id: CrateNPCCat + name: cat crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: CatMob_Content + amount: 1 + + +- type: entity + id: CrateNPCChicken + name: chicken crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: ChickenMob_Content + amount: 4 + + +- type: entity + id: CrateNPCCorgi + name: corgi crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: CorgiMob_Content + amount: 1 + +- type: entity + id: CrateNPCCow + name: cow crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: CowMob_Content + amount: 1 + + - type: entity id: CrateNPCGoat name: goat crate - parent: CrateGenericonimo + parent: CrateLivestock components: - type: StorageFill contents: - name: GoatMob_Content amount: 1 -- type: entity - id: CrateNPCButterflies - name: crate of butterflies - parent: CrateGenericonimo - components: - - type: StorageFill - contents: - - name: ButterflyMob_Content - amount: 10 - type: entity - id: CrateNPCCorgi - name: corgi crate - parent: CrateGenericonimo + id: CrateNPCGoose + name: goose crate + parent: CrateLivestock components: - type: StorageFill contents: - - name: CorgiMob_Content + - name: GooseMob_Content + amount: 2 + + +- type: entity + id: CrateNPCGorilla + name: gorilla crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: GorillaMob_Content amount: 1 - -- type: entity - id: CrateNPCCat - name: cat crate - parent: CrateGenericonimo - components: - - type: StorageFill - contents: - - name: CatMob_Content - amount: 1 - -- type: entity - id: CrateNPCSnake - name: snake crate - parent: CrateGenericonimo - components: - - type: StorageFill - contents: - - name: SnakeMob_Content - amount: 3 - + + - type: entity id: CrateNPCMonkeyCube name: monkey cube crate - parent: CrateGenericonimo + parent: BoxBase components: - type: StorageFill contents: - name: FoodContainerMonkeyCubeBox amount: 1 + - type: entity id: CrateNPCParrot name: parrot crate - parent: CrateGenericonimo + parent: CrateLivestock components: - type: StorageFill contents: - name: ParrotMob_Content amount: 3 + + +- type: entity + id: CrateNPCPenguin + name: penguin crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: PenguinMob_Content + amount: 2 + + +- type: entity + id: CrateNPCSnake + name: snake crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - name: SnakeMob_Content + amount: 3 diff --git a/Resources/Prototypes/Entities/Constructible/Storage/Crates/crate_types.yml b/Resources/Prototypes/Entities/Constructible/Storage/Crates/crate_types.yml index ef6c861def..56a7239462 100644 --- a/Resources/Prototypes/Entities/Constructible/Storage/Crates/crate_types.yml +++ b/Resources/Prototypes/Entities/Constructible/Storage/Crates/crate_types.yml @@ -510,3 +510,57 @@ state_open: weaponcrate_open state_closed: weaponcrate_door +- type: entity + id: CrateLivestock + name: livestock crate + parent: CrateGeneric + components: + - type: Sprite + sprite: Constructible/Storage/Crates/livestock.rsi + layers: + - state: livestockcrate + - state: livestockcrate_door + map: ["enum.StorageVisualLayers.Door"] + - type: Icon + sprite: Constructible/Storage/Crates/livestock.rsi + state: livestockcrate + - type: Appearance + visuals: + - type: StorageVisualizer + state_open: livestockcrate_open + state_closed: livestockcrate_door + - type: Damageable + resistances: metallicResistances + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:PlaySoundBehavior + sound: /Audio/Effects/woodhit.ogg + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank1: + min: 1 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Physics + bodyType: Dynamic + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.4, -0.4, 0.29, 0.4" + mass: 75 + mask: + - Impassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - MobImpassable + - SmallImpassable + - type: Construction + graph: CrateLivestock + node: start \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index ee225496c7..c9df5bf2aa 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2,17 +2,20 @@ #1D2L3U4R - type: entity - name: monkey - id: MonkeyMob_Content + name: bat parent: SimpleMobBase - description: New church of neo-darwinists actually believe that EVERY animal evolved from a monkey. Tastes like pork, and killing them is both fun and relaxing. + id: BatMob_Content + description: Some cultures find them terrifying, others crunchy on the teeth. components: + - type: MovementSpeedModifier + baseWalkSpeed : 6 + baseSprintSpeed : 6 - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: monkey - sprite: Mobs/Animals/monkey.rsi + state: bat + sprite: Mobs/Animals/bat.rsi - type: Physics bodyType: Dynamic fixtures: @@ -29,24 +32,25 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: monkey + normal: bat dead: dead - - type: FireVisualizer - sprite: Mobs/Effects/onfire.rsi - normalState: Monkey_burning - type: entity - name: gorilla + name: bee parent: SimpleMobBase - id: GorillaMob_Content - description: Smashes, roars, looks cool. Don't stand near one. + id: BeeMob_Content + description: Nice to have, but you can't build a civilization on a foundation of honey alone. components: + - type: MovementSpeedModifier + baseWalkSpeed : 7 + baseSprintSpeed : 7 + - type: AsteroidRock - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: crawling - sprite: Mobs/Animals/gorilla.rsi + state: 0 + sprite: Mobs/Animals/bee.rsi - type: Physics bodyType: Dynamic fixtures: @@ -63,7 +67,7 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: crawling + normal: 0 dead: dead - type: entity @@ -142,27 +146,24 @@ dead: dead - type: entity - name: bat + name: cow parent: SimpleMobBase - id: BatMob_Content - description: Some cultures find them terrifying, others crunchy on the teeth. + id: CowMob_Content + description: Moo. components: - - type: MovementSpeedModifier - baseWalkSpeed : 6 - baseSprintSpeed : 6 - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: bat - sprite: Mobs/Animals/bat.rsi + state: cow + sprite: Mobs/Animals/cow.rsi - type: Physics bodyType: Dynamic fixtures: - shape: !type:PhysShapeAabb - bounds: "-0.20,-0.20,0.20,0.20" - mass: 5 + bounds: "-0.60,-0.50,0.05,0.50" + mass: 20 mask: - Impassable - VaultImpassable @@ -172,25 +173,21 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: bat + normal: cow dead: dead - type: entity - name: bee + name: crab parent: SimpleMobBase - id: BeeMob_Content - description: Nice to have, but you can't build a civilization on a foundation of honey alone. + id: CrabMob_Content + description: A folk legend goes around that his claw snaps spacemen out of existance over distasteful remarks. Be polite and tolerant for your own safety. components: - - type: MovementSpeedModifier - baseWalkSpeed : 7 - baseSprintSpeed : 7 - - type: AsteroidRock - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: 0 - sprite: Mobs/Animals/bee.rsi + state: crab + sprite: Mobs/Animals/crab.rsi - type: Physics bodyType: Dynamic fixtures: @@ -207,7 +204,7 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: 0 + normal: crab dead: dead - type: AsteroidRockVisualizer @@ -242,7 +239,7 @@ normal: goat dead: dead -# Note that we gotta make this bitch vomit someday when you feed it anthrax or sumthin +# Note that we gotta make this bitch vomit someday when you feed it anthrax or sumthin. Needs to be a small item thief too and aggressive if attacked. - type: entity name: goose parent: SimpleMobBase @@ -274,22 +271,18 @@ normal: goose dead: dead -# Would be cool to have some functionality for the parrot to be able to sit on stuff - type: entity - name: parrot + name: gorilla parent: SimpleMobBase - id: ParrotMob_Content - description: Infiltrates your domain, spies on you, and somehow still a cool pet. + id: GorillaMob_Content + description: Smashes, roars, looks cool. Don't stand near one. components: - - type: MovementSpeedModifier - baseWalkSpeed : 6 - baseSprintSpeed : 6 - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: parrot - sprite: Mobs/Animals/parrot.rsi + state: crawling + sprite: Mobs/Animals/gorilla.rsi - type: Physics bodyType: Dynamic fixtures: @@ -306,21 +299,21 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: parrot + normal: crawling dead: dead - type: entity - name: snake + name: monkey + id: MonkeyMob_Content parent: SimpleMobBase - id: SnakeMob_Content - description: Hissss! Bites aren't poisonous. + description: New church of neo-darwinists actually believe that EVERY animal evolved from a monkey. Tastes like pork, and killing them is both fun and relaxing. components: - type: Sprite drawdepth: Mobs layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: snake - sprite: Mobs/Animals/snake.rsi + state: monkey + sprite: Mobs/Animals/monkey.rsi - type: Physics bodyType: Dynamic fixtures: @@ -337,104 +330,11 @@ - type: Appearance visuals: - type: DamageStateVisualizer - normal: snake -# It's death animation is animated so hopefully this should push for separation between "dying" and "death" states. + normal: monkey dead: dead - -# Code unique spider prototypes or combine them all into one spider and get a -# random sprite state when you spawn it. -- type: entity - name: tarantula - parent: SimpleMobBase - id: GiantSpiderMob_Content - description: Widely recognized to be the literal worst thing in existence. - components: - - type: Sprite - drawdepth: Mobs - layers: - - map: ["enum.DamageStateVisualLayers.Base"] - state: tarantula - sprite: Mobs/Animals/spider.rsi - - type: Physics - bodyType: Dynamic - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.30,-0.40,0.45,0.40" - mass: 10 - mask: - - Impassable - - VaultImpassable - - SmallImpassable - layer: - - Opaque - - type: Appearance - visuals: - - type: DamageStateVisualizer - normal: tarantula - dead: tarantula_dead - -- type: entity - name: crab - parent: SimpleMobBase - id: CrabMob_Content - description: A folk legend goes around that his claw snaps spacemen out of existance over distasteful remarks. Be polite and tolerant for your own safety. - components: - - type: Sprite - drawdepth: Mobs - layers: - - map: ["enum.DamageStateVisualLayers.Base"] - state: crab - sprite: Mobs/Animals/crab.rsi - - type: Physics - bodyType: Dynamic - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.40,-0.35,0.20,0.35" - mass: 10 - mask: - - Impassable - - VaultImpassable - - SmallImpassable - layer: - - Opaque - - type: Appearance - visuals: - - type: DamageStateVisualizer - normal: crab - dead: dead - -- type: entity - name: penguin - parent: SimpleMobBase - id: PenguinMob_Content - description: Their lives are constant pain due to their inner-body knees. - components: - - type: Sprite - drawdepth: Mobs - layers: - - map: ["enum.DamageStateVisualLayers.Base"] - state: penguin - sprite: Mobs/Animals/penguin.rsi - - type: Physics - bodyType: Dynamic - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.50,-0.30,0.35,0.30" - mass: 10 - mask: - - Impassable - - VaultImpassable - - SmallImpassable - layer: - - Opaque - - type: Appearance - visuals: - - type: DamageStateVisualizer - normal: penguin - dead: penguin_dead + - type: FireVisualizer + sprite: Mobs/Effects/onfire.rsi + normalState: Monkey_burning - type: entity name: mouse @@ -463,11 +363,11 @@ Slots: - Helmet - type: Physics - bodyType: KinematicController + bodyType: Dynamic fixtures: - shape: !type:PhysShapeAabb - bounds: "-0.50,-0.30,0.35,0.30" + bounds: "-0.30,-0.40,0.45,0.40" mass: 10 mask: - Impassable @@ -534,3 +434,134 @@ normal: mouse-2 crit: dead-2 dead: splat-2 + +# Would be cool to have some functionality for the parrot to be able to sit on stuff +- type: entity + name: parrot + parent: SimpleMobBase + id: ParrotMob_Content + description: Infiltrates your domain, spies on you, and somehow still a cool pet. + components: + - type: MovementSpeedModifier + baseWalkSpeed : 6 + baseSprintSpeed : 6 + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: parrot + sprite: Mobs/Animals/parrot.rsi + - type: Physics + bodyType: Dynamic + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.40,-0.35,0.20,0.35" + mass: 10 + mask: + - Impassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: parrot + dead: dead + +- type: entity + name: penguin + parent: SimpleMobBase + id: PenguinMob_Content + description: Their lives are constant pain due to their inner-body knees. + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: penguin + sprite: Mobs/Animals/penguin.rsi + - type: Physics + bodyType: Dynamic + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.50,-0.30,0.35,0.30" + mass: 10 + mask: + - Impassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: penguin + dead: penguin_dead + +- type: entity + name: snake + parent: SimpleMobBase + id: SnakeMob_Content + description: Hissss! Bites aren't poisonous. + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: snake + sprite: Mobs/Animals/snake.rsi + - type: Physics + bodyType: KinematicController + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.50,-0.30,0.35,0.30" + mass: 10 + mask: + - Impassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: snake +# It's death animation is animated so hopefully this should push for separation between "dying" and "death" states. + dead: dead + +# Code unique spider prototypes or combine them all into one spider and get a +# random sprite state when you spawn it. +- type: entity + name: tarantula + parent: SimpleMobBase + id: GiantSpiderMob_Content + description: Widely recognized to be the literal worst thing in existence. + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: tarantula + sprite: Mobs/Animals/spider.rsi + - type: Physics + bodyType: Dynamic + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.30,-0.40,0.45,0.40" + mass: 10 + mask: + - Impassable + - VaultImpassable + - SmallImpassable + layer: + - Opaque + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: tarantula + dead: tarantula_dead diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/cratelivestock.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/cratelivestock.yml new file mode 100644 index 0000000000..c0e5ea999b --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/cratelivestock.yml @@ -0,0 +1,25 @@ +- type: constructionGraph + id: CrateLivestock + start: start + graph: + - node: start + edges: + - to: cratelivestock + steps: + - material: WoodPlank + amount: 5 + doAfter: 5 + + + - node: cratelivestock + entity: CrateLivestock + edges: + - to: start + steps: + - tool: Prying + doAfter: 5 + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank1 + amount: 5 + - !type:DeleteEntity {} \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/crates.yml b/Resources/Prototypes/Recipes/Crafting/crates.yml new file mode 100644 index 0000000000..79a4d02bfc --- /dev/null +++ b/Resources/Prototypes/Recipes/Crafting/crates.yml @@ -0,0 +1,11 @@ +- type: construction + name: livestock crate + id: CrateLivestock + graph: CrateLivestock + startNode: start + targetNode: cratelivestock + category: Storage + description: "A wooden crate for holding livestock" + icon: Constructible/Storage/Crates/livestock.rsi/livestockcrate.png + objectType: Item + \ No newline at end of file diff --git a/Resources/Textures/Constructible/Storage/Crates/livestock.rsi/livestockcrate.png b/Resources/Textures/Constructible/Storage/Crates/livestock.rsi/livestockcrate.png new file mode 100644 index 0000000000000000000000000000000000000000..54e903e22a339064dbcb131ef83ae0bcfcbc67fa GIT binary patch literal 592 zcmV-W0 zJRrGtM5JguZAvGUUN(SHFGxs8a7QV7YgeO^e5aR#zOkcbMIuArS*p%TF~Nlqne=00001bW%=J z06^y0W&i*HZhBN$bVOxyV{&P5bZKvH004NLQ&weSBDZ7!00AUPL_t(Ijg6Cwa)TfcMO_w%k6N@gG-+z{ z|9_c%prSaP-pQDeb9P~wq^kZOD6{A07%;g3h`VBXMa&Fduv?V7&EN&UCUNAZfAn|s zOdY^ccmd^$UQ)eL;bcDXz~~vu`KVC2Y(bAQWPrI`SOA2&X}h9Y_q_^yIm1uM+< z*0O*QLLm_9^`dBxVf+Xx_(kBH38}*Zb75LLe6nD7!ZePnaBaI%7^Z15aTVGmY-jl5 zGbG`5ZB^*=4)^=_B0L_qpIN75MJ`IGP{B8p`EZkN2z1CKcwdu|MWzVhHwiTfGdyAY zWK%>JNjUIlG||B@I256-j~qmxA6l$bIC2$)i%@XcLOBa1mk!FS=v^#>7!xPqEL0ws eKix^aB;glB=^V3i85!LG00000001SNklL*xavskEOS|sVRLcq zy=I^|V@Z%-FoVOh8)-mJWmQN-iA!p6a#3bMNoIZ?14G4};IM+C((hk_3qF2*qUEit zb?(gh;0>V$7mXi0(mC&=d6J>1r+0^iaggz4V=sj{k0u?N6rvEUxl?2F5|ynQJ2_7D z`=30o-*sN!<81JwM?NQYwAi!^o;>o=_B!L+x?!ql%-@&;-xwI?RVi9a-k%)+bcBSb vi(`ny)Z~N(!U6}+dPoMiak42hbTTqTv$5MAo1iiksD{DQ)z4*}Q$iB}5F%Ou literal 0 HcmV?d00001 diff --git a/Resources/Textures/Constructible/Storage/Crates/livestock.rsi/meta.json b/Resources/Textures/Constructible/Storage/Crates/livestock.rsi/meta.json new file mode 100644 index 0000000000..e0404f8a21 --- /dev/null +++ b/Resources/Textures/Constructible/Storage/Crates/livestock.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station at https://github.com/ParadiseSS13/Paradise/blob/master/icons/obj/crates.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "livestockcrate", + "select": [] + }, + { + "name": "livestockcrate_door", + "select": [] + }, + { + "name": "livestockcrate_open", + "select": [] + } + ] +}