From b45bd3b396542fd4e5406d77a9684bcf166a9a90 Mon Sep 17 00:00:00 2001 From: ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com> Date: Mon, 3 Jan 2022 02:47:35 -0500 Subject: [PATCH] Adds Ducks (#5997) * Add Ducks * Update cargo_livestock.yml --- .../Catalog/Cargo/cargo_livestock.yml | 25 ++++-- .../Prototypes/Catalog/Fills/Crates/npc.yml | 15 ++++ .../Prototypes/Entities/Mobs/NPCs/animals.yml | 66 ++++++++++++++ .../Objects/Consumable/Food/burger.yml | 10 +++ .../Entities/Objects/Consumable/Food/meat.yml | 85 ++++++++++++++++++ .../Machines/Computers/computers.yml | 2 + .../Textures/Mobs/Animals/duck.rsi/dead-0.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/dead-1.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/dead-2.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/duck-0.png | Bin 0 -> 16508 bytes .../Textures/Mobs/Animals/duck.rsi/duck-1.png | Bin 0 -> 16508 bytes .../Textures/Mobs/Animals/duck.rsi/duck-2.png | Bin 0 -> 16508 bytes .../Textures/Mobs/Animals/duck.rsi/icon-0.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/icon-1.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/icon-2.png | Bin 0 -> 4196 bytes .../Textures/Mobs/Animals/duck.rsi/meta.json | 71 +++++++++++++++ .../Textures/Mobs/Animals/duck.rsi/note.txt | 1 + 17 files changed, 268 insertions(+), 7 deletions(-) create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/dead-0.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/dead-1.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/dead-2.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/duck-0.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/duck-1.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/duck-2.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/icon-0.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/icon-1.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/icon-2.png create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Animals/duck.rsi/note.txt 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 0000000000000000000000000000000000000000..44734920cde861c4919bbfb2560f9b276a4ff40e GIT binary patch literal 4196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEV2xxn{IEF-UGAan%e-9KL1*0J_ z8UmvsFd71*Auz&2fRS4MpEz;i|NZ;-!;QOq`7)S&_wHT1cCf&85MY=VG5iN9IsK8H zfnn}XxS=qM9UL4OKo|xN95}!*Y0@MZ7bi`W13;Fa?qgsG>0w}ym-@*d;->ij1(!b9 zP-Khi>+2aB8yn%`pb!Cu08Yz65=1!wr0{=(14Ago0T2@mGz6|OL>8_Fvq8QEf%OI- z7%qWX#1rtK#H9sjF*xWMA0KBh<^Rbbu!aw=^d74yoDE{=>gs|W0b&PU5MbD_VFN+) qL25_AXb6mkz-S1JhQMeD3}^_rtai$orTt?f$Pu2delF{r5}E*&NK%Xd literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..99d6429e9c4a526be7029b6d1909aa3a530f8481 GIT binary patch literal 4196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEV2xxn{IEF-UGAan%e-9KL1*0J_ z8UmvsFd71*Auz&2fRS4MpEz;i|NZ;-V;Hw#!v?%|uwdxGApo)fBn7er*-)6p4h{|s zAPfTs4jcfhh4FFGL^%LtNq&Al!^MjiVU~a$12Pn3DF}l=eSJMcV`C$j4HCl^B49}* zf+z=o)c`6eu6{1- HoD!M<8B|a~ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..017f0872bd4ead2cc62fbb86cf74d93eb94bc20a GIT binary patch literal 4196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEV2xxn{IEF-UGAan%e-9KL1*0J_ z8UmvsFd71*Auz&2fRS4M&u~-xfA_{)4C8h``h?dG77QIY1V9#mq(GJ+8w#^nK#G;Y zSV{t}`@^%}V6|`o91JEL;wZu(OJ?l4&j7Z>NrC~yca`G;emJC`A4kAIZ=+xm-QZ*Dx2<_mc;G#=X3xZoNE+Q5+anM0$ zhl*rzQ82eT1c#ELD1=al(nU}aAvm1xd+itA9oKO8dUrwi4leiI-Fx5v|9#pl;k%cn&Q#X^4Zo?%Rx{kFKu8xvpxOn?b60Vco% zm;e)C0!)AjFaajO1egF5U;<2F6oHE?;NU*0O`P|}t*?$PDKAm$98d=lGIma60B{#u z;zfWUNFU>n-lJ`PGbO!r9s|Vb1#_c@WG*zL7{o!{B*F}={WfLyODi^@u_U+7&y)Z$ zkdhb!?8HfW@M38GRz}TdfFJiwYpq^sW5oTA8v#h|v)jkUi5=8hj78c}0iBVqeB8V%>=^>x4< zuKeq96^tykD9olmn8I2m-M8t=OZZ(UiM^zc!Ze;ttY^)fI}+|S3nq1GOT+f zeYMh)&_@mYDxh(D{U_x?=*vR%>LZV!kA838(C6xVsv3t*q}f5$RAbF_THR20T-s%!rR#!_x}M%$4Tk{ literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9c4792a284f5f65ac886b6be8d3541a3ae108c3b GIT binary patch literal 16508 zcmeI4F>BjE6vt1YloIgLZk<9+ra1c0V zx_B*^>{=sP3xPvg^DGVj+tB4JY6oA*`XH%F9LuNeax$Z3}Ns0`x_2EV_Eyo zw4muCw>?`YIv90)pJWH-p~rka-$oZ@g5g7|}PXt*3NY@H=Z z62-a$;Qr*~B(n8md*5s}i#nZ7rjNO;AJ_LqqlNQWOrOio;k#`qBWZhR!>-y;gYviwIYZ(j&m6;77K;0kTZHZfqt>=>uwNCA88e1fIgV` z{CxZ`lVFgIN$_uM>w=`);?}>0mI(`JYawYPDKf`O7(~anh82nXVab2nMcW zu<8KojZUS~@C1a~d;o7sAG$i{%2&M*44y*_S<##Cyyo0|B7DwGO>^#3v*;VTO=%+* z7y5g}r0SfPC0%B#=HNEk^l*i011!)36KB@kN^pg x011!)36KB@kN^q%Hv~@aUjNd`9O3^0)J*EOb@~0z&Eq#L?|nGy{&;_J`vib-cl!VU literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6cb76da1c2f59a04248df2167b15c4917383614b GIT binary patch literal 16508 zcmeI4PiqrV6vf|&)>5bl*+^P68Y+UzF8s47v81&DDI$J=E?v4TxG=a8KSBEuy6Q$( z6|}f_F9j)xEd>#ZtI|T_JI~(XGEBGI>riROec zX0o@`eP-YLc597~+1H(0FK29Qdfi9QSCgdG+5K$ya*zNCkN^pg011!)36KB@kN^pg z011!)36KB@kidBaUM$`mU_0-an4i_HuXC%)OK6=7I*F3;;A-=d!DdJ0O#l$0kGQ1w zpocG9zv8^CZ|$0xUNAQ_kT*0#ByrJq5^Ki1Z8hELhl?i$#;P3Ozx_6|&1+5)@hFVd zmD`TV+QS>JI7xpy3E^wd@1(^(yWm1h>*nxo09)|HnsLSu2Xj<#qK`lRB<=l%(??wJ zwCIP0D!MkR=d?|hHiJIKH}<{-=p{(UzDCNPhvjfoZUJb(ub&Rg;r>b4G)f;24QPdG zdao--;A{6VR@F)X{p_;ezSF2oA9-gzKpzbmlY?-FhR(lG?(a7q+>_q|=)$SEbTi<} zm&DaP4gw5@>QX(oj%DSUo&Wb;Kt972f)Pt!bdfto_P&e)VPD8A)d{H=ctGBwr9Mhm zB59JM9K3D^5P=C9+3uA6vEEUHtiBW`mL}$v#+Txw*w~~X+EXkaT1)hy1y9(@awxq5 zKx}$^Z17}m3Sl}veAzQUkB+_OOD8E9)TN)Nt1VZ-AhZXsCxWv=r}t!ZT~);g@VfM& zYgfOa-^iJgvNa zq4b8$BhTt}Xp5$J80L}tNq_`MfCNZ@1W14cNPq-LfCNZ@1W14cNPqZ(gU`fEJrYsV<(CpkOMS-f`wLpaezxPHXIg}rL3$B4h4`Suz^XFCNbQ-dzWbQU}lh{0X-^UhJfe|8#a(+7P4Nl*#8?G x{(~@CnyIB}P&k5Go*6Y~Gz3ONU^D~hw-98xgM$OZ zfddB^^7HdaGLxtf03|e#Z6J$47K1DUVHf~e3J5iJn9bC%F%K!87@=!D*b0$ri#BlfSU82o{=_NV@K!yW@7-#k($8wk>$f8Nj v?_^m*NYkKj1R+O`%8!P?Xb6mkz@QI-r+Y$*qFjPkgBgTe~DWM4fq%&ly literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..ebd56a41ed30d829e86f95041b54f04ba37a400e GIT binary patch literal 4196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=hEV2xxn{IEF-UGAan%e-9KL1*0J_ z8UmvsFd71shd_p#;(rh($0R0lG$HG8mE-#_AjQfsW7mBKavZ^kY#2FgkOPdJB*0qR z6{O%sFg6?@%4`<64k|E+wG`PZiXE`~(I-ZReGLDVHH4APC7MlCFrk|UitD>K-ok}J zmV?s4hiAV*X@Mj&i3$NwJcDe5`4VKAu@ofULE<2bK>*oNU;!csq8tD+2j)wdnP>OC z05f6YFh{`TiKU4SE*TEC|2}roIL+O1=qbaKAHRq;4`vY2ApkNQ7{oXW8*(g%If5+u ze}lt+5GG4AwKNS1M^MW%qvni;z-S1JhQNS@z#&Dq-HVH+y#YDE)78&qol`;+0CE;r AYXATM literal 0 HcmV?d00001 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