From 0979aa0cd36dad9f300abd8b2d5cb23ba361b0dd Mon Sep 17 00:00:00 2001 From: Caiggas Date: Sun, 10 Feb 2019 19:43:32 -0500 Subject: [PATCH] Adds wooden chapel pews (#42712) * Adds wooden chapel pews This adds wooden chapel pews to the game. They function much like ratty couches, in that there are several different pieces which can be mixed and matched to make different length pews. They can be built from 3 wooden sheets. The change to sheet_types.dm adds the pew crafting recipies to the end of the wood sheets crafting list. The added file pew.dm is the code which makes the pews work. The added file pew.dmi is the sprites for the pews, including the overlays for the armrests. the change to tgstation.dme is a single line which includes pew.dm. This is my first PR ever, so please let me know if I made any mistakes in approved process. * merged pew.dmi into sofa.dmi As per the instructions of several commenters, I merged pew.dmi into sofa.dmi. pew.dm has been updated to reflect this. --- .../items/stacks/sheets/sheet_types.dm | 7 ++ .../objects/structures/beds_chairs/pew.dm | 72 ++++++++++++++++++ icons/obj/sofa.dmi | Bin 2488 -> 9782 bytes tgstation.dme | 1 + 4 files changed, 80 insertions(+) create mode 100644 code/game/objects/structures/beds_chairs/pew.dm diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 04ddc7b0f6c..11985d08dbb 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -205,6 +205,13 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("wooden crate", /obj/structure/closet/crate/wooden, 6, time = 50, one_per_turf = TRUE, on_floor = TRUE),\ new/datum/stack_recipe("baseball bat", /obj/item/melee/baseball_bat, 5, time = 15),\ new/datum/stack_recipe("loom", /obj/structure/loom, 10, time = 15, one_per_turf = TRUE, on_floor = TRUE), \ + null, \ + new/datum/stack_recipe_list("pews", list( + new /datum/stack_recipe("pew (middle)", /obj/structure/chair/pew, 3, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("pew (left)", /obj/structure/chair/pew/left, 3, one_per_turf = TRUE, on_floor = TRUE), + new /datum/stack_recipe("pew (right)", /obj/structure/chair/pew/right, 3, one_per_turf = TRUE, on_floor = TRUE) + )), + null, \ )) /obj/item/stack/sheet/mineral/wood diff --git a/code/game/objects/structures/beds_chairs/pew.dm b/code/game/objects/structures/beds_chairs/pew.dm new file mode 100644 index 00000000000..936b785deb6 --- /dev/null +++ b/code/game/objects/structures/beds_chairs/pew.dm @@ -0,0 +1,72 @@ +/obj/structure/chair/pew + name = "wooden pew" + desc = "Kneel here and pray." + icon = 'icons/obj/sofa.dmi' + icon_state = "pewmiddle" + resistance_flags = FLAMMABLE + max_integrity = 70 + buildstacktype = /obj/item/stack/sheet/mineral/wood + buildstackamount = 3 + item_chair = null + +/obj/structure/chair/pew/left + name = "left wooden pew end" + icon_state = "pewend_left" + var/mutable_appearance/leftpewarmrest + +/obj/structure/chair/pew/left/Initialize() + leftpewarmrest = GetLeftPewArmrest() + leftpewarmrest.layer = ABOVE_MOB_LAYER + return ..() + +/obj/structure/chair/pew/left/proc/GetLeftPewArmrest() + return mutable_appearance('icons/obj/sofa.dmi', "pewend_left_armrest") + +/obj/structure/chair/pew/left/Destroy() + QDEL_NULL(leftpewarmrest) + return ..() + +/obj/structure/chair/pew/left/post_buckle_mob(mob/living/M) + . = ..() + update_leftpewarmrest() + +/obj/structure/chair/pew/left/proc/update_leftpewarmrest() + if(has_buckled_mobs()) + add_overlay(leftpewarmrest) + else + cut_overlay(leftpewarmrest) + +/obj/structure/chair/pew/left/post_unbuckle_mob() + . = ..() + update_leftpewarmrest() + +/obj/structure/chair/pew/right + name = "left wooden pew end" + icon_state = "pewend_right" + var/mutable_appearance/rightpewarmrest + +/obj/structure/chair/pew/right/Initialize() + rightpewarmrest = GetRightPewArmrest() + rightpewarmrest.layer = ABOVE_MOB_LAYER + return ..() + +/obj/structure/chair/pew/right/proc/GetRightPewArmrest() + return mutable_appearance('icons/obj/sofa.dmi', "pewend_right_armrest") + +/obj/structure/chair/pew/right/Destroy() + QDEL_NULL(rightpewarmrest) + return ..() + +/obj/structure/chair/pew/right/post_buckle_mob(mob/living/M) + . = ..() + update_rightpewarmrest() + +/obj/structure/chair/pew/right/proc/update_rightpewarmrest() + if(has_buckled_mobs()) + add_overlay(rightpewarmrest) + else + cut_overlay(rightpewarmrest) + +/obj/structure/chair/pew/right/post_unbuckle_mob() + . = ..() + update_rightpewarmrest() \ No newline at end of file diff --git a/icons/obj/sofa.dmi b/icons/obj/sofa.dmi index 9e250506e1bc2395bd37d13e1e1bbbed2eb7c321..1ec3101c027c410ab14c501d08618fd2c99de85a 100644 GIT binary patch literal 9782 zcmbVyg;N|pu<#+p?QrLi0>!Pk91g|Z-HXfNTHNUmcPs9$#oe9a(!e@D%yxGB?Vc z&m6qLYqpOxij>vL))>-XnvEO6`}UYZOV}P?Fur8UE0?Oe?UQ?buKraUgo8``g)}o1 z8&|PANmF17>cYOy_Q>%Y-qvch2y=DJ;%YsfS??L*$<@hL^iF=7{M}7Fx_SBf(}a60 zH_&$Z9RL6UWF%g*ZDqML6#NuJT z^?Nrkj?)x{w(dJ%y9OJ~hH-nTL>TAq^~2iI;ld6})w`Pu*pAmT!6RYeFxFU^z~kSV zI&!<G1@Iz&WpBpkd&rxLBrkkVUoO zK!AShc|B|4e}P@gmH85|gYD!7Oml>@6}@JjtFEHkl4}^fXaYUHkD)l7vv$xpzDg4$ zZWXY!k*m~LkLxBZ+^=;nDft}fzCD$|G@c{KQ_V#f`A)ZtS147>X_bK95Y8`89C~QP zK0Ame^{{a!sig8>pNu)AfhdR(=m8q1KO@!fgQLJn`5fsJxaik~z#tbfJX!eas(a){ zG~ zxrTLBH~3%2ZzB3%%vm$wvMOoSp-T+Ml=}fLM_JR>XdA)1d?D^d@|{j)FD^!{Nxsp| zxpGGVS1}skk&O zDgQEuFyN&X^wZD?5o3~etH)aETb@XLWIIOk<*vUF_3I4N<&ECpiEMxASn8H6aa7lP z0U_kQxEC>SP^cf3JKt}H85%;azg-;)^>J1bCR+JqO8sr&i>~iCLX2zDfYW^Tj65d zGP_(li3m3q%Vuqq--8*}@6 zyQuP6fLE<^mC>@6OL~D~W~a@atyN$p1}Tw5KWnTO)!hEo z{cef6r**ne6$?3FxK&Ab7Clvo_0CMZH@pS+E_Tz{v6b!YXdR{K}+ zNwLEk_sKsTeW>mHW|XcpF%HzG5YXZuuhmhg&Gw z3XkCN2|f>`hbFq*bau|J8DlfVmFPUm!Xzmw*cCq`CAwnNV|71sG63hs;?4taReZ%m zB5o1dU2p2n^mx@IA#FF;j8tkHs6uTIuQgaerO2ry+&(ex)GjNo6DLG#UPdy%8IZ0l z?boKDv4DB|iUIY*WWdJ1r-=i4FyFo#87UE0Q}fOz>3mX050-s)a;v*=q7un{iP6FG z8hgW6q;I#iSWf=bCL-@w^qjj?^PL<-l;-w~;g!QUEyQ03u>#uZ{wX>GCXvC9;py1R z&QG--k675t>1=(lm!=kd+3m1iVVO=#*=pP=8D}kNJB|N!SLf@;Oi0SBf1Lq_U{aYe zv$2Bqi1HY&q^sphu5oLTNx3ib}{8*GF=7<}R`H%$!xpId^N6lwT9|Osif3k>n+|@wBG-u zySyG}jaPW>I?OA{@%}EOb_p#UUtfx8Wk}Rraa(JiawTRSS!uAUTFA6{Rl{{58Dj|` z%~2ZsKs}DLb_*(NZQLa~3sZn&<5|Tw&~e{0A0GC4-GpKDj84ZAwual-&)*}F;(W}F z-djA0ZqA_X+DHUVD0as2kM7-D@uwt9xUj(&c3JHIc4p`0A&a42$r+_KVN;~AgxqE6 zA)+>?L|{!XltZ*CV)bYy1!J89>KI}iO4uSItw`HR6X2rg@&UIn&EJRxBJfvu0j+*h zDfz;7H5K)a+xiz^d6X9B;dA5plSSGKyPYrWF?NvtA-5X*e@%eD+r#O5fiP&^rESM) z6)~xf<=y3;kK9cWNEc$=Zzq>FX-6PJp2Xj!bM3Ekv zN|>P>7eTaX9O~V zD7GLwDZ6@}(QgewHYw!{hF#1HUGno+N+>(1@@R0agnz5-@Qea2fL){5?33BEpPLh8e`QBPhgnHOL}t?f(=`JyfumG1-*|ml%a`e)73yhu5RR*^AsKZ$v?Wx(xIBXG zY(l9|@$wI6;E}~xCi`)OT9{39oU(ecj2!1iW;nfmt`#nZpi9T1Fi-5i4pmfWyR2(< zh#y=&gw4JSFbK8BtEogg?!FPDbHLS@U4q%*O#5dx&{CPq_(R1Jg`YF9U6wjR?f!ju zIm$67GL|V7y()KWtV9-=NpDK0lU&h&-{O+dsjN8<*&AW?UMDnXK4krI(;451rNVc9 zVlQ7jn-N%n7sv^RG=)!A-)fbxrqztymr5;%+dC`iF~3T{()O_j+^NeHc!>yJ=ji&p z=m}OMtp2L3Y4n0$z|hD;|-tP&~Gb9gkF z4l}nqdV=pKDGh)W>#WQP2)(~7ZL6QbX1^*WTVbUcb4GPkvO~F+iNNGRTFqfr{-GBP5b_`!dyk?PeG-#$dBzF`jq!;Bte^9CzKMen=lGM-Jbu?SdEfb6pv52vf=pwX zfn0yx25kvClzS91{|%S7uA`n~GT^x3+CfDCH!`1VP0Ch^pQwNn1)9z$u?Sg}TN`au znCCk$WmO3yUZILkgGgNbxAn;jA*mii9%xFywqCO9VW>N94#?&!137Gr7&TKa_;%F% zr%vGcUHI$9UFZ=PQu{$2`?w6X@BD8Uqcs+911W#LZd3_v(Yl$&vv-ar9e#}pL7Wk| z>S)@LQ3^0FQ-l$ifW-&58AMAaRY>jcwZYD^8;@N4 zMv;u7RrKZY-Pgwnfv`;^&;iQxwUNHQ`A*@enpMo;wtVWIpTZo%rJ8?2t=3((+czuu zYHEb|HP_x>&)g<)teg(Ly^EzEzBu7)DT|nRIwwHLSH#fkOd4(ga45}ww*#Sk& z%I{Tp*^kW|JVS05W51(4JO6(=?+-e}!qQcmM}v{+$FXm99w6}pG!29*JX64id+SpN z{kb0$x%0M)722+Z-fPvzw+D(Tj9w%sX9k&{CRZJs?yu!Vc_f5!Esqz#**hT25ao~B zSZtS-#>JG6W&2-)T; zFKR~bW4VGzA9v>j5l9I!W%0-cJ|kJA2D$Njz%Nb@mYX#MNEaN;Mh>cS)}~9Q_&DAP zcQEZBwT#p%M)|kS`iaaG+A)O=+O3lL#SWHpyPMQD8M4pvBykpK&22XEQ&V*a5)_TT{C9Ncs$3(z+y zU?ph4#>pZA$4z6#7$L=Xj&%HCguU|(DJn;j!3R7mnf8V~j{`Up7oqwQ($)W8}KZTA= z(euy0k!tY^`fbmDP-X4qa)o!zZ{43jYaC6QSK*Hd zK(9qe4GAqfyMtu|pW92rd1PU#^4Z|01xmh}!hUEcPFC^bm-&Cz8MO@vY(VdfQwLqZ zxYy#Aj>Q_kOWLt3We62~20lhH6DJbPBB_{0i(>hU2*xE0rwVE*yxmwXH)^RZl7_nK zO&UIw-&r2N&W=k-60}xQalEEd>bj?$GAp%wE z3kFhh-Gr0Nh?7e9g8>(~l7%$C784uz1Z{3zA~-8Gkx>dTvNKz{J5MpHk?g`$r$F6; zC)-)Yb|nYWv#K-4d~s0FF-J4$+If;?8DB-#7kT#Yf!B-wm2<{?A-CCt^gQ1$*+$jsG^iD0qB)+G*dHF6S{~0W z_`th`m{ruNq=Q?&?EmPbZXA6x%0?fXgDqO5G@4eUsPclB(q=_Gt?hO|QECuY4~TxJ z?SKSz7HVpyC6q@{$Y5q=T9oTcWw*DJC@2dPR*6EUmX8Axbrn-t=H>|L(RFCCIO;9o z=Kc5&Cn6V#^5Ve8?QaCrf4xp1gc4x5K zR&5s;%ss-Do)JucW!UIcg#OHL9vq}FUfqFPp-!8+|9T>t5nYphmtr*nxHfJM=p_AO*Nm!RAug~;?>o~A)2!&Pl?ZHF`&fE4-hoOx7!PI|y_e$m;})6eC&dm{Ot%aQXM;RD z;0V-FdEwK>%E8;c|=)5TEN9nEJFC2jS zlYM(CNXWnzE!C1BDMhQRxZz%w8c8%}S8v^8S>b@f;ALFgp8j1Co6 zf}z&WuRTge-IP9qm{{Li)~X=B{>Qh-!VSyA;TNEX*nnsBlCsf%n?bQ`cq}CH9Mp$M z23ANVnWFN#6l8A4$_AMVZ*X4H)+X<8xAuYN4e*cNDy1oTyDh%*RS&s{8xAd+xs@V9 zep%7L4BLU4$yg+j6@b6X6FeedZu~PZ=gDUG#`eR}(O>;k40G+^;&g$`JkIo#c{hud z2z^>qwKm1CM#R+kWZ4>jTgoT%H5mWM4jwn3C^nuDe-`S-TnL~t*|_Tv%eIF%8Cy!X z5Vv$`g+AL;X2wN3@>R;Ol*k=VOhN7zoy+%r znR$6V3W*=UW${6%+FgUZrSSz{&N@gV%p`#QQUkkf_;>%BzX*Ppwq=Lo77tsj;(gl< z@S0jZy~Lz=RlnT~P2rg@xMZ>#NprS?M{8*=^sGMf=~9B3?icaJ>>bo&XX$Dp3fR+Q zMQbwg@=9M~MvTXKyM&e$cHB3GZN6Jhu%F;Sz1|&b5U(B`eQQ)3=7%YK($wO?f1U=} zdw7Q*YXUs-t`wZs*;m>ggK;pO#Q;NrtRm09osly60_menAF90n((?xfZ-c{oZs=i$ zfFYzUg*y(}-Ux^89WO?&H;E)`dM9Ln5Y=zmO82jg9J(>s*>T|l2STKLGksR^A_LtV zmh#(Ph7P;;e%%N|l)T=hq2soINZwVNA%2qcx&07Az?vQjC#rq?dG6h4z7A%%rFD@& zQi+n_0AHX{rE90>XNi*ez5^vPis*FNJeiRJ`X~m>_kAzn(rIT;@=H^M0bhEgWjf)j z$hNXv7(k%%k2Y=?8!zie_-_7-ovI4pRMrzNoy=~Sobwgp1#_DJo9#4?7;*|fykYci z&b@aa;>+SY>bO_ye;;}uOFV>tRYf^IkP{Hnb1wkr)%E^*vE@Jr_?PrXgv`|d};>oTk@D*~WZhL0lLhNJK?LKV@AbhZ!PjyCeK zEHxuR0GoC~gtkGHm-kv`mudYs<Z?* z$GE_tUEXHwpeezBY;+-cht%O&#wOLFdV1_g`PNN*r6%#_%k1EspT{qpTUWyO>1J1C z_F)(>o0dJhz5*(6afG?>fFWmr-8{j_>S6iU3&F56+O+-H>z`p^DG~37-_~A%(lD$vaLzZLV@X4x6yLA&*3P7I-(UaAZfIyS1wEP5i3L+Q!^afjHS8D*6iUayiu(ayYK%Jf zhOdG~9KE&yr3e4Gwbv<_Fs4?8#6D9coSgQ0k+BA`2hKUq2w~I2Q9*{MQdI_tKNt^< zkB?`^Z$gZp!I^=U88B$&gxV9A?lN`VgFQ^6CD<^W=|Z%Kx~Xwr!kK{tk}YfKg2$A_ zxLr!KHYI+Y+3^=R5+QkKFhTu-T_^axUOUH+T=scM`$jMVOt5dKx9sGcamr@RY%#q= zpeR17b8fXWegyi08V5Gwuk>aU-v2;3h@d`N`er^d;_9u;$n56Wli>WCOsPjBH27wi!fyBQ)k{1P8mG z>85ewR~UNjl*yJ{GdKXQAp*iibCUpMnko2shS*8m%F|OrEH` zI^Wm=7SlqF-o0Y#v-XE#AA-VQXl_GszaQPSuVFQqG&oK1N_aTkQdQ`%pb%b2rjh&= zN(qDUj-VO>%t(CC4g5S#-xFlJM#=^Cyt&&X9=Qn5M=3P_Y9=7)1X{_88cu~NcFf_) zTf|0bl+~_|Lr@BMU4y=GP6MY1|F!(*&kH7U2!p4*cVeXSqyuUH6uzL(T@2i|1lJO) zR)*p7h@)UoSSbn%rs&VG1p;=2#%fCBhGf5i;3Iqlx+xw3wK7DjQ>DXuV_&@II^LFD2!$+uNWmWm&Amx!PlS<`O2=Ar!tV2%4I(32 zA^SVwJv?lXvvdw!_8kCfVBj~~iP?A4H8wD&pA||NucfDL)#@z6Y$FY-;!uzt zj5s!Z#h)0^kZnBRC$5~4enW5Xqvizx%!9G{{sJDm68=<+Se(fFu?K@n)fEkV2;}YK zqK$v&$p-j+hPNVRt_jWU^!LLAxOHsU^IcqDU&qxLe29NiBfcs|2-bVY28*7d;pR^| z!V92)oQue-!gHR!%89iV$>+hyLn4S$p%d7p49jqPHQi+;h zI*7MF&Hi&4sv~D(n*!S6gOswoLoQBgH!CLN3LSq$)L_z>Upscaoc>{#=ZMlOjH#`* zD4581-4+pg7V2(T?#~a!FR0Do{mbJZt*sLegnyFO-YE9;$lTqq|L?h>UExacqA+^$ zot5J8?B|I8`_ugy^#&gM#NN7n)hzEI=90crlMI#kucCO4xGqx4OjnE{-X9UcMOZlD z29A=>)1}n~JjYD18YX$_d#5I=?n-NM1n_yp0~SH-QeTQf7f3|0PHkG&nxyViCE33r z!w&uM5budbrU!$c{G@}(u%my{dqTNDv!%{Mq5v`aJE8d9uHb((%0)8d7Z4oc4sQX;ar(rq=!pPYQL&UZU8PH)rP%3Om4K6 z*o$d)Fm>c;_q_1XDwq{ZV`66zE&KrH*wxeUF45dr6;3Bl<~GbGBw&A`By0c+m^}+c z*~vKf5kBXGVrDJXS>oLnkvd`czECs<5_%Z(VHbwtj-|A<1M~ zA)_^Gkf;-*hHdNZcFpH>t2<45(AtXhDS=?=`({$cRe1cj4eTAvBweQlP|rMe`d+c- zP+Ixl!yB!lt~bbB?UI<(V^QIuDZ9huK?S<9a4;Du2NT8TH-IJjFC>@8BX5@E{+bz zNQ|uUOahaE+BSPFtDkHkG3@p)*;R1ysqE+0ZujHsHxBP6F3byfQUZA_k*Wz_RlOVS9~SN$z53NORk$d z9+iDJQCFs#!r}a{tv9k0-kF6L-jHE59@x0t-(H0`{SM1fNYZr()_KwvXl%t8qMAqv z1KIINy@t6x4T3FC5it8H$A7p>maPhczMk)gnMk*3!?xW0 zb}FcF%DS&REs{Gbd3&Gf_*TOdp=j2R01Mf5pSAX=2=+;2K8MSS=-@5+UJX&+Kf_E2 zU?2ioh*FrG?c$|lsP`o4C-*5s4x-ML;`{RdR7oreKhw+hm9r^c@;K5qYb80oG?-!5 zydPZndNiN^i^X}l*TO}7k6lCSUYD_RqE$v#N9H{UN%$cpEn^u7+U4bfQ;w%H24lg3 z3@zRW5@EZ`c^?+c9)>-doow)0pA_#DX%hoEBD#&z!hJBj;Ajs|D$~6*)SHpW^?4O9 ztF=F2vELCLEE(X*0oUkdv*t8#ZasM@{w2R-^YsD%pG5zs761p&Hi#Y&##YIHdumP@ z#n+b>EHJdIw0lpNC)|t4+K{b2JI z`yxzoTz#Q%;QKq8sep93=naH!1`~-C5g|R>dX>Ng8vOUP-5^Yq_+vri)=T2c9urK0 z>H+NxYNY}D_RBS8#{^*Xw;ovsKy!a&{+}rRVVTcP>#shh4B$zY= zyVH|zV9u9MQLuyTP0tpujK(HFFGe=Jcw=2g>aTW`!A0VxO$dE8Ye7<=Yhd$0X}L$l z^bgzhN5Kco_pg!p@59|5F|3U;R47HCb||72S+BniIHJB^y!j6%nl4%)=SrZzX9F3# z;Q$oBZ)P+J!yirlSximZ#82;`vU(60=%C*m3U=G zq6K2=mCy(Kl+Fz|ip6J>{-&8Q%NNXFMcwUGQ+AN3hmSRaRS36d#84}M{i$!eZQ0%s z_T!uW2|-aTv!WiaCP@iUs^>k6^R0o?(}PHC_seO3E!r;bf-#1Wj6`9K59?pX=`Q8c z90p0yPy$h|5r|PS06RB;7i*Nes zt4Rv6P|f%u3Mt1M3+;PaQAcQU|G3PqV$&UVppYi5YUe$`T^+0#OQEbY2UffW{k@} z@|wYAQvYWp`!@C?Yg~Z0Uvcp7By3M|7_-r%qFH^aiMFeQ`BofK#dkAxzp2Rk3sCx`RI+^5rrYi;4owS zV&WtGgPURC!2f>!1suM8mS9>(U_~xtiS)I$k|l-eQ;&>G8do$QFC2ZO)7#0GeQTL0 z!&H`U8t3@|1_slVlcD;Q^uvAF4X`n&4oP-*46aA|qn>1g1kE-iZ*jEntHKyEHDS|%3F!zpDOQ7b5Z>ujgb77f!Ei@qM>wDaGa%n|}Re7P_MB`4SJ zTvj*%YdC0OICLB>1Owli5%$U(Gt`C+ru45be8rzUL=P0|jI`S?JlD|eW<8UJ^d%4p zBrARvHpzEfm&FQI8FYnz-;gg=pigjnu7u;bL@!C2TP`- z%=pLu13B@+Qvd(} literal 2488 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