From 3c15b0fe84bca92fa6f6aa6f0f3a6cfdbc38de1e Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 14:47:59 -0500 Subject: [PATCH 01/26] add pomegranate --- .../Objects/Consumable/Food/produce.yml | 36 +++++++++++++ .../Hydroponics/pomegranate.rsi/dead.png | Bin 0 -> 20801 bytes .../Hydroponics/pomegranate.rsi/harvest.png | Bin 0 -> 3757 bytes .../Hydroponics/pomegranate.rsi/meta.json | 49 ++++++++++++++++++ .../pomegranate.rsi/produce-inhand-left.png | Bin 0 -> 302 bytes .../pomegranate.rsi/produce-inhand-right.png | Bin 0 -> 310 bytes .../Hydroponics/pomegranate.rsi/produce.png | Bin 0 -> 3095 bytes .../Hydroponics/pomegranate.rsi/seed.png | Bin 0 -> 408 bytes .../Hydroponics/pomegranate.rsi/stage-1.png | Bin 0 -> 20656 bytes .../Hydroponics/pomegranate.rsi/stage-2.png | Bin 0 -> 20670 bytes .../Hydroponics/pomegranate.rsi/stage-3.png | Bin 0 -> 20899 bytes .../Hydroponics/pomegranate.rsi/stage-4.png | Bin 0 -> 21157 bytes .../Hydroponics/pomegranate.rsi/stage-5.png | Bin 0 -> 3726 bytes .../Hydroponics/pomegranate.rsi/stage-6.png | Bin 0 -> 3600 bytes 14 files changed, 85 insertions(+) create mode 100644 Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/dead.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/harvest.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-left.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-right.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/seed.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-1.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-2.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-3.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-4.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-5.png create mode 100644 Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-6.png diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml new file mode 100644 index 00000000000..f7d49b0c57e --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -0,0 +1,36 @@ +- type: entity + parent: FoodProduceBase + id: FoodPomegranate + name: pomegranate + description: A sticky, sweet symbol of fertility and abundance. + components: + - type: FlavorProfile + flavors: + - apple # TODO + - type: SolutionContainerManager + solutions: + food: + maxVol: 14 + reagents: + - ReagentId: Nutriment + Quantity: 10 + - ReagentId: Vitamin + Quantity: 4 + - type: Sprite + sprite: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi + - type: Item + heldPrefix: produce + - type: Produce + seedId: pomegranate # TODO + - type: Extractable + juiceSolution: + reagents: + - ReagentId: JuicePomegranate # TODO + Quantity: 10 + - type: Tag + tags: + - Fruit + - type: FoodSequenceElement # TODO + entries: + Burger: Apple + Taco: Apple diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/dead.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/dead.png new file mode 100644 index 0000000000000000000000000000000000000000..5d495e50beaa5a449ce85dbdc38bb2a9278e3110 GIT binary patch literal 20801 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/harvest.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/harvest.png new file mode 100644 index 0000000000000000000000000000000000000000..e08e83c44c11a3c3c10468a307038349c0a90ee3 GIT binary patch literal 3757 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 Xcl)>uu&_r100000NkvXXu0mjfIr&b- literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json new file mode 100644 index 00000000000..e25108685fb --- /dev/null +++ b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json @@ -0,0 +1,49 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068, inhands by mubururu_ (github), Growth stages, harvest, dead, and produce sprites created by Chaoticaa (GitHub), inhands modified by Prole0 (GitHub) | modified by portfiend (GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "dead" + }, + { + "name": "harvest" + }, + { + "name": "produce" + }, + { + "name": "seed" + }, + { + "name": "stage-1" + }, + { + "name": "stage-2" + }, + { + "name": "stage-3" + }, + { + "name": "stage-4" + }, + { + "name": "stage-5" + }, + { + "name": "stage-6" + }, + { + "name": "produce-inhand-left", + "directions": 4 + }, + { + "name": "produce-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-left.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5579aec93369bb892775de0b82946f5fcbc0b989 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|UU<4VhE&XX zd&@A3$x-6y$K_&OVvQ%7IIe}|O}*pozi9afwr}5FzL~aGMIc3$F|y1#=bGE>DG$$1 zX#M}5p?~IapRct-Kx2U5L;C8JTU&H@zvijFdP7oN^>)|+vq+Q4CC|FLr{!udSh3zp z_TJXldvDBtrEJX-&3IbtwaC}dp9{A9zwT}ZF#%*qe~Zk-_5|7f*LKJ5sda0pTAbP@ zZs3_-_3M?p=E04|3HlGJ<6nIGv-ra0nCs^nwlZHjzRF7rovn8DTYl*QjlFo6f$_N43ck44IUuV%UHx3vIVCg!0La>bA^-pY literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-right.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/produce-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..e6658f722892eb16eb4629046922943c06bd6434 GIT binary patch literal 310 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-2.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/stage-2.png new file mode 100644 index 0000000000000000000000000000000000000000..902948e752d00b1b4279cedfee5c449166091b37 GIT binary patch literal 20670 zcmeI42UJs8w}3B$0|-*=6(@iSBI%995QI>rNfWSgliY+zNlc;?M+6lF^#>6Z1VOAI zC>9h&P!SY6h>jH%6%@;WZvY1i<=s#&0dXet{NH=)y_Kv5Y|q(ypR>Px?mp+-wM_gx zS9@*ENtyrvXgfOCc))*AvL6jK__rh?q80u#T;$*<0RXMhvL6*7ZPx?<&~y{9So7uu z2&FM77)|;ZnB+W22 z7_K)r&S1}@vF;Z~+S(4Ad^IahH6bBt^H_JY5gRohs@EIrO<1=tZsYZ@FIMdfykFAx z`c~(u2h4`UEg1z>>ZKYZb~q5-$x$N?Sx+7LeBG5x6));BbD}k;i2yx~00#Ku&I2#~fHgLFV{zhBC z7YB^tIbEUw577Y5(TC>%96Jq^R_bY;05nDbIQO`inZU4Bfd5q^qcC9oPGF2(vk&8s zS^0VmrZB0UCm2Q3XtvP{HPFk|eS9!eO)4G7&l*Dke*)9yV9LUGP9#K=bf34}1c0oh zv2e649buI^`IVKFghHLA=yw;?x(wOuy3SWsd7?Q0@Io3{-D!p`m=rZzEh@Nk@ARf& z0ZX*9R}IR;fhkp6hp%Tpd7WtAep;)mUH`7(B}aCVuj!aN_fg9e zY|=Kj5Dpl|TW_6tdHS6$?#o)Uud2*iGH`4eQ)N{WI%hFQ^-m{bJzr_*%QgULE*4(= z%|t^rDq!7u*7B>#_M{4Wc_vH#4&YpqRUZynP&^~e4;N1s&c9uS)>(!rE@pV6@p z>3#t_Sh18{I=*5?iRm|IK?W;p-x(Fw^!>nSBg(d9G8`T zTYPeo#b(N$hTC}ox{ni?tSh+EHxtx}mx6GZigN4Y=4Qi_IX8|Q9v+cbG3nU+!>Yyc zA30UWLx+uuwk;h_85U}d0;gIz_&WQ#K6J=IO_@d-`FJ>WxaxZMGGoK!9H)~r&W`+i zX#$&o-{9+DW^{j4;%KbisyNmq>a-mY*Dt@AtYh>Wtb$)<^afdK`7%kTaUJB8_%y-8e_514s65zdI>ld_bGv=o{(Tkx#cz zbxpbLbLYle`!^|XR9izwXvdCScO{N*GBJIE`UL*O&zG?*{rm5A8sGPvKOkOTz=wq+c{Nc`8Tt0_&0Nf6yyjY)9RL$6T&+cD#x|;5vE zuRZO*AZ&qIVNT&0$niw|f`fidg(V>|3ut}^e7zSeF0eb2ab)`a;v>b`BeRQKlU?&N z@AJ!#{ZV+W@X+ar$6h^DtI016E?f=r+2i@AFXxvxC7(-PeRlP~IxN(+H$2kG(_f$; zDLE+~L!VE7mR7l|$#V7O)*WxLeBUa)s)xk7!qGQoUJ_(@rr)*akLMRj*0scKig#Lj z1CzqUq))DRdi7lWTBojwqn+Xj9Z&-{}q-d)G6V^E(Fp7|}k zNi98n_4Ez5a$)Aum|E5vqb_b&L{~MC9W`BruNoh16}|AMub(1*HMo#qNw0zaJn^W} zYI9bR)mW>q7Cm74aYc%V|{yZyozS?2NnT>^}!S~$q8hujoBhSrFiq-)nhmzKU7>{>g*J#csY>zuHsam)MNS%(3ws^T*VTPZ_)Bp~;i5SCcmguV2{t zWZTI@d6$Z~RlGaAx38a}GZ*UY$W3{jq7$P1={xlzpx8)@)0!{a&qJU%V(ycb=XCAAAa_ZkoKRm77-`exZK%mzDZ_ee5#pwB|IsbkDS} z3)u_Ly4_?}-+%WkqTRmc7u{VXhF|#H7O!i9$8Xo(P3AXOZO+)9u{sj-`H6qc-ojN4 zoXXl|y21}<^`tNE*miAdm|Zfva#8acY4eGiSEGH-_@o`BFAaVteaGlbzUy|Scvo>+ ze$k@9qNa#*r&jUW-cHV>Rz7V#7yie%uKV{gX%0_cU>*vIsi8o@k zW8Y_*GikJ!mg0`L?b)meT8zDa|R#7lMC1(DAPH z{lud+6=fAu&tD58;+M3}|Jryl^hv1xhkdoWZuP&S)|hk!d_Mls^LF;v19F9I2on}8f)Anqz_1Jxft)}{ief{2L5PLnhvEx{ zC;`{P(1+}Ta}lwi0D(h<81js8_2NVXa%fybOQt3xj1D^phNK`WEI24cLJzYr?Dk8C zWmz-U5Y??B4YV+{k`0LRb(x1^3B?eKjG>@8I0_X-rD5=7DwRYvLlJOzG8RX~5^-n( zkxs(VNd#2y$B?NBOAIlWNB6L?>m3gMmxW<~R4Srlv7w=%m{1}{DCT4FG#U+yBVY*x zG^~M^gojAMFm#B-sK-g49~(%*5er08fiMIm^9!Pj6hoB4nTtNiRE? zA~p;ZVeuFob|@n*2eA>Y5C?TnjmyD8K~OLhB9*{)_#y2?eTRRGM zv~k~jgM)`0S|YVw2_xu5I$+p7ONm#w2*P?m65$Fl2eMrWhhj8T^b)BD)Sn#%T*2x? zI+6-_-|-{s`7Q(~Oz<5uSx=8y_nPWSH3No5XNe(DDinJOg+a`o<=TG{gYRLo<%u%! z5rlAsp^}*l>|m4rh12g1vH_(KlYk?T(KrGckMqKj=mZiSPo0Iw({VUCCq0^je7Fd? z0$%t)ALd?o3Y|cv<8ksn~EV25fR(h9!t&g;4FG9@1N)+k3?76nhEP|ySnUfzwI-jIH5 zgq#(!=gcaE14-bdO5~Car@Xt8ScCk5t$iIq0%lJg;|e(fF1>&9I5Lh)A>pWKh|8v+ z@py=bHYeghG!F!c5Rb!ws5mMEE2}23i~f1_uCdozzE==aUcc4gESBgfp`v@MMy0Vf=Uk3tY!fOukIFbb)kD5($yibO#I4k*hpc4Y{+_h5mPo4$O@`S>4u@+K~r%Q0*^)`;ml?AvIoq6Eprq)jtU=Ql$q;Y+I@xohwIDVloVOj zK}t|x3jcTN3l|a#{z-+AnRX&;h=c1mY_Yds+Kb$$m&eK0uQwQ7%{~zpzJ$vN9Gj-oN{o6Bm z--V;6uGq;=Te7snb>nZ2+;9zs-#*ago|nE$kfIymAoBrxeXn!1f`V3b z-*Tt~9Q?uJWxsn(<+}%)`u(-3eD`3}eoOBVfs_f~W4k9as9DZR_Rgs1g@z~mo)nUW zHn?f9_B=rt6y$3ofL}sLWOq0sJW99C;Eo{;{k~@?*U@X(^N`5B&FoG}Pb>Vc6n;&M zMc&iOpxOF&ZKUw#LJqi9{UmGVHEw+BX(cGrUWE(c}i*C7-XEWM( zmiC*H_LimXt-HHaw`+8jTSqTQKpBrTRR6rj*U)Bkwx0%WtBI>kYG;=lMF&5s!!5qE ztE?^!yAnDD1o_q0ZS07?O2 zO);0GK#M{FMVz4^0OERW~k; zwsfgKPs9`Y^Y{oS8V$i0@Yviy5CFm+r+ad|JUgaZ_B?%O;~W>g&za|;qm1ydiI3J! zoNJ=5qPaLu|Hva9_sYq3b_%*TGUMcT?~dN3<8C@>r|LtcHvOZ!w;YSxdF%7D$YTMG zWj!zN_7y&$w&!)HpQ}}>P@Z(a(cB#$J?W&)?8(1uxqh|!S)19S7*!)aps9S0r7!F? zlmk9SQ78)xDwHk(a$)x;Dgza+X%*;M+xs2N9-Y_%_1Gc6B+V*dK zD8Dbr*K9X|NTr;mlo*lhVpb?4LzH}c%w`+cI89riO`uPpr!F$93Qw7VjlpUB(tQU2 zG81*6XuEsEYSi;xYO{iV%V%RBr)o`wPjBEK zQIsz|?|-@U+$aXSD#k(K<1bZr-nkr~Rl8SZE2H^kg2R{MiTz*n?i*ZnVwCurXt%m+ zh3vLX-PMgfZm`2<@BC|X>ib#GTTDO8Q(N%BnRQgT$V6oJDyIAg=XsjGqKfA|0Pwby zSNXHCvV64vmS?r0{co Wv(t(QK!^Apo%2*2v83);X)|$^c-S8DnzBTK8S$bkhpO zS(V>4S5Ex0max^v=xUXXrj05qdX`}A{JhOJ#<6$L=$WiV{k%vISK;m-o5WW)tMa~} zZpqj9L|4wJG%kx#QLw(DJcX|RI8KhS)7Nmf^0bs~AN4C86|~}w5I5tr-3^=*@s1de zon8oUN4>X}f(fMUEA1~PF1!I?H-CvObHMD2IqPou^Q1yrNj7ojR{Nt9@3BOf)P$*- zY4-%@XIkze9BIFo>#y-Rfl9lMuK0DjlKIs@v|05Pn*s|{l_civ0)xCsxz#hzEX$KG z-SM7TTM(+C6=PSSLQn{`LC|MgJNml#E_vvfjhJPGoBUXXs3O1By=tC8QnvH?xfdt@ zadkQai`nk$XlmG~l`sXR85u{rN;J~iLBq}~*)zeZ;3uzot$O?VU=PC%)01g9$C-vn zHy^VC&MJ}inIab4*w&WbcBRd{O}9<|?F!X&#-fm)K6*Yk_PDif@r)OmFK{mu!Gl<9 z?_;SRPqL4AO~xlIw>fpB$m6v8_UtLR^{J%0Tc$cWA3t?;|NWW%)BJn5r+*b)ocv_} z>?O(feCls^IQ*LYtNgprNouh=Tdv1(jAx`xSDMb55jy?!L6;LV?#Iu#?u8~|ULR~v z(MaKW`1$72PtM7O+1qnC**q_+pQ8MFcPRQ@ak=6~`^i1CU`=aTHDV%j#)sp-^-z+EKxbBfs+tACwSzQM+F0GEvaN%V=4KHv1G;1TO*Q+<^ zQ`UQjNxq8bCK)L5SxqkP~-J^FKQ}Ah)m{Gur zcZe0mH;Qk&UEyV{+15haWZ2K@kLa%hvZCk6apZTzSjViG@cCoJ5BisPTalZ<4`&~B zTJOp%vDUFp*nDd9i^@~_{x^Qxb4tIb{a{UE4Oe~J(x_h>?ByJ%Hy#`e3@;G6F2 z6zDvQWM-022oAi|@};wT`}6eY6I&yv9Yoz&#ScGHQ}u3J*3^?`TBhU!i(KNCSnT_k zwWdk-)LnDlP6?f}TQ$5&uZm-Usw33JJ*2HPnZ4w#qls(8-ro|-@Zm<+%#WMCDA_vi zmIL~*FW=p9i*z72W5M0dJLhgS?I9j|bGW}#t4izH z-lF5N&OS&z-quuQA>mD`tvcT=h+U?bN4c=G$Rw!2Ew|GrIX|j=ZiH(<%<9Tp zn=1?D0$xw_R(-K;TJVJM*=hrX}ladT87n_Cj|%@7Cp% z=6&Z+=3Xsf)w1i^9WS3EGghb{$Vq;gtRAfP=<#{AmSyKV-+!=cLM7idZYteUL@POV znR1~F%(_`~ccGQnPhRi5K6w$k>Yo(SAAAh1>(Y%Z`+)ncp=m`~PcQZ6r6zAVZ`THP z1NhnL^SK_Y{2e(R9}j#ET6JnkP)O%>`Fi2E@jY6La!9}iVOH{{!fw{`TWwDinYBR}4-D>Cny(*5r@=yCK=>ugfrrrM`@rhZ<* zSaH$q4z;fF)zgSC4o%-{9Kuoj!WVaY-Q+&**nB^U^R{+Z`u_BdQD%QMuWdS76xq(K zX<4Vidvj4!^sL^lKfZlo*}|HYZ!d`6o^5(D#pi-g>S^+tpjV<-l)j|m8RyG ztPCjWiYPCPWcPIFW)N$hyekj?eQJMWLk7w6NqKh!ujg9N`b*JEqT$x|17eeLzyBWv?>+BjeNLK@l+>>vf3W)t z(;V3Z0Ct94FJF4Z zEK36)yerz3PXqnAju8UTGh&GsGa`UVVi{ObRViU)$UzV&q9ekB0)vI*FiV30zhp=j zH=_&?11h2bO9N|hhX`NSr3e~N03z^a1SAtpAR>q)GYp|tv^)E)GnrGdXl#3!Rrp`oE>q2^{h0SAR4kw_>s7KOzk zAq}K3JXk~zLk0^C2b~Q2u?2-p0hcf0@`4d!zjOv~y~xtQK->}h8Hy{24|fzS9AXDi zM1|4$D2y2zHJ%ZR3ES}33jzm*#$uwtKrjdl76~Cc%(!;^;mtp6KB`Oj@>e^Ca^mVb zzVYyQgM!BGS}3yH03jGcI;z`YOQBadA4GY8Lf(1-6SUg^gK|6822k?;wyt@19NIH)f5OCnI-_~BA&pD#|xwmPS=rx7<3L3Pfvug z4>y>_3l+|%pvIbvOq>yKpexF=#I|j*P{TF~kKJ3>l4_LA&@Z^WE@V?hlJ)>AJC1+qKoKKd6CqW@WWz~**rlIT}0&u(K#TBAIzbk zMj9nF;ps`H@d9}QXjmZCoPrv!d0Z>#z`Jztyh{~&IM^VZ>}UiGi9kSN%`lQ~B=pAh zW6NW%7vE>r!AwvHB~>VqY$)XemBfb58QnU3A&^TQtYa)5lglEH3?7X~vj{je5ec#w z1SAFnvXK_%XgZQjr<;RpCKDv0i4>H$nm{f_#x*p@hT6w>&BoG6cmf?Gc8&i>t_M3D z9gHNZzd|9NsjjYMr(mIo4v})Qr9us6TqtOBES_Y6WulP`0*-`4qj3x*gGGXZX5!dv z29ZD~;;{qMceMFP&_k|=dxu<)A2^fAB4Y671aaWRuLeFiP6=m!>c~yNg_bUQpoES% z78Vo>(*lpBLwQ5uKo$mxCF0mfhB=OjWZnF`3R3FHcmaxG;e%3TjmA$gp5b z%Af-G&*_v7!Jo{(-bbiE82nd-ZP3+#*4Lc~d2CTAT>x5hpj%a%nmg!qwAonqe|H0Z zOCor|8$iK7Nd=T}I###E!nZsc% zEbwd#G!hN6=tu?|2O>#W3nr3?CSchl5)N%4u9t&g{%e^dkkLdk7B9=((9|9-^xs@x z{-&ges}5X(hEw>zQ(su1fcsA>jKnCJ!a1dsI`8`J8S4bI&{R6 z{#Y_NI0^Idyz{>G@H5!UIBrII8zyf%0$Ad#LlHlYAw#DpXeU3gqoqRU^*^;qcpJFp zD?SAUt{*t%5V2_JgTjda4w*_`9&76N*QSz}$C{2KwtUt2Ep5JD(E!gmIBoa?E2a+<_ z3Oy@@9@C=W=d=>}f@|Y{UKok!Kkpm%DC-19A&nrzB@HE5M}`YVA&nrzB@HE5M}`YV zA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrz zB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5 zM}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YV zA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&nrzB@HE5M}`YVA&u~t zxKu~pd;$hTuR95a-fMDr)9X0sohS&VqlYU1M9cwz=q&*7M?du20RZdK0Pt!p0FVy? zz%<_8HP`F`K<==Ut+iL!xSB_->Nz<)z;jp*{wCX z>il&56$+Yiw!jg2qw3y}5W~(C-5IrB07%p{+%mz!>P*zsUp};LymG2sCxL&QA$LP5 zyG5n)x&87(`Ew%7c4x%5ijWxW(y+$p%8tu#9~M*4hmUCpagq_HDLE+6}mvuzfp6?=`q%8YnyIif?=1bh?n{svY>R%afcaZwy z{2DVG4@{W3p%7(XvL!|le(Aggq7kne8VEoSuocJ3XGhra4rL z+(2DYSXQ+G^Uh9=(k`umTuCtOmHR^6PRYTw|mnUs;@KgU$J`S t8veA|8I28x;f*^z=osI|+3b=fK5CB3Rr@8YO?yZx}yPkfqc8ZPM<0NpKq=ay@-X5tPKigPe zS!+S8{=wQwu9wE!+K$z|kr6Aub7$m^NvsCEa`e# z(R20@ttGc3Ex$^!Oi68@1KyPwsdmhI#`tHO%CBC3-h{G@QkfY9Xes4$^hMo*VEfk(=ep#POz1N|D-tW!O&ZqkyHITx43( zYMHHhL~FHXK-e!_Y7U*qjV#+qHX|{W&jB ztHl^1m3+pma3;kzYMBypjiRR~YKBpz61#7}~v z?dT4v)X1x>B<(EFScQCjQK8p>#cJ$nuF46r1c2w_i0U2_bpEu+`3jK%J%?tsjrCcn znz6QPJNJyHFT;IdHysFHz+y7I9+1IYl zXBS?~jKZymvLE~L+2uPQ7G_Sb+O52qRsS;1{_8o_-miN14X!$}3cZZA8(k-?*=duq zqXU;|u+@6^+-tM$^>SV`n0%3^H4uSQzBIY;cx3hpw)|gCbF{p~WiPq_puJdd=?^0% z`ADBl&#Qua-&=IsXUqa3xsJQn0KiI{nJC7se2a1=0IB7}>b2nNWZK*h=XS^Eyhov5&%++U0LXZaPvd4K1^B~R7 zOr`WoMkP_oW36r|O=Rjnj+J9=^D^A2G$lFuqy8m_u@kn>MBI$kb~SK{Cpuu=wlNSM z4tnk8!ZDPX<#t8!^KSsSjbFEv*kkuZopCk)L+vcRFq=GWv)v)pyBsk#C2n#?>RsXQ z)692}4z}FQ@zH!7N28Zx%3e)X#9#HtpsruBK5c5EoWQ<)+8|dg=lZl$OLFClw|26t zP6v;j5M^7YOd1<(jbP5Oa`0N{wW!7+8!>$*Vf-f0g)3{zI^u`j$zX%42y(I;m3?r}A`yr=Cn&cvR>9cAatthKzla)RL^3Eb#C$ zE-?OeQv5BIy$klv-m7bjW*j?y^!U@`svaF4w;6HAR=Tgxv-7~aHy%^|V_%NP@wCNn z+;!b~$L43p9Oq>V7#2q&yt}t5cwbp~#f5&vHRJTE#**s@Rklukh>5Bk`@C`-a$Ixl-;|Q_-esj7EwwH7{t~5ORlZ=(@;UarxXN*9E$+4M zPqI|9COex`JM&P-{W5hA7TW}049sdvO24o&GJT;S>uG3d%jfCq(cO&hfX`W-_G(@V z`D!y2>eMQynq4EV5t!+r%j^DhrLVYRNzY{NWhOq~9A8*%cKCtaZ+4nH_}7;=&TI_0 z9&r8eY=znSvz?q@JGZ5{ITs$CdvyN7`3uV{?o=GAc$iE~HOD@}wWPMBK1yvkw|Z&F zQj>!0g7cu`nWm*jz1s>(0;88wyfeK#mafRRJCSx`*2Cfx#aZLC3Ku0T%1M97yK?H! zf|~`$&gq|B zs83TW_qSQBzxH8YE1Kt3rBzjfZ!DO2d+t?!ntSSfd)^dYp=eV_?Dnlr8*if$X{c1) z>rZZ!HZ2f$u37Os>|SSDYJTeFciD9(+emHvwwU?@cL)dOrhDT>cdy)_KXYxawopB= z7vtBE8{tBCiQ=7YF+{V`@t!9hojR8pe7uYKehTd`n(#m)t{tDZJ1wYn;9qBI-&yU*D72bn z6}R!k#^y^W^nGr;-E~60t0k#2zLKvIy*T34!@G*im(1-~BGl$Y$3%N>vDg_D>ou(! zn@9|e32S(A^UCYVt7SuTuSWV+`cR$9i{lXuK& zpBOxAr%LE$y~{iUbTz3uwuZjkc*df32V>{3-EZSdh@msD;WJH|3pdX>wyR{J`obrv z)bzkt7rb80De)9(0PYpjp!J0}$IUh`gZ*WJzqqtEnQ3*3GVJ!7xpO~3qIx#PT% zDh1X@Uon;%Ju+52!vj6J7b~{jqU_5_pI7njPX4XBUF7}m5A?p9aCyS>-36IjoIH_w zUN1{?eJN+m)`ZrnG)@{fZ_5&eT(k4r3XB6Dxa7R^Ow5ZYogL=v7q#-zt&Nw?%K5!f z^-yV!UjL^4(YqBcUTE)zv&_$1(sXH)wrwhicDXovF~`|%S4Sp_1ee3t2Zq9{axo@wsq*l3ZuH>O$GGA!xzoYmw;I} zD=X$(Fpe-jFg`O#ZTFs>Wj^{CSly-@Uh)^=?Sr~yC0*ULn-}Ul$a!-uiLhmw*)~76q(%S1x}~zFW~yqu^2D9}o2InKRtt9?pAXuTlQXg`Twc!ANzI zy2o$(ufH%1vI%W!?NV;&nxRg8ylzK$?sLWazpT^a>7jkCQ`%GPQr%O&EMqMza=AmR ze)#%n*jM|yUo`g<%)CPvbTDr6AGdD2pTKLc+L5+5ZG8mlQ~m0?Lj~b2?8*jTO~Lyj zE%Ebvw!Pb1=9kQ`T;6_O+SQy6lb4$-3*8ug|z} zGX#%a`C-YIcb9_egZ17YZqRgT`W3OksMqJy=}z~%Szi)#5)yjH$|rSvW#f@`0AOp# zXLyOdoEK8rf&dhgBVd83kbod)BMJa!79l}QwjU@)us|L^(A?mC@kIj!pJQ&|Np!|I z2hl+vzC)N0bPrp^V2Am!DI5a}nu=Kn6><;&ikXOz0RKP{HN@PY&o32{CCz99M4yV- z&)mRD(jmgjc`<@65P}FIiiBiiNMr<=g2EEXWCGa)fx}>lXbc{W#~^WdDgi?!;1B~J z1DXmXnF%>us+*17KzGo8<_11uaS#=a4h{}R1>;cyArFnEP$*~&4voVhAq}J`G*HY8 zK?aHp`<)E>u>nPFAwNjW7X%_Cewi%6TCur-futk&GZ0rm5ZqCqXn-9=5goz|LSs=F z^k_yLHf$5LR_Nb%YaBKj^algLK(Pq2!;WefG`RVP%|~ih4-++Ko zyB3LU*FgvdkdEkf&{D(*4Fb__ph&P*$OdiKL7^Cq7QIO91`cIM3RjT&sE)*Z?hpJ( zuKW-J7{dR7ndC~pS>KrIPqi5YjY=1SOtC=75D5Hf{lj(WAO@YoB*PP7c>XFUMrbr zR)K6#1SM58EZI=X`znbwlQ*(;@Pa>|)?dds0ydvR9lCi85yK%7Fk~diVUdtnEXYNg z;xSAlm&wF~Ts9jdW5{M`Ni~674Bgkj7#nCG-8C1-q!39=ti(0(-*VmG;mBZyqxw4( zl9B4{Omz$tiJ1^7M;jW{fZ{_za|jd?o5H3baU2XppG?3bnQQ_Z$s!U=Aq;p^G6_n^ zcjiMu54axe9dbQ-;24}K+mublNCGGSF!274hB^DLBNrhbTDqA2!*nFEaG+S&rbHYQ z${UgZaK z#1x7^NeMMK7_6c2s?nlI4lUmJ}wCV}>5lI&@pGrCGlM|NC@Ghu}N& zANLXL0|x$GVe5C*r}bkeA^}$%%oKuFJZP#)Q*-;hjx_t${lA)kKa&VS;5tzF@1z1s zI1}0mflvYB3IzcOxPBtU0t7QC$e+(J~4oPOS@Hi3|svlV9V2Hy;?6)CGX3(&~1h1vgI!L4v@l>qo z;95FN>&H$;jvXnMd1;2+&^@w!n1MWyLqiWnHrVj(9sM_s(x1*80cUDT~l8hnYxD*NjV=Aea{b2rUnIl2l7b=b@%iO@w9xU`fU0?o1Ns&|?xC9NR z@PDVia6lpd->ERe?vg!-3DH+m|L?^7(=(HWW0_LeL=qCigeD~!OCUqLG7<&}?HrjP zmPo=-NT!2nmCekdeNq3``zKcZpU#|g`{|#nsUuE>{|{Ef{xx#so_cVf{{0?&@W9bu zSL`IaElJv;y74cz+)xdMo<2~A&6mMLkhBZoH|8VO`T_5pfdlEl5li}GN&n3aGat>n z;Aam%{k@FhW~jG8@-{<&hn;oIB#&dL(CG=<$@lGOY0&ZTyS8E8`mT9NPC@=_`%XDz z90vNJv6Alr)8UuDHTC{`)8UuDH660_2;_@txPjijX&z=Jd1loAK*Jq+P6|pw`?l#@ z?Zx~M(BI334?TnsNzQP1sFyyQZ!e5$==~$ZVHXAr`zOh;r2HOel|qkc(eQKH zVflh<<9}Wlis(P@8}=yc1V$l^Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv> z3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0 zAj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gM zC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv> z3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0Aj2gMC0Iv>3q~Q0@VB^BhTePv212hp z35MQl@;SUZ7kVcOg6-hu3;-xEd~HyuLb~W5&%pQ>|S-v4gkg+ zbhNQzggkz`#L7w6RjcP{%5K6R9!0vC%vvvOZqlX`(K8l|6V+r);ajRiKV3R0&b;$( z!?W6Ly%~!IbGNXpTn-(ZtcKe5hqJ!oM2ABr%j%EZzf$C6l3lHxIZIRFCHB2~!<~{( zPqpxk)JN*eJAB9Zj4_>9meUniRr2+1g<+eXa=Py?>mP;F#&GkT_B>zYxq(`J^NyN# z02{1%xJvU$OW67c3s%f}rKilAmn`b~l&jbM)H>NfbKH*dBJb@;fHx0YvZ>I=b5)7p(| zmKoj0nx?0E>95-U%Z14nX)OmT54~v2_IBNvbYP_@&3P89M$Kn`)fn!Bve*rg#2E+Pg+%G>{k=sa}d$|?DLiy?0liX3)3)dp8Jm{ z|8Rb*OWjvG+hrE3ezC&Q30T@T-H%^g<$>&du@Bej07m>H-e+x^zRX7iXveowEE^W3 zh6mUBS=>6o*@;SvIud`q{;CS4(>YWndykm0fcofyB9dkBEHS=a8&iDV=~ItJk_Y7M z;DpUZU-O`@ql>|Abh%RSO}tI!EK2 zAV!|yboK2E)QTo_wrV8ZT4M^7iWRd30f~P$XW0=+7nGEW?l_Q0T0wFSLhaD?2{S3% zDk8UJCf8r=)VmMH+&diw%%t4fyL%_=(=OVPu9NE!@l8h4KksdN^}xmEEQgV^%3C>w j&Yx&Gv226U1G7g|CDq=eq2N(mrRLKToIO;kb> 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 Date: Wed, 29 Apr 2026 15:02:48 -0500 Subject: [PATCH 02/26] add pomegranate juice --- Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl | 5 +++++ .../en-US/_DEN/reagents/meta/consumable/drink/juice.ftl | 2 ++ .../_DEN/Entities/Objects/Consumable/Food/produce.yml | 2 +- Resources/Prototypes/_DEN/Flavors/flavors.yml | 4 ++++ .../Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml | 8 ++++++++ 5 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl create mode 100644 Resources/Locale/en-US/_DEN/reagents/meta/consumable/drink/juice.ftl create mode 100644 Resources/Prototypes/_DEN/Flavors/flavors.yml create mode 100644 Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml diff --git a/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl new file mode 100644 index 00000000000..7f312ce01d0 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl @@ -0,0 +1,5 @@ +# base flavors + +flavor-base-tart = tart + +# complex flavors diff --git a/Resources/Locale/en-US/_DEN/reagents/meta/consumable/drink/juice.ftl b/Resources/Locale/en-US/_DEN/reagents/meta/consumable/drink/juice.ftl new file mode 100644 index 00000000000..60959a4baf8 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/reagents/meta/consumable/drink/juice.ftl @@ -0,0 +1,2 @@ +reagent-name-juice-pomegranate = pomegranate juice +reagent-desc-juice-pomegranate = The sweet and tart juice of pomegranates. Bold and intense. diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index f7d49b0c57e..d3d08debc1d 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -25,7 +25,7 @@ - type: Extractable juiceSolution: reagents: - - ReagentId: JuicePomegranate # TODO + - ReagentId: JuicePomegranate Quantity: 10 - type: Tag tags: diff --git a/Resources/Prototypes/_DEN/Flavors/flavors.yml b/Resources/Prototypes/_DEN/Flavors/flavors.yml new file mode 100644 index 00000000000..64741b7e3af --- /dev/null +++ b/Resources/Prototypes/_DEN/Flavors/flavors.yml @@ -0,0 +1,4 @@ +- type: flavor + id: tart + flavorType: Base + description: flavor-base-tart diff --git a/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml new file mode 100644 index 00000000000..ccc93e5a4a1 --- /dev/null +++ b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml @@ -0,0 +1,8 @@ +- type: reagent + parent: BaseJuice + id: JuicePomegranate + name: reagent-name-juice-pomegranate + desc: reagent-desc-juice-pomegranate + physicalDesc: reagent-physical-desc-sticky + flavor: tart + color: "#6d032b" From 845683e1189ee71b462b3ea5af522fee43282197 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 15:05:28 -0500 Subject: [PATCH 03/26] add pomegranate flavor --- Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl | 2 ++ .../_DEN/Entities/Objects/Consumable/Food/produce.yml | 2 +- Resources/Prototypes/_DEN/Flavors/flavors.yml | 5 +++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl index 7f312ce01d0..1c1e90b3ae9 100644 --- a/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/_DEN/flavors/flavor-profiles.ftl @@ -3,3 +3,5 @@ flavor-base-tart = tart # complex flavors + +flavor-complex-pomegranate = like pomegranates diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index d3d08debc1d..b8e8afbd540 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -6,7 +6,7 @@ components: - type: FlavorProfile flavors: - - apple # TODO + - pomegranate - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/_DEN/Flavors/flavors.yml b/Resources/Prototypes/_DEN/Flavors/flavors.yml index 64741b7e3af..4678133e767 100644 --- a/Resources/Prototypes/_DEN/Flavors/flavors.yml +++ b/Resources/Prototypes/_DEN/Flavors/flavors.yml @@ -2,3 +2,8 @@ id: tart flavorType: Base description: flavor-base-tart + +- type: flavor + id: pomegranate + flavorType: Complex + description: flavor-complex-pomegranate From a36a37c6e10752a0cb3c04158fa91753f71cf05e Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 15:19:00 -0500 Subject: [PATCH 04/26] fix sprite credits --- .../_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json index e25108685fb..2cd83622660 100644 --- a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json +++ b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068, inhands by mubururu_ (github), Growth stages, harvest, dead, and produce sprites created by Chaoticaa (GitHub), inhands modified by Prole0 (GitHub) | modified by portfiend (GitHub)", + "copyright": "Taken from https://github.com/vgstation-coders/vgstation13/commit/1dbcf389b0ec6b2c51b002df5fef8dd1519f8068, Growth stages and dead sprites created by Chaoticaa (GitHub). Inhand, seeds, and produce by portfiend (GitHub). Harvest stage edited by portfiend (GitHub).", "size": { "x": 32, "y": 32 From 4c299cacfc4fad2c061fecaa3dd634b462ba199b Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 21:43:56 -0500 Subject: [PATCH 05/26] add pomegranate crop definition --- Resources/Locale/en-US/_DEN/seeds/seeds.ftl | 2 ++ .../Objects/Consumable/Food/produce.yml | 2 +- .../Objects/Specific/Hydroponics/seeds.yml | 9 +++++++ .../Prototypes/_DEN/Hydroponics/seeds.yml | 25 +++++++++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 Resources/Locale/en-US/_DEN/seeds/seeds.ftl create mode 100644 Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml create mode 100644 Resources/Prototypes/_DEN/Hydroponics/seeds.yml diff --git a/Resources/Locale/en-US/_DEN/seeds/seeds.ftl b/Resources/Locale/en-US/_DEN/seeds/seeds.ftl new file mode 100644 index 00000000000..ebe331ff681 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/seeds/seeds.ftl @@ -0,0 +1,2 @@ +seeds-pomegranate-name = pomegranate +seeds-pomegranate-display-name = pomegranate tree diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index b8e8afbd540..4037445c989 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -21,7 +21,7 @@ - type: Item heldPrefix: produce - type: Produce - seedId: pomegranate # TODO + seedId: pomegranate - type: Extractable juiceSolution: reagents: diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml b/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml new file mode 100644 index 00000000000..d97e73bb792 --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml @@ -0,0 +1,9 @@ +- type: entity + parent: SeedBase + id: PomegranateSeeds + name: packet of pomegranate seeds + components: + - type: Seed + seedId: pomegranate + - type: Sprite + sprite: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi diff --git a/Resources/Prototypes/_DEN/Hydroponics/seeds.yml b/Resources/Prototypes/_DEN/Hydroponics/seeds.yml new file mode 100644 index 00000000000..7e0d3451bf5 --- /dev/null +++ b/Resources/Prototypes/_DEN/Hydroponics/seeds.yml @@ -0,0 +1,25 @@ +- type: seed + id: pomegranate + name: seeds-pomegranate-name + noun: seeds-noun-seeds + displayName: seeds-pomegranate-display-name + plantRsi: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi + packetPrototype: PomegranateSeeds + productPrototypes: + - FoodPomegranate + harvestRepeat: Repeat + lifespan: 55 + maturation: 6 + production: 6 + yield: 3 + potency: 10 + idealLight: 6 + chemicals: + Nutriment: + Min: 1 + Max: 10 + PotencyDivisor: 10 + Vitamin: + Min: 1 + Max: 4 + PotencyDivisor: 25 From 1442ed628c625b51c371ab81705d16474df7abd8 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 22:00:44 -0500 Subject: [PATCH 06/26] color changes --- .../_DEN/Reagents/Consumable/Drink/juice.yml | 2 +- .../Hydroponics/pomegranate.rsi/seed.png | Bin 408 -> 411 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml index ccc93e5a4a1..7c98a58d3bf 100644 --- a/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml +++ b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml @@ -5,4 +5,4 @@ desc: reagent-desc-juice-pomegranate physicalDesc: reagent-physical-desc-sticky flavor: tart - color: "#6d032b" + color: "#850134" diff --git a/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/seed.png b/Resources/Textures/_DEN/Objects/Specific/Hydroponics/pomegranate.rsi/seed.png index e9cb69bf598bab2aa9d582e52b03163dce8721e1..c713e308776356698e76d745cd97321f5da47ffa 100644 GIT binary patch delta 371 zcmV-(0gV2b1DgYoF@IG_L_t(oh3%EUO2beT#(#=v5Zl^NIs`>%u}i@*73|s$Itso) z-=pv08wiee(4~VNtefDX&<;wFkT(7!#4d5rN^4U&w;(#)-*U;lALo4e?jZq9wHMhri+0E1rxjrL{7_tXLB(x4V_;*ko=*Wxtm%w_?|+3f%C$&pLhKYiQdnDE znR;FJ^HO1> zT#M|SHBtPibqt^PuhMvk@(>QWI6Eb~yvRn7h}E<^j;N+6fkwF&jXrl>ss0jM z+j+XJ=9pf3|7>Cde0zI081Q7i0q}5jhZ_vU4QDnmN~u!ik{-9l3vMu=RH@EvKr{pG zj)Tqk03Ph@$7)sL7aLG5?)0CSG z8LDu9t(lnB3S7^}PZa=mPmalb=VaV+uEPXSYo>$pm2(|JgnzINE1{YoJH=-TwUzS3 z{Z_pM01zSsh)GB#kinT&xPEc-f>yosl>`N81Dt8#TpwE(A_QkzS_}3kF-sNNhLxDr z%2@M5=PWhGb*aG_(w8vf^ynI^OY>NdSfR%Cd{R$R0=8i#qtBkx!{#f)a(@9^I~(wv z-Zwq<{gVwKcWL?{iZLj^0RSE^?-4{XdEnFrMrn5&IL9+?7l#O<80~IjY6GM@;CepH zTnc-g?Lw_g{A2^N&BgGY+*A5rKpB4b)W^ZY)$e?YDLU$Kg+ihD7kmIMzHzA>PprlO O0000 Date: Wed, 29 Apr 2026 22:10:06 -0500 Subject: [PATCH 07/26] desc --- .../_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml b/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml index d97e73bb792..037305eeee4 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Specific/Hydroponics/seeds.yml @@ -2,6 +2,7 @@ parent: SeedBase id: PomegranateSeeds name: packet of pomegranate seeds + description: A sticky, sweet symbol of fertility and abundance. components: - type: Seed seedId: pomegranate From c43d0e9eeaaef4cbcecdf673288c52197005e85e Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Wed, 29 Apr 2026 22:12:32 -0500 Subject: [PATCH 08/26] this crisp --- Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml index 7c98a58d3bf..8f07c3cd4ac 100644 --- a/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml +++ b/Resources/Prototypes/_DEN/Reagents/Consumable/Drink/juice.yml @@ -3,6 +3,6 @@ id: JuicePomegranate name: reagent-name-juice-pomegranate desc: reagent-desc-juice-pomegranate - physicalDesc: reagent-physical-desc-sticky + physicalDesc: reagent-physical-desc-crisp flavor: tart color: "#850134" From 8ff64032fab5d9e10ea821461fb3348c9ccec3c1 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Fri, 1 May 2026 06:44:04 -0500 Subject: [PATCH 09/26] aphrodisiac status effect stuff --- .../PopupMessageEntityEffectSystem.cs | 38 ++++++-- ...ExpiryPopupMessageStatusEffectComponent.cs | 13 +++ ...tervalPopupMessageStatusEffectComponent.cs | 25 ++++++ .../PopupMessageStatusEffectComponent.cs | 39 +++++++++ .../PopupMessageStatusEffectSystem.cs | 86 +++++++++++++++++++ .../_DEN/Entities/StatusEffects/lewd.yml | 16 ++++ 6 files changed, 211 insertions(+), 6 deletions(-) create mode 100644 Content.Shared/_DEN/StatusEffects/Components/ExpiryPopupMessageStatusEffectComponent.cs create mode 100644 Content.Shared/_DEN/StatusEffects/Components/IntervalPopupMessageStatusEffectComponent.cs create mode 100644 Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs create mode 100644 Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs create mode 100644 Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml diff --git a/Content.Shared/EntityEffects/Effects/Transform/PopupMessageEntityEffectSystem.cs b/Content.Shared/EntityEffects/Effects/Transform/PopupMessageEntityEffectSystem.cs index 5381d5e01ea..41e1e87ce4a 100644 --- a/Content.Shared/EntityEffects/Effects/Transform/PopupMessageEntityEffectSystem.cs +++ b/Content.Shared/EntityEffects/Effects/Transform/PopupMessageEntityEffectSystem.cs @@ -16,29 +16,55 @@ public sealed partial class PopupMessageEntityEffectSystem : EntityEffectSystem< [Dependency] private readonly SharedPopupSystem _popup = default!; protected override void Effect(Entity entity, ref EntityEffectEvent args) + { + // DEN start: move this to a public method + PopupMessage(entity, + args.Effect.Messages, + args.Effect.VisualType, + args.Effect.Method, + args.Effect.Type); + // DEN end + } + + // DEN start: move this to a public method + + /// + /// Spawns a random popup message on the given entity with the given parameters. + /// + /// The entity to spawn a popup message on. + /// An array of possible random messages. + /// The visual type of the popup. + /// The popup API type to use. + /// Whether this popup only shows for the entity, or for everyone. + public void PopupMessage(Entity entity, + string[] messages, + PopupType popupType, + PopupMethod method, + PopupRecipients recipients) { // TODO: When we get proper random prediction remove this check. if (_net.IsClient) return; - var msg = Loc.GetString(_random.Pick(args.Effect.Messages), ("entity", entity)); + var msg = Loc.GetString(_random.Pick(messages), ("entity", entity)); - switch ((args.Effect.Method, args.Effect.Type)) + switch ((method, recipients)) { case (PopupMethod.PopupEntity, PopupRecipients.Local): - _popup.PopupEntity(msg, entity, entity, args.Effect.VisualType); + _popup.PopupEntity(msg, entity, entity, popupType); break; case (PopupMethod.PopupEntity, PopupRecipients.Pvs): - _popup.PopupEntity(msg, entity, args.Effect.VisualType); + _popup.PopupEntity(msg, entity, popupType); break; case (PopupMethod.PopupCoordinates, PopupRecipients.Local): - _popup.PopupCoordinates(msg, Transform(entity).Coordinates, entity, args.Effect.VisualType); + _popup.PopupCoordinates(msg, Transform(entity).Coordinates, entity, popupType); break; case (PopupMethod.PopupCoordinates, PopupRecipients.Pvs): - _popup.PopupCoordinates(msg, Transform(entity).Coordinates, args.Effect.VisualType); + _popup.PopupCoordinates(msg, Transform(entity).Coordinates, popupType); break; } } + // DEN end } /// diff --git a/Content.Shared/_DEN/StatusEffects/Components/ExpiryPopupMessageStatusEffectComponent.cs b/Content.Shared/_DEN/StatusEffects/Components/ExpiryPopupMessageStatusEffectComponent.cs new file mode 100644 index 00000000000..6566789d99a --- /dev/null +++ b/Content.Shared/_DEN/StatusEffects/Components/ExpiryPopupMessageStatusEffectComponent.cs @@ -0,0 +1,13 @@ +namespace Content.Shared._DEN.StatusEffects.Components; + +/// +/// A status effect that will create a popup message on the entity upon the status effect expiring. +/// +/// +/// This is very similar to the "PopupMessage" entity effect in metabolisms, but rather than +/// being a chance per metabolism tick, this just shows a random message on expiry - +/// making it more consistent. +/// +[RegisterComponent] +public sealed partial class ExpiryPopupMessageStatusEffectComponent : PopupMessageStatusEffectComponent +{ } diff --git a/Content.Shared/_DEN/StatusEffects/Components/IntervalPopupMessageStatusEffectComponent.cs b/Content.Shared/_DEN/StatusEffects/Components/IntervalPopupMessageStatusEffectComponent.cs new file mode 100644 index 00000000000..c18bc64225f --- /dev/null +++ b/Content.Shared/_DEN/StatusEffects/Components/IntervalPopupMessageStatusEffectComponent.cs @@ -0,0 +1,25 @@ +namespace Content.Shared._DEN.StatusEffects.Components; + +/// +/// A status effect that will regularly create a popup message on the entity on a given interval. +/// +/// +/// This is very similar to the "PopupMessage" entity effect in metabolisms, but rather than +/// being a chance per metabolism tick, this just shows random messages on a given interval - +/// making it more consistent. +/// +[RegisterComponent] +public sealed partial class IntervalPopupMessageStatusEffectComponent : PopupMessageStatusEffectComponent +{ + /// + /// The minimum and maximum time interval that popup messages will be displayed. + /// + [DataField] + public (TimeSpan Min, TimeSpan Max) Interval = (TimeSpan.FromSeconds(30.0f), TimeSpan.FromSeconds(60.0f)); + + /// + /// The next time we should display a popup message. + /// + [ViewVariables(VVAccess.ReadWrite)] + public TimeSpan NextPopupTime = TimeSpan.Zero; +} diff --git a/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs b/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs new file mode 100644 index 00000000000..da4627c2ef2 --- /dev/null +++ b/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs @@ -0,0 +1,39 @@ +using Content.Shared.EntityEffects.Effects.Transform; +using Content.Shared.Popups; + +namespace Content.Shared._DEN.StatusEffects.Components; + +/// +/// Abstract class for status effects that show popup messages. +/// +/// +/// This is very similar to the "PopupMessage" entity effect in metabolisms. +/// +public abstract partial class PopupMessageStatusEffectComponent : Component +{ + /// + /// Array of messages that can popup. + /// Only one is chosen when the effect is applied. + /// + [DataField(required: true)] + public string[] Messages = default!; + + /// + /// Whether to just the entity we're affecting, or everyone around them. + /// + [DataField] + public PopupRecipients Type = PopupRecipients.Local; + + /// + /// Which popup API method to use. + /// Use PopupCoordinates in case the entity will be deleted while the popup is shown. + /// + [DataField] + public PopupMethod Method = PopupMethod.PopupEntity; + + /// + /// Size of the popup. + /// + [DataField] + public PopupType VisualType = PopupType.Small; +} diff --git a/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs new file mode 100644 index 00000000000..f4476180740 --- /dev/null +++ b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs @@ -0,0 +1,86 @@ +using Content.Shared._DEN.StatusEffects.Components; +using Content.Shared.EntityEffects.Effects.Transform; +using Content.Shared.StatusEffectNew; +using Content.Shared.StatusEffectNew.Components; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Shared._DEN.StatusEffects.EntitySystems; + +/// +/// This system handles displaying popup messages for various popup message status effects. +/// +public sealed partial class PopupMessageStatusEffectSystem : EntitySystem +{ + [Dependency] private readonly PopupMessageEntityEffectSystem _popupEffect = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IGameTiming _timing = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnIntervalPopupApplied); + SubscribeLocalEvent(OnExpiredPopupRemoved); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var query = EntityQueryEnumerator(); + while (query.MoveNext(out var uid, out var interval, out var statusEffect)) + { + if (_timing.CurTime < interval.NextPopupTime) + continue; + + UpdatePopupIntervalTime((uid, interval)); + SpawnPopup((uid, statusEffect), interval); + } + } + + private void OnIntervalPopupApplied(Entity ent, ref StatusEffectAppliedEvent args) + { + UpdatePopupIntervalTime(ent); + } + + private void OnExpiredPopupRemoved(Entity ent, ref StatusEffectRemovedEvent args) + { + SpawnPopup((ent.Owner, null), ent.Comp); + } + + /// + /// Spawns a popup message related to a popup message status effect. + /// + /// The status effect entity. + /// The popup message component associated with this effect. + private void SpawnPopup(Entity ent, PopupMessageStatusEffectComponent popupComp) + { + if (!Resolve(ent.Owner, ref ent.Comp)) + return; + + var statusEffect = ent.Comp; + if (statusEffect.AppliedTo == null) + return; + + var xform = Transform(statusEffect.AppliedTo.Value); + _popupEffect.PopupMessage((statusEffect.AppliedTo.Value, xform), + popupComp.Messages, + popupComp.VisualType, + popupComp.Method, + popupComp.Type); + } + + /// + /// Sets the next popup message spawn time for an interval popup effect. + /// + /// The interval popup status effect. + private void UpdatePopupIntervalTime(Entity ent) + { + var comp = ent.Comp; + var (min, max) = comp.Interval; + var newInterval = _random.NextDouble(min.TotalSeconds, max.TotalSeconds); + + comp.NextPopupTime = _timing.CurTime + TimeSpan.FromSeconds(newInterval); + } +} diff --git a/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml new file mode 100644 index 00000000000..2449e3b9091 --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml @@ -0,0 +1,16 @@ +- type: entity + parent: MobStatusEffectBase + id: StatusEffectMildAphrodisiac + name: mild aphrodisiac effect + components: + - type: IntervalPopupMessageStatusEffect + interval: [45, 120] + messages: + - reagent-effect-mildaphrodisiac-interval-1 + - reagent-effect-mildaphrodisiac-interval-2 + - reagent-effect-mildaphrodisiac-interval-3 + - reagent-effect-mildaphrodisiac-interval-4 + - reagent-effect-mildaphrodisiac-interval-5 + - type: ExpiryPopupMessageStatusEffect + messages: + - reagent-effect-mildaphrodisiac-expired-1 From 5bc95e39197407d1da8faec3120311b8817a7ae5 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Fri, 1 May 2026 07:38:29 -0500 Subject: [PATCH 10/26] fix this shit up --- .../Components/PopupMessageStatusEffectComponent.cs | 2 +- .../EntitySystems/PopupMessageStatusEffectSystem.cs | 2 +- Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs b/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs index da4627c2ef2..5f11a84f6d8 100644 --- a/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs +++ b/Content.Shared/_DEN/StatusEffects/Components/PopupMessageStatusEffectComponent.cs @@ -22,7 +22,7 @@ public abstract partial class PopupMessageStatusEffectComponent : Component /// Whether to just the entity we're affecting, or everyone around them. /// [DataField] - public PopupRecipients Type = PopupRecipients.Local; + public PopupRecipients Recipients = PopupRecipients.Local; /// /// Which popup API method to use. diff --git a/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs index f4476180740..bec0d394490 100644 --- a/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs +++ b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs @@ -68,7 +68,7 @@ private void SpawnPopup(Entity ent, PopupMessageStatusEf popupComp.Messages, popupComp.VisualType, popupComp.Method, - popupComp.Type); + popupComp.Recipients); } /// diff --git a/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml index 2449e3b9091..346550b6c0d 100644 --- a/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml +++ b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml @@ -5,6 +5,8 @@ components: - type: IntervalPopupMessageStatusEffect interval: [45, 120] + visualType: Medium + recipients: Local messages: - reagent-effect-mildaphrodisiac-interval-1 - reagent-effect-mildaphrodisiac-interval-2 From abdcc49a305802b0269546a5e0de8c4e931c038d Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:01:18 -0500 Subject: [PATCH 11/26] aphrodisiac texts --- Resources/Locale/en-US/_DEN/reagents/lewd.ftl | 9 ++++++ .../_DEN/Entities/StatusEffects/lewd.yml | 28 ++++++++++++++----- 2 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 Resources/Locale/en-US/_DEN/reagents/lewd.ftl diff --git a/Resources/Locale/en-US/_DEN/reagents/lewd.ftl b/Resources/Locale/en-US/_DEN/reagents/lewd.ftl new file mode 100644 index 00000000000..6fe19ee3217 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/reagents/lewd.ftl @@ -0,0 +1,9 @@ +reagent-effect-aphrodisiac-mild1 = Your entire body feels warm. +reagent-effect-aphrodisiac-mild2 = Your breathing feels heavier. +reagent-effect-aphrodisiac-mild3 = Your thoughts feel more vivid. +reagent-effect-aphrodisiac-mild4 = The flush in your face is hard to ignore. +reagent-effect-aphrodisiac-mild5 = You feel more sensitive to the touch. +reagent-effect-aphrodisiac-mild6 = Every sensation feels more intense. +reagent-effect-aphrodisiac-mildoverdose1 = You feel nauseous. +reagent-effect-aphrodisiac-mildoverdose2 = You feel lightheaded. +reagent-effect-aphrodisiac-mildexpired1 = You feel your inhibitions normalize. diff --git a/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml index 346550b6c0d..63f0892b65b 100644 --- a/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml +++ b/Resources/Prototypes/_DEN/Entities/StatusEffects/lewd.yml @@ -4,15 +4,29 @@ name: mild aphrodisiac effect components: - type: IntervalPopupMessageStatusEffect - interval: [45, 120] + interval: [10, 90] visualType: Medium recipients: Local messages: - - reagent-effect-mildaphrodisiac-interval-1 - - reagent-effect-mildaphrodisiac-interval-2 - - reagent-effect-mildaphrodisiac-interval-3 - - reagent-effect-mildaphrodisiac-interval-4 - - reagent-effect-mildaphrodisiac-interval-5 + - reagent-effect-aphrodisiac-mild1 + - reagent-effect-aphrodisiac-mild2 + - reagent-effect-aphrodisiac-mild3 + - reagent-effect-aphrodisiac-mild4 + - reagent-effect-aphrodisiac-mild5 + - reagent-effect-aphrodisiac-mild6 - type: ExpiryPopupMessageStatusEffect messages: - - reagent-effect-mildaphrodisiac-expired-1 + - reagent-effect-aphrodisiac-mildexpired1 + +- type: entity + parent: MobStatusEffectBase + id: StatusEffectMildAphrodisiacOverdose + name: mild aphrodisiac overdose + components: + - type: IntervalPopupMessageStatusEffect + interval: [5, 30] + visualType: MediumCaution + recipients: Local + messages: + - reagent-effect-aphrodisiac-mildoverdose1 + - reagent-effect-aphrodisiac-mildoverdose2 From 6794bcec54b79e265d5c6366065fbd565abf13b4 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:01:56 -0500 Subject: [PATCH 12/26] add pomelustine --- .../Locale/en-US/_DEN/reagents/meta/lewd.ftl | 2 + Resources/Prototypes/_DEN/Reactions/lewd.yml | 15 ++++ Resources/Prototypes/_DEN/Reagents/lewd.yml | 78 +++++++++++++++++++ 3 files changed, 95 insertions(+) create mode 100644 Resources/Locale/en-US/_DEN/reagents/meta/lewd.ftl create mode 100644 Resources/Prototypes/_DEN/Reactions/lewd.yml create mode 100644 Resources/Prototypes/_DEN/Reagents/lewd.yml diff --git a/Resources/Locale/en-US/_DEN/reagents/meta/lewd.ftl b/Resources/Locale/en-US/_DEN/reagents/meta/lewd.ftl new file mode 100644 index 00000000000..449eb407c80 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/reagents/meta/lewd.ftl @@ -0,0 +1,2 @@ +reagent-name-pomelustine = pomelustine +reagent-desc-pomelustine = A mild aphrodisiac synthesized from pomegranates. Often ingested to provoke desire and arousal. diff --git a/Resources/Prototypes/_DEN/Reactions/lewd.yml b/Resources/Prototypes/_DEN/Reactions/lewd.yml new file mode 100644 index 00000000000..e7b20675c70 --- /dev/null +++ b/Resources/Prototypes/_DEN/Reactions/lewd.yml @@ -0,0 +1,15 @@ +# This reaction is designed to be niche but still accessible to passengers, bartenders, et cetera. +# It should never overlap with the recipe of a feasibly makeable drink - i.e. you should not be +# able to make this by accident. +# If this recipe is ever changed, keep these things in mind. +- type: reaction + id: Pomelustine + requiredMixerCategories: + - Stir + reactants: + JuicePomegranate: + amount: 5 + Ash: + amount: 1 + products: + Pomelustine: 5 diff --git a/Resources/Prototypes/_DEN/Reagents/lewd.yml b/Resources/Prototypes/_DEN/Reagents/lewd.yml new file mode 100644 index 00000000000..bd60d388882 --- /dev/null +++ b/Resources/Prototypes/_DEN/Reagents/lewd.yml @@ -0,0 +1,78 @@ +- type: reagent + abstract: true + id: BaseLewdReagent + group: Lewd + recognizable: true # Lewd reagents should always be recognizable to prevent accidental consumption + +- type: reagent + abstract: true + parent: BaseLewdReagent + id: BaseAphrodisiac + group: Aphrodisiacs + +- type: reagent + parent: BaseAphrodisiac + id: Pomelustine + name: reagent-name-pomelustine + desc: reagent-desc-pomelustine + physicalDesc: reagent-physical-desc-sticky + flavor: fruity + color: "#4b012c" + metabolisms: + Metabolites: + metabolismRate: 0.01 + effects: + # Basic effect: "Aphrodisiac" flavor text. + # At 0.01u / second, each 10u will last about ~16.6 minutes. + # 50u will last ~83.3 minutes in the bloodstream. + - !type:ModifyStatusEffect + effectProto: StatusEffectMildAphrodisiac + type: Update + # Overdose at 50u: Drunkenness / vomiting. + # Above this level, pomelustine is also flushed out of your system 5x as fast. + # Each unit above 50u lasts 20 seconds, instead of 100 seconds. + # 60u will last ~86.7 minutes total. + - !type:ModifyStatusEffect + effectProto: StatusEffectMildAphrodisiacOverdose + type: Update + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 50 + - !type:Drunk + boozePower: 2 + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 50 + - !type:Vomit + probability: 0.03 + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 50 + - !type:AdjustReagent + reagent: Pomelustine + amount: -0.04 + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 50 + # 60u and above: Poison damage. + # Pomelustine is flushed out 20x as fast above this threshold - 5 seconds per unit above 60u. + # 70u will last 87.5 minutes total. Each 10u above 60u lasts 50 seconds. + - !type:HealthChange + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 60 + damage: + types: + Poison: 0.5 + - !type:AdjustReagent + reagent: Pomelustine + amount: -0.15 + conditions: + - !type:ReagentCondition + reagent: Pomelustine + min: 60 From dbc66d109f86dbcaed814a274fe324e48a561b81 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:02:47 -0500 Subject: [PATCH 13/26] guidebook entry --- Resources/Locale/en-US/_DEN/guidebook/guides.ftl | 1 + Resources/Prototypes/Guidebook/chemicals.yml | 1 + Resources/Prototypes/_DEN/Guidebook/chemicals.yml | 5 +++++ .../ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml | 12 ++++++++++++ 4 files changed, 19 insertions(+) create mode 100644 Resources/Locale/en-US/_DEN/guidebook/guides.ftl create mode 100644 Resources/Prototypes/_DEN/Guidebook/chemicals.yml create mode 100644 Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml diff --git a/Resources/Locale/en-US/_DEN/guidebook/guides.ftl b/Resources/Locale/en-US/_DEN/guidebook/guides.ftl new file mode 100644 index 00000000000..260b0a64fa1 --- /dev/null +++ b/Resources/Locale/en-US/_DEN/guidebook/guides.ftl @@ -0,0 +1 @@ +guide-entry-lewd = ⑱ Lewd diff --git a/Resources/Prototypes/Guidebook/chemicals.yml b/Resources/Prototypes/Guidebook/chemicals.yml index 730d7b30455..4c96c26203b 100644 --- a/Resources/Prototypes/Guidebook/chemicals.yml +++ b/Resources/Prototypes/Guidebook/chemicals.yml @@ -11,6 +11,7 @@ - Foods - Botanical - Biological + - Lewd # DEN - Special - Others filterEnabled: True diff --git a/Resources/Prototypes/_DEN/Guidebook/chemicals.yml b/Resources/Prototypes/_DEN/Guidebook/chemicals.yml new file mode 100644 index 00000000000..7caf5c713ec --- /dev/null +++ b/Resources/Prototypes/_DEN/Guidebook/chemicals.yml @@ -0,0 +1,5 @@ +- type: guideEntry + id: Lewd + name: guide-entry-lewd + text: "/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml" + filterEnabled: True diff --git a/Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml b/Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml new file mode 100644 index 00000000000..9ffd2d175ee --- /dev/null +++ b/Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml @@ -0,0 +1,12 @@ + + +# Lewd + +These reagents all have NSFW-oriented theming or mechanics. + +As per The Den's server rules on consent, [color=orange]do not expose other players to these reagents' effects without their OOC consent.[/color] Do not trick other players into consuming these reagents or coerce other players into NSFW situations. [color=red]This will be treated as a consent breach, and you will be permanently banned.[/color] + + + + + From 66cd2167e449165b949dc81a7c2870c7dfdecd16 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:02:57 -0500 Subject: [PATCH 14/26] drink glasses --- .../Objects/Consumable/Drinks/drinks_lewd.yml | 16 ++++++++++++++++ .../Consumable/Drinks/drinks_metamorphic.yml | 16 ++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml create mode 100644 Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml new file mode 100644 index 00000000000..ba2a0f66e1d --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml @@ -0,0 +1,16 @@ +# Aphrodisiacs + +- type: entity + parent: DrinkGlass + id: DrinkPomelustineGlass + suffix: pomelustine + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: Pomelustine + Quantity: 30 + +# Others. diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml new file mode 100644 index 00000000000..d606b215c4c --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml @@ -0,0 +1,16 @@ +# Juice + +- type: entity + parent: DrinkGlass + id: DrinkPomegranateJuiceGlass + suffix: pomegranate juice + components: + - type: SolutionContainerManager + solutions: + drink: + maxVol: 30 + reagents: + - ReagentId: JuicePomegranate + Quantity: 30 + +# Cocktails From 90fbe6e587d55bc0c6753b5d5db61f87bf361ab3 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:05:58 -0500 Subject: [PATCH 15/26] tweak vomit chancce --- Resources/Prototypes/_DEN/Reagents/lewd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_DEN/Reagents/lewd.yml b/Resources/Prototypes/_DEN/Reagents/lewd.yml index bd60d388882..4ee90b42c03 100644 --- a/Resources/Prototypes/_DEN/Reagents/lewd.yml +++ b/Resources/Prototypes/_DEN/Reagents/lewd.yml @@ -46,7 +46,7 @@ reagent: Pomelustine min: 50 - !type:Vomit - probability: 0.03 + probability: 0.02 conditions: - !type:ReagentCondition reagent: Pomelustine From e3ddb3112157f7f498c22db65b3dbb2b473c68ea Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:10:09 -0500 Subject: [PATCH 16/26] add pom juice to random drink spawner --- .../Markers/Spawners/Random/Food_Drinks/drinks_glass.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/drinks_glass.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/drinks_glass.yml index ac845e55d49..93e901df0aa 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/drinks_glass.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/drinks_glass.yml @@ -123,6 +123,10 @@ - id: DrinkShakeWhite - id: DrinkTheMartinez - id: DrinkMoonshineGlass + # Start DEN: Additions + # Note: Do NOT add NSFW-oriented glasses here, like aphrodisiacs. + - id: DrinkPomegranateJuiceGlass + # End DEN - !type:GroupSelector #rare weight: 0.05 children: From fc40e632940962c9eaecd56ea7f723796812173a Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 04:20:54 -0500 Subject: [PATCH 17/26] move chemical guidebook into right spot --- Resources/Prototypes/_DEN/Guidebook/chemicals.yml | 2 +- .../{Guidebook/_DEN => _DEN/Guidebook}/ChemicalTabs/Lewd.xml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) rename Resources/ServerInfo/{Guidebook/_DEN => _DEN/Guidebook}/ChemicalTabs/Lewd.xml (95%) diff --git a/Resources/Prototypes/_DEN/Guidebook/chemicals.yml b/Resources/Prototypes/_DEN/Guidebook/chemicals.yml index 7caf5c713ec..4326eac0be1 100644 --- a/Resources/Prototypes/_DEN/Guidebook/chemicals.yml +++ b/Resources/Prototypes/_DEN/Guidebook/chemicals.yml @@ -1,5 +1,5 @@ - type: guideEntry id: Lewd name: guide-entry-lewd - text: "/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml" + text: "/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml" filterEnabled: True diff --git a/Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml b/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml similarity index 95% rename from Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml rename to Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml index 9ffd2d175ee..4c69bbaa0d8 100644 --- a/Resources/ServerInfo/Guidebook/_DEN/ChemicalTabs/Lewd.xml +++ b/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml @@ -6,7 +6,10 @@ These reagents all have NSFW-oriented theming or mechanics. As per The Den's server rules on consent, [color=orange]do not expose other players to these reagents' effects without their OOC consent.[/color] Do not trick other players into consuming these reagents or coerce other players into NSFW situations. [color=red]This will be treated as a consent breach, and you will be permanently banned.[/color] +## Aphrodisiacs + +## Other From f83b3270a7e97575447c008a71a6cae25890e81e Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 07:49:20 -0500 Subject: [PATCH 18/26] comment header --- Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml b/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml index 4c69bbaa0d8..e7bb54b5aaa 100644 --- a/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml +++ b/Resources/ServerInfo/_DEN/Guidebook/ChemicalTabs/Lewd.xml @@ -9,7 +9,8 @@ As per The Den's server rules on consent, [color=orange]do not expose other play ## Aphrodisiacs -## Other + + From d7d196b031bf4fd3378bfbea9a0028b2e353c042 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 07:53:51 -0500 Subject: [PATCH 19/26] make pomeegranate seeds obtainable --- Resources/Prototypes/Catalog/Fills/Crates/botany.yml | 3 ++- .../Prototypes/Catalog/VendingMachines/Inventories/seeds.yml | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Catalog/Fills/Crates/botany.yml b/Resources/Prototypes/Catalog/Fills/Crates/botany.yml index 99702bc018e..bd30efaa25d 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/botany.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/botany.yml @@ -71,7 +71,7 @@ parent: CrateHydroponics id: CrateHydroponicsSeeds name: seeds crate - description: Big things have small beginnings. Contains twenty-four different seeds. + description: Big things have small beginnings. Contains twenty-five different seeds. # DEN: 24 -> 25 components: - type: EntityTableContainerFill containers: @@ -101,6 +101,7 @@ - id: PeaSeeds - id: CherrySeeds - id: CottonSeeds + - id: PomegranateSeeds # DEN - type: entity parent: CrateHydroponics diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml index 27fbf7ab5c3..bcfc8fad078 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/seeds.yml @@ -27,6 +27,7 @@ OnionRedSeeds: 5 OrangeSeeds: 5 PeaSeeds: 5 + PomegranateSeeds: 5 # DEN PoppySeeds: 3 PotatoSeeds: 5 PumpkinSeeds: 5 From f67249993c26c96da59990ed096045982d05e476 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 08:02:40 -0500 Subject: [PATCH 20/26] add pomegranate foodsequence ingredient --- .../nutrition/components/food-sequence.ftl | 6 +++++ .../Objects/Consumable/Food/produce.yml | 4 ++-- .../FoodSequence/food_sequence_element.yml | 23 +++++++++++++++++++ 3 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 Resources/Prototypes/_DEN/Recipes/Cooking/FoodSequence/food_sequence_element.yml diff --git a/Resources/Locale/en-US/_DEN/nutrition/components/food-sequence.ftl b/Resources/Locale/en-US/_DEN/nutrition/components/food-sequence.ftl index 16593d7dfbe..68984b23796 100644 --- a/Resources/Locale/en-US/_DEN/nutrition/components/food-sequence.ftl +++ b/Resources/Locale/en-US/_DEN/nutrition/components/food-sequence.ftl @@ -1,5 +1,11 @@ +# general + +food-sequence-content-pomegranate = pomegranate + # burgers +food-sequence-burger-content-pomegranate = pom + # cotton burgers food-sequence-cotton-burger-content-plushie-alien-germ = germ food-sequence-cotton-burger-content-plushie-azalea = aza diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index 4037445c989..ee51b079184 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -32,5 +32,5 @@ - Fruit - type: FoodSequenceElement # TODO entries: - Burger: Apple - Taco: Apple + Burger: PomegranateBurger + Taco: Pomegranate diff --git a/Resources/Prototypes/_DEN/Recipes/Cooking/FoodSequence/food_sequence_element.yml b/Resources/Prototypes/_DEN/Recipes/Cooking/FoodSequence/food_sequence_element.yml new file mode 100644 index 00000000000..f7fad3ca771 --- /dev/null +++ b/Resources/Prototypes/_DEN/Recipes/Cooking/FoodSequence/food_sequence_element.yml @@ -0,0 +1,23 @@ +# General + +- type: foodSequenceElement + id: Pomegranate + name: food-sequence-content-pomegranate + sprites: + - sprite: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi + state: produce + tags: + - Fruit + +# Burgers + +## Produce + +- type: foodSequenceElement + id: PomegranateBurger + name: food-sequence-burger-content-pomegranate + sprites: + - sprite: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi + state: produce + tags: + - Fruit From 0d1b0d4522a6c57c42de34e42ce53619e8af49e6 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 08:03:35 -0500 Subject: [PATCH 21/26] this aint todo anymore --- .../_DEN/Entities/Objects/Consumable/Food/produce.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index ee51b079184..603f2098cb7 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -30,7 +30,7 @@ - type: Tag tags: - Fruit - - type: FoodSequenceElement # TODO + - type: FoodSequenceElement entries: Burger: PomegranateBurger Taco: Pomegranate From e235f32b54c556393fe038a98baa8e250993f2da Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 08:18:00 -0500 Subject: [PATCH 22/26] update time on statu effects --- Resources/Prototypes/_DEN/Reagents/lewd.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/_DEN/Reagents/lewd.yml b/Resources/Prototypes/_DEN/Reagents/lewd.yml index 4ee90b42c03..a96f52f5a5f 100644 --- a/Resources/Prototypes/_DEN/Reagents/lewd.yml +++ b/Resources/Prototypes/_DEN/Reagents/lewd.yml @@ -28,6 +28,7 @@ - !type:ModifyStatusEffect effectProto: StatusEffectMildAphrodisiac type: Update + time: 10 # This is so it doesn't expire while you're metabolizing other things # Overdose at 50u: Drunkenness / vomiting. # Above this level, pomelustine is also flushed out of your system 5x as fast. # Each unit above 50u lasts 20 seconds, instead of 100 seconds. @@ -35,6 +36,7 @@ - !type:ModifyStatusEffect effectProto: StatusEffectMildAphrodisiacOverdose type: Update + time: 10 # This is so it doesn't expire while you're metabolizing other things conditions: - !type:ReagentCondition reagent: Pomelustine From 4961c1e21c30eb8a230e4026a4214c66961dbd7b Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 08:24:55 -0500 Subject: [PATCH 23/26] aluminium removes aphrodisiacs --- Resources/Prototypes/Reagents/elements.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Prototypes/Reagents/elements.yml b/Resources/Prototypes/Reagents/elements.yml index 24e220a4a10..89d483002ee 100644 --- a/Resources/Prototypes/Reagents/elements.yml +++ b/Resources/Prototypes/Reagents/elements.yml @@ -8,6 +8,14 @@ color: "#848789" boilingPoint: 2327.0 meltingPoint: 660.0 + metabolisms: # DEN: Aluminium removes aphrodisiacs + Bloodstream: + effects: + # Five units will remove 50u of pomelustine. + - !type:AdjustReagent + reagent: Pomelustine + amount: -5 + conditions: - type: reagent id: Carbon From 107d35aa9da4146740b1f789cdd5309b6daacf14 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Sat, 2 May 2026 08:27:07 -0500 Subject: [PATCH 24/26] actually this needs to be metabolites --- Resources/Prototypes/Reagents/elements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Reagents/elements.yml b/Resources/Prototypes/Reagents/elements.yml index 89d483002ee..6601b7e1912 100644 --- a/Resources/Prototypes/Reagents/elements.yml +++ b/Resources/Prototypes/Reagents/elements.yml @@ -9,7 +9,7 @@ boilingPoint: 2327.0 meltingPoint: 660.0 metabolisms: # DEN: Aluminium removes aphrodisiacs - Bloodstream: + Metabolites: effects: # Five units will remove 50u of pomelustine. - !type:AdjustReagent From bd611332f98abfdf4ac28ff3476e12685c38344b Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Thu, 28 May 2026 12:17:15 -0500 Subject: [PATCH 25/26] upmerge fixes 1 --- .../EntitySystems/PopupMessageStatusEffectSystem.cs | 6 +++--- .../Objects/Consumable/Drinks/drinks_lewd.yml | 10 ++++------ .../Objects/Consumable/Drinks/drinks_metamorphic.yml | 12 +++++------- .../Entities/Objects/Consumable/Food/produce.yml | 9 --------- 4 files changed, 12 insertions(+), 25 deletions(-) diff --git a/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs index bec0d394490..3f2042d64c8 100644 --- a/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs +++ b/Content.Shared/_DEN/StatusEffects/EntitySystems/PopupMessageStatusEffectSystem.cs @@ -12,9 +12,9 @@ namespace Content.Shared._DEN.StatusEffects.EntitySystems; /// public sealed partial class PopupMessageStatusEffectSystem : EntitySystem { - [Dependency] private readonly PopupMessageEntityEffectSystem _popupEffect = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private PopupMessageEntityEffectSystem _popupEffect = default!; + [Dependency] private IRobustRandom _random = default!; + [Dependency] private IGameTiming _timing = default!; public override void Initialize() { diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml index ba2a0f66e1d..5bcbfbec9bd 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml @@ -5,12 +5,10 @@ id: DrinkPomelustineGlass suffix: pomelustine components: - - type: SolutionContainerManager + - type: Solution solutions: - drink: - maxVol: 30 - reagents: - - ReagentId: Pomelustine - Quantity: 30 + reagents: + - ReagentId: Pomelustine + Quantity: 30 # Others. diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml index d606b215c4c..f9c79cae501 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml @@ -5,12 +5,10 @@ id: DrinkPomegranateJuiceGlass suffix: pomegranate juice components: - - type: SolutionContainerManager - solutions: - drink: - maxVol: 30 - reagents: - - ReagentId: JuicePomegranate - Quantity: 30 + - type: Solution + solution: + reagents: + - ReagentId: JuicePomegranate + Quantity: 30 # Cocktails diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml index 603f2098cb7..68afbc1ceb1 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Food/produce.yml @@ -7,15 +7,6 @@ - type: FlavorProfile flavors: - pomegranate - - type: SolutionContainerManager - solutions: - food: - maxVol: 14 - reagents: - - ReagentId: Nutriment - Quantity: 10 - - ReagentId: Vitamin - Quantity: 4 - type: Sprite sprite: _DEN/Objects/Specific/Hydroponics/pomegranate.rsi - type: Item From 4bd01e425474e609eb1c6533bf19288f9ac486c7 Mon Sep 17 00:00:00 2001 From: portfiend <109661617+portfiend@users.noreply.github.com> Date: Thu, 28 May 2026 12:28:06 -0500 Subject: [PATCH 26/26] upmerge fix 2 --- .../_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml index 5bcbfbec9bd..df4aa6a6474 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Consumable/Drinks/drinks_lewd.yml @@ -6,7 +6,7 @@ suffix: pomelustine components: - type: Solution - solutions: + solution: reagents: - ReagentId: Pomelustine Quantity: 30