From 140aa89ba4d0a0ab25d14a6ce342aa418b19e4b0 Mon Sep 17 00:00:00 2001 From: Kit0vras <123590995+Kit0vras@users.noreply.github.com> Date: Sat, 6 May 2023 05:20:02 +0300 Subject: [PATCH] usable bookshelf (#15333) Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com> Co-authored-by: metalgearsloth --- .../Catalog/Fills/Books/bookshelf.yml | 71 ++++++++++++++++++ .../Entities/Objects/Magic/books.yml | 3 + .../Structures/Furniture/bookshelf.yml | 46 +++++++----- .../Graphs/furniture/bookshelf.yml | 26 +++++++ .../Recipes/Construction/furniture.yml | 17 +++++ Resources/Prototypes/tags.yml | 3 + .../Furniture/bookshelf.rsi/book-1.png | Bin 269 -> 211 bytes .../Furniture/bookshelf.rsi/book-10.png | Bin 0 -> 518 bytes .../Furniture/bookshelf.rsi/book-11.png | Bin 0 -> 512 bytes .../Furniture/bookshelf.rsi/book-12.png | Bin 0 -> 505 bytes .../Furniture/bookshelf.rsi/book-13.png | Bin 0 -> 504 bytes .../Furniture/bookshelf.rsi/book-14.png | Bin 0 -> 673 bytes .../Furniture/bookshelf.rsi/book-15.png | Bin 0 -> 676 bytes .../Furniture/bookshelf.rsi/book-16.png | Bin 0 -> 677 bytes .../Furniture/bookshelf.rsi/book-17.png | Bin 0 -> 665 bytes .../Furniture/bookshelf.rsi/book-18.png | Bin 0 -> 659 bytes .../Furniture/bookshelf.rsi/book-19.png | Bin 0 -> 643 bytes .../Furniture/bookshelf.rsi/book-2.png | Bin 355 -> 242 bytes .../Furniture/bookshelf.rsi/book-3.png | Bin 466 -> 266 bytes .../Furniture/bookshelf.rsi/book-4.png | Bin 506 -> 301 bytes .../Furniture/bookshelf.rsi/book-5.png | Bin 617 -> 304 bytes .../Furniture/bookshelf.rsi/book-6.png | Bin 0 -> 348 bytes .../Furniture/bookshelf.rsi/book-7.png | Bin 0 -> 537 bytes .../Furniture/bookshelf.rsi/book-8.png | Bin 0 -> 532 bytes .../Furniture/bookshelf.rsi/book-9.png | Bin 0 -> 524 bytes .../Furniture/bookshelf.rsi/meta.json | 44 ++++++++++- 26 files changed, 191 insertions(+), 19 deletions(-) create mode 100644 Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/furniture/bookshelf.yml create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-10.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-11.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-12.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-13.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-14.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-15.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-16.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-17.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-18.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-19.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-6.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-7.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-8.png create mode 100644 Resources/Textures/Structures/Furniture/bookshelf.rsi/book-9.png diff --git a/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml b/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml new file mode 100644 index 0000000000..af363cf374 --- /dev/null +++ b/Resources/Prototypes/Catalog/Fills/Books/bookshelf.yml @@ -0,0 +1,71 @@ +- type: entity + id: BookshelfFilled + parent: Bookshelf + suffix: random filled + components: + - type: StorageFill + contents: + - id: BookRandom + prob: 0.4 + amount: 1 + maxAmount: 4 + - id: BookNarsieLegend + prob: 0.1 + - id: BookTruth + prob: 0.1 + - id: BookWorld + prob: 0.1 + - id: BookIanAntarctica + prob: 0.1 + - id: BookSlothClownSSS + prob: 0.1 + - id: BookSlothClownPranks + prob: 0.1 + - id: BookSlothClownMMD + prob: 0.1 + - id: BookStruck + prob: 0.1 + - id: BookSun + prob: 0.1 + - id: BookPossum + prob: 0.1 + - id: BookCafe + prob: 0.1 + - id: BookFeather + prob: 0.1 + - id: BookIanLostWolfPup + prob: 0.1 + - id: BookIanRanch + prob: 0.1 + - id: BookIanOcean + prob: 0.1 + - id: BookIanMountain + prob: 0.1 + - id: BookIanCity + prob: 0.1 + - id: BookIanArctic + prob: 0.1 + - id: BookIanDesert + prob: 0.1 + - id: BookNames + prob: 0.1 + - id: BookEarth + prob: 0.1 + - id: BookAurora + prob: 0.1 + - id: BookTemple + prob: 0.1 + - id: BookWatched + prob: 0.1 + - id: BookMedicalOfficer + prob: 0.1 + - id: BookMorgue + prob: 0.1 + - id: BookRufus + prob: 0.1 + - id: BookMap + prob: 0.1 + - id: BookJourney + prob: 0.1 + - id: BookInspiration + prob: 0.1 diff --git a/Resources/Prototypes/Entities/Objects/Magic/books.yml b/Resources/Prototypes/Entities/Objects/Magic/books.yml index b9208dc669..1961348cd5 100644 --- a/Resources/Prototypes/Entities/Objects/Magic/books.yml +++ b/Resources/Prototypes/Entities/Objects/Magic/books.yml @@ -10,6 +10,9 @@ layers: - state: book_demonomicon - type: Spellbook + - type: Tag + tags: + - Spellbook - type: entity id: SpawnSpellbook diff --git a/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml b/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml index 461e1b5bda..7274ec391b 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/bookshelf.yml @@ -2,7 +2,7 @@ id: Bookshelf parent: BaseStructure name: "bookshelf" - description: Mostly filled with erotica. + description: Mostly filled with books. components: - type: Sprite sprite: Structures/Furniture/bookshelf.rsi @@ -11,21 +11,11 @@ layers: - state: base - state: book-0 - map: [ "enum.DamageStateVisualLayers.Base" ] - - type: RandomSprite - available: - - enum.DamageStateVisualLayers.Base: - book-0: "" - - enum.DamageStateVisualLayers.Base: - book-1: "" - - enum.DamageStateVisualLayers.Base: - book-2: "" - - enum.DamageStateVisualLayers.Base: - book-3: "" - - enum.DamageStateVisualLayers.Base: - book-4: "" - - enum.DamageStateVisualLayers.Base: - book-5: "" + - map: ["enum.StorageFillLayers.Fill"] + - type: Appearance + - type: StorageFillVisualizer + maxFillLevels: 20 + fillBaseName: book - type: Damageable damageModifierSet: Wood damageContainer: Inorganic @@ -41,8 +31,8 @@ - !type:SpawnEntitiesBehavior spawn: MaterialWoodPlank: - min: 1 - max: 1 + min: 2 + max: 3 - !type:DoActsBehavior acts: ["Destruction"] - type: Tag @@ -55,3 +45,23 @@ bodyType: Static - type: Anchorable - type: Pullable + - type: Storage + capacity: 200 + whitelist: + tags: + - Document + - Folder + - Write + - Book + - Spellbook + - type: UserInterface + interfaces: + - key: enum.StorageUiKey.Key + type: StorageBoundUserInterface + - type: InteractionOutline + - type: ContainerContainer + containers: + storagebase: !type:Container + - type: Construction + graph: Bookshelf + node: bookshelf diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/bookshelf.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/bookshelf.yml new file mode 100644 index 0000000000..7f3b59337b --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/bookshelf.yml @@ -0,0 +1,26 @@ +- type: constructionGraph + id: Bookshelf + start: start + graph: + - node: start + actions: + - !type:DestroyEntity {} + edges: + - to: bookshelf + completed: + - !type:SnapToGrid { } + steps: + - material: WoodPlank + amount: 5 + doAfter: 4 + - node: bookshelf + entity: Bookshelf + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: MaterialWoodPlank + amount: 5 + steps: + - tool: Prying + doAfter: 4 diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 02b7a26bb6..1c7afe46e0 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -444,3 +444,20 @@ canBuildInImpassable: false conditions: - !type:TileNotBlocked + +- type: construction + id: Bookshelf + name: bookshelf + description: Mostly filled with books. + graph: Bookshelf + startNode: start + targetNode: bookshelf + category: construction-category-furniture + icon: + sprite: Structures/Furniture/bookshelf.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index def86ed2c1..166526ef72 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -673,6 +673,9 @@ - type: Tag id: Syringe +- type: Tag + id: Spellbook + - type: Tag id: Taser diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-1.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-1.png index 9711a18844e991111141bc5a38923565481ee500..070eb14ca8935e9a691e40d11678edbeee724038 100644 GIT binary patch delta 183 zcmeBWy39C1rJl3EBeIx*fm;}a85w5Hkzin8X!Ue)42ft>{`3F8{b2{DWsF;EuP`p= zlPF~{W3RB%{+B;5>{I>STbciD=Za>=d2Cp~y{F>mtcCBcRNpMO7P*t>TR!;5E63F@O+6gWG(5T%Z)4hWHbMY0~MI$+v0 r2{;=X|D#|OjDk@x3I;h~U|;|Mc|kaSVvdV#00000NkvXXu0mjf*D7T- diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-10.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-10.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e5cbab0d701bea1a28d3fcbce7b0fadb31b464 GIT binary patch literal 518 zcmV+h0{Q)kP)&+^`T56|6)mwUcv zAcSC=nwjd`bpRbe2T%fVyKLkj5hTY)3F3CyNYph)kn;#@-ye7}tA!xw5mr%t;QJh5 z_#9z!6}cfkM_6&-809zW9FP6R3Gmi|lWU^%+D7gA6s5|@-+hR{$u&W9?>IcWMYZ`X z$q)P*Qv?8HGP9uj*FTZVQTUva-R@Yqsn>8~C-7S-o&e{>L=75|>SOLVW79i-+4p3!Tq|dXcvMgwhmvo(G zipXTLpqb*Z^L37wWJ;A*e|EHlO#d000RX_XvN61tcU`U5;*5NDENyL%2Ow4h($ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-11.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-11.png new file mode 100644 index 0000000000000000000000000000000000000000..9cdbc861f6efc25f3246fb06daada27c41423e07 GIT binary patch literal 512 zcmV+b0{{JqP)gfV(d*4tfse&37PtOOx%cct=u-|q~= z?+lZx$PMv3!-@mPD8Eq^MC{g%fwvaiLLG(ICMwq_D3pf&)I1-|_%s?opyAcnqt-sj<9Y6=r0d#-{sxAFWn*b(&37`cK@Vm%%Iz|rm(w201nFSWvWv;hx)$f)5Y~MRi z+0pJ2T^|4*g{Q#)A|*H0F5J4INJ-x_;?uGW>t__Pil0-a(-|l?@){291b!>c6Yz$j zWOMI~ctg=IU8j3Zcb?9uXGhZM0AfMo02Piy_9TxA$ARGmMb{a&fLtyQhAs3uU*iQu zrdV!Dv!f|yq-Pig007(EQtw*bb-iBG8TIU#Sy>$nfYy1+uGrJPR(D>OdUi1R{9pht vcb7)k6rDGkq4hUgU;>x`CV&a>uK+#)BG>IYBoLw}00000NkvXXu0mjfVP4!O literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-13.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-13.png new file mode 100644 index 0000000000000000000000000000000000000000..a795f687982fe9dfd06ba73ae47345d65d8ae8f7 GIT binary patch literal 504 zcmVLfG>Z6erz;NsE} zLW5f^;%-w*MdV~s5;O=IN99y^6kgFOBo$Jb_%-Nx-<@}QhG5XW<@>&Syt~Jb@4Yh- zLNG`S4fN}V0mFb{K+S;HV<(&OFxlUW6R*ckwmhQ*C%(qo0QjiFEtHXaub^;wh}@mTuii)D7Rq3RPwX6BgDt+1nL|?)%xiOccp9dD{fvU<#&t^6YCY)&9>cy(;I~knfXg2u z>$|7KXIfm4P4Ay7i#Rj6F~Q0000HWob)Eppcp*1Tq-nqUL9cWm=;CD29l(gtm(Db#P8PNq3GM z0xs0=qMw)V?&Cwxs~aMOpr5+d*WCvV3>p|Tz-u5QkCEpK1@h|U0?Ei@q$DQ@)|Jln z+^1eSl_V%AohwsMeO1z+N*dWI?h;kfxPcQ3zW8P}@$C3D@XNuJWux}<6i4shpjP+% znU6(GSvGX*HoFssMnswd>H&?=PGHPw|^~h2DeN2L80#UF%afZV5eZ z1B>?>Sbb=^&!@+Se*cc=ZO)IvX%nFj0H2#*dTSteFplZ1abZ#JK@bZExlmh@@m?l==RbZGV zbgSuOU2jxfu7_hD^TwH1Q~UJ8mmR@1E}Q@W#3v@*`ylHguGyMkcHDmagqs(UKEloU zQQtGmb&z?gV0P%0N+>V7Ht>CaJ4$ap=A+iIicG=NkzoM93+K#zcYh=U0N8il_PjCG zAP2Y;U^z}_^O#%SKsuZ6#BD(V3JS`pB&bLIaw_S1B{>1CD=5hcsFH@A;x1H43+=_t zfm+?;nC1HsfTfi^0DxhixOo8}lo@v2ao70pwJJOlh;xA9IG71+F2pA$eLl-OyM`z` zxDx=v98=LuaN13-&+^W$AvzNX8(`Iq@5`{y>ffZ`ziQww&i!s`MGyQ!00000NkvXX Hu0mjfbV53Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-15.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-15.png new file mode 100644 index 0000000000000000000000000000000000000000..53b6506f91c55e15629c6e2244ec4c1a71c6f55e GIT binary patch literal 676 zcmV;V0$crwP)rDZN1GjJx z7w0TlvdDo$wqz+?oZ2aiinJiq&=kQT(8$?8lewVu{BsTTP$}v)x?z_A1OE0Am zp?Q}3^YDJ(%gg_-$jsw9xoD&}e%8 z!%sylm=-ki4_4Q9p<743ddEL#)d2t-8&{#7-k&)EmSWfDxZa&dE&T0t`_?BXuX8g z%J)oj9c127FgvtrHIx^98~CyJE=q4c=A+ioicG=diE#kHGyBAScY7iY0NAr%54^FX zQ4TOCKyysOb&%g4TVY#sZ0*#WWx1IQXJTnQIg_NL>1e`9Vnt2 z+KZV3ji$#j&G$V3t82Re0Npxr^8!F9GpwfVuJPepoqHzW=K#fVFcauph|SLXe42N9 z4PJIICjf*wcI0G&-EA{{ns<5)-kE^g0Ihy}pND-~|0e~Ps)2uG5picrANsxk0000< KMNUMnLSTZUAT(Y8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-16.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-16.png new file mode 100644 index 0000000000000000000000000000000000000000..0d318246df3cb9ddd8755f2d928da1db07fa16ce GIT binary patch literal 677 zcmV;W0$TlvP)rDZN1GjJx z7w0TlvdDo$wqz+?oZ2aiinJiq&=kQT(8$?8lewVu{BsTTP$}v)x?z_A1OE0Am zp?Q}3^YDJ(%gg_-$jsw9xoD&}e%8 z!%sylm=-ki4_4Q9p<743ddEL#)d2t-8&{#7-k&)EmSWfDxZa&dE&T0t`_?BXuX8g z%J)oj9c127FgvtrHIx^98~CyJE=q4c=A+ioicG=diE#kHGyBAScY7iY0NAr%54^FX zQ4TOCKyysL@qO4{YXo0Qf=p)Ep+O6wxxn(3fJz^w$% z#ktEZE)sCK?YfjMPVMBPA}ti!qn3ihL9e9$CNGE5_$NJRP$_D9+~;sj@+SGdYpxVd z=sipRJiOoc@{-?^ua7Z?Zt6-`ckeaOYoONvuYs&G%wEjp*_+pMEUOH&qLOAnmp4LROgO?YcVmSZ+re$GiwFJ|$ zVA%B#>qf2YbKNfm%$p}cP37~?Px5jQUqeT3_? zgP~{2b(DEe(d;lvrC46HZQ#e=ha|m)m`_?mm6(F31N{Jim+p!G?(RSq0I=sScf7Hu zUJh_4Ksly-=Ol?Culh`T9?1+KuVN-MgrbrL)>IUgG&EVqW?=`KtjG4^=0K$ya7_7r z0AOKp7XV;7M}A%ah-HRTb^SHAzmP)Q&NpF{fHy?6J0>7^7R zm}j{^5AXNAyxi}(ua7Z?Zt7B3ckeaOYoOPFsDX?&!k*3L+3QzxETfIEqLyY@%eJnk zKKGsvUt`E;TUS!geO)!6s|MRF>@Zz5gn^?(Uwm`wczU=9{PHmAxTyR*#=+JbRH}jh z@M8g!jtkTIjfJIMSng4%p8E&2G5}z8^)k%U`!gpXQtIkWsdwj54SyQVw)MkThNPab zf%#iCEZ?>L=i|cc1QE5?bU+yLGsroMJXOvS~ zpVNG!(NSI3F}$z|oL9mLj8D(7CokWz@#&cu>y&HCJgtdlhbS+&VmSZ+mThDCZ3&ib z!*uE)*3DYk=el1Bn72-Xn#!jiq3npRapnX7AT>7O-$z-OaZPKY*>U~;17Thy`Uux& z2Sd-4>nQVF(d;lwrC46HZQ%Rf`y{=Em`_?mm6(FZ1N{Ji7v72g?)E?i0I=t+bi6TF zF9(DZpd3@abBe-{&-zSrPm~!&Ee)(?QPk4VRRf!a9q6hN+e?@Om1@8-<@+9hg{55p zfaMy4n8E)0{*Vz7AmYxaZIY2m$W&+KH)YwGGr@YfOWZ5B{01)Sxi)Vt@tP6e0 tJ6%I|CXhBj)sFA;uut`GQt)3j@E55Jd|aD$)BXSe002ovPDHLkV1fxVJ7fR= literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-19.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-19.png new file mode 100644 index 0000000000000000000000000000000000000000..13095397948172b1a8aa5550aab7a66c741f3ff2 GIT binary patch literal 643 zcmV-}0(||6P)!oX3yFMb#mygOS1ep?teOcZ}z;&^u*#ggNX zf1Sm!VL~%)(GrJk^X z#TR8{M|Au7^6ZP-f97~w^F6R?OzH!`_sU6g4J42H@#b^Cv?zHb_k#FT9e4FJN-Fiw zX|Y;us;=c2-q{3hE8zqNC#KokvQ8^LqdQ002ovPDHLkV1iPGC7S>M literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-2.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-2.png index bfc97a5d80723bfbe76a247c6ccd7b01f973348c..e1988246b1c8ff27da051b9e3cb170e90a002ea8 100644 GIT binary patch delta 215 zcmaFN^oenTayx1B5c|GVYq|LHfx85U+TL|kBv+f#Ek;Cq%W^WpFD zJZ$>+jpzLRGxg!eoxMEi?=KvxQd-;)?K9PE+vB1GPH(Gu0-|~5ANUy`e|OnTW`jiy zjg5_p|5gbx13@$6VeeUyJj^|dr(Rsa>?UjQsv(fQ$0`Bhjsp(X3=BoQx?a`|7pDLn O%;4$j=d#Wzp$PyWGgt5c delta 329 zcmV-P0k;0~0pkLYBYy!ZNkl#nVW)S=S56s4=Zt=qzVEX#&uMA6fTm_3i z`uLHk$i?XZa)D9wQ?Sl69mE-c*8v3zZx~oaSQ**~7!o4;ihp4Ol)Z1Z5Sae`?+xV+ znD9V^f#Cs&^%bun)2>M{FfcqL%0hI&h)V*Lz*f$e0fztx1pD46-Ec;n#v|0=a{#4) z7zZ#>Yzu{eY7X#p)%d?=^|b#WniPFha{zLAFdz;f7f{s!pz?rJKvf4o$^+8CXf_-= z4zP>L``^B7??QhNJs=Kv@$4zX-o1Ok^nf@31VohdsA@UM4xj}f$pO!<9v^7;jshwJ b1_lNI-PM9;=M6Z#00000NkvXXu0mjfCm56n diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-3.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-3.png index a509e70143e53ecfef6f1b068c2122b7383316b2..b75ab3368c4292eca3b48aebdbb043607b9132df 100644 GIT binary patch delta 239 zcmcb_+{H9Oxt@Wuz$3Dlfq`2Xgc%uT&5>YWVA$j7;usRqn*8VgfBVA@Ov@Oz)?Q&; z%qLOGV8&iyrTs5|Uf8GlySFm`+s+mJ|K0NQ|MVN;3=0>2GO*0DXkd+faP;(bp3?Q# zj16l3A5Hl1$@cKg^YM~$^KYLh_{QgC_ruY;`QYjAS2oPwk)iQGEO=>Gs*82P!f&>1 zx^4as{;Xf0xA@d)TgU58W(PW$*x1IqV*(puDAXN_Z2!p4qpUXO@geCw+Ze*JP delta 441 zcmV;q0Y?6c0@4GJBYy#zNkl>iHcmD4j>m8MLz}WJkvp(0ZjNLv$S3?q#M2^Xh?|cD}Ok9-)tc;{{8PCQ4YWx z0@JQZKv~c58Uj&=Ukxt6h)V)jqM-yZGGbbXHwx$hhK~b0T{Zr%Sv~DPh_;K$``^B7 zFPN@%mHz)_ZzPz;rjKgb5V<_~{QD`x-o1MmUOaosaQVp#hFj;hGF-m@6{|j)MS+Nt z9#QJ3>Hy^OfPYv(RRasa-( jO>Dj&1%nGPFfafBa{}SaADK3`00000NkvXXu0mjfW6jEp diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-4.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-4.png index d4554f065987582fd206739ea28b1bf4a6897857..4000078010afdfbadb403b2fd612df94907f7863 100644 GIT binary patch delta 275 zcmV+u0qp+z1FZs(BYyx1a7bBm000XU000XU0RWnu7ytkO-$_J4R9J;${Qv(y!$1P2 z0kwV90izBWbpSR8cseWoZ=P22f8E+?|2>@*|Mxlb|7X}20HLAsFu8td$^Q%`0T7x@ zz=AID;^k|Gx>xHN7{32vFnIZ%;q2$H43E!kWH@^VAs_spoqxgL<$Hz;FMlvB+I*Se z?)!J-+D}{*aEqzpl+#VP$MEydKk7PQq4qt7Erw6v{I9QWqsq%6hr#HuO&suE5)QUT*=Wi;x5Q3s4VVAKJl4j6U7r~^hFFwhPF Z0K?={y`_Ha6bt|W002ovPDHLkV1j`id@cY0 delta 481 zcmV<70UrLX0{R1xBYy$GNklvs$rU+rcP`~DBizWn7a z!>w~$!E%@He??KZ_~8sNef{-UhNU~Mg2f+w{76*f;&cEuz<(>I2^BqqQ;kvdQ;3QV z;>^VBfGn*S48kJJ47E!j{LinhV^tR-`-))#l)Z1Z5Sae`?+xV+n08G9%6f*^5QsYb zYH$HYY~r{Q45fgP5z{&*n%G1F7;pz*1-6m7|J#=C`46HAo-K@ZRGOc^KXRy%THc_%MawT0~z3q0ud!WI2)9=LHO67zeI;3 zvVMGksDg;typ3EQ5DRdIz_Y8zNi+(%+#p{6XgM(84j{TVw2R97@9E>uuzkx$29Zs3 z8K$IrfW@b-JHv3;(w_k&2Ld2@+v6J_6yB diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-5.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-5.png index b1751cc0d284b9480514a0346d0dfdb6af07ef97..9c861628b07da155943299d8b911119133775a80 100644 GIT binary patch delta 278 zcmV+x0qOqf1h4{-BYyx1a7bBm000XU000XU0RWnu7ytkO;z>k7R9J;${Qv(y!$1P2 z0kwV90izBWbpSR8cseWoZ=P22f8E+?|2>@*|Mxlb|7X}20HLAsFu8td$^Q%`0T3EV zKTMt&2e6%9G`Q_^V0`K8KWWYKp&#TaFlcWWYFD8I3w%)B&Ro7VQ!P c4739PgmPkdwGXbCPyhe`07*qoM6N<$f|DzE&Hw-a delta 593 zcmV-X0r{$BzuJUVn$n;eP@+9e@q+ifKYc&)`&J z6#W#UqJuaynea(wX}w@bH+&1{e|~ixjL|`e>?^p)zS%-x{QKWOFdtbC8^9X^)2>NC zSD2zuhzbOY&sese;k)E&hUBz7hPksQF?^-2xAT}opqCEKg8=?R5 zlNaFf1G(%#1~{WYL`e_M2IXxK{`KcCiW&(KNiZg)AAeDPU;?5FB2c~tf#3h$poqVC z^Bjc_%JUPj=*L!ezyQt=cy{$TF>XTvh;oB?{iEf;;4BAVpw?CTKP(R)6b**wZIMlL z8K$IrfK`FYhQpTrU^x&#E;~SSOe%j!F9%@Y@_j@eeu0#?MHm=R$_7}u!2m5oU}XnL z?(_Z6VIaz`y_ia$QHhMYhvh00000NkvXXu0mjf@_H4+ diff --git a/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-6.png b/Resources/Textures/Structures/Furniture/bookshelf.rsi/book-6.png new file mode 100644 index 0000000000000000000000000000000000000000..1d18d07ec01cbd6dfcd52ddac06e75392934fd7f GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DX&fq{|F z)5S3)qBZ%?|Nr)f9hjCeZmqq-xR_6(l);R>!b=S&{L?9qnnVYB9j7*U=mT?qU%mVhe0UZ*YEKlhOTHz9s45>u?I?UNNwwe(bwD${HK#+id_Fzy>e^2+&@#lZueTgA@tSUJ|EW1X)I2`?{hfJZ^#rBd;pIqO%kS zmf}b;RwgXP84jFr{e!yH!1m)2@Y=zO)I{l}jl0WZl&YWl=4}isQWL!NhP{(3)S6Ek zzoOp>1pq)gJpsPI|F#20<(yhD)t0sdymxzF`aP2~rkWwZ?xKLxRdH}`Ki+8dxlb*h zoJOZdOmzUbZ#)bK5UTjFaqcrUg(~Kn695vN^1mXTKg z${m&gYNCkKvkYpY2wrMvvd#+yq|+JjLSc~ky428kO4U|>cC=(q{|?Il0N|Wo9_;m5 zH_Nr!qn{nKYwN=Ss4JhG)|}P3)@NQR{p{c~nc)DQuP>~yX)wGuqMJ~s!jb}wU?U>CMc18#4nj8>*nhB# zmo72r;LR@L-A-OKB2Ok2K?gx&^y5^HpcT$RQW5FFwzirP7_{f|?%l()eR$dP z-2fp3{nTJz-|hmq04{(PK#1{^jZ}=}vMCZ`{3OAQ5bTH5RrA~4rf-}e7FJhXzU{LV z50>IdIeto5inkm%L*^SbS;2aJ8+ds~P;Q{|^o*O69aOHm{>pV6LAe1ze#O@A8LEwY zL%!|bh$R3(p)d?VyZ-hBtmGM+vGwLwMZ7gzU*>(I6SkfuKzde0enIN&pX--Kf2!*p zCcSuX5nCSsZk4;<0HPNGEFT4IL(vO+&xxw;K9p-_Y%mO7oU$%-LUxq8%Q$D^9jp5Yh(06f$4oojQ~?Ru@x zm}kf2;!sy%VBf?0000gfTX9xz}v%L4-!*loH<(}{9 z2qBoI=4SeK4L}3X0OSCil!Y9{{3Ml(5hrCKVQPUO=i=9aKlCDI6M^5wuY&y0_t=8) z*n;FLbVEG0pzOfWOK;SoikDCX)rt6i1z}b4^jERA~=pN1M+Ko}n5501Rteqibo`m3l4ANN2~&&hBIY zLKUJ$(O%eVY3GNM&JH@8oebdR?oth#sPk$wLjBDaXaE|32A~1_D}Ya=edI$F;q%)7 O0000