diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml index b40f9d0147..9020fa1457 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_livestock.yml @@ -21,7 +21,7 @@ cost: 1000 category: Livestock group: market - + - type: cargoProduct name: "cat crate" id: LivestockCat @@ -37,7 +37,7 @@ - type: cargoProduct name: "chicken crate" id: LivestockChicken - description: "A crate containing a four fully grown chickens" + description: "A crate containing four fully grown chickens" icon: sprite: Mobs/Animals/chicken.rsi state: icon-1 @@ -45,7 +45,19 @@ cost: 1500 category: Livestock group: market - + +- type: cargoProduct + name: "duck crate" + id: LivestockDuck + description: "A crate containing six fully grown ducks" + icon: + sprite: Mobs/Animals/duck.rsi + state: icon-0 + product: CrateNPCDuck + cost: 2000 + category: Livestock + group: market + - type: cargoProduct name: "corgi crate" id: LivestockCorgi @@ -57,7 +69,7 @@ cost: 1000 category: Livestock group: market - + - type: cargoProduct name: "cow crate" id: LivestockCow @@ -93,7 +105,7 @@ cost: 1500 category: Livestock group: market - + - type: cargoProduct name: "gorilla crate" id: LivestockGorilla @@ -117,7 +129,7 @@ cost: 1500 category: Livestock group: market - + - type: cargoProduct name: "parrot crate" id: LivestockParrot @@ -153,4 +165,3 @@ 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 26c7bcb3ca..d17c86efeb 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/npc.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/npc.yml @@ -42,6 +42,21 @@ amount: 4 +- type: entity + id: CrateNPCDuck + name: duck crate + parent: CrateLivestock + components: + - type: StorageFill + contents: + - id: MobDuckMallard + amount: 2 + - id: MobDuckWhite + amount: 2 + - id: MobDuckBrown + amount: 2 + + - type: entity id: CrateNPCCorgi name: corgi crate diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 6eef69a7ab..51253cf3e7 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -107,6 +107,72 @@ meat: FoodMeatChicken pieces: 1 +- type: entity + name: mallard duck #Quack + parent: SimpleMobBase + id: MobDuckMallard + description: An adorable mallard duck, it's fluffy and soft! + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: duck-0 + sprite: Mobs/Animals/duck.rsi + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: duck-0 + crit: dead-0 + dead: dead-0 + - type: Butcherable + meat: FoodMeatDuck + pieces: 1 + +- type: entity + name: white duck #Quack + parent: SimpleMobBase + id: MobDuckWhite + description: An adorable white duck, it's fluffy and soft! + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: duck-1 + sprite: Mobs/Animals/duck.rsi + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: duck-1 + crit: dead-1 + dead: dead-1 + - type: Butcherable + meat: FoodMeatDuck + pieces: 1 + +- type: entity + name: brown duck #Quack + parent: SimpleMobBase + id: MobDuckBrown + description: An adorable brown duck, it's fluffy and soft! + components: + - type: Sprite + drawdepth: Mobs + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: duck-2 + sprite: Mobs/Animals/duck.rsi + - type: Appearance + visuals: + - type: DamageStateVisualizer + normal: duck-2 + crit: dead-2 + dead: dead-2 + - type: Butcherable + meat: FoodMeatDuck + pieces: 1 + - type: entity name: butterfly parent: SimpleMobBase diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml index 2c9f0a023f..0015bfbaeb 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml @@ -303,6 +303,16 @@ state: chicken # Tastes like bun, chicken. +- type: entity + name: duck sandwich # Burger for you sick bastards + parent: FoodBurgerBase + id: FoodBurgerDuck + description: A duck sandwich, only the criminally insane would dare to eat the meat of such an adorable creature. + components: + - type: Sprite + state: chicken +# Tastes like bun, duck. + - type: entity name: cheese burger parent: FoodBurgerBase diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index 7a80ede362..a89ec0fffa 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -139,6 +139,27 @@ count: 3 slice: FoodMeatChickenCutlet +- type: entity + name: raw duck meat + parent: FoodMeatBase + id: FoodMeatDuck + description: A slab of raw duck. Remember to wash your hands! + components: + - type: Tag + tags: + - Raw + - type: Sprite + state: bird + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Toxin + Quantity: 1 + - type: SliceableFood + count: 3 + slice: FoodMeatDuckCutlet + - type: entity name: raw crab meat parent: FoodMeatBase @@ -508,6 +529,31 @@ - ReagentId: Nutriment Quantity: 15 +- type: entity + name: cooked duck + parent: FoodMeatBase + id: FoodMeatDuckCooked + description: A cooked piece of duck. Best used in other recipes. + components: + - type: Tag + tags: + - Cooked + - type: Food + trash: FoodPlateSmall + - type: Sprite + layers: + - state: plate-meat + - state: bird-cooked + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Nutriment + Quantity: 10 + - type: SliceableFood + count: 3 + slice: FoodMeatDuckCutletCooked + - type: entity name: cooked crab parent: FoodMeatBase @@ -702,6 +748,26 @@ - ReagentId: Toxin Quantity: 1 +- type: entity + name: raw duck cutlet + parent: FoodMeatBase + id: FoodMeatDuckCutlet + description: A cutlet of raw duck. Remember to wash your hands! + components: + - type: Tag + tags: + - Raw + - Cutlet + - type: Sprite + state: cutlet + color: white + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Toxin + Quantity: 1 + - type: entity name: raw lizard cutlet parent: FoodMeatBase @@ -886,6 +952,25 @@ - ReagentId: Nutriment Quantity: 10 +- type: entity + name: duck cutlet + parent: FoodMeatBase + id: FoodMeatDuckCutletCooked + description: A cutlet of cooked duck. Remember to wash your hands! + components: + - type: Tag + tags: + - Cooked + - Cutlet + - type: Sprite + state: cutlet-cooked + color: white + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Nutriment + Quantity: 10 - type: entity name: lizard cutlet diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 807ae545d0..1c88dd7f61 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -306,6 +306,8 @@ - HydroponicsSeedsExotic - LivestockMonkeyCube - LivestockCow + - LivestockChicken + - LivestockDuck - FoodPizza - ServiceJanitorial - ServiceLightsReplacement diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/dead-0.png b/Resources/Textures/Mobs/Animals/duck.rsi/dead-0.png new file mode 100644 index 0000000000..44734920cd Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/dead-0.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/dead-1.png b/Resources/Textures/Mobs/Animals/duck.rsi/dead-1.png new file mode 100644 index 0000000000..99d6429e9c Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/dead-1.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/dead-2.png b/Resources/Textures/Mobs/Animals/duck.rsi/dead-2.png new file mode 100644 index 0000000000..017f0872bd Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/dead-2.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/duck-0.png b/Resources/Textures/Mobs/Animals/duck.rsi/duck-0.png new file mode 100644 index 0000000000..9f4d844f56 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/duck-0.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/duck-1.png b/Resources/Textures/Mobs/Animals/duck.rsi/duck-1.png new file mode 100644 index 0000000000..9c4792a284 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/duck-1.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/duck-2.png b/Resources/Textures/Mobs/Animals/duck.rsi/duck-2.png new file mode 100644 index 0000000000..6cb76da1c2 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/duck-2.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/icon-0.png b/Resources/Textures/Mobs/Animals/duck.rsi/icon-0.png new file mode 100644 index 0000000000..c6d8faceae Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/icon-0.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/icon-1.png b/Resources/Textures/Mobs/Animals/duck.rsi/icon-1.png new file mode 100644 index 0000000000..80c8c57f32 Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/icon-1.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/icon-2.png b/Resources/Textures/Mobs/Animals/duck.rsi/icon-2.png new file mode 100644 index 0000000000..ebd56a41ed Binary files /dev/null and b/Resources/Textures/Mobs/Animals/duck.rsi/icon-2.png differ diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/meta.json b/Resources/Textures/Mobs/Animals/duck.rsi/meta.json new file mode 100644 index 0000000000..d348ce5991 --- /dev/null +++ b/Resources/Textures/Mobs/Animals/duck.rsi/meta.json @@ -0,0 +1,71 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC0-1.0", + "copyright": "Created By https://github.com/Mith-randalf", + "states": [ + { + "name": "icon-0", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "icon-1", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "icon-2", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "duck-0", + "directions": 4 + }, + { + "name": "duck-1", + "directions": 4 + }, + { + "name": "duck-2", + "directions": 4 + }, + { + "name": "dead-0", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "dead-1", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "dead-2", + "delays": [ + [ + 1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Mobs/Animals/duck.rsi/note.txt b/Resources/Textures/Mobs/Animals/duck.rsi/note.txt new file mode 100644 index 0000000000..872109e92f --- /dev/null +++ b/Resources/Textures/Mobs/Animals/duck.rsi/note.txt @@ -0,0 +1 @@ +Eventually we'll have some kind of unifying "RandomSpriteStateComponent" but til now i'm just leaving these here in protest. \ No newline at end of file