M
zsy`o7J0C#re5V4~;O6fw3`0C`Hqcr_DdjwYKKWYf-uX@iD9f_0_VZ>_kK3nGmZkFq
zeDk|jfKR^j3Rp%Ff*^p_x}Lx~Nl;Z4nj6ztmQe%%sH*DIm{0z~<>E9=4e;@wyIQRf
z$1(Ce$K`UVC!~~ey611oCn6#uA|fIpA|m=fNhwWH6qED=d`D3fMoKyTeC961Y+t--
zt|AQe$&
zgon~JHFgu6dIi``&>ooja@qui5I12;sf9hWx2s?ZFZ(@SPbZXR`RO#cJ;z6!3UE9g
zJI9w%gmsckvN73y1ltqPc5jaNIPC$=rUXk$2`OcLWJ=XcQV8mvOd<@XS+rxb*YMwM9!2w=XpPV?q$D!EDflOq2YT{
zPu9-*uid)v=k0AL?}j?7p1k|@)%iQN
z^;VxQZQhU?$yb|Q^6%jy`R*4xf9!rT`{w;J8KIiVH6UZbpl0g5#UD3s=AX;IBB@7f
zDNkmT%G97){!2~#LtjrRo0mR&*~-&Xw&~qlQ)_f*3$q;e3Cn1Xho9yOI0c;h8DG}@
xjBQTni4|vpr4rJ%t;^o7_T>x{(AW<%>lmx@*Pf8B-h3Qni>Irf%Q~loCIF!-gbDxv
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra1.png
new file mode 100644
index 0000000000000000000000000000000000000000..da752a9f4514903cc774241042b34290f894e8f6
GIT binary patch
literal 222
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|W_Y?dhE&XX
zdut=tAqO6|2Nq>-t1c{mmHccaSLE)pHO*T(9xO<5{cC4oaj5YBB;8J+mWKVsRZj}j
z)*Uu*$=2Pq?)K}`n_NPVn)n*_J$A0Qn_d69el(do!4j1tc=hDD&PNzhwG@1T-zrV
Pagc6LS3j3^P6i=g3|0;pWSVqF1nqs!=}-r
zPW!-Rs{{3E*GkVG%l`cPclf%}I-t#9(D47cXnum8W$^3DhV(fLU*v7Ls<`fqq*lXz
zwg0DE+%)GaTTKaE%KSzk_WIQudZ&x7%yQ!tJ;1N>rS`v|)mi-?G8Y$iXvu<&I#9in
Y`B&S*w9Sk6UIhtwy85}Sb4q9e09tC2eEi_rlXF)+#C9&Om!hVaC$KS1A-N(9p+R?PIAg@cMcfEC=>%7xDY+&;C=AwHaiv4V-
zcX)Wc-0)}ql{>njy0!Pc{|di4>wj70v4z~dzm;{RX?8$!A>c#)nKvIQ8_Hc=3^$)X
z|8Z;C-euRm|FY7bP;B?7_TJsoHvTO$8(y!-D*S%DJnWs#^>bP0l+XkKCdzar
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra5.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_bra5.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a4c269dda7cfc74f1b6d0fe35eabf9822a0437a
GIT binary patch
literal 276
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|&Uv~xhE&XX
zd&`jTkO7ZF;98(^b
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_shirt1.png
new file mode 100644
index 0000000000000000000000000000000000000000..c742af5197d461b41272d1d1b225c962a6cc6e6c
GIT binary patch
literal 310
zcmV-60m=S}P)Px#@JU2LRCt{2+CdJ2Fc5`d?td0;((|y^jU)zUN{ivW#{S>Z5Z`oc!8k4p0001h
znr+)&E!UM&ny&jbKdPs-#@pepChWQU`$qNj*4XW8QI7>D`BC0eyYD31j!!p1l~I*-
zSy9;W2&nTl!XHdmR7(00000!2hxTBJ5-xi;dEGOC7aIt-=t^cMT%!)8L4@n4uOw#YpOkvI*8t
zf2ghJV)GcKisraGPx$s!2paRCt{2n$3;EFc5_&734@dpc1;Foau&2rUP@Ng2!Ps$m{&zIJVI)?~{;7
z?C8y3lEaG#A%qY@2qAAVGaOlOsc&XztuFvzW&nVk^EC+}002S=vqa4d@p^UfJ;`}7
zYU{_xUIhQ8NmtcZRk*0L)B(qX@#|`Ugwj35?5$|64yfv^yJ@0pNrw<{xC!2MKaTIU
zG^q66tZ_fOma1Z@7)$#_ehQbXKjZ{)I-O(~hPQhi0Jz`pGEGzVHM#m*Nx5E4{a^S5
zq(S((Pre3o)|aSTp$_CsKr>Wz@wMaKuleL()85)s62qUHfUP2&&*ygecn6lMytP(a
ze`^mXpydP*LI@#*5JCtcgb?z@G_jx$(mkfwDgH!3+>2=92Cvawa0hGFeKTUGxT~PD(7)+=<;uX>7ZaP*q$mm)G$)j<5fZ$D^Ay
zWoAgVoh}AxGl7G2Ge^@RjN|x`35Yu{(!m^!ZSbZ-1(e$J#T847aJ${)dcAg;fb>};
m(#abCj}t%$A%qa}wLAf=MzY+*#KEBe0000Px#`AI}URCt{2+CdJ&FbqV|-v2DUNzRkC*-!};C#0avMD)KULX4Bz1(9wW0001h
zo?2^+yswlp^uAy7vwB8r{3<*m!nFxU{_(k4Jy&bI?9-yA1vm1uyjk7%CTqv3yWh!{
zE2Tt4=;klUmd<~x5Lwtjwz30LuHf@cP#)@Z{$`Md+Gp^|GK#$!R207N2#X
zWgJ}geNPwJdK~}&00000!2hxTBkW{77F%WKEp_xxY895)eAhvQ{WLhEE@r94w;r0f
z73DZsul`c4=a4;~=BUGVAzoYEbvJGuhueM+$U~FdV^eN@On&Rd0{{SA^#A}GjW*M=
Ret!S}002ovPDHLkV1mo_j7R_g
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart1.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart1.png
new file mode 100644
index 0000000000000000000000000000000000000000..4771eb9456440144dacf29b5dfff40541d5c241b
GIT binary patch
literal 455
zcmV;&0XY7NP)Px$fk{L`RCt{2+P$rVFcbyg%M=kS;D#EITxA57K#b!p7=bDhP^Tf1Cy1EhzUCS6
z42m8E8xozbiTDWz`CeRLhyVZp0090)DaC8{yU4e*miB=Q{Htl2am1BU+%%0j2kSH6h(Bs
zUa78YdORL93
xN-0@N$wg6k>wuytSW3x42y_4d0002MHa}XgU!;+ZkU#(c002ovPDHLkV1h3i%y0kz
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart2.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart2.png
new file mode 100644
index 0000000000000000000000000000000000000000..388261139865c342179ee507738c642b556d638b
GIT binary patch
literal 488
zcmVP)Px$qDe$SRCt{2+Ci>^AP@#%-aC2wO(
z+|T1{JPN}w1nuYZxjIgsm)FH)WxzXdR$VTaFJp{(y1hy^s+3$3y0e+zQyv36Z8@cY=z(@5x$A&N=el)3Pk&
zy(i}!S!=29d-V)(&e7Hp0000000000001;-mcmPv)+Dm)0><368zY5yq+dtNy>d!s`wKDE-0It`oF(!ReQZ486x#@fW
e00000|I80GeQggExx!xn0000zTtxNg6>`GG^hocX~OT&oJ+hpjuHSY;-xl~R)Sf+6W@y|w7&xy!C<
zSu44KfGdLrL+y77HHIzktKa^v+swkaVwGRvwvI$0^Z8M`ISN1TG)@uZAF}BBt5B|vL;*0foE2pU9D}4g70OIOmT(_
z%Q98;U(Irjh-vu!*N%Id`sHnFg#~xUt-m%W?U7aCU6Z^$j7mz^`VT*!)Xn(9qOZtm
z?lKj**z2WpOJdVcreCx=XF2^|EyFDFSNh#t0=$P6o`3$Cx#0BEO&Xn(O6L^oy+5Vu
zbDwd4?myAKY5an4aIwwn*r)uz^;QgD@A>!VZ@=9ycPx%B}qg+QL4wIF
z*{~?%0gAAy6TDgUlv8x0Ee=?ke&0$_t6n{xgzySrj4{R-V_%ck<;y|{0)X{;-RXBj
zGjRa}#wLUyBBDIc$)3*M9t?xv4bsVoB+G+97R#1HEr6}L+bl_b5jMp@4er1zd+v=
zaIrn!CQZ}E`_X6w-}iAi959(oo~{BqY0G||=cJS(DJ4lMpRNLKz6jdP28DZ6!0WHy
zy^if1k%eKPJOTf{Z|Ieu1I-
zJMSsA=O^v=VxKYd{AZoZCbh>_t>Qnd@Yq7^{`zZWmu|<*GB7^RxnkAq$jx{6M}0l@
zRDI#sbM2p=%snpo^RJ$5YW8v0?*96KlB(xb`bw8d=YFZxKfUS1u60UEoBrGFxMf#&
zP0J2w6$m`gcYV!q{~GJ9?I)v;@?M>_Kl`h*kKJzNi3XF89}YElS2k5z{H%3;amc$f
wXM(-nz4JY_aMiBe)m|?*@O+Bq0UFR?d~c)INv_D`qDqi?p00i_>zopr07A5X_5c6?
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart6.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart6.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6b72768015d0850f550ad1d3e4c11cf43a44d53
GIT binary patch
literal 343
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z1wCCHLn`LH
zy>)x-Ap@Rf1e${e|1J)&;Kwym)hk3je)dyP|V$bnBBApaBeTl$4(R
z-0Q}7|483GwpCfDH??HWlFM~H(w4}fsajq?KZ?ISjV%h
z7bPAq&fRA!bm-@H(@!jabk9!zWTjdW7WHQFpLx=I|6F8xd#fuBWQ(V(pUXO@geCyEUYD`}
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart7.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/decor_torso_standart7.png
new file mode 100644
index 0000000000000000000000000000000000000000..f2aa726ae69482d4ddf58a2657926d03d8cf72e0
GIT binary patch
literal 346
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zMLb;`Ln`LH
zz4ef{SwWyJ@m8nInN*(}hfE7N+zYsVoo>@u#4eM0>bHuoR>yr-L$#&HfF>;P*FSmk
zT2y|I;bV(=$Cm!ex@p{J8U8lw;luB{?Rx+Gt@yv>Trem9?V#FOKTXe{-xrY=zxI#R
z<9n*&vTcq=duCjF{MF(^#hbnU-=>S{?2Yr=m%;jH@e`IKahm6LzF(7fTP)YVclwUg
z`?KpO-T%uaz@1(d8!n%nKlT3-S)lD8(BO0}>c6+Wv-NYo+fT9%Eil;e^jPW)$$K4Y
zrbph@oc8ocHI1BlT=rqWY0eJMt7S`n?{)mhqH}stpu4E$){RU{n3rW87OCjqZe;xfT%u7CZh6RZqAmzR83|
zTM1|s5d3)iu|mW6bx`zMD-e15kLt8P@3+d|$ur+||NW9xujUk|Mtg?Nw)rvbY@d
zid|X?u*}itesa(1-=9}Z5t_}d}3)j6C>z+`1f4-fix1{CsooShg
zvl?F7G;{>ys#d%|%e-M#s=?+i4#BJEb>=MEcI8`GhHjQ*`t+yfzn_TRI9+46;K-R*
zd)43DzSZ=P?&NqnC)CBm+m+*+76bpko`yse;5Q#;UyK@plh;%!xVpWYScz%@!LEK34hlewu=feDZ?_k|5I<
z7*@EtoH~;g*gbP732`4fk$8sry@q?<-G2-0z$B_8%2GbM?emK^e_DcAe8fRb7&wbI#=4lm0NhV@@5r
z=-P&o%F6e<-(5H+!T$d5v;E8Z6Z1aY;_IEolR4e1YER0ZMWP1hH&>c_tn@#@0k-q+
ZUB=0VO81w~U~32QJzf1=);T3K0RS^0rosRK
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/mask_null.png b/Resources/Textures/Clothing/Uniforms/procedural.rsi/mask_null.png
new file mode 100644
index 0000000000000000000000000000000000000000..2975c479be7566a6c59a7aca4e20778aa850feb7
GIT binary patch
literal 109
zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|)ID7sLn`LH
rJ;=xlwOr9UK@K`#+rw1POb(`njxgN@xNA?@buF
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json
new file mode 100644
index 00000000000..08133fc00b0
--- /dev/null
+++ b/Resources/Textures/Clothing/Uniforms/procedural.rsi/meta.json
@@ -0,0 +1,159 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "The sprite base is taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039, separated into layers and added new ones by TheShuEd (github)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "base_leg_short",
+ "directions": 4
+ },
+ {
+ "name": "base_leg_skirt",
+ "directions": 4
+ },
+ {
+ "name": "base_leg_skirt_long",
+ "directions": 4
+ },
+ {
+ "name": "base_leg_standart",
+ "directions": 4
+ },
+ {
+ "name": "base_torso_armless",
+ "directions": 4
+ },
+ {
+ "name": "base_torso_bra",
+ "directions": 4
+ },
+ {
+ "name": "base_torso_shirt",
+ "directions": 4
+ },
+ {
+ "name": "base_torso_standart",
+ "directions": 4
+ },
+ {
+ "name": "base_torso_standart2",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless1",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless2",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless3",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless4",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless5",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless6",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless7",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless8",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless9",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_armless10",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_bra1",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_bra2",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_bra3",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_bra4",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_bra5",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_shirt1",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_shirt2",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_shirt3",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart1",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart2",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart3",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart4",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart5",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart6",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart7",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart8",
+ "directions": 4
+ },
+ {
+ "name": "decor_torso_standart9",
+ "directions": 4
+ },
+ {
+ "name": "mask_null",
+ "directions": 4
+ }
+ ]
+}
From 0947a523f926d3e7926c2e39742013d3b84340b5 Mon Sep 17 00:00:00 2001
From: VMSolidus
Date: Tue, 30 Apr 2024 18:06:35 -0400
Subject: [PATCH 30/43] Revert Salvage Shittle and Trading Post removal (#344)
It's been gone for a bit too long.
---
.../Prototypes/Entities/Stations/base.yml | 26 +++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml
index 5cbe349416f..ae8d1313d0e 100644
--- a/Resources/Prototypes/Entities/Stations/base.yml
+++ b/Resources/Prototypes/Entities/Stations/base.yml
@@ -1,4 +1,4 @@
-- type: entity
+- type: entity
id: BaseStation
abstract: true
components:
@@ -46,15 +46,15 @@
path: /Maps/Shuttles/cargo.yml
- type: GridSpawn
groups:
-# trade:
-# addComponents:
-# - type: ProtectedGrid
-# - type: TradeStation
-# paths:
-# - /Maps/Shuttles/trading_outpost.yml
-# mining:
-# paths:
-# - /Maps/Shuttles/mining.yml
+ trade:
+ addComponents:
+ - type: ProtectedGrid
+ - type: TradeStation
+ paths:
+ - /Maps/Shuttles/trading_outpost.yml
+ mining:
+ paths:
+ - /Maps/Shuttles/mining.yml
# Spawn last
ruins:
hide: true
@@ -80,9 +80,9 @@
cargo:
paths:
- /Maps/Shuttles/cargo_core.yml
-# mining:
-# paths:
-# - /Maps/Shuttles/mining.yml
+ mining:
+ paths:
+ - /Maps/Shuttles/mining.yml
ruins:
hide: true
nameGrid: true
From bd41fd5f2061d28eecb9547360b7935806eb1dbc Mon Sep 17 00:00:00 2001
From: VMSolidus
Date: Tue, 30 Apr 2024 18:07:51 -0400
Subject: [PATCH 31/43] Fix Pride and Courier Vendors Not Being Able To Say
Thank You, and Crashing the Game Out of Protest (#339)
# Description
This fixes a crash related to the CourierDrobe and PrideVend not having thank you messages. Instead of deleting the ability to say a thank you message, I have elected to add thank you messages to both vendors.
# Media
![image](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/3b06ebfe-9c09-42a7-979a-605a7a0f3869)
---
.../en-US/deltav/advertisements/vending/courierdrobe.ftl | 2 ++
.../Locale/en-US/deltav/advertisements/vending/pride.ftl | 2 ++
.../Catalog/VendingMachines/Advertisements/courierdrobe.yml | 3 +++
.../DeltaV/Catalog/VendingMachines/Advertisements/pride.yml | 5 ++++-
4 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl b/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl
index 17ef24784c9..b411cf2eec7 100644
--- a/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl
+++ b/Resources/Locale/en-US/deltav/advertisements/vending/courierdrobe.ftl
@@ -3,3 +3,5 @@ advertisement-courierdrobe-2 = A great investment for your survival!
advertisement-courierdrobe-3 = Wear your brown with pride!
advertisement-courierdrobe-4 = These shorts are comfy and easy to wear, get yours now!
advertisement-courierdrobe-5 = Outrun every danger with our stylish clothes!
+thankyou-courierdrobe-1 = Now get out there and deliver that mail!
+thankyou-courierdrobe-1 = Those parcels aren't going to deliver themselves!
diff --git a/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl b/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl
index 1a23169c463..d8c47a8e412 100644
--- a/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl
+++ b/Resources/Locale/en-US/deltav/advertisements/vending/pride.ftl
@@ -1,3 +1,5 @@
advertisement-pride-1 = Be gay do crime!
advertisement-pride-2 = Full of colors!
advertisement-pride-3 = You are valid!
+thankyou-pride-1 = Go, do some crime!
+thankyou-pride-1 = Have a colorful day!
diff --git a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml
index 9878e4bf890..eb9d3d038ae 100644
--- a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml
+++ b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/courierdrobe.yml
@@ -6,3 +6,6 @@
- advertisement-courierdrobe-3
- advertisement-courierdrobe-4
- advertisement-courierdrobe-5
+ thankyous:
+ - thankyou-courierdrobe-1
+ - thankyou-courierdrobe-2
diff --git a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml
index f24ff8fa512..77f5a20858b 100644
--- a/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml
+++ b/Resources/Prototypes/DeltaV/Catalog/VendingMachines/Advertisements/pride.yml
@@ -3,4 +3,7 @@
advertisements:
- advertisement-pride-1
- advertisement-pride-2
- - advertisement-pride-3
\ No newline at end of file
+ - advertisement-pride-3
+ thankyous:
+ - thankyou-pride-1
+ - thankyou-pride-2
From 9d7cc5f3678b7c4e54a6cad164fbd29c07cb39e4 Mon Sep 17 00:00:00 2001
From: SimpleStation14 <130339894+SimpleStation14@users.noreply.github.com>
Date: Tue, 30 Apr 2024 15:26:35 -0700
Subject: [PATCH 32/43] Mirror: New wooden furniture (#241)
## Mirror of PR #26182: [New wooden
furniture](https://github.com/space-wizards/space-station-14/pull/26182)
from
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)
###### `909b2aaa2d5976122f17f9e4fe6ce1a1389dc619`
PR opened by Ko4ergaPunk at
2024-03-16 17:30:57 UTC
---
PR changed 25 files with 928 additions and 7 deletions.
The PR had the following labels:
- No C#
- Changes: Sprites
---
Original Body
>
>
>
> ## About the PR
> Adds craftable high and small fences, wooden bench. New stairs.
>
> ## Media
>
![woodenFur](https://github.com/space-wizards/space-station-14/assets/62609550/c7a4d69e-78c5-45ba-8f75-e694cf4c3482)
>
> - [x] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
>
> **Changelog**
> :cl: Ko4erga
> - add: Added craftable high and small wooden fences, bench. New
stairs.
>
Co-authored-by: SimpleStation14
---
.../Entities/Structures/Furniture/chairs.yml | 29 ++
.../Entities/Structures/Walls/fence_wood.yml | 418 ++++++++++++++++++
.../Prototypes/Entities/Structures/stairs.yml | 32 +-
.../Construction/Graphs/furniture/seats.yml | 17 +
.../Graphs/structures/fence_wood.yml | 176 ++++++++
.../Recipes/Construction/furniture.yml | 17 +
.../Recipes/Construction/structures.yml | 173 ++++++++
.../Structures/Furniture/chairs.rsi/meta.json | 6 +-
.../Furniture/chairs.rsi/wooden-bench.png | Bin 0 -> 3122 bytes
.../Walls/wooden_fence.rsi/corner.png | Bin 0 -> 3286 bytes
.../Walls/wooden_fence.rsi/corner_small.png | Bin 0 -> 3219 bytes
.../Walls/wooden_fence.rsi/door_closed.png | Bin 0 -> 2656 bytes
.../wooden_fence.rsi/door_closed_small.png | Bin 0 -> 3097 bytes
.../Walls/wooden_fence.rsi/door_opened.png | Bin 0 -> 3349 bytes
.../wooden_fence.rsi/door_opened_small.png | Bin 0 -> 3071 bytes
.../Structures/Walls/wooden_fence.rsi/end.png | Bin 0 -> 2692 bytes
.../Walls/wooden_fence.rsi/end_small.png | Bin 0 -> 2717 bytes
.../Walls/wooden_fence.rsi/meta.json | 59 +++
.../Walls/wooden_fence.rsi/straight.png | Bin 0 -> 2837 bytes
.../Walls/wooden_fence.rsi/straight_small.png | Bin 0 -> 2775 bytes
.../Walls/wooden_fence.rsi/tjunction.png | Bin 0 -> 3285 bytes
.../wooden_fence.rsi/tjunction_small.png | Bin 0 -> 3145 bytes
.../Textures/Structures/stairs.rsi/meta.json | 7 +
.../stairs.rsi/stairs_stage_wood.png | Bin 0 -> 3285 bytes
.../Structures/stairs.rsi/stairs_wood.png | Bin 0 -> 4263 bytes
25 files changed, 927 insertions(+), 7 deletions(-)
create mode 100644 Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml
create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml
create mode 100644 Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/corner.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/corner_small.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_closed_small.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/door_opened_small.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/end.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/end_small.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/meta.json
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/straight.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/straight_small.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction.png
create mode 100644 Resources/Textures/Structures/Walls/wooden_fence.rsi/tjunction_small.png
create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage_wood.png
create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_wood.png
diff --git a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml
index cc8cc325fbb..a8534997f03 100644
--- a/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml
+++ b/Resources/Prototypes/Entities/Structures/Furniture/chairs.yml
@@ -365,3 +365,32 @@
graph: Seat
node: chairSteelBench
+- type: entity
+ name: wooden bench
+ id: WoodenBench
+ parent: ChairBase
+ description: Did you get a splinter? Well, at least it’s eco friendly.
+ components:
+ - type: Sprite
+ state: wooden-bench
+ - type: Construction
+ graph: Seat
+ node: chairWoodBench
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 50
+ behaviors:
+ - !type:DoActsBehavior
+ acts: ["Destruction"]
+ - !type:PlaySoundBehavior
+ sound:
+ collection: WoodDestroy
+ - !type:SpawnEntitiesBehavior
+ spawn:
+ MaterialWoodPlank:
+ min: 2
+ max: 4
+ - type: StaticPrice
+ price: 20
diff --git a/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml b/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml
new file mode 100644
index 00000000000..539eca32b6f
--- /dev/null
+++ b/Resources/Prototypes/Entities/Structures/Walls/fence_wood.yml
@@ -0,0 +1,418 @@
+- type: entity
+ parent: BaseStructure
+ id: BaseFenceWood
+ name: wooden fence
+ description: Wooden piece of fencing. I hope there is babushka's garden behind it.
+ abstract: true
+ components:
+ - type: MeleeSound
+ soundGroups:
+ Brute:
+ path:
+ "/Audio/Weapons/boxingpunch1.ogg"
+ - type: Tag
+ tags:
+ - RCDDeconstructWhitelist
+ - Wooden
+ - type: Sprite
+ sprite: Structures/Walls/wooden_fence.rsi
+ drawdepth: WallTops
+ - type: Physics
+ bodyType: Static
+ - type: Transform
+ anchored: true
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: Wood
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 125
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: WoodDestroy
+ - !type:SpawnEntitiesBehavior
+ spawn:
+ MaterialWoodPlank:
+ min: 1
+ max: 2
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: Climbable
+ delay: 5.0
+ - type: Appearance
+
+- type: entity
+ parent: BaseFenceWood
+ id: BaseFenceWoodSmall
+ name: small wooden fence
+ description: Wooden piece of small fence. The best protection for the fencing of a private territory!
+ abstract: true
+ components:
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 75
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: WoodDestroy
+ - !type:SpawnEntitiesBehavior
+ spawn:
+ MaterialWoodPlank:
+ min: 0
+ max: 1
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: Climbable
+ delay: 2.5
+
+
+#High
+- type: entity
+ parent: BaseFenceWood
+ id: FenceWoodHighStraight
+ suffix: Straight
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: straight
+ - type: Sprite
+ layers:
+ - state: straight
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.10,-0.5,0.10,0.5"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: straight
+
+- type: entity
+ parent: BaseFenceWood
+ id: FenceWoodHighEnd
+ suffix: End
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: end
+ - type: Sprite
+ layers:
+ - state: end
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.1,-0.5,0.1,0.0"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: end
+
+- type: entity
+ parent: BaseFenceWood
+ id: FenceWoodHighCorner
+ suffix: Corner
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: corner
+ - type: Sprite
+ layers:
+ - state: corner
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.1,-0.1,0.1,0.5"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - TableLayer
+ fix2:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,-0.1,0.1"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: corner
+
+- type: entity
+ parent: BaseFenceWood
+ id: FenceWoodHighTJunction
+ suffix: T-Junction
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: tjunction
+ - type: Sprite
+ layers:
+ - state: tjunction
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.10,-0.5,0.10,0.5"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - TableLayer
+ fix2:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,-0.1,0.1"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: tjunction
+
+- type: entity
+ parent: BaseFenceWood
+ id: FenceWoodHighGate
+ name: wooden fence gate
+ description: Do you have any idea what awaits you behind these gates? It can be either a toilet or a luxurious mansion. But you continue to love your emo boys.
+ components:
+ - type: Sprite
+ layers:
+ - state: end
+ map: ["enum.DoorVisualLayers.Base"]
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,0.5,0.1"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: InteractionOutline
+ - type: Door
+ openSpriteState: door_opened
+ closedSpriteState: door_closed_small #idk how, but it's working
+ canPry: false
+ occludes: false
+ changeAirtight: false
+ bumpOpen: false
+ clickOpen: true
+ canCrush: false
+ closeTimeOne: 0
+ closeTimeTwo: 0
+ openTimeOne: 0
+ openTimeTwo: 0
+ openingAnimationTime: 0
+ closingAnimationTime: 0
+ openSound:
+ path: /Audio/Effects/door_open.ogg
+ closeSound:
+ path: /Audio/Effects/door_close.ogg
+ - type: Construction
+ graph: FenceWood
+ node: gate
+
+#Small
+- type: entity
+ parent: BaseFenceWoodSmall
+ id: FenceWoodSmallStraight
+ suffix: Straight
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: straight_small
+ - type: Sprite
+ layers:
+ - state: straight_small
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.10,-0.5,0.10,0.5"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: straight_small
+
+- type: entity
+ parent: BaseFenceWoodSmall
+ id: FenceWoodSmallEnd
+ suffix: End
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: end_small
+ - type: Sprite
+ layers:
+ - state: end_small
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.1,-0.5,0.1,0.0"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: end_small
+
+- type: entity
+ parent: BaseFenceWoodSmall
+ id: FenceWoodSmallCorner
+ suffix: Corner
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: corner_small
+ - type: Sprite
+ layers:
+ - state: corner_small
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.1,-0.1,0.1,0.5"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - TableLayer
+ fix2:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,-0.1,0.1"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: corner_small
+
+- type: entity
+ parent: BaseFenceWoodSmall
+ id: FenceWoodSmallTJunction
+ suffix: T-Junction
+ components:
+ - type: Icon
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: tjunction_small
+ - type: Sprite
+ layers:
+ - state: tjunction_small
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.10,-0.5,0.10,0.5"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - TableLayer
+ fix2:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,-0.1,0.1"
+ density: 1000
+ mask:
+ - TableMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: Construction
+ graph: FenceWood
+ node: tjunction_small
+
+- type: entity
+ parent: BaseFenceWoodSmall
+ id: FenceWoodSmallGate
+ name: wooden fence gate
+ description: Looking at this gate, a familiar image pops up in your head. Where's my piggy?
+ components:
+ - type: Sprite
+ layers:
+ - state: end
+ map: ["enum.DoorVisualLayers.Base"]
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "-0.5,-0.1,0.5,0.1"
+ density: 1000
+ mask:
+ - FullTileMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: InteractionOutline
+ - type: Door
+ openSpriteState: door_opened_small
+ closedSpriteState: door_closed
+ canPry: false
+ occludes: false
+ changeAirtight: false
+ bumpOpen: false
+ clickOpen: true
+ canCrush: false
+ closeTimeOne: 0
+ closeTimeTwo: 0
+ openTimeOne: 0
+ openTimeTwo: 0
+ openingAnimationTime: 0
+ closingAnimationTime: 0
+ openSound:
+ path: /Audio/Effects/door_open.ogg
+ closeSound:
+ path: /Audio/Effects/door_close.ogg
+ - type: Construction
+ graph: FenceWood
+ node: gate_small
\ No newline at end of file
diff --git a/Resources/Prototypes/Entities/Structures/stairs.yml b/Resources/Prototypes/Entities/Structures/stairs.yml
index 628c9331488..0ff3b0d7d36 100644
--- a/Resources/Prototypes/Entities/Structures/stairs.yml
+++ b/Resources/Prototypes/Entities/Structures/stairs.yml
@@ -1,7 +1,7 @@
- type: entity
id: Stairs
name: stairs
- suffix: steel
+ suffix: Steel
description: The greatest invention since rocket-propelled grenades.
placement:
mode: SnapgridCenter
@@ -39,7 +39,7 @@
- type: entity
id: StairStage
parent: Stairs
- suffix: steel, stage
+ suffix: Steel, stage
components:
- type: Sprite
sprite: Structures/stairs.rsi
@@ -49,7 +49,7 @@
- type: entity
id: StairWhite
parent: Stairs
- suffix: white
+ suffix: White
components:
- type: Sprite
sprite: Structures/stairs.rsi
@@ -59,7 +59,7 @@
- type: entity
id: StairStageWhite
parent: Stairs
- suffix: white, stage
+ suffix: White, stage
components:
- type: Sprite
sprite: Structures/stairs.rsi
@@ -69,7 +69,7 @@
- type: entity
id: StairDark
parent: Stairs
- suffix: dark
+ suffix: Dark
components:
- type: Sprite
sprite: Structures/stairs.rsi
@@ -79,9 +79,29 @@
- type: entity
id: StairStageDark
parent: Stairs
- suffix: dark, stage
+ suffix: Dark, stage
components:
- type: Sprite
sprite: Structures/stairs.rsi
state: stairs_stage_dark
drawdepth: FloorTiles
+
+- type: entity
+ id: StairWood
+ parent: Stairs
+ suffix: Wood
+ components:
+ - type: Sprite
+ sprite: Structures/stairs.rsi
+ state: stairs_wood
+ drawdepth: FloorTiles
+
+- type: entity
+ id: StairStageWood
+ parent: Stairs
+ suffix: Wood, stage
+ components:
+ - type: Sprite
+ sprite: Structures/stairs.rsi
+ state: stairs_stage_wood
+ drawdepth: FloorTiles
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml
index f859daabc9f..c587e47efb8 100644
--- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/seats.yml
@@ -68,6 +68,11 @@
- material: Steel
amount: 2
doAfter: 1
+ - to: chairWoodBench
+ steps:
+ - material: WoodPlank
+ amount: 4
+ doAfter: 2
- to: redComfBench
steps:
- material: Steel
@@ -226,6 +231,18 @@
- tool: Screwing
doAfter: 1
+ - node: chairWoodBench
+ entity: WoodenBench
+ edges:
+ - to: start
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 4
+ steps:
+ - tool: Screwing
+ doAfter: 2
+
- node: redComfBench
entity: BenchRedComfy
edges:
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml
new file mode 100644
index 00000000000..081328f1612
--- /dev/null
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/fence_wood.yml
@@ -0,0 +1,176 @@
+- type: constructionGraph
+ id: FenceWood
+ start: start
+ graph:
+ - node: start
+ edges:
+ - to: straight
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: end
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: corner
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: tjunction
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: gate
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: straight_small
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: end_small
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: corner_small
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: tjunction_small
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - to: gate_small
+ steps:
+ - material: WoodPlank
+ amount: 2
+ doAfter: 2.0
+ - node: straight
+ entity: FenceWoodHighStraight
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 5.0
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 2
+ - !type:DeleteEntity {}
+ - node: end
+ entity: FenceWoodHighEnd
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 2.5
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 2
+ - !type:DeleteEntity {}
+ - node: corner
+ entity: FenceWoodHighCorner
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 5.0
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 2
+ - !type:DeleteEntity {}
+ - node: tjunction
+ entity: FenceWoodHighTJunction
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 5.0
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 2
+ - !type:DeleteEntity {}
+ - node: gate
+ entity: FenceWoodHighGate
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 5.0
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 2
+ - !type:DeleteEntity {}
+ - node: straight_small
+ entity: FenceWoodSmallStraight
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 2.5
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 1
+ - !type:DeleteEntity {}
+ - node: end_small
+ entity: FenceWoodSmallEnd
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 1.25
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 1
+ - !type:DeleteEntity {}
+ - node: corner_small
+ entity: FenceWoodSmallCorner
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 2.5
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 1
+ - !type:DeleteEntity {}
+ - node: tjunction_small
+ entity: FenceWoodSmallTJunction
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 2.5
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 1
+ - !type:DeleteEntity {}
+ - node: gate_small
+ entity: FenceWoodSmallGate
+ edges:
+ - to: start
+ steps:
+ - tool: Prying
+ doAfter: 2.5
+ completed:
+ - !type:SpawnPrototype
+ prototype: MaterialWoodPlank1
+ amount: 1
+ - !type:DeleteEntity {}
\ No newline at end of file
diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml
index 4e05a4dfb86..1a17b2f856d 100644
--- a/Resources/Prototypes/Recipes/Construction/furniture.yml
+++ b/Resources/Prototypes/Recipes/Construction/furniture.yml
@@ -220,6 +220,23 @@
conditions:
- !type:TileNotBlocked
+- type: construction
+ name: wooden bench
+ id: ChairWoodBench
+ graph: Seat
+ startNode: start
+ targetNode: chairWoodBench
+ category: construction-category-furniture
+ description: Did you get a splinter? Well, at least it’s eco friendly.
+ icon:
+ sprite: Structures/Furniture/chairs.rsi
+ state: wooden-bench
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
- type: construction
name: comfortable red bench
id: RedComfBench
diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml
index efc4236389e..32117812eeb 100644
--- a/Resources/Prototypes/Recipes/Construction/structures.yml
+++ b/Resources/Prototypes/Recipes/Construction/structures.yml
@@ -996,6 +996,179 @@
conditions:
- !type:TileNotBlocked
+#Wooden fence high
+- type: construction
+ name: wooden high fence
+ id: FenceWood
+ graph: FenceWood
+ startNode: start
+ targetNode: straight
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: straight
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden high fence end
+ id: FenceWoodEnd
+ graph: FenceWood
+ startNode: start
+ targetNode: end
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: end
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden high fence corner
+ id: FenceWoodCorner
+ graph: FenceWood
+ startNode: start
+ targetNode: corner
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: corner
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden high fence t-junction
+ id: FenceWoodTJunction
+ graph: FenceWood
+ startNode: start
+ targetNode: tjunction
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: tjunction
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden high fence gate
+ id: FenceWoodGate
+ graph: FenceWood
+ startNode: start
+ targetNode: gate
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: door_closed
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+#Wooden fence small
+- type: construction
+ name: wooden small fence
+ id: FenceWoodSmall
+ graph: FenceWood
+ startNode: start
+ targetNode: straight_small
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: straight_small
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden small fence end
+ id: FenceWoodEndSmall
+ graph: FenceWood
+ startNode: start
+ targetNode: end_small
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: end_small
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden small fence corner
+ id: FenceWoodCornerSmall
+ graph: FenceWood
+ startNode: start
+ targetNode: corner_small
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: corner_small
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden small fence t-junction
+ id: FenceWoodTJunctionSmall
+ graph: FenceWood
+ startNode: start
+ targetNode: tjunction_small
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: tjunction_small
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+- type: construction
+ name: wooden small fence gate
+ id: FenceWoodGateSmall
+ graph: FenceWood
+ startNode: start
+ targetNode: gate_small
+ category: construction-category-structures
+ description: Part of a wooden fence meant to cordon off areas.
+ icon:
+ sprite: Structures/Walls/wooden_fence.rsi
+ state: door_closed_small
+ objectType: Structure
+ placementMode: SnapgridCenter
+ canBuildInImpassable: false
+ conditions:
+ - !type:TileNotBlocked
+
+#Airlocks
- type: construction
name: airlock
id: Airlock
diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json
index c94ef979092..cbfc417444a 100644
--- a/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json
+++ b/Resources/Textures/Structures/Furniture/chairs.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi",
+ "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/11402f6ae62facc2e8bcfa1f8ef5353b26663278, meat.png is CC0-1.0 by EmoGarbage404 (github) for Space Station 14. chair.png and its derrivatives taken from shiptest at commit https://github.com/shiptest-ss13/Shiptest/commit/f761c784812e827960a66cd10aac17ebc6edfac3, palette for chair.png, steel-bench.png and chair-greyscale.png taken from paradise equivalent chairs at commit https://github.com/ParadiseSS13/Paradise/commit/5ce5a66c814c4a60118d24885389357fd0240002, steel by SonicHDC, brass chair.png taken from tgstation at https://github.com/tgstation/tgstation/blob/b7e7779c19b76449c290aaf2150fb93545b1a79a/icons/obj/chairs.dmi, wooden bench by Ko4erga (discord)",
"size": {
"x": 32,
"y": 32
@@ -71,6 +71,10 @@
"name": "wooden",
"directions": 4
},
+ {
+ "name": "wooden-bench",
+ "directions": 4
+ },
{
"name": "wooden-wings",
"directions": 4
diff --git a/Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png b/Resources/Textures/Structures/Furniture/chairs.rsi/wooden-bench.png
new file mode 100644
index 0000000000000000000000000000000000000000..00192a144795a57793a9311c42d4eff74202c507
GIT binary patch
literal 3122
zcmcgu30Tu;8V-jbD9Y&QD1#a+s|ch`(>qW(ESFjiK>>Y6Ns|;RZByEE>8eFMVAK^w
zVNeiea7FMTyhnKm}byQ5ir5MP*!OMP(I_O}WOmP9rBI6*ou|tgpn?!H!gx|xs+mbfEBuyf
z$&jT1q4?4mTtqP3XMk>rC{3Uu^%$6_QmS=mqL|Uki_&A`Z59LUh3I3%3{PV~FkBi0
z&ZM*?C}P484#R9vAY$S$0&``E3y8o7hXo@nSOmd*6yc+6F4+HL(BZU%9Gxri=?_L<
zi5by)y#{5m5)u-a2^=P+jbgDyB9V~;K_D6d>5|lXED=)crVKDhNFAY0l
zK{x#qE>eQ&Nil<-#D!o4VhcjqLKG3AJiar`L1DNLDy0a8Jn2&?2V(O>VFcy!P!9YH
zDBVs3rpNv*n7~mvrBz|H7YY>?MY1&NC