From e0f18e8a9d1117f2b25ee9e1b067c735a990086b Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Tue, 13 Aug 2024 00:43:10 +0800 Subject: [PATCH 01/13] Add Home Run Bat (Traitor Item) (#722) # Description Adds the home run bat as a new item for traitors, a new traitor weapon that knocks targets back significantly. The home run bat has the same Nyanocombat stats as the baseball bat, with differences: damage has been reduced by around 25%, same as the baseball bat, and the Stamina damage on power attacks is 25. Originally made for Delta-V (https://github.com/DeltaV-Station/Delta-v/pull/1476) ## Media
![image](https://github.com/user-attachments/assets/3502145f-cae2-4ce0-9ae2-a0f2eeb48c8b) ![image](https://github.com/user-attachments/assets/f508a367-d2bb-4283-bd47-de4b4b272637)
## Changelog :cl: musicmanvr - add: Added the Home Run Bat for Syndicate operatives. Send your foes flying! --------- Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> --- .../Locale/en-US/store/uplink-catalog.ftl | 3 ++ .../Prototypes/Catalog/uplink_catalog.yml | 12 +++++++ .../Objects/Weapons/Melee/home_run_bat.yml | 34 ++++++++++++++++++ .../home_run_bat.rsi/equipped-BACKPACK.png | Bin 0 -> 6578 bytes .../Weapons/Melee/home_run_bat.rsi/icon.png | Bin 0 -> 832 bytes .../Melee/home_run_bat.rsi/inhand-left.png | Bin 0 -> 6023 bytes .../Melee/home_run_bat.rsi/inhand-right.png | Bin 0 -> 6020 bytes .../Weapons/Melee/home_run_bat.rsi/meta.json | 34 ++++++++++++++++++ .../home_run_bat.rsi/wielded-inhand-left.png | Bin 0 -> 6115 bytes .../home_run_bat.rsi/wielded-inhand-right.png | Bin 0 -> 6059 bytes 10 files changed, 83 insertions(+) create mode 100644 Resources/Prototypes/Entities/Objects/Weapons/Melee/home_run_bat.yml create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/equipped-BACKPACK.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/icon.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/wielded-inhand-right.png diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 592cf59d2fe..67d221d9b61 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -421,3 +421,6 @@ uplink-barber-scissors-desc = A good tool to give your fellow agent a nice hairc uplink-backpack-syndicate-name = Syndicate backpack uplink-backpack-syndicate-desc = Lightweight explosion-proof а backpack for holding various traitor goods + +uplink-home-run-bat-name = Home Run Bat +uplink-home-run-bat-desc = Rigged bat pre-coated in blood for Syndicate tee-ball practice. Launch your foes! diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 1f30c2cb7d2..a1a60e3fef0 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -101,6 +101,18 @@ tags: - NukeOpsUplink +- type: listing + id: BaseBallBatHomeRun + name: uplink-home-run-bat-name + description: uplink-home-run-bat-desc + productEntity: BaseBallBatHomeRun + icon: + entity: BaseBallBatHomeRun + cost: + Telecrystal: 16 + categories: + - UplinkWeapons + # Explosives - type: listing diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/home_run_bat.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/home_run_bat.yml new file mode 100644 index 00000000000..5cb5795c8a5 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/home_run_bat.yml @@ -0,0 +1,34 @@ +- type: entity + parent: BaseBallBat + id: BaseBallBatHomeRun + name: home run bat + description: Heavy metal bat with an extra kick. + components: + - type: Sprite + sprite: Objects/Weapons/Melee/home_run_bat.rsi + state: icon + - type: MeleeWeapon + damage: + types: + Blunt: 11 + bluntStaminaDamageFactor: 2.0 + heavyRateModifier: 0.5 + heavyDamageBaseModifier: 1.75 + heavyStaminaCost: 25 + maxTargets: 2 + angle: 120 + soundHit: + collection: ExplosionSmall + - type: MeleeRequiresWield # You can't hit a home run with one hand, jimbo. + - type: MeleeThrowOnHit + speed: 30 + lifetime: 5 + - type: Item + size: Large + - type: Tool + speed: 0.5 # it's very heavy, it rolls slower than a wooden bat + - type: UseDelay + delay: 2 + - type: PhysicalComposition + materialComposition: + Steel: 350 # it's not made of wood diff --git a/Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/equipped-BACKPACK.png b/Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/equipped-BACKPACK.png new file mode 100644 index 0000000000000000000000000000000000000000..0f42b7f14722c161fe8a70dcf80b0b80978d0eb6 GIT binary patch literal 6578 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 KHY+soJpO+t%!wHQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/home_run_bat.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..33eec9258c605efe223d8b839537c73a7916fa37 GIT binary patch literal 832 zcmV-G1Hb%EX>4Tx04R}tkv&MmP!xqvQ>7vm2MdaH$WWc^q9Tr^6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRRd-%s4f0|q}xvF5~ zSU?>rB*zc_2ft@)mS(2iq+lHAf3fY42_Ucww41j5eQew96TtrrTxnf@y#>sFlHTlU zkt1Mu8@RacYVsa%xdV(n>5?HilAlT_m4Np%`lbRfatjQuxpV8BeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009_DL_t(o!|m3+4uUWg1>l3Suq!Js;KV}GSKz%#x-i*U z5(g8ehB{z0;9^Z7g;;6Jpm$~O#?Nl;Z4 z0Q9;Lp({Mka{$1JQV1a?$A+$ON-6e1fU6LAa1KO~cKpT_o@E(sU55wfxJ1!p4{TlG zM@q2)aK7Isaciq!jK7)=jImkVN&vOt02txcd%zT5JOlFUC2Wc>3NXeQW3xM+)c`u& z6#hDZP24zuZQLk;3*2}a+QvVgfiz9~IF8XY%~zeiD1gN4x<*-+)-N!@n)qx0ANXVd zU${1aPkazSy}`C^>ji)B19Fp*=ejR^a4A)f)K!WQ(yPDWXX**~%GuHPbiSnk0000< KMNUMnLSTY zh!QGEN)qWNy+tVEEtC+Yl>E-9-~T#m&Y5%ev-juO`?L4+oaZ?^JXW}B zYs}Vw!C=~MG^!``zeIkjsX*5PPS|4@OeI<7y-wl@L?VPD0h<#FA|z2l5CKX#Y#2=X zXkhL7)DBCni6H$_r6p=tL{i%7(m0<_CcqedJY6!MvU+5CWpN4CAT>Gfi1BE4HR@x6 z#WGIr>9R-MBzt!>MYp|7YTE7RW&K>1EUK;XU`O378~gn<*9poypZR z?mw7dEZWpGXex@HW4U2kh0Dfjf#ZY$^}Q^Guh5NK_~3C*^o;y~?u}>i{Hr_n-ODPR z==bTYy4A8xw8njA*gUI!iapiv;LL+t9vW#{7`$74z1-tM!j(CK_kCfKV3y2jSk{F1 zHjC^Vcs~R$N*$axTGQ|bdx>NYua-LQj(J`Bjx*-JanXiBee8RiQb|@ z>wxfvkit_XBl$_=B`-2MBAz(yMW&Tma#uIy`)`|be^;zNv+$1xC)=bs5m(3iKPrXv zxuDGR{>pXmxO%dF@AjU5<4y6f3@5iGekO{iLX&+$Po%x9C$UR{Sjs_`4au!5l4t2z zAHc1b)!6iCu5x{KPN?ab)s?YHzoPSQ47}pu`Kp9R5wm?&OBQN&oJiRdBR$3IvCVuL zkknOWm~A?#HV!&owTjI>FehugtYV9>h^0+E?QMJ6lvm1!D^=Ox(|qAGl$^`wWmp|O zs|6(Roof3{;&%&==@l3+W9S>NzpIOIImS~`-s!ui{H!a@*Jj%ATqojSf!I;EQQz%I zUG)8iX-Cc5$wl*+sZEGj;pkC~MfoZm`mqMX~BPApBJKE`furG>N|R2`*LlWdxfhAPc2V|o$x{cB`fsU73!(ix5G;hBo(jQXM< zZ9AoYJzH&dqO66rQmSIr_oyl=$Fc_g_&Ag1=$drHo_+j~-lbmup*r3w!n#HkBz!{K zLb^&iKlG@wVey4I|8Nca?%#5oojB*Bi$SN?ORz2f&sT|iW1iw%;y-Ll*LqUM;`yt2 zM(pcra@{@-hEH4S&~J?`r#x%3jh}BZH=69Yvnrhu7?Ln^ZuYSSN-Npphcp({}R*6TfCr6;wnx&(Ce2mvU{zzM;hH=uFh*yR;+>6ygMiIe8*z-X0LwJ zzff{U#4B6b>+dKFF)B-^+-mw5W%dlzh5x;*Nsqxj$l|VBqCVg;UAKqpr?gHhYJGlg zLXCDd%f{(Q*RthzmcA1mS=v~uv$G>_kK~0)VM*zur#;2>RnNWcquxjFx_Ho5{B+={ zvyQ&vY8_{tgDWv8w6}X!T=-`HQR%inOb=)8`>@2V2=1Pe3%t~b>(<-DL$SdP#O4a~ zlS=y%&v)29%X)XD<CoEB z9r*XfZyymKf0XU(9Oc^dQ&)KpZoKwlx>}37qaCg*;N$M4l{?PPn72JYC_X1ZzqbBk z>Zjhu*+r8{h!GEsNyUk`TNbYz-Kq?ODa3P}oIKo|oW8!9p!ZQ`ObUf|)njJDO0T0x zeO1jwNxjFRmxqzbNA-6G=9cOEhGU}o%n2Ntr=N-P!`QgRJ6Ee32Kk%%DLW3S*0x@8 zYjSqKh+a^(efY}1F_~kxyDoiz<*sHHv>HzHzJ;RaYX&4hUYm@d$}!}BFSk9n$BNYfZ54W~J3!xxMEBi<*8 zTY)V>TX*^W;b?+1Xrx$=VG3ti4O@p%R}pU*zP4GIdCtDDT;;`R!-iSbAq#zqy%JJt z;hr?7_+2Um$FD3+i%6O|!-%{)`rUQYO$YpN6$ODk>z0^W&AqPsNwqqNo59ZS$O|;- z-BdELTODy)v+Us6iI~u~ff<)4wfs2#o2ry=Zc2UpG9<+!P-=Ys{Hu`HX2ObTyC{9B zb4aP#?w0AB$MEC%iWrfmR&j;+MP~P?LVeT848i6&r@%AITVI$Bn)M!PtBxd(d{6*2 zMY-uWb1={fB7y_06xPv~lbHgZ4ZspGKpQDf2(2VwFo(rbA;9E<5(EPb;_xZR!OChR zg2SR9*AnR%y3h#>=Fns!&`Y+$n+Oo3+0Q+QVMbkmkiy@ z#b_jAN=3q@AlK175KaOSh#=SyY%nNiDJKGlT%>_;5V6=~PpZoo2OLXHVA1mO}2 z5(%{_d2fMjonVuByXDNp>iP9g|_t#M;~25?E7EEGF4SAmRZ~IypQb2t*6{K~oKK!pV*vZWJWW2J>Cw z5ei7ykO4FXIDD2MQvAKio5KUWB!HYxtR2SA4oAe>;|R94cp~n*(i%`ChH6ocipALA z2~#cd#E_wIAZh`5r9uExawr)c>U|A3g|&&q=3o#8CfHQ=-pf$_otp{Pg)T zlruG$5QwQ^K?azgLl6TI;Af5@tj|r%V1OS4Li5L$g8eGz{D)!y*#JPq=i7+hYM7i8;l>H*~RpEr|p~pkolkBg7R{pi^8SEWe~`!O!}U!Js@3 z5M?L~4)vWf91{H{ShRe`_!_MP`hW4^Fs1Or6a(3PmO)b&G!vq~O@&|hf_(jN9$)hC z-|PZ`_}$4b@%x*u-*o*F1HYvFySjeU^-B!=lJf8B`hTNKBmjNd*KG; z=^&T+GA(;#z~z#m@z!Vd6#QOv6o9%Otmzqu9?)R)9uj>Nxf=Y$&F( zYu5**);7%6Ne459_(mkPN|D~&*+Gh*oxYxX?K$dJ##@yQc+CQr4uUVOiH|Exl+^Jy> z>p1(I^E4FQ4?icJG&g^qc}t|l@WW2)7i+TzY}$q&t%<|(mJk-64-SZb`Q&-$m4D3{ zdpeK{MfN)F!^zBf9q*Dn&Lj0VJdI^$_JEf^tk}2Cq2_+oQOdAK+Nr)(=LGe=bFUmP z8w^c|^YxQVc-OXzW*mHmv@HOUT|Be*#eOb5MXBy^)1>#JWb*~|{L+SQz@_73(o<61 zJnt1t-@N|t#_;%N3!{;cj-hD@jJ+=QHp+;-pKd3#yv}=a=d@8q8r$NS#kP;(YZd8J z&UtUIvR`!WPuZRYv=S%bBO`Y4wx>oVcjeP=Yo6RAO^du0@$W8Pp4v9A{Z6}gy)&K7 zS?@RC=HH+D`sSKHrbkrRB~4$oVT;{dAn;-0t7`DYr_E`%E23^Gq9U4N4P8h{reWqyc(UHJXRJIk~CKETG-E zkX0~?%K**)(RI=C^$AI_((o(P`sBPgWnv^a2jl5fxWV;g;Nq>ziyK`sg8UbI)*U^{ z;jC`=DJW|xE9V~%pf0SRR9w_}^H_9Gb8TgNw|??tXLGyjx#X_9b?I65ZT6*0c0_gw z8~DMo{f;Akk)7c;e4doGEjlY~j_eksd%yQZr=gVQK2PD5S#5KqDFQnsS)d z<9XgtuVche?0RF~!-42ci`5=Y-SjcD^^SXhNBVPzp6rW2*Om45$NC!O-5x#mS)IN* z!Klx`kp98m$!pzFwzWHi@BI=_`@BoH22SJ98w<*F=jHcB(u=!Yl*|tU7&o2$ zGv~a}>SJDR<~wV?;{lz%&X%?wXT!)X?y3GXGwCP`;-i<;3@5$2v2$P3w97%mCgUoaBK++R+aXzT4|+>Z9b|8b>DE8x?Bm?) zACZZER9_paYqcSJOQi5v&T;N9<_v!IJ3dLHLYwb!*q-Ot;WYB@6~eurU{Na z7X=ZiWj60esE3z|Tms9Tk0v*)=-0V=u|9FOn|Q(rBl{jtw?@a5-8Gb=U}N24E9DBB z-K1LbdscO1fKn%U@=(_-F#T|vsrqv@5>Q`qqvwc8i_Vd1YFG>@>uv*WX-7xWU&%f3 z5gYPJS5};uer|SJ{tRlX9_nm7=ky!V!B60ub#I4-k{@U!If+qJpAofM7CdrfrCW{HK4j{ghLhLUyu6w& zVFj`H5&b9|wTp+Ub1r9eRm^Cgal1h za{Xjk`I9My`xoTA)O}8vU4Nsgd?@y8RBpuj%na=ctCt>cx5cI3@4qTJu+1!kdZ5?q zF3q_i@wQQr)!mfxxP9DrGhdv37+3@$ls*d^XgZX*q|eQb3kH~1s}He+Wjz33jk|OW zFkj?crhBh3Io`(!hx(8wyp+JqvC-RT(Np9cn*PG%(>QTn@1K?}_SL#Jtb=A7*>GP;*8i?&*njYykjoYkm% z&^f{MZP!_m2pRq!e<)<$Uh#$Hd1ny)Z`4siD@f0@AL+$dPA+jXcrdGvBhh15=@3=3U*fEXZ6j} z#Kh%)Vs;=9YN-Mi%iWd5`ugpHzgWBCH!)oQ#uDjD*X|HTT^;2Qb-%lQ)L! zFPpqP5{T`zAPZbP1I@-iNKTo*aT#)ISP&|3yn_;Xxw+Q0&S_CKeooo?{@Q2py9RH! zo&Si~zl?jdd8&r@Eh6!sGu!dUGLn3?v^>)Y)&#Gm&{VlHFnCbeKa9IxTHQBXnVxsx zAH-f4Gj0`VC^5JrTF!V8|J0z^MZ2HgpXZ=wG+!1J^&v~%3?_x8X9oV^V1}7;gK0Ae z6q{K0+pJ=HP_9oMz|Gxt+P1h{v-{0I!6r80bNx?vrER)wUvgfR-Cwtwr*eE_`2h!Vhi2|vyf z23I1&fjmhlgo_bL;k^a|VK+ZU3UVVL1v(T86Ns6ZzOywLw1CIN_)<6kN6La$3S8o3 zkXM|WH#aVVOXp$c+iTm!Fkk=?qyW(|BB5B$h+$$zaT)NlN{q*#M^zLNOpG7L9nF%+ zAT$|A#sOHT7(o;fW3P?2lkxZrPxitw2>6YOS*cJ+8F+kjbTlrSgp2*KlivzJE7 zgrni`xOhkiiC|SZJSyR*A)Q@0?%ym_6od&x(orjz?4L9h0{(Zhe)3J#GaAm1j=<*M zaDUSN8vCd+ti|Cl*b;7}$~{*$6QdfR!IN+WJjUoFK!nINN+=0SrV}YxvMr5-rIW}Y z7Nk-MGzyPSq!L1ZfN~Yf6`+_4si0tRoB+n507MFnK%`+QR9ga;OydGrI*kZnd1NYR z3lXRQJi-qUOJxE$D?#CpUa6pXFciQilOYDvAiPu@Hrk;goZ;Z^%ESUyKoy?^8bG5FDI_|DKq3;xydFjLfn;(x7geYP07oK^nyV&;0fz%q3#u{|1{jsY z(J)vt2vkU9-V%wBiBUnIRhHknIq-twfeMffDj*mXAd(pXkwGAO10)7OXHdvkfWiQN z(3kK8{Mi3XTeW=9c3&plMIeXAj~x|#SyNunsxNO}UWJ0u#e_zWE(-?8{Sty4jDmQh ze!^H^y0|MraTo;GkFkXPDi{2RWFT+}Br1hKz)~m#I+hHO_*l>uezGNzC|m-W4A_F) zpV8$Kz9JfwK@MRsk1$tof{t>9wi=tNIX~-1uY^?d08@qqh}iFxQ84(iVDYMo@ikgI z{Qu&^ZdBoi5(C?Pk-?=4u7vn+rErWdRnhq`wy}BmFOC31{~qL*`29`SZ@PYofnQSo zon61_`XvT_N%?nn{lC$r{rxZniQyekG<;MVXV5esK4xi#E_P-kK*TmgQNeqTH7uDR zb@7)Y5IV-HOAS%5%LEo86|Nj7IFEsaEimWskl9tKRFU@G?Ve2mZaXyvfHoHu!nY3eD3fY32YKJgXwK{doX7h&hHq)&B+i=@*wLT?68DG<`c7c8vH>jOzkfAjZ5#HI*SEX+? z^Ao1A1rs%#5dRK0wMx|L9hV;7d$CC1#!OvGJW{E{%~U=vEw$^T#H!-zn7Af)12+rfv+vSD=%t% zU})T?zun%83~8|BtsXCn)_ly;vJ_S!*F1|E3W(G!`dE0rk8u1i#gP>k_v}_PbZuk@z8;gWN!!J`=W;Za_lZO4Sn zO#R5CVY}JI1G(Z9VJo9IZZq$;tmkasov^(ttCy@$-88k&V0vV=FoDG5mWUpwv#JoVBGK<9v`GMevzEIy7|_WU0HXl->g%2+V1ya;j_QzGQ67~ z$M#EK8M<|~&ZTKxzuXnhBlMl3wTmmnmvi6zT2`68*&V1|BlX7ei~ z6HgjRT7*@9P;e&gYe&KI&4yQBNf(oVsvdf?p^ z)gg$qk2{bFBk`+-tr{v1t!WY(YRe@ib!Ge}G4^6cK+2buJaS>!B2(gVV7y}NOyZ*b zaSUrMpL`waHI`T;JWD2Vy`+Ta(VO-c)zp_PkMu`U0rFD&wVshymNMp-?z>moY|mS} zJ*Md|Cxudpzn9;?WBR;NoJH2GZ!EbJu|a<-X*H%K+2KgCOIS;zZo7kD%4?$?u^Xk- z9n3N<5dlxRnz?$++=)w+AoGV>w}JjM(8>!eP@Fc4o>KEOuRUfPG7uK4SHhVXbj!>REB`;Dv!n;wwMj|@Y zQNw)M8{<;Np#B5##mJAb#qVeF2w^E3KlyuczU%JvL;b)oId-WpUAQ%I^wQO78yOebFR?lEfpR{c5=F6a zIK0S-dd0f)Mjy2-$6XDPFL^{Qf9n$OiTg@VFFWbZoIE&YTNfGuRlXes6EQ{GOknW>n%)?fS+{zV@LDZ z$}5h2V$%ve*D&t5aw)5p6pOu)@TkKL9nSLoup8AaT5<8aMlxXTZ?I!0H<*3|( z%{liJ7C-~Px2H)*bQ(1PN5}CIlJFgsiv;F}|JjYo*&Bu7|Jd(F@Vdp5ErS5QX_i z5!B@=hGLAWK(RD0tIlQJeHjwe3H-=lDi&Qts5UY%g{j_W2%B{M8zUWv(ryQ363#Zi z-b;6ol)(7CX+7QUnic+W(vIZSa;Wa!g%sm0Z^QyE+ahuP>uz(jqufso%TL8ejrC-p z1%!;o8<_p@j?`aLYpGGlcn_PYhlfHWx&tC){zeb%TpUU@k&7RTx05@@^g|4_8te}f z+;z)__lDU_0~u!bw>}?j5Bc!%;Y`k|l&-+AT$dLGI#rTYN!G4K_8(?)>y`a1GBpZc zbSl=ZT}&)Jer&x$pLXl<5~uBdW+yn;301I``GUdj)gv{78x!PDN=MZx)xY23ZReC8 zt1XpM(XRMuU|_GBY-`%(iyw3Z%3T(*NkpN7(Q+T)t^<~vL)&D$tL13ExJd!bO$}i^ zeizoC@@9~y`dGijBv|%Xs(wJ&OLon`Z@XQV$oFhl z)v89+n~za?#LMD}ZaOPeWQ%M3m8e5@yr@Z0NQjHZCBPlbGP+-eJ}wMbc^HVM{+YBV z=_%K=wAtgl{IlwDU3cYI<~5bCue9_pTKke9nX!>}ymv@WR(&)|+_uMRihs>5>2Ayi z%GgZm2W9{8n5oVv#I(|wcR|u;yY!d1S=W8-;6gn&|aN9 zDaCyk_L5E_g*r~Fm>aTYoukU*JSd-+o!l2UK@>P2yHEBnHQlTFWWe}bKJre!@rNH{&f;~Q?KVRI4=?u5e~ zVzo829qm8_Z_M3ea_sFirm?Vmbh_kF^7#hXS*jAP6j;udZw}Z+eihy;pG}p1OM07Z zB&T4=-4p!rDDMey(ECuL`z9kL)arW_tw~(AqQ+aTK+_$%jfi&`O<^%H`?}=N`vwn1 zEniKyJjdAMH3|+?lbA%wtSgnq$-zfgu2@4pwr{FVIpUN%z9h@@rRz3jjSY3nW~3^- z{eELy>dN#~8i*(uIkp7(hfLAw8`I(bog*vm%*whm_e9)Ud_UsEvti%ks-A*%H*dc2 zeW$`Hkw~Nro>)&han?#LC2~^d?@Qu1u8eG632#XF;=NdXOU`fX$Y>MKYt~POR7O<> z&U99UkjFoXfim24DfcsQ(C#Cc3GFgmZLG;Ob^r#Tv%Nr!Ab=IJB978H`75l|~wH=?t=isreTQ zs6;{e@cA4v78?>0f(g;Vu({q?Z4!xu#o@7dJQ_lvd7&&mAV9Ntsv?Sc4pWdv<1#sX zCYyy6aROfKAU*|!g4&T^{R`mO*nFdB@xG`4>46mh9IQ45hYbk8F0|nB&4MA4FAn`j z3!W3SS;IPjJa!P52ATzfEWYYO3OenZJtv6kKNk+2h6Vk>00_#1de#1}OAAXI`)?K^ z3A~vBoH;86Lg_BBA!G*(?~=e0#Tpj1u$?6s4Q7LKER@ZA}WX+ z!-RN<0MQHZBI=;M=tK~r(50bCbR7bk0OA=q91+yV6Y&cu?6^!QD*^w7UWusa5S1Q4 zC+g90Ae!MtqoE02fIb?~hl(V9J$)Pw&(Otd>(5cqX=HOYHvoW!lNkVbgIEsBd#*tw zIN8YFl7hlx<{h7_vG)h~49EbQ156g39m4wu?8FQJ9r=JrPi=jizCK=;fFqJfdL%sI zACL>k5#Q?WE>HV(lCWRvng1af z=ma8(K?Cq;qAs0;Cg{-dXc9vYfYOUd0Cb2n07umQo}I^L@IwGDXygs)2x$c+=$uwa zwJ$@Z{yjd#2NaD1BpDiqM=y{Jh5ZsNRezKp~Fu?L9yXD2_T?@zgY%JoAE{1EtOcKwv=hZOiB@Xze}pUEZt&tVE= zK|7!j=&0n^nKJ|(vn0K?TbRNCSSsw&sVN%`sAdU=>c)e?WLAi7G1w`gB2+2Gx3n>n z8W5L-OT$0Edy@*CrQJt*Y`QBhX%qRc>Odcun-&)ls2-E|f# zNBZowqOP7!v*|#`jDE6^_|^PEw07qWyRa$8SA#D@tuId%O29nzR9-Y(`@_;vi+pCk zfvidLVC4A?mOVtOom0)e%KYZOknG{->uDLSj=?6m8lwIUvWmITeHyW z-ImRDuiNUZ-JWBW+jF?%1_`)h=Z7*UG_r$e7^uhrTUiG<7gcUOJl zxEf$~wqt5ug&lq1dwty`O8Y2px5CuNkZo4+IN5xc7_GgzE)uZ!VHB!*%jo3M)8XP$ z%7N8OALitCC6;yNWwj5b%uqk-ySF>1zfzYM$)-FZcggr{k7>nSC{1V;x&X)~F=M%$YHknK3igk`Ph|?a>>u6p4yn zA{C`Y>aCPl=tbm}Y-O#~?~L~A_r0#~)pdQp|25Zj&Yb6d?)&rH_vgN!=RD6zc6PE; zR@732!C=Y`_6%3(-$HW1<)C{pH{=-%CRZKh?j?2w!Vv-?pUn*d5#mSzhyWwFY#1!! z>5$jv%$0@<-uJ6-+ofU!Pn!on+N?Y|J&4RZU!zNSLV9x{us!3T<;sN)w-UTvxF6pw zT>r8DVC4aK#^#|)pQ<$&`a;u+!MeukM;`ZPz5ABdkA%+-kkTLA@Spk6_LA_i^n{P} zFuTiP$D)=e1nl1n$L*|ndNO@A-Q@Sf_quXn2w`O!LXZutkmrXe5uTy1ckBf-D!iWa!K3!idr8786)z0 z?(ct=`#LJG?A;@~iZwe5N9FZfJ>P*b$QkTa41H$H`-*$ zpdTF`yG>g*ujKM}*&5*jPD6?XdiaPO~p#Rs}DXZB&^jm1Aq{KJYO6AUrJy=6_YJonsmcOJ>DqRAW7T9|=!2 zE-E09*4l{5NmsB%MThI-QZL-~0g z9$8^JshhbE10Fru#6Q`8&;HoMz}9C`BTS3_oxQP-=czRwiF|GB_VA1wCo4KFVRR#S zyLheV=4j=n#>Dr)pR7N@&#_$? zFoV!gn@G@#^7xzKoUf*E7v|-Zu(L`|CZkRILWzr^N&5V|XMYbdTG?Q)a5qI7hwvhU zAyEzJzGV+AhV{A+Rn#`1K5prCwU~13HG4j(5uiz|Sl~Bhs8r;W@+fJn)0Vg5*05XF zhoG*SA-?6uwQ-YOHZRh$kL&19mg~fcBL*j=Wrs+|OJ0wkPDCb`?RgCExFO_H${OC~ z!yi<0q(F-81ZAU+sd%NPx$s@V11D|x-(t&wKMCixl3dlnr-w3LCE(nHNOGz7dz8%> zHLd;+E=teT{2liu^r=x_9*X#KSgn6&_{5N?AUWQuuBxoGHag2&774RSgp%VntjMCfH5t~ zDUE^Mdl1VjXgY1u6jn${(KGIEw0CB4ug6X`@#H_~F}q!9Zsi?X=@{I@?!A9yJjR_$ zK~;yUlYSe=tvPnmJbEeUqoR_!xV}%utzpMS+dl2RF#!q+i-r@foqn^SGfP$JjJ~@6 zGVL4N4A&ib0W@XrUVq_|vG&n<-HBqjS|uXK-lA>(!8<;1`Q7up>sk!8b-ScAbyc6h zcUfz}lZ8nP^UZxl%SgRTO=jUuG|kzb`h9~BFAK;u)9bpbU7}vGgFS*2dsR)My#~~J zHEWW(;VSZ0W?h$}$gOHGTl35UuWMNk+(kDVdAEdLLpG*0mv?Kb$`zF-yKa@HAPzN1>s-8Fb_AmUY%d~>L#FK?)1{eRVU;XE$8smiuW6vhm2ETord_{Iv zb9^htK#^XHdp2{bOWtdO72xdo{Qk`N;iqEV9lOnh&&{Qi6cKF~C%V*#Nu9>qN)w5f zR@pVCGRm)_PaCr?*DVmSu@#`zHqt-R@HN< z8c9{Ew3-eD)#ZIAyOW)?Pn#L-d12h1VdJ9bZ;n2S{MT|9`72`jhKiGw?`4PntSWAM z+q-+5qpLb<>j(; z7o9zIueXM}TG4=xssdT*T?9h*hpxllVY zTb+0y?>6j&y*Bd_pvqUdAH0dyAKjx;Vy`%6GIqdHd6BtrOV~`Rs11naB&K+;veZUu zHqnizuq8{3#*9N4E~Gn)U!zxN|3NLOlp7qsy>*Fk!0L@>-4ZgcFLJfF-jyO(eCnFj zfv{9{wWYLu+oo^o#2oX+R~P&CdRgcgt-QJLgZvdv;30NlXTGoYKQZTq_9-CB=T~H1 zoQ)1@A5y#eQOTRTCFZj1-I&a0uL3ew_(m+Nsu~V>tt+UWmqH)NTyBziVvWJUol}Ij zh0<8ze5JG1qQUIv<5IUCoH@kb8E@@-eqGz3?uhO`$J?)j)84$30_O{J58lneLYs{+ zF0`rea$HAa@`KR;i|+@bBZ39crUM2uHIEPg%s^0#@B=wq9vwMSa|Mauvgk-pk|Wkp zU=8|n?W2UCTa=SKGb)g2!a|yxDVj#mAb?;{3?L$cgLooZ1RXhtOM{*zVhj>7ry>rd zBfT7*5!QSmh#;bgXe`Pmf*XcMnkgbog)BDBm0|lC0&3Bb{$jC!hQWk~hoi#@Xugnx z!I_wtV6b=$9*=@FP@+hl7>GdeL@Oi^pD-Aph$-X>#9TfPA;ARv_@QDt5()JqzW5g` zaCH0%&l7!S0pbG_0SGWSG!_#ajQQR|B(@2IKt4P4Z!JXb(B2H=3X1rlLMCVv2J*x! zzK38jzuF5zg+X)Su$UMy2n>c)MbN0YABMDZaCH7^A)$c74HnEYf)XeQ9L<2H610kL`zpydh&zeiQ(Q z0+>WB6HmZW{Y>z4P%I|RmM;tjpmcJB0S<@}@HlfF62fVg&JJ`W9*zAbaSj5+Y{&qb z16&@9A1?aV<<1QT-Nb-|PaFkHq2NhG0+CE5ldH zK?9hdLJ$FAAZyM~2`o^6Dl4> zC4wd-DwYD`0Psh25uYs%2ZW#{2jUUp3M$Y!t`G*FQ)T$0ez-p<$pb_g3X4a5ql}2e zd=3^PSuwsuYl``Qe3;HDe7D3vcAsR>(gm%An6FFWXTBth&j0ZDIS>EC5g_PagZvb~ zzv%i!*H1Cla-=#lTM~|EjM48eNLt4pSfx+5v?_N2RQ&wa{l>n4I5QI|dAZ z9flPin|3sUBnkrijUpIqzMABcf*s3V0tw~C4vseR|41vr6_NT5`j*gH8gO7(x#Kc}ccIO{+WU8PN@LZA zlF-Rqhs^8_^Rm_t4`+$#l}~28PwX$`o|a0*q2bbwtM=P=%i6mZJ-VH$oYYW%V^#&z zUOHUUxmQ@6NwLe7WooV|&FfkRaLP}(`@Fi%Hm-W&|OvNcL-;~_(MT>D%3 zj-jc{{Hd^-$(T9M=5D-%$|up`i#!+?(h~FE?yHPGo^>7Cq9;aOr({R?p^v$II+3akv-!EXk-wV^W(M4k$>+{}v=^I@mZd&RY4#{U7SK Bc0d3C literal 0 HcmV?d00001 From f57327eacb1efeeeac17012d889df619d49dcc8c Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Mon, 12 Aug 2024 16:43:37 +0000 Subject: [PATCH 02/13] Automatic Changelog Update (#722) --- Resources/Changelog/Changelog.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fe9c55442ed..c13b19a328f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5244,3 +5244,9 @@ Entries: message: Added a variety of Cowboy Hats into loadouts. id: 6254 time: '2024-08-12T02:22:58.0000000+00:00' +- author: musicmanvr + changes: + - type: Add + message: Added the Home Run Bat for Syndicate operatives. Send your foes flying! + id: 6255 + time: '2024-08-12T16:43:11.0000000+00:00' From 376b8f1048a3532876541cc9333c6f9f44dcb21d Mon Sep 17 00:00:00 2001 From: SleepyScarecrow <136123749+SleepyScarecrow@users.noreply.github.com> Date: Mon, 12 Aug 2024 12:46:04 -0400 Subject: [PATCH 03/13] Added Showers (#661) # Description Added in showers. A pure RP furniture item. --- # TODO - [x] Sound effects - [x] Wallmount - [x] Add in Showers --- ![Display](https://github.com/user-attachments/assets/c8499c33-a9ce-4d2d-9003-ed8517afb0b9) --- # Changelog :cl: Tilkku - add: Added showers --- Content.Server/Shower/ShowerSystem.cs | 8 ++ Content.Shared/Showers/SharedShowerSystem.cs | 92 ++++++++++++++++++ Content.Shared/Showers/ShowerComponent.cs | 43 ++++++++ .../Audio/Ambience/Objects/shower_enable.ogg | Bin 0 -> 6313 bytes .../Audio/Ambience/Objects/shower_running.ogg | Bin 0 -> 32475 bytes .../Locale/en-US/shower/shower-component.ftl | 2 + .../Entities/Structures/Furniture/shower.yml | 46 +++++++++ .../Construction/Graphs/furniture/shower.yml | 29 ++++++ .../Recipes/Construction/furniture.yml | 32 ++++-- .../Structures/Furniture/shower.rsi/meta.json | 25 +++++ .../Furniture/shower.rsi/shower.png | Bin 0 -> 540 bytes .../Furniture/shower.rsi/shower_on.png | Bin 0 -> 8123 bytes 12 files changed, 270 insertions(+), 7 deletions(-) create mode 100644 Content.Server/Shower/ShowerSystem.cs create mode 100644 Content.Shared/Showers/SharedShowerSystem.cs create mode 100644 Content.Shared/Showers/ShowerComponent.cs create mode 100644 Resources/Audio/Ambience/Objects/shower_enable.ogg create mode 100644 Resources/Audio/Ambience/Objects/shower_running.ogg create mode 100644 Resources/Locale/en-US/shower/shower-component.ftl create mode 100644 Resources/Prototypes/Entities/Structures/Furniture/shower.yml create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/furniture/shower.yml create mode 100644 Resources/Textures/Structures/Furniture/shower.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/shower.rsi/shower.png create mode 100644 Resources/Textures/Structures/Furniture/shower.rsi/shower_on.png diff --git a/Content.Server/Shower/ShowerSystem.cs b/Content.Server/Shower/ShowerSystem.cs new file mode 100644 index 00000000000..44034d5fa98 --- /dev/null +++ b/Content.Server/Shower/ShowerSystem.cs @@ -0,0 +1,8 @@ +using Content.Shared.Showers; + +namespace Content.Server.Shower; + +public sealed class ShowerSystem : SharedShowerSystem +{ + +} diff --git a/Content.Shared/Showers/SharedShowerSystem.cs b/Content.Shared/Showers/SharedShowerSystem.cs new file mode 100644 index 00000000000..be3af6228f2 --- /dev/null +++ b/Content.Shared/Showers/SharedShowerSystem.cs @@ -0,0 +1,92 @@ +using Content.Shared.Interaction; +using Content.Shared.Verbs; +using Robust.Shared.Audio; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Random; +using Robust.Shared.Utility; + +namespace Content.Shared.Showers +{ + public abstract class SharedShowerSystem : EntitySystem + { + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent>(OnToggleShowerVerb); + SubscribeLocalEvent(OnActivateInWorld); + } + private void OnMapInit(EntityUid uid, ShowerComponent component, MapInitEvent args) + { + if (_random.Prob(0.5f)) + component.ToggleShower = true; + UpdateAppearance(uid); + } + private void OnToggleShowerVerb(EntityUid uid, ShowerComponent component, GetVerbsEvent args) + { + if (!args.CanInteract || !args.CanAccess || args.Hands == null) + return; + + AlternativeVerb toggleVerb = new() + { + Act = () => ToggleShowerHead(uid, args.User, component) + }; + + if (component.ToggleShower) + { + toggleVerb.Text = Loc.GetString("shower-turn-on"); + toggleVerb.Icon = + new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/open.svg.192dpi.png")); + } + else + { + toggleVerb.Text = Loc.GetString("shower-turn-off"); + toggleVerb.Icon = + new SpriteSpecifier.Texture(new ResPath("/Textures/Interface/VerbIcons/close.svg.192dpi.png")); + } + args.Verbs.Add(toggleVerb); + } + private void OnActivateInWorld(EntityUid uid, ShowerComponent comp, ActivateInWorldEvent args) + { + if (args.Handled) + return; + + args.Handled = true; + ToggleShowerHead(uid, args.User, comp); + + _audio.PlayPvs(comp.EnableShowerSound, uid); + } + public void ToggleShowerHead(EntityUid uid, EntityUid? user = null, ShowerComponent? component = null, MetaDataComponent? meta = null) + { + if (!Resolve(uid, ref component)) + return; + + component.ToggleShower = !component.ToggleShower; + + UpdateAppearance(uid, component); + } + private void UpdateAppearance(EntityUid uid, ShowerComponent? component = null) + { + if (!Resolve(uid, ref component)) + return; + + _appearance.SetData(uid, ShowerVisuals.ShowerVisualState, component.ToggleShower ? ShowerVisualState.On : ShowerVisualState.Off); + + if (component.ToggleShower) + { + if (component.PlayingStream == null) + { + component.PlayingStream = _audio.PlayPvs(component.LoopingSound, uid, AudioParams.Default.WithLoop(true).WithMaxDistance(5)).Value.Entity; + } + } + else + { + component.PlayingStream = _audio.Stop(component.PlayingStream); + component.PlayingStream = null; + } + } + } +} \ No newline at end of file diff --git a/Content.Shared/Showers/ShowerComponent.cs b/Content.Shared/Showers/ShowerComponent.cs new file mode 100644 index 00000000000..339205546bd --- /dev/null +++ b/Content.Shared/Showers/ShowerComponent.cs @@ -0,0 +1,43 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Showers +{ + /// + /// showers that can be enabled + /// + [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] + public sealed partial class ShowerComponent : Component + { + /// + /// Toggles shower. + /// + [DataField, AutoNetworkedField] + public bool ToggleShower; + + [DataField("enableShowerSound")] + public SoundSpecifier EnableShowerSound = new SoundPathSpecifier("/Audio/Ambience/Objects/shower_enable.ogg"); + + public EntityUid? PlayingStream; + + [DataField("loopingSound")] + public SoundSpecifier LoopingSound = new SoundPathSpecifier("/Audio/Ambience/Objects/shower_running.ogg"); + + } + + + [Serializable, NetSerializable] + public enum ShowerVisuals : byte + { + ShowerVisualState, + } + + [Serializable, NetSerializable] + public enum ShowerVisualState : byte + { + Off, + On + } +} + diff --git a/Resources/Audio/Ambience/Objects/shower_enable.ogg b/Resources/Audio/Ambience/Objects/shower_enable.ogg new file mode 100644 index 0000000000000000000000000000000000000000..98f41fbffb1f09fc9f89803ad557e6977ab6cc3d GIT binary patch literal 6313 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 U{o_ulkNzwETg}LC^=tJ118M3~A^-pY literal 0 HcmV?d00001 diff --git a/Resources/Audio/Ambience/Objects/shower_running.ogg b/Resources/Audio/Ambience/Objects/shower_running.ogg new file mode 100644 index 0000000000000000000000000000000000000000..9114b0c7dab2c22c6643e931cee75fce5294017f GIT binary patch literal 32475 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 Dp-e$q literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/shower/shower-component.ftl b/Resources/Locale/en-US/shower/shower-component.ftl new file mode 100644 index 00000000000..8713fb0c1f7 --- /dev/null +++ b/Resources/Locale/en-US/shower/shower-component.ftl @@ -0,0 +1,2 @@ +shower-turn-on = Turn On +shower-turn-off = Turn Off \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Furniture/shower.yml b/Resources/Prototypes/Entities/Structures/Furniture/shower.yml new file mode 100644 index 00000000000..694202efdc6 --- /dev/null +++ b/Resources/Prototypes/Entities/Structures/Furniture/shower.yml @@ -0,0 +1,46 @@ +- type: entity + name: shower + id: Shower + description: A shower, complete with bluespace water. + placement: + mode: SnapgridCenter + snap: + - Wallmount + components: + - type: Sprite + sprite: Structures/Furniture/shower.rsi + drawdepth: WallMountedItems + layers: + - state: shower + map: ["enabled", "enum.ShowerVisualState.Off" ] + - type: Appearance + - type: Rotatable + - type: Transform + noRot: false + - type: Clickable + - type: Shower + - type: Physics + bodyType: Static + canCollide: false + - type: InteractionOutline + - type: Damageable + - type: Construction + graph: Shower + node: shower + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: GenericVisualizer + visuals: + enum.ShowerVisuals.ShowerVisualState: + ShowerVisualState.Off: + On: { state: shower_on } + Off: { state: shower } + diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shower.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shower.yml new file mode 100644 index 00000000000..eb0618473b8 --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/shower.yml @@ -0,0 +1,29 @@ +- type: constructionGraph + id: Shower + start: start + graph: + - node: start + edges: + - to: shower + completed: + - !type:SnapToGrid { } + steps: + - material: Steel + amount: 5 + doAfter: 1 + - node: shower + entity: Shower + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetSteel1 + amount: 5 + - !type:EmptyAllContainers {} + - !type:DestroyEntity {} + conditions: + - !type:EntityAnchored + anchored: false + steps: + - tool: Welding + doAfter: 2 diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 5f7ec9c92d8..3ed0c9b9611 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -596,6 +596,24 @@ - !type:TileNotBlocked #bathroom +- type: construction + name: shower + id: Shower + graph: Shower + startNode: start + targetNode: shower + category: construction-category-furniture + description: A shower, complete with bluespace water. + icon: + sprite: Structures/Furniture/shower.rsi + state: shower + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: toilet id: ToiletEmpty @@ -732,7 +750,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsBlack name: black curtains @@ -762,7 +780,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsCyan name: cyan curtains @@ -777,7 +795,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsGreen name: green curtains @@ -792,7 +810,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsOrange name: orange curtains @@ -807,7 +825,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsPink name: pink curtains @@ -822,7 +840,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsPurple name: purple curtains @@ -837,7 +855,7 @@ objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: true - + - type: construction id: CurtainsRed name: red curtains diff --git a/Resources/Textures/Structures/Furniture/shower.rsi/meta.json b/Resources/Textures/Structures/Furniture/shower.rsi/meta.json new file mode 100644 index 00000000000..8e48a41e2f3 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/shower.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Dakodragon, DiscordID: 56038550335922176", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "shower", + "directions": 4 + }, + { + "name": "shower_on", + "directions": 4, + "delays": [ + [ 0.3, 0.3, 0.3 ], + [ 0.3, 0.3, 0.3 ], + [ 0.3, 0.3, 0.3 ], + [ 0.3, 0.3, 0.3 ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/shower.rsi/shower.png b/Resources/Textures/Structures/Furniture/shower.rsi/shower.png new file mode 100644 index 0000000000000000000000000000000000000000..4ebce554d1c8cdd1ceeedee1a184cbd75da84ec4 GIT binary patch literal 540 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z_jtNEhE&XX zd)vP2kb?y42lLZrjUw|DroLblGir_IxLw6$>sX|3+xWIDTQEOCLV#_ziCE*5&8>cB zn>OSm{hRcidG?8xpYxaxo-t?g=QwoXNYvv=Du?2%T`wAM&$;V;UHF9*^9rLA62aeX ztb(l=qH9E4E4kJ^4)IgrINZMR*o;4y+q|?N)YwTc6=6ttRykuw-cy03wVwrcMMSPo zWtZu9Up(c|^@kJUXIIK4tu-u+EoM3*f4F|9y`zsnTiW*9iB@yP_Uo0d*YaXlSh}V* zX#VfL2eQ6?_?&Mx`&c)7l*bSIXF-QbWsD1B8NNG2U0QwofvInyr;y?FO|MsOd7rz} zefFJ?{GFNRhzp>@fw%r2us_cmwRa?z(ut~S&evmrKrBSx|#yz&%cg?y)6_$#4 zt!#hvR_u>PSi{%C{6jmIXWaML?O{ifHzNaah7@J#ddWzYh$ VIe-`hE(K2pQJ$`TF6*2UngBiCf@ndAUc(YS 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 TXUzERe~q@fo?4ZPUDW>oqBl@E literal 0 HcmV?d00001 From e14bea6f259e64eef5c9a7d4cebb08467ae87c16 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Mon, 12 Aug 2024 16:46:30 +0000 Subject: [PATCH 04/13] Automatic Changelog Update (#661) --- Resources/Changelog/Changelog.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c13b19a328f..75cc34a090f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5250,3 +5250,9 @@ Entries: message: Added the Home Run Bat for Syndicate operatives. Send your foes flying! id: 6255 time: '2024-08-12T16:43:11.0000000+00:00' +- author: Tilkku + changes: + - type: Add + message: Added showers + id: 6256 + time: '2024-08-12T16:46:05.0000000+00:00' From 6df564aafcabdea28a01c28535ae62329c3b837e Mon Sep 17 00:00:00 2001 From: gluesniffler <159397573+gluesniffler@users.noreply.github.com> Date: Mon, 12 Aug 2024 17:43:52 -0400 Subject: [PATCH 05/13] Hardsuit MRP Descriptions (#725) # Description Copying over the original description from #617 > This is a significantly pared down version of #492 > Focusing only on a small category of item descriptions just to get the ball rolling. > > Space Station 14 is actually missing the other two suit-names that were at one point present and commonplace in SS13. The term "Hardsuit" is itself one of three classifications of space suit, based on a book series that I read as a teenager. The full list is as follows. > > Vacsuit: Vacuum-Protection-Suit > Hardsuit: Hardened Vacsuit > Tacsuit: Tactical Combat Hardsuit > Vacsuits are a catch-all shorthand for civilian space suits. They offer no actual protection from anything other than the cold void. > Hardsuits are a form of "Up-armored" vacsuit, and are more like industrial PPE in space. You wear a hardsuit because it's there to protect you while you're welding, shipbreaking, asteroid mining, and so on. > Tacsuits are a variant on the idea of a hardsuit, but instead of having an industrial purpose, they are explicitly for military purposes, and aren't for civilian use at all. > > I've opened this up on draft because Mocho was asking to help me with it. > > Generally, the hardsuits need to be explicitly associated with a specific in-universe corporation. With descriptions changed to better suit a hypothetical setting that we'd wish to write. > > For instance, much of the equipment used by Security would likely be products of Five-Points-Armory, a corporation that NT prefers to buy their security equipment from for the simple fact that it's cheap, yet gets the job done. Rewrote hardsuit descriptions to match the original request, but from the POV of a character as suggested by @DangerRevolution. The descriptions also have a rough template which goes along the lines of... {Type of suit} produced by {corporation} + {optional visual attributes} + the label/tag says {hint at protective stats} + it feels {light or heavy depending on speed stats}. In the commits you can also find that I had lengthier but more fleshed out descs for each of the hardsuits. But they went into detail your character wouldn't feasibly be able to know at a glance (how do I know this suit is made of plastitanium plating, and that the other has ceramic TPS plates?). Feel free to ask for mix and matching between the two. **Also I moved the paramedic voidsuit to be a hardsuit, because for whatever reason it wasn't one already.** Even had all of the properties that a normal hardsuit does. :trollface: --- # Changelog :cl: - tweak: Changed hardsuit descriptions to be slightly less LRP. - tweak: Changed paramedic voidsuit from a softsuit to a hardsuit. --------- Co-authored-by: VMSolidus --- .../clothing/head/hardsuit-helmets.ftl | 102 +++++++++++++ .../clothing/outerClothing/hardsuits.ftl | 135 ++++++++++++++++++ .../Catalog/Fills/Lockers/suit_storage.yml | 3 +- .../Entities/Clothing/Head/eva-helmets.yml | 20 --- .../Clothing/Head/hardsuit-helmets.yml | 19 +++ .../Clothing/OuterClothing/hardsuits.yml | 32 +++++ .../Clothing/OuterClothing/softsuits.yml | 53 ++----- .../Clothing/Head/hardsuit-helmets.yml | 4 +- .../Objectives/stealTargetGroups.yml | 2 +- .../paramedhelm.rsi/equipped-HELMET.png | Bin .../paramedhelm.rsi/icon.png | Bin .../paramedhelm.rsi/inhand-left.png | Bin .../paramedhelm.rsi/inhand-right.png | Bin .../paramedhelm.rsi/meta.json | 52 +++---- 14 files changed, 326 insertions(+), 96 deletions(-) create mode 100644 Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl create mode 100644 Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/equipped-HELMET.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/icon.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/inhand-left.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/inhand-right.png (100%) rename Resources/Textures/Clothing/Head/{Helmets => Hardsuits}/paramedhelm.rsi/meta.json (95%) diff --git a/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl b/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl new file mode 100644 index 00000000000..2bbacf2abca --- /dev/null +++ b/Resources/Locale/en-US/prototypes/entities/clothing/head/hardsuit-helmets.ftl @@ -0,0 +1,102 @@ +ent-ClothingHeadHelmetHardsuitBasic = basic vacsuit helmet + .desc = A common vacsuit helmet that provides little more than basic protection from vacuum. +ent-ClothingHeadHelmetHardsuitAtmos = HpI-19t helmet + .desc = The Fotia's standard helmet, it features the same heat protection as the suit, along with some integrated protective gear for the wearer's head. +ent-ClothingHeadHelmetHardsuitEngineering = HpI-19r helmet + .desc = The Lampsi's standard helmet, it features the same radiation protection as the suit, along with some integrated protective gear for the wearer's head. +ent-ClothingHeadHelmetHardsuitSpatio = HpI-20s helmet + .desc = A lightweight helmet designed for the Kriti hardsuit, it allows for better mobility, along with some protection against radiation. +ent-ClothingHeadHelmetHardsuitSalvage = HpI-20a helmet + .desc = A bulky helmet designed for the Lavrion hardsuit, it has reinforced plating to protect the wearer's head in wildlife encounters. +ent-ClothingHeadHelmetHardsuitVoidParamed = ZhP-24m helmet + .desc = A lightweight helmet designed for use with the Sukunabikona hardsuit. Parts of the helmet are made of hard transparent plastics, allowing for better visibility. +ent-ClothingHeadHelmetHardsuitMaxim = mysterious helmet + .desc = An old looking helmet, it seems rather sturdy and lightweight. It also has an ominous red and black color scheme. +ent-ClothingHeadHelmetHardsuitSecurity = FPA-83s helmet + .desc = A bulky helmet deployed with the Baghatur tacsuit. Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitBrigmedic = FPA-84m helmet + .desc = A bulky helmet deployed with the Tsagaan tacsuit. Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatStandard = FPA-85 helmet + .desc = A bulky helmet deployed with the Baghatur Mk.II tacsuit. + Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatOfficer = FPA-85s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatStandard.desc } +ent-ClothingHeadHelmetHardsuitCombatMedical = FPA-86 helmet + .desc = A bulky helmet deployed with the Tsagaan Mk.II tacsuit. + Protects its wearer against ballistics and explosive ordinance, at the cost of some mobility. +ent-ClothingHeadHelmetHardsuitCombatCorpsman = FPA-86m helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatMedical.desc } +ent-ClothingHeadHelmetHardsuitWarden = FPA-92s helmet + .desc = A modified riot-control helmet for use with the Sulde tacsuit. Offers better overall protection than standard tacsuits at the expense of mobility. +ent-ClothingHeadHelmetHardsuitCombatRiot = FPA-93 helmet + .desc = A modified riot-control helmet for use with the Sulde Mk.II tacsuit. + Offers better overall protection than other models at the expense of mobility. +ent-ClothingHeadHelmetHardsuitCombatWarden = FPA-93s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatRiot.desc } +ent-ClothingHeadHelmetHardsuitCap = NT-42c helmet + .desc = A special helmet for the Tengri tacsuit, despite its lightweight appearance, it provides good all-around protection to its wearer. +ent-ClothingHeadHelmetHardsuitEngineeringWhite = HpI-24c helmet + .desc = A high-grade helmet used with the Daedalus hardsuit, it has a lighter construction than its standard counterparts, along with more radiation protection. +ent-ClothingHeadHelmetHardsuitMedical = ZhP-25m helmet + .desc = An extraordinarily lightweight helmet designed for use with the Okuninushi hardsuit. + It is primarily made from transparent hard-plastics, providing complete freedom of vision. +ent-ClothingHeadHelmetHardsuitRd = NT-45e helmet + .desc = A heavily armored helmet worn over the Sophia hardsuit. It boasts the same near-immunity to explosions, heat and radiation as the suit, but heavily restricts the wearer's mobility. +ent-ClothingHeadHelmetHardsuitMystagogue = NT-45e helmet + .desc = { ent-ClothingHeadHelmetHardsuitRd.desc } +ent-ClothingHeadHelmetHardsuitSecurityRed = FPA-98s helmet + .desc = A high quality helmet for the Dayicin tacsuit. It offers better overall protection than standard tacsuits without impacting mobility as much. +ent-ClothingHeadHelmetHardsuitCombatAdvanced = FPA-99 helmet + .desc = A high quality helmet for the Dayicin Mk.II tacsuit. + Features a lightweight construction, offering the same protection as a standard tacsuit without impacting mobility as much. +ent-ClothingHeadHelmetHardsuitCombatHoS = FPA-99s helmet + .desc = { ent-ClothingHeadHelmetHardsuitCombatAdvanced.desc } +ent-ClothingHeadHelmetHardsuitLuxury = HpI-20c helmet + .desc = A modified helmet for the Minos hardsuit, fashioned after the Logistics Officer's colors. It's been modified for greater mobility at the expense of physical trauma protection. +ent-ClothingHeadHelmetHardsuitSyndie = CSA-51a helmet + .desc = An armored helmet deployed over a Shanlin tacsuit. This one has been painted blood red. +ent-ClothingHeadHelmetHardsuitSyndieMedic = CSA-51m helmet + .desc = An armored helmet deployed over a Zhongyao tacsuit. features optic integrations for nearly every medical hud on the market. + Designed to enable the survival of combat medics in the most dangerous of environments. +ent-ClothingHeadHelmetHardsuitSyndieElite = CSA-54UA helmet + .desc = An elite version of the Shanlin tacsuit's helmet, featuring improved armor and fireproofing. +ent-ClothingHeadHelmetHardsuitSyndieCommander = CSA-54c helmet + .desc = A bulked up version of the Shanlin tacsuit's helmet, purpose-built for commanders of special operation squads. This one has been painted blood-red. +ent-ClothingHeadHelmetHardsuitCybersun = CSA-80UA helmet + .desc = An incredibly sturdy looking helmet designed for the Guan Yu tacsuit. +ent-ClothingHeadHelmetHardsuitWizard = WZD-84 helmet + .desc = A bizarre, gem-encrusted helmet from unknown origins. It provides some protection to its wearer without restricting their movements. +ent-ClothingHeadHelmetHardsuitLing = organic space helmet + .desc = A spaceworthy biomass of pressure and temperature resistant tissue. +ent-ClothingHeadHelmetHardsuitPirateEVA = pirate helmet + .desc = A pirate vacsuit helmet, very heavy but provides good protection. + .suffix = Pirate +ent-ClothingHeadHelmetHardsuitPirateCap = pirate captain's tacsuit helmet + .desc = A special hardsuit helmet, made for the captain of a pirate ship. + .suffix = Pirate +ent-ClothingHeadHelmetHardsuitSyndieReverseEngineered = NTSA-122 helmet + .desc = A sturdy, lightweight helmet made by the special adquisitions department of Nanotrasen. +ent-ClothingHeadHelmetHardsuitJuggernautReverseEngineered = NTSA-126 helmet + .desc = A very sturdy helmet made by the special acquisitions department of Nanotrasen, based on the "Juggernaut" tacsuit's design. +ent-ClothingHeadHelmetHardsuitERTCentcomm = NT-444c helmet + .desc = A special tacsuit helmet worn by Central Command Officers. +ent-ClothingHeadHelmetHardsuitERTLeader = NT-444l helmet + .desc = A special tacsuit helmet worn by leaders of an emergency response team. +ent-ClothingHeadHelmetHardsuitERTEngineer = NT-444e helmet + .desc = A special hardsuit helmet worn by members of an engineering emergency response team. +ent-ClothingHeadHelmetHardsuitERTMedical = NT-444m helmet + .desc = A special hardsuit helmet worn by members of a medical emergency response team. +ent-ClothingHeadHelmetHardsuitERTSecurity = NT-444s helmet + .desc = A special tacsuit helmet worn by members of a engineering emergency response team. +ent-ClothingHeadHelmetHardsuitERTJanitor = NT-444j helmet + .desc = A special hardsuit helmet worn by members of a janitorial emergency response team. +ent-ClothingHeadHelmetCBURN = NT-444-CBRN helmet + .desc = A pressure resistant and fireproof hood worn by special cleanup units. +ent-ClothingHeadHelmetHardsuitDeathsquad = NT-662ua helmet + .desc = A highly advanced, top of the line helmet used in special operations. +ent-ClothingHeadHelmetHardsuitClown = clown vacsuit helmet + .desc = A colorful clown vacsuit helmet. On closer inspection, it appears to be a normal helmet painted with crayons, and a clown mask glued on top. +ent-ClothingHeadHelmetHardsuitMime = mime vacsuit helmet + .desc = A mime vacsuit helmet. On closer inspection, it appears to be a normal helmet painted with crayons, and a mime mask glued on top. +ent-ClothingHeadHelmetHardsuitSanta = DNK-31 helmet + .desc = A festive-looking hardsuit helmet that provides the jolly gift-giver protection from low-pressure environments. \ No newline at end of file diff --git a/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl b/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl new file mode 100644 index 00000000000..84f03af5c92 --- /dev/null +++ b/Resources/Locale/en-US/prototypes/entities/clothing/outerClothing/hardsuits.ftl @@ -0,0 +1,135 @@ +ent-ClothingOuterHardsuitBasic = basic vacsuit + .desc = A common, colonial-era vacsuit of indeterminate make and model. It's strictly better than nothing, but not by much. +ent-ClothingOuterHardsuitAtmos = HpI-19t "Fotia" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, used by atmospheric technicians in low & high pressure environments. + The label indicates that its rated for high amounts of thermal exposure. It feels a bit heavy. +ent-ClothingOuterHardsuitEngineering = HpI-19r "Lampsi" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, used by engineers in low & high pressure environments. + The label indicates that its rated for moderate amounts of radiation exposure. It feels a bit heavy. +ent-ClothingOuterHardsuitSpatio = HpI-20s "Kriti" hardsuit + .desc = A standard-issue hardsuit produced by Hephaestus Industries, designed for industrial work in low pressure environments. + The label indicates that its rated for moderate amounts of radiation exposure, and it feels somewhat light. +ent-ClothingOuterHardsuitSalvage = HpI-20a "Lavrion" hardsuit + .desc = A sturdy hardsuit produced by Hephaestus Industries, designed for industrial work in low pressure environments. + The labels indicate that it provides protection against most forms of damage. It feels heavy. +ent-ClothingOuterHardsuitVoidParamed = ZhP-24m "Sukunabikona" + .desc = A standard-issue hardsuit manufactured by Zeng-Hu Pharmaceuticals, used by paramedics due to its lightweight frame. + The label mentions that it offers some protection against chemical spills. +ent-ClothingOuterHardsuitMaxim = Mysterious tacsuit + .desc = An old looking tactical combat hardsuit. It has a faded red logo on it along with the words "Maxim". + It feels very sturdy and doesn't seem to have any weight... Though it has an ominous aura to it. +ent-ClothingOuterHardsuitSecurity = FPA-83s - "Baghatur" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, used by the Nanotrasen security force. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitBrigmedic = FPA-84m - "Tsagaan" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, used by doctors in the Nanotrasen security force. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatStandard = FPA-85 - "Baghatur Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatOfficer = FPA-85s - "Baghatur Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatMedical = FPA-86 - "Tsagaan Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitCombatCorpsman = FPA-86m - "Tsagaan Mk.II" tacsuit + .desc = A sturdy tactical combat hardsuit mass-produced by Five-Points-Armory, painted with the colors of station security & medical staff. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels heavy. +ent-ClothingOuterHardsuitWarden = FPA-92s - "Sulde" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory, often used by Wardens in Nanotrasen stations. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCombatRiot = FPA-93 - "Sulde Mk.II" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCombatWarden = FPA-93s - "Sulde Mk.II" tacsuit + .desc = A specialized tactical combat hardsuit produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels VERY heavy. +ent-ClothingOuterHardsuitCap = NT-42c - "Tengri" tacsuit + .desc = A formal, tactical combat hardsuit, made in collaboration by Nanotrasen's R&D department with Five-Points-Armory for station captains. + The labels indicate that it provides protection against most forms of damage. It feels somewhat light. +ent-ClothingOuterHardsuitEngineeringWhite = HpI-24c "Daedalus" hardsuit + .desc = A specialized hardsuit produced by Hephaestus Industries, often purchased for use by Nanotrasen senior engineers. + The labels indicate that its rated for high amounts of radiation and pressure. It feels somewhat light. +ent-ClothingOuterHardsuitMedical = ZhP-25m - "Okuninushi" hardsuit + .desc = A hardsuit produced by Zeng-hu Pharmaceuticals, often purchased for use by Nanotrasen senior medical doctors. + The labels claim it protects against damage from most chemical spills. It feels incredibly light. +ent-ClothingOuterHardsuitRd = NT-45e - "Sophia" research hardsuit + .desc = The magnum opus of Nanotrasen's R&D division. The labels on this hardsuit claim that its near-immune to explosions, heat and radiation. + Somehow it also can shrink enough to fit in a bag. It feels VERY heavy. +ent-ClothingOuterHardsuitMystagogue = NT-45e - "Sophia" research hardsuit + .desc = { ent-ClothingOuterHardsuitRd.desc } +ent-ClothingOuterHardsuitSecurityRed = FPA-98s - "Dayicin" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory, often purchased for use by Nanotrasen senior security officers. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitCombatAdvanced = FPA-99 - "Dayicin Mk.II" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitCombatHoS = FPA-99s - "Dayicin Mk.II" tacsuit + .desc = A top-of-the-line tactical combat hardsuit produced by Five-Points-Armory, painted with the colors of station security. + The tags on the suit indicate that its rated for moderate amounts of physical and explosion damage. It feels somewhat light. +ent-ClothingOuterHardsuitLuxury = HpI-20c - "Minos" hardsuit + .desc = A modified mining hardsuit from Hephaestus Industries, fashioned after the Logistics Officer's colors. + The labels indicate that it provides slight protection against most forms of damage. It feels incredibly light. +ent-ClothingOuterHardsuitSyndie = CSA-51a - "Shanlin" tacsuit + .desc = A tactical combat hardsuit produced by the Cybersun-Armaments Corporation, the suit's tags indicate it provides moderate protection against most forms of damage. + This one has been painted blood red. It feels incredibly light. +ent-ClothingOuterHardsuitSyndieMedic = CSA-51m - "Zhongyao" tacsuit + .desc = A tactical combat hardsuit produced by the Cybersun-Armaments Corporation, the suit's tags indicate it provides moderate protection against most forms of damage. + Half of the suit is painted blood red, the rest bears galactic-standard medical markings. It feels incredibly light. +ent-ClothingOuterHardsuitSyndieElite = CSA-54UA - "Shiwei" tacsuit + .desc = An "Up-Armored" tactical combat hardsuit produced by the Cybersun-Armaments Corporation. + The suit's tags indicate its rated for high exposure to radiation, heat and explosions, along with moderate physical trauma protection. + It feels incredibly light. +ent-ClothingOuterHardsuitSyndieCommander = CSA-54c - "Tianming" tacsuit + .desc = A "Commander" tactical combat hardsuit produced by the Cybersun-Armaments Corporation. The suit's tags indicate that it protects greatly against all forms of damage. + This one has been painted blood red. It doesn't seem to have any weight. +ent-ClothingOuterHardsuitJuggernaut = CSA-80UA - "Guan Yu" tacsuit + .desc = The pride and joy of the Cybersun-Armaments Corporation, named after an ancient Sol' War God. Commonly known throughout the galaxy as a "Juggernaut". + Matching its bulky appearance, it protects against all forms of damage. It feels VERY heavy. +ent-ClothingOuterHardsuitWizard = WZD-84 - "Mana" tacsuit + .desc = A bizarre gem-encrusted hardsuit. Famously used by members of the Wizard Federation in their operations. + Contrary to it's appearance, it can protect its wearer from space and considerable amounts of physical trauma, it feels somewhat light. +ent-ClothingOuterHardsuitLing = organic vacsuit + .desc = A suit made of biomass tissue that is somehow capable of resisting the hazards of low pressure and temperature in space. +ent-ClothingOuterHardsuitPirateEVA = pirate vacsuit + .desc = A worn-out heavy space suit of unknown origin that provides some basic protection from the cold harsh realities of deep space. + .suffix = Pirate +ent-ClothingOuterHardsuitPirateCap = pirate captain's tacsuit + .desc = An ancient armored tactical combat hardsuit of unknown origin, provides basic protections from the cold harsh realities of deep space and physical trauma. + It doesn't seem to have any weight either. Perfect for defending against space scurvy and toolbox-wielding scallywags. +ent-ClothingOuterHardsuitSyndieReverseEngineered = NTSA-122 tacsuit + .desc = A suit made by the special adquisitions department of Nanotrasen, the suit's tags indicate it provides moderate protection against most forms of damage. +ent-ClothingOuterHardsuitJuggernautReverseEngineered = NTSA-126 tacsuit + .desc = A suit made by the special acquisitions department of Nanotrasen based on the "Juggernaut" design. + Matching its bulky appearance, it protects against all forms of damage. It feels VERY heavy. +ent-ClothingOuterHardsuitERTCentcomm = NT-444c - "Ophanim" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Central Command Officers, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTLeader = NT-444l - "Michael" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Leaders of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTEngineer = NT-444e - "Uriel" hardsuit + .desc = A highly advanced hardsuit used by Engineers of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTMedical = NT-444m - "Raphael" hardsuit + .desc = A highly advanced hardsuit used by Doctors of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTSecurity = NT-444s - "Gabriel" tacsuit + .desc = A highly advanced, tactical combat hardsuit used by Security Officers of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitERTJanitor = NT-444j - "Sandalphon" hardsuit + .desc = A highly advanced hardsuit used by Janitors of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a very sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitDeathsquad = NT-662ua "Samael" tacsuit + .desc = A highly advanced, top of the line tactical combat hardsuit, it seems to be branded with the Nanotrasen logo and a strange looking series number. + You can barely make out the letters "NTIA-DAP" written on it. The armor appears to be lined with a very sturdy alloy, and doesn't seem to have any weight either. +ent-ClothingOuterHardsuitCBURN = NT-444-CBRN -"Jophiel" tacsuit + .desc = A tactical combat hardsuit used by the CBURN subdivision of the Emergency Response Team, it seems to be branded with the Nanotrasen logo and a strange looking series number. + The armor appears to be lined with a rather plain, but sturdy alloy, it doesn't seem to have any weight either. +ent-ClothingOuterHardsuitClown = clown vacsuit + .desc = A custom-made clown vacsuit. On closer inspection, it appears to be a normal vacsuit with paint applied on top. +ent-ClothingOuterHardsuitMime = mime vacsuit + .desc = A custom-made mime vacsuit. On closer inspection, it appears to be a normal vacsuit with suspenders and paint applied on top. +ent-ClothingOuterHardsuitSanta = DNK-31 "Jolly" hardsuit + .desc = A festive hardsuit produced by Donk Co. for their time-limited celebratory events, provides protection for its jolly gift-giver to sleighride safely in space without worrying about asteroid strikes. \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml b/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml index ac5cb47cc97..734bd485a2e 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/suit_storage.yml @@ -44,7 +44,7 @@ suffix: Prisoner EVA components: - type: StorageFill - contents: + contents: - id: OxygenTankFilled - id: ClothingOuterHardsuitEVAPrisoner - id: ClothingHeadHelmetEVALarge @@ -258,7 +258,6 @@ - id: NitrogenTankFilled - id: OxygenTankFilled - id: ClothingOuterHardsuitVoidParamed - - id: ClothingHeadHelmetVoidParamed - id: ClothingMaskBreathMedical - type: AccessReader access: [ [ "Paramedic" ] ] diff --git a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml index 963bcdedd78..c3c6a617a03 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/eva-helmets.yml @@ -54,26 +54,6 @@ - type: Clothing sprite: Clothing/Head/Helmets/cosmonaut.rsi -#Paramedic Void Helmet -- type: entity - parent: ClothingHeadEVAHelmetBase - id: ClothingHeadHelmetVoidParamed - name: paramedic void helmet - description: A void helmet made for paramedics. - components: - - type: BreathMask - - type: Sprite - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: Clothing - sprite: Clothing/Head/Helmets/paramedhelm.rsi - - type: TemperatureProtection - coefficient: 0.1 - - type: Armor - modifiers: - coefficients: - Heat: 0.90 - Radiation: 0.75 - #Ancient Void Helmet - type: entity parent: ClothingHeadEVAHelmetBase diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index f1489b0ddd6..6985fe7ec39 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -156,6 +156,25 @@ Piercing: 0.9 Heat: 0.9 +#Paramedic Void Helmet +- type: entity + parent: ClothingHeadHardsuitBase + id: ClothingHeadHelmetHardsuitVoidParamed + name: paramedic void helmet + description: A void helmet made for paramedics. + components: + - type: BreathMask + - type: Sprite + sprite: Clothing/Head/Hardsuits/paramedhelm.rsi + - type: Clothing + sprite: Clothing/Head/Hardsuits/paramedhelm.rsi + - type: Armor + modifiers: + coefficients: + Heat: 0.90 + Radiation: 0.75 + + #Security Hardsuit - type: entity parent: ClothingHeadHardsuitWithLightBase diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 70ab3016469..ba889285a16 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -163,6 +163,38 @@ - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitSalvage +#Paramedic Voidsuit +- type: entity + parent: ClothingOuterHardsuitBase + id: ClothingOuterHardsuitVoidParamed + name: paramedic hardsuit + description: A hardsuit made for paramedics. + components: + - type: Sprite + sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + - type: Clothing + sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi + - type: TemperatureProtection + coefficient: 0.1 + - type: PressureProtection + highPressureMultiplier: 0.5 + lowPressureMultiplier: 1000 + - type: Armor + modifiers: + coefficients: + Heat: 0.90 + Radiation: 0.75 + Caustic: 0.5 + - type: StealTarget + stealGroup: ClothingOuterHardsuitVoidParamed + - type: ClothingSpeedModifier + walkModifier: 0.9 + sprintModifier: 0.9 + - type: HeldSpeedModifier + - type: ToggleableClothing + clothingPrototype: ClothingHeadHelmetHardsuitVoidParamed + + - type: entity parent: ClothingOuterHardsuitBase id: ClothingOuterHardsuitMaxim diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml index b81b3d1e7f0..115202813c7 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/softsuits.yml @@ -2,8 +2,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitEVA - name: EVA suit - description: A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies. + name: vacsuit + description: A lightweight vacsuit with the basic ability to protect the wearer from the vacuum of space during emergencies. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/eva.rsi @@ -20,7 +20,7 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitSyndicate # TODO: rename to ClothingOuterEVASuitSyndicate - name: syndicate EVA suit + name: syndicate vacsuit description: "Has a tag on the back that reads: 'Totally not property of an enemy corporation, honest!'" components: - type: Sprite @@ -38,8 +38,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterSuitEmergency - name: emergency EVA suit - description: An emergency EVA suit with a built-in helmet. It's horribly slow and lacking in temperature protection, but enough to bide you time from the harsh vaccuum of space. + name: emergency vacsuit + description: An emergency vacsuit with a built-in helmet. It's horribly slow and lacking in temperature protection, but enough to bide you time from the harsh vaccuum of space. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/eva_emergency.rsi @@ -62,7 +62,7 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitEVAPrisoner - name: prisoner EVA suit + name: prisoner vacsuit description: A lightweight space suit for prisoners to protect them from the vacuum of space during emergencies. components: - type: Sprite @@ -80,8 +80,8 @@ - type: entity parent: ClothingOuterEVASuitBase id: ClothingOuterHardsuitAncientEVA - name: NTSRA voidsuit #Nanotrasen Space Research Association - description: An ancient space suit, designed by the NTSRA branch of CentCom. It is very finely crafted, allowing for greater mobility than most modern space suits. + name: NTSRA vacsuit #Nanotrasen Space Research Association + description: An ancient vacsuit, designed by the NTSRA branch of CentCom. It is very finely crafted, allowing for greater mobility than most modern vacsuits. components: - type: Sprite sprite: Clothing/OuterClothing/Suits/ancient_voidsuit.rsi @@ -91,40 +91,3 @@ walkModifier: 0.85 sprintModifier: 0.85 - type: HeldSpeedModifier - -#Paramedic Voidsuit -#Despite having resistances and looking like a hardsuit, this parents off the EVA suit so it goes here. -- type: entity - parent: ClothingOuterEVASuitBase - id: ClothingOuterHardsuitVoidParamed - name: paramedic void suit - description: A void suit made for paramedics. - components: - - type: Sprite - sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi - - type: Clothing - sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi - - type: PressureProtection - highPressureMultiplier: 0.5 - lowPressureMultiplier: 1000 - - type: ClothingSpeedModifier - walkModifier: 0.9 - sprintModifier: 0.9 - - type: HeldSpeedModifier - - type: TemperatureProtection - coefficient: 0.1 - - type: Armor - modifiers: - coefficients: - Heat: 0.90 - Radiation: 0.75 - Caustic: 0.5 - - type: GroupExamine - - type: StealTarget - stealGroup: ClothingOuterHardsuitVoidParamed - - type: ToggleableClothing - clothingPrototype: ClothingHeadHelmetVoidParamed - slot: head - - type: ContainerContainer - containers: - toggleable-clothing: !type:ContainerSlot {} diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml index 6c96d3a56dd..1a83a14bd57 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Head/hardsuit-helmets.yml @@ -19,7 +19,7 @@ parent: ClothingHeadHelmetHardsuitSyndie id: ClothingHeadHelmetHardsuitSyndieReverseEngineered noSpawn: true - name: SA-123 combat hardsuit helmet + name: SA-122 combat hardsuit helmet description: An advanced hardsuit helmet designed for work in special operations. components: - type: Sprite @@ -31,7 +31,7 @@ parent: ClothingHeadHelmetHardsuitCybersun id: ClothingHeadHelmetHardsuitJuggernautReverseEngineered noSpawn: true - name: SA-127 combat hardsuit helmet + name: SA-126 combat hardsuit helmet description: An assault hardsuit helmet featuring a top-secret translucent polymer. components: - type: Sprite diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index e93c9c319da..59952784339 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -190,7 +190,7 @@ - type: stealTargetGroup id: ClothingOuterHardsuitVoidParamed - name: paramedic void suit + name: paramedic hardsuit sprite: sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi state: icon diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-HELMET.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/equipped-HELMET.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/equipped-HELMET.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/icon.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/icon.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-left.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-left.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/inhand-right.png rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/inhand-right.png diff --git a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json similarity index 95% rename from Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json rename to Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json index 4ec7339a888..a42fdeb8102 100644 --- a/Resources/Textures/Clothing/Head/Helmets/paramedhelm.rsi/meta.json +++ b/Resources/Textures/Clothing/Head/Hardsuits/paramedhelm.rsi/meta.json @@ -1,26 +1,26 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" - }, - { - "name": "equipped-HELMET", - "directions": 4 - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - } - ] -} +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from paradise station at commit https://github.com/ParadiseSS13/Paradise/commit/e5e584804b4b0b373a6a69d23afb73fd3c094365, redrawn by Ubaser", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} From e23114ce58b7532800099b71947fba16ea29c7a8 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Mon, 12 Aug 2024 21:44:15 +0000 Subject: [PATCH 06/13] Automatic Changelog Update (#725) --- Resources/Changelog/Changelog.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 75cc34a090f..debbbbfe988 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5256,3 +5256,11 @@ Entries: message: Added showers id: 6256 time: '2024-08-12T16:46:05.0000000+00:00' +- author: gluesniffler + changes: + - type: Tweak + message: Changed hardsuit descriptions to be slightly less LRP. + - type: Tweak + message: Changed paramedic voidsuit from a softsuit to a hardsuit. + id: 6257 + time: '2024-08-12T21:43:52.0000000+00:00' From 2ae464e0693feb8aecf813070a13bb7b49d49006 Mon Sep 17 00:00:00 2001 From: stellar-novas Date: Mon, 12 Aug 2024 19:07:17 -0400 Subject: [PATCH 07/13] Nix Version Bump (#721) The bi-monthly nix version bump. Only impacts the nix users, which are me and @DEATHB4DEFEAT --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 7baaa468ea5..40a98aa9f96 100644 --- a/flake.lock +++ b/flake.lock @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717352157, - "narHash": "sha256-hbBzucWOhwxt3QzeAyUojtD6/aHH81JssDfhFfmqOy0=", + "lastModified": 1723382296, + "narHash": "sha256-55jPcSyBPG77QysozW12H0VA0E56PJYS+duYndDUNLg=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44f538ab12e2726af450877a5529f4fd88ddb0fb", + "rev": "a5d81094146e6b042c4e5f4c5e179c5c35c3ae28", "type": "github" }, "original": { From eb98bc86afa2148db0e15acf1edcab711df24dfc Mon Sep 17 00:00:00 2001 From: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:08:24 -0700 Subject: [PATCH 08/13] Fix Whitelist Requirements (#729) # Changelog :cl: - fix: Whitelist requirements work properly --- Resources/Prototypes/Roles/Antags/nukeops.yml | 2 +- Resources/Prototypes/Roles/Jobs/Command/captain.yml | 2 +- Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml | 2 +- Resources/Prototypes/Roles/Jobs/Security/warden.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Roles/Antags/nukeops.yml b/Resources/Prototypes/Roles/Antags/nukeops.yml index fe05393b9ca..26024b44b28 100644 --- a/Resources/Prototypes/Roles/Antags/nukeops.yml +++ b/Resources/Prototypes/Roles/Antags/nukeops.yml @@ -39,4 +39,4 @@ - !type:CharacterDepartmentTimeRequirement # DeltaV - Command dept time requirement department: Command min: 36000 # DeltaV - 10 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index 12ad83e6e5c..d624b349d56 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -24,7 +24,7 @@ min: 108000 # DeltaV - 30 hours - !type:CharacterOverallTimeRequirement # DeltaV - Playtime requirement min: 108000 # 30 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement weight: 20 startingGear: CaptainGear icon: "JobIconCaptain" diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index 675e7768fa7..46e018f35a8 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -15,7 +15,7 @@ min: 36000 # 10 hours - !type:CharacterOverallTimeRequirement min: 90000 # DeltaV - 25 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement weight: 10 startingGear: HoSGear icon: "JobIconHeadOfSecurity" diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index a4c5c5a8fab..82101373db2 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -10,7 +10,7 @@ - !type:CharacterPlaytimeRequirement # DeltaV - JobDetective time requirement. Give them an understanding of basic forensics. tracker: JobDetective min: 14400 # DeltaV - 4 hours - - !type:WhitelistRequirement # DeltaV - Whitelist requirement + - !type:CharacterWhitelistRequirement startingGear: WardenGear icon: "JobIconWarden" supervisors: job-supervisors-hos From 42a57938faf9a5e4f83cf8a4705b0c0268c3b7d4 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:08:52 +0000 Subject: [PATCH 09/13] Automatic Changelog Update (#729) --- Resources/Changelog/Changelog.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index debbbbfe988..f8708b5992f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5264,3 +5264,9 @@ Entries: message: Changed paramedic voidsuit from a softsuit to a hardsuit. id: 6257 time: '2024-08-12T21:43:52.0000000+00:00' +- author: DEATHB4DEFEAT + changes: + - type: Fix + message: Whitelist requirements work properly + id: 6258 + time: '2024-08-13T17:08:24.0000000+00:00' From 90f56f412dfcb3651341540fee08e7e8e2405de0 Mon Sep 17 00:00:00 2001 From: Angelo Fallaria Date: Wed, 14 Aug 2024 01:12:15 +0800 Subject: [PATCH 10/13] Oni Speech Update (#724) # Description This PR has updates surrounding Oni speech: a new speech bubble for Onis with horns, unique speech verbs, and a tweak to the Nekomimetic description to mention Onis. Notably, Onis will now have a **fully unique** speech (sound, speech bubble, verbs), improving how distinct they feel. #711 (Remove Or Rework Vulpkanin) triggered a discussion about how unique the species should be in EE. As an Oni main, I can't help but notice that Onis often feel like human reskins, practically being colorful humans with horns. This PR aims to be a step in the right direction to make Onis more aesthetically distinct from humans by changing the visuals of their speech. All that is left is to give them unique screams, preferably screams that sound rather *demonic*. Shoutout to @leonardo-dabepis who improved the chat bubble horns for me. I will impulsively put him in the changelog to give credit :trollface: ## Media **Speech Bubble** ![image](https://github.com/user-attachments/assets/71185797-40b9-437b-a360-7ffcac83705b)
See more **Speech Style** ![image](https://github.com/user-attachments/assets/67ef53f9-d713-40c4-a88f-903d7be4f55a) **Nekomimetic Description** ![image](https://github.com/user-attachments/assets/c3df58db-22d1-44a1-8f0c-84e879ad0c7f)
## Changelog :cl: Skubman and leonardo-dabepis - add: Onis now get a unique speech bubble, a black bubble with horns. - add: Onis have received a distinct speech style that reflects their strength. Hear them 'grunt', 'bellow', 'blare', and 'rumble' as they talk. - tweak: The Nekomimetic language description has been changed to mention Onis speaking it. --------- Signed-off-by: Angelo Fallaria Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> --- .../en-US/chat/managers/chat-manager.ftl | 6 ++++++ Resources/Locale/en-US/language/languages.ftl | 2 +- .../Nyanotrasen/Entities/Mobs/Species/Oni.yml | 3 +++ Resources/Prototypes/Voice/speech_verbs.yml | 11 +++++++++- Resources/Prototypes/typing_indicator.yml | 5 +++++ .../Textures/Effects/speech.rsi/meta.json | 19 +++++++++++++++++- .../Textures/Effects/speech.rsi/oni0.png | Bin 0 -> 715 bytes .../Textures/Effects/speech.rsi/oni1.png | Bin 0 -> 741 bytes .../Textures/Effects/speech.rsi/oni2.png | Bin 0 -> 742 bytes 9 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/Effects/speech.rsi/oni0.png create mode 100644 Resources/Textures/Effects/speech.rsi/oni1.png create mode 100644 Resources/Textures/Effects/speech.rsi/oni2.png diff --git a/Resources/Locale/en-US/chat/managers/chat-manager.ftl b/Resources/Locale/en-US/chat/managers/chat-manager.ftl index 6fbeb83ed41..589d79e6ea9 100644 --- a/Resources/Locale/en-US/chat/managers/chat-manager.ftl +++ b/Resources/Locale/en-US/chat/managers/chat-manager.ftl @@ -112,6 +112,12 @@ chat-speech-verb-vox-1 = screeches chat-speech-verb-vox-2 = shrieks chat-speech-verb-vox-3 = croaks +chat-speech-verb-name-oni = Oni +chat-speech-verb-oni-1 = grunts +chat-speech-verb-oni-2 = bellows +chat-speech-verb-oni-3 = blares +chat-speech-verb-oni-4 = rumbles + chat-speech-verb-name-canine = Canine chat-speech-verb-canine-1 = barks chat-speech-verb-canine-2 = woofs diff --git a/Resources/Locale/en-US/language/languages.ftl b/Resources/Locale/en-US/language/languages.ftl index 4b0c1248f28..68dc80f51da 100644 --- a/Resources/Locale/en-US/language/languages.ftl +++ b/Resources/Locale/en-US/language/languages.ftl @@ -11,7 +11,7 @@ language-RootSpeak-name = Rootspeak language-RootSpeak-description = The strange whistling-style language spoken by the Diona. language-Nekomimetic-name = Nekomimetic -language-Nekomimetic-description = To the casual observer, this language is an incomprehensible mess of broken Japanese. To the felinids, it's somehow comprehensible. +language-Nekomimetic-description = To the casual observer, this language is an incomprehensible mess of broken Japanese. To the Felinids and Oni, it's somehow comprehensible. language-Draconic-name = Draconic language-Draconic-description = The common language of lizard-people, composed of sibilant hisses and rattles. diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml index e93117b1aad..c1655287fdc 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Mobs/Species/Oni.yml @@ -6,6 +6,7 @@ components: - type: Speech speechSounds: Baritone + speechVerb: Oni - type: HumanoidAppearance species: Oni - type: Sprite @@ -35,6 +36,8 @@ - MobLayer - type: Stamina critThreshold: 115 + - type: TypingIndicator + proto: oni - type: LanguageKnowledge speaks: - GalacticCommon diff --git a/Resources/Prototypes/Voice/speech_verbs.yml b/Resources/Prototypes/Voice/speech_verbs.yml index 9879cefb75d..3f0a4c10fce 100644 --- a/Resources/Prototypes/Voice/speech_verbs.yml +++ b/Resources/Prototypes/Voice/speech_verbs.yml @@ -1,4 +1,4 @@ -- type: speechVerb +- type: speechVerb id: Default name: chat-speech-verb-name-default speechVerbStrings: @@ -94,6 +94,15 @@ - chat-speech-verb-vox-2 - chat-speech-verb-vox-3 +- type: speechVerb + id: Oni + name: chat-speech-verb-name-oni + speechVerbStrings: + - chat-speech-verb-oni-1 + - chat-speech-verb-oni-2 + - chat-speech-verb-oni-3 + - chat-speech-verb-oni-4 + - type: speechVerb id: Plant name: chat-speech-verb-name-plant diff --git a/Resources/Prototypes/typing_indicator.yml b/Resources/Prototypes/typing_indicator.yml index 7271770ef50..7e8c92787fe 100644 --- a/Resources/Prototypes/typing_indicator.yml +++ b/Resources/Prototypes/typing_indicator.yml @@ -48,3 +48,8 @@ id: slime typingState: slime0 offset: 0, 0.125 + +- type: typingIndicator + id: oni + typingState: oni0 + offset: 0, 0.0625 diff --git a/Resources/Textures/Effects/speech.rsi/meta.json b/Resources/Textures/Effects/speech.rsi/meta.json index 98dd3b20607..1ec1219b0f8 100644 --- a/Resources/Textures/Effects/speech.rsi/meta.json +++ b/Resources/Textures/Effects/speech.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github)", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 | Moth sprites made by PuroSlavKing (Github) | Spider sprites made by PixelTheKermit (Github) | Lizard sprites made by AmalgoMyte (Github) | Oni sprites made by angelofallars and leonardo-dabepis (Github)", "states": [ { "name": "alien0", @@ -422,6 +422,23 @@ 0.4 ] ] + }, + { + "name": "oni0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.5 + ] + ] + }, + { + "name": "oni1" + }, + { + "name": "oni2" } ] } diff --git a/Resources/Textures/Effects/speech.rsi/oni0.png b/Resources/Textures/Effects/speech.rsi/oni0.png new file mode 100644 index 0000000000000000000000000000000000000000..cae529b35c2cf0ab1fa384fcfda2e626e327f52c GIT binary patch literal 715 zcmV;+0yO=JP)EX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx009F@L_t(|+U?rW4TB&M#_`km*iE`X;~LK4 zG|u4~gaO)39H0-i4WVkOkvn4kzr;7mRX)mk%DjfBt@Sqb@#@R5-um5~$uBB*}UrS+z zVYq7M6*mBV-#;|-s`y)6*@PyglR!N`J_c{jxz91QwJGJ=3ykv@XXKvo53uxn5$o^* z@&Nz<00000oDlT^DX0(7Ta9Y@)CYv4PJO^{=dTZV-_L8`)34>{?nih%?h}?^&dtyy xpZb9K8>2qpdq$`aDBw38000000000E@dQjOu6&_V?cD$X002ovPDHLkV1nCON45X} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/speech.rsi/oni1.png b/Resources/Textures/Effects/speech.rsi/oni1.png new file mode 100644 index 0000000000000000000000000000000000000000..03da318f1d915f3b705706ef3cd097e7e4c623aa GIT binary patch literal 741 zcmVEX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx00A9IL_t(|+U?ri34<^chT&uJvYWU-IcsDN zcM&p&Ye)uYH|YSqs6w=AEf|m0_W|z$F<*WZPDI{9`^;I==I>lYB-C}isBznF^$>pS ze^vR!Ob^}Upz=6f=Uh#$MNG$BR$dyvJm-VNS+Uxlv%)a-&=t5`%NV*lq1|Nrz>JS`NRaFtMfTOy|$z{VYz{DY#eEC~#fo$$G z*oCoG08=5P8vGJLRqs}RfT}vXDmDwjvhzIz0000000000$6{HZx9EX>4Tx04R}tkv&MmKpe$iQ%j3f9PA+CkfA!+MMWHI6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfc5qU3krMxx6k5c1aNLh~_a1le0HIZ5n$?#CG~G6{ z>6Dl+tcu}RL=c655W+IEj5$flz;}GzBf!_Y1kdt6_vaW;ixvX{B5{%#rcJy-JhN#V zocD=itRkz#=fo2xU6A;Z>x##3oXai?JTqqIvh&0-VzJ!AN)NM&sS!^T$5loiA^#v+y=L4<+^s;I$6f>xar3t8Gv`S?d%zeFyDTvae~ zET9ezvg-%`gWug+rKw3TDVhR8FOKsu284HkcGGdbj~%Cd0tBCdE4}Nlw}9DC(wki^ zegq6|0~gm_P1yr3cYxt1LpEhs3eprxCE)#xzNr8V-2(kX!oIU_K>MC;s92^4U zWy)Und3U6@w|~!c`uhR$&~kHCs7&wx00ACJL_t(|+U?ri4Z;Ph*_9` zNt+TY;GVg+i)@83sHMS&@3$U!db%707*qoM6N<$g5dE-uK)l5 literal 0 HcmV?d00001 From 079e9787de25151d1cd41cd806d97e7013d067e4 Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:12:42 +0000 Subject: [PATCH 11/13] Automatic Changelog Update (#724) --- Resources/Changelog/Changelog.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f8708b5992f..164bbbb316f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5270,3 +5270,17 @@ Entries: message: Whitelist requirements work properly id: 6258 time: '2024-08-13T17:08:24.0000000+00:00' +- author: Skubman and leonardo-dabepis + changes: + - type: Add + message: Onis now get a unique speech bubble, a black bubble with horns. + - type: Add + message: >- + Onis have received a distinct speech style that reflects their strength. + Hear them 'grunt', 'bellow', 'blare', and 'rumble' as they talk. + - type: Tweak + message: >- + The Nekomimetic language description has been changed to mention Onis + speaking it. + id: 6259 + time: '2024-08-13T17:12:15.0000000+00:00' From 666e820aedf209758f3773ecff4559a83242d035 Mon Sep 17 00:00:00 2001 From: FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com> Date: Tue, 13 Aug 2024 19:16:51 +0200 Subject: [PATCH 12/13] Plushie Update! (#654) # Description By multiple requests i bring my PR from Frontier The [PLUSHIE UPDATE!](https://github.com/new-frontiers-14/frontier-station-14/pull/886) This PR add a prize vendor machine where you can trade prize ticket for a toy/plushie, to get ticket you win those in arcade machines. This PR will give a chance for everyone to get the toys they need in a special machine and will make plushies in general more random and fun, in term of random spawns. WARNING THIS PR DOES NOT MAP THE PRIZE VENDOR AND WILL MOSTLY NEED TO BE MAPPED. --- # TODO - [x] Prize Vendor - [x] Prize Tickets - [x] New Toys/Plushies - [x] Prizes ---

Media

![image](https://github.com/user-attachments/assets/643e6c65-bba0-4eef-8e8e-d3510922e51e)

--- # Changelog :cl: - add: A ton of new plushies has arrived - add: Prize counter are here, get your prizes by winning games and getting prize tickets! and find prize balls!! --- Resources/Audio/Effects/silence.ogg | Bin 0 -> 4181 bytes Resources/Migrations/eeMigration.yml | 3 + .../Prototypes/Catalog/Cargo/cargo_fun.yml | 20 - .../Prototypes/Catalog/Fills/Crates/fun.yml | 47 -- .../Entities/Markers/Spawners/Random/toy.yml | 32 + .../Entities/Objects/Fun/prizeticket.yml | 395 +++++++++ .../Entities/Objects/Fun/puppet.yml | 89 +++ .../Prototypes/Entities/Objects/Fun/toys.yml | 390 +++++++++ .../Structures/Machines/Computers/arcades.yml | 68 +- .../Entities/Structures/Machines/lathe.yml | 138 ++++ .../Entities/Objects/Specific/Mail/mail.yml | 145 +++- .../Reagents/Materials/prizeticket.yml | 6 + .../Recipes/Lathes/prizecounter.yml | 729 +++++++++++++++++ Resources/Prototypes/Stacks/prizeticket.yml | 7 + Resources/Prototypes/tags.yml | 3 + .../Objects/Fun/catplushie.rsi/black.png | Bin 0 -> 250 bytes .../Objects/Fun/catplushie.rsi/grey.png | Bin 0 -> 250 bytes .../Objects/Fun/catplushie.rsi/meta.json | 32 + .../Objects/Fun/catplushie.rsi/orange.png | Bin 0 -> 585 bytes .../Objects/Fun/catplushie.rsi/siames.png | Bin 0 -> 658 bytes .../Objects/Fun/catplushie.rsi/tabby.png | Bin 0 -> 539 bytes .../Objects/Fun/catplushie.rsi/tuxedo.png | Bin 0 -> 280 bytes .../Objects/Fun/catplushie.rsi/white.png | Bin 0 -> 250 bytes .../Objects/Fun/corgiplushie.rsi/corgi.png | Bin 0 -> 394 bytes .../Fun/corgiplushie.rsi/girlycorgi.png | Bin 0 -> 412 bytes .../Objects/Fun/corgiplushie.rsi/meta.json | 20 + .../Fun/corgiplushie.rsi/robotcorgi.png | Bin 0 -> 391 bytes .../Objects/Fun/foxplushie.rsi/black.png | Bin 0 -> 1201 bytes .../Objects/Fun/foxplushie.rsi/blue.png | Bin 0 -> 936 bytes .../Objects/Fun/foxplushie.rsi/coffee.png | Bin 0 -> 1046 bytes .../Objects/Fun/foxplushie.rsi/crimson.png | Bin 0 -> 927 bytes .../Objects/Fun/foxplushie.rsi/marble.png | Bin 0 -> 1089 bytes .../Objects/Fun/foxplushie.rsi/meta.json | 38 + .../Objects/Fun/foxplushie.rsi/orange.png | Bin 0 -> 939 bytes .../Objects/Fun/foxplushie.rsi/pink.png | Bin 0 -> 936 bytes .../Objects/Fun/foxplushie.rsi/purple.png | Bin 0 -> 942 bytes .../Objects/Fun/foxplushie.rsi/red.png | Bin 0 -> 1408 bytes .../Textures/Objects/Fun/petrock.rsi/fred.png | Bin 0 -> 204 bytes .../Objects/Fun/petrock.rsi/meta.json | 20 + .../Textures/Objects/Fun/petrock.rsi/rock.png | Bin 0 -> 195 bytes .../Objects/Fun/petrock.rsi/roxie.png | Bin 0 -> 231 bytes .../Objects/Fun/prizeticket.rsi/meta.json | 26 + .../Objects/Fun/prizeticket.rsi/prizeball.png | Bin 0 -> 732 bytes .../Objects/Fun/prizeticket.rsi/ticket.png | Bin 0 -> 201 bytes .../Objects/Fun/prizeticket.rsi/ticket_2.png | Bin 0 -> 296 bytes .../Objects/Fun/prizeticket.rsi/ticket_3.png | Bin 0 -> 361 bytes .../Objects/Fun/prizeticket.rsi/ticket_4.png | Bin 0 -> 188 bytes .../Objects/Fun/toys.rsi/abductor.png | Bin 0 -> 245 bytes .../Objects/Fun/toys.rsi/abductor_agent.png | Bin 0 -> 333 bytes .../Textures/Objects/Fun/toys.rsi/deer.png | Bin 0 -> 787 bytes .../Textures/Objects/Fun/toys.rsi/gnome.png | Bin 0 -> 330 bytes .../Textures/Objects/Fun/toys.rsi/grey.png | Bin 0 -> 389 bytes .../Textures/Objects/Fun/toys.rsi/ipc.png | Bin 0 -> 335 bytes .../Objects/Fun/toys.rsi/loveable.png | Bin 0 -> 373 bytes .../Textures/Objects/Fun/toys.rsi/meta.json | 747 +++++++++--------- .../Objects/Fun/toys.rsi/plushie_jester.png | Bin 0 -> 585 bytes .../Objects/Fun/toys.rsi/plushie_slips.png | Bin 0 -> 462 bytes .../Objects/Fun/toys.rsi/plushie_trystan.png | Bin 0 -> 1108 bytes .../Objects/Fun/toys.rsi/plushie_vulp.png | Bin 0 -> 1033 bytes .../rock_carrier.rsi/box-inhand-left.png | Bin 0 -> 563 bytes .../rock_carrier.rsi/box-inhand-right.png | Bin 0 -> 632 bytes .../Happyhonk/rock_carrier.rsi/box-open.png | Bin 0 -> 2925 bytes .../Happyhonk/rock_carrier.rsi/box.png | Bin 0 -> 3009 bytes .../Happyhonk/rock_carrier.rsi/meta.json | 25 + .../Machines/prizecounter.rsi/icon.png | Bin 0 -> 817 bytes .../Machines/prizecounter.rsi/meta.json | 20 + .../Machines/prizecounter.rsi/panel.png | Bin 0 -> 179 bytes .../Machines/prizecounter.rsi/unlit.png | Bin 0 -> 444 bytes 68 files changed, 2489 insertions(+), 511 deletions(-) create mode 100644 Resources/Audio/Effects/silence.ogg create mode 100644 Resources/Migrations/eeMigration.yml create mode 100644 Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml create mode 100644 Resources/Prototypes/Reagents/Materials/prizeticket.yml create mode 100644 Resources/Prototypes/Recipes/Lathes/prizecounter.yml create mode 100644 Resources/Prototypes/Stacks/prizeticket.yml create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/black.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/grey.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/orange.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/siames.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/tuxedo.png create mode 100644 Resources/Textures/Objects/Fun/catplushie.rsi/white.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/girlycorgi.png create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/black.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/pink.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png create mode 100644 Resources/Textures/Objects/Fun/foxplushie.rsi/red.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/fred.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/rock.png create mode 100644 Resources/Textures/Objects/Fun/petrock.rsi/roxie.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_3.png create mode 100644 Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_4.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/abductor.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/deer.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/gnome.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/grey.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/ipc.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/loveable.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_jester.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_trystan.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/plushie_vulp.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-left.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-open.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box.png create mode 100644 Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png create mode 100644 Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png diff --git a/Resources/Audio/Effects/silence.ogg b/Resources/Audio/Effects/silence.ogg new file mode 100644 index 0000000000000000000000000000000000000000..91738108486ed65c60563112099c3c036aab1eba GIT binary patch literal 4181 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 S@Na+rEraqO5^{C_x9Oi>d^^Yh literal 0 HcmV?d00001 diff --git a/Resources/Migrations/eeMigration.yml b/Resources/Migrations/eeMigration.yml new file mode 100644 index 00000000000..26713f6cbac --- /dev/null +++ b/Resources/Migrations/eeMigration.yml @@ -0,0 +1,3 @@ +# 2024-06-08 +CrateFunPlushie: CrateFunToyBox +CrateFunLizardPlushieBulk: CrateFunToyBox diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml index 61085f13b94..68bb4a6b849 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_fun.yml @@ -88,26 +88,6 @@ category: cargoproduct-category-name-fun group: market -- type: cargoProduct - id: FunPlushies - icon: - sprite: Objects/Fun/toys.rsi - state: plushie_h - product: CrateFunPlushie - cost: 1000 - category: cargoproduct-category-name-fun - group: market - -- type: cargoProduct - id: FunLizardPlushies - icon: - sprite: Objects/Fun/toys.rsi - state: plushie_lizard - product: CrateFunLizardPlushieBulk - cost: 500 - category: cargoproduct-category-name-fun - group: market - - type: cargoProduct id: FunBoardGames icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index 28c5ea8dd47..b55bdd48322 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -1,50 +1,3 @@ -- type: entity - id: CrateFunPlushie - parent: CrateGenericSteel - name: plushie crate - description: A buncha soft plushies. Throw them around and then wonder how you're gonna explain this purchase to NT. - components: - - type: StorageFill - contents: - - id: PlushieBee - - id: PlushieNar - - id: PlushieCarp - - id: PlushieNuke - - id: PlushieSlime - - id: PlushieSnake - - id: PlushieLizard - - id: PlushieSpaceLizard - - id: PlushieVox - - id: PlushieRouny - - id: PlushieRatvar - - id: PlushieSharkBlue - orGroup: PlushieShark - - id: PlushieSharkGrey - orGroup: PlushieShark - - id: PlushieAtmosian - - id: PlushieDiona - - id: PlushieXeno - - id: PlushieHampter - - id: PlushieMoth - - id: PlushieMothRandom # Nyanotrasen - Random Moth Plushies - amount: 2 - - id: PlushieArachind - - id: PlushiePenguin - - id: PlushieArachne - -- type: entity - id: CrateFunLizardPlushieBulk - parent: CrateGenericSteel - name: bulk lizard plushie crate - description: A buncha soft lizard plushies. Throw them around and then wonder how you're gonna explain this purchase to NT. - components: - - type: StorageFill - contents: - - id: PlushieLizard - amount: 3 - - id: PlushieSpaceLizard - amount: 2 - - type: entity id: CrateFunInstrumentsVariety parent: CrateGenericSteel diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml index d12b85cde41..96b5f7aa8c5 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/toy.yml @@ -12,6 +12,7 @@ rarePrototypes: - FoamBlade - PlushieGhost + - PlushieAbductorAgent rareChance: 0.03 prototypes: - PlushieBee @@ -37,6 +38,37 @@ - PlushieMothRandom # Nyanotrasen Random Moth Plushies - PlushieArachind - PlushieArachne + - PlushieAbductor + - PlushieGnome + - PlushieLoveable + - PlushieDeer + - PlushieIpc + - PlushieGrey + - PlushieRedFox + - PlushiePurpleFox + - PlushiePinkFox + - PlushieOrangeFox + - PlushieMarbleFox + - PlushieCrimsonFox + - PlushieCoffeeFox + - PlushieBlueFox + - PlushieBlackFox + - PlushieVulp + - PlushieCorgi + - PlushieGirlyCorgi + - PlushieRobotCorgi + - PlushieCatBlack + - PlushieCatGrey + - PlushieCatOrange + - PlushieCatSiames + - PlushieCatTabby + - PlushieCatTuxedo + - PlushieCatWhite + - PlushieRatvar + - PlushieNar + - PlushieTrystan + - PlushieSlips + - PlushieJester chance: 0.5 offset: 0.2 diff --git a/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml b/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml new file mode 100644 index 00000000000..695e45a2e64 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Fun/prizeticket.yml @@ -0,0 +1,395 @@ +- type: entity + abstract: true + parent: BaseItem + id: PrizeTicketBase + description: A prize ticket, ready to be redeemed at a prize counter. + components: + - type: Sprite + sprite: Objects/Fun/prizeticket.rsi + - type: Item + sprite: Objects/Fun/prizeticket.rsi + size: Tiny + - type: StaticPrice + price: 0 + - type: Tag + tags: + - Sheet + - PrizeTicket + +- type: entity + parent: PrizeTicketBase + id: PrizeTicket + name: prize ticket + suffix: Full + components: + - type: Material + - type: PhysicalComposition + materialComposition: + PrizeTicket: 1 + - type: Stack + count: 100 + stackType: PrizeTicket + baseLayer: base + layerStates: + - ticket + - ticket_2 + - ticket_3 + - ticket_4 + - type: Sprite + state: ticket_4 + layers: + - state: ticket_4 + map: ["base"] + - type: Item + heldPrefix: prize ticket + - type: Appearance + +- type: entity + parent: PrizeTicket + id: PrizeTicket10 + name: prize ticket + suffix: 10 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 10 + +- type: entity + parent: PrizeTicket + id: PrizeTicket30 + name: prize ticket + suffix: 30 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 30 + +- type: entity + parent: PrizeTicket + id: PrizeTicket60 + name: prize ticket + suffix: 60 + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 60 + +- type: entity + parent: PrizeTicket + id: PrizeTicket1 + name: prize ticket + suffix: Single + components: + - type: Sprite + state: ticket + - type: Stack + stackType: PrizeTicket + count: 1 + +- type: entity + parent: PresentRandom + id: PrizeBall + name: prize ball + description: I wounder whats inside! + components: + - type: Sprite + sprite: Objects/Fun/prizeticket.rsi + layers: + - state: prizeball + - type: SpawnItemsOnUse + items: + - id: PresentTrash + - id: PrizeTicket10 + orGroup: Prize + # Common + - id: PrizeTicket30 + prob: 0.80 + orGroup: Prize + - id: PlushieMothRandom + prob: 0.80 + orGroup: Prize + - id: PlushieMothMusician + prob: 0.80 + orGroup: Prize + - id: PlushieMothBartender + prob: 0.80 + orGroup: Prize + - id: PlushieBee + prob: 0.80 + orGroup: Prize + - id: PlushieHampter + prob: 0.80 + orGroup: Prize + - id: PlushieRouny + prob: 0.80 + orGroup: Prize + - id: PlushieLamp + prob: 0.80 + orGroup: Prize + - id: PlushieArachind + prob: 0.80 + orGroup: Prize + - id: PlushieLizard + prob: 0.80 + orGroup: Prize + - id: PlushieLizardMirrored + prob: 0.80 + orGroup: Prize + - id: PlushieSpaceLizard + prob: 0.80 + orGroup: Prize + - id: PlushieDiona + prob: 0.80 + orGroup: Prize + - id: PlushieSharkBlue + prob: 0.80 + orGroup: Prize + - id: PlushieSharkPink + prob: 0.80 + orGroup: Prize + - id: PlushieSharkGrey + prob: 0.80 + orGroup: Prize + - id: PlushieCarp + prob: 0.80 + orGroup: Prize + - id: PlushieMagicarp + prob: 0.80 + orGroup: Prize + - id: PlushieHolocarp + prob: 0.80 + orGroup: Prize + - id: PlushieSlime + prob: 0.80 + orGroup: Prize + - id: PlushieSnake + prob: 0.80 + orGroup: Prize + - id: ToyMouse + prob: 0.80 + orGroup: Prize + - id: ToyRubberDuck + prob: 0.80 + orGroup: Prize + - id: PlushieVox + prob: 0.80 + orGroup: Prize + - id: PlushieAtmosian + prob: 0.80 + orGroup: Prize + - id: PlushiePenguin + prob: 0.80 + orGroup: Prize + - id: PlushieHuman + prob: 0.80 + orGroup: Prize + - id: PlushieArachne + prob: 0.80 + orGroup: Prize + - id: PlushieGnome + prob: 0.80 + orGroup: Prize + - id: PlushieLoveable + prob: 0.80 + orGroup: Prize + - id: PlushieDeer + prob: 0.80 + orGroup: Prize + - id: PlushieIpc + prob: 0.80 + orGroup: Prize + - id: PlushieGrey + prob: 0.80 + orGroup: Prize + - id: PlushieRedFox + prob: 0.80 + orGroup: Prize + - id: PlushiePurpleFox + prob: 0.80 + orGroup: Prize + - id: PlushiePinkFox + prob: 0.80 + orGroup: Prize + - id: PlushieOrangeFox + prob: 0.80 + orGroup: Prize + - id: PlushieMarbleFox + prob: 0.80 + orGroup: Prize + - id: PlushieCrimsonFox + prob: 0.80 + orGroup: Prize + - id: PlushieCoffeeFox + prob: 0.80 + orGroup: Prize + - id: PlushieBlueFox + prob: 0.80 + orGroup: Prize + - id: PlushieBlackFox + prob: 0.80 + orGroup: Prize + - id: PlushieVulp + prob: 0.80 + orGroup: Prize + - id: PlushieCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieGirlyCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieRobotCorgi + prob: 0.80 + orGroup: Prize + - id: PlushieCatBlack + prob: 0.80 + orGroup: Prize + - id: PlushieCatGrey + prob: 0.80 + orGroup: Prize + - id: PlushieCatOrange + prob: 0.80 + orGroup: Prize + - id: PlushieCatSiames + prob: 0.80 + orGroup: Prize + - id: PlushieCatTabby + prob: 0.80 + orGroup: Prize + - id: PlushieCatTuxedo + prob: 0.80 + orGroup: Prize + - id: PlushieCatWhite + prob: 0.80 + orGroup: Prize + - id: ToyAi + prob: 0.80 + orGroup: Prize + - id: ToyIan + prob: 0.80 + orGroup: Prize + - id: BalloonNT + prob: 0.80 + orGroup: Prize + - id: BalloonCorgi + prob: 0.80 + orGroup: Prize + - id: CrayonBox + prob: 0.80 + orGroup: Prize + - id: BasePetRock + prob: 0.80 + orGroup: Prize + # Uncommon + - id: PrizeTicket60 + prob: 0.50 + orGroup: Prize + - id: PlushieGhost + prob: 0.50 + orGroup: Prize + - id: PlushieRGBee + prob: 0.50 + orGroup: Prize + - id: PlushieRatvar + prob: 0.50 + orGroup: Prize + - id: PlushieNar + prob: 0.50 + orGroup: Prize + - id: PlushieRainbowCarp + prob: 0.50 + orGroup: Prize + - id: PlushieXeno + prob: 0.50 + orGroup: Prize + - id: PlushieJester + prob: 0.50 + orGroup: Prize + - id: PlushieSlips + prob: 0.50 + orGroup: Prize + - id: PlushieAbductor + prob: 0.50 + orGroup: Prize + - id: PlushieTrystan + prob: 0.50 + orGroup: Prize + - id: FoamCrossbow + prob: 0.50 + orGroup: Prize + - id: RevolverCapGun + prob: 0.50 + orGroup: Prize + - id: PonderingOrb + prob: 0.50 + orGroup: Prize + - id: ToyAmongPequeno + prob: 0.50 + orGroup: Prize + - id: FoamCutlass + prob: 0.50 + orGroup: Prize + - id: ToyHammer + prob: 0.50 + orGroup: Prize + - id: WhoopieCushion + prob: 0.50 + orGroup: Prize + - id: PlasticBanana + prob: 0.50 + orGroup: Prize + - id: WeaponWaterPistol + prob: 0.50 + orGroup: Prize + - id: WeaponWaterBlaster + prob: 0.50 + orGroup: Prize + - id: NewtonCradle + prob: 0.50 + orGroup: Prize + - id: SnapPopBox + prob: 0.50 + orGroup: Prize + - id: CrazyGlue + prob: 0.50 + orGroup: Prize + - id: MrChips + prob: 0.50 + orGroup: Prize + - id: MrDips + prob: 0.50 + orGroup: Prize + # Rare + - id: PlushieAbductorAgent + prob: 0.30 + orGroup: Prize + - id: PlushieNuke + prob: 0.30 + orGroup: Prize + - id: ToyNuke + prob: 0.30 + orGroup: Prize + - id: FoamBlade + prob: 0.30 + orGroup: Prize + - id: BalloonSyn + prob: 0.30 + orGroup: Prize + - id: SingularityToy + prob: 0.30 + orGroup: Prize + - id: TeslaToy + prob: 0.30 + orGroup: Prize + - id: ToySword + prob: 0.30 + orGroup: Prize + - id: ThronglerToy + prob: 0.30 + orGroup: Prize + \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml index 01a15d2e5bd..068039e0c56 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/puppet.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/puppet.yml @@ -40,3 +40,92 @@ sprite: Objects/Fun/mrdips.rsi layers: - state: icon + +## PET ROCK! + +- type: entity + id: PetRockCarrier + parent: HappyHonk + name: pet rock carrier + description: Your new and only best friend home! + components: + - type: Sprite + sprite: Objects/Storage/Happyhonk/rock_carrier.rsi + state: box + - type: Item + sprite: Objects/Storage/Happyhonk/rock_carrier.rsi + heldPrefix: box + - type: StorageFill + contents: + - id: PetRock + prob: 0.8 + orGroup: Rock + - id: PetRockFred + prob: 0.1 + orGroup: Rock + - id: PetRockRoxie + prob: 0.1 + orGroup: Rock + +- type: entity + parent: [BaseItem, MrChips] + id: BasePetRock + name: pet rock + description: Your new and only best friend! + abstract: true + components: + - type: DamageOnLand + damage: + types: + Blunt: 1 + - type: DamageOtherOnHit + damage: + types: + Blunt: 1 + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/break_stone.ogg + - !type:SpawnEntitiesBehavior + spawn: + Ash: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + +- type: entity + parent: BasePetRock + id: PetRock + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: rock + +- type: entity + parent: BasePetRock + id: PetRockFred + name: fred + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: fred + +- type: entity + parent: BasePetRock + id: PetRockRoxie + name: roxie + components: + - type: Sprite + sprite: Objects/Fun/petrock.rsi + layers: + - state: roxie \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 66d6713fb22..1fea59a926c 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -819,6 +819,368 @@ useSound: path: /Audio/Voice/Moth/moth_chitter.ogg +- type: entity + parent: BasePlushie + id: PlushieJester #Weh! + name: jester plushie + description: A dubious little creature getting up to mischief. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_jester + +- type: entity + parent: BasePlushie + id: PlushieSlips + name: janitor plushie + description: The silent cleaner, the one that you dont hear say "Weh"! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_slips + - type: EmitSoundOnUse + sound: + path: /Audio/Effects/silence.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/Effects/silence.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/Effects/silence.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/Effects/silence.ogg + - type: Tag + tags: + - Soap + - type: Slippery + paralyzeTime: 0.7 + launchForwardsMultiplier: 0.5 + - type: StepTrigger + intersectRatio: 0.2 + - type: CollisionWake + enabled: false + - type: Physics + bodyType: Dynamic + - type: Fixtures + fixtures: + slips: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.3,0.4,0.3" + layer: + - SlipLayer + hard: false + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.3,0.4,0.3" + density: 10 + mask: + - ItemMask + +- type: entity + parent: BasePlushie + id: PlushieGnome + name: gnome plushie + description: A stuffed toy that resembles a gnome! or a drawf... + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: gnome + +- type: entity + parent: BasePlushie + id: PlushieLoveable + name: loveable plushie + description: A stuffed toy that resembles... a creature. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: loveable + +- type: entity + parent: BasePlushie + id: PlushieDeer + name: deer plushie + description: A stuffed toy that resembles a deer! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: deer + +- type: entity + parent: BasePlushie + id: PlushieIpc + name: ipc plushie + description: A stuffed toy that resembles a ipc! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: ipc + +- type: entity + parent: BasePlushie + id: PlushieGrey + name: grey plushie + description: A stuffed toy that resembles a grey! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: grey + +- type: entity + parent: BasePlushie + id: PlushieAbductor + name: abductor plushie + description: A stuffed toy that resembles an abductor! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: abductor + +- type: entity + parent: BasePlushie + id: PlushieAbductorAgent + name: abductor agent plushie + description: A stuffed toy that resembles an abductor agent! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: abductor_agent + +- type: entity + parent: BasePlushie + id: PlushieRedFox + name: red fox plushie + description: A cute plushie that look like a red foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: red + +- type: entity + parent: BasePlushie + id: PlushiePurpleFox + name: purple fox plushie + description: A cute plushie that look like a purple foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: purple + +- type: entity + parent: BasePlushie + id: PlushiePinkFox + name: pink fox plushie + description: A cute plushie that look like a pink foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: pink + +- type: entity + parent: BasePlushie + id: PlushieOrangeFox + name: orange fox plushie + description: A cute plushie that look like a orange foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: orange + +- type: entity + parent: BasePlushie + id: PlushieMarbleFox + name: marble fox plushie + description: A cute plushie that look like a marble foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: marble + +- type: entity + parent: BasePlushie + id: PlushieCrimsonFox + name: crimson fox plushie + description: A cute plushie that look like a crimson foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: crimson + +- type: entity + parent: BasePlushie + id: PlushieCoffeeFox + name: coffee fox plushie + description: A cute plushie that look like a coffee foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: coffee + +- type: entity + parent: BasePlushie + id: PlushieBlueFox + name: blue fox plushie + description: A cute plushie that look like a blue foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: blue + +- type: entity + parent: BasePlushie + id: PlushieBlackFox + name: black fox plushie + description: A cute plushie that look like a black foxxo! + components: + - type: Sprite + sprite: Objects/Fun/foxplushie.rsi + state: black + +- type: entity + parent: BasePlushie + id: PlushieVulp + name: vulpkanin plushie + description: A vulpkanin plushie, at least you can hug this one without the risk to get bitten. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_vulp + - type: EmitSoundOnUse + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/DeltaV/Voice/Vulpkanin/dog_bark1.ogg + +- type: entity + parent: PlushieVulp + id: PlushieTrystan + name: office vulp plushie + description: The ones who yeeps! + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: plushie_trystan + +- type: entity + parent: PlushieVulp + id: PlushieCorgi + name: corgi plushie + description: The ian plushie edition! + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: corgi + +- type: entity + parent: PlushieVulp + id: PlushieGirlyCorgi + name: girly corgi plushie + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: girlycorgi + +- type: entity + parent: PlushieVulp + id: PlushieRobotCorgi + name: robot corgi plushie + components: + - type: Sprite + sprite: Objects/Fun/corgiplushie.rsi + state: robotcorgi + +- type: entity + parent: BasePlushie + id: BasePlushieCat + description: A stuffed toy that resembles a cute kitty! + abstract: true + components: + - type: EmitSoundOnUse + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: EmitSoundOnActivate + sound: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + - type: MeleeWeapon + soundHit: + path: /Audio/Nyanotrasen/Voice/Felinid/cat_meow1.ogg + +- type: entity + parent: BasePlushieCat + id: PlushieCatBlack + name: black cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: black + +- type: entity + parent: BasePlushieCat + id: PlushieCatGrey + name: grey cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: grey + +- type: entity + parent: BasePlushieCat + id: PlushieCatOrange + name: orange cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: orange + +- type: entity + parent: BasePlushieCat + id: PlushieCatSiames + name: siames cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: siames + +- type: entity + parent: BasePlushieCat + id: PlushieCatTabby + name: tabby cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: tabby + +- type: entity + parent: BasePlushieCat + id: PlushieCatTuxedo + name: tuxedo cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: tuxedo + +- type: entity + parent: BasePlushieCat + id: PlushieCatWhite + name: white cat plushie + components: + - type: Sprite + sprite: Objects/Fun/catplushie.rsi + state: white + ## Cheapo Figurines - type: entity @@ -1538,3 +1900,31 @@ # params: # volume: -9 # maxDistance: 3 + +- type: entity + name: The Throngler + parent: ToyHammer + id: ThronglerToy + suffix: Toy + description: Why would you make this? + components: + - type: Sprite + sprite: Objects/Weapons/Melee/Throngler2.rsi + state: icon + - type: StaminaDamageOnHit + damage: 0.8 + - type: MeleeWeapon + wideAnimationRotation: -135 + attackRate: 10 + damage: + types: + Blunt: 0 + soundHit: + path: /Audio/Effects/explosion_small1.ogg + soundNoDamage: + path: /Audio/Effects/explosion_small1.ogg + - type: Item + size: Ginormous + sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi + - type: DisarmMalus + malus: 0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index 98f4a9afb0c..59690e56ebd 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -72,65 +72,15 @@ rewardMinAmount: 0 rewardMaxAmount: 0 possibleRewards: - - ToyMouse - - ToyAi - - ToyNuke - - ToyGriffin - - ToyHonk - - ToyIan - - ToyMarauder - - ToyMauler - - ToyGygax - - ToyOdysseus - - ToyOwlman - - ToyDeathRipley - - ToyPhazon - - ToyFireRipley - - ToyReticence - - ToyRipley - - ToySeraph - - ToyDurand - - ToySkeleton - - FoamCrossbow - - RevolverCapGun - - PlushieHampter - - PlushieLizard - - PlushieAtmosian - - PlushieSpaceLizard - - PlushieNuke - - PlushieCarp - - PlushieMagicarp - - PlushieHolocarp - - PlushieRainbowCarp - - PlushieRatvar - - PlushieNar - - PlushieSnake - - PlushieArachind - - Basketball - - Football - - PlushieRouny - - PlushieBee - - PlushieSlime - - BalloonNT - - BalloonCorgi - - ToySword - - CrayonBox - - BoxDonkSoftBox - - BoxCartridgeCap - - HarmonicaInstrument - - OcarinaInstrument - - RecorderInstrument - - GunpetInstrument - - BirdToyInstrument - - PlushieXeno - - BeachBall - - PlushieMoth - - PlushieHampter - - ToyRenault # DeltaV Toy, see Resources/Prototypes/DeltaV/Entities/Objects/Fun/toys.yml - - ToySiobhan # DeltaV Toy, see Resources/Prototypes/DeltaV/Entities/Objects/Fun/toys.yml - - PlushiePenguin - - PlushieHuman - - ClothingHeadHatCowboyRed + - PrizeBall + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket10 + - PrizeTicket30 + - PrizeTicket30 + - PrizeTicket60 - type: WiresPanel - type: Wires layoutId: Arcade diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 7e861db0d5a..de72dfcd5e4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1275,3 +1275,141 @@ staticRecipes: - MaterialSheetMeat - SheetPaper + +- type: entity + parent: BaseLathe + id: PrizeCounter + name: prize counter + description: Claim your prize and win some toys and cute plushies! + components: + - type: AmbientOnPowered + - type: AmbientSound + volume: -9 + range: 3 + enabled: false + sound: + path: /Audio/Ambience/Objects/vending_machine_hum.ogg + - type: LitOnPowered + - type: ApcPowerReceiver + powerLoad: 200 + priority: Low + # - type: Advertise + # pack: CuddlyCritterAds # TODO Change this + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#4b93ad" + - type: Transform + noRot: false + - type: Sprite + sprite: Structures/Machines/prizecounter.rsi + snapCardinals: true + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Lathe + idleState: icon + runningState: icon + staticRecipes: + - PrizeBall + - PlushieMothRandom + - PlushieMothMusician + - PlushieMothBartender + - PlushieBee + - PlushieHampter + - PlushieRouny + - PlushieLamp + - PlushieArachind + - PlushieLizard + - PlushieSpaceLizard + - PlushieSharkBlue + - PlushieSharkPink + - PlushieSharkGrey + - PlushieCarp + - PlushieMagicarp + - PlushieHolocarp + - PlushieSlime + - PlushieSnake + - ToyMouse + - ToyRubberDuck + - PlushieVox + - PlushieAtmosian + - PlushiePenguin + - PlushieHuman + - PlushieArachne + - PlushieGnome + - PlushieLoveable + - PlushieDeer + - PlushieIpc + - PlushieGrey + - PlushieRedFox + - PlushiePurpleFox + - PlushiePinkFox + - PlushieOrangeFox + - PlushieMarbleFox + - PlushieCrimsonFox + - PlushieCoffeeFox + - PlushieBlueFox + - PlushieBlackFox + - PlushieVulp + - PlushieCorgi + - PlushieGirlyCorgi + - PlushieRobotCorgi + - PlushieCatBlack + - PlushieCatGrey + - PlushieCatOrange + - PlushieCatSiames + - PlushieCatTabby + - PlushieCatTuxedo + - PlushieCatWhite + - ToyAi + - ToyIan + - BalloonNT + - BalloonCorgi + - CrayonBox + - PetRockCarrier + - PlushieXeno + - FoamCrossbow + - RevolverCapGun + - PonderingOrb + - ToyAmongPequeno + - FoamCutlass + - WhoopieCushion + - ToyHammer + - PlasticBanana + - WeaponWaterPistol + - WeaponWaterBlaster + - NewtonCradle + - SnapPopBox + - MrDips + - MrChips + - CrazyGlue + - PlushieRatvar + - PlushieNar + - type: EmagLatheRecipes + emagStaticRecipes: + - PlushieGhost + - PlushieRGBee + - PlushieRainbowCarp + - PlushieJester + - PlushieSlips + - PlushieTrystan + - PlushieAbductor + - PlushieAbductorAgent + - PlushieNuke + - ToyNuke + - FoamBlade + - BalloonSyn + - SingularityToy + - TeslaToy + - ToySword + - ThronglerToy + - type: MaterialStorage + whitelist: + tags: + - PrizeTicket \ No newline at end of file diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml index 72f0cb741c7..7f1b26d9cbf 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Specific/Mail/mail.yml @@ -569,41 +569,130 @@ components: - type: Mail contents: - # These are all grouped up now to guarantee at least one item received. - # The downside is you're not going to get half a dozen plushies anymore. + - id: PlushieMothRandom + orGroup: Prize + - id: PlushieMothMusician + orGroup: Prize + - id: PlushieMothBartender + orGroup: Prize - id: PlushieBee - orGroup: Plushie - - id: PlushieRGBee - prob: 0.5 - orGroup: Plushie - - id: PlushieNuke - orGroup: Plushie + orGroup: Prize + - id: PlushieHampter + orGroup: Prize - id: PlushieRouny - orGroup: Plushie + orGroup: Prize + - id: PlushieLamp + orGroup: Prize + - id: PlushieArachind + orGroup: Prize - id: PlushieLizard - orGroup: Plushie + orGroup: Prize + - id: PlushieLizardMirrored + orGroup: Prize - id: PlushieSpaceLizard - orGroup: Plushie - - id: PlushieRatvar - orGroup: Plushie - - id: PlushieNar - orGroup: Plushie + orGroup: Prize + - id: PlushieDiona + orGroup: Prize + - id: PlushieSharkBlue + orGroup: Prize + - id: PlushieSharkPink + orGroup: Prize + - id: PlushieSharkGrey + orGroup: Prize - id: PlushieCarp - orGroup: Plushie + orGroup: Prize + - id: PlushieMagicarp + orGroup: Prize + - id: PlushieHolocarp + orGroup: Prize - id: PlushieSlime - orGroup: Plushie + orGroup: Prize - id: PlushieSnake - orGroup: Plushie - - id: PlushieMothRandom - orGroup: Plushie - - id: PlushieMoth - orGroup: Plushie - - id: PlushieMothMusician - prob: 0.5 - orGroup: Plushie - - id: PlushieMothBartender - prob: 0.5 - orGroup: Plushie + orGroup: Prize + - id: PlushieVox + orGroup: Prize + - id: PlushieAtmosian + orGroup: Prize + - id: PlushiePenguin + orGroup: Prize + - id: PlushieHuman + orGroup: Prize + - id: PlushieArachne + orGroup: Prize + - id: PlushieGnome + orGroup: Prize + - id: PlushieLoveable + orGroup: Prize + - id: PlushieDeer + orGroup: Prize + - id: PlushieIpc + orGroup: Prize + - id: PlushieGrey + orGroup: Prize + - id: PlushieRedFox + orGroup: Prize + - id: PlushiePurpleFox + orGroup: Prize + - id: PlushiePinkFox + orGroup: Prize + - id: PlushieOrangeFox + orGroup: Prize + - id: PlushieMarbleFox + orGroup: Prize + - id: PlushieCrimsonFox + orGroup: Prize + - id: PlushieCoffeeFox + orGroup: Prize + - id: PlushieBlueFox + orGroup: Prize + - id: PlushieBlackFox + orGroup: Prize + - id: PlushieVulp + orGroup: Prize + - id: PlushieCorgi + orGroup: Prize + - id: PlushieGirlyCorgi + orGroup: Prize + - id: PlushieRobotCorgi + orGroup: Prize + - id: PlushieCatBlack + orGroup: Prize + - id: PlushieCatGrey + orGroup: Prize + - id: PlushieCatOrange + orGroup: Prize + - id: PlushieCatSiames + orGroup: Prize + - id: PlushieCatTabby + orGroup: Prize + - id: PlushieCatTuxedo + orGroup: Prize + - id: PlushieCatWhite + orGroup: Prize + - id: PlushieGhost + orGroup: Prize + - id: PlushieRGBee + orGroup: Prize + - id: PlushieRatvar + orGroup: Prize + - id: PlushieNar + orGroup: Prize + - id: PlushieRainbowCarp + orGroup: Prize + - id: PlushieXeno + orGroup: Prize + - id: PlushieJester + orGroup: Prize + - id: PlushieSlips + orGroup: Prize + - id: PlushieAbductor + orGroup: Prize + - id: PlushieTrystan + orGroup: Prize + - id: PlushieAbductorAgent + orGroup: Prize + - id: PlushieNuke + orGroup: Prize - type: entity noSpawn: true diff --git a/Resources/Prototypes/Reagents/Materials/prizeticket.yml b/Resources/Prototypes/Reagents/Materials/prizeticket.yml new file mode 100644 index 00000000000..cde81626c84 --- /dev/null +++ b/Resources/Prototypes/Reagents/Materials/prizeticket.yml @@ -0,0 +1,6 @@ +- type: material + id: PrizeTicket + stackEntity: PrizeTicket1 + name: prize ticket + icon: { sprite: Objects/Fun/prizeticket.rsi, state: ticket } + price: 0 diff --git a/Resources/Prototypes/Recipes/Lathes/prizecounter.yml b/Resources/Prototypes/Recipes/Lathes/prizecounter.yml new file mode 100644 index 00000000000..e893c178358 --- /dev/null +++ b/Resources/Prototypes/Recipes/Lathes/prizecounter.yml @@ -0,0 +1,729 @@ +- type: latheRecipe + id: PrizeBall + result: PrizeBall + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: PlushieMothRandom + result: PlushieMothRandom + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMothMusician + result: PlushieMothMusician + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMothBartender + result: PlushieMothBartender + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBee + result: PlushieBee + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHampter + result: PlushieHampter + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRouny + result: PlushieRouny + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLamp + result: PlushieLamp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieArachind + result: PlushieArachind + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLizard + result: PlushieLizard + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSpaceLizard + result: PlushieSpaceLizard + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkBlue + result: PlushieSharkBlue + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkPink + result: PlushieSharkPink + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSharkGrey + result: PlushieSharkGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCarp + result: PlushieCarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMagicarp + result: PlushieMagicarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHolocarp + result: PlushieHolocarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSlime + result: PlushieSlime + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieSnake + result: PlushieSnake + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyMouse + result: ToyMouse + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyRubberDuck + result: ToyRubberDuck + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieVox + result: PlushieVox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieAtmosian + result: PlushieAtmosian + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePenguin + result: PlushiePenguin + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieHuman + result: PlushieHuman + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieArachne + result: PlushieArachne + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGnome + result: PlushieGnome + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieLoveable + result: PlushieLoveable + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieDeer + result: PlushieDeer + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieIpc + result: PlushieIpc + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGrey + result: PlushieGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRedFox + result: PlushieRedFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePurpleFox + result: PlushiePurpleFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushiePinkFox + result: PlushiePinkFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieOrangeFox + result: PlushieOrangeFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieMarbleFox + result: PlushieMarbleFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCrimsonFox + result: PlushieCrimsonFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCoffeeFox + result: PlushieCoffeeFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBlueFox + result: PlushieBlueFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieBlackFox + result: PlushieBlackFox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieVulp + result: PlushieVulp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCorgi + result: PlushieCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieGirlyCorgi + result: PlushieGirlyCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieRobotCorgi + result: PlushieRobotCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatBlack + result: PlushieCatBlack + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatGrey + result: PlushieCatGrey + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatOrange + result: PlushieCatOrange + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatSiames + result: PlushieCatSiames + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatTabby + result: PlushieCatTabby + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatTuxedo + result: PlushieCatTuxedo + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieCatWhite + result: PlushieCatWhite + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: ToyAi + result: ToyAi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: ToyIan + result: ToyIan + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: BalloonNT + result: BalloonNT + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: BalloonCorgi + result: BalloonCorgi + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 30 + +- type: latheRecipe + id: CrayonBox + result: CrayonBox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 20 + +- type: latheRecipe + id: PetRockCarrier + result: PetRockCarrier + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 50 + +- type: latheRecipe + id: PlushieXeno + result: PlushieXeno + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: FoamCrossbow + result: FoamCrossbow + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: RevolverCapGun + result: RevolverCapGun + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PonderingOrb + result: PonderingOrb + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: ToyAmongPequeno + result: ToyAmongPequeno + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: FoamCutlass + result: FoamCutlass + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: ToyHammer + result: ToyHammer + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: WhoopieCushion + result: WhoopieCushion + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlasticBanana + result: PlasticBanana + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: WeaponWaterPistol + result: WeaponWaterPistol + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: WeaponWaterBlaster + result: WeaponWaterBlaster + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: NewtonCradle + result: NewtonCradle + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: SnapPopBox + result: SnapPopBox + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: MrDips + result: MrDips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: MrChips + result: MrChips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: CrazyGlue + result: CrazyGlue + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRatvar + result: PlushieRatvar + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +- type: latheRecipe + id: PlushieNar + result: PlushieNar + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 80 + +# EMAG + +- type: latheRecipe + id: PlushieGhost + result: PlushieGhost + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRGBee + result: PlushieRGBee + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieRainbowCarp + result: PlushieRainbowCarp + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieJester + result: PlushieJester + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieSlips + result: PlushieSlips + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieTrystan + result: PlushieTrystan + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieAbductor + result: PlushieAbductor + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieAbductorAgent + result: PlushieAbductorAgent + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: PlushieNuke + result: PlushieNuke + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: ToyNuke + result: ToyNuke + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: FoamBlade + result: FoamBlade + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: BalloonSyn + result: BalloonSyn + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 100 + +- type: latheRecipe + id: SingularityToy + result: SingularityToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: TeslaToy + result: TeslaToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 150 + +- type: latheRecipe + id: ToySword + result: ToySword + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 200 + +- type: latheRecipe + id: ThronglerToy + result: ThronglerToy + applyMaterialDiscount: false + completetime: 0.1 + materials: + PrizeTicket: 500 \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/prizeticket.yml b/Resources/Prototypes/Stacks/prizeticket.yml new file mode 100644 index 00000000000..1b84c81632c --- /dev/null +++ b/Resources/Prototypes/Stacks/prizeticket.yml @@ -0,0 +1,7 @@ +- type: stack + id: PrizeTicket + name: prize ticket + icon: { sprite: Objects/Fun/prizeticket.rsi, state: ticket } + spawn: PrizeTicket1 + maxCount: 100 + itemSize: 1 \ No newline at end of file diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 928da630f6f..cc81a2ed64b 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1033,6 +1033,9 @@ - type: Tag id: PrisonUniform +- type: Tag + id: PrizeTicket + - type: Tag id: ProximitySensor diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/black.png b/Resources/Textures/Objects/Fun/catplushie.rsi/black.png new file mode 100644 index 0000000000000000000000000000000000000000..e62cb62916e36ce5d03c8aa066038b751483d852 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*@bmM_$;k-|3u|a- z{Qv)-m6esBgYj$gyBXJa+yp9PED7=pW^j0RBMr#u^>lFz(U^F){~+%n10L76ypL44 zkDO%6Q(uvNgpG&6+JLb+m@{K;%mj;%|KGl>J<0ZCe#=_Bhz%tQqO0akieN9WyldmI zZ~pp6y*d1E)oz4z*m#-vZnF@WDITW&^y(zd?fouMrnAl!S8Ha7geHle%5UA|8TXuF vN4|!FpiF{&21_K{!ukZ^eYy;sb*F_BeFb$6Y}dU3bQpuDtDnm{r-UW|2DMi% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/grey.png b/Resources/Textures/Objects/Fun/catplushie.rsi/grey.png new file mode 100644 index 0000000000000000000000000000000000000000..b941adbf78194b15c17b17ffc4eaea39ec4e20bb GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*7#bL)rlvYLI5amm z|NsA=m6esBgYj$gyMyVUG=Rz&OM?7@862M7NCR?uJzX3_G$x+yKgfH?fXDSM?;{oN zBPW^i)K_F5VdG)2HehTH=FFHIGr{8H|F8x|b)tVV1p-G~r@>@4~#yw}) vk*}d3D3f5H!4k=~us%U}pDqJu-D%-OUqPJ%+jVaM9me44>gTe~DWM4fv)frg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json new file mode 100644 index 00000000000..878f438f4ec --- /dev/null +++ b/Resources/Textures/Objects/Fun/catplushie.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "black" + }, + { + "name": "grey" + }, + { + "name": "orange" + }, + { + "name": "siames" + }, + { + "name": "tabby" + }, + { + "name": "tuxedo" + }, + { + "name": "white" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/orange.png b/Resources/Textures/Objects/Fun/catplushie.rsi/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..0f4cad131f780ecb2d1897d0e7e14e5d227df3cd GIT binary patch literal 585 zcmV-P0=E5$P)#HWjg&GK+@O2dtBy+^2A(<~;lHb&LL1eCR>O2WykR1~QxL&$ zHO!4&ojw--|NjLA1>VQBlRpd(2m$x*=-{Gv(RNJi$D8iXxAyGi^@HyB?B(I9gYx3n z^W@s$u8+)VJgH7An>QPkGZkPc2-klsr9dd};MMZv+tZ+Y#)e(^@a*&F;Ak%p+@xOW z)5Y%G(aw`_^X1&$uWY74D!*$lp*$kfqlDqVs`u~d_wDE1r(oTxWZRrnog3e5i1_g9?c31Cgk9;n9Ax})fkUtyj6hs3szg- z*wh{~t(`SwweL&-Y;EtbHbB}t!<+?HJ85@s9|{MDo*00r%z=QeqsGzk$?4g7urDsJ zxV0|$0jW2xA^hCjR-k2o7Uuolj1v#@<%@^;)ZM*}7HB>^#sSTz=a*<8d3}422mVwa XRp=GyD$AXr00000NkvXXu0mjf#}p}# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/siames.png b/Resources/Textures/Objects/Fun/catplushie.rsi/siames.png new file mode 100644 index 0000000000000000000000000000000000000000..6f27a86343a2d2450faccef3345bc9eaa4c8c805 GIT binary patch literal 658 zcmV;D0&V??P)eEgK{f2W&|yG9eNl396&H0Xhbc2UN}G-2M-7V zT`moJTRfq9KVUHs^@HwLCJJUa7^IF~oN`2TMDbb ziCJ1H4Rl8%Cl(4dBo!bI1WYIpf?_;IFdKbQD^4pCL^B|ARyZ>p3`8IbA`k^G9S>9^ z2_X*!KN|)`APPh-8gNf7eqK6XN-$SKDP=<}N;o7xFda807da>wR3!;kB?>DO1}7B> zC=moH5d=s$BRwn|DHjSiCKfs>8BseXFdq>i5CuasATt{bLNXsi9SAEK3?mT+a87mq z00001bW%=J06^y0W&i*I2uVaiR5*=eU>F5RfDwq9@W?Z>urjc*bKsQcMC+ z#A$$#u!yLbxC9$61(H(IGP2S#a`HIj6%>_}WmJ@9L{t@UsZdjw)zH+^#w8C_p{=8< zr>_78I8>-AD5z?yY8x0BU{|4_4FU#0%0L@rj3K%LBV!X)pk^R804g*!Gq*sIwzQJ9 zwz0LdcK}(Tt*YwiFVv{>*uc!VC5znh@>JY*eWE{Ei9bP zO*SGT(j6pZ6%vJFNpwtXTs#9q0yDE!I9Px))B$IpfI(tt5?*=E(Bu?+^31ZSY53%U sPUggGfs0#MI$i|~>FGxJ6;Krb0Nb!9XXk;&$p8QV07*qoM6N<$g2P|dnE(I) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png b/Resources/Textures/Objects/Fun/catplushie.rsi/tabby.png new file mode 100644 index 0000000000000000000000000000000000000000..38575cc0de2a47fc8856e110be3b9fc6ccb34969 GIT binary patch literal 539 zcmV+$0_6RPP)CdG!^6zX z%=LrrzP-M!t*taOGo_`aa&mGN6%{r$HC9$uPfkuoMMXL~I&^e&IygEsGBZ3oJa2Dr z#l^)=O-^oYZE|sOsi~=2T3UK~dXA2ce0+RpXJbi$iw5)vwQNAy^h|d7sj*A9FVYJtPTppao}?}-apdMU_h2g78IiX d1X1002ovPDHLkV1lM|L*NJvN+85t=kC^$Mg z{{R1_!@pGvCw2F+^ix za)N}70|UoI#>GmDmAV=>ELvdHC6uVDZqjIQJtc+FZK=_B73UODB{}0c0b2}KnMiVR zDRFahOG)muP~!Ah8&nihMh~(UUhKSQoWibPYIhGQi_z zKmf}smw+Qj1CHE`XlN8%=N`}y7%+iRk)d2**8wr-5W8~mEDOUoFWfF~d~7m{;d>t2 bCk6(OOJbW|374M*I+elG)z4*}Q$iB}NN!}# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/catplushie.rsi/white.png b/Resources/Textures/Objects/Fun/catplushie.rsi/white.png new file mode 100644 index 0000000000000000000000000000000000000000..e16a9ed29dbc2334887cf408db029caa7cd126ab GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfv=>VS)*8>L*oH%jf-o1P0&YgSx z`t|?+|5;gC`8gQBHow!jKC=p_jIkuhFPOpM*^M+Hr`OZPF+^kH+5UsPhYWaJ-|{|E z;XZPbDNlVx_7OH725SSx=3vf@xiJ$gKK_6Evi2m~kNGWY?IJdmD2T3_J1K&_!1At* z!@l|JANA(&zg4>t(qZFe;=9d4V5WGO`qQhEG`IJ=M48SyS6r=`ArhJ-dMdwllV{v> wh8_7D3W72T_8BaZYzylXg!kz(aMqm`PV^PjIj~*#2GC&)p00i_>zopr09GJhB>(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png b/Resources/Textures/Objects/Fun/corgiplushie.rsi/corgi.png new file mode 100644 index 0000000000000000000000000000000000000000..83eaa3bb860151b94f96b2cbe7634fed80ef1f08 GIT binary patch literal 394 zcmV;50d@X~P)FMbQ5`KUN@GzoM@7Wt$!aA#+6XJ>P1X>>;z z;BpfP00001bW%=J06^y0W&i*H%t=H+R5*?0k6m)YFbssFm6bR(3TYh>#HEz>{&%d+ z&x_M=0d~fE(0P2H1WB6#;Z=g9V}f8EU;yqJfCBI;Kmzf?{OCXx zC<4yU^>o);6(te^u<<%`Jyra008px^7*Mb`Kvwor#AVeHTkJJw?wY?_V)Ru zH1qTGbVnE9aM$VS>GARLlarHlNEmHoWR;bb`KUPgt33316#1hw`J^;-Mi%*|HF7iw zb7^UDXJ>Rp6>w)~bVnFp#*69z0004WQchC@kpt+?WIEIRvfWN5e=4H`FygBT+4L)6Ae#YX*$9v;G0n#k za>xP9R{#M}H2}=}##n2~5t2z4=jN@VL?Wy62`s8ESl4TIOGJ?rSoMHvT{q&q_nWlC zwzrFp*r~#xWVJ_R!N|O>>vs4{gH^#S4x_M>whT!`u!rMm)i@vVe7Lk4#-BtuYk}*n z@i&ZEUhWU#G{TW52_ZbAt~a~%2_-u9rx4S?PSG*{C-nlxkqp668Tr8g0000%q1F literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json new file mode 100644 index 00000000000..06c0cf9ed4a --- /dev/null +++ b/Resources/Textures/Objects/Fun/corgiplushie.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "corgi" + }, + { + "name": "girlycorgi" + }, + { + "name": "robotcorgi" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png b/Resources/Textures/Objects/Fun/corgiplushie.rsi/robotcorgi.png new file mode 100644 index 0000000000000000000000000000000000000000..a8dfdfb3f32d8744a16138695f681eba8785d658 GIT binary patch literal 391 zcmV;20eJq2P)$!BM0V`F0%6%{QhDJv%@US3{OOG{KuO;b!v zURG8vDk@YRqKp6l00DGTPE!Ct=GbNc006^DL_t(IjpdI^8iFtkgh@icN6}IYNGsy= z{#UdG-4x*h%p!}-pZO+9vMvFHvEU;?0_i*f9Dp!pfs6nd=K(^*bP3=9&@2F)^Pn#P z5g4p|v)y@M)IN%0R$~AXg)&$iqKKo`x-=F3RGi{6QhNof8G!S&EVSOU)}gY9mtqni zX{(G?4ohQgQ^fCz^=EBI89HsMYkwn>2;h6)rReaXtLMv?$Rvu8y7D3JEh36FmysV3 lwyZ=3SY+yt`#N literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/black.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/black.png new file mode 100644 index 0000000000000000000000000000000000000000..b314043924a700369a0e59064891c767464cf785 GIT binary patch literal 1201 zcmV;i1Wx;jP) zH8wgQ9v~|!E)WnBK|x9?C@vTm8W$EAN={TKCn_y1FhWI2NkT^%85|xWB@z-97#SN7 z4-ps?7(zis9v>ntFElJIFf%hZTwrBxZgy^IZ)ag=7!wvB9UwV7KQ%QvWM^(hK0`V) zH#sslBqAg%C@V)lMKmrl9~m7Y93LGUA1^R9OiWQ%Qdu-DGDJKC$oCqh3(Jw8G(GBqF|BRn}mBqAp{H$8@smO@5J z2nY%&CM`NVK{PcwH#t2dA|*~zRvsK592_1X9U>bT9VaC!C?_l+AS53jA|)j#USw$? zA0reWC00DGTPE!Ct=GbNc00FH@L_t(IjbmUKI)IT0pDZ&A11lRl z9t9knEL_|?ytoyx^YIG^3JHtgQ6VZOE+L6Wft0k2tem`pA`WR886{;I85LDEbzBNG zG_|yKboKNN42_JrOw>&=R4}uciI`hhT3OrJa@yH*af7#sO;qIBJb+v?&0a` zx=4d7C(Q-fWV+&zmU+da89p?NKVeEXk-O3v5t;$@zM#7iAl*Rsa|R6oEe!} z**S3e+`RmP!lL4m(v-Zi@`}pXs_L4M+PeA%h-_n1UbABgV@qomds};lX=hh=4?{<9 zVqgD+iOgUHlO|6AlCe{#O$YI2%$x;^+MbNrbLP&Q53^#y!bOXhbTBY1UAAmFdk;ut z#mZHy*Q{N)9;#r&#!Z_+^u`UFAf_(cvUS_`9Xog7N(IYyPurusH*4SiHf*xIj0X-* zJ9PNS(PPI?^q|Rc@J^ZDcJfs0=`&}yojZRaj{{xvl8cuv7jL~1d-dA&8#iyo-o`Y3 z$(_5V+S+~>?%jXjtc5idK76Ph8=L>=vEQl=Tt0YG^;D{(gQ*IKH1z=hXu|A* P00000NkvXXu0mjfJehD= literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc9b2d7e4adcb3b39780d25ff23411da83d90dd GIT binary patch literal 936 zcmV;Z16TZsP)r;v9{~sz0S6NS2ND4Y7Mz@%y}iBH*VpCd=%};2-QwmGZo3OBQ4A_k4?1iO zI&Kd{fDl}u6K}m0d(Q$NQ@6Oh=I7|$;pGohkPkw65?Y-TZ@&|7vjk7G12~20>FMa` z=|rX1)z#JH=IG+&=hxojVYu14#?Tmu)C3hN+1c6E*V$N}zbcm1*VowKTgF{?gMi!R> zIeB>nMI~hwRW)@DO-*$z3>DhiI=XuL28Kq)CZ=ZQ7M51r+?d8#+t}LKJ2*Oti;4@2 ziwipgfeWfBu5Rw4U?40mDk?4xVxg$;@bvN)74`A;6BPzZi3>wiAguD24+snr4OR?M z1j&hubA!zghnf)@79J596&({Br=z384KzWVn}Hi_gfK)!d_p3SOcG2^0r67P#6c#z zh@vvE1Q8KCpRy@pb#YDEQ(|V14B`9Nj8WsE-5Ji3pj(_0CxojC@m93H30>b zS5#J2SJ!}oLl`|wwaayNYrPcf>KhuHz}`jItRpWU(A?76*51+C)!ozEhiSZa|AdK? z6edrZI&J!lnL5}Upgn7ntE>F%IdkXD*T&(4S=vCbU?DDP>H`3mph^Oj#Q#_T0000< KMNUMnLSTZQJ##Jq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/coffee.png new file mode 100644 index 0000000000000000000000000000000000000000..81650c1b6f6981f04c4c387cd8ebaf3abef7d3e9 GIT binary patch literal 1046 zcmV+x1nK*UP)F0wfs?Sv(bCL>(6n1riDaG$RWt9S=As z4`)gw8xaT{5(rmCEn!bLTS+lkMlOC~Iu8f}D;*G?fm#3n0RR90gltTPX+o-wY1-G) z($2}Bi*VJ^!|CYg>+9?0<>c}3@bK{O&9|A5d0du}hl_)G)6vl5F3SK!&XEr91H7*snOJ1P?>91y|5z2V^A z)6mS`+}XsxyzA=db6GXx;osca*4Wk1V?`fKGZRcR6ntn-6%7Tap_u6C=koIM?d|K= z)6e4I-s|b;X-+3zNh@DOAFi2xQ92w~MKQy}!Q9*0zPYl_%*g8M>fztp=jG$k&&%lN z<>21i-rU+M8Vrtwe7CZ%;N98S)X&-1)ARH5^Yil4(b1fij*y6ci-UM?WLIfkP@$WY zvahVk$;qO0Dp~*l00DGTPE!Ct=GbNc00DkUL_t(IjbmUKI)IT0pDZ&A11lRl9t9kn zT--doe7F_x3-AgG33H0zRv{`TE+Hu;jaz|?tem`ptRgcGX*oG1WjQ$&RRtMb3e?m! zG_|yKbQNSE07HeIzJZ~Uv5|?Xf-D$dQ^R1Ut!-{0E32R&t01nRAZ`f+RwxRrO>Ar- z`o$H%>VN=6g`K^FqpXv&i>sSBP)b1@q5@%+ySay_mp7-6hOZw`PC-EiY=#2V4F7<@ zpx}_uu<(e;sOT7R+1R*v1{tss;t&-Hi6EoGlZ2B&yp+_iG$3Uqi{gy*jHJx0YzBs$ z+`RmPY>-G{ERqon4ANXh#UQ#wnx7RcP#RVSbOYQK7@)kOvWll#Shl7Xn`~WuLt|5O zOKU}2dq*dlTvvBbZ(sj}iIXNxo-#FK+VmOdnrE8N(wIGG?z~y^7c5+~c*#;soyII?K^hv!r_D6d-m?zf8gM59MaSW067X@vYYkh QnE(I)07*qoM6N<$f~1|=y#N3J literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/crimson.png new file mode 100644 index 0000000000000000000000000000000000000000..025750617687fc66565a7a6d050e5578821c5f23 GIT binary patch literal 927 zcmV;Q17Q4#P)q%0001HC?^;M1XKb9UMeUZ1O$E%7JMWm!W$(_Eh-!Y z1dR?Ai6SJ_7b3>S#boD3%~3q7W7o0s-dX;o92T+1JFMd{ z=+{I})z#JL9QV+9Ch1O=rRA3`7?QY0u& zEGQHN1RV+q9SaH^3kokA84m;mFarb)1qBQR1!xfyxEmtZ)zxZHOhp_VS|=xaB`AX= zC%wG9)zHt0UR+NtDtJ6R+q%8z=jYhe)y%!UT_z;8adGD3k0d!JMQvg8b*k%9#0dPq~K~y-6V_+CMfRPEGEHeuOD;ql=1st4Q z+#Ec-cogvQb8`p?3gJ;93Otn!x+2n-SpR#XT9$%%_|gUt|! znh_cn9uXN89TOX;qoczOG(nu3fg5auFhoUsLL!h%5=>43@lw;oK_Lw;dV7Kkn^Dk=gCID_2)cLfG0E)hjF0R@znl~+_&R)K;; z7(Gn2OLcXty%cL|>*^c8-bL4}BQGD&Xw%f((%RPE(b?6FX}oq%Z(qN{go%?TPnkMR z2b%-5r}w+M%FmcNYxW#%96p$?4Fq%N;gY64006r6Ne_AxUEBZw002ovPDHLkV1nsA BUAq7P literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/marble.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f1cb9032df73a30248205732b42897dc1e58dd GIT binary patch literal 1089 zcmV-H1it%;P)RMrAPgGX7yuP2Rtso~U5fl~%2L}ZO1soqC z=jrLX!^b~EML|PFUu0%>dwz3ydwhe2fQXHYla(VUC>k6c3k?m`+u4+um_!Yo(go}^V*Vu-RkwQgBM@&x6(b3=G;nmsN@$&N7+uL(`e6_l~!p+YoC@3f_EGjH4 z4iFFo1O%0!rNhR?=;`V0?(Vm{ziDrCFETPHEG;K0DtCT?TxV;4hKPWNieqSM$j!_? zL`SEruFuiZ=I7_p)YYf1u))R1*xTM-V`eQdFf1)CK1NDDMMzCmS1Bzox4**R;^Ld1 zpN^B3i<6c+Ktqj_mfGIogo}|VDk?ujL}hV#mY$;0)YReQ#Jw6|$-a_;c(u(h>_j*b^!y9NLN00DGTPE!Ct=GbNc00EIn zL_t(IjbmUKI)IUpfGiU;J{62Cj7+R7YFetuCgaa>05OGrvdu}aIx%E>DzDk&-{VLFmgS%sCISyfG4LsLszM^{hZ0Mi&l zR#qcp6H_yD3rj0&adsP9J9`Hd1x&0ej!w=lu5Rwy9-b`X;$AY|KDNjTd|6fe{8?DV z0|J9wSy;r`gF`~Y!XqN#@=?)JQsObOtWvB}?BYNJn55$36B3h@A+pISscGpMnOWI6 zhK7br94xtcYz$2K1%*Y$f+b)DrDf$nvZ9jJ5X7shuBio5b@dI6O-;=(E7Dq8+uDHv z)zR72-O~#a>Fb{`anj@|P)iu5vax}~aoY45GrBZ~lUXFa_v9Wzpg#OC^>q zU$GLatcs!3s?}@OhOb+{VI!IxlL}Cl6$mzM-m-Pu_8mJhLR<&IK*X})g_w7G` zX*?4L2M0*a!9$0S96g530ZdE~BaXA4IEljtOi+MBn)(0$kD^{00000NkvXX Hu0mjfr27Q% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json b/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json new file mode 100644 index 00000000000..5842b1ad07a --- /dev/null +++ b/Resources/Textures/Objects/Fun/foxplushie.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "black" + }, + { + "name": "blue" + }, + { + "name": "coffee" + }, + { + "name": "crimson" + }, + { + "name": "marble" + }, + { + "name": "orange" + }, + { + "name": "pink" + }, + { + "name": "purple" + }, + { + "name": "red" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/orange.png new file mode 100644 index 0000000000000000000000000000000000000000..5bd3098c0d25efb396fa78c12fec86fc903c8f08 GIT binary patch literal 939 zcmV;c162HpP)z)0001HJSP|l1XK(HUOFfp2?TyD5PUx*!bclSIVv0p z1dT2Zi9sUNOc%z+#FMd{ z=+|*X)z#JL<>cq%;^W%a*@16&DQ$ zLMIL{6bJ+z5D6U+3LFs%FCrNa2Lvz*0}llR4G0Ac2n7@e1ZX1>xJMh;)zxZP zOhqUhS~n+qJtc!bB)z=6)zQz1Y+O${DtJ#k+s?Y^=jYhf)Xc)YT{k4PhH>WPOtn!x+2n-Sp z4hdBR$%%_|gUt|!nh_Qr5g8R76B`$=qoczOG(nu3fg5auFhoT{ViJ%{7EDP6@zT=8 zK_LvcxI8Hg?^EiDBLID_2)cLfG0uMkBw z0R>c6RoB$k)`5aU7(Gn2D|L12y+Rrqo0?m|-bL4}BQGD&YSY%<(b?7A)7#gNX}tD? ziIXNPOqn`u`iz;gbg(%SGN2Gdy%SW=6yxg##h!>FMd{ z=+{Ju)z#JL zLLx0gA1zcHIK{=q7zz(k9x`DhJk@8J6bK3!1q}`a2u>$7PbV~E1sr7r8l@LbLLe(r zBsoqfG86;}9SIK|3J)9#4lfxW4+ID>0}c%Z2Mh%VXb~y68&=oV)oM&qMI0zvCpmj1 zMS~ z(9@7_d5V64o12@QoSXNqr2qf`00DGTPE!Ct=GbNc00D4GL_t(IjbmUKI)IT0pDZ&A z11lRl9t9knT-+Qyym%Dw@pE$s2nyj*Aq)f}cr4)-KTgF{?gMi!R> zIeB>nMI~hwRW)@DO-*$z3>DhiI=XuL28Kq)CZ=ZQ7M51r+?d8#+t}LKJ2*Oti;4@2 ziwipgfeWfBu5Rw4U?40mDk?4xVxg$;@bvN)74`A;6BPzZi3>wiAguD24+snr4Gswn z0m+GrbA!zghnf)<9uXN89TOWDucM>G4KzWVn}Hi_gfK)!LShn-OcqQ@1@Y3-#X%;! zh@vb zl~+_&RaJw6Ll`|wwaavMYidL4>KhuHz}`jItRpWU(A?76*51+C)!ozEhiSZa|AdK? z6edrZI&J!lnL5}Upgn7ntE>F%IdkXD*T&(4S=vCbU?DDP>H`3&&Pu+BmUaXH0000< KMNUMnLSTZR1#;d1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/purple.png new file mode 100644 index 0000000000000000000000000000000000000000..18aa47315d69685354a9eb295de9468b8a70e82c GIT binary patch literal 942 zcmV;f15x~mP)FMa` z>6=8?)z#JJ-`4+ALJtt2j1!E@!WnCAgGay1Y zBvL;pP7enc3Ir4s2^|y)9To~4CmAmZ1P>DfFbD(>2?Y%a1q?M2Xlxs})z#NwOlmP4 zMMEcAPbGU)B!k!0*S);G<>Kel&((HZi9sq)UOafxy4&dI=+)HN#l6f$BwdzqwdCXG zlxetEB8FohqIg)AGZ$0Az{A49#KXeG+1T0N-QSRDwbIJiX;pktENoFHZ&W*EoSU55 z+1k+0($vt`gKv<9eu|r$o1B}QDY|IG00001bW%=J06^y0W&i*Ia7jc#R5*=eU>G`p zkqMtHGYbPN8#^8a9GqO-96Y>u6!7tLa|j3u;ZY$B1R{7W;TGi(6Bm_`#HF7@N}7X1 zTwF#LmjXF?c?Cr!WffI5bq!5TbuA1P+S)q0din;2M#d(lX66=_R@~f}##r0f+Sxle zI*E&l3yX^jI|G3Wswu8+?xJ8IEG{Z4E)HU$sPORg@)i~K@%0lG21iWgWUjk1qLW9 z7ezGz1yod4RoB$if`UUBJxsOhbam?+LK>TzTUx>1Mc1q&FCWlm)85h9)!ozE*FOQ% zcoGGrZ@^k0SU$9UchY#jx1Hq!jxTL8M0H~%)-o-EO QUjP6A07*qoM6N<$f@$)3EdT%j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/foxplushie.rsi/red.png b/Resources/Textures/Objects/Fun/foxplushie.rsi/red.png new file mode 100644 index 0000000000000000000000000000000000000000..966108f7abe96ce5d2ed2ce4a60fcada6afe5c01 GIT binary patch literal 1408 zcmV-`1%LX9P)1w!oSAlpuG3PWOqoK}E`nH*C;^mGfv`=B#$8bpHHcoI5H;R-VKfp=OkFWi zqo9$X2E+nm0R`g{gNRy$Zg!>1jMEMs+L<{sXU_S(0187D5ka`{y*XR*e^1`L-lA*Ec<>i+{=)BwxfH^|4A+#vr`fPP<-{P8ij1emqN%{yQ1Wo1SAd4)&-7?GrM zx2K+W9&pRgHf~|mm|Wg}{&toxntk3N5&)jKe;I3DTFvZftb@4h-rQI$uWYk*-P9E`-Uj~Ha>rY`RK zr~^IRi?FI(zaW?O_sluxE?AD=l$Di90MD{g+Ji^m2_b0P zVL}E{eLu*~^vgJMI7r1}Hx?-gbTyLgx*YG?#eDzyPvjT5NEzrOY4R-8>@g^c0Vaf6 zI=N%@R#Ghj&5*pddFL6y3=84On&3>AqwEnRc;7@?#fjv4HuwyuZbLMKyal~S0ONuZ~l2Og}TwA9J96I1C;iZOMp4fX9? zhlTjG00*8~hPPoeMl{6er5|I>9*t@rLB{+wC=;J1YwqjVuAWI>TOH!JJ=E6h!kOb> zY<4;=t=(w7UV@=8IVmbub&$e}N%TIqSngX@DgPGWg`3M|?(|}UzBq=W(o?^eZ}zp* z>5X8uSg_|6Ayf+^OYS7uW@r2ULo~NF)9wv&?aXUfw`DJv7i1%Z%8y-P+Pen{9*U8i zn@L>gLv<1|@YYlJ%TIslCg0^E*(!(+9;SNDv#kBpgQ)w0!El)CCS+2uXgT(xshE)v zM*d`8T{@Q>5#Yx1E2-MFkHDafN8ha$Z`?6QPM>6@ILE=4O@2(pN=BNUh%QJ8hL}<1 z5eaR$@#k(V3LI*0quNs=0NQ}2+UI1q?j%zQ^WnBmK6toXpaCKsI{bX{YrmXa=)(K8 zpPg-zb=B1Z;NkT<#pCWWx%QD7z%sAD7ll8=khh$t$#x##U zH#9V2nsI7sb_jqwZ*t2}9HazCRwmvaF9?RdAJ>vfx14gtCCp3nQ|QWLzhC3NdFfQW zTg$G4!NfsyvTEyFFr`FrbRvFUvpwP9Kqv}G6d~~YeAH~;F|5UwRJ!HZJSY8O$=2vd zJb@_a8hu-=%yy||9@s0xm32e;jF zBPu6~A6I>I`%qZV8lb7JRe1ZnM0K607GWS1B&NpziHd@df*CW)D4IBNsJNzSw6=Dz zZQF^(=3j?!bdFud2LrfDreU#Ikw8?Bfs{xI(llvotY>cdJX8#-J&E1)mu+~a^7$hI z>?HMeOB0A0ag3NjEE=P=t)0j~Kd-*BhHaidU+2zS8=k2y-an)NN`C-Zic6bDFMn|W O0000VS)*8>L*$jHbT8yoxj`j(fM zYieqqSy8;M&hx;uScQW>1cAyJOM?7@862M7NCR@>JzX3_G$tk|Nc?i(=v|+p)N!c1 zsLYJZ;n8LZ>Del*N}L+2XK1ce;xy>8u-4R`%5{KsMo&+uvo4b$Q_rbYS&lCkdN8e8 xc<}AQ6K!2>ZEaj!3P7b?i*|K0x>gl1F?`P8kvnX${1(tE22WQ%mvv4FO#qYBL6HCe literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/petrock.rsi/meta.json b/Resources/Textures/Objects/Fun/petrock.rsi/meta.json new file mode 100644 index 00000000000..d39a58e623d --- /dev/null +++ b/Resources/Textures/Objects/Fun/petrock.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rock" + }, + { + "name": "fred" + }, + { + "name": "roxie" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/petrock.rsi/rock.png b/Resources/Textures/Objects/Fun/petrock.rsi/rock.png new file mode 100644 index 0000000000000000000000000000000000000000..4f97dfeba6f1b58eb6ddb51661beb0f3f3915da8 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnF3?v&v(vJfvp#Yx{*8>L*$jHbT8yoxj`j(fM zYiep1-s}1Xlw~Xl@(X5gcy=QV$cguKaSYLzn4BQ-%YmbJeTq`Yq4J_KGcJcmn1prCPAj2Q>(ljS1t5lTD9na**8>L*>@u75Y4WQ(8AoJf zWXj9SeSLj3H8qWmjnAwoURURNU|OvA%-jl~dd893!RFCB!i$`HuDBOP3~W-4R~m(|y9>L*yze zqo`nK83Cquw@+zbx+NvR^i=zHdPs^wh{2BO>;3fCI|wBdYU=CjI~K0&_U>fvVh9jC c{D6(2bf(10u&`bIK+73CUHx3vIVCg!07gYq&j0`b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json b/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json new file mode 100644 index 00000000000..bf0f0d3224d --- /dev/null +++ b/Resources/Textures/Objects/Fun/prizeticket.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Paradise Station", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "ticket" + }, + { + "name": "ticket_2" + }, + { + "name": "ticket_3" + }, + { + "name": "ticket_4" + }, + { + "name": "prizeball" + } + ] +} diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png b/Resources/Textures/Objects/Fun/prizeticket.rsi/prizeball.png new file mode 100644 index 0000000000000000000000000000000000000000..fd8290de14789c7629b796b6824221cb397878ae GIT binary patch literal 732 zcmV<20wev2P)@yq4(%H{LS<@Czr^TFWpip1uCz~a8%@y_P-+wJ$^@c88M z`Q`HY+3fez>GjO!^t9UVg23dq+waZh^vi5=?~0Q4keHsVwEO-3@Av!X^ZM88_Qc`x zvDof?zT&#w@T5#o=Y)&-_}Kpb;s5{t{+FNikeBI(jpXwAf4<_h+3vmG@T*c*?d-?- z`Pu*f;`jE}?(N9l@A$Ra@2}VGc)a1W+3vjE@RdJ9+}W-4^U?d1ocxxZ`uf|JqpEa% zguuLmpGZrs*6nw@;Q%EEvf1vq-0zDwIz~)SW^Z)pg^cr#mGkn?Z+U*iz=^lAbu>9U ztkvxRAq4;<20TGTMN3bbL`b(>VXaeGxwLtyqhX_*S9d2Vu-EPYAO!#-1pxm`g~Q~L ziaeH&M1(Oki8VMtMoFTaRy{&Rnv+U$BP0M+4o^ZDl8QZiD=jWEG?R=#lZ-!y!{h)} z4oN%~Ped6^K^ICt7XVWZ08$MARSy7J5CB&Y09FqGSP%eF4Xm!Y&;S4c0d!JMQvg8b z*k%9#0QE^kK~y-6V_+BsWB^7cW+o;UoYKs!Z0sDIT--do*yWk{_yq)oghfQf#3iuF zOGrvd%gD;fD<~={tEghLKuujkQ%hS%S5Kc^9E&9ehDOFFre-=?<`$M>R@OEc3V3bp z>>V7PoLyYq+&v6Ey)YDb`}q3#2LuKMhlGZOt3*U%D2S4jf+o6OiE6%NySi* zmY$KBm7SBDmtT-ssG5$cAhIYuqqwBBth^$#k~cjPQvpL-ReE}LO-*ebQ+j$mrW1fh zG&DA)gF$mq12zRf74>MQvE+fhr=~8bBZohdfvb2;h_+#sB~svpVD84M1K1 O0000L*WH8BpQ;j^sU~J#U zXMBc%TYssA^Wua2Hfd@9f5kD(1*&8$3GxeOaCmkj4akY~ba4#Pn3$X(@x_6m_xy^E zW8y|`p-M|~ayk|{+`J*`+8MB`u%l49Nq_%? v)(OZFHQVM8#t?L=<5>|W&wK-(Dh39l``jDXfAY`)TEgJz>gTe~DWM4fej7nD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png b/Resources/Textures/Objects/Fun/prizeticket.rsi/ticket_2.png new file mode 100644 index 0000000000000000000000000000000000000000..7e59f474e6afe60ae3ab60f57809c8af34f75458 GIT binary patch literal 296 zcmV+@0oVSCP)nvfozZ+GC-wDJ#y;?UAKl{Vo-fSNZ-TH*qFa%r#s!I zyT=&u5vwLCVyh7${ed0%B3*nx@v)txJ09QUF4FVy%9`XOSw)(FloeSbS(99gEeegS zk*aW#TE3DpT~S!nfTAGP6sQAD!3)zAD6Z1>RPbou)Z{7dK#yd5f)c6n;HTlbJU0h7 uAHF|KdIj3ju%Lh;z>$!qCDRx%b(cT?1uhZg=w2fL0000LPd@yJnJb8B3Fw{$?%5 zTycWshKNt$3L*WH8BpQ;j^xZ*zvh zxWR#e`};Kkpe$oakY6x^!?PP{Ku(0Gi(`n!#N-5tR}KLI3{%%HS<<0%XoZS~22aT0 zjtdVSJ$jL$!5}VBB*-f&D3;LjGATr)B(+q;P2$iBj=)BP5SElS#Z9_;4$%`>C0KfU ic`wGaJ-f7!fuY8h!*$u8HS>XXFnGH9xvXL*tXREa|Dod#9zIb~ zQThM>|E8_GCQqB4>7peBRKr*j5bjhC}wnoYp^fZA-7eTWf9~TU7S0KbYZEwW;&e)VbEp4|y*t=$%?{S&CEZ zg@|OA^fCSo_7Z=tUJ6*h{jf%XE5p6h;is(kSE!u$sB&YkQo)jUB{}@xS+{h{vbE_l spXl^za-ZLFE+d=s(AM%bh4!@~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png b/Resources/Textures/Objects/Fun/toys.rsi/abductor_agent.png new file mode 100644 index 0000000000000000000000000000000000000000..59aefaca07e7749b974fa22339b73ab6c6497d45 GIT binary patch literal 333 zcmV-T0kZyyP)|Pft($_7uPX0004WQchC5j-~U+~ ztX=IyuRHyQadD0iL#h7@XwEc^urUSa$b2@9%Z4#k;8ixVQ25LS+8!-yHCh1{w$1i@ zf1EvB0$RLTK@ybKpfck* fXyUH*o&R87$FT@FHY1YU00000NkvXXu0mjfK|G4_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/deer.png b/Resources/Textures/Objects/Fun/toys.rsi/deer.png new file mode 100644 index 0000000000000000000000000000000000000000..d9bc621422f15d402100ccc4db92cf2945fc808b GIT binary patch literal 787 zcmV+u1MK{XP)111v!9uNc%2mvP(0~!qj84Lm(4+AC=0vHSeE*J(K4+Ip+ z`1bYN)5 z?CEPm9xE0FJst*ZKNzi-dvp^tWUb^ZJMOf@Ga6$eWw3wlW&L?;hD9tA%j22?H&WjPi;AOn0y85I!@O)e5J8V7A#NxZ6?nty1&v#A>n1Y$T9PcIZYAqyJ~0~`+o85kHjIXOc- zHDN<2O-V<0cXmidLm3zsLOL}=EgDQN5_U%&Of3>66$cj<6&M&778DXcIyWXJCKwnP zB^weM85k514$oH1WB>pF0d!JMQvg8b*k%9#0Tf9@K~y-6V_+CWfRTv_NHVkFQ^Lx? zz{U+i;J5Zs2hlRa2dhN3Iu%2{5ULO77!F-W#tlP#V#)*A}S^# zA})bL8l*r{N?Jrl7Ah|%uYjgNQAt@vRZSf#&#IxRg>Hnlj;@|QQ~|4jp^-7V0%H?X zGjl!*Rxq%%GO|WjU}I}%@8Bro4jl}w~w!%n7@BOU{G*KXc(qv!XqMu z{G*~{VtL}6E#ng~6(q9yCncw(rln_C3JMBla-*rp%J%oq$>qq)FDNWxD=sN5D@RpO zQCU?DbbL*1U427iQ*#S%E1Cgq?d=_4Mtf&hcaM+|&HxA6)!WC4M|u?C1^`{NE|(m$ RiGu(D002ovPDHLkV1iAZ1!MpK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/gnome.png b/Resources/Textures/Objects/Fun/toys.rsi/gnome.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdb97a688d5b7b186d105ea4078e5b5b49669b3 GIT binary patch literal 330 zcmV-Q0k!^#P)W*ESj{|j*iSX%*2 z1+7p!m9lY;Za(WB~=ft@Z7^i6(G4KQFZ~>66i6EF2P!R+@ zgNgkNLG(ERf+fZnLWIC9;gN%Z$gFt^eC$Tl0g%KAP`2)S|Kw6jCA$?|IhXl$3rX~n%-eKyeBXYP4iz)pcQKVEL=#?3-Mjo z!IRO7?DxQy#qPJj7;CRzH!!yU3~<40;Z3gvL`PuzTN%(W4A8O+mEev7)AeQ05;-w> zy3(U??v6mF<|TMI_n>X60S?)@ss1QL>%Q?JLdOt%#fLEpW6%rnegsdi1|HvyPvEsJ zvfqM~v@KeC1ut&Hzsff!0Zl34l4&9(z)zTBoP{{)kG5r=GtBCv=4DytbzNs!xfXC< j^Z<&FPA@pmn*WhEIh+!Y{~FWU00000NkvXXu0mjfgTJQ^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/ipc.png b/Resources/Textures/Objects/Fun/toys.rsi/ipc.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8aac5cea8d71131d90a21f0ebef13d924e45b7 GIT binary patch literal 335 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy-T^)#t_Kbr_`>AJbN9Nt$DPGrnVmcZbygYNiFuDnOB(F8K zE_iqEF-LCU?yJ8!&j~urKP)-3jhEAwg3Pu001;s4;@8L3;+NC0d!JMQvg8b*k%9#0Rl-x zK~yM_y^%3)!!Qs8PbyTf(jEZ^U}c_@AYf&gKz@)1xO8XPfQq~zAMgWQrlVM>;44ES z3M3#+s$92&<#D+r`p*Gawkus}%^oZ8cw~!i(apyZZ#%RLxZNLa(BVg`>2!ZNdCWk3 zH;6oaTJx=IU~{o7PP_R=$kb~V*_>ywg7>|F*XO|Nm#GoheZ}lWW!?mNmE8 zGHRK8WB4GYA4dXiQ3H|3yn*3^8Ui90=A978O6pI$u3*Q_AG5@2yXuVF*C)3pEp&+r|a6}Ii= z&X+PhX>!~y&+D|#)a>c(xH>(kOli})*E$#Solm^Tp35?wH*;sw*0QUfAFkb~RyyQt z==z#v-roJyq3TtPy?0-*f7qwpx9WPZ(B4K(m*onp?HL!{ci3Llal43TL-q5#(>wNa zE&nLW`#@xCfw#cK9>Iuvt5f_mla}w~58P=S;+4`YP~p#$#xGEOte?f?w_=~;!^^Jm vclSSK6y7Q%&!}`I3g`*G)CkWsUtb0-Ae#e-LEuvGWDw=)>gTe~DWM4fC&l8Y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png b/Resources/Textures/Objects/Fun/toys.rsi/plushie_slips.png new file mode 100644 index 0000000000000000000000000000000000000000..55b389ab5680f9fe9c767066c392c9b6c2c66abd GIT binary patch literal 462 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/box-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..49b15d7ac2b2f45646caf8b0b6f594ce448b14f9 GIT binary patch literal 632 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 Dubaq! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json new file mode 100644 index 00000000000..0241de806c0 --- /dev/null +++ b/Resources/Textures/Objects/Storage/Happyhonk/rock_carrier.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by ghostprince", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "box" + }, + { + "name": "box-open" + }, + { + "name": "box-inhand-left", + "directions": 4 + }, + { + "name": "box-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4a2e7df7335b73b42ad5446541406a9a48aa5643 GIT binary patch literal 817 zcmV-11J3-3P)p)7%NqbjXCKE~#<{}ti9lH*+?1FR;&O&h<8P|^ zs|@7iGuMIsA?`nXKu1RhySuwp?T@eDiAUFrk6m5S)~;*7E;!B{N7poghPyL3)-E_8 z)xbc}WxC~}K(eB!#ZJH9kSX`c3De;)OY@6FR#(c_E~Q}^W<`;<)>iFTY9^6L)SWvw zJ4-yeMnGt*IY##o>LEDu$XQ!ipU>yhHR0&JhdVDswe zuQvo>RgX|lPc&hR#R7mNNw__pt7SlvBmfRwE|O^l(mBA)q06O>QBO}$%{DAG*0@pz zyk2kV1qo5a=l3I>w++#$f~E}UkuWNLj*$!)dK)H05sTTZ#g)Wjv4!p~neHyRtbaNj zCeS}rQydy(K$0Y~ih{*#rf__W^ZfZ2&j-LAzlE`2XQ+7Hq3*GsHsSVou9ksPky7zW zeu)J#B^zH)Yu}q!%RrCEa~2fadSpP!6z5%ZU%Coj4LoZsdQIpWSRP2Qy|G2lV6WDW zjt#RM`9^Sjgx4=;E+wY7FK zYe?uaG?jr;mgX0kn3^;sQZG}w25My>FmP8J6OXPjH*4&RsUErpf}1{qCLe5~wQTP2 v2tP!3uC+?4417p^zP81UU@HB4eiQrwW}$l%iA*<200000NkvXXu0mjftsrv! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json b/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json new file mode 100644 index 00000000000..c8a01ff8d86 --- /dev/null +++ b/Resources/Textures/Structures/Machines/prizecounter.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ParadiseSS13/Paradise/", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "unlit" + }, + { + "name": "panel" + } + ] +} diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..65dce282de08f8ca0868d98b80d2f132f3e28665 GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pogc6V@QPi+Y1YM85DR}FTM}B%X;*m+(Eqv z7fzOgEUbm+r(F5c1XRfIAbPR5xpDmGHA$wK>`P)EGhh4on|+?^oaOUa6xvJ}FTa(} TsK1vv6{OVD)z4*}Q$iB}ex5h( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png b/Resources/Textures/Structures/Machines/prizecounter.rsi/unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..45074c1ac4a1cbe9a64a9151997f3bdd7fc0fe12 GIT binary patch literal 444 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCilm0(?ST6Ly}S{Pf%Z|Nraj>%)YE-o1Ob#>gm4TDnU|M@&p?Td;uDq$O9D z%M=H3uJm9FGF8{s*0!^=J6&Mpsjn2B_fSC6PfS?2%&E(a)l*$r`OdXK`!+r?1D3Tb z{ZE%zUa8wzD;5j1Dx&PgK_I16666;QvcbbrP>gF{s5`X`p&`BXO`5i+*a97IvpHNd8v|Sq?l{r+=AVM+JBH9$#`V3$_xk5F z1juJQbP0l+XkK DBx$@{ literal 0 HcmV?d00001 From 794b8ebeaf5db889d008cb0bc1a866f9cc23174b Mon Sep 17 00:00:00 2001 From: SimpleStation Changelogs Date: Tue, 13 Aug 2024 17:17:16 +0000 Subject: [PATCH 13/13] Automatic Changelog Update (#654) --- Resources/Changelog/Changelog.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 164bbbb316f..15c67e383a4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -5284,3 +5284,13 @@ Entries: speaking it. id: 6259 time: '2024-08-13T17:12:15.0000000+00:00' +- author: FoxxoTrystan + changes: + - type: Add + message: A ton of new plushies has arrived + - type: Add + message: >- + Prize counter are here, get your prizes by winning games and getting + prize tickets! and find prize balls!! + id: 6260 + time: '2024-08-13T17:16:52.0000000+00:00'