From 6808558df61f28930c31adfba028214e69fdaa7d Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Wed, 28 Aug 2024 13:08:55 +0000 Subject: [PATCH] add construction for carp statue (#31261) * separate eyes and teeth * make it buildable and make fixture less abusable * norot --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Entities/Structures/Specific/xeno.yml | 48 +++++++++++++- .../Graphs/structures/decoration.yml | 59 ++++++++++++++++++ .../Recipes/Construction/structures.yml | 17 +++++ .../Specific/carp_statue.rsi/eyes.png | Bin 0 -> 200 bytes .../carp_statue.rsi/eyes_unshaded.png | Bin 0 -> 201 bytes .../Specific/carp_statue.rsi/icon.png | Bin 0 -> 819 bytes .../Specific/carp_statue.rsi/meta.json | 11 +++- .../Specific/carp_statue.rsi/statue.png | Bin 1204 -> 792 bytes .../carp_statue.rsi/teeth_unshaded.png | Bin 0 -> 178 bytes .../Specific/carp_statue.rsi/unshaded.png | Bin 633 -> 0 bytes 10 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/Structures/Specific/carp_statue.rsi/eyes.png create mode 100644 Resources/Textures/Structures/Specific/carp_statue.rsi/eyes_unshaded.png create mode 100644 Resources/Textures/Structures/Specific/carp_statue.rsi/icon.png create mode 100644 Resources/Textures/Structures/Specific/carp_statue.rsi/teeth_unshaded.png delete mode 100644 Resources/Textures/Structures/Specific/carp_statue.rsi/unshaded.png diff --git a/Resources/Prototypes/Entities/Structures/Specific/xeno.yml b/Resources/Prototypes/Entities/Structures/Specific/xeno.yml index 2f58e5caea..17920565ef 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/xeno.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/xeno.yml @@ -57,8 +57,54 @@ description: A statue of one of the brave carp that got us where we are today. Made with real teeth! components: - type: Sprite + noRot: true sprite: Structures/Specific/carp_statue.rsi layers: - state: statue - - state: unshaded + - state: eyes + - state: eyes_unshaded shader: unshaded + - state: teeth_unshaded + shader: unshaded + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.35,-0.35,0.35,0.35" + density: 60 + mask: + - MachineMask + layer: + - MidImpassable + - LowImpassable + - type: Construction + graph: CarpStatue + node: statue + +- type: entity + parent: CarpStatue + id: CarpStatueEmpty + suffix: Empty + description: A lump of precious metals, soon to be a brilliant carp statue. + components: + - type: Sprite + layers: + - state: statue + - type: Construction + node: empty + +- type: entity + parent: CarpStatue + id: CarpStatueEyes + suffix: Eyes + description: A statue of one of the brave carp that got us where we are today. This one needs a dentist... + components: + - type: Sprite + layers: + - state: statue + - state: eyes + - state: eyes_unshaded + shader: unshaded + - type: Construction + node: eyes diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/decoration.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/decoration.yml index 5c67d3936e..4810a34e04 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/decoration.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/decoration.yml @@ -27,3 +27,62 @@ doAfter: 5 - tool: Welding doAfter: 5 + +- type: constructionGraph + id: CarpStatue + start: start + graph: + - node: start + edges: + - to: empty + completed: + - !type:SnapToGrid + southRotation: true + steps: + - material: Silver + amount: 15 + doAfter: 7 + - node: empty + entity: CarpStatueEmpty + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: IngotSilver1 + amount: 15 + - !type:DeleteEntity {} + steps: + - tool: Welding + doAfter: 5 + - to: eyes + steps: + - material: Diamond + amount: 2 + doAfter: 2 + - node: eyes + entity: CarpStatueEyes + edges: + - to: empty + completed: + - !type:SpawnPrototype + prototype: MaterialDiamond1 + amount: 2 + steps: + - tool: Prying + doAfter: 2 + - to: statue + steps: + - material: SpaceCarpTooth + amount: 5 + doAfter: 3 + - node: statue + entity: CarpStatue + edges: + - to: eyes + completed: + - !type:SpawnPrototype + prototype: MaterialToothSpaceCarp1 + amount: 5 + steps: + - tool: Prying + doAfter: 5 diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index a273f66740..5278c1b45e 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1644,6 +1644,23 @@ conditions: - !type:TileNotBlocked +- type: construction + name: carp statue + id: CarpStatue + graph: CarpStatue + startNode: start + targetNode: statue + category: construction-category-structures + placementMode: SnapgridCenter + description: A statue of one of the brave carp that got us where we are today. Made with real teeth! + objectType: Structure + canBuildInImpassable: false + icon: + sprite: Structures/Specific/carp_statue.rsi + state: icon + conditions: + - !type:TileNotBlocked + - type: construction name: bananium clown statue id: BananiumClownStatue diff --git a/Resources/Textures/Structures/Specific/carp_statue.rsi/eyes.png b/Resources/Textures/Structures/Specific/carp_statue.rsi/eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..7cc6ffccf144b6814a40d96082a47ebb3293d77a GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?31We{epSZZGe6s+=e zaSVw#oSY!Rx;R0j@$_d&Nx!*PU-w&Gd}qJOqJv+EeWSCJlZVmd&Jg#UIdM(lHD_m; zZuw|yHh(d5ga668@cop-#z17DPl9QXmc|GKo q_obbc zy7fbD_Ibma!$(}ESZ#7*n123bsJk#j*MCl7wF_#z4LoY5je%Dg-{0GtykX=5Z`3N+wyW7K3|P_NcpCM8mdKI;Vst0OwvmPyhe` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Specific/carp_statue.rsi/icon.png b/Resources/Textures/Structures/Specific/carp_statue.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c5d6bd20e5a0b4075e8f81328c62c3fa2276cf38 GIT binary patch literal 819 zcmV-31I+x1P)7d(Z)duI>ioRz$L9X*r7v4gE&;T zMyKGW-AX}mwe2L?YB%jzH@m5WkSd4-YQZ=tR49_Prp^82?mpk|i#aR^Cb2h&eZ%GD zeZRYV-sidZ`vH#Z$o@5}R4Qz?IKe6}o`;u+DL=^j)P5gWEzbyFt9|@!KC%KhLk^P3 z6=0eMrlw0+DbHc5^gxVfvSai=!wRK`7#|;(dVR0lFY_+=t*aMB%sr1`H3m|m=Sr6z z%`*-TYfHpyYir?HKA#uf5(TDlsT%?hG18wrbF|&*~^8#XF*>DY}Pge zLte=GdKLApdIy+dp8vG*7VuipOvCN3UyvL*0lVG8hmH3bJ$s%S&cvuWBH|#RzVjXI z+io-pNRo`eZ6OxZplAkk!^ChR3D5VS=_Xp%K6G7!B+C)5go=i}<}Tt$!gXxAT5xO& zzH5O6K+EyS2hk{?>N+vi1w)CeO+cz{hcLUD~j+jEp~vpEO+vX8lz?mqE&#KV>=;Z?mbe3GpBV3acay+3W&!Ou&oyS zb{lOl@*V6uMwF0xnyf|#8 z(kY}fV`1L42$+^;RU5*|Gv|;xl@a+@s|#Y2;%A42r!S>L`2@wn7)z%{U=Ewm;;Bvn xzwSBhy2!ix1iWWqtKPul)%C%e;>i9x`vJu_XG113jP?Kk002ovPDHLkV1jg6g1rC$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Specific/carp_statue.rsi/meta.json b/Resources/Textures/Structures/Specific/carp_statue.rsi/meta.json index 5c8d12c6c6..fb1ed6a3ef 100644 --- a/Resources/Textures/Structures/Specific/carp_statue.rsi/meta.json +++ b/Resources/Textures/Structures/Specific/carp_statue.rsi/meta.json @@ -11,7 +11,16 @@ "name": "statue" }, { - "name": "unshaded" + "name": "icon" + }, + { + "name": "eyes" + }, + { + "name": "eyes_unshaded" + }, + { + "name": "teeth_unshaded" } ] } diff --git a/Resources/Textures/Structures/Specific/carp_statue.rsi/statue.png b/Resources/Textures/Structures/Specific/carp_statue.rsi/statue.png index 203006754073fdbdcfecc65052a1e8b932839d2c..4dbbc1b6dbb7ec237f0e67d81bb2ffbd2c2c95d9 100644 GIT binary patch delta 751 zcmVo; zJz3+Ky}S43?d;wFC*x%N(NmVTdE_5t7b;eTRCfQ=*ZW@|yM z0*9G10oQ>LArles*k=M_R9XqWOy&cBeG2}fx5ja4r7yv|-8HCP0x7%LqRflY>-CB- zDIv)vkH3S9&p8#6)&tt&O%{$XMF&ywxfa1RYx)gz9FF~u-2Et(h$Y2CF98G<> zGzbswQ$c`9w3k?kf`7;e9`O)DurD)jUF(#tfl>rE2OFHBB+~Eu7;YT^lP}{RHr@b9 zpr!`4KYv1f?hL|7fcG2kFn{qf$?jsFww?5|jCNicVLy!3D4=ONvN%AcV!^N+*p7?Y zS{+H6z_MKgVjs3`LDO}G+t9GEH{L}Rb;MCfzW`Avkj4Ue27d%mLN-&QfN9&5sm&Q` zQf&emv-W@;6XBMPHw#?mIFh|HYMAyla_l@O>_YY0VvbTYvNIoSl6Ww8&k_0t|HW3d{_ zc7aX%URJ%X%YVlbj!9sLj^RAlU>H;%siLo;-1ic|an92&$QdxBOP7}}flD_-$8SjP zu5|J%?KT1BeB#M9mjn)pNNbwrbl!4jaO?KHW4-&A3-_`=EFZ$;Qq>WZe+#0hKEM;d*2re0;Z$cv}SPj z!XJy%H h`@dHdC*!{x-vHn!S>V|-Poe+-002ovPDHLkV1gw$Wy1gf delta 1167 zcmV;A1aSM92DAx~BYy#KX+uL$X=7sm04R}lk-ba9P!z>azo=-XgMuOs8LBw6APOQ* zT8A!0O08hkC3#I+AxXnaiWFDD#i8IJy7)EtALuH$DhPrih`71?wMdEgHH8*wUwFAc z&U@!_a{~C&Iy3CxJYbj(&!&>nYJN=$zaxYp1R-HgX12AE$$zBLb^ScTC+b5&^y+@E z+G9s_?A#6 z52Lq*DmXccD1VVRPHKg^s#G=7ReE$(MehIew6*CeuX`j3gkD|ua|{UY1NEBg{+_yS z{R{}a0M};AU#6U9ze%sPwAe8a-2pCdTAFeIT^g_D3l$U#O6Y!@abQ7%oRF!>;uQ(Z0# zCNMHGB6Yj2+$-|^;5RN`;J(npPNxTdo7atWo$12dW1l58eyHuD6f|ut@G`=@4j08A| z>=;#l74x&xWYzJkJWH&YYzyR>(R|Oxu%`sp)>j#!NMvQDirPl46PRq_|G4@FaGT*A z!_6` zZrg>Xe;a6;yU=wFk}QXK6Dk^Z8rz5=0mrteHDOyO+Kvg|1Ddu=+6#vPRo4lr&Il#J zHU(1kDBFGUW32bbLt#K5b8MS++wCCTsefhUf{o6&1()W8Qv-xdRut9|E%FO;S?>51 zHA2Pch0A~t+p+`1Lc7F>Ku-4%VpN!+BoK?me_@$Tv|BB-;FEUYX&T!goj9H(W;A9a zv{RtdxffM0%i=YceIjtwh{E?JC<@g_JER{HaqdNcX!JCl0-pnV^vL3oMPLaBk*?ml zUCjIEvsnt{^NlC=TqLlch|sF42IHF1N1x<7U9J7c4O^Id2c*n#>t&S&) hD+eozBl+*-JAip=Z~LZf8~^|S07*qo1w^hwV1gnBDtl}UpHU7zd0W4^?}W%Tv+ksb#A-0U-VA=)Lh59`f9yv-`WGuYEo~A3J3}cUVN{2 Xuit!ag_uPK&^`uFS3j3^P6azo=-XgMuOs8LBw6APOQ*T8A!0O08hkC3#I+AxXnaiWFDD#i8IJ zy7)EtALuH$DhPrih`71?wMdEgHH8*wUwFAc&U@!_a{~C&Iy3CxJYbj(&!&>nYJN=$ zzaxYp1R-HgX12AE$)wSB{XD`a>O(^G>VB`|>MN)=1AINiGtA-+F-?Q?mSYLtBOYWW zxj=kE9OpD3@vYDmkKY6rJ^m8RbJ<0}FM3MFHdfl0mAFAXK^!ym3Tw_Iz9gcWE6Y?z zXph217AYht3k4NyLWhF{Rg*I7?3--(mQW@Sqql`BI5~+n(O|ax^Ddp2)qE-X3JluoMyjCueG$;F%aDWE^k_z zasXWI0>jUi%;km@pzYT*;Nt@5&jSPZK<~PjRr4I@Pe5*)e$gFpcm#~o{piLYJI!b% z$6=v_00009a7bBm001r{001r{0eGc9b^rhXuSrBfR9M69kiiYZAPhwf>Jr(7F%ajh zkpZGy*?>E9aN^n_a$^Ks{j{j`7Nn+9B|ixne=NRjB0=~k?m8)bIdj3ri_vj3Jo73>we#Grr96jygdQ1VIo4K^Wly33XH! TQE4wl00000NkvXXu0mjf;&Bs} -- 2.51.2