From 80940164ff76a0799e5e6558ca6fd3c23701159b Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 04:02:50 +0000 Subject: [PATCH 001/345] Automatic changelog update (cherry picked from commit 7a2546cad8a98f860043ff934fd2b61d0387b320) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index dc16879d1c7..41e1f0376c2 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: The uncloneable trait has been removed. - type: Remove - id: 5478 - time: '2023-12-30T16:45:43.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23229 - author: Ubaser changes: - message: Syndicate implanters have received a new sprite. @@ -3850,3 +3843,10 @@ id: 5977 time: '2024-02-21T00:56:39.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25397 +- author: Callmore + changes: + - message: Shoving other people is now more consistent. + type: Fix + id: 5978 + time: '2024-02-21T04:01:45.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25353 From 2fba4ff6d71de438676e2fd0b6daa4dbc612e53e Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Wed, 21 Feb 2024 15:38:10 +1100 Subject: [PATCH 002/345] Ban loc fix (#25424) At least I'm pretty sure this is cooked (cherry picked from commit 841de41a64d41d9442d48ec3d51561d34ef1a450) --- Resources/Locale/en-US/info/ban.ftl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Locale/en-US/info/ban.ftl b/Resources/Locale/en-US/info/ban.ftl index 2804690fc5e..463dd1f5669 100644 --- a/Resources/Locale/en-US/info/ban.ftl +++ b/Resources/Locale/en-US/info/ban.ftl @@ -2,8 +2,8 @@ cmd-ban-desc = Bans somebody cmd-ban-help = Usage: ban [duration in minutes, leave out or 0 for permanent ban] cmd-ban-player = Unable to find a player with that name. -cmd-ban-invalid-minutes = ${minutes} is not a valid amount of minutes! -cmd-ban-invalid-severity = ${severity} is not a valid severity! +cmd-ban-invalid-minutes = {$minutes} is not a valid amount of minutes! +cmd-ban-invalid-severity = {$severity} is not a valid severity! cmd-ban-invalid-arguments = Invalid amount of arguments cmd-ban-hint = cmd-ban-hint-reason = From 64c2bb867fb7efcf7389cd49af654e69dc8186cc Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Wed, 21 Feb 2024 16:26:55 +1100 Subject: [PATCH 003/345] New HUD theme: Ashen (#25408) * add * add * add (cherry picked from commit 573f9a3b46c60b8587d4dbbbf52f453739837947) --- .../en-US/escape-menu/ui/options-menu.ftl | 1 + Resources/Prototypes/hud.yml | 8 +++++++- Resources/Prototypes/themes.yml | 16 +++++++++++++++- .../Textures/Interface/Ashen/SlotBackground.png | Bin 0 -> 1282 bytes .../Textures/Interface/Ashen/Slots/back.png | Bin 0 -> 1717 bytes .../Textures/Interface/Ashen/Slots/belt.png | Bin 0 -> 1590 bytes .../Textures/Interface/Ashen/Slots/ears.png | Bin 0 -> 1656 bytes .../Interface/Ashen/Slots/ears_headset.png | Bin 0 -> 1565 bytes .../Textures/Interface/Ashen/Slots/glasses.png | Bin 0 -> 1525 bytes .../Textures/Interface/Ashen/Slots/gloves.png | Bin 0 -> 1727 bytes .../Textures/Interface/Ashen/Slots/hand_l.png | Bin 0 -> 1670 bytes .../Interface/Ashen/Slots/hand_l_no_letter.png | Bin 0 -> 1582 bytes .../Textures/Interface/Ashen/Slots/hand_m.png | Bin 0 -> 1582 bytes .../Textures/Interface/Ashen/Slots/hand_r.png | Bin 0 -> 1651 bytes .../Interface/Ashen/Slots/hand_r_no_letter.png | Bin 0 -> 1590 bytes .../Textures/Interface/Ashen/Slots/head.png | Bin 0 -> 1497 bytes Resources/Textures/Interface/Ashen/Slots/id.png | Bin 0 -> 1519 bytes .../Textures/Interface/Ashen/Slots/mask.png | Bin 0 -> 1560 bytes .../Textures/Interface/Ashen/Slots/neck.png | Bin 0 -> 1622 bytes .../Textures/Interface/Ashen/Slots/pda.png | Bin 0 -> 1580 bytes .../Textures/Interface/Ashen/Slots/pocket.png | Bin 0 -> 1568 bytes .../Textures/Interface/Ashen/Slots/shoes.png | Bin 0 -> 1555 bytes .../Textures/Interface/Ashen/Slots/suit.png | Bin 0 -> 1680 bytes .../Interface/Ashen/Slots/suit_storage.png | Bin 0 -> 1806 bytes .../Textures/Interface/Ashen/Slots/toggle.png | Bin 0 -> 1822 bytes .../Textures/Interface/Ashen/Slots/uniform.png | Bin 0 -> 1606 bytes .../Textures/Interface/Ashen/Slots/web.png | Bin 0 -> 1700 bytes .../Textures/Interface/Ashen/Storage/back.png | Bin 0 -> 1208 bytes .../Textures/Interface/Ashen/Storage/exit.png | Bin 0 -> 1366 bytes .../Interface/Ashen/Storage/piece_bottom.png | Bin 0 -> 1055 bytes .../Ashen/Storage/piece_bottomLeft.png | Bin 0 -> 1118 bytes .../Ashen/Storage/piece_bottomRight.png | Bin 0 -> 1113 bytes .../Interface/Ashen/Storage/piece_center.png | Bin 0 -> 1042 bytes .../Interface/Ashen/Storage/piece_left.png | Bin 0 -> 1050 bytes .../Interface/Ashen/Storage/piece_right.png | Bin 0 -> 3337 bytes .../Interface/Ashen/Storage/piece_top.png | Bin 0 -> 1057 bytes .../Interface/Ashen/Storage/piece_topLeft.png | Bin 0 -> 1115 bytes .../Interface/Ashen/Storage/piece_topRight.png | Bin 0 -> 1124 bytes .../Interface/Ashen/Storage/sidebar_bottom.png | Bin 0 -> 1088 bytes .../Interface/Ashen/Storage/sidebar_fat.png | Bin 0 -> 1106 bytes .../Interface/Ashen/Storage/sidebar_mid.png | Bin 0 -> 1066 bytes .../Interface/Ashen/Storage/sidebar_top.png | Bin 0 -> 1092 bytes .../Textures/Interface/Ashen/slot_highlight.png | Bin 0 -> 1228 bytes 43 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 Resources/Textures/Interface/Ashen/SlotBackground.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/back.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/belt.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/ears.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/ears_headset.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/glasses.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/gloves.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/hand_l.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/hand_l_no_letter.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/hand_m.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/hand_r.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/hand_r_no_letter.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/head.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/id.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/mask.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/neck.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/pda.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/pocket.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/shoes.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/suit.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/suit_storage.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/toggle.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/uniform.png create mode 100644 Resources/Textures/Interface/Ashen/Slots/web.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/back.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/exit.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_bottom.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_bottomLeft.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_bottomRight.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_center.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_left.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_right.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_top.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_topLeft.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/piece_topRight.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/sidebar_bottom.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/sidebar_fat.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/sidebar_mid.png create mode 100644 Resources/Textures/Interface/Ashen/Storage/sidebar_top.png create mode 100644 Resources/Textures/Interface/Ashen/slot_highlight.png diff --git a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl index b8253c69293..10ccff1fc47 100644 --- a/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl +++ b/Resources/Locale/en-US/escape-menu/ui/options-menu.ftl @@ -72,6 +72,7 @@ ui-options-hud-theme-clockwork = Clockwork ui-options-hud-theme-retro = Retro ui-options-hud-theme-minimalist = Minimalist ui-options-hud-theme-eris = Eris +ui-options-hud-theme-ashen = Ashen ui-options-vp-stretch = Stretch viewport to fit game window ui-options-vp-scale = Fixed viewport scale: x{ $scale } ui-options-vp-integer-scaling = Prefer integer scaling (might cause black bars/clipping) diff --git a/Resources/Prototypes/hud.yml b/Resources/Prototypes/hud.yml index 977c3c5f31c..25a6eeea740 100644 --- a/Resources/Prototypes/hud.yml +++ b/Resources/Prototypes/hud.yml @@ -1,4 +1,4 @@ -- type: hudTheme +- type: hudTheme id: SS14DefaultTheme name: ui-options-hud-theme-default path: Default @@ -39,3 +39,9 @@ name: ui-options-hud-theme-eris path: Eris order: 5 + +- type: hudTheme + id: SS14AshenTheme + name: ui-options-hud-theme-ashen + path: Ashen + order: 7 diff --git a/Resources/Prototypes/themes.yml b/Resources/Prototypes/themes.yml index 2de265ff777..0d43f61d5bf 100644 --- a/Resources/Prototypes/themes.yml +++ b/Resources/Prototypes/themes.yml @@ -95,4 +95,18 @@ goodGreenFore: "#31843E" concerningOrangeFore: "#A5762F" dangerousRedFore: "#BB3232" - disabledFore: "#5A5A5A" \ No newline at end of file + disabledFore: "#5A5A5A" +- type: uiTheme + id: SS14AshenTheme + path: /Textures/Interface/Ashen/ + colors: + whiteText: "#FFF5EE" + slotSelectedGold: "#FFF5EE" + slotColor: "#FFF5EE" + slotOutline: "#FFF5EE" + slotText: "#FFF5EE" + nanoGold: "#FFF5EE" + goodGreenFore: "#FFF5EE" + concerningOrangeFore: "#FFF5EE" + dangerousRedFore: "#FFF5EE" + disabledFore: "#FFF5EE" diff --git a/Resources/Textures/Interface/Ashen/SlotBackground.png b/Resources/Textures/Interface/Ashen/SlotBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a4379f76cb1edf11b27d34ded3ddaa8388b816 GIT binary patch literal 1282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)H^A&F>FMGa62bX)`rfQ|1CgWo-h~3C1=k$sA9Or&T-@=4WJy8zp92Sv z7OlH;W&hhCk6Wsek9_ycxqot|(4u;|{PMbKsp%4J-*w-9wK;#qr1#M(rSqSSIhdlR zwf@?7ov$rH#I=Rl@3KqoZKK)C=RfFsoMBoh!~Xhc;Tg4Kg(<@FH)`j_n9J~F96Dma z6S0Z2=DuN~#~ZZ=;t!1)qkI;Gv28HmY_~f$`D4<9te>}UN^Ri0!IHyd#yGpd_kdc0 zaD}JCx^rs!ss3$76I3{h=kr>f?I@eI%xfC&1Jjo6jejP%U0u3Rz}KMW{_@=05uvtc zPi?Y^y}qUKT)V&gx}ZQt*G!J(nA9=Iv&7yQfexG1UV Tq*mutQ2FEO>gTe~DWM4fRzCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+XFOdTLn1hjPCLo<%0Q&;aRaw|$>RpSFOo4GKYl22*fs099PNG7 zVe$3T(Q2>W%qYE6wiDEBEr0&EclKX(rGA^sg#EYQR!#L%eetWRdi(8_A1mH`{?!|| z{<&zk>(=}4ujZKjwlZuun-*+%@NL;@waJ~&uJKD(s!jg6s^j(7RUf0)P7~XBGiOVO zNnG)>`)cjXJ}zgT7sqYoc%{PcGwrYV6aBX79JiF3w&^!akDt`sKU1cPJ1+L!@;3{u zUtP_fwBy(jA%@Dmap9dVPD?L8bbj}J_a__wwPCCKXSQ{6xc|0h`sB8FVbRVxVghU` zbu0q=WAu_cE3BEBl(wFkGc&QlUGz~$`q4)@vx6BDbgGSJhO{4U48MCUT`cK?pn9&Y z!Xv?*tPRV8G{08Zm{i!!=Wn%<>)+M?V~3bG!xIs{1ru&?2%P@Zoe|yhlKU=`WsOn8 z-s3JkYnR18$|#n|-!6SNpgV@K;|N1?+0vkwy&Uq}V1MPc^Y zUq^m0F7@x4pul5zB>9W`Ow*>P>#t_L`dO3Z;9$5e%djTsi2C10%h`^9wXDlwJa{!L zRDIs*r;A(-ob!CnlpXpw^>k{jU5DblL*FJII1s)5`n4lp6d4$1GUgiYV~EW9IMdWg zLc7zuV8!7xyI6TF=AX|`UUWkBMi2AxQZXmi4ga@26v3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/belt.png b/Resources/Textures/Interface/Ashen/Slots/belt.png new file mode 100644 index 0000000000000000000000000000000000000000..131e204f82a9b6e4ec9e9d99f507f5442cfa6531 GIT binary patch literal 1590 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+zMd|QArYK!!%ucG84Boz-(lrnw21vL8^2QBK8~jQ3)uA^ITjw> zn;z$xI%&%`uEI1vv65YrR#m-Uy31PWqI|T+^L(?}aSH=3OrP_+`)Jdzzxy7A`mMhD zsc5H+?sRXdUbl0dj1gBet4i_YgDi6nKWZD!K178 z7GHnzfI-cr=XkPDB+I)*9)rx^)+g5UgbRLfWvNkRm|Q-ISw5{;f@z)Re(O4x8mj}( z4{TmPS4Pe8=fZ%Fq>T{)U4qq73@5yoP718aH=5~FGynG97-xqIe2(+{mUCL~NuT#z zQ16M;5#wbnBHga%_}kBZ7i#%cY9q&7c=4ZyiqllD)}sy+@}{45oj*xv!ujXD4L%Ni zi|*#Bdr$FDxpDpAM0Lv#lTWH78dvo(U63i>eV&~Vu@w~Ki!?DuKwJbH8UmRTY zztLW!K=xle)0gzeRm+>wi&yYnd0l#LqwtaoM`Jfg_qH`9GyX7d`OhXa!DZ^x1A;yU z4|paNyUU)N>v!CHY0#FawHX#NRtvs3zj(4Yu7BrLh9%o?=ju;B`9oWFUC#FCS7p1| f);s^WzHlGI!u3p{t2th52bI~Lu6{1-oD!MzCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+{hlt4ArYKMr=QL;aujI2ZGGhQp{Y(WD(4?K9XT%U_(8Jdp_@5p zoKWD!pFg$cES$UI@~p=F3Cou4UVYv&^zP-w=l-Uj{`u!_o_Utp?7Hx0=T~1n)qDK$ z4D-4dU#kKaUo3e2_14+6&1X6pYiestRet>Z`BH6iXW{L)Qk6Sn&V?L#SYWWnZ+Wtk zot>SJ%fx#r&mt!uW>iyp_Sw=`xbb}P;gD|uMF;-8W`FuG_J)w-mQaVwA`8Bmt`FK4 zwYK}=(WJz;COpSl54LbKig$!d`LtL}KfN<+Yu3CC8eK8F@0#^bFcGvX*}yRIdY0+z zehxj!CIc2bC8c}JOuL@d7I}RBxo6`0@72du4J%lb4(We3_4&#ge&GDK8oS+(KT1rO z5{y_Hv@!KVvTModL|Zr3vfXnlf8D59 z)xyehuZcBdZtH4Q4G}K2L;Ab_ulW&e7r}6|nDfumr$>#h2~DsK4Y;FwD5ZWCgG1%o zef#(4u48#n%4u>l?7yx2A2AhUXMsmuM;C=2I{)wWYwaI89%~!c-#ahhbW6+jywQ=i zTh2@j*P?bTd*Au~6~5 z@&5h$!X2Cs?hE|qHCb@LLaUiQ@lfFU>$$zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+CY~;iArYKM!%ue|G7ve-^T_E+t9RhRx@K-c`*@av`2hh1D}Ok+ z9N|;{nzAl4=d#&hmP@mb?|nY!&JxYgSMyI#e|eyx(7Bhj!o&OfoS{jj6%bnmlk<@G*Q?Uf5T^0)4K#oxO4?i=sFN4fAW z{&vcFax?P`fsJ?bE?!ki*#FTX@z(z)n?w(n1-^nAuXz?UK5{-6q9%CqvU=aYGc3RJ znJj*sY}#}C?XqR%yXVSjE43)xWAcbwz0_HQ%c-l&Aibe0=9=3595b$|tcwB^k8E}Q zQhYOpQLl(;XN!pFM9l+g>>m>h3_`gQcds}r((w1lK0CSo5LUq>8!oW_Rf_bOuc5S0 z$2H>cESBGVf(rR&vyVM3+WDe#zVpnPj7m-|v8ib)mPv2y3S+K$H)u~to`1sN-Dc6L ztTyxgvouq+xf!xW1sz$YME%m%n9;B)@`Px^>5kBKQ`SHKT4j1Th$Zgmsr8EaPIJ<( zcP``jvC-kk+p^C}?mlU39u5T&Y0YBEKhz9_H@r~3w!Gqg%L#^jTj?3|Gba3A5_{}9 zSHtErEqnfRs@R|1r=7lLIzv~()D#v?uTvH`%o%T7x7o0#lJi~GY3A@|Ot*!ovFX2#s>yTUF1u}}V`Co7c2=maX7Jzf1=);T3K F0RWh5FJ1ru literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/glasses.png b/Resources/Textures/Interface/Ashen/Slots/glasses.png new file mode 100644 index 0000000000000000000000000000000000000000..c7b48065ad38d7a9e865ed3af85ba448705e9ca0 GIT binary patch literal 1525 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+Jf1F&ArYK!!%nX{WFRni+G_5=K*xea!M|+cN_G1r zTMyOP`R~5l=eBraae~U4u+=S0*I%3RvN0cf<}OoVHMh*`QHfRIJ_U{$N3ymi3B_NS zHFY-|J6loHkrbnYlRO=MRU~-aj%TcM-7)Dvj7P#cj)ae11y7C}7%H)>)2sjeN8m@v zgSWB|nl&=-pXOAv`<0$@>%rpNs%oBULJST|gF27+FAv@-Hv4&{NSos8#QK(&sSOQ} zXIwk}v?$Q~vKrgmB`HV>_P>MS92d}Z>zrc;paq$7^N2}GnTm2uix^nv0B*X^>@V&`>ht#%bnjB9lfV> zp;f^8>z2n#HmLsUjVm&j;uSr|Qqc4;NwC>MOP^i%Bqxu|<@Upkn^#FMz5KFercc|q z-?qH%&g>JmYnFV7TYvmU7sH*~Z_8$!P0Lr7&FVX@T)O)%$GXE``j`J=Yp?&|J$+8@ Qeo&F?>FVdQ&MBb@0LyeGlK=n! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/gloves.png b/Resources/Textures/Interface/Ashen/Slots/gloves.png new file mode 100644 index 0000000000000000000000000000000000000000..161f178f5d76db3692599ff4e241719b1b0152d9 GIT binary patch literal 1727 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+*F0SuLn1hjPQTr!=_t~6`X-0oor!`EC1W}&Y9@NvG&{4Dvp7Gx zQC)vJ&h+ZqT;uAhZ);r2uUh^2AMYK?nOt`xNw0qM%`aX{C%x{f*%PO`)hq7pT}IVCzK^wyWwQ{q~?BB%NnLU&HvwjK4wZ0 zt}8ve>u~Ixgw=OvSpVD5;I8uH^wUj$^Ugot{L$w8ndik1E7hK?WKdlfqNOI*Ju~G~ zSX2GR2#IrFPoM5SQj&W8_0=m`ro~os=W$hP98mRJ8no$9#h=>KDMpfl!Yb}8l{a&) zO?b@3`Pyv-!-+`4BMloqEqK^mv-|ETSFs*rb@$c_n&;{Rj{KhVPr<>j$Zr1hM+QZz zi?7yqXV2?eDt#-m_a}>hisqWNQ3BuU)R-1Z++DJH9Y~1tvXc2tS?5#jvh_P-?o5zv zKBzv?k$%0iL>ne6xT$LdG5D6bnL?%H$Nu3Z%maOWoNk#cur86 zq`BzE-Jg0Em78y#IXbB?px8oY$vi$y!>u`4qH9~j7}94cc&e-xaG1f&W%1el7}JlQ zco|Um#NkT(Srq$`-p1pfHSM9xKHMej2 z>8DS=*ILN9IaKmLob9!(H#ocH7;{nDAflskn3Ix}BUm R6wZJu4^LM=mvv4FO#sxDhmZgO literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/hand_l.png b/Resources/Textures/Interface/Ashen/Slots/hand_l.png new file mode 100644 index 0000000000000000000000000000000000000000..2f376ce1b931eb15af01bec69a3603e0a84b5d39 GIT binary patch literal 1670 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+b3I)gLn1hjPQTf8$Uvm6-$-vkQ#Sps3l*Bml%E#O+;meXcYE}!vfXRWZg*RpD9Xher8nI~ zf@ep(iPYBb^{;;x?JW48we^(1>Z@HPe*VKvn&$r-OgTT(Ge!Cyvotwz;V1~=85Un|nm*tnN$;FZ}P zXS0wY;lxVjFgvk$rHKzN?y6N!@IBz&;81dOSHY&0&i1zK2?=)dFTX5#q_M1gno&z( zqA!EQ1O~Ppm#zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+uAVNAArYK!r=RRP#vLQ9;_yobTTXlBSvA2(4hR^Fi1SHEP6&q&FPV62$G)oo7t zjtj?G6E;R%naK6r>xXRpZO#M#o7VDioPNahkVRqPe?6u;g`y^=me)lQj3?e*&06ZW zeDbdQ@9S)X-Dh;qIZ)hilDn)|S161jq(R~I-(yFjj|uLJTOTFyp0&v^x{&FE^u(tL zujigme{1>p4O>g6P`j|8a?!TW4|5q#GAkL(KD$Mu^d_gvqq(2N7~+)OM4qV3Isg1v zairLu^piRFm|v9$b-8mS$S`o~Cq5TiQ10)N&afwP{q;jhd#bPIt3_#@W4KW%dMW&` zSgx(i2}UQ$a?WgthOpI3w;mQ=#3FS2ZQ1P^R~i2Be#}>3HoADGYk`v4MUAOmuPSV^ zRzLfE?fv(?HFoRy+M8$js0n)1nLZSk=WCC;&0w(i`s>P?pvO8nj}ImYT<8rxpY>Z< X-&$3&zu)C6sI2yM^>bP0l+XkK_MAGh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/hand_m.png b/Resources/Textures/Interface/Ashen/Slots/hand_m.png new file mode 100644 index 0000000000000000000000000000000000000000..c9289a6ebd6ac0496baeee9765e4064853dfa4c2 GIT binary patch literal 1582 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+uAVNAArYK!r=RRP#vLQ9;_yobTTXlBSvA2(4hR^Fi1SHEP6&q&FPV62$G)oo7t zjtj?G6E;R%naK6r>xXRpZO#M#o7VDioPNahkVRqPe?6u;g`y^=me)lQj3?e*&06ZW zeDbdQ@9S)X-Dh;qIZ)hilDn)|S161jq(R~I-(yFjj|uLJTOTFyp0&v^x{&FE^u(tL zujigme{1>p4O>g6P`j|8a?!TW4|5q#GAkL(KD$Mu^d_gvqq(2N7~+)OM4qV3Isg1v zairLu^piRFm|v9$b-8mS$S`o~Cq5TiQ10)N&afwP{q;jhd#bPIt3_#@W4KW%dMW&` zSgx(i2}UQ$a?WgthOpI3w;mQ=#3FS2ZQ1P^R~i2Be#}>3HoADGYk`v4MUAOmuPSV^ zRzLfE?fv(?HFoRy+M8$js0n)1nLZSk=WCC;&0w(i`s>P?pvO8nj}ImYT<8rxpY>Z< X-&$3&zu)C6sI2yM^>bP0l+XkK_MAGh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/hand_r.png b/Resources/Textures/Interface/Ashen/Slots/hand_r.png new file mode 100644 index 0000000000000000000000000000000000000000..90af0471909cd87c31605cd5b900ecdbc5bc62c9 GIT binary patch literal 1651 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+U7jwEArYKMr+cn`XgM`qi=@PFNWdR8X+{?y8F!DmgzlG#^hgjCYM$AHFeMZ@TM|w9SHo zf?uL+zf1G6-sVL{mHqtCqGb~ltq%Ja2P zO_cbQAiXB=hZn=aqe+2#x?KLv`u+2#;oc)_+l^+Q4cQtsl|6S_Jm-aj4N8w6zRW*$ zoQa|RIK%PBg^8~u{RBCzyWXw6_iRr;3q#*-o0&dEdy{K--woLtS1$9sA)T=yTubzF zwp78Y>8F=op77;!-3OJ1M1K{bNoUVL|NM5IxfJi$3Y#l0OM+g1{WV`(@>@iVG5cih z)+Vpzmzj=R3-Kv^xFLGr{PWGacdYJ*GKedzWJnj;aJ=f->m-Bxtx<(9Z{G@K=#x0a z(ZA^8iWV`3c?=Eu)4O-wf6tWk?eWpm+ZV28SY1=mr}5wgBcI{tpLg!??N-j*x^REB z5QD!!kP9Pg!W-iUJH9fwvOKUoCc!KF(iG6X_i{Z-1|4{ubYUBN{xX8$88aY!*}zp tpGYyfZxD0+k>1Pizx89TyE^*)V19JRp2Pc9gC(fI_jL7hS?83{1OSXxW5xgg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/hand_r_no_letter.png b/Resources/Textures/Interface/Ashen/Slots/hand_r_no_letter.png new file mode 100644 index 0000000000000000000000000000000000000000..8dfca5a970e3ee3b4b1bb750ceaabb23f4c059fc GIT binary patch literal 1590 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+zMd|QArYK!r=RRP6nfmKb1J@nin;_6JcjL zZnFGI=yb!EN8a7o`*OR-+3)wvL!74kO76b-=WW?-&FQDVg*^FtHf?d+;e`)P=lU&w zJjF|O>)pJoDMp=hBo0KaT~<)AH*WRCj3qn29`3f8>gB5SsKhFBPu1Rau4}@yb(IdT zx&3*?$%hQWf}elRSt#Zx{k+lh#(l@S^c~#`^p##nGxFT?ly3i z7;Aa!XO-@JY}U8?#v9Y!|CJe?V%CP4rYRM+ThBkAwKK*pbdRsj-+ayuor*_qSNt)a zJ=4d{@O&+Q*OAjq3dfTQf*pBqP41~9!j`{m;t4UeVDX;yP*m3aKS`~1(bg+UG?9GZa#K13-Q&OZA^ zM({xOH5I8U#Rr1Fq`EjhJh`e}Io-4?R7vC;MrFDBJWG9ZeV>Yh z!=D3xpFN!u{yTtKzCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)H^A)r!PCVtB!cto^z&Ivh62ZyFYV~!;;Jg*|HUKcQd1+yGT)K^o`^_z z;KxayT-9VRmrh>WY4#v((%duePw($ltSbIB;m^T@1yO6Kt>Mah|Gj$F*|fIoo`(f1 zqpPQBCIK#GGSu8)l!*o}VwiK>VR` z?X#=8$u|z`+`sv4KC6MmZLejgpE}Jx>lXf#LsO^W;M=ljXRWDSPbTX)cX+!fGBz0R zh|#-$a7kC%=FBcV!Fx;$#|sv>KmUA_VV>!pvc?wXj>=>DE=61$9x5&{a(gFY({$SM zS%O8(s;gRwxe7o1g4Z$dy*pL7Cn;BB>7Ii!mn~V}M3_8(-n_p*y+1Dk`D|1ujf24UB7ITWExA=-g#-a`4m|T-_-5TKa|C|gZE+H0sR{n zD_9LI)Fi%E&FwqBxG!s6+T)KA4-G73__jpoFe%ixPx$b%p=fS?83{1OQhs5p@6n literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/id.png b/Resources/Textures/Interface/Ashen/Slots/id.png new file mode 100644 index 0000000000000000000000000000000000000000..02cd231604ecb42af440d514ec12af5138657f84 GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+Y@RNTArYKs!%ufH84Bc-1`5bOIN2=sMcSt0$4@1Wx@NgO6+tx$ z8ZX|2wQ(7CN|v8_#WtsI$?nxwYLcQqKWNPO(R@%Lb8FNx?OpqBzfCclof)&1r~UAf ziy0^C_D_FWBq=MwYCX4a!NIp>+Mj>MB(84f-xH(fu3ES=CS-5k_SGIaX40;YxZ`$z zzVYCIgYSfhwP6OLoF|mzBx1hpXYdyc61w2Yv`dZQvHrn8`NPL{C{JkH^ZjQbQfIdweXZhcW4rA=$wjqT_~0@2B^tF>&lNVi6|i!( zeu+IQ>^NK7ky9Y}`_29i7S09CW&KQP?kcSI$u)Lo+TA8FSbr1UVC~j({`qOsT1Tcg zH@462Kfd_EilAAp3+=0`nphZm=Jxd4&N{oSDDc+j4V(QKlA2iN={D`yb6Bx~w>A28 za=4+DV&|UNo0T@I+vK-xX5!&eHB@Wkxz}RIuqo@0KGQSbX-93|@9A9_zTo=nm9xqm z;uPZLvcLbXwOz~c;J&~=>4K(4E3KwOvkt7d{`wW0>&-8v-xv2Bf4n4W?WuZ-E>L0X>FVdQ I&MBb@0De;%v;Y7A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/mask.png b/Resources/Textures/Interface/Ashen/Slots/mask.png new file mode 100644 index 0000000000000000000000000000000000000000..7e13a437a04056d67259620ef02fed749a0fca19 GIT binary patch literal 1560 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+`kpS1ArYKsr+IfDG7xcF-0`4TaYt~#_jfTJKR&w(+}Rm^aOr{{ zY@$}h>+W1Qe&t$J`m?5!xqE)@n{2XH>htl5g}=X7*)9)Ty|X>&eEIIVGkw&qU03^C zcYkHr>a_j$XCFW+mt9_2;r)4XrQLjg(MMH#yW%$A6zMpdrYvCT z_E+2gwhX^XW5n997%rCDX>AvB|F`@+{E*Rcoxl^ZhHn2^i~WDt+A#D_x}W=$M`hy` z=cUDewJ(2MVJFD&Y;D--#d~A)m~X$<Z8HP4r+mW2jaUpJF6=GE;AQ_mfs9$6qme>ZU~>?;dHa;9BrZ zLU_-zn~Y4KbH05Pn8;kX|NdLP7jrZ^0vNVi9%D&jkl|xL|BdO;jB6gBfEqYh0|eh1 zs()Efxc~0L$5lVJ*k!Rh#k+7A&b+!=$dgGlPJc#?fDR4AksW-I@sg#7kEf&y;95`Ch_!{*TYmANDg?+?>z1zx{4w*>2r?|C&r1 zLv~+&84<~N;rrgYg{|APT3t*(KKTB)!lrB0-*Q74zPU*oHSAY^{%ON{dO^$W8XLLp z?W_xG3?wX`7Fk*tAD#I5XO7$AiO0=de_mg@kHNzCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+xt=bLArYKMr{7#9{L@Mq`(atYQ z`!3Hekz>+Zkah8r`TX;H1$0Y~#sB?tY0GQ&SN@loe*O6IL7sDAUzRsZ?M8-b=E_?F zdxBP0C^*S=2K<#~e8qDyZhiRl^UvkGHhgX7+VHN?qlH!N^8%)vLSJhokyn>Z*V?mg zQ_ju1tG@7N&b54xEPb(VX_pU@7IXddCZGJV_5SB!~ejE4=J52`LG z9I`9e@-a^IV?e_Li_H&G=H21qICq70mvrP6+S%#~?Yc@Vv2E R_?QKVfp|7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/pda.png b/Resources/Textures/Interface/Ashen/Slots/pda.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c5bd79ef12f459800ac871a905206534ab1b91 GIT binary patch literal 1580 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+&YmugArYKM!%ycOG7uyW4KsVokD8X2BjyJhxnmsm zunH}a+WuNE+PZK;pss0T|8?WXr3F$;|Lv?T_*=JM-du{8kF~#i_uN^2%iXTCG#^x0 zcl~wN{`;$sCJDw!w7e~gPHepWHtcMg@!GZeW*?mv3S2qzw(N4vTtD~OH*(Bw9Z?V1 z`RT%=3k>Q$I@7&NwsPK4j=8Ynjb35Y!SZj};g8gW6AaldEMz&d$8pcqte2t%f2Kxc zz0mbgnxsAb?~CWV2^CwTmfrFCe){Pm z-sLk3q#k4)e;oL<$db?Y=!!lQDc6Zi^RDgTao7{I(qgCI^2u_|FCKp^cy^O*4^M)U zdfS8}CLazRz0J^B#M@ao*+yUUo7sVro->jK81*))6!ug~YlwBXb)RE8^x?>7wcj;9 z$L_ItOcD0z35(a7dgW^s?|1D7i&U6;wly8g zyN!XJ>+dyH!2+v-6;_d24^kcG6hb2~}+ z>5R(^a(a7C{&+pZ|4ZlPdo2$Nqz)+ftht^odfaf=%-L_nl{|%b6)fkUKW*vw+n;}- z&CMpQzY{!plNa26`$}Y{z$KQ#?^U+Wt9c(}bKGY$ap+Xjc5s+;Va3%fuK%eEXZmlx zm?1L#bZV)E%#|8DeubaYo4WngCg1lr_LAjmFT57q|LoVj^UpU+^&d}rxbO45Y2R5R WjDBP!#wE0aN@`D6KbLh*2~7Y{z&}g? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/pocket.png b/Resources/Textures/Interface/Ashen/Slots/pocket.png new file mode 100644 index 0000000000000000000000000000000000000000..c773e84b5105be66bf762bff653f2bf3ea163c3b GIT binary patch literal 1568 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+=AJH&ArYK!LrK@=Qzh$%TuqOm7!H^8WkpxV>@wtAgggFS9nC>u0)d9uFJy z`moh2|JJP+>vny0fa6Ani3s10yLnf0%!G4(x->rj{4>NeW_@_)^&GR-BWarjh4i*O zJ9(Lnoh_;9NY&nBK^_ii9}Xtmy3hDd`G<;uI_DWvMxA?{eLp1B+&UWaKizz9-?%>A z;a^+f_H+LY-kxz4m2<$0zP9+JFCQ*4AI4 zUzf$}Fj_FkoaH)bxasB^Cc!@j3y!akT6;=LNcV19grGve(x8bm*1cYJ`>j|Pf9%GH zD^|ZUj!yQ}VZ8IbXlKaYIRB|$s+`W5$5dXtED@TYzE$W;x2i+(Jc;t^oiQ$F7byoU z44CkGk#23gr#91$_<4L^5AaMmo!WWUmT6}8tHnz~(qK(ID?FG#_&4e45J}%6G@ghH*T2d8GJsZ~24-pM(cH?d1BM4%I)9zkD&{$-?dOeC($4 z&zl}LQFr`sGDYdeEQW@*!wZj_+xtF9&@oy4u|nn$@4Nb%f6R?K&%a;Qto{fpojqOs KT-G@yGywptnK|zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+TAnVBArYK!!+pCCIq>*qhl+fC;OWBuOWLO6$7ff8KfF~R7HQNi zeiS}k-2AYG_1fJAckebcTF*2&S$)!H`Lq}PM=yVjUK=rOZ_^ zF4jXDMZ52=h*}$@H+^x4mTDT;;R)Y<+nyJccUPL$5c2M~9joJkwQYI{n^+{?f463C z5-HK)J>lp+eUXQYkidr;yZOy>s+Rdj6y#hRSU$~4QdRKtDA^mglZ%0KMu_?R^E;1rA8lIQDyy_l zLQwyR>UujjJ;r}K6O>(9nR!lcj9b6+(9ImN*V<1?3togVWjy^@VN$!c_=g-H`)k|F z8s1B8uVs0VP<)NK^soB9Dw!`gY!j^14eNz}#LI4w6N`)*!`arO4w7c)$X7=D_z^4)v?T{2p* up?djc&X4E(g9@^~Rqa*3qw+EC**}I|Q~&3tRPvUB3S>`LKbLh*2~7ZfPAgmh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/suit.png b/Resources/Textures/Interface/Ashen/Slots/suit.png new file mode 100644 index 0000000000000000000000000000000000000000..2630e4ff9e28147146975ff8a3e64067c74a6561 GIT binary patch literal 1680 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+%ROBjLn1hjPCL2ol>txN;SvE3fy+W-A9!>G9(@!P5<1Vo{q4+# zgjcrl6SU1soL=p{9wdFe?9czgxm%9?Nk5tS=VHc_t+#V?PsP~F@TF~x__1T3kzD^? zx5bHl#}`Mgzdnzu-NU3#}}>{2SUW3T}8ycJfX(G1PNwaEJ)X zQCWBW^|vmiiE3&(``VmS`KIyu>(ub`T!MT;j7zl^o#ynCDSNhb;tj43e3jEx-jwYwD`mJO z+!MrT%XCU{@-}uMZ3ib!Z7ZgV8yUU(&CTQ9BqnPyF-c5QIP=Z7Mu*XAZnD+cvP&)< z>GO66m-M{Y$ilH`!YWvQ>Ulq#(v1-dJJtjp_$WMG zY>v%Fd1Xc+A)C*NyY9b##MQ%4&wTC)17n}xfkQ5n7hGI&vtub!Oy+^Rk8i3QNbtOw zUl=76sB-vClJJLz1scn~#~b<{KJF|d^uk@U)ypMT>y7i&ISC({tL^6Jp80+F-)g_* z!Rw>e&bs_EC2aLo_a+@4sT#Za(K+)O7$%=QvifRPWP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/suit_storage.png b/Resources/Textures/Interface/Ashen/Slots/suit_storage.png new file mode 100644 index 0000000000000000000000000000000000000000..3a2b4a5767f3171a39d30a73c38a2b18ea5e418e GIT binary patch literal 1806 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 W+NOM7C*uTA-Q?-&=d#Wzp$Py(V$W{? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/uniform.png b/Resources/Textures/Interface/Ashen/Slots/uniform.png new file mode 100644 index 0000000000000000000000000000000000000000..0c8d6f8d26aac47c8c58e732f3e6c5170808ef99 GIT binary patch literal 1606 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)Hw+9+v7RoDArYKsr{7)m%0QrX@rob)Rm(LNoqy2U(XZe1!1zV$it?`i z3Q6DpDG6tlZ}&CRea>^kXY$FYY&Fm5slSd-`}CQgjd}gWj32v`zVo*?&pMmdcHQFe z!waj!R==vSS@pC?(%P`$ZCUih2X*_yKmUv=e(fz$sW-hl^vK`3>lJhT+`DhQEsJt# zyO;2+aPnbBHKnlCqT8cba%XX?rTRDhIr>4UQD5mpFGJoW6?S>U4$+!w)bg|_^0=a2#4CZkyQ!)TCw!iXaw)Pk{@C^ScauWrS>`Y6aW0Yp;naSnKpe98ht4mwW337l(({+_3)R&Uwz!$2yA*S7#Vm z&p-d_XHDIaX%^GHT=W=c_bzVT_*qbJn(AMH_1Cjyv#Yt*XfY^BzrOs-_*lP%_+~K% z4fmcmshSx_+ihl_-Bs}V#tGFA%AX7yJyldRB9q^~^V&+&@}?H1dP z`!9tFZa@V}s3HzpRZBM;v|%AM&@G>u0)M w(BVgh$)_J1d@lW1G|xvZe~;%U*Q9#JKVQGhoAPt^S5O)5>FVdQ&MBb@0G$<5-T(jq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Slots/web.png b/Resources/Textures/Interface/Ashen/Slots/web.png new file mode 100644 index 0000000000000000000000000000000000000000..cf527f2fdeea6100eed45564a4a382f980ef1c37 GIT binary patch literal 1700 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 PWzA{qHtXY^=db?(Gy^wY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Storage/piece_bottomLeft.png b/Resources/Textures/Interface/Ashen/Storage/piece_bottomLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..0530e53910fb162b39da9692b785c1edc9629e78 GIT binary patch literal 1118 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|_);T0(|mmy zv_PtW7z8c_PX>~l1s;*b3=A5xK$ub7N^uhd19MeoNJL45ua8x7ey(0(N`6wRUPW#J zSeH$O6_A;mT9T+xk(-lOY*k^a1Xf`MWP^nDl@!2AO0sR0B76fBob!uP70mPu^bC~j zxD*r=Y>HCStb$zJpxS{vTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3ft)MkKHn`c2uvI#JxTq}U?f%*^V z&}6W^#U&~FNDB0g3=AxE4UBY+EcN0313KR(CE2PZvm_@K9B^>|fJ4wRrvz0Lq#hIm zIhml4waQ7%OSe_3&`n8AODxSPQL-z@OifOWFUcMU^3c4@5<4TP0cgTVx{%_?%CV@VJijPA1RNjefr(Qg)G$cEBBfSH zRscr=FfZ6~+33Ubl^vJw%V(c~nJwAV#W6%even;{i$RgcyZTc1|BtG_ismnTbo8DU zm+=V=p9L3|d5Uu>W_WQPlelxhyy*E2%k9_Q&$+bR`+c#ZxvX~l1s;*b3=A5xK$ub7N^uhd19MeoNJL45ua8x7ey(0(N`6wRUPW#J zSeH$O6_A;mT9T+xk(-lOY*k^a1Xf`MWP^nDl@!2AO0sR0B76fBob!uP70mPu^bC~j zxD*r=Y>HCStb$zJpxS{vTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3ft)MkKHn`c2uvI#JxTq}U?f%*^V z&}6W^#U&~FNDB0g3=AxE4UBY+EcN0313KR(CE2PZvm_@K9B^>|fJ4wRrvz0Lq#hIm zIhml4waQ7%OSe_3&`n8AODxSPQL-z@OifOWFUcMU^3c4@5<4TP0cgTVx{%_?%CV@VJijPA1RNjefr(Qg)G$cEBBfSH zRscr=FfZ6~+33Ubl^vJw%V(c~nJv!K#W6%evbKLC-vI>z`0Z?tg|d-J_{Z#qW@mGbp6La1ULwz_=X z6m#<;|9;*2@{TX1xO=dNX5Vj|@xv9`w+8Jtx+740it+RD2mZYr9v;UC-To+MX`9^q zjL^nQuh)lu`w?;2ShZbtLe*p(rYs{Nd^@IKOUc*|Vv;oE6hZi2n6WIS5IAkf{dPyX z&mt=As+y|FW?7OXBXS3%+j@}G`Kcj~078QCbUIb1cU2Y*akXBrV@=1pu5g4BzX-ri zlpwy9Ir;CWMPn!OLhx813BUFUn?OUBMWAA2dAd#!C!9on8pU-m_34-f5aX&^#p`(B z4dxjJaV`fJ28%zOrmdw}AviUz)PBPA$?wM#b<(&oxOf48bxpgcXu6`;adAJMzTr9q zJn(5MTydXN!KM$(R)H51_?}Rf_;xUC$cf_8fj#j-Hbaj(^ck?Q>kUU>;0(L$BeO2M zHt?D(3~_gI+@&$|CqjKw->n&`B1_hJ9Wq9LEo0HT%IJ(3F#fJ0&#?laQ5f+zmPO3t zosU@cH4pwI@W9k_2P@_U)eFQm^;gaU3jfoE2Kr>yynNq#Z@xG0b?abnvv{S55Zbi% z8*RR>i@9Fl-_PYwZ}_qnxA%6?S#gw8$lI$h{C9}tHPRoi7pR859q$}$qdw?hiHlnnhKCP__B5rprB8Ou@%f#aIo zZMLL)ETYo3s;Qc679~kCBDY7{jr%#BpK9^|AS4)%$76MTTV+unSE|)2)^x1v3P&jM z(*W#53E~@>lmC7iGzynjy9W0sWSaUTZ^$5l+I_{+PSQhh4VD2mvcJ8%it&kRh_kvk8 z@U*YYV)OLpAKq-&tVX?a>9TX7T>ks~*Y`VxQmIt%Uu?XWPQLwaA@ngiKiPQo;fLr; MYxkfr*?IEvA0iGm@Bjb+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Storage/piece_right.png b/Resources/Textures/Interface/Ashen/Storage/piece_right.png new file mode 100644 index 0000000000000000000000000000000000000000..a6aff00f41a44c60d8a7221f3fee35e288ccfba2 GIT binary patch literal 3337 zcmeHJTa46X6#jdg%W5LSWxXWE(q#eH%(OGJz)rKnX0Ng)V_;bYdD(Q@?o8QETiSn} zvQZ;=Hzo!YM4#j$Uf#H>kf;cFdqWXfj4|sSqv4|9LZbDwGYqRw#8>A_+noOYIp2T2 zuYEY)NpAu*_PW|ILb)7jK?p_Q26z(?F3At`2FO~_`6cO{EYCIlX}ces`$ zkEoc{%dwi0T-dE4n4Cq+*G6 zOS<8RZk7wkMTq@no@0X)Jd)*B=9aSErmeCI6GB4ZpxRc3#etr_YAw8FxoVT;ayd~> zCrrD*Co`E0FQoWXDh?TOXRU!HH*PphR~UL!N47N!Yo@{aj8fhl#aRwc4qEEBu-pn= z_PVfGrH5=eAa}6BPf6fYg3uNhQt?#A?>wkiHtf~Zo@Phky~r`U2O6TJ4r+DBW=)=_t$?m*pvx&w6w>JI$>9Jo66sRqn? zWf3KZ|zLryq`P`DL=}A@4mD zi@?Ykp$HCJn{R2JJ8%B&Ev*X{E^5n& z-95d1cP{C_Yx&?k_pVrZ-zphqs6tU&?cmY-%kJ8-M;?9b@h6^q>gkQoJ-=!53tL`% zY1{T4uk3vFwb$R+y=U*f{cpbY_JQ{gA36HLhaY|X$)}$k|NO)kC&y1seDm#h-~aIA zPp5xAcmB8EFI@a%^3r8r7lEjXEO=Iw{YzI2bdfYo(P3W~L6&{tF`Aj33{CG`7M9k` z;8N=%GrKly-E}D1lpZ)cD{mibXq?kJ(R|LA7AU(mVe9{svYN1~y1qo+sG^D_pj(oJ zPelP}kN{vpOn^`o;Q$dI(HcA;@j0NFhASFkLbbhX4!o}rc;=l#*HZ-iOjHbYpuemK q(jIE++vK646JKA>+;L|0{amOS;0R-*sJ~lI+MhH(H)q~%**fh-kaZ>_oltKT`FEKavWDOcA6c! zuCuv*nts2PzrLkQF6wM=a);lq9Mi*jY#O~*i@V8Cbh7dD-Us?U6YT6q9Cza*o4E_> z)gz9}KXXU(&Uyz!al0hYBeM)NKr(J5Tj>4 zSh46w*HS0{{WNi8hi(8a@pr2SAD}-xg&>RBC8?KbpSg z*ebZ-;Y7IUeG&y59xPfJo=M=jOj*^l{C-`CMF;n+u?K=4xY)*zfdn15KL8D-*hL?y zbPTP3o~M=83?}St{(@YfW1rDFW>Uy{MsS zU+Klx@vlF$*{&PSM)%?+`&_yF_s5IE=Z9aOmfltK`Ll&W;nCV|j9~l1s;*b3=A5xK$ub7N^uhd19MeoNJL45ua8x7ey(0(N`6wRUPW#J zSeH$O6_A;mT9T+xk(-lOY*k^a1Xf`MWP^nDl@!2AO0sR0B76fBob!uP70mPu^bC~j zxD*r=Y>HCStb$zJpxS{vTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3ft)MkKHn`c2uvI#JxTq}U?f%*^V z&}6W^#U&~FNDB0g3=AxE4UBY+EcN0313KR(CE2PZvm_@K9B^>|fJ4wRrvz0Lq#hIm zIhml4waQ7%OSe_3&`n8AODxSPQL-z@OifOWFUcMU^3c4@5<4TP0cgTVx{%_?%CV@VJijPA1RNjefr(Qg)G$cEBBfSH zRscr=FfZ6~+33Ubl^vJw%V(c~nJvN7#W6%evbFCZ-vI><=Yww^wVt^D^Y}l0@x6xL ziwvVTeZ6u(yESvwwO2|^yHnGiygQP8Givd@Y6i>aym1~$md6xARnz*OC<*aQS~_LM s!#67#&K6)UHx3vIVCg!06#fhdH?_b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Storage/piece_topRight.png b/Resources/Textures/Interface/Ashen/Storage/piece_topRight.png new file mode 100644 index 0000000000000000000000000000000000000000..678d918ac186719b0bb570b2d52c90bb0e8751f5 GIT binary patch literal 1124 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|_);T0(|mmy zv_PtW7z8c_PX>~l1s;*b3=A5xK$ub7N^uhd19MeoNJL45ua8x7ey(0(N`6wRUPW#J zSeH$O6_A;mT9T+xk(-lOY*k^a1Xf`MWP^nDl@!2AO0sR0B76fBob!uP70mPu^bC~j zxD*r=Y>HCStb$zJpxS{vTcwPWk^(Dz{qpj1y>er{{GxPyLrY6beFGzXBO_g)3ft)MkKHn`c2uvI#JxTq}U?f%*^V z&}6W^#U&~FNDB0g3=AxE4UBY+EcN0313KR(CE2PZvm_@K9B^>|fJ4wRrvz0Lq#hIm zIhml4waQ7%OSe_3&`n8AODxSPQL-z@OifOWFUcMU^3c4@5<4TP0cgTVx{%_?%CV@VJijPA1RNjefr(Qg)G$cEBBfSH zRscr=FfZ6~+33Ubl^vJw%V(c~nJv@P#W6%evbJv{*8v3q=gEG%I_w|4crg7(cip@l z7IB>kncTT;yPNlLC$7Efq14i_`DUm)l8hec$`r2P#GgwL}oyYYT+ZwBRXPgg&ebxsLQ024%C Aa{vGU literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/Storage/sidebar_bottom.png b/Resources/Textures/Interface/Ashen/Storage/sidebar_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bf318794955bfad73a85d21e49f15b36c6f23622 GIT binary patch literal 1088 zcmZ`&&x_MQ6iz8DYhf3E6vU!zjF)9GnKZ7;Hl$&@rgn?Alv<&Ca?@nG8#YZsGNsX@ zCj~)4K`0(PD#9N67xdCg4=M}(5uQAV=s{g)lGtB#2PQM~@_p~U`QE&zm2zPzkxEb$ zwN%_us(3w1=HdeWu6#dH@e=c@g>CBSWE|gniN9x@on4Qj zR=Z@zE{a!s6cvAD)as~Sx+`jSi&J&G0Xe_r1T4uH@wNq#O8YI-@>E8ywH^jGUlpT5|QKSXFLEbbQJ(2M9SL0G&>U>)haMcORrPnGE0s zAP6i*u--!psXl9Y*Fq=%{V34WT*E_i;Ya{cxgM5Z6OGm;eBQ=Qmki zV1*1A-4CZP>6(ZPWWqqW(R~61b0(U$5G>EdIsapG4#%FcdRNE$EWY5rHLvb7A zYiLCaLDzBd8w(>w@lHp~`WgqnZy87yA_p_(3D!i7#GH#dwtH9$>M<+ksldotDD1>* z4O<~70`3JlA%Rg}$qDDj`2udXd{N2OHqU9vWb*f?!C=rI4u@N7zkYsOiC=i%{ru&5 zs?VpM^p*6R?sZT8{<+h;^o+jp_IjyTez!n1KPh?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1GgDHN5{u%K@=Hqcb8Yk?YEjLAh@u*8qmRWE zHXy%SMFyo7=jW7yLf_8F%)|y9A}FGWc!21Lz^VgT6kSI^Mn2HFsU=03$)0&7sYL}v zz%&N25o#Z973gLmEDz1gEU`0!8h|E@qzfsItQ?C<%JYk|L%{KY9+)^4LJfliEK+KP zWCd^}0P}(!myJF=U)gaLd=+vBX0~uo7sn6_!MBsG`3@LxIR8vZc=|8Bb=kTpZwj}s zikmTSqd?fssWZjZlv!m2lhSzfnMD%H?af~1-ORqpa=YPF{}-JdJMKS-c0UqrRJCiv igH=}F0tE73*)X=8=D#*AO7#{fKYP0RxvX1DLN+%m%9>1mEweaX90^nYs z&83^loeuykzi=8&(yTsGtiTgZJ7^&>_QHgv#tPkfh?rdLxqhU?B|bqYbkEF?=Mo4x zEAh>0jXMZ1;&w$zlz1)2ah!_nwo=z0W^{Tg@u!4@3WU90Pwd?n1KfdyVzCG%8OpLi z5khqC6Ehb4=x*xdzaJe%7Is471U|?7nysKqN<7a3jYpcNZH?oEUF;@NYzrb6dB`Ub zEQkfTh)10EBtt*Sg)}21)(%zbFsAur_oIngN!*Coa0&orN!k-6S&)lx zd_S7LYFi3%h>H^8#`j4SEW2dZ%J57A*I~*kuIYD5d@R_gZFXJ4YmsB4mWiLW0zv{$ zg(-H{M{1pQt-=LasO;{_NgYLj+hyu&^6rkBC^BQ6)FEXw7c!=;^NiYQK+{D8JC@-S zghNc*XW)wx& z05qWmZRCSAmjZM?rnpF(#7fPEIG@h_aH3ii*GD?&0|0^N zr&GL;5;CBBKb*d#Ya%j`2_xaU_lXqDnP|{T@I(UBAj*oSYA`>B6k-T%g}esHc?*|rY5CGkpXM34l$!PlF@G+W|W!^ zP8TB2&=ea%&-L&diz9a8?T#4s)eBy=4I~R42SesQR$q<8oQDF(YgM9p42!udu;VNi zw(qsZtq>If_kv7Ipxak6?fyPChnr1N3c1Sk(d`E>k5f!yX8FYWpPhHlxMuM2J-uaL ze)__M-#)P$9o~xd{^w@Hf>wlY@t81;hx7pV}?;JREZEfG1x7G1S Oq=S{&g~CSu=ITG^aZV5b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Interface/Ashen/slot_highlight.png b/Resources/Textures/Interface/Ashen/slot_highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..49d4c58f8a516ffca31344d03b9e890c8a626812 GIT binary patch literal 1228 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1R9c3J5dCr9K5pGiPLmM3hAM`dB6B=jtV<zCHb_`sNdc^+B->Ug!Z$#{Ilm}X!A#FU&p^qJ zOF==wrYI%ND#*nRsvXF)RmvzSDX`MlFE20GD>v55FG|-pw6wI;H!#vSGSUUA&@Haa zD@m--%_~-h7y>iLCAB!YD6^m>Ge1uOWNuD{X>Onz} zlL-o0tDMBVbX%ng-IUa{#L}D+CA;E`)YK9ieTWiNtq@UE6K(XdSZ)LIvQ=bIYH@x} zDJanGj7<$}zyX0GiU@v)jtHzekVVmT1Z3owO zx>*RzL-R6A>|h3<2_xx3iW)1&qLT9bqU;cGG(f`;r##dQNO&TpO-RBAhdnUm+i}_G z!*h`xm;Oh)H^8j**we)^B!ctpbYH#}1)f%I_K)9f-1e?)tB`JUHU8bdTeOuQtwxvOJg%4PdF1q_CAqir>@%z~Zhy;~)fOat z@qqr3p9*WXzPIjuJj2qY;qTeWn=RZP#7}E=kQU`lm~@YO-~Ba}^PavsdSG^wfAwre z Date: Wed, 21 Feb 2024 05:28:01 +0000 Subject: [PATCH 004/345] Automatic changelog update (cherry picked from commit 254d144cf6e4a50cb5e71705ad270630de7f7883) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 41e1f0376c2..85118b30946 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Syndicate implanters have received a new sprite. - type: Add - id: 5479 - time: '2023-12-30T16:46:13.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23227 - author: lzk228 changes: - message: Shivs crafting now based on construct. Click with cloth on shard to create @@ -3850,3 +3843,10 @@ id: 5978 time: '2024-02-21T04:01:45.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25353 +- author: Ubaser + changes: + - message: A new UI theme, "Ashen", is now available to select in the options menu. + type: Add + id: 5979 + time: '2024-02-21T05:26:55.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25408 From 5c88eb6c64887e47956b8a248bbb4a335cbc1683 Mon Sep 17 00:00:00 2001 From: Holinka4ever <138782168+Holinka4ever@users.noreply.github.com> Date: Wed, 21 Feb 2024 12:11:01 +0600 Subject: [PATCH 005/345] Remove sunglasses from ClothesMate. (#25221) Removing sunglasses from ClothesMate. (cherry picked from commit 2c928817eacd6a2bc901aadcb991e9f803364a21) --- .../Catalog/VendingMachines/Inventories/clothesmate.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml index 31d0507135a..9085bcb4fb3 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml @@ -90,7 +90,6 @@ ClothingHeadRastaHat: 2 ClothingBeltStorageWaistbag: 3 ClothingEyesGlasses: 6 - ClothingEyesGlassesSunglasses: 2 ClothingHandsGlovesColorBlack: 4 ClothingHandsGlovesColorGray: 4 ClothingHandsGlovesColorBrown: 2 From 044b262cc67f802825427a67cfd3ff56390f686e Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:12:07 +0000 Subject: [PATCH 006/345] Automatic changelog update (cherry picked from commit 1e0b62a38ca5b2023d7824c980f55e9d6126d804) --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 85118b30946..649c9f8fb6f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Shivs crafting now based on construct. Click with cloth on shard to create - shiv. - type: Tweak - id: 5480 - time: '2023-12-30T17:08:52.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23134 - author: Alekshhh changes: - message: Changed disposal units visually @@ -3850,3 +3842,10 @@ id: 5979 time: '2024-02-21T05:26:55.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25408 +- author: Holinka4ever + changes: + - message: Sunglasses were removed from ClothesMate + type: Remove + id: 5980 + time: '2024-02-21T06:11:02.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25221 From ba8d24d15aa38a82533f9474165a8789a092d996 Mon Sep 17 00:00:00 2001 From: Firewatch <54725557+musicmanvr@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:12:35 +0100 Subject: [PATCH 007/345] Additional Glass Doors + Secure Windoors (#25389) * additional doors because we all need a bit more in life * virology isn't an access levl oh and added detective too * Update windoor.yml virology bad (cherry picked from commit 16622f62d645a0be50165907bf5fc231d68d4b5a) --- .../Structures/Doors/Airlocks/access.yml | 18 +++++++++- .../Structures/Doors/Windoors/windoor.yml | 36 +++++++++++++++---- 2 files changed, 47 insertions(+), 7 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml index f0cb0b80a29..8f413166bf1 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml @@ -465,6 +465,14 @@ - type: AccessReader access: [["Lawyer"]] +- type: entity + parent: AirlockGlass + id: AirlockTheatreGlassLocked + suffix: Theatre, Locked + components: + - type: AccessReader + access: [["Theatre"]] + - type: entity parent: AirlockGlass id: AirlockBarGlassLocked @@ -529,6 +537,14 @@ - type: AccessReader access: [["Kitchen"]] +- type: entity + parent: AirlockGlass + id: AirlockJanitorGlassLocked + suffix: Janitor, Locked + components: + - type: AccessReader + access: [["Janitor"]] + - type: entity parent: AirlockGlass id: AirlockHydroGlassLocked @@ -584,7 +600,7 @@ components: - type: AccessReader access: [["Salvage"]] - + - type: entity parent: AirlockChemistryGlass id: AirlockChemistryGlassLocked diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml index 5d20da09e0d..f8ccdd1e7f0 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml @@ -103,6 +103,22 @@ - type: AccessReader access: [["Armory"]] +- type: entity + parent: WindoorSecure + id: WindoorSecureAtmosphericsLocked + suffix: Atmospherics, Locked + components: + - type: AccessReader + access: [["Atmospherics"]] + +- type: entity + parent: WindoorSecure + id: WindoorSecureBarLocked + suffix: Bar, Locked + components: + - type: AccessReader + access: [["Bar"]] + #Delta V: Removed Brig Access #- type: entity # parent: WindoorSecureSecurityLocked @@ -152,6 +168,14 @@ - type: AccessReader access: [["Command"]] +- type: entity + parent: WindoorSecure + id: WindoorSecureDetectiveLocked + suffix: Detective, Locked + components: + - type: AccessReader + access: [["Detective"]] + - type: entity parent: WindoorSecure id: WindoorSecureEngineeringLocked @@ -226,16 +250,16 @@ - type: entity parent: WindoorSecure - id: WindoorSecureHeadOfPersonnelLocked - suffix: HeadOfPersonnel, Locked + id: WindoorSecureServiceLocked + suffix: Service, Locked components: - type: AccessReader - access: [["HeadOfPersonnel"]] + access: [["Service"]] - type: entity parent: WindoorSecure - id: WindoorSecureAtmosphericsLocked - suffix: Atmospherics, Locked + id: WindoorSecureHeadOfPersonnelLocked + suffix: HeadOfPersonnel, Locked components: - type: AccessReader - access: [["Atmospherics"]] + access: [["HeadOfPersonnel"]] From bf08589ec6769bdb41ba069fe2af0f36ceec60f3 Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:12:59 +0100 Subject: [PATCH 008/345] Food poisoning changes (#25418) * Food poisoning * description (cherry picked from commit 7e9bca98912378e593c2961b9eaecfffe76d8433) --- .../Locale/en-US/reagents/meta/toxins.ftl | 3 +++ .../Objects/Consumable/Food/ingredients.yml | 2 +- .../Entities/Objects/Consumable/Food/meat.yml | 2 +- .../Entities/Structures/Furniture/toilet.yml | 2 +- Resources/Prototypes/Reagents/toxins.yml | 21 +++++++++++++++++++ 5 files changed, 27 insertions(+), 3 deletions(-) diff --git a/Resources/Locale/en-US/reagents/meta/toxins.ftl b/Resources/Locale/en-US/reagents/meta/toxins.ftl index 4003a1a720d..eb8422e66cf 100644 --- a/Resources/Locale/en-US/reagents/meta/toxins.ftl +++ b/Resources/Locale/en-US/reagents/meta/toxins.ftl @@ -13,6 +13,9 @@ reagent-desc-polytrinic-acid = An extremely corrosive chemical substance. Severe reagent-name-chloral-hydrate = chloral hydrate reagent-desc-chloral-hydrate = A sedative and hypnotic chemical. Commonly used to put other people to sleep, whether they want to or not. +reagent-name-gastrotoxin = gastrotoxin +reagent-desc-gastrotoxin = A moderately toxic byproduct of decomposition. Most commonly found in spoiled food. + reagent-name-ferrochromic-acid = ferrochromic acid reagent-desc-ferrochromic-acid = A mildy corrosive solution, unable of causing severe danger unless ingested. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml index b623956d38f..1df6615a9fb 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml @@ -614,7 +614,7 @@ reagents: - ReagentId: Nutriment Quantity: 2 - - ReagentId: Toxin + - ReagentId: GastroToxin Quantity: 3 - type: Tag tags: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index c6fd35932af..f8565a793e6 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -452,7 +452,7 @@ reagents: - ReagentId: UncookedAnimalProteins Quantity: 5 - - ReagentId: Toxin + - ReagentId: GastroToxin Quantity: 4 - ReagentId: Fat Quantity: 4 diff --git a/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml b/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml index 353129c5a40..a6f14b383cb 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml @@ -56,5 +56,5 @@ reagents: - ReagentId: Water Quantity: 180 - - ReagentId: Toxin + - ReagentId: GastroToxin Quantity: 20 diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml index 794eff94022..c0491716d77 100644 --- a/Resources/Prototypes/Reagents/toxins.yml +++ b/Resources/Prototypes/Reagents/toxins.yml @@ -77,6 +77,27 @@ types: Poison: 1.5 +- type: reagent + id: GastroToxin + name: reagent-name-gastrotoxin + group: Toxins + desc: reagent-desc-gastrotoxin + flavor: bitter + color: "#acc91a" + physicalDesc: reagent-physical-desc-putrid + metabolisms: + Poison: + effects: + - !type:HealthChange + damage: + types: + Poison: 2 + - !type:ChemVomit + conditions: + - !type:ReagentThreshold + min: 2 + probability: 0.2 + - type: reagent id: Mold name: reagent-name-mold From c2f9048e2018cd4117012ecc608c563d57894010 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:14:04 +0000 Subject: [PATCH 009/345] Automatic changelog update (cherry picked from commit 1de06bd8f738a1adab5cf2ae8f9db6a2df357ff2) --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 649c9f8fb6f..ad792d43e4b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed disposal units visually - type: Tweak - id: 5481 - time: '2023-12-30T17:14:20.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23067 - author: quatre changes: - message: Artifact Analyzer now pauses on power-loss. @@ -3849,3 +3842,11 @@ id: 5980 time: '2024-02-21T06:11:02.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25221 +- author: Errant + changes: + - message: Rotten food is now less lethal to eat, and has a high chance to induce + vomiting. + type: Tweak + id: 5981 + time: '2024-02-21T06:12:59.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25418 From 887a1c1d7f25d076e94fbe1e347ecfd63bc381af Mon Sep 17 00:00:00 2001 From: EdenTheLiznerd <138748328+EdenTheLiznerd@users.noreply.github.com> Date: Tue, 20 Feb 2024 23:16:25 -0700 Subject: [PATCH 010/345] Updates The Deathnettle Nerf (#25286) Bit of an oopsie (cherry picked from commit cb852296ef7c6a4d356377967a99143347c5b572) --- .../Prototypes/Entities/Objects/Consumable/Food/produce.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 41c324e8fab..bad194f2e3e 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -222,6 +222,7 @@ - type: MeleeChemicalInjector transferAmount: 2 solution: food + pierceArmor: false - type: Extractable grindableSolutionName: food From a30b6fee0ffb32dbd64d0e506abc92304bbc91f9 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:17:30 +0000 Subject: [PATCH 011/345] Automatic changelog update (cherry picked from commit d1d4651bfb66c45bb65065616f5fe314d76f8d29) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ad792d43e4b..2162ea61bbd 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: quatre - changes: - - message: Artifact Analyzer now pauses on power-loss. - type: Tweak - id: 5482 - time: '2023-12-30T17:49:25.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/22974 - author: Blazeror changes: - message: Pinpointers now use the correct sprites. @@ -3850,3 +3843,10 @@ id: 5981 time: '2024-02-21T06:12:59.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25418 +- author: EdenTheLiznerd + changes: + - message: Deathnettles no longer penetrate hardsuit armor + type: Tweak + id: 5982 + time: '2024-02-21T06:16:25.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25286 From ae6b5434fda3e87acc2bf024e5cad171ed39d617 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Wed, 21 Feb 2024 01:17:56 -0500 Subject: [PATCH 012/345] Add fill level sprites for all the drinks (#25319) * Fill levels for cuba libre * Absinthe glass * Acid Spit * Ale glass * Devil's kiss * Doctor's delight (ugghh) * Blue Curacao and Emerald Liquor glasses * Allies cocktail, Martini, Vodka martini, Driest martini, Gildlager glass, Manhattan, Manhattan Project, Patron glass * Aloe, Amasec, Andalusia, Antifreeze, Atomic Bomb * Barefoot, B-52, Bahama Mama, Banana Honk, Beepsky Smash, Beer glass, Berry juice, Blood glass, Bloody Mary, Booger, Brave Bull, White Russian * Whiskey Soda, Whiskey glass, Whiskey Cola, Vermouth glass, Tequila glass * Cognac glass, Demon's Blood, Erika Surprise, Gargle Blaster, Gin Fizz, Gin & Tonic * Grog glass, Hippies' Delight, Iced Beer, Irish Car Bomb, Irish Cream glass, Irish coffee * Long Island Iced Tea, Manly Dorf, Margarita, Mead * Merge beer steins * More merging * Tintable Demon's Blood, Absinthe, Barefoot, Bahama Mama, Beer, Bloody Mary, Booger, Devil's Kiss, Patron * Sbiten, Coffee Liqueur, Cogchamp, Screwdriver, Rewriter * Vodka glass, Gin Vodka glass, Wine glass, NT Cahors glass, Poison Wine glass, Rum glass, Dead Rum, Champagne * Black Russian, Mojito, Neurotoxin, Silencer, Sui Dream, Snow White, Syndicate Bomb, Tequila Sunrise, The Martinez, Three Mile Island * Green tea, Iced green tea, Iced tea, Grenadine, Iced coffee, Lemonade, Kira Special * Cafe latte, Soy latte, Nuclear Cola, Singulo, Toxins Special, Vodka Tonic, Ice cream, Rootbeer, Rootbeer float * Removed rogue pixel in Manhattan fill sprite. (cherry picked from commit 29cdb9cf4e0c842675c45d5e102020b5e25b493d) --- .../Objects/Consumable/Drinks/drinks_cups.yml | 8 + .../Reagents/Consumable/Drink/alcohol.yml | 433 ++++++++++++++---- .../Reagents/Consumable/Drink/drinks.yml | 63 ++- .../Reagents/Consumable/Drink/soda.yml | 18 +- Resources/Prototypes/Reagents/biological.yml | 5 +- .../Drinks/absintheglass.rsi/fill-1.png | Bin 0 -> 116 bytes .../Drinks/absintheglass.rsi/fill-2.png | Bin 0 -> 181 bytes .../Drinks/absintheglass.rsi/fill-3.png | Bin 0 -> 220 bytes .../Drinks/absintheglass.rsi/fill-4.png | Bin 0 -> 242 bytes .../Drinks/absintheglass.rsi/fill-5.png | Bin 0 -> 299 bytes .../Drinks/absintheglass.rsi/icon_empty.png | Bin 0 -> 466 bytes .../Drinks/absintheglass.rsi/meta.json | 35 +- .../Drinks/acidspitglass.rsi/fill-1.png | Bin 0 -> 160 bytes .../Drinks/acidspitglass.rsi/fill-2.png | Bin 0 -> 220 bytes .../Drinks/acidspitglass.rsi/fill-3.png | Bin 0 -> 265 bytes .../Drinks/acidspitglass.rsi/fill-4.png | Bin 0 -> 292 bytes .../Drinks/acidspitglass.rsi/fill-5.png | Bin 0 -> 323 bytes .../Drinks/acidspitglass.rsi/icon.png | Bin 803 -> 671 bytes .../Drinks/acidspitglass.rsi/icon_empty.png | Bin 0 -> 511 bytes .../Drinks/acidspitglass.rsi/meta.json | 49 +- .../Consumable/Drinks/aleglass.rsi/fill-1.png | Bin 0 -> 313 bytes .../Consumable/Drinks/aleglass.rsi/fill-2.png | Bin 0 -> 391 bytes .../Consumable/Drinks/aleglass.rsi/fill-3.png | Bin 0 -> 499 bytes .../Consumable/Drinks/aleglass.rsi/fill-4.png | Bin 0 -> 570 bytes .../Consumable/Drinks/aleglass.rsi/fill-5.png | Bin 0 -> 647 bytes .../Drinks/aleglass.rsi/icon_empty.png | Bin 0 -> 310 bytes .../Consumable/Drinks/aleglass.rsi/meta.json | 58 +++ .../Drinks/alliescocktail.rsi/fill-1.png | Bin 0 -> 122 bytes .../Drinks/alliescocktail.rsi/fill-2.png | Bin 0 -> 135 bytes .../Drinks/alliescocktail.rsi/fill-3.png | Bin 0 -> 163 bytes .../Drinks/alliescocktail.rsi/fill-4.png | Bin 0 -> 161 bytes .../Drinks/alliescocktail.rsi/icon_empty.png | Bin 0 -> 333 bytes .../Drinks/alliescocktail.rsi/meta.json | 32 +- .../Consumable/Drinks/aloe.rsi/fill-1.png | Bin 0 -> 139 bytes .../Consumable/Drinks/aloe.rsi/fill-2.png | Bin 0 -> 157 bytes .../Consumable/Drinks/aloe.rsi/fill-3.png | Bin 0 -> 159 bytes .../Consumable/Drinks/aloe.rsi/fill-4.png | Bin 0 -> 160 bytes .../Consumable/Drinks/aloe.rsi/icon.png | Bin 296 -> 297 bytes .../Consumable/Drinks/aloe.rsi/icon_empty.png | Bin 0 -> 337 bytes .../Consumable/Drinks/aloe.rsi/meta.json | 32 +- .../Drinks/amasecglass.rsi/fill-1.png | Bin 0 -> 164 bytes .../Drinks/amasecglass.rsi/fill-2.png | Bin 0 -> 224 bytes .../Drinks/amasecglass.rsi/fill-3.png | Bin 0 -> 278 bytes .../Drinks/amasecglass.rsi/fill-4.png | Bin 0 -> 327 bytes .../Drinks/amasecglass.rsi/fill-5.png | Bin 0 -> 343 bytes .../Drinks/amasecglass.rsi/icon.png | Bin 452 -> 470 bytes .../Drinks/amasecglass.rsi/icon_empty.png | Bin 0 -> 365 bytes .../Drinks/amasecglass.rsi/meta.json | 35 +- .../Drinks/andalusia.rsi/fill-1.png | Bin 0 -> 146 bytes .../Drinks/andalusia.rsi/fill-2.png | Bin 0 -> 171 bytes .../Drinks/andalusia.rsi/fill-3.png | Bin 0 -> 209 bytes .../Drinks/andalusia.rsi/fill-4.png | Bin 0 -> 210 bytes .../Drinks/andalusia.rsi/icon_empty.png | Bin 0 -> 375 bytes .../Consumable/Drinks/andalusia.rsi/meta.json | 32 +- .../Drinks/antifreeze.rsi/fill-1.png | Bin 0 -> 141 bytes .../Drinks/antifreeze.rsi/fill-2.png | Bin 0 -> 180 bytes .../Drinks/antifreeze.rsi/fill-3.png | Bin 0 -> 197 bytes .../Drinks/antifreeze.rsi/fill-4.png | Bin 0 -> 205 bytes .../Drinks/antifreeze.rsi/fill-5.png | Bin 0 -> 236 bytes .../Drinks/antifreeze.rsi/icon_empty.png | Bin 0 -> 351 bytes .../Drinks/antifreeze.rsi/meta.json | 35 +- .../Drinks/atomicbombglass.rsi/fill-1.png | Bin 0 -> 134 bytes .../Drinks/atomicbombglass.rsi/fill-2.png | Bin 0 -> 164 bytes .../Drinks/atomicbombglass.rsi/fill-3.png | Bin 0 -> 198 bytes .../Drinks/atomicbombglass.rsi/fill-4.png | Bin 0 -> 224 bytes .../Drinks/atomicbombglass.rsi/fill-5.png | Bin 0 -> 246 bytes .../Drinks/atomicbombglass.rsi/icon.png | Bin 867 -> 983 bytes .../Drinks/atomicbombglass.rsi/icon_empty.png | Bin 0 -> 1005 bytes .../Drinks/atomicbombglass.rsi/meta.json | 53 ++- .../Consumable/Drinks/b&p.rsi/fill-1.png | Bin 0 -> 127 bytes .../Consumable/Drinks/b&p.rsi/fill-2.png | Bin 0 -> 142 bytes .../Consumable/Drinks/b&p.rsi/fill-3.png | Bin 0 -> 147 bytes .../Consumable/Drinks/b&p.rsi/icon_empty.png | Bin 0 -> 301 bytes .../Consumable/Drinks/b&p.rsi/meta.json | 29 +- .../Consumable/Drinks/b52glass.rsi/fill-1.png | Bin 0 -> 133 bytes .../Consumable/Drinks/b52glass.rsi/fill-2.png | Bin 0 -> 197 bytes .../Consumable/Drinks/b52glass.rsi/fill-3.png | Bin 0 -> 218 bytes .../Consumable/Drinks/b52glass.rsi/fill-4.png | Bin 0 -> 269 bytes .../Drinks/b52glass.rsi/icon_empty.png | Bin 0 -> 257 bytes .../Consumable/Drinks/b52glass.rsi/meta.json | 32 +- .../Drinks/bahama_mama.rsi/fill-1.png | Bin 0 -> 168 bytes .../Drinks/bahama_mama.rsi/fill-2.png | Bin 0 -> 196 bytes .../Drinks/bahama_mama.rsi/fill-3.png | Bin 0 -> 205 bytes .../Drinks/bahama_mama.rsi/fill-4.png | Bin 0 -> 238 bytes .../Drinks/bahama_mama.rsi/fill-5.png | Bin 0 -> 255 bytes .../Drinks/bahama_mama.rsi/icon.png | Bin 676 -> 706 bytes .../Drinks/bahama_mama.rsi/icon_empty.png | Bin 0 -> 637 bytes .../Drinks/bahama_mama.rsi/meta.json | 35 +- .../Drinks/bananahonkglass.rsi/fill-1.png | Bin 0 -> 166 bytes .../Drinks/bananahonkglass.rsi/fill-2.png | Bin 0 -> 186 bytes .../Drinks/bananahonkglass.rsi/fill-3.png | Bin 0 -> 247 bytes .../Drinks/bananahonkglass.rsi/fill-4.png | Bin 0 -> 282 bytes .../Drinks/bananahonkglass.rsi/fill-5.png | Bin 0 -> 296 bytes .../Drinks/bananahonkglass.rsi/icon.png | Bin 558 -> 553 bytes .../Drinks/bananahonkglass.rsi/icon_empty.png | Bin 0 -> 454 bytes .../Drinks/bananahonkglass.rsi/meta.json | 35 +- .../Drinks/beepskysmashglass.rsi/fill-1.png | Bin 0 -> 1007 bytes .../Drinks/beepskysmashglass.rsi/fill-2.png | Bin 0 -> 1024 bytes .../Drinks/beepskysmashglass.rsi/fill-3.png | Bin 0 -> 955 bytes .../Drinks/beepskysmashglass.rsi/fill-4.png | Bin 0 -> 922 bytes .../beepskysmashglass.rsi/icon_empty.png | Bin 0 -> 568 bytes .../Drinks/beepskysmashglass.rsi/meta.json | 77 +++- .../Drinks/beerglass.rsi/fill-1.png | Bin 0 -> 147 bytes .../Drinks/beerglass.rsi/fill-2.png | Bin 0 -> 180 bytes .../Drinks/beerglass.rsi/fill-3.png | Bin 0 -> 211 bytes .../Drinks/beerglass.rsi/fill-4.png | Bin 0 -> 241 bytes .../Drinks/beerglass.rsi/fill-5.png | Bin 0 -> 263 bytes .../Drinks/beerglass.rsi/fill-6.png | Bin 0 -> 275 bytes .../Consumable/Drinks/beerglass.rsi/icon.png | Bin 477 -> 490 bytes .../Drinks/beerglass.rsi/icon_empty.png | Bin 0 -> 326 bytes .../Consumable/Drinks/beerglass.rsi/meta.json | 38 +- .../Drinks/beerstein.rsi/fill-1.png | Bin 0 -> 127 bytes .../Drinks/beerstein.rsi/fill-2.png | Bin 0 -> 168 bytes .../Drinks/beerstein.rsi/fill-3.png | Bin 0 -> 194 bytes .../Drinks/beerstein.rsi/fill-4.png | Bin 0 -> 216 bytes .../Drinks/beerstein.rsi/fill-5.png | Bin 0 -> 258 bytes .../Drinks/beerstein.rsi/icon_empty.png | Bin 0 -> 289 bytes .../Consumable/Drinks/beerstein.rsi/meta.json | 31 ++ .../Drinks/berryjuice.rsi/fill-1.png | Bin 0 -> 142 bytes .../Drinks/berryjuice.rsi/fill-2.png | Bin 0 -> 176 bytes .../Drinks/berryjuice.rsi/fill-3.png | Bin 0 -> 203 bytes .../Drinks/berryjuice.rsi/fill-4.png | Bin 0 -> 223 bytes .../Drinks/berryjuice.rsi/fill-5.png | Bin 0 -> 241 bytes .../Drinks/berryjuice.rsi/icon_empty.png | Bin 0 -> 239 bytes .../Drinks/berryjuice.rsi/meta.json | 35 +- .../Drinks/blackrussianglass.rsi/fill-1.png | Bin 0 -> 245 bytes .../Drinks/blackrussianglass.rsi/fill-2.png | Bin 0 -> 284 bytes .../Drinks/blackrussianglass.rsi/fill-3.png | Bin 0 -> 335 bytes .../Drinks/blackrussianglass.rsi/fill-4.png | Bin 0 -> 339 bytes .../blackrussianglass.rsi/icon_empty.png | Bin 0 -> 546 bytes .../Drinks/blackrussianglass.rsi/meta.json | 32 +- .../Drinks/bloodglass.rsi/fill-1.png | Bin 0 -> 111 bytes .../Drinks/bloodglass.rsi/fill-2.png | Bin 0 -> 158 bytes .../Drinks/bloodglass.rsi/fill-3.png | Bin 0 -> 191 bytes .../Drinks/bloodglass.rsi/fill-4.png | Bin 0 -> 256 bytes .../Drinks/bloodglass.rsi/fill-5.png | Bin 0 -> 327 bytes .../Drinks/bloodglass.rsi/icon_empty.png | Bin 0 -> 565 bytes .../Drinks/bloodglass.rsi/meta.json | 35 +- .../Drinks/bloodymaryglass.rsi/fill-1.png | Bin 0 -> 133 bytes .../Drinks/bloodymaryglass.rsi/fill-2.png | Bin 0 -> 156 bytes .../Drinks/bloodymaryglass.rsi/fill-3.png | Bin 0 -> 162 bytes .../Drinks/bloodymaryglass.rsi/fill-4.png | Bin 0 -> 176 bytes .../Drinks/bloodymaryglass.rsi/fill-5.png | Bin 0 -> 177 bytes .../Drinks/bloodymaryglass.rsi/icon.png | Bin 623 -> 645 bytes .../Drinks/bloodymaryglass.rsi/icon_empty.png | Bin 0 -> 679 bytes .../Drinks/bloodymaryglass.rsi/meta.json | 35 +- .../Consumable/Drinks/booger.rsi/fill-1.png | Bin 0 -> 131 bytes .../Consumable/Drinks/booger.rsi/fill-2.png | Bin 0 -> 163 bytes .../Consumable/Drinks/booger.rsi/fill-3.png | Bin 0 -> 201 bytes .../Consumable/Drinks/booger.rsi/fill-4.png | Bin 0 -> 233 bytes .../Consumable/Drinks/booger.rsi/fill-5.png | Bin 0 -> 250 bytes .../Consumable/Drinks/booger.rsi/icon.png | Bin 371 -> 351 bytes .../Drinks/booger.rsi/icon_empty.png | Bin 0 -> 239 bytes .../Consumable/Drinks/booger.rsi/meta.json | 35 +- .../Drinks/bravebullglass.rsi/fill-1.png | Bin 0 -> 138 bytes .../Drinks/bravebullglass.rsi/fill-2.png | Bin 0 -> 171 bytes .../Drinks/bravebullglass.rsi/fill-3.png | Bin 0 -> 230 bytes .../Drinks/bravebullglass.rsi/fill-4.png | Bin 0 -> 252 bytes .../Drinks/bravebullglass.rsi/icon.png | Bin 416 -> 414 bytes .../Drinks/bravebullglass.rsi/icon_empty.png | Bin 0 -> 361 bytes .../Drinks/bravebullglass.rsi/meta.json | 32 +- .../Drinks/cafe_latte.rsi/fill-1.png | Bin 0 -> 118 bytes .../Drinks/cafe_latte.rsi/icon_empty.png | Bin 0 -> 293 bytes .../Drinks/cafe_latte.rsi/meta.json | 23 +- .../Drinks/champagneglass.rsi/fill-1.png | Bin 0 -> 198 bytes .../Drinks/champagneglass.rsi/fill-2.png | Bin 0 -> 256 bytes .../Drinks/champagneglass.rsi/fill-3.png | Bin 0 -> 290 bytes .../Drinks/champagneglass.rsi/fill-4.png | Bin 0 -> 334 bytes .../Drinks/champagneglass.rsi/icon_empty.png | Bin 0 -> 384 bytes .../Drinks/champagneglass.rsi/meta.json | 77 +++- .../Drinks/coffeeliqueurglass.rsi/fill-1.png | Bin 0 -> 140 bytes .../Drinks/coffeeliqueurglass.rsi/fill-2.png | Bin 0 -> 159 bytes .../Drinks/coffeeliqueurglass.rsi/fill-3.png | Bin 0 -> 165 bytes .../coffeeliqueurglass.rsi/icon_empty.png | Bin 0 -> 423 bytes .../Drinks/coffeeliqueurglass.rsi/meta.json | 29 +- .../Consumable/Drinks/cogchamp.rsi/fill-1.png | Bin 0 -> 699 bytes .../Consumable/Drinks/cogchamp.rsi/fill-2.png | Bin 0 -> 786 bytes .../Consumable/Drinks/cogchamp.rsi/fill-3.png | Bin 0 -> 922 bytes .../Drinks/cogchamp.rsi/icon_empty.png | Bin 0 -> 633 bytes .../Consumable/Drinks/cogchamp.rsi/meta.json | 38 +- .../Drinks/cognacglass.rsi/fill-1.png | Bin 0 -> 138 bytes .../Drinks/cognacglass.rsi/fill-2.png | Bin 0 -> 158 bytes .../Drinks/cognacglass.rsi/fill-3.png | Bin 0 -> 165 bytes .../Drinks/cognacglass.rsi/fill-4.png | Bin 0 -> 166 bytes .../Drinks/cognacglass.rsi/icon_empty.png | Bin 0 -> 391 bytes .../Drinks/cognacglass.rsi/meta.json | 32 +- .../Drinks/cubalibreglass.rsi/fill-1.png | Bin 0 -> 164 bytes .../Drinks/cubalibreglass.rsi/fill-2.png | Bin 0 -> 210 bytes .../Drinks/cubalibreglass.rsi/fill-3.png | Bin 0 -> 254 bytes .../Drinks/cubalibreglass.rsi/fill-4.png | Bin 0 -> 285 bytes .../Drinks/cubalibreglass.rsi/fill-5.png | Bin 0 -> 366 bytes .../Drinks/cubalibreglass.rsi/icon.png | Bin 618 -> 642 bytes .../Drinks/cubalibreglass.rsi/icon_empty.png | Bin 0 -> 514 bytes .../Drinks/cubalibreglass.rsi/meta.json | 35 +- .../Drinks/demonsblood.rsi/fill-1.png | Bin 0 -> 631 bytes .../Drinks/demonsblood.rsi/fill-2.png | Bin 0 -> 695 bytes .../Drinks/demonsblood.rsi/fill-3.png | Bin 0 -> 726 bytes .../Drinks/demonsblood.rsi/fill-4.png | Bin 0 -> 793 bytes .../Drinks/demonsblood.rsi/icon_empty.png | Bin 0 -> 607 bytes .../Drinks/demonsblood.rsi/meta.json | 87 +++- .../Drinks/devilskiss.rsi/fill-1.png | Bin 0 -> 111 bytes .../Drinks/devilskiss.rsi/fill-2.png | Bin 0 -> 134 bytes .../Drinks/devilskiss.rsi/fill-3.png | Bin 0 -> 151 bytes .../Drinks/devilskiss.rsi/icon_empty.png | Bin 0 -> 284 bytes .../Drinks/devilskiss.rsi/meta.json | 29 +- .../Drinks/doctorsdelightglass.rsi/fill-1.png | Bin 0 -> 1474 bytes .../Drinks/doctorsdelightglass.rsi/fill-2.png | Bin 0 -> 1576 bytes .../Drinks/doctorsdelightglass.rsi/fill-3.png | Bin 0 -> 1740 bytes .../Drinks/doctorsdelightglass.rsi/fill-4.png | Bin 0 -> 1950 bytes .../Drinks/doctorsdelightglass.rsi/fill-5.png | Bin 0 -> 1861 bytes .../Drinks/doctorsdelightglass.rsi/icon.png | Bin 2119 -> 2081 bytes .../doctorsdelightglass.rsi/icon_empty.png | Bin 0 -> 464 bytes .../Drinks/doctorsdelightglass.rsi/meta.json | 149 +++++- .../Drinks/driestmartiniglass.rsi/fill-1.png | Bin 0 -> 109 bytes .../Drinks/driestmartiniglass.rsi/fill-2.png | Bin 0 -> 113 bytes .../Drinks/driestmartiniglass.rsi/fill-3.png | Bin 0 -> 130 bytes .../driestmartiniglass.rsi/icon_empty.png | Bin 0 -> 332 bytes .../Drinks/driestmartiniglass.rsi/meta.json | 29 +- .../Drinks/gargleblasterglass.rsi/fill-1.png | Bin 0 -> 266 bytes .../Drinks/gargleblasterglass.rsi/fill-2.png | Bin 0 -> 370 bytes .../Drinks/gargleblasterglass.rsi/fill-3.png | Bin 0 -> 447 bytes .../Drinks/gargleblasterglass.rsi/fill-4.png | Bin 0 -> 464 bytes .../Drinks/gargleblasterglass.rsi/fill-5.png | Bin 0 -> 517 bytes .../gargleblasterglass.rsi/icon_empty.png | Bin 0 -> 616 bytes .../Drinks/gargleblasterglass.rsi/meta.json | 83 +++- .../Drinks/gildlagerglass.rsi/fill-1.png | Bin 0 -> 124 bytes .../Drinks/gildlagerglass.rsi/fill-2.png | Bin 0 -> 142 bytes .../Drinks/gildlagerglass.rsi/fill-3.png | Bin 0 -> 171 bytes .../Drinks/gildlagerglass.rsi/icon_empty.png | Bin 0 -> 284 bytes .../Drinks/gildlagerglass.rsi/meta.json | 29 +- .../Drinks/ginfizzglass.rsi/fill-1.png | Bin 0 -> 130 bytes .../Drinks/ginfizzglass.rsi/fill-2.png | Bin 0 -> 146 bytes .../Drinks/ginfizzglass.rsi/fill-3.png | Bin 0 -> 166 bytes .../Drinks/ginfizzglass.rsi/fill-4.png | Bin 0 -> 173 bytes .../Drinks/ginfizzglass.rsi/fill-5.png | Bin 0 -> 182 bytes .../Drinks/ginfizzglass.rsi/fill-6.png | Bin 0 -> 195 bytes .../Drinks/ginfizzglass.rsi/icon_empty.png | Bin 0 -> 366 bytes .../Drinks/ginfizzglass.rsi/meta.json | 38 +- .../Drinks/gintonicglass.rsi/fill-1.png | Bin 0 -> 158 bytes .../Drinks/gintonicglass.rsi/fill-2.png | Bin 0 -> 199 bytes .../Drinks/gintonicglass.rsi/fill-3.png | Bin 0 -> 233 bytes .../Drinks/gintonicglass.rsi/fill-4.png | Bin 0 -> 263 bytes .../Drinks/gintonicglass.rsi/fill-5.png | Bin 0 -> 293 bytes .../Drinks/gintonicglass.rsi/fill-6.png | Bin 0 -> 324 bytes .../Drinks/gintonicglass.rsi/icon_empty.png | Bin 0 -> 564 bytes .../Drinks/gintonicglass.rsi/meta.json | 38 +- .../Drinks/ginvodkaglass.rsi/fill-1.png | Bin 0 -> 197 bytes .../Drinks/ginvodkaglass.rsi/fill-2.png | Bin 0 -> 254 bytes .../Drinks/ginvodkaglass.rsi/fill-3.png | Bin 0 -> 288 bytes .../Drinks/ginvodkaglass.rsi/fill-4.png | Bin 0 -> 300 bytes .../Drinks/ginvodkaglass.rsi/icon_empty.png | Bin 0 -> 265 bytes .../Drinks/ginvodkaglass.rsi/meta.json | 32 +- .../Drinks/glass_green.rsi/fill-1.png | Bin 0 -> 150 bytes .../Drinks/glass_green.rsi/fill-2.png | Bin 0 -> 182 bytes .../Drinks/glass_green.rsi/fill-3.png | Bin 0 -> 203 bytes .../Drinks/glass_green.rsi/fill-4.png | Bin 0 -> 225 bytes .../Drinks/glass_green.rsi/fill-5.png | Bin 0 -> 247 bytes .../Drinks/glass_green.rsi/icon_empty.png | Bin 0 -> 222 bytes .../Drinks/glass_green.rsi/meta.json | 35 +- .../Drinks/grenadineglass.rsi/fill-1.png | Bin 0 -> 142 bytes .../Drinks/grenadineglass.rsi/fill-2.png | Bin 0 -> 226 bytes .../Drinks/grenadineglass.rsi/fill-3.png | Bin 0 -> 260 bytes .../Drinks/grenadineglass.rsi/icon.png | Bin 477 -> 491 bytes .../Drinks/grenadineglass.rsi/icon_empty.png | Bin 0 -> 411 bytes .../Drinks/grenadineglass.rsi/meta.json | 29 +- .../Consumable/Drinks/grogglass.rsi/icon.png | Bin 394 -> 412 bytes .../Consumable/Drinks/hell.rsi/icon.png | Bin 1180 -> 0 bytes .../Consumable/Drinks/hell.rsi/meta.json | 1 - .../Drinks/hippiesdelightglass.rsi/fill-1.png | Bin 0 -> 170 bytes .../Drinks/hippiesdelightglass.rsi/fill-2.png | Bin 0 -> 223 bytes .../Drinks/hippiesdelightglass.rsi/fill-3.png | Bin 0 -> 266 bytes .../Drinks/hippiesdelightglass.rsi/fill-4.png | Bin 0 -> 332 bytes .../Drinks/hippiesdelightglass.rsi/fill-5.png | Bin 0 -> 389 bytes .../Drinks/hippiesdelightglass.rsi/fill-6.png | Bin 0 -> 445 bytes .../Drinks/hippiesdelightglass.rsi/icon.png | Bin 753 -> 769 bytes .../hippiesdelightglass.rsi/icon_empty.png | Bin 0 -> 582 bytes .../Drinks/hippiesdelightglass.rsi/meta.json | 38 +- .../Drinks/icecreamglass.rsi/fill-1.png | Bin 0 -> 141 bytes .../Drinks/icecreamglass.rsi/fill-2.png | Bin 0 -> 139 bytes .../Drinks/icecreamglass.rsi/fill-3.png | Bin 0 -> 177 bytes .../Drinks/icecreamglass.rsi/fill-4.png | Bin 0 -> 183 bytes .../Drinks/icecreamglass.rsi/fill-5.png | Bin 0 -> 185 bytes .../Drinks/icecreamglass.rsi/icon_empty.png | Bin 0 -> 270 bytes .../Drinks/icecreamglass.rsi/meta.json | 35 +- .../Drinks/iced_beerglass.rsi/fill-1.png | Bin 0 -> 146 bytes .../Drinks/iced_beerglass.rsi/fill-2.png | Bin 0 -> 204 bytes .../Drinks/iced_beerglass.rsi/fill-3.png | Bin 0 -> 229 bytes .../Drinks/iced_beerglass.rsi/fill-4.png | Bin 0 -> 254 bytes .../Drinks/iced_beerglass.rsi/fill-5.png | Bin 0 -> 287 bytes .../Drinks/iced_beerglass.rsi/fill-6.png | Bin 0 -> 314 bytes .../Drinks/iced_beerglass.rsi/icon_empty.png | Bin 0 -> 316 bytes .../Drinks/iced_beerglass.rsi/meta.json | 38 +- .../Drinks/icedcoffeeglass.rsi/fill-1.png | Bin 0 -> 141 bytes .../Drinks/icedcoffeeglass.rsi/fill-2.png | Bin 0 -> 173 bytes .../Drinks/icedcoffeeglass.rsi/fill-3.png | Bin 0 -> 177 bytes .../Drinks/icedcoffeeglass.rsi/fill-4.png | Bin 0 -> 200 bytes .../Drinks/icedcoffeeglass.rsi/fill-5.png | Bin 0 -> 210 bytes .../Drinks/icedcoffeeglass.rsi/icon_empty.png | Bin 0 -> 236 bytes .../Drinks/icedcoffeeglass.rsi/meta.json | 35 +- .../Drinks/icedteaglass.rsi/fill-1.png | Bin 0 -> 165 bytes .../Drinks/icedteaglass.rsi/fill-2.png | Bin 0 -> 204 bytes .../Drinks/icedteaglass.rsi/fill-3.png | Bin 0 -> 237 bytes .../Drinks/icedteaglass.rsi/fill-4.png | Bin 0 -> 248 bytes .../Drinks/icedteaglass.rsi/fill-5.png | Bin 0 -> 279 bytes .../Drinks/icedteaglass.rsi/fill-6.png | Bin 0 -> 298 bytes .../Drinks/icedteaglass.rsi/icon_empty.png | Bin 0 -> 369 bytes .../Drinks/icedteaglass.rsi/meta.json | 38 +- .../Drinks/irishcarbomb.rsi/fill-1.png | Bin 0 -> 158 bytes .../Drinks/irishcarbomb.rsi/fill-2.png | Bin 0 -> 195 bytes .../Drinks/irishcarbomb.rsi/fill-3.png | Bin 0 -> 233 bytes .../Drinks/irishcarbomb.rsi/fill-4.png | Bin 0 -> 247 bytes .../Drinks/irishcarbomb.rsi/fill-5.png | Bin 0 -> 278 bytes .../Drinks/irishcarbomb.rsi/fill-6.png | Bin 0 -> 296 bytes .../Drinks/irishcarbomb.rsi/icon.png | Bin 451 -> 460 bytes .../Drinks/irishcarbomb.rsi/icon_empty.png | Bin 0 -> 319 bytes .../Drinks/irishcarbomb.rsi/meta.json | 38 +- .../Drinks/irishcoffeeglass.rsi/fill-1.png | Bin 0 -> 126 bytes .../Drinks/irishcoffeeglass.rsi/fill-2.png | Bin 0 -> 154 bytes .../Drinks/irishcoffeeglass.rsi/fill-3.png | Bin 0 -> 246 bytes .../Drinks/irishcoffeeglass.rsi/icon.png | Bin 318 -> 315 bytes .../irishcoffeeglass.rsi/icon_empty.png | Bin 0 -> 309 bytes .../Drinks/irishcoffeeglass.rsi/meta.json | 29 +- .../Drinks/irishcreamglass.rsi/fill-1.png | Bin 0 -> 186 bytes .../Drinks/irishcreamglass.rsi/fill-2.png | Bin 0 -> 209 bytes .../Drinks/irishcreamglass.rsi/fill-3.png | Bin 0 -> 237 bytes .../Drinks/irishcreamglass.rsi/fill-4.png | Bin 0 -> 248 bytes .../Drinks/irishcreamglass.rsi/icon.png | Bin 435 -> 373 bytes .../Drinks/irishcreamglass.rsi/icon_empty.png | Bin 0 -> 265 bytes .../Drinks/irishcreamglass.rsi/meta.json | 32 +- .../Drinks/kiraspecial.rsi/fill-1.png | Bin 0 -> 504 bytes .../Drinks/kiraspecial.rsi/fill-2.png | Bin 0 -> 634 bytes .../Drinks/kiraspecial.rsi/fill-3.png | Bin 0 -> 685 bytes .../Drinks/kiraspecial.rsi/icon_empty.png | Bin 0 -> 339 bytes .../Drinks/kiraspecial.rsi/meta.json | 65 ++- .../Drinks/lemonadeglass.rsi/fill-1.png | Bin 0 -> 117 bytes .../Drinks/lemonadeglass.rsi/fill-2.png | Bin 0 -> 145 bytes .../Drinks/lemonadeglass.rsi/fill-3.png | Bin 0 -> 155 bytes .../Drinks/lemonadeglass.rsi/fill-4.png | Bin 0 -> 166 bytes .../Drinks/lemonadeglass.rsi/fill-5.png | Bin 0 -> 181 bytes .../Drinks/lemonadeglass.rsi/fill-6.png | Bin 0 -> 188 bytes .../Drinks/lemonadeglass.rsi/icon_empty.png | Bin 0 -> 453 bytes .../Drinks/lemonadeglass.rsi/meta.json | 38 +- .../longislandicedteaglass.rsi/fill-1.png | Bin 0 -> 126 bytes .../longislandicedteaglass.rsi/fill-2.png | Bin 0 -> 133 bytes .../longislandicedteaglass.rsi/fill-3.png | Bin 0 -> 158 bytes .../longislandicedteaglass.rsi/fill-4.png | Bin 0 -> 200 bytes .../longislandicedteaglass.rsi/fill-5.png | Bin 0 -> 216 bytes .../longislandicedteaglass.rsi/fill-6.png | Bin 0 -> 225 bytes .../longislandicedteaglass.rsi/icon_empty.png | Bin 0 -> 399 bytes .../longislandicedteaglass.rsi/meta.json | 38 +- .../Drinks/manhattanglass.rsi/fill-1.png | Bin 0 -> 118 bytes .../Drinks/manhattanglass.rsi/fill-2.png | Bin 0 -> 137 bytes .../Drinks/manhattanglass.rsi/fill-3.png | Bin 0 -> 171 bytes .../Drinks/manhattanglass.rsi/icon_empty.png | Bin 0 -> 314 bytes .../Drinks/manhattanglass.rsi/meta.json | 29 +- .../Drinks/manlydorfglass.rsi/fill-1.png | Bin 0 -> 892 bytes .../Drinks/manlydorfglass.rsi/fill-2.png | Bin 0 -> 994 bytes .../Drinks/manlydorfglass.rsi/icon_empty.png | Bin 0 -> 827 bytes .../Drinks/manlydorfglass.rsi/meta.json | 11 +- .../Drinks/margaritaglass.rsi/fill-1.png | Bin 0 -> 124 bytes .../Drinks/margaritaglass.rsi/fill-2.png | Bin 0 -> 126 bytes .../Drinks/margaritaglass.rsi/fill-3.png | Bin 0 -> 144 bytes .../Drinks/margaritaglass.rsi/fill-4.png | Bin 0 -> 156 bytes .../Drinks/margaritaglass.rsi/icon.png | Bin 314 -> 312 bytes .../Drinks/margaritaglass.rsi/icon_empty.png | Bin 0 -> 317 bytes .../Drinks/margaritaglass.rsi/meta.json | 32 +- .../Drinks/martiniglass.rsi/fill-1.png | Bin 0 -> 129 bytes .../Drinks/martiniglass.rsi/fill-2.png | Bin 0 -> 160 bytes .../Drinks/martiniglass.rsi/fill-3.png | Bin 0 -> 202 bytes .../Drinks/martiniglass.rsi/icon_empty.png | Bin 0 -> 332 bytes .../Drinks/martiniglass.rsi/meta.json | 29 +- .../Consumable/Drinks/meadglass.rsi/icon.png | Bin 399 -> 414 bytes .../Consumable/Drinks/mojito.rsi/fill-1.png | Bin 0 -> 176 bytes .../Consumable/Drinks/mojito.rsi/fill-2.png | Bin 0 -> 214 bytes .../Consumable/Drinks/mojito.rsi/fill-3.png | Bin 0 -> 274 bytes .../Consumable/Drinks/mojito.rsi/fill-4.png | Bin 0 -> 360 bytes .../Consumable/Drinks/mojito.rsi/fill-5.png | Bin 0 -> 402 bytes .../Consumable/Drinks/mojito.rsi/fill-6.png | Bin 0 -> 461 bytes .../Drinks/mojito.rsi/icon_empty.png | Bin 0 -> 493 bytes .../Consumable/Drinks/mojito.rsi/meta.json | 38 +- .../Drinks/neurotoxinglass.rsi/fill-1.png | Bin 0 -> 523 bytes .../Drinks/neurotoxinglass.rsi/fill-2.png | Bin 0 -> 546 bytes .../Drinks/neurotoxinglass.rsi/fill-3.png | Bin 0 -> 642 bytes .../Drinks/neurotoxinglass.rsi/fill-4.png | Bin 0 -> 678 bytes .../Drinks/neurotoxinglass.rsi/fill-5.png | Bin 0 -> 708 bytes .../Drinks/neurotoxinglass.rsi/icon.png | Bin 875 -> 882 bytes .../Drinks/neurotoxinglass.rsi/icon_empty.png | Bin 0 -> 420 bytes .../Drinks/neurotoxinglass.rsi/meta.json | 101 +++- .../Drinks/nuclear_colaglass.rsi/fill-1.png | Bin 0 -> 158 bytes .../Drinks/nuclear_colaglass.rsi/fill-2.png | Bin 0 -> 164 bytes .../Drinks/nuclear_colaglass.rsi/fill-3.png | Bin 0 -> 177 bytes .../Drinks/nuclear_colaglass.rsi/fill-4.png | Bin 0 -> 198 bytes .../Drinks/nuclear_colaglass.rsi/fill-5.png | Bin 0 -> 223 bytes .../nuclear_colaglass.rsi/icon_empty.png | Bin 0 -> 872 bytes .../Drinks/nuclear_colaglass.rsi/meta.json | 53 ++- .../Drinks/patronglass.rsi/fill-1.png | Bin 0 -> 124 bytes .../Drinks/patronglass.rsi/fill-2.png | Bin 0 -> 144 bytes .../Drinks/patronglass.rsi/fill-3.png | Bin 0 -> 169 bytes .../Drinks/patronglass.rsi/icon_empty.png | Bin 0 -> 284 bytes .../Drinks/patronglass.rsi/meta.json | 29 +- .../Drinks/proj_manhattanglass.rsi/fill-1.png | Bin 0 -> 118 bytes .../Drinks/proj_manhattanglass.rsi/fill-2.png | Bin 0 -> 137 bytes .../Drinks/proj_manhattanglass.rsi/fill-3.png | Bin 0 -> 171 bytes .../Drinks/proj_manhattanglass.rsi/icon.png | Bin 581 -> 646 bytes .../proj_manhattanglass.rsi/icon_empty.png | Bin 0 -> 738 bytes .../Drinks/proj_manhattanglass.rsi/meta.json | 47 +- .../Drinks/pwineglass.rsi/fill-1.png | Bin 0 -> 1054 bytes .../Drinks/pwineglass.rsi/fill-2.png | Bin 0 -> 1098 bytes .../Drinks/pwineglass.rsi/fill-3.png | Bin 0 -> 1101 bytes .../Drinks/pwineglass.rsi/fill-4.png | Bin 0 -> 1110 bytes .../Drinks/pwineglass.rsi/fill-5.png | Bin 0 -> 1102 bytes .../Drinks/pwineglass.rsi/icon_empty.png | Bin 0 -> 338 bytes .../Drinks/pwineglass.rsi/meta.json | 131 +++++- .../Drinks/rootbeerfloatglass.rsi/fill-1.png | Bin 0 -> 150 bytes .../Drinks/rootbeerfloatglass.rsi/fill-2.png | Bin 0 -> 195 bytes .../Drinks/rootbeerfloatglass.rsi/fill-3.png | Bin 0 -> 218 bytes .../Drinks/rootbeerfloatglass.rsi/fill-4.png | Bin 0 -> 236 bytes .../Drinks/rootbeerfloatglass.rsi/fill-5.png | Bin 0 -> 247 bytes .../Drinks/rootbeerfloatglass.rsi/fill-6.png | Bin 0 -> 263 bytes .../Drinks/rootbeerfloatglass.rsi/fill-7.png | Bin 0 -> 291 bytes .../rootbeerfloatglass.rsi/icon_empty.png | Bin 0 -> 294 bytes .../Drinks/rootbeerfloatglass.rsi/meta.json | 41 +- .../Drinks/rootbeerglass.rsi/fill-1.png | Bin 0 -> 156 bytes .../Drinks/rootbeerglass.rsi/fill-2.png | Bin 0 -> 177 bytes .../Drinks/rootbeerglass.rsi/fill-3.png | Bin 0 -> 194 bytes .../Drinks/rootbeerglass.rsi/fill-4.png | Bin 0 -> 218 bytes .../Drinks/rootbeerglass.rsi/fill-5.png | Bin 0 -> 229 bytes .../Drinks/rootbeerglass.rsi/fill-6.png | Bin 0 -> 239 bytes .../Drinks/rootbeerglass.rsi/icon_empty.png | Bin 0 -> 294 bytes .../Drinks/rootbeerglass.rsi/meta.json | 38 +- .../Consumable/Drinks/rumglass.rsi/fill-1.png | Bin 0 -> 186 bytes .../Consumable/Drinks/rumglass.rsi/fill-2.png | Bin 0 -> 204 bytes .../Consumable/Drinks/rumglass.rsi/fill-3.png | Bin 0 -> 257 bytes .../Consumable/Drinks/rumglass.rsi/fill-4.png | Bin 0 -> 248 bytes .../Drinks/rumglass.rsi/icon_empty.png | Bin 0 -> 265 bytes .../Consumable/Drinks/rumglass.rsi/meta.json | 32 +- .../Drinks/sbitenglass.rsi/fill-1.png | Bin 0 -> 141 bytes .../Drinks/sbitenglass.rsi/fill-2.png | Bin 0 -> 197 bytes .../Drinks/sbitenglass.rsi/fill-3.png | Bin 0 -> 211 bytes .../Drinks/sbitenglass.rsi/fill-4.png | Bin 0 -> 223 bytes .../Drinks/sbitenglass.rsi/fill-5.png | Bin 0 -> 254 bytes .../Drinks/sbitenglass.rsi/icon_empty.png | Bin 0 -> 368 bytes .../Drinks/sbitenglass.rsi/meta.json | 35 +- .../Drinks/screwdriverglass.rsi/fill-1.png | Bin 0 -> 162 bytes .../Drinks/screwdriverglass.rsi/fill-2.png | Bin 0 -> 215 bytes .../Drinks/screwdriverglass.rsi/fill-3.png | Bin 0 -> 249 bytes .../Drinks/screwdriverglass.rsi/fill-4.png | Bin 0 -> 268 bytes .../Drinks/screwdriverglass.rsi/fill-5.png | Bin 0 -> 290 bytes .../Drinks/screwdriverglass.rsi/fill-6.png | Bin 0 -> 311 bytes .../Drinks/screwdriverglass.rsi/icon.png | Bin 478 -> 481 bytes .../screwdriverglass.rsi/icon_empty.png | Bin 0 -> 323 bytes .../Drinks/screwdriverglass.rsi/meta.json | 38 +- .../Drinks/sdreamglass.rsi/fill-1.png | Bin 0 -> 108 bytes .../Drinks/sdreamglass.rsi/fill-2.png | Bin 0 -> 152 bytes .../Drinks/sdreamglass.rsi/fill-3.png | Bin 0 -> 183 bytes .../Drinks/sdreamglass.rsi/fill-4.png | Bin 0 -> 214 bytes .../Drinks/sdreamglass.rsi/fill-5.png | Bin 0 -> 216 bytes .../Drinks/sdreamglass.rsi/icon_empty.png | Bin 0 -> 391 bytes .../Drinks/sdreamglass.rsi/meta.json | 35 +- .../Drinks/silencerglass.rsi/fill-1.png | Bin 0 -> 147 bytes .../Drinks/silencerglass.rsi/fill-2.png | Bin 0 -> 185 bytes .../Drinks/silencerglass.rsi/fill-3.png | Bin 0 -> 225 bytes .../Drinks/silencerglass.rsi/fill-4.png | Bin 0 -> 247 bytes .../Drinks/silencerglass.rsi/fill-5.png | Bin 0 -> 291 bytes .../Drinks/silencerglass.rsi/fill-6.png | Bin 0 -> 310 bytes .../Drinks/silencerglass.rsi/icon.png | Bin 519 -> 515 bytes .../Drinks/silencerglass.rsi/icon_empty.png | Bin 0 -> 343 bytes .../Drinks/silencerglass.rsi/meta.json | 38 +- .../Consumable/Drinks/singulo.rsi/fill-1.png | Bin 0 -> 589 bytes .../Consumable/Drinks/singulo.rsi/fill-2.png | Bin 0 -> 1281 bytes .../Consumable/Drinks/singulo.rsi/fill-3.png | Bin 0 -> 2115 bytes .../Consumable/Drinks/singulo.rsi/fill-4.png | Bin 0 -> 2618 bytes .../Consumable/Drinks/singulo.rsi/fill-5.png | Bin 0 -> 2689 bytes .../Drinks/singulo.rsi/icon_empty.png | Bin 0 -> 488 bytes .../Consumable/Drinks/singulo.rsi/meta.json | 137 +++++- .../Drinks/snowwhite.rsi/fill-1.png | Bin 0 -> 145 bytes .../Drinks/snowwhite.rsi/fill-2.png | Bin 0 -> 172 bytes .../Drinks/snowwhite.rsi/fill-3.png | Bin 0 -> 185 bytes .../Drinks/snowwhite.rsi/fill-4.png | Bin 0 -> 204 bytes .../Drinks/snowwhite.rsi/fill-5.png | Bin 0 -> 224 bytes .../Drinks/snowwhite.rsi/fill-6.png | Bin 0 -> 253 bytes .../Consumable/Drinks/snowwhite.rsi/icon.png | Bin 424 -> 417 bytes .../Drinks/snowwhite.rsi/icon_empty.png | Bin 0 -> 321 bytes .../Consumable/Drinks/snowwhite.rsi/meta.json | 38 +- .../Drinks/soy_latte.rsi/fill-1.png | Bin 0 -> 133 bytes .../Drinks/soy_latte.rsi/icon_empty.png | Bin 0 -> 293 bytes .../Consumable/Drinks/soy_latte.rsi/meta.json | 23 +- .../Drinks/syndicatebomb.rsi/fill-1.png | Bin 0 -> 186 bytes .../Drinks/syndicatebomb.rsi/fill-2.png | Bin 0 -> 238 bytes .../Drinks/syndicatebomb.rsi/fill-3.png | Bin 0 -> 276 bytes .../Drinks/syndicatebomb.rsi/fill-4.png | Bin 0 -> 318 bytes .../Drinks/syndicatebomb.rsi/fill-5.png | Bin 0 -> 327 bytes .../Drinks/syndicatebomb.rsi/fill-6.png | Bin 0 -> 309 bytes .../Drinks/syndicatebomb.rsi/icon_empty.png | Bin 0 -> 541 bytes .../Drinks/syndicatebomb.rsi/meta.json | 38 +- .../Drinks/tequillaglass.rsi/fill-1.png | Bin 0 -> 189 bytes .../Drinks/tequillaglass.rsi/fill-2.png | Bin 0 -> 208 bytes .../Drinks/tequillaglass.rsi/fill-3.png | Bin 0 -> 237 bytes .../Drinks/tequillaglass.rsi/fill-4.png | Bin 0 -> 248 bytes .../Drinks/tequillaglass.rsi/icon_empty.png | Bin 0 -> 348 bytes .../Drinks/tequillaglass.rsi/meta.json | 32 +- .../tequillasunriseglass.rsi/fill-1.png | Bin 0 -> 161 bytes .../tequillasunriseglass.rsi/fill-2.png | Bin 0 -> 208 bytes .../tequillasunriseglass.rsi/fill-3.png | Bin 0 -> 257 bytes .../tequillasunriseglass.rsi/fill-4.png | Bin 0 -> 292 bytes .../tequillasunriseglass.rsi/fill-5.png | Bin 0 -> 310 bytes .../Drinks/tequillasunriseglass.rsi/icon.png | Bin 593 -> 601 bytes .../tequillasunriseglass.rsi/icon_empty.png | Bin 0 -> 491 bytes .../Drinks/tequillasunriseglass.rsi/meta.json | 35 +- .../Drinks/the_martinez.rsi/fill-1.png | Bin 0 -> 124 bytes .../Drinks/the_martinez.rsi/fill-2.png | Bin 0 -> 163 bytes .../Drinks/the_martinez.rsi/fill-3.png | Bin 0 -> 147 bytes .../Drinks/the_martinez.rsi/icon_empty.png | Bin 0 -> 363 bytes .../Drinks/the_martinez.rsi/meta.json | 29 +- .../Drinks/thin_glass.rsi/fill-1.png | Bin 0 -> 128 bytes .../Drinks/thin_glass.rsi/fill-2.png | Bin 0 -> 157 bytes .../Drinks/thin_glass.rsi/fill-3.png | Bin 0 -> 172 bytes .../Drinks/thin_glass.rsi/fill-4.png | Bin 0 -> 184 bytes .../Drinks/thin_glass.rsi/fill-5.png | Bin 0 -> 184 bytes .../Drinks/thin_glass.rsi/icon_empty.png | Bin 0 -> 345 bytes .../Drinks/thin_glass.rsi/meta.json | 31 ++ .../threemileislandglass.rsi/fill-1.png | Bin 0 -> 482 bytes .../threemileislandglass.rsi/fill-2.png | Bin 0 -> 398 bytes .../threemileislandglass.rsi/icon_empty.png | Bin 0 -> 463 bytes .../Drinks/threemileislandglass.rsi/meta.json | 53 ++- .../Drinks/toxinsspecialglass.rsi/fill-1.png | Bin 0 -> 644 bytes .../Drinks/toxinsspecialglass.rsi/fill-2.png | Bin 0 -> 773 bytes .../Drinks/toxinsspecialglass.rsi/fill-3.png | Bin 0 -> 883 bytes .../Drinks/toxinsspecialglass.rsi/fill-4.png | Bin 0 -> 852 bytes .../toxinsspecialglass.rsi/icon_empty.png | Bin 0 -> 252 bytes .../Drinks/toxinsspecialglass.rsi/meta.json | 82 +++- .../Drinks/vermouthglass.rsi/fill-1.png | Bin 0 -> 187 bytes .../Drinks/vermouthglass.rsi/fill-2.png | Bin 0 -> 206 bytes .../Drinks/vermouthglass.rsi/fill-3.png | Bin 0 -> 251 bytes .../Drinks/vermouthglass.rsi/fill-4.png | Bin 0 -> 251 bytes .../Drinks/vermouthglass.rsi/icon_empty.png | Bin 0 -> 348 bytes .../Drinks/vermouthglass.rsi/meta.json | 32 +- .../Drinks/whiskeycolaglass.rsi/fill-1.png | Bin 0 -> 239 bytes .../Drinks/whiskeycolaglass.rsi/fill-2.png | Bin 0 -> 303 bytes .../Drinks/whiskeycolaglass.rsi/fill-3.png | Bin 0 -> 370 bytes .../Drinks/whiskeycolaglass.rsi/fill-4.png | Bin 0 -> 395 bytes .../Drinks/whiskeycolaglass.rsi/icon.png | Bin 603 -> 616 bytes .../whiskeycolaglass.rsi/icon_empty.png | Bin 0 -> 417 bytes .../Drinks/whiskeycolaglass.rsi/meta.json | 32 +- .../Drinks/whiskeyglass.rsi/fill-1.png | Bin 0 -> 184 bytes .../Drinks/whiskeyglass.rsi/fill-2.png | Bin 0 -> 203 bytes .../Drinks/whiskeyglass.rsi/fill-3.png | Bin 0 -> 257 bytes .../Drinks/whiskeyglass.rsi/fill-4.png | Bin 0 -> 254 bytes .../Drinks/whiskeyglass.rsi/icon.png | Bin 364 -> 390 bytes .../Drinks/whiskeyglass.rsi/icon_empty.png | Bin 0 -> 265 bytes .../Drinks/whiskeyglass.rsi/meta.json | 32 +- .../Drinks/whiskeysodaglass.rsi/fill-1.png | Bin 0 -> 239 bytes .../Drinks/whiskeysodaglass.rsi/fill-2.png | Bin 0 -> 303 bytes .../Drinks/whiskeysodaglass.rsi/fill-3.png | Bin 0 -> 370 bytes .../Drinks/whiskeysodaglass.rsi/fill-4.png | Bin 0 -> 395 bytes .../Drinks/whiskeysodaglass.rsi/icon.png | Bin 668 -> 687 bytes .../whiskeysodaglass.rsi/icon_empty.png | Bin 0 -> 507 bytes .../Drinks/whiskeysodaglass.rsi/meta.json | 32 +- .../Drinks/whiterussianglass.rsi/fill-1.png | Bin 0 -> 261 bytes .../Drinks/whiterussianglass.rsi/fill-2.png | Bin 0 -> 315 bytes .../Drinks/whiterussianglass.rsi/fill-3.png | Bin 0 -> 380 bytes .../Drinks/whiterussianglass.rsi/fill-4.png | Bin 0 -> 451 bytes .../whiterussianglass.rsi/icon_empty.png | Bin 0 -> 546 bytes .../Drinks/whiterussianglass.rsi/meta.json | 32 +- .../Drinks/wineglass.rsi/fill-1.png | Bin 0 -> 116 bytes .../Drinks/wineglass.rsi/fill-2.png | Bin 0 -> 130 bytes .../Drinks/wineglass.rsi/fill-3.png | Bin 0 -> 149 bytes .../Drinks/wineglass.rsi/fill-4.png | Bin 0 -> 156 bytes .../Drinks/wineglass.rsi/fill-5.png | Bin 0 -> 159 bytes .../Drinks/wineglass.rsi/icon_empty.png | Bin 0 -> 363 bytes .../Consumable/Drinks/wineglass.rsi/meta.json | 35 +- 571 files changed, 3850 insertions(+), 206 deletions(-) create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/meta.json create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/booger.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/icon_empty.png delete mode 100644 Resources/Textures/Objects/Consumable/Drinks/hell.rsi/icon.png delete mode 100644 Resources/Textures/Objects/Consumable/Drinks/hell.rsi/meta.json create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-7.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-6.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/the_martinez.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/the_martinez.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/the_martinez.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/the_martinez.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/meta.json create mode 100644 Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeycolaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeycolaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeycolaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeycolaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeycolaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/icon_empty.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-1.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-2.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-3.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-4.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-5.png create mode 100644 Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/icon_empty.png diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index 699d1aa9ab1..30bd4cb3dac 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -242,7 +242,15 @@ Quantity: 20 - type: Sprite sprite: Objects/Consumable/Drinks/cafe_latte.rsi + layers: + - state: icon_empty + - state: fill-1 + map: ["enum.SolutionContainerLayers.Fill"] - type: Appearance + - type: SolutionContainerVisuals + maxFillLevels: 1 + fillBaseName: fill- + changeColor: false - type: TrashOnSolutionEmpty solution: drink diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml b/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml index 0a8be667c9b..fb2422ca28b 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/alcohol.yml @@ -11,7 +11,10 @@ color: "#33EE00" metamorphicSprite: sprite: Objects/Consumable/Drinks/absintheglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -32,7 +35,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/aleglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Beer @@ -41,11 +47,14 @@ desc: reagent-desc-beer physicalDesc: reagent-physical-desc-bubbly flavor: beer - color: "#cfa85f" + color: "#e3e77b" recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/beerglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: BlueCuracao @@ -56,8 +65,11 @@ flavor: alcohol color: "#0099FF" metamorphicSprite: - sprite: Objects/Consumable/Drinks/curacaoglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/thin_glass.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -78,7 +90,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/cognacglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -98,7 +113,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/rumglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -175,7 +193,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/ginvodkaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -195,7 +216,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/coffeeliqueurglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: MelonLiquor @@ -206,8 +230,11 @@ flavor: watermelon color: "#00FF33" metamorphicSprite: - sprite: Objects/Consumable/Drinks/emeraldglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/thin_glass.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: NTCahors @@ -219,7 +246,10 @@ color: "#7E4043" metamorphicSprite: sprite: Objects/Consumable/Drinks/wineglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: PoisonWine @@ -228,10 +258,13 @@ desc: reagent-desc-poison-wine physicalDesc: reagent-physical-desc-strong-smelling flavor: bitter - color: "#000000" + color: "#990066" metamorphicSprite: sprite: Objects/Consumable/Drinks/pwineglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -258,7 +291,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/rumglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -286,6 +322,12 @@ physicalDesc: reagent-physical-desc-strong-smelling flavor: tequila color: "#d7d1d155" + metamorphicSprite: + sprite: Objects/Consumable/Drinks/tequillaglass.rsi + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -305,7 +347,10 @@ color: "#91FF91" metamorphicSprite: sprite: Objects/Consumable/Drinks/vermouthglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Vodka @@ -318,7 +363,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/ginvodkaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -339,7 +387,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/whiskeyglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -360,7 +411,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/wineglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Champagne @@ -373,7 +427,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/champagneglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -395,7 +452,10 @@ color: "#365000" metamorphicSprite: sprite: Objects/Consumable/Drinks/acidspitglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: AlliesCocktail @@ -407,7 +467,10 @@ color: "#00664d" metamorphicSprite: sprite: Objects/Consumable/Drinks/alliescocktail.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Aloe @@ -419,7 +482,10 @@ color: "#192c00" metamorphicSprite: sprite: Objects/Consumable/Drinks/aloe.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Amasec @@ -431,7 +497,10 @@ color: "#124da7" metamorphicSprite: sprite: Objects/Consumable/Drinks/amasecglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Andalusia @@ -443,7 +512,10 @@ color: "#665700" metamorphicSprite: sprite: Objects/Consumable/Drinks/andalusia.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Antifreeze @@ -455,8 +527,10 @@ color: "#ff7d63" metamorphicSprite: sprite: Objects/Consumable/Drinks/antifreeze.rsi - state: icon - + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -476,7 +550,10 @@ color: "#666300" metamorphicSprite: sprite: Objects/Consumable/Drinks/atomicbombglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -499,7 +576,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/b52glass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -519,7 +599,10 @@ color: "#FF7F3B" metamorphicSprite: sprite: Objects/Consumable/Drinks/bahama_mama.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: BananaHonk @@ -531,7 +614,10 @@ color: "#ffff91" metamorphicSprite: sprite: Objects/Consumable/Drinks/bananahonkglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Barefoot @@ -540,10 +626,13 @@ desc: reagent-desc-barefoot physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#664300" + color: "#ff66cc" metamorphicSprite: sprite: Objects/Consumable/Drinks/b&p.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: BeepskySmash @@ -555,7 +644,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/beepskysmashglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -575,7 +667,10 @@ color: "#360000" metamorphicSprite: sprite: Objects/Consumable/Drinks/blackrussianglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -592,10 +687,13 @@ desc: reagent-desc-bloody-mary physicalDesc: reagent-physical-desc-strong-smelling flavor: bloodymary - color: "#660000" + color: "#df6a50" metamorphicSprite: sprite: Objects/Consumable/Drinks/bloodymaryglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Booger @@ -604,10 +702,13 @@ desc: reagent-desc-booger physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#8CFF8C" + color: "#99ff00" metamorphicSprite: sprite: Objects/Consumable/Drinks/booger.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: BraveBull @@ -619,7 +720,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/bravebullglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -639,7 +743,10 @@ color: "#3E1B00" metamorphicSprite: sprite: Objects/Consumable/Drinks/cubalibreglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -659,7 +766,10 @@ color: "#a70000" metamorphicSprite: sprite: Objects/Consumable/Drinks/demonsblood.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: DevilsKiss @@ -668,10 +778,13 @@ desc: reagent-desc-devils-kiss physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#A68310" + color: "#ff0033" metamorphicSprite: sprite: Objects/Consumable/Drinks/devilskiss.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: DoctorsDelight @@ -683,7 +796,10 @@ color: "#FF8CFF" metamorphicSprite: sprite: Objects/Consumable/Drinks/doctorsdelightglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -714,7 +830,10 @@ color: "#2E6671" metamorphicSprite: sprite: Objects/Consumable/Drinks/driestmartiniglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -731,10 +850,13 @@ desc: reagent-desc-erika-surprise physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#2E6671" + color: "#67bc50" metamorphicSprite: - sprite: Objects/Consumable/Drinks/erikasurprise.rsi - state: icon + sprite: Objects/Consumable/Drinks/beerstein.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: GargleBlaster @@ -746,7 +868,10 @@ color: "#9cc8b4" metamorphicSprite: sprite: Objects/Consumable/Drinks/gargleblasterglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -766,7 +891,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/ginfizzglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -786,7 +914,10 @@ color: "#004166" metamorphicSprite: sprite: Objects/Consumable/Drinks/gintonicglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -806,7 +937,10 @@ color: "#FFFF91" metamorphicSprite: sprite: Objects/Consumable/Drinks/gildlagerglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -823,10 +957,13 @@ desc: reagent-desc-grog physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#664300" + color: "#e3e77b" metamorphicSprite: - sprite: Objects/Consumable/Drinks/grogglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/beerstein.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: HippiesDelight @@ -838,7 +975,10 @@ color: "#6eaa0c" metamorphicSprite: sprite: Objects/Consumable/Drinks/hippiesdelightglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Hooch @@ -848,9 +988,6 @@ physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol color: "#664e00" - metamorphicSprite: - sprite: Objects/Consumable/Drinks/glass_brown2.rsi - state: icon - type: reagent id: IcedBeer @@ -862,7 +999,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/iced_beerglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: IrishCarBomb @@ -874,7 +1014,10 @@ color: "#2E6671" metamorphicSprite: sprite: Objects/Consumable/Drinks/irishcarbomb.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -894,7 +1037,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/irishcreamglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -914,7 +1060,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/irishcoffeeglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -934,7 +1083,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/longislandicedteaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -954,7 +1106,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/manhattanglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: ManhattanProject @@ -966,7 +1121,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/proj_manhattanglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: ManlyDorf @@ -978,7 +1136,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/manlydorfglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 2 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Margarita @@ -990,7 +1151,10 @@ color: "#8CFF8C" metamorphicSprite: sprite: Objects/Consumable/Drinks/margaritaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Martini @@ -1002,7 +1166,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/martiniglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1021,8 +1188,11 @@ flavor: mead color: "#664300" metamorphicSprite: - sprite: Objects/Consumable/Drinks/meadglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/beerstein.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Mojito @@ -1031,10 +1201,13 @@ desc: reagent-desc-mojito physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#664300" + color: "#3ea99888" metamorphicSprite: sprite: Objects/Consumable/Drinks/mojito.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Moonshine @@ -1063,7 +1236,10 @@ color: "#2E2E61" metamorphicSprite: sprite: Objects/Consumable/Drinks/neurotoxinglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1089,7 +1265,10 @@ color: "#585840" metamorphicSprite: sprite: Objects/Consumable/Drinks/patronglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true metabolisms: Drink: effects: @@ -1106,10 +1285,13 @@ desc: reagent-desc-red-mead physicalDesc: reagent-physical-desc-strong-smelling flavor: alcohol - color: "#C73C00" + color: "#bc5550" metamorphicSprite: - sprite: Objects/Consumable/Drinks/red_meadglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/beerstein.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Sbiten @@ -1121,7 +1303,10 @@ color: "#004166" metamorphicSprite: sprite: Objects/Consumable/Drinks/sbitenglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: ScrewdriverCocktail @@ -1133,7 +1318,10 @@ color: "#A68310" metamorphicSprite: sprite: Objects/Consumable/Drinks/screwdriverglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1153,7 +1341,10 @@ color: "#B5A642" metamorphicSprite: sprite: Objects/Consumable/Drinks/cogchamp.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1173,10 +1364,13 @@ desc: reagent-desc-silencer physicalDesc: reagent-physical-desc-strong-smelling flavor: nothing - color: "#004666" + color: "#878787" metamorphicSprite: sprite: Objects/Consumable/Drinks/silencerglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1196,7 +1390,10 @@ color: "#3b0c0c" metamorphicSprite: sprite: Objects/Consumable/Drinks/singulo.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: SnowWhite @@ -1208,7 +1405,10 @@ color: "#FFFFFF" metamorphicSprite: sprite: Objects/Consumable/Drinks/snowwhite.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: SuiDream @@ -1220,7 +1420,10 @@ color: "#00A86B" metamorphicSprite: sprite: Objects/Consumable/Drinks/sdreamglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: SyndicateBomb @@ -1229,10 +1432,13 @@ desc: reagent-desc-syndicate-bomb physicalDesc: reagent-physical-desc-opaque flavor: syndiebomb - color: "#2E6660" + color: "#e3e77b" metamorphicSprite: sprite: Objects/Consumable/Drinks/syndicatebomb.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: TequilaSunrise @@ -1244,7 +1450,10 @@ color: "#FFE48C" metamorphicSprite: sprite: Objects/Consumable/Drinks/tequillasunriseglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1264,7 +1473,10 @@ color: "#75b1f0" metamorphicSprite: sprite: Objects/Consumable/Drinks/the_martinez.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: ThreeMileIsland @@ -1276,7 +1488,10 @@ color: "#666340" metamorphicSprite: sprite: Objects/Consumable/Drinks/threemileislandglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 2 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1299,7 +1514,10 @@ color: "#665c00" metamorphicSprite: sprite: Objects/Consumable/Drinks/toxinsspecialglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: VodkaMartini @@ -1311,7 +1529,10 @@ color: "#004666" metamorphicSprite: sprite: Objects/Consumable/Drinks/martiniglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1330,8 +1551,11 @@ flavor: alcohol color: "#0064C8" metamorphicSprite: - sprite: Objects/Consumable/Drinks/vodkatonicglass.rsi - state: icon + sprite: Objects/Consumable/Drinks/gintonicglass.rsi # they look the same + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1351,7 +1575,10 @@ color: "#3E1B00" metamorphicSprite: sprite: Objects/Consumable/Drinks/whiskeycolaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1371,7 +1598,10 @@ color: "#533600" metamorphicSprite: sprite: Objects/Consumable/Drinks/whiskeysodaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -1408,7 +1638,10 @@ color: "#A68340" metamorphicSprite: sprite: Objects/Consumable/Drinks/whiterussianglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 4 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml index ce93bbc4631..946a2a6e449 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/drinks.yml @@ -58,7 +58,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/cafe_latte.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 1 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: GreenTea @@ -70,7 +73,10 @@ color: "#7EB626" metamorphicSprite: sprite: Objects/Consumable/Drinks/glass_green.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Grenadine @@ -82,7 +88,10 @@ color: "#EA1D26" metamorphicSprite: sprite: Objects/Consumable/Drinks/grenadineglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true footstepSound: collection: FootstepSticky params: @@ -98,7 +107,10 @@ color: "#102838" metamorphicSprite: sprite: Objects/Consumable/Drinks/icedcoffeeglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: IcedGreenTea @@ -110,7 +122,10 @@ color: "#5B821B" metamorphicSprite: sprite: Objects/Consumable/Drinks/glass_green.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: IcedTea @@ -122,7 +137,10 @@ color: "#6C3916" metamorphicSprite: sprite: Objects/Consumable/Drinks/icedteaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -163,7 +181,10 @@ color: "#FFFF00" metamorphicSprite: sprite: Objects/Consumable/Drinks/lemonadeglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -240,9 +261,6 @@ desc: reagent-desc-nothing group: Drinks physicalDesc: reagent-physical-desc-nothing - metamorphicSprite: - sprite: Objects/Consumable/Drinks/nothing.rsi - state: icon metabolisms: Drink: effects: @@ -261,7 +279,10 @@ color: "#100800" metamorphicSprite: sprite: Objects/Consumable/Drinks/nuclear_colaglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false metabolisms: Drink: effects: @@ -293,7 +314,10 @@ color: "#664300" metamorphicSprite: sprite: Objects/Consumable/Drinks/soy_latte.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 1 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Tea @@ -404,9 +428,6 @@ physicalDesc: reagent-physical-desc-sour flavor: bitter color: "#B3B599" - metamorphicSprite: - sprite: Objects/Consumable/Drinks/glass_light_yellow.rsi - state: icon - type: reagent id: KiraSpecial @@ -418,7 +439,10 @@ color: "#CCCC99" metamorphicSprite: sprite: Objects/Consumable/Drinks/kiraspecial.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 3 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: Rewriter @@ -429,8 +453,11 @@ flavor: sweet color: "#485000" metamorphicSprite: - sprite: Objects/Consumable/Drinks/rewriter.rsi - state: icon + sprite: Objects/Consumable/Drinks/beerstein.rsi + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: Mopwata diff --git a/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml b/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml index e3f1a0e8367..bcbd877ea87 100644 --- a/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml +++ b/Resources/Prototypes/Reagents/Consumable/Drink/soda.yml @@ -63,7 +63,10 @@ recognizable: true metamorphicSprite: sprite: Objects/Consumable/Drinks/icecreamglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: true - type: reagent id: LemonLime @@ -73,9 +76,6 @@ physicalDesc: reagent-physical-desc-fizzy flavor: lemonlimesoda color: "#878F00" - metamorphicSprite: - sprite: Objects/Consumable/Drinks/lemonlime.rsi - state: icon - type: reagent id: PwrGame @@ -96,7 +96,10 @@ color: "#381c07" metamorphicSprite: sprite: Objects/Consumable/Drinks/rootbeerglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 6 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: RootBeerFloat @@ -108,7 +111,10 @@ color: "#4f361f" metamorphicSprite: sprite: Objects/Consumable/Drinks/rootbeerfloatglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 7 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false - type: reagent id: SpaceMountainWind diff --git a/Resources/Prototypes/Reagents/biological.yml b/Resources/Prototypes/Reagents/biological.yml index 978ec717f95..67766f2749f 100644 --- a/Resources/Prototypes/Reagents/biological.yml +++ b/Resources/Prototypes/Reagents/biological.yml @@ -7,7 +7,10 @@ color: "#800000" metamorphicSprite: sprite: Objects/Consumable/Drinks/bloodglass.rsi - state: icon + state: icon_empty + metamorphicMaxFillLevels: 5 + metamorphicFillBaseName: fill- + metamorphicChangeColor: false recognizable: true physicalDesc: reagent-physical-desc-ferrous slippery: false diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3d0d47a0fc5bcfed8ba4c28c56b1ac62272a08b0 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}dY&$hArY-_ z&n#qQP~c%cm?rS;ez$9v>ve@4#rl)97#JRu&*a-(9lvu@&;Ewxe4e>1Oe&=lb^&!V Nc)I$ztaD0e0sy$sBDDYj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..004bb58c5d0bb4e48939751e6065147c0f471151 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`JOJ0ArY-_ z&u!#AU0H3l zdi%%K=dyQ~Nt@d=+8Qu&7fAj57|qOgAoz@qLn2z= zUUuX%<$pp0D?c( z-Et-0wGF0iV6HM=y>5HA*@u*x{ZF^nKAEsPz9E=Xc*6BPGv{V!xvF1a5I%kOw(q~N zXpLJ3WGy!A`OES}wf;{SGq1t)(zwZ6AGe>cJGg<<+IaIEW6h-*o`OGn+07rx>gm?p RTmy6=gQu&X%Q~loCIE{;SbqQj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..bd28cc24156de7389ff15dc32698f5a533ccbb02 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ydl>XLn2z= zPBG*|CQg`=^|FoM0Ps#-(!Bl6#Lq?b<))p&N(NtBxkwiPqKgU+gqafu|?lw z3wGseZlQC%cQOgia9MKmeF`sw%7ain|FFsP7?cY%zb4GwXYQcN7#R9>1%qiz=jNrJ zq4N*ym0_N+T2HB8O#d~T(uNJbb+=#64^z%=5Z$rK_6X~YF1tV44lMhYo(s*1wf|D< p^8Rk2h~P;}VW$mIR(-`h_9uU-vIRNUDg)ik;OXk;vd$@?2>|CJTIc`( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..e1badfa312b4794a5209c1fc8f4d33d8479d7556 GIT binary patch literal 299 zcmV+`0o4A9P)Px#j2@IXWN<%@xSO-*Dq&;oP1jo1L2s2ATd;DK9= xA6q}Q{b0C=LI^nL#{Yw|KZcf*kjZ3z${o;iJDc1At3Ch#002ovPDHLkV1fbPbuj<{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..eeaa0014b90df05c7c467d22bdeb1bd4ff64b08e GIT binary patch literal 466 zcmV;@0WJQCP)Px$j7da6R9J=WmQPCpK^VrLS%QKR7V1l+m$pNfNEZ44iIEqp51?R|=+?~0RWu+d>~tI|BnE}QmC*O z8g1TB=Fm^((Cswv_YaUl>M;Tag?RDWBj5#q`zItDFJS5X0^Q=AkOK9v2LJ#707*qo IM6N<$f{6ao5dZ)H literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/absintheglass.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5c685c4a229032d6b29357d68295c097864234f3 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}QJyZ2ArY-_ z&lvJKI0!ggJZR?kfUR0v&uRUo4Am<_=9fAIzFvxY%oqIs`hR^UpaurEw^6TlnEyJm z;BMec;by<^wbQ0=c6s?)RjrjLT3_$;ra7DM#OFmaPLOw9Fa1fIk3k8f$z@qLn2z= zUNGc3Ago}QtIQp&NwFVEjnp5Yw_Je)ny`A*168N&AQISaBcJ3>y@o(4yn&O zJ|tJp->c?k|KOj^!kIb=UXrKnPx#!%0LzR9J=W(yi92WdMz4pN_1egT?+-Qmr>mjFAnY+s-o$cOU| z06?UturNR0&|84p>x5)DgBtMPJKz;SR~bkpuPx#-bqA3R9J=Wk}VFxKoEuB?v@Y)6%`N?ejL}~7)S(?D{uiYBq)O80ysDY7*;ei zp`>gu(8;38Pf)ugsQJ{W_rA;wz%UHMFbv~}q0G+Wku{XrRXnkVvX9v{PxuI|lLdCP zL8MxU(EgZvjlNT6;3`lNRqXTaQ@topNdw9?&0_-qaHX?dCS#^jC<@=pi}^1CQ$2WY;9bZE=O+Y!P&Q$pzs~SCfz$1PdbtBpvOoWTmw?Q> qAW?_89}%c7LRrHlPrL*ehIs%PKxtxeiPx#{YgYYR9J=Wk}*!hKoCXW+Cd1Rq;Qc4DSKnHq*U{o{muUWcV|FR6h%=KA@;EKt96x7k?lK1^@s6qMd$(00001b5ch_0Itp)=>Px%SxH1eRA_V=RsSPoM`WM!eSKD-p+aB<5FhBnx#I(8?!8!P zS)(5{0PJ#>m4Dz54=Vs7f)S4)bzyY6Rn4ol&3RS_5&L;(00BGRSA6)fG(R~!f&A72 zCWj{gz#qR{lXe71@$+^72)+6-n1(=pYXPPq@VcBwd7Jz((OFglQTsJ+6FZ^;7e$!H z?~6g>xV%j`6k{(Lsh?G?{i#mi6gIq7xG3%$n}$Gj?|&z&fvEkg00aoV)Q8R58~?iv zZxsoB2(DLxiy}+TMTVahz!jrPvr8+OKJmzx);|GY{oPeuJhCh06m$xi+=I(AQwRC) zU%EBLxe;RjVTBOz1U1PM`Ve=iw&=8<9RLye!bW+0ESpaI*#YPp;c@A<{|nUV)(+^j zpZzdI8h@c*JBbQPP1~>=blT4jKqC!bsznUOPlIA&-!}Z*b{o<8*#YP}L930xqd`>m zKA}e+LBD3=TdmxNo=>O!ZM_hA=8`ZD$D8J5T>=}il6HFL`NQnr{Ee4DX)i%HctxqWj$ zTvAeFH%xMI&Yhhm%Rg&^knrzAKJw1r%5Nr?-+2G@^qX^U-ns9L;k(R-2q@c6;0T zkhWB&(+%zN^{ZAs;F)74es1#g{3)EmAO)!p)5?@2a#!~+y{U7YWg6qhM!TM$%sakT ztWA~wK7&1>y*P^b7khgugW$pL;|7&wTTC-Te9vup z?Xl~yMl0)-3F)21h6~RdC0ts4;p7`a{H;%jpmAKYEtZBbux{6wt5b}RGx^rW<3 z^}n_sU+-5e=JbX;OtUp0aB{^Z*=O@sDVMz7%&V|ySHj|owYgGvf8{X8v={6zSo@Fv zip3hi1<~{W8o2N+yl>fP#N~VVgTaNh=gkf%vd3#z@*MMTOv<`%@aIyYWD!W)^ammC z0+$p{RnNcpxNpJzj~^FDy>Xb=pI7_p$>|G4ol~w$=ikcD;>uA0#*=aXyR`pH&(CFQ z}s^)yMA^ZQwR0f|3M~34!amKkHmMgJ1VTY|5aH5%vWMw!aYF^!92FArh#+K zN%k3sz>HJuGY+h)X<%FfV(hAE$OALrYQQ3=*W@j8=E@Vx-0zj$*jixjkkU}Xc&TJB<9^14jF-}!;!e~76F-BetDnm{r-UW| DLTq*X diff --git a/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..cd2f3e6260452179418e011edac22af5f821b0a8 GIT binary patch literal 511 zcmVPx$xk*GpRA_J^(8EC2wd5KsX`W~Lz(kInBKpAXfT zQ&9luVumH~R|gdUWBrNEFC^B6X`0s$HB<#5`y03l{3Q~%ui_x^M+LwX1|Q541r+|c z4p3lhH1Huw{ZVQ|LEU@*L=_OWKPmvy^&OHwDuAVEkCo5bkc!7#ciQI7V=X(`rAdih zIs1!SB|rbY+(rp=5kfCmDLpTOKfVKukUJn? ze{=u_3-_E4+8_NKHv12~a-da&=#LH{H}S?!F7IS?Jo4)s*%A1SXjL7a-Gt8Rf$ipx zJpuv#5C8zc%B*BmPhLMntLpG&_XfcJyhfwZd;!Tfd@NPH97q5F002ovPDHLkV1l68 B*Hi!i literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/meta.json index 6b76e14b80e..64fae7b0a9a 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/acidspitglass.rsi/meta.json @@ -1 +1,48 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[30.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 30.0, + 1.0 + ] + ] + }, + { + "name": "icon_empty", + "delays": + [ + [ + 30.0, + 1.0 + ] + ] + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0ab878551c8e26693175c4ef3f75b786654965fd GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|K6|=2hE&XX zd+Q?aAq9bkhl?*VemQ$2ao3E#MXNV7_a!`<&6f~Vb4fy3S0*6o$NuGZQ+7XlkTF?_ z38)tYcnxPczAG%WZ`R#@EJ|8r@%w5)!Hw7UtzW+9o$P6Okr#)R${IROe6738b6PFE zE|k%1b?Fz0`#SCC>ayzOLmB!;!N3%#L>wZ(q=uaMFxb2E{i zt2STF|Fd=j)0Mi0TOs!u?N;u!6WxB~_JW_H7it(cZF9&}jau_l6yla!#;<=i$k=;W z$WO4W|N5D+`04jR(FZkmcsKrkzCT)dslpt71_p(0^%sW%zp8Apvjpk#boFyt=akR{ E0MPM&ApigX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9017e356d94e9462c08f9d5b08571c2bcf61c48e GIT binary patch literal 391 zcmV;20eJq2P)Px$K}keGRCt{2+CfgkFc5{|=ahn~WW|~t8+wbJquhhrz*&3+PQeZ;Q3?cd;fF& zo9_L?^-%m#!8@)(2OPY8yjzDRkt)8a09CnBRo*5^Aa{II0bZZ(B}t27tFPuJNg|f` zDVUdlq@aiYYn>0R|DpS-if<}F@$e`or=o4uxbD959G%eE_&YhxGsOokZ0xs%h3P{m zG@(-)U8;DNI7RS?e})3&P9V3a523!;wSH>eb8Lo_e*-8$?gVn1d;tIe0000}bg}+` z{;`(j_>BI5GsLGqz%t14e?H}jZp!`u^O4x1*d|LNR!lCYH(<70HQ#c&KKeiZVooGP lzdvCoX(oyO0001j>;W}#ZO@ja*3$q0002ovPDHLkV1jxctlt0t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b52990e8753ed750983ded9204f358f072b508 GIT binary patch literal 499 zcmVPx$tw}^dRCt{2noUx|KoEuB1knmCSh``yMsJaG=shU69z@TQE3mc7wL5|GufQU4 z6)NU`dOF0I_w8VkeoaqLPna}72qAd_@-$QviOac$T7oX7ye0G>o|X_^uHJ;Q9VC_nq(UoSl*AyXrb+Kw7-3EO6Bo z)c}cj**dRU|5f9zbtgd-0PpG+1_oXnBQoj2`{3+QQ~f;*#tQn@+eTBe)w^z{Nd;{_ zTc~VZ1cl?S>2H$(wpywg&}OQ(#o(8~-~-UwHrNJrOH5L02A=^8K-Ufs zLI@#*5JE^7oTNV>{Xab!lb#c@KR{Vuy+1(3s}lZFe?YuiE(*npj;*v$iw^*v?&d1* z277xTqV+af+8=P7{ZsY@r1aHnIcGqhyF&nn0CX|)Ww`hvDuScyo9G(`=ehUuk77q` p$o41f0gM2gsy~4cLJ0XM`~bu_qV~GrBn$um002ovPDHLkV1ne@%A_P)Px$^hrcPRCt{2nn6y&Koo}mDIx(EL^sC79SPB$N9Z~99&Cvx@C166xdI1pZP;jt zF{Bt;7p71PrOcaYhsyu0pzX~6`grek$~=G&LI@#*5JHX+Wjf$%HcNWF&*BN&*Gg+$ zI!_petIuWEXRqByzf?TKiOI#lugBg#-c5%&!?nJ#0|4Oa{KA<5zV(eAkN}vB2F?uF zCta%451h^9nQjn?#u+={tlw9|@pS9CyQj#wsM_dfZ+aegMEar{u*`k$1`+0Q2Y`7< z1AnW0p6q;DYlLCA(oZ#QaFPNp4Dp4?0k4mj8^@$MXsd6lYZU?c9Q1*$uBZk`#EbHL zSN`uhpRGGKh#U~yJU~GqND{;(X4cb?K0fn|FeIvBiq9;SqTt`WjH~w!{f>MlE zPOcX^t~E`yjy?kD0N)1q#%T?(&2<}Xss7PN03G1l0N>C7z76nABUXZh5JE^bRMH;+ ztaovW9-GofBl`m!>$5+=bU*?mlhHr{<(m^#{F{4F{Q*th6it!z2L!|MG|31P{-jeQ+Bj#2i`Wno^8E=504)Fq*&jd%A%q+*KUUwoi^Zit4*&oF07*qo IM6N<$f~RrPx%K}keGRCt{2noCZ@Kn#Zeq%BodsTD|w4Lc+RJC4wEz+r$BZ~{2XTmuk0Hf$+S zg-6ONXgV2M>~S+w;&0cyevfNAR>pv$D2k#eiqcLp>J9Uc$NAC+_V$-P(-;E)m`o;WprCbaE&!4+^o!(M!6GK{`?0{jvhf#M&%z)VXWCs+}Def;0#0-e7Pj-Nt zV1vBCtn4owTb0uxkc-v|a_)_Tya0gO;$u+R!h!67ssu|doEj~@S3rm@>GE^+b)Eh0%$inF23hg`Vwg5dBcypa^htFb1KztQx=(|1Hm#<^Qttz6Oi~%K`b(88T$Z=W~>q zU3jm94f?D8J2Lbl>60+Vh_%M+Y_XGOoeTdrogf!-=Oo?eNNZBHS|0)GfY=7aMzjWm z=6Z-WSHJZUpbm&_Ky1_ju?>jLMs$J{ZS4e!wB7-&XD#yqZmvpph$+kmly5J0?$$tK zq%a>a9d)V3RjRD>(B3`QiCf?T;AbMdR}Um2L$`pA`YVCLm-!fTJ%pqqMO_ zP%8bn^8r7h7NZdQ<`cLCN5G~R!r(c<6bP|}H6PG9J}p0xVXL-3f5SF}f;*q^4xj@d h$@u_9Q4~cVv!!H<=Xoq6%#fy0)WI!i1Pt}f31e^{nB|55Pf zr$46t=TWKXQDNWk@w3qlkM33BYi{=6c8JRh>QOn%*wZ7>|1;v%lE*=t|6aN~bIFX8 zF0+_dEbZ`N7ZBdsv!#R~)9vyhMw0@@%s>Zb@d-~Dcs$A&R<4}$iZ3B4CB@>?7t?c19pCs8q&^5JL~_SD1jQaW zz`)zopr E04@rFOaK4? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/meta.json index d6f8f99b62d..40b0ba1b873 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/aleglass.rsi/meta.json @@ -17,6 +17,64 @@ 0.5 ] ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-2", + "delays": [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-3", + "delays": [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-4", + "delays": [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-5", + "delays": [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] } ] } diff --git a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..fbdf302a0eab26e8c65e6b7335719c489bd4d864 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}CY~;iArY-_ z&pGlkDDWIOaE^^_Ij4U@vY7*mip`6^vqe-qFC`ZWec#BXpg!T^IvLMNOWxEY~#c+o8 hOyS%uDxR0>Yr8H8xx`loYXA*n@O1TaS?83{1ORRTEx`Z) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1a657bac4393299aa8eea84f782a3d62dd061064 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}v7RoDArY-_ z&pGlQHV|okXm8@BJm-|AqcDTMiO=EP??P5yz7qFGRyWej#l>aMn!iC>(ZVkdu-w?t zxcP9-+aHhjzZOo9ys=1m)t3_n2coze0FVdQ I&MBb@0DoLOE&u=k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..762b6e9ca1d9a664a47ce45aba5a2a3c5186991a GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}(Vi}jArY-_ z&qa$iD2TXRY&KlusBY~j#T1iuM=F`^XTr{sZ~tu$oH_Gv-I^AsQ+y!{n0;m(2wgb6 z$nK?87~dWzkIGgd&6O&GJ9BG#7#+A%xmA6CA3J;I%$wr8rw(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d306465f3627017f5be56e912bcdefa131883329 GIT binary patch literal 333 zcmV-T0kZyyP)Px$2T4RhR9J;$U>F6XU=)mWz(}fw0|yS^m3MG(c*elMAVsWsOr$!1+JLGK@DB?5 zb>P4OqJ7W6z`(#lswF$Vb36<2FlSh^<0Ojs*Z1$lGna0Ax#K$nNl`$u17N^IN3j9M zo?KfwGq<@toq>UYVaJvG4Y>4R0~ANWAlMFmE zVhxjPD`%?2XfRlaQ+}E4UnA;cYNn~28)I*H#g5@`K|LDX1Rld z1JUM@p9VO8NbR_C{~5#(gyp0HiqZhgQgSV)*a6f4qYfB#z<@h|>~dhocaCT1Y)Z1@ fC>RB!V88$XKWb5t<>=zk00000NkvXXu0mjf%G-{Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/alliescocktail.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..df7806feda990c6a0bdb537efd335839f742af03 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}uAVNAArY-_ z&u-*xFc4wB=qw_#X7XQkk7JIDI#Q(6ezPA~cZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c83210034efe1fa918d5bd898c24a927e1e49897 GIT binary patch literal 157 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R};hrvzArY-_ zFIsaoIPkPQ>`Ykr-Ts1Hf^A<{N6*owTf18Mf7s7Z(mdp#!oZ+)=5)O+CSyZeUWu(Kr0wLUHx3vIVCg! E05MEBY5)KL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..462012997c896f880dd118b904e2b3aa58f3ca85 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}k)AG&ArY-_ zFIjUnIPkPQ>`Ykr-9CVCgPgmo%ci4Ex3qpd`Jd3Wgd^C6iD8bxIcJv)UoTa`uEpC| zX>q~bm#9wHwK0W-9|^|DsNxj@$56u5(ZCKKbLh* G2~7ZBFgiv6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1a0472d3e350bc63274cc2d36ef63aac85433f GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}QJyZ2ArY-_ zFB@_-81T3~v~Oy@_us+N!M3lfV~Mk4tn4bWd+d^z7Vc3MV%U;#cY4PKOU0|D=+}V*2Z;7P0|NsC3#pdu_|EaH!rnl<oFwl7Gw^UTI)tIKYGRhg9R9 zOV5A){R$B{i;%0_apJiL=MR!{!O#l<1_nqdH0-|ooPmLXfx#Few&peIzGq+{GaJGj zQMu#9Gh{wF=1>#`FiXj`oMH!11B^Og)BywT0J6&gXuXfZrX)L#f>AIE1`GfIE)+g4 U&i8>J00000Ne4wvM6N<$g0qHlj{pDw delta 269 zcmV+o0rLK-0;mFzB!BNoL_t(|oMSw2-~huw0;U1AebfQN(g6+*4$lVE0i*&JY8vJr z6!h!Bfdg!$=wT$a9N6)l<5`8hfq2Kk3ontyzrKGb&MhePl7WGN!GrUM6tU)!6$0$6 z|Cri6EF@w4vu7C?7(^KujExy2D|eiDPKsFro(4u8K(YfoIDdagHSW3e{O8}V5P`D@ zxyl_Uo|BRQ$#MX-0a*_4;QS%gu=_G3wHrgk*1RU&_Y4eVlmp0M$9E2Ru}hBS3=9-T z0nAczEvMK4)BvLn7ZV6XAwdLuJ?$2VJMAmCm( z?ahyKAJ-hZ=dkDTgVyOUiVB0L8NB~-&M`=2!W#xQASk<5?;~f`#d{)Ya<+E*Gqdf> z-|r~e&$wIfO~Q+1jK8NpGEU5y@&4tjhUQ25mnX_P>M5+2x$$xCr||b&6y8J zb|gyxL0Qbs`wtHObUt1L2sq6kF?-S* h3of^V8WIK!3^SjFrF=3zdH@(k44$rjF6*2UngFumibenc literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/aloe.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..19ce029546bbf064f703e619a7ad66438369a5cf GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}ah@)YArY-_ z&m81+a1dd8SeYL_Md9Ho*F{WwHT>N9ydEfAWZa!~WAp#r=NmeJ;KcpN%nfh7%a}h; zo8uS6#xJ|1IWwlaexu2bz0220-O)>usEF%eJd>WFd$+UW1EWHKfT^jB+*zPa44$rj JF6*2UngGtvI-dXl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..7758d5eb781c0e261c153615d1c1bd2eb560ba07 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}vpiiKLn2z= zp4-dY6d=;}@VlIchDn9CugQgr5N~c~S^mGy zL38PpATQmyA9=UjeX7mY^XBB~wr|sv4l>%6`yD^E+rNf+b!k(tqP}!YY{9;7H+mD2 z?=Rbb!Q5a^wTf3^DbwV`S6O}X?){p>+;6CCWSvqW#3uQe`;fxn6JjgUPx#&`Cr=R9J=W(J^WQK^VpH|ITdO8yGCcMz*$B1e+Wp5WGOzEph=n8?PY3!roy; z5Dy?2ND~4(MTj>r8om_k1!h{mUpK{j?}GuQlu}A56=>^!q^N2+e!NLh)pB^B3Dc<* zRV^`nX=q^7%NR^HEO$=;3||}kx({~4BI1A~H1PQ~lgz)l>h($07*qoM6N<$g1{|q+yDRo literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..090682c7f0dc9ff9df9bf2e4eea0805620922ae1 GIT binary patch literal 327 zcmV-N0l5B&P)Px$0ZBwbR9J=W(lJT{K@`UE|IVy#6LixkQ6`OSBX|LW5Cjhq5IuoiI_q?4yn#ev zA$Ld+Bo`0_Ekwu=gLam2vl)ws)-zz0_iKhJ-uE872SNxTgjjWvZ$VLhx~Jz0BDKS! ze8T}s@4{lj!G6y>Px%%Aq#JPka6)wxZXVA`D-+VH35oJ|XWw1BKX7(>`TNprx^{oy zLh@qYg2P(E-qDb&`(pr1YlOY6gC5ci7{GgHFRy2AeGSm&uQ@;eTIc_7z^Ub~O>2bB z8<^8EXalA7jRFEzP<)M1NgbOno7%h)+&pN2={zHewo%0gvCf#!Al4a?+5&pPg9ss3 Z*EeV%O)_JUB^&?%002ovPDHLkV1nLqh3o(T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..7a13261994187f42630f9c462d899608e0234560 GIT binary patch literal 343 zcmV-d0jU0oP)Px$5lKWrR9J=Wl08a8K@^3*`FTD;YbENWk=F=rz#s%&ML^;T?9!#Sv$4{S!gn6rQY-beHJ)OAY=Z z7XQYnx1aY7I63dybSBumg*lpnGEiAxDPx$kV!;AR9J=Wl|4&BVHAL$`(Y~96cl}2 zK|)*{TPgx6h&$NS6bOz%LrwjLW`_dzz(3G%ClNx0riQyX8NOxE+Tg9!+u#RfS-xUK zaG&K4=W@>Ta?W{Q@bK{P@c3gCnV$=V0#+m74vU*X=R>|kB7gB?PF+Ue^0DP6*CLgn z@v`kE=QOE9NeSpPAuh{y?7KKPGAZQ*08aN-Db}5XuVR*6&039sJJ^be3INPLon#et zk#?(&3#i%>wC{mK%y^_?+0~IH#u5lk8_*U2DEcyP^Nx0RG%dRt>q#)ekgMYe_*B99 zbsC=zXQgd?I)C^B2Jm?kCN5B{J7h{}jyLoDuaT;ex!RIV1&q;x^#wmGoB4i0W50;F z2!odA>}L1(1%x#56vikWi}r5^$}f*(tHM8i=wD=$QG9t nFoTX_-R_M17#;9LO`NmWwCuELn7E(BpTPXSPT{>CR)_%rmR`=$^ff;GE&-q$>+sP5PH?uexL#{w zh^eL^J!dm(b(u@U!r}&Lt3xUk=3K88LX0u%uK^Oe;_|*s!i4JWJ_!?&mJP@!K@8CB z_Nm;KIV;qMtAAZ;Q@PobmI9{m!0u|2%|d-BXdgFGR~azsR38ri9zdy6W)g%a{}TTe zZqEuFK|OH`0zK@tecVLV^4O&|7&iC{XDjC0kqF@TfmYwqJgbR>__v?Ajo^8Y{#5CcRG@Cmll Veae81MDhRt002ovPDHLkV1kziz>NR^ diff --git a/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/amasecglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4f12f91940038cd776a6c833482f2351ff8f68 GIT binary patch literal 365 zcmV-z0h0cSP)Px$CrLy>R9J=Wl_5{WFcioC2bXY{3zh^qHB*Thszq!I{?a6>$#-wSl1l+z5XT7I_7%Bb0ZTy5{ltKxC{N2#V!hU0g(VGV=rR4$~E;TNRHE@vJnf|}dVUo(r_lwLU-mR8&08jaUxtBXd#2AtDnm{ Hr-UW|=3zR+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..e61ac5f8fdbfd2cd43b27c8ef2169ebb9e5b9131 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}-JULvArY-_ zFK*;*HV|OFQ2&6blQW^MByEEMr|soCOz#rd)Hpg_lrkKQWZRVjKg6fbeR}z>xr2*K zNqJK3hk3_#mY-K#_w$7eL&&9R?!Q&9G5$L{hk>DH-};^2uMf6w6>wE(d)p|?xkAfm z`sv5lMGn4y?{X_B)c3F6|E9~#DSF}zH-a{}`MbDmiDbzACiz2d`-(WAvlu*G{an^L HB{Ts5DrZo? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..9e035fd0e50cea85b2966983fa8f33df5a92bf69 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J)SO(ArY-_ zFKy&)cHm*XkiUbelQW^MFVdQ I&MBb@0CgZ!ivR!s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/andalusia.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5511443b6dbb170c60ec21941386fabd85ca32be GIT binary patch literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^TCNQ7S>ng8#UePv3_G0b(2M-*k%v71qZ1CXVPv@-TQ-7bAkdQbcDIpOz zN$QJ%L!gL*uIlZgE?Ea&hl$K(AZ1Nh;8}Nh-&0-2KU+Dk)UP!*ZBU;6%BG@}`Bm%wnSKU)zsTFW cDlT%%bG##dcZ+A|EuhT|p00i_>zopr0E_iNb^rhX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..6f7eb50dac6556de43684c1ecfbcc3599eb46bc5 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^`0({ArY-_ zFZuF07>KYu(2VWQ-mvL`6W@b1Yh(^y^Ivn}Ig@Ippx|fS+dft=s~H3Z1^>=1;?=pW za8#u8?YdV{nv+dxwj9Xnd9rwu7(;_q*ullD=e%~<@iClh+`Tu>p}O^%+k-7x$M=*m u{LNbPeB-}+d=zVX4Xb4S{;e{@dG($(2GV^znKT2J%bbfcM)4ILdFQ+l@YHE#@G z{%*JLZ2v8cug!L4ox5|ldb0PDlgoeoVJl@+%DljIMVX<`Rzuyg*YS4UgMMWW-H%*R zQSBB!jB(Zt2XCDIZS(U!Uq$bN9WU!YuMkoCb%L*Tk?wl?pelKwlNdZ*{an^LB{Ts5 DJlauP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..3dac71e43f53c70ea649f9fb61cf220b85add0be GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}%RF5iLn2z= zPO;`YWFX)&U$|RuLbk)yCgDPcb5dG;4xCI&8#PX|<}B&#Vc59-OI7&dzdROwk1hWD z1qdI@-1OEoLTj77Z0`1ZSMo&*>gVJdns_oYY}pv}%5y&Bs;Z^S_Nc7lOf$EdcC$kN z+GOhhsYnM7-$2GsLQemLewn?nHg$LKw9|9g$JAgU!*eq4)0tb0dXJ~ni2HKXm9oSx i`@f3QvhTB~4dW#ZB|a|wjh;XkGkCiCxvXQ6t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..436bd2abb04c4e906942b2c2bd178c918389570b GIT binary patch literal 351 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^Tz+uZwoh23tR~P5kAC~FOe;mB| z>5r-Vd3bovm=rQd+v_(k>}aU^{7m_Ofz*l9zFiZSST;;W3~|9}0l)ooK}cB+U^kYQ~( z@P7aQf0xfN^7Qlo(H@n|g{zorcGMe+=URO_?-o^}X7*Dy{GI>z2Y(z(Bpo&}O8~*Y z|LU48E8jB&1zTQ~J#gg2iGn9DUw>&VX2{&x!^W4O63HFs5EOgh00V#HBF5qd@$3H2 twx;L(d76}dTw{jE*(OjRFtGsvL+(%W1x}AI-U5aggQu&X%Q~loCIIY1l}i8s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/antifreeze.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a5677a16f0967b23893b3aa15163af72d053e8 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4xTQKArY-_ z&u!#oP~c&9JS?$hVycm^*%_&s&C~cac}42yszz^OVPI%D?v|di$*Nc@{QH47e1dYK fa;5o92cDbd&1J8+%bZdOG>gI0)z4*}Q$iB}`OPOX literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e4f5889f2ac8796fa7bee240b2005eedefcdd81e GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}ah@)YArY-_ zFCXM>P~d5O7=OHgcUmIT%|+EO{MH@cXV7ezX@gYO?l9%3hIT=*$X@(?SKg`0p=JY1h)6f2K2~JeCk=5p}d9?hjE6^qe MPgg&ebxsLQ0GYr(PXGV_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..bb9b21e56f7816594e7f72a9f447d29684b6f782 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4W2HJArY-_ zuN>rUP~c&`kTmCzX+#@m3HP@PnY$RW3!Xm;w5|NWR3jwh^Uu0|*0xLmMJ1(GCCf^_ zuCP{qc>7kwsTl%dOP;l~R2z6y#DA8)!Ix7tk)*k4QI=I`@Ph5zNxvD~poR(;NExg7_kf5azpS^6kWS9W#D%VYI; Xtq}NejrJj+D;Ydp{an^LB{Ts5yaZO; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..502b9bb3a90b23bcb829c92bef09a5bdea48500d GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}8$4YcLn2y} z6C_v{Cy4Yg2_2kY|KDyw_g{0fI=6L|Jxij_<{7Q zU|i(<;P&zU{}yxS#0i*8I1-?s$->bXd2Gq+#D!Z~TNpx}8Fb0Lp+gK+8WUbuv$Z)+U~AJ` s(Y>NNOgzxNOxJ?T?VyGPYctRn+ZDBDtY}ZZ0(3irr>mdKI;Vst0C)6TUH||9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/icon.png index d33e7ed1cdc33ed013f3c1fa9ce02301f75ad2d6..e2547dfa3a52a038a3d78e917ea97a72b17ac070 100644 GIT binary patch delta 962 zcmV;z13moX2G<9WBYyw^b5ch_0Itp)=>Px&kx4{BRCt{2T02N1Q53yNR`X$9S#aZr z6b57~Ekd-g*{Cd-g_O=>IcO7D5G?#uf>u!rA=R*KAf;@!Op(PxQ`u~=N#zFIBE-#X zAreXAXLJjVOhU}uH+e6E=ACXPH}Bkc=Fa=fI{+LU92{*7lYdsg!NEZb(jbH66BpFi z!DKXC8#6I6fokiOo&*vlo1(t<+shU`?dXBz6Bh;(yE|3){IhjMz<^kQxUA#?Y^?ZH?9$3sZ@_7x{yIE#eh0&!73LR%$!Him2AB!* z$X^u-Z?s|v+9L%Mev|-lSy48oNBitkQ-2%9ZEr3^Tvn7uF{G$GeJsB#7TKwtB^rUG z0yOc}OS84s@M8zTJOK0|30S-a%=oERz;gsjfPm97uz&XRSHt%Y0O0q>EucLW29wcn zR+tZA`Ln`&h-4~k`wAf13&dq5xBq#$ZrtQ|`cGet%0j3SzxwI3SO>gFpesPN0m|=v z`cf71VQ;^4TE{8V>?iIPq658rP<66q5U)J!$jn;ua8uFw{NB|oYHvR(a3 zT0TQHIDhPX3$DT`RRQ$yQ>}osdzhjGZ8HhAnjbB|Yg=au;D5dZ0RYN()ro-RaYpsj`+u`w#g7ue zZ!cRC$63@im&G*5k{?|Gt^DxWO8&NA33369PQYliy#TrvLNtM0va&+kR{$5l=md;L z+Y6w}A0YX}jQTp5j1JLDNgIax10>JO-NzQOstgQW>m4m@g8X&lhRV0?*DL(CTGzvp|gj!DMtu z62uHZ#G!FMUxZ|oW_}g^uq228fcFPr(L45I0QU!A$+O&SX9DL64OZsLLFRcG)-y~ zMrk?{Sxh>solNZHkAHwPC2?$OM+O=Pb#f_jVQNWS2$t8u7z`kCZ3l}1qj>K1UTzBa z+j#GCzwg@vW{yh;)37k?{15}tS@%AE=1 z3`kmxt<5>pMY`0Aa7gxBTsU%li)ie!g6X>{2+tw|_a3i^NJ)e%^kd<1#>59{^l7 zLOX93Z#*~kMgFhfh#I;i6tPP;yJd-VgN`6uX_J8Dpem9k#29^9mFGTv?&h*&I zT&UM(htt)Q7TM!IkjYOL;IvY`Y(&`w0HDw9OuKA${4SM4XEr-d&ujIi7xxLM-TY($ z9=dwdz-0;oK;=(!AaGn&)Zk6uzb{nriift&%V=JPyI z;ZGoCfXewi6{`FR#vgFk0@d?*3RLPx&r%6OXRCt{2S}{x-Q5gP#RyCF63Ms3_8icC1T0X-B7g-30vKy*iY9WQ1M`fWBgHc-!hVZ?!aYg*A>2f4Nb#Wny~ zM^&T((H(F8Fxk@ebNN z%A@{uVY!wQD@w@iF#I_@h3?BI_4rHKbdppAJAof(okrvJQ=PL@F986~2%bj@D*Pw` za=tT{oDRN%x+y+uH|G!8D>KYb@Z|Pd^VlzpCyKYBm%|~SOG{vi^gX_jh{sT z#wg@=c;0{f_D9dIBvw3TPlfSf=0FO^5?FpI981ue1>mA{ZK%&I(BMZ45OO;_C9&ce zM0C-)rZV~})F{y7CmnqN_7Bj{2GwLplK`CwZxfL zH9aK)Jfxk_zUy@a91k<9f6)EU1ucG*070(p$e&24G}r7IfHpsR9Y71Do1$i8;#Y!9 z0IMCa8WS&op@q;WVe}`A{kcwj1TX=tcED;_ay+j6uB~1O89E+M1)^2$b-b8aGS4Lx z|LE!i29Q_1`9oh%TQE|kDMBB=b@c(MK(xwd)2;#M^PW^VN?im?>jTu6A96lVRRmh~ z0jO-S`|>{Ze14E!cW>S=g=42AB4G9e`|AUA_;=&Q%mIys&{)<7=te-~&RgZPY2W_V zs!i{F-bfVaja1~$tJVjQ@b4blexN>uiC+k@`T#;l#tymy#EY3FDI9AOoX8s}ErH0mE!b9QYsj85kHC b#uono8b~$oOisKT00000NkvXXu0mjfh!Vjh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/meta.json index 293f7f97b0f..313b8de7378 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/atomicbombglass.rsi/meta.json @@ -1 +1,52 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[1.0, 1.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 5.0, + 0.25, + 0.5, + 0.25 + ] + ] + }, + { + "name": "icon_empty", + "delays": + [ + [ + 5.0, + 0.25, + 0.5, + 0.25 + ] + ] + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..802bd1edec3142b54ce6ada1493a167491d7bd74 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}mYyz-ArY-_ z&#e|@P~c&?=qt_fOTX1CL)lP5=S;$l=kJ*()rl`Zc;?N48>f_RZDxLbWRK)@70*d5 Z0so3Qm|aabz6Bb>;OXk;vd$@?2>_)@DVqQQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..61344424d13f8d7297ce978215a0c674a3eddf60 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9-c0aArY-_ zFK*;*aNu#iD1U6nqi^!9o)L#j)MGtcTn^UP>YQeL`F>UPj1;ElVqvE9p2^&0%Ky2? o;WsOT=Q`0VGvX(ycnTfhwN&C@U#TRO2sD$y)78&qol`;+0KCO6@&Et; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..17b0b1cc40e40162f9159849f239f6d0ba4367f7 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}zMd|QArY-_ zFK!fUaNuD+Xq+lg^M7doXKqK&3(gM*YKmq@U%R288#Z^L3bVzs#?asIS?77}iRIf+ t%3YIM+4zl{VbYxPfX9C(sd!Fe(7W2h!?D&?`yS9>22WQ%mvv4FO#q(OGD83W literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..82c3927fd71638f54df86ec06de11f85415fef63 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&pllnLn2y} z6C@H2c&ut;X6Jh_wY;F9;@E)$3a)D^eU?}?+-g|G_ko}5SLuTTjEic|9{>WURjSte zifyttTolZBsf&?~fQy&#T_~*qYfh&|wpE!U1RZjf}_U#Y9^gZ{KMzl>;nTWipwOg64UbG3-c%PcxbiKyQnX2y zp_?tmu&8N%W8N~&k5kpo(AbXEh!WG8Fd=jMx u8mt@Ms7V(2awG=_Y4$b+8gQ}kFfjDY^AeDEuGj$dGJ~h9pUXO@geCyTBz95& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/b&p.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8c6a99736f196eeb4d65e2afff52fd228cd50c GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}_MR?|ArY-_ z&n*;WP!wUl_*6zWfcvlYtp%+SCf}r=rG1;ZB86#^isz-|wNZ1<$T}?-K9tmZ>Rh<3 fK+#f_zt literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..1a29c644c0356b0a38ac324268b77f43f3766a68 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^`0({ArY-_ z&u!#wN|0!I7{1XlbIZmA_OJy-O4~Oo?-1eL+rlC=^}f@ULpu)KoKWEZUG)Cl#+fr` z-n^rG<@oWh-{kmzcCTYj2);UT(&iv`hR2qRU%o&2ebp9$N{7NTvlA2UfAhceHmdg` w`;_G~9CjRe!@*K{AgK1w)PKQwX=a@AE50f`UX~c(3UmsCr>mdKI;Vst05jQBLI3~& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a59b6862444b7408f5b0f74f8a667a93b9d889e9 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Q#@T9Ln2y} z6C_v{Cy4Yk1sZU<9b{m3D>C`}(>xBH2#$LW{u2&8j;P}ISNJyXfc1^1e2lvfI4QKTTsxE%8~jcu zWM!`T4C&gVC*dtK9W@%bqaIZ=PDT zRs9oNpKF^<>DO591;3IQR=?z7NLc%9$@e9~Dn){_e%n){X=_>$5xX^ QKrbpF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d6e9f4d508ba326e13b0a1f466e21b9081aae20b GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yFFbTLn2y} z6C_v{Cy4YkF|ze6$+9STz;L+lz0COyCo2p7O(-fTP&jEL79_jj>DBw`cGJ4%Z#X5p z|5Hz6qhr@HzJ!NQ(>4e^2wQox?vtpQ<)pL9k?bNrB3_v+=zhDSNZz?eAVKLm;}xdG zd=gcBA0GTs4BhVVIV%;w9>6^zR>;V} zK!kS&b40~X$+DQ8=iBv;9r(~Jl_v#usR0ASzIgTPiRw(VfZky6boFyt=akR{05un4 AssI20 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/b52glass.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5dd0f96ee57d60e8684a9c1bc6a2f65cc5a4274e GIT binary patch literal 168 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}NuDl_ArY-_ z&n*;WP~>sBcywv&jMYl40amO_*hPf;ZwH$Wnv zGi~l_n+wkLEN`EgxR%w}`Ms=Q;hu8Q53X{PbVX18=!3r Mp00i_>zopr0D(0)r~m)} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3c7fa2dc0c5e98769d77addc0b27cd6785e3fb01 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}b)GJcArY-_ zFKpy>GUQ>o@H-?V*Zb zS3J(Sry6|du5tSOkG~o%pC_AbeqVRsZeVun?&P&oI}c5?G}^4O)WK!L_qL9N9>!4H txzn`@^gr%d{pw=1d$z8$r_26AW(m#cf6VXh-2u9U!PC{xWt~$(695yqO0xg} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..834157b59bfbe47ca002360d52e882c3f45adaa1 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}?Vc`sP#+Sfs5#>hbIKQ<2eLs&Q(u)Vd{p8TkRYqDD>%d**?B^9Z3%>6=pZ4u8+Z|cU^c~j6BqnO)OjI?F)>Q4_ zcs55saLcs?tMZ?>^6ii>tXcgkEZbF6Rm#(4e<5?GS24T#*WOn^Coy=s`njxgN@xNA Db}mk{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..48544cbf2da6b0054836d292ec10504933cab1f6 GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}D?D8sLn2z= zUfIaoV!*?C;r!B*Tmc5IYzZa&4`hRms+Mw1SXtz>-1=pKz|?qFr=P!mvNjZ-vwW_n zq{Ps$>fG&ZnZ^Igj;>zr!@>A_-*=ZUq8X~QQX{J#|69Cjb6w)eS8)#t_vhuu9^BH< z5z%+|adBhNsoyha&X09)G4K_3VR^kPYLP(%pW)`d#~l*NS!+8Cm7e!Zx%AW~xH0U} mpLs!29WQp)Hx|FsV?VsHE9%R~IqQLLX7F_Nb6Mw<&;$S<4PXNQOGWw~Hw1OfHB>RMs)<-&_QAMOE3oif@3C6< zdhRNV$iuuo&o5suj!rOjaG8_*y&zBF*o}G49L3TKN)pKqE*_eNi#8PSwF;ctweCWc z@^hZGrrUCxw|*;<^IqWfr8@iVqrLOL>kF_v)QdChUmo05WLXOI1cRrmpUXO@geCxl CX=CyL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/icon.png index d9f6cbab1f81a774ff9c30be9a6c175fdfbc9dd9..e012acaf4638c35efed2782387a90ee5230df5a0 100644 GIT binary patch delta 683 zcmV;c0#yB^1;Pc8BYyw^b5ch_0Itp)=>Px%d`Uz>R9J=Wmd{HRVHn3hvnyDlwyul) zvK6Y+64(}WvD_De5DJpLL`t1H8CZ6x{~%};))nd!og_$zp}>O(!B{uZA`l_4Ov!bV zWg8R(t=YH3%uc1P`i{R2^}RfYnR&jS=Xu`uVc=hvrt-337=NBjOd(`*5ig&oj2l#J z@P&*CAp?d{v`{60_9h{f2<~??v2X2HJau3rAf^y<$S|~-m&L0GDDeVNOtF#Qz`9^) z1K%ihpl86)+M9$d#Fgf`ss?g(EfnG(KwAM&OyNP>Jb3Uc!CH%8q!#9<$W=A03!yv$ z@$5Cai9C9*3xD18Nq|gk5|)6^(8ognf|1kY#=oqaPYFObeKK|V9QAuOXB>^PXTZ=1 zL@}M~c4hpgY>Py-*tZ)J_A{AVJE!s@(oLUCoIgeB?Mv|8z?ur-KYjvhVvIW-I`Kf> z%^4mPa{7XO3xp7V&8d6_;(@$&_tjgLy8E#{l;N+-VtcK^KFKjD-t9oD> z2rbwUp#@KAlmOi7Tgu`63W#Y)J!w?#f~O9oKLTNFh_C}uh>G$AaOjw0R`0+#ofxg$ zA%H>$(tjg1OnL-z2Y}2r1H=P)?RxKHW~*(8Jx6}U$xo2zNUmDPTM7Ws7Kv(!t4U_7 zZPP+bbR=nuM3v0J<1d*5A^VyI{m-A$TXNWwIe0t+y6KaB%>upjBmmcb%y?Qto&a>y zCsSuCT=V7DPL^9c$)rblH2zK*LU{!7Kwi5wyd)su4FH++sQb+882)Ql^%D?#{ari9 R^N|1m002ovPDHLkV1nLxLB#+7 delta 653 zcmV;80&@Mr1*8R#BYy&GNklA!t0@c#iG!5~qMo>WrLXCo#YO|n7 zLBZ0CSkRNF3dQsy{sV%ckfxv)@l*r@vM6{cJ#9U=h#&!>S{rN{ONmPh1<`ao?1xRI z&CXaG@OOEaW%vC(^Ul1pvzlp|G*W?vy6*;nrR$<00IA8BB7ddpB5a!4jsOhxZa_zWB=N8^EvvB6sZqU3)cWI(o#|gsBluVma-0y>LeiCX!m}+id~+ znXA;#tI2G|h7}N*i)U!Mdli0|ROh1vPn@DU`<~&nL4SDNTlMitT@)|Z?*b`+jS!(r zF@h)8sD5Z>`2IwVxr~$-VK8Q!2V-lhDgF+iy5yLzM1LCt5R9!+U22B5<;DQ865ag@ zcwKP5#UA-`E3_?>dw9j$7yc=Lr!JrfL|1Ky=&Dj0DFAQu11<1w6GRbmPkWTAAYFmd zM<9+35qBWms32*8L&qJnE(gY`#7x^R0k{)NgHCoFc@ z5POdNj(>BXAd}9@ddmR-3?`CV=0=vq4%^g?nRJ%HL{jNnApJ1{cwBfZ@_jn5Up!+x zbXeIO6xM)Y1w_72$7nhYz|Efv%9{`**KibN5wy(t1|_0000Px%H%UZ6R9J=WmOp3{Q5?rV?7SHq^WL2}=y!R;y?fu! z`~KcP_}3+LI(wdHWa3MyG67ze(TH6tJy%g_DV6PcffLmN$d5>+MR4anZw~L>#VCPp zKzu1x)$_#iOz`XhdQ1Rcq`ST;Eav^<)9Q1Mi{C0{{}vSsJxZ z`;Mmt;QE%Dx;VtCgJPo`!>Tyz3G5X9#&)|@yRLFhN~FJDQ*eZLjR*mY+!X|E*LXFYLVwwAVn^ZiySuU(#G%Q^1yaWnN|N z)(*4%%#8rH>vj`v#lnmb5+JO3Xn@yEy~`|efVKu==-m-v09@Zvch8?87Vj0Xl|nHy zEZXP79|Z`KX$o2ZowM(hNeYo95N0t(`XVwZL!XY{hv@aqZ89m8zPD)TJsB%W~?CE2sdyW~IgW(!*eM^-y68FGq0IvL4 z#^ew(0&smxO`VHxny-&dus$|HePxMK?Ugo!b_ud}ON=kBDp&xZzOuCW&9n^v^;h)^ X+s)A|_mX5#00000NkvXXu0mjfX@(&t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/bahama_mama.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7306cf5f72f6d2670af95b0b279d8ddb7e401fe3 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}37#&FArY-_ z&n@I_Fko=G$lt`ei_uf~#v+}|EXS2}4j7fN>+lIVgeafpxpL*s=kLV|N+8f0YPq;} z_N7^FF)!-0aCh6F=FV-YP7R<#KWj&@Ki~ LS3j3^P6bB29) homTuS60~fUf5oJ5`sti!B0&2YJYD@<);T3K0RY}zNap|m literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..518fc4d43c163d799e864a8eacf51f1f14899858 GIT binary patch literal 247 zcmVPx#u}MThR9J=W&^r!-KoEf8f5Dhg7#pvkv7)8*EEXKYcmW$q8qdQGpd+Ec!h%Ra zMAx+-q2Gyx#eCIdH}eFglu}A5^#fVexvc7(B-i*RjIZ96^_gNwNur!$Naw#0!!h1@ z)$|?!;5|OvwQK=MqI`ajw-@hv3&{W&I6SAuW@&MKC@KRGh_W1*m7T&qoMQ>m1?uXA xyH8u2jm5R{3y21|HG2R)YfI3`n=7UM!WaE|Frkv?^}_%F002ovPDHLkV1nW3XGj15 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..4120ab02d9897d2467a44dfc00a47caee298a846 GIT binary patch literal 282 zcmV+#0pPx#)Ja4^R9J=W(LIU+K@f)Fx2IK5SWG;Eh|#8k$JxMR$R1%a5xkK%a3TjLa03H> zUkj4{R-V_smE?_`$mM03}rUN~1rSry+bPZLJ%1s<+y6HW{U6f{Wt>gd>7a{=kNv@}Q0sz_HCXYb%^qnZvbqDtmuG^!p_Zq4{P~=l&d!5+z0Px#;z>k7R9J=Wk}+<=KoCXW+5yRtqBJ=ILR4wF4+Y0SIYLC48*u|%VTl3?3I|Id z+1Z^GjyJSBq)0KZ*;%b-{-4Yd zTaIJ#I!&tikZJ&kqJxQnAfx13Dg(Eo_mXVD0fj)DdB!0Je&e7pkSTJaV4Hb>XhcKu z5(0d6XQ_58Id5krvCQy|tPx$<4Ht8R9J=WmA`8gK^TUg*)<8fIZ;Hg z2vHEl6bBJg$W^yZbn%*0{s}p-O|66!A_x8fr-i+iCV_aME7%;OO=6)QqKTlyBYJpd z*T~FRT)f+WKXyi}+_#z8{bs-Snb~()$dxPC|1ObrVH8D1jen#0K+i{i_Q(tX=oHK^ zpDP#U^wz;O09N0wh#&}l+jL)6_q1sc1o~$X<-(k9Pdveo&*Q&oXX=|7;D?qrrB06k zN-Ja>Q!c_t5|VTt@VL8@>2!?%mNuoHK68@k);i}-9OYhXeNTOhHLl%Xrgr>8=AK3X zZef(t*bx@)K7Zm;{WguKFZa|NEaMhNOc2Au6R}_2Pwcb@k3oDy3p|d~%BM z$tfzOVim1;*u9=P+{PJD@(YKOTD=+1QoA}v^W&$ww_AJlRn)c7hh+f((2QsM<5};< z08S6_Ld^VofVAn~${0WZo`xMqGOS!+Fjp1;#vx1_?teHEpbugrBY@CP#O1~_P90l7 zAQ|qu2qbKSKys@!L+B?)DYVJ}fbQ(>S^?iu*M_os1!xfad&jRoyZyP1tWMzd^DF3f zZ^z=WM8C7ofEB>|jR^qM0g1C=Z*Bz;`iWTFKHd8hb_Vwyp$I**0Orb-3*b9|nxvMr T@_qgQ015yANkvXXu0mjfVyFHg delta 534 zcmV+x0_pv!1g->-BYy$)NklFoo%>l#0rHDB7%z@B8rQ2%5A+N zL;nhgE`psL6zQN6P;gWPcUSuZDd-gnBH~a<2ZIGAf~JP1!I)f5-g_Nlk`r2b?<=J! z`7ZB!ckeyl&-2`K_nruXfTNUkr0zq2A;1veFad&Fp7K0T9e=d$SlWQeU_lUw{nq8P z^J-_j#QDb=ywA_~U8fC@H1#}B?FEs~&a2wgTio^x?x$L+xTyhpTH2N>IReBgMz-7J zbC3yr!p2M9G!M>R8(?W$s={=RLZwRn^dxJQDga6;q9|gA5_exLQ#|`EbxbV)J3Gdu ziE$R5tuy!VDSwNvN`G8mWf?m=rV~>C5jdF<3e!0N?p(Xd_4^OlXk`Gn;C5Jfx5ZlX zUaIng!D|@HADj$}lJ1dBy#a#?0K9Hr>5rG4M*}!DLRrin zK0wm+Z>0?&07pS&Nk(HE7|de>0HaTF&oHtiKp(_JT7Lk(8;TpNo18ndfIu?Zv=K;X zfk5))!z{iVYIUJe4*;mf@2q3sXX02>X1k#RalBi8_1*5zO=MJokMD1yYTb;*ghYKY z?*Su#uazkP;u8|9Vs35(;Jcw%Y+dZ`gpI*@OT_q&UIQ8d^dL;`+e`oNKj9GIp8@y< Y=WVa5@(-U6DgXcg07*qoM6N<$f?Kxw-2eap diff --git a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..85b48611dbdde5f752b4f8430df48969c4873027 GIT binary patch literal 454 zcmV;%0XhDOP)Px$fJsC_R9J=WmO)DbK@`XTtA)Alp<6-FAqqNp>LvuvMHBiU3ta@gcnPG_5+r!s zuh2CVO{fjLMIF*k8Ig3!L

1h27~8!Dyy4TL#hoE(`l+-}~*n*_{DAJUsq867N96 zFoY5tSwgeM@ z$oFloyxamG6k0ZAuK?gs2exS<8U_MZ0@m{>&bwu<*%cBfv}_vNSVOGQM0|A_$BpJd zyn{NllOpz4p15-g3HX%|B1;R{JE~$wKSbs7W*}Zc5q>2kl2W_{!N4rGBViQ)v{X{h zBpFmhZ?ER)7FwCen zOidsmTheaj8k>v3kp)Y&J3S#=LX-6O)&KxzTYBd^ZEz(}eKgg{qxca169PcL*K@t- whH-TuDZS3o;kZw75D)f0<(qUK@bK_>1H-L)QknDl+5i9m07*qoM6N<$f_lQl5C8xG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/bananahonkglass.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..538e6c753b91a5093556c5edc8879a6ba9a9a0f4 GIT binary patch literal 1007 zcmVPx&sYygZRCt{2n!StLNC3ru4#%N#NSaxe3*s6J4ic5xgTRpH(ydFE{u8!z>C&ak zEmNvYX;KYraW35~xbzVMYI0E%JWk^)oN>Hg`miJ`xt#}QLF1j@nJulMER# zWW@NJfqi39^xa@n%Hmg5W&pP#)`Zf!qqOcQrI^j`o{7BFiz<&_2Q&8y*iYWVtud|j z{l*_Seu%R8@O|NjGJh#!!osIf#M{AO17JKud>MBD2KE@>OUZaVuH|zgi!TES&{0a^ z`+jMD;Sa%m_?y{`c~1cl#~MHI@qjS&cmF$|FOfBbkjDp@&6hX$ajXdfA1NiX*({Tv zdkgH}Yj1rYAtitRbw>D3vs$e=KR@GT_k?cugw<-zYPBYgHQnwBNs=72=ra7(YJG=) zetuS%U+5OFCVbx~O;etH{lfb{U-0igpYc2o&+{A;h8U&gBmc zgyH>st0MeD0oK_GMa^Z7h;&Qbv+ zNrLbD1VOL^r%A%cPak;p>^B74vm~ViV@T7q=U{%R049@3 z#~8zMxkLzo@B2WHet$bI=plr_zUT7tvexH?hxk^9@N>Th+^36+i;a|$FbsER0@#5U ziv^R(q_KykGW^OG=QH$wLA|0pXCB*+d$iL0kmzPZMgv2Hqf?Q z0Bsv+TP}dM4YVy6K-&h|mJ6V518uAD=BQR`V_(hNIv&4rKOlFzy-wzlX==W7Fzwv%R9P2y#^Q+am@qWPA<3>MVu~;6&uiOuaq7cv9 z9K1hYm2dk2Q50g#=f~3zD9S%dKOlZLrPq7&L-YftQ_Wz|KW;zZ)vG_YW@x7$V3h)c zeyRlTt8r|pQ#_<>B_8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ac143e9b0356e5278f323701ec940ae55568a3aa GIT binary patch literal 1024 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VBY2F;uumf z=j|-rp2uzyZS&`>%6jnPf{tacS5is(3|%SN%$s^VF%<<554AQnHgYp_hr1q@da-HB z(iP2B&VFTHK@&Ec|9(FIM%?#ZpS=Q?6dIj3UvE2c?)%mS5O94};LU^CHzc#&8LrKU zwVT)fRX5uwd!OO5FBLCcuHCABpuLW9M&aK@YFi$LOMX~(P9;31_^9dT^{g^tW;5@I z-k5&sM{a1=0cVf6mW^d8Yh)#pBi72z@6@{fdR5nb*3F-|EK2O!pSMP4&)54i^J8+z zvG(1q@~8i-^AxoFQ)cw=*`p-(37tJplPsBboH)*~R%G+dHIwgm8tv;6IdDRv`PweS z{onc@DE@hVwd=_ph7B=MB})VyWL`ho?YYUZG{H$!K4EIkyN}boy+tyo1g!~M9aQ&J z%;HYAd6e?hN89K7b=GfO@^aed&B1m({u2HE9+!19cct#!(sNwh;(1?GiE!PlJo%63 z&-rD4&dzPz!?D)%UiG~{pIhVWYtG-VuXE#Q6ll^pePUD3_Wb?NA0PjIKzzxRi@}Xtjy5t{Izcc#3{Pd}4`4pwT$B%p% zSS$9%8P7joT^*5iDF3fXM5qU!oz9Z;N6nvp&pNPufuCIa|MOgIJh2BZ5JRrIE3@_3 zn@{2YQ}@d3FSScBGTgn~>PYNM`}zDYia(YD6Ui+J&DZDU`=pbre*RvgxBqPD4K4Wq zk*W)U>(%80rpHg^&nVG;Gsl_3QN-1?|DN^nq(Wwu2ewh!k1X6gZ+hE3(6m!w{r~Nn z*`xAF{6D^EvbCLNePx&bxA})RCt{2njvuGH~>XoZVm_v3VNBKVU`IV+rq%Wz(B*mz(B)5!@@2zOQ2zv zg{{lP&MXIfa?|X_v12>l-RjSDI%79_U*ED@S0B8*yu7@;ygsTXbthMFGHE&iNR2tU z8_gIqmm9UWseR+v*m-59ZAkaGtz_J7d>?eN4UyAKq5rz0BGbaB0H9 zU#3&G^Z5y&5Cut`OaSKY7!WAMdcE!?hbvNm2qG zAb>Cos?TQG5!FKoxA*}2?D&qKBq>@4D5co%_qF_+0XP#TO(*mD{G`K>)4#8L{<`Dr zne<=G(XLY`5E9o&|0A0J~kuKOT>@{6@Ecd*}o~fVGxT@5mRBCK@3GLI{eY zpePEAIj~&9r%yXxU&9vDY{!oZ2*aQAp*g=%08Ua$0Mb+=r9^909Rnzeg2O?P=Q&C# zv{r3~Z^bvJ89&Ri+A$mb9pIGbIYJ1u)@WUZVDlW<631JxmLLcS!w@AU*4oySyq6Cd z+ilXC-zosN%#>1$|6tz98-B{%Wo9`fVCDWWeEYSg*XOl zGpx-JQdZ~t4&WMpHoKqSDuB&qGbxIKg8-C}v!COWg_}s{llW)r(G=Sehy}S

M&=ZESCLd-^Kpby@Y{Y&*R`Fk6(#Q7$7K?JJjnxlu z5-MjtduqjRbqhebKd-f}1~0$8Ei);@^2%5{SU;doelPui3hw&>z8?VmUi|Px&R7pfZRCt{2nk{haH~@sd-W(7V6f_hx3=}+A7-(o1SQuz%Xc!n+SZEj+7#L_M zD3$|0xoPj>f5-1#wKJX0#EHJuM)Jg?g`l9IprD{1tCzNmWm$F(u-TZ~=~T9kv!;wO zt=C(P@8M?3dUB;Pw`S1tITJ38narOQKv|Ywz;EmU$k;zMgem;40RHGR$Qyg!*pvNZ z;NI9~^J#D?wehFw&$f%-A>M>f|Iz-R>%P#%pM%-C0`8OdaBu7paL$`z8y`Mb;8Ei|@V`zcWM01~ zO(D_|0@&@Y&1dsGLd_6D7at(Yzw*-*w66K5)2Wr;xdra`+aZdOO2HoN4y=VNgEYC4 zBv-7hUrSR+k}FkJjhXWxzP116XIX!KuPxwBL{WsbmZ}0$D32N;1VRX$b2#TP=E81Q ze@;p{V#@vaxq~?VZ@yO_ey;$&4_KBODJ5E~FA(P(my4pRDwI-at%eLgh;K|k{`q`v z9kbW(0I#a55JI4}M(a8RTUEe;qBwxHL{UT>$0#YW)()QJSU#LN9FBweg97l&OexhE zlIjD1G>s9e!dZ(D0)&`7fJgkIpz$!2KPUhIYb{dB8bW>3DGIRmjJ0Qkl+E?I19-&W zZpZTn1(4_Yi*t_a^@@~|D2jkrw%hu;wt=P-TxrbB|1EFpdHl)!fTbHEzkEO7 z8TFW7wjbcN)GBxee^Nid>mELLV`OQ5XG!Y&zVk=a{^WJZen4r=Wd3X=sj=ttOZ5ZZ zTzw+d)lXQwACRWg&gaMSGx4>baJhW)t$kuY;Qf8t`TSJA?+3iU|FC{QU;b120Yz~D z&MWo<&JF+LqkMipAWdU{)%pQmLRBQ&*FpS2TL9|wd98Ibc>V8lnMoPf-;A}3^#kVQ w&(aTQ;GrK7`T@Z2)ei^?3JMAe3i`SF8ztv)83kM`o&W#<07*qoM6N<$f)^mYnE(I) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..162e1966c9c62e3484a844675a93e051935181d5 GIT binary patch literal 568 zcmV-80>}M{P)Px$@<~KNR9J=Wl_8H4K@`V-y$~{Ta%ZN3%Y-!PiVIXA7SuYBe3X@yD^IShdQVDu8h}3wE*2IkC0X`-%fx$+wH9kFN+~Wc6;0Ee4!~NA)|xEKlCiUv zyZc)%E}kKIn37ToyvI4$S@WQaC@PLwDV2ck?r&4x0p2-;5Fo_q0RWtHNGTsoAT8Z$ zb;D|PgOD=iPYzJm^}u`2a=AoGiPoCY=qlx3jjoVV63@(Lv(EoT=RNQ@m1P-}QcNb3 zGzlOXFBS{xx*kCHwS3ePM#bV~S%zr52@> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/meta.json index ab72fd54f33..4ebb09f71c1 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/beepskysmashglass.rsi/meta.json @@ -1 +1,76 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[2.0, 2.0, 2.0, 2.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-2", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-3", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-4", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8527cabc7fa8dda3217f401ecd34c853d9618b99 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}zMd|QArY-_ z&utWBP~>5Dl&oIB@JoLp--e%3^ID#mUGG%^Dq`rrc{XEhsZsE|b$hp~XeyaJ|8uu{ sHuKELz2!4!9+SvgyK+@t5W~IS3@WmMs;V6J_dt3)UHx3vIVCg!05ae(-~a#s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e8aa0cf8e55f0b0021794824a549deb9bcfa9503 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}d7dtgArY-_ zFBl53DsnJi=s1(`{%`*aR+oa+|9>yNskYw#1cQJe5Y(;-b;@2VE%;*Z<2lR>0ikCs zr~}Y`#>W%?zHdelF{r5}E*rPC-2Y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..7367ae9773305798d1ee06c67bf1502ebd9d303a GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}y`C7yS5Y?|#pu z9!7?YwGS=&p6;1e$-wZf_IU06{hxlGSapTzd1YVjZHJ&cwjQUx3$9CBDi#pRD6sj? zUFFHl46`hEt<$~}`|tE~uGK-@GiG*hoZ(S%4NXj&xgzM)XFDA`Qfb$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..b72856ff9b47799f3408819f9cac2160a9abbdc2 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t36#DLn2z= zUQ`rrHsEP{XwE6a)PLvy|IppDk11JPx}dq^Zj83sWcRBkKPNeOX)c{|X};&{_Ndp% zvDd{LW(ImOCP=U;HKj(*$}(f$;q>PBKdbYf^WwY`=RJQ`2{GQi{9n!X7gmj{xB}J-?7i&#oUQNi3PHvD=`U7Z-O5-l pE_m>+p>bg7oxRILyk7plw|9;Asr|QJ*8`o+;OXk;vd$@?2>?@XV>SQ) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..efd700217ed60d888470767ad66bc3fa57620cf8 GIT binary patch literal 263 zcmV+i0r>ujP)Px#!AV3xR9J=Wk~@yWFbqT=NgD=y0GE6JQzh8itt(43Qv?nc?xX~phOdzt&I~`0 zBuSDa$(NDVf{6H8*Yy{`%&4^jFbo6k&ax~`nnP;0A}W@ z$~cbV?qOyEoNp7&1@K&hyWdZ9cMpJRnwlHZo&W$>^PcYC3UD<)|NjzT+qT=E-M<3$ zXmuT-stOR-HFRn96z%&S?k=CWfvyRZQba^3rC?^Fs+3ZCq>?20J`cWEU-bKD+z|i( N002ovPDHLkV1mvaY=8g& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..fea6de1b7a38160649056698c38904c8beb7e193 GIT binary patch literal 275 zcmV+u0qp*XP)Px#%}GQ-R9J=WlQ9y5PzXd9h~F76V3+%!%JkM&GDr%ell<HYZ^1FCxVUYlsuY90XgLo~BT{pEe%H&+@;0Qig_i1q)K zfqHqQ|FD5&S*E)4Xab?%keLa9e{=n(R%B>hS2r{I#SMfKP*ox#s47H+m>H@XkxG)} ZdY*qdditDQ$I$=)002ovPDHLkV1mg}a902T literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/icon.png index 88c6954ecf9080d3244c83b8d4b5a9d056624459..5986b75c6e422ee4cf715349ab77452a99f6c2c8 100644 GIT binary patch delta 49 zcmcc1{EB&kvM2*%age(c!@6@aFBupZmw383hD5Y()Lz6W5ZoRd%K!wPu6{1-oD!M< DgS-zF delta 36 qcmaFGe3yBGG6&-lPZ!6Kia8rC7BLD)1n)e>00f?{elF{r5}E+yO$*=v diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..e497dbf309524879ac8a5e841db42074ae84b5b1 GIT binary patch literal 326 zcmV-M0lEH(P)Px$07*naR9J;$U>F6XU=)mk0S1huC_ZrD0K=A7f1lw~<0Hl_<>25zw3#fVIAGPI zZ_h#bpWZUoazo>Vq|1E z^7M7tz&U_vz(as!EqDP*bpZndJOt7P%mH3pKc&{5x$%sPogJfCATAIE7#J8B Y0QLSpWb4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/beerglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..6cf878dc6b0694508010e9574b1cf6ec8ceb008f GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}mYyz-ArY-_ z&ny&WFyvslcy>|6m;35`$76W|4L|?wVF4<6u(4RWDNEXkYK-ksWJ6f9Wym$^Y+ Xzln>fXASdJpb7?0S3j3^P6nV)H6ZV?8KB+vU7Q2-|2dIJpY`~&;bPhbSjvu-*2BO zoA&MV`c)cBcRcSjzYt}8hG*3;&ALN-4}@0ee*Amy<0rOb5-YYUwS3qiv!jrC@AtXI r$L0ttHEk7hVbN4QB60U~M~9!o37sXC51YRN-NE4L>gTe~DWM4fPf$^! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..186c3ddf16f8fd614d378ac4665acc88006e84fc GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}lRRAEFU_S>g6h-4xQ|J^ zpY!?P8G(t#^JfY=McDO+ale}($*}K`jogE(-#gDK^s{?t$|@C^-O1e}`@rgxW#{ke zh>uaaE4C^f<48Vp{%m7!e1Mnaz3MI399&-PZSHt5r+I7HPn)Gvelhg-n68-Cy7e&7 Obqt=aelF{r5}E+x0#?`n literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..f85e6d0b1627f599389226e5e303845c120c0c1f GIT binary patch literal 258 zcmV+d0sa1oP)Px#yh%hsR9J=W)Vq#^Fbsv^AA1`}6!HYT|7(qqs1ZuIG_VyT+GMn|jlU+9eU4lN zj4{R-^Us>nf$O@4aU5S=*RifE0M0pb&J4p)yiZC80Ah?B$APL6V`SfVRJCSRU4fi4 zAp}H(oHHUq2;qALp1k(}q?Eo_z>>6KD?2i68x7kHlhzQpq)rG82W zmSv&udzz;CI2b%707*qo IM6N<$g5)=8=l}o! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/beerstein.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b4578b15c8bfeae215dd34387703976a66ea45 GIT binary patch literal 289 zcmV++0p9+JP)Px#+et)0R9J=Wl_3toFcgOWF~l;^_^GNn3~sW?9GAdzid}(&EU8?A*a13&swCk6 zOART4ARw&cEex{cefDo&zP9hR0K+g0^JfCe;;O2k+Q@a~GPY0kvMlSZIj0Dem#fP+ z$*D818<(#_(xylP;c|hpZiFufETtq(004^Z8ppHUy~~s~2h~RI^(uVKr~-Y+G&%YD zWOMP in0yPYQiR8VfkAl($Num4Bs76$GI+ZBxvXpoS$JX)Ly`N?g>NR;^GBwWt`1!2CTTy(RNH^TV=fI%#&wq1Ox>ICmu06 zeQDd8<4=CM?@#?vvwi~$!v_aXg`k6>(KDEO*6p7^o#k7N+Pkmyj5XKy@UsQ82~OPN Zcj$`nH}lQ1sz6&AJYD@<);T3K0RZ%4LD&EQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..74e278183c55e637c6a1495fbfaa7551335efbe3 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t)4E9ArY-_ zFKpy(HV|liXfL)lwNo*o;mj09iFQ5ai-CsBn_A{5U3HwQ5qPP9)#UwZo#=hlRSHT< zN=2KxpI_c=bIq{K{(JbZyPviE85$lwo^v8%#=&prIqxwT`oy2^HeF}=j;+g7#faN9 z!dFRN{DIu=@1Me%Pfz6K+5YXn^ZQc@N=55<=Lai%{&q6Z2k0OMPgg&ebxsLQ0RI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..89006824361b48a3345f9291d41173b37de4d34a GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Gd*1#Ln2z= zPBP?bb`WrlZ`;!SKyi;l(K49>k8eD6C|haM%yD{|hpDF`mty7|r`i8krB0t)S!2hc z*dp*K!Ed7f`cF0XLBEUZm)^E{FC)nCqOq&f$M>j+tgv{*G&SiH_ulAFSoys9Jm-$y z2e+R`gecr(*r2C>P~;G&Nd7fG9nCjt1^#ct8Sfq|;CEvB`}WiSh1`}LibpoqFxYR_ VVw*R|?=8@g44$rjF6*2UngGyXRf+%r literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5b1bb4f9df6046f224441cfd78d7c24e527c20 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t36#DLn2z= zPTI?R$Uvlpzx&#zCyJXG&KzNoRF`GG80gy5pcJ`mK~;duwjZ7oWrQ-{z0NsZzPy@W zz==aKEbVa3uIINOzq!5sx9zT@Rnck;3^4|K<_aqHI5a@7uTb*;2+b p{uK<%59j?_xY&q8@yIS4#yvCi1TOKfTM2YFgQu&X%Q~loCIE7RUIqXF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..94d0c7f0cc6bef56dd51fc37e3ae55b45b46583d GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}D?MEtLn2y} z6C_v{Cy4YkF|ze6$+9STz;L+lz0COyCo2p7O(-fTP&jEL79_jj>DBw`cGJ4%Z#X5p z|5Hz6qhr@HzJ!NQ(>4e^2wQ)%?vtgN<)pL9k?bNrB3^|o?0&nWXn$`=@eGfvAD&;9 z_AGj`;#tH0|0gFep2fU^*G<;oRl~xU4Z`yK)PhbkKAF}c%KVHWo>T7FS$F?r-J%-R k3W;jX^2-_^m$fi5SbAv21l@4F2y`@qr>mdKI;Vst0JThCzyJUM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/berryjuice.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c6604ec38d384deca743837b05e02f08a52469f9 GIT binary patch literal 245 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}>pfi@Ln2z= zUfj!j$bpCTL3+y$&KEZtl>(lJEm+XnSNOt+k$H*tTgDSCo>NO!zVsEG%VE#%+4*JP zscCPlquDw@;9uh^yQh^`qvE!ToldTuf94p^h18iXJ61>+Clw@VygH^An(oJAZgE4? zkip{3HSSQ?Syi3;Z~cyB_%gfVJtM<)mCD;C8Nt(x?$~@edgeIKhhGP;%*%J1%TRGA qICSAEi@fQZ1?GR(<}?)aEoE0!c1t)`#vTE5I)kUHpUXO@geCybbz=4a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..663f3dd99f115db1050386b5a2f531c0347bb33d GIT binary patch literal 284 zcmV+%0ptFOP)Px#)=5M`R9J=W(k~9eFcb#xuM1%(0EI=M5Dj{@lM^Hu!0iTH0)d;sf}b0<7w8E# zwYePu^DvY@V+(77A$dR5E`8nC_5qAB#u#JlA84)L=4oD0npgCTy*-!36idpAl6*n% z1tBX+vfoa5O%zL_SdtCh4Blqo5QUFFS6Zz#lv4MZ{POljyk7mYuAS2p*dMspbnD%O_EfgHwu_Nx i$A{%a^lduESkn#PkWyyTE|W_D0000Px$2}wjjR9J=W(=kc|K@`UE|0E%Jfo$akw6Rdjkbyv8D@kD^qF|dMh2R-PK}eA% zq{{&;QUnCydN*Spzu;}I&1dN;yl=+dGG*7Nn+qI+gz0dJ!{FQ zXx{G!gPx$4M{{nR9J=WlQByJF&KuQyOtZedy~89;!@`x2!&4K;387NwTOd@KS3x64qc>M zp}TYtI(_{CHwzsdJ9JSH5AWh|#IZ@BOW}K_5Z=6b_((ue6h%>#U1Ypm&&JF3Y#UvX zZ?G!9j4_7k$M^qU+9>Ego&hj_cx6>4Tn&45@k<_w2w9eGM*yJw`84tE=EBMS8~uYc z5)lBWKr=+Z7|8R@nWM{INTr{E9c5LOv>gJL-}iZ=dDtyox!A9+CTX2|XMHXY7J%I2 z&G=*j1y-X`P-*}CI05K%GUqujfpjo1Ap$pd&jr9@ARenA8i75a8002ovPDHLkV1njrkrV&` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0c05970175ceaca96fdb2d1d6848bc0d23dc92 GIT binary patch literal 546 zcmV+-0^R+IP)Px$+(|@1R9J=WRliH?P!#@d6OkxB5v8ShZcg&tTy(LSBtzZY+(ZWv?DRlHLsTd# zI8^Wl3jPDG9aK zBE)wGqmVe~fgDZKN}O}`)!E^kOPZ$n-iuHSd=M21Nv5i0EvMucZ|m%ed7Pc;@fhb^ z`Z5Dq%PA#?2Yd}2NUX=>97wDuYdNK4R8sx!kPXNk?MU=S@%!k!q2R>&zLdSps}Fzw z#HRO-Dso3V06SQlV!%Uk=+`nB6T+#zsT~%Hh>Wqgo?1z;6 zr|O_^9ajHy01&Rr03frpurX(@%)iI^lmT6_)pRb8k@$~Y3jgA!xT`C6VE)Ml0H9h! zMF@Y+oVhX&0QWVNsk-zO0IusgL{ZUFE1Z(ru$hO5U0Btb_X1m{vG)4xf<4Loqa?Rv z1G-|zPYOjNh<8#b8r^4`eN&}NS8TOxjP>e@t?G)c kMi0k-di!SeLWBtM48FprV=A@}$p8QV07*qoM6N<$f@2u~aR2}S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/blackrussianglass.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8c010ef016df665ed5a08e8475e5a0c1f93701db GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}nw~C>ArY-_ z&l&PE7;rEc=si)WG814o5}Op}sLa5y<4vkx_}TaD4BK@NRx=-IjypUDsENVT)z4*} HQ$iB}dJ!G> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..23cc80d3dc01eeb17684acdeb82a0df0440e1029 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY-_ z&n*-@pdjFK@n}N9j*^BYi$tb(DZNzC(_<^%;iJ}PJmdeJyJz05VPRm{5b>d~*Z~5;SW|fuCQttoWBVRr}`s~Sn&I}AQOc`cs^3FDW&^R4v2ZN`ppUXO@ GgeCy=f;;U1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2671dace63fa7f2832331978fcd5eac7a8326c45 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}m7Xq+ArY-_ z&lz&H7znsMOivbGo%57eM|8cg&7Dcixi5L&yvbpaobB2XyGh6Fe|Rg;NgDw{!HMmm zJNfUG<}&17SN(q4hS}h4^|kpo8Jo+~?icq=6mT;7zvgy5GsCg) nQzP=<=6lw=+dDcso>(z@h04s0WI6sH=m-W+S3j3^P6Px#x=BPqR9J=W(LV~pFcin}ucDEfPI?i+RlJGqUA&3VV|W55ac~d>M<*BCiUIo^ z{DbJ?tAoq?Y)M{{-%G$4V~qK;hNgJtoIEy677OM{@?4XuV!zoSKpMi==e9Hf(hwTs z7&$u6Xt!p%UEMAR@{WhN&GJyFno<=540>K($K7zEbP@5nAn$l}fTlLU>*-mRQMw4Y zzd#M@7XTRcW4VZY%xk-^9RNPRqR!<%8}z)q2QkJNW3;Zn%{M8Z>DYPz0000Px$0ZBwbR9J=W(LGMXFc`-1zgyy{al4cWPEm;ia0nKbmLsvTqDon~Kqp3~N=Ph7 zC?f-c1)(MlB8l^|QnKVN1B-u~KlJ#q4M7kD!9O#a%}Z;=0Q2>l+r?sMP1=^%EJJ{c zs_LD4peb;Zc#a~&{OyU$=SKkY+B1oU99zRnA_zd$KXafduxVPdvf=dXoU7|40F!7) zUVHAFn4^4r*l+um>C}O9L>g4ryayS+*(wW!Ze(wU%{fd1K|FhZD$?qaT5ClP> Z^$qbQS4&yb>WBaU002ovPDHLkV1oW*jyM1S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1e9f25e694dcd2925f3b79f37569e4d58d5623 GIT binary patch literal 565 zcmV-50?Pe~P)Px$?@2^KR9J=Wl`&{jK^Vt>@4cjuMI%_HWOEWC7TRVMeHKBY6odps(xnlnc6BLn zu#s89KA~&QwT?aq2vO)mP&&mWw`#6vP>}!Ar6PH|h>uv!;7tZ7C zS2K9^$@XsgWNmjV?y zQU*W(^&Kb0;846L002wHk~tTP1QTiNQ>%F$Pt4h?y7qHj1C4t3`D;=ouPcBz_Q(Mq7ghwoTr2{>L9NEr zt7UN{01J6r?60ln?_Ixg*abtscBTXMz5LzGTWJWX%6(K=5wqrq36MxzEgzo^->Kwc z)O77D)dfNbp4cTDz!x~zG*_+FS>LUw_jO-=9hZIsHjbIsxT6j600000NkvXXu0mjf DLzw@0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/meta.json index a347d37fc3c..fa6a3d15a5b 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/bloodglass.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Drawn by Ubaser", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Drawn by Ubaser. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..53a6dd629ec1bef81aed98283a8f47f06487fa24 GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}_MR?|ArY-_ z&u!#oP~>qAjJ9&sIry*ouGmT^cYi63f3Nqaasrj@I5Stnxc>Gkt((<{1P%SS?|asG e@g>6pPwsgcoIj8MU*8T?!{F)a=d#Wzp$Pz>Z!GKp literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..50a40e4b127b3cef9ac218da71146f4e926d097f GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY-_ zFBtMQ81Og;vR~}-KJb_Sl62}B0kdg-y%To**?xPY5+egcg7NAWqtBfk6K5Lz)>`wu zZhhI@sf?4ZM9nS>t?GO9H}H(FmwdtZ*XtP>Hr(Z&ZpOENx{3UBpbZS3u6{1-oD!M< D&oVe` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3b3bb186402fa97f0d65b187738da643f75910df GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}F`h1tArY-_ zFBoziFyL_xT*-3T+vK~wN8S_NZtGHwnMpxTj``bvNC*fD3f}D5%q|#M{k~U4iRnpp zQ(9TA)CU)ajKdO<>D&8!4tVY7mAE%Q)X4o^-8wD-!JF^c#GVOmx@S326KD^Er>mdK II;Vst0OPeadjJ3c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..b19fe96d356201cd44ce7ebd466d8139b44b4102 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}S)MMAArY-_ zFFSHI81T4Ul$`iL^^1z!e)W%BcT0t@v&JrA={Crh7P4z)Qc_Yfl3dLFu5QaUF3%m- zC*HA~&FQ}ry_k_9Ax$~Ef7%xBc-9Gf80P42zVMl!HRX4%!$~fQU#wfN>1sQ;r0kN` X^5f?z=&KS2+REVR>gTe~DWM4f0YEw5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..3df1351dfa1178fcec2e4b528d085aebddbeb122 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*`6+rArY-_ zuNZPQ81S?{{O-~;{lesmKl6@gm%J8w-o&SQP-#y-FX#UNu8xilpJOkYcFV8b>Lm1z zZ>FdKRf^c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/icon.png index d9902e2e9a8c8d931b22187ee228b078d2dac266..0ae2e7260c9f850f4e68758be599ed2523d9d1a6 100644 GIT binary patch delta 621 zcmV-z0+Rjj1ce2VBYyw^b5ch_0Itp)=>Px%KS@MER9J=Wmd$GuK^VrL+1+Hb{m?2# zWkiG`(nG~k589mOA_OU@e}LenHz93Fi}sMiLbWw5l9PB7dlI~vTQ8$XX`zaT9BR;` zgO%3ORO1$QT@PuL*xh6&>BnWC+s->P?{8<`d1io6hb$7bV}EH0;{7j9TS>+k+tsE7 z9UReWzXy&oQ8(G5SvTG?fa`iBT`~oGHz@#sU(HZfm}&?S7~t&&r!H^4q-1uH!C9Tyk?0Af-97*Av<0Pu4o6q*7iastk8VA}@oy-!&&>j@zR zpw|HafWJ$wDSzNJMfuqgil|xvyfEfjz?xU1pWdu<+TV4{F^ex(`@4>v%CFi2Z3nz(oU%_df}c;f4v_!mh(w$?g9E*#SV@TwCN2s99o6`a#dLRC zySoMeoTe!I@SswVKFOs4w9a-|-CrX4R|`j8YfqIeyMItK@euB;X`Sr=EU=YFg7-}{ z^bIKh0BF7L=C;<2atW&Dj27cch00000NkvXX Hu0mjf?<5vG delta 599 zcmV-d0;v6k1@8oqBYy%mNkl~wH$<>V5hdA6x~CT* z*n<%L2VJ5L!D_5R9_BERMk=xdLARi5x0VRJy!}8nQ0TA+Tk6;gh9#}Fj4;!5n0Cc@ zM|VbT+31&FJ=zkf&C_Xc8lt0v&c0G=l? zeP;=_dQSiVA2ul~+}{_XW`MVwoLr<=h(E%^IR8DJmg1S`x2=7nlP zy(u`xlO_cK-aSE~Dqtcj;Qj)(9q@s>lojWs5TO9HJpcfpT5?qZr)kQ&CMcR>KH$Yk zD$7x2i$Qw*m4DMj$2Hd~K3h+8oIIObcLWHj#xrLo!9-T@b7{&%R$$u&@0+6RVcI4!(iw8){n%02^%Wf#5^afyR*l0Dqua)4tysdSU=56^;4n%KF0E z)5WE4D`XtwWdPuPQ~R1n0&sqoTUQ@-3jzWU4=n<}2W|pex8nWe%_w4F&I=8o5CZ*= zsSmLuB2PJ700Ka*T1m#?Q3H6oR^F-c-**mQgT{G|0U%}A)LdHmF>J}F+KbUEv6Nxg z)cuhFDo`RMO1m8*fG2y4|0O`)l)r3I6#6d!fX%M+dO*lIa)6X!)0h3d(h7uaz(@d5 lje^uzbKn@@7~sDI_zf~Vq}$&NA8G&q002ovPDHLkV1ktP6EOe) diff --git a/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/bloodymaryglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d33d35fc485d3f7eaa2146557e6f65a5fccae185 GIT binary patch literal 679 zcmV;Y0$BZtP)Px%VM#Zy#B$+xX1XdX*R~$l_>RwL?*arXv%4+h?mvP(a2W(_OPc#0hx}Ee}1_;X)63yiHLxaAj z0HDcnWo_hr+rN?jyd0J*mX2&&84#M&FPx1$0qhl@BY=AIEVldI9RpUQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..71ac77edfe5989f3abb28578377223c1aeea2634 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}v7RoDArY-_ z&u!#9V8G*Y(Vy+4ket%G&3zopr053i`@c;k- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d943d33423790a00d177d004899db730cd8bb9 GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&7LlfArY-_ zFKy&yGURD}7~f$TamZQ5)cKB3xUq{3%U9lsYaW``xF#^f$T(HaPf^wUlw!#!C@46w ze#*@4XL=&NYraigv!SMQ5QqS|9yfY-zj?Fp3*OPVSd)51i yJ6*DMjf|iDd}41fpW%+|X5RAkZk-)}t}#x%YQh;+~39g+t}^d@5Kkd0-ej?>FVdQ&MBb@0JY>}mH+?% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..8c05c87395f56724979ebf19888ecbd13f2dbba0 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}TRdGHLn2z= zPT9!ItjOb9zsP5zl6OVN;&TE9N3KdTwRzMkFFBCCp)GjE>8lc&mptnxv5M5x-()*b zD095FI%_P|5#@$c}7fy<&6crt%c-4L2JCn{Sw yGV0vUPLIo<=l^fq%equVVC~;XtG>r`Cg|T{@_%1B`L_Yk{S2P2elF{r5}E+@Eo77c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/icon.png index 76d93084112831b2eece9216256e836e46e2aad9..48e33ed065d84460a792aa7727d76d946660da86 100644 GIT binary patch delta 325 zcmV-L0lNP40^b6VBYyw^b5ch_0Itp)=>Px$8A(JzR9J=Wm9a_#K@dP+Bt;|i(%seRaLJF0IaMX z@K6Oq{$wLQMDXBhj{^)2|81?*ZuHwBa} zP`?8|EkJ+$pgz2T-u+3}R~nu+{=E^Prpo)o*zD^cs9}PId;J*xxXbNF=@h X#Q8-@9AM=900000NkvXXu0mjfZakZ5 delta 345 zcmV-f0jB=n0`mfpBYy!pNkly?@?=QAJTOW=uv^4*&rm z0Q?7lxX+^H{)y{)eo;QD!2uTa%w-#d7WK?!@k#_C28a(5&VSEN-Ob%&=R3-kET0sh zjjl?UB%NC`2*71_^#Y)=we*cxv@<2fwk z7QS3PJiyN3@%lbD9v}ssf>Pos{KJPR^}_Q8A_v$8KwXtUQ!)0J3kFc~dc-TD=^o&P zedsxjBgh?)k5ZxgZm#VX&`tt;cy}Zrc0f%cb{~>godU*-`$pVq6Rx+w_ff-h(54vuKoS4~Kmhmw5kOLx=)4lG00000NkvXXu0mjfN86jc diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..94d0c7f0cc6bef56dd51fc37e3ae55b45b46583d GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}D?MEtLn2y} z6C_v{Cy4YkF|ze6$+9STz;L+lz0COyCo2p7O(-fTP&jEL79_jj>DBw`cGJ4%Z#X5p z|5Hz6qhr@HzJ!NQ(>4e^2wQ)%?vtgN<)pL9k?bNrB3^|o?0&nWXn$`=@eGfvAD&;9 z_AGj`;#tH0|0gFep2fU^*G<;oRl~xU4Z`yK)PhbkKAF}c%KVHWo>T7FS$F?r-J%-R k3W;jX^2-_^m$fi5SbAv21l@4F2y`@qr>mdKI;Vst0JThCzyJUM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/booger.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0581e8788cc0d36f29233bff8d0eda6ae3427a1a GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E}kxqArY-_ z&o2}_pdi9>(YtAJ)0MWvOVmXA_$HoN+Me(5=5w{NIwJ!^PMPcBi??^F>UuA&^Dj|% kJv=i$nopjA;emwxZwD?}tyxj_K=T+pUHx3vIVCg!0G&ZAu>b%7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..229d42933f99e5979efadfaa4a5f5a8fb18945e0 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}sh%#5ArY-_ zFIWpXI0&>nysuo$6t1jPs5Y@f%jjvA*&SI<)%h(8_V0OqQ9(&bN&d9WLIFSPZI-q# zQ!bP^Kb#p_<@CEsfBSa^{cvW6(%h0mQ?C>4_j*gB$$5<^iq-4(N SnfwP@$l&Sf=d#Wzp$Pyr4LW=P literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..938a4758e4fe9a1347bf19c23654f7963878aac0 GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}3p`yMLn2z= zUb5vng_ZTQ9D@;UT~sctOwnhH++-{RZo>Tj@<1hW`K0)}7Ij zNbWJTe>RKl-TC9W(Q9_U&k#^#RoXCP{iOBc3@cWxp7Y&R#DQhefs}1Nrkky1O(^cG z)Bk;?f6>fKiySJgTx1m9amdKI;Vst0D{z7RsaA1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..afc514bc5cc2ea1bdfd98aabaed077a4821110ed GIT binary patch literal 252 zcmVPx#wn;=mR9J=W(mM*mP!NUTf8rD40^-{2EL5=4-H3wV3$$|wS(8aX(9GC~{k>@f z=j-R(!`uPqoOAz9LIEms0<;t1sYWLeUTVx|%Oo_f9XinJbRYWC9tbr?ZH59G z8uSso0f4eB?0VR!0cM~E)5WS4lNG!H01;u(PrvomVp19uxLr<)0M@)f)E5Apck4O< zYJ>4)7PWqW;H%B^9Dphv**(puhFR>}&N=7YZ+HV{jykD(K$STF0000Px$SV=@dR9J=Wl)p*?K@f+3v$;#|a`*?- zNUq5P7!WOlbm>fycSz@Bi1-w~fP$qMG-V1Qtwq4nMh+4|5D9mh?2d&*Epo+N5-i-W z+nw3nZ+CVVuvjer9g-w>yIr)0I!cQ-OS!OKuZsj6NpgFrqkm?tnkvxl^&+~OI_AgZ6Jszz+++3Uy07ntVhT$s0#4uE) z_Plg~oSRR~#1sI6217H$05AYpYw>(alHBl<@c6d((P|x$ufU!H7ZtHf#7~uj*TZ1E zAr+7t=e-dTt$h}~;QJ992FP(^Kuf2S3jn~?<+%X?;2(jkh)Mu_mEnGC=VdyW8R(aH z2Ms?Fz5gkhPCz-%codYG!J?mZVFC?52|Fl70JZ^S-aU|^1ivNbU3@NqMPUWRm#`Ci iQCfT6`(UwH{)A6ho@rmyl88wF0000&xIC28t6<~vdP#d4m?(xV2vfxn_2%o!0VTVfsHv&| z1PO*@h611fu#{T&n$^OeVdy5o>3#33-98~#fE@w$1hGxTFZHAMV}G(`0?<;6vNIy0 zbq`X!z<+=&rL_}=ZW281?7ht{WCr@R{Xys^Mw<{| z@CJlsO-6o=8BC_3nE;`i1RYdk0J{J(Jw0IfGx`n99BvF)W)%RfMc5fTaoVxzde8za kW6}Mu+^3)b6oA|T-#E5wfn%)wIsgCw07*qoM6N<$f&)6UYybcN diff --git a/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/bravebullglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..c850b5ff8f2f7442ce25c3a07ebe01447ea6c1e2 GIT binary patch literal 361 zcmV-v0ha!WP)Px$BS}O-R9J=WlQB-iFcgM=Cr)WvAwVFIe1+-1g_&1x(ULUUd%i~rB0Kn;V3&z%e zFXLWG-OES-0AAjU8Qrn0?=qr(A zxddPx#-$_J4R9J=WlD!RtFbqaNPPah{k3vDi3^dG;i9ACZ3MQao0k)vX21vOo=!E!j z0>w$^Cq+W?C;Z|VP!vT`{+&V+8ioM?&~;rn%Qa0?06<;WVu80b$jpI=Fiq2Loru89 z!CEW2RI&g7lx2BZ>-#?Ccj*G&`$GxueRA_Gft=c70>&5^W3n0@AzGNWZP)Fus%keg zj^q06oD(nNOB#&Z9jCB8-)Qg%8~|Wh77!5tV4mmQ%;N%av{wyc&N=t2 rz?SXJ?~o*5tu2nGkh6e_qWlCOAFW8k1qX^K00000NkvXXu0mjfrEYf| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json index db0ac608ed0..c92d6f1b0ef 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/cafe_latte.rsi/meta.json @@ -1 +1,22 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b19cfabb9e6e35b7fd6b669c6c8fb7b9d103c17f GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|8a!PbLn`LH zy|t0|uz~>V1@CDI?BC=cEZZR)W6&II8LFi$xp2?*!~Z+jI=dTgACq|gim#=cf#E^l z^)ruF{jzhceji-@c7}XtX`HH&u~D&S`*CMRps^45*Z!LvKbN23z`JG7nWM4`WsYzA t%=rGM(DjG&XYv1-x;e#y38?JGHTLg5wm0=ynf!n}22WQ%mvv4FO#prsO9lV{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..87f13b38531d466980086897a1fa468be54e012f GIT binary patch literal 256 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|c6quuhE&XX zd+RLkVFjMH#O>Z2n1Ay>(A?9^f5yRo#h2#+54pBKs`b+d`Z33XeMtmM;o7ZrNo9E! z?=n~z7$OQI_g*{`$0xt_+S9+AKCQp#mK$H34a+c%fjBJSJm^XJ$Z82-Q4{>->kr11ON`i$u8yLaW+Ej`2D(P1OL>F}JH zR`L@r{Rx7i|h&peH1)gZp7tDnm{r-UW|o+@Uj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5a4beb46926a28b881844102089bc0e56a3d810d GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|?s&R5hE&XX zduyZMVFjMnL{;s84EFc-48a?iS&c1xPyEyqu{@%f^lyEUuzjT2bSI&mok6E|rvBK* zzi&?NekO(k^3`Ad87%$s^?I?4`}ez@}q`x&nqALNy;t8`4m&~3U@mL1R)K#-Q8^=DhG@}AxA=khb`V7^?}u&PdN z^C~Sxmg#>RqK;qr%P_Ij?a8{wg@W@1f37&A$orw<_jRA^e;H2y+$^*cHkO5C?;$fki3xD%Z(A?$BH@5Acy`x9OcY!R;Ax%wEc9Kcf;NDyO^tTvK+jA?P2rJm`zqU(! zf$Np1@8{h&{RFxh2!2d`b8=0ZpQ-4+JBpoe-lachwrJOT&aCwLr^mi$s~$dQzM^{k zvC`+B6T!zI6p&}R`o8w({O=62XI9xMJmyUJ{B^JS{ZjTDk$e9A2z<_b?`eh|*z5!5 Y^R`QGH?IiEasu%^UHx3vIVCg!03oxK?EnA( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/champagneglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..23f8d75b464d427f50c51722998204adb33c0827 GIT binary patch literal 384 zcmV-`0e}99P)Px$I!Q!9R9J=WmN8GlKorOS2Q5$xfr!y~n>#Vl&9HRrK-~NadBux{A6KIvWEKflD-`vO+yh?XVS^5?p09<4R7 zPPaPY`T|LsY76MrQ>-hXSB4UhQdTFx*w5*x1Nj#`elqbTCECpfY-AFAMrEKc(+d#Xd;8BtDnm{r-UW|lK3&s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..97f2707a4dbd2282b2d8b1acd5668455a4918dc9 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}k)AG&ArY-_ zFYe`R2;gCPuzNZuOYYrz$@IeJIlWh{5Rp9hIb>^>(-9(-EOF-3n>=SQDD%4+ykpNo4;OXk;vd$@? F2>|`*I?ez9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ce7e24357eb1022c91436dbf9892daa8be6653 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}@t!V@ArY-_ zFKy&)FyLW1P+!fYl5w+MGA)tWo_C6-jO(JG*|Mk4oo<*p^XB;*l{zoitjZ2Ke`fJ+ zhZ5ws1< Nc)I$ztaD0e0s!QSJk|gJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d62d70941681c53bc487978503a2ebce9cbea3cc GIT binary patch literal 423 zcmV;Y0a*TtP)Px$VM#B~7j*q$mt0)r-;8^w0M zIg}}=)m0YgMZ)Z^CwDIHYR{9oGQ~CqXe)6@02S4$E(D~6STy{8w7-@6YmMD#+ZqjLo|}G8!hLvKOmwljbmP#gU2CE>0Pta>-lc(SzwlU76_?64D%9@ zGimSV2qZ}9U&FJ25WoL}UtC?ot2g0%OGzvmA*}Tg0_>0F@fYp)Mg#;bCO;%dVUy0G R)NB9%002ovPDHLkV1iDcxFi4o literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/coffeeliqueurglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..47f0e5944fb1c8a704b021473b6d2d9d582840b5 GIT binary patch literal 699 zcmV;s0!00ZP)Px%bxA})RCt{2nlVTtQ4m09^#}-JXSiq@8{2@#aUO1=ps3hfVXU<{0v0AkY%ER? zNn;QqC|KL6MGz!`6TBjFimW6lZMHCXf=QL;ASio9lJzGpap&(Q>v!i>JAbl&W@qQm z?q)s!K@e_6a@qkaR0{Ex`mx6!-Qk&|%RYC+gaY8S15V@m0DN%T0gK4YvAc>O`vfqO z%_3|7>_X%vAVcF40N_{#uFn7=-vld#_#ss9zKxAC0qtD7jJ}I)0;-P z05JGokxe0T0Bk|X06Y}SKB%sFmiyW`3gH6a@kbXFMTJt+#g>X?pQ5OMErO`0z|-x# zRzL0@K9;ooPr59H6scK{nHy{W?4k!IrUJU|{AUg($NuTES^KCLp|0K$Mmh#5q)4sw zcEip;y|g9)95m>)zcKAuvfn;I5ClOG1VIo4@m{d>&0Z1J`E&*PCE% zKTdN7WT4ug=i01AFSeN-{F`WWQu$-gDIYrsRX z9Bd`Gn^ZcNXeFD4D*&lPx%%t=H+RCt{2nonrcP#njDn79y%s&(&0@|2Ex2d>}`Uu30~BjqNq#|Jd~ci zj9omH!URDPLG&iO2>v^`+r(a8VK5ZD6j`y;j1_F9rKO99w&`mY>U&ArnC16@K!5oq z@B7Qk@4Y1bJ%AtxKcl!EfF0_E^u5mSa6I+UN*e*^!to~50d5E2HootG18xUklLYtM zUy~sJ1TeEj@oWb;g_nmw0=+{3urLgKp8=kH6Ra1~uh6>t6Ws11fVFTubw#Ev&t(92 z@n$62eqlV<0UQ(mu!Zn)2RMT89H3>dYWhhtFBR>{Y0Y?yvcMGMarQ&()o+d-!`7bw zjvNX>i$uHHwJLs=8yG*hi{Q?8VSV8YXoidW2DC1g_jhdLaZaJPS;>O2Jk)XnO0BAI zYPkW%@<1gkr7v}dn%^$zcQ<%^r6&uN1*RDNGHuK1fBY21>{Lwmt!|WX?rc@JMfIg# zgaRYeoVBti3yglJ;oCod=sA)3eC_bK_@0*%Nf9no7rB0hJcN8&Fb?*8wTx+OK`TO zVc`1=u=FO_UXNqUfHk!0^OhDXN$Pj*zL~yM7D#6RckyNae^_7cXNw}eK45ob3~#dAm_HSR7CYQ+sHEcUdI=Y1#t^7% zxAqNSeE>pHEI#{!#fy{BMmhZ*6-%!-v2^n!(5MRQ3l9Ok-d-<)Px&R7pfZRCt{2nn7sOP#DMmX>D1zDWq(;jg@&CC{6v;-PX~7*=*O4#zULzwTbdxk}YI?KM3UI zy}tkV-uvEb+V2B698N1E_-%k2Dx0&W30zKzkpANQb4Jt{wn?wouJ2QtQ)uK>F^{V23{nb{-*2 zNJ4Wv+Wu+vwfF$G4?;M9Hqzh)Lb-$;MMY0X72)D9YJKW6K#S(h3$VJEQEqPM6=t9N zX-HBQ1x2m7eEljYDkLcj?5COZnN~>KxNWX(cyQjb1)A$w`exPtx*EgikZ9H|ugkbL zQZmc5`b;lEq0S^xnzwjCbG_G){a=6Z+%iCY>jkkbz1Qb(I2;a#!{Kl^9L{OM)o=F7 z=B)YqG}=Fvac|Da6S#kcy@pSK-v;LIM{k1le4J(vSV1j5?8X1u+Uhma5x+ehjW_v3y%neNz(T-!TPx%Gf6~2R9J=WmCtL_U>L_gl};GK;#_GF1Ga}%N)Zop4KjNet(Vf9^$!?`J;^Qu zFOxCwxXak7AnXs&-bOEOc&Hwt2rE*C^w176BxO@G2!bobLrhG6rD?Cr_mtAtpJr}0&)qdf8d%STjBKf1?9HzvBcEe|O@zUb*EbF2?QkW~UzMdP_7 zj5h<8I6x|D?tJNv2tek#YMbeTq_XtO3SnJ$sdonNxQUv4CLdcHaeK|!|$FDcB0Why=>v`0*I}CpT3%lR? T#1_Za00000NkvXXu0mjfL6$CM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/meta.json index dce4fff86e0..65c83c05e28 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/cogchamp.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by keronshb for Citadel Station at: https://github.com/Citadel-Station-13/Citadel-Station-13/commit/c790478a3d6e8a2846e658c3dc6c5164737e4b42", + "copyright": "Made by keronshb for Citadel Station at: https://github.com/Citadel-Station-13/Citadel-Station-13/commit/c790478a3d6e8a2846e658c3dc6c5164737e4b42. Fill levels by Tayrtahn on GitHub.", "states": [ { "name": "icon", @@ -17,6 +17,42 @@ 0.3 ] ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": [ + [ + 0.6, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "fill-2", + "delays": [ + [ + 0.6, + 0.3, + 0.3, + 0.3 + ] + ] + }, + { + "name": "fill-3", + "delays": [ + [ + 0.6, + 0.3, + 0.3, + 0.3 + ] + ] } ] } diff --git a/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..5bef1772bba3e5306733a99dc654387754ea8f64 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}E}kxqArY-_ z&lw6HFyLW1C_I_LkfV`@!O=*#)gfrdha*RGe;WT1_n4&eGJRv!g}cltG3 kxmt7DxHvOrQb`N@en}4IWpCE61)9g;>FVdQ&MBb@03w(yBLDyZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6385749119a1c0aa8705901349ddfe696c077814 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY-_ zFL?7FP!M3axX?@B60?v%B%_Ce*W3VR-&4!>pWgGh?TsIU=cFa`m!5cRc#JD&x_9uY z^(<#xT>6-GE;cN0t!G%Ub=&;2*=u)x_tSjpH(BLnG<$;-KU=rx$}XTC44$rjF6*2U FngGA!H!%PJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc3ea38d8983b9d2cad9750bbd5419dbc3a0bc0 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}@t!V@ArY-_ zFJ9zqFyLu?KAkC%3}MI~p#qT~xaBUE)xoih`1oQg>vUrBc}giMCl& zZ=TT&e!zR0dr2I_WAl`A{PlYn9Nz!kGkg2BuHC`ewU<0yT=tbRu9(KpB`>q?BG4)Z MPgg&ebxsLQ0Fbges{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/cognacglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..58c3053cf5eebcca735c7706f24fc8791ff94e4c GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}37#&FArY-_ zFJ0tpFyLu?KAkC%3}MI~p#qT~xaBUBb!YP-92OiKJPx$K}keGR9J=Wl`%`hKp2MKOHyppYvWK0_BZqgm@SBb4q5ywj_&Fpxcd{FTnZ@& z8eDWyC=?ytZV(;1*wi*T2dN;W>31gL;63Br%X<$YcORh9Xf*#FMh!+$1OVtiCn7Hw zw9O6xc%DbUnbU%&6% z9=naciHHCE`v1hLVWN!h+^>5hbanD|)K2dK8`HqVU~@|HdDc?>??9UvJYD@<);T3K F0RRgNI&lC1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9f654ad89837e8de70ad67c81cc3a1d2fc81cd9b GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J)SO(ArY;~ z2@9E@2QWlKt@d{PmeU`THj28Xo2Q zQI?>1xO;iMq{@<+qTl3dytXmVIC1gH)EWQ&AHBSvXa2i=X*)_^ur_b&V!6qupw05{ z^h(2;KW7gdP*6W{00=&OG-qz^*`si?4{SA$1_Q%}2yMf7{j-)pcQJUn`njxgN@xNA DACXi+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..dcac421d106821203880448209208bd9d1e8e9eb GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J3L(+Ln2z= zUbN;q6d=(0@cwZ&og)r4qDhaHL}EI7cXdoL+r?DMyUs!2jFX8ghlZw0vt~_!?vtiz zGo5DtTs2cOjgLoT>69QZ&BojcnRU&3H<~ugU(&dC^9gUJJ95`sZEvj(omMxAZTZzL zna?Ais4y}-6FzT|$JpTfg(cyQuhDyLFXoss!+>X-x;f8IuDdS!R&ehF>m#?1_1B3f zm`Th$zwdI9%W=maOu_l}U!PltNUIidEWHxHmw{`V&9c^qj153PFnGH9xvXPx#*GWV{R9J=W($5M(K@`XF@5Rc(PAPx7-0~Wf@*20h;SD^19dBSm7Iq%udIK9f ze-=_BN>R!}*Fq##b10kh+02|-oPKj=Kq;k^Qc56PZyWFH7@;{rEOqVX00000NkvXXu0mjf^PYCP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..e19512f84301f277c5998d1a8f77948e0a07c94b GIT binary patch literal 366 zcmV-!0g?WRP)Px$C`m*?R9J=W)V)f>P#A#W_rzon6hRQ8)ohA_cmayyuA_tKQWw1gdj}4B1x|Jm z#7ht%Nzv7{P-+XUjftss5aSPx$3Y5RbA-B_XZc8mFYj9MZdy4()3kr~1B}*PLXU4K82|tP M07*qoM6N<$f-}UL?*IS* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/cubalibreglass.rsi/icon.png index 6512228e0de8e7f3bd1667739834006038187674..77ea2ac9fda626976171b9afed48406f975f3e97 100644 GIT binary patch delta 618 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..61eea035014c34eafecb6730085af9efea307f74 GIT binary patch literal 726 zcmV;{0xA88P)Px%kV!;ARCt{2o6)s{APj~P?jl`)nYu&gs53BA7w9DDeWJ%&+e!%ek>-2!91Y}8 zKrt~!QGS_$a#M_vdmLF8<6WiH!K457VPIfle7n%&*ztG-h0ZUNZf8W z6GC_zhqV1QRQpBW0U?Bv+lyE_A32UvNCG6alM^JPZ)q<%erq|b$y)G|`I9psgkZe) z;?7Ta@69-l5c|ol_r5s$$UFJ{et&F4r_<^29I0d9R_*7){tAgccSqaLh2=1AiE|GA zrFJCSlm!{G$# z*^ra~ngMUv60U|Q)iQwlR5EAswN6Bv5g^70uhCDS#<69WA`tm4XlWc-s+h*{ZVc&o zoI85C=3n$0nhdv4pO4JOX_^MA2;{n;-1L)ZYmyp6T7EeC6uKzRMfE4Zs-s&26%erg z050Q4w7mqH0q9K+WqS>zKfqcmTA!al|CmqqSEcDiejo|3*ZJs%?pkmLUl*J3ks)Qk zxBB?nk^iYbp_a|%@(1q^K-cFZ`V(S|4-q)$PhNsrsL$`AKcT2U09BvgQ-1D2k#eilQirq9}?G{|V+@@(0X|vH$=807*qo IM6N<$f;#C^cK`qY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..02dea6ea3007bfa805349b590ced012ba2020955 GIT binary patch literal 793 zcmeAS@N?(olHy`uVBq!ia0vp^2|()zD{0`AKjJoORp^}va)8rr=~fF_rzm0Q%{)!wdOYmS!22mBwH?6_F2A>dxuEl z@uCCq-9L1bnkSZW9{=;UYw2q%SC=a$z7rL0Y`ngrbc0btN5b8WZu{e@e@9$PqlnY-?qmDTTv=^M6wdn;sgOe48Rs%_y3Rf$*D6Mh|&_*!AZ zciZ?CpTV&e``%AAR7;bZmgjN*yX$px>JU7>t}^LoJi{xio?Bc;{}-zar-zr5Zh+;^qvj>qknmwzx6PY>Wt z-_QT*M`Nh_bv7-9gujd{kJK;T#&5!WVY-}`HOnRW3)^xx{;H8riEmmj|3%&9X5-U_ zy~ozCoo^wk+5BE)`iK0ssf_klk3aAGv-V$0%&dPO+28X!Tz{_oOZZvkzvnGeey7Vj znqGN6f1$nNDtm^|`Sr{Gv6QhXy#74Z%D>)e(m#gw)k5cDWp-bkzrob5EVlZWaNoI; zry6Fx`usnqzG>^UHCsz|#@t(!IPZDReAB=GU6VEc7W{8g;6Oqlr_A-UCElM?V^syF Obp}sYKbLh*2~7Zp-ggxM literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..1e7eba28965dea45c5992ad51e7975a922b8b975 GIT binary patch literal 607 zcmV-l0-*hgP)Px%8A(JzR9J=Wl|N_{K@`Tni8<~Jhvs%e5)-Ua=t00D9#|Y?O9KaojfF+3pqFY1 z7~~=ZwAe+gMv#kzjYSHZLx|>zfLFvSTG&X6tW6|vA-fl0HQD^}S;)#pvI#S{$13>2 zGR(Z?d%qdpn*sjoUst_eKk_wu$CiWRR4PMl2k^(KRECM}y9NOG`0`%HWx!7gaHi8-3f~~p4?Ay&VPHpx_*O-wJOszE!4A91i<|K zjdB}2= zMaw3hui3Nye09EJUcG&{3;-+ZjR&HBLS3M!>W|=jb-rR=zBO46i$@ON*mf!``JeH& z0GyOuR#E^_C6@+>Qn3RFwc*TAnw8#uA^>LaLRwjGn0{OoKh`2ygipY*T(2;k<>RAy{&jZ`MeNYBq&&bimKv{vM==(`~*Jx);Kkd0KotN002ovPDHLkV1liF6YKy0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/meta.json index b964b0f4a17..62aaba849d0 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/demonsblood.rsi/meta.json @@ -1 +1,86 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[1.0, 1.0, 1.0, 1.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-2", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-3", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + }, + { + "name": "fill-4", + "delays": + [ + [ + 0.5, + 0.5, + 0.5, + 0.5, + 0.5, + 0.5 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..188cee23334eacf85ac09e875aebcce2695ee53f GIT binary patch literal 111 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}nw~C>ArY-_ z&n#qQFyJ}7;o1Mi#@pDr*whNE*%&HxX79*-uMxSIp`l(jrGSNL@9Vj_Kurvuu6{1- HoD!M<{)-?~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb9d8f421883d36e61dfbe33adf8a11fe1b1a9d GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4xTQKArY-_ z&u!!ds&cuQ%vSY1{%alLt!Z$auFdR7F=ci$OzGFw(enYpF yn@u0c8b1HiW3ag_zH_(tq<2TF*cljBR4^!}%a!jnjJ^&uoWax8&t;ucLK6T*v^Mbo literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..7503230a6cfe9006cc1c9802d21628dd790acc82 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*F0SuLn2y} z6C_v{Cy4YkF|ze6$+9STzz|o-&ffli$&Ax3tC&~tu6V`pf5C$P?0hl`njw)MTT_mg z_x%_B#>OMduD_t8zV?5gV)09}Hre}<9$ie6WDkJAxnKPUo!t#(kIj#XwlvJc&imv{t1kGrAXnso%*74AKmEV0ogSEC$;{k( zvjAk#iN2)I8Y-@dGmh Ydx}SchxGSWpbr^5UHx3vIVCg!0DWI_TmS$7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/devilskiss.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..08c3a2abc51e55a4c445be34e71494098e3bef78 GIT binary patch literal 1474 zcmZXUdo+}J7{}jtUX4lPQf#eDhRUUOW2RoTv}Rn2X&IBqJ(pre*cBminQ&xQn2n`E zBtB~ z?%I)}a-UwPaG&vtq)^5?r-hQne9zY+%93cJ^V9U>C_p<|$rAOy!pLAOug;EyQbohC z{Q>?fI7RPz(_F+1|9D=v_k-xH%_&VIZZ9tv*N+#L zAYSY(9Ec4x=v_BmxXc^ov9$STDWYf8nH`4f)#;v6*K)vY{9%f+Z0pLzx?)|I>G>CXBQ)ha|vp(W96n-oHP$2He+w!0dd66tgX={o3 z{HD+wkH9v`Yo?pLjqWt}7c?fY@E#8amnvjus}vCZkFGG`!^!LxrDaRohC4q~9 zO)^E`w$gGi1kJMdIe)*+6{dy#*LfaER*)~!P$T@X)}W={4iAc&cv=o$=tdkRqZ{vd z{PAi+HqFE#Gpk~0r9~!T;$3Jg-|g`(Z9UbZGAwS4_|hEjs!|nqRDXA`Va9e9-N}d~ z#eG=9pQc8AL=)SqtJ07`AYhys9g|;czUUlaETDPKg0e`IvxZxX-pxmnF^72Dsp2_H z-b8PFR(IeDV3a`TPC!b6F=&YrM-Ab|bAItd1VM0!U5|=%JR7AL!Lb4Hi(w)gR(4e< z?BT2HdY`~RVPI=e%_#^4e^SJ9%!pE$Z=`=qF3&WH*#x%o5+tvlgouqQ%H`*W&IU#K_o3k<_BK~R|- zdeF0GIbY_OdvmSbVRoesG?bB*NB9S!vdEbx&lbuDicGPP{ud^*c&DAXaOVg|)5#9=j_gve zII-Bpsxt@`X`sNGpPPzl*kN`WiDel&s^wq^sep<-8TM-BLenSbuTax+Qs}Z;6w|jn z$)3+3!?FZMr|JXXfW$fZkg%bphdPk6PHVvnOXo|HaHuPUN<5%M1Z1joa)CMfB5e$< zr@Q-xBc7`Z*keWOn{xne6OinQm_}&T%7Q0yX{DTW0W=0F72|0*mj*ltXo$qYy8VTX zed9lU$YUN5K=t*}IB0nAW*T3%wk5WH#ef>6kjr0T3%Z0*vlC_}=6l?#r=}1>T`Ub; zV0DQBP5O_^#{aH>G&GVPbMvwD)!FeYiK<`bx!4;~=M<>1{aAZb8rElyeOpJ%{s=#> zuFje%ll?^N(e)#$v_7dZqeh3O&WvnCe_e$9xZR$gg)7ZhNlwU(XWa|Hk_}dMw3@>7 z@CemOA!W4kt#fb$Cjd#!nCCPyUiXiGvxwnPBDUsNrjDS44b#=FfqDdWZ&kE(S2P(>?XH@gCekwjB)sS0`=c{qv$d1iKpKyOOG-@JV3H8 IxAaN;3l+4pRsaA1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..96d9f35dc4c7ce39dd3779c69ff5d88c9ffffc73 GIT binary patch literal 1576 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..48c5b70045ebf461dfab7b7640fa72603c02e002 GIT binary patch literal 1950 zcmV;P2VwY$P)Px+SV=@dRCt{2ozH6LVPH31)+yPFD1Fe*aTX<6kAObN`F9!U13z` z5=<{W#HAQPTo7)-zWdNa*oI=~76>l(x(5jd5(gJb@+TC83k5emxJg$(day?xDYC4c zA8&Sd-sdttSo*%1dHZH|wC^ndK@bE%5ClOG1VIo4K@bEHb9!`sd9hd&{;cCTk+wlb zS44ltU8*kRrjtQ65xsPdc%r6D|0EkOZs&H_-hHxnaXYsgR3o$zpp}!Z zhD(npYR|4LCsgZpqt8$Nvn$I9Ed7hyx!vc3Zh!0FL5NHQ=rpKo0(4x3onU&*@mQ;B z`Rc^r!)zVkVB!G)L?#~qASLo4FYoyP0GUFjm;HVF`rYK>`ps%)ZmbtT&sEr}KRfKE z=C^VcScPgsAC|T0^7^;0-%Y;pccSOgQoh0p$c<1{mk50ug<1)}_>)HtiIbv09L$}(x?*ddGGYdrk zv|An053C*3L1+_bImoB?(ZzJs(FH{S%ZXG3i0f5o5{dwpLk?g$H=5>+TrqdqBabEj=4Be9uaRTKL z03#_POu8nt*%i+_UEj(`S;YC2?Ey?oK&z&SiC|AbU)#A;{&nE{G^zoIHuSBGlmP&) z?c6B?Kp-0;y9a2UY&Hnk`i|qUfp4_f?2nhyd>aI14shndn1Awr>7j3Bq`ZHshVBGs z9%TLlI2ic-Q#IHhFQqY~(3?Mh(8x{_nS2064lv^`Rd2ocJTc=gp{7eQz5Vf0dgjHK z=R^lVRQuM8&ytNkf4bSwmf4jD(f_Lc1;~!M)FWZXr6*&gg%3W=*6U{v{P*|w@4eO! zRW@{*$jh6P^>*4=`a_R$yHDS9`&ldU{lX3~_%K_4^;YU1fcB}$7&-EtI*u^`j8;d$ ztcx)8=%^@!h!Y4e0oxz{(gSdOUOL8F$U1y^bJEyz+Dx0b0dpU~#y~Uz2swb4_k1t! z`OgR4elPF&mp3QtUf%P)xeXs6SZS4R;RluJ12j(n)7K5J|HJxZg|&SDvGl#X=NHzp zr}^;@f|B|GY!I;V@}3XtaHNg=%SI^rFG*z20SGlHuMZ$+PW1ILehUb7eE`$>@uv0B zp!xuW3aCDS<@yu>EQjg?Sgud?0W8-?*~(&9&NiuQsxE;jR39KjTHVsgCaMoW1S0f# z0gNzSiE$t@4qz*~9iNr}%OMA_9C855iR>Q0blpDF`l_G^U^&9cp<(yzIHU4(PY#RvWQE*u4TNx><%nk}N_)J^14Z5|Y_5gf#?7;o26_d*X%L~NJ59GCE5;TLt zvXE712|ECv9XtNlj}-uDv{;y$0ABmJRwp0*@vSmVsR%G||7ryQVCTkK3IJf`+;?b8 zO1sWuCWrD4$A@AJ8~**~X_Gbp2p5PDejb2LKERO!FtFa8d)!)x`R?F$4v3i>$ZSAQ z4`-9Ub7L*VI|C-ISAZ!S_|~KiB1kO(J2%!+GwxD#^5rKz*tG!|`{Skb*RRG=YXh{i z!IZY_xJ#b|F65?@r3+8?7IM=`+3%9E!IUKBW}#*Vz9U&!%~Q^)h&Q&xZ{# zviWT28-(fu5YkY60L%52*9Sl&r20{-Pe4n6=vc<0d&7N=cMnA`{U|5`lj>|F4KdLrEj{QDv8x& z;kt>_#53qN&~nHDEQcJxa;)D2*q(z(5x{cD0W3$z0WjW+CrViD3M)$L17IJ2#_@jK z6iSwWFh>NUGfEtQuE^*j?EvT9(K6p+z}F_=TOv5p4)AC0w=@92y|?pe0NlxV=cf;= zd`kpJY7^)<4xD#K%Z}ru&%2{#<_s7dI$F|!b-pD6qU;<1bMhG!0pyW-B8bmTZ%xrQ zSuQS!w(a`|sU=_`H=P_RP1K%_EH_0Gx+{nd(n~<=t<807*qoM6N<$f_w&|0ssI2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/doctorsdelightglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..cf0f13dddb5f03ea973cdbb691b1e16255428659 GIT binary patch literal 1861 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a3114829435956acde618dd00139365e8e6b63ad GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Hl8kyArY;~ z2@Bn&34E-bD;S1)mUdjZ$YX8|k|WF7SqqUh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbc5cd71e0af272a603212bfe63ab1f47facc06 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^TI> zI9}eDexk2wqpXZfhgtuk7>3PLWabASWxT?$m`|egK!bI|nng1j8MpE@Y}7p22k|pA ZL(o3I!h*24U|{etc)I$ztaD0e0syCKi30!t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/driestmartiniglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..314be540d5693fb0019692de10ca0f28d858bdb4 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|j(EB_hE&XX zd(%+ppo7S-p(k^tRrjbDop7mH$eaG%(c4;NZkh7(1;pgS`l+4TeL0nH)KbLh*2~7ZG CPG?O3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..10d82fe1e61cc29e9605d4aa2a34b567711b1040 GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zbv#`hLn`LH zy|vNnu!GF;kMmu7g4xXr4f&OpcrR>Tpg)2A#S3N&3o94(_9pLky}P@mV&>E^3W~I9 z-O%hP2bv+mR`Z4l&bGYYR-|MAo zv>hh#{VG?p?i2g-JvdV|=E*nz)$4g)b4^$>xA&`Cnaoa|w1=x|Cx`4&1=$D!^)rK$ zpIARL^}M9!9xL@({^xxUhr8@6ZeLPAu*>q7h2iGOO}`lfUsQ)~IbPpY%9Q8+_+_5s zo>zPuwO_Mrak_8qb?)8fjhnU`*D){u&G@XS{&n$^=#y^+Kt>mQW%O5YF%A2bdkDn! MboFyt=akR{0L@gN#sB~S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a2b9a37e951269a64940dd2f8d90fa6336aa9138 GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zD?MEtLn`LH zy|vNnu!98qhy4qsmTLq#3NEY^P>f_@U%1afPGK?sg@YFtT3K@F@#(!QHF@#i33tZ= zjgW(Us#BagM3#F*3C*ra4|4jyU$=bv?#H|Pd4BRKD1pGDpPLmbUw;0rZ6P05zvSz7 zp6w4S=T!vPZ`9#_zc-=e(#y8YNyLrSdH`f2Q%e&3 zSnjFed~`nWm$)p$=}im_+l600_pNtOWM)W6&yDQ1pFZ{9#P+-D^_$Lq-gBQp5CJYq zEIs5QcDYMs^S}1>zVb@pZk;}%3mI211!n53HIdyY8@&F|OXfoi5~Z=;yHze4-D&%@ z&PzqFudOzD<9$y(|L~_@7+V=^%6C1~(f9ZxUdWJh{7V0y&DSfUuU?W5*ds4+M>eN- j`;Mtz_27`16>mS~Lf)qigU{W-7-8^q^>bP0l+XkKS-8EQ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/gargleblasterglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..43af40f1c4c022e32993bede098b4e29de41fa90 GIT binary patch literal 464 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%zyF6VSLn`LH zy|vNnaDWKggZlw{{Q{RXDK%9JD8{m|FWl!Kw_q{w#KEWD0{i(M3<1L zf_L>UE`9!xFAXhziXmWM3qTIBTGvE{Uq1;UEFFZ;cD^1niM2M$Jt9a6XM7rcFc=A*C$^PTSX=g%*@ll<7L{`lKt&iOxX zT5Rg?fCG(%Oy+KOvtob8Ewaz|*mfdSTB4Bijznb4*(LY(+n;@WaAtb^I-t)N`kA_U z?RA{_tt80Gq;rpgpz2bF7m;T-^GurZ&!OYnj}=B9UcZPx%B1uF+R9J=WR?lk_K^T2An_sJFFM+^F4#tazQ1swI5E&0bpo*Xe|AOkxn}P?S z;6diXciU(nE_#BjVs{XiRLgF`M1-kRq+!opfeJ59VFx&A0Ep znVs(ghWOt>bjXh54CIWTJ`+5!ce&ke7lGe{mrfxA;OJMuqWCEt0V;6L#eA`Zdsfyx z>wPasDe*X+bF)&SMdE$_F#(R_umhY60H_s9E&v=~YZhj#tQ#u!X&=F}FM$}uyL0he z{#7XJHh?3m-wFWmzOiCOakUb7QfrA*#|{ZfX)LFW%Jop)KHKKE?OsHL96j$RURKC-@0^e8*xSv}l?D0000uniK*5Ef#Y|KQ*I-&}Ex49rZ7eJppbD%_ZuyDOJVKv1w&$F=QSvi0=J zxeN|232Ej2p~aqIqLvHRntpXQ-}idy>BHOMduD_t8zV?5gV)09}Hre}<9$ie6WDkJAxnKPUo!t#(kIj#XwlvJc&imv{t1kGrAXnso%*74AKmEV0ogSEC$;{k( zvjAk#iN2)I8Y-@dGmh Ydx}SchxGSWpbr^5UHx3vIVCg!0DWI_TmS$7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/gildlagerglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2ec9a01b964e55cd457370b486cfdd898559d7e9 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Hl8kyArY-_ z&pGlk7;rcTUNAB7y<%eMdxl~9*HiV!)pD~yIuoqIy{yAae|G-ft1i3Z)VGFekLm+C Z{H5I-%;y(#Jpig;@O1TaS?83{1OTz*C|3Xg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..a731c6fb84a306a2c8755c7c87c03187807c4cf9 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}KAtX)ArY-_ zFKpyJV8Fq8u|IrMdXmO@m$XBd5S rgZHdSF=>xiH{7UOAap^Cks&Wi;2)4RUqK;;acu6{1-oD!M|Z7XRQ&IpmT&DEL+kI`mOh`# z{%+5aBlwkJ@N-i_cZ01F5l5)_?KCJJ%htpK7rr-Tmq|eegL&I Nc)I$ztaD0e0s!0DJ9z*A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..65d40600554dd47f007dcf3c5d5f550fd5fcd103 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}>7Fi*ArY-_ zFFA4@P~c%Xuq1v}{;9>E)P65}>$-v6cE{AXUCfN4Jlvf#J32Z}+_(I!`Kt3`^|bC+ z+j%$`wuagp@8#2TD!BiR^+eeD-^&@@b_nP*FZo(nki2kP*|vgrsXOl<6YSu4&erd& Vq%F01MI_Kl22WQ%mvv4FO#nm-Kz;xK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..08d8d7c95c0cc418b9d7cef8574ffa35d5644dbf GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}1)eUBArY-_ zr#NyQFyLU>`o;b1?3yY0UiVY{mx}C35v_W0&QQR3mxQ1bhhobgSy#QAHcHmt3-zuy zvnc5Z8U)Io{#xeppl(C++PFje1zx<|r|{s@JDK@T&Mc;#iyBS~vx{->XfyuHKEX7n er$L~pka5x?K@X#?&$j~YX7F_Nb6Mw<&;$T#`#_8U literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..4296e52a4fd9159a5f5d6185535eb763d048140e GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}wVp1HArY-_ zryS&MFyLX1J>pifjPL5qQ$7!ySz7B}xzv2{{2S7hd^C_ju|?p~dzED?ww!hQZ~Fdn z)fC3fNe-3WOKsL}H(>kq>}!pTcK9)K9wUYxr33}#9gk(tSHZrq!m>C!teE9$S`}5V|p8qxag+v$IYZ?N;b3Fa~?9&nlU zG*hC_kqs#K|N8oP|4ENK_!v8$Zhr8k@4d`a@CdC%*=tI(V=#gIz$D$%FI# z%>Jc*qMPnKxpnI2&a-bjU!T95rF<(*LqSVWi2KAzsgTkG^=xZqHgDr=V6|svWFx3&jtLK$x?~#O{AMg^L>7|XP6y%R?XJtD8S_7vt)X! z%9S>W1x$wx)YRD6gcdihQIlM^t%3bHza|?H1Z5o#G~i;BVPFusp3#xk{JawwfDE3l KelF{r5}E*LCzad) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/ginfizzglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..94f510b3065f700789dc222e4a3f56e98920a4cc GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY-_ z&slRd7%;G0Jh@yzM2BVL*MI7pHf<4M;%sDjEa~%lUtK$^APD@lzHDsu?n=^1AJgKc zXI|L;-nNP7U-9|xG8|72CUl-nJT5usG0#qQRi!<_Cxx$-%;w+++QH!I>gTe~DWM4f DzpOWl literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..19bb143606caa45745cdcbddf15d38d841c82a5f GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}jh-%!ArY-_ z&pC1(GLUe2c-`gKaWPTBgWVPXvv&w@KiC?w_9EM3$uoy~Kfg_{P*4JbPw!{V3fy(? zlj6KuPT9{1Pv%sL+<0#m|9|H!hK37L*~X_Vg!Gxa%|ia3$#Pr%=1+$0yQv-LJC{n{ vK36Ah;FB*U^ZilbU#>mREtafe5d6ttQ>ygfgqY!AVae6glb=mYi_)0;c*4&6tXsO(4}7?#qqhD) h)Va4BTmfFS3=0E{p4mlDX9PNz!PC{xWt~$(69BwzVtW7p literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e45110e8e327e71a460d24a0032d43947277e4e5 GIT binary patch literal 263 zcmV+i0r>ujP)Px#!AV3xR9J=W(m`&*Fc3h|Z;yjX5wumsuIdH2|9McmM5>{|KuU?JH5|}ZYt28NKcT>L*yQBCj#Bl)~wE zV5|HCstbHpFC}j9mxPx#-$_J4R9J=W(n(UoFcgI0-x~7lq%tw=;r>VA5ER=`RKW6}#Inp8cnfdPw^vtJ zKS5CxMNt(0U8Q*xLzmt@uQof+Nj#D!M1>Vk)e)^dZns3G2NoM}LCr7kPi;Fee_x zGmgW$1)Oy(Iny)^?R{c2x&_oHs5in{gk>1Ge7EeCe?YasM>2Mh9p)an+$IhpJa1*a r0_~KkF!YPX?2ce9?`>2SD2n12U|vkf9}2m400000NkvXXu0mjf(Zzj< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/gintonicglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2f041e5fec057f8807ca829f5efab4c7a0e292 GIT binary patch literal 324 zcmV-K0lWT*P)Px#{z*hZR9J=Wl*>-TFc3wLJx-mpP0K@6EZOk?p9E|xAs}`hZ5)ShU>4orv!AP@ zJEMU@p-?Ck{yRo9G=-SnyCB92*1&$>5@X=?`Sj;Jrx5_?SA&y^)3zqYz&K8-9JRo3 zoyi$kGk(dmZL7+$T7j2`BZqWhNee%=qVJ(B<`UawLgbs#H1p6?}b?+dB?R;?Y-(<8WI6Cyq5|nx>(<&Wu*qfO-Y> z#&hpI>o9Qs?r4=aplaYFSsDBed!0C6W)9x-wDq?W=;n;U(yxNu9YKV*PWK55g~Bfu W3SGxF5nbf~0000Px$?ny*JR9J=WmcL8fU>wGuym?z~O2HVecnwPF zq2Adjj!sUQ+=MKGH)iq=FbWM)q=o7bVmn;p(Mv8J?18P5 z`r2n?TVH0+s*kyB{pbj|Xh%AaDTJnJV$T~o4Vqrhefr=&)*LO1<`0-tuepJQu+{dl zK0p1itS<6uO;fJ!H4abSn~z>F-4s&@0Y=LP0TALc+-glzHs3Dk$pb`sxdsZ*n?Rs^ zEI0lOK&@%YIcb-28A0`8%>i_NT?NYP0_FAX%5uSSTqT#0l5wCLf(da1o*yV` zO|#EQyJR`8-KXeMTB9tS`Mv27nL_2hA2gA&vmJ%!1{(c6oJWHx2;vw}27?&kt zH+-X=J5Le;D2d^Cpj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..4ade7245ddd233abac5f7d883be3e616faf28465 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J3L(+Ln2z= zp0njT^ht9 zL+RGlmXBB%j(F}~V`FZf9Qy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/ginvodkaglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..2300881d64cdbe19634011a6fe6ba577ac7aedb1 GIT binary patch literal 288 zcmV+*0pI?KP)Px#+DSw~R9J=W(Lrj$Kokbxf1Es1s5F|LP!~Ohhv>3b^BjVQ@C;eG5wZ!1ma(G$ zB-2eTA_$$5cJ;o^n}L}(KW_k~lu}Cl!lG!ZMbT7!^fEDrx96V>DG0SeQVOphSR<^>FZSR{PZY4?U}>`pr?~WM%U|k zPA7?^^yF7{F+HOu005hM*W8APx#=1D|BR9J=WlD!JTFcgJPY|{u9qYgsB#m8{*4FsRg=WulPEu35wLB(3FLz@0L zNFX>!Q*;pSx8#R#&&j<9AP9mWhz2Y+@p-X{&)=xU>OS1v9$M!*U7Zk`JLy$wGGKan zC?o*PBQN1T4*_7*?eMP}uuX8Ehh|+LGnEufNUu^!!Ne@$wZ#FzcQIgNOiYJCsB@hH z4BY49wXaXBiMTCdI$?L^X9hlr*`sl(>68Hg*j}!&5q{5u&UHE-^!hIKoJY{)m!EJB y;r^~XA=(Xc9bz;Jk4c>Vl|NgMhlHcx48W_B#qIU=#`>DBw`cGIj>EE7(D z)IKjEA+cn|BL=a!Jho~{!?sITe{)E6tZCOMJtB4Dz<~n~l2=}KSaVA@{GIU9X`LeM z7nlT|GVq_151MN2=XLXR$5O$?b;qav=9Qac-_f;hp&(Q9F-G?JduEv?@O^mjN72>i zl$z>4&mxAk44zLJLS6paGZLK@AC39w1=wd|{|oJ16r$&^rvC Lu6{1-oD!M~_m!PC{xWt~$(69DvVFK7S& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b3b3b52774246cbc24804ddc8bf1368426bad3a5 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}1)eUBArY-_ zFKiS%WWeM0Q2jKk`*|K7r=v68FrAs$*L6zs&_nCMil!9`n*Y`ZC%&BP=mG?0X*1ou zXaD|O`rpAqK#(Os@A>P*x9etcGTh0Q(PU_hJa}wFlv%^KT4TElZb$5y^DZymJy)qT c&?P0mPEuSvX{)w4FVJoVPgg&ebxsLQ0526mD*ylh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b39c48c3eae9418b22d3377f816d7f5bb9e6c4e4 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t)4E9ArY-_ zFKiS%WFX*jasQ-5jYd9=mJXwrtSg#(I!>@ue5l}TUP zdGG$Q%TEm&v=gM6Q+MB7yKnB*tt<>B+|xut4T3gmxJo(lcARu>aNMM%@a^->Kbtw1ObPOOd0fP@ zL_YuX%c2?EX0^B}RtBO{%VcANGogw>JgMdWO zUDE}e3lgL}7;2f9xijC&X5BW?N#05-U^e%(1J7!!_c#3gX%W8m@5V0|n3qhsBwxYA XTxFQ_FTwgT(3uRLu6{1-oD!M?#)AVWEI==OD_n1YnaX%3|!^!P)EoLd3)&ZRr ut2yVq4-bE9TURfj!P0NwIqAv!8ipue+XQj7eG7n&XYh3Ob6Mw<&;$VbP+V&O literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..971aa5ea6d9d0c2c412b666925fd5ae6b79fa1d4 GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Gdx`!Ln2y} z6C_v{Cy4YkF|ze6$+9STz;L+lz0COyCo2p7O(-fTP&jEL79_jj>DBw`cGJ4%Z#X5p z|5Hz6qhr@HzJ!NQlQs!F2wQox?vtpQ<)pL9q0Br#B3^|o?0&nWXnk`?u}7KV)`KgU z-DC}3H3YIx2o;+5FVdQ&MBb@0BvAaY5)KL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/glass_green.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e92830190ad66e81ac3da33d585bbcee540237ab GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9-c0aArY-_ zFK*-os&WY|h&$F;xluXnm_y>{`1FI7jDidd4d+XY=FE(AT(x#hS>xx=o}E{91q82u nUwx7D&faYaX^V9j4wy?n|HI!>5YplcG?T&8)z4*}Q$iB}fC(_# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd0de42ac5bf18afa96e5abe8bf35c9ee20f32f GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}b39!fLn2z= zURua|#DItO!u!iBHG(#~ZR5~9qb9q&nuTRrN_WEH1rwS!$?V$1T)0&3qw_T7`p7QE zrBi~u{z~4J)LZ%`|Lq*%)Xui5_kXWT3-YG!Q{_G)k=S!^lTLX4{c@S(hI3T^HBAXp zSMs^s5~aOnD~BS_^Sw*B4UD6*EzS#nwrQT}YPr3y;P$rHV%JKS&N1Hey==9SZM$N literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b4d461a443e37d91e4dab2d115966c53924edc32 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`#fD7Ln2z= zPB!FgHsEpHzq%_$+5Hr2ga!NYhcY}*m||3wgA=$^x36)ziip#L+}n0-ewU9hT=-raDj3)p#5JdQ#`BqL zx1O+U?g;Q&S!S!k%5XrUx%Pgc4Evg`2FE&V9!Ya38VD}Tlv?we>$%LXb*sO1nhPYm zcyU^$Z^`YJSbU=RHTSVXoBatAY*Eu#@BOy+at#!D`g;$9^F_yivqyTFfIeaHboFyt I=akR{0Il+6&Hw-a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/icon.png index 90e51cfe9a656cbd948ec4fa2e7e09b9080bbf91..dd1e0cfeb7af62338eafffb38cd31314d0c00a9c 100644 GIT binary patch delta 466 zcmV;@0WJRB1M35jBYyw^b5ch_0Itp)=>Px$rAb6VR9J=Wma$61P!xv0XsxXd+CrBO zA|eGhT|~qoi!|aazJZR;I%p^H6?^~-?xN{ZGm49Y&>$k#Ye^BrDvHLoG!C{B1;Kl( zf|!3gCzqW6!UDv-{FC+`#HwG2~ z(jxGLa}o-eO1urWLN z<+{=x@UE}1w$}mhgRCvh0nl}OBUMjn2Oh?Txvht>jtlIcmH-%?9tYrPYv*SHv_yhh z<&pjv+>Z@21%J4J7VDu_d8F1Km#Wtx3(!(Ga90oW3`Cl_ilhOw^Ajz8c~yP}VxcPC zz*Q6EaPOdO^j4)7Te$-lK&2kW1^Pl&E)?si0i4;%Qa0bX3sn(-07}_>S@t6Yinjp3 zh`OC-Ht+ayX>({}1b$Oh^R@xLL&_sCpCZo3_}6y8d`pTr>5+j9K+YDKR&3hBk%ee` z1TAw_DFGN!H<`1=JL8-!G8;1!zj_UmrY$^Qt{J|+r9gj1FQSr?4Vd@98~^|S07*qo IM6N<$f)h~D6951J delta 452 zcmV;#0XzQd1Kk6VBYy#;NklE1?^FYTORj0hXsHF@H>}43Lf5$$tfCPGz)e zwu~2Y`Q7h>gPnDNqw5E~GUTXk>nXpVkxpgwLN5R7`R3Ld+2MZ#XvPv+jg0}|1=-$M zZ2@Y{;zX=#08tOT&8B&7gehKKb9P$-U}k9!fXlr@U$uM#sPS>?wRcA2@H(4j9W*Vh#cS0@qY(9vI*+ zBw9q!dHrrIxd{<~@ewI6Pfr#APE4!d#)fH?{XztO0zKDUDiJ_7Y9~)jtHbzb-mSzv ukd4|&!?d&~_q7270|YVks^??abAT^C`ISKme!+kM0000Px$RY^oaR9J=WR!vL8KoEUv6dJsUw3i@71PeWS6Hn=>@t5Rp?9qQ9`6H6O*j)6e zHy0667KxYM8x*o0?AC4ZYc{b^%sb8Ou=`$SW@iI5Xwaa+e+Q#($g*r^>)oCP03p?L z#xkC2KRJC!P@il|%y zL+%PE0g+z>LaI4pAr(J4K3wWG3{t7I<+I58TWYW}cmqDuZNi&aC}RKs002ovPDHLk FV1k2Zvi1M~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/grenadineglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/grogglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/grogglass.rsi/icon.png index b115304cf2184ffbc6f4a9b0e85b3b4b9c293e2b..f9b31338518662b638440dddd4282ced22a9736e 100644 GIT binary patch delta 386 zcmV-|0e$|81DpepBYyw^b5ch_0Itp)=>Px$R!KxbR9J=Wm9b93Kp4k=cfF<%bTYw2 ztqB8RVRUh0G9B1_2onc4pFv-N_h9JAVt9crOc<+}usTo$dJaGk1nd!X@qWt<-{t%N zntpc&7K_F5-w`I8Tdfx1Ag9;WgM6~kuU4!5*i)GZH2Y&+KYuTE*4EpRt`{Ank1`Ta z`vscqsIsXJiAhT{0f4*9Gah=$)v8(;bsOOzr>;41KPKJfh{ z>|8+WHK%YKn|rp}P5=PMp9juX$Nw9FIKG*L&H|T$H(gY#FdjlJeITAod|89)Dq$-PV@o@6}pYP6RTf^ayCQUV}ZU78` z0Wbi7Bi#_sJiW^o`E%=_0E20+?{B-i{i8(RcWe=a2*5cG7=MhCy?&TWLdr|<@^HiJ zWV=Y5q{K5%OG+UI066=6#!?ro@(CJH_9d*wz#~z=OPr*YA!^-%pdE7LO=t&ja(YGJ zjq&}$7bj@}v8P!#tyTtHm4O>Vo28jH*6~Emz_ZZa`*=LRa2MmA#FaSTCA8ZgVS_dWo O00003{NkBv3jk`=L4DKrNWg&yj`Ls2hc!HV>v&_huWtQUI{X{}zA6v=4?@du_?h``P79`!HLa2LQaT|AgIB50u@VQREBH0I%G;;n=e$)@*Se z-OZcv^v7H5TxqY|2`Z$D@6JH~Ocdb@&47Pxdc(uRY$n@|+2TAJrqjyT=P2=oX28D& z-*KGEouG0CQ1Jb;fS1ob15%m7;%aT5uV0Kgj#Ej_RBt~!_UuWhcVH@0SRA`_K6dp= zdWnj^TAK);D*@y0zOlXAw~QP%+tU4BrTYQA?2 zWcXYONM#Bo%d#xS*otLY_5OCo7#mH-n|K1?k&gTZ-XLywwKu*$I?(uNY2mN7H|aae zyw?-qrw<)z3~GxapDO_g+b#n@D*y4Xwq$esS9^&!25x?)Siopv+aGbL=KCee=Q;)D zbGexJ{b*v_n(blBdwuWVyK$)Gi?jzx=op%8jsy5T2=04Ta(V8+2Q7!yl>f$)=|A@# z;0;1`$Gu86$MI-sL3#24{J}jDYmpiU?gVVCZ@~T*8(9GRn`{8UM0O6R+B)z?I1GM% zkSO@>I80>cgsvy`ENCJ-hrS)1IMvo6a~UD7Uwu0|mB!$YLv##8{u5>oyF2irf1vWW zyJO=3fYD^U>d#&L{E6%w$~PvJ^JC}6F#X{j0J;7PJ&e2cwTS^hK9^fg*!DUA7-}sk zd+4PTU+VjSTVIao`Px27n%XL^Nq~A0VQl3XA<9)9RqdZYf%{&Wrb3fVk9n;0AiU05X&ThSdp)e zri!Dcs-r2B;l`mlhOqiCwFJ4~TBy&bG-#A3Z(5>B5K6#W10S{ed=UjzN4xQm_yb%~ z)#pdqpAhOPh{_*8+^N;Cva`T-un0xu@+>C zh04p@UM+e330}5pewh6i_6O8LeZCI<1Sx+2Reior{sduv0A+nXppQR6*dGuimG$|$ z_!ESdpjxWWkGelW+8;nwpRbEQ!T1A+`NkhW%s2i3V!rVQ5c7>cfS7Om0mOXc4D%miw4)&DGxU**dGq(v}0RW9xpk?M@3@aCL4w0E5L>wU}mU$z_(&*mZCqSHBm>7DcpTBxA>yw(<`h&tAJZu~999gh)k;f~^nr6M{ z+viWVcW?oMD+caHx7M3&tv6q>M?7Xd>yP4`yOP(AetK@N%2~l*l#wgYCb}-Q_ptF% zLuv1IDU7=(A6+4<{KKZ;mdKI;Vst0M0m8m;e9( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..70af8fa0157b8ae03f8c8e5c0006bbd5043a2e33 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}M?75|Ln2z= zp0nm-Oq6JS7;co(c4UX|9aj?})kPO>HkjUM3QCt3TOc-9H={%;P@|>8rR}7C-a)B9 zM>F;agd2(Icn-{qp>N%LujJ-HSFCRLeU%+lmD^WT=tcD?x9kY{=9a^eXljESpPGr zWxL+<5vYs3c}z$qII!#MntDdJs|UMpuke}j!80&3E#R1&wgbn<@_6fL6Z1{s^HqWV OVeoYIb6Mw<&;$UQt!P33 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..1ecca1834637e7ba18a08eba82daab0a489b5f88 GIT binary patch literal 332 zcmV-S0ki&zP)Px$21!IgR9J=W&Ob`Sa2$s5r{UMqHkxYNU|atpNWn#r;044{2e%@g!VBm*T%BA* z+#K9Q(Z!)q3JMmAiiHvz60}JZ&yWo1^8M`Z%L76PA%qZ9mWewE!Z14fx}^JNuyH@b zzIKQDwz;Yv(p&YpXzj-Oj2!?l35HSY;StMe)1M7EZrj-27JDa0vH!G00ce=2$5X?k zo->$e2Kv}fa)nB?0uF9Fe6D5LQ6)w{Azr4GUck%gIgL@CiZjN~*%S(!++-{11^5dV zra3^@|M+kso_|;9HkZ;1xPEn6%$F$!9{ss8gQ~&uc0IiS)iiPDOSmPx$KS@MER9J=W(mhK;Q5eAS|Giwzm%N&GN$mxZL})2OT7tIP3K}EoOY{Yr+nU?@ z06{e65G_&E(jY}tkYI@!dR4BK_ugy>+K+=S=QkdB9{!wjK$0X$lB5AsLzl1(46RtMW_;`h&R;)(Sy zz#hwC7*&G7Z{Av6ZoZ~?$WHVx;P}a6+!rO_v?)cRR7Z6t=M()4(6R=tkuX+VCs4CU j=i*q}OHTokBn{jzPNP{_7mIKP00000NkvXXu0mjfTa2j} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..db940fc01fd4663576c9f1deb4aefb7f4806e65b GIT binary patch literal 445 zcmV;u0Yd(XP)Px$cS%G+R9J=WlD$eJVH7~mj5CS(o&4x!^T6EYzb$gVqv*j=;Q-+$1ZXuM{H6T^3eG9zSd*WpHg7qAJ1#@W%+ z-3##g3Yg|Skw}BTj?dBS2p9RG?geaL)%e<*BHXM~PNca15@-0^K=%T)yor-EsP)GQ nKh($;`l)F*9R)}vl27LidT(p@N9Y-p00000NkvXXu0mjf(P+wk literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/icon.png index 7eb7f6475cd4f5cffce5ef43a1c6f96316d3dede..b3fdba85a10d30f325a4eee8cbce2cb4dc427113 100644 GIT binary patch delta 746 zcmVTBYyw^b5ch_0Itp)=>Px%yGcYrR9J=Wl}kueQ5?p9|2r>dMrTHC zGEE~*nTY8<3=DyDgOG?RXwx=m<2EAN1xCBJwGkl*BEl$oxC)9Z6om;Ui6K46rZT68 z{Thh}J>Fm_StOJ&ZP}g;37{+h+@*>XGocL{D*Yzd2 zEziK|_6O*?u75gG*~PWnbsT_>RQ4~2mV%`jXn#MYj_uz&kVp=r*Hnaz+IE3Z=COL?D+P#e4lsE5NCya=h2iw0}Apw{xj_D~=cKtw?0`1c0E~ z{4iIJbCXaOttDl5kyBx8nOTZ6N#wKX_^k^NK&f#`ch!=v7cLCfEmTJE45jf0a`?hiLYe~N~Yc@eMn!StIU+!fYlz?xhUL`oP8?E;`-q>jVdLymsEMZ@D_ z9Inll=zlB=NO))E)ZIt4tZxFqzvC&_VouZ+C%Pj^b>P<%TonNTN-45v1nq-#RRyVZ z`p9ZNyt8vwseont4P{{vj@*CA&}IiwyPvVq98=;ii~vo9=PhkijTKQoKFgdljoZDA zdyet~3DAVOiU`5r7rfpKpT-r>W;QVps-~V)0b>M+#+}!bY%D6n^J9t+fik|V^HH;> z68Z}vKojhtAmgQeCO7!-e4nH)vVlqaJEkqSUxt7~o{ZeA6qR);WF`$Bp#K|y7w>P)x=1cP}6*a|(l~!Xg0{vZt zM64j9n{I;sf{^eoFud!w?t~zS5TmH{N+^DUQCMJ-7|{#aD%-4_FH@&&rweshQS2<6 zBt3B8aGrCX=fm?o&*AqIhGDRorfq8WEeDWqe=OJLEiH!p-GAOSGjAk7qkj%CZev9UL1ghR}3$9O{%0QFO~9MSG^?9)x^@8@E%RV#&41_(NrMBAM~I*MBXaPN7@wSX15!-{SR zQIW6Kf`7^Y08&a4Xn4%y43&E*v${xVE}Tots-b`kz6ZqWML633jEQOsezTjI=_K>Q zogDy82%dCwQ9hGH(d-h-)+l!SE_y9RSpv`m%OyTMo=Kd}I3H#uj~1(V-cUgukt_fR zjoU9{Y|kmg@pYbe`Grhwb5Xgk492nnpb5+k9#duu+{8*yA{L|I0LDH8D7Ron0074eq=3atj{am@>&N6jz&{D_4Y;-BvSam4EC2ui M07*qoM6N<$g8rIVQvd(} diff --git a/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/hippiesdelightglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..1054b9bf74f611a79ea58b05099dd003fe8d4180 GIT binary patch literal 582 zcmV-M0=fN(P)Px%07*naR9J=WRzFA^VHE$p#5AN)>eSL9V{r*+Q34sty@HeuN5`%Omm8I%1s9FIGUnb zjY&5G#zn}?qLk`77m!#e%yh|_InuUq4Lo1o05eN<-w)UQ>@xsBb>HuaP!x=6VEM;y zdHQg&X}9*kg*#)awbu;x>I!3ax!A0JZHRq4trc0oFa@6v)AH(336-_YD|LrP@_3y4 zLqGy4AR^?m8QA5bW0#9gW941=TtEH*yIgdn(=jn=N&x8ihduI&df_ebYbR7niU2@J zrEi6A^Kafdi|(w~O)^0O1VH51wK|!!*`1725QV>ff;9jl5RG&@d~ySs)e|E#eG{%n_^R>c m67OA>?k%OOm$EQ0i1H`jlDc-e176EH`~VT}9I~?{1^wD{uC?Y@mS*p00i_>zopr07FbKi2wiq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..122a2270b20ceb2b7cd6d3f6b677b3e1f776a7d9 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*`6+rArY-_ zFCXM>FyLW!Xr6KCbE&q~{Ob+jOY2syR%(1d)$UTnL?#!PKX=V;X{_8bDcwO)Sxsf5T_r!?Rpv@m+ofhUL-;Ke!kc#9NV-dhNq$o&rL&)@z*3UU1q)$ g_Vc%rlG0*XpBR&;9>N9ZftE9Py85}Sb4q9e01p;Ke*gdg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa701fc76d968684d0526f131d44a70f829272d GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL|>AJY5_^B3j>G zzR1~Nz~g!`x|Dt6=bcl3r*e1RU({;G6+@i3a)8gg2D+x#E;XFuu6&aY`-&U&#gLFp>v z6}A*t$D`kb|KBxzYT%Uk{HwdM=SN%S!wMXYjO7fGfd>vWNb){mv4@GcE=c;_`Tw`P zjrZysbxi38T{r?{n5@^^&+=R;DZ=PgbN+w<$0Y{Wn*y;tb8)78&q Iol`;+0PK%tDgXcg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/meta.json index e74c35c87c0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/icecreamglass.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "edited version of https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e3042d30a9e1f06c74df172db32bd71562c79f GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}KAtX)ArY;~ z2@gTe~DWM4f;Ycw? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..0889195b2de2add03e1d2e770b727e0dc50b238b GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}ZJsWUArY-_ zFW7P&au7KBvEI%>k$uB$ul3Jsi<)Cnq|XaXQ0dK??j&$1EyyG4;L9W5UoWdL?q?JP zf{F24p4_xMdtbv=(Kz|!=A-+z{;hZu9o~6Mm}$pdYbWOZD~5K8Ci`sH@%vn!TF~=e z(fxa2L0v+{T+1iIsS{VM=03``O|71L;{I)n2dC;9I@MdA1G(^b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..cf630b21293223eac4a43508fa57b199a89d1640 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^F3W0Ln2z= zUNGcpHV`@Xaersh!M$_OJo{QDpZ~yh(-$76gFL!^r7x0r3Ma%p;N^SzciMyl)4zXo z&|Eqt$m?(OjA=S&r93n4+F34B{k`%0{)csMTvfe1IUanJDd64nyzwRXx`}_4Z#i(3 z-#IEj{mIe8jyoE2q7)oHCER{&v)Lg=-RJEJErr&{7q>kZt;m%vEj)Z==A|-`XI}Tx d0vVTH;q$m@!tQuORt4x(22WQ%mvv4FO#siJVG{rV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..bd7afdf6becb5667243ec5a4d9222e7cdfa1048d GIT binary patch literal 254 zcmVPx#xJg7oR9J=W(6J7JFc8M^KLvsbyT$=Fp3Tko@ezCwCSSq9z+l3n3@((W4k+l@ z8yw92mbSy)eLYZ0DW#P92iEmoT5CcJ27B}M`QWYV=M&)b9wG`Y02s!*KV6QL`Sflc zQ07ognR@Ifz6eu8a$CuMjlgT2UL(2HJK%4UCKLKmwu-cvArF5<>WU zaR56sn5-mCS%&{|1J|)4i#8bBk;D~|S>wk}6hJBU1fI%7HP&2g0{{R307*qoM6N<$ Ef_CRPx#*-1n}R9J=Wk}+z-KoCWrRu(d(PcUTF`E2QOlN=zV%UyH}R}w^61{)LHc(tAs zB94NqS%V8RubE-s&wTza7=~dOhH(#sxR+F|(+ZAZC-v%GLfoG#z_izpX$8aSB;ERh z<^a{hIGgr<@uJ$PPC(=vXsG7(IEeK>BU;o60K{P{Uz<0GE#!WzfPel}?^7oL5OEjB z$$iSIGy~^@)8oJWEey2n>t6y>LkY}MMB+TqUOvOE41{BYD=UhEtN%cffo@n*W>2`# lGs~A`?hzUKBm;(F`~Zb*TRR|u{{H{~002ovPDHLkV1mIOc)b7s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..0141d475934b37a4c80ae820883e7d9ba0ef68ef GIT binary patch literal 314 zcmV-A0mc4_P)Px#^hrcPR9J=Wl09kzF%X46X>DAXv@wBbJD)9`Z;}IqbiT{p!j%?c;y{84ZY*h) z!hdVF$td6=%-854n0b$x0Yy<1Mfneew9TcpR$8zRU%6SmQ5y1agW z#qXe=9{&2;Jv@neiYJisH{j2PeeHMBZUq4j)Q}p$U+GJz-!qaH7;{G#8|-P&se#Ht zYN3(`5Z?emil6!Io{j(X4tS{RLwE=o*Xwt0Te~~0Ze^m;_i?{l>h($ M07*qoM6N<$f`uf73;+NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/iced_beerglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..2bc247c4e31615870812f27c19b25e8298347ccf GIT binary patch literal 316 zcmV-C0mJ@@P)Px#_DMuRR9J;$U>F6XU=)mkkq#J1QGDRQ0fsHF{{F|O#z%~q(ZRuiXfs(zalooa z-~NX=8lT0dX3Oy_{~1W|7)cIbF!KY%w!_X0n}1NrUQtHT1HwrfEc4$nMv~#)uZ6|-+#1o0IBgybqDxx|6(lK zbcDf1S`=$a-*M&sOb^ZkYqrz14vEfRCfRqBO}9+r>}7qM6`DR z(}0Hn$y)FNlIj8m26zah4VVMGxPCIOJ#*tf7dtyfu|R4T90j9bPyhh1EiROuykZpq O00007Fi*ArY;~ z2@$bkjzxNag?#eE4uLmkk8? z`20E+*VU+>mQgD*IXmMT`}P?@4q+U7>VHd}d-mXg%fo(%c@vl!?v{!u@u>&-0Ig*3 MboFyt=akR{0L%e9JOBUy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b4bfce0b51ad4e438e504a70fa169686ec9ef258 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*`6+rArY;~ z2@x8KL#!<-;iTu>17L_n>`#cn7&d< U@UXx2VW71Pp00i_>zopr0GTa4O8@`> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..6c053a3f9f70e16487e3c92d582a7c727c17e56a GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}O`a}}ArY;~ z2@pk0-HVMvm2Y6g&(ev zzkkxGJ%_!ZpkPr%*Bgml77aq)E1xm2v3+Wum&ATRr>&J~CtsqH`{ka@+7QkSVAQ1Wt`g`P22WQ%mvv4FO#n~oLk$1` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/icedcoffeeglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..13fff03228264d6e1647754e2ffeb3764397814a GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J)SO(ArY-_ zCs}hf7zntyZ|rd2vf-n{v`3OTUjmdmI$E1DBw`cGJ4%Z#X5p z|5Hz6qhr@HzJ!NQ(>4e^2wQ)%?vtgN<)pL9k?bNrB3^|o?0&nWXn$`=@eGfvAErN) z*S9PRDQ3_%HjV_*TMw>ac9S(Qku7+1__|A$Wy76G88{=6%4W5Gsgmf;1u2A%8);8XL&{BHl)YSK-PLZu|}thKEZW~|M)TGr@f)O$><#9bvX+oIn2qwU{vMnNF> zX?U9VP2XAW2XX$+`|b9wmDO3Rw(XAnrrj~@+djWzU$EWMfkB&#V}k^LEPK?>#?uN$ yUg>$SB}3US39k$NlJlF7!6dci(q2uaPx1SvTo8Y$rWp)!H-o3EpUXO@geCx`&q-AP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..87d6f62c6100b2e5b9e7713ab04995da9a285398 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}%ROBjLn2z= zUeM)ZG8AZgxP7zg?ht`PrXCp_GR(bCMKoBdMRjIHGvt{zv2-i_QQ6QP!Q8clL*VlY zvzafyFI_Mt$V>BUvRX;vPE9$6=`{*xYoceh&G@_~Uu|{thv-07vBg`MPCUyNFz{qz zdK_oIs)0AwV$P~x2C~PV)W$EEEVX9O9b=2Q$J{5LPb~kv?Reyl=?`*b_htWl!F14` kA;5xP&nj4R>A%y$;;k}_Pqo?9flg-dboFyt=akR{0H9%4=>Px# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..bee37caa66e2e9726db24b8555379fc311008c9b GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}n><|{Ln2z= zPO|1YlX~$ZkDSJRcK&a-d%x;5 z95DN^V*hEmGQHZ%tdo{5daD?BVD((R2RmDYa!*~KXt|kdi>;0HXSw&0tnXHf$Vv#x uN_0lgvEq*S&)DF#e8F66R!4!lZvMguon0NLCo2J6&*16m=d#Wzp$Pz;WnU-& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..806d75f224fe623686c16f9526f9e0e7651d19dd GIT binary patch literal 279 zcmV+y0qFjTP)Px#(Md!>R9J=WlQ9ayFcgOWgwWQ2MHHO9K?glXFW^C(b@Cov>*z5of>0bC1Q!Pf z(Y9!sI0O&S6pF(8Amm?O-uFTR5ClOG#J}+_pE}L*I*EOgW_i6i9CZ@=#`QejxPlp0 zuBJR#?qHba#u(OH?_K*txD;I;23X9To3;|z&PSN^8SXD2^ngNjEO0FV!GW=~IrKUf z5FAh%sFclZZ=m@jgq^-nz%a0@Qvs!cTV?Zi?^NJCh#-X(k-|!x!pK>`=^N%U0;F?K df*^?B;sczrJ|Ws4f*1e*002ovPDHLkV1l>AavT5v literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..6bce31cc4c2208e44e6513cf3b59578bafa8b74d GIT binary patch literal 298 zcmV+_0oDGAP)Px#!!eVJ5*jQMI z_?t~EhP6*t7KM2bGR^gQXCpzH&; zabG6mm4$Qy0Q6)XETFtIoN$MW6BzZp<-a2!oX8RZt$_0rP!cdUT%cALX+*`-s6m0n zu>0vApc}ZFZ~^ZT9IsR~(-ha~K1iUN`Q6m-9teB`nWn;>7Oh4Fj0H}2imSa*fqgrN wRwSYoN$k=*Sit`u08r>0(7`nshGBk-H!KTAJJ~@iEdT%j07*qoM6N<$g6{ixP5=M^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..a19f06f4315ad6b98964ac2078cac91e0cf7f5a2 GIT binary patch literal 369 zcmV-%0gnEOP)Px$D@jB_R9J;$U>F6XV1NN5Aq58x9AL1wU-loyKX@<-tDeBXz!&e|zn37@0ZfDx zAS_Qq<5LH)5T`7Sfq`KboZj;4?=xiCos(LG)~{dB;o#svD+fRd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/icedteaglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c935ce3f81c7d82131731a8f302b99ee14630a10 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY-_ z&u!#wP!MT(C|`Nxmg1cL$Q!3bdsLY(Wb!E9+R{iAi!2^yHw;ldjcQ# z+3*_fJ6i=Vf2=-V#rG!qUr-uX+e3@>w~SSl9`AkWAdo6?`y4;e4hBzGKbLh*2~7Ya CmpCr~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..cfb90bd9619cc6c1b94502d0a90b683b51abeaa2 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}wVp1HArY-_ zFB7c$v|7PWkIz@Ve%6*!0T+SxmZ0hHXFAz^ zddjNUBH+|vAH0%()`RM$UGt06)jh2zGc(MJ_}>2a-RnBDc(wPNEg2bZpPhAR>K3(x zsN>2%*4W-;{JPWWHdl{Y%Z%M>`UzWS>^pxeQm5;+ZjX4uo(zVVk5%iExo3Q2^7}XM v>&*nl?HqO)Ue_Ns|C>?5oXV-__Jw7OtoEf+#qEti$1`}k`njxgN@xNA%aUR` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0df88bbe6ec58b4238c833cf0adcd48e1d46f6 GIT binary patch literal 278 zcmV+x0qOpUP)Px#&`Cr=R9J=Wkuiz_K@dgXRChCAvW$2GQxD`hJc5bW*x1k$cmvZ-j09m#Mi3pe zXB-0=5SN9mQIv&xNe4y!|ELDTFbu;m-b|uhIK{k9lJwVk@EujA*9wUH;A=6{u02nn zu6N8oM^xfSLq_Eyt_mDu-bz6I1pudVTTh04!~;%@c|&DDA83p9MM_5eumcoGgp zY?aemV7U=OdR>>Y0^I8a2EA^pvZo2G3n2?<@+fzcvpVZO;m_QbXF*^5kU&$|ygx5t c7{)*10`mehBrLo3l>h($07*qoM6N<$f|r?YJ^%m! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..9c056ec2ed3d14177c7ad7652bac540e8300bfb1 GIT binary patch literal 296 zcmV+@0oVSCP)Px#;z>k7R9J=Wk~?k!F%(6Qe;Eiu(V$fHEQigoqO5@xu!FQIB9S7IsAeJ|z8+(W z5mJPb!ZT!O-f3Q8-FJ^{gCGckAlw<18aVngDwX|t?(AdIPMa#A%@c30^VHbw1Y%sX zc$pEjA#*vwcua5{eA$fvz}H7XFEeOcfYEqg)pEP){{@s9vic14ANBxfXR#=@J5Tf> zSs?in0vxOFIGv1fS?#Z@x_JJ+N#57!2>_PmzG?I}0u7$~S9FumXz)zw>*)3DL;xUn ur`F}I1b&w0?$oWorSLM_+<+hmcjpW=mql|Q>Bf@)0000Px$hDk(0R9J=Wl)Xv=K@^3*JDbg_A!t-Y zUqNidN^D{$n%Y;e_Z6&sgmi+~SZW}p0Rt8yf?C+9!5;`Bh9H>eW-}Iv7HWbwVX@iM zOfhH9{r2vifk=@eMfzun##|^A$UO$Onkd2FKw0 z4FGJdfgd!(1AjmSktF5&fWdej0OQ7pA-vXntRFC@3IwAuXAoBe8<(J;kFv5 z^kld$Hz`*g#x@UG8mz0PP&tHPZR;Vtsnmb$O>4t?0g(0})EYfh`$ei>0ANHIO^j3V zTSvdI;RBdf2U2dc@8Z1y$j_oFS9kUL12FPc@N?~_11#zxTpoIp+V+7R^1QEy=~LP( d7%5UDfDcxobMhU-fUy7o002ovPDHLkV1gsY5Qd-G%Xuat#Q25U+XS)DN^C4eVESrs`d8C6x{(s`e*g#kT45U-cjSaDN zeBM4`DhX8ooYM+GL`ZrrxrLdwXHKr}Y*N|+KtsQ?IGJh>aBXD)TN4V(NppL7)c%A_ zga;siF&`9mH_^($b2Dhi$I&h|zXX80x*sAyv%1d@MFu?w6)S?H@clXfrc%e(jqm^v zK_tb?lO{e8IDcKaF=7biijVO%BUTAPY=1XG-#Q*>R diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..3ee71be16690893828f2479469e175d386869d25 GIT binary patch literal 319 zcmV-F0l@x=P)Px#`AI}UR9J;$U>F6XU=)mk0S1huC_ZrD0K=A7fB)lC<0Hn*=-}W$w3#fVIAGPI zZ~wy_jnCp!v*q}e{|qE}j3fuJ@$)hmiU=4tZ$5(CKwfTAj3mtgjEsy7-0Z9jK9)M^ zxYTUFbay5xW-^iH0BR{B(*eXpEh8-*K#b9>%%u5=>QV6f??2i(fYkVKNhEs8az@3?Y*rU&N_l3Yn*B4l9r{~vEbNHQSV0i>pKsyl#*k&)rZ)7Ll)BHBBE zX~08(WG#3BNp%4O13U!M2Fw9oTt6Atp1JX#i=7>#SRgeEj)GAz3K$p|7yv1#E|i{j Rg2w;=002ovPDHLkV1gEdfolK& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/irishcarbomb.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..64a889fd7b6ef59b56d90cbe306e6fc49af856fb GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}7M?DSArY;~ z2@K!jIdejC Q0?-TwPgg&ebxsLQ0N9BntpET3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d53726eab6bede3876f2fe277e0da7728e1405ec GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}A)YRdArY;~ z2@OS)0f#gWs74J5*26%%FO~5=zv@4~6=*(#r>mdKI;Vst0IH=gLI3~& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..8954be5be0d14627e05d8274949292d742f4ced8 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}8$4YcLn2y} z6C_v{Cy4Yk1sWV^m?(0Tolhp=#^4@%w82 z+23>*Q&rL8ubE&~@PL7NW#9pqNm&{RDJqr^R=jTTyk}%_nK4!-pz=Yph@IV8*#=%2 pi-LwIw_c#DxZDnENU(lkWl%`aZ86nkTLyGHgQu&X%Q~loCIDu(ScL!p literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/icon.png index 2cc26ac945e35c53fbd58e2ebc83aa7ae0946e1c..6a4726b940b443feee16decd4cd8249eac73c676 100644 GIT binary patch delta 289 zcmV++0p9+;0=oi`BYyw^b5ch_0Itp)=>Px#^+`lQR9J=Wlf4SUFc8Q8si|5-!KqSo zba4}3prAuV-^QVvgPW^9iXt5xI`|MiLH$^?gIJKFi-KPrE=64KH-+3K`Qok}ch+a?J}O7eUk2W}(UB*n*TJpf?+On*QY3&_=*=4iIsCB>Uy*;2|F;lKr nYk_yp2k+ywl^S3ehWQ&egGoF2!se?k00000NkvXXu0mjf5D0-n delta 292 zcmV+<0o(q&0=@!}BYyz}NklM24^~;xdS{ne@MMA-olD3_OW~ig9qmik`o_U4q#wlU|?cl`Ax26*Z@h1 z5C(R9=Xl1zz#z`R!0?h1-!m|fSrS4mrPy+^9RLO5lv>WfKw?qMzyJ?^6gDLxL9zp= q5$wodz-z-%2OW$$VAKHv?f?KuIX(}Lvk4CX0000Px#?@2^KR9J=Wlral}KorOSCs*iD6a;}=W6)B40m0>hK2u|#q|Z=}?gce8)!-($ z6b_~kK}&)V67Ni0-fueYy?6e+_Y`0lhG7~;P?CM$hnJdRSzK9}?KloeKvI&u)C|>R zR4U+|gAjmSn*adJ2EFOpKStELGRQ61#)wz$ynDDmHpSTPbXhJsuRgT}1}PhW(KZty zzP*KPrPQ;u1OQ-vOE$l=Y7$UZW^YedRowH=fvc>HG<-SaAp`(J$|r!aPVHX=l$F_^ zPi_bx(tUeCa|UvWst>Ou@L^c7Uatkk-*LXKdJ_!8FpcpB$uvMo1rCex00000NkvXX Hu0mjfeBXTW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/irishcoffeeglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ab4dc73ee4484fd9456ee26c78cae1fd22735cd7 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}C7v#hArY;~ z2@=fDhZ b2D;>Ok^FV7vzaVF`x!i4{an^LB{Ts5zc)ek literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b3a8dde2cf563395591050cf0af92852f99f8edc GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}-JULvArY;~ z2@3{FV>_;l$Aqk+4^=ZmsaQkR_Y>Z;UPV#Of) z!zlLW!4I<=8yh(fomUF9Kgsvwi*VXi4XDM5Objt~YJ8EoFFydC#o+1c=d#Wzp$Pzs CZBkqS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..bd06c47b90771bb94807f16c4875572dd9e5dc30 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}%ROBjLn2z= zUNq!7mdKI;Vst0Ak`_1ONa4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..39f9fc962e46343925550891617598e51d57af36 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}n><|{Ln2y} z6C_v{Cy4Yk1sZUjV7Q#Ouip6Wv)|@d47w*qwEqA9-~RKHM`B;k{x7kp+w|FR^Z!3z zrZ+Y=9-RL2RKMw(usb|Jpt!%kwsqxn(+^LVu40}b+o;oa*6~QxxdTAp)Wy7kF@Bl0 zy+oa{fq}uq?P`mgR%1TkEfsF?eP+08M=OvGwfyk0&P!{paCHIWF^+ p;biBB%jX-*zi2?*$Fz!xVVbsu^?F;5cA)DSJYD@<);T3K0RV)ZX%YYc literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/irishcreamglass.rsi/icon.png index c5f37f5eaa704caa97784f1a72c2d638f0710103..43aa763b41a6512fa94953c4ba0405afac3e6cc6 100644 GIT binary patch delta 347 zcmV-h0i^!31N8!sBYyw^b5ch_0Itp)=>Px$FG)l}R9J=Wlrc-gKp2K!lV}=?Zs`yT z4i2JZmkMIW2nlp>@Q=86>(tRdprdXE>?8p}L0p8RV_obO3U)}SURqKdiqJutyK>Uy zp7q}Ey@$(30EI%KSTSonp*W5a4RR_{98`42^Sr{G!BZ9ua(^1sTp@wznNR?Z6aiza zjFV~w7dH=uh4V99Io?752x@Kvz;Wkm;}if6HplmW#2x{lP2L;Q1$IAQT6a^ol$nNZ zW=Y-|;XKp`yInsj1HjqjX#}7?OWP?=C-)Mzze}{~AJUJvXm9>(CbX@aS&{=ls1bJA zw^QF@@|JKBp;Sf~CIGbM=7q+Res_PlYa|Kuy06of3HTOsuF{>t#rpmJ(gpqt;U!Em txza)czQvsDp}p{zEb{ycg+ieKfFG-|Ti7o^GyDJm002ovPDHLkV1heloE!iE delta 410 zcmV;L0cHO605l zQt=MFfW20Pg33^7>@+}Og^7A%Xbd9Bfpb|4)EEcjw$bh?X_wxFN&p4TNS!pUQ~7lAP(|NpcPjhuy-D-sBXjK0|!QZ4yA(Xc9bz;Jk4c>Vl|NgMhlHcx48W_B#qIU=#`>DBw`cGIj>EE7(D z)IKjEA+cn|BL=a!Jho~{!?sITe{)E6tZCOMJtB4Dz<~n~l2=}KSaVA@{GIU9X`LeM z7nlT|GVq_151MN2=XLXR$5O$?b;qav=9Qac-_f;hp&(Q9F-G?JduEv?@O^mjN72>i zl$z>4&mxAk44zLJLS6paGZLK@AC39w1=wd|{|oJ16r$&^rvC Lu6{1-oD!MPx$vPnciRCt{2nn7;DFc3w5Lb^jj>P5PMeR3M;ji_=OvqeIpH)*TxFm_k2OmNhC z;y4KYTN1^8W;`=QngIwQgb?zm6jK`zi&6^pytcdV-G%K<(?BVOrfH(iD^nVm3+KG= ztWrvJR&)k9As2A~7dH}n15*7E67A>=a3a1T-E_=BJ+E!|H%S&m2OuOe_N|9V74$(p zAe0R`@dF>qi2oo8fD`k3faDwreT{F5G9=^@F&aw=12DA#Q!pU_}bauI{R1464RWAm40*6)Bm zL&hwL)B#WSFW@_!D=U0WY565tkO1;I-KTl$pXh|#D1-I`09@?|xcPkQnsl|FdOu;% ue!#nVn`A%0>2p7T`vHUyLI@#*NcjOVg#8#b1*V7q0000Px%G)Y83RCt{2n!!rLKoExiq|sAB@I?fhlb7UatoTBeJc_6GDhBl8P4E$_2!c&_ zJ;>s?ZfIsV$yS~3RASkG=AYfLbp{XwLHNfcu>;_+TrL3s#kA0?*VVV!>9evdJFl7c z7v6Zd615HKO2+xJselo0s|cq8A<%g2n7YE=0mZb?ws?%>O&k<%@_>f{uB}Fc@d?5Q z-z{&$GQh5`NxZLMxKQI=JE99L1L&Ctz7qEp_kn6r<6{*;5PmtVbECDst?OzA05hDU zM)mFQ=2@Q42RV;a--gD+(PzB`-_}p3<}*!xhVviKhJflDO;iUhi}^ecx`p zB4O&+sD7B>qtD)|cQ=bolct&L2mrk8=fmC2VsnySWNj7a>a%Zxs?i$wtU#tzL#r@p z)L_-8`X>2IsfKF$=(Bzd0l<24oM4MaE8ythIjd3OWqZ^lNs=h72fvKi`baUVz90yK zAP9mW{1I4p=du3f9m=0?jrEBb5Ica_^lm`R-k=ZO2DBwQc5g7$aFzka^A%?H^1`Mz(2Wm)d$e85<<0k;0$%m>)QW6lS-;Oess z$n$xUDb)a<6>tqGoSt1Ca@Gvdcfr*Unh&^FS5f8zjK0hV$b5hx2!bF8f*|Px%XGugsRCt{2n!!%PFbsy>QaDYT#ET%Yp18D6vmssxv`67It`n8u!VQT>7zhc8 zWeEpVWJ0>dPMQwzcj~$>zhgUDBO5^Y-(*7@;LBpM_`0q}mAQGn`DVL)udZvaaq~Fl zrKO!{HL8q#kBaw?a0FU$Y=~`uZv=cXx8{e24Ys4V3~0TMjltJADlu`T{H|wwAUnV% z5+fC3*ujD10Nd-XY)A>VhnsmM2iTjBYcuMbu524B2!im-@m@E^nA@hAPkf&*%URSl zY3om53JuJ^J%jK0>a*SiCom;_?t^xsSj%>Z52PshW#bfU3_v3%H`3BJvnK zd9F6e0dK3P({19M6y)mL6Xt4@9PsdXy)(7)_syDR2~od+xijiieeznpTVAeJo)fkto z4Je}l#)r>E19N!Uj8&FpnKq{P_iT)B@2@E2gIn)hp-p@0jYWeZ2i6I53q$(_6NA2>XRH$ zmb0wTS^<1Uz?F8VXBS75F+=oSQ1yfQ1Mc-zvi<;X|yJ=P`mI_iS2zvhi7n~pW@2_fEb2Yp?y32Hwcbr_ibb31h5tQ1^)?p& iKTl42rUCIh6T=P>ciru52d@A_iNVv=&t;ucLK6TnsgP*^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/meta.json index 293f7f97b0f..f77e08db52e 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/kiraspecial.rsi/meta.json @@ -1 +1,64 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[1.0, 1.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": + [ + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-2", + "delays": + [ + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-3", + "delays": + [ + [ + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..860a6bbd90ca1a83a2a5f028573102c3fcc71e54 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`kpS1ArY-_ z&loZ?DDWIPaC|@0hn8hZ4QsiX%c~~=71)?r1zuf~a(DB_X!{?x87Hh~W!luVSPm$| N;OXk;vd$@?2>{(NBVhml literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f59913c7524061d50f9c73f32af942ab4558e401 GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}-kvUwArY-_ zFKpy(FyL{yXq*&gBz&{8Ge{=2OG9Xf=fwY7=KnV7FaniE=ooqDZ98XlY|+1WvNM@? qWgFE`|J{)9UD|VW@+-#bYDUfdTo+He{Co#g%i!ti=d#Wzp$P!H#4#oS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..752cb1cb79cad1bad42b7380adf5bb681021d37c GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}p`I>|ArY-_ zFB$SR81Oh>WGM`@5Z)=Qo@9_bQG;3T#ew?Z=@EWcIDkqMHk7oLco?q#zG2Pv%E`eC zBIWMQ7u~T+kX7r}vwN(2>=*d%?KLjf=Krx>_=OA4RgW2glYqJyJYD@<);T3K0RUMs BGn)Va literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..fbca858fc62142620c0f914a0b2c2a8dc1275c87 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}37#&FArY-_ zFK^^+FyL_sls3$s!TJ7(i^ww92_kb;HGZu3di>cn@C;Dt2gC5TqVroSceYpBoSQv` zsn&OvmPp3(rMEsMHA>8h*DhE(RYQzpwO#W!?xM5zdheQR^8eV*JTHmw=9TT2LVyM^ Nc)I$ztaD0e0syWyJG%e? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..da676a61c9e54432fb58857c317a9f0c33183248 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`JOJ0ArY-_ zFB|eTDDbdexK^NYeo6VOnIByEN-s2O@cmWY^=JBo0~ek#ujCLE6ufv|MDx?#*i*l9 zmWjPHS7h`%z4cac%t2;}xLXomm~OnC%=jkte`JHTj*C%)=QrsMhF@OYO|xqM-59*# ec%2MWbcaI#=Q56r=l^COkoGyGxuEDf(>386avKiM lN<1LPuzZ2X6$v3HzfK|1X08`C>wzv{@O1TaS?83{1OT#4M{ocD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/lemonadeglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..5f5aa0ab83ad04d01f574dc37713317235b6f3be GIT binary patch literal 453 zcmV;$0XqJPP)Px$e@R3^R9J=WRj*IOKotJkv1ABFF#BmhVP+=D#My~C1j$?x`~{FK`~fKb0cPeP zU@(X!WXn$Bn8APnwRSZNGmHc{M7gG2OSl)hBIsxOF8BJr@7}$44@i(8!GDLQ;xrfx zlmoIF6IxnRiVFZs%7NLbkT&PdZwaQElxj!-fKDUd3yAUg)tDIe`pTyV2pMq5+wQmf zk{Qi=R5K}{*QfAP1UTgT=M(dI2gQ12W9r>yh1}-B*|pgq(JKnzys0^9ZzH|B3*ZD- zH~p;F=i+&Sm2w%tYxDx7h%a-5H=waqIh1>>kn3>EHZE@;j!5iKEW)24E1y(-Q3+s$ zTxa-X8UP>=+8m1&;O%=s=l{Kc?CjkmAf625rBPikcDQ95a{VDhKKz$x1&pQPJv{&j zA;tmk1qg64|L(_H1K#R)1;p6}VN)-*3~be;Yb5r&ZuEpFNO09w9ax(*Pp vfh?fDJS%nY9s{Eo0Jhgei5f3Kf6cXJ~C$Be1~ahGy9TomV&Q!P+Yr7`PcZZ}u(KS`M^>!PC{xWt~$(69DY3 BGYkL# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..665a8093d1004099766a006bd86414852acebca7 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}O`a}}ArY-_ zFYM-RFyLXipuC7lr7e+p24`DB%bPc z)cHpP`~)^kSjT!YD8+pOrw1QnUR~X?_p#OglP4$7agF+5Y%oERsa{edpm{!%LlH*; z1J~k)H3APbi`{s$xMUnFIRZFNoMshavp&iFVdQ&MBb@02Ss&ivR!s literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..7486697ed1d4587f507b9dec9a8704661581c864 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}vproLLn2y} z6C_v{Cy4Yk1sZU%Nf=C8_3-ua{{K6|EF8bgZRL`3ez}>4r)TrINhxZ=EBOv&S?zN6 zV9;5TeK6@^WDFN4^Cag7_ImAeRL?6uX=OMQl;S>t(}RyOudZ&{``GIL$&-~$8I24k zNHWz+N@#dhoM?C=aDYL?jWJU3K=893sViU3uwG%CGL@P6X+z|d&Glesd|+VU*(0UE TzPbA#(3uRLu6{1-oD!MPx$Nl8ROR9J;$U>F6XV59>^QWPIJaDZsF_6`pJ8Hq5Ti4+HrVmYyDY2p9|1_p+M z2M!Pwx-6s`yyey3XZYm1!<;2aF^?n%ta|kAS(u|SUI#ERFh~;Xdy*Z%#?Q-OC?a6k zy!psWTxzy&J@(v_;TO?nlH>qJMn(p1cGk~6mO2gCz=$_vAAI~WospIfz-2Vt_hbN)qX1V4bMW!YbecN=Tl`Yudy*aC z!~ILDa{t8_X1we(ki}uX-*M%Bg9qmiDVjNefq{YH|Ns9Cf1zwjeNUDH&{H|NaZk1b zm>3xu&VK%xK@H!N=Kv-|2vF*K@*Kd(M3uOQ0g|g@SO^?^{PHXV14A0!9pJ_FQz~!$ t!Dn2T?@OT<3#4YjQ7{Td0RsaA0|5JwS6Qyb>2?4B002ovPDHLkV1n`proR9H literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/longislandicedteaglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..01e568e5a2aebb1046fb816ce2937924d4c0a323 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}2A(dCArY-_ z&loZuP+&N)VNvEhH7@_lEJ_w-6aM5fGT2M2f2^7xdUegk@-Ivb@3u0A$*?fFI8+`3 P>SgeB^>bP0l+XkK`9320 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d08c6c5eb84e3c2682ed3447204332ca5f85634a GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&YmugArY-_ z&mH7!2oN}OVNHdAPI~pPyHR})93`r6tgd8jX;AT$s=8+#IoE`9?uD5p+g={nIG@$Q joZ)Eb*a3)z4*}Q$iB}>P{~_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8f0eaeea4e6f734367ff256fa04507dce6ec56 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}sh%#5ArY-_ z&s%dfIPkDs=#0>*m~$mAT{?fu@|)am3jZ`5iqMFdee6)BuY!RyQ%6Tf%^9VIrSUVC zeTu^=OC}Tuo%8S)w^jIh`0Gk*h65MYT$5TWEGRfp-kMSTj`-r@ T_bcB4EoAU?^>bP0l+XkKRbf6# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..d7f03fed720d0b2704d236f9fcfde7865853210b GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Up!qLLn2y} z6C_v{Cy4YkF|ze6$+9STzz|o-&ffli$&Ax3tC&~tu6V`pf5C$P?0hl`njw)MTT_mg z_x%_B#>OMduD_t8zV?5gV)09}Hre}<9$ie6WDkJAxnKPUo!t#(kA)j|&p8PcD0qG4 z(-+zBcjr}(>P%XEp!qX<^5c2lJYthPBqTg-811F&=iBrIBDjU(~J!QX7HBRJpa-EMnmHE!Gnz%pEXXg8hD@l zXc;Qwz-#cTA&{MC2lEN7E=h@i(+m=`C%v)YayzIYVZgv3H_>_DW07~$f&ORkboFyt I=akR{0GcC!M*si- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/manhattanglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb2ba391ba8b76e3d4d4ae4f7136d577cbefd87 GIT binary patch literal 892 zcmV-?1B3jDP)oiP4HkY?!k#KM^z7%YH z!A}dFbkUd49cyZKHcHL)c}Jb9x5KJe?R)>OmZah6P}d|pu3L6qSf(Mmp0^Zl3wP+5 zL{j)rIAqI!!dFVyJbqT3_V`_~Js+C}pXwP*SFu*bddAKQ4+-~Y&4T_rkNT2;kz1IP z+9SIchZqsU1kot4ibEGVv8e9M!X?W3)0n)niAcR$E2uo z|C^_i8XNVx2g2Zga^1H9XxxEv$#uVuT(^7-^^b6otN7O>r-={IOBJpE0NOU;?6RV1 zyKue*-49m6PW(vqvVEx(yq-d99NKT7dD+YA_neb^nBS0JbPap^FevxiR=xrBU1$U$ zP}8UY00GEJL_t(oh3%8SYZO5khM(Eni+3K0F<|ZpmrFuGPzbguuMr!YRAQqRf*e+Y z7?U)yQ4pfUCb1Ay2zJRoU>mTo6I7INdV5IrBrbR+x3@bxlVbf5!6dt_%mdR5AMg8q z-!}sWgTY|6elK=XlkNIbJzKj&W2?i1#c7Jeqgpyn0CH}D6OeIdm}DR4(S)KzKDZ#t)u|}KFb366GZ^7UYn<9u!tz1X71(! zl~ZT<(CuYq{fV$d?0J}ZssM$tD`Ldnrt{SWAZWP+Ef?K<%kV%JfRjhs2yu>3Mv0qB zH32`2ur0yz-ACA&xH(_OXXeIzIzeo#bfWdA4*(EK1wargwAT1xYQM z@goFiS;sh9v~U#UN__ydf#a1jkDtH9(fvRpjbyq2{eef@ix@BEc-Q*kK5*aB1sqnk%SD9FS?IzYtzARws?1au| z|DCx~DYH>;a(!m;FU@MTdZ1>i6oiP4HkY?!k#KM^z7%YH z!A}dFbkUd49cyZKHcHL)c}Jb9x5KJe?R)>OmZah6P}d|pu3L6qSf(Mmp0^Zl3wP+5 zL{j)rIAqI!!dFVyJbqT3_V`_~Js+C}pXwP*SFu*bddAKQ4+-~Y&4T_rkNT2;kz1IP z+9SIchZqsU1kot4ibEGVv8e9M!X?W3)0n)niAcR$E2uo z|C^_i8XNVx2g2Zga^1H9XxxEv$#uVuT(^7-^^b6otN7O>r-={IOBJpE0NOU;?6RV1 zyKue*-49m6PW(vqvVEx(yq-d99NKT7dD+YA_neb^nBS0JbPap^FevxiR=xrBU1$U$ zP}8UY00J&aL_t(oh3%G2NK{c2$A9snBgEPM4KQ9irKYpQ`Dx2poXAT zA?T){MJ)J?5K=3V#=#tIn3yr=ecX4ii_uvm*1NPY=pDF=`?&A_ z|J`%mIXp2rImvE@wX5zSKnM^5{0jh4(-%%1PiO$;lu%9y0N+=%rOyfg)4{e4Ae+tZ zc-UW?(Oaf&&LRLO#dv%KDjw5*0Z$w)TTzTo~%s&)+WnHYr60u?Tz1o8Qeiud5{MV?ih(taGO!jqKqh0c3S=_%68M{I za3IC}LV+9i$H*CI8Ua{V1ZT6ul&ar&t1IRg3J8oRF(Ujc4go@d{~jQW4fR6X2ikJz Q-~a#s07*qoM6N<$f}8}_ZvX%Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..a016badf8645a084155d41d836e7714f2dc75b5e GIT binary patch literal 827 zcmV-B1H}A^P)oiP4HkY?!k#KM^z7%YH z!A}dFbkUd49cyZKHcHL)c}Jb9x5KJe?R)>OmZah6P}d|pu3L6qSf(Mmp0^Zl3wP+5 zL{j)rIAqI!!dFVyJbqT3_V`_~Js+C}pXwP*SFu*bddAKQ4+-~Y&4T_rkNT2;kz1IP z+9SIchZqsU1kot4ibEGVv8e9M!X?W3)0n)niAcR$E2uo z|C^_i8XNVx2g2Zga^1H9XxxEv$#uVuT(^7-^^b6otN7O>r-={IOBJpE0NOU;?6RV1 zyKue*-49m6PW(vqvVEx(yq-d99NKT7dD+YA_neb^nBS0JbPap^FevxiR=xrBU1$U$ zP}8UY00Dz-psnA3x!PF6F)?r{Yj}@* z#;QT3=~HR?h|W&F&X;vgKb;6itZM$RIDl(n;E8)j_+xzn+L-|mOc(T99zs0laPM(p zO(O$wn&CRDrreT1W|~-%?-xl1fYOEH2Mi+sNTmWGNflaa;xx8MtB(J^ieNNBnDt|^SS%I*{s8$1j1lc;d1(Lu002ovPDHLk FV1g$9iiH3G literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/meta.json index 50423f6144b..024560f8adb 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/manlydorfglass.rsi/meta.json @@ -5,10 +5,19 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Based on manly dorf from https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Edited by deltanedas (github) to look like an oily oaf", + "copyright": "Based on manly dorf from https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Edited by deltanedas (github) to look like an oily oaf. Fill levels by Tayrtahn (GitHub)", "states": [ { "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" } ] } diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffbdfcddea67ad682192a5e17dcc981246ed8ba GIT binary patch literal 124 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}W}YsNArY-_ z&n@I-P!M2oT)^|?d;G=hR}L2$^gT}WSZzMJm5t#;#QsjB;<>Vdn~M@ck{Es*Vrw>I VVVN(&a1Lk!gQu&X%Q~loCIAaVCISEe literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae1beaae0c50f057b7fdd1847f2591352d179ca GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}7M?DSArY-_ z&n@I-P!M2oT)^|?d;G=hR}L2${F`P5rt96j#?Wy7*I7;D>o)}rwHX%|)j2XS)NE&5 Xy@`b*Oecv2Xa<9)tDnm{r-UW|V(KPy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..83ece4a24748e095ae96b183fdef8ffbd9a5543f GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}UY;(FArY-_ z&u!#Apupo2IN5N;-v2!29of$oI4yE?aXjJrZ}s_4=FAKa-k-Xi=(6SRvAeIgHiVv; rzI^lZClwP?CVgV^Tf)x3Fkv0DhbT{Hnn=Z2ps5U=u6{1-oD!M<<~KC* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..bf3436f3885fac38aace8b1e20b18327e7682f3f GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY-_ z&u!#AV8FrPsD4Uhon*^J$rh{P9bQw^gl5tp{AzQ?>Hg?AuHfx*+&&t;ucLK6U& C?J=?d literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/icon.png index c945794a90437a7486f94bf98ec84fd02ae8808f..881372ed9f11761bcab312cacac9761e0701bd40 100644 GIT binary patch delta 286 zcmV+(0pb3-0=NQ@BYyw^b5ch_0Itp)=>Px#@<~KNR9J=WlRpZ=FcgP>E%o1C5PAU* z;N}#Z1Xs@x58yG12Wapb1;w2#}`j{0)MkWd(XEV#Q*>R07*qoM6N<$g0UrkjQ{`u delta 288 zcmV+*0pI?(0=fc_BYyz_Nkljin!X>eFMpDzDf*PttGflT02aUk0C4L*?9OYZ z?(LW9qH6$BHHw8frJubx{trZL0>Yf)ju-@#J|Ti2_)11qmVag1kd+C@N_fe(D_{3M zL^;RCceDYtN*Lu_>x|AhRX-CDN_hE>UQR?dZSvN~=2Y3K~f=Fq8m_Y^r0000Px#_en%SR9J=WlfMeWFc61-E%o0n2z>zuM+ev9By{x|@&dj<_u>PX_b7DCDmd!k zY$FclTiRTYyN}BiFc=Jmf5)l{GRCkud;C4VoibOYsONdz1m-(% z03hTQqf}i&i-2fOkb@R!lmZ8mHy5=mrAgHaFvgzmQJQgoF$+`+M*C9`u9wOJwrWwG zc`{B@f+*CDSv>(~c_!SE9v;7>&P{UKII P00000NkvXXu0mjfuqA&* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/margaritaglass.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..06232adc7f1b459223c325068e056c5b231d8157 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R})}AhoArY;~ z2@`L#cqmL6AaRod)!Py?>4h>@XU6*rS_ SaQ8-_F$|urelF{r5}E*cR3@bW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f3e88aa715d741dc18cb9ac4c09dcde4ca58b020 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}QJyZ2ArY;~ z2@Bn&1ke);=-{{MXY+aI5wpZ}j{f8F2Ii0^+GjSt7OwMm#x-Cy;| zam|t$M_u}uEh2YHTwQWEQsUqL^oajo7&m`C<<9ee-``|~t3_Q08+TX#d$WJ<)AEz^ sEdNVNNJ#L>SU80Lc0Z^Ax6g)w!A3+=IqQ{)C(u0%p00i_>zopr0J+dl3;+NC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..fbbc5cd71e0af272a603212bfe63ab1f47facc06 GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^TI> zI9}eDexk2wqpXZfhgtuk7>3PLWabASWxT?$m`|egK!bI|nng1j8MpE@Y}7p22k|pA ZL(o3I!h*24U|{etc)I$ztaD0e0syCKi30!t literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/martiniglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/meadglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/meadglass.rsi/icon.png index 363a3763844a21d415b14f4b706c40c7322f53db..03c5531f1b066302aa362f2bed4d190e6566a64f 100644 GIT binary patch delta 388 zcmV-~0ek+B1D*qrBYyw^b5ch_0Itp)=>Px$SV=@dR9J=Wm9b93P!xtgXbBZcU{D63 z7$zn*7ZV4@CTzZhiHno(z$@?|BppdK;Q`7ZQxi%g(GdbwQ?3Iku_&ai7zgjSoZ+PB z|8DQSEl4C1$$uvm_kn)DkG0UmuD+S`LNi;f*4}w)T!G%RFMrw>_0i7$U?|#UCGx^z z3n+S?-eB0+*9R~1yx0N&ovU;1r{48!W>#^~VBfZ%npmpen$8 zf~tU4ssdkc!hOL7ga|K8(G39nxf^>{;y0k^#wIYRfyl25xDU7Zb9WQC9UNuv0}|bW zbfF4McO&t+n$7h`%Cen?ne$Se-w=44jmhd~WKw70000f1CIlcBYy!_NklJaBs{=T*j>UANwkCjYL2xaN5lx(TSKndX{MO${NL`(>~5~t>yf2dnW`HA z17H9Q0ATAZ>dqaxD|TI6<_-$*{1(gG%jV8_XE2mEr$QMbHGhC`OLPXqy>VD7=hG^| z)7=IA$=@P=5YnAHQneIX007mON36mb@y7%JQLM3=kAZvIttNgDDnV#ZfqUG*S-n!q zODZQdoUbuQ_FB&mLfWn7-e&zbfVCV^sCd`{n2oUoILCD$-6UuMNV&Z+;d%hXvnX{g z?Gq5Lw-HQy0&a3}fT;gKJc~AhzlBw5pP1GZSmin_q7B4P-)^lhDL)96dO-`|b2_5n zo|CubmUtoz>W!!cu<)*Mrz76W4XUu^nWme9oX)pA)5l0hWS?dJA20w0zyN#$FJOAm TBZv0x00000NkvXXu0mjf?wP7u diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..47035a1d33e7fa9bd5083c42cfbda664e6e13240 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}S)MMAArY-_ z&u!#va1dZQQ2N@?cvDmRaUmVo3WH6m!mav;q~09(z|+ERxch-{`J&wq^27xML7@F@ z3@^isjK}w;?~H1kkl0bdr2J-UxL~4>iQ2Re6KYwd&R;CynQsuM`z){Uukg?9(#?JH V9#gnC@d0gR@O1TaS?83{1OTj@Jm>%b literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f1cb1d796bc6ab947caf0a83ea7ce83dd1b98363 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FglULn2y} z6C_v{Cy4Yk1sZU<9n=7F8h8r+UqAcb@VD-NV*?<#YW!DTfE~nAiMiAg@$M)?xj^iJ zed5;ty}!2nNne%zOMdhHPxisKm+N=6wft6W`_B`{^Z#wynIGpL9Q`1FZ24?vi9Hez z_O(U6tLv~~H<+||<+EA*ZK*!@OC@IYSf4P;2iiW7m!W32S?qTn;VVG5F?hQAxvX)gV{r$U;&E0*n@1AaAu=Tu{V_zrfwq5brVvj5SEB}|V^PTiy UFO>Sa59lujPgg&ebxsLQ0Qq`o=>Px# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..7be09eed645be0ba7f068e20f6909b656d957876 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T{aQYJj#aL+V>@4;X7g9koG zUhv&>zDC$o#?k1;_oV0bY-}!33#w=B`2YG@eaY#Qr7V$w2Y?`9vFX~DmGfTO8~OHG z_B_eh1(H9?P|Btj9P<5t_8<36l_~8ElQo5#d#{Bsqy^IzrzP1%3&#wsNlMmI8ilYf-|l5d`K!)enQ#nX)6@7pHq z_*}t%c+pmK$tOp|j0|QP8R}RUOwwVWz62@vPn>EqyOHN^>hBpc`x_hJtcYcgh{MyL*7mh^T~{(9_yGz zn6F6A@Ci)*5dYYI(phC~UIP%AX=HdK!#BC3$RPbk`7imM$0o3YjImGK|FoV>zwN)z zSDy`E9Kxg&tXbstcBOl~xRA2p;;dsI-hZ)Yv)tI4GShh)^Sk}k2MV5llxuU%&Nn*I zshg5ul$sP#_CO_)Pl0=feA18e4~~AgpLeY1KTq6+s)OBDrObs4n(q>)O^&vlIF&bh t-Oq%GV_#z17oObFtn=CJpoYXvU}y$6oj$WoOAi>x44$rjF6*2UngFj|u|fa< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..0d2971816696d51a369685ebc1c08371d7018f81 GIT binary patch literal 461 zcmV;;0W$uHP)Px$he%nXNnO$Sy(_y`-i&+_;U@B6;I_kIs>aBy(= zV_cjh5f_x6PrCqMY*M0PKI;MiMNxjy+7AX)9aO3{2mtKJ(&8j7E?5A7V*T~5RBMnO zIa)oOq`|k91^_4{L(`o6c32(QncH-`2cB1MVe7!}ja=K2qs78(86@I@3If4DD1WV7s;eYc1Gb^ZG2Qfr%00000NkvXXu0mjf Dv!}-a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8705f35cd0931fca0143261b8e4b602bacbe2234 GIT binary patch literal 493 zcmVPx$r%6OXR9J;$U>F6XV59>^QZ*bnaDXUv2Iph`Uoc$4$iTqB;NakZQymkj4j{_% zKQaFqbfGi>Ky?Qg{E7L`aG8PO0t>|V2IuiRf-DCh2PrZeW*IE#FR(0Ogt2h}veLko zSAU;jldBPmmxTEomxIv(3#ks+^6Kw1A4?q!2N>KmHtzqw{+A=eSCY&l*#SagJd#_E zU%_-3!@}qPIDfrnU?t5wk{!Unz`)QP2jhimq2_)4ligSU% z8smCO^i!S-eeUhy6nJ7205{XQ*5-R zk(DM$t_zr$7#a4ZJU`38z>vtmzyM=2FsLvj?znQF_73pk`YE;b;+^+QOw8XI(Q1AV j&L2`FyI>TIf`JAAK4z3kCys+)00000NkvXXu0mjf^XS?Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/mojito.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c1e1d7db7fb7d5570529db9cc93b7cc4191866 GIT binary patch literal 523 zcmV+m0`&cfP)Px$#Ysd#RCt{2+e=QvFc1ddG35;1&@B=Yhrk!$By1|>99i}VoPZ0ML$C@ID00000006M6ARQp3Br@*P%T>O=eGf!LF-Fnj zm@_`trP#=VzE4Q#XZ%)b0@PwE0g^LO%Z2s5E@6 z#-`(!j>ozfceDKbNym1{I*p)N?^&QrL+H1FrRRJDn zqL${DAn(b>HgpEbNznWY8slE$u^LbT7GW3EfbKA4?PKu3?bFdU<4g7)@g5*`@Lnp= zY!mJu%AZ7Tk=X=jt5t!lf5Mv2=eH7{cA2{8A>;jkGmH-a00026&=-QS#wBF=pIZO` N002ovPDHLkV1lxB>)HSS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..884724260d4ca0e87be9ac15a5d022e1950e7093 GIT binary patch literal 546 zcmV+-0^R+IP)Px$+(|@1RCt{2+rdi1KoADtiSZTMOFig85PXTf7vDw5bM)9p@Cl0deTkmpQ9o_^n95D+3(zQLRjI0gTsY^b+Sk`TsQV58000yb zKMD7xJdJW=OLsRo2PDR>fa<*tL`2Q0pmG(6h-kNcEToVA-HgmN{?zf<70{g8Smi2Q zKQGBjeAY?$_3a~+cWu_2&w|Q_z`lV09-ozfr}a0{`BHxCKy+ruXR#Dtq;_Mj!&AGE z*n5C<7nFShesj+KIsVY!mcU7tx;8ZT8!S_)OMo>Z_XGN+Xl=&EW~u@-Cfig3G(rLr zW9cD1SG~z0G6LPSP8(7 zACIao$YSDI72v&B)obUBRRI=fVk+4$LDrLvHgp8ZNx-@(->v^k%+CH^W3d|8ZRp{+ zS@vlt0O+aqwTTK;^`<;$4~P+8a_=$S1xX$jV^tvg9FXey{9NMGeR~afKR|hWydRJ_ kKHd*d7#{!t003a7A5Px%JV``BRCt{2n@?&2F%-sMOuKN|LM_y83Kj~zL@v-vbZIw&=Mdc3Wp_P+7nn=9 z(q#*ULbrl2qzfHuMXmEDFPWs@Z=;UG`-XgZ`8Np>0000000000uPAAOEXzdVjwfyV zaR07|h>S6!&v8tAE+=A<1z8n{8XR%2R0VKFBlH85!5AZ28;`}MsZnM?XpAw`A5GUy zU~!ED3}7;Nx;?511ONa4KuuxIgnQ33tDBbcxgy=P>+AVk(XiW5Qj?!zsOMXMdx-g$ zewo;;iP*5)QMpy5uPo(O5uFj`w!C;*ih>QLU*J-oJrB^AE9VbnH-|*b$l9E2lfVP&a*{lKx&A*57c5Xm(Nt#0U%s466?~lPx%U`a$lRCt{2n?GtBK^Vo~cpZq6%7!=)rAWYrKrS&C@EuG_r!n{(hHc!s%LzpK zxr8daaA8Amz@=pblS#2!TQ-rb{WO1eChym1g~az3y?Ha=YIgua2qAx(E!KS*|c&cj{* zWej}{;G5nX@Eoo6!urcTi-E+f?EVey^9>fsxn*ZSX#}|;Gato1kJvs?R047|yC?&4 zga#x=v<57TdS9Mg$OR@KG1)$rvMgyiEymdzu#6CGaHy$uEdw~;uMgLN#L$4mhz;QM z;|H+;IdvL+Mzjd08vP}vPLu#+3=`l9kpWt3jK;&bcft!ryat?n-;4h&NP%SAh8~}u zM@wLdYY!po;VXeb_6N*=H^ehSvGut>pkRIO4@j&pZY7V-E?l+kU~d)L*ZNzy?McAX zsUW8Qzq+7B`dw>#-yaZ*QuMh$AhAC82PD?#{(ubi2_b|KLI_!tzqK-_5Y}P$F8}}l M07*qoM6N<$f}eym8~^|S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..6006ddb95f483609bccfac8d1efbd80d67b912d8 GIT binary patch literal 708 zcmV;#0z3VQP)Px%en~_@RCt{2n@wsPK@f#syAz1xRRVIr&cXp10=dLoAeYF}*%*8dgEroJmlOB` za|y5PMHUGJ8?s9j44ukiqTArCjHe_}}-0>s+YcT=py1p|3T4U-=Rt8wk#4dE1 z01vSdAqH6k8ju(okQh}BI6AqIu;t)?3GRO$f8KXiJD*(iyTno%5VjorNDy!<4glEG zM0?u$Dg*pTfUkgu0DFMH65uxw>@O>d)7RC2D#Gb1QwP5( zjW7VeDFA>!(|&4tN&2c0PY%W|h=bn|1aZJCAc(`{U~IYu%!_L({W&r9)mOs)P2)N? z06f3_ZoLCZq2G=?+N{d7 zoQiR_2CTwj8*H_-u4Mq%`}JWBNDK`~jM@M$KXFhSkkd|M$Yiw(DlzL+8BkRf&dzuH zeGpqH>LsY_OQ^9qI=Luf0%W@jN<9H$k*xuJvZ(gN%0QF;fEWYIL4VOW*dLIYKKla_ z>$5)~u|E3)66>pT_VDyl{A)q@=`jDCd>WfJ$hCJPed;gT1ufI>8asM_Kwp%i&;EeK q`s@!#tk3>{4D|^igb+dqS(ATbbP32x&W1?<0000t3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/icon.png index f75f46f5e3347460d30a2f8ec10f598d88bcd50e..6b07563dc07b357bda0c17967df99d8770688b65 100644 GIT binary patch delta 860 zcmV-i1Ec)w2J!}wBYyw^b5ch_0Itp)=>Px&EJ;K`RCt{2n?Gn1Q5?s=?_R_-u_eW( z(pV)z1%sXJlr3(d)zZyQ4s~#MadRj*h~Qo( z%X7Firp99LC3mm)?)P2t?vi_-clqA?bH{xF5{X12kw_#zihtSpaj{tJ+qX2oEPA)I zg^aB_2h~yLr&6i^9&Zc-9vPj&Okxg^(W$-$IVm0Z(grNeFN=)#vaptq~-H39%?$+SeAh`NKN@frg-7?LjA|V>oj@ zfoqE^j$VaVFModCH`cq&&%ZytuYOs6z%F>BYW7v!7Ht6NcEeh^Vz*k)@r~#vHmVSV z@@*NgQ8mStN51VL2yFuk$=RC+ef|91$F*j22Y*j;kDOVLdx(FS`vCg}0LbU+ zYi5{%Hw6Cv48-Bw$!o}$GQbQo@Th=^KX3p*9AM1(8&RG3Qp->t6+j8#4FSXfE`-&P zEq9&*=)|{g00U43OvZpvr`)v4!On8bQEA4P>H%hxfsY6a41kYVOY>H9X!mu#;oCYQ z9cr<=#ecV0U5UdK3_K=a3I>b=reFxhYejaoj`eK2A&vNQ zebzvC!r@W(CO;kdQa#|#(-QbO%W<>Jx@9z^+u>WjlmQnezXH3~Rlp|&uxsrvNsefK z=G#6Z9cr-`KZBO#5dgoe{RV40Isxj+m%3!!IDb*U@ZDKBlMWOapjc#pVvzxgMFuDq z8K78XfMSsWibVz}78#&eWPoA~{P^%Fzn|{~KIH=x^C=&onD5zqfG&K`<^y!$OXmaH zTW4WJHv#xFA22NbfcXHctm6IrT&|AA#W7|4UimT~&q6!R$`pqNkj0L6UD2Po!KK0q;_@&StZln+qM mr+k3N_#_gEL?V$$dgwP=ycXbF^#LpZ0000T{2u zZdDcBa?au-^VbIFiZqk{&%xmnB+q^~(eRmhKz!GC#;KR~Se5J!niW3tqRpnstPBU9 z_rG2k-?{9=)@ld!gvwmcKfnIUGHi&wf22TZY4qFr*WV7C$L4mp>v&F9{GIjdk_#8sbA)rAXlh!`V!*eHD_q z$h7sT2aa~iA80HWJ;BK;Q*r-#)Bc2R+4$G3XI9%Q+cM8njoLBIrXxkipmY6Sx1Ou= zAJ=gtZLDWJlEmC`lue+US3wMsEEtkDLL`1NB-uS@?)W)}U*Q>lj@Ih4-V8{L9 YF6m+ldS88d4FeE(y85}Sb4q9e00X^~0{{R3 diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..6e8ddd689d627a0df8b01063c429541102281166 GIT binary patch literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^TE@Dwp?uq^PK2|KOTNAZZr3vXV`JV!*E50)Z`}|n`9egt{Au*0KuNhPd$xu zTe~xgBTkeuST#gyDJdU4a6sXxz`N;R<~MejxNTzIw(nQB;GX~g{wF6SBs91mo~?eq z!>nJ0J*W2T_x;Xy8PkCx8+y9XGoLFV@nofY+H8L-QdZiXJ^uY zIujBeJzEsZ0kYNLPjb?SZC5;xtM2`KY46PY`|DF8c4o>cpFPbOlkjv|rHgn$NI8SD zvS+Jyu2aGlMw8+O_Urt|t~IAi_O!O7B~89x`179+|2laU)ux4_OwGp_)9>#+94Ro7 z>%>~#jmsE!SsZA7&HlLW^moH77qw&cJaRGnJ+xch4r)lS^6>C5+|W(Yj$oL)02u5H Mp00i_>zopr0Gx}g5C8xG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/meta.json index 74149ebb7cc..a3d6cc725c6 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/neurotoxinglass.rsi/meta.json @@ -1 +1,100 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[30.0, 3.0, 1.0, 1.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-2", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-3", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-4", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + }, + { + "name": "fill-5", + "delays": + [ + [ + 30.0, + 3.0, + 1.0, + 1.0, + 1.0, + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c7634de5e03ceb8b7b10d5efe68757fc8c8e4736 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}5uPrNArY;~ z2@=WKF zu(7eV#rv;ITzZmGXGvDVahFwWDGfQ6 zI~$bP1DGegVK9@_-D7fAmVvu021p$^;9z@y@>_J0Ki Uw+`2y23pJD>FVdQ&MBb@0MS@Ff&c&j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..06d69b8a16d5c45bacfe1a2380e412e32d304def GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4W2HJArY;~ z2@9yFn(O;NGA{10z<=d+M=ykix^Jq~S(5eR>l3NN`Z+@W2C}X^ z2}<7LA{$O-1TLCe!@eNehqt|_X(G4Bx$Ufxg8vh9%p`T&;yrHWAKD_SGTS}S?2l{O zz2&o*S1@{%G3cCsyeRV>L&OF!#m4sP=e!*DfYaZ3cv7ykEq?k>L!yjzopr0P;ytJOBUy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/nuclear_colaglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..9b01e7b3ea686f5194ee8df84f662173c9f67746 GIT binary patch literal 872 zcmV-u1DE`XP)Px&B1uF+RCt{2n!k%0K@`Wo6H+99K|stkS6QzRNwWiKJe%AfVGg3{L|9U6VI_#A zrpWyb;Q~Qz0%Nx+rU)EdB?rc=Tz6fr+Z1sV&+Lzxx!GOroNu$P&d%rY)_L=0<^e`V zMn-!qBHEBKcI&>|?Rw$o!C+9+XVO1WN|pHA&!y?HnrXn`)0YDPn4Mn&xKZs!S-SX- zbQyGCWgMXN)M3R304y#_05JRY#Mft1vZ&o@M)9fLX{z)m9|I06eh3DD`qP`gMueZU z616)`wwm;!_?V4+T5p5Rho>@qDh0u)DCDE{etR`IkF^!L&^#+6s2SW8BKsbWUwGe6ID?1;M7)fh9hM zG)os>Di2^MSL^L*$eDV6|EPBBKFfuX2)~cERG)X62DjlwNC)36hNN0AE=u8?8+FZc zEx_i(Q(A7gN&J4j?aHnNUnxvGTofFkMxRQaYp zKtg*T1B?S?AE0(;9CJQD)@)lG-;3cZ9S=*z0BU!}Y&AJfIiGK-7$V5`*lKc+!1vgE zC>452AYAxgVCn;OfcK(40D(1z%iju| z&wt2j2*Bkp1o+?b83Lw0z|;pki24922e6Z?HL9GT$_WT3&TO;>+1yt-ab9}sJKB>w z-_!@_FyuZ<*a2)lY|(P#EaiM&TNW6>uhDX2nZjSnt_4ggtYVm{4>0us(R$GJ0c<{O yZO-T4#kI*i2-*!Vg}-F;VNIq!z{tpGzx5j{mqU93`K_D)0000s)`kC~10oMsDEN?)q)DnT6rcS?1La WtW1}uroRE2z~JfX=d#Wzp$PzCP$?Av literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..526e59c3b648a8d2e31ccef713d6d8bbf5c55dab GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}UY;(FArY-_ z&u-*xFc5IQ=)Wks+3ffE$y{PP7?o7CE~)GOFV)LwR`IMaeF?98=O qug-mXNL}gOnK_luVdf2L Q2(*sD)78&qol`;+02}!_FaQ7m literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..7503230a6cfe9006cc1c9802d21628dd790acc82 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*F0SuLn2y} z6C_v{Cy4YkF|ze6$+9STzz|o-&ffli$&Ax3tC&~tu6V`pf5C$P?0hl`njw)MTT_mg z_x%_B#>OMduD_t8zV?5gV)09}Hre}<9$ie6WDkJAxnKPUo!t#(kIj#XwlvJc&imv{t1kGrAXnso%*74AKmEV0ogSEC$;{k( zvjAk#iN2)I8Y-@dGmh Ydx}SchxGSWpbr^5UHx3vIVCg!0DWI_TmS$7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/meta.json index db0ac608ed0..e6dfe397c63 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/patronglass.rsi/meta.json @@ -1 +1,28 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..01e568e5a2aebb1046fb816ce2937924d4c0a323 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}2A(dCArY-_ z&loZuP+&N)VNvEhH7@_lEJ_w-6aM5fGT2M2f2^7xdUegk@-Ivb@3u0A$*?fFI8+`3 P>SgeB^>bP0l+XkK`9320 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d08c6c5eb84e3c2682ed3447204332ca5f85634a GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}&YmugArY-_ z&mH7!2oN}OVNHdAPI~pPyHR})93`r6tgd8jX;AT$s=8+#IoE`9?uD5p+g={nIG@$Q joZ)Eb*a3)z4*}Q$iB}>P{~_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8f0eaeea4e6f734367ff256fa04507dce6ec56 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}sh%#5ArY-_ z&s%dfIPkDs=#0>*m~$mAT{?fu@|)am3jZ`5iqMFdee6)BuY!RyQ%6Tf%^9VIrSUVC zeTu^=OC}Tuo%8S)w^jIh`0Gk*h65MYT$5TWEGRfp-kMSTj`-r@ T_bcB4EoAU?^>bP0l+XkKRbf6# literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/icon.png index 5752f9452dc1aa5b23d52e63b15d4b787d1d0357..3433e06d9dc2e64a429434668a4b43030fb9a7f5 100644 GIT binary patch delta 622 zcmV-!0+Id21cn8WBYyw^b5ch_0Itp)=>Px%KuJVFRCt{2n!iuNKorLx#vh=QIv5#D z2mSyP{(yGuW@PHfWJpY$VKM3=Gl_;cF|s+*M2D+8iP4pzae%mJLL#7pIKW|pBE6&6 zhw1w)w7urO?|pl{yK)CW5ClOG1QAhUA~!R}rru*1Mw2m?lz$CqR=B=l7{2abP#ezt zvlwJ$dzs7!V{AFdI>#yN+5Duk+GhLA>TAc~_^(g+6|lSUW?tXjDmwSi-m3Y7J1UbCx5)AU`_Dpg}{(NCRHEnsEobK(5@aC>y&YWRBq+lBp$mQ0;k z`oevHndl`?Z+{*)hXc7kT2 zmpr+795|g$55#L~ljm>~e$y9C9$>~{(C)^Y{5Xu{z3~2kpN}UW$}q^24m){(@0I}Y zGkFpI^*n$lEt@>RKQ|x<$N=mBuptAm1HeZ5W5_!P;D5(q4u?VMOB;YO_N&m3{3}2P zUie00sI&eL&8sq+HYL zOj(~-@@Mpi`uO_;xCs;1=anVz(Vvg~0cAbg(Cq3eKMx~$FX;ONcuN?HhnoCQKal+a zGf#xad-F3 zj@;WKX^S!#GmbE9VK7Nzh+>d3WYA^kl{g@4F#r7b9m#B#bua4QH>jRV*nRX-ckXTN zIfna#&QGYR5rSDJ9$muWot#d)@coqB3xkoySjX%iMS4pT{GdE**aS5xL zbcxGK`D@J1$$4|v|23_ z+pb z&#mU3-PLT~>>Ibx=SN=6-6x$q&lvRA7Ut}Faz?pQKg%xQzV9UUPdj;5EqOlI=Hm0Y z4k`0&E;hYq4!N}Kq_FM|Mwt#qSQs4p&G25%!SMXk3E4IA(hL7Py!cxP58n72)ajlJo&TNLy}s$A(FrJPeJz7~t(@-*b0>t2U)a?=>K#rX dta8dfVBK15qHH~X)ocbJ@O1TaS?83{1OTD~`I!I! diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6510c9776cff8f580505bb16e1bed4e2ed298b GIT binary patch literal 738 zcmV<80v-K{P)Px%oJmAMRCt{2n!Rt+Kp4iKAP@<#&`xwfMpT^`Iw3ZDybY<7naGx~Fed{D7-;6O z*b52+B7Xrri4OM4R6(aIRV{{$AXTEtgjsyZ6r9|hKaSw{H~AxZKb||^oqaDr5ClOG z1W{8Os(%QAVBvkoabg*}%k1dlILx%)eAb$m()s|<4M&5Bx&1}{Bj)zI;Yh0W0nI^>wdRdyA3o#NlfHlS=AZ)r z!`ClSX7U0d!r%O>CJ*GC2KlTRi{o_iGJ{~=X)qZN9*gscxx;kwl}v*o=_*?OJV{R& z0)Hm2!b-0LMAEv+11l~-5s(0;127EgtTo?IwNv^0 zEhy`IfIxO3ROsvQBFau!7bOAy)g_C0_EFdcwt zNC49Tn1%!}9e`$P`7Ee_9AhLIRi$z%(R)=>SZVr#_&N{rOe(PY?t_5dQ%`0oK=d UI2DaLGynhq07*qoM6N<$g8AD}rvLx| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/meta.json index 293f7f97b0f..535056c4fd5 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/proj_manhattanglass.rsi/meta.json @@ -1 +1,46 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[1.0, 1.0, 1.0, 1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 5.0, + 0.25, + 0.5, + 0.25 + ] + ] + }, + { + "name": "icon_empty", + "delays": + [ + [ + 5.0, + 0.25, + 0.5, + 0.25 + ] + ] + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba47a603b72d30680943d73e43f7dec5cae6b50 GIT binary patch literal 1054 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdDaPU;cPEB*=VV?oFfiZnba4!+ znDh3ociw9S3DyVp)3nR3GB&&9EDS22)H7*rilB$A!HabPYjz0-N9M^$8|WABJ6Zch zO`w=zwnV%V&^Sz>ar@xc*6+Xf%K!iQ`t@stmJjPMas_!=$@Tv~)gSaj;rOTb-*%?*+zpen zibuCxFgg41V@1rYWtJLC4OoAeHNE99nj&6ugFp7)IwpZzK?ly9FWzMp5fsbdl{H7A zfG@$3W8-dyw^=M4cP+Bd8x}>WM{HUx=-?H3<=}ZnH-`4_@xq(dz82EDv0IAqK-@*; z27#t6*KCt>zB-**UB7+V^}hIe8@b=>UhC!Fj$3~F@%DEcojR6#AB=i!oc!il)VyMb zGylG)aTWB+K5Vq zLt5X}sQF8$ESa)vsm+7Saq}OWZ1@@Ku%@=C_*nH*Ci_+YUh+y6uNQPmvE;2_PpA>F zc%FW)a?`wYsriP}wmg@9mN!@Cl~MX+&4i2}DeU)oe!IA=tA65iV&ifDO7;YsCt6GA zy!YK~sC)Q|;@3IxO79tZs^`3qD-~Dcu{5vKo4)9Lg}w5N605H+F8#+J3vCu$_B8lV z>@M#jUbTyC@obrE^?NqX4$}I?E}PfAZ;HY7XIb6LTSWKT?<CryEIOQ))0dF=r-?Cv?D%)_2HImCux7}(=Qg}SuQ-$NR?c#1ewLBnnJ#*EP zw%FCD7+OMZSxyLNSoZtj{I~u5m2Ur5{V`p?{cBGDzdPr>Ih%?Zj{UyOesUgvLi9fW z$1~jI_ R<$MSd@pScbS?83{1OT=`>a73( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5273c561bbd36db67e26170796ef0d625a541428 GIT binary patch literal 1098 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdDaPU;cPEB*=VV?oFtD(Ax;TbZ z%y~Q4G4Hj4i0k}`%I~$9`J*8GE(=XXB&63Y|NZlk=8Bf(hAPHN*9 z-^0IOard7OE1y>!xaHr|BF;tcr5WouXJ;EL8%o(l)=vNRy^}$KIicZDBO@0(n}&?U zf&v8RdFKL&%ljT!&YwSj^}T+M01E?$hX)v1nVCiScmgcWEp9N4w@o@SLC-Oq{Ju&uw)m|aNxyRhg z)_j_OV&k84Q@?%uXy_9(8K|KBO8l+nsX-++a*L8!BS~Sy7)?Yq4~29DE!}luXW?1?yKzZJX`QkKkv=k@4Y%gH6Srh LS3j3^P6Px(2T4RhRCt{2ojY#pFc3w@f&^tnE?uN>z%2yGPLj&rNfsd>g$foavLXu+qSuIi zv=YmfM&yv6u zh(31>a3O3~=N^#=e6ad++CTa!0PuhT5(frI92g*RV1UGd0TKrWNE{d-ab{l#@^$MM zOym9iebVPK0wfL$kT@_v;=llj0|O+^?6ZI=w;plE5H9Rz0`I}aa{|()s;Wx73^q;E zy!MC3Dc|#A02fR()sn#yc<|*aCh%ohP71ssS_6axHwgDKG~N=XUX=lS56M+k(bLmY zR}=+hS?2xmu%Dlwt|$s3B5In(ygkW;I16B)l%ntN@3$<=HWJf9mSr2GU)S}quItGo z(5glN-}FIuI_$gFUzGt&FLX5(-0J17^ME z6j_Ar_xrAG+qXQ=4?ff54SoGz%d$Mqtv|~EeFIRQ=OX#>P1AJNt9SjjZHb5u{i}DZ z`X6X!{n`5iNM;DPZF`X%Y4-vjz47z&^P>K~7lB5flOfDr0|=%^)7RJ6MH$Q-?Q2&KWxvOKy@9GSza4d62P z_sq9{>4#>5=oW!vgx26gZS(w|RC)elaRd0ule-5OWw3kxy}5cO@FBFx5ViqAnPY82 zY3PsxZ&-W;kf>~kCL{{Sh+{0i2=oz*u?1KRjUE!wp9R>43pMzmj!;Al15{OI^3xAR zQ5?+szJhQ~KSV+`CK1B`N~vG@>AovE)c2{q7M9p0Eb9FD)LHZ_z;|lan7#zJ^h3Op zxvDFH1{V!|uem}D@)(O7Ahrfb9hL#?U=KG=^pPn$rteB?Y$S-${44{Q{PZ5N{Q-RH zE2YjRczk?3>(_NH{a-|9!7@Ny*F^L`In(zd(CAAs)DLa@*n40Z;Njtc>=fzPD$m8# zKV~?Wf;-{Lceg*{R)1Lk7&}1p_W}S9*8Tujj-6xj<5SfK00000000000GPu+FVyuf TqscHO00000NkvXXu0mjfJR|!f literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..3d305e9d62aeee895c4a40b98e6b7bcf464db98b GIT binary patch literal 1110 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdDaPU;cPEB*=VV?oFt7-Cx;TbZ z%y~Q4H}8;vKx?~3VAUd>$P&k=+99ueZ;9Sn(!Sw}t5{^oMPXH~tX(G;bOb3#9#200 z{;+@))vb=dNXy@1N{d8?R*WVY$4c{6UOtWK; zGiJ{DSNX1c$=BJ-3K!{H@!E(#`&`_g!D1Kj*YdUeUpq)lb=tgn^L{PT&^T@M zetY}hKYzZs1_}rUUN8OgNkw?wE1d&TuT5>GlV1RxpnG~#@3B0^)0=o-UoWj)@w%#r zEh?1lLv4T=OYOxi`?vgCWz=A{&v*j&qH_$#Bwp=Wr++#~mGynu?tc|F`<_88W`140a zsj_uVNIbXruSdxZt5$`0Z&|%6$aK-OKatUk^vxQ+J<3j3^sUVcP+Tb>Chf4FX}(6;{C^gib+ z@(EAsrvCbKQEA1?&&Bf(Ig44mH22*snclA1@rxxcd1bfK#@NiyC+FBT?hu({Vc_uS z07EA;vkD*21Q2I|l||vA-HIu>$BHXsnQNJt(?j+M@)$IzTl`o!GvO;6N9w`Tn{0Gq zEsWYjr4vp*xW9S--X-$0I2T!S>~YKBu3LAu{6kjnbD?v*4_5oVlba@SxZ?Ew?P2}Q z@`q;4Q8shX_k<}Proba{QBQqhw6VR3av8iWMMNn_GhL4ciW4_wexRfA9S6*Va4mm z!N*@lHk3Wrd28L4|FZpu@3IpNk2y10;+_9TO>pM(|N~PcZCZ%`nfrp!Dp@c@Iz?Vf_2HJ~GVyClA9T_bc)b=0EQ~{Pp9?SIqF-d*-3| WJ${aW{>VIkkeH{dpUXO@geCyYqyeu0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..2105ad51cf5a2e7dee2628ea55d2583ab9cb4d27 GIT binary patch literal 1102 zcmeAS@N?(olHy`uVBq!ia0vp^4M3d0!3HF+R#kZdDaPU;cPEB*=VV?oFtBiVx;TbZ z%y~Q4F>kYhK&v{3i~kX$ZoQzNTvMwimrcF1q}}0F6YJ?Y93dh9c+cf8&6SdPym99D zT&Klq=fBxV^T@Sx0F6Wi2iR`v{(W%zG`B2Y`^A5MKYrY3eC&tjRrxEWzAj&U?K^fj z=lnV*QB_wr@2jlka)#X7MRw=hcGq1mEwP&)d4FQ1R=3xxRYF&{AACOLa5v+wb)P?) zo_u+m!Q=XTW1)?_3b8*WzI^|^cZOZL$RW)G%#*G&#pL!ex;?yS&h>qt?+bN%CXe_| z@0Yg^c=s{vj_-3`7_~n)TL0IY-wf9eePi==P+^i^`)|@W|9>J36$cnjH8M_NX4YV5 z3*h5fAS2;mY0yw4cAtZ5>o4{*kN^Iyz4kwu1xYG_;i=9%)-#n~IwYO<6kKP%b5!az z%M#zv>su=%V}9+cpUdZ8Y$tw%A^XGRl}_nuM;mx+BByO;%J;m+V0e)C(B2s7^X(54 z8Q4l=F9Sh@2y1GjSWV@P>({RX*@A*!YxD2VOLaQKBq5Rf;`8Uvx~DhIJ(8&iB(LVr zdUnO+>>EK2Wrk+W7pwVxXTMg@Wk}}vT5CToRr3-vfBRtzp2N}ep1XH``LOce`qapI z)2_`=ZCJ^ualUxspC9|)yFWMG@y~$A#pU=*QwzVp{aZHt(_#K`!vDDe5A&Dv={vs^ zoIJJrS5W1zjaTLe^L^7b?c*d;Z z$ukZ+sfO+)+gwxHC;Y9mFN;;b$*lKV*kg+0qJPI`oPHa>T7R3p!|iR4-fjOS^mM|y z{a2q)Yu;+#@VIW`pPJ=@N4~r*^mv#lvg5_}+}*|Q?UozNy7nB6>Q76q5|NhnHtRZa zSm7yp9Hp>ptM3$bj5eNk{_*PI8*8I!Yb zuys6@c`fAad|alY`@5jSqD_XgCTPeh-#hf%HK8Nn&MpS;g%^{RenvKA?}%uYf6d`~ z#K0l;x|#jo2$7=~_sMHI#+(Z>@}SO zbH977xi1{^MyyX-?gquv&PoZBYHgT>e4UU4K^I PdXS)}tDnm{r-UW|C@1~2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/pwineglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..dd519000ba5a0c7578e4e1a62d09266c9ac5b1f5 GIT binary patch literal 338 zcmV-Y0j>UtP)Px$3`s;mR9J=WmAwkWFc5(6tf-(OI!i$(CnpCXgB^S+CnpCV!gr~HgZK^|f>0N6 z3R3^hMWwb?@Pcv4Hy*v@%UzlSuvjb>%b!6`lJEPlEV~qs2_@0n&;}pyZ2qiK8@J!YL z4bD4O3D_^8P!eaG18u_)L}D&{gH{W+VW^X?ClDXU$5(h^0heHpHKyw&EV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f7db33db797c164f0969c1152a9ed0389f89b7f2 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}wVp1HArY-_ z&pC1(a^Puwct7HF0P9_^h1(0RcYl|8bk3UNk;s~|S4jfb*&Mmv-)>=_1_O$Y!0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3de34b8526d6e769f0d6427a42cfd9dfa2635e GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Q#@T9Ln2z= z_BnDLa^P{@KQoF=dxzLT<_b3bd&N_lt_RF%x^!}fhU=|$XBHWKxUZ)2ph06#Yg=6%9?R;nEU4ydzk4qzSzMsp;lI$4cZM>@ zc1}C+^^JOUDA%EAU#29^(5EJ8wRvI^^5GHyKQkX``8wJrTD+75F_nqFv{Qu1M(+!Cd z$6`))Z#vz*>G$^b#540-)vk1uI9C75+h+6U&iPE1V=7l#mh2U%;QzW+f6cYaTssn+ zi;K6EUKOABJcLO}^yWtwAPx#u}MThR9J=WlEDhXFbszOwQ~$7coW2nXRn?F@xAvPW8h<`*ui8?J&ZZ1r=_DX z$aiTI_>(^*fFKCMQYow2l~wKhzaUH{;fOjSr|tc}*y=R7p5hpolawPO`-C&dvy*#-uREc}L96>i5JfN}B= xBP^xgF!~DSm^{e9VV?pyU=#uQ7z={1NWQ|kHq^v)`?~-D002ovPDHLkV1idqX}SOa literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..8a3333567390093b64d333ccb86c9bdc20cdf44f GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}2R&UJLn2z= zPCm$W$bhHqe_3!FSC!Dw?)3W(Ea&%qnwR`W)~2&dR%6@O0I!YPmo7FqQJyL6@p-u? zLtEmEjX~yX*Ur9ntbCb%lTganvxj2lDw=;NH?;gx=O4t9v5~7y+^Iz+!NbdI!bN@& zFUGs4Ez`R9Fr{of@?Ce~?&ZZljHfd&?2z#fkazZbqjgTe~DWM4fD~xAD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-7.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/fill-7.png new file mode 100644 index 0000000000000000000000000000000000000000..e194d71184dbb8f2e084d99b66534331629d66a6 GIT binary patch literal 291 zcmV+;0o?wHP)Px#-AP12R9J=WlEDgsKoEw1R}0CaTM%73ckR@n-rG0mE<(@?bc)gx5_h+QN|aFe zD}u1!Wp|dHnQxW_3N#sHLEpbUx5=)w~vPG^t6CPH`CJs6>TPOC2&|T0JQ&rv_MxMkQV4- p@>T+?r31J?A{5}hV}rpkNM2ibQ~x-_F@695002ovPDHLkV1gE3dJ+Ht literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8e85423113b68d491ddded8aabf73059bdbdcedf GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}4?JBQLn2y} z6C_v{Cy4YkF|zeM$@tmE_pDcCkwDYRMCC!I?-T(dn`JF#oWJJ2+y$`C&t`pxd z)NC^_nv^FK>fA7OrX1ga#gD(=uisM6Fzt`KAket|b^j$J*#G?ZFY;Twj#+};ife|1 zq-4a587rP~ZIW^Db=bu`>1+auxsp literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/meta.json index 48aca722d67..6265aadb38f 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/rootbeerfloatglass.rsi/meta.json @@ -1 +1,40 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "(Edited by jrjr3000) https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "(Edited by jrjr3000) https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + }, + { + "name": "fill-7" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..c590ae80b240f47dafce9b6ae087de2452bdebbb GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}VV*9IArY-_ z&n@J02w-S^cz@jj4x@|N70k0=E#1rNDCDwx@lBWQGv5Bc#rgbAgNo;*CH<+IOOxmN zHS9RwvPtosF@vl1o_nW*`Fd)PZ#rsyJ+valbAJ(I!WMxY-#NZs2HL>j>FVdQ&MBb@ E0Gn+)s{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..819b88691798faeedb142eeb69fbbf5a1c980d65 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}*`6+rArY-_ zFIe+A1c&z3D3%)M<-E%z2d&NqblnuuiH@y~{7;nY6 XFiB9jKhSFu&{_shS3j3^P6Ya^PGnNqep-B?;Up3JQei1rND?i=zsalX9mXg%mRXff)|h5oSZP% zT71jd+Q>Njd&^ZAr}%Ar!E*V=`%ak(u6{1-oD!M<%YaCW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..c12d6c074dc5a8b83a6cb5496eba602f92e11f2f GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Q#@T9Ln2z= zUNYosau8s>z^~oX(y=s9!=kg%yCRP-F+I^SBfzLcV8bK*PQ#z;ZzrYw^J5bb6cqfq zu|f0Ief{ovXUjKd@7;O7kyBuou$|uF3wAR;rRpy`v1V@D?&OD}4YwL*E?o7_<1s^Q zejMWp-aDs^8GH_3o?)eGcc5y)d9f7?)qn12JJc0AFqJH1Jo!g#;(imR8()?7iG*4& Q2D*>I)78&qol`;+0Jbbs!vFvP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..abe3470a09eb673bc8da3bb48a6e03698a539d92 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^F3W0Ln2z= zPO{}|au8^hUn3;cH0{{@L){qtN5wRD+$C>*{o4pi>zj#L7FSB`bRAi>;{fBn9T{#1!85(TtS>ONc z*`>Cf@%g562R3aIWR3ftpfG!$*ox@XoT{h?&OV@tmE_pDcCkwDYRMCC!I?-T(dn`JF#oWJJ2+y$`C&t`pxd z)NC^_nv^FK>fA7OrX1ga#gD(=uisM6Fzt`KAket|b^j$J*#G?ZFY;Twj#+};ife|1 zq-4a587rP~ZIW^Db=bu`>1+auxsp literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/meta.json index 48aca722d67..5bd9aaa5e9a 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/rootbeerglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "(Edited by jrjr3000) https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "(Edited by jrjr3000) https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf5d6a5e10d926a7b2562fa075f003762daf6698 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}C7v#hArY;~ z2@gTe~DWM4f5(-L! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..218a14cd25d32b83536d08760a96032c57508149 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yFFbTLn2z= zUR=m^C_v=c$Nj;PvrZZa$R9|N6l*@eN&N#a&%VagV;kKKBT^FNnmCm7c-VJmCZ5rd zI-)Fm`sdMNetG%t4MAR-OZN$=REnuoUULca-V}4abkDu{$ClpBzMUG#SfS>#{qIkP zgjs9#7$)B=`jMID9<*SGocp}apfky0*88{X}<|1K+C(~~KbroDXC8)lboxQ_2`t7fn7eH??c)I$ztaD0e F0ss&#WljJ9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/rumglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..95328ceb5224fab7c8c3d4dc4472680e35ce3c3b GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}n><|{Ln2y} z6C_v{Cy4Yk1sZUjV7Q#Ouip6Wv)|@d47w*qwEqA9-@f=)z}_E{_gp&Xzo|L%#@_yK zYC=MS!B3n2M*}C;WU>LlYjffGhpx=NX?`;3D&vVh2eHG?6q0n)fyxpTk22n9IQjgi zzJ%T6_47MLj?SNV|FX(`EiH=&&)&AaU-6b<(j^9FX6C~yn@jsYo}4W7pNB`KjX{^; sWakIl$t>EsGDci(2Q@%WJix%v^T@p7<(Xc9bz;Jk4c>Vl|NgMhlHcx48W_B#qIU=#`>DBw`cGIj>EE7(D z)IKjEA+cn|BL=a!Jho~{!?sITe{)E6tZCOMJtB4Dz<~n~l2=}KSaVA@{GIU9X`LeM z7nlT|GVq_151MN2=XLXR$5O$?b;qav=9Qac-_f;hp&(Q9F-G?JduEv?@O^mjN72>i zl$z>4&mxAk44zLJLS6paGZLK@AC39w1=wd|{|oJ16r$&^rvC Lu6{1-oD!MbLtR*78)eE;+@-nP6UT+c_Pmu3*M~zTLlP74zNh;<&lb*mxW3 m9>MIjik_igUvo1QoMDzs;%7FCI4K8I%HZkh=d#Wzp$Pyc&@C_k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3467ecbe13c3c641bded1b815d512cecfecc15c4 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}^`0({ArY-_ zFKpy>R^(y1uvu4t+hOLEd-cp}o*%uBFmQ0H9({kw@$>BJt+iIt3Q9^!RWs)3Y`qr8 zaH0DDidDUa0?9FH%igWCj*LG1|Jj^v*POgKS7oV7y0dy|iZiqbC=}TTy6oG1U0!^} u)CK@bV|@GgU!V&ul-`m zSX=ATa?kqS@65GR=WJe+qbvI_k*VVS^LGdKGcxoTzM0ry*fzIV$jQNFo6ATRNT zV!q^g`6)d+!|&HyFPP%w^|H%wpX(z95hq+arIzWdpc)I$z JtaD0e0syZQP{IHJ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e337a74ac9db24cdc6b522e21d7c24eefb793799 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Gd*1#Ln2z= zUN+=wHsEo4INkoxBc_y`<9GhE?evnAuwd*Gxz)Ho?@ywo7YMIrllo(Cz7*(&yLKKCDmsmh!ifp+TkZv4q$KhBIq=xfm8)lWJ$V5|y0Y zTRCsy714{L6M~``mt`uoyq@U9aeue`1=#>E#id*HPJf!VPS`SiYEacV%ja{XU$cK` WRdSgdIZpuSNCr<=KbLh*2~7a)yjo%a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/sbitenglass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..9bd6224ae167d9f79f9fc2e8cc7427c91e7ce6e1 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J3L(+Ln2z= zUf$Sy*nr3FVLF%Co`%qSQ}5I>ubnhy8@mC^gq_crmUsx>=D70VwdbB^?E+35b9vqQ zr=|X6jJW=FS`gELGX>?x3R5K7+E<;r&J?G-Eq8Y($2&d;FV0ZgFP|S@Dv!$EVXefJ zaNzNaes4z0=i1M&Gc&lf)ZX9CD&cVMW)&;Lg(&Y>rl{Px$DoI2^R9J=WmOXC5KoCYB2%$hnV22kP6U6CRJ}X8Zx4gmDudurFHx O0000|jD$^(D$O-S9 zcKW{MpVy0KXfrcku4e;+Ht$V*Pb5qsCNT3ethW$K__5{QM4&wkp00i_>zopr0Do^Y AQ~&?~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d3c254c651f3695693b7cca1057fe6e9e404c742 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FprVLn2z= zUQpyagTe~DWM4f+O|(< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1c5bba90282bf0ba1a097158faf5bea50972da0b GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}n>}3|Ln2z= zUNYo5>3|^W`rv%w5pA6W2+iv#DQ@ZP_ueh>GNu4>be&*Wj{hxc5FffF-DZg68#KX)m z>tv8fimLOI%iYO+M%Dr4k|j@sKOWws;$6~seiO&O)SP1%J*G1s;{Ma6^3QF8|Dt*! wQ4YQ%is_#^f7orBa`cFzc)X+L(yFg)pBl_LCr|0m2Rfg@)78&qol`;+0H$?bxBvhE literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..770a78406b2dfb3cf77b379fcc699a20ebc1d80c GIT binary patch literal 268 zcmV+n0rUQeP)Px##z{m$R9J=Wk}(RxKoCX$EUO7Y5K^SGwbUHJCY49=K%PUev(O_LD{H~VLNK7N zamiT3*gJx0=Josk6A%Yh&MKrQ0AiIAQ^Bv5ogT!i)X*Pf-oc`icn3W}mAt?~lAyHAt3 SjM)JI0000Ak_?zy83N z&wu~Vzi<1%qVKT4RnEb`L?{V1~cTi+9E|FYpan-LtasZC2$ZrEaspt({uUIZ;b385)+YNKBdkUdEwI zXV$Ij<(UUX9N6lgtv^0{=T|--#;DCLa#d1pnkAM_zx5fmocyJq7~81n@V6-=cFWcO mJd3{sUE5`_9q6pj0qfo$iZJ*xQ=ky&PXPx#@kvBMR9J=Wld*0BF%U#&i~;KuDH07GWm@O_N~@u2U_JXdGek<^rI`~TZSQ*e`Pu;(BJU@t(}F4hvzz(r>0vH~mwyY8%u2|< zE3Q{MtvOKl7Zg$M6511}0^}V~@{p=Oym)rYD0xt~U>JtcD8FOGX+%R8LWuwX002ov JPDHLkV1oMigUSE^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/icon.png index b07164cdab1bd7f97ff33ff28dfc96d9d5c64242..f801c76db1960b923f212b07aa01233efb59497d 100644 GIT binary patch delta 456 zcmV;(0XP2M1K|UZBYyw^b5ch_0Itp)=>Px$n@L1LR9J=Wl(939P^%D#gAV2p4oyK|(VUxf7DMV=7UkRWE(qx-w^m%Q zfSDs$YG3HBM1R%?0wDmv&7#6p3||Kb2_=RpwPDbZ5lT7&09*^}uC4g?09sX}sDCLQ&!Pzc01@{dTphTtp1z@|BMljikAO$qtC%!KLVWU7&TW9Aj?M@s=>iu3 zN_O(O(MNI`GMX8Hl}rPA36c=k1m5HTlfHtXPL2id2tl|2`T;=di&pCg5r#ocr@lxK yn*l&Bq{(Gi>p;K`jGeiVCLg+I@Z`zUKi50;l9=zA3SK(^0000&p(1-Fz6JrsT23Rab7Ov zw@c;5eP@?jT?7Ceo9WuqL0W6t?L;oHx|PG^U1cAn%(Dmp_bp(~0G2zKRy&akfJ6uY zaJ#h0Ux=HJJAZTya1i-%sa9B0U)|XS%gj+}EuzKf3b^rh% zDwc=40}r*cca$xpKBMswh?>wUCX>T}N`kV5?g+egfg1pok@)=JQ=IyYrUoz+ zGl5=1B&nw4MI6A(E$Cb1hI<(SH-Iq*NQOLYeJ{!|WIkGC$OQ2z0OZ4FvI6T}m>W69 v&V1P9eu}vPTnG`N-^}-4vKhb(UPx#{YgYYR9J;$U>F6XV1NN5sTvL(IDk_wFfj1N`}gl9NHLFzR0mKSu#lr^%d5Z7 z(8YF6Y7tt$em#eSg9B|Hu;ta?XFirX7!Ei!mz@jhFe#ckfQ6Tv!AL~Fuxay=moTxP zUq1_(Bo=*Q;pHaPIP#)^m6i3MkEPBm7=OpA<&hp?k;`{nxt~U=S>z?ce}BnxIMp1$ z^6w{{4f8!+9l-FP@jtm1QpW*|{}~w=DEB@24xl0+%K=AUe{CF42QV;DC-^CH0JQ*F z4xpCr$#wuW!GJq}tRmGTEb=o01B1_iIKYGRht!TM_c5wtm|O?tZW;xnU=)ln006b0 VPCwTrI%EI<002ovPDHLkV1l^+f=vJb literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/screwdriverglass.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1edde7065b26d6bc7853aa5667d781f756483d7 GIT binary patch literal 108 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}YMw5RArY-_ z&oS~cFmNz0`0k%1$DPUZoQ>0ifuZ60F16U=y9{;Fwt_65_e<$W0Cg~Uy85}Sb4q9e E02p8!g#Z8m literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..00023b703a0f00174073ad7a8404ec722c99e158 GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}L7py-ArY;~ z2@6?f tM}18*+kueZ_RTB59k^i&)@a7Sa4(IAw`=p%^FY%XJYD@<);T3K0RWi&F;V~k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..af1d3d8a27373cdbb447b244120b033875f0270b GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}g`O^sArY-_ zFYM-Qa1e04xLaw4RAf_ULYjV(?zPPwq7m&9kxjBWCTVU>2GTS32>Tk;3kV7dPMqJm z=2h)R^>^;!>y6UuBC>T{58X_-|8hOo_YalE-V+0SBdRNJ{}8Xx^B1(Z!~I0kD*45p e`{II(57-)(NQO3x^m+j;XYh3Ob6Mw<&;$TX20x$x literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..0702e63e9ff0e6b24bdc2c0656937e1daa08b8b4 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FglULn2z= zUNYo5EP%Q2l}1g}jk$e+=4~i+-JZx%#cjo(hfS^;I82MC>N*M(f&bT(^a!?_Y|&1oaky*Na@PF7rxZv zQyd$Ul9JM-GfvCji~nC!etg;PX%lO9ulpFaVddff`TsKoH6LtESS`G-*6hBZRzh(5 zb*3Im)_eN$8;>h4KOpmNcC=ID=X=jTOyR6)cUKcI{&McZ_J0n7f(&tgE@ Px{krq)z4*}Q$iB}vb$Jn literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8bd5bfab95bc985bc307b1acef62231b2a4271b0 GIT binary patch literal 391 zcmV;20eJq2P)Px$K}keGR9J=Wl`&4kKoCX$#Fi;y$s(zOtV9%%asYQOT+#RnR2&0JIu61W+@!IQ zTyO&_BrKG5;~*ql7@RBx3Iy2_Vr*@i{ndK3GyC*sb`5B0X=xo;#7TD4U^+I=oz3dz{t*Ch z{b0d#Y)+|eGvF@f;e~I(UCcvnjoyY(O8NJuz5uG1=SGY^Ds=!y$1VWiZ2S~0i&+Q& zTWr(;w2D}_kO$D(Z!**YKyDkM_o`F}Km!A}ug0&dM=D#;Cd05;d90VvFEdI7B*tIg zxe!rM7c2|d4)|q8%VLIHh{!K9p8s6{03a8lOL{ke{onEaS_wcpoXSh@6n>e}&VDWg ldkF86?EBCzGoW>FeF6w^U64izHw6Fy002ovPDHLkV1ntxpa=i} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/meta.json index db0ac608ed0..e5994967cd8 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/sdreamglass.rsi/meta.json @@ -1 +1,34 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c2288bf764cf238d531ccc4a30e49caddbd280e GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}zMd|QArY-_ z&utVupuod&&|GtiYwQ$P##NqDsYS0ug6_M?-`&FkRQSLtEi7%?%&X<=x4zo)^^VMq t>gy8Df(x(Bs(N2ke%5k*6~n)`thYZatxEsF)(ce6;OXk;vd$@?2>_N;G`au) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f3a2cceb108afc451f8cb14d88b8d0ba10631697 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL|>AJY5_^B3j>` z+bHO)$m4P_{g|nP591ZbSQAI*DGs6&4r?5qXzOSHF?W%7iBJa!#29Q&PFudU?B8eK z>#x&RUaQ*k{fy<$bB1gTOQ*QcefNy9;ofikenSpL8#}%a`z+;>RhAyPC;eQ;GW}YV ed8m?74a56`hTDsh-#r0Z&*16m=d#Wzp$PyR>_z7Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a226426acacfaae1ac9ceede102009c1bf7578b0 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}vproLLn2z= zUf9UnYQW=qadwB*(pY1L>;o}pn4=f?91!7@73$F2zvzeRx>~8-A1_ZnX!(3j@j1zy z+t=nj&wO7~?j5#aTEz9OSEB?4v(`=tVwmy#XYjI>2R7;Gwm5ioezx({WHjh|{Cv;3 zpa&LwE-iD6SN;0lxPH+~t{dNFLtR}omM&PeOy)BCuYKtfZ0~-n9Xny-8*@EX>%p92 Y`)$Qe22T_kLC$3GboFyt=akR{0Em5ENB{r; literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..18aceb3bafa7f8ae88a302b1e0954736b618bc24 GIT binary patch literal 247 zcmVPx#u}MThR9J=W(yiZhI z@$>V^5JCtcgy1mG^L3u*^<97WPqSX$64NwYr4&SjQVKa|0ES_Bl==1+0Pafx%#6P8 zA3w-lAf<$v-TPXrE2r@s8prXfwUSc$E9Bvtz_x9O2+Ojds(*jrDc1x5)^$Zy5fO6E xsH!W+HG#HmF*APx#-AP12R9J=W)3J?&Fc5{|pVP(;#}XNmQ&)g!h=OPWN+3g2;FJbzG9(Zg7pz!a z$^@6Jzr>E7pFB2XS(as4rZ7#@b)M&SuYdPXvtF74Aq1MHDY~w^VvMAeh%qvbPx#@JU2LR9J=Wlp(H$Fc5_2C(p97)f}J)-~w;~ZpjsJq~QQ-u@x<@2?WOzFOVPE z6;JJFI%+!E*({(ailQh2=6Sx(^Sti&TbFwMNCGf3VvI;Bz20e>ioGgHfcsNp444@J z;GBcCw%F?<39u~76+!?Jp{{Fu>$Yu+JVh0R5MG*ykaLz;$toCz;ls>W*A)QZy+=w3 zUDp*)R1^UC>-^pYYb}g1A|Fu&06;`=&OQ2HD;US|$~l9GUV$WtCa`TAj4|-u!&>{? z0SV$AVCJX$7^CP00Ky40O#|l~j^jX8Rp|R3`@V|;D2k%|0_44XE{lM$>Hq)$07*qo IM6N<$f*wDAN&o-= literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/icon.png index eafd86ad71698e9ae0283e6053466d7718d49d48..092b0f257edfa2c944fe64b4a3be5b0eb6c76a7a 100644 GIT binary patch delta 490 zcmVPx$y-7qtR9J=Wls}6TQ5400cd}7T$cv3{ z>h$}H2m@;uZ4xzwehR@-{04rCZ7l^6|KJuzZFaEO&bO6}Ai@+gDP%_y{FjWyE)%zi zc!gaA=QQtf-+SjC?z!(ljT$xncZl}F-3Kqr-|dfWgTY|%$A7#Vn&P+bKQFIuZ6dG+G zhj-gi6tTCrM-)W>RlFm*u~G>DA!u~*-jih+d7d9zCzA=XbydX}=*mM`ey)mIYw_L# z;G822Lz)d0rGHYuQFlk95!PCaF~{P5zt8u@QYAoVfe0cU(lo77X_{h;p(u)@j8Rdl zIxud3lRHm#xq0IX-g}ZH0U(ZJ@;v9&!Z14bMKy&w!+^3ZSrFiyt7ah#L#(x0DnR`T z4*voGV+_u@DqdNjgSrEO2#+7VpePEAS^52Ie6j)pVPiU-0xR#6Bq5IDQxYJDSG@O? z_gR(^hT&fcP|rXR2)$kp=N$9-oFE7o4u{NUGd}(}1p(JuU*+MaR@o|>h;(5I8~}9G gPq0Rf8vg`-0;x5XRiz%^i~s-t07*qoM6N<$f|MBG?*IS* delta 494 zcmVq0!1?`MYqNGs7 zf5d;m|3(l|53Vq1id!twIaaa&Y=;T)Gsv#;65@aD~j_kC|> zWjr3UP4l*TdIeAcQ~KcG-1mMNdoTvA0BY(n&buoJ%Klhdp7Y}f? z-Qw2nb)LUH=&eoIY62&l0T20$_~6_kHR$x5;(` zSXOs17@)OADSvg!?{>TV$`?)mZW4$f(jt!Iaw(2ulu~3_wp>w8DV-`XZ2pvIZw`3; z=swn3q9_6&3`5d1<$bOgTsv{|_`Z+U+BFs6eib9jMo>y&j4Az< z1a9VB0Z)Y2uilYm8A`46{@33ufG13+Q(&ci6h(w#cxOof@^_21w$wgJ5`5o37l3mQ zc%IPdbTGy+pU?3;kAA<;Y&PTQ_ay*4Z2XXy-x@`us3X#b1#k?|avs5R0RTL?QHaZv kdzNkem#hM)0JaYB2g$RV@_5cd+yDRo07*qoM6N<$f^P8Y7ytkO diff --git a/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/silencerglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8981a908bd57a3394dc36af932ea9c506274bcd3 GIT binary patch literal 343 zcmV-d0jU0oP)Px$5lKWrR9J;$U>F6XU=)mWz(}fwl2v>E}oNynvT z`=z@xNima&GzTy+{QLWnup(MHfPsOLfr*))fc-Rd03!nf!~g%E@v32ECe2SIM*$)5 z`|m&6Ie>wYk%5tsmn1Dzb$}1|FUF!xM;L4+S+S<{9arwp^x*tKQX(KR5i&6R|No!i zFX`H-=KxYuIn^D&#K_2S?DDiA1|BDIcGmv;P0; z^6}{FJVop8-Hv^mvyX3Ax!~{ipMG7kde5J42iv2s>qxvT$qsM-{hs^j?Fqa~ zR_F2-=}UXYyN4GAF1g~eOX8VS)ytKomrGN3XxjHJ(T~*Af0;TdWRkvTdgQn3&qJU1 z&qEZjT5|C#C#)8a`3KSN_}A)vx|M*SolAO<2#>O&eeJ*A&!UFueM&isscH*MBBtM!w97&X3yv@ApS@$GVMw{FVn_6T6^tP@Un`!WWzZ zU*yrk1H?UGD|m-Lpu}$P%FjPbPwKCgPk8h>blDY`sEuy--RqwH{Bq&X>|dP!&aB@y zf5E$-#$TB|E*VdM5%?yhwr2UyFOi?te;1zMZ_n`a3o{nO84Sdmelxx@lDB{VbLm%R zlU%#Hd!N%^v1eSW`LpNwW&R5nYJM>?F#P`@ePM=>qW#;m-5^6eUHx3vIVCg!09_9c AfdBvi literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..6c434cd35635d03369ca97dbd00280b5bdc2ed37 GIT binary patch literal 1281 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 CsX%Z5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..0b4540b998b9b6981671dabe528d842a81f40339 GIT binary patch literal 2689 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 au_Q2o%1ZC(P6YC1N&xDj4T56f75!h$*)Mqj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/singulo.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..3b4ac0187b30ae7d434ce7209e24b767a0bc5fc7 GIT binary patch literal 488 zcmVP)Px$qDe$SR9J=WmpyL6FdW5Ss*)_ILy$m%v0`9=k&N{XS~27fF!Tz&LkGA+2E-A< zn09N23{l5MA`+R9D#+k2HG*I_cAO$r?Hl8-pWpjCiGjZ^L$;&u`-Oda_ct`jVl-=Q zgpbRkxd|cMF_*FcGD@-->se&15uq{eQXa^U0yJxFtPugg2?zvkR|e1+cWF2~-7NzF z;g3@S@KOY#wuf39vos0-z_sDX&M6Jxr3k*8ILTtl+7}y(?snTJ84zgz*M{Sz2u#x& z^4hOIp7FM6Q2>x#TnT{buD<0KQ}61QhV`XUbYnfn3H0k*ix=eYFMY_YLuzK`gC e5fER^{`CnM=c?!yC`Qo$0000-pS=4OBp;}{an^LB{Ts5Gk!51 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..14c828ba184f0342287d80cfddea3e0d7b396056 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}X`U{QArY-_ zFDUXIFyLW!$d}r@>eH$v|LfiNPm-U(@1vc6f~`hFrA*|&86bF*?4Fi+PI7D5gcg+v zEDSw{xALydv|O-t`E%XrES@u0++h@CoU~fzz^_B=v^QU=jxW|!4b4g0U&#FZg;=ZK T#rGCK8yP%Z{an^LB{Ts5os~bY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..36af253d38a9fbcf45ce9330771aed07100f1056 GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL|>AJY5_^B3j>G z+{k;_fQRKk`Ga>0Sy@bP)$`>pklb*rH>3*zdocr*1FIth9FV~G-5aP9oket}8X;uMq|K7DHIvAujH>i4y! fQ?4W#|CY|LeWrBZcIl-Sp!E!%u6{1-oD!MZO#l zdBtp=XDs9IU5om;i-DoXu!fht;ok4)hYSV1TyqY4w*BMeo^yEqS20Fo>tp-5a)mXX zZhTeB8?FA}ox;zF(mPydWvz9e8^p!Rt@y9aI`yyVBUgsJEkGABc)I$ztaD0e0swrP BNJ9Vs literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..702e3d147bb934186bdfaca25e912b58061a69a3 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}vpiiKLn2z= zPEzD!HsoPh9y)U>{~V`7pa080VSkwTukmN2*K)J=M`72Q_&qz`eqE=?(WJo9Bwzel zV7Zc47loiLMKTyoP{BoXRi7Bt$H{4{n#5O zzn%BiUdVv|`;+%#7osj(e)g8Vu`T_|dc&Ak4Xc!t;&(Q-FV}cp^C#GA-9blzKfKn) Wr`>n{%0CTqGJ~h9pUXO@geCyM?ODYD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-6.png b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/fill-6.png new file mode 100644 index 0000000000000000000000000000000000000000..84adbf62e947241ff6c6a3ea5d5c74c147779f57 GIT binary patch literal 253 zcmVPx#w@E}nR9J=Wlrav&APhxct8P}rZsiEM{|z`tHt!j{XQ)6Gop7tPgWm!|0)PK+ z0ZEc1N%CWEkxR8!E2SVJxI4#jpsKh#+qUVVWDq>em=9b->IJk*~}^=p$O!weOc@2^CI~Px$TS-JgR9J=Wl)Xv=K@i9PdohM&I2J4{ z#uPq)ot52{B58e}Jb++j;VW1NY|~i?f?{EzA`u4ED#gSvVk|D3gd8W?BNv3r#1_%lY3i@XmALDMfi_Ys%{<3LpRyawLg?+C10G#y(a(|fYipj^`=v>?i04@b! z-Nx7+4*2BqG2dZKJ}&(L%sBPd-cCEu=KSU%_uCQx(zDvTZ(D0YL{L@q`+YDoRCQ`p z2Egph5)nkwd1U6v-Iz*w04}_>7OFbUdi;)vP}R4(kI%>pU`#-i4w|Y?+ThOb;m><% z0FJR#BYy#JNklsG z111Ju0g0^=Yc~ca5Ca1+6zL>jKpn1Bppp)$Thu5Oj+&Msx7dlD`#;|~=fre69jwyq zO4Un%5}*Y54*+YS547KgGH<-OUE#t2F1md=IouaxGN){{uYd0)1R@Av-9^|P_WA7Q zIon}G00w{d83bU)OK%?RwX)`1-92TFEdU^CtKG+za}GoVRYkAY12aQar;~~R0H)4~ z2qMXTWadfVm`ZT~UfwweRh_PSe2<7w)%SXc&!9Tsqf0~p09Bo&!MESTpU=VoJb@4Q zthfg&44_G0e1CfT0%lH$1Hk#iD~{@eph6T}isLv2fRuQi)#n26wP04<_X`KG#y~_; zIbT`?tTkXx()>FOON@Yph=7O|vIl~XV`~i>jh)GL6h*m&y_q~eCYK*ZHfpt0*$;gM tfgBM4faA@WLyp{ew(?K15}*Va0dS;)e+=_gk^lez00>D%PDHLkV1k;RuQUJv diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8919218dac55e28fe01ebaf9208eb98d3ea6cd05 GIT binary patch literal 321 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}zdcVl`!H<=X={$Y#z+uZwoh23tR~P4>KP1ze{~&nt z(;rjQd3bn&ObQvK?e&{`x2#A$I_vNGLa7s{eY++uv22(qD3okB&5C!&m7M)0;>%^s z4!F!>Ua_>phh1QDnq=lnhNPaf)U-!S<}!B_9DKk3|Gvv-7?&K=zbgCS@L%s$8J8zM zH@mdRc;m_UJBs!nZ2ruCF_qyYUjh*P`2XL2Wz>q-3_-z`S7i?zIdP)k$;;PY8jBe& zH?%XHjQYSd=@k^S6t}i^+vt!bCIj-P0T3`S_%AcepE2_~ RA21jgJYD@<);T3K0RWzJhByEK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/meta.json index db0ac608ed0..7c9a567e5b4 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/snowwhite.rsi/meta.json @@ -1 +1,37 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + }, + { + "name": "fill-6" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d2847869653d46badc60da85576470cfb57166cb GIT binary patch literal 133 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}_MR?|ArY;~ z2@Bn&1ks+c+bO}!?!=9;4Oem2P+x4z9#`RsO31EI=|kr@aW!j#yV UjOOdu0*zwuboFyt=akR{0H`M;^Z)<= literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..a5564b59761db2dce9b631c3c1705a178c9b86fb GIT binary patch literal 293 zcmV+=0owkFP)Px#-$_J4R9J=WlD!RtFbqaNPPah{k3vDi3^dG;i9ACZ3MQao0k)vX21vOo=!E!j z0>w$^Cq+W?C;Z|VP!vT`{+&V+8ioM?&~;rn%Qa0?06<;WVu80b$jpI=Fiq2Loru89 z!CEW2RI&g7lx2BZ>-#?Ccj*G&`$GxueRA_Gft=c70>&5^W3n0@AzGNWZP)Fus%keg zj^q06oD(nNOB#&Z9jCB8-)Qg%8~|Wh77!5tV4mmQ%;N%av{wyc&N=t2 rz?SXJ?~o*5tu2nGkh6e_qWlCOAFW8k1qX^K00000NkvXXu0mjfrEYf| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/meta.json index db0ac608ed0..c92d6f1b0ef 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/soy_latte.rsi/meta.json @@ -1 +1,22 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb172d95b8e530c1bb9a34248ef158758d524caa GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}C7v#hArY-_ zFKpyJ?7-uE(cklcXxx$C{EriJZcaDz*u~IpQe&zp$YKlvo9!>JI()p)#KGmozW1CH zX5RX4d%t+=ssr0{Cms20BfMbMmAjvf#aDC9d2Y#gOk$N*gXOUwQ8hQ2?&^BRTz5^= hQhM<&^!=N1eXV{u>p7{e3S6T6pP4s9xI7ZH+-*noFky{p;Bz7dOq7 zv0>)PGfWIFEq836Rpz~9WJtJeR{Wiz;hNOSET79)&ZXb_d-Z+7Gl{l^{tCwmYqDn; zGk2Ug{iFKtWQNzfR?Tefu-R>QJ@yvYjF}8B{Ds$TCs;Jr-amZz<*v5ZJGXGI&=M5v md)&|=VC)>ad7t+DYKF^`y*6JrJs<#dGlQqApUXO@geCwgz+_?o literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5af8a4d668deace7846136de8cc0c781de82220a GIT binary patch literal 276 zcmV+v0qg#WP)Px#&PhZ;R9J=WlQ9y5Fbo7wl3nlzUcmp~LQBaXK(3 z5ClOG1i_ynuZzcVQ~+RRDy0|zhzQkMZ5W2M>C)8&-_mv6ZU_J=B~n#0vy;v(K+YKe zEayz66cZ5u_bD88>=j@$dYIGk{7C>+-Ft6C9CdC>2mtdum-gj--=AuCn*eYgKk(eY zdw|xw?cX)PG)>xe{%Qhl-;kLJfL(3>uJa18EQ{4z>D>;vO+ZzNh_J3JM1+_bs_JDI ae9jI3RCL_E!6DfI0000P)Px#_(?=TR9J=WlRI*SFbqYHY&;%V0}Ei-{{mPAEhT%vGER~3hR3_ z`pSY#CX>lzGMRryo@(6py#g3xB*vHkthF-Fb86eRSn7(i20x`N%apJt4fko&`T-N8G7*N&M-1jEdb&q{QfN>n-{^fODZ^r&u z0(K*D)0DjT;+*4F0;(z^LI?qCtr%la)yu-a-6!)nAILeIsLw`< QLI3~&07*qoM6N<$f(g!yv;Y7A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..82c9a5cd329c5f9f22832b900b9867f803ad99c9 GIT binary patch literal 327 zcmV-N0l5B&P)Px$0ZBwbR9J=WlQC|EFc3s%*I0-uwjg(m4`c!f_lW z?CNauJ5qI`1elos=+&)FB~>R%U|AOR-qT%occkh>35W<05!Q8uF@~5KBJ!^PpXp>C Z=L;Px#?@2^KR9J=WlFN~VFbqUnGCq(45fBBT69rd}B>?=5?VO_Zax3TVRAtloKhN`3GfmS|1CKbjsuEb&Rm!(|B>^j^N`RROfWEr@ zt(+=>ecv_bOz-Z1l~W}kB1A+ujsqbCVrGa)>-`_&xW29*$Ik4VMNQ7l00000NkvXX Hu0mjf&oY0I literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/syndicatebomb.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..8ddc61bf443dc8a6895cc483af148c6495d6e286 GIT binary patch literal 541 zcmV+&0^Px$*GWV{R9J=Wlrf7FK^TUg+2jnlBjk{r;6m~XuF+Jo&6J0vNMn&^OT{+7AYdQ= z!!`jyH{gMm3yL;Ya>X?w7}(?76dnQ1aU^4N8+UTE(rny5{CE_` zA!HDUe!s5(hQr~?m6rq9T7X;i8u#~h?>&3{{xr>5uI&JGT-Vi3ACEoH6ZtupbzBG` z*r{yIIuG^-X~s97zYGAn-7b^Kgl4k|pw%XvwE(bOoYm7ztEPm;<1qm3c3W#P;aG`T ztWy0f+b57xswj%^eILhha2yBU_lcqiDW%HGxe`DCO3i9n#;uZ7jq6^o$KPsGj`jqb zbg@|e0(M8EQEHC?M-PAy2vM8Cd?TRMY5~w_Gys@Rr+>x<99a8^Uj4Ab=bin#?@lhB ztT(t=4igtK-7R$8A~00T}rIk-&z_}T#sI9h;*+voPnPsibQrE=v%IjGKU fa_Xiy|A&49#MZRypEKtF}wAI?+3mf2QB^ynGzbaQ+TZ=!~|Yob1iz#;%*XBQs(;6?`LNJsmYDYQd)VgGuE*DpPg|3n(FCAeta98+zQFcn|k`rECl{!nT7-V;R zi2Z%|z=03#jdN}Os#rgGYachsITvQ-0yc)Cf2#Wn8=1<0u43?X^>bP0l+XkKx0F-A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b17d5ec6b6faf66adbcb245201126d75680f05e6 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}%ROBjLn2z= zUNq!7u1V6$Xpa3T+4Xi j-KC)Xvl7W?;&(H(Hyc$?y&m@v=wt>@S3j3^P6<|{Ln2z= zUb5vn$K#N(?OU+@ z?6${o%vYSRT%X0XHJ9&!CzA>1pCgQXm*4&g2#QIYUb)@OmUYLy?~8t!xzsZ}DCm;E v|4sEh{~^vlO+SS1#R-4BG9}3C?^bgcNAvh&79I9L*E4v!`njxgN@xNA5g}!2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/tequillaglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..72476b77c00bfc8a3f4e8bec2e28c63144d65c3b GIT binary patch literal 348 zcmV-i0i*tjP)Px$7D+@wR9J=Wlrc-gKp2MKyTn42;+Em)=-8=Sq0o#O;^co2|A0fc{(^4(3oczV zL=eqZbdzSWQ0iiaObUgjCCPQw#e4@TB7D#M+{?@N-5tO%4D-hbiWJ8&!mLb9f&O{aP4S~-J@%cPw66a#0RRxXvbUe_J(66NfHWtF@Nh6N-1;uLWv{`Ti$H4_JYD@<);T3K F0RYv6I(Ps8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ae00b07258ff2a136de95335c4264d8dd5b7efa6 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}U7jwEArY-_ zFBoz)JBYAch!oklF=)fa^QJbvrR$P*&pTjzqk>JF`OvnF92|}pj;8KC96l*6&c42l zUqDb$@FMT4Lc^~+Bs|TgOfx(DS|k1M+s|5!bC;$+VP;rxe)STQs?dqudwI9b=bdru z`8(^qObuEwZ`31qRvf6VmN_A?>Wb?>;fR#$cAhR@!qt8GH5po;Tb}~Diow&>&t;uc GLK6TKPfz3k literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3c674534ad03d41601b5007e6b2dea802ac7066d GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yFFbTLn2y} z6C_v{Cy4Yk1sZU<9n@IBG^672;lG{cc6Zd>^_4AW<-OOdt9P*Jz5ej&n)B>OE>|Qz z^5N;>Ia!sZV^Yq*%*=fFjko!K10b-tGym(AMV%5^2?9Y=Z2 z@cgeg{I76bW|QoJAJ2g*rVDgSw*D{rQ|~=b`9#ryxl>u~|Jyf2>3yEgd~Dfl=D0rr z{|_r1I&eti&-Azdqo2j|C_QO^q5*a(j|Brmezgrh*T)xvKyNU3y85}Sb4q9e06tJ> A?f?J) literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..713061e6627d5e1f11e0ad001fab982d0cb8227d GIT binary patch literal 292 zcmV+<0o(qGP)Px#-bqA3R9J=Wk}(RxKoCX$ZbH~5SQxOeRXfk%4LpQkEqD%#w7G$$wM~u@P>7`p zq9Q^JE@L69wmXPe%&TUHoj-qO7Z3zN5Cq{1q{XRBi&M#|Rh**La(c{L<9M*kE_rJl zyS#?NsNW5Jw7f1mTvKPlG{J10H8CR zHGFk6*MK5xXctt9tikbl=IF2uzyhcN+6R@2t)cyU6F#v1z@-)wB^Ef*J`=M-T+zFL(f|?o2e`TMRq^0000Px#@JU2LR9J=WlCf$6K@f)j**h-VXmf&1%5Zi*gRO;6AzU5EQ`l*nH^?)j@i7h( z&{73a5ac{u#^y$BcM_6jzG`;Z+5exJ1q{P54C5DARL9k#I<7Req$&FPd^;@rWoNW~ zKP~%ZNAeDY>99y+-io>`h^Uy5Ji9cyA(eqg(VwC+fHNFr!E=+;0C108{7RihUj!)& z9stCM29<%A@%)K6c-|&8aqu_*#K9MnSvU4A-3kEkuI)MiXdcdys3rgal(*yGC$+>H zR1^6Ac)jqt{eaKGOZ;aBHud0&9#YCf#`~l}PrpjTFpPia2D)ogPrzI8B>(^b07*qo IM6N<$g0;(p_5c6? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/tequillasunriseglass.rsi/icon.png index 403929ba3c0c0e7d4b6b5b0f4e2a1d20c8c9ea0d..477a8dd67ebf9f2099a5d2f8fbb507762fdb7c5f 100644 GIT binary patch delta 577 zcmV-H0>1sx1la_TBYyw^b5ch_0Itp)=>Px%6G=otR9J=Wl}~FEK^TXh$!^kYVv5kv z&{Uy-RivRAKj zL4#4w5F0I0U(L{O6?^7+5-8N%Qf_Lzl-sD5F)j4)|;}Kh!d$4*p zp|-w1kG1yJ9PtDpYF_d@3jnB8KGCkS`fR%+7c#|)n1A+^A&J#Km)%BiHIB3 zj$s3I)**z~#E@r!u7)DwMgiI)e()rawe0lmx1TE`m+ppzcB8s#*h0Hewm@h%I&V(z zWGy@0JISX&2LZZf*f{Lp5Kima2mS<_AO>2Wf77trYd`q<3)TxW4gIY(fG6CjUiUu( zz62`v*g76bOfld_^rqpE^q1pHAZyv_!r(;bCS-8G2%3i10SpKT2mtsE@EgU~CuJ`r P00000NkvXXu0mjf*vk=H>1knVLBYy%INkl3x&$&145L3>~^=4*Go2(if(5_ z;$ff5yu0)Aygz2%nO!D?z#x?xX!Qgj0r(#P%#$W^&Sew}A%BeDD=^zBs2C#ZT zusC0)a}RLNNr+#~udQ z3bKr}03ZUa*w}b=o%$Ea8$jt$W=T2Pa60ySptv%Bmh4Fjrz|Lw8ERh00000NkvXX Hu0mjfPx$rAb6VR9J=WmcL5^VHn51m#2A}5)_0&P!LAYP*#J`@NPQzSGY9^LLosA4dEm> zw)h9MCgcUtI~YwyL%a?g9u^Lg+6!2u>FCjX4U zF}C&Hp_E$s4e~z`_R$2a7T|7$3WSh>NyTBSYl{*>7^SpFe(RYq)dx7rL5K@7*6s*{ z&LoEx_$E_rDcTkQ7;EFRUdJW_ETteEJ{k2w5N=7<&BrB>skW4GU{whhD+-yP+n~it z9>5f13{6#q^BSIAaj$e#fJa)A(Y)8s$t57Vobb<1uOFS|Dmy2q$lN@5webt-vLw2k zu$5)h^1$sf6#z0m0RV7JT5I9J>OKG@V$pOwnTlw_w)6X!!`x!;{^-X9uK;Vly9b0- z2s{UC1OYvSzZ8fkQ;|e0nl_SyUw|1YHx7X@!zB=s8s3Ae$MW`!z4O_%%aDC|Jq}3? zZ~qJi1v>EUvtJNs|Fb~ut)abq44nqK4VvTWv=$vatH%wW=M28oKoGyQ_I oCCPx$B}qg&e z^R2mAfg~h zvHkWRSOS9^>bP0l+XkK D6@fTH literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa6f6051fd519c626ad61ac866fc3a1d29afe19 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}X`U{QArY-_ zFKy&yP~>0@*c0RQ=FS1lJN0ba796>BYPH9@X)VY8Yf1gs-@pM>{-8{C)1GU$?2JEO zTx%ZW5PI^=imhcek2^&^6d0e@S5Ufr`1zcltp6Tvz4nJ`@ApR!lY1^0GatBXH%&`v UYmCzopr00opqf&c&j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b3c6e5a8bc8ec36bf704b298ccbdc5d4753eea GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}MV>B>ArY-_ zFBoziP~c&`utns^+28W&t0!+S=$UM>Gt10MSHzBvH<}3#*KW0C)v-CYW1oYjtL~of`}Q3$zEjL7o_1}{ g<~n~ShCRC(zXcmIre4T>0yK@m)78&qol`;+0M|rBq5uE@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-5.png b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/fill-5.png new file mode 100644 index 0000000000000000000000000000000000000000..38fde85e27a1a36aee07e0b91d977a826833fd4c GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}MV>B>ArY-_ zFBoziFyLSfh~`p^?t5QpQg4PYl>6Lu0Q6f9sl}WfT}0F>EKzv_00XHQ`W|Y zFL8K3H)Lv5_HFBP9*q3qSLZOv*&REf`QYK!Yar(HKl>XxX0$Jlc_1mb(}BZS+W7W& de};x~^Yx#N-b}r>AqQw4gQu&X%Q~loCID?WMJWIP literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..19f1170c75e917a2c2e01761d28f825bdd278e6b GIT binary patch literal 345 zcmV-f0jBPx$6G=otR9J=WmA#6>KoEduOi;lbqO}NK~W{y(xSM-z5qu?tF$zu?Vp_ zt(GJHjg5ww1i=Yzn*GWlGx>IAk_9jr3S^3*3+ zNzBK9aUhm}-F4t={7Lig=pn|c#mc(j+Pn0`AvpBx*|!K}XFmJ+Wz}eKl9K(V5W{1l zPoUKs6k-=R>k}viSzk0yfT(2O(9$OWbSZ=miP9&44GY>I&O^^p=LpKMtfoEzp(Oh2 zC|v}99g%zbW3_<&BN9sDV)IYiI0lis7ha*#2)1!tCB2$J_BzgA&2JY7J42dIMj({L rd;7T(tQ`s(D literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/meta.json new file mode 100644 index 00000000000..1e34ff75f85 --- /dev/null +++ b/Resources/Textures/Objects/Consumable/Drinks/thin_glass.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + }, + { + "name": "fill-5" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ea69eec7b7dc57d33579bafa4dd4740e8f5f73 GIT binary patch literal 482 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D%z=Xkm}hE&XX zJIirWlLL?I<11^f2p8~`&Rv|&JEvKA#p_6mgFee#GiEKgRv$V|jOpc)dh?K{`5MB4 zC-<7PTz+`tYHsk)`)B?<-?LtoJz@Xijhwfgetb6D$tb7UFf%-q-T3m?nwK5#TtEDe z?gEPZo_*WvcZ2uBkHIJTdlz~znr!H}095d5+e(v+7O9X@v&z|DE=cV2X1TtkbhD*w z-`tKrlkW@Nh}?esm{ByN)SXlHyYIKE$$-%9k%_B72V2tYv#7! z=cfF)$-3cE^y9$klk6_$GA+BKzMG-H$vwA9^QHSLexT>!;DB||9_v4+mh1}a{>|L+ z$m)n$+^WdQS<~yM*eCe7R|VD|$PeFPFLu-Da^A$Z5t*A_$$DsRTw#AeUVhWEDMyZ7 zH_cObcKOx6e1?6)i)kCwvVWJX+#1d$Uw=Yw@*pPTbL#h&f&vgIe;e>4A)n0K_lPMs0%I3VML*B=HZDJ9>`@81GJ N;-0R4F6*2UngEQi*+&2X literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/threemileislandglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..76f0ead37b0d2d76238294382c0328713867d09d GIT binary patch literal 398 zcmV;90df9`P)Px$NJ&INRCt{2+DmSOKn#Fk(q)qqmJ!%K!@w;w4_^ljVCLje!K_9Q@U7kCV+;w^UzjCOafPA1Sk;uoOwCnc9cYOq8 zB9W{UUNr%wZ63Y)^7x(j<_T!=L05`j!!!X~!J|I(O7U8L1p@#8000000M5?6I(%kh zKP;cO>*{aw!}|l|aRgZ@PPCeV`vhp^vdCgZDvUNMj>@WRPx$iAh93R9J=WmcMGkP!z_$7B{sqE{aId&ZS!^T}ozg$paK0ppW8EkkHr25;D7Y zE8PkPLXmdR7-NP);C5(}#;ZBW_0Le6Zwfc}p8W1P-?=wHp+bcU{db+Dy%>+j8)K@f zVmQ(n74YivA~mL}svBb^Dj2WfNM~BVN6s-!i%}4J0RTX!)4_xOD7x%$003}%a}96l zBMd{ho`>oC2i%2+#e9zLdH1*gpT3_t=jr)n%_mezgaPstm-h+fi`)SGt|%F%wYF=m z-(!YpF>K)%%E0~L4zG^$ySP+>EJPx%K1oDDRCt{2+dWUhKo|$`M*=#!II|iPU%tY{xU-lz7-skuL=(RQkTAK*zy~l~ z{08DwnZvQ$9M3kJ*Y(M9X^@%OtBRbJ92nBkB!^f-vgz9_XfZDV4~q z;v0Q@`&v|bgDM4K^!Jn1_?`Z6SBPybKIF}$*ls--iIt(UMlJ*6>sMPX(s$4(nEy-a{_bAangPJ zIOcT%Tn`^Qc%6VE%tg`(C_?MY1L*`LwLY6kDM|xS8iL|VC`x6x;N2Xsz7dx(=5+&* zeif0l^TF2cXq~ZKCr_yd)LCP$s~}kvY1@m^DoETTZ`=M=>z(K~8SyaWV=|=vkm>Y? z5k(P=gD^g1{H>~3x#QQ*h;Hx5_V)oMC>4BtcXA$Nof};D8tvQDZP}FkvPx%zez+vRCt{2o4sxmK@i9Pi5$61gA|1#1x*@0USWmk(;!i~j^Dz92pV1>Mv5q? zKthTi0D0da!c>P4g(X}Wp`-#i(o$G=IgYdAoBf#EyZJS?PQIPp`R~rm`E~(85ClOG z1VIo4K@bF?Eo@P4(pvv_O(|7+-8FeT2kPk0RFAsejh2wNt&}3SvrW0FXwaquHn?y= z6_iq$t*IV$UDzcF5Mrj^MmqT7r%#IGcHsw-0Kjqy0(`UoJ9ZNw{AAEtXJdB(S%9e? zbq~~0;;JK?P>0Z`l*&Ti?z7{WZF?QcP2*&4006@?3;^@|_$euwQ~C7m*J68k))@e1 zoXi1YF;SIN@bTB52F3s{UII&B1Ra0Iq}N|edi_NkZRbC2ASqWg{P5lBPWs(fOwNa! zRrWWrO)ZxB z#gu)TW1n>YgFBD@iGg3{pLasl<4UPo+NZYXWdh}$!S$dP3*J|79saiPjm;z@=YVyz z!RfAWT80YM5doMH0hl4>0EzMLkQKm;mntYGxSvzFp5%kFE@Vb2Kx{dH+sW&Y6~HWx zR6)#06~v4Pz)aKvaK~>KL@huQauHd8Cd|G%Ko(%t4(U)dWdc}*AnyI4O~6Wkd$#cp4`5_zw{Oj5|MhwGU$udVhY(;LS&KZk9(BSoh~U zzJR70yARc7B;AAI2Sop2onU57qYLCyy-Bj*E{ zAqnvK{*&w5f8~}mv?!%Y?Z*~+1VIo4K@bE%XfJ;O1)DjSdud0}00000NkvXXu0mjf D#w28D literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ad7eca1399adab2f0f5d3c8116d7283f86e37922 GIT binary patch literal 883 zcmV-(1C0EMP)Px&ElET{RCt{2n@?yHK@`Tn{39YH0igsu1QDT7i_n7y@iLU&b7-Y{=s^%t@a(~3 z&*HtFMZ{w-qIlWr!GqAEw}4nEG^NM3mS#zocra5Yo0N8D-_GoI-|y0Nlg#(tym@ak zyKe!8VHk#C7>2P-l;XhdkGOdB8?0OqzmqDP?HVQxzRv+Ld1Eud&3&1D# z+sZ)IclkO>AdE{;cp_ZkG7BhdFb=>l1=|2_nU0~05Msnx7r|F;s4cfT>R%JIH(~(r z2Q~jT4$Is1=^g;g9kfe8{F^i(1h(tby}5&SDXcBAVFLiD`rq%|4<7vfQ7{=#I{-%~ zr-N7TKlSrLP?X2kT1z>=j`K;-fBo(wFc^%yCvDKBc=1O@xqkAu|7i0w0QAqq6$9g% z1iA7i=`XIV_U^r1FHQdD_&6pus``uHzKp%UHg@E4kn96~t*rKdcvm3R*rwye<(qZ} zoE9sE&6y`b9%{+U0a&NADnt6(8Bn=#E&urGOySt?;K<*{vA>V!FCShi{V5pg7q5!G zb_Pgx_O?dOLN+c_d!Bbzi+A?6jBTfYO5bRZ`Pqd4hCg8`n4ewfhmYA@0F(4hiDeSi z$*_HqE^WlVinDSD&2*u~Qb)5g=@jrSNyl&i9K!){jP^Nz>pLx+0giFHn@j?(_bHqK zOt#5_%FkW|-Ac7?YxSL{Z$&%?v~S4V{rNRN z?2jJ}UTcZWs3hxCWAuE$dHwM+3*x+FeNlhD4I3ySy(O6hr;}iV4*Yz8W77J3fHQq+ zOiNJCc7MJsEyEgbT|X{NpAR7GkEha4TkU5UhG7_nVHhU6`~!Ypl@3IJ!9)N6002ov JPDHLkV1m}xm`nfw literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..43e4f884c115f7289cc99095f1713f4d05577f5e GIT binary patch literal 852 zcmV-a1FQUrP)Px&4oO5oRCt{2o4;!lVHn51>GgVQOd^yJkr1Q^f#A|X!R($%VV`^S#uD7=~e(MI@tog75oN2qRroM164R?|JeuA%xbomM8*RG~%6~ghU2ZM14RNNE)GN zeyH z87Q|s`kurH?I|eU5w@_I1r#x88*rY2EdaN5uc3+%;zDC>m@mgr*w{LfKXp*P5d(m4 zC=Axn@eWGW5df?ow_ITQH)%o$9F(e~_2ZTs*N!j|0|3bSAMe}?AAJ4f=v+@L1J=;- z+T~g=>pDT!b%J)e*3-F;4q4X;03d(*(}}breG{GEF4uZrs`rPo{?%V+S_2sXmQ_zU z>-NSwjb`vJ{>SEH-58X(+4_8CyU`rI1wzR28`R%vGy`1J4|VmG4Y=0*9X#3pFme2a zmb^Oirmt*3Z#n1e*Pez;kf*#1fY+KKEVjOS23&VfyMrG$fHB6%=&j-jm^Xc81DqA7 zc=G+^&-3k9L3C{Q&C3-NkEwm%zf^zf;^$E7^W$jCC}#iwJiPlTgyua21^?4Gm4QMC z>+NR<(Q=VrOHN|!l_YmQExZU@h7GU`8(?S_VXorYO%& zq7ML__q(@DYEwfp1({qA3L9HTa;Gn31_1vWZgU!lG$S*F5Y`{8>7Z%br-t_jScdlpScdlpScYtW0Bu;4L?w~7_Xkju+Gj!Y0`CuC7=~dO ehG7_nG0b1@v6kDLy?X!o4JUtg7%>Jc( zVeC1Ubx$RknVUs?We*%WeKtYmNcx>EUvCuW6g^>>B*VaLH_eLoMUwTpJI4i-*$gHw z?wr+-#rNa?dwJutvJVdabYAuL!qMlq*7z7tI9eXF^ZtXAf4%2C<6FS0aGEi^{{QI( y)0jQZvC7S{Us4vc^FL2)PZXaN$dMOh85n}nbU9qFPCpCu0fVQjpUXO@geCx4Az|MD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/meta.json index 63e49d4dd48..ab24158a61c 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/toxinsspecialglass.rsi/meta.json @@ -1 +1,81 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon", "delays": [[2.0, 2.0, 2.0, 2.0, 2.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon", + "delays": + [ + [ + 2.0, + 2.0, + 2.0, + 2.0, + 2.0 + ] + ] + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1", + "delays": + [ + [ + 2.0, + 2.0, + 2.0, + 2.0, + 2.0 + ] + ] + }, + { + "name": "fill-2", + "delays": + [ + [ + 2.0, + 2.0, + 2.0, + 2.0, + 2.0 + ] + ] + }, + { + "name": "fill-3", + "delays": + [ + [ + 2.0, + 2.0, + 2.0, + 2.0, + 2.0 + ] + ] + }, + { + "name": "fill-4", + "delays": + [ + [ + 2.0, + 2.0, + 2.0, + 2.0, + 2.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a63f1b954e1e7eb8e29de2e87f8071f0e5a42040 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}rJgR1ArY;~ z2@|M{^$SDw$T6xHvIqd#r(9##Hk{mBRonQj=i7E!?R!V-=QDxC0QlE?tk;I+y6Y! eRIn9}ybRx7DlA?1sQog~0Sun5elF{r5}E)YxJi`& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b4be0ea7a947ce76b424e2a297f6f554b939b521 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}9iA?ZArY;~ z2@nE*`PKgnfIuQDWz)qYj0WxspD)TzNnLWntE*CHi4}uv#J^h~ v=RXubEMN3>@|%Y5Jxwa@w=|%(I`T4Xy`kF3v{WSm=q3hFS3j3^P6A`SfE$W-ra9Q+_$dTnUZ2a#bMG?bA)ma=%ZfH}R%DUXWYWaADaygS%A>vw!bn zj#yj%Z~M%7OB{-|#TTBHnfA`o`qxB8j$6y@e@*1feWfyU5z|xC*?Z1A&E6+6NoX#E zg1zdu%ezzlGAL&@F6{JU2$;RIA{%Jizgx^Y4^7T8o4APqJ;31U>gTe~DWM4f8ZTsr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..da847a11fc04a9699723405cde2b80a918ed9248 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}TRmMILn2y} z6C_v{Cy4Yk1sZUjV7Q#Ouip6Wv)|@d47w*qwEqA9-@f?a6P~?~bL4vLZ~mNdv%c=v z=>rE2B>c=i{-1eIq7Dxb@XZhZ+qlwv%ZZf5tC%OqHtMvUbvzPv4yf#aQy23F#?$fE z|BU}6{cw&@Ej!@S^~nGH`^-t%f}t`6?=R|wWmz{YF#)M9_;=(>{EsJ|o%L*NLe33h o4NqKt%nO|GBtRPGz!i)P?49P%7kzN<26}+O)78&qol`;+05_^?WdHyG literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/vermouthglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..72476b77c00bfc8a3f4e8bec2e28c63144d65c3b GIT binary patch literal 348 zcmV-i0i*tjP)Px$7D+@wR9J=Wlrc-gKp2MKyTn42;+Em)=-8=Sq0o#O;^co2|A0fc{(^4(3oczV zL=eqZbdzSWQ0iiaObUgjCCPQw#e4@TB7D#M+{?@N-5tO%4D-hbiWJ8&!mLb9f&O{aP4S~-J@%cPw66a#0RRxXvbUe_J(66NU|>3GcS~~nk)6cPT-I?U%6Sg z!f5Ww3G?`56IPuK7JhwW&&zwSCYqmlTikiPd%+|Xlkc?$^$X51GF*%FTC9`Ku;P>9 m*UO^J4O_Pzt91I)%)jfA?(xWu-mgGMGkCiCxvXPx#=}AOER9J=W(6LGbK@^4Ib7pqpE{F)WX?z6*3mf+(6a*2hQ&CNNq$^GlYy!M#$_+mUv zZ(IBHPLPO|wo&OLp4Yb#t3@tfH3}ZsJvw$j5&!_rc$k6%s*s>0JZ&B@^~&%2;l^s# zW|14PRK^Ig=%SMZ^smp<&4`5};=KzocP~5OCG=B4r79$TPDw|q=VzRf`sjT2kN&#s z;Px$EJ;K`R9J=W(!ELpK^TSMb7p7uheQq7dKKDPrL;_=m5m5CDbre{5fsuUAXctc zUV)XYSo%{~*xCfO6BLrTyEC7+;6Mt+dFqeD3o}3v1VIo4!C!NH`+Proe0!SL9(|7M z*{6)|#)yFUy3WNYATthP1mpD`x;O;@ zyl?CgmnY6=&nw_`a9GBQIy08DS|K$~S~q8o5Y;pe(@NW{QF;X^pX1&AgTx6PAV{^v zv{YP(YY>!4rI5uHI=w;Sv+4Z=OKAlNSz0BEfQV9>f<#+P+4|A1Gs;xxr&#&K4W zij+92S&=d+Bd<^WD|iPx$MM*?KR9J=W)4NIoQ4j{;f6iquMw5VTopquDmK&{O`O{40+PHetXDxtOTd-yfHg?Gd z5dh$QbDwZ^YF+Z23zS2~)DY5Kz=F7TdxlRVP}1|gBdMGU2$$jW&QUhb1jpaYmUMv+ zBP}q$WolGWiDvw31@;aOL(60VMx+W%GeIjs4g&GS2*iOwqtyvrGM!IQi44F*Ss_>u zz$}C!MyLvmX4*B*y}+BUSw(DPZ7DTGf`|i|lOf_sCY`?OPjGIWBnbfEvfZTZc9#L* pvAaWS%?k#AdcD5DdY<Px%B1uF+R9J=Wls#w^Q51#Gd2eRj+0D7I+H$`SyitbXZT`}mEwK?=2JsXYrS**QFurK|96^X=x%b0@1WKdeD3 zfe2BJ8dB5-oqto8VS*u6mK!osw(@@Z;`ix?Hzwv^x0Bs`oxUK7BD8us^*7gSc(j-RAY-GU2#6@dD z4!pufL9j`q;0ab1g2h=`X_a7+LOBDX7B(kb70xQ!ScE8~5`t_b2D?Rk72vr#vnrtw0bU(3*-X1KrR3v@J(#4+kYqvxH_pz|4pE|ZlmhS zgP8=Hi_4LZgqJ`tGK@3jN!)zC;B~A186e&|&ld;))e{HqfE0)$K!~#h04gN{fK<}Y zZ7qMO`!KT&At@`Lx>w(S3PXirOMNc7Fjj+{y8UhKvq7c{6qH+tkdpU3+fLBwMk)T5$Nu!zk+N)O=obdrHDT#fFTrDFD6a!CRmb#-)`* zXS+`506{UZ*yt&a6jBhBZlVwt5-jdN->HPL_jAqk3K*E)STO-W_N;~?Afi-2;gGTD zY#LB$uip0~(;lEwcFmMsKyjgQj1y9kQqUPx$TS-JgR9J=WmA^~FKp2MKyQD+<0}8d(hJu2EgZ=?=vRfnMA8;2zaCHzm=pfdi z#Z7c`c8yvWiGw&P3LO+d7pc&(Q(AL92T|Pe9c0pb=I7pfx#PYAG#ZUY^WR|3>GUTY@A%i2L4_{@~D9T;5l>K zU`$fncIS1A;&GJ%)Xh~O6=*Cu_U7sJ)O0p`NbxW3pBl6KE0c*82!a6MMpVhCZz(>Q zAw*w@#0q?cf_(ha;L*(P!6?}RVDjp%cSLomspJB#720Qak9%?6`NQ*$YlYB>ArY;~ z2@)^WgXCV22WQ%mvv4FO#o4mK_UPE literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3ce3f582c2bdfcae1475d9d8d13482c15dda321 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t)4E9ArY;~ z2@?*%j%j0n3gFN7*$j=uEQWRmK+% v|4yA+KIMh_O~&~aM{a0rEP&azfSEx*Q{Ak6>N6&wgBUzr{an^LB{Ts56Hrch literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3d4f142a2c51a5ebb82b82e98ab138963d161949 GIT binary patch literal 257 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}yFFbTLn2y} z6C_v{Cy4Yk1sZU|NnpbvibE3{!gCUKlAVN<@`82`!{{kEV~<0aA2bC>iEUo6SEYp6g0UcfMA>6tBMByd)Dim8bv2 s%IFygwBW#pPUoIpF+NF{GZPpX+GP!StiFD82YQ3S)78&qol`;+0Fvrv7XSbN literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-4.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/fill-4.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9291d620cd0fbae9b142f0dcd10517b723e5e GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}J3L(+Ln2y} z6C_v{Cy4Yk1sZUjV7Q#Ouip6Wv)|@d47w*qwEqA9-+ps#<@`g;y$b*4zo|L%#@_yK zYC=Lnz>baY9{c`fQDg&xuif1D4qmBt73~hV%6OvBLG17|g(Tf{pt1zTql`Bi4)vDG zYhLu9#B67~fBDb<=igtS64Ajo!y~XJ<$TtvsB;G#lB7V2Z|qv}n9;8C{SGeHpfk#v wEE$X*el7DYj@-z2I05K7w}ToItjuf-(e+k3T&>#0KtC{ey85}Sb4q9e03d~9TL1t6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/icon.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/icon.png index e423eeba9fd7c3ecadf3b0144a32d5659b346ff3..1988787ae0ed3ea27281bc24a368d3f9472bc515 100644 GIT binary patch delta 364 zcmV-y0h9jh0)_*SBYyw^b5ch_0Itp)=>Px$KuJVFR9J=Wl(9?0KorJ5O-LF=r9v|V zhiqyoI7%tvjVWYua`c~Y@1&c5gM;8u$P{P>kzfR8p_I6&Q-lga0@frNba3e)%{z>^ z+;6?_efQnFcLxXr0>M8sM-lnH4|iNdJjS*z8H}+~olG%v$A3j+w_98R+?!zpz^EjE zytIhjH64fj%TmMX8j_A`2mp4w)dR3InkZcWXfEV~A7lXlc*BQYJ`H9>S!ilkd0k0G5^-9-1@1WS;g51OkBo0KNc;vsv=$n(tKr0000< KMNUMnLSTYGp`v2| delta 338 zcmV-Y0j>Uq1MC8jBYy!iNkl$MEMG)hk@Y-VRghB z$iTqB;A5%NK&;vwSMC#~cEA%MQ4a9n{2^7jVJ1!x!>Ty`GctFA}a(g ze`T+_{FS|m9KGm(q%`p9`9006uNWu);b389`|r|9SmA{i)2!QpJWG+V*w#B k;Avpg0izBWb-<_t0H&=|gFl#=1ONa407*qoM6N<$f~}I9@&Et; diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeyglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..77913d8c3a8ca362e43e3c2d66158712d932f627 GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}hdo^!Ln2y} z6C_v{Cy4YkF|zd>(Xc9bz;Jk4c>Vl|NgMhlHcx48W_B#qIU=#`>DBw`cGIj>EE7(D z)IKjEA+cn|BL=a!Jho~{!?sITe{)E6tZCOMJtB4Dz<~n~l2=}KSaVA@{GIU9X`LeM z7nlT|GVq_151MN2=XLXR$5O$?b;qav=9Qac-_f;hp&(Q9F-G?JduEv?@O^mjN72>i zl$z>4&mxAk44zLJLS6paGZLK@AC39w1=wd|{|oJ16r$&^rvC Lu6{1-oD!MU|>3GcS~~nk)6cPT-I?U%6Sg z!f5Ww3G?`56IPuK7JhwW&&zwSCYqmlTikiPd%+|Xlkc?$^$X51GF*%FTC9`Ku;P>9 m*UO^J4O_Pzt91I)%)jfA?(xWu-mgGMGkCiCxvXPx#=}AOER9J=W(6LGbK@^4Ib7pqpE{F)WX?z6*3mf+(6a*2hQ&CNNq$^GlYy!M#$_+mUv zZ(IBHPLPO|wo&OLp4Yb#t3@tfH3}ZsJvw$j5&!_rc$k6%s*s>0JZ&B@^~&%2;l^s# zW|14PRK^Ig=%SMZ^smp<&4`5};=KzocP~5OCG=B4r79$TPDw|q=VzRf`sjT2kN&#s z;Px$EJ;K`R9J=W(!ELpK^TSMb7p7uheQq7dKKDPrL;_=m5m5CDbre{5fsuUAXctc zUV)XYSo%{~*xCfO6BLrTyEC7+;6Mt+dFqeD3o}3v1VIo4!C!NH`+Proe0!SL9(|7M z*{6)|#)yFUy3WNYATthP1mpD`x;O;@ zyl?CgmnY6=&nw_`a9GBQIy08DS|K$~S~q8o5Y;pe(@NW{QF;X^pX1&AgTx6PAV{^v zv{YP(YY>!4rI5uHI=w;Sv+4Z=OKAlNSz0BEfQV9>f<#+P+4|A1Gs;xxr&#&K4W zij+92S&=d+Bd<^WD|iPx$MM*?KR9J=W)4NIoQ4j{;f6iquMw5VTopquDmK&{O`O{40+PHetXDxtOTd-yfHg?Gd z5dh$QbDwZ^YF+Z23zS2~)DY5Kz=F7TdxlRVP}1|gBdMGU2$$jW&QUhb1jpaYmUMv+ zBP}q$WolGWiDvw31@;aOL(60VMx+W%GeIjs4g&GS2*iOwqtyvrGM!IQi44F*Ss_>u zz$}C!MyLvmX4*B*y}+BUSw(DPZ7DTGf`|i|lOf_sCY`?OPjGIWBnbfEvfZTZc9#L* pvAaWS%?k#AdcD5DdY<Px%X-PyuR9J=Wl|N_`Q5?s=zxVE9E@|3A ztTmyd+CjxZgzAzGVo&Vg(!tTis0a=sICO9jENVIl5?pLoH|dZ`?m(zIN)S4UAgPG> zC$0H&cklfi($-=_^P<_B&vK8u-@V_5-~I0QfIfZt^x5lByMLRW=WVTXxm%UZweJ_Q z-E2NNIoUBr?Dp_a^5PDeUSV|(DFVoEU6;NnBZ=t)(x_T(1#-E8ZI#L6_VWjLIFoN} zeEOJ?z|wNL0-&QrTLIr+*R53{yHWOxYI?Zy;w^x(Nq$(Vq*+|20N*cUtyH`MATvF2 z^eTuLtO+2nR(}KlBm^@6BEg&QmC7IPnh5OLggYSOmCv>O`yX@@L`>4sBrOdRyghk0 z7&IX;cYY#^rB`3?ojp-}_wgHKSVwt{ifM0=<5Hn=at6v7py8K`Jebt{=E#MgQ20-`y*O(tlG8l1f#T>X`rlfWQDSxQ|f} z35`fVgLv%qGyDn#l6I?atJ2aeMRe%?6OI2JM1L9Z!lSuhEfDN%Bum%|>!H*wKcEp> zYAD`hfQD6kIC;)ivt;hw{M1aI4D3!)DUVAzm$(;#H?>|j}6o@52h&2QN zDkTDdR8s$Met+rRunTBoZAi-U$4dU~H{Jp%)SjjGEU09&c|(#e7m~%R1DSB@(PH8J ziSB1_R-lzYgy=3#OIjO*r}|-nHg>(3mX1~{ulg>2@0+-B;Nb0vC`sF)3xMN~AB15= z$NrZU+f|yTuYka}5MS`&+yHGV4FLF>yH3ncSx_5OHh;!N+X(;wKnMVI>=Ud-L^W2h zp!B|ch+mOHt8W1SW$jtfDn2xF&$`GqPy>|bPiEpDH6_6xvlidrXQb^0A5e`v)0tiu zfX?;c43G<|ndM^_DpqI#LE1A|t0}gpVi1%{q!6ScEF8I9c4@zc0RVuWU+YXq0LYrr zPy|Gj@_i_5@eRuBKB%T*ODZc=rt9v_9^4ss)^yqjwu-021zs7R6aaWVd5tFvGrPAD?Pl!x eji?FG1o#asLgE?hi7@~G0000aVTN{ diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..607e842ce5a283e0f97d9508d673df2188cfacfd GIT binary patch literal 507 zcmVPx$wMj%lR9J=WmAy;DKp2OA@1=tM0-;uI78k)m|9}cYyETHVgS*lSZX!5za1bm? zikozFb`$Xf91;)&7eDBtpl%fkE~P_TdpU>NRIxM{$Y!1;NA8#R9^T6(fRB%l&wq#d z-82lt9;Z?pmG0Oyb=6JrbUN*rVS^@ni@lfvKP9xBP?FYliU(+4Y)o(UL+0WhU4lLY{f!g-Bz&jdO}A>CG?u=dpM zq2;XrNL*LzIoYgiRcQe&*ig^zo(oR7^T(GRE!dF$WV`49K!Kr_V}>bGd*8*?F(k$~ zh^@ML#!~?;*ibLZukR3oq1_%LB4PheiCKaeA1SUUkk_Say4r${L^Gj2K002ovPDHLkV1f>p*7*Pc literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/whiskeysodaglass.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7c26c66dec8f4d66578ef9ce20670cc73f574f GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`#oJ8Ln2z= zUR=v}D1e9c!R6M1`3xfO8=UgjHyr3=v2Hx_k%2?#hz)0vV)5m1mQjg2#lE zoiaI^Z7kvvH{Pf)Jn%nWo7VQa>Wa8{{5#X=n?KMi44$rj JF6*2UngGPBYis}j literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..5163ca658917e94ddcea06cfccfc2275127cd71e GIT binary patch literal 315 zcmV-B0mS}^P)Px#^+`lQR9J=WlCe%gK@dgHyclCoc$J~z)i#*WvAFkE^@c>#&bi$gDC!OI zE-9K@8JPEa!fNdM(c{MMGJpBDa(;5O4=h?O_jT@12J&`0(C-8A^!y648gfHArk7XU z1;B8q0o;$;NlyT9dwr91#lMklTNpo;s-mh~99Od#cTNu_#)e^}@(ERVPkRpcUO@l= N002ovPDHLkV1k!Tg**TN literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..967ce5aa9bab8dd92386d28202c99ca18db0d113 GIT binary patch literal 380 zcmV-?0fYXDP)Px$Hc3Q5R9J=WlQB!fKp2LfOH0~O5K9L^DDB{)i=yJtOzsY@72TwRqnkg#L2xK8 z1;M}2O%Sfo|DY5X1D4RH1#zjd$vMDlX@0$P=G9G1Ph(Pc-SzxI0?3xaxl{F!y1i-Sa*i0iy;V>)+ zd`f}Cwy@d4rW7~?lMg!YMO;76q8QT|7pKiW++~tvXOoyho_kM`7C&aUld&UR`6`=T z-Sg+(K&8APZf>ttoad-^l4`Aq8t69~0#E=0=Vhk9w!dxyUbSjP_x>W$8z|K4QHZNd zTyoQ+exHHL0dRbJ?DUnigxVdD6`to2|gj%D~ aq~#Mc0cPx$eMv+?R9J=Wlf5qlK^Vq=@9sGgqBl|-VDD0Kb; z8p(AEhW|k%*HMUwD14s1of*aMosWW9(MaZ(%w}dXdEV!Jb_P5ikH_Qj{6}`Hca`1h zUF9#d#Py(wAMMrcCC5*t=3Y6B8Em@;;H=ikjV?0YehWZv&wwbUh@$9Q-GZxupx7b$ z^}&wn3&4U+_mc!pU%CM(g*A>IO3e0^MJeT^>udnPTF{A34Is_@Mq01mvuw$u2!YF? zMmNT2jILvJf==p~Y$Wv>x*j(NKyrQaqgaDANs0b`CuRC9CX9G7oJ3@Bto?h;etfFmxQZxpD*~y_I z5RZ*T^7+Is4U`ubE&KZb#O+;at6z$LT+T0T#{efM%0l$5cCKFlu(`69E8?GUdIj+Q t5|mOXrI;J;3L5jRsa|Q!JswY9-T?2Il$n=sp^E?j002ovPDHLkV1i1W%BlbW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/icon_empty.png b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/icon_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0c05970175ceaca96fdb2d1d6848bc0d23dc92 GIT binary patch literal 546 zcmV+-0^R+IP)Px$+(|@1R9J=WRliH?P!#@d6OkxB5v8ShZcg&tTy(LSBtzZY+(ZWv?DRlHLsTd# zI8^Wl3jPDG9aK zBE)wGqmVe~fgDZKN}O}`)!E^kOPZ$n-iuHSd=M21Nv5i0EvMucZ|m%ed7Pc;@fhb^ z`Z5Dq%PA#?2Yd}2NUX=>97wDuYdNK4R8sx!kPXNk?MU=S@%!k!q2R>&zLdSps}Fzw z#HRO-Dso3V06SQlV!%Uk=+`nB6T+#zsT~%Hh>Wqgo?1z;6 zr|O_^9ajHy01&Rr03frpurX(@%)iI^lmT6_)pRb8k@$~Y3jgA!xT`C6VE)Ml0H9h! zMF@Y+oVhX&0QWVNsk-zO0IusgL{ZUFE1Z(ru$hO5U0Btb_X1m{vG)4xf<4Loqa?Rv z1G-|zPYOjNh<8#b8r^4`eN&}NS8TOxjP>e@t?G)c kMi0k-di!SeLWBtM48FprV=A@}$p8QV07*qoM6N<$f@2u~aR2}S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/meta.json b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/meta.json index db0ac608ed0..20e933bb577 100644 --- a/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Drinks/whiterussianglass.rsi/meta.json @@ -1 +1,31 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi", "states": [{"name": "icon"}]} \ No newline at end of file +{ + "version": 1, + "size": + { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/discordia-space/CEV-Eris/raw/f7aa28fd4b4d0386c3393d829681ebca526f1d2d/icons/obj/drinks.dmi. Fill levels by Tayrtahn on GitHub.", + "states": + [ + { + "name": "icon" + }, + { + "name": "icon_empty" + }, + { + "name": "fill-1" + }, + { + "name": "fill-2" + }, + { + "name": "fill-3" + }, + { + "name": "fill-4" + } + ] +} diff --git a/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-1.png b/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d0fafbde243fc8d894b45fc1dcebd241595893c2 GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}dY&$hArY-_ z&u!#oP~c%cn3C<5kR5zkNrmg(ukA6c41d=7FH%XCemSrF9RmZuPI({;lW30Y0-#O? MPgg&ebxsLQ0EZVKr2qf` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-2.png b/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-2.png new file mode 100644 index 0000000000000000000000000000000000000000..02eacb7219c2823d33e15f90cde6de4a28467525 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Hl8kyArY-_ z&+TSp5D;;`xQEv#!B2U{d8dmjR%is=x%^z2k)h#ul6iu)cb0dc%dVn?IU1KMY+o`m cFvP$3c94U4_0Kiyf#xuHy85}Sb4q9e00w3$?*IS* literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-3.png b/Resources/Textures/Objects/Consumable/Drinks/wineglass.rsi/fill-3.png new file mode 100644 index 0000000000000000000000000000000000000000..5f6abdb2b007c04c121b9a2433fa051033d8081e GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}{+=$5ArY;~ z2@_t7&2z>_+FfrU(z|V5EwXg(eG=rzBpUXO@geCy#11Z&Mo!0)+H_iGhfIuVP};e3`LoXsObiLet3}eEP57eIK6CC> z2KTKG^Oy2_yw)#Sm(N<^95erExyy;W){hw&4#Ww6Oy+01GGkjY&;|xiS3j3^P6ymLQqXR=W|cm0!~VA1z;77PpPx$B}qg}<3L+R#M@KbaMj((ReZH8pa zAPAYWXFIfuL!l)(Y$^g(t1d5J@>(k?_hxyZM>C5^@GTm|loCCeCwHyr{zbq4` zS?O6BEzuwmo|c9LnnGCM?gVraC9B)>!Q*e|VVe1#ol6ZMATa{~;MqByL<#epi~GHD zs!}d3u#*VWjO{;DDF+m1z_WAuvEFExD+>U?swi}N^#$reS)f(ZVo(;~wbbie0S7qO z*H9K9k_N;7 Date: Wed, 21 Feb 2024 16:21:45 +1000 Subject: [PATCH 013/345] allow happy honk to hold medium sized items (#25245) allow happy honk to hold medium (cherry picked from commit 2cf29944e16d9c8339e739ac582894b6bc0e392e) --- .../Entities/Objects/Consumable/Food/Containers/box.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml index fb6bd2e024b..cdf998b2923 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml @@ -486,6 +486,7 @@ sprite: Objects/Storage/Happyhonk/clown.rsi heldPrefix: box - type: Storage + maxItemSize: Normal grid: - 0,0,3,3 - type: Tag From f5596cf1660743c593b0d3a3463fe9a7c977953b Mon Sep 17 00:00:00 2001 From: Hanz <41141796+hanzdegloker@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:22:30 +0100 Subject: [PATCH 014/345] Hud Standardization (#25208) * Standardization of the Eyepatches what it says on the tin * added the pun... yea (cherry picked from commit 37a4f2db3a35eaf87adaea0a7aaee9b8c24ff01d) --- .../VendingMachines/Inventories/bardrobe.yml | 2 +- .../VendingMachines/Inventories/medical.yml | 3 +++ .../VendingMachines/Inventories/medidrobe.yml | 1 - .../VendingMachines/Inventories/robotics.yml | 1 + .../VendingMachines/Inventories/sec.yml | 2 +- .../Prototypes/Entities/Clothing/Eyes/hud.yml | 17 ++++++++++++++++- .../Eyes/Hud/diagpatch.rsi/equipped-EYES.png | Bin 0 -> 644 bytes .../Clothing/Eyes/Hud/diagpatch.rsi/icon.png | Bin 0 -> 799 bytes .../Clothing/Eyes/Hud/diagpatch.rsi/meta.json | 18 ++++++++++++++++++ 9 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/equipped-EYES.png create mode 100644 Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/icon.png create mode 100644 Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/meta.json diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml index b0987c796ad..58a9d5e7122 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/bardrobe.yml @@ -4,7 +4,7 @@ ClothingHeadHatBowlerHat: 2 ClothingHeadHatTophat: 2 ClothingEyesHudBeer: 2 - ClothingEyesEyepatchHudBeer: 1 + ClothingEyesEyepatchHudBeer: 2 ClothingHeadsetService: 2 ClothingOuterApronBar: 2 ClothingOuterWinterBar: 2 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml index bc2c1c22816..6ac13d48d53 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml @@ -9,3 +9,6 @@ Syringe: 5 Portafib: 1 # DeltaV - Add Portafibs, see Prototypes/DeltaV/Entities/Objects/Devices/Medical/portafib.yml ClothingEyesGlasses: 5 # SimpleStation14 NearsightedTrait + ClothingEyesHudMedical: 2 + ClothingEyesEyepatchHudMedical: 2 + diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml index 4dd687bfec7..6c0de489f75 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml @@ -6,7 +6,6 @@ ClothingBackpackSatchelMedical: 4 ClothingUniformJumpsuitMedicalDoctor: 4 ClothingUniformJumpskirtMedicalDoctor: 4 - ClothingEyesEyepatchHudMedical: 1 ClothingHeadHatBeretMedic: 4 ClothingHeadNurseHat: 4 ClothingOuterCoatLab: 4 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml index 077aa2dca4c..c53efb3e729 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/robotics.yml @@ -5,6 +5,7 @@ SciFlash: 4 ProximitySensor: 3 ClothingEyesHudDiagnostic: 2 + ClothingEyesEyepatchHudDiag: 2 RemoteSignaller: 3 Igniter: 3 # its more ordnance but yeah HandheldHealthAnalyzer: 3 diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml index 6d1e0cc7d81..c071305b77c 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml @@ -12,7 +12,7 @@ FlashlightSeclite: 5 ClothingEyesGlassesSunglasses: 2 ClothingEyesHudSecurity: 2 - ClothingEyesEyepatchHudSecurity: 1 + ClothingEyesEyepatchHudSecurity: 2 ClothingBeltSecurityWebbing: 5 Zipties: 12 RiotShield: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml index aa1aea4df7a..fabb7bc6429 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml @@ -17,7 +17,7 @@ parent: ClothingEyesBase id: ClothingEyesHudMedical name: medical hud - description: A heads-up display that scans the humanoids in view and provides accurate data about their health status. + description: A heads-up display that scans the humanoids in view and provides accurate data about their health status. components: - type: Sprite sprite: Clothing/Eyes/Hud/med.rsi @@ -249,3 +249,18 @@ sprite: Clothing/Eyes/Hud/beerpatch.rsi - type: Clothing sprite: Clothing/Eyes/Hud/beerpatch.rsi + +- type: entity + parent: ClothingEyesBase + id: ClothingEyesEyepatchHudDiag + name: diagnostic hud eyepatch + description: A heads-up display capable of analyzing the integrity and status of robotics and exosuits. Made out of see-borg-ium. + components: + - type: Sprite + sprite: Clothing/Eyes/Hud/diagpatch.rsi + - type: Clothing + sprite: Clothing/Eyes/Hud/diagpatch.rsi + - type: ShowHealthBars + damageContainers: + - Inorganic + - Silicon diff --git a/Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/equipped-EYES.png b/Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/equipped-EYES.png new file mode 100644 index 0000000000000000000000000000000000000000..91a6b3ac3ee6e3f88e2b6fa1224a278e5c5e5ab5 GIT binary patch literal 644 zcmV-~0(EX>4Tx04R}tkv&MmP!xqvQ>7wR2Rn#5WT;LSL`57+6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRR4rtTK|H%@ z>74h8L#!kz#OK5l1~o|h$aUG}H_ke3JS*_Gqt55#IU|w5EbDe4waV#N$Bt*!lp^OSFL}=GYF_EJ4n1_GZ@h8b8ldB9y zjs;YqLUR1zfAD*@W?_2DO$x?LIHR`qi@OqgSSBMnmf1FIZhvd49#l!1~@nb z#*37_?(y!P&bj@2r!~JH7AkUr#h4D?00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=mHJ{A}^x((mVhF0D(zFK~#9!?b^Ey!!Qg5Kza;% z4K3(3G)H!d#!z}8O_YxuEX>4Tx04R}tkv&MmP!xqvQ>7wR2Rn#5WT;LSL`57+6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRR4rtTK|H%@ z>74h8L#!kz#OK5l1~o|h$aUG}H_ke3JS*_Gqt55#IU|w5EbDe4waV#N$Bt*!lp^OSFL}=GYF_EJ4n1_GZ@h8b8ldB9y zjs;YqLUR1zfAD*@W?_2DO$x?LIHR`qi@OqgSSBMnmf1FIZhvd49#l!1~@nb z#*37_?(y!P&bj@2r!~JH7AkUr#h4D?00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=mHJ{A~{wqXKerg0USw0K~z}7?UXNW!!Q(wzf2(o zlY$IFC;0+Zs8Mm?r1GfBnX&^^>KTT7f$*p}z$j8dp$E21R^--J+M)SFv6c7U@BK3* z5{blrC-YqjA*_2g#$=&?ZsD`ND`0j!8@lJFX)J)&nrWJX&X>M?$x!;rB7OY;wIXfw(Ez6Sq{sK=79;|>{-dP0jwBUqx*f+JY4^S*GYgXsapW;x)k4}Cf dkw_$5z5r^okl&|UllTAt002ovPDHLkV1jD7YFq#S literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/meta.json b/Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/meta.json new file mode 100644 index 00000000000..bb228e7d5c1 --- /dev/null +++ b/Resources/Textures/Clothing/Eyes/Hud/diagpatch.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/5a73e8f825ff279e82949b9329783a9e3070e2da , edited by Alekshhh and Hanzdegloker", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-EYES", + "directions": 4 + } + ] +} From 9a246f9527b39bdac6d3a6d53b4700de7acfc961 Mon Sep 17 00:00:00 2001 From: Debug <49997488+DebugOk@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:23:04 +0100 Subject: [PATCH 015/345] Remove drones, fix InnateToolSystem (#25372) --- .../Drone/Components/DroneComponent.cs | 8 - Content.Server/Drone/DroneSystem.cs | 146 --------- .../Tools/Innate/InnateToolComponent.cs | 1 + .../Tools/Innate/InnateToolSystem.cs | 131 ++++---- Content.Server/Zombies/ZombieSystem.cs | 3 +- Content.Shared/Drone/SharedDroneSystem.cs | 20 -- Resources/Locale/en-US/drone/drone-system.ftl | 4 - Resources/Migrations/migration.yml | 5 + .../Prototypes/Body/Prototypes/drone.yml | 27 -- .../Fills/Backpacks/StarterGear/satchel.yml | 9 - .../Catalog/Fills/Boxes/general.yml | 15 - .../Clothing/Head/base_clothinghead.yml | 1 - .../Entities/Clothing/Head/hats.yml | 1 - .../Entities/Clothing/Head/misc.yml | 8 +- .../Entities/Clothing/Head/welding.yml | 2 - .../Entities/Markers/Spawners/mobs.yml | 9 +- .../Entities/Mobs/Player/silicon.yml | 280 ++---------------- .../Objects/Consumable/Drinks/drinks_cups.yml | 1 - .../Machine/base_machineboard.yml | 3 - .../Devices/Circuitboards/computer.yml | 12 - .../Objects/Devices/Circuitboards/misc.yml | 3 +- .../Devices/Electronics/atmos_alarms.yml | 2 - .../Devices/Electronics/base_electronics.yml | 3 - .../Objects/Devices/Electronics/disposal.yml | 1 - .../Objects/Devices/Electronics/door.yml | 1 - .../Objects/Devices/Electronics/firelock.yml | 1 - .../Objects/Devices/Electronics/intercom.yml | 1 - .../Devices/Electronics/power_electronics.yml | 4 - .../Entities/Objects/Devices/flatpack.yml | 3 - .../Entities/Objects/Devices/mousetrap.yml | 3 - .../Objects/Materials/Sheets/glass.yml | 9 +- .../Objects/Materials/Sheets/metal.yml | 1 - .../Objects/Materials/Sheets/other.yml | 3 - .../Entities/Objects/Materials/materials.yml | 7 - .../Entities/Objects/Materials/parts.yml | 5 - .../Entities/Objects/Misc/tiles.yml | 3 - .../Objects/Power/antimatter_part.yml | 3 - .../Entities/Objects/Power/powercells.yml | 14 +- .../Entities/Objects/Power/solar_parts.yml | 3 - .../Objects/Specific/Janitorial/janitor.yml | 3 - .../Objects/Specific/Janitorial/spray.yml | 2 - .../Objects/Specific/Janitorial/trashbag.yml | 1 - .../Entities/Objects/Specific/atmos.yml | 3 - .../Entities/Objects/Tools/cable_coils.yml | 3 +- .../Entities/Objects/Tools/flashlights.yml | 1 - .../Objects/Tools/inflatable_wall.yml | 6 - .../Entities/Objects/Tools/light_replacer.yml | 3 - .../Entities/Objects/Tools/t-ray.yml | 3 - .../Entities/Objects/Tools/toolbox.yml | 3 +- .../Entities/Objects/Tools/tools.yml | 4 - .../Machines/Computers/computers.yml | 3 - .../Entities/Structures/Machines/lathe.yml | 1 - .../Structures/Machines/vending_machines.yml | 12 - Resources/Prototypes/Recipes/Lathes/misc.yml | 9 - .../Prototypes/Research/experimental.yml | 1 - .../Prototypes/name_identifier_groups.yml | 7 - Resources/Prototypes/tags.yml | 3 - 57 files changed, 112 insertions(+), 712 deletions(-) delete mode 100644 Content.Server/Drone/Components/DroneComponent.cs delete mode 100644 Content.Server/Drone/DroneSystem.cs delete mode 100644 Content.Shared/Drone/SharedDroneSystem.cs delete mode 100644 Resources/Locale/en-US/drone/drone-system.ftl delete mode 100644 Resources/Prototypes/Body/Prototypes/drone.yml diff --git a/Content.Server/Drone/Components/DroneComponent.cs b/Content.Server/Drone/Components/DroneComponent.cs deleted file mode 100644 index df7ad2bcc8f..00000000000 --- a/Content.Server/Drone/Components/DroneComponent.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace Content.Server.Drone.Components -{ - [RegisterComponent] - public sealed partial class DroneComponent : Component - { - public float InteractionBlockRange = 2.15f; - } -} diff --git a/Content.Server/Drone/DroneSystem.cs b/Content.Server/Drone/DroneSystem.cs deleted file mode 100644 index 769d1b5d119..00000000000 --- a/Content.Server/Drone/DroneSystem.cs +++ /dev/null @@ -1,146 +0,0 @@ -using Content.Server.Body.Systems; -using Content.Server.Drone.Components; -using Content.Server.Ghost.Roles.Components; -using Content.Server.Popups; -using Content.Server.Tools.Innate; -using Content.Shared.UserInterface; -using Content.Shared.Body.Components; -using Content.Shared.Drone; -using Content.Shared.Emoting; -using Content.Shared.Examine; -using Content.Shared.Ghost; -using Content.Shared.IdentityManagement; -using Content.Shared.Interaction.Components; -using Content.Shared.Interaction.Events; -using Content.Shared.Item; -using Content.Shared.Mind.Components; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Tag; -using Content.Shared.Throwing; -using Robust.Shared.Timing; - -namespace Content.Server.Drone -{ - public sealed class DroneSystem : SharedDroneSystem - { - [Dependency] private readonly BodySystem _bodySystem = default!; - [Dependency] private readonly PopupSystem _popupSystem = default!; - [Dependency] private readonly TagSystem _tagSystem = default!; - [Dependency] private readonly EntityLookupSystem _lookup = default!; - [Dependency] private readonly IGameTiming _gameTiming = default!; - [Dependency] private readonly InnateToolSystem _innateToolSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnInteractionAttempt); - SubscribeLocalEvent(OnActivateUIAttempt); - SubscribeLocalEvent(OnMobStateChanged); - SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnMindAdded); - SubscribeLocalEvent(OnMindRemoved); - SubscribeLocalEvent(OnEmoteAttempt); - SubscribeLocalEvent(OnThrowAttempt); - } - - private void OnInteractionAttempt(EntityUid uid, DroneComponent component, InteractionAttemptEvent args) - { - if (args.Target != null && !HasComp(args.Target) && NonDronesInRange(uid, component)) - args.Cancel(); - - if (HasComp(args.Target) && !HasComp(args.Target)) - { - if (!_tagSystem.HasAnyTag(args.Target.Value, "DroneUsable", "Trash")) - args.Cancel(); - } - } - - private void OnActivateUIAttempt(EntityUid uid, DroneComponent component, UserOpenActivatableUIAttemptEvent args) - { - if (!_tagSystem.HasTag(args.Target, "DroneUsable")) - { - args.Cancel(); - } - } - - private void OnExamined(EntityUid uid, DroneComponent component, ExaminedEvent args) - { - if (TryComp(uid, out var mind) && mind.HasMind) - { - args.PushMarkup(Loc.GetString("drone-active")); - } - else - { - args.PushMarkup(Loc.GetString("drone-dormant")); - } - } - - private void OnMobStateChanged(EntityUid uid, DroneComponent drone, MobStateChangedEvent args) - { - if (args.NewMobState == MobState.Dead) - { - if (TryComp(uid, out var innate)) - _innateToolSystem.Cleanup(uid, innate); - - if (TryComp(uid, out var body)) - _bodySystem.GibBody(uid, body: body); - QueueDel(uid); - } - } - - private void OnMindAdded(EntityUid uid, DroneComponent drone, MindAddedMessage args) - { - UpdateDroneAppearance(uid, DroneStatus.On); - _popupSystem.PopupEntity(Loc.GetString("drone-activated"), uid, PopupType.Large); - } - - private void OnMindRemoved(EntityUid uid, DroneComponent drone, MindRemovedMessage args) - { - UpdateDroneAppearance(uid, DroneStatus.Off); - EnsureComp(uid); - } - - private void OnEmoteAttempt(EntityUid uid, DroneComponent component, EmoteAttemptEvent args) - { - // No. - args.Cancel(); - } - - private void OnThrowAttempt(EntityUid uid, DroneComponent drone, ThrowAttemptEvent args) - { - args.Cancel(); - } - - private void UpdateDroneAppearance(EntityUid uid, DroneStatus status) - { - if (TryComp(uid, out var appearance)) - { - _appearance.SetData(uid, DroneVisuals.Status, status, appearance); - } - } - - private bool NonDronesInRange(EntityUid uid, DroneComponent component) - { - var xform = Comp(uid); - foreach (var entity in _lookup.GetEntitiesInRange(xform.MapPosition, component.InteractionBlockRange)) - { - // Return true if the entity is/was controlled by a player and is not a drone or ghost. - if (HasComp(entity) && !HasComp(entity) && !HasComp(entity)) - { - // Filter out dead ghost roles. Dead normal players are intended to block. - if ((TryComp(entity, out var entityMobState) && HasComp(entity) && _mobStateSystem.IsDead(entity, entityMobState))) - continue; - if (_gameTiming.IsFirstTimePredicted) - _popupSystem.PopupEntity(Loc.GetString("drone-too-close", ("being", Identity.Entity(entity, EntityManager))), uid, uid); - return true; - } - } - return false; - } - } -} diff --git a/Content.Server/Tools/Innate/InnateToolComponent.cs b/Content.Server/Tools/Innate/InnateToolComponent.cs index bfe7c213425..d3afca3059a 100644 --- a/Content.Server/Tools/Innate/InnateToolComponent.cs +++ b/Content.Server/Tools/Innate/InnateToolComponent.cs @@ -7,5 +7,6 @@ public sealed partial class InnateToolComponent : Component { [DataField("tools")] public List Tools = new(); public List ToolUids = new(); + public List ToSpawn = new(); } } diff --git a/Content.Server/Tools/Innate/InnateToolSystem.cs b/Content.Server/Tools/Innate/InnateToolSystem.cs index d0109138ad3..e7e5be38c44 100644 --- a/Content.Server/Tools/Innate/InnateToolSystem.cs +++ b/Content.Server/Tools/Innate/InnateToolSystem.cs @@ -1,90 +1,99 @@ +using System.Linq; +using Content.Shared.Body.Part; using Content.Shared.Destructible; +using Content.Shared.Hands; using Content.Shared.Hands.Components; using Content.Shared.Hands.EntitySystems; using Content.Shared.Interaction.Components; using Content.Shared.Storage; using Content.Shared.Tag; +using Robust.Shared.Network; using Robust.Shared.Random; -namespace Content.Server.Tools.Innate +namespace Content.Server.Tools.Innate; + +///

+/// Spawns a list unremovable tools in hands if possible. Used for drones, +/// borgs, or maybe even stuff like changeling armblades! +/// +public sealed class InnateToolSystem : EntitySystem { - /// - /// Spawns a list unremovable tools in hands if possible. Used for drones, - /// borgs, or maybe even stuff like changeling armblades! - /// - public sealed class InnateToolSystem : EntitySystem + [Dependency] private readonly IRobustRandom _robustRandom = default!; + [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!; + [Dependency] private readonly TagSystem _tagSystem = default!; + + public override void Initialize() { - [Dependency] private readonly IRobustRandom _robustRandom = default!; - [Dependency] private readonly SharedHandsSystem _sharedHandsSystem = default!; - [Dependency] private readonly TagSystem _tagSystem = default!; - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnStartup); - SubscribeLocalEvent(OnShutdown); - SubscribeLocalEvent(OnDestroyed); - } + base.Initialize(); + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnHandCountChanged); + SubscribeLocalEvent(OnShutdown); + SubscribeLocalEvent(OnDestroyed); + } - private void OnStartup(EntityUid uid, InnateToolComponent component, ComponentStartup args) - { - if (component.Tools.Count == 0) - return; + private void OnMapInit(EntityUid uid, InnateToolComponent component, MapInitEvent args) + { + if (component.Tools.Count == 0) + return; - var spawnCoord = Transform(uid).Coordinates; + component.ToSpawn = EntitySpawnCollection.GetSpawns(component.Tools, _robustRandom); + } - if (TryComp(uid, out var hands) && hands.Count >= component.Tools.Count) - { - var items = EntitySpawnCollection.GetSpawns(component.Tools, _robustRandom); - foreach (var entry in items) - { - var item = Spawn(entry, spawnCoord); - AddComp(item); - if (!_sharedHandsSystem.TryPickupAnyHand(uid, item, checkActionBlocker: false)) - { - QueueDel(item); - continue; - } - component.ToolUids.Add(item); - } - } - } + private void OnHandCountChanged(EntityUid uid, InnateToolComponent component, HandCountChangedEvent args) + { + if (component.ToSpawn.Count == 0) + return; + + var spawnCoord = Transform(uid).Coordinates; - private void OnShutdown(EntityUid uid, InnateToolComponent component, ComponentShutdown args) + var toSpawn = component.ToSpawn.First(); + + var item = Spawn(toSpawn, spawnCoord); + AddComp(item); + if (!_sharedHandsSystem.TryPickupAnyHand(uid, item, checkActionBlocker: false)) { - foreach (var tool in component.ToolUids) - { - RemComp(tool); - } + QueueDel(item); + component.ToSpawn.Clear(); } + component.ToSpawn.Remove(toSpawn); + component.ToolUids.Add(item); + } - private void OnDestroyed(EntityUid uid, InnateToolComponent component, DestructionEventArgs args) + private void OnShutdown(EntityUid uid, InnateToolComponent component, ComponentShutdown args) + { + foreach (var tool in component.ToolUids) { - Cleanup(uid, component); + RemComp(tool); } + } - public void Cleanup(EntityUid uid, InnateToolComponent component) + private void OnDestroyed(EntityUid uid, InnateToolComponent component, DestructionEventArgs args) + { + Cleanup(uid, component); + } + + public void Cleanup(EntityUid uid, InnateToolComponent component) + { + foreach (var tool in component.ToolUids) { - foreach (var tool in component.ToolUids) + if (_tagSystem.HasTag(tool, "InnateDontDelete")) { - if (_tagSystem.HasTag(tool, "InnateDontDelete")) - { - RemComp(tool); - } - else - { - Del(tool); - } + RemComp(tool); + } + else + { + Del(tool); + } - if (TryComp(uid, out var hands)) + if (TryComp(uid, out var hands)) + { + foreach (var hand in hands.Hands) { - foreach (var hand in hands.Hands) - { - _sharedHandsSystem.TryDrop(uid, hand.Value, checkActionBlocker: false, handsComp: hands); - } + _sharedHandsSystem.TryDrop(uid, hand.Value, checkActionBlocker: false, handsComp: hands); } } - - component.ToolUids.Clear(); } + + component.ToolUids.Clear(); } } diff --git a/Content.Server/Zombies/ZombieSystem.cs b/Content.Server/Zombies/ZombieSystem.cs index 1009e0a2947..e515c377be8 100644 --- a/Content.Server/Zombies/ZombieSystem.cs +++ b/Content.Server/Zombies/ZombieSystem.cs @@ -3,7 +3,6 @@ using Content.Server.Chat; using Content.Server.Chat.Systems; using Content.Server.Cloning; -using Content.Server.Drone.Components; using Content.Server.Emoting.Systems; using Content.Server.Inventory; using Content.Server.Speech.EntitySystems; @@ -214,7 +213,7 @@ private void OnMeleeHit(EntityUid uid, ZombieComponent component, MeleeHitEvent if (args.User == entity) continue; - if (!TryComp(entity, out var mobState) || HasComp(entity)) + if (!TryComp(entity, out var mobState)) continue; if (HasComp(entity)) diff --git a/Content.Shared/Drone/SharedDroneSystem.cs b/Content.Shared/Drone/SharedDroneSystem.cs deleted file mode 100644 index d6fc7efcc61..00000000000 --- a/Content.Shared/Drone/SharedDroneSystem.cs +++ /dev/null @@ -1,20 +0,0 @@ -using Robust.Shared.Serialization; - -namespace Content.Shared.Drone -{ - public abstract class SharedDroneSystem : EntitySystem - { - [Serializable, NetSerializable] - public enum DroneVisuals : byte - { - Status - } - - [Serializable, NetSerializable] - public enum DroneStatus : byte - { - Off, - On - } - } -} diff --git a/Resources/Locale/en-US/drone/drone-system.ftl b/Resources/Locale/en-US/drone/drone-system.ftl deleted file mode 100644 index 292f981ecb1..00000000000 --- a/Resources/Locale/en-US/drone/drone-system.ftl +++ /dev/null @@ -1,4 +0,0 @@ -drone-active = A maintenance drone. It seems totally unconcerned with you. -drone-dormant = A dormant maintenance drone. Who knows when it will wake up? -drone-activated = The drone whirrs to life! -drone-too-close = Your laws prevent this action near {THE($being)}. diff --git a/Resources/Migrations/migration.yml b/Resources/Migrations/migration.yml index edfb1e67a94..cec51fb7760 100644 --- a/Resources/Migrations/migration.yml +++ b/Resources/Migrations/migration.yml @@ -193,3 +193,8 @@ VehicleJanicartDestroyed: null # 2024-02-01 YellowOxygenTank: OxygenTank YellowOxygenTankFilled: OxygenTankFilled + +# 2024-02-19 +Drone: null +# SpawnMobDrone: null +Onestar: null # I dont think this is even mapped, but just in case diff --git a/Resources/Prototypes/Body/Prototypes/drone.yml b/Resources/Prototypes/Body/Prototypes/drone.yml deleted file mode 100644 index 00acba96462..00000000000 --- a/Resources/Prototypes/Body/Prototypes/drone.yml +++ /dev/null @@ -1,27 +0,0 @@ -- type: body - id: Drone - name: "drone" - root: hand 1 - slots: - hand 1: - part: LeftArmBorg - connections: - - hand 2 - hand 2: - part: LeftArmBorg - connections: - - hand 3 - hand 3: - part: LeftArmBorg - connections: - - hand 4 - hand 4: - part: LeftArmBorg - connections: - - hand 5 - hand 5: - part: RightArmBorg - connections: - - hand 6 - hand 6: - part: RightArmBorg diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml index f3983286757..1d0762d33af 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml @@ -267,15 +267,6 @@ contents: - id: BoxSurvival -- type: entity - noSpawn: true - parent: ClothingBackpackSatchel - id: ClothingBackpackSatchelDrone - components: - - type: Tag - tags: - - InnateDontDelete - - type: entity noSpawn: true parent: ClothingBackpackSatchelMime diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index f7648fb09c5..4f39c7fa1ec 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -50,9 +50,6 @@ whitelist: components: - LightBulb - - type: Tag - tags: - - DroneUsable - type: entity name: lighttube box @@ -74,9 +71,6 @@ whitelist: components: - LightBulb - - type: Tag - tags: - - DroneUsable - type: entity name: mixed lights box @@ -100,9 +94,6 @@ whitelist: components: - LightBulb - - type: Tag - tags: - - DroneUsable - type: entity name: PDA box @@ -217,9 +208,6 @@ layers: - state: box - state: inflatable - - type: Tag - tags: - - DroneUsable - type: entity @@ -271,9 +259,6 @@ layers: - state: box - state: trashbag - - type: Tag - tags: - - DroneUsable - type: entity name: passenger encryption key box diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index e34208e9ca1..9edffcb8f24 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -23,7 +23,6 @@ - type: Tag tags: - ClothMade - - DroneUsable - WhitelistChameleon - type: entity diff --git a/Resources/Prototypes/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/Entities/Clothing/Head/hats.yml index d76f86a8599..4c5a3244389 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hats.yml @@ -894,7 +894,6 @@ sprite: Clothing/Head/Hats/party_red.rsi - type: Tag tags: - - DroneUsable - WhitelistChameleon - HamsterWearable diff --git a/Resources/Prototypes/Entities/Clothing/Head/misc.yml b/Resources/Prototypes/Entities/Clothing/Head/misc.yml index 9826da57b78..3fd55faf266 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/misc.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/misc.yml @@ -175,15 +175,14 @@ suffix: DO NOT MAP components: - type: Tag - tags: # ignore "WhitelistChameleon" tag - - DroneUsable + tags: [] # ignore "WhitelistChameleon" tag - type: Sprite sprite: Clothing/Head/Hats/catears.rsi - type: Clothing sprite: Clothing/Head/Hats/catears.rsi - type: AddAccentClothing accent: OwOAccent - + - type: entity parent: ClothingHeadBase id: ClothingHeadHatDogEars @@ -191,9 +190,6 @@ description: Only for good boys. suffix: DO NOT MAP components: - - type: Tag - tags: - - DroneUsable - type: Sprite sprite: Clothing/Head/Hats/dogears.rsi - type: Clothing diff --git a/Resources/Prototypes/Entities/Clothing/Head/welding.yml b/Resources/Prototypes/Entities/Clothing/Head/welding.yml index 39d3eb85060..753646757e9 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/welding.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/welding.yml @@ -16,7 +16,6 @@ price: 50 - type: Tag tags: - - DroneUsable - WhitelistChameleon - type: entity @@ -31,7 +30,6 @@ sprite: Clothing/Head/Welding/welding.rsi - type: Tag tags: - - DroneUsable - HamsterWearable - WhitelistChameleon diff --git a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml index 214a19adff5..a59c7d59517 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/mobs.yml @@ -84,9 +84,6 @@ - state: green - sprite: Mobs/Silicon/drone.rsi state: shell - - type: ConditionalSpawner - prototypes: - - Drone - type: entity name: Fox Renault Spawner @@ -778,8 +775,8 @@ - type: ConditionalSpawner prototypes: - MobPenguin - - + + - type: entity name: Hellspawn Spawner id: SpawnMobHellspawn @@ -793,7 +790,7 @@ - type: ConditionalSpawner prototypes: - MobHellspawn - + - type: entity name: ore crab spawner id: SpawnMobOreCrab diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index baa4154d842..0f8998bdec8 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -1,249 +1,3 @@ -- type: entity - save: false - abstract: true - id: PlayerSiliconBase #for player controlled silicons - components: - - type: Reactive - groups: - Acidic: [Touch] - - type: Input - context: "human" - - type: DamageOnHighSpeedImpact - damage: - types: - Blunt: 5 - soundHit: - collection: MetalThud - - type: Clickable - - type: Damageable - damageContainer: Inorganic - - type: Bloodstream - bloodReagent: Oil - bloodlossDamage: - types: - Bloodloss: - 1 - bloodlossHealDamage: - types: - Bloodloss: - -1 - - type: InteractionOutline - - type: Fixtures - fixtures: - fix1: - shape: - # Circles, cuz rotation of rectangles looks very bad - !type:PhysShapeCircle - radius: 0.35 - density: 50 - mask: - - MobMask - layer: - - MobLayer - - type: MovementSpeedModifier - baseWalkSpeed : 4 - baseSprintSpeed : 3 - - type: Sprite - noRot: true - drawdepth: Mobs - - type: Physics - bodyType: KinematicController - - type: Hands - showInHands: false - - type: Body - prototype: Drone - - type: IntrinsicRadioReceiver - - type: IntrinsicRadioTransmitter - channels: - - Binary - - type: ActiveRadio - channels: - - Binary - - Common - - type: DoAfter - - type: Pullable - - type: Examiner - - type: Puller - - type: StandingState - - type: Alerts - - type: Tag - tags: - - ShoesRequiredStepTriggerImmune - - type: Eye - visMask: - - PsionicInvisibility - - Normal - -- type: entity - name: drone - id: Drone - parent: PlayerSiliconBase - components: - - type: Drone - - type: InnateTool - tools: - - id: ClothingBackpackSatchelDrone - - id: trayScanner - - id: Omnitool - - id: WelderExperimental - - type: NameIdentifier - group: Drone - - type: Inventory - templateId: drone - - type: InventorySlots - - type: Strippable - - type: UserInterface - interfaces: - - key: enum.StrippingUiKey.Key - type: StrippableBoundUserInterface - - key: enum.SiliconLawsUiKey.Key - type: SiliconLawBoundUserInterface - #- type: GhostRole - # makeSentient: true - # name: Maintenance Drone - # description: Maintain the station. Ignore other beings except drones. - # rules: | - # You are bound by these laws both in-game and out-of-character: - # 1. You may not involve yourself in the matters of another being, even if such matters conflict with Law Two or Law Three, unless the other being is another Drone. - # 2. You may not harm any being, regardless of intent or circumstance. - # 3. Your goals are to build, maintain, repair, improve, and power to the best of your abilities, You must never actively work against these goals. - #- type: GhostTakeoverAvailable - - type: SiliconLawBound - - type: SiliconLawProvider - laws: Drone - - type: MovementSpeedModifier - baseWalkSpeed : 5 - baseSprintSpeed : 5 - - type: MobState - allowedStates: - - Alive - - Dead - - type: MobThresholds - thresholds: - 0: Alive - 60: Dead - - type: Flashable - - type: NoSlip - - type: StatusEffects - allowed: - - Stun - - KnockedDown - - SlowedDown - - type: SlowOnDamage - speedModifierThresholds: - 30: 0.7 - 50: 0.5 - - type: Temperature - heatDamageThreshold: 5000 - currentTemperature: 310.15 - specificHeat: 42 - heatDamage: - types: - Heat : 1 #per second, scales with temperature & other constants - - type: Sprite - drawdepth: SmallMobs - layers: - - state: shell - sprite: Mobs/Silicon/drone.rsi - map: ["base"] - - type: MovementIgnoreGravity - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeCircle - radius: 0.35 - density: 50 - mask: - - SmallMobMask - layer: - - SmallMobLayer - - type: Appearance - - type: GenericVisualizer - visuals: - enum.DroneVisuals.Status: - base: - Off: { state: shell } - On: { state: drone } - - type: ReplacementAccent - accent: silicon - - type: Repairable - fuelcost: 15 - doAfterDelay: 8 - - type: Actions - - type: UnpoweredFlashlight - - type: PointLight - enabled: false - radius: 3.5 - softness: 1 - mask: /Textures/Effects/LightMasks/cone.png - autoRot: true - - type: Tag - tags: - - ShoesRequiredStepTriggerImmune - - CannotSuicide - -- type: entity - name: onestar mecha - id: Onestar - parent: PlayerSiliconBase - components: - - type: InnateTool - tools: - - id: WeaponMinigun - - id: EnergySword - - id: WeaponLauncherMultipleRocket - - id: WeaponXrayCannon - - type: UserInterface - interfaces: - - key: enum.StrippingUiKey.Key - type: StrippableBoundUserInterface - - type: GhostRole - makeSentient: true - name: ghost-role-information-onestar-mecha-name - description: ghost-role-information-onestar-mecha-description - rules: ghost-role-information-onestar-mecha-rules - - type: GhostTakeoverAvailable - - type: MovementSpeedModifier - baseWalkSpeed : 3 - baseSprintSpeed : 2 - - type: MobState - allowedStates: - - Alive - - Dead - - type: MobThresholds - thresholds: - 0: Alive - 1000: Dead - - type: Sprite - drawdepth: Mobs - layers: - - state: onestar_boss - sprite: Mobs/Silicon/onestar.rsi - - state: onestar_boss_screen - sprite: Mobs/Silicon/onestar.rsi - shader: unshaded - - type: FootstepModifier - footstepSoundCollection: - path: /Audio/Mecha/sound_mecha_powerloader_step.ogg - - type: MovementIgnoreGravity - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeCircle - radius: 1 - density: 160 - mask: - - LargeMobMask - layer: - - MobLayer - - type: Appearance - - type: CombatMode - - type: Tag - tags: - - FootstepSound - - type: entity id: PlayerBorgGeneric parent: BorgChassisGeneric @@ -252,9 +6,9 @@ - type: ContainerFill containers: borg_brain: - - PositronicBrain + - PositronicBrain borg_module: - - BorgModuleTool + - BorgModuleTool - type: ItemSlots slots: cell_slot: @@ -271,7 +25,7 @@ - type: ContainerFill containers: borg_brain: - - MMIFilled + - MMIFilled - type: ItemSlots slots: cell_slot: @@ -283,17 +37,17 @@ parent: BorgChassisSyndicateAssault suffix: Battery, Module, Operative components: - - type: NukeOperative - - type: ContainerFill - containers: - borg_brain: - - PositronicBrain - borg_module: - - BorgModuleOperative - - BorgModuleL6C - - BorgModuleEsword - - type: ItemSlots - slots: - cell_slot: - name: power-cell-slot-component-slot-name-default - startingItem: PowerCellHyper + - type: NukeOperative + - type: ContainerFill + containers: + borg_brain: + - PositronicBrain + borg_module: + - BorgModuleOperative + - BorgModuleL6C + - BorgModuleEsword + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellHyper diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index 30bd4cb3dac..4fc2e170d5b 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -350,7 +350,6 @@ - type: Tag tags: - Trash - - DroneUsable - WhitelistChameleon - type: TrashOnSolutionEmpty solution: drink diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml index 4e6dced060e..164777284fa 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml @@ -11,9 +11,6 @@ state: generic - type: Item storedRotation: -90 - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 100 - type: PhysicalComposition diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml index c5e4b9e1302..7eb40ac8b32 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml @@ -10,9 +10,6 @@ state: cpuboard - type: Item storedRotation: -90 - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 100 - type: PhysicalComposition @@ -89,9 +86,6 @@ prototype: ComputerCargoOrders - type: StaticPrice price: 750 - - type: Tag - tags: - - DroneUsable - type: entity id: CargoBountyComputerCircuitboard @@ -104,9 +98,6 @@ - type: ComputerBoard prototype: ComputerCargoBounty - type: StaticPrice - - type: Tag - tags: - - DroneUsable - type: entity parent: BaseComputerCircuitboard @@ -164,7 +155,6 @@ prototype: ComputerSurveillanceCameraMonitor - type: Tag tags: - - DroneUsable - SurveillanceCameraMonitorCircuitboard - type: entity @@ -186,7 +176,6 @@ prototype: ComputerTelevision - type: Tag tags: - - DroneUsable - ComputerTelevisionCircuitboard - type: entity @@ -257,7 +246,6 @@ price: 750 - type: Tag tags: - - DroneUsable - HighRiskItem - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml index aca34b9ad0b..a4275995dc3 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml @@ -9,7 +9,6 @@ state: airalarm_electronics - type: Tag tags: - - DroneUsable - StationMapElectronics - type: StaticPrice - price: 15 \ No newline at end of file + price: 15 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml index 37f56f4ca3c..cdc3eb2e53c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml @@ -9,7 +9,6 @@ state: airalarm_electronics - type: Tag tags: - - DroneUsable - AirAlarmElectronics - type: ReverseEngineering # Nyano recipes: @@ -28,7 +27,6 @@ state: airalarm_electronics - type: Tag tags: - - DroneUsable - FireAlarmElectronics - type: ReverseEngineering # Nyano recipes: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml index d55b5a1098f..8ee76d43e9d 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml @@ -8,9 +8,6 @@ - type: Sprite sprite: Objects/Misc/module.rsi state: generic - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 100 - type: PhysicalComposition diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/disposal.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/disposal.yml index bfc00dcbf8d..009736707d8 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/disposal.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/disposal.yml @@ -9,7 +9,6 @@ state: net_wired - type: Tag tags: - - DroneUsable - MailingUnitElectronics - type: ReverseEngineering # Nyano recipes: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door.yml index a444afe3a48..fef98a457e0 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door.yml @@ -11,7 +11,6 @@ - type: Tag tags: - DoorElectronics - - DroneUsable - type: ReverseEngineering # Nyano recipes: - DoorElectronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml index 3a8c6f3e025..929e534577e 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml @@ -9,7 +9,6 @@ state: mainboard - type: Tag tags: - - DroneUsable - FirelockElectronics - type: ReverseEngineering # Nyano recipes: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/intercom.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/intercom.yml index 2a77d228a8f..2196c9d3655 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/intercom.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/intercom.yml @@ -9,7 +9,6 @@ state: id_mod - type: Tag tags: - - DroneUsable - IntercomElectronics - type: ReverseEngineering # Nyano recipes: diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml index 5aa7f79544e..24da64964c8 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/power_electronics.yml @@ -34,7 +34,6 @@ price: 40 - type: Tag tags: - - DroneUsable - WallmountSubstationElectronics # Wallmount Generator @@ -54,7 +53,6 @@ Glass: 90 - type: Tag tags: - - DroneUsable - WallmountGeneratorElectronics # APU @@ -71,7 +69,6 @@ price: 40 - type: Tag tags: - - DroneUsable - WallmountGeneratorAPUElectronics # Solar Tracker Electronics @@ -88,5 +85,4 @@ price: 85 - type: Tag tags: - - DroneUsable - SolarTrackerElectronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml index 974918a068f..39e94018329 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml @@ -35,6 +35,3 @@ cpu_supply: "#A46106" - type: StaticPrice price: 250 - - type: Tag - tags: - - DroneUsable diff --git a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml index 440bc4dd8a8..c3bd74dd751 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/mousetrap.yml @@ -54,9 +54,6 @@ mask: - ItemMask - type: Rotatable - - type: Tag - tags: - - DroneUsable - type: entity name: mousetrap diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index f99b9cf0741..64c601b4830 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml @@ -15,7 +15,6 @@ - type: Tag tags: - Sheet - - DroneUsable - type: Material - type: Damageable damageContainer: Inorganic @@ -47,7 +46,7 @@ acts: [ "Destruction" ] - type: SolutionContainerManager solutions: - glass: + glass: canReact: false - type: entity @@ -197,7 +196,7 @@ - ReagentId: Carbon Quantity: 0.5 canReact: false - + - type: entity parent: SheetGlassBase id: SheetPGlass @@ -443,8 +442,8 @@ Quantity: 4.5 - ReagentId: Carbon Quantity: 0.5 - canReact: false - + canReact: false + - type: entity parent: SheetRUGlass id: SheetRUGlass1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml index 24b4544e566..ae817f6ffc1 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml @@ -15,7 +15,6 @@ tags: - Sheet - Metal - - DroneUsable - type: Damageable damageContainer: Inorganic damageModifierSet: Metallic diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index 18590e98dfc..dfb51336289 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml @@ -12,7 +12,6 @@ - type: Tag tags: - Sheet - - DroneUsable - type: Damageable damageContainer: Inorganic - type: Destructible @@ -133,7 +132,6 @@ tags: - Plastic - Sheet - - DroneUsable - type: Material - type: PhysicalComposition materialComposition: @@ -250,7 +248,6 @@ - type: Tag tags: - Sheet - - DroneUsable - type: Material - type: PhysicalComposition materialComposition: diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index e0577f0a929..e71a163b5d0 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -11,7 +11,6 @@ size: Normal - type: Tag tags: - - DroneUsable - RawMaterial - type: Damageable damageContainer: Inorganic @@ -128,7 +127,6 @@ - type: Tag tags: - ClothMade - - DroneUsable - Gauze - RawMaterial - type: Construction @@ -193,7 +191,6 @@ - type: Tag tags: - ClothMade - - DroneUsable - RawMaterial - type: entity @@ -241,7 +238,6 @@ - type: Tag tags: - Wooden - - DroneUsable - RawMaterial - type: Extractable grindableSolutionName: wood @@ -411,10 +407,8 @@ - type: Tag tags: - ClothMade - - DroneUsable - RawMaterial - - type: entity parent: MaterialCotton id: MaterialCotton1 @@ -523,7 +517,6 @@ - type: Tag tags: - ClothMade - - DroneUsable - RawMaterial - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Materials/parts.yml b/Resources/Prototypes/Entities/Objects/Materials/parts.yml index a15675995cc..71adedab0ed 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/parts.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/parts.yml @@ -8,9 +8,6 @@ state: rods - type: Item sprite: Objects/Materials/parts.rsi - - type: Tag - tags: - - DroneUsable - type: Damageable damageContainer: Inorganic damageModifierSet: FlimsyMetallic @@ -81,7 +78,6 @@ - type: Tag tags: - RodMetal1 - - DroneUsable - type: Sprite state: rods - type: Stack @@ -96,7 +92,6 @@ - type: Tag tags: - RodMetal1 - - DroneUsable - type: Sprite state: rods - type: Stack diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml index 445e2c7b5b1..286e28c53d5 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml @@ -15,9 +15,6 @@ Blunt: 5 - type: Stack count: 1 - - type: Tag - tags: - - DroneUsable - type: Damageable damageContainer: Inorganic - type: Destructible diff --git a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml b/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml index 62aa0dccdd5..9aa60140666 100644 --- a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml +++ b/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml @@ -16,8 +16,5 @@ price: 500 - type: GuideHelp guides: [ AME, Power ] - - type: Tag - tags: - - DroneUsable - type: StealTarget stealGroup: AmePart diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml index 758d5f7b423..8aefe5e931b 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml @@ -27,7 +27,6 @@ Quantity: 5 - type: Tag tags: - - DroneUsable - PowerCell - type: Appearance - type: PowerCellVisuals @@ -50,7 +49,6 @@ startingCharge: 70 - type: Tag tags: - - DroneUsable - PotatoBattery - type: Construction graph: PowerCellPotato @@ -315,7 +313,7 @@ - type: Battery maxCharge: 1400 startingCharge: 1400 - + - type: entity id: PowerCageMedium parent: BasePowerCage @@ -333,7 +331,7 @@ - type: Battery maxCharge: 2700 startingCharge: 2700 - + - type: entity id: PowerCageHigh parent: BasePowerCage @@ -351,7 +349,7 @@ - type: Battery maxCharge: 6200 startingCharge: 6200 - + - type: entity id: PowerCageSmallEmpty parent: PowerCageSmall @@ -369,7 +367,7 @@ - type: Battery maxCharge: 1400 startingCharge: 0 - + - type: entity id: PowerCageMediumEmpty parent: PowerCageMedium @@ -386,7 +384,7 @@ visible: false - type: Battery startingCharge: 0 - + - type: entity id: PowerCageHighEmpty parent: PowerCageHigh @@ -402,4 +400,4 @@ shader: unshaded visible: false - type: Battery - startingCharge: 0 \ No newline at end of file + startingCharge: 0 diff --git a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml b/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml index 0fcd11f9b00..de8aef6518a 100644 --- a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml +++ b/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml @@ -11,6 +11,3 @@ - type: Sprite sprite: Objects/Power/solar_parts.rsi state: solar_assembly_parts - - type: Tag - tags: - - DroneUsable diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index ce4eef7453a..8d3c83e3e1e 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -30,7 +30,6 @@ delay: 1 - type: Tag tags: - - DroneUsable #No bucket because it holds chems, they can drag the cart or use a drain - Mop - MopBasic - type: GuideHelp @@ -81,7 +80,6 @@ maxVol: 100 - type: Tag tags: - - DroneUsable #No bucket because it holds chems, they can drag the cart or use a drain - Mop - MopAdv @@ -649,7 +647,6 @@ delay: 1.5 - type: Tag tags: - - DroneUsable - Mop - type: CleansForensics - type: Fiber diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml index e9eb18f926f..0e19c03deef 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml @@ -91,8 +91,6 @@ - type: Tag tags: - Spray - - DroneUsable #They don't have any other chem stuff on their whitelist so they can't refill it - # Vapor - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml index 1a97b607bba..b74962d9d7a 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml @@ -25,7 +25,6 @@ - type: Tag tags: - TrashBag - - DroneUsable - type: Appearance - type: StorageFillVisualizer maxFillLevels: 4 diff --git a/Resources/Prototypes/Entities/Objects/Specific/atmos.yml b/Resources/Prototypes/Entities/Objects/Specific/atmos.yml index ff946aefe91..0dc714aba0c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/atmos.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/atmos.yml @@ -26,9 +26,6 @@ enabled: True: { state: working } False: { state: icon } - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 80 - type: PhysicalComposition diff --git a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml index e1e565cc186..bfb3069efba 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml @@ -12,7 +12,6 @@ - type: Tag tags: - CableCoil - - DroneUsable - type: Stack stackType: Cable - type: Sprite @@ -221,4 +220,4 @@ - type: Sprite state: coillv-10 - type: Stack - count: 1 \ No newline at end of file + count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/flashlights.yml b/Resources/Prototypes/Entities/Objects/Tools/flashlights.yml index 3f63989fff0..444ded24d51 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/flashlights.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/flashlights.yml @@ -7,7 +7,6 @@ - type: Tag tags: - Flashlight - - DroneUsable - type: HandheldLight addPrefix: false blinkingBehaviourId: blinking diff --git a/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml b/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml index 5c30cfdea3a..86163aad67c 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/inflatable_wall.yml @@ -19,9 +19,6 @@ doAfter: 1 removeOnInteract: true - type: Clickable - - type: Tag - tags: - - DroneUsable # TODO: Add stack sprites + visuals. - type: entity @@ -45,9 +42,6 @@ doAfter: 1 removeOnInteract: true - type: Clickable - - type: Tag - tags: - - DroneUsable # TODO: Add stack sprites + visuals. - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml b/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml index 442e939d423..646f6a63784 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml @@ -15,9 +15,6 @@ amount: 8 - id: LightBulb amount: 5 - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 100 - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Tools/t-ray.yml b/Resources/Prototypes/Entities/Objects/Tools/t-ray.yml index 71032290b1d..c467974b743 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/t-ray.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/t-ray.yml @@ -19,8 +19,5 @@ base: On: { state: tray-on } Off: { state: tray-off } - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 60 diff --git a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml index 250f570c5f9..667d8559971 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/toolbox.yml @@ -24,7 +24,6 @@ path: "/Audio/Weapons/smash.ogg" - type: Tag tags: - - DroneUsable - Toolbox - type: GenericVisualizer visuals: @@ -170,4 +169,4 @@ - type: UserInterface interfaces: - key: enum.ThiefBackpackUIKey.Key - type: ThiefBackpackBoundUserInterface \ No newline at end of file + type: ThiefBackpackBoundUserInterface diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 72f044cd89e..23d172c7807 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -221,7 +221,6 @@ - type: Tag tags: - Multitool - - DroneUsable - type: PhysicalComposition materialComposition: Steel: 100 @@ -271,9 +270,6 @@ type: NetworkConfiguratorBoundUserInterface - key: enum.NetworkConfiguratorUiKey.Link type: NetworkConfiguratorBoundUserInterface - - type: Tag - tags: - - DroneUsable - type: StaticPrice price: 56 - type: GuideHelp diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 5927602b4d7..2fa3c104469 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -638,9 +638,6 @@ radius: 1.5 energy: 1.6 color: "#e6e227" - - type: Tag - tags: - - DroneUsable - type: entity parent: BaseComputer diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index ed476b4c10f..de735ab3624 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -282,7 +282,6 @@ - Implanter - PillCanister - ChemistryEmptyBottle01 - - Drone - AdvMopItem - WeaponSprayNozzle - ClothingBackpackWaterTank diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index ee40012bbeb..1b0c896b0b0 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -296,9 +296,6 @@ - type: Advertise pack: ClothesMateAds - type: Speech - - type: Tag - tags: - - DroneUsable - type: Sprite sprite: Structures/Machines/VendingMachines/clothing.rsi layers: @@ -329,9 +326,6 @@ - type: Advertise pack: ClothesMateAds - type: Speech - - type: Tag - tags: - - DroneUsable - type: Sprite sprite: Structures/Machines/VendingMachines/winterdrobe.rsi layers: @@ -1103,9 +1097,6 @@ radius: 1.5 energy: 1.6 color: "#c73434" - - type: Tag - tags: - - DroneUsable - type: entity parent: VendingMachine @@ -1201,9 +1192,6 @@ radius: 1.5 energy: 1.6 color: "#d4ab33" - - type: Tag - tags: - - DroneUsable - type: entity parent: VendingMachine diff --git a/Resources/Prototypes/Recipes/Lathes/misc.yml b/Resources/Prototypes/Recipes/Lathes/misc.yml index 84091668e3c..15b20d8b904 100644 --- a/Resources/Prototypes/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/Recipes/Lathes/misc.yml @@ -75,15 +75,6 @@ materials: Wood: 100 -- type: latheRecipe - id: Drone - result: Drone - completetime: 6 - materials: - Steel: 500 - Glass: 500 - Plastic: 500 - - type: latheRecipe id: SynthesizerInstrument result: SynthesizerInstrument diff --git a/Resources/Prototypes/Research/experimental.yml b/Resources/Prototypes/Research/experimental.yml index 315a5542788..e2733c6928c 100644 --- a/Resources/Prototypes/Research/experimental.yml +++ b/Resources/Prototypes/Research/experimental.yml @@ -11,7 +11,6 @@ cost: 5000 recipeUnlocks: - ProximitySensor - - Drone - ExosuitFabricatorMachineCircuitboard - type: technology diff --git a/Resources/Prototypes/name_identifier_groups.yml b/Resources/Prototypes/name_identifier_groups.yml index 7df370035e3..82c2f3bce9a 100644 --- a/Resources/Prototypes/name_identifier_groups.yml +++ b/Resources/Prototypes/name_identifier_groups.yml @@ -11,13 +11,6 @@ id: Holoparasite prefix: HOLO -- type: nameIdentifierGroup - id: Drone - prefix: DR - fullName: true - minValue: 10000 - maxValue: 99999 - - type: nameIdentifierGroup id: MMI prefix: MMI diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 3b2dcbe3749..6bcff07f4aa 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -467,9 +467,6 @@ - type: Tag id: DrinkBottle -- type: Tag - id: DroneUsable - - type: Tag id: Duck From 46755a9a0b57ad801b47bde3b3097e63d9fd0ed8 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:24:10 +0000 Subject: [PATCH 016/345] Automatic changelog update (cherry picked from commit 390ca2a7b2f1348e4e1ecd921c61c0310ceaff73) --- Resources/Changelog/Changelog.yml | 58 +++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 2162ea61bbd..25ed5ce44d9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,33 +1,4 @@ Entries: -- author: Blazeror - changes: - - message: Pinpointers now use the correct sprites. - type: Fix - id: 5483 - time: '2023-12-30T19:12:13.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23236 -- author: Emisse - changes: - - message: The Grand Lottery has even more surprises in store! - type: Tweak - id: 5484 - time: '2023-12-30T21:24:24.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23243 -- author: Blackern5000 - changes: - - message: Chang's instant ramen cups have been slightly enlarged to accommodate - 10ml of boiling water, as per the instructions. - type: Tweak - id: 5485 - time: '2023-12-30T22:27:10.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23189 -- author: Velcroboy - changes: - - message: Moved head clothing items out of their lockers and into their dressers. - type: Tweak - id: 5486 - time: '2023-12-30T22:42:19.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23183 - author: Carve changes: - message: Voice change has a new icon. @@ -3850,3 +3821,32 @@ id: 5982 time: '2024-02-21T06:16:25.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25286 +- author: Tayrtahn + changes: + - message: Added fill level visuals to all the drinks. Cheers! + type: Add + id: 5983 + time: '2024-02-21T06:17:56.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25319 +- author: Potato1234_x + changes: + - message: Happy Honk boxes can now hold normal sized items + type: Tweak + id: 5984 + time: '2024-02-21T06:21:45.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25245 +- author: Hanzdegloker + changes: + - message: Standardized amount of huds in vendors and added new diagnostics eyeapatch + hud + type: Tweak + id: 5985 + time: '2024-02-21T06:22:30.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25208 +- author: DebugOk + changes: + - message: Drones are now completely removed instead of just being disabled + type: Remove + id: 5986 + time: '2024-02-21T06:23:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25372 From fefb3dea9228a2beba151c722fb34eecd5711644 Mon Sep 17 00:00:00 2001 From: Hanz <41141796+hanzdegloker@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:26:23 +0100 Subject: [PATCH 017/345] Dept. Head Dresser + Locker Fixup (#25206) * standardized dresser and locker contents for heads what it says on the tin * No more 3 labcoats CMO yup (cherry picked from commit 4372e29c6c6bc96ba4cab124b2032362721eeae4) --- .../Prototypes/Catalog/Fills/Lockers/dressers.yml | 12 +++++++++--- Resources/Prototypes/Catalog/Fills/Lockers/heads.yml | 7 ++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/dressers.yml b/Resources/Prototypes/Catalog/Fills/Lockers/dressers.yml index e0abc204c15..94e10d76eea 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/dressers.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/dressers.yml @@ -13,6 +13,7 @@ - id: ClothingUniformJumpskirtCapFormalDress - id: ClothingHandsGlovesInspection # DeltaV - ClothingHandsGlovesCaptain replaced in favour of inspection gloves - id: ClothingNeckMantleCap + - id: ClothingOuterWinterCap - type: entity id: DresserChiefEngineerFilled @@ -26,6 +27,7 @@ - id: ClothingUniformJumpskirtChiefEngineerTurtle - id: ClothingNeckCloakCe - id: ClothingHeadHatBeretEngineering + - id: ClothingOuterWinterCE - type: entity id: DresserChiefMedicalOfficerFilled @@ -38,6 +40,8 @@ - id: ClothingCloakCmo - id: ClothingOuterCoatLabCmo - id: ClothingHeadHatBeretCmo + - id: ClothingEyesGlasses + - id: ClothingOuterWinterCMO - type: entity id: DresserHeadOfPersonnelFilled @@ -50,6 +54,7 @@ - id: ClothingNeckCloakHop - id: ClothingHeadHatHopcap - id: ClothingOuterWinterHoP + - id: ClothingEyesGlasses - type: entity id: DresserHeadOfSecurityFilled @@ -66,7 +71,7 @@ - id: ClothingUniformJumpsuitHoSAlt - id: ClothingUniformJumpskirtHosFormal - id: ClothingUniformJumpsuitHosFormal - - id: ClothingMaskNeckGaiter + - id: ClothingOuterWinterHoS - type: entity id: DresserQuarterMasterFilled @@ -76,13 +81,13 @@ - type: StorageFill contents: - id: ClothingNeckCloakQm - - id: ClothingHeadsetCargo - id: ClothingHeadHatBeretQM - id: ClothingUniformJumpsuitQMFormal - id: ClothingUniformJumpsuitQMTurtleneck - id: ClothingUniformJumpskirtQMTurtleneck - id: ClothingHandsGlovesColorBrown - id: ClothingNeckMantleQM + - id: ClothingOuterWinterQM - type: entity id: DresserResearchDirectorFilled @@ -95,7 +100,8 @@ - id: ClothingNeckCloakMystagogue # DeltaV - ClothingNeckCloakRd replaced in favour of Velta variant - id: ClothingHeadHatBeretRND - id: ClothingHandsGlovesColorPurple - - id: ClothingHeadsetAltScience + - id: ClothingEyesGlasses + - id: ClothingOuterWinterRD - type: entity id: DresserWardenFilled diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 0f145d91972..913a3234af5 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -212,7 +212,6 @@ - id: ClothingHeadsetAltMedical - id: ClothingCloakCmo - id: ClothingBackpackDuffelSurgeryFilled - - id: ClothingOuterCoatLabCmo - id: ClothingMaskSterile - id: ClothingHeadHatBeretCmo - id: ClothingOuterHardsuitMedical @@ -261,7 +260,6 @@ - id: ResearchComputerCircuitboard - id: ProtolatheMachineCircuitboard - id: CircuitImprinterMachineCircuitboard - - id: ClothingHeadsetMedicalScience - id: ClothingOuterHardsuitRd - id: HandTeleporter - id: DoorRemoteResearch @@ -271,6 +269,7 @@ - id: BoxPDAScience # Delta-V - id: RDIDCard # Delta-V - id: ClothingShoesBootsWinterMystagogue #Delta V: Add departmental winter boots + - id: ClothingHeadsetAltScience - id: EncryptionKeyBinary - type: entity @@ -283,7 +282,6 @@ - id: ResearchComputerCircuitboard - id: ProtolatheMachineCircuitboard - id: CircuitImprinterMachineCircuitboard - - id: ClothingHeadsetMedicalScience - id: HandTeleporter - id: DoorRemoteResearch - id: ClothingBeltUtilityFilled @@ -292,6 +290,7 @@ - id: BoxPDAScience # Delta-V - id: RDIDCard # Delta-V - id: ClothingShoesBootsWinterMystagogue #Delta V: Add departmental winter boots + - id: ClothingHeadsetAltScience - id: EncryptionKeyBinary - type: entity @@ -304,6 +303,7 @@ - id: ClothingEyesHudSecurity - id: WeaponDisabler - id: ClothingOuterCoatHoSTrench + - id: ClothingMaskNeckGaiter - id: ClothingOuterHardsuitCombatHoS # DeltaV - ClothingOuterHardsuitSecurityRed replaced in favour of head of security's advanced combat hardsuit. - id: ClothingMaskGasSwat - id: ClothingBeltSecurityFilled @@ -334,6 +334,7 @@ - id: ClothingEyesHudSecurity - id: WeaponDisabler - id: ClothingOuterCoatHoSTrench + - id: ClothingMaskNeckGaiter - id: ClothingBeltSecurityFilled - id: ClothingHeadsetAltSecurity - id: ClothingEyesGlassesSunglasses From bff7e071fd0b263b89c4329f34594cafceaebbb2 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:27:29 +0000 Subject: [PATCH 018/345] Automatic changelog update (cherry picked from commit 44d7c4c4bc3d6f7c9750d65d2a0d38ed376cf5f3) --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 25ed5ce44d9..6376d6ed40e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Carve - changes: - - message: Voice change has a new icon. - type: Tweak - id: 5487 - time: '2023-12-30T23:13:27.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23239 - author: lzk228 changes: - message: Mime's stamp is silent now! @@ -3850,3 +3843,13 @@ id: 5986 time: '2024-02-21T06:23:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25372 +- author: Hanzdegloker + changes: + - message: Dept. Heads are now guaranteed to have their respective winter coats + in their dressers + type: Tweak + - message: Standardized the contents of Dept. Heads dressers and lockers + type: Tweak + id: 5987 + time: '2024-02-21T06:26:24.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25206 From 73249e78bf2ae6094d6d750545c63c862b54f32d Mon Sep 17 00:00:00 2001 From: Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:28:26 +0300 Subject: [PATCH 019/345] Add new stairs (#25212) * Add new stairs * Resprite * Resprite again * empty (cherry picked from commit 688c9ab8179b3a46542d6301c2a52f8c8345a482) --- .../Prototypes/Entities/Structures/stairs.yml | 49 ++++++++++++++++-- .../Textures/Structures/stairs.rsi/meta.json | 20 +++++-- .../Textures/Structures/stairs.rsi/stairs.png | Bin 4102 -> 0 bytes .../Structures/stairs.rsi/stairs_dark.png | Bin 0 -> 6065 bytes .../Structures/stairs.rsi/stairs_stage.png | Bin 1140 -> 0 bytes .../stairs.rsi/stairs_stage_dark.png | Bin 0 -> 3478 bytes .../stairs.rsi/stairs_stage_steel.png | Bin 0 -> 3636 bytes .../stairs.rsi/stairs_stage_white.png | Bin 0 -> 3669 bytes .../Structures/stairs.rsi/stairs_steel.png | Bin 0 -> 6249 bytes .../Structures/stairs.rsi/stairs_white.png | Bin 0 -> 6593 bytes 10 files changed, 62 insertions(+), 7 deletions(-) delete mode 100644 Resources/Textures/Structures/stairs.rsi/stairs.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_dark.png delete mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage_dark.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage_steel.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_stage_white.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_steel.png create mode 100644 Resources/Textures/Structures/stairs.rsi/stairs_white.png diff --git a/Resources/Prototypes/Entities/Structures/stairs.yml b/Resources/Prototypes/Entities/Structures/stairs.yml index f2e1ae62faa..628c9331488 100644 --- a/Resources/Prototypes/Entities/Structures/stairs.yml +++ b/Resources/Prototypes/Entities/Structures/stairs.yml @@ -1,6 +1,7 @@ - type: entity id: Stairs name: stairs + suffix: steel description: The greatest invention since rocket-propelled grenades. placement: mode: SnapgridCenter @@ -8,7 +9,7 @@ - type: Clickable - type: Sprite sprite: Structures/stairs.rsi - state: stairs + state: stairs_steel drawdepth: FloorTiles - type: Transform anchored: true @@ -38,9 +39,49 @@ - type: entity id: StairStage parent: Stairs - suffix: stage + suffix: steel, stage components: - type: Sprite sprite: Structures/stairs.rsi - state: stairs_stage - drawdepth: FloorTiles \ No newline at end of file + state: stairs_stage_steel + drawdepth: FloorTiles + +- type: entity + id: StairWhite + parent: Stairs + suffix: white + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_white + drawdepth: FloorTiles + +- type: entity + id: StairStageWhite + parent: Stairs + suffix: white, stage + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_stage_white + drawdepth: FloorTiles + +- type: entity + id: StairDark + parent: Stairs + suffix: dark + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_dark + drawdepth: FloorTiles + +- type: entity + id: StairStageDark + parent: Stairs + suffix: dark, stage + components: + - type: Sprite + sprite: Structures/stairs.rsi + state: stairs_stage_dark + drawdepth: FloorTiles diff --git a/Resources/Textures/Structures/stairs.rsi/meta.json b/Resources/Textures/Structures/stairs.rsi/meta.json index 6a0f0ee2e00..d9f5a22fbe3 100644 --- a/Resources/Textures/Structures/stairs.rsi/meta.json +++ b/Resources/Textures/Structures/stairs.rsi/meta.json @@ -8,11 +8,25 @@ }, "states": [ { - "name": "stairs", - "directions": 4 + "name": "stairs_white", + "directions": 4 }, { - "name": "stairs_stage" + "name": "stairs_stage_white" + }, + { + "name": "stairs_steel", + "directions": 4 + }, + { + "name": "stairs_stage_steel" + }, + { + "name": "stairs_dark", + "directions": 4 + }, + { + "name": "stairs_stage_dark" } ] } diff --git a/Resources/Textures/Structures/stairs.rsi/stairs.png b/Resources/Textures/Structures/stairs.rsi/stairs.png deleted file mode 100644 index d294ec607735439f3cffe47cbfd9f44de538928b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4102 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 Q`9IaSTiQ|cE%qMxFVV{d>;M1& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/stairs.rsi/stairs_stage.png b/Resources/Textures/Structures/stairs.rsi/stairs_stage.png deleted file mode 100644 index 90d2c76de0c9a2a1dec0029fb355d275a590b2e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1140 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 I$4#66FW+nyd;kCd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/stairs.rsi/stairs_steel.png b/Resources/Textures/Structures/stairs.rsi/stairs_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..03680b78b998204c4cd517c6196a1db4ecd81533 GIT binary patch literal 6249 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 N*jYJIvN!EM_;=?sUvU5c literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/stairs.rsi/stairs_white.png b/Resources/Textures/Structures/stairs.rsi/stairs_white.png new file mode 100644 index 0000000000000000000000000000000000000000..fd7fe45b97b3269c7260455f2d0d01b9a9ebcc88 GIT binary patch literal 6593 zcmcgx2{@E{+aKC2l_g6Fjfq5tShzxXeb0HnbA8`;eREyUJpbo;?*H$;@8A8uf6sreiLtiavq3~o z1OkC$wf+hulLSQ^l8c-Ahh1No#v=9V1LYs)vCL%G=A0HU#jzgspZAm6S zoPk%mFfSgDP1Mo~2nf&&Kx?u%o?1u(fv|#sLcu``I5&vNBL~8n-0i<3kN_@)Lud2o zEGBdXk?g_pEDO!LJ zzyO#$E@+GVY0LIv@mO3h)?YyXeEd%iKyEE8e){;+SQw0-F1S2ne=v<7g#4*B*FK01 zXxRc>mLG=#82f`^ZePiUO*G;FWFCuS&tm!fUMcI}Lx!R-n%dBvE44vj!7)P=LKqB)1T^KkC14p3XNQ^xKM?_$WXu>W8nutJrH??3< z>9nAKG1az5f~H6!2Jug(;BumpdF21rm`WkiSR4i!d1NL9FeB;0Ksq$(bSjZTz-S|>SR9;6L21MBSPTtLMtD%+2n2zE zqG1tuEb@C6;CvE`; z+25G{UN)`&TwgFea8;VpSLz+~qcV1Y@6Q@RzljBrOj!{@T^MDh`vEHK$8Gwbbi?0T zcR%I_cmW{je`x*h-nlFqFM!Mec6)-I^S@CYt-s8R#q}|?ENSj#f!}J1i%-*7VLkX=ik%J?+N@% zp8u};|1Wud>#6Upq4lp_^X=Imb_?J#`*sW5f~*XGZhpXvpW7#Z2~x-bH%G(k^E)6A zv1K#TZhNnY*8LW7ipB|HFqB)!>=_-6Jeg*9QH`sGaWc%(^7ngROa<3Ti}$NSj~?#p zzh4z4+KEp-;w+p_i+bg)V=xdm#C+;^Z_fcd-?{yve@)eEhb_&DFm(6uq2}&VYVoJj zCr+IjJ$_1^5ITq9A6X}M-qs#FsFTu2I(juZd5f9Em)~e5+(Aq9uB=l7J7JIomboy0 z;BBHY003Eu<4LFQF9f}7W|eJ8Cbqx+7C>EQ#% zE~n~+29wFv?JCK(=4ynr7b-(1U2_gMMmVkRds z;r5d?YM!Q_E( z!{Uo)@$*WLFX3)xXOFQKlb_cz!{8bk zkViF$RGpylkFB{ih|70H=+K?w5YoF_r9MsVKJub1goM#68R~~l)I~*|J9jSiMMFcw z8`k}bE@s-rBW0;Ys_Bp17b_tTeNP37$4_^MuzY=Oy2F*|apwnQsE&+<&rV=oRW zduHwx{qmyXK{#0JrG<%RQBl!&qldn$&u}-E`inGGurRTdY~f3)V)=ZMdtQD%pxQB^ zFe|{{x|^5wz9ljRWBBY{@uT}NK?&`+B*vOIL;GCC-CN^}-pL3lJ`f}f>ebudJ3TN{ zyUFVCbXR~4-{_=rU0Ex9O9_xxhT3r}=6HO_^oXmo^A{Byvs37Os_OF4qR>5$Z5E`a zp!!$^%XVNQ+YckrUhLh5kKIyLzb$;B!}~^5n!TTPii5X-v9W#mH9Woaj{5qB_xqW_ zJ@~<2dwcZf9%07^;`FB;#yd{dJh_xVW~>NYbDwsDEud z%v)49cJYOEhN|;)X}08O<@`uX=AL(#0=mB>ybqL^)C4S0XFU9lczG|_UdS{wh|HoZHap?Gny!>S6t}yMC#jh`{3NAl>U}j8d8=1CUQ|n6$ za?JBG*V0+m;p@Z>xUedUZ{4zenkSVh3^_5Ol!IAy6tcQwAJNdBWBxpHD}0Uo{H0D-t9;Dx^Aj-zq7?lOtH==P zd*CbLgulumJ1?(F-QN9yBV~g!va$+&BVG3_8#cukNh-Zb0S-p(r;lTLvt$I5sEWfa zx%A&`Zr|qT!^zEF2&G~~V?~q1Mg`(q!H{_@p_eJ9+;%tjVUabjdQoF|tglA-+*`1E z4UVIu8$Om{_w#QCx<&sYn=vg#n*#G@O%FZpyOJ(l+x)U1hL(A02-irP>N~cra%t|9 zU#x-oF9u&_FhySL7N}C{!aE)m>j0Ms+-oeQOdo=$Z#0jdX*6V1!s=CJ-9--mtki_<^-sbIA3Pt>GOOnSz7e75B0dL0zay_mP0#KK_)3EMNUawXX^iGI>efn64%cO)xm-PC{xMy`duS1c&qGYphoEG)czd$pkht!N9qtza>( zMf+7-($Y)l(!XZr3sJG;5L&DA8lNN%J-n$q>PmcP{NpZLfMo7f7e!HXa| z?@gx@aykM%75q z;z*KPn8L%|e9maM>R^*V;81PMZOXa`=QQ1!-c@at^G*C+`wGf={iN=)vj&z!)$0`R zOf61ZSMY|O?^U(@;IlS9b=*kIaR!v+<S z2W>1wpx3YE2{KYn>^x)ZXptlNRJm1IyfMR!uZ&7azN*}K(C(=S)B=)VhW(9HoDaB5%RO!ESs@>=uk!o^5<;f-=^q;k2uSL!+8XbN+~w<(^%o35i+M zXAAd6Jx|2hUC9x6`EkFsMaIT$<}Diwa?FnAIG%W#d{nR?+`+h2y`0sMgFdJ1 z(tEwSc$Uk4$Ac)_9M7JE%0S&OP)-_0aK{VAxMO^XL+sc<3-Yq3p%5}eo8ozE|{JnC(-6| zIYw~E1hv2C%FEN+)892+RhMLYY6xa?gxu3aT%IU?%1>J_U~t#h!1ej0vcuYfekN1NWS4KLJXM6gX=*Cqw{ZBB^Y@ef`xfQZ(JluQM*kj)p&=L>b@Y4(~J zV#oX<-OTCL&~9^sqk6wiUD6O-Gb}bpQ&9B9pCIAE6qPPdey0Cj;PXTnCJQv7e;NKo{GW< zIzHsbWnFN|mGUmZ$%$a99~I7fD`5Ae@`1 zlADx4F^CCgv#5)y!<}|_VDo9e1>Iw^9F3?nmAm3QFGDD536f8p_6#1qkh3wm#mS1A~u#0Qr}dIm`Y2Wj*Bh-Wi0N%g7Z4hCxi@Z|1p`Mu<_J;fp-3#calzK zhyhl$4I7yH=H}3D=Qg8eE1^wablhWDl@{PAEI@tLs)ep&-i3qF4t~wDF^3CXN zyu)%H13Pm#A7844yQwh*xl0eCR?Sc6UfZ)R^y;OV)xEQ#vQwiyH!|XMr{b1QAJLyw zDmbn;^*Xb~Rn)g&>qr{jKec5Q1pK+7%m}3nxWy@?&zJN*JiYC7No8f&VY=`c8I$s$ viSy30qmz>Zd-tZEt(JZAWO=my)3T`T=HA+C(jSkk{K;ZwY)L9GbdUTmm0$_W literal 0 HcmV?d00001 From 428cdce60919d3693d490e7d93564a9fa816ef35 Mon Sep 17 00:00:00 2001 From: Jessica M Date: Tue, 20 Feb 2024 22:29:18 -0800 Subject: [PATCH 020/345] Upgrade trash bag max item size to Normal (#25241) * Upgrade trash bag size to Normal * let the belt and trash bag box hold the buffed trash bags --------- Co-authored-by: Jessica M (cherry picked from commit 435efd7cbe3e76278433b88b2c670c77730a38e6) --- Resources/Prototypes/Catalog/Fills/Boxes/general.yml | 2 +- Resources/Prototypes/Entities/Clothing/Belt/belts.yml | 1 + .../Entities/Objects/Specific/Janitorial/trashbag.yml | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml index 4f39c7fa1ec..0502d608a5f 100644 --- a/Resources/Prototypes/Catalog/Fills/Boxes/general.yml +++ b/Resources/Prototypes/Catalog/Fills/Boxes/general.yml @@ -251,7 +251,7 @@ - type: Storage grid: - 0,0,5,3 - maxItemSize: Normal + maxItemSize: Large whitelist: tags: - TrashBag diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 0effc02da61..b84033a7874 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -223,6 +223,7 @@ - Plunger components: - LightReplacer + maxItemSize: Large - type: ItemMapper mapLayers: bottle: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml index b74962d9d7a..f802ae1c5c3 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml @@ -9,7 +9,7 @@ - state: icon-0 map: ["enum.StorageFillLayers.Fill"] - type: Storage - maxItemSize: Small + maxItemSize: Normal grid: - 0,0,7,5 quickInsert: true From 64de7c31c9efd3f57fa2f4f3db27dd7677688a0a Mon Sep 17 00:00:00 2001 From: AlexUm & XGabriel08X <159550239+AlexUmAndXGabriel08X@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:31:32 +0100 Subject: [PATCH 021/345] Uplink hardsuit bundles rework (#25189) Change of the hardsuit bundles to be better Co-authored-by: AlexUm (cherry picked from commit d5e7637d210c61e5f916546981e4f267713ba114) --- .../Catalog/Fills/Backpacks/duffelbag.yml | 30 +++++++++++++++++++ .../Catalog/Fills/Crates/syndicate.yml | 15 ++++++++++ .../Prototypes/Catalog/uplink_catalog.yml | 6 ++-- .../Clothing/OuterClothing/hardsuits.yml | 2 ++ 4 files changed, 51 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index 4fb6fd28934..c9b13f155a1 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -259,6 +259,7 @@ - id: ClothingHeadHelmetSyndicate - id: ClothingOuterHardsuitSyndicate - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesColorYellowBudget - id: DoubleEmergencyOxygenTankFilled - id: DoubleEmergencyNitrogenTankFilled @@ -273,6 +274,35 @@ - id: ClothingOuterHardsuitSyndie - id: ClothingMaskGasSyndicate - id: ClothingHandsGlovesCombat + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled + +- type: entity + parent: ClothingBackpackDuffelSyndicateBundle + id: ClothingBackpackDuffelSyndicateEliteHardsuitBundle + name: syndicate elite hardsuit bundle + description: "Contains the Syndicate's elite hardsuit, which comes with some more stuff in it." + components: + - type: StorageFill + contents: + - id: ClothingOuterHardsuitSyndieElite + - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesCombat + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled + +- type: entity + parent: ClothingBackpackDuffelSyndicateBundle + id: ClothingBackpackDuffelSyndicateHardsuitExtrasBundle + name: syndicate hardsuit extras bundle + description: "Contains stuff that you will absolutely want to have when purchasing a hardsuit." + components: + - type: StorageFill + contents: + - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesCombat + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled - type: entity parent: ClothingBackpackDuffelSyndicateBundle diff --git a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml index a3b5967ba66..3f9e909c809 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml @@ -7,6 +7,21 @@ - type: SurplusBundle totalPrice: 50 +- type: entity + id: CrateCybersunJuggernautBundle + suffix: Filled + parent: CrateSyndicate + name: Cybersun juggernaut bundle + description: Contains everything except a big gun to go postal. + components: + - type: StorageFill + contents: + - id: ClothingOuterHardsuitJuggernaut + - id: ClothingMaskGasSyndicate + - id: ClothingHandsGlovesCombat + - id: DoubleEmergencyOxygenTankFilled + - id: DoubleEmergencyNitrogenTankFilled + - type: entity id: CrateSyndicateSuperSurplusBundle parent: CrateSyndicate diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 7b77a932635..7cbc8fbe9eb 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1269,7 +1269,8 @@ id: UplinkHardsuitSyndieElite name: uplink-hardsuit-syndieelite-name description: uplink-hardsuit-syndieelite-desc - productEntity: ClothingOuterHardsuitSyndieElite + icon: { sprite: /Textures/Clothing/OuterClothing/Hardsuits/syndieelite.rsi, state: icon } + productEntity: ClothingBackpackDuffelSyndicateEliteHardsuitBundle cost: Telecrystal: 10 categories: @@ -1279,7 +1280,8 @@ id: UplinkClothingOuterHardsuitJuggernaut name: uplink-clothing-outer-hardsuit-juggernaut-name description: uplink-clothing-outer-hardsuit-juggernaut-desc - productEntity: ClothingOuterHardsuitJuggernaut + icon: { sprite: /Textures/Structures/Storage/Crates/syndicate.rsi, state: icon } + productEntity: CrateCybersunJuggernautBundle cost: Telecrystal: 12 categories: diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml index 3deecf089b8..a8c38f2536f 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/hardsuits.yml @@ -553,6 +553,8 @@ Heat: 0.2 Radiation: 0.01 Caustic: 0.5 + - type: Item + size: Huge - type: ClothingSpeedModifier walkModifier: 1.0 sprintModifier: 1.0 From c731c62a5c2458869abc7d472e393d806bf56bb2 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Wed, 21 Feb 2024 06:34:47 +0000 Subject: [PATCH 022/345] add troll conducting gloves to uplink (#25227) * add conducting gloves * add conducting gloves to uplink --------- Co-authored-by: deltanedas <@deltanedas:kde.org> (cherry picked from commit 1eb6958ca07b709f2b67076e1526a69f96430712) --- Resources/Locale/en-US/store/uplink-catalog.ftl | 3 +++ Resources/Prototypes/Catalog/uplink_catalog.yml | 10 ++++++++++ .../Prototypes/Entities/Clothing/Hands/colored.yml | 8 ++++++++ 3 files changed, 21 insertions(+) diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index cc10345bb7a..6a07e7aac29 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -310,6 +310,9 @@ uplink-decoy-disk-desc = A piece of plastic with a lenticular printing, made to uplink-cigarettes-name = Syndicate Smokes Packet uplink-cigarettes-desc = Elite cigarettes for elite agents. Infused with medicine for when you need to do more than calm your nerves. +uplink-clothing-conducting-gloves-name = Conducting Gloves +uplink-clothing-conducting-gloves-desc = Looks exactly like insulated gloves, but shocks you far worse than if you had nothing at all! Best given as a gift to passengers you really don't like. + uplink-snack-box-name = Syndicate Snack Box uplink-snack-box-desc = A box of delicious snacks and drinks to eat alone or with your team. Includes 1 toy you didn't want. diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 7cbc8fbe9eb..49ac067793a 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1319,6 +1319,16 @@ categories: - UplinkMisc +- type: listing + id: UplinkClothingConductingGloves + name: uplink-clothing-conducting-gloves-name + description: uplink-clothing-conducting-gloves-desc + productEntity: ClothingHandsGlovesConducting + cost: + Telecrystal: 2 + categories: + - UplinkMisc + - type: listing id: UplinkSnackBox name: uplink-snack-box-name diff --git a/Resources/Prototypes/Entities/Clothing/Hands/colored.yml b/Resources/Prototypes/Entities/Clothing/Hands/colored.yml index 8f4eb753cf5..1cd41073e1b 100644 --- a/Resources/Prototypes/Entities/Clothing/Hands/colored.yml +++ b/Resources/Prototypes/Entities/Clothing/Hands/colored.yml @@ -191,3 +191,11 @@ - 1.5 - 1.5 - 1.5 + +- type: entity + parent: ClothingHandsGlovesColorYellow + id: ClothingHandsGlovesConducting + suffix: Conducting + components: + - type: Insulated + coefficient: 5 # zap em good From 32193a8dcaa8e2917fc6a56c17821de3d0bdd21e Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:35:52 +0000 Subject: [PATCH 023/345] Automatic changelog update (cherry picked from commit 80fa454f99c1570b3c482d0ef8ccf743ae76bc7b) --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6376d6ed40e..c38e50e5a5d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Mime's stamp is silent now! - type: Tweak - id: 5488 - time: '2023-12-30T23:15:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23221 - author: EmoGarbage404 changes: - message: Damage from heat sources has been increased. @@ -3853,3 +3846,11 @@ id: 5987 time: '2024-02-21T06:26:24.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25206 +- author: deltanedas + changes: + - message: Added Conducting Gloves to the uplink, they make shocks much worse rather + than stop them. + type: Add + id: 5988 + time: '2024-02-21T06:34:47.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25227 From a9d353ac572237b2c38c5b94f8d5d4dd4c43cb99 Mon Sep 17 00:00:00 2001 From: Ben Velie Date: Wed, 21 Feb 2024 00:38:29 -0600 Subject: [PATCH 024/345] Add guidebook page for the RTG (#25040) The Radioisotope Thermoelectric Generator (RTG) isa power source that players may encounter in the game that doesn't have an entry in the guidebook yet. This commit fixes that. (cherry picked from commit 8f0b4694bf1a9afce5f9714dee40b1fcf4e6269c) --- Resources/Locale/en-US/guidebook/guides.ftl | 1 + .../Structures/Power/Generation/generators.yml | 4 ++++ Resources/Prototypes/Guidebook/engineering.yml | 6 ++++++ .../ServerInfo/Guidebook/Engineering/RTG.xml | 17 +++++++++++++++++ 4 files changed, 28 insertions(+) create mode 100644 Resources/ServerInfo/Guidebook/Engineering/RTG.xml diff --git a/Resources/Locale/en-US/guidebook/guides.ftl b/Resources/Locale/en-US/guidebook/guides.ftl index c98f24ab70c..6d343c5dc87 100644 --- a/Resources/Locale/en-US/guidebook/guides.ftl +++ b/Resources/Locale/en-US/guidebook/guides.ftl @@ -13,6 +13,7 @@ guide-entry-portable-generator = Portable Generators guide-entry-ame = Antimatter Engine (AME) guide-entry-singularity = Singularity guide-entry-teg = Thermo-electric Generator (TEG) +guide-entry-rtg = RTG guide-entry-controls = Controls guide-entry-radio = Radio guide-entry-jobs = Jobs diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml index 4948231b909..ed70b310915 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/generators.yml @@ -247,6 +247,10 @@ range: 5 sound: path: /Audio/Ambience/Objects/buzzing.ogg + - type: GuideHelp + guides: + - RTG + - Power - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Guidebook/engineering.yml b/Resources/Prototypes/Guidebook/engineering.yml index d8a260f9a10..21d17f02279 100644 --- a/Resources/Prototypes/Guidebook/engineering.yml +++ b/Resources/Prototypes/Guidebook/engineering.yml @@ -65,6 +65,7 @@ - AME - Singularity - TEG + - RTG - type: guideEntry id: AME @@ -81,6 +82,11 @@ name: guide-entry-teg text: "/ServerInfo/Guidebook/Engineering/TEG.xml" +- type: guideEntry + id: RTG + name: guide-entry-rtg + text: "/ServerInfo/Guidebook/Engineering/RTG.xml" + - type: guideEntry id: PortableGenerator name: guide-entry-portable-generator diff --git a/Resources/ServerInfo/Guidebook/Engineering/RTG.xml b/Resources/ServerInfo/Guidebook/Engineering/RTG.xml new file mode 100644 index 00000000000..1d71ee9144b --- /dev/null +++ b/Resources/ServerInfo/Guidebook/Engineering/RTG.xml @@ -0,0 +1,17 @@ + +# Radioisotope Thermoelectric Generator (RTG) + + + + + + +Making power using a Radioisotope Thermoelectric Generator (RTG) is similar to making power using solar. +RTGs only provide 10 kW of power, but they provide it for free and for the entire round. +Basically, if you connect an RTG to your power grid, it'll give you free power. + +Sometimes, RTGs are damaged. +Damaged RTGs behave just like regular ones, but they're radioactive. +That means they're more dangerous, but on the bright side, you can put radiation collectors next to them to turn that radiation into more power. + + \ No newline at end of file From 9e2288726d4d31be7616d6076bb7093c66b6cf71 Mon Sep 17 00:00:00 2001 From: PoorMansDreams <150595537+PoorMansDreams@users.noreply.github.com> Date: Tue, 20 Feb 2024 22:39:05 -0800 Subject: [PATCH 025/345] No More DMCA over pirate_start (#25153) ARRG! (cherry picked from commit b98450a3ef35f439cbe0202f8bda9556a8b8d3d8) --- .../Audio/Ambience/Antag/pirate_start.ogg | Bin 268273 -> 331817 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Audio/Ambience/Antag/pirate_start.ogg b/Resources/Audio/Ambience/Antag/pirate_start.ogg index 785b1313c913289b224f6f92a03367b28f88842b..f2dce2383feb4e2003d49aa4759376aa9cb2f6b3 100644 GIT binary patch literal 331817 zcmeFYby$?o_b_}fEU* z9IXuhFrZVR6W|lz;}hY7(y{5<+W1;Ky4lkyy7@VJxx2aAy7{o*jf{)@=o=XsNjZAE zySjQn1wd$j2W6L&Hv|C?B${8HZU8==XaE2N0ARtyj+bJm!d{kI#P%dJRr#(qz!#I5 z8Z$s{9nU}buYwM0Lka+30M3T_qGVgeX;RFdob`oQp_rqlXayZctj| za%ZKkSOUXzVd?^3OH(w( zzgCvK5Z_~Ko|ePrZk|4hBX@3iOuIC7f6gCr7_29mJ`>WLX9t?yhq#6mNIihBAQ2FT?5_@STelArIAUyyNT zglT(_aeIX6a>V0{2ut$FfAVF}#>HL!Gj%!;P{=5jzR6z9Kw11*tQa*svIYgPxf2N; zW-&}C0&pH7J3Wp5Q$k>t$v#^~p;zOKs5`J+LXNs3LRF4;%31`4yLv%M!( zaI(w()}9dMVANL4B4HFexp;#VmPk6s*=&re6(eL{zvKO5 z7FA}slf7b}kUe5nbDUpeK1SBAY;un#Fz;ah)qG$`y;&}k59Wo^1-(GGBB3v*PoedB ziI-ByKg?cAoA5$OwJJQ;{;ExsmtN3Hef33JQIhJFTt!Z3fjO(tb zc{eG(U;mCk9)}-k#au#2D^6(H&iAepQ+6(ESv27+OVw3nFZ=6JNTt%*B+8;w{Be@V zOs`S)3Zz&3r{cabO%c+}{70TTq1GW{M&=m-ZaqOM1AT*sey+wDzH4m}kC%NnmV!2x z63p*K{#V2Lx90#zrwRY#lc`qm{6o26nsS(b75p#H@gx~aq8>?NQfp+=nB|)I4%Iq^ z&JZi=KsEG8AJ35b&XL*b2|u0_vYj)qUGTGAX|*+N3o>r~$6@}u&Bl`Ne|XNFi!g}2 z*i=pi|4+{;WP9;h^aZ0zGLvyK%ae5bnCz;o{I6BTSpUUy9AYanV=JO#ccNdg#iTpN zWFuY|yNuTDcl>Yjzdh%H7ZWlgJx9@t=|4QDho4#==}nDX8mE8fC^dr=sE^{k|5N|~ z^d#b_{aHtJbh#IFg%)(V4fLh{*B*n!Ei|*d zryh7D{x!GcQG8S)qms%Yz1}zhxFvI1C4yxBvxyUpw|-ngt&OrQck7@o{Z=Iga@m6b zMHB$u5Qtg>m0ArI>3MfaWe(6F0ZkC!E&j;VGXsSYOTma0|2F^6N+ctw4j7sL83xH{ zMjtc-{f8HlOOK!;42s-I{?F5Y!%Ig9r1c-XU{DR1zQ+GKr~f;`|CPZ1Rsu*92jL+< zWO7CHoG5Tn5D>KqOQuu#28CN2f0GQLR44vuL?(%!jWPEx??7&_-=P7tlKADAiBSA} zjHxike}{|!-4i4tA4#lyhuG=;mt7+t*y=I3EK5l5L;R{`bTDe~11Th9Ec_07MlVk$F&$ zp}ep*h9z@hTNncxr~#BP63`tn%H7jZL7B-g*q}Dd00A2C(Su}c7OL|_G`-BRc-WIm zZB8M{78wM^FhG%2!u*{l<(N~a$a%BH7CWLKw-=GdK<*^4KZFaukMBj_!4SyZ1?7&&;PFzL zE!+{=ucM9&RsV0Bq7Z@D>!{-#1CRmKN}8=P`p3IgBNqUC>;VCEJrMDc%0>v4M*BB_ zgtCzVh(_8%yrn9C8ICoP99EH~x|}k-jjk>Sdl{A-2XmUPta4eYu7E0cS-LJ7eOj_= z64&`pY z4CjZiBV#Uf`ceWpW%h`~|EKwb;K)93f`3jZ!ts{>)I72N^VIS`&oBRf)|O42Yg-Hf z^2rEPm~nW5U=33q=?nCGl#N6H1QV%s*=YVu02bkTB#_Odes=m!+D-akrA^xX>fD=8S|{3#zstVaTaCbE&>Y z!Wst1of8z~V)cvSTir z|J#G@E)rI)`ZuC1HC6XdU&x;j8F>`Fi&Tk_wwtPp>=%LL@i%rx3Iq$u;}1d=d1NJ# z!~Ba#O-9m{{ewUc_~z-LENFCyDZaL_i(($7hizGy;r<=0%h0c&||vm0Ecv z%I(6^Wfcti79%xVI@wVb)x1y$J9ZC%;cT{{yiteYqiWIoPv_Fs=B5&a(M&& z*$H6)2m<+g;Jj-?Ab+nwU<`ly19w*-NLs*mxWkrNP3P9^_VI0iiju0TnzE{efq|*v zLp>7%T^$oWV|~3_r(2`jhc#Xc#Je9uB|7!%UWZ`0wKrV@%tkDzg)GyB+K~>*eQNp& z?k(EQ2&HDjey|A*n(zE(lP;-(CCLE70YZ;sYSdT)gb{kyJ-C6CMo!h~vfqE?TJ}*| zM|?^~VakuU2N4fA+{gTl?|Kw((&Z%{{OfI;4PV{HTj>qj>y!PhU*DTj4OP<$KdV+I z$rn*RGKe=ArayOr0GP$;_e~JBzT9<(OX_X(ap&)R_1CWTU*$dE9Bw4aeGUMO4Cm3r z_e)%GO9I~yu=266uA%ghH@T9@2S%lEG>nboAa8=~ZEPU@l-t|ppWg8LKW!bD*#3C+ zW#83-tt6%`qx2E`n#U*EGDh&>X{LRcCBQTS~bD4#*Rxr*mhxT zRc6Y*p}HA6D?;SqOs~WyHEaIhI`MNxw@ZGpRZ6vM(vg++s2(d3?~qWI1K`>mOw4+v z0-L7e142p3)o_7m+mcE!x@<{0pq%7fty1O08ZJhTQ;3Dj&P~~i4y%@Xr96nz1Biz8 zK`a0jw!uMx!5TR}rQ%P^3rR_UFH8n~j&0ZipwhMxJYL-DJX<~y!OkdGlpjeT!I7E(s$~!>_~vG5G7T!^t*9r&NS?_Khn*Abov;fuc&f+d|cS=(=O&dzie zl(aj=E(yKP0tsAse>VRheUN<1bo8~olDMO2*Jf^Z=TUU7L%E~y{EzwV;AtPzXPYBg zdwQsoYI9vRuZ4HmXHusHRCqI6m>hV~$$0~3X}saGwiZHAIi^`E8CS9PPMCrrDI$#I6;8JxGn}~R4)GY>yoB6%t{IXGOJfbA{n8b zwDL;A5O>wLTVO_b&c0~0bGKuH)^BLye4^3LBuC~nZnvYzZSA&tzvJuLvB5L%_~Y%c zmB9~^J1?N(24ZCm{Mr6fX-}pGlucG|ip8=@MBeu=jX2p!8^7Z-pL`cF(SPnTXjHI9 zFoR&sgv-w5ExbHcSv#hwJrN*GlCbou_SJmxvm(Eop6z3E#fomErtH)4EF*3$LOXvp zZWxL_XgEpU*33VOPmZCedwgu(iI&J8Z?xGSwg@2ADzBVZ@NReVDbE+0ogWu=@?BG<<@yx|10;VJw6M!A=? zsN0>#vPE#gYS5z=|D)ABFprA!t8kx;!;_X5B_{rrhW;D=p>7$$Y~S$)m#>;EboHOu zYn_q(dKG|eAkmdxv?m>%shQ-$uisHd2OMY5U=<4jFMaRLr zHoqfQ$!b&Cv{;s5*kmmP=GT~)^14Tupu@A(u#O4no1NHfi0gST=ljjZYMwKzvrr#{ zJhJ3K4xDh)2L?3^ML4LOrj`@0f4dQyAf5mDbyYI*mF5NOVB zf7U{r)NR*(#j#$&)z0DhESm{bRcDe-{~oS93t7E!VOfR&nhVd#H@;a{M!B{45M_RJ znfMpOP0)k@&?-U+xGw>`y3v&vI#VZU2&gaKpI7443FEirOdD!?NYai?`IQ-QSZxza3yg8E8a|2+2t?o$ z#Pt(g8ljyR2({77qUlwk8B`;Xx7@8uwk=#vS#D(rwo*g~v{p++g_z_FX$aLZY(`B>S zxfYA>Ds#zbvR#qvKI)e=Kj6_T<+_`mWL2|#T-_>eapx0+wvgC>a{H)_o#!EQD=g^o zhq)VwdEbPD4?;keS7499WS||tXYo*92;qtyt}ENhDI2cLT87^?%i;HOmL8hdtSfn+ zPPi8jZY~>oIjoBo?i|aiY}mYtW%vj$Au_#^BU=s=w$@TkhK1IpVQ2v5U^;4~MOffs zD|1l)=;pW92Exq-2AdC>Ev}2?TYPL=xom{}EM?~U0K0jh#64AbzI5yIH}AE|nTKiNrFp_De|BbMwK$q=gRctvVj3oi9*zN_vJa;cC*=Z`18JBAWQLWfpj3^O>46r=MNX}F z-9lYKyvGQWyWjw$q=cXP476ww5haUjQ6n<<;OUueeT_nxCW)dBR&zbkK&5aEf3cON zve8U5+muWtrvexwnH0lq9%FaWq=*0)C3gx{f#;Pzs_r?cQa$4}*M^JoCn}}U@>@X7 zL8)$FH%~c0+j4exz`#COKhC!@bTH0Jz07LCWL$OL&LBMRO1&5*edzvKcVU?fOYt6w z0lmL@_AAcS5$bp|KEULH3=$_`&f?u3w|llIh1OSm5WE2Zd6VuxSIl=N0Kv55T|Sdk z25AF!JFD_6zt`%?D^sbh3JPsc&b>R`M12nGE1X1JE7F+R%N<`Pl<9ieCS^UR+{5#} zt@Vsms8TO^Cz>QTUP(Xj|8QXSCjGi^Z>#x*qu zPOvtYGpT~}01-+$fUmTyj4lB-gi;QW)vMKz^^r@YyD00>xu_N@!|R!BqxsmDxfcuiD0%p5>&=YPHV=(Xjy$wZSV8Zh_@|Id6k&e zTKQQVOlu5WsjAzhrdXK9{2ay#zmpTA&<_TjvRRgh)?LSMNj<$hW8cakr3kJjwG3}9 zyOG%63z&+mPY<+iNcM7LjVFSep681Z)v-c0LZ5qV1S&m3EXgr+>Lz! zP!2Z1)s;2-il=LYGnZ!=mP+ujJ1q6-J0JJCR=po=a&OT1 zPSn-M$H$>5OjqAmCLWqM-VTW^poVcSe9f9n`E-s zSqz-TYXesCgfp=N5F`CH2W~?sT$X?zov=X%x6mpt)FjmCp}dAZ5dmGiA+Y0r>sMP$ z7`IFopIL)mn`8@6Tku0r*#H~cjFBs+tRBmH@{lkX0UV_&DT&zv%mFh~J9DMP8LsYY zN#KsE%pvO|QmP3x@Ji9PROnaW!QrYgQb038E5b=nCx{?R7cwCoPy#EcFnb|rxZn6@|AqiK`<>;uu>sFNRi^^|N0=fW6AxIDnWjy=|WbPt+qjl z@SrzeW3v(zDuDA=O8ckK$B!`w*<_cRuE&RGDpMKQpMC78YwieAKr+;XAd_swEa#qBt zZa@e*hI_)fsX&UU%}%u;i5r2`|Nd{wKKkMJr<0v=f#&_%asG7&Kt`j!A%xf&BH292_gU=`Wryb zEZzpQ#~%azpIZpcy8{mJ=N97b7c{zqO?k3g^IMZ!&s+HI%iGM`+}rHi;@jri&TiF~ z$Fd@>OWLYC9l$!P&=gjOqezUQ_=@fC4YPs=tPch8WZn5a&X@=aTz$U;89_ejp$!~F zXW5aJJf<^?JNXpJ8{EHRB%hr}Dc#gExTYzQ27XY{{DQ%b%oSp?8XMu7Q)6X?up6E@ zuN@$alA{zLv8=M9vX-?*b!C6oph|?QAgj~c3>Bd0QgKn(Ck%;(Vp})^NVAM)maABQ z&I3073aY1L1oPJyk6OZvSd)1wOZnbDN3_0JaSgiudV;sCwQr zNg89=o&Hoa&1iAJzJvC}GlN6=8UMh)m z-8u3lv+vSqdr@X9CC{Sr&~$8-ouVcwD{BN1VY$%Er^8Rcp2T4ig2&lM()d^HH$!9)`GdS8cG>FFCoi`6PD2+QipKw3{jBC%|@9)r9^!zXY2&WDOB0rP{Ro zSg}@2)pfCjrFQ0Cuv;x9X!gW=(fU^+AKE}CVJ3P9^{up0r45D5#9 z9_`7Rz_NEC4~W4aS_y+Ol(pZX6ui#5KNqWL9xPAdt7q6AN?T<|53Wks63^g`^p_Z6 zo*SEQlp4xN^krsw8E31)B9ETA8!yIhS9DkSzdPWUSbD1WYk3go^@0H30CcE1+Q?*~ zq0J6rYeZ=g8)~EtouwnMj|SBa#1cfp;LIwnHiQ(Q0J5BRIk{BZ_>_DgWZ{vaY5WNNa5N&{HN%N`#_~L?5K4<& zeVb`GNRAX!(?Lfd-cMFn(2U3$eSn;5%sPBL(TO)2T}3ly1k;qx7ata5P#Z<4SR-FQ z8@j7PNO~`eB#X>XKO#EeGXn|(Kxz|0j?$ABO2jSzx1vLy;I*>^=9mR|-zip541l3)vq`byE0igotrhTCVmJ zGa!6H`)if4d!{2UhOx;8J?_=lSiyOG!XF-8zp$1%+Uv-03rl7DAnYh&6Mw?d%V&sF zZL-o5nUuhs&X!s3`Vho9#sFXy8j;RmQ{vF^u{FYBdR9W7wQ|eL%PeqhwN_m^wa94l zG#YpWCpp3+l!AnyFt;qqV5`!gFxjW9Rh*84G)h&zC!4Ub2ZDlG;hm;EA8tVJFj#Fr zNF1&I`dx^HN5#mn&e+Y=S|;e3Eq>+t2pydEUFgJvTs23ni*s7zIEb1ald_YEz5&?h zbtn!f9g^0BZu`j$ha#JHgbQae6K~5UfdkPjkJc+#&Ai6$(n5yM4K&j% z|0uO66f2KWkhmGkMEYVI;PDIWp^9Qb7E%xT0Zr9MZqvfUNgx}lm_!FsBRUswWjWTc zI2(KqFbX&b{c-(i6C`^bIS8z!4Fa;oNFdYfEOJy@IFnYOZ? z;yM0WqgZSvxIXlj?B}n+YR7@uY@Imo&47a*x6_MRp6bPXoWvcgijF^2IN{C&-O zU78kF39EY5X=P9B5Z0s)l!Z$}p+srLA(USb`RDzV=)G9|m~SS@+z9pgZ2?0RiL8cq zhb3YQwLcOyoJ}kp4TqJ5#E+7SgxVby*|3Q z(kMnmI$C9e*^I)~FGya;#&HsoVES1Ayfx%xg^Y!1OH-%G~xZN+WTl+N#71#|sf1=*!f-sJYd@8dl zz%Id7ZV!?IEXtak$BLis9q0*O_h!11++S%Idgqkcn2Si=d!XdEZ+k#X<4RmbjF2ly z4|Q#hEr#ft5cHdbkt+626k;Ltdr=}AF<~##z-lw-1Lzn`?WwE!id1sum`2(Rj0+GK zr=;@F<&0yBFvk4ICZ-qGR1B))lp3T6o7;ZB{m17%M0k9)l~_h!r$^{0%SGC{i?C;W zGFb2H>k6w-YgOaMatn-U`aW%W*RFr&|JnEU_cvpo&VYwJnlmhz&ZRZEmEl%>KgYck z(i>d_Na@k(yt(RAi_>(lok$1;cLi%h`PBS&RIwptq2#@ph8gs7g{6&j!~;wOgG>zQ z=?JHuK{!G-M3r{rMUo9Fxo7+IL=Gl>BK|Ti9ymG#kRt&+LCZv~gr*!M9OR?1NePBM z1ed9PtmXm(*<|imP^Fjl< zOa}y;DC+kqO3^WGw}_Z97lp(Hz$rXje`5h2i&}h*3okXDFC&#X**oZKxncOga(1tE z%fuPU*__hI?v-bY&VwpVhsF4s_$-_DeETfR5zy7pK&G~{v4zF7lfLN!iw-rvT+=j@0+)uG4Quhj+?-UXfDmhv zo2N#!mI}A8f^1>9P>y_dWDKz0EY3S25Qh~%rr_^0h7sdOk=r343UOw(_i580M8B zT`DSFZwc}ZT`?DQi(1Vw$;)kOVnFtRF#rOTt#Z2Z7kP%wc_F@lN25Y0;K zRYT0x%UtpeDtDvb7ag||xo+y}uYG4HYx-BXB45?v?k>7c_wRW z^6ZCio`yj`g-G-x^UZ}WKl%02r*on+l0~06%~|}ti1)?@g$1hVGyM-h4@ecenueVn zRFtQ=h*zr68I+Wbn+@%qK=Wf#df$YfyxqJ1rcIz&NlFgQqO_Pz$$i%Mi6KK8$$TM` z&R(dleriW7%2*odiqdCmg_X`ZJOpcEA3Ak`F0ti69$^<685hwoAn#>nb&+ie^;vj%hG-&|k4TM2K3^pNO z?pyGEzsL8WuH{zN~@9T!yPbq z6Qe)Wq^Y3(xW^0s&{Fg+q(Wey6Mz>1$?9n>e6 z>*AhO7JPVn(aefYsxd>-!=k)kHe*Qt)at$Gr4bk3N><{>jxa3<9T}!tU+aXfGHnQI zh;8LGnj>8kg%>zgRY)HP{)O7|yDep6VY~JS-J>cLqVyhg0Qj{XDV!zN$m}i%Rt~U@ z=V$K;)H`sq`uQN3ift)8;Lt75a*&P{5 z=v){Khi`Q#1gzo}{F>Bly3R7IGUHrNaTb;r`0!x_b4F?k^K-`6yfSuwF;+{PR^EG3 z$~0ZMy(=<8xE8vwE-n90Dk)JNG&xGdbo2s(7dd<;b+o(87 zhc>v7bgll{_-!WS%IMnzq|2p#L!J)T#b6=URg7K9t0Wc6z;fa2Ge$`|Hh>`f{YOp_ z$CHjFTn`Gsl#hMHsGIg9s!RhR-o?hJ-O+7ab<=gHn2?PmuF~5m&{uKSx516KH78Rnt>h!=kK zvh~BmYW10-qF~bypVNW&zkAJBWL$ncF1dF+7jR-fKn`trA;c4zcKIkR*X)C~(|+*w z=VYNW+*n+Os$xZjW8G?t!A%02f%*XPBSJMoDq98h^4WGf(+MGBsmO3jFU|W%T zBs|Jn6gvK3X*WMT#eb^eNy?-4f;tbF*zdPB;a`;wYV6MK9Y0!qqE264w%a6{t8F9x zRiGkN<6u93u~4&wct05&D{XKZT>LyPSA;nGfD(N;ui1pxp*;E%xro*ItRnAY)GTMs z62dQ$MYY=HvzQELjx(lOgepl3$;CqTqwiwh32+R)7u2-xsOgMjcLE-v>fK|ntm>-W zoke@}_Sn2LIqPf0(1nB1zJeQWNA)+A7qO`RHaLPmm$OI(2H_{?kpxcgm+vqh2*1UN00xuFqH=R`lRf0MG4m@YEzY83o?TI|)(`ej9W-r$clys710%BZHIs-_ zCUw-`M=$rUK$k*z5Z2iQ4&OKBd3fu}2hq|3H;aSI{Tr|N&!jgJM4f*bnbKwk=|G9M zNYU7nIcWInf9A+pK)9g%a(mGu{d9$}W?42$mklyF2R{x%jS4_JOj`?Uh) z`!r)nQO<=Vj0$w2e|Nsl?E_I~Uwcz7#>rb%cL`|3^C zuH6-33t&{!3rIVsC5Ox_{zRLO>%y`G$PPuc6$;$>YXd#1N21Y77mtj4++8JBg=>lo zm-JhIe!v%X#pw*;^gz*6+q4O&{PMWV_T3WOf znQwhzc}Q7pWN9QGL{*iH51gd@Dg{37a5zFHB<<$=V}Q*v;8j4nXl$5K7h5qyIfd+y zUa^92pP7A`l98gibfqmF@3)fQ^s>gULUcva$QbzdI z&Kcj>hhtlRgL^5=;(Il^*ns2?`fj-={&yb?T+!a_n_F~(BokB zlMfi~K{xN+sfKO7qe=*d*gxH=0O2V$BrWuK1}z^5H`9VG(srAh=>dW=H98%?8&X?B zCK7a@5@jZY0Z1iKPw}P;y+;5C!H^O8M~Hd?-Op;Quk3K#MceCd_JoZ0+k-giz6DEe z*7n}BHU46b|9#V-5fFzet36PTza*N?wOv?l)m50A>L(G9L(CsXqGYW)@Tzl($Abs z?|oftc#tPU*{ZJf9#`Sku2_C-0&!FVu56`s7(k%2;*}NN-qI#Msx3M9x&&GJj!D}uI6qwGOZhIz)P@~wLE_`*G{g$!`=a;ByK^63)Qq=3 zO;^&nmk`^>8_WJ|xc2fXRP0G6^DvbMj_m8VXiX}tBl7MnWqHO!>a=P2@7&92xwqjY}ZBe0g&$?n4ZGVrC z^ZvsZjvPwCv>H@n?bn3jDQ{k;7FCIux^cS6EhI8P)_?_bV=S zRgcy*8$8yaO#H2F4D5_`n87L-Ygh*KXfkyUpHJ?0k}S#%e`Um~>l;YJ#A)zYmyyEn zK=$AUxgMhGJY4SIDSbeAx;JW`J89jq0HZkiqlFDxeX{$btR;G4V}ALclL{2 zlhcD}YL9DPKIO$q8{Kw_w@FSM7C65zSWSPzwvuxx{r0Dg{^zMzZq?MYAti2nrzNe< zP6-ps-S3lYcH%UrJRcSutD7>n2{tRd8Q|lp;Utf}hZk{BBjlYyYH{P6qaqu)_T*r3 zL4KVQLr5N$W3jT=jiu+b>ut;O5KU|P%(+8!Y5~{s`8Bq-hj0pGdm}4j$D5ZFrcVx^v#Chxj^5!U%c$nG;Up8UGl4S-JA&;7u(hvsPn+2f&Y)sTpB zEl8-Q<4TUv*Xd-a%#ms}j6|+PGQozwdV_DU$qvg$xSxvuP!cHec4Ebi)_eG@lcHXx zbE9GC?X!D~#vakieza>^Z?nJKl_ZL4&|;)syV3;J_VwGbut}l+8EJ_wXQJoGylNZ;eefqG`-z!{}t4Js89yH{2dv#!r{qyzFB**hhrMFA0zu#^+ z6Oa7uau#9AsHzt+U(c_FO_wunx z5nDkRmmHRSt=d71@2{WKbyb+ot+zYBURqZh4@%9Pus6VCN|-os>k;qdi$e&>{n8{J7<1`5!nF+6RN$#C)O zXOWmwLHK4D=dSlEIQ-u8y{pe)R^)H;PVNh!eXoD<Az zew(#aIF`<|~sd_0$<#??=|A>2b zr=!c+)0_I?d)&4a8NwRJg=InR4zUYd`w}cy4APCx#72d&)90OBJV$J%RtidBr@V+3 z&REJZuH>g`b1L0cnU_scGsGfo_fyz6bB84-bhM-d1)CDp33!YWvr;>Pj{Vs;v*fQQBOWQO7AOaKCY9_;~O!5>6f0Xjh8m=yY^!4Ud@aZsBX~;spJ0jY3<1H^bGbLtE4@!5QMgw7DY>EQA4*SA>KC>K=S6$N!3gTe5cYFOlDjhL+^5e+B%!WPZ$L5scINILRmQOEH-ynnA-zI59VT2J8 zcs?ZtC=eJ_8@_!XfTx}RvN|}AX?Ti!oqF*F*H?!UMy_fEBAeNpxd_A0k8aY{=9d1p zIlj)6!TPu4l-8RO)kg6n?*c~OJ>23C?LT_PZV}yH0dcDqKlh>*VqS5`ybC5!@fgK1 z-%rZrmyTwC!ax|TUO>0ebK=)zN2d_p7|N%lC++& zNhE_jIuyunOUTrXyytm?j7tsFU!^=2LjH+y(_Qn&W@T1RReFcT@ID)@P}a=hN=LEc60M_>ocEgntnqdtidEB7xv9vS z(6eg1^S8rV zPo&zJh}6h&Y1>T*XU2d|@vqd4jKh^T-537YV^)eUY;QK51*68evIC#VxNh-i*Fa>V z+DyHCpPL~6sT0h3Mk_BMYXo$dR(TRl1NGDEn+~6PUzdA7=Pk6)@%CwUeZZ+}tygu} z3Nks^uX!81x6|Lfnq$Obb|4+R_wwgXD^&90Dq=JE#$>iZ+Uxz%mGY>YlVsgVQc3Tp zclNkz9AJ{`ikiepG0v_ruwH|BeKLEmS(u_kW|lwwNw!&66M62$^A zzaL$9q}dGnv&vMw)%b8~CP6f|eS4~Nlil|8Vb{A(g&_`opP=sy0m=e8E!k!I6_eQ` z(a+B=a#eWpC0C#bhWFpc)sIKBys65wjx=CyPs$&bvtZbLmzaq55}Zu}XI;;{+N;#E z&Dd}$>`cisMwJo8Hi_DnM|u7Moi9xf7)z1O( zu(4IvkLI=|Lgj1c!{__fW~T3<&60c0OhC>?;6oQesu}{<>8FQwl8o`BVyoYu|niL&jsbyDqL z;xce8)sBZEP}fumQVhO)v5tJ4vA>#7;TE)iQ&e^`i*@H$YSNr19d+Sb7Lb?r9ntQ&n#W+bofHuVDF5ne1fJ0^p{dX-B-UBtCz;w*1T`S6$_-k21Ze~84*XJjEr=6nr@i8jz0smZ2 zq~Bdm{Jow)Lw;Ys3MM4F-MZbrUAg^uyMFuq_QUPb?M8m}JS7~B5`MhE#)j#{bO`#k zE`V(w=P%!e2)pfE8EkFoE@@euf0Tx>3*Mj!+Z*|5apV7FX>4NbRgMso{kA{x*RcX; zs)v~OHdoAP#RGiGg^m$ho3EF@jf(obo%r?2$zZEVlqUU2f6d^j(RC{aZ^FF+b+-+% zT;xHjbT%e+h-EpjaW*}k;!8%Ln`nf$Q-+W0g=&OySJ{Dbw~)@!d~roIqR_-Z-B+qB zw~jte>TMd6%L`c64N0nqz8tqy>`v$I*SYPQWL|m7F^^2ux6h(GKefzMn>q8U3A^U@ z2EQ-53}r69)>%4bzFN65cwUt$?$90;sJzD&SlD6mRI|V(pga<+DSe}2;!ZT#_S@=w z;ue*Uct&&*QT#E0RsG=&EXtN^GemF&>>H3>u97`zq_F;N`*#K$?%i#Fl((*xVg(N> z=XteulJ6*T`jDEfsUXhVQD^&JpYjm!oFXxtnXLkv z%6;e0vZtTdgO!KpUtxvd6u9!yp(_&eF}ePEe;jn7i2i|`fXELXCF=7<~rfb?cAw8 zzjK}()T3mzJ-|bOUI@ofF86njw2nd-HxFv%UwuJX>zkRaU!pIxGDV5S{6h8`<6-A^ zT-bGi^W5a^Y{K=c$ic7E8mJ=OOPx_azxy`_Bldn>(rWN_uB&$Dzdc-%s*bYfe0c?3 zTl{mM;Wkso@RH=dUO0 zGJnW*7Grw7M0m_xW=jjs5l`h_h-GYR-)BA2yEw_gDG4@}sfY}ORvGHbO1^qEdC@U) zcvvgK9;`He^b~O+N#i>~bx1pYq!xTstS_U4l5RKGHEA8|bwDImJUn`xEiy1L&KKCd zf96XxqoDG3?il_Yk)bCwboDDIS0&Q%h23)>_4^lrxO{bXD~PX%H>Y)oifTIa4rQ;C zvr4bwZGGHmX7M`0>qVTc%JS+Q)a=%yidQJF3a$bP+mAwGv#FORoV|qY&B=GZUyFF# ziGfkwQ+bj9(j^G6)x_EcccXwEQl@DEqfv|y5WMwtvKi0R^qg|^F@zED#B{|J!)3DU zaBy^18X>oxG6}N&Y@Q$77WC-#P)KM5(z9zqy?b>N}t6*T>dl~U|VHq8M5`v7Px*jrR96}n2)`K*5E|&Si0qSq-a9g z97v&QJ6h37e>UP$^(-YlFg}+@fRiKII3(ZlcrduVqQbuWYZ<*x>6|(!u=T1t` z9XU6aTXkH=G({R0K8p-NzL>M7IL8$gOau%*o)I#4S5P2J(R+u;KCs-%`%swsKZrW( zud2STZ*Mv!q>)rgx;v$$ySux)4~>ANbc1wBcZqaM9=Z>WbaP(59@kN+C<{ki-;D!fCGYM`EXo>frypKi~}zby|3&lTpx zwc{fFsj-;Z_q0irj8LYT{+lGdbl3Zj9bbI4x890EKp>jM`%np1I?=n#pI9Kd5q+4~ zm6DdgFC~KmAHT7Ci+Uf9^wTELJ%n6QMpT} z%dw7LxX8bK+x%0b=3?K|AauTtt=fOZ$yDF4>1<+zI~RnhwzkGoazMYi=0ny#sy>ig z*kQxj_hoEkVZ>DXT)p36jNgj{f2)V%zswnd0nH__ zVCkS8MEJhnJU|L&+cc34LZbsY^-!hvj95y*`fy0&pHJ5LPwpXrk(Z|e`Hgn(Fa_CD zX3==a6$!ec?8y{koqz&>hyDiKOZ+$aY51X-3^)U% zR>4#YKrAcn`)T15L3RJ23GG|3-GcR?zaU9XV89=kqK0bn@7!}=R8>=&{Wo$@o#x)P z2lPL8-K+&NIw)BeW#sP8`k4%vtdb2nuGBuvf{xey#a$r%o-d`vPBK;^t)?US*+Jy) zjF%D~o^28zIv7?JkjBd?De0|qtrk^wNN(iqs=o{Hve%Uy_v`8ZDP>>lT>?L>Jxv%;00wL?)0Zxa){R% z!Def_vs!QV1;MYq`;|tr`gKHWtnazj_>T1dlNVG6ySX44lia6!l-MN z*lX^52cIYL+87$jzVIKnun*}S-X%% zS9b*$5d;9%W*LAgod!3G-D}pt<|k;V4dfXob{~-}0&zUD z9%d!7z$p@=X0pdooZBm_6lG}rPUMDKUF&qqsWx%3rnb#TI5*qRfHpN|VCj5$Gi~Ox z3Kv#cU6*FZGqV|iH1p6qhtAWx-hH8){oiv_ZR~zM9UqSz_avUp!1W68)ObnH3@(^K z?Zeh>LW%Bqenw|!=Hiw{=>bRmi;I_0ht=~bPanzm7uU@lcX*$PqcT7~g8S~F_&Em` zEwo&S<;zZ-pEA+Qw4FQ=1e$dERSX4|;vH`MlGhtPSs9pkvH2D`#?cg|udm=KJsB~; z&1mXZm(F)1Xmnv9fR)Zx(cU#7ga>aWb(v|X8v>QZ2b zKjGgT5{tsZfSU@5P(M1agd35*hQbWPkT$%P>5#D`2!Jnt|5g9}RP_-g+}#JtaNO!) z@(MhLKr-~dZ++5d2p|SQd4Hd~3DMYv8!PITa`sfA zZ7Oq&faNR;cS8G#Wc`WFQr!GqN`-C{4U#gI7y594!S)<@I_ojx!kI0 z=aIJRU?azX6nYBg73%2lZq(1{v8wT%IjFm`$lce8)Af^!kd);*;urqxHPqS3^o5&G zXd9G+_VTpuZvk{{6aFXV-P zg`E&taBt*XxIMnu>0Hj?QGQ7r7(8Yh`^-DIe)l;no5hq?07<=lo|FUY>uxi_1=m^P zBy?q3GC=UO`xtd*aJxF*Sf0Jq;1>7cZpAkbAv>aGxzJAH?mFk6yG2v6VdQg%1$*;C zP>s4|a@@>!+jH{G_ItE#^IsCoptjU$9ma8;&#%8Sl|xZ>8A4%T zVnvrl4S?zBv|Kopx?VA~d^zK=51|h`a4jHwL}j?vHfd$>YTJx6=_h=;Z{+;7jg0sG zGX4*zmRSt6+HEd(RxciW-rphh51?#_q;6~Xbw~wEaZ|~Ej;FvQDr96BPQamBogZ}* zn0{sy@#AH^U3{u)Sq1=Mftw%91Vde8*@D~z zSlU)kVFW=94{QCxb;-IOuideH;6DZ>wEVQXrM6n0^813%``n!-*|(0`cpGlp4Q0mI8V)zG z^YoOgaJ#IKZ7*J39l^vLP+_m!r|8Ged&v5au8Ey3+f4f{BXSk^Dar)(c-Y00YqYmJ zwzoO@N{e@&68R-wnA>hxC%vMxHBO@bpydek*-1I64Av)ntAvyk7Edalr+5C6`HM+q zCLu|6;O?jGRA#l$hA=CcTSaR#XXW~SPcGnKZMXQu(zT-XTHO<0eh<;$!a`}wYb84k z?poO`Irb)&M^WbYPlGuHg^Bcw7&;K-&Iquo_pyOuO!S*6`(1tFRdDi0J852lll=^1 zR5wjYw`MM{9~nd)!W*|_KbqzapF{)Kub%ZybXG~Bz!awQ7Wrv#8CbeAY^%cw{_@Bt z%+h(K#BO<$^%6Q+Jd2%oEvp@O^3b z!B;n8jxu`FtpK@x^Vk3`;NGK=M`w%+v=?Rh+W~-JT=bAMuP9Da7A{r;o0Pzi^}<5M zj|znOvr3A_SN>81*X^gF^}knB+`joDz;ln=gCRH6)5*rmgN5?OlW%?Lr$*J;67b#FVe6&BFb#3I6%3S&Sk@Hd*cp$M$l(b`qN&{4ef2smIQPj1DTrI1 za_DTl*P%)tP!~(I`iy!$c~)>WDR{V=`MZ4z?ZD3!bXXxMI-f;o{eF`zOP(T<)RTNw z86@jx93>INOc_Tp@NN&9A3eOz)949@9xNTA3%o;a#b!0TThiyGz+}aj+S$yUG_dc6 zHTN--LoUpej)#D-*7{@a5p1uU7I6;SUR;)G;tW#@l7ks7+BXclNhet>XPtx`t$cVp zDZcJLiuzA~x*@Y6@NbcMvy%RgkaYj|&Hg_^^50H7cpV=F_l=KCLr0-a&{}9Kv;bNI zErzBBKD{v#u?%2YmA)4%|0{v$IoQkNwAv%DCGBnl6#zw+{#IFT2z2lOG(l8x&NE8!=~=~ z)?q<-bE}$_Q@0l=W>G7kn)xz)*%UBZ9rTIz15JXkK}mkcqt!XxymaoQ8CQD$klT84 zz|wkxpE8P(B6RPy{+reMii_t$wd_lXPsL+{D~+1>{?~Dz<`L@Qa-*G|$-Ue`)|`ZM z)p;S^2=S|OQlUF}&ARFm+jicwlR`a+!m^y-)JOsb52E}orchCYy8I4%)}ZiI_=hYGJD%r0%Q+YBx7eSt62ziBse_MYkW+! z^fH>x4!}z&|4JVmqXIoAjflH^`<-^g4hn<$o0uu;#t%Q%S;)G+8KxjwJ66%xvoa{c}|Ld))W8QtK?+-LI9Ai&`cTZ9hIm?I+ZR;l%9uRY|f) zsrnIH%$G}_EAc^@z5H06=#&F!XTElzlguIq^<=3T4*ksa@T)&x=Ge8JJ-I-Pw7KuF z9>wFy5m|+0Z5ny;>Pn+Nhn**Ti$LL5NyQl`Hp^d@5bWY zlV!{lAqW{=!rZhksq=n^(@HI}y7ola$h~D} z3$}P1HyX1ODBW9XdswUl7XrMskpAjyR8(FD;MA{NR0Y#%BO+r>ZXXnD#>FvT+;4r*wkO#|bie|^*eTYS>cqosielWG2dQ1Q3My6a;f3z)C8Bkd(!{ zw^4TB*JMnve0)u+@DdIMBfQ@4zxc=o+$DeW$%(u*DrBVKl4H;@0nz@Lwgh=ND!>{6 zz(O;{8sC5;@lP!1tEJX+g%Qj&N)N>j@W_SE*ggY=Mi#H*nBfTKIKd6T*N!{N-*56h zLxy=3@ohL5an42AoYcNA%c#>&%2FpJeon8if0xXvg`u9Sxf9C-b>}Kui~+`^MP{5* z+UDfZFp(jTaA8BUO&$0@+_H(zBSaXuP@4`EaKlJH+J8s zsy5Iv^+T1MHpXZKYWs3D6&j!2#ex&*l*XMI|f$k>v>We4%z$KSwr8Kvc!4rf$F z_Z4A3JG}39U%_s7C)I=f1gD8OlxL=ywK}PCvGS!s3wOc&ru8<4R`>E$ws=fk2V2i` z1uss+=f^c8cY0$@4fI~gIZs0FG-50;brezU0OyycvgW?sNL z5+Ne7tkTuVIQg$Oi=o9P@~0wtYc0r%f@!q;-y5=-oy-o<6Ax%oa*4;#gvKo(??Yfv zB9NXHQBzvMam@<4m0;x(IyAfo=U~6?l(dyS8y-lP^IhvHLI%glQQT3|@!&xj0r#xSV`YqS zTJg#ONq6NLk0c7F}lg}&dPRl276A}%!(vk}r=O?J9 zx=y%KU7qS*itRc>(_p`-P0o?bq4=0`KFE#~ zu1?Tbt&e-ZJf>JD#P42ciIgX1(05r0Q_IWqH}09uY+Go^B?r-G$c-aDR*t}qi_^Lr zpt~5|2MFG4?PX<<R9rrV5VR+;g{NTB5TV0wr zrHRCW5;)b@W%;#I-#5lG)66c28vk`CtN-Pq3zHk{vvMf7Bx15<0{+-GbMcZOb5dSN z@p;hKI<=K``ojTL9P1x2Q;!?BFx{$Guy=FahJW>G%dmQ-uapI207Ix z^&9Z0R`M|mYzSikq<3CT|tTroT%UMg;VX@_VneR>tK&)ljuzmX^aY# z0o{Hn?L*ca$oO^(Mip#o(=tWgeb*)9-JM;T>nm51QUfAsAWnXPp=-m+?!@2n3MzCc zfJBkm-Z3p0<9bpsV93REK-N7&2qzs8Uh2$kLuu1p;EhwM$Z8| zLJb;wpJ$$-ZxSIFR>;rq+`y2B?M5ToScE18D=e${;o{*X4T#!bvWnqhH4^BiTO|{E zhyNWPX{*H%G$6d;4{isMt)i`NO2Kwn(&(g(Z+5#edfTrdLl=+nR*vLB!RzQRC?5@~ z#p3~4p3LFl6RboBkf?giKuQR=HLW+mNdzp2 zTv)HTUiy(eN)zqLGx~@h96@{5&KPI1wsL^P>jcwCh8bk74iKshEzAIwhNwgl2q631}&c5BbXFt599bDKY8% zaz#c6zxu8;j|89W`uz#=BmdUln2yrp&H=|Mw89%t=j@SvY8uh$P@dWdAgS=%8V5O6E@ z@H8r2Xkk%;^t^Cqc#b4Uo(yQ54^As|G;>qmuJp9vaadYXdKN+#vZh{wN+;a&Zjb`) zYOQCf$a5gJ94!jf(VK9ehPL&~29}BJbgAq?t}2Ns6n&H6DCx=;LQV-AYSD;f{IDeZ z&)Ej_zE}w$H$e0YE+|BX-WuKn3G4lfikZ&b!jW7sFTQABr`@hC=DlemNFdP>^f-4SF}M!gfEPX7%YlJR!{yY zZiC;8td3BBEqKweMb_#vU|9P)D&oDRAzYngK<1i)+88#DYkXWOUgkZNzT}9IPn?_; zE}owFc|q+VEz_EPT}I$1~M-Ejgetjrvoll zJ%r+gU#@@jz8re!?iY+ur;0(;Yjq4b_$@3CmoEDq_mEDmcO%Y=H~0;$$<0bX%6wUN zp`9hCJ~yu|;V~K}t4l6lJ}%vtFg^39cH+-+SP`1e(F)1Vw`U3W(wdO*&E#p|c^$vZ zzG}8?HNEm*DRGWYMX>3gm;I6=9U{BS7>m~^$ z%2p$=BZZ~8Z+mhDybO)_+?>qAh{9U`*sdg%l5IGnTI5-bpVwco53H!{n2YY|w=Cb| z4)H%JH{TtrXAUoB9?os+*CCU(idqvQrIRBg{LBYFN>JsA{Xa(`jvqw`+VnXrSsqkq z7spn9nvES4Ja`?SQXMC|`IxL1qMQw9tmDkQDBL`*k(8|Sv*x*s+^7EQmN{daT_hro zDC9`;bHDqX_h2CDIW>m<`P4-EvYxzjbDpduB2#E(Z{WegM{PjouJJ%oO@o4Ru5wv& zDfe$Lx_$cxEO@aGsgEb@&2V<|{3{5oiN7n8GQUAcjO&9#K%$Zd$n2tnq%ifp6u-i$ zK31^<$j)>ay~y^3PI75>`{QIU z)V_JYt;+vU%F)~Uyj}nKOyBnG0AGw97Ctl?ngoq~^N4ssW1#j>N2ojW8`Qh|=x5=d zVVPh&cAKi?CN?6R7-Oym;p_nOq0YD7-qdR+hAD&Z;6Lq&*M~56FGm6r?~Z@*_0o5u z!2-%SPZPB_BhUdl+FZT0Nv(0>PA{j6AeKD*4wr*R>6rb~XV)MP2yG!)d(ZE^Yiext zQ5hG)2d98u8ljDvsLotQ6UNk?0?jl)`pl+ERCZx z+T;u>J{nFT44nw2^dQ0qewnOcY*J*CfRH++jTWRA8BWDAu{hVyD+PYE%d zg1r0A$~iZs)+!whv<3m?7{H(b(?{sJ7-%OIE={- zjztC@igxs_ZF-S{#jjNJb8x1)M%6|mo^&dcUh;bwV4WDxHR7UAGC zhQs{cyotg$bSFM8@-bqFNtfJ8;IclZEc^J$o5y`N{?S+DgUJnAZ;1d30NOKnG_`}~ z?O7$|?bO-@>g#C zSe#qKc!W(TJnug5{^zhewEuN#Djb={KpJu?<6`jb0#(%^iebMk-O^Uj#i8QKw;`fK zp5LYSEK}pG@2j`*IX>|OPoX@IL!2THy#$<{K|C72wEFxFoueCtmo@)|Kxuwf$mVcR{zfPYlmS~Uf`M+}Wnrv*lvsiT~@@wbpsbFLs zI&vA+S3Ft510)#sju;88s+NtegZsJL)wSW(84^_9oT|ar`RG6t7B0As`YRxZjc2BH zGX0Gr>JuJbaUlca345)lO-0EEz!2LXPbxWvBE%OPRBZjNkRf4|28EG>t100CrQPJG zay=dg>38Zj7f1!6PbD*W9Jc%Dk8AYw7}YHc&S$YQ91vSNob5Af%n$OH`ebOi@widi zRl^Ny{JJh#uULN#!vxSAx3$<@@-DcYimxFX9x#4sYfPK|wa{^-B!b@}UEbL7uojS^ z3;p>yOO2(o=Jopb;@ptOn-BrlUqlvz>f`WHJsSsu;YZmP%jo(fYJ`|1vDq=y4Dg!E zlD^h-+n2-f1safQyReMr^)#_p$=B>4&Qpgm#UrigZ;!1{j=r{2(~{I2<9q|IEZK*G z!W}VtTmJ}ZE=JWRPmp*1s`^}6l$7g@@uD3Nzmihx;O-durq7nesPUU)=GQ#$^H2IM z?bP^tyRLbq42H0lA%W~3NEZeC|M6g`;lHI;>@ObyorkP{br@xnKiF<5y%yh+fI zjlW0r6*6j~e$b0|_>L=uDvH}x)@0i_UqL*NUosaSg@9dWJkQxI!+)}*BZqa50tg>T z6e9FcETkdG=0q`LZ?i^`HJib8Ui}p2UA?o;By=CIUx*(1F>Q+L!3Z?lbLy;QK4J?a z+wm?9|ye1jf}Y z;2KO9uUjz5Scxr~LwXvV^AL4MG%rHNq}59=vAWXr)9LiGl@z7;qjmn^Qx#`X{>!^q z3#?j)@qkM_96Ox?Ej1kvVs0jz6n~~Gp==s9O_V&y#S6)+IVw*KPx%*?Vqt(t7=Z^M zf_HRuG$~$I)Pz!`#Z)*WfVVI0JLa%xQ>=m{DX#4=0}`s&Xmbj!-bO{&4E_Q|4D zlP`H&Ir<~c?d$?R@_DA0&SPXxmx`o+N2OV_Wa2l?a|-=@!8c^I5Zd-Z{a2m<9?yt5 zqcksHh{~x0a~z`6ZuUGXUo&Hp{Tj{*GZsH1 z3F=GjmRrzpbR=`D_1hd}(tR7Vv|Nh**E6s>Uj`@hQIJtyD!v z<^KH=V~!%Hi~$<^#DF;_E1|-m$p2XqOY1w#3_T*~`nzZ$cA)N>=}?Ff+Cl{KOra2rLB*L0wUg94fX*L2@d>Iw{q=hqOx z1EP-4cgJORxgI%It8S;1$080Dl|!#j7ncmpyY*f1B%~+xyNe7+M&5WZ>cxe6Ekmf3 zrd$#BoM57NaHw zH&Z%O8Lrh&7OoDPCI#(_xwM9da(qGpa82=gGIw`T4t{Q<-A-mkY%dYeCY@!XoXp}a zN-Lf$-DM(5Hy@E0YEwCt_j5s|;E`l^yoyJnmFu9t|Kzqg1TU5S}5pP~v2H9jT>e}nmeqg{~Ef{F;(A4|XhOvt@SVjyL6Tqz1P zfRzpzkbB!XgOKt*gR>_y`rq zHbrv3kJDwk`ZP|RQ6dWqP++XQP**>hNSSVRW*#bXJ9#xd%(bZ|3bLQXMi8wT60%2M zW?KCHScGdJ@Mazj5dJEh|M-(zPsVpweBrAQ_)W&6vWDSn(43YbptiE+rt}RQeicW+ zCPSuewI7&bb0s*vg4JkTwm4dqVB4wbJs=Uz1tNB{W3EZ6jAR zreT@-!-FRtb>?A5+n09f$&<4gHAwkmo^Xu;I;W-;bVA;!rQ$QX4m`SAe~gJvAF-F_ zox1vdl+5|dn!!{_cPU0=sP?AU}j!lYbDVVY2af^z!hLNcopHHC1U@{qSP4@cL9gQLrfB!zJIG5oni~HV!bvxKH z`lH&yaMbg)aY;>J`_?J%^vPjfjWB0ct8j|j0pGaV&5OHM7bgZkhP>DPuTlQAoT^VF ztW7`Uwml79>Yfh4Blto_e>s)f{Cr(8>^>h7v%8WZ(sbnJrab=DP&4Ow_XR1pZRT3N zWytK`_>q9`fE`n=pt!8n#rU|BQSqKvTN6O0lpfOR6!cDTHDm(rn&fdRdSo-sa5t?g!)V$OTL>D)4y zf2N!65aPy&_cddxaQO#+RZCPWjZm>|npxobo=MeKX{BFg#C7`RBVqI9l)8s~vb4q> z_LOja2?^2-QT7VL9Qs?&=?4h{N+W4uiy)Inv-5lUQRA2=e_c(fsGSt#lWm!G!xg4`+eVBE9_A2cnozVo{xz5Mu&`^9 zl1kSFd@|u0Vcg;P=={&cY$PMK5QQzcINOfroWNIp~5F(_eoLwm-7h0 z#PSR|g^znC&2y0UQQ7EYT;|lgT{l`Sp9d27y_c{g2XaU&|6+N0VuoGni<_lmWd+6O zXZPddqV>rnB+IXNKNP8_=W=iLeyotVXlY_Lh>UPtxzvdB$NN7P+E{BNf#rQst9ixg zSsNNO+?TAV{eIwaB&lRDLVkF*a)kB}?gw57Lmk7Dh*DqF{~J1^mAU#Y%D_U(FOzeR5Mww#S7l;QbniEq(A zjh|V(ub|^jP0dAzSu{_Nnl)e=q;|{?NkBqClB@ol0qcJ>4tappz{KT z-y_4$YJZc9aX^;aK%7m<<47btg9_8i>*Q%vDWLsd_d4DA{tLTYUh$k({Cf!8%W~p3 zv6QsH2$+vcD}Gr$naHZw<@i~-`+6i=mu}I#mR`e5uW_3c^Btz)CZY+9*!=-rwl61A zcCI9nS&<6!Y|N1cIb0AX*RtHDrVaE%kp?qbULgdcV#Elsnm+8!kfcyX4heGd2bsUK z&P_o!ok&Nvnm;lb&|_??3{@>PbAUq%u!>|X*FVLvK`93tS%xa)Z62tNa~0tn_Xy%Z$O6xysH zd_5_7^B($&x2V_u!xo^o)9-)Rf7s%`kQS6PyGGJCSP=~U4)uYCKz*V5P-7W+1!*~1 zSzSvD8yD;DwjWhPyUB-A1D;q{_J`C!;L?|xhr+3emPDv_ZGZlm%{ywUgWe# zQGA0Z>DBSNVVtz5xbVPco48J)uPOiEtYdUq4Gh;w9)=wI)Ra80*gK7;N9dURKg2wS zSDW+H`p*3=x*6$~n3kAKcWy{r+!)zfs5c}uhpzeDfaGcIA#pY9K2z;T|YCw!K$4Cm+d;Hd1NT)<^){>5LSrBKWHn;PgIZeK{Rlr9YRFg33E`&3gmG<8wHznKXbrZ296VK;>X)(_{rM-o_yV3gY#>mjbz zoS?1OhWFvLk-U`K@13XlOUX$cDyxaun3yPGfa#`3@3E*RxuK1YwKwUwb^YDusy$&% zQ+Kr?v71#8l$=y%`G#I*{n-E^hEdvTtR`Yt=w}Yn*a3}a@(cAB(5r`{#(u-y)`p6i)Uh(WY4z&UU09Eo5S5S7bNuFEd{`Ii)8HcNKoi-_HH$N4*1sRb`NT*ftf|kuh3`Q=8bKSJHH@5Qd~aT|21AdYVJu_<-PC7$k1 z-U5&DVrq4{f{2|hmw7B>rfDJf?9Qvjz4Ih+$|^U|O?Z|7Tw~ps#D$`AUaks>n^HXu zbgV!4^B0r5lNO;c1p}2HCi)v;`@tuQn}nu*9eV3vHi<$#JC`=*l|_DO?f}7r z0Xo`Jgd}Lah|VBb!PEp7cu_vY4@j`0VHOWa(Jc9r4N=DEuP7eAaWavxpn2;nxnGfD z1L#iin6&Tz5KfTJLs{nwlwJV9S11HAp(M}YO&QMllOZ?bzpTWZ?x0FH>UU>GDSIyM zizNF(JXXJF79~i4Y}B3CJtI7)$5s?YaP2>K$->?!Q_RXsZ@ZSNE1l-zvp7E9n2T_& zxYvu-iOaLSra4|yOLsUJSahwU9QFlJl8;v>GCb`oU6OCI0P{^^gR@GMCn-|^x7 zUdXGT6}8Z8ppM>MrbnVtprw}K3Sz#9kAf1xxn89CJ^9k&;Za7(dgl5$m)(5I)e-o~ z8v3E4bpFYzkWxvtiPmg(-mPUwg_Q?~eCjh~Znks-z`=XesNO-o%RJ!P0o=m?zno?}*8jA(cKMyom)4nbHHZplD*m{k0p1;_8}6<&msBuw z7+k!iH0dJ(OWlz<1Fym-#1%b3j!&MC(*A^gN(g}c3=vqP9H++gO0ngcjRM@ve9eLUDY1(S;Ai(Gmz-aWe#r+jrh{mW*F3`F_Ar*L)Wzy! zyYn_j>DTVx=VLdSapokMyw-7L*-oaeCYrt0FGpMT5UXXGnXJ#TCJOn@ycFSQdk}jN zYiBD%JCHyey)>eX>t0EE16+g@SelDXh~B_EW|5VTg?++ zf}z6IrT=BhcF+t1RG^R%d$>#ul92#kif3w1(@D{Rb^3vw$)k+AA->2Uw4tXp2>7en zAbO+?9MIby$F^*(Fef|0Ea~?i0I^T399l+-@|KvDqF4{q`OvY9B$~*|d`eraYt`iNprb5)W}kZ1F#wM%rK4eHXXI2vf@3_% zF64O3*vH5A?0(Cw2I%9ooSQoo?(fv+STrkU1~k*p3ww0;9Qmd5m~Dg-`Z#V1+&zGW zG>W=6=x_DlN9iiu6;?j+lu{= z>9D!6riDGb#L2;NY({fffC+XMOT!^-r*Ph!i^X+utm~~@Wk)qFG@Z{fjeM&&L>V_Z zP`(Lh`+;B}77r#D77mw}DgjhD-up8`;rr_pq3L&+s+CK^EMKP1Um>iZu*+imRRfB( zWt%+zrTZ>`m2q$wgjFeqZ7j+eLj~Nw2fA%MOj%mMCL4geZWC|vSpN&cW;IQG7NP0+ z`dxY(^^2e{?DSitX2ki4bv2hp@;Lk(0|9<{C0NzYt2rgNcQ+OkM2{xm1eo~!;>lFjjxW~EgexAWuhW7)KGEHc3_DJ8| zfnu?xxAf@SsN%;)xG9YFeAr~|{TBS*i2_pP;HmQYsdd4e;h3@Gi6<7hy)7r&$;FPC zhS#>j6S7{%E)RH${Mlvh#`y@Dk#SA{Sc=3l?NqAjwxeiw{ACth)ag7(o9w}0X*ADc zb2~qp2tTMdmyR#_)9;&8u;3I4PE}W|un}mV#8`4Dqvdz5Uz+)4Ejmi_jnl^c(#B}X zTCUTa?L=!~zu}eMhKH_4rFZF=&LfZP(RFq)iNcGLD{)fy((E(tXGfweO)Z?)|&;m*kY(9){kv01AZ zjH$kPGn-0*1H}%T9NU z?mh$yFeF9$h4j^5_-P9R%#v(Cm*{rJp&^r+W!V>vxq(`*?&ZIwmjQv)_IG0zpK9!g zi^|HCe=T71YesWOUl5rqzC~srWCR{&)P8rHp+A8$gV7>6+ki7>_y*Gob_n}zkmgMF zf*$+NTDZ{DFb~YPc$Tar_~^c0O8%)q@<-jS!D$jDGh5;(hcOgJ%|mMIhTqRL4R8Uz-(ppo)Y|C>R6Mje~*tR=n$}S*p;AH$(E*fFGVTUo% z18}O|lv)kQOh%3cXeLgO@fx9*J^G@gGUo{zs@ippXa23Bv^Co z_Mvphh5LAEg}>jrAj8MvCl@l;r41mV*!Ny}B$_3Fq_N#Q`=i`1{65KzK3_of7#+3O zl)LYHs{G1Ooz6Y12yN{;W9H%*(YoC;SIKqJQB7r)l<2g;$d;MO7kHcs1VP1%ub?$g z=BDtSdf7>MjIk`w)|IF6&pAcIQO?T$1|59)BE+$wwrl6Yeh>aVewydEVS*ZlI5%BB z>OJ&0bECswRjUaObc*tc-Gss|LQP-&XXAmk`778)=Fo;&SlqCQB2==!NuvkwW!UYr zooh#^;No(2xHIR8D&J(mSAQq^i;GO>E*h530EUq+C#wDH$BXI7Fs|2&mB=6-BLXgw zw)hQ95fL8;Xkeg}lYiY*{N?u^kq06PmTvHfW-Pyrr9CLq@mIBM=y&Y`KG&r;RoFn^ z*qFA-z+Lt~1VN&hznC{SkE+&>#f)wOzP?@jT*^|87O}xbx3zgX&=+Jw z%gVl6x3fzD0VvecPq_CIY8R!dOcy7_19b8yS}R$85A&w8`1l9Nm!3YG2rAR1aWkm? znlNHh(%h2Aa{0L96gaoHVif?^xZx^l_V(R^nnOr3OFrlAV?K?!i5NnXN&>slS9{L<%vP{=JwT<{lgl})q#$IPF$U7f>0yW#8nR)+U8EwtX zZin+QY(Yoedd`tHi`-6PuATy8hbLDl`mT?ApOQlt3@xhqn8>D+9;0qxev>hnCjy=l7A2!ahI>w}f_^y>wyZQXPs13p# zg5}?p`1usj6Dag)o8aX9W#Zns?*TpD1vax?1Ay5Ce#IGTgaEN2@F($ABBwKU(3`v$ zBl4F)Ex(uQc(3Y_7YO0gt>l#?hk!(Q1YgNrL;qqSKD~l!#WH@B06A&9m)F?yiDVi- zSB|&F@ylt7%R|sn$2*4)PK^4b84>%J|E_{13;_h4cC)g?}*aV`aDID53#UA-FZS)Jx9s~g>GBvO- zLV0@afZx_|`L3D(1}rE2hVz)=lB#GmcK)X2NSGObdcP@GFW+}_K0WW8(}0RA6Q?;X$9|Hl2FSk>C9MQPDerS_ho zRaLdBs;FIi?>(z6Rh!x)Mr#+P_6Q#()QH+Mv9|<4L?rq7{_e;9xbx4+-#O>xx~}*2 zdOcrsKo~8A&sD|Mn4{bR{k5o%^}Z zC+*t%EuQk_x!!r0?85Li+jmNSi}TGse4=@wZ6O4DdNvaiU~|#M_aN;LjA64N9vmtv z8dc89X8&77O#@bn7+pHbd}^W;01i3JcZBZm)YkrGVrkB+Je@M3D2ux>a&4y7k7&%` zRTW?>Pj|T31!>T)Lcc!~xp3DgU0m|sp}fq|d2ur26A-K8yY8V)ELW%+&DJtYvTP$B z%cRy*%#}RJ8E$adm{6nt+9_FCwq3O*IdQ3t%!AZzRrYSbhE?3TlryYbm@9B9uV{^Q zE`6ikBdIfu&@_~2RUOawo%%yNi4q|qaI0oYDDz%}j_W!l=!NoJ!U(6If$~yzWNj+a z)E(~&fbNBchV7dSL~ZK604`LY8s5Ha{{bf@%cer0t2*-^2XcR=(Sjn4UqAZ64ZLgB zyc5}4_)m;Ur#QbB`X%`r;L3_>KQ}Q zk@2+!^d2pKMmp01L}&F#GASUi^R2xUwrNGyj0lX~keA&48}jL@U~gS&=T`2of{%kkbrYEr zqT?VF@*S@^-;x(J=+GUEd|3nA+WAKA*6_A9-z>drVh}4>HCpO_>=Z7T9uLM5V3WBy1#PGt29X+j z6G+egc-Rz96CtKjeXC_)VnU7Yj=c#@`SACcsXT{62(fpmUfbemOSA@C@#-;OR2wbT zdjG4Ta;8^R`my>tlI$!+PT#)0X*gEjq<6Vb*(Uawh5F%n;H~5_Dl6cF-70t3gK1_Uz)b0(r^S6oYSm$VJ!-x2ZRHiA zPtCpmZh2&1&Tb+0lI6qCSWG76AUXGQ&wY_|tgQhY@JWZwE>s(X&vh3t$@k?LG;#4# zF+7|iz&;>cD3ypB?q%?i!>iG$qp}H;X83zerlZ=HVt#Y>2Zn~(0rontwC$19n_wyB z$2?=I$4$ho7hc`P4_ULWcQ3QVPSBR6aS$Hep-f)76Yj=CWoiukW=WbOgO z${D%}+t78_?O9fZ(;i!jBo-h%-Y7Q-*z10W770x%_6*4HH9A}R1m(KgX$S9-zRfX^ zmJoQDjBFAySZSG_Nv6Zw_J$mvGSQKr7wxFWU#VoF;+=BI^$hhKoLJC0F2X)D9O@v% zAD#mJywRX* zx(fJ-u>5eS?REM0!W-SMPi%x4PO!fQaJmyLo+&yg6EF-k>~X zWzo|!wy8WKXX@U5F)X*KFEjJzSCJNaUmdi^85_)!&tOQ(FeDm*@#~rDQ!fl}_98Vl zubPSx{)yR&=Qgx-fLtbSk0=#pF3C+P?XU#Puq3J75#Q{SAdiw<%})~Ct$TWU*MMy= zwYHwA|G$Kk64T#3z;vc*i~0w-%-rf{-B@zq!r$fQ+E}wFm{!`^9^Zk zNw0wJ{NQ`XYV;Rwbh>%Ej@s}R@9;b`W6z<2{U0TzyJnaD%sCKx5}U={1>}6({N&(5 zel90e{nzHFg+Oz`2er8;qZj_WF!v=BDz@yS)Dt6Dr+EDR0=b6EcekZMF@bx8*UuC% z|FQB)!xB@zS+)i$ILV_l-6wpq@)i+o;4^Emmqv#CfD7!$hCXUU{w6$S`2_d+sCC@f zwK-zTr|cUsPZHYExj3C8Ey_D(Lj>2>Q}f5Z2tPPI95FDdRW(8?O41-~bz2EZLRxJR zhvK*I56y0Q&zhvX-lateLBa^jd`1DRe$G$jIw_0MF5?q8CA=A z9Zk^tg)_%*UVcyL$sM^NyVmp$wErf^jc#wC?5N6f?7yyLjbMJ+bCvf77#Y3g(@7aw z)Kp8Vj3j3$uNqxfQtnPxm&`IjBo*e?FJS4b7Pu&YeHH3tTHq!prS9hnitqjHtM0etyFy*Z$@UL^{UzmNcc7t2$9 zo~C()xA*gn$bd-IQ~P-Unruo5blhk91WI=J@>5IjC5!rt`*c!+N3x_$=Q}AY#Vq67 z#>i)osZ33o()@X5Obj=J}L29dzH5cJ@4%2WA`O)>=|Dx}G>&92y>7r0T-pJdf<5kPPA>k#Ckh$jn zj%mJ(CJ|+U00Lg+YE$g4&%*XmoXk~eq&TZvaQyHGYvIp6iN6bg`LQwyy5g^ZIk|N` z0_uH!umBg;h3iWwp7mn#id0KFZJAQAJo6T=xY_ob zp(p)(e(#~OYkZZLq1~wlns9Dx2|aI}55X1tpWuULP)j(kP^B$mPpVNp<`8Q~odSn+ zoI7_F?XJCl(50HMMVuq}=szP!j!uXIz@5K_l=q+C01%Gptkln0fa$B|iK|)p@*g1_ z3da!tnItJ=B_THP_R`YQY2)ADO}
D@Dm=<~W>x?4YUKGiutDjx8-MeDkQ^T4zg z_+J=;0k7`A1GALyke_zASm$!LJ~@itNHge%mnF>@3!!0qcjj%lpvj&dW{GPp)1^BK z(=O#-M_UTsrcKppxr^E@VcRn0>jq}_3Jj7vx!42DY(*8n?t~jX*7$sozoRFM9<42K zvqb!7F8um>(TmU9=V4a-vKk8h9-V)V2=60m*0TN_#iSZ+jn}i#oMMlwz0j>uu9Z(_ z6@)W&1lPYLGEHg160_G-JC`l;S5aVI{si@>=u{l4prXDMhigG% z5z6*xo#-`N>tH!g+0mvI{7A8EUnK!7BIL3e27ECBxT%{Sol~8>Osr>iOm_bWQY)hTMn`{O6G;t>k-dBMbn3L*ZF$9$!uTR(zi*f)#@YFH`A+|T zPg$*^OAnC4patSP)$m-l5-dpe1sUc4Ol`DL%&ve3c94z2(1B45)0t8=r4k?C`?8a= zGbT=L=9TR+1Eg-u?ldb3Jod(!qu+FDW;? zK>=!P@H=2H1fG@2d9jiLk60+7H}~hPZV7=EQ1@gH{>B9an$vasrXy1ri($=SxH@@uWMU1-U_QV;E@oAdX;HN zHfEH^@+_oHa?lLF=;Is8E3lqb5lfGvFH4>>*~>h#KMOq0$lhLPGmx*teT)2ifg>fR zRR^FK>+I9{RXsN=M0TO_Ve}5Z_YfOhQr$wH&?UN^0wtAK3j6U}2f8B#uHN)-5OcP- zb{#tD)wpiTE_x_(YLKHwXBU&uFXR`*rG~SMaK1fgD4uDN)W;(9nIkYdBy!*SO}Zs> zYBBm*H{hKnR>;Qto<*kcuq-rIXpDNvYT4!k5V-=dSuj&9yHm8!@B!ahDO4Za&_7tY z7P0h3Ar^!q`?A~6VqNuXBkP#?W5?wxY^9$pmumTCym*6s{JPpiTT|Hk{;xgc?f*OexN%jf)5#e3Ze8(553eFpdR{m=J2_n?rEHV7 zNK*wI(kyBvlAsRL3VRlc1W=)e?B98V=x;xgM%~L8)g(Z;<*O5zVZy5aG8pIeSIo`$Nt1TquDZSt#j|7xRNB?~!uTElsxh?wXBxMV3-^mts6cVT8cPrgK zxSeYh6I3cw8#LjbmoFN)Wr48%ET7IBEATM(D@Ez?Ngha5D*U0F{>p#vsJ*uVAEA$; zjIRq6e1YS)KWKlNLJEK1q`pb-Q=k0h_<<8ZuBy!Cw4E~)pCc5R`kl%G;GUCsZRZ8@ zwX=)uieMMJqNUJ#Bx`b7BCpD`S{zsPFvP7X>JeiHhCdvGkKV@7l~0CV5{s-$fY+6k zq>o#m0#>Rkqlwn3g=+s0ec>0B%KwYQM@66_E`FG`XPkL_)*jt#rr{a8if-PyCGSev~2 zn1%quM81Dap07Csv6Aa5dZ6T(u$v7Y_Z!-=e&78BB!7ak@JP*K{XxTfzA0s!b%>m z)pI&Fru!m~!QflFW^g5!KO_@NT=Y0-aJ@v6+>z%lv=c1%=Q>kQCk_^T1J-f|i$`*! z1a$OXGiiDKQkB&ae+p0wrH@tB{(j-?xAp?k=O~fP_*qqyjLxriujNe{pmPCo`w-8@ z80z(IwX2%r6KL`ddM1JPiN6ddY(|a@@VK^oc$ULysd-06XNDp&vMw_s)Ofk6?~16Rcp9bta4q_Vw6#mx^}BIm zcY^txy|FD&t(6Dr2{k1hH+1Q#Gok*^iArZr&Xod2Ib+~-@2&Rq zS~?K>q(4VWzG!GY)3P1&I+l~ZA(PvK71}rQJN4(9T)&q{Oh)sZsOje0;R3V6@Wo(~ z;u8gp+0KpVJVZFT`DW7VvssI9v+rt;d4>vn^*%}7TRYy0Z}B)IRjgchK$bdBtji5z zj;Hk;rv28i5eFB3Te~vI6$b|$I%)@T!BJJ{NU1G07dpazIh8*FU88Yecr|xYQ!uMy z`@o^!M_+sYi2hWX?s_D0R8O@V>pBEMDl69o?N)q}R_qzkA@_Sg1yIcU#CC`lK8rPc z%XNKQut?y&!b|#O%8%WVbe*xMdP+hyL1H+cEfG>?bMi>LT%lA~$C5Oj=>`LAHD_6C zQ1qAQw^S9mt2+t|Z0y|!4!f?ptgDY0y0f$E-qn{t@gpL7rhIj|adw?An^qOr zmdIARMSV^I1gij%WiYOASM*Vy&5xn!zVIaLtbFu}RsHrJ)#S{~j8WC?O6TgA8ocb> zbtu%2h}^yPi^2RS7u?OX6Rm1mPyAQ^$WB;p@wDdf-`;B73;t)ffO_BAkcNP`;jwyY z=b8h12zLMV*wHYQL8ouT$(&+6&WG+_$ep7IjD?HP8($CG@INx5K`(~_CzN=o)OnstH#GR8P;N7jkKU};uXoa_ruG?>^0%fwy`(wUBt(1$wR<+&!2X2IE}EZQ zzA;2mgf_6}8J-O1$F|BERU0Mc1pw{SXMF)SbX|2Ldf$dMs>ipDSTi(x9`!zLEqb}Y z{UK1;hIa&Huss(!PU#C^`{jr8kiF==RVoqCr>U(n zGULrr8sMI?pgw)k#YnYk7l`Ha7obiE=#aSL68z2nrw|)X1+ag@@Ag6w93S0YGG#5G zu{NW}F_N3_3PMJdm{!_t+CM%&dEj_EX}TA_WMxIlc(%}`Cwem z-(N320jk%IHZ5yHyDoCv^lwqLcABisO)Y)B%ox&OGWrKbA9tw#Byn&ARSnt14IwjE zaVDd&<_%b-h*3gaQV3`Gh^zKCI*FI{17Qsf_cQOl7utRqPCUnk;j?Z7zuy*F*#Pwa zZQm@SVlASwg7e!&D98%gTO-nB{d(?hFxOKMZtPUekxSVeIAr)r-qBw%Q3g?!RX$NsMd)s7F8JG# z*V0+i#oES(n+2BUG?OJJaFDpmSFpm`3H|HdLkb6-!`Q-intuQbTWZ%oPy*H7r?ZjV zHgHwCB8RAaX^OA7xXTVS!d~Ya}@Ky7F`i;#T~*kd%K-(kQo9SX8lv&4lYE7 z9hHHr&4K+aU&3=>)d}`$qol6{KmUmOmsDKuZ@mW-8%j?re;U7z^p>V^h}C5AbTKpUbBX2B+orD$kZzjJdZVys;Q z(>M~_e(@OMoNay1Ps%SnK=?%QwD8n2t;A1sCC^xmb?n=-`yK>BoHc~HWu zW1XLrit`55Hj6|~HQnJsiz1mJ*H7`Q)K)mI0<4dFob9XDo+~POOn&Uz!UtBQ4to;yjf3-i zX{FGQ+gs6fo5p5h*FASb9a8TVGJljk$1cHI2(q(A;BY7e8&gKEjOC|kTd_F=XMG?h zgs}g24+E`Z>Z(_lOZq|gpDgrYGL;*}?t=#u)D&_|Y`80&&R8vS$2O6Z>|x~v#}hwl z;jQ|j3H$RPkPH!RIB%IG^2X`R716!oZULD%Ni71!U)Tz1&e*xFDxXoq#_7GI3z5;| z48a?JfrNH)9>15b!{3kDJp6kZtAtLmO~QrwoVOwuHa4(7X3T*VxC2dy89dJj`{t}m zg1KyU;jF!@q zJk7Px+tHPkCi;1;Ys=9?pP3U!)h7`cveNJBPXOcS5n+9ZTE>gWA}LqZ2aKV%fY_Ih zD{^hZJeHmdSoV@yol1nAt<@f2)_YYXXG*Jb+?{qDfHE^FMw`L)ffmUMBrg{mr!1tnsbzWZfk zYnq6-!l?^<82=C5Df)9X(~NIExlicv^LL>L@FKoL=*}`_zMId0C8Xt@pMJ5pF#M#o zResGqyuSm383o&$Wk6L{A1K_bKVlAe$`nyMSdh3{r6r%1zhEZH;iF_GiAn4Apt9*& zX#R$4+rpS_VuVpBik2-0U8wSlVgAIulEVQcWke|J@Vdo+P_#ktS#_S{)O_D74pxHE zkwCE3#ZI-sD#PF2pxoYT4QaNJ5A7tn^;tKSg{h$MyjSBs4;}0|p}CFhmx*o1QrkMO zyx|71*TiB({0D-fllom)D>@^gmW?YD!#BMZ6=(93W- zkWQc7+aBE@KKX-aDJ45A4ghdh76ssY1OtF6P8g^X@iZZu4#lA(jU#QA5qZ~u_Z4-7 zU->sW$URA7mbd6NW=KQOB)1d>+@?FY^t|hf=IRv@{MJ)4dk0|qeg12SNHr7HShUXi z9f)2H#=4s6TnD#APN_4Gtd`LF?oImW zGT>?`KSmt(No*RQe;3+@2992HhvT+z+EdExp2sTt-;^0fMvoTd?@qAen;*>6pL!2F zkD|K*1=l|HBIuJ=*0P`yo5Kz=Mm_<1#E!5I3Qz5RZ!SdBI_u3}8{pvreNjm{OT4^r zL~;Dvyx#C*h%dZ~69oCOgpgej0-0-uC#T<47xVJ`BObU?JK66;k zDG(e52-K0D)(Y(*qJjPp0Ylc|trpqRs&;noT?K>FA(cf%#X+5~H4H4um2`UY42?8` z{DZrVue_|PVYBTck3C7|laRraQ-*?rF+WEAT|o~zKzl1+mAQv2k^>Mjj=2BdbVfJz z$H<)6z~`-3GY@0k*mqHiCvqVGaL)c|9vEl(QpL>r)cyD0cMr(ZfNq;{fUG;t6%;8K zbsd#7;1F@yUgy>foc*!6J|>u!wdo>6Jxc~=`#*LQAo%|sgIrOZfUY=uX%^BVY0SyZ zku-g!23flbj_oHczarkar5m-*7X|7vs_u%IUIl3NoogcUO-tJ{ zIYw(xzN{j;Z!aAuFOtFeuEB;zK%teLVR)I>%Z$h7QbpBrlB9M=Z-xmo%WLkHKfg$4 zX2Xjlk@IOPT(F~i9B|~f&2&?QS#!+mq`PIM3T~xP3x}`U_5y!{;pF$^C1DB3oB5pw zLE90(?b66H(!%3gcN|_X2+Uznuu0{ct+=RUN=dj+_NH)Ka@PLAt2*qA%&>G#BTq1W zEM|z|QB@bB^D&%~G%ZUN0FJv>TI?~Jgi+UYJJl_vibmmxF_6FfdI5C9{y&MVKJvHc zcwmSx-+ypT*b$^98B#019#@v$j2^sWl~wNj4b9^4tgAtKkfRH1g&|8zFSm)5aPi?+ zx!QhFg)pez_7wuo35OH-rDozkQoP6uZw9KsU*go<8~RU*BTJrSI9`7uAKMrEQiAG` zt~@Es_R9E`vSuyy$C1dw!p)SS=?Lpkt)u}!i^V;&z}2q^^&r3OIr60VvIdfY&~d5I z1D@X|HjH8y$AS05l0cOYz$l|Y`K}*00#)wZFS%`fUwD8h2 z(Z{_UZrSN=eW+_Hp`0NJ@I#lZ> zfHZy;SrkdrP4N99jl|nUsg!vAr@PhpNHFsyAyF{D{Ky1AS9J}ngls!qE z>8}CC01(jq5SRqBJ6xlNoXl|?eZkL0}9 zH+tNV9uxe#b@&1D&y;1vAC2Jw5)^B>g&cyphH@Ig%eFce7~<4KmnzKS@Q&wA z5Yl6Y*^eKne~RVZr~JA^;~(^WrdEQ_Z6U!J_aqRMq5e~Tg}C9%SYNohB&ds>Z9@d% zERV5>rrzV@wVOdEr~@UY&q}yQ=)RGK$Ik9Ci!UklU=o`fKP~ejzyf`>+ZkxbpzwE4 zXn;}(`mXBjM_0M_U9`Zb_ou2sWR=_r7W#i$5_qkKX0JKARM3RVbx$ztb1gQ($D&Su zeH!0r!}o1&!W*?SdPDA>`e$*?T!u`$i#K0UKRfn8zMi1->h+wB1aJ8wu|#jI1lu~Y7R`dqa@K;+d5{{Np!J|DiG3q>T(z2z{J ztk|ur6pb97Gw-~&WCAvR)-O`kR06Og|LUe(dz{clsNboF)sqUahrZf-lw# z?rX$+aAnAfR~puNo?jmhu^i_V8Fqj^GbQC7th(@t29!L`8>{9a1&8}Tt~#9j5ZqcV zu$`Cv&x1|Rmw)rXD6zf}44>Y33rXV-iT<-2krkgjt)rM= z5hebG>MY)x3jmw zj?O#@aliFF=p;|TO&TcJvt@|{Jp}x#p1x3(qn;h_)NCgZ0`t7GgfBY0_a(D!&YSdI z3=?k9-I8YKmG~DZDUEuGpKc2(5ouz9A*SK89bLj0(!qq0d+Cu+fr#Z^C4c<|1n#wW zK2R!)Xuk@?Di+*u`jbg`0H5&uLX`XO)!-J)Efq4l|E{M7F?DYydFEFAYx7{?4Glfy z>XYoe_;9s#iE&uBL_XXp!YgZn;$(Grp72RZVF&|O7SDt)oqONb8#i&>HII(Ewsp%_ z&(b`o@Vn8Ko?q7bjI~#X_Di*0bj9A>QgyPCxe)%!brsCn(_pWZS6fw@pQX64-zu?| zlxBv}KBB2jDsm|P_+Z%ny+|<{3Jv#UZQpXpc@Aqx57WC{R-V?Nh!5t%LRdT2t;SHz zRO8C~JV8V$O|==~pxya2%G!WeIVnwB);#&Qb42qRMJHEY)zMZE$|m>J<73l2)!&S$ zCuCv^gP)nY0~20hsODE_gz7-vpolTX3YTcNN7iIk-JXb#Zw3pWzD?zm9{dtLMtw%} zK8goM?iqL!AkSDKvx;Cs!c%an9Ds-!5~L{~^44{%$x07=$@4^v&N zOK$=0h4dLmvM_v%&qg%~{-9bXFaP55B?18UeqU{8!6(z)?VH3K+a~9(fQ4BT5tsP(( zCekMSVY@ps&u=rgM*qR&9&ufo3UM@PfyYPdw=m*HNpVAj$zdW>W5|H6M$y;ok=Cyh zbLdqO9RbtjPhset!JX{E$7gw$tO1a?53Ud2rcDfy_HCN<2!A>iO*|Y-_`rkv433+V zHyub>d&(h|m0|J|?H-6WZXKl*n*HUwDdfn^Zr(TY}F1_WjC6z9&?M0}kq^NeXlf}pA<_Ic;+n+MlT~{KA-r2FQ zbohnRYF{3+8=a!GY$LPJZFhmWvLHv6DAOlms$xm8Xe9QK-i1CFy_SXT29Q|; z7CgNd!ZEk{r3E!30a~E56tpe{EW_%>a#S<5HO+u;%;Yysj;8QzpT^^dNz`JIfGis0 z%rwL<{=YMvaD+p;ym#apmj?iB9urQlWWYTDumxUZC0~@?I-T(O1dqN;@lTF67lT_v znvwwou!jxMQU?Ht5S@3=pXSkywWr^)0dSGP$wAL)kq>^S2u{a^S~+%w`3e2KKRq}4 zkG;fXdW<^mmDWQ(>Sw$PXXvb=*-*u!+Z!zX4@t;D7>3t*mMhPE9g9#HT(Vl##97!w z+hZr#VZ5cbF3D7M0`3>RCk}b@ow=oo{in9I%byFvAo~Yte1~RWxf?-8Hf2o842IBk z-0(kAN?lg~@>rLnOM$Jcp|ZV*AP+`zYcP1=5bT{736J*!#H;z7Sp_nqn1BFk-kJ>lzg?J>LR^qvT)vGg1y|C6h~q zw1Lx*C2^pkq*#Xlg{F>_<{2Nox*ooDqVo{7m*{EufMVeTiy<3TYzl`hieE+6GJM1V z_wZvxICIXemK-lEzXd6|}}uFu?^=Kcz-3S$)494jt^XpU3=ghMei;}Q$7 z{_gc!8$@#4`f2!R(jwahaUkpO>4`kex235x9|Kx}#I7*^eiA+;9E`LqOKpc(N@#{} zV3gvrUqgT3vq5N^Vw}CsM}B<1Yq^@GpJ3cpK0IGuHeG%Pi}l$vo6<|c>zt&$Vsy!& z0vzY__QJ7@SNt5d+s~@8+H~L<3D*P_LOG4$rqiz~?lQ*rBH+4V6}XOhwpPtuxb0^a z5bm_LQjob*MV+SnzJPsX>h_)m3U}=?EOr!M@@zY)Tlmf=^Pf(ye{?mNcE|8xZcy=1 z(1~@=KZ@c2s)c|;pp+8u^jaI{0P-jSY~~^Eq!^_E1P0Lp05fp*sIhK<3KUsWKd6=s zdJ5Vm{BL#?Stzvg9o^AzadR{tEB(#i@u>{BKO!F<;WH__lx5jKmzTg2d>TR6_>S}Q z3b>GwQV6DrIlZ+-jiDqso$#w(c9V?ybp9a zK4}hCGBa?6k8NOh$fUzGAYp`gM1g|($Di<-<5m?G7M6$$O%W7y0k^~!Kyn!i z*UopId<8Vqa&{N8ChKeUlS>|<1FdOlf&bWKB();P698atIE?x=->a(Y-s#+w86M0n z+~K^ARFUMs5f!lbDpR$%Y{&fyD-rn|01nS7BlqwgX=5ZLAqN1sH$Re9Kh-BQtBe^X z@b1!j4&IGH~^4}t|(+VhqgRX; zks>2=cUy9=eUoW)?t~?fb$V}aj;)rZti}#4Es5THe^j8j>`XD|r*heow^x$f=<-`& zi)*gY4kvKTXX;97G6xHPXX&w&s>NPhN3gc!jiV78m0`rOn?Rl}<$MOf^yHnN#C)W* zU~(3#)y=-|v=(O+`)OQ|M(iWh7)^j4*Kz)O#73|P64g7@mjvg}RC8thtpM4;t+}=8 zNh>Rs%WhzDH{vEnAD(qJ@j6Fqf;%+TQW(lsqqv7PBQBROvcUjQ?XFJy-{>PffuA?N z&}kOLCuiXe8ZV^MH_QQ!7zn#{qhLbr#K0r$R(wQ+{B#Wch&LuZG{E2>rX?t)uZ=y$FuXV!WVPiA{!j`iYx4JRhhh&eD z;7n38LVBIAwqWTqDnDHu6ex43koaruGz6W!r!$u>-{>@#mER7~WB-f15?X;cdGq)mf&1v(<7< zr)Yh?j<%(=nxQ}Zb#Jx-Bm04s$k%M4`MjL>{*u_+yi?|s1<~j??@OzGUhALn);kKr z085DOML#~uG4gEA=z^{mRfTSGvhLJSX)vv7EYJNj@xdEb^*WE$n6*hgBb373fNI*6 zX+M)Tkg=aFqE$8Hx?ORoUXloX&qLlh)eEUFPP7p=G(dCwil4Ek`Z?>)c+bc88|8od6DbP7ltGu>C2Wjtu*tUmA@}n3@aVxDnr5PRlAu>!*uuzLY9A6qjMk{*c2-BWqlVn$kc)7` zwSumOHGGxBvUm681^_BT7R|Bjl`)76$PJ-3fzp}~?*$|kplsD_Z zNnNCz;BBPStx+G|jx-FIk+=iiNxJ>V3-??)+oj+u*$9ilcB*S zD`U*NT{O0S>9=YHR)2>AzPSKR)k8;iF zot*rbO_rq_TCptg9$o&H($1fSS(W98e{4jRymB(?H}!8C$-)mWu*s<+MMA2DrBez1 z7tw=0%lAKd@O%>CVJs9y3SVQ~o^~Ve4%?Wyf7=Q?WE8m^2qf0Rdc{}vNOX17=0d6w zmvbw&cbW)mOz9;{rxUFGCD$F7!ok0kq+C3JxLl8`8cS^V8@CqvQZiCmbV_npKWj&grH@Q z3b=)LkwCnd!#>iG^PIwX5wH%uzJ%@e;a&j@j;apo<6Y@lhkS)Mc8rX4bY7<#3dLhF-d9z)pW6_Of0u7Um`w*0$X zm+=~+oFY#f0+a)M>x+sEPxGCgBxYH((wDO3L|1%YtG>YbY0oX6J(xPdn(;S~v_?V? z8pw*%^Cu-I2g%O*O6L@EK@4pE{{2~9R-IAgPK6Awv`!v}rZ`D?8j>xqGZf0wkg-Ml zf~Xi%ZKn}PxfAmVg1AEx}KsI$!1 z&a$GTRi0c$+_yPfT}jhWmK+VirzG_IdaaeOytI;HcN?EBc8izEUe%3y6M1u{slS{n z=`-P6=9f!pyPM2hU3-)4MDA%q^XA!O8S4_Y^bbGKHzu3)y%%P5b-yV4D&+K{!zg~i zi4~ICja6006Cu&un(92!9&q`8rGcs0Az>1Gi-r+I?D0rwpqlILkFa%v0rm6N{a-pS z{?Ff2kJM}u-e1bgo@J#a!yv(al61Kgo@Y+%M{$k($0=#UB%7m_E8I5IQfdr)zTh z3bj96UOpU*CFnBHcDO}WW`hRAZ{?>K4Z6}y$t$Ulw@8F(#w0M&UPqeMStZdHTgn~= zN1|Y8DjKRtCxS2=xoB^6J>!8?Z5E6-;E(f%YK*A$Q`!1_@Qd&d`Ij=QN}-(n)MnGf z{k^?Gi?H|Mwl9US}o)MsDn$0`Z5`ae{HbyMI?%qo_IB z`DcRlw{6D*-57a-Z+V*>)O}AY*amZ9DFEcUjnvR~D$f z&o!+BA6|~oaxtEH9cPEkyhlvRi(#nPF-omCYYU=JPF&sN%Fhkpu7HnVQ(9A;w;A(3i^@41sg5 zJ*mX0X=`RHBP<8CoBK<0=B^uA&VR?>`+NYZj;FsUqYWdUBE}xjC9pN=ig6V#xQd+Q z-F;!ROA<%uUe}E;z`iEc&y<~r!SBh4@IR>C(Rpr4KxUS}Ini80-aHvWaW7ggv8O4B zJ>ouHZZLh@xb4ZFq=##T;-@3r?Ck$GB%dsl{{T<(A5}lSeg%X)2h7`;<=Y6fizm{$ zjRSRdhy8}4mbEi0#5!ERu~K%I2vY4`T=Urta@E1-0vj0#%-QOeEo^X zrL5avS5d=G-b_GNKt$8;0hje%%V(zE5&Z*ifeUB#>)fJ@fLNx2rgk^gM~bhrSFh@{ z2iL}09KQD;&Pd&L@9C42xjFGI*K(&3?Ht-EHp*n50+jdD`F3;3ptMCNpD`itoISnf zsr`M_sv7^brYH7$9{ALCh5VXrbxlG&0@cRUaDZGO_}TEsSgwzMv-1}_J3krzfussh zMYc=Itj6i&EyxfiBqns%mI6M*rvoCkv`}G?gOmfD4cnAM8b>Dvl z^0PO?6pUn2?hXO0eNbieW%A>t^TgBh z4Fw>x*il5WaKH1s_J~9Pe37KH+hqEHOkMHd$JOsC`!kjw5}pX(=1y6T z8W&e!21P#k(-C|vxxGaM5SqBnQSf2vv+Chhf6@k}{=X)W_WyS{aaDPN57ayyx30og zr>>|MeWY$ZYbQ_FtMt_w(w}fG$~S-o?TzVuV?iD%MoNGrnSz6@abX+#dWm;{WoIR{ z&1+=h_Y!@VawnaHw-~-B=g6_GyLnm8*tu)KG~wml+N9pUMC8on!5@-qb;`~KD^3jWm^#|dn2otnE}25vw%8SD^mHlCG&I84Isc$KsSrGDF& zz+fQfs~5j)PBCpy*T#cTDE{V?jq=}-$$QuL^x@Ck^#-^j)o(c!wYaH)PuAu%PFw^_ zh6>ACkb>xpoc%a1WpcN{M~#e6)nC3g$S(_IaoX(tIKFzBId1dgRWFZJZ`mLJ%2ciX zYQ5cxq*c+wE}`56+oO~+X89l#Kc+pvH~#}dW|!|bdm_&rOSZwxC1-nIzH}rO3Q~D7 zbwJFBP?iiRdC+)05idesJB7b=Hq^XXO!ocCgM}ob)+3dfPKu!)9s8Nw*I$8(^chFm z-Qz9^X^f4z^rB}KxL=KXJUrHj6~Kc87X+T&cx|6U_e8Dr;KN*^+Gi-^o4extLHEo7 z0IcdqF3^T3Ql$bi z!Fm!$nA3f^5I5Vt+GT6Y>BCatV}k9^<0;xnjn~1#fO6KSH{l17WWrKi#^R3vMqYLL zL+brSeA%Vlu}iAB!ic3c0+w;h&&DhUn;)KG_r=FKW<=Uq}3Pj*k9wqTzSxn=OaG?nc|qU5vy1Z;B8Mb0`Zu(Xnr#v+9)?0IPK zZ#m`jQwk~jGf+nTf*lR_4m?}@yr?N zJ!%%O%AHGDQBRXaGU~iCQLY`xN*M~J160+dwKQd46|wr~MfSV$-dqxMs-Wtmf2zz% z3wWz9kdytJeey|5+t?H4WlyGIdkY|WFujU79ynBO;(BgEd$v4sfsX zZ7}Gi*5@F0AQ(#HN5ZxJke%z>k_LKd0Y6K>S1guUcB9XtzB3;`hnqVmKVflBC%ffj zO}el9Tkc|Vm*D@TEw@GRCVm)~D+`d({4Hjg*22$gh}x zYKS%n6a%Gg-GRw&NpcgA?!&COU?JJ^UiyZ#3%m#h0HquwRy)&Ap`DW{SnVLkGO zP3Dael1zMvl40xk)q?BA8qC55IV7Duv?A-PWHcrre&*R5#1>LSXTR!^$sGW;;f!K8A!9niS^UN&RNz9lzepd~QwL zZt?ki^626=C)ZKeGHa_$XZ9j)#7WBNr}PlnKQdc`8R^`r#IXl63kQ$z-kOm0XGpk- zdYXM(wFvjf;_9n@qkUzM&0)ml&fQh_TDN@<;~}mEc+a6kjK-YZy90!}=lt<@^ z4jjwg7syseR6DCkRSEXi|3%%m*Bg6>|7nJk5g_)>0^RoR|lqeiw1*vE_rH8BE=Y|4$BpIa62!y&8AMI zW^1^r-`ctk7kpQ%yGqxp2v&@f{=HBo7`2BT?}9k$_}AAQ{@JN{2#zzUL7>57zd3IZ z!c|Vr%ucAAVauNQlLeQ1kX7PUsULHjFNsFkZk{bq-u3MLR7}9vI5UpRMwVelCi#w< z3KB1q7AADZ$~J|BR)xSNwVy-gJ6rT7PB(t_7goY6@AE93S-s2!yT9C4U-UaZmMey+ zoE?uDfBE-5q!8t|*I{nHme=zVz56LdUvy2nExRhPE|EL;+#4P|Q+PJijAVwS^N}`` zD)_Cj+Di8$-lbr9sJ}$?$K6tfNP4*V4rCAe@&^tP6FvA{R537ulM$k=yRH`@NyAex z-VyB9o@)iF%8V_t)tS0{%KF?*r*-54NNdwOWlL0~WPLW!vRWcsIbFE(=?Bi9ksi>1 z`XvaK#tZ_J}Q24oQzp%&p+S$R$UUW`p?enU~h8VPY~)n z6(GvdzKWIx*sfiC1kPDc%M9v8j&d->6S&*aPg~^=J-aW`nTB?}W zbq>TM28y*;;*t(48S4I~uGc!b(`ni%v0_B*33q_d)Nv?<5NNSK4~4(PtRwG>eZN1e z-M0{z1eq!niTg?X6^uFx+CmOBcjU#M$xF=1AZy=p_g&&W>pz07_C8c0f{@V(Hwjfr z2x#u+1<>TC;iz88cJ;fV&d@9>nJk1L&XRs5E z!&CI{z$-z zAucFuN^mchmWL6Wul*3^zoBfdcu702^HpE|q|E|!&ZWUU6i`P{YLVKKficg}?op z?9~FhXUh&z!vOnx3i5l+SLqo;SX+U2t#7_AcLcp0j#dXkS}SNxVK02u$X{IxgR)M~ zDmEG1hL|VnB?}C@pNTGuGcTr$dSa}V76$hph^th&Q2 zW=8(W>F@0|7utlSA8Hp&_k`)}>x*^7S!`W?D^aS~npP<42M4IN#7b&R>bL|HfJ=(E zzW56l+|$3F;#T*)DQKW4Gg?V)ePDO6EVBr_RDAPzGlrcIpHkA>8zvMjmj#wjI(HwS zZ@MerwZH6{7};Bxt`byGUPchD*Yhp=(!jcO==P(HaK~3cmcCG7BnK;I&-RkWl=X%= zbt_X_1=icuvr@hXLru3d%L;w|vF?Z(xDuzLDfQv50IvtFL@THcAdd`h;JDr!bx#wX zHzD?s?6=JB-9)05`fRHLc_{hYP?FY`ni%4UO?6*{LB&#rqwEb-n&&ZsFn{c>=yhh% za?#ZyJfOrAfq`@8!kF#)w2T*R-E#^aZ>?s<9pE`lfW$u_WF5lBO;^Gz0gy z+do0JYR`Ws{0|7WGr%J&I(6O=={W=$jeQAnHnMXls`5>K`mIxegud8#dw6a(e?bfk z$aO|3$c5m~r@F*ej$Mo)-p(L4%x(<=IW~6siD+Zo0{4y;gk*NL8jC86$f`qRb~qY% zoi<9m*klwD$JcL|x$%vN_oGqqgNt=Uu=*Xt;?rlJVs)R^AOi=LG8f%51AgJ&%lGNB zcfSCad5x4sW7Y3UFqX(EM!)4387W@Qynobb+D<6-g2+31PnT;=?fb`( zD!5|d5V`v-62Ak3Khb+p#=~D+*+99bbH6`$JrFWCp8x}eTj&!G@qewQyx)wC{{o6N(w_lxDa5N+%z5ve zRGZp)i+k;6MrlP`-%*4zk(}g|R&pt*DHth$5P<9(^H?iY8eJ#(;+hAE-s&)rwmI1a zVw-&N2YNjs=^42y&kN1}H=77u{@>XI1F51Su{(xukRTJCBvM8TX+}{+gp+=C+Lj6( zI-$0sS6ib~tXsdOO94a{z#r zxkkR0Goj~F{Z$ts1Cc*DeT!nuD(~B)H*?>S%`My0J(gK0{}YsCW={Nok9=_3m(NA1 zbHpqyQadJcC#yJl+bMzzwW=thV2upVE|N1kwK`!-@yq$zsX{{fl*$@;Uqof~v9Q!v zS4nQ1^ArfVujl2K5<6alosieRpRFrl@|rIs^bM=qdI|{J7xpMfLpJI>!}`5h?JG@A zzQrfAWMw`=9Sd^bSY-U%xf9Jx`)R#IpoZh>P|swBv9As^|Qgpg_dxb5x6?A7OPH zK@T1pq>CSbyMlt#{&hS;LyXtGB0^yeKzreg9XpRFm! z1$pY$e6r`U^zw|;s#j=~Sj;USTGbZ{IJEQq2`^s@S+t$*9}1}drA^$0Jz!ZC>Kk*> zyXc_R;6jJ9J@0O*_7>1Q^r2WVptxyJahZW^K0MyFPAs!fMg;4- zKM&-6I57B(kYlohJU(}Q&|n{@Wb~TRoB8EHcHP6jG$&|=KeF7ESLyL@tKLdg@`VEL z$p8ioNyj2P{yX{kWL9r9i&|{RTFIbHZxmVSh6QRh$W~lOH>H8@C26(0Gm@~p>xY6U z4^{HdHHi+(At~f3K-m;Iz->B3+Upfs%xiYuyW8&5qHn-Xkf$04j;L;I4pAI+4SSb7;W=Hvwl*WFT$b@ru?WwK&|6FN!RE%cEcb2C$2n=@9i{v zAG+W%)1NRFuhaX_ud|~Ce?w06=lE(aI);B!#JwlByD_rAAcw9=QK|QnGjTlLz>m{^l+8U~gHWsW6mUpwCO4$lDnT85R|I2TaF?oZLEcx|i z>$_Lc*DWi&1NVhpZFe~co#XfNr=`7p;+5mvfCMrq_|1%H zR$l$iobdW-3^Fd{m?Kw3*fMbEIikGhz1OIUPVqu6qql~_rN{OWo~H%AH9sK)PL=&K zm4H9+jnh%@#7oRjC6)Zrzx5m{`RDKYVrF;w#qZLP2Lz@4jTUPBr2o$E{_m>mC~f;! zYpIDkEf&g~FYIOa3PigO;?DehH!{MuO%>vtS;iLp+B3F1-kkLKK|+Vp#xHFl_m&hq ziU{*x1OA3MsHzj{zAugstz$Brk5~gjczZHZgMQw}(t%?wqrT9^$i0Yu=Ar1G=~QGf zpV`!<<6GMzY=cy`$KkO*Ar2d~H)qOj>c02y`EXcKT9=e5tjyu1-^L4gZaNJ+SYP&w zYeamozUFrCh1->wn1|w2@lvA)SA}Wm0M_$-E1vDUVN7dkcA*@FkVoVz`ZPeR1_ziX zKI}Ol3XP@WPz5Cvc`re@fmRw|g%-(sMHFQ7e^aJ1(uXZ{j9Jyw6yO;qC%FC>JmsC6 zqXK+V-3IC{_EcY)YeM+-ARRrTB#0AmIZKJ0!)SNC2&jx;SVgzVX}S?NFk~1LM`X6BbU``(CxX zD^LNyXBMZsvjZM@^miClk^o#(p{L)Cbxf~Z;P$z4cB5Km7G4>uNHGrC_b;%}-?$83 zK3T7<#m(4#HV;(jjx6tE+S!54YrXzw8gNEoh{u(}>ZzjuOjNLvbRg{41AFBF`||uT z5Vk%^Q&BZ8C0~E~J9)>VE%z23O1(-whOC(xchd_Pg+>W9;;DipeBfqloI9}BWVWCHHe29mSKkH)geaBpwdyym$|wvGng zJbUcU^lr~py}lpO0Pxmp(P_$oM52mrsM1VLy(3dSo8XE#!v|oiY=v#4B>q%TDN2y% zIg(%wZCRXT-&Tl6q?oyYJpa?s1im5mIlg0wq|LeNf3Mu-Pk~(8Tb+>(svm{3qkSX< z>VVdl7w$uOH-M!G$x9=en%`a=IlrZy-eR~`^vHp0+jYutD{gvXjo)g&GULa4@St{CAJZ|2V*FILE z3n{y>7_0QsFgkqG+V|`W3UbF+CTeX2b{AbX*};3@)4Q;#>WfcU(c7l}qtV@tN76QP zoeum-s&Z*=D-4!vzWE~Qr(^(K62E(v?Pb&(hJwhO^CJ)UUGMLg>`LzL`vl2P?JYJ( z%V}(GMTU^HMt1t1BTgsbE;vGYz84JdMIJBc%;dAIMVmcg`Y&jsb|z^gyEpfHBK~yP z0AAe(H?7FXG>^@>p3S-0_%8j90#e;R?SAD_OHjo{?wy`Vc-V(s=U@1SYj4cb4W$iG zPG4oId!=F4Jaq>?8yS25lvE|w)Q9j%>{5o)uZDM@+;lTHw|^Au`rz*YbNKUD#h=a$ zzp(&y12vDHWUmFTQUS~q*0lWWR&~sOv3G{B-^4b$7qVnCnmP`!m~>foO78cUAGX(L zVeY^ZB@psZTK)>dwBnTmEE z4J8wI7O64+fo3V^?z^$U%S;o8?-M9$y^7UgJ|9B544QMcJ~!vz_*uF(Zvlb86#}(V zui1lHsH5f1`vsjcB^MM_G2P!T&yOL@Rg{I5;1ENVDuTzoQgN0t7Q zwZuP?!R{B{&{y9wc0gI)p5fnASxHwXizi2G#Di}@eiia##}mxxo6WnWf22vaAc)|3 z4@iMza8m+fEu%@_hq|x>YL%68lFAZyv|WSd0U1zlCe+n>6}bHGa&>!55zOr}R^C?Y zT76p@E=cM%-wAAqa(z>I*YQ?T2bASB;4nRZcIR!Sd+dDehL$j_0CN3EE`A`>F~~x9 z@UhUT{A%O-o32g2-#V+zDc4fg4wz8QC&sE=EP`sHLBZLy?`&2oLB#HN_Oko-GWYDh ze2If9Nv*kgW)U)}VkLG2OAA6N_~wuwP>x^X@4L;uc!J`W;Sn{ZO8Gm8eQFSvq@W@r z2a@mE7W;q-A!O@LQN(6&6$afGEUcY@h2z+EY_Ja@`;s_NN5{rQ3fq`Zoea=sSUnR2 z%dj>1cd*->*pfF|4Hvu+Z!6fyWh1l-<8yK{Ix1wOeWo4ijF}d8C8mr((wSu+9_UM) z82*T@4e=gsKQo6qdy#FGWXE3S?#q6co7vxZoaJ1ExO6}Lx|vI{0N20{I`w<22df*N zt%QYisjly$ANBmOQw8w7qh~0qM7z(d#n+i0cK_qirZ_kg7kigiaf@4qafzZla6#p& z^fNKHm}Q8|3v`G1H=j;u9y<+F#!45;QRdNV!+}4Z1WF-&F0m@70qbhC8x$1tAMLf| z?c;eI01`D02vta9;AmP}8Rm8G+N{Won=C5gi6sM6KhMX2&r@>MSXx*@C-z+}e8n_5 zN>@dr8jcBiU}H!qSQ{-h5LfE*zT1P`4o_{rBw4t9G|szd zo+3;*iz9fQ150-Huvr~Fu>Bt;QWqd4!26F^S{ibF=^j=&IbS8RM`g~=^ZK%`%oqEn zj57Z8vb~?Vgedjf8Bc}QABR|>BVuGB^BH4L_2Sp8B+3g^t81FA13OO$YFsbn*y?r-$r?>k&6S&(frxH(in&0g23KM?i!^jc`1=D3RkvgQY+ z60glxSH<3{>6MYFw+y^Ogi?eU@1wzf%y$zBm1*|I6PeoS4+nu&Waqbsy4=iM;B#(o z=q&?6LqjS_bNBXF31kglsoG}mkB0IN3<$?|O%dm1Xze8L0eA~_`2+lU@mp}tU9m2w z!Jxx=c?(Ogo3C+A2X|H^ynM5@^oRP3j=O_U{W1^!Kdu4zpMS)ECZhjcv(rHy;w%QQ z9PPnwjH{@K@~qxP2LsFCbhA!h+{xLZ*BopZ?Ms^i(p zVB7|AwKP@4(z2kn?a+GzIW(kEQ7wiU9@orBl2xVNO6>(RbaBvhBbaZ`f6j3@2lDb3`r@rQ>?^|gPee*s@hCg0E#Bz5gMC&YZ9`Px&UzXIRIq_W^e;(QtrEy&=Mpi@9 z(eE0~87?mlr*nVB6l&$J)&6WU-M(BnB1VH1P)=*FMT0}|emsy|mEbpS<@m!X_4gbu zT)|MtZUwZ-+iw4=?{A9b)DW57SSm_@v(j@%!+`e|rw5c!e3^6W&!^H*#r@SwXc3RQ zMdZfW42-JuellimlsIW2hsz;aS_Xy~;}5fh2C?w$2iCVnyM8yH&`RU87|XI?JFq>d z?YVpe`jdX_^gLn|Xn3%}NA3U|q*#+&ZVZ6`U}YAAVwS;YZRoM}=xX2j)ePAUrO}ED zxvq2@Dfxl%A0?)eDnLK$#zjDdrx*QXuMbqHWcDW`$J<3>reAc^(J;gtL=paH1ixlo z)pV5fmG9v~e;j=Dics@GH1*=~54!L@CwY3gT;($le5EP&qI^cfv=O;U6)<;U{5H`#t~^K}&H?o4!hDD>!?dwLJ|lxWB}BW! zSRjX=4=|9fS?;}n+AuiWGM$m7!trfe1KaVqewnX05r?H#F0KBDBgg%jZ2N)arBT{~ z^-+s^UW(51r_>IW)YsB4m<=i<2d=!lVJ!01IPwZ5ODB1ZeD~YnLpgTOiq z6ya#qR-a|$ddJkH&XA6MyD~bdD@#6o^|Vr@hn1%@AQ&$&6CD%Qr=*jXR@nReBRt5- zqJS|a%Q)KHcg#0eb&yp;0|R2QrmEE-w`{sb}Zu|Jq{DkS4Vpp zDZXbsQBL~NZCA?6CerBm?rZw~hd`wne3>%1nqx{gPqE*-g|~oJp{z@X7hE|=hZNrh zdp4}j{^6NpU{P6sPL^&ysh_8eGlE=4$3P9;QencYp zsJHhc`MvaAtpaCJhv_-PpO;B*)BbY2BD!I2hwioRy7AvVmw80}ET2h`we{=)Yk=|9 z{JK6?%FL=!Eo#1#nir~9y~6lUc9h%>y6g;1P z_l17_`ns{h`HCYY(9(D_^P>(q(47XvV~(U43orvfJVv>?tNCz1CiM&{w|da<;IU(drM8 zL&lx>lO>81yQ#<{lz0cGe0KazPi3eH|8HUB_!W<6Q?^Vrg?v3$!B&RGUx(XQ;QMpv zA`TTjN|eYaFvOt;^#c<6o~&zKjBj%1Hp?CaH#$A5m19~9f8n;}V1KU{!N?9M(GCfhsr>}tF0L5c5WrBiX488_zimThr&EEzoBD@ZCfO+HJfak%4`gpt5+ zNLp~GV@M*{vsiv_ac4oyJv^oddZL75>$kgO!y8$vG(As1!_%asKWq8t4_<)Z`=Zh~ z3o1{U+UDB6J=n;w>+WZl_o7?em2{Ucj^6md?!ibhYO$A}(qe$ueW`ZGgmNFEQ;TAF2n5Qi+Jv z@5~V zmR0a2x7}sk&6H=|2K^eSN!Bl`C+kPgvW2w1ECwSUxkGAE1n-`@uY;C5!n z9pZe~7;N2`io{#al%Mc&np(64PX#m{vjbVpL9kMc)VD9%`(*aW4DbWSwSdN`LVNqx_65egfT!wV<$iznpLw`$t8xXZ z49?^-KAPBXdi~~;5627Y+>ZA>H|!a>W?X!O*WL^6YWeyN4f?w zc5amBog&-7V6yL_t)X`*C1j*e;(px^dQAuXYqGu;dZP105U3@qUNm|A&)^cbZ>jkh zXyK6l@WC@)jgMea%6$C;3lLa45UH}SFY6~R)mYAR{%fdT_(`db;~PjMuR&kwI%>u9 z0$nctXQ9bC*3DaHF_#{dUv!K3Fw85j@0(j>E}v+HFt9s-f~ojsmZe9^D9-vPwYeyriG3*CZaA+vh0Wz7J{% z*jFsL{5(OZXI@A%RC~LR_5@)Ink};v!0hsr!tilSITCGZC_G~QEc=Yc07CW zd`rdsjY%?z7a3Ier$t#q+1jKapNPm|n$Mt5s zhFFr1Y{Gq0q-qH*`B2)F+ zGcqL04H3My>2`D%JEOF{c5ty>`Z-@bD^4zW?yb@50jZ}ll!Bq`eeQB~r#l91{(Ch_ z>?l%Rb61hXO`Tzn_B{6_uwBO|rROpn^TCglk+{1v&ravBRaOeTYTCoKd@9t2@C4tG z99mDv19`;-a#y0Z{C>YVAJDn9Fg~LSG;I_+OqY*tKqU^?ud>9gNJSe9E9;#9!GH!C z<`ZE;>5;qW=)f6mT^ zOzd^4gB!C)%<90_f-S@!nq3bj>aO4O^ewQQp}B&%KN4dEaw)PPmx8tkWP(FA3x7Wy z7UMN&iM_`D_g_sGIbAxcT`RNFAy$?0>WdBQM_M4m0^{2(Bjg_btDcA5p;YPChJYvu zl~>+v1GI~qtBAfKmE+13KtFa$gw$lJ#vRl|iq%S`5d}WQP+SEFy*JZ4t*+P>S%sur z%L~7y`f1;)<>c_Sqnm}rp!Y~aW8ZY-&@+YL{M*c5iyW>=&{KV8xA6#@x)(hHm&m8L^{>hyO$|tEHFx#c`1F!}>Cat*GGo7N&dX=9SbE zk;%pFok&^u=Hb7gV)xf4@jm~2(0C6j&zCOpIG+>v_TDT$wjp1DP?{PU47NN#$;@Ee zKmOcWpGA2e4Fo~6{>`Gc?_Zeh+3=3ULe<5}>}wd#GjyCX8?00iBr-LfB)+-iRA&!A zw200!x3$0RA6hJwD|3uU6kd%)3@|RtHvvV92Nbp^St(2~(V^UrP&!%VS}*hle++zo z+mKN~a(^n=F;sA_^?dI!j!Wem`w^EaFVm;iR(e3ytXxfSRVq}?MRc_CUXr|g8vO`8 zSccW;$tt}(kGdKaFVgd$ZJP}F%9*a@BF+xyY4zynpRYK9z^WRkPU{T}TLbU5un^L8 z9ROlU&;QYdRK54V69f{70hpipNqv*pO%iK>6N`!Y!~$X_F_QR|7~9f&^GzsNMe@US zNZAvrBtFTTp_vCVNO>>ipR1Vc@a$XuU$+#R(3?fo%mwy2UgW@{(rMjti*y!rl8QT_DmcY6QMU224;OD|?wm%^+0SIkhY*mXXB^m*SVcDINieV+Q>X0?DLy=Dlt;&!tu^K zq{le0*ZY>y6--)d9i@?)Zr_=(#&rsQfR(9f7Go2V{eZ5Vi-J0giJfEV>>4jUQ2q=6 zt}c?-QIjSR*fchfDA0Q8M{$nY+SvIIbG_Jb^OfeiD!P*5FFC3AAHF99g>pM3Apber zC?L-*5j?Sx8eqd;VmHrd+i*>AE@pbe*V1S|5U}Ju^(<~R=*X&h3|Ds{yHd6%$jD)d zTdWa6k5P1z(=ow5SxF3ch+jW+FABIv2tMQc<2 zsfvB)pC+iErOy$hNdc8yaCF%9WBri}F#$fHOr4=fKO~-8@7*c6su(nwM5i)h8k9K| zsEmOq@0{458Ln>dFTe-^vL=e(F{+WfyF;qrj>ouOBxNpB1L^)dS6L%4YCU?H@cIF|OPzWA0A z%-6k$P#sQ2C^WOIX7Zv2_{~S)d@?BC|#jZD! zj;%KcYxmy~&h52*(yk@=)Ztl9a>lfgPIvrEm_|tRff0qHL=X8hGe0)PUTi*QLZ};Q3}B0QU$3N6JHLHFgwm|92?-reY)X_*U(&_l-Yw~ zetTA}W3lU+>5d9oFvN6D!TzM;ye(|Z=!s5N2Mw)hVL~lrGnQX;Eufh5#i{<=%s!#H zkYEj`+x5A8bzMZ_TEA5WpFELqb&vZZXcZ}=L@k48KmD<2dMEZDZhYxD0vwRX8Fpa+2Sx*@E$=R*M1{@7ULT;hBT+KEb zWSS}z;_mC!V!q|Pl$AQ`E17vsZ;*|)bq~!Z-)LGel{=AZGHrY-oAKkqp8HJiq_8hQ z)-TaEgU@QIFcj`s6r9(s$myAR#~G=6yERL0BD?{I%vy7PG?#;)NnWSCq)Km;2`Ol$ zt75)NIp`$NYBfxwc>AM>$e-4gxDsO1FxxOQ<>!;`tD$==bLD%tuG_e7whf8sbviaR z$l0nb)-LX3WxHJmjulA(3>`ZE@8kh37s;cPL9DhjpM`T~Z_al8&`7c+?E#LgzjE!U zAh#>pPFG$BeU;M0RLnZ_oP<=JxH=bTXZTP7p>4*ou@Rzs6Ov4KbD>s7XDTaG|IbbuGncA^abi*N9y+k-yzEJ347y7Tbul4p` zUiXtGEWPt~v^z_%gJo8gu}X~* zQpKDa52{JyAma}fU(At376G9x2XTnt|5jhQU-&ah=7Nov>m4L4Zr_k%M< z6-tv7QQ4In6Vw#bbM=vejj8uZra?!9YabRv8Y;EC8m!o#%4)p~Fl0~vK~R@HP?m9x z|Nd@>-}{h{V^cv$O6yZN^MSf28B_I(WPkBcx|PHx`bL-MXFO^NC5gW|+R2>9+kdsD ze&S7uzk28W3=;*3P*3`X&@YLR0qJR1fOl_!+dzQbrvYxp5Gq^~9TRnui1ZZyqJZl7Fn?Cdgy zdWf?HE<2;^(Osl`y;%bRb(nU!A3JAUw|H@InNp5=ywPU9+^!Uh2*{CjUwVFbUpVWs z#RxUGJEp}r)2Ih!_e`J01bKiFoH{0+`z=e`=eoEC!NSucUlda1E1b1vUzn9Jf!Z|; zLKI*0`)E(>2QBW*AQ1cK8GJsKDvRn(Di|ZF4xOPB-=y}&C?jR|dz~WL3yL&~&#~fp ztEc5K`5A%f!GiU9NKeGPZ1m+umi$9_v{jO`ahtUJuO7eh{5D4ErWB=#o>I)K)x6E+ zxxq%Z5jk&Y$a!hz)DEcCNCECE=r{j|$RzchiQJ8b>GN^~g$-Tk()2B}&yo{nqG(tM8plPZ|;{C%SofTOqC z!_-2Z;tnkjH>)Dg%j%OKT^@wQTsXA-+m?B&1^|^;#8KBi&b}YV$cRP;D#Q@XMX#_I za?a{!QP&1Rkl48&GpM<$8F2f6E7qOK=D^#j>{oKZ0VE=Yj0C@MHOOH+Rcal`QH*zvd`61dZ$6Jz)5HQ#5G-5yo@r6u_8;kK0DjcztfWv+d`mck8^0*%AHcTE5_kJ%0l(bK$ zgIs}jFAAo0Myaj4G)4_+QxSWlJoM$`@F$~W(6>~MC|e0lI6q$Wd&>p)TPjq*Oy?re zM|o4_7t6p23yj72tj4u#IJ4wRWMCHnwEhYTe1xb%%e~m$x_Dt)rZVQU@6c;u9K;TN z*~elhk&UkT-N6ZIGglt4L^7#JsV!ic#N@wA{yYkG8`YDB%WxYhI&Z2_j z)t0u3-N^3dv*W(^Qfsn_<-w(81 z&{C)Vn7>a_lCkDl?2Ja7q&OGup%Bu+Q*a^-Q8q_y8Q}O{34B?6>a5!(%k!n+IJm&5 zXV38H`UmVC1JWs@x<&l}Uy&plCpl7H3(o8cjaP(u|WmdCG1lOS%YmNIK+p`+`!l%&a$7 z9YOE23l;mr)7rATkZWmwE?fU4GM!d@WcD&2miv3`H$OJpJFNK)Y(7n-MglvObFfuN z%pG)Wl(j8!-;mOgH2DdOVpXii+Q^Uu$@cpR8wTeYFO7Y(InFSj-tegECwZsS47N=x z4d?vT#?U>(Z^SGdrSAaT!S$-4|0D@ZV@yj05#g+LRiVzK((7x*q4$DIHY~zJ4{id$ zeQmk`YG=y%#k-WuBU{oD?YEg$4W_Ap#e3^&Ukjg|1F!R5^%_J?b8b+zW<@FsC*?C9 z!gBGrcI0}F*}M;Ju>6q-pg)mid>!a?z|7Pn6mOG9Nqi^gy$YzJTThIX^D|=Z`bT%>~Tk(mc0=gO1g#9d+L^PzC)no=DGOS{(f)GU{N1iDtGJy z%KDWy+7x+Mba8BvL+qt`{43Zu*6%#7xDb0Isoj9Y!ma+Nv_`MRJl5H6zGRSXGoPlu z){>AA-*2kDle>T?^utE$vtR+Dtn2-(GG7}+i+Y02E^p%Qk5_~CgQK?RZOW8WU{^L& z=md^+xjT>J^_-5d*%5MvZESk=m9w0u^?~QkLWBkPPP*9Cre7zI!aHsnIkZ$vm)4%x zcFu@*DC@8RpV;;*xSi;Dt}(a}N`O$_X{XZHSDxRqfJpy%(oXU8Qvq;Z5?ZiA_AvyA zRf(SZ|Evi8|D8*au)4t0|3lP!2Q|^X@54(IktT|Chzf! zG>ECGBeb?InNYQTq~K^kinXLTB|h}^tZ>6lkFr3zA^Y8cGVkZr`N`_zc^BLTC zAI&N~lalGojXQm(e9Pw-SY>+5c zKAFmG8p$e#vxsF-5x_WL##ZB^H-f~1%Id4T2eYPXn-y!23km2i;wPg~v?cRpO5`jx z$G179+vFM!PdS~DJ4aaM{4UD?xyppW9}h$yek32it5r(xgKO1CP$jGt^}y$*n;NAB zHzc`Qc081wys{Jm1GhVcebNnw76DzKeZ$R=xA)&4|j?Rcbbf#W+$^%2{qZ?sbQXwOwnt zk{$CYeq(Gupj-UJkS5L65jlK+i}!P3-$xoo30;aN=IPcZw2b$>qIrk#bjodA)_@h< zgP(rm8n^j|bd)>l^s4toXxi1D5QhKRd}J)b?DFu2;+dIwA%e$9&zk`!b5F^Q_Ju{m zjP2fy3L!26J-xwrCyOKLP?=@vlf1R$K>gjQdTlbvB|GeP9eHr8w8-VAhDu-OC1mO@1 z$-aO4K-a>+^vt7DLPkH7>Ivs3emy1`@j~7zxTIvGtVi3aOCoW-OJhibBKUkdK;M#? zy~wV7F?D}ch?(m=3~IfRT`TnEy06CQ-)|n0U*w3*?WKN2F!_;0NmL!*<9?jv^ zPMB@*M~uR9`POeSmFFvCm*U-bxnx}B3{o^<0?!mFBY2}?x)MWJ^8uNx5mnqLt@T-i ziCL|aat4YQ;h=0QfwiLI((CPKXbQUfA84 zpTBpKiemyrUQAqM`M^Lh#ej*z-$=Eu9u2i+qJKw6q}q3S5o+UJTg@TmRYH7Dv(~Nh z;GK(bEXE*r&g|Sy(b1w317DxI0@0R35Q2(54tX93%5eHUdA&3WWgEXQ15*ZQDtC& z7--d@R~>A9#m7=b1Iy~IZF(UF6KflmRXzJj&0zB*9piKJO7Bg#Z*7jehDMZu6wspm z9ytc1*>-#xD^S4(1jZ#pz~2=HaVLB6#Vffnb#No9{z+Er{cT<&W}{K1OO$N{VXV@< zKCrEhCZ!CLAs%RADsSzda&n_Nd7FHg+vH{tP$gci+3!T$`^&Ee?Iluhl+sk}(u&q3Z*T))Wv-XX$Ou`DkR&}jv5cqZEVgd~}JNRBc z2>;RZ_}Yg1mD2TBRh`ckLh!cno95_*NXMch+N$@fJz4;eChyK#JUk1J;QiAbF?ld= zo*pz`IW7N<0aJzb2g_?LA5Y?+F8y@D|^$vg?moOXzkoCJ3e$!6vp2F_6T&p(kEy1B+1KU z!LLW=t+BDep1Qt5VJ9zS-~LwqC%F4-*2;Ns_;eSyioiF1dRwVkqg+!#>D0kJEIM&N z(fY&@M&((s2<(BmfKIzMk{|<%Vhyc4HSbdziqII4WCO~cnzH~fI_Vto+#8IPeVi(h zs^zYRO^goem4n6DlT^_Z$C#%Yc)G3J`QlJ$uJJK?=>pf+JiwDH#WopW<#C_^z^2dd zXUe%5{r3vEiV>o8DA1=+YpdgCooP7u&41j#cpJE~7d-RBHC+{p8f}~ALYq1K@aXYq z?SPI`@U7^Aq3_hd<2X7xDt-FQRJ#<^8nt}K;QE-qz?8VdEzkBEj2qM?C*;Un%k-wJ ziOl@!n8qU?_oj%jaTBXC-`L%q^LmW%0CVZw+M19eUMO_op3-#3>aulZC7<91{{C7a z?o9b^ck^cc4X|P|eDLBR^ltj7_do9Av9$>;$F7T7NHX*%Q6IDW2L}2T09X#x_IyV; zr1bu9&LGT(Gh7^k6)*Bmho=34Ai&#KURAMWM*V( z`W-gj{XcOhpCB0T<{1}*s(ZZ{LZSP5a`FA4FIPjhJr_hl0lf%mI-$MmJh%;GZ^!vvG9s=8EvYl0c z&DjK@)IAZVPDjVdB5`#{5dicF76GV=xWt5IH&>9}^@R%(ZXc7ozE-`DUdZ;l6L(SJ z8Wr@(Z_}!$ zUx@*#=_CBUDZj889{jC7J3IVN4g6u&^l6RaNsFi$>$(y!n&))}y~*-9wn*4MI=IES z=$32jZ;U= z>CG6TMZ_qh1xx!IXk~5ei@VX!g7;#^)R+V-hlX%xGK^c7VVc5}2JZr@mw*0pVV9^$ zQRs*OqND4)OPN_HyiC9*iCeItLTbMWvlR(C#f!U2;0Pg*?lLmRe=rHxUN$C8w*MY| zxcgJq+rfW*@KW&mZ@S-S48h6OI=Uek3hj7;QlPl3JU-{#)|)4aFAOZ%G-9wvs16P( z?%6Un;2#2fv2C!E!9U*GzISIukwdS~t^HCgvAAwfRkENcL#fs`r#%b5JEya@r)%|f zjr)mI_Jx;MS$2Ebnz`O`^L3NcdRTg3?#>2+SKF;wror`2M$#fNY-=z)(~$8&CBijD z&z)s9lrc-z57Bcja-LnYN z&tClx8c#pc*$_z3)V%Wk>~4fX<5t6?bJRa#FBjRcv!C<+fux0w12>C});jS0qlXay zFsa1V@Z93HiH{fm_g<)(3Ysn2wccP4cza?JTMI(DQx^oKfezC?3}RT z2MNaizC2dTA4#9-yu^XfVX6ng{k#=wb_k|CbPNZyDOzrGC0SLQr3ICNjTV7~Fyj^# zQOv=g+_7*dVtg~&I=uLZm9tEdME?37L0Tbz*zcyO@-gYWZ1L;)!Pt zx29#IZ^uS)>91SyIbdENgFob^ucg2~qt%V6GiQ(QgNFqMh%`Ji`)Y9Ize;;&`n{%! zj5qCJ^c-0y)Y|OeEB8RKdqjJT)bV`PEpfeI&koYEmxfeHLsrokzVbaT`^?HJ5sQg) z!qwWicMpSZz z?l4$N+^farNh*a;)-S^nKmH1Pd6#ncom*ajI~`ac>J*A_FrI|JXyhMEC1zR$6fqDNXWo_vmBi zrmV-+QmVCl9n|=rG|!==g=F)!Jo%bne@akwZ9XH~bb7yv==4On!g+h^?U3PiV&d1) z!-3_k=#6?8!o~UL=75>jy~%IrD+ zrO6HIYnc+02SeA3u!zB}Q$nvrs(+~I^2zIPe3+whgMXAlV#2y#19HFQs{yNcmvTFM z*f;#WwS+R#MfCF}L=d*%^BVE}ZeoC&^`p>0=6ar{{~{&@>^N^ejnTQrX1`+iU*w)s z*ooN6?_sl-KCq!rLP6fUlMrG-6Q8H?a%!%;|5@tG%~bA*onQ&S+zpqt+-vFGnWMrA zMJfjvh_#D)^HN05KOBa(+3!{~+yS4nkB2*j2aNrJ^0hGkHcnYEmbYP9KhdIPh5?6k z8)j4d(c82TZr9cIuOyet{brq<})u$GO0kHl5 z>0G?@)hlZ325d`AbDyP~m8j@275SfeixC@rv;ttp8s1&w3~^cV(Og@YSuOxW$Zw6-MLfLAYkz_b4%Pqu4PUNo zhYak>a}VsN>CH{GJR>-z=+Rq$d!x^@b23xV6nQwv_plM386B#e?nBBh>WgBR=(xrT zE_fyS8fwaO$q~O;veTSZ`uV&EDLC1!5aNGu{IjQh>3+asFZ3p|)N^b>%_XNcp2fjl z=njToMEdZvcRxF~N$NwP;FgIeR_kWED&c-l@K2yH6Xd6KUXTIS^8WqIdA)XNgtk?m z0TWm*%j-cA+X6&sXvHPiw{=>4+(@Q#XMd`xxl2YZc^>}b7rxkW+T7%Tx-nzzSK(Q{ z#yo==%Oy&)gV(WiW^taums#6;UFq*`Wixe}JAxy-!{_a&s?#`yM-SdR@KVjrlit@Q zUHAfmU~?5_Kp<558D?3gDcIL=wl06NUpyvU?d}1EeJdmEnHC{>v3D+X$`JAv7bs#J znLvh0gH$P#OA?p66!DVD<~8nR^LH=%?%TE<(5YXolEu{ORu^~LD-d=yA}y6C?z6_@ zhD9TeKY$O%Q}g8$>bZZ*zY@n!gi4)~*Hgkf<#D+&9VfCu{_})hfzkWr#cfxuoidP3N}G|JuQ%pX%${EIf7JN2VM%+h_pQfx zV{h_BW>6ym`rns)(XG?=zdRB0xkluo+*v$8@JYJm!$@%Z)!T3?fQ4!OMX(@-}18hbZto|GeU~J z!Yl{6DLHn1hc*1Po){OWU>)AdGWoof|Ag3yM>q~gsZB<02KH?G=;9vqO@Hcrvk~Te z3hj8wKVrYr@y0$dCb50&kxT`XHKO}EUZixuRtzh>m7EckRf(|8yi-(FzZjpMP_giY zG~OJ3&HY}dJ*Yn`;KN+cfZ+Ac3r0n1LCX-&lU`+>M}rPsB&DD{$o9bIW=MwkKtm~B zwoxQXlKZIii-En!wuNb)l(jPI#M$jILNSgx(+ijc4`3gVkq@0M4q z`gk4XXa~opyb^rQ#s1DTs(@VvqQP~H{)e%DGI(lQd}Kz4&(|z{_9RLAvf5>Oyetox z@ny6vCl<)EX}8k>L%sE0k%R=QgI`um8D+LiUJ-Yg+3E~|#YERC{TYRu*4FW(Ol<-q z4YsV6j3dHN#G-GZahf93VE-}7SRatd=x7PfQhVtY*pa6!>46$TYxa7Y7 z1DsxijpV@Hkv^M68}Ju2XWKtYC84q{s|}0O%C+f$|Kt&U+==>5h4QpOA=Yydn39l2 ziA2z|s5tN^OXgNXXN4r?uzO?u<~y@+eY^VKJx`U8yQv3?Cz@X9*ujgl_2=q{2RK6-+i*t8s#BMMs%)MpB_nF#l^ z8*$}3eZ3)yeRe=~>#1_vI2h=f6^>LPrSHhe{SxNge~sD{E?6a(K~-waOczMZ2cD)L*w9go63*nvQ_`i1g$K;;=`i6QL6=RFwV%GzehsMz`DmA z9s4MO>YV4O_U=f{yL@I&Snz=g`cn2?s`r6LlVUxW)Mp-$PXO3!>BafQJhg~iL6r(B zLBaU#1qbZYaVr+yznJbMl{R3GQCrV9V&=PgTYmwdKoAFTxclYfA%M2B8Qsmxx!*tx z@YtV7+Q&EVI5wCU>)!tWyJhyvmQsZRfP$sLLl@x9F-=R*h*`0Fn*7~jJ7Y#*-mgLT zdj5@LZky2Hl7Zll#cUYKD$wl=AugY!Sqi4S6^DQM4?|?gUo5B zZ|v9}JGDYgJmlJEe9Q`S!`wp^E&8nN+wL41S4nJoY_d3}Wu9V3@wz1n#NhiNhoJZQ zHMLp6Q+e3C+ha<&m!^J4=+0m<2i$7`X6~9jG1DU_F zNNFG4R?$)yIn%yJijbt}7bfsW5X*6eK-&zzL5a_u*5*UDryrekIru701I(0~;uwrw z9#sB#23h;@PAFY*G{xaO*=fkT zdhW#7&T7ZN9l=leSMk#OUK<;Qe4uD>|UzDY@E$M16AcY zVqP#%!E&k3uEK%E7D`76I5;5!b(&Kbtsv7R1rX)HWcJ<*ONs`g<&pO=`4Tvd&1 z{kCNpKdhEpcay%ZnMjXr{O%PRcCYL`)K|8!%=49+rQc@H=;HC6f@|<)E>-{2`MJ5N zro?SXXj5`o1bVMKkf7|jBTnfW;HN>_4Yv;1DL_JU0vFFo1O?cR@B zu<|AyLj!L=+-xcfH_qNGZP)8=Y+RCtIQeZ%-#JwyBI_gjXVd(^65~Y$YBC7(>=UmW z4+ni)*6J#`tuy|j2QPMvQ7Z=EPYdZi%-M}8V6b3HM#iihM8R*OuBPBf`+gCsga=hW z6cqg&5nP)Wf9V{_e(?37RM4Hwzgqv2db<6rWw8i0pW_SPlDSZ<0(krGg2c6kyB0bl z16G+o8ntqGSZFG<)!L;Zx$_s#5s2`*1v2WC7(00N>jqOuDDr0JEyN~V@!%~5sr@gE z_@`mHm(hlbE6#U+0iJp#@>2(mO{Wb+uDrg*^s0U9)7;ghL5LvSU6H86(ecuVqrc&i z*@f-(@Rp0iOdbGO-TwazkU?<(2*rC)CX$cxBgzZ7`Uzj+VV~Ci)>4wcK|?eDbPof*; z|7wOz+$qbOZh6ElbFn(#k$OJAZvbjI2|P58gCH4WlAsAEmK=@80sYVGvN1=LSlK__ z7&P+n5IMZ@iClfg((8f8s6+&N+@SbL`R6*^n=?*j`~!o=DN83z;ROnNnCuB*O&M40 z)fjhb@UO*2UC%blq=`tYO@9&!M<91d#&=%mjs}Fnp~BPsJ}CkMO&iDEy8(y$3I)Q+ zrpl##1w9R?j{6A#)n6qp>)kiGlSS=#DO}f(w_?DztSKZTYj~T4zPU&|P?a2eYMFQK zC}Z_jP&#RWPNB@M#(V#FZMO!NrIE#MEy<^#2&d;>^kvjk4!;tS4R~O-w>0r#(8ijS8dc7xAAal88)jbSU2OQsta=(1`gED6SJ$@ehvzUV-(3?H z8t*v+3I(~S5447QS+T_UKK&r@+NvcCSF*&`4b>ix0AS0VgSFL?bgHXy{{z)14#vO& zuVqerdDqRp1DAq@uXVateL3EKk8)i&%H>yTka4`13z<92+9$O5BZFOMU5wN=C;n{S zfTf-u9tU`GI^kRzNiV|WG+NDN)O-?7|Byeme71TC^o}ng+I=v{ZB7bdFCV&Vev!u=Di^sq~35j5dy(`K1mk>fwRO8ahNBHJKBj-z-sX6@4$475(0au`oJ#s>1@1{Hk4roU;XLaoF6eNVX^U4-)S zVi&2~$k5;@QO==pHJoKPE~_MNem1jP5vKP!1MfDPRK&}4+!U3BWPbQ!ZLph;hF4;v-$q#onf^ppi>L}`K)Y}%)iIp{qQ)eeP z+pelQIMi;5tR&efu zVm5un){o+#d394E#S;P96vFV*iQV(SZ7-{J!jWBSyMxF(OBL&6(Z&tGslB4SkGSR2cziFXtd!Wb`PD^}^ETzx-|45YMu6Y?FBeyM z5%~T-D0pV==XoS*AjH)%^sXHvDNM>Hyb_M`^)4cHYG=dy?g<~*KCkWneLI@dZShF8 zRHF4R(w{$PG3s^8a;mGT*>3)066YQ$AmgzR=)O(!b*YBU z=H1zQqmX-i&(vt13DABmfw#FUJWIRB^4R35f?#RuwI408=e5jk4=>aGbhLE_HwmxP zTLM!J_khbZ?hcURrhI+;C0WFVE>$|>+P^UH92Dg0d zrssJk{>x;Hi`1%B0lsHy6EQfZw^l%C!RdwNrW38kf?iB+Z#Icg>G_C&cOcdeYD2*+ zQU*Ke1*DDo@IC&aUEv#p^Mvp|Eao00$?L=po z=KCwGy$dG@FSSbyXQKS!N%d!{YM&)=iF#xI95!~EwR{H{4`{SevUKX2$XzXnp?tnp zxN#cAzfIJK%~~d*QLI)~w2k3cI2v5gbMM}Uj?wFFxzjN!U+WfVcEXgH_?zyb)&N zw~rt7>Hgc9iT2Wnk5r$bd-VnX-YVXK`e?0<(|3U8{iU0KKYP^J{m{D?)_Ms*y?lhB zaNJ>rjkG|Am^D41D+160R%YWjFR=i~p9VC~$|>+Q0Ps*uB6%Vmw@nU%!x>}#0zdl@JVpKlpsl!oTP&Id9)usuw9EC9zpsF-S;8__@NS6%y+APjc(m zoO#fd1q1`N5&a3ykgPu%(HAq7sX8wsFBbG!LOs9KDTnA~qN+oV@9jCYl&0_cIASDm zBZwicOw|gjMZ=l0;yff{v zj}C4nhl|yRe3958WDlH=Ew#8hJ62$sH1-jPASm*8@Re7U9ygAe!~AOu_0RNnc^^Nk znhj$h!^)tdks=d4i`fs z_xF|}7s!3tNOR22?)31du)45FGXWOg^;ckY*lB3+`}YvRMIT4B+PMU1Wcd2d{QGRC z$!Gf~y;ZUEkDJ~h0`-mbzF>Bvs?juLr)1`osJNZOjAkKaQwcRD#6LMFSWxbH*c4hsKb!j><0TQq-^$M2R_d!_d23zG$eSGfaXJ6ml`CmZY6I-!7{;=;6m%b4{COzb!N2+$u)V=fB*I6*U=|;; zH%ZQ)Bd#7XUy-kD+&P$fa&2cdh|WgPwz=p|xF9=UjPK*I%ek#j)l9-TB+M4$#26$P zdjL9JcjqY-4oxxciceEJfKp9KoRt`T6Aj!;q)gT#5Ehbcr*o+P_&!&O%Mgtqa6kim zpLLQ7_eE4X_Jctx>HMgfntUUzj}&jUHZ|R@D_N(r2~l5H!aUp!31Rn*3pmM>9yR`I z*E8f;LVp;9gTaS=<_~?hiMQ+Lx{q4F5Fp{kEm(X$Ul{sibMo-vj;40l-KE#Uk_JJ7 zkGq~{`>-v?E&k`&RJPT74&txIjSSX__u`RGZr)3z;Seh;@C7cYp%`O7kXHm!5vtReG*N)s%3#C(!fo8n$8K%4^e zE2jex+z2pxW2Q$@fI*nJNC8gHaQD*J=Q4h$DVAX^^FuTS`|n)5xPc*6QXq{}l* z2DR#L%L2TQaG1EV7~+D+O0{P(omdFxzIaV-G|eT_#nsL{Buowapluc$CMYUvtWMY1n{MWuLVa4gmsQTSt>Q7feY3-~b`9oVC;xOgd&l%VUwv-nbRy;N?y$J#&rV*0V7rI& zuqHQ#Xkfs#XN5y>*@NP1<3>ZaX#k7i95oGa8p(H-L#Jw|%Bh#jZRK3C_+N_gZK`;VlOv{QbAG~2X;3&u&gePY2mCSwWulyI|xIH_u z#rwnMrKlgpFwNNW;ohz@$iKls&-~Btu<(w={Kf{d%i89x>3PJ3 z6WTp)#rq(^Dr}EB}bJNR5k?rW`i*u z%F7o`$ty*Q+zf$qkDAw~qpGQM7|YVVlvTsJ|KssgY-=|tQMpJ5zM;J~`wAx`Q|E$0 z3~V;<7tSlN%PPnbf(EM*=~lgttOY!xwxj#svlwNOXyzU;I!!R*idBQPX9h?nNn4kC zOm%FCKkIx79k%XHWst(|vyQQLM5eh;wLDz6m=+JmRq|mMIHO8d@k^$%foXKD)f0l6W-qyzQYsWX$ zJE3#L>9~c}ebG=9lpc+5^~uuma83WhyG6kLg_u8*a*tJW(xRP%X&J&#TbuT@%XMpZbtAWPgzuT}hkBsll8&V3~dFM-rW=TAskt0;fsCd}AENW!V7WO-4tX7EPw6z*=@b^VB z(DgzRi!X6V!4r%xO+DEoLKkuE_38pI$hD6f{a~}s?4mOkl!sq_;-O=fS5P6Bc{8CFK3C}%mX$i(BqucIZbl;;& z(Wfcz{b-rqV92WPwqcdIt5uRg>&PFRr9UdGAqOCz`wuUQ^v1z?ccjKFxA#l1C!ry& zL`T;yvH@ZX`K-#;`^){Z`oC8fZ>5dsd=_q8{0r1w9!SHrfH0i0_xy@_XahkZ-xBB& zXl?8-w~pjVay@$$bFBX%sPW0l84XZ#|MK;ZzZ#BJ%BcOHmE@c3(0_gN4)yD+Yxg6D z>ojLovz{bhY)5xoCi$&o#W=yE`bjHUjI`g4TM3=mU#R?hPV#Tsfva`xMc+O>pI$H7 zmo~~BlXV7wnNi<)Nj$qY1=M?^Att5-kW_fF`wn1YBP3n#ygGD zaSx24Nrme?JXYZol4@H219Ut1JFP=L4mN!}k&)BjP^_G+&n))I4c59=gg+J`>1$cZ zSt^ALJwQ!e?Dh;!oo;t`(XXpnnpLN7GIaGDSbd~SuP=A<$VnY87tRkC zikfN4&&fW35S#|f7EYsS+?8lu-W)~4lT+NeuJ}im%VEy0)OXLf*#pd*aXLE56P&U} ztqE%%X?t!Llu6EYcK5V3GbS=x%}0c@)b=XWy&{Nja-PI;{YyQ3fi6^U}vK@s; zY(Q{T9-ZM6TfsL@e{D34E`0wzUT+%H)h5xD>+{(iC@FCHH*Z_lqpLo5Q?}3jt=kH zyL5kFk5J{gxY7r=M`t=cn6?*W+oZwKy_z;&lw^8nl2j`bp;h{?hSZt7d%SbtX-b4D zBAc5xtW}y@Lv_6^?M;=!q3|fQ?HqO*f!BL5-7PoQv0Z@ZAI^uRHgJQVvJo!dRR@sI zLa0squg{_KP^TI^hY=yV3R1xmQ6=i)R~O_S3P!5Mp@f^sozREnd#zX2`XTkdAyzes zM>M3^Ey02^g{CIboYU+PrfsY@n@H>>f3E8}%!Rivs6a;2Ks8Xtn~XR9&&{Iw|3L{9 zy$?VYq@TiJW8-Y^?nXYOxLR~jzD?vz3b63o{@ITzk^5>ILl3tMsf0uwCPJucOgn5I zG3P1o#B^toS7DHbnB8u>JaNAhuWxIuyBcO_#r|iOeZ=n;eQx2 z71^qDl2wc3q&~;m#o?*3HKcYyJZi9==#AW7ea@q~=EE^aCR~Kx2vEx%Z#A^OO-AMq zVGcXPNDzgCDmnI0G0`_PNssZ>`QKmOFlOGTsk-L(M-}%#!B;7~Kz{p`^_rh~z*%g2 z@|VrRxKLMx!iBO{kk7*=+=JYfCI##HzgWG~vcT3vBT^%ZVLe1q03SqwQ)113qV*7t zY*xzu{>_oQnD>D^`CF4$1vrH1UjLY*u2nk}2ic6jmE`9&xv;(S{nTo%G6YqS<{TF_YR@&B{^wZT4(t%S@ zYmomM7o?P&9ccbKoUau7NDAi`g>6Yk!~Nls$}0Eho8KmJg1c#OtQU#qHoQ0pt-Pmr z=!El2k?kA8aMQ>k+C z+xY61pO@brEbY$Hpc9ybl|E(wT5J^ZiUEx3t_JYm|CGwuAS=EBR`PUTfRvTI9lDrW z6E3X;ZNZ;A&q|Aqe>#Wm0RCZnj{8Ku0VHVedg|!E6wHAX_JDNE4hnJCLy{_An2flC zBQYK;HCLq0u|36fM4`ThhBz6Wi=vk7+0YraqHnurw?VV>h=8{rnNl78K zV0({3P2J;#XPRHd$V~>_|Jg4l^r+@FTOhM%%7+g-^*1K^^;@{QUJQ=<9Qs2G`vJ>x zr_l*;SCt5Mq%Z-K-dtX6q%ZVq+tS6r2VKT2sy?q~F?FpWM+r=ctyw7FLzgMUmWEzQ zM)`>q8qmGmb~<)}qpChyb z{?e!l8!@die%IL#KOsl7zXGVSa?c*CCt1xsU^~C0!76ZoyYV*c-Ax;5X)f4vM{PRW zy9|Lp#aymatuj8%v0?&HofQ40x*H)FFJ8Dac>6sMa1*WnnR&RYIWSYehYUz zz*CtTl#k_^JjO{6o{|k$#tCfr}NgC|dZYl&h6%b^!`*1>Ciua&$9 zuW}xq|M9C4`Y>y!QtuY7GI(D#twb@+H4OJ6Ha_rjn7&`EBb4K(mAK=g+VZfq%5b_$ zn?;{m#e>HaEl6kgNJr7-{*ImW_LM@$^M~1lV;xUx6_3r&^{Y8A%k+MxnGD2y>W_Zd z>ZY~mk@q9H+t#J6ZM0y^U{cn8_jOqtZNau5P0+8cxNZZ+N||{hI?K^fqUSGlLxgR^ zw_dHAjT7Y2Q5w3jy2&Na41uerfsYEp~lsSR(wogk7kdn6~McnYW&_VV79+zdFZuy@6$VA)x&! zF5F!mZ1Qap%nBUtOW{wZ&Oy)eKF~eKf4U-h*NPCI@;>RhA+pKT#g{#c9|#^y;{thR zg2X`RH9W>W(|`qxBfv96mhXEI)JG=dB+6;bs4Y68{x77?^C|g$&3E zL)mlw{h%sp(V)QHdtuIZc4rpO-3?Me>EB8IUtmWsH-W9EP2$A zv$x1>3RASoyzJSn%y>Ia^ubYTue(dN?(0T>H^gXVc%RO$^3t7YG|qa+v(>*sSvdwP zGRu@pXY}95+9{(cG*bnG)k$0%09g#NW#L^i-2bcRjskM|Q zDhNd5rS^`h;OFxN7dzW{qenlHgEIesH@8^PfQOsPHJV44?7i&l3#81607;DM@d$V* zunp2=|Cqzx`v_=Z%)T92u5kNqm$kCH6>NqT$bhVRkdrt~GS=tt{LUFz-i&-t>y{oU z|7fkdIpcVAQQmAU_09chpE@&Ff9vhq%AiCn`RIPh!|a97x~_!7QQ~Cx3}G1pG7BBW z%LF}y20z#{RtkaErg09uJj&%9%y}J?|K9vYb!FG#wYq?%*4H3~xjI|;CPI#6PO`@t zOU-tnp157N?(A3ycwnH6oz?z%<&W9kZku*`Lc&>#g;uffcG$JBYz3V}xq_O&V6NR2 z9w@sa)Cj8{g>!yZyM7SFj(`#zc(%$tO%N7-19=4X0@|w0y`0KQ6-}4B@T`2j7vskV zOny@BZaGNbv?sayh~Hwo z2K+s(stmmclkI79U{PA9#6Qpi$N!^2C`c|ZpJu*Zun|b6m>gAd(gUOnoe`nSz?n;d zPX7n{tB-dV0@wGu+jlCOjZ66<`*t6X-rlvbbW)y3FcUN@Hr}3)ft89kRhj7Gu}-o6~k-f7SbQkdK5dg*kk*&M}zVlQZ|z-bL%%75?7v|829Tl)o0NDsj? zvHt1DT{4%}qJcUR72 zonjRc>W_M}y_MAxxt`*(iKoxU!C#?PoA1vLqH^~`y-sDuJEtMDyYDkZZZ8X7C1zwj zBgqY}`po+oop@(s5%4S_I#+*)1`D~vZS(e=7A~Mq;L8W+Yx$y};8T6vkn^Rt>znJF zdk*eh39qBMAL?#AX=$oY-kWdFCUHNF9B~ZB>QcY?GMD=K3sLyNW%#}zqky{Uvr~4I3gn!|A_)X50+X? zpO|6@d;&ItLL)UrLA^;NHU`+yQ~N-ww092Ai;Dk;L31xQPz6%@AX%2v+|+k0EX6hzXl2B$v9cqYuAP0Y70u);0;F(Itpdm9tG zw_SqvcA|`siO3lL8as6ULBK8Kq&z(*%}DxS2M*P%>mL^lF(3+w<~wHbn=^qzApH`E zm3;!zNbPdWf^9>lj{}FD)%(re$wSqED|ic^>8IzeDl8%Auj(^j?%sn#vg$@mk~4#CX<@kagJcM{?q_reAqtKZPjB@5akaT=7~M2)sij^L-@t z2@CZOIQre#R5ZO!)e=<~!_L1;(VeW^_%l7^x5FCF2*Gc`5|$)}u-Uh2C6pj65WSR0 zKBYxR$|xD8Q>F$A2JP+R-^ga~uz$Ya8Z${INBNyj#(`H&D+tqvR4jLF_$z(XOWfOY zI8G=YpXGyG`An(5=XK*f?bg=Lb`E@xU0jLH6~hZVKmE1wy^reMpPA&W{2zv*ss%Z)Dm4 zFl}#53*o)?W{>-{mL!{DA)Icivp08M$ZH_?Z`QD)Y@U zG$`!G=iMVDwcB+{8LJ|`JA7w{7WT%7yZU(&jA{Q9WeeI3@(HNl@1j~aY2;&+`<-nG zRm*j6|6RRwg(4ol${(_IY^yl%p_oF(DZq4l_dh3)2XLgug8j`88xr-8{y(D5GAyb$ z?Dl&|2?c{rk&teX90U=i5fG$RLh0^SKxql-mTr)ap_`#Q2I(GPfT3pQ%>TUaxz7GD z`@_tqd9J;$`&rLgzlHLqfsWo5?J%hmF0G_$TkU(ESD*h&dvRHdA40_~k+1N6zFQ#u zzR!L}#6@5~tNrQb=91ANFdm1w-dxLyi2MG0m(gSn?^*)NG#=Cel)MM|C<$*X9ifT>_n3cpBDTkH$HB1gdJsU zR=8V1ejl|HTHb9OtqjbuFkpV44!5O{E#)_@j~%ps;NCd-MEm^N0WZmGSd*IrMr=^w z)#&EVa+AfJ8;0JvE-SSzfbkD$6Ei}?pgvRCceT(`-7wSm&OQB_oQVyYGEg~iE5y(G zW|qdehfL;~_i=N(WLU_`RJx6Z-j1qbC7Bx<>_r8C;j-VT{ez8tJ>uW7nkiw)V}lR6 z-#Ij()0vsM><2VbG8#f{D+-Sv2eb&M-`W$T4h|+AmN@)-)I1%}Q#C~y$1H2(V0Rln(T!{s}KUA>wUWr=8?+$1w6b)Xc7dV4AF&T-!_|Jby zI@8^HG}I2)UYw20x>HG;RW4QVr}g8=$ynJTN4?u+p%5QfDgu# zn;*Jr1)hf8oJO2YvhS($9_cL^rW#PXmpxU{=@!wR`00^F<-sA^%BifCzAw*7Ow?n& z8;!FL+st{PE#s3Up~jB1r!6=dRBrtFf*p2I-|MtwQLzJll$n{@_+HSeQg=F4vL~`E z=FIoT!fIYOz4X&orVS)MQO!+8@tyb``Icb2siUU5DUavn*v*+_Mi)s=xHIjHhPs;4 zCP;5#(N|at`cFh^)mh9O$rdVwvtGI4WZ!DK%S_jPV5XQCytNOl0TJwimX}K~(xRVlhsA}`t!ht*TVaxBcSDUe**ArjNxz#q`y^)%qLh>CY8Z;<$tuB4& z=$%^lAR{F|4weG1P!4pbS#dDvSvA#+2~I&_4-u8?P);kWGnwNZIKSG3;@sE@m?|Rv zaAXDP;y*xzkky-!ZA@E$jXjm!#5h;`%%L_GaNRobgZ)%dS%b8m2QfRiD_+`9B&Hx- zrG>H=3x@Y+y(*f{R7^{J(m>j2vG4`5AECwD#g@&41#xx_&vF;6d=8h`+NCaLq38Us z3hVn9?xWtdRMLbWi=E74{PzX8eH1RInn)UP*L=kvI|_f$>|U1ZwiFhKb(wHgC+k(g z1v>9NX*RlV7iu8;wK%Yl{A?yLr6ZTz7F0FAO#pahMDSk|7~U8#M>H!Bmm&fY0+%)nMzIGo?CnK@#Jq+b@E>-L+6CpUwQ81a(it5)t-<5v7FZa zbXZC)`NKM#`uP#?gQ=wyhM@d$5m?<`7Pjz^>ymFyr-7_{WuIk-^8U+jv-`C42?j~% zgn+vuDTse%-n%5!$%-h0M}RgYU?!7}&PdO4=$A#NTXiW+!q*iH%My%BlEir%#cE;Y z*Sf9RXRLXr6V_n9z!ov;^p7QhupPNDy)Z-Pa3eYF?jcrh`iilFt=!*IHSRH>&x06%86Tg|V*O_d|1{tYA`F5MgOLPj(+fN$8W2X-=*ed3z&m zgHg>1PMJSTFkBB@E_ehk-eI5>pxu-ri7nv{6$A>UdQ-Y4R;5F!*u0;5LD4w35iE}D z5ShDxi{AR?!*dmgp^BmT@RFJKMI;`XGVL2I1?HgzQAbTroF$n9u^cW=oYs?W%D_GB z3i&euF`%_|?ED8%+u{O|@Aro6-8P64Ti@-O{;jTE58WcH8kJyO8_qOyd@WjIll;f^ zFR`YBgx5{H%S}7(+|5{ptW)^d2=w1^`k~k3OSwo8C7$Db5ke3d31F_=3w;o`f4^IU zQ|4hl*LF<6HO_ow7w8I3608y6mM<+WTp7trAr1b9%=Ae=E$H3#uRTW`l)LR0X5hDs zRv*oZ`%xv&5^wPU1PQN;L$#7Gaj}VaHjA{h;a70nM(S@kC)HCyL=J}bQRDRYU(JlV z>K~g$J@5&z{!rS!q?F53bG@7|bD(~Bu5o}*9z%g+@NQQx5LZW%girz9TvE@9KS)Qd!M! ztuq$2yZt~$z1jDCmq<({+Fd-GwSiYbs{!(}hI&HDTE8A+L*WVZi}fytI0d^jwFBW(Nn4nDSn`Zg+N zJkTG8b};SP;x!PfX4sjl{N{SuU~hSFIfB8!*!|nYjFEPp{7wyV9tw?HK3ah7qp#By z_j*?}p{&+DvFv}$da1H`!~ZDwS>ZTr7-T#Ue%;|6@BYDV(Die`iR-Ly%8xR}dStlf zWzujPMd|8B?rc7?AC#pS;~P+PNYTeX)iZ)R;B-b2axwLQcTf9O%q570w3f^AdAJ{KKRyY-1ZI_zFJp-6^2yT219rBBM)hqi$qH%<~e zAm;vC<_T?D&QWHe*hosH)wxi+9XLOn8 zH=Z8+)n45@X!@obY@NWmnijvao}PCB^!a1Q3ZmQ$A28#6Cs$W4j!CxnzjM7#RVSdA za4g{>r)!%28ShIW3rJ|}g(cqSpPd)JHfX&|p3~GR>v#dfzJH5dB2Mi}kv%Y+Y~ z?ifhb!()e-3UBPWmVlLo&2>JCm8}mC8$iABkqHaJA8c+BJr1-PQi7Uh6(5e@j&iE* zjOS(fSjQQ8pM^c{CUy`)ure2{p>AWmccVD0bZEAUwdIb6%0Rzfq!j#YE)`45)msxW zj()^er|}EZ>ET4ozo(kKGECF=)@@3$O*``weAZ<^Mq53cuYi59w1u$N3w;sIZ%FQ} z!ic8die)zjJ7>{uI_w+H){t;552rVjPYqCDjF8*;*{+2AMcBae-Uovs-Vnq)K#6n~ziRSyhEQ#@` z&ajqK{=z46ETcjkHzJZwZ_q+)#-Z~I+jCz%X@!6ytd!ws%d~oH@R^y8&NIUxTdQ4> z*QWoEu^_xS^NG*DOIL~en0!|4S6dQ6Fi zeg~Y#R4~+nh zpU`wKPnpfO+S;>Nr&&IReF}*LdxFh$dTXEpZ7$w2uMx3Wo3=Qjo$3?#R6{bQd*(uK z?#{;Y3F_AU$s+)_W#N25J0QFKaIoM-l3`jz5~f;wqjG_MZDeKF>csVeveRMiv4*Cn zMfpepmu4`~bK)UM^o^qH8!gFI9%$t`xrCTlaM&*D&imX2K
XUJUvx&?EROypG)+qpu!%^))U&# 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ℜgRag& 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 - /// Standardized contests. - /// A contest is figuring out, based on data in components on two entities, - /// which one has an advantage in a situation. The advantage is expressed by a multiplier. - /// 1 = No advantage to either party. - /// >1 = Advantage to roller - /// <1 = Advantage to target - /// Roller should be the entity with an advantage from being bigger/healthier/more skilled, etc. - /// - /// - public sealed class ContestsSystem : EntitySystem - { - [Dependency] private readonly MobThresholdSystem _mobThresholdSystem = default!; - /// - /// Returns the roller's mass divided by the target's. - /// - public float MassContest(EntityUid roller, EntityUid target, PhysicsComponent? rollerPhysics = null, PhysicsComponent? targetPhysics = null) - { - if (!Resolve(roller, ref rollerPhysics, false) || !Resolve(target, ref targetPhysics, false)) - return 1f; - - if (targetPhysics.FixturesMass == 0) - return 1f; - - return rollerPhysics.FixturesMass / targetPhysics.FixturesMass; - } - - /// - /// Tries to compare both entities damage to the damage they will enter crit at. - /// After that, it runs the % towards crit through a converter that smooths out and makes - /// the the ratios less severe. - /// Returns the roller's adjusted damage value divided by the target's. Higher is better for the roller. - /// - public float DamageContest(EntityUid roller, EntityUid target, DamageableComponent? rollerDamage = null, DamageableComponent? targetDamage = null) - { - if (!Resolve(roller, ref rollerDamage, false) || !Resolve(target, ref targetDamage, false)) - return 1f; - - // First, we'll see what health they go into crit at. - //TODO: refactor this entire system.... Why does this exist, this shouldn't be calculated off health - var rollerThreshold = 100f; - if (!_mobThresholdSystem.TryGetThresholdForState(roller, MobState.Critical, out var rollerCritThreshold)) - { - if (_mobThresholdSystem.TryGetThresholdForState(roller, MobState.Critical, - out var rollerdeadThreshold)) - { - rollerThreshold = rollerdeadThreshold.Value.Float(); - } - } - else - { - rollerThreshold = rollerCritThreshold.Value.Float(); - } - var targetThreshold = 100f; - if (!_mobThresholdSystem.TryGetThresholdForState(roller, MobState.Critical, out var targetCritThreshold)) - { - if (_mobThresholdSystem.TryGetThresholdForState(roller, MobState.Critical, - out var targetdeadThreshold)) - { - targetThreshold = targetdeadThreshold.Value.Float(); - } - } - else - { - targetThreshold = targetCritThreshold.Value.Float(); - } - - // Next, we'll see how their damage compares - var rollerDamageScore = (float) rollerDamage.TotalDamage / rollerThreshold; - var targetDamageScore = (float) targetDamage.TotalDamage / targetThreshold; - - return DamageThresholdConverter(rollerDamageScore) / DamageThresholdConverter(targetDamageScore); - } - - /// - /// Finds the % of each entity's stamina damage towards its stam crit threshold. - /// It then runs the % towards the converter to smooth/soften it. - /// Returns the roller's decimal % divided by the target's. Higher value is better for the roller. - /// - public float StaminaContest(EntityUid roller, EntityUid target, StaminaComponent? rollerStamina = null, StaminaComponent? targetStamina = null) - { - if (!Resolve(roller, ref rollerStamina, false) || !Resolve(target, ref targetStamina, false)) - return 1f; - - var rollerDamageScore= rollerStamina.StaminaDamage / rollerStamina.CritThreshold; - var targetDamageScore = targetStamina.StaminaDamage / targetStamina.CritThreshold; - - return DamageThresholdConverter(rollerDamageScore) / DamageThresholdConverter(targetDamageScore); - } - - /// - /// This will compare the roller and target's damage, mass, and stamina. See the functions for what each one does. - /// You can change the 'weighting' to make the tests weigh more or less than the other tests. - /// Returns a weighted average of all 3 tests. - /// - public float OverallStrengthContest(EntityUid roller, EntityUid target, float damageWeight = 1f, float massWeight = 1f, float stamWeight = 1f) - { - var weightTotal = damageWeight + massWeight + stamWeight; - var damageMultiplier = damageWeight / weightTotal; - var massMultiplier = massWeight / weightTotal; - var stamMultiplier = stamWeight / weightTotal; - - return DamageContest(roller, target) * damageMultiplier + - MassContest(roller, target) * massMultiplier + - StaminaContest(roller, target) * stamMultiplier; - } - - /// - /// This softens out the huge advantages that damage contests would lead to otherwise. - /// Once you are crit or near crit, we just let the massive advantages roll with what could be a 20x. - /// - public float DamageThresholdConverter(float score) - { - return score switch - { - // TODO: Should just be a curve - <= 0 => 1f, - <= 0.25f => 0.9f, - <= 0.5f => 0.75f, - <= 0.75f => 0.6f, - <= 0.95f => 0.45f, - _ => 0.05f - }; - } - } -} diff --git a/Content.Server/Resist/EscapeInventorySystem.cs b/Content.Server/Resist/EscapeInventorySystem.cs index 4012e92d561..127db7d2b34 100644 --- a/Content.Server/Resist/EscapeInventorySystem.cs +++ b/Content.Server/Resist/EscapeInventorySystem.cs @@ -1,4 +1,3 @@ -using Content.Server.Contests; using Content.Server.Popups; using Content.Shared.Storage; using Content.Server.Carrying; // Carrying system from Nyanotrasen. @@ -11,7 +10,6 @@ using Content.Shared.Interaction.Events; using Content.Shared.Inventory; using Content.Shared.Movement.Events; -using Content.Shared.Movement.Systems; using Content.Shared.Resist; using Content.Shared.Storage; using Robust.Shared.Containers; @@ -25,7 +23,6 @@ public sealed class EscapeInventorySystem : EntitySystem [Dependency] private readonly SharedContainerSystem _containerSystem = default!; [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; [Dependency] private readonly SharedHandsSystem _handsSystem = default!; - [Dependency] private readonly ContestsSystem _contests = default!; [Dependency] private readonly CarryingSystem _carryingSystem = default!; // Carrying system from Nyanotrasen. /// @@ -58,23 +55,9 @@ private void OnRelayMovement(EntityUid uid, CanEscapeInventoryComponent componen } // Contested - if (_handsSystem.IsHolding(container.Owner, uid, out var inHand)) + if (_handsSystem.IsHolding(container.Owner, uid, out _)) { - var contestResults = _contests.MassContest(uid, container.Owner); - - // Inverse if we aren't going to divide by 0, otherwise just use a default multiplier of 1. - if (contestResults != 0) - contestResults = 1 / contestResults; - else - contestResults = 1; - - if (contestResults >= MaximumMassDisadvantage) - { - _popupSystem.PopupEntity(Loc.GetString("escape-inventory-component-failed-resisting"), uid, uid); - return; - } - - AttemptEscape(uid, container.Owner, component, contestResults); + AttemptEscape(uid, container.Owner, component); return; } @@ -109,7 +92,7 @@ private void OnEscape(EntityUid uid, CanEscapeInventoryComponent component, Esca if (args.Handled || args.Cancelled) return; - + if (TryComp(uid, out var carried)) // Start of carrying system of nyanotrasen. { _carryingSystem.DropCarried(carried.Carrier, uid); diff --git a/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs b/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs index 1c672796c69..31c9b0d2b86 100644 --- a/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs +++ b/Content.Server/Weapons/Melee/MeleeWeaponSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Chemistry.Components; using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.CombatMode.Disarm; -using Content.Server.Contests; using Content.Server.Movement.Systems; using Content.Shared.Actions.Events; using Content.Shared.Administration.Components; @@ -37,7 +36,6 @@ public sealed class MeleeWeaponSystem : SharedMeleeWeaponSystem [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly BloodstreamSystem _bloodstream = default!; [Dependency] private readonly ChatSystem _chat = default!; - [Dependency] private readonly ContestsSystem _contests = default!; [Dependency] private readonly DamageExamineSystem _damageExamine = default!; [Dependency] private readonly InventorySystem _inventory = default!; [Dependency] private readonly LagCompensationSystem _lag = default!; @@ -207,9 +205,7 @@ private float CalculateDisarmChance(EntityUid disarmer, EntityUid disarmed, Enti if (HasComp(disarmed)) return 0.0f; - var contestResults = 1 - _contests.OverallStrengthContest(disarmer, disarmed); - - float chance = (disarmerComp.BaseDisarmFailChance + contestResults); + var chance = disarmerComp.BaseDisarmFailChance; if (inTargetHand != null && TryComp(inTargetHand, out var malus)) { From 9822e6f6e1efa4c45ab2ff70fd55d091939c0b1f Mon Sep 17 00:00:00 2001 From: Debug <49997488+DebugOk@users.noreply.github.com> Date: Tue, 5 Mar 2024 09:42:54 +0100 Subject: [PATCH 027/345] Fix CarryingSystem --- .../Nyanotrasen/Carrying/CarryingSystem.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs b/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs index 4adcf2acfa6..bb071334fa1 100644 --- a/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs +++ b/Content.Server/Nyanotrasen/Carrying/CarryingSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Hands.Systems; using Content.Server.Resist; using Content.Server.Popups; -using Content.Server.Contests; using Content.Server.Inventory; using Content.Shared.Climbing; // Shared instead of Server using Content.Shared.Mobs; @@ -28,6 +27,7 @@ using Content.Shared.Physics.Pull; using Content.Shared.Mobs.Systems; using Robust.Shared.Map.Components; +using Robust.Shared.Physics.Components; namespace Content.Server.Carrying { @@ -42,7 +42,6 @@ public sealed class CarryingSystem : EntitySystem [Dependency] private readonly MobStateSystem _mobStateSystem = default!; [Dependency] private readonly EscapeInventorySystem _escapeInventorySystem = default!; [Dependency] private readonly PopupSystem _popupSystem = default!; - [Dependency] private readonly ContestsSystem _contests = default!; [Dependency] private readonly MovementSpeedModifierSystem _movementSpeed = default!; [Dependency] private readonly RespiratorSystem _respirator = default!; @@ -120,7 +119,7 @@ private void OnThrow(EntityUid uid, CarryingComponent component, BeforeThrowEven args.ItemUid = virtItem.BlockingEntity; - var multiplier = _contests.MassContest(uid, virtItem.BlockingEntity); + var multiplier = MassContest(uid, virtItem.BlockingEntity); args.ThrowStrength = 5f * multiplier; } @@ -161,7 +160,7 @@ private void OnMoveInput(EntityUid uid, BeingCarriedComponent component, ref Mov if (_actionBlockerSystem.CanInteract(uid, component.Carrier)) { - _escapeInventorySystem.AttemptEscape(uid, component.Carrier, escape, _contests.MassContest(uid, component.Carrier)); + _escapeInventorySystem.AttemptEscape(uid, component.Carrier, escape, MassContest(uid, component.Carrier)); } } @@ -212,7 +211,7 @@ private void StartCarryDoAfter(EntityUid carrier, EntityUid carried, CarriableCo { TimeSpan length = TimeSpan.FromSeconds(3); - var mod = _contests.MassContest(carrier, carried); + var mod = MassContest(carrier, carried); if (mod != 0) length /= mod; @@ -276,7 +275,7 @@ public void DropCarried(EntityUid carrier, EntityUid carried) private void ApplyCarrySlowdown(EntityUid carrier, EntityUid carried) { - var massRatio = _contests.MassContest(carrier, carried); + var massRatio = MassContest(carrier, carried); if (massRatio == 0) massRatio = 1; @@ -313,5 +312,16 @@ public bool CanCarry(EntityUid carrier, EntityUid carried, CarriableComponent? c return true; } + + private float MassContest(EntityUid roller, EntityUid target, PhysicsComponent? rollerPhysics = null, PhysicsComponent? targetPhysics = null) + { + if (!Resolve(roller, ref rollerPhysics, false) || !Resolve(target, ref targetPhysics, false)) + return 1f; + + if (targetPhysics.FixturesMass == 0) + return 1f; + + return rollerPhysics.FixturesMass / targetPhysics.FixturesMass; + } } } From 9ee282eaeedb33fdf028b6937da2c704ec994fdb Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:40:12 +0000 Subject: [PATCH 028/345] Automatic changelog update (cherry picked from commit bc9c31aacce2583d4ceeb25f23180bde62b3b74a) --- Resources/Changelog/Changelog.yml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c38e50e5a5d..80021bbfbdf 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,18 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Damage from heat sources has been increased. - type: Tweak - id: 5489 - time: '2023-12-30T23:28:01.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23238 -- author: Alekshhh - changes: - - message: Changed seed bag visuals - type: Tweak - id: 5490 - time: '2023-12-30T23:35:46.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23210 - author: Alekshhh changes: - message: Changed ammo boxes visually @@ -3854,3 +3840,18 @@ id: 5988 time: '2024-02-21T06:34:47.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25227 +- author: veliebm + changes: + - message: The guidebook now contains a page for the Radioisotope Thermoelectric + Generator (RTG). + type: Add + id: 5989 + time: '2024-02-21T06:38:29.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25040 +- author: PoorMansDreams + changes: + - message: New pirate start sound! + type: Add + id: 5990 + time: '2024-02-21T06:39:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25153 From 74f8e725efa44fd36449af680880d216e96073fd Mon Sep 17 00:00:00 2001 From: takemysoult <143123247+takemysoult@users.noreply.github.com> Date: Wed, 21 Feb 2024 09:41:01 +0300 Subject: [PATCH 029/345] add syndicate hud to nukeops uplink (#25087) (cherry picked from commit 92e115fbe4fe6bfdd1a60a51888e4caf3ff53030) --- Resources/Locale/en-US/store/uplink-catalog.ftl | 3 +++ Resources/Prototypes/Catalog/uplink_catalog.yml | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index 6a07e7aac29..8d1bff938da 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -142,6 +142,9 @@ uplink-hypopen-desc = A chemical hypospray disguised as a pen, capable of instan uplink-voice-mask-name = Voice Mask uplink-voice-mask-desc = A gas mask that lets you adjust your voice to whoever you can think of. Also utilizes cutting-edge chameleon technology. +uplink-clothing-eyes-hud-syndicate-name = Syndicate Visor +uplink-clothing-eyes-hud-syndicate-desc = The syndicate's professional head-up display, designed for better detection of humanoids and their subsequent elimination. + uplink-radio-jammer-name = Radio Jammer uplink-radio-jammer-desc = This device will disrupt any nearby outgoing radio communication when activated. diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 49ac067793a..5f821459d46 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -551,6 +551,21 @@ Telecrystal: 2 categories: - UplinkUtility + +- type: listing + id: UplinkClothingEyesHudSyndicate + name: uplink-clothing-eyes-hud-syndicate-name + description: uplink-clothing-eyes-hud-syndicate-desc + productEntity: ClothingEyesHudSyndicate + cost: + Telecrystal: 2 + categories: + - UplinkUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink - type: listing id: UplinkRadioJammer From 77602584fd7de3d59ccb308582dff1dc27396af3 Mon Sep 17 00:00:00 2001 From: Sphiral <145869023+SphiraI@users.noreply.github.com> Date: Wed, 21 Feb 2024 00:41:37 -0600 Subject: [PATCH 030/345] Adds a mask slot and moves adminPDA to new ID slot for aghost (#25402) (cherry picked from commit 196145685e0d19edbbf4e3a7d89da7489716f976) --- .../Fills/Backpacks/StarterGear/satchel.yml | 1 - .../aghost_inventory_template.yml | 18 ++++++++++++++++-- .../Roles/Jobs/Fun/misc_startinggear.yml | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml index 1d0762d33af..1a3dda66487 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml @@ -284,7 +284,6 @@ components: - type: StorageFill contents: - - id: AdminPDA - id: GasAnalyzer - id: trayScanner - type: Unremoveable diff --git a/Resources/Prototypes/InventoryTemplates/aghost_inventory_template.yml b/Resources/Prototypes/InventoryTemplates/aghost_inventory_template.yml index b34378c39d5..6252ad8e993 100644 --- a/Resources/Prototypes/InventoryTemplates/aghost_inventory_template.yml +++ b/Resources/Prototypes/InventoryTemplates/aghost_inventory_template.yml @@ -1,4 +1,4 @@ -- type: inventoryTemplate +- type: inventoryTemplate id: aghost slots: - name: back @@ -9,11 +9,25 @@ uiWindowPos: 2,1 strippingWindowPos: 2,4 displayName: ID + - name: id + slotTexture: id + slotFlags: IDCARD + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 2,2 + strippingWindowPos: 2,3 + displayName: ID # For drip reasons. - name: head slotTexture: head slotFlags: HEAD - uiWindowPos: 0,1 + uiWindowPos: 0,2 strippingWindowPos: 0,0 displayName: Head + - name: mask + slotTexture: mask + slotFlags: MASK + uiWindowPos: 0,1 + strippingWindowPos: 1,1 + displayName: Mask diff --git a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml index c421ee8c5d0..b6351eb7390 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml @@ -326,6 +326,7 @@ id: MobAghostGear equipment: back: ClothingBackpackSatchelHoldingAdmin + id: AdminPDA #Head Rev Gear - type: startingGear From 514f59ff55ecb1ef9013d0bdfb67c622fd178483 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:42:43 +0000 Subject: [PATCH 031/345] Automatic changelog update (cherry picked from commit 43f900992b7629d0eb8c6341bcd9664cab63b265) --- Resources/Changelog/Changelog.yml | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 80021bbfbdf..f3837b6822a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,18 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed ammo boxes visually - type: Tweak - id: 5491 - time: '2023-12-31T02:13:07.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23180 -- author: leonardo-dabepis - changes: - - message: Soap no longer smells like condoms. - type: Tweak - id: 5492 - time: '2023-12-31T07:27:55.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23272 - author: EmoGarbage404 changes: - message: The chemistry guidebook now includes sources for various chemicals! These @@ -3855,3 +3841,18 @@ id: 5990 time: '2024-02-21T06:39:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25153 +- author: takemysoult + changes: + - message: Changed uplink catalog - add syndicate hud to nukeops uplink + type: Tweak + id: 5991 + time: '2024-02-21T06:41:01.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25087 +- author: Sphiral + changes: + - message: Took the AdminPDA from the backpack and gave it it's own slot on aghosts! + Also aghosts can smoke/wear masks now! + type: Tweak + id: 5992 + time: '2024-02-21T06:41:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25402 From 6a10972548f32af16da330054f470f339f285439 Mon Sep 17 00:00:00 2001 From: EdenTheLiznerd <138748328+EdenTheLiznerd@users.noreply.github.com> Date: Tue, 20 Feb 2024 23:42:52 -0700 Subject: [PATCH 032/345] Nerfs normal nettles to be weaker than their deathnettle counterparts (#25177) Had an oopsie! (cherry picked from commit 9674b793f45325af70ec291a50d885289b2c2eaf) --- .../Prototypes/Entities/Objects/Consumable/Food/produce.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index bad194f2e3e..7c6e8601089 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -182,11 +182,11 @@ food: reagents: - ReagentId: Histamine - Quantity: 25 + Quantity: 3 - type: Produce seedId: nettle - type: MeleeChemicalInjector - transferAmount: 6 #To OD someone you would need 2 nettles and about 6-7 hits, the DOT is likely to crit them if they are running away with almost no health + transferAmount: 3 #To OD someone you would need 2 nettles and about 6-7 hits, the DOT is likely to crit them if they are running away with almost no health solution: food pierceArmor: false - type: Extractable From 4cbf1dffc39b472a47f11557531bf4d14d01afa8 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:43:58 +0000 Subject: [PATCH 033/345] Automatic changelog update (cherry picked from commit 41267979f4b8d4c832b68600c46d111190dfc551) --- Resources/Changelog/Changelog.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f3837b6822a..7873d2fb437 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: The chemistry guidebook now includes sources for various chemicals! These - are alternative methods of collection, including grinding, juicing, condensation, - and various others. - type: Add - id: 5493 - time: '2023-12-31T07:35:00.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/22627 - author: noctyrnal changes: - message: RD's suit got a new paint job. @@ -3856,3 +3847,10 @@ id: 5992 time: '2024-02-21T06:41:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25402 +- author: EdenTheLiznerd + changes: + - message: Nettles are now weaker than their deathnettle counterparts + type: Tweak + id: 5993 + time: '2024-02-21T06:42:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25177 From 5f19fc3bb62ac2713a8f6795eca3ffc48ffa7707 Mon Sep 17 00:00:00 2001 From: potato1234_x <79580518+potato1234x@users.noreply.github.com> Date: Wed, 21 Feb 2024 16:49:39 +1000 Subject: [PATCH 034/345] Spaceman's Trumpet and Lily (#25090) * trumpet + lily +polypy * trumbet (cherry picked from commit 33153aaa2e387a221ee26fccbabdceca2fe25672) --- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + .../Locale/en-US/reagents/meta/medicine.ftl | 3 + Resources/Locale/en-US/seeds/seeds.ftl | 4 ++ .../Objects/Consumable/Food/produce.yml | 56 ++++++++++++++++++ .../Objects/Specific/Hydroponics/seeds.yml | 21 +++++++ Resources/Prototypes/Flavors/flavors.yml | 5 ++ Resources/Prototypes/Hydroponics/seeds.yml | 56 ++++++++++++++++++ Resources/Prototypes/Reagents/medicine.yml | 27 +++++++++ .../Specific/Hydroponics/lily.rsi/dead.png | Bin 0 -> 827 bytes .../Specific/Hydroponics/lily.rsi/harvest.png | Bin 0 -> 753 bytes .../Specific/Hydroponics/lily.rsi/meta.json | 32 ++++++++++ .../Specific/Hydroponics/lily.rsi/produce.png | Bin 0 -> 314 bytes .../Specific/Hydroponics/lily.rsi/seed.png | Bin 0 -> 302 bytes .../Specific/Hydroponics/lily.rsi/stage-1.png | Bin 0 -> 658 bytes .../Specific/Hydroponics/lily.rsi/stage-2.png | Bin 0 -> 682 bytes .../Specific/Hydroponics/lily.rsi/stage-3.png | Bin 0 -> 727 bytes .../spacemans_trumpet.rsi/dead.png | Bin 0 -> 699 bytes .../spacemans_trumpet.rsi/harvest.png | Bin 0 -> 704 bytes .../spacemans_trumpet.rsi/meta.json | 35 +++++++++++ .../spacemans_trumpet.rsi/produce.png | Bin 0 -> 346 bytes .../spacemans_trumpet.rsi/seed.png | Bin 0 -> 282 bytes .../spacemans_trumpet.rsi/stage-1.png | Bin 0 -> 572 bytes .../spacemans_trumpet.rsi/stage-2.png | Bin 0 -> 602 bytes .../spacemans_trumpet.rsi/stage-3.png | Bin 0 -> 622 bytes .../spacemans_trumpet.rsi/stage-4.png | Bin 0 -> 662 bytes 25 files changed, 240 insertions(+) create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/dead.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/harvest.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/produce.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/seed.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-1.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-2.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-3.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/dead.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/harvest.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/produce.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/seed.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-1.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-2.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-3.png create mode 100644 Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-4.png diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index 3ff86e38752..f2bbd60bed4 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -167,6 +167,7 @@ flavor-complex-lost-friendship = like lost friendship flavor-complex-light = like a light gone out flavor-complex-profits = like profits flavor-complex-fishops = like the dreaded fishops +flavor-complex-violets = like violets # Drink-specific flavors. diff --git a/Resources/Locale/en-US/reagents/meta/medicine.ftl b/Resources/Locale/en-US/reagents/meta/medicine.ftl index e208b9a8e40..e02d428082f 100644 --- a/Resources/Locale/en-US/reagents/meta/medicine.ftl +++ b/Resources/Locale/en-US/reagents/meta/medicine.ftl @@ -52,6 +52,9 @@ reagent-desc-barozine = A potent chemical that prevents pressure damage. Causes reagent-name-phalanximine = phalanximine reagent-desc-phalanximine = An advanced chemical used in the treatment of cancer. Causes moderate radiation poisoning on organics and vomiting. Can potentially remove the death gene on plants. +reagent-name-polypyrylium-oligomers = Polypyrylium Oligomers +reagent-desc-polypyrylium-oligomers = A purple mixture of short polyelectrolyte chains not easily synthesized in the laboratory. Heals asphyxiation and brute damage. Stops bleeding over time. + reagent-name-ambuzol = ambuzol reagent-desc-ambuzol = A highly engineered substance able to halt the progression of a zombie infection. diff --git a/Resources/Locale/en-US/seeds/seeds.ftl b/Resources/Locale/en-US/seeds/seeds.ftl index dca67fa04c4..b3983782883 100644 --- a/Resources/Locale/en-US/seeds/seeds.ftl +++ b/Resources/Locale/en-US/seeds/seeds.ftl @@ -73,6 +73,8 @@ seeds-aloe-name = aloe seeds-aloe-display-name = aloe seeds-laughin-pea-name = laughin' peas seeds-laughin-pea-display-name = laughin' peas +seeds-lily-name = lily +seeds-lily-display-name = lily seeds-lingzhi-name = lingzhi seeds-lingzhi-display-name = lingzhi seeds-ambrosiavulgaris-name = ambrosia vulgaris @@ -89,6 +91,8 @@ seeds-rice-name = rice seeds-rice-display-name = rice stalks seeds-soybeans-name = soybeans seeds-soybeans-display-name = soy plant +seeds-spacemans-trumpet-name = spaceman's trumpet +seeds-spacemans-trumpet-display-name = spaceman's trumpet plant seeds-koibean-name = koibeans seeds-koibean-display-name = koibean plant seeds-watermelon-name = watermelon diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 7c6e8601089..fd2fddb8a0e 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -1209,6 +1209,34 @@ tags: - Flower # TODO add "RedFlower" or "Poppy" tag, when other color flowers will be +- type: entity + name: lily + parent: FoodPoppy + id: FoodLily + description: A beautiful orange flower. + components: + - type: FlavorProfile + flavors: + - medicine + - type: SolutionContainerManager + solutions: + food: + maxVol: 22 + reagents: + - ReagentId: Nutriment + Quantity: 2 + - ReagentId: Bicaridine + Quantity: 20 + - type: Sprite + sprite: Objects/Specific/Hydroponics/lily.rsi + - type: Produce + seedId: lily + - type: Extractable + grindableSolutionName: food + - type: Tag + tags: + - Flower + - type: entity name: lingzhi parent: FoodProduceBase @@ -1432,6 +1460,34 @@ - ReagentId: MilkSoy Quantity: 5 +- type: entity + name: spaceman's trumpet + description: A vivid flower that smells faintly of freshly cut grass. Touching the flower seems to stain the skin some time after contact, yet most other surfaces seem to be unaffected by this phenomenon. + id: FoodSpacemansTrumpet + parent: FoodProduceBase + components: + - type: FlavorProfile + flavors: + - violets + - type: Sprite + sprite: Objects/Specific/Hydroponics/spacemans_trumpet.rsi + - type: SolutionContainerManager + solutions: + food: + maxVol: 4 + reagents: + - ReagentId: Nutriment + Quantity: 1 + - ReagentId: PolypyryliumOligomers + Quantity: 3 + - type: Produce + seedId: spacemansTrumpet + - type: Tag + tags: + - Flower + - type: Instrument #hehe trumpet + program: 56 + - type: entity name: koibean description: These beans seem a little bit fishy. diff --git a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml index affdc79defa..2b232d643d3 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml @@ -351,6 +351,17 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/poppy.rsi +- type: entity + parent: SeedBase + name: packet of lily seeds + description: "These seeds grow into lilies." + id: LilySeeds + components: + - type: Seed + seedId: lily + - type: Sprite + sprite: Objects/Specific/Hydroponics/lily.rsi + - type: entity parent: SeedBase name: packet of lingzhi spores @@ -448,6 +459,16 @@ - type: Sprite sprite: Objects/Specific/Hydroponics/soybeans.rsi +- type: entity + parent: SeedBase + name: packet of spaceman's trumpet seeds + id: SpacemansTrumpetSeeds + components: + - type: Seed + seedId: spacemansTrumpet + - type: Sprite + sprite: Objects/Specific/Hydroponics/spacemans_trumpet.rsi + - type: entity parent: SeedBase name: packet of koibean seeds diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index bd22844e63b..07b6e8db0a8 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -1003,3 +1003,8 @@ id: fishops flavorType: Complex description: flavor-complex-fishops + +- type: flavor + id: violets + flavorType: Complex + description: flavor-complex-violets diff --git a/Resources/Prototypes/Hydroponics/seeds.yml b/Resources/Prototypes/Hydroponics/seeds.yml index 649ffa85224..c46531fce75 100644 --- a/Resources/Prototypes/Hydroponics/seeds.yml +++ b/Resources/Prototypes/Hydroponics/seeds.yml @@ -933,6 +933,8 @@ packetPrototype: PoppySeeds productPrototypes: - FoodPoppy + mutationPrototypes: + - lily lifespan: 25 maturation: 10 production: 3 @@ -976,6 +978,34 @@ Max: 10 PotencyDivisor: 10 +- type: seed + id: lily + name: seeds-lily-name + noun: seeds-noun-seeds + displayName: seeds-lily-display-name + plantRsi: Objects/Specific/Hydroponics/lily.rsi + packetPrototype: LilySeeds + productPrototypes: + - FoodLily + mutationPrototypes: + - spacemansTrumpet + lifespan: 25 + maturation: 10 + production: 3 + yield: 3 + potency: 10 + growthStages: 3 + waterConsumption: 0.60 + chemicals: + Nutriment: + Min: 1 + Max: 2 + Potencydivisor: 50 + Bicaridine: + Min: 1 + Max: 20 + PotencyDivisor: 5 + - type: seed id: lingzhi name: seeds-lingzhi-name @@ -1204,6 +1234,32 @@ Max: 2 PotencyDivisor: 50 +- type: seed + id: spacemansTrumpet + name: seeds-spacemans-trumpet-name + noun: seeds-noun-seeds + displayName: seeds-spacemans-trumpet-display-name + plantRsi: Objects/Specific/Hydroponics/spacemans_trumpet.rsi + packetPrototype: SpacemansTrumpetSeeds + productPrototypes: + - FoodSpacemansTrumpet + growthStages: 4 + lifespan: 20 + maturation: 14 + production: 3 + yield: 2 + potency: 10 + waterConsumption: 0.60 + chemicals: + Nutriment: + Min: 1 + Max: 5 + Potencydivisor: 50 + PolypyryliumOligomers: + Min: 1 + Max: 15 + PotencyDivisor: 5 + - type: seed id: koibean name: seeds-koibean-name diff --git a/Resources/Prototypes/Reagents/medicine.yml b/Resources/Prototypes/Reagents/medicine.yml index c2a3353079c..b3b5bcebb31 100644 --- a/Resources/Prototypes/Reagents/medicine.yml +++ b/Resources/Prototypes/Reagents/medicine.yml @@ -574,6 +574,33 @@ - !type:ChemVomit probability: 0.05 +- type: reagent + id: PolypyryliumOligomers + name: reagent-name-polypyrylium-oligomers + group: Medicine + desc: reagent-desc-polypyrylium-oligomers + physicalDesc: reagent-physical-desc-pungent + flavor: violets + color: "#9423FF" + metabolisms: + Medicine: + effects: + - !type:HealthChange + damage: + groups: + Brute: -3.5 + types: + Asphyxiation: -2.5 + - !type:HealthChange + conditions: + - !type:ReagentThreshold + min: 30 + damage: + types: + Asphyxiation: 3.5 + - !type:ModifyBleedAmount + amount: -0.25 + - type: reagent id: Ambuzol name: reagent-name-ambuzol diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/dead.png new file mode 100644 index 0000000000000000000000000000000000000000..849b4242b4e3c9a12566fd21cea480d2edd732bc GIT binary patch literal 827 zcmV-B1H}A^P)EX>4Tx04R}tkv&MmKpe$i)0T=<9NIy}AwzYtAS&XhRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRR-^Y&AJOTXAz?I(iR~x|0C+YRJ z7CQp^w}Ff6wx;X>mpj0~lOdb3EBR>(g#z$?M&FbJBDX;An%7%vAEysMhPq1K00)P_ zXpyqlyS%%nv$ucGwEFu2_@8oila(vO00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru<^lv09wU)0#f$&|02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009$8L_t(o!|j$a&ch%Kg&$QV-zf)R^GUL0;{xrr~3 z$#-I+ONr8|zy2f;TD9?lkP@E#>Dd7MdYG+0gb)${#26tWP*u}BYwvx^Yu9zDnQ*Q? zi{JOjTATX5PvbbI!z&LVJXF0*!dknTh^a+p7zTLn0RTjV7$cl>|DJ!XNCyCB(X}Kl zHN<0#AR-XaY|ypcajAhnSDjlkC(*67dKX;v)n*n>!kny002ovPDHLk FV1iQyX|(_V literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/harvest.png new file mode 100644 index 0000000000000000000000000000000000000000..750707d5dc97aadbf75ff145a0aa0a93c6461028 GIT binary patch literal 753 zcmV4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)103=XMR7L-l7xsk!-gp3%l$1tBMgRZ+Yiny| zo;m=4003+Nz`(!&003IoYj^+v01R|ePE-H?|NsC0|NsC0{{Rx-&dvY;010qNS#tmY z3ljhU3ljkVnw%H_007NNL_t(IPvwvS5`!=Z1OsXV=Kufgk)Q(8_5-~UJAv(Sv5lmL zv(=*vv_@o)A5EEV#6--INH8YE+s+)eB*2Jce{BHBdkG)|KYW0Z#k>Wv zcM9Ny-NhRP=z?jU7Y7wp=Eon(z$8?=pG;+i4jHNvhzNAS%L*p5VJa)2=ns{Us9yjQ z*7*(S{5Q%nL@hwO2%^tR6uARNL;7g|?zwtPmjmjQzCOcjU2+GDhN%inGIE7n609mY j3gEv%8Tg>T0LFL&jh-hm*$=|q00000NkvXXu0mjfOx{u2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/meta.json b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/meta.json new file mode 100644 index 00000000000..ddbda4f0afc --- /dev/null +++ b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/meta.json @@ -0,0 +1,32 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a seed modified by potato1234_X (github) for ss14", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "dead" + }, + { + "name": "harvest" + }, + { + "name": "produce" + }, + { + "name": "seed" + }, + { + "name": "stage-1" + }, + { + "name": "stage-2" + }, + { + "name": "stage-3" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/produce.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/produce.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8378696377a8cdc58368f3321a1609f91ab3fa GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil&0(?ST|4$YF*2-|Nf}w$-VOG>0H#fH_Q>J8RX9MMdAf7`s2S{<11o;L3 zhXIC7XLQa3ML7#RB8wRq_zr_G9{v-Tb9j`l z6}s}xW$vl(rr&6?d%@fm$H-uIbW`SR9j~Q=QOpjWvS-RZ@vOY$xu%&hVrSv{$NJOj z-+r_#f9K2bo^f;Jtd5W)rN{3qRJbLow0F^TkN+!`kE?Md&u@O#N_##Iwr u3ZAhWbc+6G%(9KOZ1sEKCjTJlFQcuEJli3z7E7Sh7(8A5T-G@yGywp9sB_Bz literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/seed.png new file mode 100644 index 0000000000000000000000000000000000000000..2399c2e9b0b2d7794365f278ef2ed152c0301166 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCilo1AIbU{mLt9_U@Z``}UNVZ?b32{y$axTPwr83Wixxd)(aIva_>+3V~o& z@NP*U#aj~O7yKUyFxb9OY6D7e7I;J!GcfQS24TkI`72U@g5{nrjv*HQZ_h{aH7M}7 z24-nmZ214xYw4-WB6l06%Ln->w0yeAAH~2lw>xK%;*1r#ZjJseH3G e_g@F?RCZH)O}ol9v(^Efz~JfX=d#Wzp$PyD7jG;8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-1.png new file mode 100644 index 0000000000000000000000000000000000000000..1e582f92314f1f34a0f72b29de6821956f6b2b7d GIT binary patch literal 658 zcmV;D0&V??P)EX>4Tx04R}tkv&MmKpe$i)0T=<9NIy}AwzYtAS&XhRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRR-^Y&AJOTXAz?I(iR~x|0C+YRJ z7CQp^w}Ff6wx;X>mpj0~lOdb3EBR>(g#z$?M&FbJBDX;An%7%vAEysMhPq1K00)P_ zXpyqlyS%%nv$ucGwEFu2_@8oila(vO00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru<^lv09Rl`gh7kY&02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{003%9L_t(o!((6=1*2dTjDk@x3Pu5`pn>6k>O8Ce)H05V z98I&&9b=%DBS>>V4g=iM*^j8>2&RFKQPLgohJk@W1Q8YVb-)w`Mihr2^XUnwnG49u shRBI=;2hDwFur+#8UO$Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-2.png new file mode 100644 index 0000000000000000000000000000000000000000..090715f6a01b29d7f7088ae6ade018166d980af5 GIT binary patch literal 682 zcmV;b0#*HqP)EX>4Tx04R}tkv&MmKpe$i)0T=<9NIy}AwzYtAS&XhRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRR-^Y&AJOTXAz?I(iR~x|0C+YRJ z7CQp^w}Ff6wx;X>mpj0~lOdb3EBR>(g#z$?M&FbJBDX;An%7%vAEysMhPq1K00)P_ zXpyqlyS%%nv$ucGwEFu2_@8oila(vO00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru<^lv09TWn+Ge7_U02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004qXL_t(o!|ju?5r7~N1P^Mk8v8M$2#PRc##)FBEyCCy z-V8OAXZX>%%}8MRy9Wp%gnXI^nU+yBS9q;M+E!>J>IDMIqiL^~@YX5n1P%bh6-8fx z8SWu+Klk1Q(>3hcfztHQ?$@sbH0#!O>;ZxZ$vKO58cvnHS^G_!PYC%NC*24v8|*+} Q`Tzg`07*qoM6N<$f;8VDiU0rr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/lily.rsi/stage-3.png new file mode 100644 index 0000000000000000000000000000000000000000..edcd8617dc7cc32e437cc7ca19614ddf09bccdbe GIT binary patch literal 727 zcmV;|0x127P)EX>4Tx04R}tkv&MmKpe$i)0T=<9NIy}AwzYtAS&XhRVYG*P%E_RU~=gfG-*gu zTpR`0f`cE6RRR-^Y&AJOTXAz?I(iR~x|0C+YRJ z7CQp^w}Ff6wx;X>mpj0~lOdb3EBR>(g#z$?M&FbJBDX;An%7%vAEysMhPq1K00)P_ zXpyqlyS%%nv$ucGwEFu2_@8oila(vO00006VoOIv0RI600RN!9r;`8x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru<^lv09WXw=*O34K02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{006H^L_t(o!|ju?4FWL?MSn8GO~W`ybT>qXptHm*sa!Hd z>g-?&I1~aDIV*_-epPaX{e0g648!<$oVLK}a**vzM{cg?waqCp=*n+0Lj+1F@q`Fg z2o?Yt!1DMO+G_gQOQ;tpr_ZAW&c*M})qNy;wtqhXGOu~L{a=LoOdKFDlWqdtn^z)F ziCRD*;u{1UCH|awu43sP$$F0^#wgmxPW2L|z5SufXBft>a|70hL{Sky|9}7h002ov JPDHLkV1j6+H~atq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/dead.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/dead.png new file mode 100644 index 0000000000000000000000000000000000000000..51062192f7ade4ed686616fda0894bea8fb2d0d4 GIT binary patch literal 699 zcmV;s0!00ZP)4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)103lFJR7I_j$ZuAR#2E8eF|W$hSobDGPZL7I7r=E>lQx55i1A%25R^+pKu?7 hbY5}gaG}2d%w9d{CFD?(Lj(W-002ovPDHLkV1hblHm(2w literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/harvest.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/harvest.png new file mode 100644 index 0000000000000000000000000000000000000000..4674a6e36519a732b10e9724346cc76bddaa38b4 GIT binary patch literal 704 zcmV;x0zdtUP)4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)103lFJR7J;(|E^j8Y$LyvBmWFp3=)A7I;J{J zI2m(PCY^IM0002`7nS$`000YgQchF<|NsC0|NsC0{{Tu)0rCI<010qNS#tmY3ljhU z3ljkVnw%H_005v#L_t(IPvwx&4#OY_MMXhd{{Mq_o!S7d-OJu~OcPp8F4Cl5__fgA zXp{>lq)bY9EIxs>6ts`<1Yzed1l1QX)g_)2eVB;=0000gRJ<IRD3qhTpC^(BsOs8nJ`Nzo zT@vIM{2vY&y!;tI0fjjWJR*x382Ao>Fr%o3R|8ORwWo_?h=u>t38%#lDe$gT7T?y@Euc1lMdnConzu>NXi^KNS=CRn3LOI2Q~3rv3&f< zu1ERS)sV}MCUb1>D)vn4)0#a!{LF=uht~cQPZLecc#*qDSRzhocdtSH@3;jMOQ+P< cIcB_NoZ_uCV`5zopr0OLG}*#H0l literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/seed.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/seed.png new file mode 100644 index 0000000000000000000000000000000000000000..86bf711806ad1f7e2f36e742925df6d72b8e5804 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCil21AIbUy(MN&a(T2a^8eP%|2fM0i$m1r7Mu85NCM>x9y@@Pah3%61^x+2@ zz9v87QJym2?1dmlk*=ihkp~m@O<}bcO!AMkY22c4>;b&1^nxJ2!{?;Ge2!ZOawvnR LtDnm{r-UW|0TW?! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-1.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-1.png new file mode 100644 index 0000000000000000000000000000000000000000..65648ac904620485c37cb1db3e7b12c8e9b8b38b GIT binary patch literal 572 zcmV-C0>k}@P)4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)101Qw}R7G=CCQUdQopUq*000MRJW>Dv00eYW zPE-H?{{TQLsq_E<010qNS#tmY3ljhU3ljkVnw%H_001~iL_t(IPh(&v07ex+z^DQU zpuPeO4QK)kjEqng44^7tU}9oGQ-Q940lxxfMgmq~0V6^IGcy2_a0}aPOGpa<0000< KMNUMnLSTYG3Gmkd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-2.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-2.png new file mode 100644 index 0000000000000000000000000000000000000000..f52a3959e1f56db73551a92140eacb5ee54fe3a1 GIT binary patch literal 602 zcmV-g0;T4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)102NS7R7EDDxN82zrYC@V1q9$1u#il+u>b%707*qoM6N<$f{vpGw*UYD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-3.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-3.png new file mode 100644 index 0000000000000000000000000000000000000000..f92f971f4e7cf5b01f3eddbcc5098a20647b5276 GIT binary patch literal 622 zcmV-!0+IcRP)4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)102NS7R7E z9Hf^3000McQchF<|NsC0{{R|G14aM<010qNS#tmY3ljhU3ljkVnw%H_003S|L_t(I zPwkFD3cxT31lMT%|C5_g19gRzLT~MymN?Oc-|!13?+fJvJpdAEL4rt&wBVIIe=dv) z`AQXN2MK8Vl4H&W39344T*!iu=(ZPpp2(0;`Gnwp0BQ3VWB_gr5C8xG07*qo IM6N<$f}Nia$N&HU literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-4.png b/Resources/Textures/Objects/Specific/Hydroponics/spacemans_trumpet.rsi/stage-4.png new file mode 100644 index 0000000000000000000000000000000000000000..3810662df787bc9ccda0d89e9664b0f47b980ae4 GIT binary patch literal 662 zcmV;H0%`q;P)4Tx04UFukxwWDQ5?rVJ60reum|KY2b?G&IkJ=#wJmBF2Q#yFshzRS?B?RA zT$O`A7yk|}&RiW_l~Vqc9G#qqi!^?3R_&%%dG&gqzVCg%z4v{f9b_%r3-^HSt|F87bjY;VxG$D15JUv&b)sGXZNVGvZFiM}#B7dZvucGPagnTex4iJ!LzRuO*6{ zQoN?v&K9hnd#V@KFFG?*N|)Kj7~@P5L&v1RGFkF;%j$^Y5tsdF1%GSckBQ3^*D{tk zMp?ne2>hr&_}#6S?&~ck)kmTF$@kwnpk@ocHhur|(D%QNpz0AWoRWX#00!Sh-z;hE z`_Q-!XO|_-+=lZFXnx2Ut`SI8GPQIXUQgtklF)Pwb#ukue)c)OgK6n%;tF>6pfe-c z^A+A*Ti)BBXM+BSegpWQa(3X`Fwg)102@$DR7I{?|7;__I;J`jff5W^3{5y0b5tgs zb2I<|03VOSjsO4v33O6UQ~&?}|NsC0{{T}@coF~r010qNS#tmY3ljhU3ljkVnw%H_ z004eTL_t(IPvwx^4uBvCMiuZ+~drZA2}Omf2qg%oaJo^?6AK$5d= zD_&sAM8%Q`v?yGBJ-h+RF9f#p;JKg%t=1}#R&<^I!zi%MIkTP60>=OWzESZ46~$r$ wgjy?1>V-zk)nWsL-rJ=hqlE{A$S(wu4Nwst(g3TGsQ>@~07*qoM6N<$g1{yyK>z>% literal 0 HcmV?d00001 From 90edf45922af8ae2ea7b1d3b9f740e66cc5c8bf1 Mon Sep 17 00:00:00 2001 From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Tue, 20 Feb 2024 23:50:08 -0700 Subject: [PATCH 035/345] Kill blumpkin donut (#25431) (cherry picked from commit c4fc03226e178d0a8d8e4de5295fe2399280f8c3) --- .../Entities/Objects/Consumable/Food/Baked/donut.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml index 9cf32f30b4e..45164b8de62 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml @@ -182,14 +182,14 @@ # Tastes like donut, bitterness. - type: entity - name: blumpkin donut + name: blorbo donut parent: FoodDonutBase id: FoodDonutBlumpkin - description: Goes great with a mug of soothing drunken blumpkin. + description: Goes great with a mug of BLORBO. components: - type: Sprite state: blue -# Tastes like donut, blumpkin. +# Tastes like donut, blorbo. - type: entity name: bungo donut From 9bc8fb51da0e69e5d5dfc267f4fdffca50a32005 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 06:50:45 +0000 Subject: [PATCH 036/345] Automatic changelog update (cherry picked from commit bceae0181987136c06bb4c444fd2157f59af7dc6) --- Resources/Changelog/Changelog.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7873d2fb437..12bf1bb0d96 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: noctyrnal - changes: - - message: RD's suit got a new paint job. - type: Tweak - id: 5494 - time: '2023-12-31T07:36:47.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23131 - author: DangerRevolution changes: - message: Fixed Syndicate Fax Machine not receiving Faxes @@ -3854,3 +3847,14 @@ id: 5993 time: '2024-02-21T06:42:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25177 +- author: potato1234x + changes: + - message: Added spaceman's trumpets which come from mutated lilies and can be ground + up into Polypyrylium Oligomers which are is just slightly better bic. + type: Add + - message: Added lilies which are mutated from poppies and are used to create spaceman's + trumpets. + type: Add + id: 5994 + time: '2024-02-21T06:49:39.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25090 From 192d7b4830fb85b51c4d275aa4d48b9af77628e3 Mon Sep 17 00:00:00 2001 From: FungiFellow <151778459+FungiFellow@users.noreply.github.com> Date: Wed, 21 Feb 2024 00:51:11 -0600 Subject: [PATCH 037/345] Remove Acidifier from Syndie Uplink and Increase Price to 4tc (#25039) * Blacklist Acidifier from Nukie Uplink and Increase Price to 4tc * Removing Category to just disappear it from uplinks while keeping the item? * Price 4, Nukie Uplink Only * Update uplink_catalog.yml * Added one backspace (cherry picked from commit 77e8930a7249f738d27d7a9a1277321010e24cd1) --- Resources/Prototypes/Catalog/uplink_catalog.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 5f821459d46..9105dfe7af2 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -706,10 +706,15 @@ icon: { sprite: /Textures/Objects/Magic/magicactions.rsi, state: gib } productEntity: DeathAcidifierImplanter cost: - Telecrystal: 2 + Telecrystal: 4 categories: - - UplinkImplants - + - UplinkImplants + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - NukeOpsUplink + - type: listing id: UplinkUplinkImplanter # uplink uplink real name: uplink-uplink-implanter-name From 6757f63a90993f754cc659ecbc5e1bf9794b1f9e Mon Sep 17 00:00:00 2001 From: dffdff2423 <57052305+dffdff2423@users.noreply.github.com> Date: Wed, 21 Feb 2024 00:52:03 -0600 Subject: [PATCH 038/345] Add option for admins to disable bwoink (#25008) * Add option for admins to disable bwoink In a vain attempt to get people to ahelp more, provide the possibility for admins to not play the bwoink sound if they don't want to scare the player. * Add silent indicator to discord relay * Use string interpolation (cherry picked from commit a3c93b0bd7478c0f75daaa2f7d0bd8b88565b27e) --- .../Administration/Systems/BwoinkSystem.cs | 4 +-- .../UI/Bwoink/BwoinkControl.xaml | 2 ++ .../Systems/Bwoink/AHelpUIController.cs | 14 ++++----- .../Administration/Systems/BwoinkSystem.cs | 29 ++++++++++++------- .../Administration/SharedBwoinkSystem.cs | 5 +++- .../Locale/en-US/administration/bwoink.ftl | 2 ++ 6 files changed, 35 insertions(+), 21 deletions(-) diff --git a/Content.Client/Administration/Systems/BwoinkSystem.cs b/Content.Client/Administration/Systems/BwoinkSystem.cs index eafd40cc9c3..5166dc8416b 100644 --- a/Content.Client/Administration/Systems/BwoinkSystem.cs +++ b/Content.Client/Administration/Systems/BwoinkSystem.cs @@ -19,11 +19,11 @@ protected override void OnBwoinkTextMessage(BwoinkTextMessage message, EntitySes OnBwoinkTextMessageRecieved?.Invoke(this, message); } - public void Send(NetUserId channelId, string text) + public void Send(NetUserId channelId, string text, bool playSound) { // Reuse the channel ID as the 'true sender'. // Server will ignore this and if someone makes it not ignore this (which is bad, allows impersonation!!!), that will help. - RaiseNetworkEvent(new BwoinkTextMessage(channelId, channelId, text)); + RaiseNetworkEvent(new BwoinkTextMessage(channelId, channelId, text, playSound: playSound)); SendInputTextUpdated(channelId, false); } diff --git a/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml b/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml index e5269c027a9..39ea50edbef 100644 --- a/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml +++ b/Content.Client/Administration/UI/Bwoink/BwoinkControl.xaml @@ -7,6 +7,8 @@ + + [RegisterComponent] -[Access(typeof(HealthAnalyzerSystem))] +[Access(typeof(HealthAnalyzerSystem), typeof(CryoPodSystem))] public sealed partial class HealthAnalyzerComponent : Component { /// diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index 25a47933a84..97ae72bd110 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -30,6 +30,7 @@ using Content.Shared.MedicalScanner; using Content.Shared.Verbs; using Robust.Server.GameObjects; +using Robust.Shared.Containers; using Robust.Shared.Timing; using SharedToolSystem = Content.Shared.Tools.Systems.SharedToolSystem; @@ -71,6 +72,7 @@ public override void Initialize() SubscribeLocalEvent(OnGasAnalyzed); SubscribeLocalEvent(OnActivateUIAttempt); SubscribeLocalEvent(OnActivateUI); + SubscribeLocalEvent(OnEjected); } public override void Update(float frameTime) @@ -187,6 +189,11 @@ private void OnActivateUI(Entity entity, ref AfterActivatableU TryComp(entity.Comp.BodyContainer.ContainedEntity, out var temp); TryComp(entity.Comp.BodyContainer.ContainedEntity, out var bloodstream); + if (TryComp(entity, out var healthAnalyzer)) + { + healthAnalyzer.ScannedEntity = entity.Comp.BodyContainer.ContainedEntity; + } + _userInterfaceSystem.TrySendUiMessage( entity.Owner, HealthAnalyzerUiKey.Key, @@ -282,5 +289,16 @@ private void OnGasAnalyzed(Entity entity, ref GasAnalyzerScanE args.GasMixtures = gasMixDict; } + private void OnEjected(Entity cryoPod, ref EntRemovedFromContainerMessage args) + { + if (TryComp(cryoPod.Owner, out var healthAnalyzer)) + { + healthAnalyzer.ScannedEntity = null; + } + + // if body is ejected - no need to display health-analyzer + _uiSystem.TryCloseAll(cryoPod.Owner, HealthAnalyzerUiKey.Key); + } + #endregion } diff --git a/Resources/Prototypes/Entities/Structures/Machines/Medical/cryo_pod.yml b/Resources/Prototypes/Entities/Structures/Machines/Medical/cryo_pod.yml index f150a3f63b0..6ac969171e0 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Medical/cryo_pod.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Medical/cryo_pod.yml @@ -85,6 +85,8 @@ whitelist: components: - FitsInDispenser + - type: HealthAnalyzer + scanDelay: 0 - type: UserInterface interfaces: - key: enum.HealthAnalyzerUiKey.Key From 9b2bdb7414fe8e9c4649d719e7551b177a0a1b72 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 14:48:29 +0000 Subject: [PATCH 042/345] Automatic changelog update (cherry picked from commit 72acdd5f8d7d07edf8879ca1ab6c252e58cbbe5e) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 236b0f6a17e..270d602428e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: Added 3 new artifact effect. Added 1 new artifact trigger. - type: Add - id: 5497 - time: '2024-01-01T02:19:03.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/22574 - author: Ilya246 changes: - message: Science no longer needs to research medium batteries, and high batteries @@ -3860,3 +3853,10 @@ id: 5996 time: '2024-02-21T06:52:04.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25008 +- author: Fildrance + changes: + - message: now cryo pod health analyzer updates atomatically! + type: Fix + id: 5997 + time: '2024-02-21T14:47:23.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25109 From 38268dcd3fc42258a5916fc39c0946c8c8077a33 Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> Date: Wed, 21 Feb 2024 14:53:12 -0600 Subject: [PATCH 043/345] Adds random pill canister (#25316) Co-authored-by: Jeff (cherry picked from commit 128f5e8625c0354172430e9bce0f4806d80ae4a1) --- .../Objects/Specific/Medical/healing.yml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 3a40d355a4f..a69318672d0 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -717,6 +717,70 @@ - ReagentId: AmbuzolPlus Quantity: 5 +- type: entity + parent: PillCanister + id: PillCanisterRandom + suffix: Random + components: + - type: StorageFill + contents: + - id: PillDexalin + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillDylovene + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillHyronalin + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillIron + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillCopper + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillKelotane + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillDermaline + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillTricordrazine + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillBicaridine + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillCharcoal + prob: 0.10 + maxAmount: 7 + orGroup: RandomPill + - id: PillAmbuzol + prob: 0.075 + maxAmount: 7 + orGroup: RandomPill + - id: PillAmbuzolPlus + prob: 0.075 + maxAmount: 7 + orGroup: RandomPill + - id: PillSpaceDrugs + prob: 0.075 + maxAmount: 7 + orGroup: RandomPill + - id: StrangePill + prob: 0.075 + maxAmount: 7 + orGroup: RandomPill + # Syringes - type: entity name: ephedrine syringe From fd4445253d78fc8b4f031ce35bfb24d7ae7805ca Mon Sep 17 00:00:00 2001 From: keronshb <54602815+keronshb@users.noreply.github.com> Date: Wed, 21 Feb 2024 21:53:46 +0100 Subject: [PATCH 044/345] Moves muted to shared (#25374) * moves muted to shared * fixes usings * Update MutedComponent.cs funny webedit * Update MutedComponent.cs oops using statement webedit (cherry picked from commit 046c874daeb60609d8880fe27617836d37de1a94) --- Content.Server/Abilities/Mime/MimePowersSystem.cs | 5 +++-- Content.Server/Mobs/CritMobActionsSystem.cs | 1 + Content.Server/Mobs/DeathgaspSystem.cs | 1 + Content.Server/Puppet/VentriloquistPuppetSystem.cs | 1 + Content.Server/Speech/Muting/MutedComponent.cs | 6 ------ Content.Server/Speech/Muting/MutingSystem.cs | 1 + Content.Shared/Speech/Muting/MutedComponent.cs | 10 ++++++++++ 7 files changed, 17 insertions(+), 8 deletions(-) delete mode 100644 Content.Server/Speech/Muting/MutedComponent.cs create mode 100644 Content.Shared/Speech/Muting/MutedComponent.cs diff --git a/Content.Server/Abilities/Mime/MimePowersSystem.cs b/Content.Server/Abilities/Mime/MimePowersSystem.cs index cb0206d64f1..c1d2643d6fa 100644 --- a/Content.Server/Abilities/Mime/MimePowersSystem.cs +++ b/Content.Server/Abilities/Mime/MimePowersSystem.cs @@ -10,7 +10,8 @@ using Robust.Shared.Containers; using Robust.Shared.Map; using Robust.Shared.Timing; -using Content.Shared.Abilities.Psionics; //Nyano - Summary: Makes Mime psionic. +using Content.Shared.Abilities.Psionics; //Nyano - Summary: Makes Mime psionic. +using Content.Shared.Speech.Muting; namespace Content.Server.Abilities.Mime { @@ -57,7 +58,7 @@ private void OnComponentInit(EntityUid uid, MimePowersComponent component, Compo EnsureComp(uid); _alertsSystem.ShowAlert(uid, AlertType.VowOfSilence); _actionsSystem.AddAction(uid, ref component.InvisibleWallActionEntity, component.InvisibleWallAction, uid); - //Nyano - Summary: Add Psionic Ability to Mime. + //Nyano - Summary: Add Psionic Ability to Mime. if (TryComp(uid, out var psionic) && psionic.PsionicAbility == null) psionic.PsionicAbility = component.InvisibleWallActionEntity; } diff --git a/Content.Server/Mobs/CritMobActionsSystem.cs b/Content.Server/Mobs/CritMobActionsSystem.cs index 8dd8274d102..c897102dca7 100644 --- a/Content.Server/Mobs/CritMobActionsSystem.cs +++ b/Content.Server/Mobs/CritMobActionsSystem.cs @@ -7,6 +7,7 @@ using Content.Shared.Mobs.Systems; using Robust.Server.Console; using Robust.Shared.Player; +using Content.Shared.Speech.Muting; namespace Content.Server.Mobs; diff --git a/Content.Server/Mobs/DeathgaspSystem.cs b/Content.Server/Mobs/DeathgaspSystem.cs index 3919d9a4be5..c531784ea69 100644 --- a/Content.Server/Mobs/DeathgaspSystem.cs +++ b/Content.Server/Mobs/DeathgaspSystem.cs @@ -1,6 +1,7 @@ using Content.Server.Chat.Systems; using Content.Server.Speech.Muting; using Content.Shared.Mobs; +using Content.Shared.Speech.Muting; using Robust.Shared.Prototypes; namespace Content.Server.Mobs; diff --git a/Content.Server/Puppet/VentriloquistPuppetSystem.cs b/Content.Server/Puppet/VentriloquistPuppetSystem.cs index 68d660fd1ba..3e15a1a06cc 100644 --- a/Content.Server/Puppet/VentriloquistPuppetSystem.cs +++ b/Content.Server/Puppet/VentriloquistPuppetSystem.cs @@ -5,6 +5,7 @@ using Content.Server.Speech.Muting; using Content.Shared.CombatMode; using Content.Shared.Hands; +using Content.Shared.Speech.Muting; namespace Content.Server.Puppet { diff --git a/Content.Server/Speech/Muting/MutedComponent.cs b/Content.Server/Speech/Muting/MutedComponent.cs deleted file mode 100644 index 5b3ae83992b..00000000000 --- a/Content.Server/Speech/Muting/MutedComponent.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace Content.Server.Speech.Muting -{ - [RegisterComponent] - public sealed partial class MutedComponent : Component - {} -} diff --git a/Content.Server/Speech/Muting/MutingSystem.cs b/Content.Server/Speech/Muting/MutingSystem.cs index b743d9eda85..238d501e249 100644 --- a/Content.Server/Speech/Muting/MutingSystem.cs +++ b/Content.Server/Speech/Muting/MutingSystem.cs @@ -6,6 +6,7 @@ using Content.Shared.Chat.Prototypes; using Content.Shared.Puppet; using Content.Shared.Speech; +using Content.Shared.Speech.Muting; namespace Content.Server.Speech.Muting { diff --git a/Content.Shared/Speech/Muting/MutedComponent.cs b/Content.Shared/Speech/Muting/MutedComponent.cs new file mode 100644 index 00000000000..46e5f2cbd84 --- /dev/null +++ b/Content.Shared/Speech/Muting/MutedComponent.cs @@ -0,0 +1,10 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Speech.Muting +{ + [RegisterComponent, NetworkedComponent] + public sealed partial class MutedComponent : Component + { + + } +} From 9516ab5794ca0f2c560b5f23990e155dfce31936 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Thu, 22 Feb 2024 09:14:57 +1100 Subject: [PATCH 045/345] Fix bwoink sounds (#25441) * Fix bwoink sounds Didn't get a chance to test with 2 clients as I'm about to sleep but otherwise I'll check tomorrow. * a (cherry picked from commit 79c6385ca7d1b42263e154dc1dad4fe912ac0bbf) --- Content.Server/Administration/Systems/BwoinkSystem.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Content.Server/Administration/Systems/BwoinkSystem.cs b/Content.Server/Administration/Systems/BwoinkSystem.cs index ffbe2e5ed6f..2e236688ac3 100644 --- a/Content.Server/Administration/Systems/BwoinkSystem.cs +++ b/Content.Server/Administration/Systems/BwoinkSystem.cs @@ -72,7 +72,7 @@ public override void Initialize() Subs.CVar(_config, CVars.GameHostName, OnServerNameChanged, true); Subs.CVar(_config, CCVars.AdminAhelpOverrideClientName, OnOverrideChanged, true); _sawmill = IoCManager.Resolve().GetSawmill("AHELP"); - _maxAdditionalChars = GenerateAHelpMessage("", "", true, _gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel, false).Length; + _maxAdditionalChars = GenerateAHelpMessage("", "", true, _gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel, playedSound: false).Length; _playerManager.PlayerStatusChanged += OnPlayerStatusChanged; SubscribeLocalEvent(OnGameRunLevelChanged); @@ -411,7 +411,8 @@ protected override void OnBwoinkTextMessage(BwoinkTextMessage message, EntitySes bwoinkText = $"{(message.PlaySound ? "" : "(S) ")}{bwoinkText}: {escapedText}"; - var playSound = senderAHelpAdmin && message.PlaySound; + // If it's not an admin / admin chooses to keep the sound then play it. + var playSound = !senderAHelpAdmin || message.PlaySound; var msg = new BwoinkTextMessage(message.UserId, senderSession.UserId, bwoinkText, playSound: playSound); LogBwoink(msg); @@ -470,7 +471,7 @@ protected override void OnBwoinkTextMessage(BwoinkTextMessage message, EntitySes str = str[..(DescriptionMax - _maxAdditionalChars - unameLength)]; } var nonAfkAdmins = GetNonAfkAdmins(); - _messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(senderSession.Name, str, !personalChannel, _gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel, playSound, nonAfkAdmins.Count == 0)); + _messageQueues[msg.UserId].Enqueue(GenerateAHelpMessage(senderSession.Name, str, !personalChannel, _gameTicker.RoundDuration().ToString("hh\\:mm\\:ss"), _gameTicker.RunLevel, playedSound: playSound, noReceivers: nonAfkAdmins.Count == 0)); } if (admins.Count != 0 || sendsWebhook) From 0cb350557345ed809600e4f18b521513cf8e2334 Mon Sep 17 00:00:00 2001 From: MjrLandWhale Date: Wed, 21 Feb 2024 17:26:28 -0600 Subject: [PATCH 046/345] Dispenser jug fix (#25450) * Resprite of Nettle & Death Nettle. Corrected R & L hand locations for all orientations of both plants. * Removes chemdispensible type from DrinkBase entity * Updated drink jug names to differentiate from chem jugs * Add FitsInDispenser type to DrinkGlassBase. Re-allows glasses into beaker slots (cherry picked from commit 499aa71b5e8a112195df70cef2194fbb3ae3ec0c) --- .../Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml | 4 ++-- .../Entities/Objects/Consumable/Drinks/drinks_bottles.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml index 935e5eeb9e1..33646b50bbe 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks.yml @@ -23,8 +23,6 @@ Blunt: 0 - type: Spillable solution: drink - - type: FitsInDispenser - solution: drink - type: DrawableSolution solution: drink - type: RefillableSolution @@ -76,6 +74,8 @@ Glass: 25 - type: ExaminableSolution solution: drink + - type: FitsInDispenser + solution: drink # Transformable container - normal glass - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml index 0119fab5316..07828ff5ba5 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles.yml @@ -713,7 +713,7 @@ - type: entity parent: DrinkBottlePlasticBaseFull id: DrinkSugarJug - name: sugar + name: sugar jug suffix: for drinks description: some people put this in their coffee... components: @@ -729,7 +729,7 @@ - type: entity parent: DrinkBottlePlasticBaseFull id: DrinkLemonLimeJug - name: lemon lime + name: lemon lime jug description: a dual citrus sensation. components: - type: SolutionContainerManager From 0c47e0d3a1f73c30609f8ed02be6ea2cb4abb067 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 23:27:34 +0000 Subject: [PATCH 047/345] Automatic changelog update (cherry picked from commit abedce43cc53229af9986c0439c3786d6064ef28) --- Resources/Changelog/Changelog.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 270d602428e..7d94cd31aa1 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Ilya246 - changes: - - message: Science no longer needs to research medium batteries, and high batteries - are now T1. - type: Tweak - id: 5498 - time: '2024-01-01T02:24:13.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23269 - author: Rainfey changes: - message: Ensure correct number of thieves @@ -3860,3 +3852,13 @@ id: 5997 time: '2024-02-21T14:47:23.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25109 +- author: landwhale + changes: + - message: Drink jugs can no longer be used by chemistry in place of a beaker. + type: Fix + - message: Updated names of several drink jugs to differentiate them from chem-specific + variants. + type: Tweak + id: 5998 + time: '2024-02-21T23:26:29.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25450 From d061c8f1e84a8ba96793e9168fd465cc89871270 Mon Sep 17 00:00:00 2001 From: Killerqu00 <47712032+Killerqu00@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:41:26 +0100 Subject: [PATCH 048/345] Fix EVA helmets quickequip (#25448) fix quickequip (cherry picked from commit ae110685ff6e1a8c49ec0100fa2b19c814de6a5c) --- .../Prototypes/Entities/Clothing/Head/base_clothinghead.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index 9edffcb8f24..2d2d11524f5 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -131,8 +131,6 @@ #Copies ClothingHeadHardsuitBase behavior equipSound: /Audio/Mecha/mechmove03.ogg unequipSound: /Audio/Mecha/mechmove03.ogg - quickEquip: false - slots: [ HEAD ] - type: Tag tags: - HidesHair From 9ba8fda560e87ab004d45e432618f0c8cff7a66d Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 21 Feb 2024 23:42:32 +0000 Subject: [PATCH 049/345] Automatic changelog update (cherry picked from commit 2cc484c18a6f0d66fd1829c521c8377dfd8fad9e) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7d94cd31aa1..ae6b04f698b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Rainfey - changes: - - message: Ensure correct number of thieves - type: Fix - id: 5499 - time: '2024-01-01T02:25:28.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23270 - author: icekot8 changes: - message: 2 new effects for artifact @@ -3862,3 +3855,10 @@ id: 5998 time: '2024-02-21T23:26:29.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25450 +- author: Killerqu00 + changes: + - message: EVA helmets are now quick-equippable again + type: Fix + id: 5999 + time: '2024-02-21T23:41:26.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25448 From 6d902b62a6020826c004ab23d8fdef12e038d412 Mon Sep 17 00:00:00 2001 From: genderGeometries <159584039+genderGeometries@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:19:50 -0500 Subject: [PATCH 050/345] Crop harvest int cast fix (#25453) * deleted int cast on solution amount * deleted int cast on solution amount for real (cherry picked from commit 1360d57eea3938ee61899e03f0b5e2aefd425ea9) --- Content.Server/Botany/Systems/BotanySystem.Produce.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Botany/Systems/BotanySystem.Produce.cs b/Content.Server/Botany/Systems/BotanySystem.Produce.cs index 788c09821b2..e309fb47720 100644 --- a/Content.Server/Botany/Systems/BotanySystem.Produce.cs +++ b/Content.Server/Botany/Systems/BotanySystem.Produce.cs @@ -18,7 +18,7 @@ public void ProduceGrown(EntityUid uid, ProduceComponent produce) var amount = FixedPoint2.New(quantity.Min); if (quantity.PotencyDivisor > 0 && seed.Potency > 0) amount += FixedPoint2.New(seed.Potency / quantity.PotencyDivisor); - amount = FixedPoint2.New((int) MathHelper.Clamp(amount.Float(), quantity.Min, quantity.Max)); + amount = FixedPoint2.New(MathHelper.Clamp(amount.Float(), quantity.Min, quantity.Max)); solutionContainer.MaxVolume += amount; solutionContainer.AddReagent(chem, amount); } From 85f003da2ff018afdb42d68b6ad6c685af5edb71 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 00:20:56 +0000 Subject: [PATCH 051/345] Automatic changelog update (cherry picked from commit fda1242b37c3218742197e1d3f17e72c6c8ddbb9) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ae6b04f698b..dc42edfb32d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: icekot8 - changes: - - message: 2 new effects for artifact - type: Add - id: 5500 - time: '2024-01-01T06:40:49.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23295 - author: TheShuEd changes: - message: Tesla coils now have a 50% chance of not attracting lightning. Installing @@ -3862,3 +3855,10 @@ id: 5999 time: '2024-02-21T23:41:26.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25448 +- author: genderGeometries + changes: + - message: Crops are now harvested with decimal amounts of nutriment, vitamin, etc. + type: Fix + id: 6000 + time: '2024-02-22T00:19:50.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25453 From b4dc5351fbf65aef85f59c32a29dcfeda7fcb623 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:44:22 +0100 Subject: [PATCH 052/345] Little rework of existing yaml flatpacks (#24814) * Little rework of existing yaml flatpacks * comit 2 * 55 * 66 * 77 * WRAAAA * done mr sloth * Update flatpack.yml * fix?? (cherry picked from commit 326b89031809a88c7c6a0a5ecb2b1b2a23b082f1) --- Resources/Migrations/migration.yml | 5 +++ .../Catalog/Cargo/cargo_engines.yml | 4 +-- .../Catalog/Fills/Crates/engines.yml | 4 +-- .../Entities/Objects/Devices/flatpack.yml | 32 ++++++++++++++++++ .../Objects/Power/antimatter_part.yml | 20 ----------- .../Entities/Objects/Power/solar_parts.yml | 13 ------- .../Prototypes/Objectives/objectiveGroups.yml | 2 +- .../Objectives/stealTargetGroups.yml | 6 ++-- Resources/Prototypes/Objectives/thief.yml | 4 +-- Resources/Prototypes/Parallaxes/test.yml | 4 +-- .../Graphs/utilities/ame_shielding.yml | 2 +- .../Graphs/utilities/solarpanel.yml | 8 ++--- .../ServerInfo/Guidebook/Engineering/AME.xml | 2 +- .../flatpack.rsi/ame-part.png} | Bin .../Objects/Devices/flatpack.rsi/meta.json | 8 ++++- .../flatpack.rsi/solar-assembly-part.png} | Bin .../Power/AME/ame_part.rsi/inhand-left.png | Bin 197 -> 0 bytes .../Power/AME/ame_part.rsi/inhand-right.png | Bin 213 -> 0 bytes .../Objects/Power/AME/ame_part.rsi/meta.json | 22 ------------ .../Objects/Power/solar_parts.rsi/meta.json | 14 -------- 20 files changed, 62 insertions(+), 88 deletions(-) delete mode 100644 Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml delete mode 100644 Resources/Prototypes/Entities/Objects/Power/solar_parts.yml rename Resources/Textures/Objects/{Power/AME/ame_part.rsi/box.png => Devices/flatpack.rsi/ame-part.png} (100%) rename Resources/Textures/Objects/{Power/solar_parts.rsi/solar_assembly_parts.png => Devices/flatpack.rsi/solar-assembly-part.png} (100%) delete mode 100644 Resources/Textures/Objects/Power/AME/ame_part.rsi/inhand-left.png delete mode 100644 Resources/Textures/Objects/Power/AME/ame_part.rsi/inhand-right.png delete mode 100644 Resources/Textures/Objects/Power/AME/ame_part.rsi/meta.json delete mode 100644 Resources/Textures/Objects/Power/solar_parts.rsi/meta.json diff --git a/Resources/Migrations/migration.yml b/Resources/Migrations/migration.yml index cec51fb7760..fcc1c21c05c 100644 --- a/Resources/Migrations/migration.yml +++ b/Resources/Migrations/migration.yml @@ -198,3 +198,8 @@ YellowOxygenTankFilled: OxygenTankFilled Drone: null # SpawnMobDrone: null Onestar: null # I dont think this is even mapped, but just in case + +# 2024-02-22 +SolarAssemblyPart: SolarAssemblyFlatpack +AmePart: AmePartFlatpack +AmePartStealObjective: AmePartFlatpackStealObjective diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml index d3d0dcef78c..ece817b746e 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml @@ -63,8 +63,8 @@ - type: cargoProduct id: EngineSolar icon: - sprite: Objects/Power/solar_parts.rsi - state: solar_assembly_parts + sprite: Objects/Devices/flatpack.rsi + state: solar-assembly-part product: CrateEngineeringSolar cost: 500 category: Engineering diff --git a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml index 3129e28b72d..315c4dda2c1 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml @@ -8,7 +8,7 @@ components: - type: StorageFill contents: - - id: AmePart + - id: AmePartFlatpack amount: 9 - type: entity @@ -123,7 +123,7 @@ components: - type: StorageFill contents: - - id: SolarAssemblyPart + - id: SolarAssemblyFlatpack amount: 6 - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml index 39e94018329..5ac66affdfb 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml @@ -35,3 +35,35 @@ cpu_supply: "#A46106" - type: StaticPrice price: 250 + +- type: entity + parent: BaseFlatpack + id: SolarAssemblyFlatpack + name: solar assembly flatpack + description: A flatpack used for constructing a solar assembly. + components: + - type: Flatpack + entity: SolarAssembly + - type: Sprite + layers: + - state: solar-assembly-part + - type: StaticPrice + price: 75 + +- type: entity + parent: BaseFlatpack + id: AmePartFlatpack + name: AME flatpack + description: A flatpack used for constructing an antimatter engine reactor. + components: + - type: Sprite + layers: + - state: ame-part + - type: Flatpack + entity: AmeShielding + - type: StaticPrice + price: 500 + - type: GuideHelp + guides: [ AME, Power ] + - type: StealTarget + stealGroup: AmePartFlatpack diff --git a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml b/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml deleted file mode 100644 index 9aa60140666..00000000000 --- a/Resources/Prototypes/Entities/Objects/Power/antimatter_part.yml +++ /dev/null @@ -1,20 +0,0 @@ -- type: entity - parent: BaseItem - id: AmePart - name: AME flatpack - description: A flatpack used for constructing an antimatter engine reactor. - components: - - type: Item - size: Normal - sprite: Objects/Power/AME/ame_part.rsi - - type: Sprite - sprite: Objects/Power/AME/ame_part.rsi - state: box - - type: Flatpack - entity: AmeShielding - - type: StaticPrice - price: 500 - - type: GuideHelp - guides: [ AME, Power ] - - type: StealTarget - stealGroup: AmePart diff --git a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml b/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml deleted file mode 100644 index de8aef6518a..00000000000 --- a/Resources/Prototypes/Entities/Objects/Power/solar_parts.yml +++ /dev/null @@ -1,13 +0,0 @@ -- type: entity - parent: BaseItem - id: SolarAssemblyPart - name: solar assembly flatpack - description: A flatpack used for constructing a solar assembly. - components: - - type: Item - size: Normal - - type: Flatpack - entity: SolarAssembly - - type: Sprite - sprite: Objects/Power/solar_parts.rsi - state: solar_assembly_parts diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 74094b3a235..59ef96becd2 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -92,7 +92,7 @@ MedicalTechFabCircuitboardStealObjective: 1 ClothingHeadsetAltMedicalStealObjective: 1 FireAxeStealObjective: 1 #eng - AmePartStealObjective: 1 + AmePartFlatpackStealObjective: 1 ExpeditionsCircuitboardStealObjective: 1 #sup CargoShuttleCircuitboardStealObjective: 1 SalvageShuttleCircuitboardStealObjective: 1 diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index c6f6e6c8ca0..028c7c19397 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -215,11 +215,11 @@ state: icon - type: stealTargetGroup - id: AmePart + id: AmePartFlatpack name: AME part sprite: - sprite: Objects/Power/AME/ame_part.rsi - state: box + sprite: Objects/Devices/flatpack.rsi + state: ame-part - type: stealTargetGroup id: SalvageExpeditionsComputerCircuitboard diff --git a/Resources/Prototypes/Objectives/thief.yml b/Resources/Prototypes/Objectives/thief.yml index db1eb3111eb..5ee8bd25d18 100644 --- a/Resources/Prototypes/Objectives/thief.yml +++ b/Resources/Prototypes/Objectives/thief.yml @@ -260,12 +260,12 @@ - type: entity noSpawn: true parent: BaseThiefStealObjective - id: AmePartStealObjective + id: AmePartFlatpackStealObjective components: - type: NotJobRequirement job: StationEngineer - type: StealCondition - stealGroup: AmePart + stealGroup: AmePartFlatpack - type: Objective difficulty: 1 diff --git a/Resources/Prototypes/Parallaxes/test.yml b/Resources/Prototypes/Parallaxes/test.yml index b38182849f2..8a7a6e83107 100644 --- a/Resources/Prototypes/Parallaxes/test.yml +++ b/Resources/Prototypes/Parallaxes/test.yml @@ -17,7 +17,7 @@ scale: "3, 3" - texture: !type:ImageParallaxTextureSource - path: "/Textures/Objects/Power/AME/ame_part.rsi/box.png" + path: "/Textures/Objects/Devices/flatpack.rsi/ame-part.png" slowness: 0.995 tiled: false controlHomePosition: "-128, -128" @@ -38,7 +38,7 @@ scale: "1, 1" - texture: !type:ImageParallaxTextureSource - path: "/Textures/Objects/Power/AME/ame_part.rsi/box.png" + path: "/Textures/Objects/Devices/flatpack.rsi/ame-part.png" slowness: 0.0 tiled: false controlHomePosition: "0, 32" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/ame_shielding.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/ame_shielding.yml index 98a4857be61..cf2bf9aaf7f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/ame_shielding.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/ame_shielding.yml @@ -12,7 +12,7 @@ - !type:AdminLog # I don't like logging it like this. The log should include the user, AMEShielding EntityID, and AMEPart EntityID, and there should also be a start of attempt log. message: "An AME shielding was deconstructed" - !type:SpawnPrototype - prototype: AmePart + prototype: AmePartFlatpack amount: 1 - !type:DeleteEntity steps: diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml index cf6d75f46d8..0914ae46e56 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/solarpanel.yml @@ -6,11 +6,11 @@ edges: - to: solarassembly steps: - - tag: SolarAssemblyPart + - tag: SolarAssemblyFlatpack name: Solar Assembly Parts icon: - sprite: Objects/Power/solar_parts.rsi - state: solar_assembly_parts + sprite: Objects/Devices/flatpack.rsi + state: solar-assembly-part doAfter: 1 - node: solarassembly @@ -19,7 +19,7 @@ - to: start completed: - !type:SpawnPrototype - prototype: SolarAssemblyPart + prototype: SolarAssemblyFlatpack amount: 1 - !type:DeleteEntity {} steps: diff --git a/Resources/ServerInfo/Guidebook/Engineering/AME.xml b/Resources/ServerInfo/Guidebook/Engineering/AME.xml index c150adde31c..ae0217c4b0c 100644 --- a/Resources/ServerInfo/Guidebook/Engineering/AME.xml +++ b/Resources/ServerInfo/Guidebook/Engineering/AME.xml @@ -7,7 +7,7 @@ The AME is one of the simplest engines available. You put together the multi-til Required parts: - + diff --git a/Resources/Textures/Objects/Power/AME/ame_part.rsi/box.png b/Resources/Textures/Objects/Devices/flatpack.rsi/ame-part.png similarity index 100% rename from Resources/Textures/Objects/Power/AME/ame_part.rsi/box.png rename to Resources/Textures/Objects/Devices/flatpack.rsi/ame-part.png diff --git a/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json b/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json index 6381b5c80b3..8e573c2adec 100644 --- a/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json +++ b/Resources/Textures/Objects/Devices/flatpack.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC0-1.0", - "copyright": "Created by EmoGarbage404 (github) for SS14", + "copyright": "Created by EmoGarbage404 (github) for SS14, solar-assembly-part taken from tgstation and modified at https://tgstation13.org/wiki/Guide_to_construction#Solar_Panels_and_Trackers, ame-part taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1b7952787c06c21ef1623e494dcfe7cb1f46e041", "size": { "x": 32, "y": 32 @@ -15,6 +15,12 @@ }, { "name": "icon-default" + }, + { + "name": "solar-assembly-part" + }, + { + "name": "ame-part" } ] } diff --git a/Resources/Textures/Objects/Power/solar_parts.rsi/solar_assembly_parts.png b/Resources/Textures/Objects/Devices/flatpack.rsi/solar-assembly-part.png similarity index 100% rename from Resources/Textures/Objects/Power/solar_parts.rsi/solar_assembly_parts.png rename to Resources/Textures/Objects/Devices/flatpack.rsi/solar-assembly-part.png diff --git a/Resources/Textures/Objects/Power/AME/ame_part.rsi/inhand-left.png b/Resources/Textures/Objects/Power/AME/ame_part.rsi/inhand-left.png deleted file mode 100644 index a45ce6c6938fb01f35cef1f86abbd91f7ef8eb4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=J)SO(Ar*7p-rC4}SV4p(Kq$4_ zo~e36{b7zXj#1?knQkc7mfu$!+f}aP&|UhaW5y&=!Ie`s zt!a75y2k3wsynLs3F_-_Hm=<|{~R+&14F~?s+ih_d>M1*t=AS>=lr&o5e(kOd|Rx* rWRud*ZYH-o`x;&{cW##OV_;Z(FVRN!pRShnB#=f=S3j3^P6V1@9@k z5{Doi>|$1^-(=lMCA|%k>|`+eR_J-qm;Fqw(gatRSrn4UT#4cI$qBPmSc8 zTRJVx@|S0<^Z6K$va63b?~|&0{^>ol-u{Mn)(Ox4%P}Y@J>q0)Rp4d(zgrHZ*VEO{ JWt~$(696HMRa5`~ diff --git a/Resources/Textures/Objects/Power/AME/ame_part.rsi/meta.json b/Resources/Textures/Objects/Power/AME/ame_part.rsi/meta.json deleted file mode 100644 index c36b2d32845..00000000000 --- a/Resources/Textures/Objects/Power/AME/ame_part.rsi/meta.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from vgstation at https://github.com/vgstation-coders/vgstation13/commit/1b7952787c06c21ef1623e494dcfe7cb1f46e041", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "box" - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - } - ] -} diff --git a/Resources/Textures/Objects/Power/solar_parts.rsi/meta.json b/Resources/Textures/Objects/Power/solar_parts.rsi/meta.json deleted file mode 100644 index 5379dae1168..00000000000 --- a/Resources/Textures/Objects/Power/solar_parts.rsi/meta.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified at https://tgstation13.org/wiki/Guide_to_construction#Solar_Panels_and_Trackers", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "solar_assembly_parts" - } - ] -} From 3ee725e2babec675eb4601d9e88dd30946c1aa73 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Wed, 21 Feb 2024 21:54:15 -0500 Subject: [PATCH 053/345] Fix xeno and dragon blood levels (#25442) (cherry picked from commit 26417b76dbcdf83813241e9a4051057eb9817cfa) --- Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml | 3 ++- Resources/Prototypes/Entities/Mobs/Player/dragon.yml | 2 ++ Resources/Prototypes/Reagents/biological.yml | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml index 740277a0d99..d0ac6fc0265 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml @@ -72,6 +72,7 @@ critThreshold: 200 - type: Bloodstream bloodReagent: FluorosulfuricAcid + bloodMaxVolume: 650 - type: MeleeWeapon altDisarm: false angle: 0 @@ -427,7 +428,7 @@ tags: - DoorBumpOpener - FootstepSound - + - type: entity name: space adder parent: MobPurpleSnake diff --git a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml index d188070b269..aa10a631b54 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml @@ -6,6 +6,8 @@ description: A flying leviathan, loosely related to space carps. abstract: true components: + - type: Bloodstream + bloodMaxVolume: 650 - type: GhostRole allowMovement: true allowSpeech: true diff --git a/Resources/Prototypes/Reagents/biological.yml b/Resources/Prototypes/Reagents/biological.yml index 67766f2749f..af6f2557ba1 100644 --- a/Resources/Prototypes/Reagents/biological.yml +++ b/Resources/Prototypes/Reagents/biological.yml @@ -147,6 +147,8 @@ # Dragon doesn't require airloss healing, so omnizine is still best for humans. Medicine: effects: + - !type:ModifyBloodLevel + amount: 3 - !type:HealthChange damage: groups: From b75f13af808d75b94314a477556c072b26270ba4 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 02:55:22 +0000 Subject: [PATCH 054/345] Automatic changelog update (cherry picked from commit 7734b09e459bb5e870055b7e78d58f74805867f8) --- Resources/Changelog/Changelog.yml | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index dc42edfb32d..c2abf788569 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,18 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: Tesla coils now have a 50% chance of not attracting lightning. Installing - ground rods is now much more important! - type: Tweak - - message: Nerf tesla energy producing. - type: Tweak - - message: Now tesla coils are gradually wearing out, taking damage from lightning. - Keep an eye on them and repair them with a welder every 20-30 minutes. Grounding - rods are immune to lightning damage. - type: Add - id: 5501 - time: '2024-01-01T07:33:48.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23235 - author: 778b changes: - message: Fixed appearance of welded airlocks! @@ -3862,3 +3848,12 @@ id: 6000 time: '2024-02-22T00:19:50.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25453 +- author: Whisper + changes: + - message: Dragon ichor when eating restores the dragon's blood. + type: Add + - message: Increased Xenomorph and Dragon blood level to 650u. + type: Tweak + id: 6001 + time: '2024-02-22T02:54:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25442 From 67acf16d1a1e69359d637ab64c44013a62daf034 Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Wed, 21 Feb 2024 23:32:43 -0800 Subject: [PATCH 055/345] Changed radio jammer wattage from 6 -> 2 (#25432) Changed wattage from 6 -> 2 (cherry picked from commit 48213ebb65c149bdbe1f259539f5efd38fe63998) --- Content.Server/Radio/Components/RadioJammerComponent.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Radio/Components/RadioJammerComponent.cs b/Content.Server/Radio/Components/RadioJammerComponent.cs index 69837200ac3..93504ef9573 100644 --- a/Content.Server/Radio/Components/RadioJammerComponent.cs +++ b/Content.Server/Radio/Components/RadioJammerComponent.cs @@ -16,5 +16,5 @@ public sealed partial class RadioJammerComponent : Component /// Power usage per second when enabled /// [DataField("wattage"), ViewVariables(VVAccess.ReadWrite)] - public float Wattage = 6f; + public float Wattage = 2f; } From 082dc4ef5e26fdccfe08954ea98476e5c7ca4f32 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 07:33:49 +0000 Subject: [PATCH 056/345] Automatic changelog update (cherry picked from commit 423b75f22c39b8eb60def1e5aff1879fe2bb06c6) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c2abf788569..6c4d915f20f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: 778b - changes: - - message: Fixed appearance of welded airlocks! - type: Fix - id: 5502 - time: '2024-01-01T07:36:32.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23300 - author: mirrorcult changes: - message: Ambient sounds are now more audible by default (unless you have the audio @@ -3857,3 +3850,10 @@ id: 6001 time: '2024-02-22T02:54:16.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25442 +- author: Beck Thompson + changes: + - message: Radio jammer now uses 3 times less power. + type: Tweak + id: 6002 + time: '2024-02-22T07:32:43.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25432 From 93742c50af0a82b87695882d5a8e56c2cf7aac47 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 11:01:41 +0000 Subject: [PATCH 057/345] Automatic changelog update (cherry picked from commit c27d0c143c9715a6c7a7bafdc0658140a94b9fa8) --- Resources/Changelog/Changelog.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6c4d915f20f..fe0239dd69a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: mirrorcult - changes: - - message: Ambient sounds are now more audible by default (unless you have the audio - setting changed already) - type: Tweak - - message: LV/MV wires & pipes no longer make ambient noises - type: Tweak - id: 5503 - time: '2024-01-01T07:57:33.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/22536 - author: themias changes: - message: Heat damage cauterizes bleeding again. @@ -3857,3 +3847,10 @@ id: 6002 time: '2024-02-22T07:32:43.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25432 +- author: metalgearsloth + changes: + - message: Added handheld crew monitor back just for CMO. + type: Add + id: 6003 + time: '2024-02-22T11:00:35.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25439 From 29cfc13d7ecf4e9737b73fef9e14a851b581aa85 Mon Sep 17 00:00:00 2001 From: "J. Brown" Date: Thu, 22 Feb 2024 11:03:44 +0000 Subject: [PATCH 058/345] Fix #22933 - Job-specific Uplink items leaking to non-job minds (#23179) Fix for 22933 - SharedMindSystem now checks for VisitingMindComponent too. (cherry picked from commit b26e9a9a325070323fe9475275ceaf4ed079cb76) --- Content.Shared/Mind/SharedMindSystem.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Content.Shared/Mind/SharedMindSystem.cs b/Content.Shared/Mind/SharedMindSystem.cs index 25e644c901c..1d6d052f9a1 100644 --- a/Content.Shared/Mind/SharedMindSystem.cs +++ b/Content.Shared/Mind/SharedMindSystem.cs @@ -399,7 +399,8 @@ public bool TryGetMind( EntityUid uid, out EntityUid mindId, [NotNullWhen(true)] out MindComponent? mind, - MindContainerComponent? container = null) + MindContainerComponent? container = null, + VisitingMindComponent? visitingmind = null) { mindId = default; mind = null; @@ -408,7 +409,14 @@ public bool TryGetMind( return false; if (!container.HasMind) - return false; + { + // The container has no mind. Check for a visiting mind... + if (!Resolve(uid, ref visitingmind, false)) + return false; + + mindId = visitingmind.MindId ?? default; + return TryComp(mindId, out mind); + } mindId = container.Mind ?? default; return TryComp(mindId, out mind); From b16465fea143fa7484ba85f2eb60d1828fe5b2e5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 11:04:50 +0000 Subject: [PATCH 059/345] Automatic changelog update (cherry picked from commit 3c25e6353d1a1ff0ae3533cd431f3d3fb6efbea9) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fe0239dd69a..2472928bbf3 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Heat damage cauterizes bleeding again. - type: Fix - id: 5504 - time: '2024-01-01T08:08:26.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23264 - author: TheShuEd changes: - message: the lightning from the electrical anomaly now works the same way as the @@ -3854,3 +3847,10 @@ id: 6003 time: '2024-02-22T11:00:35.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25439 +- author: DrMelon + changes: + - message: Fixed incorrect job-specific Uplink items being given on occasion. + type: Fix + id: 6004 + time: '2024-02-22T11:03:44.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/23179 From 91a9824ce1b74da87fb81de4b695ca284981992e Mon Sep 17 00:00:00 2001 From: liltenhead <104418166+liltenhead@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:15:10 -0800 Subject: [PATCH 060/345] Red flashlight color for assault borg (#25465) assaultborglight (cherry picked from commit 85ae40e0a49fe026a41686ce2cd92aa696d9c80a) --- Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index 80089ab4b10..2ebda67f857 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -282,6 +282,8 @@ shader: unshaded map: ["light"] visible: false + - type: PointLight + color: "#dd200b" - type: BorgChassis maxModules: 3 moduleWhitelist: From 2c441ff66a3fbe6af8b0143f7f6c1cf68b100e03 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 11:16:16 +0000 Subject: [PATCH 061/345] Automatic changelog update (cherry picked from commit 22c76bb625a77abbeb687c75aa88188a3cc78274) --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 2472928bbf3..630c0430176 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: the lightning from the electrical anomaly now works the same way as the - tesla. They can charge the tesla coils, and blow up machinery. - type: Tweak - id: 5505 - time: '2024-01-01T10:24:38.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23173 - author: Ubaser changes: - message: Reptilians can now use up to two (top) head markings. @@ -3854,3 +3846,10 @@ id: 6004 time: '2024-02-22T11:03:44.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/23179 +- author: liltenhead + changes: + - message: Changed the syndicate assault borg to have a red flashlight. + type: Tweak + id: 6005 + time: '2024-02-22T11:15:10.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25465 From e96254fb4cc2d21b1b210fe78cad598adacfcedf Mon Sep 17 00:00:00 2001 From: HoofedEar Date: Thu, 22 Feb 2024 03:26:02 -0800 Subject: [PATCH 062/345] Add RequiresGrid component (#23394) * saving working code * add checks for deletion (cherry picked from commit 487dd113b05aa54a8683f6be980a60f3e431d226) --- .../RequiresGrid/RequiresGridComponent.cs | 11 +++++++ .../RequiresGrid/RequiresGridSystem.cs | 29 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Content.Server/RequiresGrid/RequiresGridComponent.cs create mode 100644 Content.Server/RequiresGrid/RequiresGridSystem.cs diff --git a/Content.Server/RequiresGrid/RequiresGridComponent.cs b/Content.Server/RequiresGrid/RequiresGridComponent.cs new file mode 100644 index 00000000000..0e956c9ad9f --- /dev/null +++ b/Content.Server/RequiresGrid/RequiresGridComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server.RequiresGrid; + +/// +/// Destroys an entity when they no longer are part of a Grid +/// +[RegisterComponent] +[Access(typeof(RequiresGridSystem))] +public sealed partial class RequiresGridComponent : Component +{ + +} diff --git a/Content.Server/RequiresGrid/RequiresGridSystem.cs b/Content.Server/RequiresGrid/RequiresGridSystem.cs new file mode 100644 index 00000000000..16a20c9a8ab --- /dev/null +++ b/Content.Server/RequiresGrid/RequiresGridSystem.cs @@ -0,0 +1,29 @@ +using Content.Server.Destructible; + +namespace Content.Server.RequiresGrid; + +public sealed class RequiresGridSystem : EntitySystem +{ + [Dependency] private readonly DestructibleSystem _destructible = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEntParentChanged); + } + + private void OnEntParentChanged(EntityUid owner, RequiresGridComponent component, EntParentChangedMessage args) + { + if (args.OldParent == null) + return; + + if (args.Transform.GridUid != null) + return; + + if (TerminatingOrDeleted(owner)) + return; + + _destructible.DestroyEntity(owner); + } +} From 4a288720588d52e516fc5c85a20adf9024de5ac4 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:28:03 +0100 Subject: [PATCH 063/345] Make even more items good looking in inventory + size changing (#25461) * Make even more items good looking in inventory * holoprojecrots (cherry picked from commit 35723ad22f3e5bc038ef90bd9112c84ca8516051) --- .../Entities/Clothing/Head/welding.yml | 2 ++ .../Objects/Consumable/Food/Baked/pie.yml | 4 ++++ .../Consumable/Food/Containers/bowl.yml | 2 ++ .../Consumable/Food/Containers/box.yml | 2 ++ .../Objects/Consumable/Food/meals.yml | 2 ++ .../Objects/Consumable/Food/noodles.yml | 2 ++ .../Objects/Consumable/Food/skewer.yml | 1 + .../Objects/Consumable/Food/snacks.yml | 15 +----------- .../Entities/Objects/Consumable/Food/soup.yml | 2 ++ .../Entities/Objects/Consumable/Food/taco.yml | 3 +++ .../Objects/Devices/Circuitboards/misc.yml | 2 ++ .../Devices/Electronics/atmos_alarms.yml | 2 ++ .../Devices/Electronics/base_electronics.yml | 24 ++++++++++--------- .../Objects/Devices/Electronics/firelock.yml | 2 ++ .../Objects/Devices/Electronics/mech.yml | 6 +++++ .../Objects/Devices/holoprojectors.yml | 2 ++ .../Prototypes/Entities/Objects/Fun/toys.yml | 2 ++ .../Entities/Objects/Power/powercells.yml | 2 ++ .../Objects/Specific/Medical/healing.yml | 1 + .../Objects/Specific/Medical/morgue.yml | 2 ++ .../Specific/Robotics/borg_modules.yml | 6 +++-- .../Entities/Objects/Tools/emag.yml | 22 +++++++---------- .../Weapons/Guns/Launchers/launchers.yml | 4 ++++ .../Objects/Weapons/Melee/pickaxe.yml | 4 +++- 24 files changed, 74 insertions(+), 42 deletions(-) diff --git a/Resources/Prototypes/Entities/Clothing/Head/welding.yml b/Resources/Prototypes/Entities/Clothing/Head/welding.yml index 753646757e9..fb791ae567d 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/welding.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/welding.yml @@ -4,6 +4,8 @@ name: welding mask abstract: true components: + - type: Item + storedRotation: 0 - type: IngestionBlocker - type: FlashImmunity - type: IdentityBlocker diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml index ba70efb2051..fe888595847 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml @@ -6,6 +6,8 @@ id: FoodPieBase abstract: true components: + - type: Item + storedRotation: -90 - type: FlavorProfile flavors: - sweet @@ -34,6 +36,8 @@ abstract: true description: A slice of pie. Tasty! components: + - type: Item + size: Tiny - type: FlavorProfile flavors: - sweet diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml index eb05133a38e..52f6d42dc88 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml @@ -6,6 +6,8 @@ id: FoodBowlBig description: A simple bowl, used for soups and salads. components: + - type: Item + storedRotation: -90 - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml index cdf998b2923..966ae86db1e 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml @@ -214,6 +214,8 @@ - type: Item sprite: Objects/Consumable/Food/Baked/pizza.rsi heldPrefix: box + shape: + - 0,0,1,1 - type: Appearance - type: EntityStorageVisuals stateDoorOpen: box-open diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml index 4edc843651f..5fbfe9c09b2 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml @@ -10,6 +10,8 @@ abstract: true description: A delicious meal, cooked with love. components: + - type: Item + storedRotation: -90 - type: Food - type: Sprite sprite: Objects/Consumable/Food/meals.rsi diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml index d8817ab86d7..6e588a3efcb 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml @@ -7,6 +7,8 @@ abstract: true description: Now that's a nice pasta! components: + - type: Item + storedRotation: -90 - type: Sprite sprite: Objects/Consumable/Food/noodles.rsi - type: SolutionContainerManager diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml index c313f2d0465..51bf229f2c1 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml @@ -19,6 +19,7 @@ Quantity: 8 - type: Item size: Small + storedRotation: -90 # Kebabs diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index f9cf2231142..27f2bdbce2c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -451,6 +451,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet + size: Tiny - type: Tag tags: - Trash @@ -469,7 +470,6 @@ components: - type: Sprite state: boritos-trash - - type: Item - type: entity noSpawn: true @@ -479,7 +479,6 @@ components: - type: Sprite state: cnds-trash - - type: Item - type: entity noSpawn: true @@ -489,7 +488,6 @@ components: - type: Sprite state: cheesiehonkers-trash - - type: Item - type: entity noSpawn: true @@ -499,7 +497,6 @@ components: - type: Sprite state: chips-trash - - type: Item - type: entity noSpawn: true @@ -509,7 +506,6 @@ components: - type: Sprite state: chocolatebar-trash - - type: Item - type: entity noSpawn: true @@ -519,7 +515,6 @@ components: - type: Sprite state: energybar-trash - - type: Item - type: entity noSpawn: true @@ -529,7 +524,6 @@ components: - type: Sprite state: pistachio-trash - - type: Item - type: entity noSpawn: true @@ -539,7 +533,6 @@ components: - type: Sprite state: popcorn-trash - - type: Item - type: entity noSpawn: true @@ -549,7 +542,6 @@ components: - type: Sprite state: raisins-trash - - type: Item - type: entity noSpawn: true @@ -559,7 +551,6 @@ components: - type: Sprite state: semki-trash - - type: Item - type: entity noSpawn: true @@ -569,7 +560,6 @@ components: - type: Sprite state: susjerky-trash - - type: Item - type: entity noSpawn: true @@ -579,7 +569,6 @@ components: - type: Sprite state: syndicakes-trash - - type: Item - type: entity noSpawn: true @@ -589,7 +578,6 @@ components: - type: Sprite state: chinese1 - - type: Item - type: entity noSpawn: true @@ -599,7 +587,6 @@ components: - type: Sprite state: chinese2 - - type: Item - type: entity noSpawn: true diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml index 0dca39ea481..3b080e843b4 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml @@ -5,6 +5,8 @@ id: FoodBowlBase abstract: true components: + - type: Item + storedRotation: -90 - type: Food trash: FoodBowlBig utensil: Spoon diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml index 72d20624a46..9df2f3039e9 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml @@ -6,6 +6,8 @@ id: FoodTacoShell description: A taco shell, easy to hold, but falls on its side when put down. components: + - type: Item + storedRotation: -90 - type: Food - type: Sprite sprite: Objects/Consumable/Food/taco.rsi @@ -44,6 +46,7 @@ Quantity: 4 - type: Item sprite: Objects/Consumable/Food/taco.rsi + storedRotation: -90 - type: Tag tags: - Meat diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml index a4275995dc3..cb35219eb0b 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml @@ -4,6 +4,8 @@ name: station map electronics description: An electronics board used in station maps. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: airalarm_electronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml index cdc3eb2e53c..730b591c0ac 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml @@ -22,6 +22,8 @@ name: fire alarm electronics description: An electronics board used in fire alarms components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: airalarm_electronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml index 8ee76d43e9d..7848d987e5c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml @@ -1,17 +1,19 @@ -- type: entity +- type: entity id: BaseElectronics parent: BaseItem name: base electronics abstract: true suffix: Electronics components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: generic - - type: StaticPrice - price: 100 - - type: PhysicalComposition - materialComposition: - Glass: 200 - chemicalComposition: - Silicon: 20 + - type: Item + storedRotation: -90 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: generic + - type: StaticPrice + price: 100 + - type: PhysicalComposition + materialComposition: + Glass: 200 + chemicalComposition: + Silicon: 20 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml index 929e534577e..679c3e4ddac 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml @@ -4,6 +4,8 @@ name: firelock electronics description: An electronics board used to detect differences in pressure, temperature and gas concentrations between the two sides of the door. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml index 66574184880..f224c1c2bf9 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml @@ -6,6 +6,8 @@ name: ripley central control module description: The electrical control center for the ripley mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard @@ -40,6 +42,8 @@ name: H.O.N.K. central control module description: The electrical control center for the H.O.N.K. mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard @@ -90,6 +94,8 @@ name: HAMTR central control module description: The electrical control center for the HAMTR mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard diff --git a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml index bb5bf806bbc..57c542f31bd 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml @@ -4,6 +4,8 @@ name: holographic sign projector description: A handy-dandy holographic projector that displays a janitorial sign. components: + - type: Item + storedRotation: -90 - type: HolosignProjector - type: UseDelay - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 497b9987265..13821bb9cef 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -398,6 +398,7 @@ state: blue - type: Item heldPrefix: blue + storedRotation: -90 - type: Tag tags: - PlushieSharkBlue @@ -467,6 +468,7 @@ state: carpplush - type: Item heldPrefix: carpplush + storedRotation: -90 - type: EmitSoundOnUse sound: path: /Audio/Effects/bite.ogg diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml index 8aefe5e931b..7397bcaa517 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml @@ -3,6 +3,8 @@ abstract: true parent: BaseItem components: + - type: Item + storedRotation: -90 - type: Battery pricePerJoule: 0.15 - type: PowerCell diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index a69318672d0..ad814e8bf4f 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -166,6 +166,7 @@ state: medicated-suture - type: Item heldPrefix: medicated-suture + storedRotation: -90 - type: Healing damageContainers: - Biological diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml index c4928dca53a..f664c3a811c 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml @@ -102,6 +102,8 @@ name: ash description: This used to be something, but now it's not. components: + - type: Item + size: Tiny - type: Sprite sprite: Objects/Materials/materials.rsi state: ash diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 943fdad5180..2519611c684 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -5,6 +5,8 @@ description: A piece of tech that gives cyborgs new abilities. abstract: true components: + - type: Item + storedRotation: -90 - type: Sprite sprite: Objects/Specific/Robotics/borgmodule.rsi - type: BorgModule @@ -238,7 +240,7 @@ - WelderExperimental - NetworkConfigurator - RemoteSignaller - - GasAnalyzer + - GasAnalyzer - GeigerCounter - type: entity @@ -490,7 +492,7 @@ - BikeHorn - ClownRecorder - BikeHornInstrument - + #syndicate modules - type: entity id: BorgModuleSyndicateWeapon diff --git a/Resources/Prototypes/Entities/Objects/Tools/emag.yml b/Resources/Prototypes/Entities/Objects/Tools/emag.yml index 702b7c86bee..0117d44d6d7 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/emag.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/emag.yml @@ -1,28 +1,22 @@ - type: entity parent: BaseItem - id: Emag + id: EmagUnlimited + suffix: Unlimited name: cryptographic sequencer description: The all-in-one hacking solution. The thinking man's lockpick. The iconic EMAG. components: - type: Emag - - type: LimitedCharges - - type: AutoRecharge - type: Sprite sprite: Objects/Tools/emag.rsi state: icon - type: Item sprite: Objects/Tools/emag.rsi + storedRotation: -90 - type: entity - parent: BaseItem - id: EmagUnlimited - suffix: Unlimited - name: cryptographic sequencer - description: The all-in-one hacking solution. The thinking man's lockpick. The iconic EMAG. + parent: EmagUnlimited + id: Emag + suffix: Limited components: - - type: Emag - - type: Sprite - sprite: Objects/Tools/emag.rsi - state: icon - - type: Item - sprite: Objects/Tools/emag.rsi + - type: LimitedCharges + - type: AutoRecharge diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index ecabe2a4abb..8b31bf40ed7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -158,6 +158,8 @@ id: WeaponTetherGun description: Manipulates gravity around objects to fling them at high velocities. components: + - type: Item + storedRotation: -90 - type: TetherGun frequency: 5 dampingRatio: 4 @@ -195,6 +197,8 @@ id: WeaponForceGun description: Manipulates gravity around objects to fling them at high velocities. components: + - type: Item + storedRotation: -90 - type: ForceGun frequency: 15 dampingRatio: 4 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index 58452b85980..324d4ee878e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -42,9 +42,11 @@ id: MiningDrill description: Powerful tool used to quickly drill through rocks components: + - type: Item + storedRotation: -90 - type: Tag tags: - - Pickaxe + - Pickaxe - type: Sprite sprite: Objects/Tools/handdrill.rsi state: handdrill From 62774a0663b3495696a4d85c30abb9e2aedc4ddf Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 11:29:09 +0000 Subject: [PATCH 064/345] Automatic changelog update (cherry picked from commit 7ac3a2a47d05440dc8cec4fa08572efc89b5016a) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 630c0430176..24154401a82 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Reptilians can now use up to two (top) head markings. - type: Tweak - id: 5506 - time: '2024-01-01T23:27:14.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23219 - author: Lukasz825700516 changes: - message: Zombiefied reptilians no longer can pull objects with their tail. @@ -3853,3 +3846,10 @@ id: 6005 time: '2024-02-22T11:15:10.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25465 +- author: lzk228 + changes: + - message: Fix some items becomes bigger after turning in trash. + type: Fix + id: 6006 + time: '2024-02-22T11:28:03.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25461 From e9a74b764f34630a3849e7212de4ae56a751a948 Mon Sep 17 00:00:00 2001 From: Ps3Moira <113228053+ps3moira@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:59:41 -0800 Subject: [PATCH 065/345] Add Large Wood Floors (#25462) Large Wood Floors (cherry picked from commit 83cd1089fe970adc5fee5344cfee4aa046d6f501) --- Resources/Locale/en-US/tiles/tiles.ftl | 1 + .../Entities/Objects/Misc/tiles.yml | 19 +++++++++++++++++ .../Recipes/Crafting/Graphs/tiles.yml | 16 ++++++++++++++ .../Prototypes/Recipes/Crafting/tiles.yml | 11 ++++++++++ .../Prototypes/Stacks/floor_tile_stacks.yml | 6 ++++++ Resources/Prototypes/Tiles/floors.yml | 20 ++++++++++++++++++ .../Textures/Objects/Tiles/tile.rsi/meta.json | 3 +++ .../Objects/Tiles/tile.rsi/wood-large.png | Bin 0 -> 268 bytes Resources/Textures/Tiles/attributions.yml | 5 +++++ Resources/Textures/Tiles/wood_large.png | Bin 0 -> 1070 bytes 10 files changed, 81 insertions(+) create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png create mode 100644 Resources/Textures/Tiles/wood_large.png diff --git a/Resources/Locale/en-US/tiles/tiles.ftl b/Resources/Locale/en-US/tiles/tiles.ftl index 478175fc674..0a0558b3cb0 100644 --- a/Resources/Locale/en-US/tiles/tiles.ftl +++ b/Resources/Locale/en-US/tiles/tiles.ftl @@ -120,3 +120,4 @@ tiles-web = web tile tiles-chromite = chromite tiles-astro-grass = astro-grass tiles-astro-ice = astro-ice +tiles-wood-large = large wood \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml index 286e28c53d5..9a2196612de 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml @@ -1026,3 +1026,22 @@ - FloorAstroIce - type: Stack stackType: FloorTileAstroIce + +- type: entity + name: large wood floor + parent: FloorTileItemBase + id: FloorTileItemWoodLarge + components: + - type: Sprite + state: wood-large + - type: Item + heldPrefix: wood + - type: FloorTile + outputs: + - Plating + - FloorWoodLarge + - type: Stack + stackType: FloorTileWoodLarge + - type: Construction + graph: TileWoodLarge + node: woodtilelarge \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml index caff139192a..4cb5d6c0f83 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml @@ -78,3 +78,19 @@ amount: 1 - node: fleshTile entity: FloorTileItemFlesh + +- type: constructionGraph + id: TileWoodLarge + start: start + graph: + - node: start + edges: + - to: woodtilelarge + completed: + - !type:SetStackCount + amount: 4 + steps: + - material: WoodPlank + amount: 2 + - node: woodtilelarge + entity: FloorTileItemWoodLarge \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/tiles.yml b/Resources/Prototypes/Recipes/Crafting/tiles.yml index 60503065972..1cabb7dedd4 100644 --- a/Resources/Prototypes/Recipes/Crafting/tiles.yml +++ b/Resources/Prototypes/Recipes/Crafting/tiles.yml @@ -164,3 +164,14 @@ # description: "A dirty station tile." # icon: { sprite: Objects/Tiles/tile.rsi, state: dirty } # objectType: Item + +- type: construction + name: large wood floor + id: TileWoodLarge + graph: TileWoodLarge + startNode: start + targetNode: woodtilelarge + category: construction-category-tiles + description: "Four pieces of wooden station flooring." + icon: { sprite: Objects/Tiles/tile.rsi, state: wood-large } + objectType: Item \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/Stacks/floor_tile_stacks.yml index 01acfd13f84..3b4efaff116 100644 --- a/Resources/Prototypes/Stacks/floor_tile_stacks.yml +++ b/Resources/Prototypes/Stacks/floor_tile_stacks.yml @@ -453,3 +453,9 @@ spawn: FloorTileItemAstroIce maxCount: 30 itemSize: 5 + +- type: stack + id: FloorTileWoodLarge + name: large wood floor + spawn: FloorTileItemWoodLarge + maxCount: 30 \ No newline at end of file diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index 425af690e76..313b169da29 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -1870,3 +1870,23 @@ mobFrictionNoInput: 0.05 mobAcceleration: 2 itemDrop: FloorTileItemAstroIce + +- type: tile + id: FloorWoodLarge + name: tiles-wood-large + sprite: /Textures/Tiles/wood_large.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepWood + barestepSounds: + collection: BarestepWood + itemDrop: FloorTileItemWoodLarge + heatCapacity: 10000 \ No newline at end of file diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json index 9fc66d78b90..99b32632f16 100644 --- a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json +++ b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json @@ -414,6 +414,9 @@ { "name": "hydro-inhand-left", "directions": 4 + }, + { + "name": "wood-large" } ] } diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png b/Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png new file mode 100644 index 0000000000000000000000000000000000000000..429d0e1e8db2cc099cf7e8afcd096c4d4b72572c GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$2?seLn2y} z6C_v{Cy4Zv9O&@>^#A{Vo;o(8|C)yNpN}rD5Z&-#@)zR?Ki4arZd9y${*j+8=TXF! zzv&7OJooS=0Ktz>U-`M_x6fu>ZDG~0Qki8&N06(t!-bjp_ZI#XIdxpXoxSBrXDP$P z!rsukbC26=lrwBB?A2Z?z~pSeyMQ?+v*}u9!;DQ0X&^FT#&X7_Q%q4y7@a=$>G@wZ zanQJT@oBq{)Pd;GU$4B44Gat>+?Bgg@{m(mSvgMI?VyGPD>FaCo|*)UkcvPfppO_l MUHx3vIVCg!0L=VolK=n! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Tiles/attributions.yml b/Resources/Textures/Tiles/attributions.yml index 622565f2511..f9afb8e81f5 100644 --- a/Resources/Textures/Tiles/attributions.yml +++ b/Resources/Textures/Tiles/attributions.yml @@ -120,3 +120,8 @@ license: "CC0-1.0" copyright: "Created by TheShuEd (github) for space-station-14." source: "https://github.com/space-wizards/space-station-14/pull/ED_INSERT_PR_CODE_HERE!" + +- files: ["wood_large.png"] + license: "CC0-1.0" + copyright: "Created by ps3moira (github) for space-station-14." + source: "https://github.com/space-wizards/space-station-14/" \ No newline at end of file diff --git a/Resources/Textures/Tiles/wood_large.png b/Resources/Textures/Tiles/wood_large.png new file mode 100644 index 0000000000000000000000000000000000000000..722c462a084d3e9274000b14607996e0f6843926 GIT binary patch literal 1070 zcmV+}1kwA6P)Y{cd&E&z zR*J+Y#BojsB)%28>hqi6lFwg)c|N-UNTR1)>R`2lS(%%}Q^YaTsIu01#7)AQwUVPe zMr#}nvPdHZ87ivSgaH=`$`;M6yD!=FEu%snMt>VMaB`GTCU2b7Ds|N;>!fS+8K{Z5 z|DUI$&rJK>!zrNu)$=|lfY3hBsC(Y;spmD$fZz*oZMFRsn$z4j>Gif2I|d>Art^IK%8_jlMpN`0>->^QRGg2T5pj zUwE%or6xo(`CDN8R($amkOKY(td}4jtC=Ry_-*)|odevq(Vkv1?j!f~uuszq{`@`T z-gn0R>)nv=UElf)+xXYx(=_`{LTYy!Y@S~*4m~D^ zO`O($#(8nyYW#M5;(@@v-D|KEJdD@e>x_S0e)b?JB~%*IgiARo@y0)fuO0-Yz`5O} z1P(1rT#@g!OE&&~KBcNq7PLKjtPvY8L6RB&SpH@O$W5U6WU*U+D&P3W^X(kq#*F|} z_omYGXrQbojcuAee*N~wZ^$PAt7p;M=LX|TnDN{3i3f~>{KLf3b|xoU z5@h^#d`cy~6;M`%`eRY!U!T9M0K7Mqgvfp`j+Kfuep~*s0`Nddh~(c3=HCG0x8bk; o7r-ah?nlxE)Pm!xH-0<*KXO(1=fMKyk^lez07*qoM6N<$f^HiW7ytkO literal 0 HcmV?d00001 From 18152e70b447d607af967cb46e7c7636e4bd5772 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 12:00:47 +0000 Subject: [PATCH 066/345] Automatic changelog update (cherry picked from commit 2b349704453bdc3d8fa616b0a46bae25b9157162) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 24154401a82..1465498a659 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Lukasz825700516 - changes: - - message: Zombiefied reptilians no longer can pull objects with their tail. - type: Fix - id: 5507 - time: '2024-01-01T23:31:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23066 - author: SonicHDC changes: - message: Changed shape of Pistols to L! @@ -3853,3 +3846,10 @@ id: 6006 time: '2024-02-22T11:28:03.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25461 +- author: ps3moira + changes: + - message: Added Large Wooden floors + type: Add + id: 6007 + time: '2024-02-22T11:59:41.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25462 From 4797313d8baf069e540197053a6f92bd7fd439dc Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Thu, 22 Feb 2024 07:18:46 -0500 Subject: [PATCH 067/345] fix reagent slime role description being friendly (#25466) (cherry picked from commit f38a961a1b2ec163672bfd0727f75f0a561f6eda) --- Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml index 3631510fff7..01fce382e37 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml @@ -228,6 +228,8 @@ parent: [ MobAdultSlimes, MobCombat ] description: It consists of a liquid, and it wants to dissolve you in itself. components: + - type: GhostRole + description: ghost-role-information-angry-slimes-description - type: NpcFactionMember factions: - SimpleHostile From b2f0557a74aa00b2b938f399b7870cd3f7a0ea2b Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 12:19:51 +0000 Subject: [PATCH 068/345] Automatic changelog update (cherry picked from commit e6605a774b0354a7cfde93a3ba84e0cc895af253) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1465498a659..070d532e28b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: SonicHDC - changes: - - message: Changed shape of Pistols to L! - type: Tweak - id: 5508 - time: '2024-01-01T23:32:16.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23104 - author: Alekshhh changes: - message: Changed some hairs visually @@ -3853,3 +3846,10 @@ id: 6007 time: '2024-02-22T11:59:41.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25462 +- author: Whisper + changes: + - message: Fixed reagent slime ghost role description. + type: Fix + id: 6008 + time: '2024-02-22T12:18:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25466 From 8c44dd1af07229027aaecf3f2ff9bb8c95d41e58 Mon Sep 17 00:00:00 2001 From: "I.K" <45953835+notquitehadouken@users.noreply.github.com> Date: Thu, 22 Feb 2024 15:40:46 -0600 Subject: [PATCH 069/345] Give "DO NOT MAP" suffix to handheld crew monitor (#25473) don' (cherry picked from commit b7747596f126498af5de5420666f1c1c483bb0f5) --- .../Entities/Objects/Specific/Medical/handheld_crew_monitor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml index ba0b5a19267..cb3278c44af 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -1,5 +1,6 @@ - type: entity name: handheld crew monitor + suffix: DO NOT MAP parent: - BaseItem - PowerCellSlotSmallItem From 384c060ea573848d592bd1b5ef1029f9b6ec98de Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Thu, 22 Feb 2024 18:01:31 -0500 Subject: [PATCH 070/345] Predict doors and airlocks (#25419) * predict doors and airlocks * prying, too * ack * eek (cherry picked from commit ce0a51fc29675b3b0afb90296b6a8ce90c3f9cd3) --- Content.Client/Doors/AirlockSystem.cs | 22 +- Content.Client/Doors/DoorBoltSystem.cs | 12 -- Content.Client/Doors/DoorSystem.cs | 27 +-- .../Systems/AdminVerbSystem.Tools.cs | 4 +- .../Systems/DoorSignalControlSystem.cs | 3 +- Content.Server/Doors/Systems/AirlockSystem.cs | 116 +---------- .../Doors/Systems/DoorBoltSystem.cs | 90 --------- Content.Server/Doors/Systems/DoorSystem.cs | 173 +--------------- .../WireActions/DoorBoltLightWireAction.cs | 7 +- .../Doors/WireActions/DoorBoltWireAction.cs | 10 +- Content.Server/Magic/MagicSystem.cs | 3 +- Content.Server/Remotes/DoorRemoteSystem.cs | 3 +- .../Shuttles/Systems/DockingSystem.cs | 7 +- .../Systems/ShuttleSystem.FasterThanLight.cs | 2 +- .../Shuttles/Systems/ShuttleSystem.cs | 1 - Content.Server/Wires/WiresSystem.cs | 7 - .../Doors/Components/AirlockComponent.cs | 3 + .../Doors/Components/DoorBoltComponent.cs | 19 +- .../Doors/Components/DoorComponent.cs | 6 +- .../Doors/Systems/SharedAirlockSystem.cs | 103 +++++++++- .../Doors/Systems/SharedDoorBoltSystem.cs | 61 ------ .../Doors/Systems/SharedDoorSystem.Bolts.cs | 109 ++++++++++ .../Doors/Systems/SharedDoorSystem.cs | 189 ++++++++++++++---- Content.Shared/Prying/Systems/PryingSystem.cs | 19 +- Content.Shared/Wires/SharedWiresSystem.cs | 7 + 25 files changed, 444 insertions(+), 559 deletions(-) delete mode 100644 Content.Client/Doors/DoorBoltSystem.cs delete mode 100644 Content.Server/Doors/Systems/DoorBoltSystem.cs delete mode 100644 Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs create mode 100644 Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs diff --git a/Content.Client/Doors/AirlockSystem.cs b/Content.Client/Doors/AirlockSystem.cs index 4837adf460b..58c87306433 100644 --- a/Content.Client/Doors/AirlockSystem.cs +++ b/Content.Client/Doors/AirlockSystem.cs @@ -1,7 +1,6 @@ using Content.Client.Wires.Visualizers; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; -using Content.Shared.Prying.Components; using Robust.Client.Animations; using Robust.Client.GameObjects; @@ -16,13 +15,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnComponentStartup); SubscribeLocalEvent(OnAppearanceChange); - SubscribeLocalEvent(OnAirlockPryAttempt); - } - - private void OnAirlockPryAttempt(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) - { - // TODO: Temporary until airlocks predicted. - args.Cancelled = true; } private void OnComponentStartup(EntityUid uid, AirlockComponent comp, ComponentStartup args) @@ -104,7 +96,7 @@ private void OnAppearanceChange(EntityUid uid, AirlockComponent comp, ref Appear || state == DoorState.Denying || (state == DoorState.Open && comp.OpenUnlitVisible) || (_appearanceSystem.TryGetData(uid, DoorVisuals.ClosedLights, out var closedLights, args.Component) && closedLights)) - && !boltedVisible && !emergencyLightsVisible; ; + && !boltedVisible && !emergencyLightsVisible; } args.Sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible); @@ -120,5 +112,17 @@ private void OnAppearanceChange(EntityUid uid, AirlockComponent comp, ref Appear && !boltedVisible ); } + + switch (state) + { + case DoorState.Open: + args.Sprite.LayerSetState(DoorVisualLayers.BaseUnlit, comp.ClosingSpriteState); + args.Sprite.LayerSetAnimationTime(DoorVisualLayers.BaseUnlit, 0); + break; + case DoorState.Closed: + args.Sprite.LayerSetState(DoorVisualLayers.BaseUnlit, comp.OpeningSpriteState); + args.Sprite.LayerSetAnimationTime(DoorVisualLayers.BaseUnlit, 0); + break; + } } } diff --git a/Content.Client/Doors/DoorBoltSystem.cs b/Content.Client/Doors/DoorBoltSystem.cs deleted file mode 100644 index 58144cd6e0b..00000000000 --- a/Content.Client/Doors/DoorBoltSystem.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Content.Client.Wires.Visualizers; -using Content.Shared.Doors.Components; -using Content.Shared.Doors.Systems; -using Robust.Client.Animations; -using Robust.Client.GameObjects; - -namespace Content.Client.Doors; - -public sealed class DoorBoltSystem : SharedDoorBoltSystem -{ - // Instantiate sub-class on client for prediction. -} diff --git a/Content.Client/Doors/DoorSystem.cs b/Content.Client/Doors/DoorSystem.cs index 80ce47e0c21..473ae97059a 100644 --- a/Content.Client/Doors/DoorSystem.cs +++ b/Content.Client/Doors/DoorSystem.cs @@ -3,8 +3,6 @@ using Robust.Client.Animations; using Robust.Client.GameObjects; using Robust.Client.ResourceManagement; -using Robust.Shared.Audio; -using Robust.Shared.Player; using Robust.Shared.Serialization.TypeSerializers.Implementations; using Robust.Shared.Timing; @@ -73,7 +71,7 @@ protected override void OnComponentInit(Entity ent, ref Component private void OnAppearanceChange(EntityUid uid, DoorComponent comp, ref AppearanceChangeEvent args) { - if (args.Sprite == null || !_gameTiming.IsFirstTimePredicted) + if (args.Sprite == null) return; if(!AppearanceSystem.TryGetData(uid, DoorVisuals.State, out var state, args.Component)) @@ -83,9 +81,9 @@ private void OnAppearanceChange(EntityUid uid, DoorComponent comp, ref Appearanc { if (!_resourceCache.TryGetResource(SpriteSpecifierSerializer.TextureRoot / baseRsi, out var res)) { - Logger.Error("Unable to load RSI '{0}'. Trace:\n{1}", baseRsi, Environment.StackTrace); + Log.Error("Unable to load RSI '{0}'. Trace:\n{1}", baseRsi, Environment.StackTrace); } - foreach (ISpriteLayer layer in args.Sprite.AllLayers) + foreach (var layer in args.Sprite.AllLayers) { layer.Rsi = res?.RSI; } @@ -113,31 +111,24 @@ private void OnAppearanceChange(EntityUid uid, DoorComponent comp, ref Appearanc break; case DoorState.Opening: if (animPlayer != null && comp.OpeningAnimationTime != 0.0) - _animationSystem.Play(uid, animPlayer, (Animation)comp.OpeningAnimation, DoorComponent.AnimationKey); + _animationSystem.Play((uid, animPlayer), (Animation)comp.OpeningAnimation, DoorComponent.AnimationKey); break; case DoorState.Closing: if (animPlayer != null && comp.ClosingAnimationTime != 0.0 && comp.CurrentlyCrushing.Count == 0) - _animationSystem.Play(uid, animPlayer, (Animation)comp.ClosingAnimation, DoorComponent.AnimationKey); + _animationSystem.Play((uid, animPlayer), (Animation)comp.ClosingAnimation, DoorComponent.AnimationKey); break; case DoorState.Denying: - if (animPlayer != null && comp.DenyingAnimation != default) - _animationSystem.Play(uid, animPlayer, (Animation)comp.DenyingAnimation, DoorComponent.AnimationKey); + if (animPlayer != null) + _animationSystem.Play((uid, animPlayer), (Animation)comp.DenyingAnimation, DoorComponent.AnimationKey); break; case DoorState.Welded: break; case DoorState.Emagging: - if (animPlayer != null && comp.EmaggingAnimation != default) - _animationSystem.Play(uid, animPlayer, (Animation)comp.EmaggingAnimation, DoorComponent.AnimationKey); + if (animPlayer != null) + _animationSystem.Play((uid, animPlayer), (Animation)comp.EmaggingAnimation, DoorComponent.AnimationKey); break; default: throw new ArgumentOutOfRangeException($"Invalid door visual state {state}"); } } - - // TODO AUDIO PREDICT see comments in server-side PlaySound() - protected override void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted) - { - if (GameTiming.InPrediction && GameTiming.IsFirstTimePredicted) - Audio.PlayEntity(soundSpecifier, Filter.Local(), uid, false, audioParams); - } } diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs index 296e48274c6..c68336deab8 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs @@ -41,7 +41,7 @@ namespace Content.Server.Administration.Systems; public sealed partial class AdminVerbSystem { - [Dependency] private readonly DoorBoltSystem _boltsSystem = default!; + [Dependency] private readonly DoorSystem _door = default!; [Dependency] private readonly AirlockSystem _airlockSystem = default!; [Dependency] private readonly StackSystem _stackSystem = default!; [Dependency] private readonly SharedAccessSystem _accessSystem = default!; @@ -78,7 +78,7 @@ private void AddTricksVerbs(GetVerbsEvent args) : new SpriteSpecifier.Texture(new("/Textures/Interface/AdminActions/bolt.png")), Act = () => { - _boltsSystem.SetBoltsWithAudio(args.Target, bolts, !bolts.BoltsDown); + _door.SetBoltsDown((args.Target, bolts), !bolts.BoltsDown); }, Impact = LogImpact.Medium, Message = Loc.GetString(bolts.BoltsDown diff --git a/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs b/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs index 1c0c9713cf1..fab9a306ae7 100644 --- a/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs +++ b/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs @@ -12,7 +12,6 @@ namespace Content.Server.DeviceLinking.Systems [UsedImplicitly] public sealed class DoorSignalControlSystem : EntitySystem { - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; [Dependency] private readonly DeviceLinkSystem _signalSystem = default!; @@ -79,7 +78,7 @@ private void OnSignalReceived(EntityUid uid, DoorSignalControlComponent componen bolt = state == SignalState.High; } - _bolts.SetBoltsWithAudio(uid, bolts, bolt); + _doorSystem.SetBoltsDown((uid, bolts), bolt); } } diff --git a/Content.Server/Doors/Systems/AirlockSystem.cs b/Content.Server/Doors/Systems/AirlockSystem.cs index 6d9cde8eb4e..71f9347e9ed 100644 --- a/Content.Server/Doors/Systems/AirlockSystem.cs +++ b/Content.Server/Doors/Systems/AirlockSystem.cs @@ -1,13 +1,10 @@ using Content.Server.DeviceLinking.Events; using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Server.Wires; -using Content.Shared.Doors; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; using Content.Shared.Interaction; using Content.Shared.Wires; -using Content.Shared.Prying.Components; using Robust.Shared.Player; namespace Content.Server.Doors.Systems; @@ -15,8 +12,6 @@ namespace Content.Server.Doors.Systems; public sealed class AirlockSystem : SharedAirlockSystem { [Dependency] private readonly WiresSystem _wiresSystem = default!; - [Dependency] private readonly PowerReceiverSystem _power = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; public override void Initialize() { @@ -26,13 +21,7 @@ public override void Initialize() SubscribeLocalEvent(OnSignalReceived); SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnStateChanged); - SubscribeLocalEvent(OnBeforeDoorOpened); - SubscribeLocalEvent(OnBeforeDoorDenied); SubscribeLocalEvent(OnActivate, before: new[] { typeof(DoorSystem) }); - SubscribeLocalEvent(OnGetPryMod); - SubscribeLocalEvent(OnBeforePry); - } private void OnAirlockInit(EntityUid uid, AirlockComponent component, ComponentInit args) @@ -53,6 +42,9 @@ private void OnSignalReceived(EntityUid uid, AirlockComponent component, ref Sig private void OnPowerChanged(EntityUid uid, AirlockComponent component, ref PowerChangedEvent args) { + component.Powered = args.Powered; + Dirty(uid, component); + if (TryComp(uid, out var appearanceComponent)) { Appearance.SetData(uid, DoorVisuals.Powered, args.Powered, appearanceComponent); @@ -73,80 +65,6 @@ private void OnPowerChanged(EntityUid uid, AirlockComponent component, ref Power } } - private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args) - { - // TODO move to shared? having this be server-side, but having client-side door opening/closing & prediction - // means that sometimes the panels & bolt lights may be visible despite a door being completely open. - - // Only show the maintenance panel if the airlock is closed - if (TryComp(uid, out var wiresPanel)) - { - _wiresSystem.ChangePanelVisibility(uid, wiresPanel, component.OpenPanelVisible || args.State != DoorState.Open); - } - // If the door is closed, we should look if the bolt was locked while closing - UpdateAutoClose(uid, component); - - // Make sure the airlock auto closes again next time it is opened - if (args.State == DoorState.Closed) - component.AutoClose = true; - } - - /// - /// Updates the auto close timer. - /// - public void UpdateAutoClose(EntityUid uid, AirlockComponent? airlock = null, DoorComponent? door = null) - { - if (!Resolve(uid, ref airlock, ref door)) - return; - - if (door.State != DoorState.Open) - return; - - if (!airlock.AutoClose) - return; - - if (!CanChangeState(uid, airlock)) - return; - - var autoev = new BeforeDoorAutoCloseEvent(); - RaiseLocalEvent(uid, autoev, false); - if (autoev.Cancelled) - return; - - DoorSystem.SetNextStateChange(uid, airlock.AutoCloseDelay * airlock.AutoCloseDelayModifier); - } - - private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args) - { - if (!CanChangeState(uid, component)) - args.Cancel(); - } - - protected override void OnBeforeDoorClosed(EntityUid uid, AirlockComponent component, BeforeDoorClosedEvent args) - { - base.OnBeforeDoorClosed(uid, component, args); - - if (args.Cancelled) - return; - - // only block based on bolts / power status when initially closing the door, not when its already - // mid-transition. Particularly relevant for when the door was pried-closed with a crowbar, which bypasses - // the initial power-check. - - if (TryComp(uid, out DoorComponent? door) - && !door.Partial - && !CanChangeState(uid, component)) - { - args.Cancel(); - } - } - - private void OnBeforeDoorDenied(EntityUid uid, AirlockComponent component, BeforeDoorDeniedEvent args) - { - if (!CanChangeState(uid, component)) - args.Cancel(); - } - private void OnActivate(EntityUid uid, AirlockComponent component, ActivateInWorldEvent args) { if (TryComp(uid, out var panel) && @@ -168,32 +86,4 @@ private void OnActivate(EntityUid uid, AirlockComponent component, ActivateInWor component.AutoClose = false; } } - - private void OnGetPryMod(EntityUid uid, AirlockComponent component, ref GetPryTimeModifierEvent args) - { - if (_power.IsPowered(uid)) - args.PryTimeModifier *= component.PoweredPryModifier; - - if (_bolts.IsBolted(uid)) - args.PryTimeModifier *= component.BoltedPryModifier; - } - - private void OnBeforePry(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) - { - if (args.Cancelled) - return; - - if (!this.IsPowered(uid, EntityManager) || args.PryPowered) - return; - - args.Message = "airlock-component-cannot-pry-is-powered-message"; - - args.Cancelled = true; - - } - - public bool CanChangeState(EntityUid uid, AirlockComponent component) - { - return this.IsPowered(uid, EntityManager) && !_bolts.IsBolted(uid); - } } diff --git a/Content.Server/Doors/Systems/DoorBoltSystem.cs b/Content.Server/Doors/Systems/DoorBoltSystem.cs deleted file mode 100644 index 133af0013d3..00000000000 --- a/Content.Server/Doors/Systems/DoorBoltSystem.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; -using Content.Shared.Doors; -using Content.Shared.Doors.Components; -using Content.Shared.Doors.Systems; - -namespace Content.Server.Doors.Systems; - -public sealed class DoorBoltSystem : SharedDoorBoltSystem -{ - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnStateChanged); - } - - private void OnPowerChanged(EntityUid uid, DoorBoltComponent component, ref PowerChangedEvent args) - { - if (args.Powered) - { - if (component.BoltWireCut) - SetBoltsWithAudio(uid, component, true); - } - - UpdateBoltLightStatus(uid, component); - } - - public void UpdateBoltLightStatus(EntityUid uid, DoorBoltComponent component) - { - if (!TryComp(uid, out var appearance)) - return; - - Appearance.SetData(uid, DoorVisuals.BoltLights, GetBoltLightsVisible(uid, component), appearance); - } - - public bool GetBoltLightsVisible(EntityUid uid, DoorBoltComponent component) - { - return component.BoltLightsEnabled && - component.BoltsDown && - this.IsPowered(uid, EntityManager); - } - - public void SetBoltLightsEnabled(EntityUid uid, DoorBoltComponent component, bool value) - { - if (component.BoltLightsEnabled == value) - return; - - component.BoltLightsEnabled = value; - UpdateBoltLightStatus(uid, component); - } - - public void SetBoltsDown(EntityUid uid, DoorBoltComponent component, bool value) - { - if (component.BoltsDown == value) - return; - - component.BoltsDown = value; - UpdateBoltLightStatus(uid, component); - } - - private void OnStateChanged(EntityUid uid, DoorBoltComponent component, DoorStateChangedEvent args) - { - // If the door is closed, we should look if the bolt was locked while closing - UpdateBoltLightStatus(uid, component); - } - - public void SetBoltsWithAudio(EntityUid uid, DoorBoltComponent component, bool newBolts) - { - if (newBolts == component.BoltsDown) - return; - - component.BoltsDown = newBolts; - Audio.PlayPvs(newBolts ? component.BoltDownSound : component.BoltUpSound, uid); - UpdateBoltLightStatus(uid, component); - } - - public bool IsBolted(EntityUid uid, DoorBoltComponent? component = null) - { - if (!Resolve(uid, ref component)) - { - return false; - } - - return component.BoltsDown; - } -} - diff --git a/Content.Server/Doors/Systems/DoorSystem.cs b/Content.Server/Doors/Systems/DoorSystem.cs index d59ea596229..5968e445c19 100644 --- a/Content.Server/Doors/Systems/DoorSystem.cs +++ b/Content.Server/Doors/Systems/DoorSystem.cs @@ -1,49 +1,22 @@ using Content.Server.Access; -using Content.Server.Administration.Logs; using Content.Server.Atmos.Components; using Content.Server.Atmos.EntitySystems; -using Content.Server.Power.EntitySystems; -using Content.Shared.Database; +using Content.Server.Power.Components; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; -using Content.Shared.Emag.Systems; -using Content.Shared.Interaction; -using Content.Shared.Prying.Components; -using Content.Shared.Prying.Systems; -using Content.Shared.Tools.Systems; -using Robust.Shared.Audio; using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Events; namespace Content.Server.Doors.Systems; public sealed class DoorSystem : SharedDoorSystem { - [Dependency] private readonly IAdminLogManager _adminLog = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly AirtightSystem _airtightSystem = default!; - [Dependency] private readonly PryingSystem _pryingSystem = default!; public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnWeldAttempt); - SubscribeLocalEvent(OnWeldChanged); - SubscribeLocalEvent(OnEmagged); - SubscribeLocalEvent(OnAfterPry); - } - - protected override void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) - { - // TODO once access permissions are shared, move this back to shared. - if (args.Handled || !door.ClickOpen) - return; - - if (!TryToggleDoor(uid, door, args.User)) - _pryingSystem.TryPry(uid, args.User, out _); - - args.Handled = true; + SubscribeLocalEvent(OnBoltPowerChanged); } protected override void SetCollidable( @@ -65,144 +38,16 @@ protected override void SetCollidable( base.SetCollidable(uid, collidable, door, physics, occluder); } - // TODO AUDIO PREDICT Figure out a better way to handle sound and prediction. For now, this works well enough? - // - // Currently a client will predict when a door is going to close automatically. So any client in PVS range can just - // play their audio locally. Playing it server-side causes an odd delay, while in shared it causes double-audio. - // - // But if we just do that, then if a door is closed prematurely as the result of an interaction (i.e., using "E" on - // an open door), then the audio would only be played for the client performing the interaction. - // - // So we do this: - // - Play audio client-side IF the closing is being predicted (auto-close or predicted interaction) - // - Server assumes automated closing is predicted by clients and does not play audio unless otherwise specified. - // - Major exception is player interactions, which other players cannot predict - // - In that case, send audio to all players, except possibly the interacting player if it was a predicted - // interaction. - - /// - /// Selectively send sound to clients, taking care to not send the double-audio. - /// - /// The audio source - /// The sound - /// The audio parameters. - /// The user (if any) that instigated an interaction - /// Whether this interaction would have been predicted. If the predicting player is null, - /// this assumes it would have been predicted by all players in PVS range. - protected override void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted) - { - // If this sound would have been predicted by all clients, do not play any audio. - if (predicted && predictingPlayer == null) - return; - - if (predicted) - Audio.PlayPredicted(soundSpecifier, uid, predictingPlayer, audioParams); - else - Audio.PlayPvs(soundSpecifier, uid, audioParams); - } - - #region DoAfters - private void OnWeldAttempt(EntityUid uid, DoorComponent component, WeldableAttemptEvent args) - { - if (component.CurrentlyCrushing.Count > 0) - { - args.Cancel(); - return; - } - if (component.State != DoorState.Closed && component.State != DoorState.Welded) - { - args.Cancel(); - } - } - - private void OnWeldChanged(EntityUid uid, DoorComponent component, ref WeldableChangedEvent args) - { - if (component.State == DoorState.Closed) - SetState(uid, DoorState.Welded, component); - else if (component.State == DoorState.Welded) - SetState(uid, DoorState.Closed, component); - } - #endregion - - - /// - /// Open a door if a player or door-bumper (PDA, ID-card) collide with the door. Sadly, bullets no longer - /// generate "access denied" sounds as you fire at a door. - /// - protected override void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) - { - // TODO ACCESS READER move access reader to shared and predict door opening/closing - // Then this can be moved to the shared system without mispredicting. - if (!door.BumpOpen) - return; - - if (door.State is not (DoorState.Closed or DoorState.Denying)) - return; - - var otherUid = args.OtherEntity; - - if (Tags.HasTag(otherUid, "DoorBumpOpener")) - TryOpen(uid, door, otherUid, quiet: door.State == DoorState.Denying); - } - private void OnEmagged(EntityUid uid, DoorComponent door, ref GotEmaggedEvent args) - { - if (TryComp(uid, out var airlockComponent)) - { - if (_bolts.IsBolted(uid) || !this.IsPowered(uid, EntityManager)) - return; - - if (door.State == DoorState.Closed) - { - SetState(uid, DoorState.Emagging, door); - PlaySound(uid, door.SparkSound, AudioParams.Default.WithVolume(8), args.UserUid, false); - args.Handled = true; - } - } - } - - public override void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) - { - if (!Resolve(uid, ref door)) - return; - - var lastState = door.State; - - SetState(uid, DoorState.Opening, door); - - if (door.OpenSound != null) - PlaySound(uid, door.OpenSound, AudioParams.Default.WithVolume(-5), user, predicted); - - if (lastState == DoorState.Emagging && TryComp(uid, out var doorBoltComponent)) - _bolts.SetBoltsWithAudio(uid, doorBoltComponent, !doorBoltComponent.BoltsDown); - } - - /// - /// Open or close a door after it has been successfuly pried. - /// - private void OnAfterPry(EntityUid uid, DoorComponent door, ref PriedEvent args) + private void OnBoltPowerChanged(Entity ent, ref PowerChangedEvent args) { - if (door.State == DoorState.Closed) + if (args.Powered) { - _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} open"); - StartOpening(uid, door, args.User); + if (ent.Comp.BoltWireCut) + SetBoltsDown(ent, true); } - else if (door.State == DoorState.Open) - { - _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} closed"); - StartClosing(uid, door, args.User); - } - } - protected override void CheckDoorBump(Entity ent) - { - var (uid, door, physics) = ent; - if (door.BumpOpen) - { - foreach (var other in PhysicsSystem.GetContactingEntities(uid, physics, approximate: true)) - { - if (Tags.HasTag(other, "DoorBumpOpener") && TryOpen(uid, door, other, quiet: true)) - break; - } - } + UpdateBoltLightStatus(ent); + ent.Comp.Powered = args.Powered; + Dirty(ent, ent.Comp); } } diff --git a/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs b/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs index 233ebfed3fa..c5e3aa80c9e 100644 --- a/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs +++ b/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs @@ -18,19 +18,18 @@ public sealed partial class DoorBoltLightWireAction : ComponentWireAction().SetBoltLightsEnabled(wire.Owner, door, false); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), false); return true; } public override bool Mend(EntityUid user, Wire wire, DoorBoltComponent door) { - - EntityManager.System().SetBoltLightsEnabled(wire.Owner, door, true); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), true); return true; } public override void Pulse(EntityUid user, Wire wire, DoorBoltComponent door) { - EntityManager.System().SetBoltLightsEnabled(wire.Owner, door, !door.BoltLightsEnabled); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), !door.BoltLightsEnabled); } } diff --git a/Content.Server/Doors/WireActions/DoorBoltWireAction.cs b/Content.Server/Doors/WireActions/DoorBoltWireAction.cs index 29b5d726a28..fc1cf50cd87 100644 --- a/Content.Server/Doors/WireActions/DoorBoltWireAction.cs +++ b/Content.Server/Doors/WireActions/DoorBoltWireAction.cs @@ -19,24 +19,24 @@ public sealed partial class DoorBoltWireAction : ComponentWireAction().SetBoltWireCut(airlock, true); + EntityManager.System().SetBoltWireCut((wire.Owner, airlock), true); if (!airlock.BoltsDown && IsPowered(wire.Owner)) - EntityManager.System().SetBoltsWithAudio(wire.Owner, airlock, true); + EntityManager.System().SetBoltsDown((wire.Owner, airlock), true, user); return true; } public override bool Mend(EntityUid user, Wire wire, DoorBoltComponent door) { - EntityManager.System().SetBoltWireCut(door, false); + EntityManager.System().SetBoltWireCut((wire.Owner, door), false); return true; } public override void Pulse(EntityUid user, Wire wire, DoorBoltComponent door) { if (IsPowered(wire.Owner)) - EntityManager.System().SetBoltsWithAudio(wire.Owner, door, !door.BoltsDown); + EntityManager.System().SetBoltsDown((wire.Owner, door), !door.BoltsDown); else if (!door.BoltsDown) - EntityManager.System().SetBoltsWithAudio(wire.Owner, door, true); + EntityManager.System().SetBoltsDown((wire.Owner, door), true); } } diff --git a/Content.Server/Magic/MagicSystem.cs b/Content.Server/Magic/MagicSystem.cs index d8febe0d1ff..2c9b11dbd3d 100644 --- a/Content.Server/Magic/MagicSystem.cs +++ b/Content.Server/Magic/MagicSystem.cs @@ -36,7 +36,6 @@ public sealed class MagicSystem : EntitySystem [Dependency] private readonly IComponentFactory _compFact = default!; [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly DoorBoltSystem _boltsSystem = default!; [Dependency] private readonly BodySystem _bodySystem = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly SharedDoorSystem _doorSystem = default!; @@ -307,7 +306,7 @@ private void OnKnockSpell(KnockSpellEvent args) foreach (var entity in _lookup.GetEntitiesInRange(coords, args.Range)) { if (TryComp(entity, out var bolts)) - _boltsSystem.SetBoltsDown(entity, bolts, false); + _doorSystem.SetBoltsDown((entity, bolts), false); if (TryComp(entity, out var doorComp) && doorComp.State is not DoorState.Open) _doorSystem.StartOpening(entity); diff --git a/Content.Server/Remotes/DoorRemoteSystem.cs b/Content.Server/Remotes/DoorRemoteSystem.cs index a88508ce53d..9be7e5e96b4 100644 --- a/Content.Server/Remotes/DoorRemoteSystem.cs +++ b/Content.Server/Remotes/DoorRemoteSystem.cs @@ -18,7 +18,6 @@ namespace Content.Server.Remotes public sealed class DoorRemoteSystem : EntitySystem { [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly AirlockSystem _airlock = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; @@ -105,7 +104,7 @@ private void OnBeforeInteract(EntityUid uid, DoorRemoteComponent component, Befo { if (!boltsComp.BoltWireCut) { - _bolts.SetBoltsWithAudio(args.Target.Value, boltsComp, !boltsComp.BoltsDown); + _doorSystem.SetBoltsDown((args.Target.Value, boltsComp), !boltsComp.BoltsDown, args.User); _adminLogger.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User):player} used {ToPrettyString(args.Used)} on {ToPrettyString(args.Target.Value)} to {(boltsComp.BoltsDown ? "" : "un")}bolt it"); } } diff --git a/Content.Server/Shuttles/Systems/DockingSystem.cs b/Content.Server/Shuttles/Systems/DockingSystem.cs index 778d2443760..7f698850450 100644 --- a/Content.Server/Shuttles/Systems/DockingSystem.cs +++ b/Content.Server/Shuttles/Systems/DockingSystem.cs @@ -20,7 +20,6 @@ namespace Content.Server.Shuttles.Systems public sealed partial class DockingSystem : EntitySystem { [Dependency] private readonly IMapManager _mapManager = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; [Dependency] private readonly FixtureSystem _fixtureSystem = default!; [Dependency] private readonly PathfindingSystem _pathfinding = default!; @@ -363,7 +362,7 @@ public void Dock(EntityUid dockAUid, DockingComponent dockA, EntityUid dockBUid, doorA.ChangeAirtight = false; if (TryComp(dockAUid, out var airlockA)) { - _bolts.SetBoltsWithAudio(dockAUid, airlockA, true); + _doorSystem.SetBoltsDown((dockAUid, airlockA), true); } } } @@ -375,7 +374,7 @@ public void Dock(EntityUid dockAUid, DockingComponent dockA, EntityUid dockBUid, doorB.ChangeAirtight = false; if (TryComp(dockBUid, out var airlockB)) { - _bolts.SetBoltsWithAudio(dockBUid, airlockB, true); + _doorSystem.SetBoltsDown((dockBUid, airlockB), true); } } } @@ -470,7 +469,7 @@ private void OnUndock(EntityUid dockUid, EntityUid other) return; if (TryComp(dockUid, out var airlock)) - _bolts.SetBoltsWithAudio(dockUid, airlock, false); + _doorSystem.SetBoltsDown((dockUid, airlock), false); if (TryComp(dockUid, out DoorComponent? door) && _doorSystem.TryClose(dockUid, door)) door.ChangeAirtight = true; diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs index 2602e9392ec..c0299d1f725 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs @@ -434,7 +434,7 @@ private void SetDockBolts(EntityUid uid, bool enabled) continue; _doors.TryClose(doorUid); - _bolts.SetBoltsWithAudio(doorUid, door, enabled); + _doors.SetBoltsDown((doorUid, door), enabled); } } diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.cs index ef24a4de2ad..c1531f89db6 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.cs @@ -33,7 +33,6 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem [Dependency] private readonly BodySystem _bobby = default!; [Dependency] private readonly DockingSystem _dockSystem = default!; [Dependency] private readonly DoorSystem _doors = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly FixtureSystem _fixtures = default!; [Dependency] private readonly MapLoaderSystem _loader = default!; diff --git a/Content.Server/Wires/WiresSystem.cs b/Content.Server/Wires/WiresSystem.cs index 2b23b093603..0f9ee8b0f75 100644 --- a/Content.Server/Wires/WiresSystem.cs +++ b/Content.Server/Wires/WiresSystem.cs @@ -620,13 +620,6 @@ public IEnumerable TryGetWires(EntityUid uid, WiresComponent? wires = n } } - public void ChangePanelVisibility(EntityUid uid, WiresPanelComponent component, bool visible) - { - component.Visible = visible; - UpdateAppearance(uid, component); - Dirty(uid, component); - } - public void SetWiresPanelSecurity(EntityUid uid, WiresPanelSecurityComponent component, WiresPanelSecurityEvent args) { component.Examine = args.Examine; diff --git a/Content.Shared/Doors/Components/AirlockComponent.cs b/Content.Shared/Doors/Components/AirlockComponent.cs index 332df2ac77d..dd8241c64ec 100644 --- a/Content.Shared/Doors/Components/AirlockComponent.cs +++ b/Content.Shared/Doors/Components/AirlockComponent.cs @@ -12,6 +12,9 @@ namespace Content.Shared.Doors.Components; [Access(typeof(SharedAirlockSystem), Friend = AccessPermissions.ReadWriteExecute, Other = AccessPermissions.Read)] public sealed partial class AirlockComponent : Component { + [DataField, AutoNetworkedField] + public bool Powered; + // Need to network airlock safety state to avoid mis-predicts when a door auto-closes as the client walks through the door. [ViewVariables(VVAccess.ReadWrite)] [DataField, AutoNetworkedField] diff --git a/Content.Shared/Doors/Components/DoorBoltComponent.cs b/Content.Shared/Doors/Components/DoorBoltComponent.cs index 52f7d56db55..a5b0621ff42 100644 --- a/Content.Shared/Doors/Components/DoorBoltComponent.cs +++ b/Content.Shared/Doors/Components/DoorBoltComponent.cs @@ -8,36 +8,43 @@ namespace Content.Shared.Doors.Components; /// Companion component to DoorComponent that handles bolt-specific behavior. /// [RegisterComponent, NetworkedComponent] -[Access(typeof(SharedDoorBoltSystem))] +[Access(typeof(SharedDoorSystem))] +[AutoGenerateComponentState] public sealed partial class DoorBoltComponent : Component { /// /// Sound to play when the bolts on the airlock go up. /// - [DataField("boltUpSound"), ViewVariables(VVAccess.ReadWrite)] + [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltUpSound = new SoundPathSpecifier("/Audio/Machines/boltsup.ogg"); /// /// Sound to play when the bolts on the airlock go down. /// - [DataField("boltDownSound"), ViewVariables(VVAccess.ReadWrite)] + [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltDownSound = new SoundPathSpecifier("/Audio/Machines/boltsdown.ogg"); /// /// Whether the door bolts are currently deployed. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltsDown; /// /// Whether the bolt lights are currently enabled. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltLightsEnabled = true; /// /// True if the bolt wire is cut, which will force the airlock to always be bolted as long as it has power. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltWireCut; + + /// + /// Used for prediction. true if the door has power. + /// + [DataField, AutoNetworkedField] + public bool Powered; } diff --git a/Content.Shared/Doors/Components/DoorComponent.cs b/Content.Shared/Doors/Components/DoorComponent.cs index 135f8b0856d..d1b93d845d7 100644 --- a/Content.Shared/Doors/Components/DoorComponent.cs +++ b/Content.Shared/Doors/Components/DoorComponent.cs @@ -124,14 +124,14 @@ public sealed partial class DoorComponent : Component /// If false, this door is incapable of crushing entities. This just determines whether it will apply damage and /// stun, not whether it can close despite entities being in the way. /// - [DataField] + [DataField, AutoNetworkedField] public bool CanCrush = true; /// /// Whether to check for colliding entities before closing. This may be overridden by other system by subscribing to /// . For example, hacked airlocks will set this to false. /// - [DataField] + [DataField, AutoNetworkedField] public bool PerformCollisionCheck = true; /// @@ -190,7 +190,7 @@ public sealed partial class DoorComponent : Component /// The sprite state used for the door when it's being emagged. /// [DataField] - public string EmaggingSpriteState = "emagging"; + public string EmaggingSpriteState = "sparks"; /// public sealed class BinSystem : EntitySystem { - [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly INetManager _net = default!; [Dependency] private readonly ISharedAdminLogManager _admin = default!; [Dependency] private readonly SharedContainerSystem _container = default!; @@ -32,7 +30,7 @@ public override void Initialize() SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnEntRemoved); - SubscribeLocalEvent(OnInteractHand); + SubscribeLocalEvent(OnInteractHand, before: new[] { typeof(SharedItemSystem) }); SubscribeLocalEvent(OnAfterInteractUsing); SubscribeLocalEvent>(OnAltInteractHand); SubscribeLocalEvent(OnExamined); @@ -73,7 +71,7 @@ private void OnEntRemoved(EntityUid uid, BinComponent component, EntRemovedFromC private void OnInteractHand(EntityUid uid, BinComponent component, InteractHandEvent args) { - if (args.Handled || !_timing.IsFirstTimePredicted) + if (args.Handled) return; EntityUid? toGrab = component.Items.LastOrDefault(); @@ -111,9 +109,6 @@ private void InsertIntoBin(EntityUid user, EntityUid target, EntityUid itemInHan if (handled || !canReach) return; - if (!_timing.IsFirstTimePredicted) - return; - if (!TryInsertIntoBin(target, itemInHand, component)) return; diff --git a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml index 843b402a6c8..fe275e3be31 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml @@ -55,9 +55,11 @@ shape: !type:PhysShapeAabb bounds: "-0.10,-0.10,0.10,0.10" - density: 3 + density: 20 mask: - - TabletopMachineMask + - TabletopMachineMask + restitution: 0.3 + friction: 0.2 - type: InteractionOutline - type: ItemMapper sprite: Objects/Misc/candy_bowl.rsi From 9efabd3bd003ea4ce3378c220002991c59c945ef Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 13:09:20 +0000 Subject: [PATCH 103/345] Automatic changelog update (cherry picked from commit 6f3893a0e0a976566a0795ab52ae5cfe46cc50b6) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 53e9ca0f8c0..d56a92c87af 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Admiral-Obvious-001 - changes: - - message: Added a few words to body bag descriptor so you know they stop rot. - type: Add - id: 5518 - time: '2024-01-03T01:36:18.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23407 - author: CaasGit changes: - message: Give slimes their custom speech bubble! @@ -3851,3 +3844,10 @@ id: 6017 time: '2024-02-25T11:36:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25555 +- author: Krunk + changes: + - message: Candy bowls function properly again! + type: Fix + id: 6018 + time: '2024-02-25T13:08:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25514 From 2b5aef7764fb8d57f1f4b7ff178fc4e2b38ac61e Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 00:10:02 +1100 Subject: [PATCH 104/345] Fix cuffs popup prediction (#25553) (cherry picked from commit a440ccfc7c0d9dcaa68a419cac50f71bde1e42a1) --- Content.Shared/Cuffs/SharedCuffableSystem.cs | 109 ++++++++----------- 1 file changed, 46 insertions(+), 63 deletions(-) diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 99657c87aab..65d93f281ed 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -128,9 +128,9 @@ private void OnUncuffAttempt(ref UncuffAttemptEvent args) } } - if (args.Cancelled && _net.IsServer) + if (args.Cancelled) { - _popup.PopupEntity(Loc.GetString("cuffable-component-cannot-interact-message"), args.Target, args.User); + _popup.PopupClient(Loc.GetString("cuffable-component-cannot-interact-message"), args.Target, args.User); } } @@ -202,8 +202,8 @@ private void OnBuckleAttemptEvent(EntityUid uid, CuffableComponent component, re var message = args.Buckling ? Loc.GetString("handcuff-component-cuff-interrupt-buckled-message") : Loc.GetString("handcuff-component-cuff-interrupt-unbuckled-message"); - if (_net.IsServer) - _popup.PopupEntity(message, uid, args.UserEntity); + + _popup.PopupClient(message, uid, args.UserEntity); } private void OnPull(EntityUid uid, CuffableComponent component, PullMessage args) @@ -265,9 +265,9 @@ private void OnCuffableDoAfter(EntityUid uid, CuffableComponent component, UnCuf { Uncuff(target, user, used, component); } - else if (_net.IsServer) + else { - _popup.PopupEntity(Loc.GetString("cuffable-component-remove-cuffs-fail-message"), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-remove-cuffs-fail-message"), user, user); } } @@ -278,8 +278,7 @@ private void OnCuffAfterInteract(EntityUid uid, HandcuffComponent component, Aft if (!args.CanReach) { - if (_net.IsServer) - _popup.PopupEntity(Loc.GetString("handcuff-component-too-far-away-error"), args.User, args.User); + _popup.PopupClient(Loc.GetString("handcuff-component-too-far-away-error"), args.User, args.User); return; } @@ -312,8 +311,6 @@ private void OnAddCuffDoAfter(EntityUid uid, HandcuffComponent component, AddCuf if (!args.Cancelled && TryAddNewCuffs(target, user, uid, cuffable)) { _audio.PlayPredicted(component.EndCuffSound, uid, user); - if (!_net.IsServer) - return; _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-observer-success-message", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), @@ -322,15 +319,15 @@ private void OnAddCuffDoAfter(EntityUid uid, HandcuffComponent component, AddCuf if (target == user) { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-self-success-message"), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-self-success-message"), user, user); _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(user):player} has cuffed himself"); } else { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-other-success-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-other-success-message", ("otherName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-by-other-success-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-by-other-success-message", ("otherName", Identity.Name(user, EntityManager, target))), target, target); _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(user):player} has cuffed {ToPrettyString(target):player}"); @@ -338,20 +335,18 @@ private void OnAddCuffDoAfter(EntityUid uid, HandcuffComponent component, AddCuf } else { - if (!_net.IsServer) - return; if (target == user) { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-self-message"), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-self-message"), user, user); } else { // TODO Fix popup message wording // This message assumes that the user being handcuffed is the one that caused the handcuff to fail. - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-message", ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-other-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-other-message", ("otherName", Identity.Name(user, EntityManager, target))), target, target); } } @@ -462,21 +457,15 @@ public bool TryCuffing(EntityUid user, EntityUid target, EntityUid handcuff, Han if (!TryComp(target, out var hands)) { - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-has-no-hands-error", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - } + _popup.PopupClient(Loc.GetString("handcuff-component-target-has-no-hands-error", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); return true; } if (cuffable.CuffedHandCount >= hands.Count) { - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-has-no-free-hands-error", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - } + _popup.PopupClient(Loc.GetString("handcuff-component-target-has-no-free-hands-error", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); return true; } @@ -499,24 +488,21 @@ public bool TryCuffing(EntityUid user, EntityUid target, EntityUid handcuff, Han if (!_doAfter.TryStartDoAfter(doAfterEventArgs)) return true; - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-observer", + _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-observer", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), - target, Filter.Pvs(target, entityManager: EntityManager) + target, Filter.Pvs(target, entityManager: EntityManager) .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); - if (target == user) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-self"), user, user); - } - else - { - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-target-message", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-by-other-message", - ("otherName", Identity.Name(user, EntityManager, target))), target, target); - } + if (target == user) + { + _popup.PopupClient(Loc.GetString("handcuff-component-target-self"), user, user); + } + else + { + _popup.PopupClient(Loc.GetString("handcuff-component-start-cuffing-target-message", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-start-cuffing-by-other-message", + ("otherName", Identity.Name(user, EntityManager, target))), target, target); } _audio.PlayPredicted(handcuffComponent.StartCuffSound, handcuff, user); @@ -569,8 +555,7 @@ public void TryUncuff(EntityUid target, EntityUid user, EntityUid? cuffsToRemove if (!isOwner && !_interaction.InRangeUnobstructed(user, target)) { - if (_net.IsServer) - _popup.PopupEntity(Loc.GetString("cuffable-component-cannot-remove-cuffs-too-far-message"), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-cannot-remove-cuffs-too-far-message"), user, user); return; } @@ -594,26 +579,24 @@ public void TryUncuff(EntityUid target, EntityUid user, EntityUid? cuffsToRemove _damageSystem.TryChangeDamage(target, cuff.DamageOnResist, true, false); } - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", - ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), - target, Filter.Pvs(target, entityManager: EntityManager) - .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); + _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", + ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), + target, Filter.Pvs(target, entityManager: EntityManager) + .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); - if (target == user) - { - _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); - } - else - { - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-target-message", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-by-other-message", - ("otherName", Identity.Name(user, EntityManager, target))), target, target); - } + if (target == user) + { + _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); } + else + { + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-target-message", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-by-other-message", + ("otherName", Identity.Name(user, EntityManager, target))), target, target); + } + _audio.PlayPredicted(isOwner ? cuff.StartBreakoutSound : cuff.StartUncuffSound, target, user); } From bea2046baf8ab1ba89fc5b005d678b8034152a0e Mon Sep 17 00:00:00 2001 From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Sun, 25 Feb 2024 16:20:28 +0300 Subject: [PATCH 105/345] Toggleable items shape change on toggle state (#25392) * Toggleable items now can change their shape depends on toggle state * Update Content.Shared/Item/SharedItemSystem.cs --------- Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> (cherry picked from commit 1a5f7c39b2a2c244d5d947d8ff8f09250f21450b) --- .../Components/ItemToggleSizeComponent.cs | 12 +++++++++++ Content.Shared/Item/SharedItemSystem.cs | 21 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs index 353f3d6fd55..b7b47a07322 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs @@ -18,9 +18,21 @@ public sealed partial class ItemToggleSizeComponent : Component [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public ProtoId? ActivatedSize = null; + /// + /// Item's shape when activated + /// + [ViewVariables(VVAccess.ReadWrite), DataField] + public List? ActivatedShape = null; + /// /// Item's size when deactivated. If none is mentioned, it uses the item's default size instead. /// [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public ProtoId? DeactivatedSize = null; + + /// + /// Item's shape when deactivated. If none is mentioned, it uses the item's default shape instead. + /// + [ViewVariables(VVAccess.ReadWrite), DataField] + public List? DeactivatedShape = null; } diff --git a/Content.Shared/Item/SharedItemSystem.cs b/Content.Shared/Item/SharedItemSystem.cs index c6a86c5011f..29e82f8adeb 100644 --- a/Content.Shared/Item/SharedItemSystem.cs +++ b/Content.Shared/Item/SharedItemSystem.cs @@ -46,6 +46,15 @@ public void SetSize(EntityUid uid, ProtoId size, ItemComponen Dirty(uid, component); } + public void SetShape(EntityUid uid, List? shape, ItemComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + component.Shape = shape; + Dirty(uid, component); + } + public void SetHeldPrefix(EntityUid uid, string? heldPrefix, bool force = false, ItemComponent? component = null) { if (!Resolve(uid, ref component, false)) @@ -209,6 +218,13 @@ private void OnItemToggle(EntityUid uid, ItemToggleSizeComponent itemToggleSize, if (args.Activated) { + if (itemToggleSize.ActivatedShape != null) + { + // Set the deactivated shape to the default item's shape before it gets changed. + itemToggleSize.DeactivatedShape ??= new List(GetItemShape(item)); + SetShape(uid, itemToggleSize.ActivatedShape, item); + } + if (itemToggleSize.ActivatedSize != null) { // Set the deactivated size to the default item's size before it gets changed. @@ -218,6 +234,11 @@ private void OnItemToggle(EntityUid uid, ItemToggleSizeComponent itemToggleSize, } else { + if (itemToggleSize.DeactivatedShape != null) + { + SetShape(uid, itemToggleSize.DeactivatedShape, item); + } + if (itemToggleSize.DeactivatedSize != null) { SetSize(uid, (ProtoId) itemToggleSize.DeactivatedSize, item); From 2539a9bcab39560ae6474b11e1c238504183fb21 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Sun, 25 Feb 2024 08:54:07 -0500 Subject: [PATCH 106/345] Juice that makes you Weh! (but real!) (#25132) * Juice that makes you Weh! * Remove dupe * updated the localization files * try to fix error (cherry picked from commit 1de102d08e93c8e5de0bfedf05d4dc02dfbee8a6) --- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + Resources/Locale/en-US/reagents/meta/fun.ftl | 2 + .../Prototypes/Entities/Objects/Fun/toys.yml | 10 +++++ Resources/Prototypes/Flavors/flavors.yml | 5 +++ Resources/Prototypes/Reagents/fun.yml | 37 +++++++++++++++++-- .../Prototypes/SoundCollections/emotes.yml | 5 +++ .../Prototypes/Voice/speech_emote_sounds.yml | 21 ++++++++++- Resources/Prototypes/Voice/speech_emotes.yml | 7 +++- 8 files changed, 82 insertions(+), 6 deletions(-) diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index f2bbd60bed4..5d42146f743 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -252,3 +252,4 @@ flavor-complex-bee = unbeelievable flavor-complex-sax = like jazz flavor-complex-bottledlightning = like lightning in a bottle flavor-complex-punishment = like punishment +flavor-weh = like weh diff --git a/Resources/Locale/en-US/reagents/meta/fun.ftl b/Resources/Locale/en-US/reagents/meta/fun.ftl index 68de618a365..8764a3d28a4 100644 --- a/Resources/Locale/en-US/reagents/meta/fun.ftl +++ b/Resources/Locale/en-US/reagents/meta/fun.ftl @@ -25,3 +25,5 @@ reagent-desc-fresium = A mysterious compound that slows the vibration of atoms a reagent-name-laughter = Laughter reagent-desc-laughter = Some say that this is the best medicine, but recent studies have proven that to be untrue. +reagent-name-weh = juice that makes you Weh +reagent-desc-weh = Pure essence of lizard plush. Makes you Weh! diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 13821bb9cef..d74c33e2991 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -273,6 +273,11 @@ wideAnimationRotation: 180 soundHit: path: /Audio/Items/Toys/weh.ogg + - type: Extractable + juiceSolution: + reagents: + - ReagentId: JuiceThatMakesYouWeh + Quantity: 30 - type: entity parent: PlushieLizard @@ -311,6 +316,11 @@ wideAnimationRotation: 180 soundHit: path: /Audio/Items/Toys/muffled_weh.ogg + - type: Extractable + juiceSolution: + reagents: + - ReagentId: JuiceThatMakesYouWeh + Quantity: 30 - type: entity parent: BasePlushie diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index 07b6e8db0a8..ed231e224bf 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -999,6 +999,11 @@ flavorType: Complex description: flavor-complex-profits +- type: flavor + id: weh + flavorType: Base + description: flavor-weh + - type: flavor id: fishops flavorType: Complex diff --git a/Resources/Prototypes/Reagents/fun.yml b/Resources/Prototypes/Reagents/fun.yml index 25b0e8da809..9597627e876 100644 --- a/Resources/Prototypes/Reagents/fun.yml +++ b/Resources/Prototypes/Reagents/fun.yml @@ -41,7 +41,6 @@ conditions: - !type:OrganType type: Moth - - type: reagent id: BuzzochloricBees @@ -222,13 +221,13 @@ entity: IceCrust maxOnTileWhitelist: tags: [ Ice ] - - !type:ExtinguishTileReaction { } + - !type:ExtinguishTileReaction { } reactiveEffects: Acidic: methods: [ Touch ] effects: - !type:HealthChange - scaleByQuantity: true + scaleByQuantity: true ignoreResistances: false damage: types: @@ -236,7 +235,7 @@ - !type:AdjustTemperature conditions: - !type:Temperature - min: 160.15 + min: 160.15 amount: -30000 Extinguish: methods: [ Touch ] @@ -319,3 +318,33 @@ messages: [ "laughter-effect-control-laughter" ] probability: 0.2 +- type: reagent + id: JuiceThatMakesYouWeh + name: reagent-name-weh + group: Toxins + desc: reagent-desc-weh + physicalDesc: reagent-physical-desc-vibrant + flavor: weh + color: "#59b23a" + metabolisms: + Poison: + metabolismRate: 0.25 + effects: + - !type:Emote + emote: Weh + showInChat: true + probability: 0.5 + - !type:Polymorph + prototype: ArtifactLizard # Does the same thing as the original YML I made for this reagent. + conditions: + - !type:OrganType + type: Animal + shouldHave: false + - !type:ReagentThreshold + min: 50 + - !type:AdjustReagent + reagent: JuiceThatMakesYouWeh + amount: -20 + conditions: + - !type:ReagentThreshold + min: 50 diff --git a/Resources/Prototypes/SoundCollections/emotes.yml b/Resources/Prototypes/SoundCollections/emotes.yml index 19b1b0e33dd..1fbd88b48f7 100644 --- a/Resources/Prototypes/SoundCollections/emotes.yml +++ b/Resources/Prototypes/SoundCollections/emotes.yml @@ -74,3 +74,8 @@ id: Squishes files: - /Audio/Voice/Slime/slime_squish.ogg + +- type: soundCollection + id: Weh + files: + - /Audio/Items/Toys/weh.ogg diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 3740b995212..ee76fa33d2c 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -32,6 +32,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh - type: emoteSounds id: FemaleHuman @@ -66,6 +68,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh - type: emoteSounds id: UnisexReptilian @@ -82,6 +86,8 @@ collection: Whistles Crying: collection: MaleCry + Weh: + collection: Weh - type: emoteSounds id: MaleSlime @@ -116,6 +122,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 @@ -152,6 +160,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 @@ -175,10 +185,11 @@ collection: DionaLaugh Honk: collection: BikeHorn + Weh: + collection: Weh params: variation: 0.125 - - type: emoteSounds id: UnisexArachnid params: @@ -192,6 +203,8 @@ path: /Audio/Voice/Arachnid/arachnid_chitter.ogg Click: path: /Audio/Voice/Arachnid/arachnid_click.ogg + Weh: + collection: Weh - type: emoteSounds id: UnisexDwarf @@ -224,6 +237,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 pitch: 0.75 @@ -259,6 +274,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 pitch: 0.75 @@ -278,6 +295,8 @@ path: /Audio/Voice/Moth/moth_chitter.ogg Squeak: path: /Audio/Voice/Moth/moth_squeak.ogg + Weh: + collection: Weh # body emotes - type: emoteSounds diff --git a/Resources/Prototypes/Voice/speech_emotes.yml b/Resources/Prototypes/Voice/speech_emotes.yml index 0ee67d17c78..01cb7e6697e 100644 --- a/Resources/Prototypes/Voice/speech_emotes.yml +++ b/Resources/Prototypes/Voice/speech_emotes.yml @@ -242,6 +242,11 @@ - buzzes. - buzzes! +- type: emote + id: Weh + category: Vocal + chatMessages: [Weh!] + - type: emote id: Chirp category: Vocal @@ -258,4 +263,4 @@ - chirped! - chirping - chirping. - - chirping! \ No newline at end of file + - chirping! From e51ff3d3bfaa119f736d9f5eb5b14d57e29980a9 Mon Sep 17 00:00:00 2001 From: 778b <33431126+778b@users.noreply.github.com> Date: Sun, 25 Feb 2024 17:54:44 +0400 Subject: [PATCH 107/345] Added ContainerSpawnPoint check for integration test (#25446) * Added logic for ContainerSpawnPoint checks * Improved with template function * fixed nullable * hehe * hehe T? * added type check before cast * another nullable fix * and another one * return to old code (found typo) * Code cleanup --------- Co-authored-by: metalgearsloth (cherry picked from commit 87def406bc2cb3121888d162c8fe707ff937dd6f) --- .../Tests/PostMapInitTest.cs | 44 ++++++++++++------- .../ContainerSpawnPointComponent.cs | 4 +- .../Spawners/Components/ISpawnPoint.cs | 7 +++ .../Components/SpawnPointComponent.cs | 10 +++-- 4 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 Content.Server/Spawners/Components/ISpawnPoint.cs diff --git a/Content.IntegrationTests/Tests/PostMapInitTest.cs b/Content.IntegrationTests/Tests/PostMapInitTest.cs index def6afebeb6..5d032491922 100644 --- a/Content.IntegrationTests/Tests/PostMapInitTest.cs +++ b/Content.IntegrationTests/Tests/PostMapInitTest.cs @@ -220,25 +220,13 @@ await server.WaitPost(() => if (entManager.HasComponent(station)) { - // Test that the map has valid latejoin spawn points + // Test that the map has valid latejoin spawn points or container spawn points if (!NoSpawnMaps.Contains(mapProto)) { var lateSpawns = 0; - var query = entManager.AllEntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var comp)) - { - if (comp.SpawnType != SpawnPointType.LateJoin - || !xformQuery.TryGetComponent(uid, out var xform) - || xform.GridUid == null - || !gridUids.Contains(xform.GridUid.Value)) - { - continue; - } - - lateSpawns++; - break; - } + lateSpawns += GetCountLateSpawn(gridUids, entManager); + lateSpawns += GetCountLateSpawn(gridUids, entManager); Assert.That(lateSpawns, Is.GreaterThan(0), $"Found no latejoin spawn points on {mapProto}"); } @@ -277,6 +265,32 @@ await server.WaitPost(() => await pair.CleanReturnAsync(); } + + + private static int GetCountLateSpawn(List gridUids, IEntityManager entManager) + where T : ISpawnPoint, IComponent + { + var resultCount = 0; + var queryPoint = entManager.AllEntityQueryEnumerator(); +#nullable enable + while (queryPoint.MoveNext(out T? comp, out var xform)) + { + var spawner = (ISpawnPoint) comp; + + if (spawner.SpawnType is not SpawnPointType.LateJoin + || xform.GridUid == null + || !gridUids.Contains(xform.GridUid.Value)) + { + continue; + } +#nullable disable + resultCount++; + break; + } + + return resultCount; + } + [Test] public async Task AllMapsTested() { diff --git a/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs b/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs index 9782becc271..5c8e3c4186b 100644 --- a/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs +++ b/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs @@ -8,7 +8,7 @@ namespace Content.Server.Spawners.Components; /// [RegisterComponent] [Access(typeof(ContainerSpawnPointSystem))] -public sealed partial class ContainerSpawnPointComponent : Component +public sealed partial class ContainerSpawnPointComponent : Component, ISpawnPoint { /// /// The ID of the container that this entity will spawn players into @@ -26,5 +26,5 @@ public sealed partial class ContainerSpawnPointComponent : Component /// The type of spawn point /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public SpawnPointType SpawnType = SpawnPointType.Unset; + public SpawnPointType SpawnType { get; set; } = SpawnPointType.Unset; } diff --git a/Content.Server/Spawners/Components/ISpawnPoint.cs b/Content.Server/Spawners/Components/ISpawnPoint.cs new file mode 100644 index 00000000000..e01841ef993 --- /dev/null +++ b/Content.Server/Spawners/Components/ISpawnPoint.cs @@ -0,0 +1,7 @@ +namespace Content.Server.Spawners.Components; + +public interface ISpawnPoint +{ + SpawnPointType SpawnType { get; set; } +} + diff --git a/Content.Server/Spawners/Components/SpawnPointComponent.cs b/Content.Server/Spawners/Components/SpawnPointComponent.cs index 5a86175a1d2..5cf231f224e 100644 --- a/Content.Server/Spawners/Components/SpawnPointComponent.cs +++ b/Content.Server/Spawners/Components/SpawnPointComponent.cs @@ -4,7 +4,7 @@ namespace Content.Server.Spawners.Components; [RegisterComponent] -public sealed partial class SpawnPointComponent : Component +public sealed partial class SpawnPointComponent : Component, ISpawnPoint { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; @@ -12,9 +12,11 @@ public sealed partial class SpawnPointComponent : Component [DataField("job_id")] private string? _jobId; - [ViewVariables(VVAccess.ReadWrite)] - [DataField("spawn_type")] - public SpawnPointType SpawnType { get; private set; } = SpawnPointType.Unset; + /// + /// The type of spawn point + /// + [DataField("spawn_type"), ViewVariables(VVAccess.ReadWrite)] + public SpawnPointType SpawnType { get; set; } = SpawnPointType.Unset; public JobPrototype? Job => string.IsNullOrEmpty(_jobId) ? null : _prototypeManager.Index(_jobId); From b89b64823c1513271b3e45ba00a6da2fcee710ab Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 13:55:13 +0000 Subject: [PATCH 108/345] Automatic changelog update (cherry picked from commit 4613c9dabc5bd4aee29895486e4afae297be5520) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d56a92c87af..f62b85d8c4e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: CaasGit - changes: - - message: Give slimes their custom speech bubble! - type: Tweak - id: 5519 - time: '2024-01-03T05:12:56.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23415 - author: zzylex changes: - message: You can now make plungers stick to walls. @@ -3851,3 +3844,10 @@ id: 6018 time: '2024-02-25T13:08:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25514 +- author: Whisper + changes: + - message: Added juice that makes you Weh! Juice a lizard plushie today! + type: Add + id: 6019 + time: '2024-02-25T13:54:07.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25132 From 398bbde497649d252d61ea84c214148b9b9415de Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 07:22:43 +1100 Subject: [PATCH 109/345] Fix ItemSlots prediction (#25552) IDK what this arg is for but seems okay with guns. Without it it always thinks the insertion can work. (cherry picked from commit ad29dbe302ac921b9e3f6cbd3ded79788db27b46) --- Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs index d832cdfef8c..90f4f2a9006 100644 --- a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs +++ b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs @@ -274,7 +274,7 @@ public bool CanInsert(EntityUid uid, EntityUid usedUid, EntityUid? user, ItemSlo if (ev.Cancelled) return false; - return _containers.CanInsert(usedUid, slot.ContainerSlot, assumeEmpty: true); + return _containers.CanInsert(usedUid, slot.ContainerSlot); } /// From cf4d51b56ace1dbf18784f309b332fd1ec0989f0 Mon Sep 17 00:00:00 2001 From: potato1234_x <79580518+potato1234x@users.noreply.github.com> Date: Mon, 26 Feb 2024 06:23:22 +1000 Subject: [PATCH 110/345] fix solar computer sprite (#25548) fix (cherry picked from commit 7ba6765a6af09e060f539d8b6fa847de9512c4c9) --- .../Machines/computers.rsi/solar_screen.png | Bin 1084 -> 702 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Structures/Machines/computers.rsi/solar_screen.png b/Resources/Textures/Structures/Machines/computers.rsi/solar_screen.png index 90eb9eb5c6ca4c6c0ec3ebed2eda7cf6d618f488..47c9c9340fd3b85d054c02c20b9920373e2c44ee 100644 GIT binary patch delta 689 zcmdnPv5$3vWIZzj1H+dG6Mq6J#^NA%Cx&(BWL^R}Ea{HEjtmSN`?>!lvI6-M0X`wF zZIKd(86r}Ls&_JJO@y6X{9WP;wTC73;quQ4ELJ%Mgqk+3p^r=85sBu zgD~Uq{1qt-3{29VE{-7;ac^fb*5@5o;Bgi9nD+aA1=}5y8&_23W@^3t?=|}f^Yg|T zQa85TmEmw;V2W2VINK|8hwam+V!qxpl23V_@Ha|0|7vNqQ(X6DCHIj#2cOLSxU=P1 z7HdcQk?Xq-$mQ=_?;xn6$5ZV0VUBr4F~7>cEH=$~e|EB;(D(f~a}|UCgBi1en_n!b zKW6?~yz%ybp88oQHQJ?JB!YH0wkWnryBJwz+!F>_EzrQgqQJliVLAvtI6TY4&GL@I zp$Uh0m3TDoC`<|z-0`<$PrSku?w%sqpt4_TKZK$5smMsO7&S0Wq*1WO!q~@Qa^6iZ2?;-&2YH_&n&r553zR_TfwyV_fUk zv0SULxV-X5v8q7$?gsO4riI4L`RiDw-PC(<_A8f88DsuB);E$DW?q`^-5A$6@4-{f z7or?<*>BA5;k$QzhrkRg)@6MUIP#@FgeMslQxv2-tZnEy#DR#rEo^?*8 z^MlQea6d*ZSpMWp=y(770v?V1@d77UIWOv5c)qPcE}r|(h3L(p4Lg1|2tT%FD$z6K z{!y&B;lKOVxqAK6cSbetw|%f{!7b+Q$OH4e8;{Owv=7%#$X5c|`6x@g;CWDjslF6@ zfo8(G2ON5=XFe+L5ZG|7-$<*0oAKXYE#?aM${KJeKiJQmb6ejub^+Vux%)whlfl!~ K&t;ucLK6VJiyegk delta 1074 zcmV-21kL-t1-uB58Gi-<006^2Vaosj1OrJ#K~#90?cF_78bKJq@rUSSGDBl&XHW`T zy9~~K1RFbNr0_G?(Ws3bpMgSW>};r0-AGGIff_qX8fG#X8B)Y02doF|F8A>A|1}t* z`R`qp^Nn3Z000000Klfm+3vhO+Z{xQ`Jkb=)sxCY$J(Q>*MHx(y>oP!m#rh~Upb3p z_5-4yUH?nk2bErHQhKco-%j3&h`e03M{b87bAK{&>&o9r<}!o|oe zN)E)tM+Pw-KYuN{Ucg;K6qQ-j3G_vezIrAqjmg?IRDlO5Vv{~NnTER z&Oj#~{ePrQ>L+&*ndSVmQ6zl;000000000000000o9p&$cOlPNr?1mbed$=6=rAww z&4JoUpdYqB_XH3T**e-*Jqh%~^_?bwh)A?^r+PW0AExg-0p#gXDnA|P0+L8@koqYy+Nm_*TcizVigoULdO7*Zz+W z#d!jlRVgo*?O=mhrM_97wd%+3^=;tzt5;`@zJK3q0_<0ds+VH={(Y|rPC;$Ke07*qoM6N<$f?TR9ZU6uP From 4ae0590f836059c8ea01e998ba03a0ee6643bcef Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 21:16:41 +0000 Subject: [PATCH 111/345] Automatic changelog update (cherry picked from commit 4e1603424008c0323972207d7699653570fd1912) --- Resources/Changelog/Changelog.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f62b85d8c4e..bfd535dc520 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: zzylex - changes: - - message: You can now make plungers stick to walls. - type: Tweak - - message: A sound is made when a plunger gets stuck to something. - type: Add - - message: You can now shoot plungers with bows. - type: Tweak - id: 5520 - time: '2024-01-03T05:36:17.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23406 - author: EmoGarbage404 changes: - message: Added flatpacks, boxes that unpack into a full-sized machine when activated @@ -3851,3 +3840,11 @@ id: 6019 time: '2024-02-25T13:54:07.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25132 +- author: wafehling + changes: + - message: Secret mode has become more secret, with the 4th option Survival added + to the rotation. + type: Tweak + id: 6020 + time: '2024-02-25T21:15:35.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25568 From fc393559e4b8392d79f2f4ef3548fe1d76fde939 Mon Sep 17 00:00:00 2001 From: Kara Date: Sun, 25 Feb 2024 15:04:51 -0700 Subject: [PATCH 112/345] Don't double-dip survival intensity scaling (#25570) (cherry picked from commit de36ebe2dfbcba11866b61a69d46c2d27077ee76) --- .../StationEvents/Events/AnomalySpawnRule.cs | 2 +- .../Events/BluespaceArtifactRule.cs | 2 +- .../Events/BureaucraticErrorRule.cs | 8 +++----- .../StationEvents/Events/GasLeakRule.cs | 4 +--- .../StationEvents/Events/MeteorSwarmRule.cs | 7 ++----- .../Events/RandomSentienceRule.cs | 3 +-- .../Events/StationEventSystem.cs | 20 ------------------- .../StationEvents/Events/VentClogRule.cs | 9 +++------ .../RampingStationEventSchedulerSystem.cs | 20 ------------------- 9 files changed, 12 insertions(+), 63 deletions(-) diff --git a/Content.Server/StationEvents/Events/AnomalySpawnRule.cs b/Content.Server/StationEvents/Events/AnomalySpawnRule.cs index a59af52f6d5..48a3b900c44 100644 --- a/Content.Server/StationEvents/Events/AnomalySpawnRule.cs +++ b/Content.Server/StationEvents/Events/AnomalySpawnRule.cs @@ -33,7 +33,7 @@ protected override void Started(EntityUid uid, AnomalySpawnRuleComponent compone if (grid is null) return; - var amountToSpawn = Math.Max(1, (int) MathF.Round(GetSeverityModifier() / 2)); + var amountToSpawn = 1; for (var i = 0; i < amountToSpawn; i++) { _anomaly.SpawnOnRandomGridLocation(grid.Value, component.AnomalySpawnerPrototype); diff --git a/Content.Server/StationEvents/Events/BluespaceArtifactRule.cs b/Content.Server/StationEvents/Events/BluespaceArtifactRule.cs index 306b735b847..0eed77f1543 100644 --- a/Content.Server/StationEvents/Events/BluespaceArtifactRule.cs +++ b/Content.Server/StationEvents/Events/BluespaceArtifactRule.cs @@ -19,7 +19,7 @@ protected override void Started(EntityUid uid, BluespaceArtifactRuleComponent co { base.Started(uid, component, gameRule, args); - var amountToSpawn = Math.Max(1, (int) MathF.Round(GetSeverityModifier() / 1.5f)); + var amountToSpawn = 1; for (var i = 0; i < amountToSpawn; i++) { if (!TryFindRandomTile(out _, out _, out _, out var coords)) diff --git a/Content.Server/StationEvents/Events/BureaucraticErrorRule.cs b/Content.Server/StationEvents/Events/BureaucraticErrorRule.cs index 6415aa4c2af..feb88d9b848 100644 --- a/Content.Server/StationEvents/Events/BureaucraticErrorRule.cs +++ b/Content.Server/StationEvents/Events/BureaucraticErrorRule.cs @@ -25,11 +25,9 @@ protected override void Started(EntityUid uid, BureaucraticErrorRuleComponent co if (jobList.Count == 0) return; - var mod = GetSeverityModifier(); - // Low chance to completely change up the late-join landscape by closing all positions except infinite slots. // Lower chance than the /tg/ equivalent of this event. - if (RobustRandom.Prob(Math.Min(0.25f * MathF.Sqrt(mod), 1.0f))) + if (RobustRandom.Prob(0.25f)) { var chosenJob = RobustRandom.PickAndTake(jobList); _stationJobs.MakeJobUnlimited(chosenStation.Value, chosenJob); // INFINITE chaos. @@ -44,8 +42,8 @@ protected override void Started(EntityUid uid, BureaucraticErrorRuleComponent co } else { - var lower = (int) (jobList.Count * Math.Min(1.0f, 0.20 * mod)); - var upper = (int) (jobList.Count * Math.Min(1.0f, 0.30 * mod)); + var lower = (int) (jobList.Count * 0.20); + var upper = (int) (jobList.Count * 0.30); // Changing every role is maybe a bit too chaotic so instead change 20-30% of them. var num = RobustRandom.Next(lower, upper); for (var i = 0; i < num; i++) diff --git a/Content.Server/StationEvents/Events/GasLeakRule.cs b/Content.Server/StationEvents/Events/GasLeakRule.cs index b10db0e5b70..68544e416c3 100644 --- a/Content.Server/StationEvents/Events/GasLeakRule.cs +++ b/Content.Server/StationEvents/Events/GasLeakRule.cs @@ -19,8 +19,6 @@ protected override void Started(EntityUid uid, GasLeakRuleComponent component, G if (!TryComp(uid, out var stationEvent)) return; - var mod = MathF.Sqrt(GetSeverityModifier()); - // Essentially we'll pick out a target amount of gas to leak, then a rate to leak it at, then work out the duration from there. if (TryFindRandomTile(out component.TargetTile, out var target, out component.TargetGrid, out component.TargetCoords)) { @@ -29,7 +27,7 @@ protected override void Started(EntityUid uid, GasLeakRuleComponent component, G component.LeakGas = RobustRandom.Pick(component.LeakableGases); // Was 50-50 on using normal distribution. - var totalGas = RobustRandom.Next(component.MinimumGas, component.MaximumGas) * mod; + var totalGas = RobustRandom.Next(component.MinimumGas, component.MaximumGas); var startAfter = stationEvent.StartDelay; component.MolesPerSecond = RobustRandom.Next(component.MinimumMolesPerSecond, component.MaximumMolesPerSecond); diff --git a/Content.Server/StationEvents/Events/MeteorSwarmRule.cs b/Content.Server/StationEvents/Events/MeteorSwarmRule.cs index ef84d0a9aef..192a620c9fc 100644 --- a/Content.Server/StationEvents/Events/MeteorSwarmRule.cs +++ b/Content.Server/StationEvents/Events/MeteorSwarmRule.cs @@ -17,8 +17,7 @@ protected override void Started(EntityUid uid, MeteorSwarmRuleComponent componen { base.Started(uid, component, gameRule, args); - var mod = Math.Sqrt(GetSeverityModifier()); - component.WaveCounter = (int) (RobustRandom.Next(component.MinimumWaves, component.MaximumWaves) * mod); + component.WaveCounter = RobustRandom.Next(component.MinimumWaves, component.MaximumWaves); } protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent component, GameRuleComponent gameRule, float frameTime) @@ -29,8 +28,6 @@ protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent compo return; } - var mod = GetSeverityModifier(); - component.Cooldown -= frameTime; if (component.Cooldown > 0f) @@ -38,7 +35,7 @@ protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent compo component.WaveCounter--; - component.Cooldown += (component.MaximumCooldown - component.MinimumCooldown) * RobustRandom.NextFloat() / mod + component.MinimumCooldown; + component.Cooldown += (component.MaximumCooldown - component.MinimumCooldown) * RobustRandom.NextFloat() + component.MinimumCooldown; Box2? playableArea = null; var mapId = GameTicker.DefaultMap; diff --git a/Content.Server/StationEvents/Events/RandomSentienceRule.cs b/Content.Server/StationEvents/Events/RandomSentienceRule.cs index d90361fe962..4b7606d01f9 100644 --- a/Content.Server/StationEvents/Events/RandomSentienceRule.cs +++ b/Content.Server/StationEvents/Events/RandomSentienceRule.cs @@ -11,7 +11,6 @@ protected override void Started(EntityUid uid, RandomSentienceRuleComponent comp { HashSet stationsToNotify = new(); - var mod = GetSeverityModifier(); var targetList = new List>(); var query = EntityQueryEnumerator(); while (query.MoveNext(out var targetUid, out var target)) @@ -21,7 +20,7 @@ protected override void Started(EntityUid uid, RandomSentienceRuleComponent comp RobustRandom.Shuffle(targetList); - var toMakeSentient = (int) (RobustRandom.Next(2, 5) * Math.Sqrt(mod)); + var toMakeSentient = RobustRandom.Next(2, 5); var groups = new HashSet(); foreach (var target in targetList) diff --git a/Content.Server/StationEvents/Events/StationEventSystem.cs b/Content.Server/StationEvents/Events/StationEventSystem.cs index 221beccee73..a4f6bc70dfa 100644 --- a/Content.Server/StationEvents/Events/StationEventSystem.cs +++ b/Content.Server/StationEvents/Events/StationEventSystem.cs @@ -134,25 +134,5 @@ protected void ForceEndSelf(EntityUid uid, GameRuleComponent? component = null) GameTicker.EndGameRule(uid, component); } - public float GetSeverityModifier() - { - var ev = new GetSeverityModifierEvent(); - RaiseLocalEvent(ev); - return ev.Modifier; - } - #endregion } - -/// -/// Raised broadcast to determine what the severity modifier should be for an event, some positive number that can be multiplied with various things. -/// Handled by usually other game rules (like the ramping scheduler). -/// Most events should try and make use of this if possible. -/// -public sealed class GetSeverityModifierEvent : EntityEventArgs -{ - /// - /// Should be multiplied/added to rather than set, for commutativity. - /// - public float Modifier = 1.0f; -} diff --git a/Content.Server/StationEvents/Events/VentClogRule.cs b/Content.Server/StationEvents/Events/VentClogRule.cs index f378aec3fb9..e263a5f4f69 100644 --- a/Content.Server/StationEvents/Events/VentClogRule.cs +++ b/Content.Server/StationEvents/Events/VentClogRule.cs @@ -28,9 +28,6 @@ protected override void Started(EntityUid uid, VentClogRuleComponent component, .Where(x => !x.Abstract) .Select(x => x.ID).ToList(); - // TODO: This is gross, but not much can be done until event refactor, which needs Dynamic. - var mod = (float) Math.Sqrt(GetSeverityModifier()); - foreach (var (_, transform) in EntityManager.EntityQuery()) { if (CompOrNull(transform.GridUid)?.Station != chosenStation) @@ -40,14 +37,14 @@ protected override void Started(EntityUid uid, VentClogRuleComponent component, var solution = new Solution(); - if (!RobustRandom.Prob(Math.Min(0.33f * mod, 1.0f))) + if (!RobustRandom.Prob(0.33f)) continue; - var pickAny = RobustRandom.Prob(Math.Min(0.05f * mod, 1.0f)); + var pickAny = RobustRandom.Prob(0.05f); var reagent = RobustRandom.Pick(pickAny ? allReagents : component.SafeishVentChemicals); var weak = component.WeakReagents.Contains(reagent); - var quantity = (weak ? component.WeakReagentQuantity : component.ReagentQuantity) * mod; + var quantity = weak ? component.WeakReagentQuantity : component.ReagentQuantity; solution.AddReagent(reagent, quantity); var foamEnt = Spawn("Foam", transform.Coordinates); diff --git a/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs b/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs index 5c972df52e1..ef3b5cf18a7 100644 --- a/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs +++ b/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs @@ -25,13 +25,6 @@ public float GetChaosModifier(EntityUid uid, RampingStationEventSchedulerCompone return component.MaxChaos / component.EndTime * roundTime + component.StartingChaos; } - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnGetSeverityModifier); - } - protected override void Started(EntityUid uid, RampingStationEventSchedulerComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); @@ -73,19 +66,6 @@ public override void Update(float frameTime) } } - private void OnGetSeverityModifier(GetSeverityModifierEvent ev) - { - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var scheduler, out var gameRule)) - { - if (!GameTicker.IsGameRuleActive(uid, gameRule)) - return; - - ev.Modifier *= GetChaosModifier(uid, scheduler); - Logger.Info($"Ramping set modifier to {ev.Modifier}"); - } - } - private void PickNextEventTime(EntityUid uid, RampingStationEventSchedulerComponent component) { var mod = GetChaosModifier(uid, component); From 976ae5a46629aff0823eb07ff7b3f7d7514a47f1 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Sun, 25 Feb 2024 23:44:05 +0100 Subject: [PATCH 113/345] Add server name into the replay final (#25564) Turns out this is not what serverid was for... i guess you can find server familys with this so im not gonna remove it. Best we get for server name is the admin logs server name. (cherry picked from commit 3ef4e835583b99b020c0bb317be99cb06ade2ec9) --- Content.Server/GameTicking/GameTicker.Replays.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/GameTicking/GameTicker.Replays.cs b/Content.Server/GameTicking/GameTicker.Replays.cs index e09e07b8673..9109fbf96a2 100644 --- a/Content.Server/GameTicking/GameTicker.Replays.cs +++ b/Content.Server/GameTicking/GameTicker.Replays.cs @@ -128,6 +128,7 @@ private void ReplaysOnRecordingStopped(MappingDataNode metadata) metadata["roundEndPlayers"] = _serialman.WriteValue(_replayRoundPlayerInfo); metadata["roundEndText"] = new ValueDataNode(_replayRoundText); metadata["server_id"] = new ValueDataNode(_configurationManager.GetCVar(CCVars.ServerId)); + metadata["server_name"] = new ValueDataNode(_configurationManager.GetCVar(CCVars.AdminLogsServerName)); metadata["roundId"] = new ValueDataNode(RoundId.ToString()); } From e7304108e2cfc3ca1fc9a8cfaf7c0c77c705b653 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 09:48:54 +1100 Subject: [PATCH 114/345] Panic bunker fix (#25538) * Panic bunker fix I admin * tired (cherry picked from commit b26acc95475a9ae2000fddcfb2bee7d058b4122c) --- Content.Server/Connection/ConnectionManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs index 57d2e162af7..c1d353d37fd 100644 --- a/Content.Server/Connection/ConnectionManager.cs +++ b/Content.Server/Connection/ConnectionManager.cs @@ -110,7 +110,7 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e) var adminData = await _dbManager.GetAdminDataForAsync(e.UserId); - if (_cfg.GetCVar(CCVars.PanicBunkerEnabled)) + if (_cfg.GetCVar(CCVars.PanicBunkerEnabled) && adminData == null) { var showReason = _cfg.GetCVar(CCVars.PanicBunkerShowReason); var customReason = _cfg.GetCVar(CCVars.PanicBunkerCustomReason); From f40668818b6bb21d8a9ac33b942e877cfcaae9bd Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Sun, 25 Feb 2024 18:03:22 -0500 Subject: [PATCH 115/345] Add a container display to dispenser UI (#25391) * Implemented contents display for dispenser UI * Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> * Resolve the netent into a euid first --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> (cherry picked from commit 100ece2e2078ab2fe99f4ce1ab36b2cd05319772) --- .../Chemistry/UI/ReagentDispenserWindow.xaml | 31 ++++++++++--------- .../UI/ReagentDispenserWindow.xaml.cs | 13 +++++--- .../EntitySystems/ReagentDispenserSystem.cs | 2 +- .../Chemistry/SharedReagentDispenser.cs | 5 ++- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml index d9e480f132b..3b812ba56b2 100644 --- a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml +++ b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml @@ -32,19 +32,22 @@ StyleClasses="OpenLeft"/> - - - - - - - - - + + + + + + + + + + + + diff --git a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs index a36cc2fe54f..7fcf0191f21 100644 --- a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs +++ b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs @@ -1,4 +1,3 @@ -using System.Linq; using Content.Client.Stylesheets; using Content.Shared.Chemistry; using Content.Shared.Chemistry.Reagent; @@ -19,6 +18,7 @@ namespace Content.Client.Chemistry.UI public sealed partial class ReagentDispenserWindow : DefaultWindow { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; public event Action? OnDispenseReagentButtonPressed; public event Action? OnDispenseReagentButtonMouseEntered; public event Action? OnDispenseReagentButtonMouseExited; @@ -52,7 +52,7 @@ public ReagentDispenserWindow() /// Update the button grid of reagents which can be dispensed. /// /// Reagents which can be dispensed by this dispenser - public void UpdateReagentsList(List>> inventory) + public void UpdateReagentsList(List>> inventory) { if (ChemicalList == null) return; @@ -86,6 +86,9 @@ public void UpdateState(BoundUserInterfaceState state) UpdateContainerInfo(castState); UpdateReagentsList(castState.Inventory); + _entityManager.TryGetEntity(castState.OutputContainerEntity, out var outputContainerEnt); + View.SetEntity(outputContainerEnt); + // Disable the Clear & Eject button if no beaker ClearButton.Disabled = castState.OutputContainer is null; EjectButton.Disabled = castState.OutputContainer is null; @@ -134,7 +137,7 @@ public void UpdateContainerInfo(ReagentDispenserBoundUserInterfaceState state) if (state.OutputContainer is null) { - ContainerInfo.Children.Add(new Label {Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text") }); + ContainerInfo.Children.Add(new Label { Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text") }); return; } @@ -159,11 +162,11 @@ public void UpdateContainerInfo(ReagentDispenserBoundUserInterfaceState state) ? p.LocalizedName : Loc.GetString("reagent-dispenser-window-reagent-name-not-found-text"); - var nameLabel = new Label {Text = $"{localizedName}: "}; + var nameLabel = new Label { Text = $"{localizedName}: " }; var quantityLabel = new Label { Text = Loc.GetString("reagent-dispenser-window-quantity-label-text", ("quantity", quantity)), - StyleClasses = {StyleNano.StyleClassLabelSecondaryColor}, + StyleClasses = { StyleNano.StyleClassLabelSecondaryColor }, }; ContainerInfo.Children.Add(new BoxContainer diff --git a/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs b/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs index d5ec310f87e..7a09d16265e 100644 --- a/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs @@ -68,7 +68,7 @@ private void UpdateUiState(Entity reagentDispenser) var inventory = GetInventory(reagentDispenser); - var state = new ReagentDispenserBoundUserInterfaceState(outputContainerInfo, inventory, reagentDispenser.Comp.DispenseAmount); + var state = new ReagentDispenserBoundUserInterfaceState(outputContainerInfo, GetNetEntity(outputContainer), inventory, reagentDispenser.Comp.DispenseAmount); _userInterfaceSystem.TrySetUiState(reagentDispenser, ReagentDispenserUiKey.Key, state); } diff --git a/Content.Shared/Chemistry/SharedReagentDispenser.cs b/Content.Shared/Chemistry/SharedReagentDispenser.cs index 22cb87dcdb9..2b9c318c58d 100644 --- a/Content.Shared/Chemistry/SharedReagentDispenser.cs +++ b/Content.Shared/Chemistry/SharedReagentDispenser.cs @@ -56,6 +56,8 @@ public enum ReagentDispenserDispenseAmount public sealed class ReagentDispenserBoundUserInterfaceState : BoundUserInterfaceState { public readonly ContainerInfo? OutputContainer; + + public readonly NetEntity? OutputContainerEntity; /// /// A list of the reagents which this dispenser can dispense. /// @@ -63,9 +65,10 @@ public sealed class ReagentDispenserBoundUserInterfaceState : BoundUserInterface public readonly ReagentDispenserDispenseAmount SelectedDispenseAmount; - public ReagentDispenserBoundUserInterfaceState(ContainerInfo? outputContainer, List>> inventory, ReagentDispenserDispenseAmount selectedDispenseAmount) + public ReagentDispenserBoundUserInterfaceState(ContainerInfo? outputContainer, NetEntity? outputContainerEntity, List>> inventory, ReagentDispenserDispenseAmount selectedDispenseAmount) { OutputContainer = outputContainer; + OutputContainerEntity = outputContainerEntity; Inventory = inventory; SelectedDispenseAmount = selectedDispenseAmount; } From b4c87c98001f48c34c8fc63c32524bb87cb05c17 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:04:28 +0000 Subject: [PATCH 116/345] Automatic changelog update (cherry picked from commit 02be78b062fe727aa444bf4b19bc6610b984ec05) --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bfd535dc520..cadecf1ac7e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Added flatpacks, boxes that unpack into a full-sized machine when activated - with a multitool. - type: Add - - message: Added the Flatpacker 1001 to industrial research. A machine capable of - creating flatpacks from machine boards. - type: Add - id: 5521 - time: '2024-01-03T06:16:03.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23338 - author: themias changes: - message: Cyborgs can interact with shuttle consoles, gas mixers and gas filters. @@ -3848,3 +3837,10 @@ id: 6020 time: '2024-02-25T21:15:35.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25568 +- author: Tayrtahn + changes: + - message: Added a live preview display to reagent dispensers. + type: Add + id: 6021 + time: '2024-02-25T23:03:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25391 From 17af37f8bc8feb22455acb8bd8b3ae2066ebe7a7 Mon Sep 17 00:00:00 2001 From: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com> Date: Sun, 25 Feb 2024 18:24:21 -0500 Subject: [PATCH 117/345] Fix grid inventory pick/drop rotation (#25510) OnPiecePressed (cherry picked from commit 7d6e4b164d6013257423afe02b3f06447e37bec3) --- .../UserInterface/Systems/Storage/StorageUIController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs index c83a80b4a5e..5f3ae3a2dac 100644 --- a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs +++ b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs @@ -233,6 +233,8 @@ private void OnPiecePressed(GUIBoundKeyEventArgs args, ItemGridPiece control) if (args.Function == ContentKeyFunctions.MoveStoredItem) { + DraggingRotation = control.Location.Rotation; + _menuDragHelper.MouseDown(control); _menuDragHelper.Update(0f); From 2434c8692f9acf3fdd0dd0b43061900d06c7466f Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Mon, 26 Feb 2024 10:24:59 +1100 Subject: [PATCH 118/345] Satchel empty space is now fully transparent (#25147) * add * thin spaces * update (cherry picked from commit f463cdf3a5d385745c14e6e782c8debf222a92a0) --- .../Clockwork/Storage/tile_blocked.png | Bin 151 -> 0 bytes .../Clockwork/Storage/tile_blocked_opaque.png | Bin 148 -> 0 bytes .../Interface/Default/Storage/tile_blocked.png | Bin 124 -> 104 bytes .../Default/Storage/tile_blocked_opaque.png | Bin 129 -> 104 bytes .../Plasmafire/Storage/tile_blocked.png | Bin 168 -> 0 bytes .../Plasmafire/Storage/tile_blocked_opaque.png | Bin 150 -> 0 bytes .../Interface/Retro/Storage/tile_blocked.png | Bin 167 -> 0 bytes .../Retro/Storage/tile_blocked_opaque.png | Bin 167 -> 0 bytes .../Slimecore/Storage/tile_blocked.png | Bin 171 -> 0 bytes .../Slimecore/Storage/tile_blocked_opaque.png | Bin 150 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Plasmafire/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Retro/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Slimecore/Storage/tile_blocked_opaque.png diff --git a/Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png b/Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png deleted file mode 100644 index 9a553a3e7bb0b99e1523dea8c8a371e809ca8d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK^;#Q#}EtuWRd3yKTbI?CR`Cs{K1eqnN_0M r)Kb$p;R@?wJ%*-0@qjl>Y-|isiXsnI=>G&7z`)??>gTe~DWM4fb6+TP diff --git a/Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png deleted file mode 100644 index c198cd3f97c78445f530b3f1d2595a01fc961d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK}}B=#}EtuWRd3y3Y-RP*+ot>k1)E$3TkwF n7-TUUCR|}lV(2t8FkoQl;$@R}*4iTt)WqQF>gTe~DWM4fAJHO) diff --git a/Resources/Textures/Interface/Default/Storage/tile_blocked.png b/Resources/Textures/Interface/Default/Storage/tile_blocked.png index 663f9b5ec5413e8d03b6f6ebeb08a66e5ea32128..d6896f1feb8eb01d46d361a2a67abfb8d6110ce7 100644 GIT binary patch delta 73 zcmb=)n4sb!>gnPbVj-BEAi=s=(Ljo6u_6N}BLj;71LMBrU?m0y2ENn?&op0O1}z|) V1BgN3Qt)ID<>~6@vd$@?2>>x14z>UQ delta 93 zcmd0(nV=HESRCZ;#IWw1%u5Ca1~X3=#}JF&OlZ7Rf8r{?aRcjmBPKnC x>t#C_Q*PV6Y6=wR(Gx$wuu?BEF(Dy=f#KB@&LDNg+9IF{44$rjF6*2UngD2JAx;1Q diff --git a/Resources/Textures/Interface/Default/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Default/Storage/tile_blocked_opaque.png index 16a65e36dbde7516dc0c56b2c022a6811e3d9249..d6896f1feb8eb01d46d361a2a67abfb8d6110ce7 100644 GIT binary patch delta 74 zcmZo<%$T6!BI@bl7-AuqoFKuvSkXX=X|W;$CnE!k00ZN`U}oXkrG1_o_6wg$RK^-*tru-Pbag~ z{r&U5y+~X`TjEaJrjtyI^(0CeIe6H`5AZ0Mx;GUmF#`d^5m6c2L$YoCK!X@OUHx3v IIVCg!015psa{vGU diff --git a/Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png deleted file mode 100644 index ed269d602388091090aa09f92ac3358a3e3edaec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFCBeIx*f$uN~Gak=hkpdJ{@pN$v zk+_`fz~E?*kdP3<#LUR%mYS?!u!xm8jrC3tM?wMv1HV3B^$r$0kj)I9u6{1-oD!M< DQUxcq diff --git a/Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png deleted file mode 100644 index cedfcffb2bef98e6a18c9cf340718d5cc87e8e73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFCBeIx*f$uN~Gak=hkpdJ{@pN$v zk+_`fz~E?*kdP3<#LUR%mYS?!u!xm8jrC3tM?wMv1HV3B^$r$0kj)I9u6{1-oD!M< DQUxcq diff --git a/Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png b/Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png deleted file mode 100644 index c5b1701f399f86190c3b468ea2b50d2cc878eab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK?hG4#}EtuWRa=U{v2>%WRN~^HSsWrv9s{)bP0l+XkKD7qlN From c97b7bd01748a23515bbef8faabf3af8b4bf1f3b Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:26:05 +0000 Subject: [PATCH 119/345] Automatic changelog update (cherry picked from commit 48604b0019feb15bf06272e0b1c1f13cd71ab38e) --- Resources/Changelog/Changelog.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index cadecf1ac7e..1c1f65a0639 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,19 +1,4 @@ Entries: -- author: themias - changes: - - message: Cyborgs can interact with shuttle consoles, gas mixers and gas filters. - type: Fix - id: 5522 - time: '2024-01-03T06:31:58.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23391 -- author: metalgearsloth - changes: - - message: Fix solution injections considering the fly-by sound range and not the - collision range. - type: Fix - id: 5523 - time: '2024-01-03T07:57:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23429 - author: Bhijn and Myr changes: - message: Light fixtures now actually glow when they're powered on. Like. Their @@ -3844,3 +3829,18 @@ id: 6021 time: '2024-02-25T23:03:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25391 +- author: Krunk + changes: + - message: Fixed grid inventory occasionally messing with your item rotation. + type: Fix + id: 6022 + time: '2024-02-25T23:24:21.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25510 +- author: Ubaser + changes: + - message: Satchels no longer have darkened space representing a gap, and is instead + transparent. + type: Tweak + id: 6023 + time: '2024-02-25T23:24:59.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25147 From e30a38067770dd54982b797aae1dd52610323795 Mon Sep 17 00:00:00 2001 From: hiucko <86206040+hiucko@users.noreply.github.com> Date: Mon, 26 Feb 2024 00:33:12 +0100 Subject: [PATCH 120/345] add "missing spacepen" poster (#25502) * add missing spacepen poster adds missing spacepen poster * Update meta.json --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> (cherry picked from commit 97d41cf9453025a07fe067f2d2c2cacc60e56593) --- .../Markers/Spawners/Random/posters.yml | 1 + .../Structures/Wallmounts/Signs/posters.yml | 9 + .../Wallmounts/posters.rsi/meta.json | 437 +++++++++++++++++- .../posters.rsi/poster63_contraband.png | Bin 0 -> 1439 bytes 4 files changed, 446 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml index 6b385f2401c..f6e27c3d18b 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml @@ -95,6 +95,7 @@ - PosterContrabandBreadLies # Nyanotrasen Poster, see Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmount/Signs/posters.yml - PosterContrabandGotWood # DeltaV Poster, see Resources/Prototypes/DeltaV/Entities/Structures/Wallmount/Signs/posters.yml - PosterContrabandAyaya # Nyanotrasen Poster, see Resources/Prototypes/Nyanotrasen/Entities/Structures/Wallmount/Signs/posters.yml + - PosterContrabandMissingSpacepen chance: 1 - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml index 030de6b254c..1953ecd146d 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml @@ -590,6 +590,15 @@ components: - type: Sprite state: poster62_contraband + +- type: entity + parent: PosterBase + id: PosterContrabandMissingSpacepen + name: "Missing Spacepen" + description: "This poster depicts something you will never find." + components: + - type: Sprite + state: poster63_contraband # Legit - type: entity diff --git a/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json index 94c1af9c774..751413ad0c0 100644 --- a/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json +++ b/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json @@ -1 +1,436 @@ -{"version": 1, "license": "CC-BY-SA-3.0", "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b. poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi. originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460. poster29_legit modified by TJohnson.", "size": {"x": 32, "y": 32}, "states": [{"name": "rolled_contraband"}, {"name": "rolled_legit"}, {"name": "poster_being_set", "delays": [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}, {"name": "pinningposter"}, {"name": "poster_broken"}, {"name": "poster1_contraband"}, {"name": "poster2_contraband"}, {"name": "poster3_contraband"}, {"name": "poster4_contraband"}, {"name": "poster5_contraband"}, {"name": "poster6_contraband"}, {"name": "poster7_contraband"}, {"name": "poster8_contraband"}, {"name": "poster9_contraband"}, {"name": "poster10_contraband"}, {"name": "poster11_contraband"}, {"name": "poster12_contraband"}, {"name": "poster13_contraband"}, {"name": "poster14_contraband"}, {"name": "poster15_contraband"}, {"name": "poster16_contraband"}, {"name": "poster17_contraband"}, {"name": "poster18_contraband"}, {"name": "poster19_contraband"}, {"name": "poster20_contraband"}, {"name": "poster21_contraband"}, {"name": "poster22_contraband"}, {"name": "poster23_contraband"}, {"name": "poster24_contraband"}, {"name": "poster25_contraband"}, {"name": "poster26_contraband"}, {"name": "poster27_contraband"}, {"name": "poster28_contraband"}, {"name": "poster29_contraband"}, {"name": "poster30_contraband"}, {"name": "poster31_contraband"}, {"name": "poster32_contraband"}, {"name": "poster33_contraband"}, {"name": "poster35_contraband"}, {"name": "poster36_contraband"}, {"name": "poster37_contraband"}, {"name": "poster38_contraband"}, {"name": "poster39_contraband"}, {"name": "poster40_contraband"}, {"name": "poster41_contraband"}, {"name": "poster42_contraband"}, {"name": "poster43_contraband"}, {"name": "poster44_contraband"}, {"name": "poster45_contraband"}, {"name": "poster46_contraband"}, {"name": "poster47_contraband"}, {"name": "poster48_contraband"}, {"name": "poster50_contraband"}, {"name": "poster55_contraband"}, {"name": "poster56_contraband"}, {"name": "poster57_contraband"}, {"name": "poster58_contraband"}, {"name": "poster59_contraband"}, {"name": "poster60_contraband"}, {"name": "poster61_contraband"}, {"name": "poster62_contraband"}, {"name": "poster51_contraband"}, {"name": "poster1_legit"}, {"name": "poster2_legit"}, {"name": "poster3_legit"}, {"name": "poster4_legit"}, {"name": "poster5_legit"}, {"name": "poster6_legit"}, {"name": "poster7_legit"}, {"name": "poster8_legit"}, {"name": "poster9_legit"}, {"name": "poster10_legit"}, {"name": "poster11_legit"}, {"name": "poster12_legit"}, {"name": "poster13_legit"}, {"name": "poster14_legit"}, {"name": "poster15_legit"}, {"name": "poster16_legit"}, {"name": "poster17_legit"}, {"name": "poster18_legit"}, {"name": "poster19_legit"}, {"name": "poster20_legit"}, {"name": "poster21_legit"}, {"name": "poster22_legit"}, {"name": "poster23_legit"}, {"name": "poster24_legit"}, {"name": "poster25_legit"}, {"name": "poster26_legit"}, {"name": "poster27_legit"}, {"name": "poster28_legit"}, {"name": "poster29_legit"}, {"name": "poster30_legit"}, {"name": "poster31_legit"}, {"name": "poster32_legit"}, {"name": "poster33_legit"}, {"name": "poster34_legit"}, {"name": "poster35_legit"}, {"name": "poster36_legit"}, {"name": "poster37_legit"}, {"name": "poster38_legit"}, {"name": "poster39_legit"}, {"name": "poster40_legit"}, {"name": "poster41_legit"}, {"name": "poster42_legit"}, {"name": "poster43_legit"}, {"name": "poster44_legit"}, {"name": "poster45_legit"}, {"name": "poster46_legit"}, {"name": "poster47_legit"}, {"name": "poster48_legit"}, {"name": "poster49_legit"}, {"name": "poster50_legit"}, {"name": "poster51_legit"}, {"name": "random_legit"}, {"name": "random_contraband"}, {"name": "random_anything"}, {"name": "poster52_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "poster53_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "poster54_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "bagelmap", "directions": 1, "delays": [[1.0]]}, {"name": "deltamap", "directions": 1, "delays": [[1.0]]}, {"name": "marathonmap", "directions": 1, "delays": [[1.0]]}, {"name": "originmap", "delays": [[1.0]]}, {"name": "moosemap", "directions": 1, "delays": [[1.0]]}, {"name": "packedmap", "directions": 1, "delays": [[1.0]]}, {"name": "pillarmap", "directions": 1, "delays": [[1.0]]}, {"name": "salternmap", "directions": 1, "delays": [[1.0]]}, {"name": "splitmap", "directions": 1, "delays": [[1.0]]}, {"name": "lighthousemap", "directions": 1, "delays": [[1.0]]}, {"name": "waystationmap", "directions": 1, "delays": [[1.0]]}]} +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b. poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi. originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460, poster63_contraband by discord foboscheshir_ poster29_legit modified by TJohnson.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rolled_contraband" + }, + { + "name": "rolled_legit" + }, + { + "name": "poster_being_set", + "delays": [ + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ] + }, + { + "name": "pinningposter" + }, + { + "name": "poster_broken" + }, + { + "name": "poster1_contraband" + }, + { + "name": "poster2_contraband" + }, + { + "name": "poster3_contraband" + }, + { + "name": "poster4_contraband" + }, + { + "name": "poster5_contraband" + }, + { + "name": "poster6_contraband" + }, + { + "name": "poster7_contraband" + }, + { + "name": "poster8_contraband" + }, + { + "name": "poster9_contraband" + }, + { + "name": "poster10_contraband" + }, + { + "name": "poster11_contraband" + }, + { + "name": "poster12_contraband" + }, + { + "name": "poster13_contraband" + }, + { + "name": "poster14_contraband" + }, + { + "name": "poster15_contraband" + }, + { + "name": "poster16_contraband" + }, + { + "name": "poster17_contraband" + }, + { + "name": "poster18_contraband" + }, + { + "name": "poster19_contraband" + }, + { + "name": "poster20_contraband" + }, + { + "name": "poster21_contraband" + }, + { + "name": "poster22_contraband" + }, + { + "name": "poster23_contraband" + }, + { + "name": "poster24_contraband" + }, + { + "name": "poster25_contraband" + }, + { + "name": "poster26_contraband" + }, + { + "name": "poster27_contraband" + }, + { + "name": "poster28_contraband" + }, + { + "name": "poster29_contraband" + }, + { + "name": "poster30_contraband" + }, + { + "name": "poster31_contraband" + }, + { + "name": "poster32_contraband" + }, + { + "name": "poster33_contraband" + }, + { + "name": "poster35_contraband" + }, + { + "name": "poster36_contraband" + }, + { + "name": "poster37_contraband" + }, + { + "name": "poster38_contraband" + }, + { + "name": "poster39_contraband" + }, + { + "name": "poster40_contraband" + }, + { + "name": "poster41_contraband" + }, + { + "name": "poster42_contraband" + }, + { + "name": "poster43_contraband" + }, + { + "name": "poster44_contraband" + }, + { + "name": "poster45_contraband" + }, + { + "name": "poster46_contraband" + }, + { + "name": "poster47_contraband" + }, + { + "name": "poster48_contraband" + }, + { + "name": "poster50_contraband" + }, + { + "name": "poster55_contraband" + }, + { + "name": "poster56_contraband" + }, + { + "name": "poster57_contraband" + }, + { + "name": "poster58_contraband" + }, + { + "name": "poster59_contraband" + }, + { + "name": "poster60_contraband" + }, + { + "name": "poster61_contraband" + }, + { + "name": "poster62_contraband" + }, + { + "name": "poster63_contraband" + }, + { + "name": "poster51_contraband" + }, + { + "name": "poster1_legit" + }, + { + "name": "poster2_legit" + }, + { + "name": "poster3_legit" + }, + { + "name": "poster4_legit" + }, + { + "name": "poster5_legit" + }, + { + "name": "poster6_legit" + }, + { + "name": "poster7_legit" + }, + { + "name": "poster8_legit" + }, + { + "name": "poster9_legit" + }, + { + "name": "poster10_legit" + }, + { + "name": "poster11_legit" + }, + { + "name": "poster12_legit" + }, + { + "name": "poster13_legit" + }, + { + "name": "poster14_legit" + }, + { + "name": "poster15_legit" + }, + { + "name": "poster16_legit" + }, + { + "name": "poster17_legit" + }, + { + "name": "poster18_legit" + }, + { + "name": "poster19_legit" + }, + { + "name": "poster20_legit" + }, + { + "name": "poster21_legit" + }, + { + "name": "poster22_legit" + }, + { + "name": "poster23_legit" + }, + { + "name": "poster24_legit" + }, + { + "name": "poster25_legit" + }, + { + "name": "poster26_legit" + }, + { + "name": "poster27_legit" + }, + { + "name": "poster28_legit" + }, + { + "name": "poster29_legit" + }, + { + "name": "poster30_legit" + }, + { + "name": "poster31_legit" + }, + { + "name": "poster32_legit" + }, + { + "name": "poster33_legit" + }, + { + "name": "poster34_legit" + }, + { + "name": "poster35_legit" + }, + { + "name": "poster36_legit" + }, + { + "name": "poster37_legit" + }, + { + "name": "poster38_legit" + }, + { + "name": "poster39_legit" + }, + { + "name": "poster40_legit" + }, + { + "name": "poster41_legit" + }, + { + "name": "poster42_legit" + }, + { + "name": "poster43_legit" + }, + { + "name": "poster44_legit" + }, + { + "name": "poster45_legit" + }, + { + "name": "poster46_legit" + }, + { + "name": "poster47_legit" + }, + { + "name": "poster48_legit" + }, + { + "name": "poster49_legit" + }, + { + "name": "poster50_legit" + }, + { + "name": "poster51_legit" + }, + { + "name": "random_legit" + }, + { + "name": "random_contraband" + }, + { + "name": "random_anything" + }, + { + "name": "poster52_contraband" + }, + { + "name": "poster53_contraband" + }, + { + "name": "poster54_contraband" + }, + { + "name": "bagelmap" + }, + { + "name": "deltamap" + }, + { + "name": "marathonmap" + }, + { + "name": "originmap" + }, + { + "name": "moosemap" + }, + { + "name": "packedmap" + }, + { + "name": "pillarmap" + }, + { + "name": "salternmap" + }, + { + "name": "splitmap" + }, + { + "name": "lighthousemap" + }, + { + "name": "waystationmap" + } + ] +} diff --git a/Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png b/Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png new file mode 100644 index 0000000000000000000000000000000000000000..3ecb203059e984f28963c953e32f226ca5a59cd0 GIT binary patch literal 1439 zcmV;Q1z`G#P)Px)SxH1eR9J=OmrH0HR}_Z7JDzbgvfhnU$#NX9vM{ueQbJd47U?F`U5YkPXvm}4 zI3$Z2nw23BViMwD)J16n4Fu9W=(3BhvkfV2Q%azv#KlgOnZ~vxd!*55bi0sesm z+U<5nun?qDDO6QO2!U|30Qu=@48y?r_#F(xAhmx#^?IG%Q&Tw8 z)1=dBc27+aKYSQX(^x%l0DxEDeV24P&FhB_b*%gFLsI+qGg&MGFg!fmLm=RRcDvoN zywzf|SmcrHxEDJAe~gVWdiO2>_QVA4?c303uqzVbuSUZs@kmMlCWT<--aQP%fL5zV zd5;H7)1+3bp)M`)^Ecm6*tajRdFab83BUCg0Oij=M}7NkLZJ}r>2-h4{p;766oNvb zKr5feFbpP(MWWFtLIkeAmw?=4{zyvp?Ae3%-~j;E8*gBmCObd)z_%_m{T{>3X2QRo}ziQ2XpNK6jvd3c?d^F$*L48m@igp;0;c$3+1V%s&sc z?^}p^2zYPx&Ye4bH~&{iDJhrB+aqAxHma)nmRBm3!1{KuHGg<+Hw@#&1UzV(2EeIP zr~K3$i^UK^pzAt92vk*NW@d&fSFX@%wUAQ!k?x(*G>yxbFC&D&vMl29IM1Fv8%)3p zILoq#L?V<*C7wQgN~^1z(KO8`(r7d|dGaK!Rtr__h-x;QIF5s=s^oGx*4Nh&LeOkB z1Ku1+ARdng0;W_d;W&<;N;OSmZf=g**;&q=JIB?lS6N(K`GiT1AX`257 zP*s)L*;y);3aY9yKR=JI>&(r~VObUn3kyA^yDtHcgmPoG9rRsVU8jC8W%*21DF z3KuS12*?;38sg%`i~gJ!3oj&K+cuF%L|I&1^xdCKCjG#KPH*4bY(_nV!{LB%%d%*< z+t{{^rfDdO!ph1D{o1_%rAQ?5o2sg@a5$Xl{=^bO;JPlE%s*dj&!0c{txY5ne%gjk t9r2J%CUIRC*L5*Xla-Z~{weXL#ou|LS-n@`*{}cr002ovPDHLkV1kvEv?%}p literal 0 HcmV?d00001 From 35ad3c59e800ea0bfb756c79d714dd28180323e6 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 26 Feb 2024 02:41:24 +0300 Subject: [PATCH 121/345] Flora anomaly nerf (#25499) * Update kudzu.yml * Update living_light.yml * files * Update flora.yml * Update kudzu.yml * bul * Update kudzu.yml * Update living_light.yml * bullet immune (cherry picked from commit 656679cb54317afb8408e0bed47e26da1773ddee) --- .../Entities/Mobs/NPCs/living_light.yml | 14 +-- .../Entities/Objects/Decoration/flora.yml | 84 ++++++++++++++++++ .../Entities/Objects/Misc/kudzu.yml | 21 +++-- .../Flora/flora_treeslight.rsi/meta.json | 29 ++++++ .../Flora/flora_treeslight.rsi/tree01.png | Bin 0 -> 4411 bytes .../Flora/flora_treeslight.rsi/tree02.png | Bin 0 -> 4450 bytes .../Flora/flora_treeslight.rsi/tree03.png | Bin 0 -> 2001 bytes .../Flora/flora_treeslight.rsi/tree04.png | Bin 0 -> 1986 bytes .../Flora/flora_treeslight.rsi/tree05.png | Bin 0 -> 1240 bytes .../Flora/flora_treeslight.rsi/tree06.png | Bin 0 -> 1226 bytes 10 files changed, 124 insertions(+), 24 deletions(-) create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree02.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree05.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree06.png diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml index cc75405e103..9b90d202f3a 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml @@ -30,10 +30,6 @@ state: glow shader: unshaded - type: MobState - - type: MobThresholds - thresholds: - 0: Alive - 50: Dead - type: SlowOnDamage speedModifierThresholds: 20: 0.5 @@ -94,7 +90,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 50 + damage: 25 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -128,10 +124,6 @@ - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] state: glow shader: unshaded - - type: MobThresholds - thresholds: - 0: Alive - 50: Dead - type: DamageStateVisuals states: Alive: @@ -159,10 +151,6 @@ - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] state: glow shader: unshaded - - type: MobThresholds - thresholds: - 0: Alive - 40: Dead - type: DamageStateVisuals states: Alive: diff --git a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml index 791127170f2..6a622d7beaa 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml @@ -484,3 +484,87 @@ components: - type: Sprite state: tree06 + +- type: entity + parent: BaseTree + id: LightTree01 + name: glowing tree + description: a marvelous tree filled with strange energy. + components: + - type: PointLight + radius: 2.0 + energy: 4.5 + color: "#6270bb" + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree01 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/tree_fell.ogg + params: + volume: 5 + variation: 0.05 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + Log: + min: 0 + max: 1 + - !type:SpawnEntitiesBehavior + spawn: + MobLuminousObject: + min: 0 + max: 1 + +- type: entity + parent: LightTree01 + id: LightTree02 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree02 + +- type: entity + parent: LightTree01 + id: LightTree03 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree03 + +- type: entity + parent: LightTree01 + id: LightTree04 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree04 + +- type: entity + parent: LightTree01 + id: LightTree05 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree05 + +- type: entity + parent: LightTree01 + id: LightTree06 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree06 diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml index 6ebf0951174..5de1f0b7f93 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml @@ -135,15 +135,12 @@ offset: 0.2 chance: 0.05 prototypes: - - FloraTree01 - - FloraTree02 - - FloraTree03 - - FloraTree04 - - FloraTree05 - - FloraTree06 - - FloraTreeLarge01 - - FloraTreeLarge02 - - FloraTreeLarge03 + - LightTree01 + - LightTree02 + - LightTree03 + - LightTree04 + - LightTree05 + - LightTree06 - CrystalCyan rarePrototypes: - AnomalyFloraBulb @@ -154,13 +151,15 @@ parent: KudzuFlowerFriendly components: - type: Kudzu - spreadChance: 0.4 + spreadChance: 0.2 - type: RandomSpawner - chance: 0.1 + chance: 0.05 rarePrototypes: - AnomalyFloraBulb + - AnomalyFloraBulb - MobLuminousEntity - MobLuminousObject + - MobLuminousPerson - type: entity id: FleshKudzu diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json new file mode 100644 index 00000000000..4820db2c635 --- /dev/null +++ b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by TheShuEd for Space Station 14", + "size": { + "x": 96, + "y": 96 + }, + "states": [ + { + "name": "tree01" + }, + { + "name": "tree02" + }, + { + "name": "tree03" + }, + { + "name": "tree04" + }, + { + "name": "tree05" + }, + { + "name": "tree06" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png new file mode 100644 index 0000000000000000000000000000000000000000..986b78b0ccfcf9a20064c595a2f97465a2fc329d GIT binary patch literal 4411 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png new file mode 100644 index 0000000000000000000000000000000000000000..f37059eb97b17cbc7057618dc81aa73506d3c51f GIT binary patch literal 2001 zcmV;?2QK)DP)Px+i%CR5RCt{2noVrm<{8I-a%@vywq;pl7WpF{mIwis%snl}u-i8DP$Y*Pik*5e zhWHc|*e)#)V3!6S3IrIskHb(5*d>SVG8hO9Bq&f|J-K+To`_~M_%S5kz2uMOx9 zH&&`cO*I$}OH^eTiA0d(D8GSf>of)5*l{s_nII%&A(R2byjs6)@WjOb}9U)PFrhuZ0XCv zGXc)O^O2iuM&q^Fg!KN;&0y+N%){JN(JJ_ruo;WcNy#-1fafVu=uB6 zgaA@X+JfKk$<_INo!*_i_ai73ljk|WXf@GPgZi4m-yb_4K#Inn>il2*?Ne)VMggE% ztRuiTh5V4j4(c(v9|yBMF^l-*PlAeyPdD*bS57Q zu(_f#IisNFbTYGYAVly~fW}UR#%cw#TI7?f^P!ZIw#KJ3*6SDl2tZ;g!sLuXvsedk zt0gsCM$PG*o;~iCtV%lGbFG@wJsa0I!LxlpOqKvxT(}TA`U87Lm(*NncJ6&1jqdW} zH%~D+qp-Q60$(}5YMKBj>A3q_&aty`12{c<{LseoB6zwHTU@vh0x*hA_q%qz#pw7j zRnv55wu4hGfjz_BYo^9frpBn6rn{f0nx-3u4s%T36z{5_E~o4HYR|dCYMHjyU}7qX zBuDKM^|9j}Dp?b-1#%p}xuVkS5=@e#JtFuqA9%I`_By?rq!MEw8OG>50_@o?$x$RZ z%AH%AY-KevvocCL?&g51X}Sp*=n*V4D-%s0@ntK+(-7paeC?7uGgI;?1IaLj)iQdc z!Of*Ltl>Vg8zpWot#SSGJeq2-mDMQdb+o+hRz;gDsvG;&obHyWk{o4XD(TJOp2MLF zaQ@vtKXVr5|DUH-Gf65jz+Me)twCY6Ol~;`z}2_Ug*4Tmtu>KY{-Lt-%r4QZ;-T%int)05t57JZvJ#R8RHR@j1G3;t6 zsl+&XYK-hgiHcEU{q`1sTMez>-f|mxQ!^>wg&|Lp@Y9^{psi;)b~?h5b^}d?>zC&N z_|e?&dai5j)X`0gBruQ+6P3c$n|9a=j~pQ?g&9bOX=@GIT7!Die;rj{?`YwwL7eZIxJ{M}~yVQ#IgZ-Aidw9lwO?)fB;=+Yc zZnc7Te~Xfu3pMLH8@K=9o;Qk3QcBu7c5()Qod-{k?+-WXwDet!V)MEA=dkgu0019< zc(KP>$?@;G$9lfXv6D08@2>RR)4juXK7ah-#n9gG{erIr*o(Hk&X7Feh9PZxotg9R z_9W(*EbZIo@LTM6@Vx*|$Z*0Cz>qxQo?ls9;3vQQy|whgTTe9h_Of?H`2pVxu$Pum zA)Xim?1wfbH5cl3te&s-INEP9e=mU&ATnY*UaypUK7SpSuU!hAed9e}?Sccz_;kkl z?)QIajZbGRCl~A`NRIaP^4yP$@M#i3K zO9Yib3Sd^t^bJU_L>>sF0NqH@c%WB7-~|XeffK;l2`7{Z^okvdg1icRFF;C3Khg8) z8<5Z|W#Wl321kdyGVMU{bsxo#O=y@3wS zYUmq~=pT&G7whMd(Q(f^0`v_?nANf?0^n;Qd~2A46aTxN-;EP~01<)?n(p4ev+2?+ zWjZbUy-;U{OVM~Boew@1Af=?OA$fv$!frbN`}Y4GfgE;<_RG0J5yO{8I?jjQ2QQ9O zpH=fa_XR}=-x)V~@{IK&Nwm9k1^?#-UpkV2d>Kk69oiKUwjFnQ-*5t`E jfow?xo}l)E1RnDxi}H#A3@52_00000NkvXXu0mjf5gN$% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png new file mode 100644 index 0000000000000000000000000000000000000000..0461766bcd892c81b35d66f4e2690eeeff12f514 GIT binary patch literal 1986 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 literal 0 HcmV?d00001 From bf6b4e8395602d071a15aec27bcea016ac0dfae4 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:42:29 +0000 Subject: [PATCH 122/345] Automatic changelog update (cherry picked from commit 90279b33579f93ccaf240eadf7f924bfc24c4468) --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1c1f65a0639..1a7ef20b35f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: Light fixtures now actually glow when they're powered on. Like. Their - sprite actually glows if the lighting is dim. Revolutionary technology, yes. - type: Tweak - id: 5524 - time: '2024-01-03T08:46:11.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23428 - author: Bhijn and Myr changes: - message: 'Blindness has been completely reworked, top to bottom. Eye damage is @@ -3844,3 +3836,10 @@ id: 6023 time: '2024-02-25T23:24:59.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25147 +- author: TheShuEd + changes: + - message: Huge flora anomaly nerf + type: Tweak + id: 6024 + time: '2024-02-25T23:41:24.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25499 From 5d93d35fdf47f01a686ac93550ee4b6f769d7b55 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 26 Feb 2024 03:36:38 +0100 Subject: [PATCH 123/345] Character profile sanitization improvements (#25579) Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists. Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff. Also I made the character profile validation logic take dependencies in via parameter because fuck resolves. (cherry picked from commit 8d244f7b76ba881253eb94611acaab31865c3920) --- .../Preferences/ClientPreferencesManager.cs | 6 +++- .../Managers/ServerPreferencesManager.cs | 31 ++----------------- .../Preferences/HumanoidCharacterProfile.cs | 29 +++++++++-------- .../Preferences/ICharacterProfile.cs | 9 +++++- 4 files changed, 29 insertions(+), 46 deletions(-) diff --git a/Content.Client/Preferences/ClientPreferencesManager.cs b/Content.Client/Preferences/ClientPreferencesManager.cs index 34b2c33140d..b518493c9d4 100644 --- a/Content.Client/Preferences/ClientPreferencesManager.cs +++ b/Content.Client/Preferences/ClientPreferencesManager.cs @@ -3,8 +3,10 @@ using System.Linq; using Content.Shared.Preferences; using Robust.Client; +using Robust.Shared.Configuration; using Robust.Shared.IoC; using Robust.Shared.Network; +using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Client.Preferences @@ -18,6 +20,8 @@ public sealed class ClientPreferencesManager : IClientPreferencesManager { [Dependency] private readonly IClientNetManager _netManager = default!; [Dependency] private readonly IBaseClient _baseClient = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; + [Dependency] private readonly IPrototypeManager _prototypes = default!; public event Action? OnServerDataLoaded; @@ -60,7 +64,7 @@ public void SelectCharacter(int slot) public void UpdateCharacter(ICharacterProfile profile, int slot) { - profile.EnsureValid(); + profile.EnsureValid(_cfg, _prototypes); var characters = new Dictionary(Preferences.Characters) {[slot] = profile}; Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex, Preferences.AdminOOCColor); var msg = new MsgUpdateCharacter diff --git a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs index bcbe99edf51..e489ae28d58 100644 --- a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs +++ b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs @@ -99,7 +99,7 @@ private async void HandleUpdateCharacterMessage(MsgUpdateCharacter message) var curPrefs = prefsData.Prefs!; - profile.EnsureValid(); + profile.EnsureValid(_cfg, _protos); var profiles = new Dictionary(curPrefs.Characters) { @@ -270,34 +270,7 @@ private PlayerPreferences SanitizePreferences(PlayerPreferences prefs) return new PlayerPreferences(prefs.Characters.Select(p => { - ICharacterProfile newProf; - switch (p.Value) - { - case HumanoidCharacterProfile hp: - { - var prototypeManager = IoCManager.Resolve(); - var selectedSpecies = HumanoidAppearanceSystem.DefaultSpecies; - - if (prototypeManager.TryIndex(hp.Species, out var species) && species.RoundStart) - { - selectedSpecies = hp.Species; - } - - newProf = hp - .WithJobPriorities( - hp.JobPriorities.Where(job => - _protos.HasIndex(job.Key))) - .WithAntagPreferences( - hp.AntagPreferences.Where(antag => - _protos.HasIndex(antag))) - .WithSpecies(selectedSpecies); - break; - } - default: - throw new NotSupportedException(); - } - - return new KeyValuePair(p.Key, newProf); + return new KeyValuePair(p.Key, p.Value.Validated(_cfg, _protos)); }), prefs.SelectedCharacterIndex, prefs.AdminOOCColor); } diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index d68bfd33df0..59906538ec5 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -371,10 +371,8 @@ public bool MemberwiseEquals(ICharacterProfile maybeOther) return Appearance.MemberwiseEquals(other.Appearance); } - public void EnsureValid() + public void EnsureValid(IConfigurationManager configManager, IPrototypeManager prototypeManager) { - var prototypeManager = IoCManager.Resolve(); - if (!prototypeManager.TryIndex(Species, out var speciesPrototype) || speciesPrototype.RoundStart == false) { Species = SharedHumanoidAppearanceSystem.DefaultSpecies; @@ -390,15 +388,10 @@ public void EnsureValid() }; // ensure the species can be that sex and their age fits the founds - var age = Age; - if (speciesPrototype != null) - { - if (!speciesPrototype.Sexes.Contains(sex)) - { - sex = speciesPrototype.Sexes[0]; - } - age = Math.Clamp(Age, speciesPrototype.MinAge, speciesPrototype.MaxAge); - } + if (!speciesPrototype.Sexes.Contains(sex)) + sex = speciesPrototype.Sexes[0]; + + var age = Math.Clamp(Age, speciesPrototype.MinAge, speciesPrototype.MaxAge); var gender = Gender switch { @@ -425,7 +418,6 @@ public void EnsureValid() name = name.Trim(); - var configManager = IoCManager.Resolve(); if (configManager.GetCVar(CCVars.RestrictedNames)) { name = Regex.Replace(name, @"[^\u0030-\u0039,\u0041-\u005A,\u0061-\u007A,\u00C0-\u00D6,\u00D8-\u00F6,\u00F8-\u00FF,\u0100-\u017F, '.,-]", string.Empty); @@ -496,7 +488,7 @@ public void EnsureValid() }; var priorities = new Dictionary(JobPriorities - .Where(p => prototypeManager.HasIndex(p.Key) && p.Value switch + .Where(p => prototypeManager.TryIndex(p.Key, out var job) && job.SetPreference && p.Value switch { JobPriority.Never => false, // Drop never since that's assumed default. JobPriority.Low => true, @@ -506,7 +498,7 @@ public void EnsureValid() })); var antags = AntagPreferences - .Where(prototypeManager.HasIndex) + .Where(id => prototypeManager.TryIndex(id, out var antag) && antag.SetPreference) .ToList(); var traits = TraitPreferences @@ -539,6 +531,13 @@ public void EnsureValid() _traitPreferences.AddRange(traits); } + public ICharacterProfile Validated(IConfigurationManager configManager, IPrototypeManager prototypeManager) + { + var profile = new HumanoidCharacterProfile(this); + profile.EnsureValid(configManager, prototypeManager); + return profile; + } + // sorry this is kind of weird and duplicated, /// working inside these non entity systems is a bit wack public static string GetName(string species, Gender gender) diff --git a/Content.Shared/Preferences/ICharacterProfile.cs b/Content.Shared/Preferences/ICharacterProfile.cs index a17a74498d3..a9d30639bb3 100644 --- a/Content.Shared/Preferences/ICharacterProfile.cs +++ b/Content.Shared/Preferences/ICharacterProfile.cs @@ -1,4 +1,6 @@ using Content.Shared.Humanoid; +using Robust.Shared.Configuration; +using Robust.Shared.Prototypes; namespace Content.Shared.Preferences { @@ -13,6 +15,11 @@ public interface ICharacterProfile /// /// Makes this profile valid so there's no bad data like negative ages. /// - void EnsureValid(); + void EnsureValid(IConfigurationManager configManager, IPrototypeManager prototypeManager); + + /// + /// Gets a copy of this profile that has applied, i.e. no invalid data. + /// + ICharacterProfile Validated(IConfigurationManager configManager, IPrototypeManager prototypeManager); } } From 0d865ea41b539337d639b3baa11d1962e051ec63 Mon Sep 17 00:00:00 2001 From: OctoRocket <88291550+OctoRocket@users.noreply.github.com> Date: Sun, 25 Feb 2024 20:40:22 -0600 Subject: [PATCH 124/345] [Tweak] Everything can read (#25580) Everything can read (kinda) (cherry picked from commit b7be6932f364312e8ca673ab4c0b413f768b92e2) --- Resources/Prototypes/Entities/Objects/Misc/paper.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml index 282037b384b..a54f19a8c2a 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml @@ -18,6 +18,7 @@ - type: ActivatableUI key: enum.PaperUiKey.Key closeOnHandDeselect: false + requireHands: false - type: UserInterface interfaces: - key: enum.PaperUiKey.Key From c7d16b4c6bb8f61ed4dc5adccf6dfc1351a5191e Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:41:20 +0100 Subject: [PATCH 125/345] Remove self-uncuff spam suicide, damage changes (#25161) * Initial commit * Remove damage from cuffs entirely * Changed from Action uncuffing cooldown to UseDelay cooldown * Minor merge conflict fix * Edit the actual correct line * Submodule fix (cherry picked from commit 485fb4cb652793ab4f9cbe90bb2cbf555fbf5540) --- .../Cuffs/Components/HandcuffComponent.cs | 9 ------- Content.Shared/Cuffs/SharedCuffableSystem.cs | 24 ++++++++++++------- .../Entities/Objects/Misc/handcuffs.yml | 5 ++-- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Content.Shared/Cuffs/Components/HandcuffComponent.cs b/Content.Shared/Cuffs/Components/HandcuffComponent.cs index a91692389f1..91d5a412ebc 100644 --- a/Content.Shared/Cuffs/Components/HandcuffComponent.cs +++ b/Content.Shared/Cuffs/Components/HandcuffComponent.cs @@ -52,15 +52,6 @@ public sealed partial class HandcuffComponent : Component [DataField] public bool Removing; - [DataField, ViewVariables(VVAccess.ReadWrite)] - public DamageSpecifier DamageOnResist = new() - { - DamageDict = new() - { - { "Blunt", 3.0 }, - } - }; - /// /// The path of the RSI file used for the player cuffed overlay. /// diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 65d93f281ed..fc005fd30fa 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -6,7 +6,6 @@ using Content.Shared.Atmos.Piping.Unary.Components; using Content.Shared.Buckle.Components; using Content.Shared.Cuffs.Components; -using Content.Shared.Damage; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.Effects; @@ -28,6 +27,7 @@ using Content.Shared.Pulling.Events; using Content.Shared.Rejuvenate; using Content.Shared.Stunnable; +using Content.Shared.Timing; using Content.Shared.Verbs; using Content.Shared.Weapons.Melee.Events; using Robust.Shared.Audio; @@ -48,7 +48,6 @@ public abstract partial class SharedCuffableSystem : EntitySystem [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; [Dependency] private readonly AlertsSystem _alerts = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; - [Dependency] private readonly DamageableSystem _damageSystem = default!; [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedContainerSystem _container = default!; @@ -58,6 +57,7 @@ public abstract partial class SharedCuffableSystem : EntitySystem [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly UseDelaySystem _delay = default!; public override void Initialize() { @@ -560,6 +560,18 @@ public void TryUncuff(EntityUid target, EntityUid user, EntityUid? cuffsToRemove } var uncuffTime = isOwner ? cuff.BreakoutTime : cuff.UncuffTime; + + if (isOwner) + { + if (!TryComp(cuffsToRemove.Value, out UseDelayComponent? useDelay)) + return; + + if (!_delay.TryResetDelay((cuffsToRemove.Value, useDelay), true)) + { + return; + } + } + var doAfterEventArgs = new DoAfterArgs(EntityManager, user, uncuffTime, new UnCuffDoAfterEvent(), target, target, cuffsToRemove) { BreakOnUserMove = true, @@ -574,11 +586,6 @@ public void TryUncuff(EntityUid target, EntityUid user, EntityUid? cuffsToRemove _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is trying to uncuff {ToPrettyString(target)}"); - if (isOwner) - { - _damageSystem.TryChangeDamage(target, cuff.DamageOnResist, true, false); - } - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), target, Filter.Pvs(target, entityManager: EntityManager) @@ -586,7 +593,6 @@ public void TryUncuff(EntityUid target, EntityUid user, EntityUid? cuffsToRemove if (target == user) { - _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); } else @@ -619,6 +625,8 @@ public void Uncuff(EntityUid target, EntityUid? user, EntityUid cuffsToRemove, C cuff.Removing = true; _audio.PlayPredicted(cuff.EndUncuffSound, target, user); + var isOwner = user == target; + _container.Remove(cuffsToRemove, cuffable.Container); if (_net.IsServer) diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index 2e33ef24a30..ad0e7243581 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -25,6 +25,8 @@ - type: GuideHelp guides: - Security + - type: UseDelay + delay: 6 - type: entity name: makeshift handcuffs @@ -148,9 +150,6 @@ - type: Handcuff cuffedRSI: Clothing/OuterClothing/Misc/straight_jacket.rsi breakoutTime: 100 - damageOnResist: - types: - Blunt: 0 cuffTime: 10 uncuffTime: 10 stunBonus: 4 From 8bcd90fa6a5695f409ff8b7ae3c2ac1a735bfc2c Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 02:42:26 +0000 Subject: [PATCH 126/345] Automatic changelog update (cherry picked from commit 2a2324ecaf0dbe5e384ae4f7bdb241a817b3653f) --- Resources/Changelog/Changelog.yml | 53 +++++++++---------------------- 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1a7ef20b35f..be2751900ad 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,42 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: 'Blindness has been completely reworked, top to bottom. Eye damage is - no longer a mere dimming of the screen, but rather, a hyperstylized (read: not - at all realistic) simulation of the symptoms described by those living with - various types of real-world blindness.' - type: Add - - message: When your eyes have reached a critical state of damage, you are now capable - of simply closing them. - type: Add - - message: The settings menu now has a "Reduce motion of visual effects" setting! - Currently, the only thing this does is swap the eye damage effect out for a - far more straight-forward one akin to the blindness overlays seen across various - SS13 servers. - type: Add - - message: The amount of damage that eyes can take has been greatly increased. Total - blindness now takes 9 damage, up from 3. Additionally, eyes are considered to - be in a critical state once they hit 6 damage. - type: Tweak - - message: Glasses no longer actively increase the eye damage effect. They now actively - reduce the eye damage effect, with their effectiveness dropping off as you take - more eye damage, until they eventually do nothing once your eyes are in critical - condition. - type: Tweak - - message: The blind trait is now legal blindness, rather than complete blindness. - The blind trait permanently prevents your eyes from being reduced below the - critical state threshold. - type: Tweak - id: 5525 - time: '2024-01-03T09:07:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23212 -- author: BurninDreamer - changes: - - message: Hand labelers can now be printed by autolathes. - type: Tweak - id: 5526 - time: '2024-01-03T18:24:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23457 - author: themias changes: - message: Fixed refueling a lit welder not detonating the fuel tank @@ -3843,3 +3805,18 @@ id: 6024 time: '2024-02-25T23:41:24.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25499 +- author: OctoRocket + changes: + - message: Removed the hands requirement to read paper. + type: Tweak + id: 6025 + time: '2024-02-26T02:40:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25580 +- author: SlamBamActionman + changes: + - message: Self-uncuff damage has been removed, but attempting to self-uncuff now + has a cooldown instead. + type: Tweak + id: 6026 + time: '2024-02-26T02:41:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25161 From e7a3b82a8dba0ce6b6973581e87cedde1cf4637e Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 26 Feb 2024 04:36:19 +0100 Subject: [PATCH 127/345] Use new ComponentPauseGenerator (#25183) Also includes some (non critical) changes to the solution file to re-organize the Roslyn components. (cherry picked from commit e00f74505c62310bd15aeaba8d6530f648397074) --- .../Anomaly/AnomalySystem.Generator.cs | 12 ----------- .../Anomaly/AnomalySystem.Vessel.cs | 6 ------ .../Components/AnomalyGeneratorComponent.cs | 3 ++- .../Components/AnomalyVesselComponent.cs | 3 ++- .../GeneratingAnomalyGeneratorComponent.cs | 3 ++- Content.Server/Atmos/Rotting/RottingSystem.cs | 12 ----------- .../Components/AutoRechargeComponent.cs | 3 ++- .../Charges/Systems/ChargesSystem.cs | 12 ----------- Content.Server/Chat/EmoteOnDamageComponent.cs | 3 ++- .../Chat/Systems/EmoteOnDamageSystem.cs | 6 ------ .../Components/SolutionPurgeComponent.cs | 3 ++- .../SolutionRegenerationComponent.cs | 3 ++- .../EntitySystems/SolutionPurgeSystem.cs | 12 ----------- .../SolutionRegenerationSystem.cs | 12 ----------- .../Unit/EntitySystems/DisposalUnitSystem.cs | 9 -------- Content.Server/Emp/EmpSystem.cs | 7 ------- .../OnTrigger/TwoStageTriggerComponent.cs | 3 ++- .../Components/TriggerOnProximityComponent.cs | 4 +++- .../EntitySystems/TriggerSystem.Proximity.cs | 7 ------- .../EntitySystems/TwoStageTriggerSystem.cs | 7 ------- .../Fluids/EntitySystems/SmokeSystem.cs | 6 ------ .../Gateway/Components/GatewayComponent.cs | 3 ++- .../Components/GatewayGeneratorComponent.cs | 3 ++- .../Gateway/Systems/GatewayGeneratorSystem.cs | 6 ------ .../Gateway/Systems/GatewaySystem.cs | 6 ------ Content.Server/Hands/Systems/HandsSystem.cs | 5 ----- .../Components/ActiveMicrowaveComponent.cs | 3 ++- .../Kitchen/EntitySystems/MicrowaveSystem.cs | 6 ------ .../Components/HealthAnalyzerComponent.cs | 3 ++- Content.Server/Medical/DefibrillatorSystem.cs | 9 -------- .../Medical/HealthAnalyzerSystem.cs | 6 ------ .../SuitSensors/SuitSensorComponent.cs | 3 ++- .../Medical/SuitSensors/SuitSensorSystem.cs | 6 ------ .../NPC/Components/NPCJukeComponent.cs | 3 ++- .../NPC/Components/NPCSteeringComponent.cs | 4 +++- .../Pathfinding/GridPathfindingComponent.cs | 3 ++- .../NPC/Pathfinding/PathfindingSystem.Grid.cs | 5 ----- Content.Server/NPC/Systems/NPCJukeSystem.cs | 6 ------ .../NPC/Systems/NPCSteeringSystem.cs | 7 ------- .../Components/FatExtractorComponent.cs | 3 ++- .../EntitySystems/AnimalHusbandrySystem.cs | 12 ----------- .../EntitySystems/FatExtractorSystem.cs | 6 ------ .../Components/ChasingWalkComponent.cs | 4 +++- .../Physics/Controllers/ChasingWalkSystem.cs | 7 ------- .../PowerCell/PowerCellSystem.Draw.cs | 5 ----- Content.Server/PowerCell/PowerCellSystem.cs | 1 - .../PowerSink/PowerSinkComponent.cs | 3 ++- Content.Server/PowerSink/PowerSinkSystem.cs | 9 -------- .../Expeditions/SalvageExpeditionComponent.cs | 3 ++- .../Salvage/SalvageSystem.Expeditions.cs | 13 ------------ .../Components/ArrivalsShuttleComponent.cs | 3 ++- .../Shuttles/Components/EscapePodComponent.cs | 3 ++- .../Shuttles/Systems/ArrivalsSystem.cs | 6 ------ .../Systems/EmergencyShuttleSystem.Console.cs | 2 -- .../Systems/EmergencyShuttleSystem.cs | 8 ------- .../EntitySystems/EventHorizonSystem.cs | 6 ------ .../Spreader/GrowingKudzuComponent.cs | 3 ++- Content.Server/Spreader/KudzuSystem.cs | 6 ------ .../Components/StationEventComponent.cs | 4 +++- .../StationEvents/EventManagerSystem.cs | 9 -------- .../LightningArcShooterComponent.cs | 3 ++- .../Components/LightningSparkingComponent.cs | 3 ++- .../EntitySystem/LightningArcShooterSystem.cs | 6 ------ .../EntitySystem/LightningSparkingSystem.cs | 6 ------ .../Anomaly/Components/AnomalyComponent.cs | 4 ++-- .../Components/AnomalyPulsingComponent.cs | 3 ++- .../AnomalySupercriticalComponent.cs | 2 ++ Content.Shared/Anomaly/SharedAnomalySystem.cs | 21 ------------------- .../Atmos/Rotting/PerishableComponent.cs | 3 ++- .../Atmos/Rotting/RottingComponent.cs | 3 ++- .../CryostorageContainedComponent.cs | 3 ++- .../Cryostorage/SharedCryostorageSystem.cs | 8 ------- .../Bed/Sleep/SharedSleepingSystem.cs | 6 ------ Content.Shared/Bed/Sleep/SleepingComponent.cs | 3 ++- Content.Shared/Chasm/ChasmFallingComponent.cs | 3 ++- Content.Shared/Chasm/ChasmSystem.cs | 6 ------ .../Components/SmokeAffectedComponent.cs | 3 ++- .../Climbing/Components/ClimbingComponent.cs | 3 ++- .../Climbing/Systems/ClimbSystem.cs | 10 --------- .../Pacification/PacificationSystem.cs | 7 ------- .../Pacification/PacifiedComponent.cs | 3 ++- .../Components/FlatpackCreatorComponent.cs | 3 ++- .../Construction/SharedFlatpackSystem.cs | 6 ------ .../Components/DamageOnHoldingComponent.cs | 3 ++- .../Damage/Components/StaminaComponent.cs | 3 ++- .../Damage/Systems/DamageOnHoldingSystem.cs | 8 +------ .../Damage/Systems/StaminaSystem.cs | 6 ------ Content.Shared/Emp/EmpDisabledComponent.cs | 4 +++- .../Gravity/GravityShakeComponent.cs | 3 ++- .../Gravity/SharedGravitySystem.Shake.cs | 10 --------- Content.Shared/Gravity/SharedGravitySystem.cs | 2 -- .../Hands/Components/HandsComponent.cs | 3 ++- .../ActiveMaterialReclaimerComponent.cs | 3 ++- .../InsertingMaterialStorageComponent.cs | 3 ++- .../Materials/MaterialReclaimerComponent.cs | 3 ++- .../SharedMaterialReclaimerSystem.cs | 12 ----------- .../Materials/SharedMaterialStorageSystem.cs | 6 ------ .../Medical/DefibrillatorComponent.cs | 3 ++- .../Ninja/Components/NinjaSuitComponent.cs | 2 ++ .../Ninja/Systems/SharedNinjaSuitSystem.cs | 6 ------ .../AnimalHusbandry/InfantComponent.cs | 3 ++- .../AnimalHusbandry/ReproductiveComponent.cs | 3 ++- .../Nutrition/Components/HungerComponent.cs | 3 ++- .../Nutrition/Components/ThirstComponent.cs | 3 ++- .../Nutrition/EntitySystems/HungerSystem.cs | 6 ------ .../Nutrition/EntitySystems/ThirstSystem.cs | 6 ------ .../PowerCell/PowerCellDrawComponent.cs | 3 ++- .../Salvage/Expeditions/SalvageExpeditions.cs | 3 ++- .../Salvage/Fulton/FultonedComponent.cs | 3 ++- .../Salvage/Fulton/SharedFultonSystem.cs | 6 ------ .../Components/EventHorizonComponent.cs | 3 ++- .../Components/EmitSoundOnCollideComponent.cs | 3 ++- Content.Shared/Sound/SharedEmitSoundSystem.cs | 6 ------ .../Components/MagnetPickupComponent.cs | 3 ++- .../EntitySystems/MagnetPickupSystem.cs | 6 ------ .../Components/SwapTeleporterComponent.cs | 3 ++- .../Systems/SwapTeleporterSystem.cs | 6 ------ .../Throwing/ThrownItemComponent.cs | 3 ++- Content.Shared/Throwing/ThrownItemSystem.cs | 9 -------- Content.Shared/Timing/UseDelayComponent.cs | 4 +++- Content.Shared/Timing/UseDelaySystem.cs | 13 ------------ .../Weapons/Marker/DamageMarkerComponent.cs | 2 ++ .../Marker/SharedDamageMarkerSystem.cs | 6 ------ .../Weapons/Melee/MeleeWeaponComponent.cs | 3 ++- .../Weapons/Melee/SharedMeleeWeaponSystem.cs | 6 ------ .../Weapons/Ranged/Components/GunComponent.cs | 3 ++- .../RechargeBasicEntityAmmoComponent.cs | 3 ++- .../Systems/RechargeBasicEntityAmmoSystem.cs | 9 -------- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 6 ------ SpaceStation14.sln | 16 +++++++++----- 130 files changed, 150 insertions(+), 539 deletions(-) diff --git a/Content.Server/Anomaly/AnomalySystem.Generator.cs b/Content.Server/Anomaly/AnomalySystem.Generator.cs index d07740e2f66..2053a7bbbe6 100644 --- a/Content.Server/Anomaly/AnomalySystem.Generator.cs +++ b/Content.Server/Anomaly/AnomalySystem.Generator.cs @@ -33,9 +33,7 @@ private void InitializeGenerator() SubscribeLocalEvent(OnGeneratorMaterialAmountChanged); SubscribeLocalEvent(OnGenerateButtonPressed); SubscribeLocalEvent(OnGeneratorPowerChanged); - SubscribeLocalEvent(OnGeneratorUnpaused); SubscribeLocalEvent(OnGeneratingStartup); - SubscribeLocalEvent(OnGeneratingUnpaused); } private void OnGeneratorPowerChanged(EntityUid uid, AnomalyGeneratorComponent component, ref PowerChangedEvent args) @@ -58,11 +56,6 @@ private void OnGenerateButtonPressed(EntityUid uid, AnomalyGeneratorComponent co TryGeneratorCreateAnomaly(uid, component); } - private void OnGeneratorUnpaused(EntityUid uid, AnomalyGeneratorComponent component, ref EntityUnpausedEvent args) - { - component.CooldownEndTime += args.PausedTime; - } - public void UpdateGeneratorUi(EntityUid uid, AnomalyGeneratorComponent component) { var materialAmount = _material.GetMaterialAmount(uid, component.RequiredMaterial); @@ -169,11 +162,6 @@ private void OnGeneratingStartup(EntityUid uid, GeneratingAnomalyGeneratorCompon Appearance.SetData(uid, AnomalyGeneratorVisuals.Generating, true); } - private void OnGeneratingUnpaused(EntityUid uid, GeneratingAnomalyGeneratorComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void OnGeneratingFinished(EntityUid uid, AnomalyGeneratorComponent component) { var xform = Transform(uid); diff --git a/Content.Server/Anomaly/AnomalySystem.Vessel.cs b/Content.Server/Anomaly/AnomalySystem.Vessel.cs index b3051a26428..35de5c1a646 100644 --- a/Content.Server/Anomaly/AnomalySystem.Vessel.cs +++ b/Content.Server/Anomaly/AnomalySystem.Vessel.cs @@ -23,7 +23,6 @@ private void InitializeVessel() SubscribeLocalEvent(OnVesselInteractUsing); SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnVesselGetPointsPerSecond); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnStabilityChanged); } @@ -101,11 +100,6 @@ private void OnVesselGetPointsPerSecond(EntityUid uid, AnomalyVesselComponent co args.Points += (int) (GetAnomalyPointValue(anomaly) * component.PointMultiplier); } - private void OnUnpaused(EntityUid uid, AnomalyVesselComponent component, ref EntityUnpausedEvent args) - { - component.NextBeep += args.PausedTime; - } - private void OnVesselAnomalyShutdown(ref AnomalyShutdownEvent args) { var query = EntityQueryEnumerator(); diff --git a/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs b/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs index 1ff0290fc96..d4acfc6150c 100644 --- a/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs +++ b/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs @@ -12,13 +12,14 @@ namespace Content.Server.Anomaly.Components; /// This is used for a machine that is able to generate /// anomalies randomly on the station. /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyGeneratorComponent : Component { /// /// The time at which the cooldown for generating another anomaly will be over /// [DataField("cooldownEndTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan CooldownEndTime = TimeSpan.Zero; /// diff --git a/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs b/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs index 74c5e3e9ed2..1225cbf1160 100644 --- a/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs +++ b/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.Anomaly.Components; /// they generate points for the selected server based on /// the anomaly's stability and severity. /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyVesselComponent : Component { /// @@ -42,6 +42,7 @@ public sealed partial class AnomalyVesselComponent : Component /// When the next beep sound will play /// [DataField("nextBeep", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextBeep = TimeSpan.Zero; /// diff --git a/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs b/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs index 4233bfd7e1e..ef93e8c6997 100644 --- a/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs +++ b/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs @@ -4,13 +4,14 @@ namespace Content.Server.Anomaly.Components; -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class GeneratingAnomalyGeneratorComponent : Component { /// /// When the generating period will end. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan EndTime = TimeSpan.Zero; public EntityUid? AudioStream; diff --git a/Content.Server/Atmos/Rotting/RottingSystem.cs b/Content.Server/Atmos/Rotting/RottingSystem.cs index e3389def662..47bac84e0ca 100644 --- a/Content.Server/Atmos/Rotting/RottingSystem.cs +++ b/Content.Server/Atmos/Rotting/RottingSystem.cs @@ -29,11 +29,9 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnPerishableMapInit); - SubscribeLocalEvent(OnPerishableUnpaused); SubscribeLocalEvent(OnMobStateChanged); SubscribeLocalEvent(OnPerishableExamined); - SubscribeLocalEvent(OnRottingUnpaused); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnRottingMobStateChanged); SubscribeLocalEvent(OnGibbed); @@ -47,11 +45,6 @@ private void OnPerishableMapInit(EntityUid uid, PerishableComponent component, M component.RotNextUpdate = _timing.CurTime + component.PerishUpdateRate; } - private void OnPerishableUnpaused(EntityUid uid, PerishableComponent component, ref EntityUnpausedEvent args) - { - component.RotNextUpdate += args.PausedTime; - } - private void OnMobStateChanged(EntityUid uid, PerishableComponent component, MobStateChangedEvent args) { if (args.NewMobState != MobState.Dead && args.OldMobState != MobState.Dead) @@ -64,11 +57,6 @@ private void OnMobStateChanged(EntityUid uid, PerishableComponent component, Mob component.RotNextUpdate = _timing.CurTime + component.PerishUpdateRate; } - private void OnRottingUnpaused(EntityUid uid, RottingComponent component, ref EntityUnpausedEvent args) - { - component.NextRotUpdate += args.PausedTime; - } - private void OnShutdown(EntityUid uid, RottingComponent component, ComponentShutdown args) { if (TryComp(uid, out var perishable)) diff --git a/Content.Server/Charges/Components/AutoRechargeComponent.cs b/Content.Server/Charges/Components/AutoRechargeComponent.cs index e23f0229bb4..9dcf555ea93 100644 --- a/Content.Server/Charges/Components/AutoRechargeComponent.cs +++ b/Content.Server/Charges/Components/AutoRechargeComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Charges.Components; /// Something with limited charges that can be recharged automatically. /// Requires LimitedChargesComponent to function. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(ChargesSystem))] public sealed partial class AutoRechargeComponent : Component { @@ -21,5 +21,6 @@ public sealed partial class AutoRechargeComponent : Component /// The time when the next charge will be added /// [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextChargeTime; } diff --git a/Content.Server/Charges/Systems/ChargesSystem.cs b/Content.Server/Charges/Systems/ChargesSystem.cs index 82758f4653d..03e192e680e 100644 --- a/Content.Server/Charges/Systems/ChargesSystem.cs +++ b/Content.Server/Charges/Systems/ChargesSystem.cs @@ -10,13 +10,6 @@ public sealed class ChargesSystem : SharedChargesSystem { [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -32,11 +25,6 @@ public override void Update(float frameTime) } } - private void OnUnpaused(EntityUid uid, AutoRechargeComponent comp, ref EntityUnpausedEvent args) - { - comp.NextChargeTime += args.PausedTime; - } - protected override void OnExamine(EntityUid uid, LimitedChargesComponent comp, ExaminedEvent args) { base.OnExamine(uid, comp, args); diff --git a/Content.Server/Chat/EmoteOnDamageComponent.cs b/Content.Server/Chat/EmoteOnDamageComponent.cs index 91eddef215b..8653a4fe553 100644 --- a/Content.Server/Chat/EmoteOnDamageComponent.cs +++ b/Content.Server/Chat/EmoteOnDamageComponent.cs @@ -8,7 +8,7 @@ namespace Content.Server.Chat; /// /// Causes an entity to automatically emote when taking damage. /// -[RegisterComponent, Access(typeof(EmoteOnDamageSystem))] +[RegisterComponent, Access(typeof(EmoteOnDamageSystem)), AutoGenerateComponentPause] public sealed partial class EmoteOnDamageComponent : Component { /// @@ -41,6 +41,7 @@ public sealed partial class EmoteOnDamageComponent : Component /// The simulation time of the last emote preformed due to taking damage. /// [DataField("lastEmoteTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan LastEmoteTime = TimeSpan.Zero; /// diff --git a/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs b/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs index 9a435971f2d..878c517d924 100644 --- a/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs +++ b/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs @@ -18,15 +18,9 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnDamage); } - private void OnUnpaused(EntityUid uid, EmoteOnDamageComponent emoteOnDamage, ref EntityUnpausedEvent args) - { - emoteOnDamage.LastEmoteTime += args.PausedTime; - } - private void OnDamage(EntityUid uid, EmoteOnDamageComponent emoteOnDamage, DamageChangedEvent args) { if (!args.DamageIncreased) diff --git a/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs b/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs index 0525542b969..9b9294b6f93 100644 --- a/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs +++ b/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs @@ -9,7 +9,7 @@ namespace Content.Server.Chemistry.Components; /// /// Passively decreases a solution's quantity of reagent(s). /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SolutionPurgeSystem))] public sealed partial class SolutionPurgeComponent : Component { @@ -42,5 +42,6 @@ public sealed partial class SolutionPurgeComponent : Component /// The time when the next purge will occur. /// [DataField("nextPurgeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextPurgeTime = TimeSpan.FromSeconds(0); } diff --git a/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs b/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs index 7fe2dacb679..23bf6b21573 100644 --- a/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs +++ b/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Chemistry.Components; /// /// Passively increases a solution's quantity of a reagent. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SolutionRegenerationSystem))] public sealed partial class SolutionRegenerationComponent : Component { @@ -39,5 +39,6 @@ public sealed partial class SolutionRegenerationComponent : Component /// The time when the next regeneration will occur. /// [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextRegenTime = TimeSpan.FromSeconds(0); } diff --git a/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs b/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs index e6e003a7f5f..42b8ab374a2 100644 --- a/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs @@ -10,13 +10,6 @@ public sealed class SolutionPurgeSystem : EntitySystem [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -33,9 +26,4 @@ public override void Update(float frameTime) _solutionContainer.SplitSolutionWithout(solution.Value, purge.Quantity, purge.Preserve.ToArray()); } } - - private void OnUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextPurgeTime += args.PausedTime; - } } diff --git a/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs b/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs index 37458846e33..5af181e4af5 100644 --- a/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs @@ -12,13 +12,6 @@ public sealed class SolutionRegenerationSystem : EntitySystem [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -52,9 +45,4 @@ public override void Update(float frameTime) } } } - - private void OnUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextRegenTime += args.PausedTime; - } } diff --git a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs index 35b2afc2e0f..6938792315c 100644 --- a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs +++ b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs @@ -68,7 +68,6 @@ public override void Initialize() // Shouldn't need re-anchoring. SubscribeLocalEvent(OnAnchorChanged); - SubscribeLocalEvent(OnUnpaused); // TODO: Predict me when hands predicted SubscribeLocalEvent(OnMovement); SubscribeLocalEvent(OnPowerChange); @@ -103,14 +102,6 @@ private void OnGetState(EntityUid uid, DisposalUnitComponent component, ref Comp GetNetEntityList(component.RecentlyEjected)); } - private void OnUnpaused(EntityUid uid, SharedDisposalUnitComponent component, ref EntityUnpausedEvent args) - { - if (component.NextFlush != null) - component.NextFlush = component.NextFlush.Value + args.PausedTime; - - component.NextPressurized += args.PausedTime; - } - private void AddDisposalAltVerbs(EntityUid uid, SharedDisposalUnitComponent component, GetVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) diff --git a/Content.Server/Emp/EmpSystem.cs b/Content.Server/Emp/EmpSystem.cs index 02a18284e8b..7c1a6f9b5db 100644 --- a/Content.Server/Emp/EmpSystem.cs +++ b/Content.Server/Emp/EmpSystem.cs @@ -17,7 +17,6 @@ public sealed class EmpSystem : SharedEmpSystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(HandleEmpTrigger); @@ -96,12 +95,6 @@ public override void Update(float frameTime) } } - private void OnUnpaused(EntityUid uid, EmpDisabledComponent component, ref EntityUnpausedEvent args) - { - component.DisabledUntil += args.PausedTime; - component.TargetTime += args.PausedTime; - } - private void OnExamine(EntityUid uid, EmpDisabledComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("emp-disabled-comp-on-examine")); diff --git a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs index 357286b192e..a63d6fcf66f 100644 --- a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs +++ b/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Explosion.Components.OnTrigger; /// /// After being triggered applies the specified components and runs triggers again. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class TwoStageTriggerComponent : Component { /// @@ -23,6 +23,7 @@ public sealed partial class TwoStageTriggerComponent : Component public ComponentRegistry SecondStageComponents = new(); [DataField("nextTriggerTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? NextTriggerTime; [DataField("triggered")] diff --git a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs b/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs index 504ef4dee43..4f3fb4754e9 100644 --- a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs +++ b/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs @@ -13,7 +13,7 @@ namespace Content.Server.Explosion.Components /// /// Raises a whenever an entity collides with a fixture attached to the owner of this component. /// - [RegisterComponent] + [RegisterComponent, AutoGenerateComponentPause] public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximityComponent { public const string FixtureID = "trigger-on-proximity-fixture"; @@ -58,6 +58,7 @@ public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximi /// [ViewVariables(VVAccess.ReadWrite)] [DataField("nextTrigger", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTrigger = TimeSpan.Zero; /// @@ -65,6 +66,7 @@ public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximi /// [ViewVariables(VVAccess.ReadWrite)] [DataField("nextVisualUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextVisualUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs index d3d97a851e6..119b1a3d368 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs +++ b/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs @@ -17,7 +17,6 @@ private void InitializeProximity() SubscribeLocalEvent(OnProximityStartCollide); SubscribeLocalEvent(OnProximityEndCollide); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnProximityShutdown); // Shouldn't need re-anchoring. SubscribeLocalEvent(OnProximityAnchor); @@ -65,12 +64,6 @@ private void OnMapInit(EntityUid uid, TriggerOnProximityComponent component, Map collisionLayer: component.Layer); } - private void OnUnpaused(EntityUid uid, TriggerOnProximityComponent component, ref EntityUnpausedEvent args) - { - component.NextTrigger += args.PausedTime; - component.NextVisualUpdate += args.PausedTime; - } - private void OnProximityStartCollide(EntityUid uid, TriggerOnProximityComponent component, ref StartCollideEvent args) { if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) diff --git a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs index a8c48f21d6c..4e95eabff04 100644 --- a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs +++ b/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs @@ -14,16 +14,9 @@ public sealed class TwoStageTriggerSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnTriggerUnpaused); SubscribeLocalEvent(OnTrigger); } - private void OnTriggerUnpaused(EntityUid uid, TwoStageTriggerComponent component, ref EntityUnpausedEvent args) - { - if (component.NextTriggerTime != null) - component.NextTriggerTime = component.NextTriggerTime.Value + args.PausedTime; - } - private void OnTrigger(EntityUid uid, TwoStageTriggerComponent component, TriggerEvent args) { if (component.Triggered) diff --git a/Content.Server/Fluids/EntitySystems/SmokeSystem.cs b/Content.Server/Fluids/EntitySystems/SmokeSystem.cs index 795655068f7..cb6f9c13ef1 100644 --- a/Content.Server/Fluids/EntitySystems/SmokeSystem.cs +++ b/Content.Server/Fluids/EntitySystems/SmokeSystem.cs @@ -63,7 +63,6 @@ public override void Initialize() SubscribeLocalEvent(OnReactionAttempt); SubscribeLocalEvent>(OnReactionAttempt); SubscribeLocalEvent(OnSmokeSpread); - SubscribeLocalEvent(OnAffectedUnpaused); } /// @@ -124,11 +123,6 @@ private void OnEndCollide(Entity entity, ref EndCollideEvent arg RemComp(args.OtherEntity, smokeAffectedComponent); } - private void OnAffectedUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextSecond += args.PausedTime; - } - private void OnSmokeSpread(Entity entity, ref SpreadNeighborsEvent args) { if (entity.Comp.SpreadAmount == 0 || !_solutionContainerSystem.ResolveSolution(entity.Owner, SmokeComponent.SolutionName, ref entity.Comp.Solution, out var solution)) diff --git a/Content.Server/Gateway/Components/GatewayComponent.cs b/Content.Server/Gateway/Components/GatewayComponent.cs index 71d070f6990..9650baafa3a 100644 --- a/Content.Server/Gateway/Components/GatewayComponent.cs +++ b/Content.Server/Gateway/Components/GatewayComponent.cs @@ -8,7 +8,7 @@ namespace Content.Server.Gateway.Components; /// /// Controlling gateway that links to other gateway destinations on the server. /// -[RegisterComponent, Access(typeof(GatewaySystem))] +[RegisterComponent, Access(typeof(GatewaySystem)), AutoGenerateComponentPause] public sealed partial class GatewayComponent : Component { /// @@ -61,5 +61,6 @@ public sealed partial class GatewayComponent : Component /// The time at which the portal can next be opened. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextReady; } diff --git a/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs b/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs index 670cbea3075..d65760e270f 100644 --- a/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs +++ b/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Gateway.Components; /// /// Generates gateway destinations at a regular interval. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class GatewayGeneratorComponent : Component { /// @@ -20,6 +20,7 @@ public sealed partial class GatewayGeneratorComponent : Component /// Next time another seed unlocks. /// [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUnlock; /// diff --git a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs index c8b30af620c..7558f7afc0b 100644 --- a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs +++ b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs @@ -67,7 +67,6 @@ public sealed class GatewayGeneratorSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnGeneratorUnpaused); SubscribeLocalEvent(OnGeneratorMapInit); SubscribeLocalEvent(OnGeneratorShutdown); SubscribeLocalEvent(OnGeneratorAttemptOpen); @@ -85,11 +84,6 @@ private void OnGeneratorShutdown(EntityUid uid, GatewayGeneratorComponent compon } } - private void OnGeneratorUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextUnlock += args.PausedTime; - } - private void OnGeneratorMapInit(EntityUid uid, GatewayGeneratorComponent generator, MapInitEvent args) { if (!_cfgManager.GetCVar(CCVars.GatewayGeneratorEnabled)) diff --git a/Content.Server/Gateway/Systems/GatewaySystem.cs b/Content.Server/Gateway/Systems/GatewaySystem.cs index 52525ee0d4c..7ebc751dd2d 100644 --- a/Content.Server/Gateway/Systems/GatewaySystem.cs +++ b/Content.Server/Gateway/Systems/GatewaySystem.cs @@ -32,7 +32,6 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnGatewayUnpaused); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnGatewayOpenAttempt); SubscribeLocalEvent(UpdateUserInterface); @@ -48,11 +47,6 @@ public void SetEnabled(EntityUid uid, bool value, GatewayComponent? component = UpdateAllGateways(); } - private void OnGatewayUnpaused(EntityUid uid, GatewayComponent component, ref EntityUnpausedEvent args) - { - component.NextReady += args.PausedTime; - } - private void OnStartup(EntityUid uid, GatewayComponent comp, ComponentStartup args) { // no need to update ui since its just been created, just do portal diff --git a/Content.Server/Hands/Systems/HandsSystem.cs b/Content.Server/Hands/Systems/HandsSystem.cs index 9d664d0f9a0..a783a9e0968 100644 --- a/Content.Server/Hands/Systems/HandsSystem.cs +++ b/Content.Server/Hands/Systems/HandsSystem.cs @@ -47,7 +47,6 @@ public override void Initialize() SubscribeLocalEvent(HandleBodyPartRemoved); SubscribeLocalEvent(GetComponentState); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExploded); @@ -68,10 +67,6 @@ private void GetComponentState(EntityUid uid, HandsComponent hands, ref Componen args.State = new HandsComponentState(hands); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextThrowTime += args.PausedTime; - } private void OnExploded(Entity ent, ref BeforeExplodeEvent args) { diff --git a/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs b/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs index bd5449dde60..1e32e039db1 100644 --- a/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs +++ b/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Kitchen.Components; /// /// Attached to a microwave that is currently in the process of cooking /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class ActiveMicrowaveComponent : Component { [ViewVariables(VVAccess.ReadWrite)] @@ -17,6 +17,7 @@ public sealed partial class ActiveMicrowaveComponent : Component [ViewVariables(VVAccess.ReadWrite)] [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan MalfunctionTime = TimeSpan.Zero; [ViewVariables] diff --git a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs index cf3544a7e19..212383c463a 100644 --- a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs @@ -86,7 +86,6 @@ public override void Initialize() SubscribeLocalEvent(OnCookStart); SubscribeLocalEvent(OnCookStop); - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnActiveMicrowaveInsert); SubscribeLocalEvent(OnActiveMicrowaveRemove); @@ -112,11 +111,6 @@ private void OnCookStop(Entity ent, ref ComponentShutd microwaveComponent.PlayingStream = _audio.Stop(microwaveComponent.PlayingStream); } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.MalfunctionTime += args.PausedTime; - } - private void OnActiveMicrowaveInsert(Entity ent, ref EntInsertedIntoContainerMessage args) { AddComp(args.Entity); diff --git a/Content.Server/Medical/Components/HealthAnalyzerComponent.cs b/Content.Server/Medical/Components/HealthAnalyzerComponent.cs index a7fed0cae36..6380b71c8a0 100644 --- a/Content.Server/Medical/Components/HealthAnalyzerComponent.cs +++ b/Content.Server/Medical/Components/HealthAnalyzerComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Medical.Components; /// /// After scanning, retrieves the target Uid to use with its related UI. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(HealthAnalyzerSystem), typeof(CryoPodSystem))] public sealed partial class HealthAnalyzerComponent : Component { @@ -14,6 +14,7 @@ public sealed partial class HealthAnalyzerComponent : Component /// When should the next update be sent for the patient /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs index d8bbeb99824..bf2f8805326 100644 --- a/Content.Server/Medical/DefibrillatorSystem.cs +++ b/Content.Server/Medical/DefibrillatorSystem.cs @@ -49,21 +49,12 @@ public sealed class DefibrillatorSystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnUseInHand); SubscribeLocalEvent(OnPowerCellSlotEmpty); SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnDoAfter); } - private void OnUnpaused(EntityUid uid, DefibrillatorComponent component, ref EntityUnpausedEvent args) - { - if (component.NextZapTime == null) - return; - - component.NextZapTime = component.NextZapTime.Value + args.PausedTime; - } - private void OnUseInHand(EntityUid uid, DefibrillatorComponent component, UseInHandEvent args) { if (args.Handled || !TryComp(uid, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((uid, useDelay))) diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs index 5c7d265e615..a8abc4752df 100644 --- a/Content.Server/Medical/HealthAnalyzerSystem.cs +++ b/Content.Server/Medical/HealthAnalyzerSystem.cs @@ -30,7 +30,6 @@ public sealed class HealthAnalyzerSystem : EntitySystem public override void Initialize() { - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnDoAfter); SubscribeLocalEvent(OnInsertedIntoContainer); @@ -65,11 +64,6 @@ public override void Update(float frameTime) } } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextUpdate += args.PausedTime; - } - /// /// Trigger the doafter for scanning /// diff --git a/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs b/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs index 5de11f848cd..9079655c80c 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Medical.SuitSensors; /// Tracking device, embedded in almost all uniforms and jumpsuits. /// If enabled, will report to crew monitoring console owners position and status. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SuitSensorSystem))] public sealed partial class SuitSensorComponent : Component { @@ -57,6 +57,7 @@ public sealed partial class SuitSensorComponent : Component /// Next time when sensor updated owners status /// [DataField("nextUpdate", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs index 38a7b0a4517..94ecf5fd0e7 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs @@ -40,7 +40,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnPlayerSpawn); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnEquipped); SubscribeLocalEvent(OnUnequipped); SubscribeLocalEvent(OnExamine); @@ -51,11 +50,6 @@ public override void Initialize() SubscribeLocalEvent(OnEmpFinished); } - private void OnUnpaused(EntityUid uid, SuitSensorComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Server/NPC/Components/NPCJukeComponent.cs b/Content.Server/NPC/Components/NPCJukeComponent.cs index 4cbd8017f21..2c4136c24b9 100644 --- a/Content.Server/NPC/Components/NPCJukeComponent.cs +++ b/Content.Server/NPC/Components/NPCJukeComponent.cs @@ -3,7 +3,7 @@ namespace Content.Server.NPC.Components; -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class NPCJukeComponent : Component { [DataField("jukeType")] @@ -13,6 +13,7 @@ public sealed partial class NPCJukeComponent : Component public float JukeDuration = 0.5f; [DataField("nextJuke", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextJuke; [DataField("targetTile")] diff --git a/Content.Server/NPC/Components/NPCSteeringComponent.cs b/Content.Server/NPC/Components/NPCSteeringComponent.cs index 52f96e9c554..397b7fb032a 100644 --- a/Content.Server/NPC/Components/NPCSteeringComponent.cs +++ b/Content.Server/NPC/Components/NPCSteeringComponent.cs @@ -11,7 +11,7 @@ namespace Content.Server.NPC.Components; /// /// Added to NPCs that are moving. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class NPCSteeringComponent : Component { #region Context Steering @@ -49,6 +49,7 @@ public sealed partial class NPCSteeringComponent : Component /// Next time we can change our steering direction. /// [DataField("nextSteer", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSteer = TimeSpan.Zero; [DataField("lastSteerIndex")] @@ -66,6 +67,7 @@ public sealed partial class NPCSteeringComponent : Component public EntityCoordinates LastStuckCoordinates; [DataField("lastStuckTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan LastStuckTime; public const float StuckDistance = 1f; diff --git a/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs b/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs index 335a2bbaa11..dac07ea8421 100644 --- a/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs +++ b/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs @@ -5,7 +5,7 @@ namespace Content.Server.NPC.Pathfinding; /// /// Stores the relevant pathfinding data for grids. /// -[RegisterComponent, Access(typeof(PathfindingSystem))] +[RegisterComponent, Access(typeof(PathfindingSystem)), AutoGenerateComponentPause] public sealed partial class GridPathfindingComponent : Component { [ViewVariables] @@ -15,6 +15,7 @@ public sealed partial class GridPathfindingComponent : Component /// Next time the graph is allowed to update. /// /// Removing this datafield is the lazy fix HOWEVER I want to purge this anyway and do pathfinding at runtime. + [AutoPausedField] public TimeSpan NextUpdate; [ViewVariables] diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs index c27947dedb1..6462c10fe55 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs @@ -44,7 +44,6 @@ private void InitializeGrid() { SubscribeLocalEvent(OnGridInit); SubscribeLocalEvent(OnGridRemoved); - SubscribeLocalEvent(OnGridPathPause); SubscribeLocalEvent(OnGridPathShutdown); SubscribeLocalEvent(OnCollisionChange); SubscribeLocalEvent(OnCollisionLayerChange); @@ -61,10 +60,6 @@ private void OnTileChange(ref TileChangedEvent ev) DirtyChunk(ev.Entity, Comp(ev.Entity).GridTileToLocal(ev.NewTile.GridIndices)); } - private void OnGridPathPause(EntityUid uid, GridPathfindingComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } private void OnGridPathShutdown(EntityUid uid, GridPathfindingComponent component, ComponentShutdown args) { diff --git a/Content.Server/NPC/Systems/NPCJukeSystem.cs b/Content.Server/NPC/Systems/NPCJukeSystem.cs index 19f566405a2..da9fa1f7615 100644 --- a/Content.Server/NPC/Systems/NPCJukeSystem.cs +++ b/Content.Server/NPC/Systems/NPCJukeSystem.cs @@ -33,15 +33,9 @@ public override void Initialize() _npcRangedQuery = GetEntityQuery(); _physicsQuery = GetEntityQuery(); - SubscribeLocalEvent(OnJukeUnpaused); SubscribeLocalEvent(OnJukeSteering); } - private void OnJukeUnpaused(EntityUid uid, NPCJukeComponent component, ref EntityUnpausedEvent args) - { - component.NextJuke += args.PausedTime; - } - private void OnJukeSteering(EntityUid uid, NPCJukeComponent component, ref NPCSteeringEvent args) { if (component.JukeType == JukeType.AdjacentTile) diff --git a/Content.Server/NPC/Systems/NPCSteeringSystem.cs b/Content.Server/NPC/Systems/NPCSteeringSystem.cs index 149a330919f..aca2411d8a0 100644 --- a/Content.Server/NPC/Systems/NPCSteeringSystem.cs +++ b/Content.Server/NPC/Systems/NPCSteeringSystem.cs @@ -107,7 +107,6 @@ public override void Initialize() Subs.CVar(_configManager, CCVars.NPCPathfinding, SetNPCPathfinding, true); SubscribeLocalEvent(OnSteeringShutdown); - SubscribeLocalEvent(OnSteeringUnpaused); SubscribeNetworkEvent(OnDebugRequest); } @@ -158,12 +157,6 @@ private void OnSteeringShutdown(EntityUid uid, NPCSteeringComponent component, C component.PathfindToken = null; } - private void OnSteeringUnpaused(EntityUid uid, NPCSteeringComponent component, ref EntityUnpausedEvent args) - { - component.LastStuckTime += args.PausedTime; - component.NextSteer += args.PausedTime; - } - /// /// Adds the AI to the steering system to move towards a specific target /// diff --git a/Content.Server/Nutrition/Components/FatExtractorComponent.cs b/Content.Server/Nutrition/Components/FatExtractorComponent.cs index bf81a173e4f..e23c557236c 100644 --- a/Content.Server/Nutrition/Components/FatExtractorComponent.cs +++ b/Content.Server/Nutrition/Components/FatExtractorComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.Nutrition.Components; /// /// This is used for a machine that extracts hunger from entities and creates meat. Yum! /// -[RegisterComponent, Access(typeof(FatExtractorSystem))] +[RegisterComponent, Access(typeof(FatExtractorSystem)), AutoGenerateComponentPause] public sealed partial class FatExtractorComponent : Component { /// @@ -48,6 +48,7 @@ public sealed partial class FatExtractorComponent : Component /// When the next update will occur /// [DataField("nextUpdate", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextUpdate; /// diff --git a/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs b/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs index 1271c57a23c..d0fcd113595 100644 --- a/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs +++ b/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs @@ -40,23 +40,11 @@ public sealed class AnimalHusbandrySystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMindAdded); - SubscribeLocalEvent(OnInfantUnpaused); SubscribeLocalEvent(OnInfantStartup); SubscribeLocalEvent(OnInfantShutdown); } - private void OnUnpaused(EntityUid uid, ReproductiveComponent component, ref EntityUnpausedEvent args) - { - component.NextBreedAttempt += args.PausedTime; - } - - private void OnInfantUnpaused(EntityUid uid, InfantComponent component, ref EntityUnpausedEvent args) - { - component.InfantEndTime += args.PausedTime; - } - // we express EZ-pass terminate the pregnancy if a player takes the role private void OnMindAdded(EntityUid uid, ReproductiveComponent component, MindAddedMessage args) { diff --git a/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs b/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs index 4bd8c94ac81..180e40d1e42 100644 --- a/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs @@ -27,18 +27,12 @@ public sealed class FatExtractorSystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnGotEmagged); SubscribeLocalEvent(OnClosed); SubscribeLocalEvent(OnOpen); SubscribeLocalEvent(OnPowerChanged); } - private void OnUnpaused(EntityUid uid, FatExtractorComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - private void OnGotEmagged(EntityUid uid, FatExtractorComponent component, ref GotEmaggedEvent args) { args.Handled = true; diff --git a/Content.Server/Physics/Components/ChasingWalkComponent.cs b/Content.Server/Physics/Components/ChasingWalkComponent.cs index ca7a0275445..222c9d64db8 100644 --- a/Content.Server/Physics/Components/ChasingWalkComponent.cs +++ b/Content.Server/Physics/Components/ChasingWalkComponent.cs @@ -8,13 +8,14 @@ namespace Content.Server.Physics.Components; /// /// A component which makes its entity chasing entity with selected component. /// -[RegisterComponent, Access(typeof(ChasingWalkSystem))] +[RegisterComponent, Access(typeof(ChasingWalkSystem)), AutoGenerateComponentPause] public sealed partial class ChasingWalkComponent : Component { /// /// The next moment in time when the entity is pushed toward its goal /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextImpulseTime; /// @@ -57,6 +58,7 @@ public sealed partial class ChasingWalkComponent : Component /// The next change of direction time. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextChangeVectorTime; /// diff --git a/Content.Server/Physics/Controllers/ChasingWalkSystem.cs b/Content.Server/Physics/Controllers/ChasingWalkSystem.cs index 8835b44ab79..215e7e3124e 100644 --- a/Content.Server/Physics/Controllers/ChasingWalkSystem.cs +++ b/Content.Server/Physics/Controllers/ChasingWalkSystem.cs @@ -27,7 +27,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnChasingMapInit); - SubscribeLocalEvent(OnChasingUnpaused); } private void OnChasingMapInit(EntityUid uid, ChasingWalkComponent component, MapInitEvent args) @@ -36,12 +35,6 @@ private void OnChasingMapInit(EntityUid uid, ChasingWalkComponent component, Map component.NextChangeVectorTime = _gameTiming.CurTime; } - private void OnChasingUnpaused(EntityUid uid, ChasingWalkComponent component, ref EntityUnpausedEvent args) - { - component.NextImpulseTime += args.PausedTime; - component.NextChangeVectorTime += args.PausedTime; - } - public override void UpdateBeforeSolve(bool prediction, float frameTime) { base.UpdateBeforeSolve(prediction, frameTime); diff --git a/Content.Server/PowerCell/PowerCellSystem.Draw.cs b/Content.Server/PowerCell/PowerCellSystem.Draw.cs index c6d8e1e709d..8e960357b7a 100644 --- a/Content.Server/PowerCell/PowerCellSystem.Draw.cs +++ b/Content.Server/PowerCell/PowerCellSystem.Draw.cs @@ -39,11 +39,6 @@ public override void Update(float frameTime) } } - private void OnUnpaused(EntityUid uid, PowerCellDrawComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } - private void OnDrawChargeChanged(EntityUid uid, PowerCellDrawComponent component, ref ChargeChangedEvent args) { // Update the bools for client prediction. diff --git a/Content.Server/PowerCell/PowerCellSystem.cs b/Content.Server/PowerCell/PowerCellSystem.cs index b424f34de55..d501a1bda36 100644 --- a/Content.Server/PowerCell/PowerCellSystem.cs +++ b/Content.Server/PowerCell/PowerCellSystem.cs @@ -35,7 +35,6 @@ public override void Initialize() SubscribeLocalEvent(OnCellExamined); SubscribeLocalEvent(OnCellEmpAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnDrawChargeChanged); SubscribeLocalEvent(OnDrawCellChanged); diff --git a/Content.Server/PowerSink/PowerSinkComponent.cs b/Content.Server/PowerSink/PowerSinkComponent.cs index f1df042179f..a55d368c6e3 100644 --- a/Content.Server/PowerSink/PowerSinkComponent.cs +++ b/Content.Server/PowerSink/PowerSinkComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.PowerSink /// /// Absorbs power up to its capacity when anchored then explodes. /// - [RegisterComponent] + [RegisterComponent, AutoGenerateComponentPause] public sealed partial class PowerSinkComponent : Component { /// @@ -21,6 +21,7 @@ public sealed partial class PowerSinkComponent : Component /// If explosion has been triggered, time at which to explode. /// [DataField("explosionTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public System.TimeSpan? ExplosionTime = null; /// diff --git a/Content.Server/PowerSink/PowerSinkSystem.cs b/Content.Server/PowerSink/PowerSinkSystem.cs index deb66935000..dddfd33967f 100644 --- a/Content.Server/PowerSink/PowerSinkSystem.cs +++ b/Content.Server/PowerSink/PowerSinkSystem.cs @@ -37,7 +37,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnExamine); - SubscribeLocalEvent(OnUnpaused); } private void OnExamine(EntityUid uid, PowerSinkComponent component, ExaminedEvent args) @@ -54,14 +53,6 @@ private void OnExamine(EntityUid uid, PowerSinkComponent component, ExaminedEven ); } - private void OnUnpaused(EntityUid uid, PowerSinkComponent component, ref EntityUnpausedEvent args) - { - if (component.ExplosionTime == null) - return; - - component.ExplosionTime = component.ExplosionTime + args.PausedTime; - } - public override void Update(float frameTime) { var toRemove = new RemQueue<(EntityUid Entity, PowerSinkComponent Sink)>(); diff --git a/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs b/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs index 6d3d831a2da..6a58c209cfa 100644 --- a/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs +++ b/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs @@ -11,7 +11,7 @@ namespace Content.Server.Salvage.Expeditions; /// /// Designates this entity as holding a salvage expedition. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class SalvageExpeditionComponent : SharedSalvageExpeditionComponent { public SalvageMissionParams MissionParams = default!; @@ -26,6 +26,7 @@ public sealed partial class SalvageExpeditionComponent : SharedSalvageExpedition /// When the expeditions ends. /// [ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Server/Salvage/SalvageSystem.Expeditions.cs b/Content.Server/Salvage/SalvageSystem.Expeditions.cs index 1eb1cc3027f..7e4a9c9310e 100644 --- a/Content.Server/Salvage/SalvageSystem.Expeditions.cs +++ b/Content.Server/Salvage/SalvageSystem.Expeditions.cs @@ -31,10 +31,7 @@ private void InitializeExpeditions() SubscribeLocalEvent(OnSalvageConsoleParent); SubscribeLocalEvent(OnSalvageClaimMessage); - SubscribeLocalEvent(OnDataUnpaused); - SubscribeLocalEvent(OnExpeditionShutdown); - SubscribeLocalEvent(OnExpeditionUnpaused); SubscribeLocalEvent(OnExpeditionGetState); SubscribeLocalEvent(OnStructureExamine); @@ -89,16 +86,6 @@ private void OnExpeditionShutdown(EntityUid uid, SalvageExpeditionComponent comp } } - private void OnDataUnpaused(EntityUid uid, SalvageExpeditionDataComponent component, ref EntityUnpausedEvent args) - { - component.NextOffer += args.PausedTime; - } - - private void OnExpeditionUnpaused(EntityUid uid, SalvageExpeditionComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void UpdateExpeditions() { var currentTime = _timing.CurTime; diff --git a/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs b/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs index 99cdcbc3b6c..b9ff375507f 100644 --- a/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs +++ b/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs @@ -3,13 +3,14 @@ namespace Content.Server.Shuttles.Components; -[RegisterComponent, Access(typeof(ArrivalsSystem))] +[RegisterComponent, Access(typeof(ArrivalsSystem)), AutoGenerateComponentPause] public sealed partial class ArrivalsShuttleComponent : Component { [DataField("station")] public EntityUid Station; [DataField("nextTransfer", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTransfer; [DataField("nextArrivalsTime", customTypeSerializer: typeof(TimeOffsetSerializer))] diff --git a/Content.Server/Shuttles/Components/EscapePodComponent.cs b/Content.Server/Shuttles/Components/EscapePodComponent.cs index d68065fc00e..72c8024e12b 100644 --- a/Content.Server/Shuttles/Components/EscapePodComponent.cs +++ b/Content.Server/Shuttles/Components/EscapePodComponent.cs @@ -6,9 +6,10 @@ namespace Content.Server.Shuttles.Components; /// /// If added to a grid gets launched when the emergency shuttle launches. /// -[RegisterComponent, Access(typeof(EmergencyShuttleSystem))] +[RegisterComponent, Access(typeof(EmergencyShuttleSystem)), AutoGenerateComponentPause] public sealed partial class EscapePodComponent : Component { [DataField("launchTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? LaunchTime; } diff --git a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs index 7d63b835881..037fcc75665 100644 --- a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs +++ b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs @@ -85,7 +85,6 @@ public override void Initialize() SubscribeLocalEvent(OnArrivalsStartup); SubscribeLocalEvent(OnShuttleStartup); - SubscribeLocalEvent(OnShuttleUnpaused); SubscribeLocalEvent(OnShuttleTag); SubscribeLocalEvent(OnRoundStarting); @@ -384,11 +383,6 @@ private void OnShuttleStartup(EntityUid uid, ArrivalsShuttleComponent component, EnsureComp(uid); } - private void OnShuttleUnpaused(EntityUid uid, ArrivalsShuttleComponent component, ref EntityUnpausedEvent args) - { - component.NextTransfer += args.PausedTime; - } - private bool TryGetArrivals(out EntityUid uid) { var arrivalsQuery = EntityQueryEnumerator(); diff --git a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs index f8e6f2423f9..6fb939d94ad 100644 --- a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs +++ b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs @@ -93,8 +93,6 @@ private void InitializeEmergencyConsole() SubscribeLocalEvent(OnEmergencyRepeal); SubscribeLocalEvent(OnEmergencyRepealAll); SubscribeLocalEvent(OnEmergencyOpenAttempt); - - SubscribeLocalEvent(OnEscapeUnpaused); } private void OnEmergencyOpenAttempt(EntityUid uid, EmergencyShuttleConsoleComponent component, ActivatableUIOpenAttemptEvent args) diff --git a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs index 66214b0577e..8b2c268300b 100644 --- a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs @@ -507,14 +507,6 @@ private void AddEmergencyShuttle(EntityUid uid, StationEmergencyShuttleComponent EnsureComp(shuttle.Value); } - private void OnEscapeUnpaused(EntityUid uid, EscapePodComponent component, ref EntityUnpausedEvent args) - { - if (component.LaunchTime == null) - return; - - component.LaunchTime = component.LaunchTime.Value + args.PausedTime; - } - /// /// Returns whether a target is escaping on the emergency shuttle, but only if evac has arrived. /// diff --git a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs index 202734d2435..7784db015d3 100644 --- a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs +++ b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs @@ -42,7 +42,6 @@ public override void Initialize() SubscribeLocalEvent(PreventConsume); ///Nyano - Summary: the telegnositic projection has the same trait as ghosts. SubscribeLocalEvent(PreventConsume); SubscribeLocalEvent(OnHorizonMapInit); - SubscribeLocalEvent(OnHorizonUnpaused); SubscribeLocalEvent(OnStartCollide); SubscribeLocalEvent(OnEventHorizonContained); SubscribeLocalEvent(OnEventHorizonContained); @@ -59,11 +58,6 @@ private void OnHorizonMapInit(EntityUid uid, EventHorizonComponent component, Ma component.NextConsumeWaveTime = _timing.CurTime; } - private void OnHorizonUnpaused(EntityUid uid, EventHorizonComponent component, ref EntityUnpausedEvent args) - { - component.NextConsumeWaveTime += args.PausedTime; - } - public override void Shutdown() { var vvHandle = Vvm.GetTypeHandler(); diff --git a/Content.Server/Spreader/GrowingKudzuComponent.cs b/Content.Server/Spreader/GrowingKudzuComponent.cs index d2cd6d64049..8cda21234f1 100644 --- a/Content.Server/Spreader/GrowingKudzuComponent.cs +++ b/Content.Server/Spreader/GrowingKudzuComponent.cs @@ -2,12 +2,13 @@ namespace Content.Server.Spreader; -[RegisterComponent, Access(typeof(KudzuSystem))] +[RegisterComponent, Access(typeof(KudzuSystem)), AutoGenerateComponentPause] public sealed partial class GrowingKudzuComponent : Component { /// /// The next time kudzu will try to tick its growth level. /// [DataField("nextTick", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTick = TimeSpan.Zero; } diff --git a/Content.Server/Spreader/KudzuSystem.cs b/Content.Server/Spreader/KudzuSystem.cs index d15a2c667f4..49698ea6735 100644 --- a/Content.Server/Spreader/KudzuSystem.cs +++ b/Content.Server/Spreader/KudzuSystem.cs @@ -21,7 +21,6 @@ public override void Initialize() { SubscribeLocalEvent(SetupKudzu); SubscribeLocalEvent(OnKudzuSpread); - SubscribeLocalEvent(OnKudzuUnpaused); SubscribeLocalEvent(OnDamageChanged); } @@ -80,11 +79,6 @@ private void OnKudzuSpread(EntityUid uid, KudzuComponent component, ref SpreadNe } } - private void OnKudzuUnpaused(EntityUid uid, GrowingKudzuComponent component, ref EntityUnpausedEvent args) - { - component.NextTick += args.PausedTime; - } - private void SetupKudzu(EntityUid uid, KudzuComponent component, ComponentStartup args) { if (!EntityManager.TryGetComponent(uid, out var appearance)) diff --git a/Content.Server/StationEvents/Components/StationEventComponent.cs b/Content.Server/StationEvents/Components/StationEventComponent.cs index de0dc1c28a8..b4456a4b5b7 100644 --- a/Content.Server/StationEvents/Components/StationEventComponent.cs +++ b/Content.Server/StationEvents/Components/StationEventComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.StationEvents.Components; /// /// Defines basic data for a station event /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class StationEventComponent : Component { public const float WeightVeryLow = 0.0f; @@ -79,11 +79,13 @@ public sealed partial class StationEventComponent : Component /// When the station event starts. /// [DataField("startTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan StartTime; /// /// When the station event ends. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? EndTime; } diff --git a/Content.Server/StationEvents/EventManagerSystem.cs b/Content.Server/StationEvents/EventManagerSystem.cs index f62aed4f0f4..8942bdaf500 100644 --- a/Content.Server/StationEvents/EventManagerSystem.cs +++ b/Content.Server/StationEvents/EventManagerSystem.cs @@ -31,15 +31,6 @@ public override void Initialize() _sawmill = Logger.GetSawmill("events"); Subs.CVar(_configurationManager, CCVars.EventsEnabled, SetEnabled, true); - - SubscribeLocalEvent(OnUnpaused); - } - - private void OnUnpaused(EntityUid uid, StationEventComponent component, ref EntityUnpausedEvent args) - { - component.StartTime += args.PausedTime; - if (component.EndTime != null) - component.EndTime = component.EndTime.Value + args.PausedTime; } /// diff --git a/Content.Server/Tesla/Components/LightningArcShooterComponent.cs b/Content.Server/Tesla/Components/LightningArcShooterComponent.cs index 641dc59e8c8..add7bf88e43 100644 --- a/Content.Server/Tesla/Components/LightningArcShooterComponent.cs +++ b/Content.Server/Tesla/Components/LightningArcShooterComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Tesla.Components; /// /// Periodically fires electric arcs at surrounding objects. /// -[RegisterComponent, Access(typeof(LightningArcShooterSystem))] +[RegisterComponent, Access(typeof(LightningArcShooterSystem)), AutoGenerateComponentPause] public sealed partial class LightningArcShooterComponent : Component { /// @@ -45,6 +45,7 @@ public sealed partial class LightningArcShooterComponent : Component /// The time, upon reaching which the next batch of lightning bolts will be fired. /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextShootTime; /// diff --git a/Content.Server/Tesla/Components/LightningSparkingComponent.cs b/Content.Server/Tesla/Components/LightningSparkingComponent.cs index bb954de89ae..e56c59f196d 100644 --- a/Content.Server/Tesla/Components/LightningSparkingComponent.cs +++ b/Content.Server/Tesla/Components/LightningSparkingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Tesla.Components; /// /// The component changes the visual of an object after it is struck by lightning /// -[RegisterComponent, Access(typeof(LightningSparkingSystem))] +[RegisterComponent, Access(typeof(LightningSparkingSystem)), AutoGenerateComponentPause] public sealed partial class LightningSparkingComponent : Component { /// @@ -20,6 +20,7 @@ public sealed partial class LightningSparkingComponent : Component /// When the spark visual should turn off. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan LightningEndTime; [DataField, ViewVariables(VVAccess.ReadWrite)] diff --git a/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs b/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs index e901a932881..9948537c3c9 100644 --- a/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs +++ b/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs @@ -18,7 +18,6 @@ public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnShooterMapInit); - SubscribeLocalEvent(OnShooterUnpaused); } private void OnShooterMapInit(EntityUid uid, LightningArcShooterComponent component, ref MapInitEvent args) @@ -26,11 +25,6 @@ private void OnShooterMapInit(EntityUid uid, LightningArcShooterComponent compon component.NextShootTime = _gameTiming.CurTime + TimeSpan.FromSeconds(component.ShootMaxInterval); } - private void OnShooterUnpaused(EntityUid uid, LightningArcShooterComponent component, ref EntityUnpausedEvent args) - { - component.NextShootTime += args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs b/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs index 7b569e66b39..c07472c8b3b 100644 --- a/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs +++ b/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs @@ -18,12 +18,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnHitByLightning); - SubscribeLocalEvent(OnLightningUnpaused); - } - - private void OnLightningUnpaused(EntityUid uid, LightningSparkingComponent component, ref EntityUnpausedEvent args) - { - component.LightningEndTime += args.PausedTime; } private void OnHitByLightning(Entity uid, ref HitByLightningEvent args) diff --git a/Content.Shared/Anomaly/Components/AnomalyComponent.cs b/Content.Shared/Anomaly/Components/AnomalyComponent.cs index 89afbb0122e..bafdf123600 100644 --- a/Content.Shared/Anomaly/Components/AnomalyComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalyComponent.cs @@ -14,7 +14,7 @@ namespace Content.Shared.Anomaly.Components; /// /// Anomalies and their related components were designed here: https://hackmd.io/@ss14-design/r1sQbkJOs /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedAnomalySystem))] public sealed partial class AnomalyComponent : Component { @@ -86,7 +86,7 @@ public sealed partial class AnomalyComponent : Component /// /// The time at which the next artifact pulse will occur. /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField] [ViewVariables(VVAccess.ReadWrite)] public TimeSpan NextPulseTime = TimeSpan.Zero; diff --git a/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs b/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs index 7326118b3cb..a7fedb821b8 100644 --- a/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs @@ -5,13 +5,14 @@ namespace Content.Shared.Anomaly.Components; /// /// This component tracks anomalies that are currently pulsing /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyPulsingComponent : Component { /// /// The time at which the pulse will be over. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs b/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs index bd8f40852d8..00ea882ad26 100644 --- a/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs @@ -8,6 +8,7 @@ namespace Content.Shared.Anomaly.Components; /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedAnomalySystem))] +[AutoGenerateComponentPause] public sealed partial class AnomalySupercriticalComponent : Component { /// @@ -15,6 +16,7 @@ public sealed partial class AnomalySupercriticalComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Anomaly/SharedAnomalySystem.cs b/Content.Shared/Anomaly/SharedAnomalySystem.cs index 6eba4221b49..6cdcdf305bb 100644 --- a/Content.Shared/Anomaly/SharedAnomalySystem.cs +++ b/Content.Shared/Anomaly/SharedAnomalySystem.cs @@ -46,10 +46,6 @@ public override void Initialize() SubscribeLocalEvent(OnAnomalyThrowStart); SubscribeLocalEvent(OnAnomalyThrowEnd); - SubscribeLocalEvent(OnAnomalyUnpause); - SubscribeLocalEvent(OnPulsingUnpause); - SubscribeLocalEvent(OnSupercriticalUnpause); - _sawmill = Logger.GetSawmill("anomaly"); } @@ -89,23 +85,6 @@ public void DoAnomalyBurnDamage(EntityUid source, EntityUid target, AnomalyCompo Popup.PopupEntity(Loc.GetString("anomaly-component-contact-damage"), target, target); } - private void OnAnomalyUnpause(EntityUid uid, AnomalyComponent component, ref EntityUnpausedEvent args) - { - component.NextPulseTime += args.PausedTime; - Dirty(uid, component); - } - - private void OnPulsingUnpause(EntityUid uid, AnomalyPulsingComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - - private void OnSupercriticalUnpause(EntityUid uid, AnomalySupercriticalComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - Dirty(uid, component); - } - public void DoAnomalyPulse(EntityUid uid, AnomalyComponent? component = null) { if (!Resolve(uid, ref component)) diff --git a/Content.Shared/Atmos/Rotting/PerishableComponent.cs b/Content.Shared/Atmos/Rotting/PerishableComponent.cs index 1c5c4bc4ae8..6983b872b89 100644 --- a/Content.Shared/Atmos/Rotting/PerishableComponent.cs +++ b/Content.Shared/Atmos/Rotting/PerishableComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Atmos.Rotting; /// This makes mobs eventually start rotting when they die. /// It may be expanded to food at some point, but it's just for mobs right now. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedRottingSystem))] public sealed partial class PerishableComponent : Component { @@ -27,6 +27,7 @@ public sealed partial class PerishableComponent : Component /// Gasses are released, this is when the next gas release update will be. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan RotNextUpdate = TimeSpan.Zero; /// diff --git a/Content.Shared/Atmos/Rotting/RottingComponent.cs b/Content.Shared/Atmos/Rotting/RottingComponent.cs index d4ba79bb89c..d21fac88a20 100644 --- a/Content.Shared/Atmos/Rotting/RottingComponent.cs +++ b/Content.Shared/Atmos/Rotting/RottingComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Atmos.Rotting; /// Tracking component for stuff that has started to rot. /// Only the current stage is networked to the client. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedRottingSystem))] public sealed partial class RottingComponent : Component { @@ -22,6 +22,7 @@ public sealed partial class RottingComponent : Component /// When the next check will happen for rot progression + effects like damage and ammonia /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextRotUpdate = TimeSpan.Zero; /// diff --git a/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs b/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs index 5ab639bd3c1..9c73b59e9a8 100644 --- a/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs +++ b/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Bed.Cryostorage; /// This is used to track an entity that is currently being held in Cryostorage. /// [RegisterComponent, NetworkedComponent] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class CryostorageContainedComponent : Component { /// @@ -22,6 +22,7 @@ public sealed partial class CryostorageContainedComponent : Component /// The time at which the cryostorage grace period ends. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan? GracePeriodEndTime; /// diff --git a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs index 1197e019d07..f14dc21c480 100644 --- a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs +++ b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs @@ -37,7 +37,6 @@ public override void Initialize() SubscribeLocalEvent(OnCanDropTarget); SubscribeLocalEvent(OnRemovedContained); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdownContained); SubscribeLocalEvent(OnRoundRestart); @@ -130,13 +129,6 @@ private void OnRemovedContained(Entity ent, ref E RemCompDeferred(ent, comp); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - var comp = ent.Comp; - if (comp.GracePeriodEndTime != null) - comp.GracePeriodEndTime = comp.GracePeriodEndTime.Value + args.PausedTime; - } - private void OnShutdownContained(Entity ent, ref ComponentShutdown args) { var comp = ent.Comp; diff --git a/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs b/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs index 8e76ce3a3e6..4e4bc2c574b 100644 --- a/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs +++ b/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs @@ -26,14 +26,8 @@ public override void Initialize() SubscribeLocalEvent(OnSpeakAttempt); SubscribeLocalEvent(OnSeeAttempt); SubscribeLocalEvent(OnPointAttempt); - SubscribeLocalEvent(OnSleepUnpaused); } - private void OnSleepUnpaused(EntityUid uid, SleepingComponent component, ref EntityUnpausedEvent args) - { - component.CoolDownEnd += args.PausedTime; - Dirty(uid, component); - } private void OnMapInit(EntityUid uid, SleepingComponent component, MapInitEvent args) { diff --git a/Content.Shared/Bed/Sleep/SleepingComponent.cs b/Content.Shared/Bed/Sleep/SleepingComponent.cs index 94838b658ff..cd468440f40 100644 --- a/Content.Shared/Bed/Sleep/SleepingComponent.cs +++ b/Content.Shared/Bed/Sleep/SleepingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Bed.Sleep; /// /// Added to entities when they go to sleep. /// -[NetworkedComponent, RegisterComponent] +[NetworkedComponent, RegisterComponent, AutoGenerateComponentPause(Dirty = true)] public sealed partial class SleepingComponent : Component { /// @@ -24,6 +24,7 @@ public sealed partial class SleepingComponent : Component public TimeSpan Cooldown = TimeSpan.FromSeconds(1f); [DataField("cooldownEnd", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan CoolDownEnd; [DataField("wakeAction")] public EntityUid? WakeAction; diff --git a/Content.Shared/Chasm/ChasmFallingComponent.cs b/Content.Shared/Chasm/ChasmFallingComponent.cs index 69b1c8e3081..09377864c44 100644 --- a/Content.Shared/Chasm/ChasmFallingComponent.cs +++ b/Content.Shared/Chasm/ChasmFallingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Chasm; /// /// Added to entities which have started falling into a chasm. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class ChasmFallingComponent : Component { /// @@ -23,6 +23,7 @@ public sealed partial class ChasmFallingComponent : Component public TimeSpan DeletionTime = TimeSpan.FromSeconds(1.8f); [DataField("nextDeletionTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextDeletionTime = TimeSpan.Zero; /// diff --git a/Content.Shared/Chasm/ChasmSystem.cs b/Content.Shared/Chasm/ChasmSystem.cs index 4045a270780..51299557dbd 100644 --- a/Content.Shared/Chasm/ChasmSystem.cs +++ b/Content.Shared/Chasm/ChasmSystem.cs @@ -26,7 +26,6 @@ public override void Initialize() SubscribeLocalEvent(OnStepTriggered); SubscribeLocalEvent(OnStepTriggerAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnUpdateCanMove); } @@ -73,11 +72,6 @@ private void OnStepTriggerAttempt(EntityUid uid, ChasmComponent component, ref S args.Continue = true; } - private void OnUnpaused(EntityUid uid, ChasmFallingComponent component, ref EntityUnpausedEvent args) - { - component.NextDeletionTime += args.PausedTime; - } - private void OnUpdateCanMove(EntityUid uid, ChasmFallingComponent component, UpdateCanMoveEvent args) { args.Cancel(); diff --git a/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs b/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs index def6940ee1c..fdc46dfbef4 100644 --- a/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs +++ b/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs @@ -7,13 +7,14 @@ namespace Content.Shared.Chemistry.Components; /// This is used for entities which are currently being affected by smoke. /// Manages the gradual metabolism every second. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class SmokeAffectedComponent : Component { /// /// The time at which the next smoke metabolism will occur. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSecond; /// diff --git a/Content.Shared/Climbing/Components/ClimbingComponent.cs b/Content.Shared/Climbing/Components/ClimbingComponent.cs index 2af2c89feb5..89320eabc89 100644 --- a/Content.Shared/Climbing/Components/ClimbingComponent.cs +++ b/Content.Shared/Climbing/Components/ClimbingComponent.cs @@ -4,7 +4,7 @@ namespace Content.Shared.Climbing.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class ClimbingComponent : Component { /// @@ -17,6 +17,7 @@ public sealed partial class ClimbingComponent : Component /// Whether the owner is being moved onto the climbed entity. /// [AutoNetworkedField, DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? NextTransition; /// diff --git a/Content.Shared/Climbing/Systems/ClimbSystem.cs b/Content.Shared/Climbing/Systems/ClimbSystem.cs index 23bc54b8f89..7c760f2c5de 100644 --- a/Content.Shared/Climbing/Systems/ClimbSystem.cs +++ b/Content.Shared/Climbing/Systems/ClimbSystem.cs @@ -62,7 +62,6 @@ public override void Initialize() SubscribeLocalEvent(OnDoAfter); SubscribeLocalEvent(OnClimbEndCollide); SubscribeLocalEvent(OnBuckleChange); - SubscribeLocalEvent(OnClimbableUnpaused); SubscribeLocalEvent(OnCanDragDropOn); SubscribeLocalEvent>(AddClimbableVerb); @@ -71,15 +70,6 @@ public override void Initialize() SubscribeLocalEvent(OnGlassClimbed); } - private void OnClimbableUnpaused(EntityUid uid, ClimbingComponent component, ref EntityUnpausedEvent args) - { - if (component.NextTransition == null) - return; - - component.NextTransition = component.NextTransition.Value + args.PausedTime; - Dirty(uid, component); - } - public override void UpdateBeforeSolve(bool prediction, float frameTime) { base.UpdateBeforeSolve(prediction, frameTime); diff --git a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs index 0c5e12e6f0f..6d94c087af6 100644 --- a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs +++ b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs @@ -28,16 +28,9 @@ public override void Initialize() SubscribeLocalEvent(OnBeforeThrow); SubscribeLocalEvent(OnAttackAttempt); SubscribeLocalEvent(OnShootAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnPacifiedDangerousAttack); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - if (ent.Comp.NextPopupTime != null) - ent.Comp.NextPopupTime = ent.Comp.NextPopupTime.Value + args.PausedTime; - } - private bool PacifiedCanAttack(EntityUid user, EntityUid target, [NotNullWhen(false)] out string? reason) { var ev = new AttemptPacifiedAttackEvent(user); diff --git a/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs b/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs index e271628fcb9..464ef778851 100644 --- a/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs +++ b/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.CombatMode.Pacification; /// /// If you want full-pacifism (no combat mode at all), you can simply set before adding. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(PacificationSystem))] public sealed partial class PacifiedComponent : Component { @@ -33,6 +33,7 @@ public sealed partial class PacifiedComponent : Component public TimeSpan PopupCooldown = TimeSpan.FromSeconds(3.0); [DataField] + [AutoPausedField] public TimeSpan? NextPopupTime = null; /// diff --git a/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs b/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs index 1270591548f..ed084b39b53 100644 --- a/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs +++ b/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Construction.Components; /// [RegisterComponent, NetworkedComponent] [Access(typeof(SharedFlatpackSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class FlatpackCreatorComponent : Component { /// @@ -26,6 +26,7 @@ public sealed partial class FlatpackCreatorComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan PackEndTime; /// diff --git a/Content.Shared/Construction/SharedFlatpackSystem.cs b/Content.Shared/Construction/SharedFlatpackSystem.cs index d4c2513cd3d..a62488d6f38 100644 --- a/Content.Shared/Construction/SharedFlatpackSystem.cs +++ b/Content.Shared/Construction/SharedFlatpackSystem.cs @@ -40,7 +40,6 @@ public override void Initialize() SubscribeLocalEvent(OnFlatpackExamined); SubscribeLocalEvent(OnCreatorRemovingAttempt); - SubscribeLocalEvent(OnCreatorUnpaused); } private void OnFlatpackInteractUsing(Entity ent, ref InteractUsingEvent args) @@ -110,11 +109,6 @@ private void OnCreatorRemovingAttempt(Entity ent, ref args.Cancel(); } - private void OnCreatorUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.PackEndTime += args.PausedTime; - } - public void SetupFlatpack(Entity ent, EntityUid? board) { if (!Resolve(ent, ref ent.Comp)) diff --git a/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs b/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs index fe28b7e7f08..8af477c30b8 100644 --- a/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs +++ b/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs @@ -5,7 +5,7 @@ namespace Content.Shared.Damage.Components; [RegisterComponent, NetworkedComponent] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(DamageOnHoldingSystem))] public sealed partial class DamageOnHoldingComponent : Component { @@ -29,5 +29,6 @@ public sealed partial class DamageOnHoldingComponent : Component [DataField("nextDamage", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextDamage = TimeSpan.Zero; } diff --git a/Content.Shared/Damage/Components/StaminaComponent.cs b/Content.Shared/Damage/Components/StaminaComponent.cs index 74e0f6c8529..5a2fba49701 100644 --- a/Content.Shared/Damage/Components/StaminaComponent.cs +++ b/Content.Shared/Damage/Components/StaminaComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.Damage.Components; /// /// Add to an entity to paralyze it whenever it reaches critical amounts of Stamina DamageType. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class StaminaComponent : Component { /// @@ -49,5 +49,6 @@ public sealed partial class StaminaComponent : Component /// To avoid continuously updating our data we track the last time we updated so we can extrapolate our current stamina. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; } diff --git a/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs b/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs index e22be2fbbf5..c13ec0a1b9f 100644 --- a/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs +++ b/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs @@ -13,7 +13,6 @@ public sealed class DamageOnHoldingSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMapInit); } @@ -26,11 +25,6 @@ public void SetEnabled(EntityUid uid, bool enabled, DamageOnHoldingComponent? co } } - private void OnUnpaused(EntityUid uid, DamageOnHoldingComponent component, ref EntityUnpausedEvent args) - { - component.NextDamage += args.PausedTime; - } - private void OnMapInit(EntityUid uid, DamageOnHoldingComponent component, MapInitEvent args) { component.NextDamage = _timing.CurTime; @@ -50,4 +44,4 @@ public override void Update(float frameTime) component.NextDamage = _timing.CurTime + TimeSpan.FromSeconds(component.Interval); } } -} \ No newline at end of file +} diff --git a/Content.Shared/Damage/Systems/StaminaSystem.cs b/Content.Shared/Damage/Systems/StaminaSystem.cs index 2587d4e05f0..de5338615ee 100644 --- a/Content.Shared/Damage/Systems/StaminaSystem.cs +++ b/Content.Shared/Damage/Systems/StaminaSystem.cs @@ -48,7 +48,6 @@ public override void Initialize() InitializeModifier(); - SubscribeLocalEvent(OnStamUnpaused); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnStamHandleState); @@ -63,11 +62,6 @@ public override void Initialize() SubscribeLocalEvent(OnMeleeHit); } - private void OnStamUnpaused(EntityUid uid, StaminaComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - private void OnStamHandleState(EntityUid uid, StaminaComponent component, ref AfterAutoHandleStateEvent args) { if (component.Critical) diff --git a/Content.Shared/Emp/EmpDisabledComponent.cs b/Content.Shared/Emp/EmpDisabledComponent.cs index 33ba619a0d2..9e5a56de837 100644 --- a/Content.Shared/Emp/EmpDisabledComponent.cs +++ b/Content.Shared/Emp/EmpDisabledComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Emp; /// While entity has this component it is "disabled" by EMP. /// Add desired behaviour in other systems /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedEmpSystem))] public sealed partial class EmpDisabledComponent : Component { @@ -15,6 +15,7 @@ public sealed partial class EmpDisabledComponent : Component /// Moment of time when component is removed and entity stops being "disabled" /// [DataField("timeLeft", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan DisabledUntil; [DataField("effectCoolDown"), ViewVariables(VVAccess.ReadWrite)] @@ -23,5 +24,6 @@ public sealed partial class EmpDisabledComponent : Component /// /// When next effect will be spawned /// + [AutoPausedField] public TimeSpan TargetTime = TimeSpan.Zero; } diff --git a/Content.Shared/Gravity/GravityShakeComponent.cs b/Content.Shared/Gravity/GravityShakeComponent.cs index e8608a9681c..c910320a2fb 100644 --- a/Content.Shared/Gravity/GravityShakeComponent.cs +++ b/Content.Shared/Gravity/GravityShakeComponent.cs @@ -6,12 +6,13 @@ namespace Content.Shared.Gravity; /// /// Indicates this entity is shaking due to gravity changes. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class GravityShakeComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public int ShakeTimes; [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextShake; } diff --git a/Content.Shared/Gravity/SharedGravitySystem.Shake.cs b/Content.Shared/Gravity/SharedGravitySystem.Shake.cs index e590baae44c..ad2e0e3ad57 100644 --- a/Content.Shared/Gravity/SharedGravitySystem.Shake.cs +++ b/Content.Shared/Gravity/SharedGravitySystem.Shake.cs @@ -5,16 +5,6 @@ public abstract partial class SharedGravitySystem protected const float GravityKick = 100.0f; protected const float ShakeCooldown = 0.2f; - private void InitializeShake() - { - SubscribeLocalEvent(OnShakeUnpaused); - } - - private void OnShakeUnpaused(EntityUid uid, GravityShakeComponent component, ref EntityUnpausedEvent args) - { - component.NextShake += args.PausedTime; - } - private void UpdateShake() { var curTime = Timing.CurTime; diff --git a/Content.Shared/Gravity/SharedGravitySystem.cs b/Content.Shared/Gravity/SharedGravitySystem.cs index a65c386ae56..100d2ee74fb 100644 --- a/Content.Shared/Gravity/SharedGravitySystem.cs +++ b/Content.Shared/Gravity/SharedGravitySystem.cs @@ -61,8 +61,6 @@ public override void Initialize() SubscribeLocalEvent(OnGravityChange); SubscribeLocalEvent(OnGetState); SubscribeLocalEvent(OnHandleState); - - InitializeShake(); } public override void Update(float frameTime) diff --git a/Content.Shared/Hands/Components/HandsComponent.cs b/Content.Shared/Hands/Components/HandsComponent.cs index ef3b2a6a0e6..904b10b3bdc 100644 --- a/Content.Shared/Hands/Components/HandsComponent.cs +++ b/Content.Shared/Hands/Components/HandsComponent.cs @@ -5,7 +5,7 @@ namespace Content.Shared.Hands.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedHandsSystem))] public sealed partial class HandsComponent : Component { @@ -62,6 +62,7 @@ public sealed partial class HandsComponent : Component /// The time at which throws will be allowed again. /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextThrowTime; /// diff --git a/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs b/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs index 9c2ee9632e2..2beeed5d1ec 100644 --- a/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs +++ b/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Materials; /// Tracker component for the process of reclaiming entities /// /// -[RegisterComponent, NetworkedComponent, Access(typeof(SharedMaterialReclaimerSystem))] +[RegisterComponent, NetworkedComponent, Access(typeof(SharedMaterialReclaimerSystem)), AutoGenerateComponentPause] public sealed partial class ActiveMaterialReclaimerComponent : Component { /// @@ -21,6 +21,7 @@ public sealed partial class ActiveMaterialReclaimerComponent : Component /// When the reclaiming process ends. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Materials/InsertingMaterialStorageComponent.cs b/Content.Shared/Materials/InsertingMaterialStorageComponent.cs index 007dc73345d..8ff96c17a77 100644 --- a/Content.Shared/Materials/InsertingMaterialStorageComponent.cs +++ b/Content.Shared/Materials/InsertingMaterialStorageComponent.cs @@ -3,7 +3,7 @@ namespace Content.Shared.Materials; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class InsertingMaterialStorageComponent : Component { /// @@ -11,6 +11,7 @@ public sealed partial class InsertingMaterialStorageComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; [ViewVariables, AutoNetworkedField] diff --git a/Content.Shared/Materials/MaterialReclaimerComponent.cs b/Content.Shared/Materials/MaterialReclaimerComponent.cs index 6c625e2fa25..3e72baf6041 100644 --- a/Content.Shared/Materials/MaterialReclaimerComponent.cs +++ b/Content.Shared/Materials/MaterialReclaimerComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Materials; /// This is a machine that handles converting entities /// into the raw materials and chemicals that make them up. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedMaterialReclaimerSystem))] public sealed partial class MaterialReclaimerComponent : Component { @@ -90,6 +90,7 @@ public sealed partial class MaterialReclaimerComponent : Component /// When the next sound will be allowed to be played. Used to prevent spam. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSound; /// diff --git a/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs b/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs index c470e11a0db..5a9ada7f586 100644 --- a/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs +++ b/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs @@ -34,13 +34,11 @@ public abstract class SharedMaterialReclaimerSystem : EntitySystem public override void Initialize() { SubscribeLocalEvent(OnShutdown); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnEmagged); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnCollide); SubscribeLocalEvent(OnActiveStartup); - SubscribeLocalEvent(OnActiveUnpaused); } private void OnMapInit(EntityUid uid, MaterialReclaimerComponent component, MapInitEvent args) @@ -53,11 +51,6 @@ private void OnShutdown(EntityUid uid, MaterialReclaimerComponent component, Com _audio.Stop(component.Stream); } - private void OnUnpaused(EntityUid uid, MaterialReclaimerComponent component, ref EntityUnpausedEvent args) - { - component.NextSound += args.PausedTime; - } - private void OnExamined(EntityUid uid, MaterialReclaimerComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("recycler-count-items", ("items", component.ItemsProcessed))); @@ -82,11 +75,6 @@ private void OnActiveStartup(EntityUid uid, ActiveMaterialReclaimerComponent com component.ReclaimingContainer = Container.EnsureContainer(uid, ActiveReclaimerContainerId); } - private void OnActiveUnpaused(EntityUid uid, ActiveMaterialReclaimerComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - /// /// Tries to start processing an item via a . /// diff --git a/Content.Shared/Materials/SharedMaterialStorageSystem.cs b/Content.Shared/Materials/SharedMaterialStorageSystem.cs index 9f7c87df3c9..b1de77d971a 100644 --- a/Content.Shared/Materials/SharedMaterialStorageSystem.cs +++ b/Content.Shared/Materials/SharedMaterialStorageSystem.cs @@ -30,7 +30,6 @@ public override void Initialize() SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnInteractUsing); - SubscribeLocalEvent(OnUnpaused); } public override void Update(float frameTime) @@ -52,11 +51,6 @@ private void OnMapInit(EntityUid uid, MaterialStorageComponent component, MapIni _appearance.SetData(uid, MaterialStorageVisuals.Inserting, false); } - private void OnUnpaused(EntityUid uid, InsertingMaterialStorageComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - /// /// Gets the volume of a specified material contained in this storage. /// diff --git a/Content.Shared/Medical/DefibrillatorComponent.cs b/Content.Shared/Medical/DefibrillatorComponent.cs index afd1e0cc969..2da52852854 100644 --- a/Content.Shared/Medical/DefibrillatorComponent.cs +++ b/Content.Shared/Medical/DefibrillatorComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Medical; /// This is used for defibrillators; a machine that shocks a dead /// person back into the world of the living. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class DefibrillatorComponent : Component { /// @@ -24,6 +24,7 @@ public sealed partial class DefibrillatorComponent : Component /// The time at which the zap cooldown will be completed /// [DataField("nextZapTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan? NextZapTime; /// diff --git a/Content.Shared/Ninja/Components/NinjaSuitComponent.cs b/Content.Shared/Ninja/Components/NinjaSuitComponent.cs index b6fac57b0b5..7e7b1ffcd30 100644 --- a/Content.Shared/Ninja/Components/NinjaSuitComponent.cs +++ b/Content.Shared/Ninja/Components/NinjaSuitComponent.cs @@ -15,6 +15,7 @@ namespace Content.Shared.Ninja.Components; /// As an implementation detail, dashing with katana is a suit action which isn't ideal. /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedNinjaSuitSystem)), AutoGenerateComponentState] +[AutoGenerateComponentPause] public sealed partial class NinjaSuitComponent : Component { /// @@ -46,6 +47,7 @@ public sealed partial class NinjaSuitComponent : Component /// Time at which we will be able to use our abilities again /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan DisableCooldown; /// diff --git a/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs b/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs index 1449157538a..fed41eaed8a 100644 --- a/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs +++ b/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs @@ -27,7 +27,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnEquipped); SubscribeLocalEvent(OnGetItemActions); @@ -43,11 +42,6 @@ private void OnMapInit(EntityUid uid, NinjaSuitComponent component, MapInitEvent Dirty(uid, component); } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.DisableCooldown += args.PausedTime; - } - /// /// Call the shared and serverside code for when a ninja equips the suit. /// diff --git a/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs b/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs index c6406a08668..2708c823d2c 100644 --- a/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs +++ b/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Nutrition.AnimalHusbandry; /// This is used for marking entities as infants. /// Infants have half the size, visually, and cannot breed. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class InfantComponent : Component { /// @@ -33,6 +33,7 @@ public sealed partial class InfantComponent : Component /// When the entity will stop being an infant. /// [DataField("infantEndTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan InfantEndTime; /// diff --git a/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs b/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs index ea9edcb5076..8d128f547e6 100644 --- a/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs +++ b/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs @@ -9,13 +9,14 @@ namespace Content.Shared.Nutrition.AnimalHusbandry; /// given they are next to a particular entity that fulfills a whitelist, /// can create several "child" entities. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class ReproductiveComponent : Component { /// /// The next time when breeding will be attempted. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextBreedAttempt; /// diff --git a/Content.Shared/Nutrition/Components/HungerComponent.cs b/Content.Shared/Nutrition/Components/HungerComponent.cs index 11197d8b42a..9ac82ba283c 100644 --- a/Content.Shared/Nutrition/Components/HungerComponent.cs +++ b/Content.Shared/Nutrition/Components/HungerComponent.cs @@ -9,7 +9,7 @@ namespace Content.Shared.Nutrition.Components; [RegisterComponent, NetworkedComponent, Access(typeof(HungerSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class HungerComponent : Component { /// @@ -106,6 +106,7 @@ public sealed partial class HungerComponent : Component /// [DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdateTime; /// diff --git a/Content.Shared/Nutrition/Components/ThirstComponent.cs b/Content.Shared/Nutrition/Components/ThirstComponent.cs index 35eb4d26149..731346401fd 100644 --- a/Content.Shared/Nutrition/Components/ThirstComponent.cs +++ b/Content.Shared/Nutrition/Components/ThirstComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.Nutrition.Components; [RegisterComponent, NetworkedComponent, Access(typeof(ThirstSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class ThirstComponent : Component { // Base stuff @@ -35,6 +35,7 @@ public sealed partial class ThirstComponent : Component /// [DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdateTime; /// diff --git a/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs b/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs index 9c096035104..d8808b6e4ab 100644 --- a/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs @@ -23,18 +23,12 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnRefreshMovespeed); SubscribeLocalEvent(OnRejuvenate); } - private void OnUnpaused(EntityUid uid, HungerComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } - private void OnMapInit(EntityUid uid, HungerComponent component, MapInitEvent args) { var amount = _random.Next( diff --git a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs index 05a2338768f..b070cee2831 100644 --- a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs @@ -29,7 +29,6 @@ public override void Initialize() SubscribeLocalEvent(OnRefreshMovespeed); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnRejuvenate); - SubscribeLocalEvent(OnUnpaused); } private void OnMapInit(EntityUid uid, ThirstComponent component, MapInitEvent args) @@ -184,9 +183,4 @@ public override void Update(float frameTime) UpdateEffects(uid, thirst); } } - - private void OnUnpaused(EntityUid uid, ThirstComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } } diff --git a/Content.Shared/PowerCell/PowerCellDrawComponent.cs b/Content.Shared/PowerCell/PowerCellDrawComponent.cs index 6963326b709..708a86a8eaf 100644 --- a/Content.Shared/PowerCell/PowerCellDrawComponent.cs +++ b/Content.Shared/PowerCell/PowerCellDrawComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.PowerCell; /// /// Indicates that the entity's ActivatableUI requires power or else it closes. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class PowerCellDrawComponent : Component { #region Prediction @@ -49,5 +49,6 @@ public sealed partial class PowerCellDrawComponent : Component /// When the next automatic power draw will occur /// [DataField("nextUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdateTime; } diff --git a/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs b/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs index 41f44f672be..fe4d59b81a8 100644 --- a/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs +++ b/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs @@ -42,7 +42,7 @@ public sealed class ClaimSalvageMessage : BoundUserInterfaceMessage /// /// Added per station to store data on their available salvage missions. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class SalvageExpeditionDataComponent : Component { /// @@ -61,6 +61,7 @@ public sealed partial class SalvageExpeditionDataComponent : Component /// Nexy time salvage missions are offered. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextOffer", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextOffer; [ViewVariables] diff --git a/Content.Shared/Salvage/Fulton/FultonedComponent.cs b/Content.Shared/Salvage/Fulton/FultonedComponent.cs index 3070249eee2..c73237a366d 100644 --- a/Content.Shared/Salvage/Fulton/FultonedComponent.cs +++ b/Content.Shared/Salvage/Fulton/FultonedComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Salvage.Fulton; /// /// Marks an entity as pending being fultoned. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class FultonedComponent : Component { /// @@ -26,6 +26,7 @@ public sealed partial class FultonedComponent : Component /// When the fulton is travelling to the beacon. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextFulton", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextFulton; [ViewVariables(VVAccess.ReadWrite), DataField("sound"), AutoNetworkedField] diff --git a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs index adaef16608e..0599482bbef 100644 --- a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs +++ b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs @@ -40,7 +40,6 @@ public override void Initialize() SubscribeLocalEvent(OnFultonDoAfter); - SubscribeLocalEvent(OnFultonUnpaused); SubscribeLocalEvent>(OnFultonedGetVerbs); SubscribeLocalEvent(OnFultonedExamine); SubscribeLocalEvent(OnFultonContainerInserted); @@ -106,11 +105,6 @@ private void OnFultonDoAfter(FultonedDoAfterEvent args) Audio.PlayPredicted(fulton.FultonSound, args.Target.Value, args.User); } - private void OnFultonUnpaused(EntityUid uid, FultonedComponent component, ref EntityUnpausedEvent args) - { - component.NextFulton += args.PausedTime; - } - private void OnFultonInteract(EntityUid uid, FultonComponent component, AfterInteractEvent args) { if (args.Target == null || args.Handled || !args.CanReach) diff --git a/Content.Shared/Singularity/Components/EventHorizonComponent.cs b/Content.Shared/Singularity/Components/EventHorizonComponent.cs index 2aa081915be..106d790ccb6 100644 --- a/Content.Shared/Singularity/Components/EventHorizonComponent.cs +++ b/Content.Shared/Singularity/Components/EventHorizonComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Singularity.Components; /// Primarily managed by and its server/client versions. /// [Access(friends: typeof(SharedEventHorizonSystem))] -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class EventHorizonComponent : Component { /// @@ -78,6 +78,7 @@ public sealed partial class EventHorizonComponent : Component /// The next time at which this consumed everything it overlapped with. /// [ViewVariables(VVAccess.ReadOnly), DataField("nextConsumeWaveTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextConsumeWaveTime; #endregion Update Timing diff --git a/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs b/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs index f2c71ad120d..a2cdd63ab70 100644 --- a/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs +++ b/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs @@ -3,7 +3,7 @@ namespace Content.Shared.Sound.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class EmitSoundOnCollideComponent : BaseEmitSoundComponent { public static readonly TimeSpan CollideCooldown = TimeSpan.FromSeconds(0.2); @@ -18,5 +18,6 @@ public sealed partial class EmitSoundOnCollideComponent : BaseEmitSoundComponent /// To avoid sound spam add a cooldown to it. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextSound", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSound; } diff --git a/Content.Shared/Sound/SharedEmitSoundSystem.cs b/Content.Shared/Sound/SharedEmitSoundSystem.cs index 5e131a13554..22ba8e0e3ee 100644 --- a/Content.Shared/Sound/SharedEmitSoundSystem.cs +++ b/Content.Shared/Sound/SharedEmitSoundSystem.cs @@ -42,7 +42,6 @@ public override void Initialize() SubscribeLocalEvent(OnEmitSoundOnPickup); SubscribeLocalEvent(OnEmitSoundOnDrop); - SubscribeLocalEvent(OnEmitSoundUnpaused); SubscribeLocalEvent(OnEmitSoundOnCollide); } @@ -119,11 +118,6 @@ protected void TryEmitSound(EntityUid uid, BaseEmitSoundComponent component, Ent } } - private void OnEmitSoundUnpaused(EntityUid uid, EmitSoundOnCollideComponent component, ref EntityUnpausedEvent args) - { - component.NextSound += args.PausedTime; - } - private void OnEmitSoundOnCollide(EntityUid uid, EmitSoundOnCollideComponent component, ref StartCollideEvent args) { if (!args.OurFixture.Hard || diff --git a/Content.Shared/Storage/Components/MagnetPickupComponent.cs b/Content.Shared/Storage/Components/MagnetPickupComponent.cs index c57b7c4e85a..3467439a6da 100644 --- a/Content.Shared/Storage/Components/MagnetPickupComponent.cs +++ b/Content.Shared/Storage/Components/MagnetPickupComponent.cs @@ -5,10 +5,11 @@ namespace Content.Server.Storage.Components; /// /// Applies an ongoing pickup area around the attached entity. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class MagnetPickupComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField("nextScan")] + [AutoPausedField] public TimeSpan NextScan = TimeSpan.Zero; /// diff --git a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs index 1703db25f3d..21861f57dab 100644 --- a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs +++ b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs @@ -26,12 +26,6 @@ public override void Initialize() base.Initialize(); _physicsQuery = GetEntityQuery(); SubscribeLocalEvent(OnMagnetMapInit); - SubscribeLocalEvent(OnMagnetUnpaused); - } - - private void OnMagnetUnpaused(EntityUid uid, MagnetPickupComponent component, ref EntityUnpausedEvent args) - { - component.NextScan += args.PausedTime; } private void OnMagnetMapInit(EntityUid uid, MagnetPickupComponent component, MapInitEvent args) diff --git a/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs b/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs index 7a7bac83f40..a080a83aaaf 100644 --- a/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs +++ b/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Teleportation.Components; /// This is used for an entity that, when linked to another valid entity, allows the two to swap positions, /// additionally swapping the positions of the parents. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SwapTeleporterSystem))] public sealed partial class SwapTeleporterComponent : Component { @@ -37,6 +37,7 @@ public sealed partial class SwapTeleporterComponent : Component /// The time at which ends and teleportation can occur again. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextTeleportUse; /// diff --git a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs index e900700e115..98a8955c7bc 100644 --- a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs +++ b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs @@ -33,7 +33,6 @@ public override void Initialize() SubscribeLocalEvent(OnActivateInWorld); SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdown); _xformQuery = GetEntityQuery(); @@ -217,11 +216,6 @@ private void OnExamined(Entity ent, ref ExaminedEvent a } } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextTeleportUse += args.PausedTime; - } - private void OnShutdown(Entity ent, ref ComponentShutdown args) { DestroyLink((ent, ent), null); diff --git a/Content.Shared/Throwing/ThrownItemComponent.cs b/Content.Shared/Throwing/ThrownItemComponent.cs index ab80e079383..16c9b13254c 100644 --- a/Content.Shared/Throwing/ThrownItemComponent.cs +++ b/Content.Shared/Throwing/ThrownItemComponent.cs @@ -5,7 +5,7 @@ namespace Content.Shared.Throwing { - [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] + [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class ThrownItemComponent : Component { /// @@ -24,6 +24,7 @@ public sealed partial class ThrownItemComponent : Component /// Compared to to land this entity, if any. /// [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan? LandTime; /// diff --git a/Content.Shared/Throwing/ThrownItemSystem.cs b/Content.Shared/Throwing/ThrownItemSystem.cs index 0e5817ff92c..b3b5bcf7870 100644 --- a/Content.Shared/Throwing/ThrownItemSystem.cs +++ b/Content.Shared/Throwing/ThrownItemSystem.cs @@ -35,7 +35,6 @@ public override void Initialize() SubscribeLocalEvent(HandleCollision); SubscribeLocalEvent(PreventCollision); SubscribeLocalEvent(ThrowItem); - SubscribeLocalEvent(OnThrownUnpaused); SubscribeLocalEvent(HandlePullStarted); } @@ -59,14 +58,6 @@ private void ThrowItem(EntityUid uid, ThrownItemComponent component, ref ThrownE _fixtures.TryCreateFixture(uid, shape, ThrowingFixture, hard: false, collisionMask: (int) CollisionGroup.ThrownItem, manager: fixturesComponent, body: body); } - private void OnThrownUnpaused(EntityUid uid, ThrownItemComponent component, ref EntityUnpausedEvent args) - { - if (component.LandTime != null) - { - component.LandTime = component.LandTime.Value + args.PausedTime; - } - } - private void HandleCollision(EntityUid uid, ThrownItemComponent component, ref StartCollideEvent args) { if (!args.OtherFixture.Hard) diff --git a/Content.Shared/Timing/UseDelayComponent.cs b/Content.Shared/Timing/UseDelayComponent.cs index 784fd6632f7..1560d4dd0b9 100644 --- a/Content.Shared/Timing/UseDelayComponent.cs +++ b/Content.Shared/Timing/UseDelayComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Timing; /// Currently it only supports a single delay per entity, this means that for things that have two delay interactions they will share one timer, so this can cause issues. For example, the bible has a delay when opening the storage UI and when applying it's interaction effect, and they share the same delay. /// [RegisterComponent] -[NetworkedComponent, AutoGenerateComponentState] +[NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(UseDelaySystem))] public sealed partial class UseDelayComponent : Component { @@ -18,12 +18,14 @@ public sealed partial class UseDelayComponent : Component /// When the delay starts. /// [ViewVariables(VVAccess.ReadWrite), DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan DelayStartTime; /// /// When the delay ends. /// [ViewVariables(VVAccess.ReadWrite), DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan DelayEndTime; /// diff --git a/Content.Shared/Timing/UseDelaySystem.cs b/Content.Shared/Timing/UseDelaySystem.cs index 34f12fa55e2..388f31079cd 100644 --- a/Content.Shared/Timing/UseDelaySystem.cs +++ b/Content.Shared/Timing/UseDelaySystem.cs @@ -7,19 +7,6 @@ public sealed class UseDelaySystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; - public override void Initialize() - { - SubscribeLocalEvent(OnUnpaused); - } - - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - // We got unpaused, resume the delay - ent.Comp.DelayStartTime += args.PausedTime; - ent.Comp.DelayEndTime += args.PausedTime; - Dirty(ent); - } - public void SetDelay(Entity ent, TimeSpan delay) { if (ent.Comp.Delay == delay) diff --git a/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs b/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs index ef3b712f60e..87ad6519d07 100644 --- a/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs +++ b/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs @@ -10,6 +10,7 @@ namespace Content.Shared.Weapons.Marker; /// Marks an entity to take additional damage /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SharedDamageMarkerSystem))] +[AutoGenerateComponentPause] public sealed partial class DamageMarkerComponent : Component { /// @@ -34,5 +35,6 @@ public sealed partial class DamageMarkerComponent : Component public EntityUid Marker; [ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan EndTime; } diff --git a/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs b/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs index 3a6afce3638..63b2d5f2115 100644 --- a/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs +++ b/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs @@ -20,7 +20,6 @@ public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnMarkerCollide); - SubscribeLocalEvent(OnMarkerUnpaused); SubscribeLocalEvent(OnMarkerAttacked); } @@ -54,11 +53,6 @@ public override void Update(float frameTime) } } - private void OnMarkerUnpaused(EntityUid uid, DamageMarkerComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void OnMarkerCollide(EntityUid uid, DamageMarkerOnCollideComponent component, ref StartCollideEvent args) { if (!args.OtherFixture.Hard || diff --git a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs index 27c3a5f0dfa..e5b35f6c0bb 100644 --- a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs +++ b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Weapons.Melee; /// /// When given to a mob lets them do unarmed attacks, or when given to an item lets someone wield it to do attacks. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class MeleeWeaponComponent : Component { // TODO: This is becoming bloated as shit. @@ -33,6 +33,7 @@ public sealed partial class MeleeWeaponComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextAttack; /// diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs index 12455a1f496..6a5127f2c95 100644 --- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs +++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs @@ -68,7 +68,6 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnMeleeUnpaused); SubscribeLocalEvent(OnMeleeSelected); SubscribeLocalEvent(OnMeleeShotAttempted); SubscribeLocalEvent(OnMeleeShot); @@ -112,11 +111,6 @@ private void OnMeleeShot(EntityUid uid, MeleeWeaponComponent component, ref GunS } } - private void OnMeleeUnpaused(EntityUid uid, MeleeWeaponComponent component, ref EntityUnpausedEvent args) - { - component.NextAttack += args.PausedTime; - } - private void OnMeleeSelected(EntityUid uid, MeleeWeaponComponent component, HandSelectedEvent args) { var attackRate = GetAttackRate(uid, args.User, component); diff --git a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs index 31ad2042341..0183a30a73b 100644 --- a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Weapons.Ranged.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedGunSystem), typeof(SharedOniSystem))] // DeltaV - I didn't feel like rewriting big chunks of code public sealed partial class GunComponent : Component { @@ -199,6 +199,7 @@ public sealed partial class GunComponent : Component /// [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextFire = TimeSpan.Zero; /// diff --git a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs index 923f95e2079..f478405bec5 100644 --- a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Weapons.Ranged.Components; /// /// Responsible for handling recharging a basic entity ammo provider over time. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class RechargeBasicEntityAmmoComponent : Component { [ViewVariables(VVAccess.ReadWrite)] @@ -25,5 +25,6 @@ public sealed partial class RechargeBasicEntityAmmoComponent : Component [ViewVariables(VVAccess.ReadWrite), DataField("nextCharge", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan? NextCharge; } diff --git a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs index 536f3da8112..b774c8ab450 100644 --- a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs @@ -21,19 +21,10 @@ public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnInit); SubscribeLocalEvent(OnExamined); } - private void OnUnpaused(EntityUid uid, RechargeBasicEntityAmmoComponent component, ref EntityUnpausedEvent args) - { - if (component.NextCharge == null) - return; - - component.NextCharge = component.NextCharge.Value + args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 16db325df41..36b5bbd1927 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -95,7 +95,6 @@ public override void Initialize() SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(OnCycleMode); SubscribeLocalEvent(OnGunSelected); - SubscribeLocalEvent(OnGunUnpaused); SubscribeLocalEvent(OnMapInit); } @@ -123,11 +122,6 @@ private void OnGunMelee(EntityUid uid, GunComponent component, MeleeHitEvent arg } } - private void OnGunUnpaused(EntityUid uid, GunComponent component, ref EntityUnpausedEvent args) - { - component.NextFire += args.PausedTime; - } - private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) { var user = args.SenderSession.AttachedEntity; diff --git a/SpaceStation14.sln b/SpaceStation14.sln index 5a05a09e359..e0cb455a6db 100644 --- a/SpaceStation14.sln +++ b/SpaceStation14.sln @@ -129,6 +129,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.PatreonParser", "Co EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Analyzers.Tests", "RobustToolbox\Robust.Analyzers.Tests\Robust.Analyzers.Tests.csproj", "{83F510FE-9B50-4D96-AFAB-CC13998D6AFE}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn", "Roslyn", "{7844DA69-B0F0-49FB-A05E-ECA37372277A}" + ProjectSection(SolutionItems) = preProject + RobustToolbox\Robust.Roslyn.Shared\Robust.Roslyn.Shared.props = RobustToolbox\Robust.Roslyn.Shared\Robust.Roslyn.Shared.props + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -457,20 +462,21 @@ Global {41B450C0-A361-4CD7-8121-7072B8995CFC} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {7B9472D3-79D4-48D1-9B22-BCDE518FE842} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {1FAE651D-29D8-437A-9864-47CE0D180016} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {3CFEB7DB-12C6-46F3-89FC-1450F3016FFA} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {8922428F-17C3-47A7-BFE9-570DEB2464DA} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {16F7DE32-0186-44B9-9345-0C20D1BF2422} = {AFF53804-115F-4E67-B81F-26265EA27880} {AFF53804-115F-4E67-B81F-26265EA27880} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {23F09C45-950E-4DB7-A465-E937450FF008} = {AFF53804-115F-4E67-B81F-26265EA27880} {440426C1-8DCA-43F6-967F-94439B8DAF47} = {AFF53804-115F-4E67-B81F-26265EA27880} - {88B0FC0F-7209-40E2-AF16-EB90AF727C5B} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {A3C5B00A-D232-4A01-B82E-B0E58BFD5C12} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {8A21C7CA-2EB8-40E5-8043-33582C06D139} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {952AAF2A-DF63-4A7D-8094-3453893EBA80} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {A965CB3B-FD31-44AF-8872-85ABA436098D} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {07CA34A1-1D37-4771-A2E3-495A1044AE0B} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {6FBF108E-5CB5-47DE-8D7E-B496ABA9E3E2} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {83F510FE-9B50-4D96-AFAB-CC13998D6AFE} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} + {7844DA69-B0F0-49FB-A05E-ECA37372277A} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} + {3CFEB7DB-12C6-46F3-89FC-1450F3016FFA} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {6FBF108E-5CB5-47DE-8D7E-B496ABA9E3E2} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {07CA34A1-1D37-4771-A2E3-495A1044AE0B} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {88B0FC0F-7209-40E2-AF16-EB90AF727C5B} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {83F510FE-9B50-4D96-AFAB-CC13998D6AFE} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {AA37ED9F-F8D6-468E-A101-658AD605B09A} From 8a863666f079aed0ae58ed7cb1f35106e1d71fba Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:40:48 +0000 Subject: [PATCH 128/345] add crew monitor as traitor steal objective (#25563) (cherry picked from commit 002b8d88711aa6395c5e054c3aa9bd163f74799e) --- .../Medical/handheld_crew_monitor.yml | 5 +++ .../Prototypes/Objectives/objectiveGroups.yml | 1 + .../Objectives/stealTargetGroups.yml | 7 ++++ Resources/Prototypes/Objectives/traitor.yml | 37 +++++++++++++++---- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml index cb3278c44af..e2e93283425 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -34,6 +34,11 @@ - HandheldCrewMonitor - type: StaticPrice price: 500 + - type: Tag + tags: + - HighRiskItem + - type: StealTarget + stealGroup: HandheldCrewMonitor - type: entity id: HandheldCrewMonitorEmpty diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 59ef96becd2..2fe5f7c833f 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -12,6 +12,7 @@ weights: CaptainIDStealObjective: 1 CMOHyposprayStealObjective: 1 + CMOCrewMonitorStealObjective: 1 RDHardsuitStealObjective: 1 NukeDiskStealObjective: 1 MagbootsStealObjective: 1 diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index 028c7c19397..d11478d1f9d 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -7,6 +7,13 @@ sprite: Objects/Specific/Medical/hypospray.rsi state: hypo +- type: stealTargetGroup + id: HandheldCrewMonitor + name: handheld crew monitor + sprite: + sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + state: scanner + - type: stealTargetGroup id: ClothingOuterHardsuitRd name: experimental research hardsuit diff --git a/Resources/Prototypes/Objectives/traitor.yml b/Resources/Prototypes/Objectives/traitor.yml index 2b18df1c6d0..ffeba32546d 100644 --- a/Resources/Prototypes/Objectives/traitor.yml +++ b/Resources/Prototypes/Objectives/traitor.yml @@ -147,35 +147,58 @@ ## cmo - type: entity - noSpawn: true + abstract: true parent: BaseTraitorStealObjective - id: CMOHyposprayStealObjective + id: BaseCMOStealObjective components: - type: NotJobRequirement job: ChiefMedicalOfficer - type: StealCondition - stealGroup: Hypospray owner: job-name-cmo -## rd +- type: entity + noSpawn: true + parent: BaseCMOStealObjective + id: CMOHyposprayStealObjective + components: + - type: StealCondition + stealGroup: Hypospray - type: entity noSpawn: true + parent: BaseCMOStealObjective + id: CMOCrewMonitorStealObjective + components: + - type: StealCondition + stealGroup: HandheldCrewMonitor + +## rd + +- type: entity + abstract: true parent: BaseTraitorStealObjective + id: BaseRDStealObjective + components: + - type: NotJobRequirement + job: ResearchDirector + - type: StealCondition + owner: job-name-rd + +- type: entity + noSpawn: true + parent: BaseRDStealObjective id: RDHardsuitStealObjective components: - type: StealCondition stealGroup: ClothingOuterHardsuitRd - owner: job-name-rd - type: entity noSpawn: true - parent: BaseTraitorStealObjective + parent: BaseRDStealObjective id: HandTeleporterStealObjective components: - type: StealCondition stealGroup: HandTeleporter - owner: job-name-rd ## hos From 535828ba4ce45279851eed71562073aa2516e8b3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 03:41:54 +0000 Subject: [PATCH 129/345] Automatic changelog update (cherry picked from commit c02c8c2319e57d0172fa8a8c20e2be6f56ba36e3) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index be2751900ad..3f651b03041 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Fixed refueling a lit welder not detonating the fuel tank - type: Fix - id: 5527 - time: '2024-01-03T21:23:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23469 - author: Alekshhh changes: - message: Changed monkeys visually @@ -3820,3 +3813,10 @@ id: 6026 time: '2024-02-26T02:41:20.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25161 +- author: deltanedas + changes: + - message: Traitors can now be asked to steal the CMO's Handheld Crew Monitor. + type: Tweak + id: 6027 + time: '2024-02-26T03:40:48.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25563 From 9adf84fb89868804dbbad93658f3402123989f73 Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:17:56 -0800 Subject: [PATCH 130/345] Syringe UI cached updates (#25581) Injector status UI cached values Co-authored-by: Plykiya (cherry picked from commit dffd02adb161f8299e858fb6c0c2eb71e595e21f) --- .../Chemistry/UI/InjectorStatusControl.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Content.Client/Chemistry/UI/InjectorStatusControl.cs b/Content.Client/Chemistry/UI/InjectorStatusControl.cs index 979e9ea6455..9cb699330c2 100644 --- a/Content.Client/Chemistry/UI/InjectorStatusControl.cs +++ b/Content.Client/Chemistry/UI/InjectorStatusControl.cs @@ -2,6 +2,7 @@ using Content.Client.Stylesheets; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.FixedPoint; using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; using Robust.Shared.Timing; @@ -14,6 +15,10 @@ public sealed class InjectorStatusControl : Control private readonly SharedSolutionContainerSystem _solutionContainers; private readonly RichTextLabel _label; + private FixedPoint2 PrevVolume; + private FixedPoint2 PrevMaxVolume; + private InjectorToggleMode PrevToggleState; + public InjectorStatusControl(Entity parent, SharedSolutionContainerSystem solutionContainers) { _parent = parent; @@ -29,6 +34,16 @@ protected override void FrameUpdate(FrameEventArgs args) if (!_solutionContainers.TryGetSolution(_parent.Owner, InjectorComponent.SolutionName, out _, out var solution)) return; + // only updates the UI if any of the details are different than they previously were + if (PrevVolume == solution.Volume + && PrevMaxVolume == solution.MaxVolume + && PrevToggleState == _parent.Comp.ToggleState) + return; + + PrevVolume = solution.Volume; + PrevMaxVolume = solution.MaxVolume; + PrevToggleState = _parent.Comp.ToggleState; + // Update current volume and injector state var modeStringLocalized = Loc.GetString(_parent.Comp.ToggleState switch { From 964405fbf491c860100fa569d6951d2290ef0b53 Mon Sep 17 00:00:00 2001 From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com> Date: Mon, 26 Feb 2024 13:37:49 +0100 Subject: [PATCH 131/345] swapped icons for RCD crates (#25600) swapped icons for crates (cherry picked from commit 76823cc52264e53d673ce728692ee4d02073b518) --- Resources/Prototypes/Catalog/Cargo/cargo_engineering.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_engineering.yml b/Resources/Prototypes/Catalog/Cargo/cargo_engineering.yml index dc3bb851a75..8369a813073 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_engineering.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_engineering.yml @@ -102,7 +102,7 @@ id: EngineeringRCDAmmo icon: sprite: Objects/Tools/rcd.rsi - state: icon + state: ammo product: CrateRCDAmmo cost: 2500 category: Engineering @@ -112,7 +112,7 @@ id: EngineeringRCD icon: sprite: Objects/Tools/rcd.rsi - state: ammo + state: icon product: CrateRCD cost: 800 category: Engineering From 9a0611b8cb571a58d2abd05ff424d61a8be30a7e Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+iamvelcroboy@users.noreply.github.com> Date: Mon, 26 Feb 2024 23:56:41 +0100 Subject: [PATCH 132/345] Cleans up base crates for mapping clarity (#25618) * Cleans up base crates for mapping clarity * migration --------- Co-authored-by: Jeff (cherry picked from commit 2efad4f3c57dc9265f8960634500c05648e06d77) --- Resources/Migrations/migration.yml | 3 +++ .../Structures/Storage/Crates/base_structurecrates.yml | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Resources/Migrations/migration.yml b/Resources/Migrations/migration.yml index fcc1c21c05c..c4759eef91f 100644 --- a/Resources/Migrations/migration.yml +++ b/Resources/Migrations/migration.yml @@ -203,3 +203,6 @@ Onestar: null # I dont think this is even mapped, but just in case SolarAssemblyPart: SolarAssemblyFlatpack AmePart: AmePartFlatpack AmePartStealObjective: AmePartFlatpackStealObjective + +# 2024-02-26 +CrateBaseWeldable: CrateGenericSteel diff --git a/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml b/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml index acf4fd2149e..403e20b43c7 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Crates/base_structurecrates.yml @@ -78,6 +78,7 @@ - type: entity parent: CrateGeneric id: CrateBaseWeldable + noSpawn: true components: - type: Weldable - type: ResistLocker @@ -85,6 +86,7 @@ - type: entity parent: CrateBaseWeldable id: CrateBaseSecure + suffix: Secure components: - type: Lock - type: LockVisuals From 2f732143001f23e7515ed73ec11e1da09ea2b99a Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:57:19 -0600 Subject: [PATCH 133/345] Fix inconsistency in onions (#25619) Co-authored-by: Jeff (cherry picked from commit 19ce9edf103620524a3b8febce8e039fbcefc3a8) --- .../Entities/Objects/Consumable/Food/produce.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index fd2fddb8a0e..0d252f44a05 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -987,7 +987,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 14 + maxVol: 18 reagents: - ReagentId: Nutriment Quantity: 10 @@ -1000,7 +1000,7 @@ - type: Produce seedId: onionred - type: SliceableFood - count: 4 + count: 5 slice: FoodOnionRedSlice - type: entity @@ -1073,7 +1073,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 3 + maxVol: 5 reagents: - ReagentId: Nutriment Quantity: 2 @@ -1096,7 +1096,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 3 + maxVol: 5 reagents: - ReagentId: Nutriment Quantity: 2 From 5453c1c6ba6451a98bf66bd0d7b2efb5827222b7 Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:57:29 -0600 Subject: [PATCH 134/345] fixes arcade tile position (#25620) Co-authored-by: Jeff (cherry picked from commit 918eb1fe87d1543be84b8dba5c654434afa7f9a3) --- .../Structures/Machines/arcade.rsi/arcade.png | Bin 18323 -> 1880 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Structures/Machines/arcade.rsi/arcade.png b/Resources/Textures/Structures/Machines/arcade.rsi/arcade.png index 4f8b700c89a672e232b06e0e00972721241e4431..cfe8998acb5d0033d882b2a18606f8d4b84396a1 100644 GIT binary patch delta 1867 zcmV-R2ekN;j{(>YkRyKwA4x<(RCr$PTU}^eMHD`HP)TD*R1#AYRFt*G=$1T4p|FxF z286y;p+?Xu2z}_!gGBJfg+hE0%u|0J1VN*aSkS%{gow7dP$*J@t1*d7MJ2H@i<%JA zpgyem?)Kb0nVp%vKeKxy&Ai;bbLZ!r@BGZnIkQc4lb0qF{}X?EsC0JT4LS#Vh=wkc zaW35~jhf#`)U(}G`ryzL^zztOlznQKM`LPi&Zo6-s9a~OANgXAc#KaM!U2H!$KNM< z;T0l0x%_!1Oh7;v7z0m3Z?(1H%*29VO7?FGcCdMF4K$yuv8TZ9A ziW79R29-yN1;Fe3+Pp#j&fn+LbX)po|F^0BoeL`-cu@d=2D${mq=8l^$i$BxEtB%o zMB1n6{-M18+f+Y%x~x4>0DuX6yCdbzF*rDA#A0%CvL=5{k6kas(}1K*Kmw4-WN81; z5dC!^L${yH(fNr9%H?uYR{&~48=^rJAD{xDPS+3sa{qLMV6(bu=GLOs37H00O#m7& z@bPI+`p|-l&mXP720-o2I9y{kA6`C_3>00KldJIzPeY z5z7Yv05E?B22uL@`eomb705dZ))Z5$Z**>H#rQ8q=V2QJxt9}9X(mY&h z00h8Hq|OfezCdl`VjmC$09%{Lt3Z|4-PjZ{L#7D< zn66EfonTzXW&cR0K|V_#zpH!*I(Y3Go!z;UJ{vwo&x{`P$CvNi1|LuUp09ZxH!+Ew zU|)Yzg4e#X@R6@Xp4Dv@X#Aaiq-=r!6!20#~< z4kL*mVQHHQr~m}bQ|S6d@&RF(t<^S)6V!h(0w;^Tg|6V-0tf620FLIs3I5hxjsTrl zd6-_Cou%=C0a{&M_392^x#GPqE-uoEwpp+4?)9|i1L8!4V1iPeWqi^ExY`D0gTQJe z4KM-F)z#(A&j7TxwtDZb0e}g9|6v7$umFJhM_!uqqSHiQ+WXN;!!_yBi*2P} z3M+Krt@26{v|w44J427~Y)@zDjro5{qA|!|2u;siT_L2%k^%rJx!wocyeLqZ@^()r zjm$53yvGLM%Rd(V!NL#`w=IPB-i*pTuT}g(lDbIvRC*8+m^`-UNUe zN@6hhWF?QL{4L7ukEl|U{n%_}osCY(ODF(p4Z4*80F$-oRRbiOw!*4pY7NFQx~*aY zK{OU^sgeHR_waiwl0sAi#-ST;P8aaSepN*qqX`^$) z4?(JyG97%elKq$j;oql;&hLMz^t5V#WZnh<0v2I|94?%nItJ5W0|0#_2u1*G%(H{x zuoPl*xF3MTW0d~`!~ui_?HMw z000c+^K>ztrld81>0kixuNHRTst=Q9T(uQelMr%K!N@`7FcAPi8XP_#X$^o6K+2x! zf=svfVzj_T!G9JR2_!kM0Cu<4@eVu{8W>7 zXCP?}Q12qBCZK|VckO>!fKOFA=A{?a?FR9^(N0iZA=rnh4p3(f#%0jNyv~+*;9AMY zdM<-99IhVSWok?X!MFeR~$Nos)ZCW(y~tqI6Pq?DRG2^X9~8<2lZf{$5i+Ja@l6nFlj+x0Hj0oc`)^8+(^||0hJ)= zj=(0L77GCO2}w!b1cH>dPH?hc6#!9k@mt|2%uL0h|3A*+qnqT9pCkYP002ovPDHLk FV1mKSZlnMJ literal 18323 zcmeIZWpEr#vMxMgvKTC8SvX>5W@ct)jhH2iC5zEwuqIR*v6+XJIRN0XQjui?+GDRSd^f>#hl3PsPk{h8>_0V3 z5!jTf{*lnSa^L@LHD#`l22IpFoA=Mx^{37E6Swypf%jdLyZNk=xit{~V#>?x_$@$6Wz*N%B-8Y-@$!CMA=PHC#hpe2L)sSNkKd09hG4FGf z<0^!ZSD>}nlPCXY>&Xz~rLN0Ks3*U2vL@{fqHXQxXCFSP^>;2`u9Hc#_p68A^YMOP zV_4cJk4v_GX9nWqt}Ww(FiQhkhg+uA$-pY=#sg#9;UZt|4fTCLnf(*W_tZsyIEvq| zt-B#P8Q;4){e9Mp45|b^yEG0sxX0|CObF0z68Bbx7C+NV~FG}F${m;!J z!g`bH#&dz+8RiK*Gkglk$Pw*@Fyx!xky0(9-|L^(*gf2M!&9^p{S~n)}@sv-0p1m>soPb^BypFpg;7T zRsbq={_)ncY5;iyKxVP+T4jDYlYSC@THIcY5)Nh8wHZTMqfU!!ObyyQ$zEL&Qck~o zMb_or=UUTPwFwr2(tZ*GDx}snSJBQZeLDWZ$K<}Sl&d7YBV@Bd$VUKa;*su(im*GrQsPj zXracH{t^8veX0mU{h=a_cdFLjH@66-$Cgc4W(Ulvv3pXE-3d#wQC4~_ zhA(S+#u+B1Ws9#Vc%Q>RrB;QWb3f@#KmWYb;lukCZ)OZbYUC1*X0u6E?JJp+xDt{G9D3jwjGDzs$C zY#wfVtFdG&PhLJ+p2hmHr2%`l_FuJLJ&_FG8iu^T+{dlAon4{!Vu!y6@x8h-e93|z+ zsxAG8+Zb>&?-gbwD@}6zvv=tBgkx$0Q-DMic4rlpRlH!eonIQ|1$5&DoeR$emW)1N zwZY@?`IN3H9N91uV4ckwK1LE4={Mly+AW#`z9xj;Hn}zXt`u`F6PG(B%Ff}4h*I=y zZF$_O+7Ybzb5)!3Gs|bQjF^&`NY2Z8mWS!8WEm)dgyOZ9?xlK;h8S#hzR!#O>Wr?H z0%JM9&)#}EwU*70O(W-he1d)1h#^zI$CnyOAoFUk&4?d-@%UD;kaT<`A@I~|Ns|%P z2N*QbBL)(p(Jk%J_u4 z6vgS^egbJaxIV;2`heq{0c?y@I!wm>4DHsUDSaS7Wg1DlN4*Tj)IGz+(2mr&p=n9u zM8CO*eWg)e&Z?IK!%8d52NkB31bu5p2*Ja31*xIWwLbE|svbsO^GS81i74aQ+hILy z9BSmP&4d{&Y@*=%IKD{6+zhn<1&^kte1;$#0JvN4^)bNm&x6MP)qlS}8%+I+|%2B1OgRZkR5Q zg#}bCLv&Jpienf-P|AH9OO=G&em>G9W`fSnM5w}j%N64#u9sZ%{bNacf~jYak;riN z?Hg^BsH4?=ESo8HRePM`8kJus!?*gXewuj2!-Bv@$KUw}B6Fz%DVf(UvlakRu$Q

K8z0?5d#L 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 From 5a74cffe0968baa15b0d732a36fe93af0562eda9 Mon Sep 17 00:00:00 2001 From: MACMAN2003 Date: Mon, 26 Feb 2024 14:58:01 -0800 Subject: [PATCH 135/345] Lathe-able LED light tubes and LED bulbs (#25616) let there be (led) light (cherry picked from commit 89c822638057e2c7071ae6cb4380b114da5a4961) --- .../Entities/Objects/Power/lights.yml | 15 +++++++++++++ .../Structures/Lighting/base_lighting.yml | 21 ++++++++++++++++++- .../Entities/Structures/Machines/lathe.yml | 2 ++ Resources/Prototypes/Recipes/Lathes/misc.yml | 18 ++++++++++++++++ 4 files changed, 55 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Power/lights.yml b/Resources/Prototypes/Entities/Objects/Power/lights.yml index 0dbee48110a..c8089cd22d3 100644 --- a/Resources/Prototypes/Entities/Objects/Power/lights.yml +++ b/Resources/Prototypes/Entities/Objects/Power/lights.yml @@ -127,6 +127,21 @@ lightRadius: 6 lightSoftness: 1.1 +- type: entity + parent: BaseLightbulb + name: led light bulb + id: LedLightBulb + description: A power efficient light bulb. + components: + - type: LightBulb + bulb: Bulb + color: "#EEEEFF" + lightEnergy: 1 + lightRadius: 8 + lightSoftness: 1 + BurningTemperature: 350 #LEDs are colder than incandescent bulbs + PowerUse: 6 #LEDs are more power efficient than incandescent bulbs + - type: entity parent: LightBulb name: old incandescent light bulb diff --git a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml index 07a25d7b643..59def55d952 100644 --- a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml +++ b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml @@ -147,7 +147,7 @@ hasLampOnSpawn: LedLightTube damage: types: - Heat: 5 + Heat: 2.5 - type: PointLight radius: 15 energy: 1 @@ -310,6 +310,25 @@ - Off - Toggle +- type: entity + id: PoweredLEDSmallLight + suffix: LED + parent: PoweredSmallLightEmpty + components: + - type: Sprite + state: base + - type: PointLight + enabled: true + radius: 8 + energy: 1 + softness: 1 + color: "#EEEEFF" + - type: PoweredLight + hasLampOnSpawn: LedLightBulb + damage: + types: + Heat: 2.5 + - type: entity id: PoweredSmallLight suffix: "" diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index de735ab3624..688e399aef7 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -113,9 +113,11 @@ - Syringe - HandLabeler - LightTube + - LedLightTube - SodiumLightTube - ExteriorLightTube - LightBulb + - LedLightBulb - Bucket - DrinkMug - DrinkMugMetal diff --git a/Resources/Prototypes/Recipes/Lathes/misc.yml b/Resources/Prototypes/Recipes/Lathes/misc.yml index 15b20d8b904..8b4b5332835 100644 --- a/Resources/Prototypes/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/Recipes/Lathes/misc.yml @@ -7,6 +7,15 @@ Steel: 50 Glass: 50 +- type: latheRecipe + id: LedLightTube + result: LedLightTube + category: Lights + completetime: 2 + materials: + Steel: 50 + Glass: 50 + - type: latheRecipe id: SodiumLightTube result: SodiumLightTube @@ -34,6 +43,15 @@ Steel: 50 Glass: 50 +- type: latheRecipe + id: LedLightBulb + result: LedLightBulb + category: Lights + completetime: 2 + materials: + Steel: 50 + Glass: 50 + - type: latheRecipe id: GlowstickRed result: GlowstickRed From da76efaaf197d6e230cf0fde0871e73f8d0db6a1 Mon Sep 17 00:00:00 2001 From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Mon, 26 Feb 2024 16:58:16 -0600 Subject: [PATCH 136/345] fixes the old ai sat ruin's lights (#25615) (cherry picked from commit 4bf2364f5fbf79d87c9ea819a57beac73823a1cf) --- Resources/Maps/Ruins/old_ai_sat.yml | 91 ++++++++++++----------------- 1 file changed, 38 insertions(+), 53 deletions(-) diff --git a/Resources/Maps/Ruins/old_ai_sat.yml b/Resources/Maps/Ruins/old_ai_sat.yml index 4ff3d5e37a4..38be5e939ca 100644 --- a/Resources/Maps/Ruins/old_ai_sat.yml +++ b/Resources/Maps/Ruins/old_ai_sat.yml @@ -4,11 +4,11 @@ meta: tilemap: 0: Space 29: FloorDark - 89: FloorSteel - 93: FloorSteelDamaged - 120: Lattice - 121: Plating - 124: PlatingDamaged + 91: FloorSteel + 95: FloorSteelDamaged + 123: Lattice + 124: Plating + 127: PlatingDamaged entities: - proto: "" entities: @@ -23,47 +23,47 @@ entities: chunks: 0,0: ind: 0,0 - tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAABeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAADWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAXQAAAAAAWQAAAAACeQAAAAAAWQAAAAABXQAAAAAEWQAAAAADeQAAAAAAWQAAAAADWQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAXQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAACXQAAAAADXQAAAAABWQAAAAACXQAAAAACWQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAACWQAAAAACWQAAAAACWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAACAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAABWQAAAAAAXQAAAAAEWQAAAAABWQAAAAAAXQAAAAABWQAAAAABeQAAAAAAAAAAAAAAeAAAAAAAHQAAAAABeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADAAAAAAAAeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAHQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAACHQAAAAAAHQAAAAACHQAAAAADeQAAAAAAHQAAAAACAAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAABHQAAAAABHQAAAAABeQAAAAAAHQAAAAACHQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAA + tiles: fAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAABWwAAAAABfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAABWwAAAAADWwAAAAACWwAAAAACWwAAAAAAWwAAAAAAWwAAAAABfAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAWwAAAAACWwAAAAADWwAAAAAAWwAAAAABWwAAAAABfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAWwAAAAAAWwAAAAABWwAAAAABfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAAAWwAAAAABWwAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAWwAAAAACWwAAAAABWwAAAAADWwAAAAAAWwAAAAABWwAAAAACWwAAAAACWwAAAAADWwAAAAABfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAXwAAAAAAWwAAAAACfAAAAAAAWwAAAAABXwAAAAAEWwAAAAADfAAAAAAAWwAAAAADWwAAAAACfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAXwAAAAADfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAWwAAAAADWwAAAAACXwAAAAADXwAAAAABWwAAAAACXwAAAAACWwAAAAACfAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAACHQAAAAACWwAAAAACWwAAAAACWwAAAAAAWwAAAAADWwAAAAACWwAAAAABWwAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAACAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAWwAAAAABWwAAAAAAXwAAAAAEWwAAAAABWwAAAAAAXwAAAAABWwAAAAABfAAAAAAAAAAAAAAAewAAAAAAHQAAAAABewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAADAAAAAAAAfAAAAAAAfAAAAAAAHQAAAAACfAAAAAAAHQAAAAAAHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAACHQAAAAAAHQAAAAACHQAAAAADfAAAAAAAHQAAAAACAAAAAAAAfAAAAAAAfAAAAAAAHQAAAAADHQAAAAABHQAAAAABHQAAAAABHQAAAAABfAAAAAAAHQAAAAACHQAAAAAAHQAAAAABHQAAAAABfAAAAAAAfAAAAAAA version: 6 0,-1: ind: 0,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAABeQAAAAAAeAAAAAAAeAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAHQAAAAAAHQAAAAABHQAAAAADfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAWwAAAAABWwAAAAAAWwAAAAABWwAAAAACWwAAAAACfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAACWwAAAAABWwAAAAACWwAAAAABWwAAAAADWwAAAAADWwAAAAABfAAAAAAAewAAAAAAewAAAAAA version: 6 -1,0: ind: -1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAA version: 6 1,0: ind: 1,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAACHQAAAAABAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAHQAAAAADeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAHQAAAAACAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAHQAAAAACAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAACHQAAAAACHQAAAAABAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAHQAAAAACAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAHQAAAAACAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAAAAAAAAAHQAAAAAAAAAAAAAAfAAAAAAAWwAAAAADWwAAAAAAWwAAAAACfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 0,1: ind: 0,1 - tiles: HQAAAAABAAAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAADHQAAAAACeQAAAAAAHQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAACeQAAAAAAHQAAAAABeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAADeQAAAAAAfAAAAAAAfAAAAAAAeQAAAAAAHQAAAAACHQAAAAACHQAAAAADeQAAAAAAHQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAHQAAAAABHQAAAAACHQAAAAABHQAAAAABHQAAAAACfAAAAAACeQAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAHQAAAAADeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAABHQAAAAADeQAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAAAHQAAAAABeQAAAAAAHQAAAAACeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAABHQAAAAACHQAAAAACeQAAAAAAeQAAAAAAHQAAAAABeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABeQAAAAAAHQAAAAACeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAACWQAAAAADWQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAABeQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAWQAAAAACWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA + tiles: HQAAAAABAAAAAAAAfAAAAAAAfAAAAAAAHQAAAAACHQAAAAADHQAAAAACfAAAAAAAHQAAAAAAfAAAAAAAHQAAAAAAHQAAAAADHQAAAAADHQAAAAABHQAAAAACfAAAAAAAHQAAAAABewAAAAAAfAAAAAAAfAAAAAAAHQAAAAADHQAAAAAAHQAAAAADHQAAAAADfAAAAAAAfwAAAAAAfwAAAAAAfAAAAAAAHQAAAAACHQAAAAACHQAAAAADfAAAAAAAHQAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAHQAAAAABHQAAAAACHQAAAAABHQAAAAABHQAAAAACfwAAAAACfAAAAAAAHQAAAAAAHQAAAAACHQAAAAABHQAAAAAAfAAAAAAAHQAAAAADewAAAAAAfAAAAAAAfAAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAABHQAAAAADfAAAAAAAHQAAAAADHQAAAAADHQAAAAADHQAAAAAAHQAAAAABfAAAAAAAHQAAAAACewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAAAHQAAAAACfAAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAABHQAAAAACHQAAAAACfAAAAAAAfAAAAAAAHQAAAAABewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAACHQAAAAABfAAAAAAAHQAAAAACewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAWwAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAHQAAAAAAHQAAAAAAHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAWwAAAAABWwAAAAAAWwAAAAACWwAAAAAAWwAAAAAAWwAAAAADfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAADewAAAAAAewAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAACWwAAAAADWwAAAAAAfAAAAAAAWwAAAAADWwAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAfAAAAAAAWwAAAAADWwAAAAAAWwAAAAACWwAAAAADWwAAAAABWwAAAAABfAAAAAAAWwAAAAAAWwAAAAABfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAfAAAAAAAWwAAAAAAWwAAAAADWwAAAAADWwAAAAAAWwAAAAAAWwAAAAAAfAAAAAAAWwAAAAACWwAAAAACfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAWwAAAAABWwAAAAACfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAA version: 6 1,1: ind: 1,1 - tiles: eQAAAAAAAAAAAAAAHQAAAAADAAAAAAAAeQAAAAAAWQAAAAAAWQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAABHQAAAAACHQAAAAADWQAAAAACWQAAAAABWQAAAAADeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAAAAAAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAABAAAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAADAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAHQAAAAADeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAACXQAAAAADXQAAAAAEeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAADWQAAAAAAWQAAAAAAXQAAAAACXQAAAAACXQAAAAADfAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWQAAAAABWQAAAAABXQAAAAAEXQAAAAAAfAAAAAACfAAAAAABeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: fAAAAAAAAAAAAAAAHQAAAAADAAAAAAAAfAAAAAAAWwAAAAAAWwAAAAABWwAAAAABfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAABHQAAAAACHQAAAAADWwAAAAACWwAAAAABWwAAAAADfAAAAAAAfAAAAAAAewAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAAAAAAAAAAAfAAAAAAAWwAAAAACWwAAAAADWwAAAAABfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAABAAAAAAAAfAAAAAAAWwAAAAABWwAAAAAAWwAAAAACfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAADAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAHQAAAAADewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAHQAAAAADfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAADWwAAAAABWwAAAAACWwAAAAABWwAAAAAAWwAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAABWwAAAAAAWwAAAAAAWwAAAAABWwAAAAAAWwAAAAABfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAABWwAAAAACWwAAAAAAWwAAAAACXwAAAAADXwAAAAAEfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAADWwAAAAAAWwAAAAAAXwAAAAACXwAAAAACXwAAAAADfwAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAABWwAAAAABXwAAAAAEXwAAAAAAfwAAAAACfwAAAAABewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 -1,1: ind: -1,1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAA version: 6 0,2: ind: 0,2 - tiles: eAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: ewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAewAAAAAAfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 -2,0: ind: -2,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 -2,1: ind: -2,1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAewAAAAAAewAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 2,0: ind: 2,0 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAewAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 - type: Broadphase - type: Physics @@ -525,28 +525,13 @@ entities: - uid: 676 components: - type: Transform - pos: 9.5,1.5 + pos: 14.5,23.5 parent: 1 - uid: 677 components: - type: Transform pos: 9.5,-2.5 parent: 1 - - uid: 678 - components: - - type: Transform - pos: 9.5,-1.5 - parent: 1 - - uid: 679 - components: - - type: Transform - pos: 9.5,-0.5 - parent: 1 - - uid: 680 - components: - - type: Transform - pos: 9.5,0.5 - parent: 1 - proto: Chair entities: - uid: 274 @@ -1737,39 +1722,22 @@ entities: - type: Transform pos: 10.5,27.5 parent: 1 -- proto: PoweredSmallLight +- proto: PoweredSmallLightEmpty entities: - uid: 131 components: - type: Transform pos: 11.5,6.5 parent: 1 - - uid: 155 - components: - - type: Transform - pos: 9.5,11.5 - parent: 1 - uid: 156 components: - type: Transform pos: 7.5,6.5 parent: 1 - - uid: 468 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 7.5,25.5 - parent: 1 - - uid: 611 - components: - - type: Transform - pos: 17.5,28.5 - parent: 1 - uid: 612 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 23.5,17.5 + pos: 2.5,11.5 parent: 1 - proto: Rack entities: @@ -1996,7 +1964,18 @@ entities: rot: -1.5707963267948966 rad pos: 2.5,1.5 parent: 1 + - uid: 155 + components: + - type: Transform + pos: 9.5,11.5 + parent: 1 - uid: 321 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 23.5,17.5 + parent: 1 + - uid: 468 components: - type: Transform rot: 1.5707963267948966 rad @@ -2008,15 +1987,21 @@ entities: rot: -1.5707963267948966 rad pos: 12.5,0.5 parent: 1 + - uid: 611 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 7.5,25.5 + parent: 1 - uid: 615 components: - type: Transform pos: 2.5,28.5 parent: 1 - - uid: 710 + - uid: 678 components: - type: Transform - pos: 2.5,11.5 + pos: 17.5,28.5 parent: 1 - uid: 711 components: From 579da289da6fbc65d3eb00adb230342825683c3c Mon Sep 17 00:00:00 2001 From: botanySupremist <160211017+botanySupremist@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:58:44 -0800 Subject: [PATCH 137/345] Fixed a few small typos in ghost role information. (#25613) Co-authored-by: botanySupremist (cherry picked from commit c6bfb657adf2d57f30a464259196bc08f7759d10) --- .../en-US/ghost/roles/ghost-role-component.ftl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 020d81395c4..4b151d131ab 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -82,7 +82,7 @@ ghost-role-information-salvage-shark-name = Space sharkminnow on salvage wreck ghost-role-information-salvage-shark-description = Help the younger fellow carp protect their prey. Smell the blood! ghost-role-information-willow-name = Willow the kangaroo -ghost-role-information-willow-description = You're a kangaroo named willow! willow likes to box. +ghost-role-information-willow-description = You're a kangaroo named willow! Willow likes to box. ghost-role-information-space-tick-name = Space tick ghost-role-information-space-tick-description = Wreak havoc on the station! @@ -97,7 +97,7 @@ ghost-role-information-jonkbot-name = Jonkbot ghost-role-information-jonkbot-description = An artificial being of pure evil. ghost-role-information-mimebot-name = Mimebot -ghost-role-information-mimebot-description = A Mimebot, act like a mime but dont act like a greytider. +ghost-role-information-mimebot-description = A Mimebot, act like a mime but don't act like a greytider. ghost-role-information-taxibot-name = TaxiBot ghost-role-information-taxibot-description = Drive the station crew to their destination. @@ -176,19 +176,19 @@ ghost-role-information-cerberus-description = Obey your master. Spread chaos. ghost-role-information-cerberus-rules = You are an intelligent, demonic dog. Try to help the chaplain and any of his flock. As an antagonist, you're otherwise unrestrained. ghost-role-information-ert-leader-name = ERT Leader -ghost-role-information-ert-leader-description = Lead a team of specialists to resolve the stations issues. +ghost-role-information-ert-leader-description = Lead a team of specialists to resolve the station's issues. ghost-role-information-ert-janitor-name = ERT Janitor -ghost-role-information-ert-janitor-description = Assist with custodial efforts to resolve the stations issues. +ghost-role-information-ert-janitor-description = Assist with custodial efforts to resolve the station's issues. ghost-role-information-ert-engineer-name = ERT Engineer -ghost-role-information-ert-engineer-description = Assist with engineering efforts to resolve the stations issues. +ghost-role-information-ert-engineer-description = Assist with engineering efforts to resolve the station's issues. ghost-role-information-ert-security-name = ERT Security -ghost-role-information-ert-security-description = Assist with security efforts to resolve the stations issues. +ghost-role-information-ert-security-description = Assist with security efforts to resolve the station's issues. ghost-role-information-ert-medical-name = ERT Medical -ghost-role-information-ert-medical-description = Assist with medical efforts to resolve the stations issues. +ghost-role-information-ert-medical-description = Assist with medical efforts to resolve the station's issues. ghost-role-information-cburn-agent-name = CBURN Agent ghost-role-information-cburn-agent-description = A highly trained CentCom agent, capable of dealing with various threats. From 3bbb3c0081ba7e25331a65aa993119961d071f0e Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:59:15 -0500 Subject: [PATCH 138/345] Add weh to: Anomalies, Artifacts, random puddles (#25611) * Add weh to: Anomalies, Artifacts, random puddles * also change weh to wehs! (cherry picked from commit 30e09af2a46ef456e3dbebfe02b7227a30ce26d7) --- .../Structures/Specific/Anomaly/anomalies.yml | 19 ++++++++++--------- Resources/Prototypes/GameRules/variation.yml | 1 + .../Prototypes/Hydroponics/mutations.yml | 3 ++- Resources/Prototypes/Voice/speech_emotes.yml | 2 +- .../XenoArch/Effects/normal_effects.yml | 1 + 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml index 9d1c8bdc3c0..43c0bdce12f 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml @@ -444,7 +444,7 @@ color: "#fb4747" - type: EntitySpawnAnomaly entries: - - settings: + - settings: spawnOnPulse: true minAmount: 8 maxAmount: 15 @@ -562,7 +562,7 @@ maxRange: 4.5 spawns: - CrystalOrange - - settings: + - settings: spawnOnSuperCritical: true minAmount: 30 maxAmount: 40 @@ -628,21 +628,21 @@ minAmount: 2 maxAmount: 5 maxRange: 2 - spawns: + spawns: - KudzuFlowerFriendly - settings: spawnOnSuperCritical: true minAmount: 5 maxAmount: 10 maxRange: 6 - spawns: + spawns: - KudzuFlowerAngry - type: entity id: AnomalyFloraBulb name: strange glowing berry parent: BaseStructure - description: It's a beautiful strange glowing berry. It seems to have something growing inside it... + description: It's a beautiful strange glowing berry. It seems to have something growing inside it... suffix: Flora Anomaly components: - type: Transform @@ -782,6 +782,7 @@ - CogChamp - Honk - Carpetium + - JuiceThatMakesYouWeh - type: Drink solution: anomaly - type: DrainableSolution @@ -799,7 +800,7 @@ id: AnomalyShadow parent: BaseAnomaly suffix: Shadow - components: + components: - type: Sprite sprite: Structures/Specific/Anomalies/shadow_anom.rsi layers: @@ -833,18 +834,18 @@ minAmount: 10 maxAmount: 20 maxRange: 4 - spawns: + spawns: - ShadowKudzuWeak - settings: spawnOnSuperCritical: true minAmount: 30 maxAmount: 40 maxRange: 50 - spawns: + spawns: - ShadowKudzu - type: Portal arrivalSound: /Audio/Items/hiss.ogg departureSound: /Audio/Items/hiss.ogg - type: Tag tags: - - SpookyFog \ No newline at end of file + - SpookyFog diff --git a/Resources/Prototypes/GameRules/variation.yml b/Resources/Prototypes/GameRules/variation.yml index bb9649fddd1..8721003c832 100644 --- a/Resources/Prototypes/GameRules/variation.yml +++ b/Resources/Prototypes/GameRules/variation.yml @@ -92,6 +92,7 @@ - Gold - Silver - Sodium + - JuiceThatMakesYouWeh - type: weightedRandomFillSolution id: RandomFillTrashPuddleBloodbath diff --git a/Resources/Prototypes/Hydroponics/mutations.yml b/Resources/Prototypes/Hydroponics/mutations.yml index dd37e0cda0b..17617f5ee32 100644 --- a/Resources/Prototypes/Hydroponics/mutations.yml +++ b/Resources/Prototypes/Hydroponics/mutations.yml @@ -31,6 +31,7 @@ - Neurotoxin - ChangelingSting - CogChamp + - JuiceThatMakesYouWeh - quantity: 5 weight: 2 reagents: @@ -111,4 +112,4 @@ - Soysauce - TableSalt - Chlorine - - Mercury \ No newline at end of file + - Mercury diff --git a/Resources/Prototypes/Voice/speech_emotes.yml b/Resources/Prototypes/Voice/speech_emotes.yml index 01cb7e6697e..8e33f483aa3 100644 --- a/Resources/Prototypes/Voice/speech_emotes.yml +++ b/Resources/Prototypes/Voice/speech_emotes.yml @@ -245,7 +245,7 @@ - type: emote id: Weh category: Vocal - chatMessages: [Weh!] + chatMessages: [Wehs!] - type: emote id: Chirp diff --git a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml index 4810f0c5467..b9564c0366b 100644 --- a/Resources/Prototypes/XenoArch/Effects/normal_effects.yml +++ b/Resources/Prototypes/XenoArch/Effects/normal_effects.yml @@ -215,6 +215,7 @@ - Mercury - VentCrud - WeldingFuel + - JuiceThatMakesYouWeh - type: artifactEffect id: EffectInstrumentSpawn From 02a1d0b033bd62bd3f14000e3461308553015038 Mon Sep 17 00:00:00 2001 From: CyberDuck <62076105+sporekto@users.noreply.github.com> Date: Tue, 27 Feb 2024 00:00:13 +0100 Subject: [PATCH 139/345] Buff/Nerf Gases Cost (#25608) * Nerf/Buff Gases cost * Nerf/Buff Gases cost * Nerf/Buff Gases cost --------- Co-authored-by: CyberDuck (cherry picked from commit c0290d18f24b1fc7cd166eae8fb165ae525a9923) --- Resources/Prototypes/Atmospherics/gases.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Atmospherics/gases.yml b/Resources/Prototypes/Atmospherics/gases.yml index 38dc5892a14..6572b85e550 100644 --- a/Resources/Prototypes/Atmospherics/gases.yml +++ b/Resources/Prototypes/Atmospherics/gases.yml @@ -46,6 +46,7 @@ gasOverlayState: tritium color: 13FF4B reagent: Tritium + pricePerMole: 2.5 - type: gas id: 5 @@ -80,6 +81,7 @@ molarMass: 44 color: 2887E8 reagent: NitrousOxide + pricePerMole: 1 - type: gas id: 8 @@ -92,4 +94,4 @@ gasMolesVisible: 0.6 color: 3a758c reagent: Frezon - pricePerMole: 0.3 + pricePerMole: 3 From 56f9d8574d6055300ff0aa5603c99145ea885162 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:00:21 +0000 Subject: [PATCH 140/345] Automatic changelog update (cherry picked from commit 2faf7433c0caf5a768a189e4cdba8a0c43b6e8ea) --- Resources/Changelog/Changelog.yml | 43 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 3f651b03041..0b7129151ad 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,25 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed monkeys visually - type: Tweak - id: 5528 - time: '2024-01-03T21:23:55.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23464 -- author: lapatison - changes: - - message: Circuit imprinter now can produce circuit floor. - type: Add - id: 5529 - time: '2024-01-03T21:25:18.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23467 -- author: 21Melkuu - changes: - - message: increased RPED capacity. - type: Tweak - id: 5530 - time: '2024-01-03T21:34:32.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23455 - author: Bhijn and Myr changes: - message: Service lights have had their overall brightness toned down. @@ -3820,3 +3799,25 @@ id: 6027 time: '2024-02-26T03:40:48.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25563 +- author: MACMAN2003 + changes: + - message: You can now make LED light tubes and LED light bulbs at an autolathe. + type: Add + id: 6028 + time: '2024-02-26T22:58:01.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25616 +- author: botanySupremist + changes: + - message: Fixed a few small typos in ghost role information. + type: Fix + id: 6029 + time: '2024-02-26T22:58:44.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25613 +- author: Whisper + changes: + - message: Juice that makes you Weh can be found in; anomalies, Artifacts, random + puddles. + type: Add + id: 6030 + time: '2024-02-26T22:59:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25611 From 260c61d2632ea351d44d54a4b6c7ceec7506ee45 Mon Sep 17 00:00:00 2001 From: Hanz <41141796+Hanzdegloker@users.noreply.github.com> Date: Mon, 26 Feb 2024 18:00:51 -0500 Subject: [PATCH 141/345] ERT PDA Fixup (#25606) meat and potatoes ayup (cherry picked from commit 6b00f592b69d0423909e97eae973f3815643628d) --- .../Prototypes/Entities/Objects/Devices/pda.yml | 17 +++++++++++++++-- .../Roles/Jobs/Fun/emergencyresponseteam.yml | 6 ++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index b10f779fef8..a03ac1e2e44 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -821,7 +821,7 @@ - type: entity parent: BasePDA id: ERTLeaderPDA - name: ERT PDA + name: ERT Leader PDA suffix: Leader description: Red for firepower. components: @@ -838,8 +838,9 @@ - type: entity parent: ERTLeaderPDA id: ERTChaplainPDA - name: ERT PDA + name: ERT Chaplain PDA suffix: Chaplain + description: Red for firepower, it's blessed. components: - type: Pda id: ERTChaplainIDCard @@ -847,7 +848,9 @@ - type: entity parent: ERTLeaderPDA id: ERTEngineerPDA + name: ERT Engineer PDA suffix: Engineer + description: Red for firepower, it's well-worn. components: - type: Pda id: ERTEngineerIDCard @@ -855,7 +858,9 @@ - type: entity parent: ERTLeaderPDA id: ERTJanitorPDA + name: ERT Janitor PDA suffix: Janitor + description: Red for firepower, it's squeaky clean. components: - type: Pda id: ERTJanitorIDCard @@ -863,15 +868,23 @@ - type: entity parent: ERTLeaderPDA id: ERTMedicPDA + name: ERT Medic PDA suffix: Medic + description: Red for firepower, it's shiny and sterile. Has a built-in rapid health analyzer. components: - type: Pda id: ERTMedicIDCard + - type: HealthAnalyzer + scanDelay: 1 + scanningEndSound: + path: "/Audio/Items/Medical/healthscanner.ogg" - type: entity parent: ERTLeaderPDA id: ERTSecurityPDA + name: ERT Security PDA suffix: Security + description: Red for firepower, it has tally marks etched on the side. components: - type: Pda id: ERTSecurityIDCard diff --git a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml index 01eb7a5f88a..d54baba3dbd 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml @@ -212,8 +212,7 @@ id: ERTMedicPDA ears: ClothingHeadsetAltCentCom belt: ClothingBeltMedicalFilled - pocket1: HandheldHealthAnalyzer - pocket2: Flare + pocket1: Flare - type: startingGear id: ERTMedicalGearEVA @@ -229,8 +228,7 @@ id: ERTMedicPDA ears: ClothingHeadsetAltCentCom belt: ClothingBeltMedicalFilled - pocket1: HandheldHealthAnalyzer - pocket2: Flare + pocket1: Flare # Janitor - type: job From 68c7e170896a33781f3751cccf6db083f573b843 Mon Sep 17 00:00:00 2001 From: Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com> Date: Mon, 26 Feb 2024 23:01:21 +0000 Subject: [PATCH 142/345] fix(cooktime): mushroom pizza are set to the proper cook time of 30 seconds (#25614) (cherry picked from commit 5367d9954535df433c2286268c8532e8f7a3cfc2) --- Resources/Prototypes/Recipes/Cooking/meal_recipes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index fbaebe6635f..a5620fd8efe 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -513,7 +513,7 @@ id: RecipeMushroomPizza name: mushroom pizza recipe result: FoodPizzaMushroom - time: 25 + time: 30 solids: FoodDoughFlat: 1 FoodMushroom: 5 From 4439741e81e630d985d3d7bd2592ef083ef6a58f Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:01:56 +0000 Subject: [PATCH 143/345] Automatic changelog update (cherry picked from commit 7593a2e9583a0b3f65ad51afc3b3ab86d4742c19) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 0b7129151ad..9d7df1ea34c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: Service lights have had their overall brightness toned down. - type: Tweak - id: 5531 - time: '2024-01-03T21:39:04.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23437 - author: Ilya246 changes: - message: Terminator endoskeletons have learned how to pry doors. @@ -3821,3 +3814,10 @@ id: 6030 time: '2024-02-26T22:59:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25611 +- author: Hanzdegloker + changes: + - message: ERT medic PDA now has a health analyzer built in. + type: Tweak + id: 6031 + time: '2024-02-26T23:00:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25606 From 230076025d2f231510b33e3939bebc9079d8b9f6 Mon Sep 17 00:00:00 2001 From: Ilya246 <57039557+Ilya246@users.noreply.github.com> Date: Tue, 27 Feb 2024 03:04:26 +0400 Subject: [PATCH 144/345] macrobomb 20->13 TC (#25585) Update uplink_catalog.yml (cherry picked from commit 849dc433651f4c49f3cb3e585ea2c1bc595323b1) --- Resources/Prototypes/Catalog/uplink_catalog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 9105dfe7af2..618bf6c6ff0 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -686,7 +686,7 @@ icon: { sprite: /Textures/Actions/Implants/implants.rsi, state: explosive } productEntity: MacroBombImplanter cost: - Telecrystal: 20 + Telecrystal: 13 categories: - UplinkImplants conditions: From da5b4ee62720f1d6c503dab7ee064df4392e7b11 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Mon, 26 Feb 2024 18:05:16 -0500 Subject: [PATCH 145/345] handcuff replacements are faster to escape from (#25601) makeshift handcuffs are easier to escape from (cherry picked from commit 74232f983129b97d6c2564b904eb7ad7f2a49cf5) --- Content.Shared/Cuffs/Components/HandcuffComponent.cs | 2 +- Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Cuffs/Components/HandcuffComponent.cs b/Content.Shared/Cuffs/Components/HandcuffComponent.cs index 91d5a412ebc..77a77cf2f84 100644 --- a/Content.Shared/Cuffs/Components/HandcuffComponent.cs +++ b/Content.Shared/Cuffs/Components/HandcuffComponent.cs @@ -25,7 +25,7 @@ public sealed partial class HandcuffComponent : Component /// The time it takes for a cuffed entity to uncuff itself. ///

[DataField, ViewVariables(VVAccess.ReadWrite)] - public float BreakoutTime = 30f; + public float BreakoutTime = 15f; ///
/// If an entity being cuffed is stunned, this amount of time is subtracted from the time it takes to add/remove their cuffs. diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index ad0e7243581..c21ab7f3aa8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -35,7 +35,7 @@ parent: Handcuffs components: - type: Handcuff - breakoutTime: 15 + breakoutTime: 3 cuffedRSI: Objects/Misc/cablecuffs.rsi bodyIconState: body-overlay color: forestgreen @@ -77,7 +77,7 @@ size: Tiny storedRotation: 0 - type: Handcuff - breakoutTime: 20 # halfway between improvised cablecuffs and metal ones + breakoutTime: 3 cuffedRSI: Objects/Misc/cablecuffs.rsi # cablecuffs will look fine bodyIconState: body-overlay breakOnRemove: true From 22e1551dcf3791b1af5980e7ec23bb5405b075ad Mon Sep 17 00:00:00 2001 From: GNF54 <151114666+GNF54@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:07:06 -0600 Subject: [PATCH 146/345] Added several cosmetic items to the Medidrobe (#25582) Update medidrobe.yml (cherry picked from commit b7b6f61f2ae94431fa558edd87fc8eea6c08d966) --- .../Catalog/VendingMachines/Inventories/medidrobe.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml index 6c0de489f75..f4fb03e6c75 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medidrobe.yml @@ -11,12 +11,16 @@ ClothingOuterCoatLab: 4 ClothingShoesColorWhite: 4 ClothingHandsGlovesLatex: 4 + ClothingHandsGlovesNitrile: 2 ClothingHeadsetMedical: 4 ClothingOuterWinterMed: 2 ClothingOuterHospitalGown: 5 UniformScrubsColorGreen: 4 UniformScrubsColorBlue: 4 UniformScrubsColorPurple: 4 + ClothingHeadHatSurgcapGreen: 4 + ClothingHeadHatSurgcapBlue: 4 + ClothingHeadHatSurgcapPurple: 4 ClothingShoesBootsWinterMed: 2 contrabandInventory: #DeltaV UniformScrubsColorCybersun: 1 #DeltaV From 57e52661e5a195f6a319de74abc02044b55a43dc Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:07:15 +0000 Subject: [PATCH 147/345] Automatic changelog update (cherry picked from commit 7fc75f75419a915a4383bfa73ed5109b384c48b2) --- Resources/Changelog/Changelog.yml | 43 ++++++++++++++++--------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9d7df1ea34c..78aa3476a96 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,25 +1,4 @@ Entries: -- author: Ilya246 - changes: - - message: Terminator endoskeletons have learned how to pry doors. - type: Tweak - id: 5532 - time: '2024-01-03T21:58:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23468 -- author: lzk228 - changes: - - message: Vendors will thank you now for using them. - type: Tweak - id: 5533 - time: '2024-01-03T22:21:53.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23023 -- author: Flareguy - changes: - - message: Airlocks now have a new deny sound, courtesy of /tg/station. - type: Tweak - id: 5534 - time: '2024-01-03T22:22:37.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/22954 - author: Blackern5000 changes: - message: After realizing their employees have been forced to make medical supplies @@ -3821,3 +3800,25 @@ id: 6031 time: '2024-02-26T23:00:51.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25606 +- author: Ilya246 + changes: + - message: Macrobomb implant price reduced 20->13 TC. + type: Tweak + id: 6032 + time: '2024-02-26T23:04:26.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25585 +- author: QuietlyWhisper + changes: + - message: Handcuff and handcuff replacements are faster to escape. You can allow + your teammates to uncuff themselves! + type: Tweak + id: 6033 + time: '2024-02-26T23:05:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25601 +- author: PoorMansDreams + changes: + - message: New lobby art (of horror) + type: Add + id: 6034 + time: '2024-02-26T23:06:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25455 From 40fabb5bedc4698d60bc9ea955998b230c22e86b Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 27 Feb 2024 02:11:20 +0300 Subject: [PATCH 148/345] Fancy table (#25562) * blue * others * add white table * add crafting carpets * finish carpets * tags * crafting * pip * finish (cherry picked from commit 84cbcb93cacf339510d9190ad18e377c892df3b3) --- .../Entities/Objects/Misc/carpets.yml | 123 ++++++++- .../Structures/Furniture/Tables/tables.yml | 156 ++++++++++++ .../Entities/Structures/Furniture/carpets.yml | 235 +++++++++++++++++- .../Entities/Structures/Machines/lathe.yml | 10 + .../Construction/Graphs/furniture/tables.yml | 180 ++++++++++++++ .../Recipes/Construction/furniture.yml | 153 ++++++++++++ .../Prototypes/Recipes/Lathes/clothing.yml | 63 +++++ .../Prototypes/Stacks/floor_tile_stacks.yml | 14 ++ Resources/Prototypes/tags.yml | 27 ++ .../tile.rsi/carpet-cyan-inhand-left.png | Bin 0 -> 285 bytes .../tile.rsi/carpet-cyan-inhand-right.png | Bin 0 -> 285 bytes .../Objects/Tiles/tile.rsi/carpet-cyan.png | Bin 0 -> 456 bytes .../tile.rsi/carpet-white-inhand-left.png | Bin 0 -> 737 bytes .../tile.rsi/carpet-white-inhand-right.png | Bin 0 -> 753 bytes .../Objects/Tiles/tile.rsi/carpet-white.png | Bin 0 -> 463 bytes .../Textures/Objects/Tiles/tile.rsi/meta.json | 22 ++ .../Carpets/cyan_carpet.rsi/carpet_0.png | Bin 0 -> 1153 bytes .../Carpets/cyan_carpet.rsi/carpet_1.png | Bin 0 -> 1087 bytes .../Carpets/cyan_carpet.rsi/carpet_2.png | Bin 0 -> 1153 bytes .../Carpets/cyan_carpet.rsi/carpet_3.png | Bin 0 -> 1087 bytes .../Carpets/cyan_carpet.rsi/carpet_4.png | Bin 0 -> 1141 bytes .../Carpets/cyan_carpet.rsi/carpet_5.png | Bin 0 -> 1093 bytes .../Carpets/cyan_carpet.rsi/carpet_6.png | Bin 0 -> 1141 bytes .../Carpets/cyan_carpet.rsi/carpet_7.png | Bin 0 -> 618 bytes .../Carpets/cyan_carpet.rsi/full.png | Bin 0 -> 762 bytes .../Carpets/cyan_carpet.rsi/meta.json | 46 ++++ .../Carpets/white_carpet.rsi/carpet_0.png | Bin 0 -> 1258 bytes .../Carpets/white_carpet.rsi/carpet_1.png | Bin 0 -> 1108 bytes .../Carpets/white_carpet.rsi/carpet_2.png | Bin 0 -> 1258 bytes .../Carpets/white_carpet.rsi/carpet_3.png | Bin 0 -> 1108 bytes .../Carpets/white_carpet.rsi/carpet_4.png | Bin 0 -> 1149 bytes .../Carpets/white_carpet.rsi/carpet_5.png | Bin 0 -> 977 bytes .../Carpets/white_carpet.rsi/carpet_6.png | Bin 0 -> 1135 bytes .../Carpets/white_carpet.rsi/carpet_7.png | Bin 0 -> 587 bytes .../Carpets/white_carpet.rsi/full.png | Bin 0 -> 856 bytes .../Carpets/white_carpet.rsi/meta.json | 46 ++++ .../Furniture/Tables/Fancy/black.rsi/full.png | Bin 0 -> 757 bytes .../Tables/Fancy/black.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/black.rsi/state_0.png | Bin 0 -> 1074 bytes .../Tables/Fancy/black.rsi/state_1.png | Bin 0 -> 592 bytes .../Tables/Fancy/black.rsi/state_2.png | Bin 0 -> 1074 bytes .../Tables/Fancy/black.rsi/state_3.png | Bin 0 -> 608 bytes .../Tables/Fancy/black.rsi/state_4.png | Bin 0 -> 608 bytes .../Tables/Fancy/black.rsi/state_5.png | Bin 0 -> 652 bytes .../Tables/Fancy/black.rsi/state_6.png | Bin 0 -> 591 bytes .../Tables/Fancy/black.rsi/state_7.png | Bin 0 -> 267 bytes .../Furniture/Tables/Fancy/blue.rsi/full.png | Bin 0 -> 837 bytes .../Furniture/Tables/Fancy/blue.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/blue.rsi/state_0.png | Bin 0 -> 1134 bytes .../Tables/Fancy/blue.rsi/state_1.png | Bin 0 -> 653 bytes .../Tables/Fancy/blue.rsi/state_2.png | Bin 0 -> 1134 bytes .../Tables/Fancy/blue.rsi/state_3.png | Bin 0 -> 672 bytes .../Tables/Fancy/blue.rsi/state_4.png | Bin 0 -> 681 bytes .../Tables/Fancy/blue.rsi/state_5.png | Bin 0 -> 723 bytes .../Tables/Fancy/blue.rsi/state_6.png | Bin 0 -> 659 bytes .../Tables/Fancy/blue.rsi/state_7.png | Bin 0 -> 275 bytes .../Furniture/Tables/Fancy/cyan.rsi/full.png | Bin 0 -> 791 bytes .../Furniture/Tables/Fancy/cyan.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/cyan.rsi/state_0.png | Bin 0 -> 1106 bytes .../Tables/Fancy/cyan.rsi/state_1.png | Bin 0 -> 622 bytes .../Tables/Fancy/cyan.rsi/state_2.png | Bin 0 -> 1106 bytes .../Tables/Fancy/cyan.rsi/state_3.png | Bin 0 -> 653 bytes .../Tables/Fancy/cyan.rsi/state_4.png | Bin 0 -> 654 bytes .../Tables/Fancy/cyan.rsi/state_5.png | Bin 0 -> 711 bytes .../Tables/Fancy/cyan.rsi/state_6.png | Bin 0 -> 628 bytes .../Tables/Fancy/cyan.rsi/state_7.png | Bin 0 -> 264 bytes .../Furniture/Tables/Fancy/green.rsi/full.png | Bin 0 -> 754 bytes .../Tables/Fancy/green.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/green.rsi/state_0.png | Bin 0 -> 1093 bytes .../Tables/Fancy/green.rsi/state_1.png | Bin 0 -> 610 bytes .../Tables/Fancy/green.rsi/state_2.png | Bin 0 -> 1093 bytes .../Tables/Fancy/green.rsi/state_3.png | Bin 0 -> 622 bytes .../Tables/Fancy/green.rsi/state_4.png | Bin 0 -> 620 bytes .../Tables/Fancy/green.rsi/state_5.png | Bin 0 -> 695 bytes .../Tables/Fancy/green.rsi/state_6.png | Bin 0 -> 613 bytes .../Tables/Fancy/green.rsi/state_7.png | Bin 0 -> 275 bytes .../Tables/Fancy/orange.rsi/full.png | Bin 0 -> 792 bytes .../Tables/Fancy/orange.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/orange.rsi/state_0.png | Bin 0 -> 1096 bytes .../Tables/Fancy/orange.rsi/state_1.png | Bin 0 -> 625 bytes .../Tables/Fancy/orange.rsi/state_2.png | Bin 0 -> 1096 bytes .../Tables/Fancy/orange.rsi/state_3.png | Bin 0 -> 656 bytes .../Tables/Fancy/orange.rsi/state_4.png | Bin 0 -> 648 bytes .../Tables/Fancy/orange.rsi/state_5.png | Bin 0 -> 718 bytes .../Tables/Fancy/orange.rsi/state_6.png | Bin 0 -> 621 bytes .../Tables/Fancy/orange.rsi/state_7.png | Bin 0 -> 285 bytes .../Furniture/Tables/Fancy/pink.rsi/full.png | Bin 0 -> 810 bytes .../Furniture/Tables/Fancy/pink.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/pink.rsi/state_0.png | Bin 0 -> 1136 bytes .../Tables/Fancy/pink.rsi/state_1.png | Bin 0 -> 650 bytes .../Tables/Fancy/pink.rsi/state_2.png | Bin 0 -> 1136 bytes .../Tables/Fancy/pink.rsi/state_3.png | Bin 0 -> 660 bytes .../Tables/Fancy/pink.rsi/state_4.png | Bin 0 -> 693 bytes .../Tables/Fancy/pink.rsi/state_5.png | Bin 0 -> 732 bytes .../Tables/Fancy/pink.rsi/state_6.png | Bin 0 -> 656 bytes .../Tables/Fancy/pink.rsi/state_7.png | Bin 0 -> 285 bytes .../Tables/Fancy/purple.rsi/full.png | Bin 0 -> 810 bytes .../Tables/Fancy/purple.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/purple.rsi/state_0.png | Bin 0 -> 1143 bytes .../Tables/Fancy/purple.rsi/state_1.png | Bin 0 -> 648 bytes .../Tables/Fancy/purple.rsi/state_2.png | Bin 0 -> 1143 bytes .../Tables/Fancy/purple.rsi/state_3.png | Bin 0 -> 664 bytes .../Tables/Fancy/purple.rsi/state_4.png | Bin 0 -> 666 bytes .../Tables/Fancy/purple.rsi/state_5.png | Bin 0 -> 683 bytes .../Tables/Fancy/purple.rsi/state_6.png | Bin 0 -> 650 bytes .../Tables/Fancy/purple.rsi/state_7.png | Bin 0 -> 274 bytes .../Furniture/Tables/Fancy/red.rsi/full.png | Bin 0 -> 779 bytes .../Furniture/Tables/Fancy/red.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/red.rsi/state_0.png | Bin 0 -> 1098 bytes .../Tables/Fancy/red.rsi/state_1.png | Bin 0 -> 638 bytes .../Tables/Fancy/red.rsi/state_2.png | Bin 0 -> 1098 bytes .../Tables/Fancy/red.rsi/state_3.png | Bin 0 -> 641 bytes .../Tables/Fancy/red.rsi/state_4.png | Bin 0 -> 656 bytes .../Tables/Fancy/red.rsi/state_5.png | Bin 0 -> 661 bytes .../Tables/Fancy/red.rsi/state_6.png | Bin 0 -> 650 bytes .../Tables/Fancy/red.rsi/state_7.png | Bin 0 -> 274 bytes .../Furniture/Tables/Fancy/white.rsi/full.png | Bin 0 -> 789 bytes .../Tables/Fancy/white.rsi/meta.json | 163 ++++++++++++ .../Tables/Fancy/white.rsi/state_0.png | Bin 0 -> 1102 bytes .../Tables/Fancy/white.rsi/state_1.png | Bin 0 -> 629 bytes .../Tables/Fancy/white.rsi/state_2.png | Bin 0 -> 1102 bytes .../Tables/Fancy/white.rsi/state_3.png | Bin 0 -> 614 bytes .../Tables/Fancy/white.rsi/state_4.png | Bin 0 -> 628 bytes .../Tables/Fancy/white.rsi/state_5.png | Bin 0 -> 672 bytes .../Tables/Fancy/white.rsi/state_6.png | Bin 0 -> 628 bytes .../Tables/Fancy/white.rsi/state_7.png | Bin 0 -> 267 bytes 126 files changed, 2526 insertions(+), 16 deletions(-) create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-left.png create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-right.png create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan.png create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-white-inhand-left.png create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-white-inhand-right.png create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/carpet-white.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_0.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_1.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_2.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_3.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_4.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_5.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_6.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_7.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_0.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_1.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_2.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_3.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_4.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_5.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_6.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_7.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_7.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/full.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/meta.json create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_0.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_1.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_2.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_3.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_4.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_5.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_6.png create mode 100644 Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_7.png diff --git a/Resources/Prototypes/Entities/Objects/Misc/carpets.yml b/Resources/Prototypes/Entities/Objects/Misc/carpets.yml index b3d53f6e1d2..ed4014f3747 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/carpets.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/carpets.yml @@ -1,8 +1,9 @@ # TODO once tiles can be smoothed and carpets ported over to that, add them to the FloorTile outputs - type: entity - name: red carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemRed + suffix: Red components: - type: Sprite state: carpet-red @@ -13,11 +14,19 @@ - Plating - type: Stack stackType: FloorCarpetRed + - type: Tag + tags: + - CarpetRed + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: Carpet + doAfter: 0.5 + removeOnInteract: true - type: entity - name: black carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemBlack + suffix: Black components: - type: Sprite state: carpet-black @@ -28,11 +37,19 @@ - Plating - type: Stack stackType: FloorCarpetBlack + - type: Tag + tags: + - CarpetBlack + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetBlack + doAfter: 0.5 + removeOnInteract: true - type: entity - name: blue carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemBlue + suffix: Blue components: - type: Sprite state: carpet-blue @@ -43,11 +60,19 @@ - Plating - type: Stack stackType: FloorCarpetBlue + - type: Tag + tags: + - CarpetBlue + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetBlue + doAfter: 0.5 + removeOnInteract: true - type: entity - name: green carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemGreen + suffix: Green components: - type: Sprite state: carpet-green @@ -58,11 +83,19 @@ - Plating - type: Stack stackType: FloorCarpetGreen + - type: Tag + tags: + - CarpetGreen + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetGreen + doAfter: 0.5 + removeOnInteract: true - type: entity - name: orange carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemOrange + suffix: Orange components: - type: Sprite state: carpet-orange @@ -73,11 +106,19 @@ - Plating - type: Stack stackType: FloorCarpetOrange + - type: Tag + tags: + - CarpetOrange + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetOrange + doAfter: 0.5 + removeOnInteract: true - type: entity - name: sky blue carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemSkyBlue + suffix: Sky Blue components: - type: Sprite state: carpet-skyblue @@ -88,11 +129,16 @@ - Plating - type: Stack stackType: FloorCarpetSkyBlue + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetSBlue + doAfter: 0.5 + removeOnInteract: true - type: entity - name: purple carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemPurple + suffix: Purple components: - type: Sprite state: carpet-purple @@ -103,11 +149,19 @@ - Plating - type: Stack stackType: FloorCarpetPurple + - type: Tag + tags: + - CarpetPurple + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetPurple + doAfter: 0.5 + removeOnInteract: true - type: entity - name: pink carpet + name: carpet parent: FloorTileItemBase id: FloorCarpetItemPink + suffix: Pink components: - type: Sprite state: carpet-pink @@ -118,3 +172,56 @@ - Plating - type: Stack stackType: FloorCarpetPink + - type: Tag + tags: + - CarpetPink + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetPink + doAfter: 0.5 + removeOnInteract: true + +- type: entity + name: carpet + parent: FloorTileItemBase + id: FloorCarpetItemCyan + suffix: Cyan + components: + - type: Sprite + state: carpet-cyan + - type: Item + heldPrefix: carpet-cyan + - type: FloorTile + outputs: + - Plating + - type: Stack + stackType: FloorCarpetCyan + - type: Tag + tags: + - CarpetCyan + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetCyan + doAfter: 0.5 + removeOnInteract: true + +- type: entity + name: carpet + parent: FloorTileItemBase + id: FloorCarpetItemWhite + suffix: White + components: + - type: Sprite + state: carpet-white + - type: Item + heldPrefix: carpet-white + - type: FloorTile + outputs: + - Plating + - type: Stack + stackType: FloorCarpetWhite + - type: Tag + tags: + - CarpetWhite + - type: SpawnAfterInteract #Nuke after convert to FloorTile + prototype: CarpetWhite + doAfter: 0.5 + removeOnInteract: true diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml index 63d950969d5..584c3b57b2e 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml @@ -548,6 +548,162 @@ footstepSoundCollection: collection: FootstepCarpet +# Fancy tables + +- type: entity + id: TableFancyBase + abstract: true + parent: TableBase + name: fancy table + description: Expensive and rich. + components: + - type: Damageable + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + MaterialWoodPlank: + min: 1 + max: 1 + MaterialCloth1: + min: 1 + max: 1 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Tag + tags: + - Wooden + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepCarpet + +- type: entity + id: TableFancyBlue + parent: TableFancyBase + suffix: Blue + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/blue.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/blue.rsi + - type: Construction + graph: Table + node: TableFancyBlue + +- type: entity + id: TableFancyCyan + parent: TableFancyBase + suffix: Cyan + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/cyan.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/cyan.rsi + - type: Construction + graph: Table + node: TableFancyCyan + +- type: entity + id: TableFancyBlack + parent: TableFancyBase + suffix: Black + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/black.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/black.rsi + - type: Construction + graph: Table + node: TableFancyBlack + +- type: entity + id: TableFancyRed + parent: TableFancyBase + suffix: Red + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/red.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/red.rsi + - type: Construction + graph: Table + node: TableFancyRed + +- type: entity + id: TableFancyPurple + parent: TableFancyBase + suffix: Purple + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/purple.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/purple.rsi + - type: Construction + graph: Table + node: TableFancyPurple + +- type: entity + id: TableFancyPink + parent: TableFancyBase + suffix: Pink + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/pink.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/pink.rsi + - type: Construction + graph: Table + node: TableFancyPink + +- type: entity + id: TableFancyGreen + parent: TableFancyBase + suffix: Green + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/green.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/green.rsi + - type: Construction + graph: Table + node: TableFancyGreen + +- type: entity + id: TableFancyOrange + parent: TableFancyBase + suffix: Orange + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/orange.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/orange.rsi + - type: Construction + graph: Table + node: TableFancyOrange + +- type: entity + id: TableFancyWhite + parent: TableFancyBase + suffix: White + components: + - type: Sprite + sprite: Structures/Furniture/Tables/Fancy/white.rsi + - type: Icon + sprite: Structures/Furniture/Tables/Fancy/white.rsi + - type: Construction + graph: Table + node: TableFancyWhite + +#Debug + - type: entity id: TableDebug parent: TableBase diff --git a/Resources/Prototypes/Entities/Structures/Furniture/carpets.yml b/Resources/Prototypes/Entities/Structures/Furniture/carpets.yml index fa6a00623b6..e6b04766189 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/carpets.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/carpets.yml @@ -2,6 +2,7 @@ - type: entity id: CarpetBase parent: BaseStructure + name: carpet description: "Fancy walking surface." abstract: true components: @@ -27,93 +28,311 @@ behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] + - type: Butcherable + butcheringType: Knife + butcherDelay: 2 + spawned: + - id: MaterialCloth1 + amount: 1 - type: entity id: Carpet parent: CarpetBase - name: "red carpet" + suffix: Red components: - type: Sprite sprite: Structures/Furniture/Carpets/red_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/red_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemRed: + min: 1 + max: 1 - type: entity id: CarpetBlack parent: CarpetBase - name: "black carpet" + suffix: Black components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/black_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/black_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemBlack: + min: 1 + max: 1 - type: entity id: CarpetPink parent: CarpetBase - name: "pink carpet" + suffix: Pink components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/pink_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/pink_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemPink: + min: 1 + max: 1 - type: entity id: CarpetBlue parent: CarpetBase - name: "blue carpet" + suffix: Blue components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/blue_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/blue_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemBlue: + min: 1 + max: 1 - type: entity id: CarpetGreen parent: CarpetBase - name: "green carpet" + suffix: Green components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/green_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/green_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemGreen: + min: 1 + max: 1 - type: entity id: CarpetOrange parent: CarpetBase - name: "orange carpet" + suffix: Orange components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/orange_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/orange_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemOrange: + min: 1 + max: 1 - type: entity id: CarpetSBlue parent: CarpetBase - name: "skyblue carpet" + suffix: Sky Blue components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/skyblue_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/skyblue_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemSkyBlue: + min: 1 + max: 1 - type: entity id: CarpetPurple parent: CarpetBase - name: "purple carpet" + suffix: Purple components: - type: Clickable - type: Sprite sprite: Structures/Furniture/Carpets/purple_carpet.rsi - type: Icon sprite: Structures/Furniture/Carpets/purple_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemPurple: + min: 1 + max: 1 + +- type: entity + id: CarpetCyan + parent: CarpetBase + suffix: Cyan + components: + - type: Clickable + - type: Sprite + sprite: Structures/Furniture/Carpets/cyan_carpet.rsi + - type: Icon + sprite: Structures/Furniture/Carpets/cyan_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemCyan: + min: 1 + max: 1 + +- type: entity + id: CarpetWhite + parent: CarpetBase + suffix: White + components: + - type: Clickable + - type: Sprite + sprite: Structures/Furniture/Carpets/white_carpet.rsi + - type: Icon + sprite: Structures/Furniture/Carpets/white_carpet.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 100 + behaviors: #excess damage (nuke?). avoid computational cost of spawning entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + FloorCarpetItemWhite: + min: 1 + max: 1 # TODO nuke this once tiles support rotating sprites - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 688e399aef7..630b8aa4753 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -1071,6 +1071,16 @@ - ClothingNeckScarfStripedOrange - ClothingNeckScarfStripedBlack - ClothingNeckScarfStripedPurple + # Carpets + - Carpet + - CarpetBlack + - CarpetPink + - CarpetBlue + - CarpetGreen + - CarpetOrange + - CarpetPurple + - CarpetCyan + - CarpetWhite - type: EmagLatheRecipes emagStaticRecipes: - ClothingHeadHatCentcomcap diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml index feade0ae586..fd392c425bc 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/furniture/tables.yml @@ -193,6 +193,78 @@ - material: Cloth amount: 1 doAfter: 1 + + - to: TableFancyBlack + steps: + - tag: CarpetBlack + name: black carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-black + + - to: TableFancyBlue + steps: + - tag: CarpetBlue + name: blue carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-blue + + - to: TableFancyCyan + steps: + - tag: CarpetCyan + name: cyan carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-cyan + + - to: TableFancyGreen + steps: + - tag: CarpetGreen + name: green carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-green + + - to: TableFancyOrange + steps: + - tag: CarpetOrange + name: orange carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-orange + + - to: TableFancyPurple + steps: + - tag: CarpetPurple + name: purple carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-purple + + - to: TableFancyPink + steps: + - tag: CarpetPink + name: pink carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-pink + + - to: TableFancyRed + steps: + - tag: CarpetRed + name: red carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-red + + - to: TableFancyWhite + steps: + - tag: CarpetWhite + name: white carpet + icon: + sprite: Objects/Tiles/tile.rsi + state: carpet-white - to: TableWoodReinforced #Nyano - See Resources/Prototypes/Nyanotrasen/Entities/Furniture/Tables/tables.yml steps: @@ -211,6 +283,114 @@ steps: - tool: Prying doAfter: 1 + + - node: TableFancyBlack + entity: TableFancyBlack + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemBlack + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyBlue + entity: TableFancyBlue + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemBlue + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyCyan + entity: TableFancyCyan + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemCyan + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyGreen + entity: TableFancyGreen + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemGreen + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyOrange + entity: TableFancyOrange + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemOrange + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyPurple + entity: TableFancyPurple + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemPurple + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyPink + entity: TableFancyPink + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemPink + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyRed + entity: TableFancyRed + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemRed + amount: 1 + steps: + - tool: Prying + doAfter: 1 + + - node: TableFancyWhite + entity: TableFancyWhite + edges: + - to: TableWood + completed: + - !type:SpawnPrototype + prototype: FloorCarpetItemWhite + amount: 1 + steps: + - tool: Prying + doAfter: 1 - node: TableWoodReinforced #Nyano - See Resources/Prototypes/Nyanotrasen/Entities/Furniture/Tables/tables.yml entity: TableWoodReinforced diff --git a/Resources/Prototypes/Recipes/Construction/furniture.yml b/Resources/Prototypes/Recipes/Construction/furniture.yml index 19558c461b9..a08b3cc24d9 100644 --- a/Resources/Prototypes/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/Recipes/Construction/furniture.yml @@ -357,6 +357,159 @@ conditions: - !type:TileNotBlocked +- type: construction + name: fancy black table + id: TableFancyBlack + graph: Table + startNode: start + targetNode: TableFancyBlack + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/black.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy blue table + id: TableFancyBlue + graph: Table + startNode: start + targetNode: TableFancyBlue + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/blue.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy cyan table + id: TableFancyCyan + graph: Table + startNode: start + targetNode: TableFancyCyan + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/cyan.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy green table + id: TableFancyGreen + graph: Table + startNode: start + targetNode: TableFancyGreen + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/green.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy orange table + id: TableFancyOrange + graph: Table + startNode: start + targetNode: TableFancyOrange + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/orange.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy purple table + id: TableFancyPurple + graph: Table + startNode: start + targetNode: TableFancyPurple + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/purple.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy pink table + id: TableFancyPink + graph: Table + startNode: start + targetNode: TableFancyPink + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/pink.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy red table + id: TableFancyRed + graph: Table + startNode: start + targetNode: TableFancyRed + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/red.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + +- type: construction + name: fancy white table + id: TableFancyWhite + graph: Table + startNode: start + targetNode: TableFancyWhite + category: construction-category-furniture + description: A table covered with a beautiful cloth. + icon: + sprite: Structures/Furniture/Tables/Fancy/white.rsi + state: full + objectType: Structure + placementMode: SnapgridCenter + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: metal counter id: TableCounterMetal diff --git a/Resources/Prototypes/Recipes/Lathes/clothing.yml b/Resources/Prototypes/Recipes/Lathes/clothing.yml index 69f5226fc2d..6517cfd5a63 100644 --- a/Resources/Prototypes/Recipes/Lathes/clothing.yml +++ b/Resources/Prototypes/Recipes/Lathes/clothing.yml @@ -1157,3 +1157,66 @@ completetime: 2 materials: Cloth: 200 + +- type: latheRecipe + id: Carpet + result: FloorCarpetItemRed + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetBlack + result: FloorCarpetItemBlack + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetPink + result: FloorCarpetItemPink + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetBlue + result: FloorCarpetItemBlue + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetGreen + result: FloorCarpetItemGreen + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetOrange + result: FloorCarpetItemOrange + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetPurple + result: FloorCarpetItemPurple + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetCyan + result: FloorCarpetItemCyan + completetime: 1 + materials: + Cloth: 100 + +- type: latheRecipe + id: CarpetWhite + result: FloorCarpetItemWhite + completetime: 1 + materials: + Cloth: 100 diff --git a/Resources/Prototypes/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/Stacks/floor_tile_stacks.yml index 3b4efaff116..975447a138a 100644 --- a/Resources/Prototypes/Stacks/floor_tile_stacks.yml +++ b/Resources/Prototypes/Stacks/floor_tile_stacks.yml @@ -243,6 +243,20 @@ maxCount: 30 itemSize: 5 +- type: stack + id: FloorCarpetCyan + name: cyan carpet tile + spawn: FloorCarpetItemCyan + maxCount: 30 + itemSize: 5 + +- type: stack + id: FloorCarpetWhite + name: white carpet tile + spawn: FloorCarpetItemWhite + maxCount: 30 + itemSize: 5 + - type: stack id: FloorTileStackCarpetClown name: clown carpet tile diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 6bcff07f4aa..6e13da6a9a4 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -247,6 +247,33 @@ - type: Tag id: Carpet +- type: Tag + id: CarpetBlack + +- type: Tag + id: CarpetBlue + +- type: Tag + id: CarpetCyan + +- type: Tag + id: CarpetGreen + +- type: Tag + id: CarpetOrange + +- type: Tag + id: CarpetPurple + +- type: Tag + id: CarpetPink + +- type: Tag + id: CarpetRed + +- type: Tag + id: CarpetWhite + - type: Tag id: CanPilot diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-left.png b/Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a019ba6912a81ef1c5438c0c43e3ecf6457f68 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|u6w#ThE&XX zdrOzE*+HP~;lf7cD~i>fS1oMzGO@qRb+~eM?XmAXuPvO8hE1HXOtCfbm-Bu1#Ane) zGuPY{WCR+(z;K}6b4`=+^G6?QU+=p4JmYoz*3BHY^Z5c@mS|Roo(r&l5*e|Vac1#G zu2z#&{ZNgN$j5U&x~w^w!gTA->5rSHn|+U;Xnb@DqnL0)>etgxZ?4GFcl6~0n+zs$ z4n0p@ b3<*1}#e@9*a!6nM4>H2j)z4*}Q$iB}jO=n$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-right.png b/Resources/Textures/Objects/Tiles/tile.rsi/carpet-cyan-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c35dfc4ac8b3ee53e09981002acd4af6b077c753 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|u6w#ThE&XX zd&`io$w1`T$K?~1cNi9Rp38Yt!OC|iHzA=o`I%CV%)y0zzE^HI^%~ax`0uM?a(4Rk zW#0CJK>a}QXL|E{_q3kU``a@=t@FNm?a%QGYOz~8I!;^=GuxtPs<-~MypW88?et5b z-B*f#np~WcdhEvWJK0UlFFptAUEloW=Z~!o`voRff9AZPqV|26_l1iEl38bYA%+7< z1;zFJ{ZUrTiU*&6EZ?%#^_mO+f_dJOw+_vll_uWYA=hy2TE}^Jb%*5aBkHRx9e*=1 bY|t;icGU0ZikkPx$f=NU{R9J=WR=sM%P#8Ti5d@PCZmozS0YjnKL9CgibaCk3zCfR#YahtLrCS#Z zos6x8N{dZVLLJ z#Xv?Q{FTRz2KD=%3&OHYLg_SWg&S0#c5!m}?we($gju(XajoXrgY%qD5KxxtxR_j` z$@Rf12Btg@RxuFIBygo@nDRWbljJYGEY)!~Ow$ZN$V();j!rLv=ev7kr6h=Hf;H^s zgE!5om+75e1Vq=V15h0hQ$sLT6iu~{{nKO2c6hX}Z|$7|4!d_Z0&IJKJ>^|dEX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0TxL_K~#90?b;!3!$1&);Yn4LBlH4; z%?l#+4D|_udIzJuLy?OuIhQC1ZfHkZoFkY{LA6yHlG?kDbf5Np1$w>arOGMet3SL%(?(&LzbQaQerGs?F+v z)J5mHCEb?}R8@KV6jA>WGt26LuIuFcAbgsw0{{R3000000001B5zglZ#?BEGza74| z(_7=?ZsU6&cZ*znKH%ESOk#{4WAwBhWAO#Zok&@H0dgl&{>2$kVj=|qaErbG1p#i& TqM8W300000NkvXXu0mjf9&$zI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/carpet-white-inhand-right.png b/Resources/Textures/Objects/Tiles/tile.rsi/carpet-white-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..46924dc2ae8cb4a86cbe9b83c4463c38bfd0fc70 GIT binary patch literal 753 zcmVEX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0VYXAK~#90?b@+z0znXk;b+Sc$;PBy zFr?Q3u?s+Q3>{Dh9Z2#W{dsM&e|26mE?wXA^YMMsJ^(5V=&HFg6C#h)~&BhzKd$Be< z05j8Rv{VQ|UAt0@v5FzY7*p4-6hhExw3L|@>x&yOJS-$hgWde%xB{QjpsB00000NkvXXu0mjfmE%y7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/carpet-white.png b/Resources/Textures/Objects/Tiles/tile.rsi/carpet-white.png new file mode 100644 index 0000000000000000000000000000000000000000..fd28316d97548f5ab3cf30da1635231d6030b148 GIT binary patch literal 463 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 Hu0mjfgR1_2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_5.png b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_5.png new file mode 100644 index 0000000000000000000000000000000000000000..645fc314eb09893058f5fbdb2d347602a62783e2 GIT binary patch literal 1093 zcmV-L1iJf)P)Px&|4BqaRCt{2TTN>dQ4~GV>84Pagaix`vMePo+Ag{&Eoi_h?zCF{1AfNT}m^YkxmL z8UF_5VHL0p0|1c8M*#rI`LbNRkv@cxK15<|74>FgB;&IaaJ*5(-fUf7XYx_Gczt>X z`t*z>AzY~`A74}ci$h|mu--9?QZ@%G9!FK)389qDA-1vrWOJTJ!7tbe*tL$3oG;5G z0N{MPw=c392>~M@fn-1cx)F>%dDgPed?}lgXWfd&J-;8W)DT-)kVoYAmyeg*2s#a3 zH4=gqk9S=>Aa;UE!^lp6)8GvXr(vXmod9mI6X0h%JC6+&>;w$!=fjnnuVd2<>;%|` z&-U}ZNU%MCj1v^NLUsadR3o9DBsdp;r2-)*oWV}rvBm4n24d%Ng384M6SMjk%;m(Not>w%FR0k@mF_}odrJ@d>Xl)VW+2hzU)0ISe} zCIIuS+-_>r=`0mWcR+`ml7H!)&ZfV;^F3xD@ZR^cfWjTn&rS7nb6g-3 z5U$jqndU$~+DU?DniD|;nSf#4l#u~YG(P(<=kyAsR=Wr0vX+1fUe+uE|Y zQ4piQQZ)geP#OvLOJ`9i0uZ$TK$O9Nw<@PFG?aURUg@k@u)x-dj>UsH)x!^skz|A2 z(%DQt3TWs5`4b&lA~A~Lhr)Fnz&!zOjD&!0^?ln0*zV8n4d8@w8xXG45Od`RHVK*h zsT^@{w%%qGxiD5i1VM4-j0OIxoPZA~BcPukQg1eZV0#R3B_csv0UkuR-znXexxmg> zaYVQy!LbP`8qP|ZBSr(^4+uS5ISWw>=An$lM8S)Sg;eo-C)5^0C$50I|1B!0y_cRU?+fEPhcm&ttV)v zDVr(0p!$6Q_Bh~Wu!!W{vM8Da0R)A5?1k=ef`70Ru&pi2W(h#l4ZISkEBn5{&pV%F zfyAyD{a5b`EFR2Z>qM8=$@%i-dS8G%fkXn9VTeL$K~#>%sVDpc-$es^9D~D?{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_6.png b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_6.png new file mode 100644 index 0000000000000000000000000000000000000000..5e57970de6be7bc8bf4cd8fce8f5a61e88fd6107 GIT binary patch literal 1141 zcmV-*1d98KP)Px(FG)l}RCt`-Td``}P!v5b>S8cB!h#wPnu9YW9y-N=)0hCX$^b99v9T>ly8WEs%P zW%szy=>mWoeCzZatG`E1T5K@cPp$_Wq( zsBO04m?rAYA|4tya7+`np~E(GIHrk*#tll? z=H{M5>jW;86F`SRKAS^rvpx6wg-+K~Cvc&h0HFX8c)eK+OoPBU_)>MtQzvktoB*l- z5l~QiqruAvTtGPiv=r7X3$@L*C(jo;U1*jSN$@}d2%x2~7}GS*(+8gH-~m9B{)$?kD3}Tz#zw$23vfxB`CW6QKZU zSzu9~4$ARKPym~Nuz9-B>3XU?AQ{g9HUZ1zY3lm{DN#V!iAm5LKM4v@UI>K&H`mVt zTLEG1sUU@O*@13)k57#PAM$i5Agf;{)rLw{Zgj@fm!o;z&iv|p#TvCeYFi8kAnej z?=9TkTX-A{U>myY0aT9H6LI$e35E!^w^TB`2iF%*Y~-I)eivVukUjan;!r~v%b$otbRaLOWYj9>IWn( zcpzp!AZft^G5Y~gtnYKdt}(g$1)d)qgzhhhV!uEl3!&Nl1@ecG@*W{S{B=Uq`vnrE zfJOZUrRo-twl+C|F#QFo+%K?9A7Co?3oKhFq;9`}YCl0a0ji;#0M&ki@-#^09NJVR z!{#^h`pQe;n@`gDx7 z>F>HrYtCe8t-`#%as`Op1!$00000NkvXX Hu0mjfgR1_2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_7.png b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/carpet_7.png new file mode 100644 index 0000000000000000000000000000000000000000..120333ea9966fc73761111aedcc1245a764942bc GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U{djPaSW-L z^LDmv-XRBpR(qvO3W|!S*J)Tdtde1f>YF5^Y00H4)6m5nuw+xJqT)rCPLa;e*3Zm) zwjK|BwtB(=v)?9f&Q&K_b;$6szx;Lk`0-P`k4(}x-!3wr%dlbAS;;TIQanR;*8Tr; zCve{VP`!2CNgr3=lv(g)msZ0m-w)PZM>6YTJ}kJNe&O}zS!Z|7_UpK8^W$?=C}ZI) zW10J(H$`lc?>*7?-er%@G@j$%H$>F^4Bj#AT8KmC$9P=>Z#!3xNX}74&_x>yV z$eJp+>vgGs;u%(r{EFvO%BHy-w@uu9`_y@J@dbMx&h@TL4lxuzAXUt`PV@O?JI8}D z4c_N}0vShR8gx2u^t+|Y7EZNObg)m*b2ym){7-)Ep{-k137?t7VdrvVidW6%+eUNz zn)KzOLKs<>KmW6|_R!KTtC+a_&i`C2yY6A+r0Hxg>})*h{(XJv`HOFE-?o-0tp%R; z>xF9gGj5$<&9at(8^~G1wC2yAE}e$0^TQ{yZus_DYZJq@y11pKa}zF~V2b!%DH_R; zZNFZLJK^o~(5APHVRdn;8R{7ift>kFzP~G{M%_u6To?EB{&&WC>@E8iJ_k}2av$EN z+wvdy%y8gyL)gR0hAQUs%r^WL$3HXJ@Pp95Fgb<)_6MG`W&v?c9FWj@|9cOEoj${l zJq!;%GdTi7#me6RiC6$s^P!RvNH(N>ZZV(nV&f5Zhe^)B#KYj}>gTe~DWM4fyX_aS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/full.png b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..a6d99c732c3e482446921826feed539b18c9a13c GIT binary patch literal 762 zcmVPx%v`IukR9J<@S3Qr~KoET(S4fsD%PtU+Tt>(gN1fxO(-l|bhwuwhq)3%A;s;R> zBq%AM$QCIr1zlmwSVE#gB86|3*$nBm033yY6UYC&UaQ-3 z#^cjb2;4%PI7SQi_a^}O@v*QTdb)eL%E@fgwLbsy+be@0NC4p5_JeZB>$sTA`v8C} z^x-54ypAjP$0#a|yzYZEM{(H8JxOucD|Wy4{*-!g3`d8b{shX~&o9ar8kety7qxt3?L&_}S# zF`4%z0{n872*~K72pRjGg}z*i=>qZd1H^Oz0CG<$;b%)JQ)c)O0&OY>pv?Kx-HW_g zm3SQ&;x!0z{uUkGwiCx_69SayD%SoFA=~83K!E-{LuVJtxtJ~_5<1g$$wJ>KX$1i~ z1VAYvU4k@MVCU($q{n>#76gbWRR~Z8Y?tejq@j;2^l^+LY?o{FM#IV=$R;PFfdCQ2 zW`sMp1(=0?Z4mT~lh8nb4EIJuI7xya%@L$IoFu7rZVSSu&wW@CAb2>jIN>gllN?m( zb036&(h18(vQmge0eKx)X-suerO$mx1m0-#-Nc%LCUwrGPG3)fLPF~0P3oMau1|0u zfaPUG4rHCnf6nYiO(ht8Les~iTH*!*1XI&GztktV4?;lU0Krq&&FbpBu1}Cno&o~_ zTfepi(WFn<-ZR#LWVY!d*yXjxn)Hbv&5c*Rf`I<6eh<-S4ub>5VUO9Sd$H!5^a-17 z>p()nNd`b!FZBt&5=pH-s)kaUUgcOm(9`l0_^fNKfJgO-Z7kJ0?YjgqNF9o=T({1yzr2qf`07*qoM6N<$g02Q#_y7O^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/meta.json b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/meta.json new file mode 100644 index 00000000000..bc5c77c7901 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Carpets/cyan_carpet.rsi/meta.json @@ -0,0 +1,46 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Hqlle (github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "carpet_0", + "directions": 4 + }, + { + "name": "carpet_1", + "directions": 4 + }, + { + "name": "carpet_2", + "directions": 4 + }, + { + "name": "carpet_3", + "directions": 4 + }, + { + "name": "carpet_4", + "directions": 4 + }, + { + "name": "carpet_5", + "directions": 4 + }, + { + "name": "carpet_6", + "directions": 4 + }, + { + "name": "carpet_7", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_0.png b/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f317edb2a3e8aa1b42b2c55df5ce860184556d GIT binary patch literal 1258 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 P00000NkvXXu0mjfoGu=^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_5.png b/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0a72771dbbf154535d40b0df834964615f0e4d GIT binary patch literal 977 zcmV;?11|iDP)Px&i%CR5RCt`_n>}jWKorOS4l)jim4uqDRB1y*(isw5J2%J~T&7E|;Lf>0n#}=x z1Lp!EfpjuvA)sPOv#hkJ2pQNk8D&Nv-e~8|N7g?u$TOBl^YrG;ybm2gk?nS?bpL!l z-)=S=oKLTCa(aV2&yi)>Ki@x_&5l&Yf249V1)I$V>-Ab{E6Wl^QAlldU27TN)AC<} z0G{WOX@YeDWLbu?EG4z)6X$Q7_s4PEOq^;tSQh}$zvfq~mGpZM1k!}5G{E{U0LW{; zuIuK_Kl$|*FQ0#u`lxY21BUqg|4Ce&k`##FD1OP;5m$+;7QR9RFM1#hy zeGmlF-&9p4S^tAFf_$4}j7ipB+y*_*!)mnxW9+cDK~A5AZ?`eV5QZV?xK8W>BAz$= zPVVd57v}^Zs=kO0KLBu006@RB*D-m3zy>T93#EWSnx;zryee8WU`T~sgj@haYjtRC z+lE{K_xbEP{CQQ#_7(9U!w)JZ{CQPK1R$!tcw*z|^ygI}5kTLGjlXSA+Kfp+|c!O=#Pm-h)%8H^0lgUKK@S|`tAYu|N2ce-QAkwZ0um!mQ`kb63 zNje9g*H1tExq3tW2%{huz>v?MBuR4)=&K2^g|T=5r(F+l5C@@M@c=FeehA_=fjY^t z560pFaU3_-+$Ojn0Auk0#+cMMR0m|52Okg6auhb1-&e&*JOI#_-&e(0JU~}|Uln8V z0A2ZgRmgV%)A@Z>v;;*>=J!=G5)T+^a{*G}dEG+>Aa^SwY(6itLkG=3)H2~I45AP72n zgE)>61VQstRh6^^sFs6u4G_cR{F+CPAH??p?Ro)GASU7o)&(He3h<1PXcI&Z@_T_# zKi=W`_CjjwvkAK53Dz~BuSOsY!;Y%!iYNRAxegGmT@EQ&00000NkvXXu0mjfGOWMe literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_6.png b/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_6.png new file mode 100644 index 0000000000000000000000000000000000000000..9103ea823b0b913d5282c662b9675178c72573f7 GIT binary patch literal 1135 zcmV-#1d#iQP)Px(DM>^@RCt{2Td{82Fc5t%6rhk`S@04Rt|q66fhJ3V7M-)@1G*+#f1qpEj{S&a z%?IQMf-Xe^6v^Pa(If=f0!gT}RDe4;r%*JN#63zB)V@V9DVgHa@p$h@_Q1q^K4(3D zcz8Gu!w}on33lEcVLF{+GMPO3`HhW@9;f{$oQHM5wrzNxS1OC+7-1Ne%F;BgrG4WB zWLbtNim*ApD$0^1f$#gJ`y9uqg#_aSkOj z)7MXu1OQ-J797XX(!Oy5R6c+@PG3BZVy|pK%K}>C14K~gU;O@nH!qKh@;aQLaSKp^zWmp3Pw^VxfwlVDGERVM2n>hA#rS{w z2|tBRN0I=}%uIm=RlO!p5|4utWv6J-MvMk)(+#t{MZcc-*zcHu(UJ) zTwY#2Iw3$>|NM9#7x^B1-^anh0qY%lJzf`T83J;|7KS0>I4+fWo(J2u>u7!@XeU55 zR(;XhP3(p`8H7af&(L zyVdh;9s=5(AZ2ewEw2(Wof-m^wkGFC*;`T1%jlE^0LwFhTqdHEfe@ievy1Y!O@WYh z0#s{wVHlQtLZ>YNST=p%_m}j2TP%R>15Qs*VcRycEK^zV*8+-7^bDw`s7C+*e?s z(Uh19s8vG%f00Y@6hYnIH&w2M(Bm&iED?6{?0% z9cUc^RlcIL=LKZkcP5~d=LHC2AVq=FKXG0FczAz7r_T!j5AQDkI(%M0hH8I-s!kVL zVF6WWBA?I-3lP^0NjbW%yT~W3eJ=JFh-P24pLkWYf&kUtVDY?wETZJKMh=V*0Wqy! zm13`o46m=R+3g!AV3l*ib-*|Q=g0d17JCL}!Kid@Kn1!-++NRtaRM&#J$Rmniyu+x zdf(!zcn|P})xL28eBXy{+vxZE$}51%IvsnA{s6DZcV6(53l{(Y002ovPDHLkV1luX B1{DAR literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_7.png b/Resources/Textures/Structures/Furniture/Carpets/white_carpet.rsi/carpet_7.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ef41627a072ceed5d96d2bf884aad82117567c GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U}E)jaSW-L z^LF;etiuKZZU3ii6XCfwM=^Mlm{sZf?9vy~Up>7PYa4u|jKn0jqcdpZ$f0<^vb^k$ zWw;8*E2ayjcb9Bjxq{PygYjPV5sBaVRxJh<^2sgV<4lC}j;?c=aLI1z&$|8cHMe80 zD<123T69ytKim81`V|}wc7o4i>>tiqmU+%jy>XW6gcFy4zx>CmfBwDr@g)J`4RiX> zv)APB@4DxFROp1KHv_{vx%iE?Jja&=PGqdiTAp>^d11IK%t=<_;T}s1U#t>WSb^l4co^XqvA^LfH<)6nP)Px&5=lfsR9J<*S3PdqFckh0us|Wzw2(!E?8&GSpv}^u$eb+)=+GsX=ovEh5?Km3 z2k0S+0xgmuRp7}M0xhXTNLnf&9puM6k(7U0INw5=evgm(-XFO)olYMCpss6pp11Y* zzq$edvMfWM=Lmve>k+^|>xN+nQP(x{JjYw{6)1s`08j#_hbfX-gww+m0D!O^k}^UZ zrbx;NDBHD>fL@EkRLdfS-Xobsdhd|{Zt^n>1_SI(r_;wQ%P=ax;P}HOo&(oc=UBY@ z*kxcO+COh^Z+B|^=;#PQ>$bsQ0O5IF>&x;Psng91w^Bodr5~%|k4ql!6dKAEK(N-nmk$ zqiY%mTv_1wQu4X)`w&9l;o$*I({v6(|8w6T931GiKISY2k}|^aJDW~EZ<!+pI2>Aq zWfS9lvg7gCa-C*?7F=~;SKzj^3!WR=1+>6ppePDw3~UNl3{Y`0Z8@{R)m&V`)o0ul z1H5^y%>vUn!R%_=$nZUR7U)VChjtM1N=79XfK>@emMS6r-&YCaNs2|bq8FGK3c7Gm zi6t4=oR@5KKaQ2XfQ)m$NhzJ>)-`wO_H{#N8k!f1RbOI)%k*7Hh=JZ45n)#slC?J? zx(fs+7r1-zSyRZV=5>P4sdc;b32X0!{17hxna#!3yjJOR2CR31`9*!GstWh__nozE z-W0v>0(v;?8cqhTugPx%uSrBfR9J=WSFujxKoEV-8ZAm>ks^RZks?*xLOy}^&^1@k(@{rCO?6Ugx+~~u z5VRnEfY3Tsij*jlg)A&q*vS=Pmf6kvf`RB7o)mfQotgJ$yzAL`u+VHaXZEwN#CSaR z_`PqFZ*Fd`k{0J_|y+!d$@ zTsZfon8ZPx&I(Yuy4Nq}t0)26mts0AV1qBXkC3~3ix#m{0O39Fd>NL-r~r!}2f}Bv zUlzl;3;qYb1$+xwxqx?V!&PG0R(1;Do$E6nBks#%E)`JJjLMR`n$bT6P^T(tMrGP@ zQ8OYArvTomTrIdvJLY39-0p_P9aq=xtmBFutG?n$W^(|5ZbEcGsMTtvh|1#W=?TDF zGg>&5l7U^S&%(}}V6gbU58wA8gg~C>`neFo=}b1u<^e!Ti9FAdWtkynVG#zw{76n$ zAq1+`sbZYuLA&-Qif3+$2dLMFtVk4KIU_A92+qxCUFp_ zAt%psq-m;yWm$$G2%wb0(fI@Z{Mve5-Iayyc6zX(=Z?-FbQR(_*22;>HL9d5003u) zI}k!ZDFrE|HsE{s`0^1y`zekuAB_y-I5y^7zEVmkr67dB+2M{UKuU?;?GzW?xw@N^ zZ6wM3Z&dGg3IG_5Mte#rBuN6L6h@=b9{<^M+&4)Q+?;F!04};!^lqm*Ne=+RFq{QJ zfXQS60BAHCdMu?x6h(XZ0KzaF(7Wd`8;u5%BtaBKp2v)5L`061$t&&w>^gYvU$47G nwyjocz!M3>a1ce22LOKoc~X8`!k@3Y00000NkvXXu0mjfX+m5O literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/meta.json b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/meta.json new file mode 100644 index 00000000000..b566b964ad8 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/meta.json @@ -0,0 +1,163 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/blob/HEAD/icons/obj/structures.dmi", + "states": [ + { + "name": "full", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "state_0", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_1", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_2", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_3", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_4", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_5", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_6", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_7", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_0.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_0.png new file mode 100644 index 0000000000000000000000000000000000000000..56abee0f9f065c47d1da86bdb848e00dd54ab80d GIT binary patch literal 1074 zcmV-21kL-2P)Px&>`6pHRCt{2TQN`LFckhuf?O3vfCPuckfBqvw*3Vs)Nr05h;VUdsF13>2Py}ea5+SSbPjsZ^~ zL4bhpfJVCtU}W&vR4@Qi1PI6ro=M{Yq67$-nDcp%AfPCiF+KVK5dzA@l7O;rplmD& zDEkJ=#+N5RDVGL-R;x8t{@&YLMd#`TVHhHgW92+v7mRv<9LR|9Hjgw-l^&`vMnFE1 zDaz-|hIRtv%uP;Yga?R>j|#LCAcwD$a(X%ErvT-v9& z)yCR_7{_t4XKIU}mR;ave;oiagHQI?5r*N|HDao4Y-|7k>h-#M6r%xJhNE-!f|LFA zx0Qbdhi4A}MqUtxVMfewI2`j53ee&KVHo1*;xB&ohB&(To4qe@k&H2L&S6;=P7ii< zbgKo*1O!3Q3WA`;IY$&l;G81}f))UDZ(acaQ550&cn1J*-l?H`^9sh8YS&tzBO_}T zec*XsU(Efjtt~u0K4$GGis1WxrR+FBCz{e@>~+0fPu~KjCV-|KJe8ddD$}QWo?o^H zDDMKZp63HdsT4ziPfmt@{Ek$+(+*_<3QupOvwcw<5pZ3Xj29Ryh{$c3q=gKHWynR4 zNhL9nJIuOxnu4*KU{OhI;XOcx?D}7(D4NG-obju`H~~ew#KP_Z{~MMBlzjtbV@W{S zH&8ad{5D8pD*{HLv2EMf+}zBx1k<43?AD{xt@?3n)ITa6*az z+qN^kfvhc*F0n(dZaWXbdK45QGjv1tj7C&+}5pamMrmqRkkC@B1GadZ*Gii8a9Y s{fg&#sTfhlSRVj#BYcMs#2EA9AKsY>TZ4@?`v3p{07*qoM6N<$g4OitSpWb4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b62e9fa90816fb19a42adbd4e059a980c52d10d GIT binary patch literal 592 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VB+$0aSW-L z^LFOOtk(u2ZT~~~m>M-3Tk_;KrRL6i5NGr~muarGsL^*@uGrh=9oA{yZ08wy8JkzO zyf0Fob!lONPks9wey5bv>c7s}bF``fjdxDelGB*mIXWD$z$Amk_O!}3M!n%fK znM>pyU2__?iZKWz`#kS4>@Yke@i{kszQBJDtLG2qcy~UnoOiFk_IUB}>^a4k60Mzc z8VuP=W0j9}2sr)vw)eZ{!(HnHofryc{ds;WLDB5N$Md51D|Vj$SW-TBUGk-qQ3oWN|JLy{Nc109&t-UdBWiYD`{9Q`mu$G3cfMNe!@a{% z-FNfM*%`8PD|6B#!ccklb z?Gv_2B>nuw_}HBXE8)GNP|PwUUBK9l0z$JB?FTPgQu&X%Q~loCIG?!{nP*e literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..56abee0f9f065c47d1da86bdb848e00dd54ab80d GIT binary patch literal 1074 zcmV-21kL-2P)Px&>`6pHRCt{2TQN`LFckhuf?O3vfCPuckfBqvw*3Vs)Nr05h;VUdsF13>2Py}ea5+SSbPjsZ^~ zL4bhpfJVCtU}W&vR4@Qi1PI6ro=M{Yq67$-nDcp%AfPCiF+KVK5dzA@l7O;rplmD& zDEkJ=#+N5RDVGL-R;x8t{@&YLMd#`TVHhHgW92+v7mRv<9LR|9Hjgw-l^&`vMnFE1 zDaz-|hIRtv%uP;Yga?R>j|#LCAcwD$a(X%ErvT-v9& z)yCR_7{_t4XKIU}mR;ave;oiagHQI?5r*N|HDao4Y-|7k>h-#M6r%xJhNE-!f|LFA zx0Qbdhi4A}MqUtxVMfewI2`j53ee&KVHo1*;xB&ohB&(To4qe@k&H2L&S6;=P7ii< zbgKo*1O!3Q3WA`;IY$&l;G81}f))UDZ(acaQ550&cn1J*-l?H`^9sh8YS&tzBO_}T zec*XsU(Efjtt~u0K4$GGis1WxrR+FBCz{e@>~+0fPu~KjCV-|KJe8ddD$}QWo?o^H zDDMKZp63HdsT4ziPfmt@{Ek$+(+*_<3QupOvwcw<5pZ3Xj29Ryh{$c3q=gKHWynR4 zNhL9nJIuOxnu4*KU{OhI;XOcx?D}7(D4NG-obju`H~~ew#KP_Z{~MMBlzjtbV@W{S zH&8ad{5D8pD*{HLv2EMf+}zBx1k<43?AD{xt@?3n)ITa6*az z+qN^kfvhc*F0n(dZaWXbdK45QGjv1tj7C&+}5pamMrmqRkkC@B1GadZ*Gii8a9Y s{fg&#sTfhlSRVj#BYcMs#2EA9AKsY>TZ4@?`v3p{07*qoM6N<$g4OitSpWb4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebdf5187a8f9a5f0f006dbd9669208e6abf2b9e GIT binary patch literal 608 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V3P85aSW-L z^LD0T)?){ew)%9nvkjfBMXL|B9?UIiiVb=$Q_a}iFW@n^_)XL8m;(t*OIA8m;NV32} zX36>mN@59bZ)^7$-YxC zNsRB=FM3t%*!zm@4p&yXmv-|0``?q?I#_kYof!@sek=NJUu?ooiATrJ-)D#m?}+~# z?x@HDlxq>#_58M(n)*%diua5Ro|6tpG`}t5X7IQyQW{&{?00!f_U3CzCQ^x8qiWxV z9;oi$r1SY?O3<4!YX*nNX_gET+1&z%+JAqmvYIPa8tc7VTzMWN!#dTYzL#x0U;W-B zZ6kN&^2PM`@B44BsJT^n;O|-0XZ`0t+*5A3@OS-vlST5A_ReIC7ZW|ecfbu4B!P@? z7;-`wtQn+Hh5QPYN`yA)WUtxkF=>gl^$+>3MFPDK-=sI7hBlT6&=<>|c_Hb#t~fBs OFnGH9xvXV3P85aSW-L z^LDml)@=uow)#{x>BdghPhs5pH4U#=bR(b3w60;cb5eXgXR+$NZ!F7B39@{t`LxlUxOtDCy-r?V7aFQM ztMI(Z-2d!84AuEI z_SaYcDtIoMedy$R27J1~244Bj=o+|!?@RYlr>TzB@()7yGWNJBzYPxvxj zDvPl;KGpJwc`k#h`hLz?3}p;vY7Mdty_^Z`3CT=17;nq~390Kl)XFbd`u;a-`-cDA z8ep^i;u?Ord31mCdh5JYdcNL+U;o%kYj!ofE%TP0uXo`0eZe`!cZ+*IUj4LjL4MOY z%MOk?#U7Wxtp8==E12BUQS#N$ZAs>@q~G_2||v~E})-=S~r-{iuw`6YwWrLFm|P4;wdcHm%Sn2;(t zr#ND57(;{2`HLpL<}Yo|@3wkx+jdy-+2@^Ed|!MGS{in(JN>aDX6^NC28Y<|stgtH zwFQ4JzGLUFHhER1)Yl(hL>V5;-SoeCnQ<-ukE8!obP0l+XkKvjhdC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_5.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe4d19d3799e57790a3dee8d06df7849a153728 GIT binary patch literal 652 zcmV;70(1R|P)Px%MoC0LRCt{2o6Ty%KoG|#H9`scSct9_B413rS_x$hzMnny@_ES`LY zP$Xb5U=Nx!eoNPx|HAGMMDxW={>-kKnT!n0-zm0V+BAvfW~+M zl#?OVWF|=xB_A9|?G{)gKsvYo4{QQRBr?x{O@PxxMpq$>p99!SVpUmdG4bntRrza~ zY`D$egUO(Q zrf(wlBzRi#)&(&EE=_pr^<&*1PGGsfJnB$U6e#mGFaaLz{c!^mAj>k8=_6qOL#x$l zfU@1h_^`AY#c7(LM?mjkN$eBtyoh z!(t^dT?-;&B{A+U?|%_1iRlXK5YYYRiR^=r6~GFBb^whP0PO%8D*)O7GVB++2aSW-L z^LF+@uh$MDZT~GanVB8Abl+`yp?pI@$ClTJ6j~h$ z+IF3~(bW2Y^G{LrKHte|mw%qWUUG;hvn}2!a@ua2^M-Q$8)JG3zQ11_zI)XwBhUTm zlaBpo)@qP#=;caaPgu-!gYm`+hB5{-RH2S%mlzD@pD(XH_xjn7d(|xh8{*a*Gu(Jv zWoqv=?WC8*Pi+U*4a^$?8Q(DEgfLh$NQ)leJK%;Y^s&kza@r!!zgb&_QYWlqf3oNr z!?MdOzbLQhVAT;{tXOnGfcwR7jnjs4OBq|{{83ne!zpw2Fnp|Pn6mG@xQz3EeFYbg zC6<+pk3R=*EE=zCeAh2g=5AAhwU zFTcQQ6F2wa(}zl;Kc1hH&CwTM9P;AwS<89vxoz%?SM0L%fA0B1w3soO$80t)LxRyv znH*-1-`8$^DZY`nJ>#}mX>51a0{*6Z)e+f&*T2dztl1j6eeUy0Rt4GFXVYG;v%hk; zxsH`#hsd`2$tKJC8LRg^Ts`CO+xOqt9}7Q{?OuH+F!Vhzg)n%!`njxgN@xNA?*0Y^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/black.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..c840c44487f4ff83caa9e0cd6f654fa6121027cc GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|j(WN{hE&XX zd;1{oVFi%`0WZ8x{u5R)R(1Y!I5_(Ezlj@nC>)G)p7&hx?EL4JQ4jXLx1IUlr>(w` zDTC3MaZAH8hA4+%2Hgdk4PqBW9Jn*M7OC;HZP*-q1n40KPgg&ebxsLQ01m@m_W%F@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..74e4724849b6139a7aa84d123ea66ea1b70d3bea GIT binary patch literal 837 zcmV-L1G@Z)P)004R> z004l5008;`004mK004C_008P=0026d000+od=cigSSFYUWyk*3PBJo<`9Y~giscW zv}CoEHSJ0R=|N|loopJnD!urHkooc6`+n!m%)W`Bp?7e!p^x1qzJK`?QTtJyeDLY( z`{V~`s3M|47F+p!**-q-NM{X>54=z;!Y7?I^kt_Mireo~ zg4MBtPe||JsLVo#>eC%h%C;b19V^H&wcQFq_HrQ_hZG=I|I7UbAk!_B2L);cRk-Ra zVhRqy8JGc)uI19Se=9;j_Z2Y%GoV8~aQ{LcUzG}?20$LTLu;f9-=&u4qrD|1-!j$7y z#Yk`j3Q#LmPzerGj@7m*T(5?{Cz+})oi*6X?%&aq?0Wz849FrR9thUs=b?zg!uk9W zxGqLbk5XZvr|P!QS1#Za&>c?_HR5!|`nWhhljB{nzCdST({3KXvQk`}pHcT*pBUdE zj2dwg$zcHb-xce_FfD1Lw(Fit-E#xy4AYXr)R<8t?i1MoFp!zO+W%(&)EwJqbZQq_ zn>+-dvnK%{`)XUAJGG0x7$TYhs?IZVy5S$H4gZSIhCwxZnc zOOoZ%G;5OuIk)gWCbLj;Y$;5{Zpr|_#=J>qPlB3bV_GR`px)udy%FBLd&%P7h;N0b zcF{K%`WW$HuKzs5v$#M>`Yh zPoGnL-D-ux(q+8OxouX;Il0IPz|d5_5r6cAuSXvM=+Df^wrQm(@2*cYPx(C`m*?RCt{2n?Xn$K@^7n6s6G^f^8s0giwkSu_Dxzf*^v3Ek(SG-aL5Ii_lx| zJ=&WGZv{_Y#Dj_yf*`e+LJ(01p)810vMOcWx>8|#*v>e+%}R7;-B$=(`UP5g<(N1qk~B!scFpurDBN?z{j}zBB-Iym?oZ|32NB!(^cshgu$|#(}gS zuZln|K%B_1>8%&rwxvF@1SWvjk@55A!$!FPqUR<$GRy*)$43R_0*KSsN~2~ZU1$K{Sb?c)To}uw_YhQK z0f$;14-uKk_WE>qWFluIym4f{K*T>vmu z90C9s=$U@Cv4iLx?5QvQ;ZVg-7-TT36L+CZ`kh@NB67DQ42zhvnkASD3v6#bH=Z*96fL-Z6Y#S(%@oh9?e z2;g2p&Saxl&TibDS7sQNsiXJfGxwM4m5+6hdu4{40Q&c@0B$aDLP~(Tc#7v6h`9yT z^V z1kNo3iBv00UBl=?13nFH^Be?cNX%dUhgCqr0svrsB!=4h1Wa9XEuD*#A2A2Pn}Kp& zNC*&1rZH603bI}f>Czz30RInr5ps7hadx~E|7iiT+ZO!08HJ@~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cfa3aad6ea0a32eccfc69243b06d4ae132498f62 GIT binary patch literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U~>0#aSW-L z^LFOOY~ete@&&Jm5V`jszoFv#^q zkW5vpR95!`ffb8pEO8dvPD+JiTK?>x>Kz#j0J zWd-w!LZ&N>S1cG`F=WkQC}l8B)<3Xi8rzEd)j3h;_t$^DGG$@F2HwOs=?%gQ_!gwS zVVzOlvL-qz>kO0J+dC##>$k8OB#B+fH~oA<@vzPTekTUDy?$kRn`{m*xSqJlruf;` zz(apjU;Jd8C!fN+`rN$}_bz9@-1)_Lo_xgav%H%dl2&@%$v1paYSFt}#5=!3x9bl4I%Jmp`}CICg7&-aZ~Fgr@{uib4T6jx#5}?hlzt6X4N~e3vJSnVuv6=o zT^KWC-POq}Pw9vsKAQ9XL3~DzopCQLY>(lJ5s)#n=I=e;+uj+lRt=cG7(8A5T-G@y GGywoaSt|wr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..2463ead2ca01c1686d083cd8e0616a75cd196535 GIT binary patch literal 1134 zcmV-!1d;oRP)Px(C`m*?RCt{2n?Xn$K@^7n6s6G^f^8s0giwkSu_Dxzf*^v3Ek(SG-aL5Ii_lx| zJ=&WGZv{_Y#Dj_yf*`e+LJ(01p)810vMOcWx>8|#*v>e+%}R7;-B$=(`UP5g<(N1qk~B!scFpurDBN?z{j}zBB-Iym?oZ|32NB!(^cshgu$|#(}gS zuZln|K%B_1>8%&rwxvF@1SWvjk@55A!$!FPqUR<$GRy*)$43R_0*KSsN~2~ZU1$K{Sb?c)To}uw_YhQK z0f$;14-uKk_WE>qWFluIym4f{K*T>vmu z90C9s=$U@Cv4iLx?5QvQ;ZVg-7-TT36L+CZ`kh@NB67DQ42zhvnkASD3v6#bH=Z*96fL-Z6Y#S(%@oh9?e z2;g2p&Saxl&TibDS7sQNsiXJfGxwM4m5+6hdu4{40Q&c@0B$aDLP~(Tc#7v6h`9yT z^V z1kNo3iBv00UBl=?13nFH^Be?cNX%dUhgCqr0svrsB!=4h1Wa9XEuD*#A2A2Pn}Kp& zNC*&1rZH603bI}f>Czz30RInr5ps7hadx~E|7iiT+ZO!08HJ@~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_3.png new file mode 100644 index 0000000000000000000000000000000000000000..1a56027c99cdb32c486676242d42addd58bd8868 GIT binary patch literal 672 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V2bi|aSW-L z^LFOhY+*-e>PKo^4W7LtVT<{ zOs8F$Ki4E^Qk8qq9G0o<=Uu+0tMdlh#vb_fX5EUq%wRLS*aNQ~F8UyB*S#vA!+rm^ z6%1tzW?Buh4ZU0m>>HLKv(W zW^WW%uoIjlm$^}pJL2YU{Z;?fcokf99_+d7rNqv=k>R*Vj`d{y+hz7I{(i0s5xCD{ z{L^UB1$VXhwv#*Szs#P~U3bA*Wu zb`kkiwv;EO<+<#V&8{y$BpvBL^p?N>@vm9Uy-yh!3}VeADuSIve%*-R1F~1FkFB}9 zZ%C0`gW9qzkM!;z_wKMU+?f~Y^t?ho@Wt)dj`Neb3f|kc zeE%pK+VDf|Ms8(>`Sz^x^m!Hbe)@G+Zk=5##bB}Qf$PHmx4$m1wfuhPwak0(c5&r6 zMuumqM+;@-Jzlw|np@a(HZQ!c7tjAaaObAa4PS4@u94GQboU`qCMaSW-L z^LEz$Y~e(iWAi6-SDxi}y438&DYjj#cd1(IrKL+PLfV^}>zfxRA6(en{NTpLy|W+O zS=bTV6`+4%n$U}&Ce;WJrK0dX2M$`kkTs3!tl{pjxPSgj+`a1ewfFe*<0|f3bN}af znx(rdPUiTH6j^Cw>xy0bErNC*UORo-lKa_{j{RrWYLIQ{T@x}^3Ey9TshAmdVueM8|wz<4S|er z7;-`wtQn+Hg^oODe46FEW#RjJ8-dgb^Vn}Jy2h}oT+U10(N!lQIqkVt(FFl+iLb%a zPFqZ16PWbNH2{Zco_iTSrg{9@`|mFMgjxj!o68=5c>+L|2I)KO;qaO$w^BF%;-pV!D$DcOlp@u_ z|Bu3xgRIt1Uvz9&@7Yj!27{{xGwK7~Br0yid^Nmkkg=xz|MI#DIkl%d@*aJ(zPZ{o zvCeSo)U7M7moYLVPc8)-QIoZomEq2eIJfU9{D}`#uNThE?JCGSyYT0;nHfA^TsK@V zyO^1KU47a6-SOx87#ZeXE0bl&2`)K&;P*=_z58=&pOpE3JM#B(IzvPCp>MvP$-k6- mG(U7SX|LN|VH>0VNLrJ1s&D6$MWw*B$KdJe=d#Wzp$PynY%dZ3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_5.png new file mode 100644 index 0000000000000000000000000000000000000000..6d400f6c7a348adad133158e6aa7dd391036df6f GIT binary patch literal 723 zcmV;^0xbQBP)Px%jY&j7RCt{2o4;z?P!z^Lmp~N~4Jm{yUP3Y$64ygT16@2O^&5E3kWph^p&dPT z$XkRq4q3by3{JrTyh$z$=rsqtQG)(_$Fw*0MZl!upMAi2*7rLO(6i=0XDf8z&IH)O=f<4`()%psbqEwq7fjS z$Yg<-02+x*7KjP(evm+S|SOT2%fT_5*42sfY`Z{O5=L z06X2aaL^4uPNW@3LA5CA59%2I`5KRB-6c))527YO6z;R`60RrbSbpEsGW{fKPl92| z+dk9;cxc0$T%2l|e-v6Su-`ny)p*1*A43!1xo3aU&;+;~9kWbNK|32f`+f9|Wjjgk z>j7#JQ1KjK09;Sb0RRi-YP1HZ2ehh7pjGR@MN@BJaMAS-RwxU)Nvz6RG2o(ab9bi)kz;=L5ApqL}Hn|tTI2$x=R(|^tM#&Tm z6FTc7AeYV35xH%aPG*p~Y?jvSE3ojDnUKxB4V71B=mP9?*Wz9Qbb&7)e#Js)q|o9(1n2@>j*h8E<#YkqeFAg={_>q=_zvq>$eLlrgf0L8002ovPDHLk FV1hbOJ(>Uj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..296dbf968c3d7e70e5e6c587b4710d212fac8148 GIT binary patch literal 659 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VDj~JaSW-L z^LEz$Y~e(i_W6_B;)*%lUwei!NxEcSjL5Lw$#HbyFL@D}J2JAncXI2={x$D%)^vTL zBwNKAtr9EK6eKd)LggU0$Rh=D;S9wewm&+)+j-yn{qf%KO8I+x9@ZAi{pZ*`^;W_% zoAXy+aYcLo-t*%_!J;a4>-9F?yTf&+{%4=VP|9HH*I?BkrS2f>&?~%vZ^1Fn0QP{# zEGw8-6f#|5yfWk3C5EkE&mL6yzBKz!nDVpq=hF83=2S2=A9T5@fAn)s?1{e|1t5hM zjIS87aG95UkAKG6D?Z%6zCBM4W_w+CV9H9ffSuou{Nm6|V+1-Z^2vlmF@u+@b*2~Q z@Fu8ypS%EzQ@}P9=^xl5v1#A>`u~R8#94Z(rFP0Qf;=$m4!41SQ`nm5tZeIT-<~qf z+rK}%=1}9xZ7~k(Z%){zFD~E`%JA#%w-0wpGW+VbpDoFJcPKkjX+Fzeg+u&{5|1DH zX?^(om#8Yey~p_%ow+rgTSLToQru*q%F0U%19)DR-`*l+*qX%Qa4EZJUP;5pbNzii z`(6KuR@7F{ZsnbSb^89rd+y$l)t)b>W^;QlYbsmswnJ!G$Y5N ztU1$`|0&|(S${XCMr8TdO~1ZQ=x0c{8S(!_P^2AaU%`?2=X$2;Tb=8P-~FsT^`MB@zGt literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/blue.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..c11131fcf9a927d07184801a7de7188c8ae4675c GIT binary patch literal 275 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|&U(5yhE&XX zd;4IolcB(Y3pKwQtrjS0Flr^eZfLS|J@YX0;6DE+5j$PHwwb2f|9Px%(Md!>R9J=Wmd{EfK@i4&hCU1u!zc=pm7T>stgr`J<1UEtB9aY)zDAzF$MGq= zgdjPnC;uFVun>^5(zmBW)Desx;veXS(Uw5Fidw>eN|sqcTLR{wqp|#hP zv$H9EDu#k@Y`kfFpsSM*E{oca3pK7@c34^Ws9ts^iXt&9>z-OmpMM{+8xXKkU%l+G z{j}AaoKF&Y+)3yDyWgf)@Vq>LGcLprcFWkQbcVS0eVkZG9&pGpPGR{Yj zfc0^Z@{-+;_2H_5{~_-L-U+-pf#;Rs8_Kv+b`sD#*GoP|I@aih;|PpuMw142HKV^0 zkezB&Gn%9wk7`D$8@dSSoyygMCuzs}SSN0GL*tiBXScHMQRCv3e#r*sZ)afWpHMWL zd_4YQE*?)5+r(&CL6g{yXXD~uzkuOXy;SU-I|+EnB>waa^@Tb7yL+`>Uzl@(=leF} z^Z@lBVE*o&M!RK@F)pD$J;U$Mp8(XmzA#6eN+}zC+-SFGv|CPHoJuKTx=(+4#vqvh z@bdXCz=y4G0Ej3ujJ!&Pk{<$)NzVePxjxo)UZrCAkUnJ$8PmwXRqX-MY$|7sc1!JQ zH}om_AxBFkN`5$0Zn|za^i>ub?Uo`YnoX{155pM%C~wAO(zA#tA`Sv&px1D&vC7_U zj$C8a*r8Xc7&;d=4gy3Jkx9=|-W=3ILMjgy_c>ZB0dTW(O<3)v>|k*pfKIWP5m7`~ zjSx{pr&!GBkFC?OVKw4r=Nf>cr4k2=`)ZR$6)Ye2J{WtqIYe}#z;WN9bZpnMOV=qD zGhq;133}(hcbfxFSU&Xl`qSY+6bfBn4OkO}LbrcO*0cv}uCLoVWA5eiUE99|{Q*vM Va?A2TPx(3`s;mRCt{2n?XzCKorOSl^lXpiHi&37PGjAEi59tbr-~T4@J5~(68Yq=%?^A z_$j=EB0X3Si)#-d2=y2d5frynksN~ALo#s^8nM2KnXUan$s|pf%s+23^WMDVARFbf zH`MuuhdD}h3gu$ql*=AgSBJai@Q_rcTml4K{P+`=yT=ZSD=NCj&cJi4#Jc1WAZGgA zV+YlTiobL8)P=uE)lQJE7L1zDhh^6I)0AT;;ZL>t8wHEeij z5dx7zfB!UFG$B33K`BW4P5Or>Ip5MaU@7)JyUu|k-~TtyYXA8vc&^Z3y36z#6m}C*q3KYq!trQ3W<%p1@Q2u|7L=sab9DMpF-*aB#siJ zItu)6j0MR02C`->K-M>qHE(_xlwv3X0F=v~n$N>oS_*Rsp2f}%sSQ$g0p4>=+k&JN zASqco4Wtr)d5THN(xaO$AHaKxgJKD3q|VCo#R#G+$i)>E7x?prKA8zn`h6_ye~up9 zAAGJ4?UNbl1aMDI06af%LS1B&N&q#V5AzK)KDXeB{DVtkol?C7waKYSE&<>-KAv~L z;BymRiWCB{TmhCl5Kp^NEo)#7f(WD#fYG`53#H!&;5W2)e;YpW4O2r?GqG1_qN$m} zhD2!uXsx*@&Cfuw?a0zOKl$Nv5aJmqFGY%%psVX>%>Be(p@~JPI9or(!oGiVjkztr zJb+^uCAD7fm_Q^4fr=CYFcx?HDe&fb4T^mLz)!AlgT}^l5Jrl4{y^|zOw2im9e*+Z Y0F*)UqrokjK>z>%07*qoM6N<$f*r;30ssI2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_1.png new file mode 100644 index 0000000000000000000000000000000000000000..19f7d7fdf91b9ee6bf7b7bc1681b4cad283bb43e GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VAAk(aSW-L z^LCbRwp5@*Yrj$V!X?f;Y+WMDE|dxw32?k{>q@yif3m&cf8X7ldNCp5jR^@eLZ`7w zGqFjkDRRip(VHZhb#hTb+dR&F{2k?XaqoBXAD&vhmCbanpW9V`HPdBx7Fy{yKTcj( zXSDFtQzo~shN1VBe^2Lrv3B}pPwU&7s%KV*s|a%1A~QU(~p;o2cA9nUt<(gf$z%b9JJ$3=gB zdl24yKrwhu>P^w$_@!4LTs{5z{kQDnQy=bs%ii-U`OCFfp!=>qPX4&NZdzeI|B6e( zAJhyPUom9)G*~rA2`}JVaExUI^9odZf;I`|6slZ&kDnwzrqQa fVUHReXY)ljPFs-vb$JIc0Wo;G`njxgN@xNAH#rLY literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..14e394d6b8b0658fa994acf74fdbd8b569aa1f5b GIT binary patch literal 1106 zcmV-Y1g-mtP)Px(3`s;mRCt{2n?XzCKorOSl^lXpiHi&37PGjAEi59tbr-~T4@J5~(68Yq=%?^A z_$j=EB0X3Si)#-d2=y2d5frynksN~ALo#s^8nM2KnXUan$s|pf%s+23^WMDVARFbf zH`MuuhdD}h3gu$ql*=AgSBJai@Q_rcTml4K{P+`=yT=ZSD=NCj&cJi4#Jc1WAZGgA zV+YlTiobL8)P=uE)lQJE7L1zDhh^6I)0AT;;ZL>t8wHEeij z5dx7zfB!UFG$B33K`BW4P5Or>Ip5MaU@7)JyUu|k-~TtyYXA8vc&^Z3y36z#6m}C*q3KYq!trQ3W<%p1@Q2u|7L=sab9DMpF-*aB#siJ zItu)6j0MR02C`->K-M>qHE(_xlwv3X0F=v~n$N>oS_*Rsp2f}%sSQ$g0p4>=+k&JN zASqco4Wtr)d5THN(xaO$AHaKxgJKD3q|VCo#R#G+$i)>E7x?prKA8zn`h6_ye~up9 zAAGJ4?UNbl1aMDI06af%LS1B&N&q#V5AzK)KDXeB{DVtkol?C7waKYSE&<>-KAv~L z;BymRiWCB{TmhCl5Kp^NEo)#7f(WD#fYG`53#H!&;5W2)e;YpW4O2r?GqG1_qN$m} zhD2!uXsx*@&Cfuw?a0zOKl$Nv5aJmqFGY%%psVX>%>Be(p@~JPI9or(!oGiVjkztr zJb+^uCAD7fm_Q^4fr=CYFcx?HDe&fb4T^mLz)!AlgT}^l5Jrl4{y^|zOw2im9e*+Z Y0F*)UqrokjK>z>%07*qoM6N<$f*r;30ssI2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_3.png new file mode 100644 index 0000000000000000000000000000000000000000..72d52ee1b1ef6680a5d8bd0f1dbdb8bd7a0b983c GIT binary patch literal 653 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U~>0#aSW-L z^LEz3EU7?=*8WFH948IBoF=49o;o`qK#JqVvDOx+T^uQwm%ljX8n0M6VNcVJg2mmJ zl1@EXHN}Bxqlk#4QKEpBpSY@XlDDSJNy8uYtE=b!d_M1Yq5F>T;DF$@$3kk?Pft2! zeC5IE2OlP^e*bkv(ar|HUEWu(pZxfg>D6bcpDq0%rL$!I9!+Mt!gyr{Ln(u)nuDxE zFJ}OI09a_vUWP1vUWN>_m49n$%G^>tmhRA8^Owtj@fAbXwK#@ar6Y2gD;KhwG=+!! z^*3YS)Kw@h-rOT&l)-rKSlA^w@gh%a`&oZB@7KBz-}Kmt&ru{P=0xJNUG*{Zcj|pw z%-N*jv+lXO@R^wJ>%ZHZZ)rF_d4%QeU&J1;-+To#G6)=Jj7X7tSDmgG1yC zmquL`FGI!S>J{g+E%xOqbT~0M6#v#eCEohv-s9VDm+HRfe)o)L-ODuRAj9Rb)sJLk zziwZ@&T!AJV_UASVmMHcyjtGn;pBhL((23qCVuDsFwghE!S`&9M!_=2KdJ`r*V=vX zsAr5`&9@!VDj*EaSW-L z^LF;etlI$+t^GahfLyL z0*gxPw?y52x$_=lcm6njJmdO=lElEcmE&l4__ZBe{0jLTFUW5Y+>DlMTOhA z6&!(KyYF!lzuqI0lj~U<;xwIVpBvX~s{hIJ!F~@5!=5g$jJxs=pDgRO@MU0_`}TUq zoU5O*{qt^B{=Pf?uKV%&?i#iohZWQA<~@*;=ijEk-eA|BLu+pHG9+x-Xxef4$;FS0 zdd>6M7k?1GYybbXfq(Ow{Rv%9;~V95_#Y*`+}wWr^mC1U%(u;_p3R++J{6e27(8A5 KT-G@yGywob6Cs8G literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d62bff28a0db0e3201897e7ec886b1ecbac8c0c2 GIT binary patch literal 711 zcmV;&0yzDNP)Px%fk{L`RCt{2o54!sP!xv$gf6n^YH&7!xEO>&ms5p6vk5+h@8L`6d(1Pq>ZXf< zw7Ti0(v=Q$U>roSNEXt%NE1_At$1_Jf8plawD+dr-2AyW&G~cUflar&SZRkLrbh$p zCWoKf|NPuD3Ewc;xe~%~rP=fQ00On}bOCyPAFWP+@i0ZJ6QF$XJ-?559*M@M3lPsE zAXzq&4cmnA#Up%yY#FS7m%vH^@-v?=4@nWM6d)&_M;H%N(WPLu0D$~;z zo51>vD zbi0?!P3E420jf)&=l2nZb|pn>$q&CmA;Wro&paP8if{c4aI#oB$Jt`( zat7&Sv9xAg0sW1U^;c#xc9TOlUYR+W>=m^Fm;k>H{uDxJq|sL=+}Vf{e3jrZ2+$Y6Pj)@U4Wgtdo*rtR{At+3Frd+|Nd>Q)3dwflePZxk) tCqNe<7>%fp%IN~I>jdZmEV*I@egVin$7+38vSt7P002ovPDHLkV1ku;KC%D+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..6bbe87498818ebe4a4220803e766c474ba691e57 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VAAt+aSW-L z^LDmxwp5@<+k8Rspi7Eu%&uHwyZD@19S-Cy@i6;q`BU`Y>@wk)9V;S5ni>X(WcFZ|2$}L%=CEvuww77 zIQ%yfnE3aU`@EN|w5s$CJ!H`VmTcP2k8FE6N* zW6%-Hp1R*d;Kr^EU;P_!=tLOy?Q28XZIgxZJnhSPu6=FTv{LH9ixV~6s%ebPmkNX} zQ)aNP`KxuB`-a$&H#vV5USK)`Y*fx(hTkPOe(bADn9u+7KdTPdozeOS>^P)0>a8s8 zd3&0*Wb(3)eD*$9ix{7Nyb&@#^0xW4*(arV8L}=%7QRWV@4r=Y?CigLo1dF?)(D(A zG(m@_yDzr>Pe9GH=bw^)nnp_Gt*PDF5VqIL(s!kAy2|(MTV91`U6!0`u`F~wQ-ELa zq~FmATR)%nKek^<{KD>kr`Dgh@8+wkz8`;6Zc3Z0`|sU?;qBrvvT+yg_jbM3IdQz< z++oADo}xea4ovqfFa0g6a`ADUdFG`#Hhq$TM$39~8Ct^?76=`8$!vb}W(})=snp_{ z-`{6%S8n)ux$fzc6cO92k^60n-t6bQ{WE3F{w*S>k2k35{k%Q%>D%Yu%#X=`iJ4@) U#{P65Fc~p;y85}Sb4q9e0N}C~9{>OV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/cyan.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..ae7c86d08c0a30612a29b2a4243fb4d54d6ec631 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|4tcsbhE&XX zdwU}fD`A+onzY6oc}!1?7Yi-Y>{Kr-nKc#ZjZm$o>!~b|2^eL_Ld*~0Svke zG#kV&h&XU(a4ldpVZFdKiz$QAmvKu&TFLad?6sw_i+}&AoHz0Cz0JCR{&H$ySG$ZM s${`rHQ6OpKI{6Frjrz-Rt31mtGew|o)jPpTpl=vFUHx3vIVCg!04RD}m;e9( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..633afcee44c7ab7671bf211d27bf96c766352f2f GIT binary patch literal 754 zcmVPx%tVu*cR9J=WR!wUfK^T6_Zg364QV$Y{CFIcHp-3>&(4ZG@LLvVkko>X!2_c7o z7efPLq2wg>Py`9VLu5eWN_N>EW@mh7ob6^~q?bG(&b*(`ygM`RWT3$+ABMW@EfEZU zXXxD4lb25RHklt|AfzO0lhN(BWf2B_59OMJLElT2Ncfa%j+A|EXIAVa0loBtzK4s4 z9Dp3q2LDe3;nN1b@6Ht>R{2m?VT<|%g&jHO$+@!t9mm0BFJkFABmuE{>+uNyWVr=% zQ=m9d;?!5f6gfmrV+BOHE*^5^Q>26LD`FZepo4C>*CaRj#%*FF0fCo%^CTq2*aB8B z2Z41~pA^G*3jPP)3A_{7IDr=(!%ZUTC>sgT&b7{EM15(@L;`WmC~b06Gx{e1(W&B^ zQJQuf*Nj9CBLUi}Of5J~JEmhwTjI=$u*}(Apq=tUT`U!DMq8= z6rG9>00>;Zqs5$#sctl!s^y4c${bNn^&Vh3j3&=AnC~&Us%FK$qscQYrXFQU;QFk<4cQEE^U{Ex;pUxPx&|4BqaRCt{2o6k!dK@`Wo>8^AmfyEp|)Dn8AxUa?!gzT^E?0o0V&b&7-IS|7r z&xMbYXZ)E{_lRkAEH z0whhpe(GcMDi0tJ?0|i1;FXrU4oSB-9&NMA1KU%b=$N>z3K9bF);F$i03b5=?WqpR z6)UPZ7eyr`1mJKBC|4{1tit`Spa)U{aKsm$&dLKs1>orD^GQeukT#jo-TD9#0kY&p zfUF-NYhDD%`T??Ll)hzyDLS z0BHfLwUk@b0(Sda5Ibzh7N{8cn4s5w&}GzGo+B-QY1s%~cL$%l?YDREwgB_iK;V0% z#E^ao2EG?M#C|gsUMv$0>DPE{td^(WYuEF z?SgdCDp28(eMmjCwsOY%{%plUqvsFIRxBpg?qN>Wp~>Y)IF$gH5d0J0UtS2Ywh~7B zY#TuK-k`L6vg`R-TY&T^@YwbI1`tvSh5%3I3^6|Kkg0csv;e8AH+)Thrym^Q809%K zR-i2)B5sQ!QHuv?3y7qJ#JD5$*q5g+w8aF|LSoO}0z^d9ADN(NlBZbXmqEJ#X`{rm z9R>b3UIfVc0kY;rfUF-NYes$;Bry~LJqM{cj?%k{D3{eZY5*h;71#EO!?f?K>ZkcTP9Q_=FfjJ1hJOmj?jRMo({r~`$ z4t&646Q71-MhO=xDx8Fd0K12|23A5|!G^tZ1|V7CU$`$BV@Uo2R~q+BgqD#900000 LNkvXXu0mjfgHHM- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_1.png new file mode 100644 index 0000000000000000000000000000000000000000..959a89d656cbccf3d132f2f552834f5cdface08d GIT binary patch literal 610 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V3P54aSW-L z^LFN0ufq-^t^U4UVJ!=~gECaLk527qYSKu$Udz5xKkTdHE2jWKtw&yGjyX(xbSOyR za?+t49i98RAF}x``QCgfbJoc@KdpSMCNrIg@a}dCvfs5+*W=agNv9$MZm;Ni_1k>= zqF*J9YrPa!#fxwA7r*dk>Wa7i0nz6fwHjm_dbtwV6BaYwV7#${p^U){By{!$x4_z^ zj0f)C7G3-NJ>RWGJgrS@xRdRfLKv(WW^WW%xFx^;GFjk>T5j(mJJD|9#$ls?T>kU9{!q z83FE&ISl^}d;jU?X9u#rooIUhRnYPy%S-z`3Nm~QHShi$pLozo=fMh=JMV92vg>bK zZZ|c0s>0ihYRe;$haap-yb#BC`SXm9=M8D=TV6c*8@8j)=ueoRRn-1%f!vRhWBdR4 zusN_X)vTBIZ&@Cm&2XV~o0aEI^R1T|8RpDe&&XgFZWXIP&*XE_cY*b6jBC8Kq?7ej zzkc2#wWp@KR`>rGOY=WB>l{`KEx4(D@cXX~a`P`g|8?xdKkjFlEPuQ~p&>1LfbW1C z>jvfxfsAh$a!`d%Cb??}uUYCUeAf4H>Nt2lO Sy4L{{4TGnvpUXO@geCwR1qO8h literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cd1118ddeea1b0cd9c8503bfd802bdf355f8e249 GIT binary patch literal 1093 zcmV-L1iJf)P)Px&|4BqaRCt{2o6k!dK@`Wo>8^AmfyEp|)Dn8AxUa?!gzT^E?0o0V&b&7-IS|7r z&xMbYXZ)E{_lRkAEH z0whhpe(GcMDi0tJ?0|i1;FXrU4oSB-9&NMA1KU%b=$N>z3K9bF);F$i03b5=?WqpR z6)UPZ7eyr`1mJKBC|4{1tit`Spa)U{aKsm$&dLKs1>orD^GQeukT#jo-TD9#0kY&p zfUF-NYhDD%`T??Ll)hzyDLS z0BHfLwUk@b0(Sda5Ibzh7N{8cn4s5w&}GzGo+B-QY1s%~cL$%l?YDREwgB_iK;V0% z#E^ao2EG?M#C|gsUMv$0>DPE{td^(WYuEF z?SgdCDp28(eMmjCwsOY%{%plUqvsFIRxBpg?qN>Wp~>Y)IF$gH5d0J0UtS2Ywh~7B zY#TuK-k`L6vg`R-TY&T^@YwbI1`tvSh5%3I3^6|Kkg0csv;e8AH+)Thrym^Q809%K zR-i2)B5sQ!QHuv?3y7qJ#JD5$*q5g+w8aF|LSoO}0z^d9ADN(NlBZbXmqEJ#X`{rm z9R>b3UIfVc0kY;rfUF-NYes$;Bry~LJqM{cj?%k{D3{eZY5*h;71#EO!?f?K>ZkcTP9Q_=FfjJ1hJOmj?jRMo({r~`$ z4t&646Q71-MhO=xDx8Fd0K12|23A5|!G^tZ1|V7CU$`$BV@Uo2R~q+BgqD#900000 LNkvXXu0mjfgHHM- literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_3.png new file mode 100644 index 0000000000000000000000000000000000000000..d855fc21a019660fc08889448201cf28875d3782 GIT binary patch literal 622 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VAAk(aSW-L z^LD18x3Z%|+x;EV*J6bCD6zat&_3#Q#L3dJDLNuDO8eg`?W@0euWj^D)QE`aG!tLP zDR!#qPM^i$n2jksmVzInYm|S=alCo+CgonGM4ItrsS_^U+;Nxg#l~J&d7JF{SnJ2W zZ@yRd)tBmK`HL4^&~tffocOdkv4WwD!Az?`wxJg! zWc-!Mr8<+rz|U0KY)isQNtQ1XS|O@oB%ItjjVX{Q3*{(s|KcQW4LD3jmz)2VBAr+i!;IBokm zVTPyDk8+a57!rK@F6Z)RfBNueLtkeF?~lTme`4pW*k1mTiCN!Z%EquEnxT3A`PYB4 z&bPc?`P32EueSO;QoD~qIN=9^U?&JS@_|u8fIi-8P%T4MR`Ism0 zwBcUw_kT{8>VnFeA2;ui*livqw|?=b#OI9cZ<&Ar_sjfy$Gd-R|GzH1ToIIZV7V*n z2IdWcjBglnLKv(Wq(u+#9dJVtnyuy6qNNxW^WoiV@g<*&AHI2@`=#H{C3(g#$px4p dj~W?g?Vslz)3I!w5(rE{44$rjF6*2UngE!!6O;e| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_4.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_4.png new file mode 100644 index 0000000000000000000000000000000000000000..d76f5575e2f731c4c5f2b92cbfe7df67444fed01 GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U{dpRaSW-L z^LCcK_Y((+WAkU|1kQHtPIXkgt`Vjbt--Zv#-UT^7yMYM^Yjl-c=pEDf~MBq|5Dq9 zxm6X?jz}I;%8U8tck^*<#g|Y2R{5xH{(Pq2VD?Ov1LBG?Grs3l37xzn@@=+dS-yH( z*7d)YA|AhFC!73}4`6)5kQ2gS%^)p$fbW1C>jvfxfv7@Trm;1oq#x!lj?M4Azqihz z;y+7yp(sPccW2Z86BH)!F8oy9z?HzBu$buv9-YMH?9^(OrBcqklE!ME+P zE`Ro>Pru^kviy?S@N0F&6n|?rV4%mSx0|vtY?#Zuz52a(>(f5XesljMlj7$0=Wk77 zzi{Z*r2b3W`Y)9QvPA{n`j%R|{!aOyFfqkCYa6DhL*JH9I`+l#LGMAwIec?o>+@gh btYAHSzF%r*MXD|^`7n68`njxgN@xNAiiZkS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_5.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_5.png new file mode 100644 index 0000000000000000000000000000000000000000..aba7677a49d9790005b897a65ae1c8522d9164cb GIT binary patch literal 695 zcmV;o0!aOdP)Px%aY;l$RCt{2o3T#9P!xv$T884tU@(yAqUq!!iE(g{!O3?peKPbNn01rHpfOA& z3`&9tlg7jd0|tlMT0w<)d(MAj`%PA9&h6*D7tXl{2V`7-dz!qi?p4q_o?^f0EOmeX z>|(hW{y@Rx<}|48RlZy|$|C@tT70^IMtKCk=Aqjj!>@TrK76A*LNF|f#y6TiX|Qo} zI9>dzpD|qmD<(Hf5iW!IpCzzTKs4>6U^EdYS{CTP6?X>tMV z0kFvhum`{<7r-6>o6HL^PKHdAnfudoqcJ#+*&~R~0O>>~4a5X!Br<6rCSW#^u~mfV z5=bU8(n-x<5if~FWv$ln=Uy3=zq;+Qbohmc3rPOwyX`URokAG4GXYS5(OXCgs1`+o zVG-`#Lwx;KTGb5yEouV7>0ZQJX%+6{E7p%nTA_bM?UP_w^0p5(0pD$SgC6}@f|mXwuLr2j0Ket|O~8G81pv7I_Vve~ zsGEW65@?i12xj^L*r+8#KsXCpm|B$#d} z6^I%pG^@pQ0fSxvgP8}`>?NQJsBTT>ewV2kaCN}#9H9$f_X*Gi^m|X#qjI_ccAo%W dK*$X%@H_Ra#!`6h%vJyZ002ovPDHLkV1j_8HwOR! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/green.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..c048e1f09cc1a4e4ad995b71431b06d831ff053b GIT binary patch literal 613 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V3PNAaSW-L z^LEx*ufq-^t^Tt_)^a$CFI^yH-lZ+b&9$f__BY=m{je{NC5jP(T91y+&*2f#jE&$* zit_2`o)B@-=_6a;jNiFdzQ%Kn;}7#1_cq!$?c5~Ox;eODT3W#R9~L>&kG*;>J702A zA@`(n{~1LO@Evet-N3vdkns&eP6&fFgEXp;OLith0pGVph3CAl{g`*V_2;Ly5C1MQ zG-ybz{_VlzY}R@wo>8kowxO3Rfjwa{(+$QOD;UZc%ut0ozB8YhntHLxZb!91>V$Xf z5sU6IJTrg3B;L_gXF=S@%_kh4brSBlN4kAf;Z;!i?izr@MJM+%d`$BAwdbEw)+TnA zmTIY;`Do{4e2%>EQvq+@wpQ`}g3zMjIC+KRc~e~7>TE^y0kO(W;| zw@O&^_=hu_d{YLZIqTS7 zRtmi^eXt?csp4Oy_8p7&_1WseYwt$Q`2ILq*L?Pi62^JAd$}JT^%Z4^`c`I~xm~?{ zHbX=AX)T6??6o(G9xs}C^{(@u_XTWgxPQlcTV2jRAaMQ1oHGT#mw%u6k4f8@=pY&pgaLxX=Gd#7-BlZKf&rzhC_GvP@FUq8yBOd9UAk?PHbP-RJS&pPxv) zofiG$r*Hs+?gCBRnu2jlr~R>8@So}b93(5yRm-1yCREqhs8t8_7=x#)pUXO@geCyV C;$wpV literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..90fd5808ff98aa21063e7b9f1c45698511b03d9c GIT binary patch literal 792 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 O0000VAA$#;u*ho`xJ`S z)cl>X%3kjLimIIrY3fhx9=zz$n$A6=Z%6)wr+r^um>ytR!Mwtd@fAasPlHv1l<)$+ z1;;=_H!B#wB)zzNTl`8@-TTw!S+@M`+V_7*CNN!Lyppqr;g^cX{Yyg5+!FItLjFpd zF>vZWcs*wq*Qtf9Uz)#`TAZEs)NKDl#k12sNZ;#yf0gr>iUh0Oq67NU)jyvE{*2iZ zo}>M(lWD$fPU;1wn)631<|&<>W)ZvdgROYxwj&CW2foKJ9H^N0sAQ{LeBQrLX966# zcl>|D_|4u%U;544+*nC->%^NG<-2?5Hj9<33z?FPx(0!c(cRCt{2n@wvPQ51$>OBpo_6KV_ut(zo7$fngHt3t>xC=^nXw7($TW}iQh zbr)H;CA1)fZVMrhRT$j~BWV!KNERwo#m~)jp?5MfI7M^kI;ZLb;+=8y&VA?Hk8|$P z2V(5R!}>VaUlpr9p8B5ieA#Vw;$i*M>lb5v=c-ucs*{uej5i;nMp;!lNXP-GN@w`R z7q?t>krBXd`l`}FMeRS`YgJsm&&2)o_^d_(MwvB!IT1F_nagfLLIC#kAIg0*XXd_~ z2qPf}jD|B&+=PSx3}yidx&K~KtCp@H0#X7n%mbdt#sfqJV2J4Rc1Q@|w3re7^Z_CQ zc*$G<^p(q170)p0&w}#0Py|o#z_AAaw3e1T18rG;i25&_T$|`s0El8GHiKk zN7r?(7casDusbr2{=CPyE`Zr{GdnWO0+`1~1=j^IFJFiG^k$!*0^AWHCx?ZFvFv@H zngwtRkiF3y&RgH9!YzPOA8jP2_T(Ad0&Gb=1Oxt|pS3$(qb#ol(e8AS>q(@<;2s2X zJ;^A?LqSWK3A4GfWV~-lJ>Du^#g$ngxg7%l1pSh6oYq>FYgku#^>PIOu%C+ZuVP%l z6#*)070K-wQhO03w_`Z_bq}C#1-YJN2ve-L(e6&61*EkWvNswsKgyO_!8}FEAs>{w zj-X${$-#yj)w%+=0Oy%f>O50QDRmwBat%sd$9bld0)S?r0RYICYdAbw2LPn@B4`#G zkV7PVA%1TVK+@@h)7@Bx_5BZPOZa;C$0+B^H5^}RK3<2$=c6Gc&=-QeEXVt)sD8Q| z)7kN$48VJDkXt_9{d})2fO{b{?tVT1ok}nSn6NW+{iVcPo$GK5;IwW_}tZF%<#*rSWPcfOoM4BbQ(l-e25uwSi<8Fnf-o zEr_H5PRY_DASD3v6rGZ#r#4-lVfGY<#S%oM&XW1Z2r#gK*aCoo70A)q`O6HWSa0Lo z=iiodB6AGL3Gnl-4PbJC6H)@KMgm5@fjPHel>CFILTV7)l6sb00-)b`d)@)VoSX1e zNC?1k1z7HYJ?$o~wT9*(xB&?P80~Hk#d?1X2>K=DdXn+P&wkxoauD2_63L7KCkGp7 z78+3MEz8#Vav}^2vQ4r#8k&VgV;kNLNLYXz@}XI1Ahj0(0305zBVVooc+4>vmV?0Z z5O^Tr4W91C^v%ekC4YdG<&Y1@m)gG?nw`KcipQQmFc=sea}I3hpUhu)Xaw$@RPZDK O0000VDj>GaSW-L z^LD0Vwy>i_+x?C+Y1+>cq#T8qVj#fKrgxNfi|6%+`yvdy3ap8^K)7h#8 z%_|~TOcU^sZdt~-a*OA;O>$0cLato-A9|lu`&rNYyXn1+WLdeIWXDaN=fTVB_FJDY z_-a1$QRRn64`o*YxeH!BWeU6g>5ljt*}$hojOp!n^iLEySAAtYz_NmQg(2fBhAf{3 zs|G3I1$+yRfrKKf7{4UFcsrT>N>$zSzvfxC{XF6Oz8Hg*gXDZC+`A;?%$-qdweXev zW=4+;#`))0E?*!MbzqnGpTZfue?AtN{L8KmT#(~jAH2+H*K_BV#$V>Pvn1zSiD#+}zuJE;h$DRk+{+Q<=Zs#g3}0&#xwZ`TB*OVS(V+)eIZn zP15j_kqSJ&eR-|EyyznRNaBj7mXUASi*Sb@xBW&H*}s~u5Q)Y=B-`# q{(+UvZRU~=+waSW-L z^LDnQx3r@~+kIW5*@0&c&S+B6snFn<=i{Kk@`sak;nMa$%=K;mojyEMj1buK{Q}!w z5A!dZE+{Fk;ACB_(4}_M+vbR@%Gym&wf9`AIiIP%IsVz)_S8c>(){`@TNTV>PNZ*$ zn{(_>5TCfcUhvi08}{E+9`BnZ@}GYNLm7jaR)cIqFINJ4!eXWyj5kn)ly7-6A9%Oh z{IJP))#^Wczsc5>{{B%_^^);G!HiXZJZ=2VT085RLKv(Wq(u+#9dKjaz`P-l@eM-` zs*vD(_BE`Q7u)`wKG~|#{KY20D}*;8Io0o%Xvh(!XVZ)RE3xx#Y}m4X)1DBuI>8W3 z1Hfjg#Wnn}aqznJoqL|se|-fPkYzI~7#|5MYCcll`ZqbyGS=bo3SZgzdJk@IePe2= zS;BZ)t?atlObUIFI1D6zmMZqPrruQ21$9xYyYmvr|4GwWn6S)$G^Dx28HbZ z760!$iGQdNx+d?tX-iaz@V0%9BGTWNs2KUJuimgvu-{)iV5JxX!_uotX=3StE5!;T z@|h(5I!(F%oRJ|g2Ph|S^w{0`UpyDAXJogQWjJu{x$zqD<$~LKWPx%h)G02RCt{2o4;$@KorNn4#iQH4v{+)1#bm`rzE0NAQZB9YNl)%z2$ETv~&n9 z{TDnLMO)!$>1NZR(vl%jytspXLU!;Ee7g5NkUop8AIE$8>Q1`%?x_Vb=UsnV-tHeC z;_NEG;C8%K`^)dYTPF5jnKZ6~{_)|$b|>^j?b8M5gg(N^gNk#6k@wnuG z!$8gc>)-M*+w57lumj~`V0%b7DS*E7dU)6rfj$J*k*W*|cAo=I_JA_Bp99VdV4Fq& zwgYS$0oV?(X#`+9z^3*B7|#U1etb9GeAa3{efwn;&!c75+-eVyj_r5Bng9}kOchuY zAXOPuoG(OnE@E{Elmi)w+C8h_UZJOigVlMH)36Y@|{<4j$}9j03^fN zz7Mt?*nnt4Bvl!H{CO(2-@ftIoGpXcL`ZjcebE=e9(wJGl=+p239y{fhTngH9b{n>^lz}@JPWqJYHy1Duj>-r|AO357Q!5 z4glTP84v|)T2u@D8PID_a1qSh(6s}S*%yeoP=fgKbNn|@^l>GC;$Ke07*qoM6N<$f|)@` ArT_o{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..94861fc166b0e616ca5d626572ee1840d5ede397 GIT binary patch literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U{d#VaSW-L z^LF;Zu3G^jZU3iCnlWve^WxS;EL^f~GeSdSIPIJg7sQIpUr=k9>G*;7)>@NyEZyA; zCoSYI4P2dkv4WwD!3L?H9KAUQEI>V znh(Wd4_}ugG8`zIz4CV;k8{|eoA((}wO}*lJM*o1+EEwke;SIXPI$*|Bl4B)!^f}2 zFZ}}qxi!M>+7w+7;6Cw7>-5T^Z<80`a8L0!rX#-@gEsApFW~vRzd=Cs0N;UUZ&*9Z zTb6Wezw%2suzXj;Lxlx>{^B2UHLHF7xMCd+-?Tk;IAgBNW^S=V8N9m_WNoG|)0UZU z$63|Kdw%2OL+j?ntIYqn^G8HY@ADfwd;P@|qScn27D(K3EF<~QHlLP@QhO6vZyPZ( zTu$w{n0DPyeEvS;f1N^>bP0l+XkKMv5Kt literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/orange.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee2ee1e838c2b86890a4964aba8fe6ed3f2603e GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|u6w#ThE&XX zdwXNUq9(S@&6v{0A`TTG3mIIHU z?^XXi{p5%G1q@LR!3??!G#kV&h&XU(a4ldpVZFdKiz$Qg>ZfRJCTO%&%>o1uuzyE#tJ5%zopr0RN?IJ^%m! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..447f822acd3e8e3a19d20ff8e3309c10567555bd GIT binary patch literal 810 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 G&;$T@vmapq literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..25c3d57d13096bb377080027399a65935c6065b1 GIT binary patch literal 1136 zcmV-$1dscPP)Px(DoI2^RCt{2n?Xn$K^TQ!ieN|xC2<2eSsO_VrNOp|;=!ZXmIg`=UcHrGl#0jp ztmlf}y!Bepi-k7z7%+v1220U|EXGs7H9^XT6bk8KoppA}ig9M$smTYyNwVwgy!~fq z{+SmS1S8cy((2^+tv^RDmiqcwPUcOjf28&L(aVm`+1fi|s#7Qd2(RAn>*d3I6S1Tl zhxumvgZJ3#5=H=X=pW{rC}$=B0Oib8XXcpdy~lJmXNJ5%y-XTEJbl?fy37k91R!_+ zSUm**J=}+Ic3PWj}quw|ZN(|vsQQ&{0CxFuz;50n}oW203 z>H1+%h@lA3rp80wAVwb~buYnnc(eDBsSQGQ0XlQEJA#B1z{)Ib2SN!zGDR!1^qsZK z6X;B_-CBYj)>&bGF#>22FnUprCEbW6_q*pOGlYg(!{-l!hR=*112b&hLO21wSAGDv zy@eB@1Q_xLb-w}aEx6Kuz-T%V>LKX&3>drwfYx}k?|?vi6K;wS0uZkN@eY`6H-$>R ztp|YzLI^;p{#MXXwU`e1B-9&c`W@d`??XIYL}Gp$@pO^fkSL4*iwk~)d=g5EY}h)d zCqJ|Y!R$b}DMAPkk-|`SQb^2i0{~{0P9Rsc5GNjkb{+)cLtsIuQDFJ)UjV@F>J&VDj^HaSW-L z^LFNWZ)rz~w)-NEGgMiw>pn|!4AAhXU(znJN5o|U%aQ*F??q*-Z;bQK*VXv);AVEU zr~bkRt}9l|cB#5FDPphMY}Iz2FI#M<_?YT0{lI$PW8ZU=$v5-A&uu^1Hgk!?GK-xP zJYJo)_Y0czi_`O?LB#IeTC4Q0`?-8AVJz1Ey-E5?%F`0YUazWY2IdWcjBglnKti)OiYwgmW+8fpm z|CS@}Q7K25_SMZ1ziMBp?5p6c^B{V+Wsi)>5vFBlwq&!bJ-(HD`)_)Eh`@dp=E;sZ z$}DQkkAK$pNS}AVT_$+@MDO-o@nfI=SN$zj7AvR}x>>^T_-90neW~!dWz0v+inN#N zAO2=_Vj1(x$45I@MZ8KG4m|p$x#xH)koo4_8HOKUxhGctlVlLM&CwbpyRrAq*T05p zNsRO3?z1!0+?eOEc#`{$op01`{ti0wd;0$U-yc5Pl>PqQnV6TGf$r%)-@oDN&C|A@ zryuIRCaD*de&f}frwj?JEMvJ$TswHC9o$fMiDye&%I@? V=qUxGa9}cH@O1TaS?83{1OS&vCawSg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_4.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_4.png new file mode 100644 index 0000000000000000000000000000000000000000..03f5b75aed8a5d93bdf0fa8a1f782cf5aac42225 GIT binary patch literal 693 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>V9NJ&aSW-L z^LEzxY+*-^h34rE%PxHD|FGgQrT7}sjX-->t(d&u!o=0`(GtD>OKWEKAn^A9_e@xAsxUmjYX`*5D}OLIldfARs0Zy0hy7_1qjMGx>DaAV!Tyde-( zXv;LVhL@YoqwmICk9({i_I%^c;KOI0oAWVjiHe>2zWecsHi6&j4p=mz3Vp0Q5OID% zhU5Q~^2jNUyW|TZLU-eck!4ncyvjto66mdS3ti z_G^EuUc!5YOP=z_z8aY96ymj*`voXn6?Dt!jUV&NCHn8?>nTjvXJ%+q3x5zd!%;8( z*yrEwj5Yt;Pu!_sW8lbbh}qY3f$iegw`QE}N6H0?vT`4N`~56>kDh9Qip0_5pCtF( zieqAs`CTO1FVA-4?=Mb<1hdT%|2MEPRBXS~f8>>_&5CpPCVl}rQ+)O38CfDm*Y|cG zU3-gdTb4A4$8aI~rFNUykC%IDYfkrw$A`pq{TAOZYscW$@>SK-u$J$K<8uWs+5K;A e-{%N_Px%mPtfGRCt{2o4;xsK@i42g%sja82?f2fWTa1Y&ln`aFa%jtGq)}7>sf42QcZB zJ`W)bHiq*H$Z)X*0&__a*tOiaa8N3{INxQ3BFT7f=3BV?Rl1dynfo-m+|15ZKxS`g z`_a7KSPigq*u&}3=8NWkx%yVIvH#X)avp4~24mOtRu@23%|2a#daDaRs3ML=@PjJM zo3FRJ7=%qx`&QwT2j3e9kMn;u9or@F#%8h<$ugMyEP;~(q+y>f4@nW|d%!FbA!PRf zCnLZ_dJ}YB0BK4A*bcBM1zE3-HV(%kUEwZN{jc;w51K O0000VDj>GaSW-L z^LEzx?8^xfsw7s<%?bF!W|wsD`6YAD{U@K-dffl8ulKn9p;Jfx zJjgOQyH?vYZQ6Fr8xc~g-+g?ieZJ^!@w7+(8Py$R9eRZq@GUsT8NeR!m}Ld?ibAF< zj8`leUom9OVJKxVUAEKYz^k{mvd-XuG^!K&PCnSj(Y~C~1oli22@$tS> zMPlXgQNlMg{wTb_Vd$(w+y?$_Yu>-!-0+r_@$oFThwm9c_V_+zox$#?{Y-UhZ1m2U z1NUyt`N(6|Si~6rc-og=MU0yhMH?*M@_ujqCsKGz`O9)Y+p?x}%U=Hat6d?7kvA-f4}z3V_V;RskMh|57;%FVl}xXm>KcZH@#Re;oF9& z^S8vK#9trya3gp{dTFJt?V104&krV!Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/pink.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0d70d52c8949214c693a97fdfebb11d75a65b1 GIT binary patch literal 285 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|u6w#ThE&XX zdwXN0`8I8Yx z?^ORh{p5%G1q@LR!3??!G#kV&h&XU(a4ldpVZFdKiz$Qg>ZfRJCTO%&%>o1uuzyE#tJ5%Px%KCijoRZ@&qVFgp>*i zr2szwqM|?)Zjh*W0t!N!NO5CJ$Z{G_u~@PKn~|Nunepthj#++`h9j*!Klk2q=FZOE zae@#Qvh)4$*i+(L>wCiN+hOuzs`#Azkfm>mu%m2tzqEC`c5y?YoT7Gd6N^Xr6v`<* z_VLs79Xl-`och|u4F}cSpi_;-9rUTf#%ePlWFb4RvtXG%uWU!R75T<$Q;(VLQHZkF z3kh*(0c!QP(g)D#R?4FSje;rM^i?qxhvJOPfJ)avH5c597zq2Sn2{L>!+hZ$LLTKi z>Lrd8pm3i(ABS-yMTKg!{@}fqZ}!~tXz-z7@59i z%&`JS6{EQ1QN`$=0#v0MRgB`4<59&(aYPC*D^*kpj#G}!wkbSZ4FgxQTj}eOLOI25 zx&1^}vf=)RGoXu*x*%k&_pylLqSgBe42#j7OQ|vlr|Pi?uUsJ@;Fax=kr`~uMoKv} zvLY|f$ez5{yt0u!iD!EOF@cvbBQv~By#vs{wq=ucrnHUO_G}N&_9Exf&Xg8r#>~h} zK%@n*G*{{a%)FTeKv*JR)R1*H*E#?=$-&mBzS%bC8nPaUp<*fy#Tm$*|J$eIUxPIW z=1Gqab{-)GTgN^-YaI$@-#Fg`l7niF&9$bU+dB4j78A(sbvL2X=@^yPI!V)-1hrRX5pa8e$a(I$wXS)T! ze#J+02Y=5FPx1hqUtKN=OCY*!ge5q?x?D7$@SN!@x^4C=gRJaqw>Uh>>qRC2R&vXI z_w_WjUq1jSOcZt7?YW#b&lY(AR&vW<)!v&i3ll{|x6NtuEMXe=ff7(!$u0N)z9c2% oA=Ed=!*hZD(p;$@j<1~l00<*=Xl&2#cK`qY07*qoM6N<$f|e|MzW@LL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/meta.json b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/meta.json new file mode 100644 index 00000000000..b566b964ad8 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/meta.json @@ -0,0 +1,163 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/blob/HEAD/icons/obj/structures.dmi", + "states": [ + { + "name": "full", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "state_0", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_1", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_2", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_3", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_4", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_5", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_6", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_7", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_0.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_0.png new file mode 100644 index 0000000000000000000000000000000000000000..dbeb97157481ea2cc8e7228685367e9831a7e71e GIT binary patch literal 1143 zcmV--1c>{IP)Px(F-b&0RCt{2n@>yQKp4iKh8Vl7Tgz?)-4X3jR1brubtiEuxz*+<%f=}aMi1D9W9tiRrAWU@f&NV_ZwRlg%kqNyMIS) z0PxIxW6eY+7xxk6 zunQTwy!GQa4%dg5&;;;1GC}@))Cd=V_1suThFSpi_+&x20POO0kWbJ0{4&5D5ejlx zXc)`A^S%Brn+0%>#04Wi)JW9q{sz!}w=2 z{m9uyix3NFkUI8D32c2$VZW5{erKmhy{p4gENBxN_SUCFR4W8-0V-G3mC99h#ZoL- zH!WC-h00ZR1ptnY(*OYLriFuj*D7|ln>ad7L+|RmRSQ9cN0trxqhRFEY2VMhSw!v6 zFRyIfv~Xgc#-d&ah$PE=`nFf+v(Ej3DGMOWE}o+H2D#YP3XUwn z5MX4^kjv*UGrZLahg*Qar#I!^Hw}(ZmQzd8SV3q35w^^VBwIWnw17xZNQ^o{!w#Nd z5n4jj;exUqIB11&I0rqUP04gHlXI zfV(uFR5dK9X)l-HDU|9zx!NFQ7hpZduq{YR0fLgH!$2wlsHYf|Ed65BnOq#ZxmM_}%t$p006d>YB9#D>s^;Yz z5YnGpFbFpP;JHXO2qsCgFP8vt8}H9Mps=|K&qWFWXs!Uw9q^~!G)R454uS}z>H_v( z8y))^P~3*LNgE4l8Wypz^~1(avE$_+xKm>N(Q`hA6czvgd+SrsCNx-z)%WO}UHq^) z2>uL|=OTpwdRNEMaT+_@O#r~bz76ZfeSMbZ7!1lmpm_*9NU;tm7U~=+waSW-L z^LD0Tc5t9X+x(ckzCcCIs<}=AZzefRzsC2EN!@Y6u9AXR`U2|Vju-A<2<*-PZ;~>k%6eDLTjccbL#H~Xk#a`C>@b5MIORa=?jLjJdds{^|H>h|se3<#a_OiyY^m!It`Zf9U z4C*$8=ql{xoGI+|6yjj1b?Ax`*|DN`$t7( z85VzONwi^E#{U2LnSjK3{r&ICSLRQv_>jVK;B)%lm1WN#^h{sB&Vi+WyZaUMUuB=e@$_p+>zQott9lC0 zI{x-HgQsq0?``d?Q^g!M*VolPf9BSG`SY&INZT{U3^z82Jg>aB?aKMfc^m$|{#gEd z(d(TL_s?a2lOwx%cl_e#yZ?N6`K11@jrrdRb5=`kn1BdB#|Ep0Sqcua4!)oOQ-cTd z%%hzbd?MDbdpbSo_}YrnqOuSAZ%XgaJhtJBu>xEXT3o=*I_n=`G;vYIxu9>rq{ZOr L>gTe~DWM4fJt!mN literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..dbeb97157481ea2cc8e7228685367e9831a7e71e GIT binary patch literal 1143 zcmV--1c>{IP)Px(F-b&0RCt{2n@>yQKp4iKh8Vl7Tgz?)-4X3jR1brubtiEuxz*+<%f=}aMi1D9W9tiRrAWU@f&NV_ZwRlg%kqNyMIS) z0PxIxW6eY+7xxk6 zunQTwy!GQa4%dg5&;;;1GC}@))Cd=V_1suThFSpi_+&x20POO0kWbJ0{4&5D5ejlx zXc)`A^S%Brn+0%>#04Wi)JW9q{sz!}w=2 z{m9uyix3NFkUI8D32c2$VZW5{erKmhy{p4gENBxN_SUCFR4W8-0V-G3mC99h#ZoL- zH!WC-h00ZR1ptnY(*OYLriFuj*D7|ln>ad7L+|RmRSQ9cN0trxqhRFEY2VMhSw!v6 zFRyIfv~Xgc#-d&ah$PE=`nFf+v(Ej3DGMOWE}o+H2D#YP3XUwn z5MX4^kjv*UGrZLahg*Qar#I!^Hw}(ZmQzd8SV3q35w^^VBwIWnw17xZNQ^o{!w#Nd z5n4jj;exUqIB11&I0rqUP04gHlXI zfV(uFR5dK9X)l-HDU|9zx!NFQ7hpZduq{YR0fLgH!$2wlsHYf|Ed65BnOq#ZxmM_}%t$p006d>YB9#D>s^;Yz z5YnGpFbFpP;JHXO2qsCgFP8vt8}H9Mps=|K&qWFWXs!Uw9q^~!G)R454uS}z>H_v( z8y))^P~3*LNgE4l8Wypz^~1(avE$_+xKm>N(Q`hA6czvgd+SrsCNx-z)%WO}UHq^) z2>uL|=OTpwdRNEMaT+_@O#r~bz76ZfeSMbZ7!1lmpm_*9NU;tm7U<&edaSW-L z^LD0Tc2uB5TfF}9;NTVaHoB?^h_~u^%2<_a$Xa#A%5>W=V5xUu`pLO4_7+d>How2@ zdb3m~@P&G)s$AGI=MInO(+6(__OJzeJ)FF!>;7ih^MBt}ovE?#{G~NAD-mm!m z_<|=@DQnJSd+HMzQs3YlXdCOW_?r0D_qnH!E$6;*SD)kl1))&(Ll>XRi5}oP;KsUv zc|#!M8-|<^25SaskWkt~){b+R7y|V73C(?OU-Mhz)C8}S%Qk$_b^xi3tYCa3t@v`P znDj@z51T&3Y~il?_pfyqcSrbv$^yMwR?&?O7up|BXMKGA=feN#)nNkloU;xbkYpE@ zNXdQYSAXriZJFHZF`I(ij20ba z&AH{(F0LFm**e-jAeU+OR}P1kAl2sU`EpEY4Q^}uf$S{df@2TgUK6;Q#`56V&!AKV z*|;+y=a_8ovofrip_Fs$(d(;%3=6h|9J~2cb55aW^%e170{!x~2X`<2{&_F=mm2Z4 zkIx;u{PgR$^{?k2Fuh>)GKaxo2LJ7I7F+s`zYVV+JPm)$ek|#z$mHG4{}b2$_B3g4jb}tvh(+%oM(?1R V%A7ZOF94GogQu&X%Q~loCIA$-BE|p! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_4.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_4.png new file mode 100644 index 0000000000000000000000000000000000000000..644a3b2960ee734323b1a67ec6ce93fb5df9d6b1 GIT binary patch literal 666 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U<&bcaSW-L z^LCbfwuqy|vH7vjj%_Z;_x>uNm|n=9`Dyuv5bf6!CKoJy!rbx1n1%JEy2nJd>n?wI zrd_`ir7`0fpVL3Fz+>KtJcrk|zEhi{7E{6Oe`4SMtmkRZpUsp%eBg{`kH?za) zYd*&-^>07^UdzA#52xMRI!*=!-{VHE^}!X4k6Z(~zId$t8+Oe;_JEi5qHq4<1rl;Wzn61&)XuS={lTP9{ulS@ zaMoHulZB1Od}<~gIZx;RIuZ7uUGChDJ@@!+m7;&X|2@4`@4*{|oRdnMMEB(Jeqy{m zsnu9-zUIuHgD3fKOcMRB|Ib7%HUF`v)pnBupAOAGcqRRG#ZRpkW4_beVqb3>J)6eH z(7^wG(I3mzyYK(e_`OB#jQ+CF>}9q0nHhX$NadVN`usec!QpQiGrRlmf@4pguF?Bu z`0n1$_N`}2FG{@VPPqU5!cDIg@lq$uQ5oo5IHMDCPx%Wl2OqRCt{2o3T#9P!xuL8bX-RK}SLY4$R8n>N}u=Gf!X~cmxJQd;sER2W52f z8PJ(QCq}x!L6Y$edSBKjX*Md=1^s1h?(u zKaKZ4o^m$v^EQK%pqj639JiWd07bR0Ek}%ofklw zOaS%-*kl5*C%`5XfIR^=sTaW74B48QhxbRTIplJ7ry!aE(ncl;#01bVGD#pNz;`3# zst}?}AZ}!&P0fE1FNvA5R<|>WJ~QR7(QqyuelOwz#Q*uxaE_i|0#E>a04U(1BRzxP zQ7wx02W14_M|6C&I?@ck6SW&5lkVoE50{5nu9jNie?(1yu;lF?>KPCx@6opzKN0lEO}J^{J_v&EFURZbUx-6ud7V9gsV@E17O%RkM= RSEm2~002ovPDHLkV1fhyFC72? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..df9e48cb18eff8a6db1adb9a9b987f4cc81e18b8 GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U~=(vaSW-L z^LCbhwy>j2+kBnbhFU7F*Ml{hK2C7ZUu#?ORaj)n*9pzb>zF=12^IMIK>dS;;|2an z&cgg$XH^+Ji;db%0@j?~@G(G0I79IV_nxF@J5#=$Pq|k)poWRJFP$eQ|bp@c7vHZp?|%KEThG*)v@3;K$v9(^9sZF z>^al7`*8pIb}~Ge?RA|)&MMw3T&AzXJq)=m?z~^G)XuZHAvHdAXP5i>wVXL?{;EiT zv~gl_-d6F1IG)J+*Ps6rzRk^a%(i!{JR{iMK#6%QYa_N_k;>0`dzy7mw#ZT-#j|+f zmfD>SD&7nqX3n46y;x#?6v>FKiTd+y)L>HKK*>vJA3aWQzh`njxgN@xNA Dw?Z61 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/purple.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..16a52aabbad3c1513f4bca3dd9a37b75db1b6af3 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|&Um^whE&XX zdwXNAlc4}ZV0~2MG=+v=3J;>1qU>CAK9m?tUT-RAxiKX_`^3KYi+|pJX%zL~I)d69D;FcT83Nt?2lT9|E&Kkk*q*hZFg5qsLtf!bP=Gx7(8A5T-G@yGywqG CCu6Sw literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/full.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..73c4166f58f85445825b6011647bbb0a5c085751 GIT binary patch literal 779 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8ef92fce0079ef3e3d99205fbc1360c220525205 GIT binary patch literal 650 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U~=(vaSW-L z^LCbhwy>i_`}~`}+fI5GO}KUCh62ae6}lpOzH5i9VPC(u;@g|RKMZ0voUa`1UG)}S z_%h2WFzNC#QG18O+irinpmx`Rdtv^E^s_e8&-{~oX3qaUZ$_f*e-7`hnekd;JL*dg zoq8oR-|nBx%KKI6_al$>>dgJm-o#MKVCvXl)i6uJLDs=nU;*C(HI4xG0AZFD%quvV zt}tGiaqSXA_Et&zQ?-9h>sCu#w6=N{{d_v}hq@*2razjK%OxDoh*v)g<12=&Grt*u z&bZw4@AbJx&E``31qrWsZFW3!O%dC$$;!M>#^~RzX*W{$+fa4}5s?d1_(kll}vr9!q`hR-L!! z2HS(5udAKkuI-h}zhBRuG|zUe@%{*=gzUw~PoJ0l{NwTJrP`aqW`6`4dOA|q&MI*Q z@AKndO%_L4)bi{)F8Nkv*~jGbChV20Te<{+!W*kMFa+$cU41h@JU!oxQL1{sIKvL> z+fUvswOm)vU&+eA-}~2GckWaDgEF({_^aLD_o5=_52JK!{rSfa=l=jEE(T9mKbLh* G2~7ZJXd@c{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/red.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..7e414b9387b8973492b90d672865cb4b6a23a8d2 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|&Um^whE&XX zd;8!@Cqog2i#EFhF8tb}wDvrI)UnMSyDe(w-n?%hxrtNdw$!Hgzcc=oS@w!m{Mozx zPx%&q+ii57C%&K0YTo%j+6qn2JD`~)HvDGa6)As@r$O7V(- zL9Vp4cT109A%$3GtHszEv2w4;jI*wj+}=DF%A$N$w&wKQllYml(**3&-`+e^ zZS|-Mcmk@TP=4+61PsphGekO_j;=!4bgI>ATCTQwFm_fj4)&j!!g;_|Xkuo}AP6!f%K+VO zHw9QBw;i^%m^Rgm|8ZloBCc|Am-$cz*Ac z^7miN@115=7=~d+=kgUoAf?3fJa%SYealL@c6`ap^)3JlcSj^i0>IkwB>>H4b5lx5 zk|aneX*Qdi=40zj-y}&`xH|&i<$9O3<4e8B5EhxdS65d6G#U*p3n8f2>zldS zy#Y}a{Z@N##%weiBuPTOUN4!(DX;--L{XHE56On{V2#arTbCJkyWP}|ubln>BcypS T&8Hv600000NkvXXu0mjfgKT_( literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/meta.json b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/meta.json new file mode 100644 index 00000000000..b566b964ad8 --- /dev/null +++ b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/meta.json @@ -0,0 +1,163 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/tgstation/tgstation/blob/HEAD/icons/obj/structures.dmi", + "states": [ + { + "name": "full", + "delays": [ + [ + 1 + ] + ] + }, + { + "name": "state_0", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_1", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_2", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_3", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_4", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_5", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_6", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + }, + { + "name": "state_7", + "directions": 4, + "delays": [ + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ], + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_0.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_0.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5db352b38f611be6e015ad60b0ae4e5040d978 GIT binary patch literal 1102 zcmV-U1hM;xP)Px(2uVaiRCt{2Tfa{tK^T3USCC^nG**iZF{qo6IVri`_!k&Mv4uoBW5PdSVso7a z3lfRB($d~7xtnZ4VT=`9Z4NszRPGfxg4lzsXly_sjLd$=n*eJv9@fLC^DeIg`nZlo>G_8yo!7G)>tiV?`{h!1K*90KhN|e(pHV$USVR?Ck6S z0GiFF{4OR2#F7`tRa@vbDp)I}@!TGuyEV-2WHK30N_nUI8cu?-Sb*a=$R1we%a30p ztAe;h5<);Jg<%-jUvb9$Od^mbz_#sO+qQQprSN?plv3EXy$b-_r?&tA-}kZhcme=; zyFbA8=`9F}O7+Yaad>3kqrPxm_ct5+dwYAhySw9M-}g~07E`hgO)8~@Qwd;51Up8~ zo6Tn6x^BSE-^&1!_Xefulg;NRZ2{7&z_j^%0D&&S5MWNu5W_3El5H+_%q1kof+Mfw z3Ktg_06vC7(nCO5KtwEyF#_G<0m=d*Q6Vwr2u(YAs)DkZU{px#(_4TD(exK4C>q8* za{Mw-PC!(SUzfeW!l%ZT1SI_cNn=Ss(hra{7JeDjVkrWKTVu8v*Y7y*VBP%f7NyjuZ1TAaVk zF!cL<^f!O+2)>0ahl2pja&aucLqF@QCUW)(^Z-jFFmy(Dj+|4|shC U3K;^y^Z)<=07*qoM6N<$f-e^8Y5)KL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_1.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_1.png new file mode 100644 index 0000000000000000000000000000000000000000..087458ce7ecd5032d203d8584192770a353025a5 GIT binary patch literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VAA(=aSW-L z^LCbD_H74=w)ok6jk|TVZazA=Y{^lHD`_Ry&dGY8c%Zt(-l2Zsg@YF?Q$7lK)i;Uz zi{EApRz216->shWeVLoa6ldq6VN6~-%I zp=kYvINnX&GxN4<$4I@_{2x??77RoR)IB|T<4ir&rY0&7Bv)%4_Ve*1vzH>WwCC~L+UbpUC==#w2h37U- z&*h0~_%7!fsL;}2bN=C8cMitPS%<3m88o_>D(5j*-1zxh*_rjP;E#_#W%>BZH)yyq zG{oP(r@a6AxpjGg`~Gq;?D$#K_PpJiq2bLdv7e{;-#pFCVEny&dPX(B&vJ%_Zx^q# zzYTXk@a0{__a8EE_wKcSD{en=qHu=r1*S_Tt}@3ZdfoCF5_ZO%Tm3D^Y&P?X^S)}6 zD@`*u-Iw#dc*N_CX>iQ6r>4R8vkGG~J}v+7_3q>M-;$3@GutxF+a(VS!-W4|gfeF( zZH>D6|Mhg$t#da7DnFQigk=Tu3PVs>`7~HHNC_|CTW}0j=;zr>qMnnc{H>Ee{BXlP n>k6*2%_g0wVUHy`_A_SQohY_w%fk|2I%4p2^>bP0l+XkKk=_uO literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_2.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5db352b38f611be6e015ad60b0ae4e5040d978 GIT binary patch literal 1102 zcmV-U1hM;xP)Px(2uVaiRCt{2Tfa{tK^T3USCC^nG**iZF{qo6IVri`_!k&Mv4uoBW5PdSVso7a z3lfRB($d~7xtnZ4VT=`9Z4NszRPGfxg4lzsXly_sjLd$=n*eJv9@fLC^DeIg`nZlo>G_8yo!7G)>tiV?`{h!1K*90KhN|e(pHV$USVR?Ck6S z0GiFF{4OR2#F7`tRa@vbDp)I}@!TGuyEV-2WHK30N_nUI8cu?-Sb*a=$R1we%a30p ztAe;h5<);Jg<%-jUvb9$Od^mbz_#sO+qQQprSN?plv3EXy$b-_r?&tA-}kZhcme=; zyFbA8=`9F}O7+Yaad>3kqrPxm_ct5+dwYAhySw9M-}g~07E`hgO)8~@Qwd;51Up8~ zo6Tn6x^BSE-^&1!_Xefulg;NRZ2{7&z_j^%0D&&S5MWNu5W_3El5H+_%q1kof+Mfw z3Ktg_06vC7(nCO5KtwEyF#_G<0m=d*Q6Vwr2u(YAs)DkZU{px#(_4TD(exK4C>q8* za{Mw-PC!(SUzfeW!l%ZT1SI_cNn=Ss(hra{7JeDjVkrWKTVu8v*Y7y*VBP%f7NyjuZ1TAaVk zF!cL<^f!O+2)>0ahl2pja&aucLqF@QCUW)(^Z-jFFmy(Dj+|4|shC U3K;^y^Z)<=07*qoM6N<$f-e^8Y5)KL literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_3.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_3.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7fe74a930fd1300d7b860dc10060b255577f0c GIT binary patch literal 614 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U{dgOaSW-L z^LCbDwzQ!{TYS6Uv}GZyH{bB?GQ6^RbK1EGFSqs--8-`kFC4tEbID;|#gsSl7ebu3 z-ATH2bn;fM#nxf6r!@PdogP^KQv3S7!Ew{O$8okDpI_GKPSEU9@_eN}+0#2nUn{Ta zXN{iFh1XwQiYrt#^O}zSRQ&o!dOy=Pm81WewHjm_dbtwV6BaYwV7#${p^U){By{!| zx4?V0rL$+|ZTG%AA@>hg0OK2m9J9EFA4(dvORoN{(Ct-l(s}Up_j%tZ3lzlyLZ_~% zGm!95?hxR9QDU|8?VQtZB_1#S`@HFg(u+CH9E|5IC6fP1nIBU))*;{|*Kc@8;`4)# z|D`rIT=k5|PV71O_G#g~4O_(&TlNHHNuGWxbS>)T%cC8vTUHw~JoxrW;=aA?g4o`P z-_A4q`Pus8>swg{g_edgQ#TGp`S^ZALGB+vzi~4pY^-jYyO=xYZR}IeeLp{l+HdoJ z@3*ad>g~+`Z{q$R4Vsq9WT11}sPg^f?{IVAAt+aSW-L z^LDm-g6)pyRuPF4K)aF=gkrT6@8-~Xwdv|8wHUsA79(6+zD=6vw(yKejMAAj{q z#$Eh6``7HPQ8QES%v$pKe*;$nd%|L-8;mzrFqAQvX*I|;^r8wa+H1m~GyQbQiPGD) z|4OWmCT%=WVRMc_VQKR&d#`CHmj(P3U4TzN*vKC?3g?S2w$+(PbsBk`Xa0Ai@kFx8 zY~NK4>Wl8}uzxx6Ld}0qDMy#5;SNvbo3J%HK2d@kd} zQE={{#OK)EhHQpzEdr;$NhtRi+VA-nzL5LI+?K6k$0XLMA1*p{Eea?%b<@<1H**r! ziuU{OXPtL0j!`1PRx*kA!H#futKBS42Y|tOe6LjlqZ5b4&rf`b#taN=)SYeKUp@Nx za`=Jk)8!c$R!_cev1^Ch+b?X2EDQ&_&E-G-ym|Z6ty?dBBmL5+-@o!dvTKnC!!FlA zmG`xu?x{1xGQ_^Gy|pd>_3o$byEuN8GrUt*c^GzSW*xW92K&z2d+(RM{++Azj=|;Q W9G@ExFUPx%T1iAfRCt{2o3W1CKoEw1q7(>9XrTd}NQJCW`bi>}pgc&Lyh6kkE>NBX=^7^% zoeL_rA?b|Vk>YNB_Q{01EHl6Fyk7$bR8ovdc0PGI1aRRVAz{Ux{ z?f{$C3t$}$+HPbflL>V*Ch7swfy^}!6F?)7xdvhaJPl-;Dung?W3K_7j@=N%Q(`8q z)r*(KXD0oXL^&p3@1(o%Ps9Z%$MQ*(WAN!41~z7eYijG$sY`5Fu+4DS2 z^R=jLgpw!+@HptvXoSPzpk@9nY658H`d@;&2b38Ohg#;(LW>1H{Q1H%U4bURbI<;y zp$U*>8OwA9+S%ZIKK}>+r<2u2(i)c!&@wbzba4a_$1wmP48tD}Us3Y`s#73c2k?cD zyI+d<6ex$mvqcxZc!_i!6t8Sr9}cUf#G3GL*P)gYlP-1nU(`}!O~tJNR;}LvP5^cX z*f;^$9bn@GV0VB`>jiLyk~WPsXl1dqp|!=*4 zh^7b71z^_+&;?-E3D5<|vaC2NXFwN#Ie4G}0zB}OW%w@!lF&2Uu1($m0000B`V literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_6.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_6.png new file mode 100644 index 0000000000000000000000000000000000000000..07a53a56155b6299fcf88c8889d75ea4b44db7b0 GIT binary patch literal 628 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>VAAt+aSW-L z^LDmOC_2i!q zRo$1TM_Go5iy3R~lz74~GcL!ijA&;_^O&ibVw&$#)f&#iqi4zrdq zRJ_0beUi$-YX3UN^-1GfOWnVF0!>Uypr-gRh`+0Wa$K@yXGsWMxeSGjEHA$fBy+LEYet3T4^-Xr}69Niy0zopr0J%LG-v9sr literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_7.png b/Resources/Textures/Structures/Furniture/Tables/Fancy/white.rsi/state_7.png new file mode 100644 index 0000000000000000000000000000000000000000..b0dd66491b45e8d6c9b457b5141df0e504bc12b4 GIT binary patch literal 267 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|j(WN{hE&XX zd;1{oVFi%`0YRmcH~e=yGl}OTzkk---|o|nvNB$m`ebuHg|srvCo-7dG}!-5sn~UjF^}rS@Rd>i Date: Mon, 26 Feb 2024 23:12:27 +0000 Subject: [PATCH 149/345] Automatic changelog update (cherry picked from commit a0b0579d2e91616663b4f18a41098e40b95d1daa) --- Resources/Changelog/Changelog.yml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 78aa3476a96..6575691a423 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Blackern5000 - changes: - - message: After realizing their employees have been forced to make medical supplies - by hand, Centcomm has added a gauze option to their medical fabricators. - type: Add - id: 5535 - time: '2024-01-03T22:42:35.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23417 - author: Bhijn and Myr changes: - message: The blindness and eye damage effects now properly take screen resolution @@ -3822,3 +3814,17 @@ id: 6034 time: '2024-02-26T23:06:09.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25455 +- author: TheShuEd + changes: + - message: Carpets can now be printed at the uniform printer. + type: Add + - message: Carpets can be collected from the floor and buthered into fabric. + type: Add + - message: New white and cyan carpets. + type: Add + - message: Carpets can now be placed on wooden tables to get beautiful new tables + with tablecloths. + type: Add + id: 6035 + time: '2024-02-26T23:11:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25562 From ecdef48ce4d058f1c4f9ee4a90ad8832ae32594f Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Tue, 27 Feb 2024 00:15:04 +0100 Subject: [PATCH 150/345] Add nose customization to humans & dwarves (#25557) Initial commit (cherry picked from commit 3af2928a25c4cbc0ee6e8edabf317d060b652b06) --- .../Clothing/EntitySystems/ClothingSystem.cs | 55 ++++++++++++++++-- Resources/Locale/en-US/markings/noses.ftl | 14 +++++ .../Clothing/Head/base_clothinghead.yml | 2 + .../Clothing/Head/hardsuit-helmets.yml | 3 + .../Entities/Clothing/Masks/bandanas.yml | 3 + .../Entities/Clothing/Masks/masks.yml | 33 +++++++++++ .../Entities/Clothing/Masks/specific.yml | 5 +- .../Customization/Markings/human_noses.yml | 54 +++++++++++++++++ Resources/Prototypes/Species/human.yml | 4 ++ Resources/Prototypes/tags.yml | 3 + .../Customization/human_noses.rsi/blob.png | Bin 0 -> 15567 bytes .../Customization/human_noses.rsi/droop.png | Bin 0 -> 15529 bytes .../Customization/human_noses.rsi/meta.json | 31 ++++++++++ .../Customization/human_noses.rsi/nubby.png | Bin 0 -> 15526 bytes .../Customization/human_noses.rsi/schnozz.png | Bin 0 -> 15586 bytes .../Customization/human_noses.rsi/uppie.png | Bin 0 -> 15515 bytes 16 files changed, 199 insertions(+), 8 deletions(-) create mode 100644 Resources/Locale/en-US/markings/noses.ftl create mode 100644 Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/blob.png create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/droop.png create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/nubby.png create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/schnozz.png create mode 100644 Resources/Textures/Mobs/Customization/human_noses.rsi/uppie.png diff --git a/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs index 154171fc054..50a1d93a6c2 100644 --- a/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/ClothingSystem.cs @@ -8,6 +8,7 @@ using Content.Shared.Item; using Content.Shared.Tag; using Robust.Shared.GameStates; +using System.Linq; namespace Content.Shared.Clothing.EntitySystems; @@ -22,6 +23,9 @@ public abstract class ClothingSystem : EntitySystem [ValidatePrototypeId] private const string HairTag = "HidesHair"; + [ValidatePrototypeId] + private const string NoseTag = "HidesNose"; + public override void Initialize() { base.Initialize(); @@ -85,18 +89,57 @@ private void QuickEquip( } } + private void ToggleVisualLayer(EntityUid equipee, HumanoidVisualLayers layer, string tag) + { + InventorySystem.InventorySlotEnumerator enumerator = _invSystem.GetSlotEnumerator(equipee); + bool shouldLayerShow = true; + + while (enumerator.NextItem(out EntityUid item)) + { + if (_tagSystem.HasTag(item, tag)) + { + if (tag == NoseTag) //Special check needs to be made for NoseTag, due to masks being toggleable + { + if (TryComp(item, out MaskComponent? mask) && TryComp(item, out ClothingComponent? clothing)) + { + if (clothing.EquippedPrefix != mask.EquippedPrefix) + { + shouldLayerShow = false; + break; + } + } + else + { + shouldLayerShow = false; + break; + } + } + else + { + shouldLayerShow = false; + break; + } + } + } + _humanoidSystem.SetLayerVisibility(equipee, layer, shouldLayerShow); + } + protected virtual void OnGotEquipped(EntityUid uid, ClothingComponent component, GotEquippedEvent args) { component.InSlot = args.Slot; - if (args.Slot == "head" && _tagSystem.HasTag(args.Equipment, HairTag)) - _humanoidSystem.SetLayerVisibility(args.Equipee, HumanoidVisualLayers.Hair, false); + if ((new string[] { "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, HairTag)) + ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Hair, HairTag); + if ((new string[] { "mask", "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, NoseTag)) + ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Snout, NoseTag); } protected virtual void OnGotUnequipped(EntityUid uid, ClothingComponent component, GotUnequippedEvent args) { component.InSlot = null; - if (args.Slot == "head" && _tagSystem.HasTag(args.Equipment, HairTag)) - _humanoidSystem.SetLayerVisibility(args.Equipee, HumanoidVisualLayers.Hair, true); + if ((new string[] { "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, HairTag)) + ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Hair, HairTag); + if ((new string[] { "mask", "head" }).Contains(args.Slot) && _tagSystem.HasTag(args.Equipment, NoseTag)) + ToggleVisualLayer(args.Equipee, HumanoidVisualLayers.Snout, NoseTag); } private void OnGetState(EntityUid uid, ClothingComponent component, ref ComponentGetState args) @@ -113,8 +156,8 @@ private void OnHandleState(EntityUid uid, ClothingComponent component, ref Compo private void OnMaskToggled(Entity ent, ref ItemMaskToggledEvent args) { //TODO: sprites for 'pulled down' state. defaults to invisible due to no sprite with this prefix - if(args.equippedPrefix != null) - SetEquippedPrefix(ent, args.IsToggled ? args.equippedPrefix : null, ent); + SetEquippedPrefix(ent, args.IsToggled ? args.equippedPrefix : null, ent); + ToggleVisualLayer(args.Wearer, HumanoidVisualLayers.Snout, NoseTag); } private void OnEquipDoAfter(Entity ent, ref ClothingEquipDoAfterEvent args) diff --git a/Resources/Locale/en-US/markings/noses.ftl b/Resources/Locale/en-US/markings/noses.ftl new file mode 100644 index 00000000000..e49d87d5595 --- /dev/null +++ b/Resources/Locale/en-US/markings/noses.ftl @@ -0,0 +1,14 @@ +marking-HumanNoseSchnozz = Schnozz +marking-HumanNoseSchnozz-schnozz = Nose + +marking-HumanNoseNubby = Nubby Nose +marking-HumanNoseNubby-nubby = Nose + +marking-HumanNoseDroop = Droopy Nose +marking-HumanNoseDroop-droop = Nose + +marking-HumanNoseBlob = Blobby Nose +marking-HumanNoseBlob-blob = Nose + +marking-HumanNoseUppie = Uppie Nose +marking-HumanNoseUppie-uppie = Nose diff --git a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml index 2d2d11524f5..d13b284ff29 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml @@ -136,6 +136,7 @@ - HidesHair - WhitelistChameleon - HelmetEVA + - HidesNose - type: IdentityBlocker - type: entity @@ -174,6 +175,7 @@ tags: - HidesHair - WhitelistChameleon + - HidesNose - type: IdentityBlocker - type: entity diff --git a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml index 5ab3ff6e169..b98a8cf78e4 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/hardsuit-helmets.yml @@ -17,6 +17,9 @@ sprite: Clothing/Head/Hardsuits/basic.rsi - type: Clothing sprite: Clothing/Head/Hardsuits/basic.rsi + - type: Tag + tags: + - HidesNose #Atmospherics Hardsuit - type: entity diff --git a/Resources/Prototypes/Entities/Clothing/Masks/bandanas.yml b/Resources/Prototypes/Entities/Clothing/Masks/bandanas.yml index c008a755ee7..2d65e67982f 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/bandanas.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/bandanas.yml @@ -22,6 +22,9 @@ - state: icon map: ["foldedLayer"] visible: false + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBandanaBase diff --git a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml index 77655e7cdb1..0b388aee6b1 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/masks.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/masks.yml @@ -16,6 +16,7 @@ - MonkeyWearable - HamsterWearable - WhitelistChameleon + - HidesNose - type: entity parent: ClothingMaskGas @@ -195,6 +196,7 @@ tags: - ClownMask - WhitelistChameleon + - HidesNose - type: entity parent: ClothingMaskClownBase @@ -205,6 +207,7 @@ - ClownMask - HamsterWearable - WhitelistChameleon + - HidesNose - type: entity parent: ClothingMaskClown @@ -231,6 +234,9 @@ sprite: Clothing/Mask/joy.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -248,6 +254,7 @@ tags: - HamsterWearable - WhitelistChameleon + - HidesNose - type: entity parent: ClothingMaskPullableBase @@ -298,6 +305,9 @@ - type: BreathMask - type: IngestionBlocker - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskClownBase @@ -326,7 +336,9 @@ sprite: Clothing/Mask/swat.rsi - type: Tag tags: + - WhitelistChameleon - HidesHair + - HidesNose - type: entity parent: ClothingMaskGasExplorer @@ -351,7 +363,9 @@ sprite: Clothing/Mask/ert.rsi - type: Tag tags: + - WhitelistChameleon - HidesHair + - HidesNose - type: entity parent: ClothingMaskGasERT @@ -386,6 +400,7 @@ tags: - HamsterWearable - WhitelistChameleon + - HidesNose - type: IdentityBlocker - type: entity @@ -400,6 +415,9 @@ sprite: Clothing/Mask/fox.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -413,6 +431,9 @@ sprite: Clothing/Mask/bee.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -426,6 +447,9 @@ sprite: Clothing/Mask/bear.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -439,6 +463,9 @@ sprite: Clothing/Mask/raven.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -452,6 +479,9 @@ sprite: Clothing/Mask/jackal.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase @@ -465,6 +495,9 @@ sprite: Clothing/Mask/bat.rsi - type: BreathMask - type: IdentityBlocker + - type: Tag + tags: + - HidesNose - type: entity parent: ClothingMaskBase diff --git a/Resources/Prototypes/Entities/Clothing/Masks/specific.yml b/Resources/Prototypes/Entities/Clothing/Masks/specific.yml index e60c29d2129..1e85073da9b 100644 --- a/Resources/Prototypes/Entities/Clothing/Masks/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Masks/specific.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity parent: ClothingMaskBase id: ClothingMaskGasChameleon name: gas mask @@ -6,7 +6,8 @@ suffix: Chameleon components: - type: Tag - tags: [] # ignore "WhitelistChameleon" tag + tags: # ignore "WhitelistChameleon" tag + - HidesNose - type: Sprite sprite: Clothing/Mask/gas.rsi - type: Clothing diff --git a/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml b/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml new file mode 100644 index 00000000000..51fc2fd15a2 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Customization/Markings/human_noses.yml @@ -0,0 +1,54 @@ +- type: marking + id: HumanNoseSchnozz + bodyPart: Snout + markingCategory: Snout + followSkinColor: true + forcedColoring: true + speciesRestriction: [Human, Dwarf] + sprites: + - sprite: Mobs/Customization/human_noses.rsi + state: schnozz + +- type: marking + id: HumanNoseNubby + bodyPart: Snout + markingCategory: Snout + followSkinColor: true + forcedColoring: true + speciesRestriction: [Human, Dwarf] + sprites: + - sprite: Mobs/Customization/human_noses.rsi + state: nubby + +- type: marking + id: HumanNoseDroop + bodyPart: Snout + markingCategory: Snout + followSkinColor: true + forcedColoring: true + speciesRestriction: [Human, Dwarf] + sprites: + - sprite: Mobs/Customization/human_noses.rsi + state: droop + +- type: marking + id: HumanNoseBlob + bodyPart: Snout + markingCategory: Snout + followSkinColor: true + forcedColoring: true + speciesRestriction: [Human, Dwarf] + sprites: + - sprite: Mobs/Customization/human_noses.rsi + state: blob + +- type: marking + id: HumanNoseUppie + bodyPart: Snout + markingCategory: Snout + followSkinColor: true + forcedColoring: true + speciesRestriction: [Human, Dwarf] + sprites: + - sprite: Mobs/Customization/human_noses.rsi + state: uppie diff --git a/Resources/Prototypes/Species/human.yml b/Resources/Prototypes/Species/human.yml index 956c0d19463..94b21ec9620 100644 --- a/Resources/Prototypes/Species/human.yml +++ b/Resources/Prototypes/Species/human.yml @@ -20,6 +20,7 @@ Head: MobHumanHead Hair: MobHumanoidAnyMarking FacialHair: MobHumanoidAnyMarking + Snout: MobHumanoidAnyMarking Chest: MobHumanTorso Eyes: MobHumanoidEyes LArm: MobHumanLArm @@ -42,6 +43,9 @@ FacialHair: points: 1 required: false + Snout: + points: 1 + required: false Tail: # the cat tail joke points: 0 required: false diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 6e13da6a9a4..e2d08042b56 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -653,6 +653,9 @@ - type: Tag id: HidesHair # for headwear. +- type: Tag + id: HidesNose # for non-standard noses. + - type: Tag id: HighRiskItem diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/blob.png b/Resources/Textures/Mobs/Customization/human_noses.rsi/blob.png new file mode 100644 index 0000000000000000000000000000000000000000..31774b81f96644384812103c48efae3d4bb224cf GIT binary patch literal 15567 zcmeI3Pl()99LJv&|E*LDJ^1GorxvU=lRuN0?4+4#*PX4q=(Njpw7aWfGs&Bs(3vDn zGCQ;DL9v$#o_df{y$KaX3R;R_K~X76kya4|d+?;CR;35=P>QTC$^6N_nR%?WBFYO) zlHdEi@9!m_-+RAg4tZsE&*K}%9vA}vY@C@cl+bZk@VnzSw13Au^gTM<=}gai0Nk}X z_}v1Izi}S`JC2#mzG+)b5Lc_%O+S}N1OxT9&V4nU-awYuVTUMkZO!3?B+m^K8G29SG~If5X@<_h zI&478_mEB)s&i_#Z+kU+#E?Dr$bnH#ipAd8L$9~d7&^4)Pc0z?9i&5*UU}JpTnT!1 z)79bB61tTw!|vWUtNrAxi4=H7UOQ}?BV>Uml7&+t%8-igRhe|5=G$)Bw(I$5md$n% zGLw_xtYRMCZ(4@k^0uiQF6rmH9}N~XALd0~lvrM5MWHP6iXbY|_;y}Ucs>>+>WRfD z+J;$OUK>L!^Jqe+6(JRm5$lP^Kl=(1owrEzENsDYn*0U_1kuUSxakBka@N$XJr&$O0kucQDLi!_Py zO>#8XgTac+CAv$lSHyZXD$s;0SJCvKn&tIiK|n+0*0lC7tEcS9%)tb%k8%`0CLcXU zs|GF7f{H?gy+#M|?5f|=TsX0a=EQo|dK7i73=gkzLG`bj|3D%J~7%BL*T&x@VWu;!R5c-x5{#rx2UIm~C$=~P=in!o>41$K}Y`$xZaek@;X=iVFimHYqMLAIwW}VL-?x#YN_Wc_}Uo2-&2#$b2v_#f1SO zn-mwB59Xz~Fd$@;;v)0Gyc8D(gltk=WImXe;=+KCO^S=m2lG-~7!a~aagq68UWy9? zLNSzLJNIk+d?1HZa%&6Hu?~k(WgsA09LjF@X}!buC1cuPXIJ|0InPWKsg4$ zz4p=P&+bNj-qg%@9c=&jGM|Nf=?^HqM~o(I#RYxM5+Q|F&J z@zM4951Loby!%^eX|>e2wEdYMw_f=0*Rv;;&sM?Irs3j8&Y@3}S64TH7h2DKGI#3Q Q<)GWl)Skl0#}2&wCjxNP)c^nh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/droop.png b/Resources/Textures/Mobs/Customization/human_noses.rsi/droop.png new file mode 100644 index 0000000000000000000000000000000000000000..57bed8e5bd82455235a9bed3f1a9775d6580d17b GIT binary patch literal 15529 zcmeI3O^n+_6vqcDp|W(v0YNJc$V!C-0>__O$8M6cY_{x5q%7N1-96Fqc$~GG*skqu zvWpM}F7(O)A;bl#0>lA{6XHYSfH-mKrI#MKgOE5QK+D+9hj)^UR;37m#!?c$dGr3y z^P8Dx=inO~=U-S{czgi>u(-a~+$6uxrJv&uknc~ut3Q&T2g9}P7=VW!Nk8|2_dhrV zz?qM{_ExghdeK5buMC~Q#^pgTB)tKsogIV_UBQW9 zbi}Hcc9JBtB&px;m-|{dh&qyDnx-VHlB$ZNhZyhq2^@%id^#5y=`?YSA}>t5z!y?o zXa~DVy;MpQjgR5Ddf_;c9}n3PiqZgvl2VqXSwRjO$Ar64H@h?kNw|x9*iT{-r_78C zcY-8{cY--7$L_g_$(*!Wc^x7VAQI!;!v5d=e|Gb7{nUWlbl90$7*!mHQFP)^Sp zed4*3$vLEydgfj`9(Z%YQcoV1ErooBYGka|N`zq&MC~BxHu6=rF+wP;tYoW7cN~0Axp1XHgLv71M zqhe`hQKQh4)*$=GfeAd4O0jQ2$3d1GL_L@^ydLaeDfBxvY0_BeIbK!PO3)1=a#^^c z)udU?g{W+$S?hkBKp)}tW`i`8JRWvJ_Le8M>nufV#U^j!< zY8At$q?-ZSO?L~C&I^kZAR<4xEK{$jF48s8kzJX{V=USx(nQxFlV@mETTzWsqJr2| zqL(6%)IHcO^hw9!kYom|K&%)t(KHRwHb^pCb8OMIZ5z2dLW(mU%M6*RRBK*LR_k72 z6_d4`RkjQG>fzRrqw8fADuhvt)BRU3jW*!8q>U?98k6l~3!=2PHBh=euv3!`wN5T; z961d0rl<302y*>G`1~CG9qhBVS1y(HnlBOuZqkPlUha?;a+IB)s~!%c2sUp#>7z+8)u~;>h9MREjSBF*IKr$Xp^IcDaX{qX{Lj8NwFj>WD z2l^fCG^EkUMh*X^nLAoNyz31#eQ)_6%v`<`57)#|DW9&Pwe+#VBK4Ql0+`i3r6x_a zP1a1_e=Dt{-QBD|xnqz+Qqu2XXwglFZnHy+ZaQ=ldC~WhhC0kfH5a1NXP^AWe1SZs zY2Ba$93{g zK^p&6m@2H}`_H{RnT+UOs#01!2?d00a$Iaal$Yb8fUr%Di_M4fa$FP;w#jj^`A}Yt zivq$nIW9II%FA(4K-eb7#pXkKIW7ta+vK>|d?+u+MFC-(92c7p<>k02AZ(N4V)LQA z92W(IZE{>}K9rZ^qJXeXj*HEQ@^V}h5Vpy2vH4J5j*9}qHaRXfAIi&dQ9#%x$HnGD zc{wf$2;1bi*nB82$3+2Qn;aLL59Q^!C?IT;<6`rnyc`z=gl%$MY(A8i7A7y>VxPQm+b6Hqe)I0lC&+8L0$ST_0kHoh0N39F z;I{+v`x5}WG5|kc2Ecj`fRn*HuY7-w^nGo;x!fMy`Q?tX2;}3d%b&b%v~IUg+`je3 zjaTnKRffNBUsS$)^t)rE>k*H}SDh~wA3o!M{Nc@$vqP?%b>cWUI0pWB?8Kj+|M2$9 PX}|T=^Ucqmzx?K3i<`72 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/meta.json b/Resources/Textures/Mobs/Customization/human_noses.rsi/meta.json new file mode 100644 index 00000000000..af674147636 --- /dev/null +++ b/Resources/Textures/Mobs/Customization/human_noses.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version":1, + "size": { + "x":32, + "y":32 + }, + "copyright":"Created by SlamBamActionman", + "license":"CC-BY-SA-3.0", + "states": [ + { + "name":"schnozz", + "directions":4 + }, + { + "name":"blob", + "directions":4 + }, + { + "name":"droop", + "directions":4 + }, + { + "name":"uppie", + "directions":4 + }, + { + "name":"nubby", + "directions":4 + } + ] +} diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/nubby.png b/Resources/Textures/Mobs/Customization/human_noses.rsi/nubby.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5bdde977010d2cf9c0f2f40d0d9c526694fb26 GIT binary patch literal 15526 zcmeI3&yU+g6vwARLaEcp zZnAqo{E$!);!99~(juaWah$>+X%$@drT`Jc$?{$Tk`1i%B2CZ9v# zqmQ2e;KhsX`ewY@IAL0Tw}5QFi3|O1K%xPt9P0nYsUKCurDsJcv zxe+Ylw!6F=;?uh)*R9=iR@oMh)#fUFlO*Wk7zzDu$BWEEXtBvG&R}ORAF$4wK?*u655Wr zRzE)Ij#yQ(9mjzQVXxOK^oj*PY(b@5E<;&`sw$BPDcbR3)R(;INS0)nr;Z~lbc5LS zJt4`9n*LT?6~&~Z(J{ELZZPV|iw5inMc79HR0=YjCbF%OCfEu)>CkKo;tuX&FOG;# znW_uge(XnWe@2%h_sovToHQDvzNe12+nw5V6fbQP1Ouc~mC^c6fZ-aB{H@T!OWWj9 zj!e7y*mcH}voBNPnK^dccW1~FPbN#3LN-Gca;@fKh*9i^>%QNqWvgs;h)`HuOjnig z+=lDfelL2y0%^&3zQ@^c9mTk&%Bm*Gs-!CGs%$E%sg;h(iYd#vBv~Ytqv6}Gvoj?} zQ8#5ZpCcDZ=OFvXMlm{2mV9h3k8PQbA9hh(bGxX8Vc@kYaNL-S9IYyI(eL;n85XV; zD{xwKPL-}SbH$5dPMC!V4Z6&*9klH4x4WuKi7_#ITWkYHjT2X3}gp$*2HZ4c9EX8()sdMs))Tct1 zR65kj#U!KuyIo94Gtt$u84>&NY#hRI{3uYzS;u;J()Jutv&(%$=OTgHg`%=j5~d=(VxO+E7`lG-`H|$amr% z3h_dVtcio{^(^at8J)fYlj`4b|AC2!(Dt28gJR2NO(|KDqZsO7b9KlKM+(0ZQwhQh^g~<294TZzgrLvz5jhs!R^3B;NyR-c3u-u%&r7EgdUg z_1w6o4tk@SbE@QNC%YA&CJ*MgHm~bNy#ncGTCwW(ac8scl6z*9+zIBjfrfTW6`q+T z%sB?aY^rjP&}sF|TFC=C`ELM6e-0)J>*)S-H-C(;=x%1Ea`8?mAZ(N4V)LQA92W(I zZE{>}K9rZ^qJXeXj*HEQ@^V}h5Vpy2vH4J5j*9}qHaRXfAIi&dQ9#%x$HnGDc{wf$ z2;1bi*nB82$3+2Qn;aLL59Q^!C?IT;<6`rnyc`z=gl%$MY(A8ip+m*b*}{d70Mv z;gb)@i@1Wdyw(6<_gMhmdKZ8{ZjKhSaM$LQ*f-@d+f t?S}OG>!)sQ6w7d?&L#r`w{PDA-hS<|uU5W$YA=agSvpz2^zzwv{sN7~y8{3K literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/schnozz.png b/Resources/Textures/Mobs/Customization/human_noses.rsi/schnozz.png new file mode 100644 index 0000000000000000000000000000000000000000..618c5f5eb73a9c298e7594755f604e64c65fd93b GIT binary patch literal 15586 zcmeI3TZr6L7{^bswz{=iP}GWO$Ra2;lgnf#GwIBf7Y{3gE^(1r4o|!qUwj#<2 z%;h`Z`TtMyJLi1KJj|1$BloWDyQL2Ruy%MTKZZUx2d}GEq4!tJJzt@ZtDT`q4}dk- z2d@=i;qc7>Y&>L+Pxups`&8Yo#5BV$!dR{1pxyvvHq{(WpMgG8gj1%KWq&ySCd-&c zmfevk2nA;VPMbsXF5EspGOo|h=xKx9lq=#Z_5QWr=AVY_1P| z%eY2K9m{WR42PmDJMH_9%JbD~HCBzsYt|Uu7^rnLuB+m-2C}>cJ4BJMX$~*O1iqWd&|4a3)-8vpX6QUD z!wR%~59!3NI%nGUZExD{F=Q*3^W0(0>>&#>by>I+>NAu<*QySz!d1oGxx=&!yXxJQ;c-cOzT0jvulX=136jhS5+{k{lAwx`DyKFGqACaxlX_3g zqhK3mX|9V$Tv8K4)FaXp_dxr{(0pxKF44XbA46A5wp-EsoLSMPAn#aH8NS^Z>DgLU z>VRFgU36M77tiqBnj@-krK!V~=WCV@hx0kq5Hn3f)r+O1k(QGjEQ*kWx-4-iDVgSy zNnO;_QbI)85MrSam3LU@ZGAS_Ee&e}Su0vXgQ6mEB_*wJMMaKt#kf)AO2uMPFUh(t z8l|RnMBZV&%{5V_)5?)P!P)=SA-dRf3^inWXnoE_)-77SVJ+JZ_bhE~Cdy`5lN`It?w- zhN@eIy?UE?cFC`5F5EJO*2Hr5dfj!Y47bnlLG>@2|G-3e+TKf>2GJ1GvY67jQbG~Y zn+&;>k~BC&E|z31B`dlBo74Qary;FMQnM!gd(+Tf#rm{nO+h2aH?OSO@L!s_GNeq6(gN>bK(U=)oN3l8Hn-k>T-XTrq0aV0j{M zqI;$n+zFC$LxU%}3MYFBBZ-EvK2?!N=&*X$ThRkL`fb3sejIcZ*4F*!a(-!F(dBf- zyyzep5OPRyk@;X*iVFim4k<1&A1q68VL-?s#YN_WWhpKU2sxy<$b7IY#f1SOhZGl? z50<64Fd*cR;v)0GvJ@8vgd9>_WIkAy;=+KCLyC*c2g_1i7!Yzuagq68S&9n-LJlb| zG9N5UabZBnA;m@JgJmf$3R-To@2?NO6(*U|EU_140fdE;1i1OL1X9$RWi==7VJ^E({1c zB;x98|J@c^=s&hq^k>=)&s{i%{)o%yLt_O1=I;Pt-(vv$dJ%n|17KDF;Je)bsD}W! z$$sX+cekRxCx-J|#%rg)|NQl}?=b7G{GfmE*bVF7{&?brPZs6d_V0h{n~zd!@<-1c z_<40|&o+m-Uy5%%)xYXGqy)bo-nH|m(ayu>xDDd zI%|SHJrCj5&F8;Z`0ePfH$HoKXPjL;1>nN7{E2h#-+tu1SD$|C!&>_Id6_?Z@cFY3 oeYtLBSDSs0F0KIJ;>9b#%a0_ldGW`u7lLlXgCqIZ?%BQnPd6LjBLDyZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Customization/human_noses.rsi/uppie.png b/Resources/Textures/Mobs/Customization/human_noses.rsi/uppie.png new file mode 100644 index 0000000000000000000000000000000000000000..a1be557443960f7759222fd5bd3e152cda39a4eb GIT binary patch literal 15515 zcmeI3&yU+g6vqcDP+7VX5<*m*tW+Q>aQq`qoR}nKn{3&YNLhAMb@xP_@nmCdV!O6? zlU;;Z;M5BTP8H%0KpYBEPly8t#GOkI6p0fO0wFjegwQg!^TYd+jFwV_Kw~L!-n{pH zGycrXvvcr`waYIpE5L#Sasjt)Xi_z!w!}R+j`}()^^oX~z6(IEJsuF1A`{$k6ykZ`AxS&BLo zHXCa~&Gm_p&lW^17j!`{WtF_HYx?toDl2(O&Ph30RC9(V8=5K%k4$xe{wn)c+gPt( z8g@smN~RNro*_y7em~pKWnF(;Qc9(gB&(9DiZntD_MOlih)!@WNixb)Cjs_tFSK1p zi1L~(cQ>qLGEqn4V|ZOXZ`_d+4B1hN(!lg2B`Zs_L>3-vyj{N=56!|7>5?9C!hq_O znL4lIhHlVt=X5!C&+VAbNux3Dd**n1y_sDH;qo3uFhn|288r7jBCV6a-Ssh9-lLat zZr0U@c6%~8$1+8pxnm~-dyXvfB(iuZBr{Z|*J{*!Vur5Yblq+>S!HV@ghH(ruPWi$ ztF~jg{os6Af|AL6PqLA^8Ir0htC}dQqN+4i*-%tND?TSHhAgL&B#|IT!?o=8{_z}Y zQ>F{LWaJC!9H~f{gYF;849yc|Nyn!0SlDR0e$Nc6cF)`htQ^Yh=?Od;!Qp93AuPgLRBVti6 zSfZu1+L~F^bS#t6G~e?ylnhlJ)uexK8YZh4cT8uSSXF6sWuu1w(#)N#0^aimn!cO- z4`wdeiN|Z=sFY9F&~o%3VbJ>ud6aWBqjPDO4DvA z-C|4AZYZ57uQ+yCRfoNS=9DUW+DUH38}z}PR15ihE?<^lGgPeE1Jd2B+w`6pM0bLM zHq=1JOySl%VahQSCR3GqgpR9c(n=rD>3;)h{O4e*u#WFP_w&c(itcAtkc)Q$fUr%D zi_HgkIW7Q%ZE{>}KETUy0U&IX<6`pxUXBX@VVfKmn-B1ETmT5$HaRXfAK>M<01&pxak2RTFUJLduuYDO%?EfnE&zmWa$Iaaz{_y~AZ(N4 zV)FrBjtc-`n;aLL5Abqa00`UUxY&Gvm*WCJ*e1ut<^#MO7XZRGIW9II;N`dg5Vpy2 zvH1Wm#|40}O^%Dr2Y5Ly0EBIFTx>qT%W(l9Y?I?+^8sFt3jkr8Ok4|-*KLVI-?8n} zmuY`3eD@H25m&$~>kWhso<`{K9fW>6qURqF+LaOd@ft$LO@y9w-+S%LOEmV4)%sF% zaQCOX$|90aFE4%grrx;IJagx(w{E=t;MuJC`_>iZ( Date: Mon, 26 Feb 2024 15:15:53 -0800 Subject: [PATCH 151/345] add NanoTrasen balloon (#25543) nt balloon surprised one didn't exist already (cherry picked from commit 0536ce6f95aced669913dacc7d89554ee6bc652f) --- .../Prototypes/Catalog/Fills/Crates/fun.yml | 1 + .../Markers/Spawners/Random/maintenance.yml | 1 + .../Prototypes/Entities/Objects/Fun/toys.yml | 19 ++++++++++++++++++ .../Structures/Machines/Computers/arcades.yml | 1 + .../Textures/Objects/Fun/toys.rsi/meta.json | 13 +++++++++++- .../Objects/Fun/toys.rsi/ntb-inhand-left.png | Bin 0 -> 602 bytes .../Objects/Fun/toys.rsi/ntb-inhand-right.png | Bin 0 -> 582 bytes .../Textures/Objects/Fun/toys.rsi/ntb.png | Bin 0 -> 346 bytes 8 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/ntb-inhand-left.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/ntb-inhand-right.png create mode 100644 Resources/Textures/Objects/Fun/toys.rsi/ntb.png diff --git a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml index 283a70188d8..fde3fc4c29d 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/fun.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/fun.yml @@ -300,6 +300,7 @@ - id: MrDips orGroup: Giftpool - id: RevolverCapGun + - id: BalloonNT - id: ClothingShoesClownLarge - id: ClothingHeadHatMagician - id: BeachBall diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml index 9af68e8d2e4..879c1689291 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml @@ -33,6 +33,7 @@ - Basketball - Football - BalloonCorgi + - BalloonNT - PonderingOrb - Skub - DrinkMugDog diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index d74c33e2991..925af25d8ad 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -1017,6 +1017,25 @@ tags: - Balloon +- type: entity + parent: BaseItem + id: BalloonNT + name: nanotrasen balloon + description: Specially designed to inflict maximum psychological damage to Syndicate operatives. + components: + - type: Sprite + sprite: Objects/Fun/toys.rsi + state: ntb + - type: Item + size: Small + sprite: Objects/Fun/toys.rsi + heldPrefix: ntb + - type: Damageable + damageContainer: Inorganic + - type: Tag + tags: + - Balloon + - type: entity parent: BaseItem id: BalloonCorgi diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml index fbe640aded9..37f22bbb627 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/arcades.yml @@ -72,6 +72,7 @@ - PlushieRouny - PlushieBee - PlushieSlime + - BalloonNT - BalloonCorgi - ToySword - CrayonBox diff --git a/Resources/Textures/Objects/Fun/toys.rsi/meta.json b/Resources/Textures/Objects/Fun/toys.rsi/meta.json index 11f08bc0dd3..ef50532eba7 100644 --- a/Resources/Textures/Objects/Fun/toys.rsi/meta.json +++ b/Resources/Textures/Objects/Fun/toys.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, orb, orb-inhand-left and orb-inhand-right created by Pancake, plushie_diona and plushie_diona1 created by discord user Deos#5630, toy-mouse-equipped-HELMET is a resprited 1-equipped-HELMET in mouse.rsi by PuroSlavKing (Github), plushie_xeno by LinkUyx#6557, plushie_hampter by RenLou#4333, beachball taken from https://github.com/ss220-space/Paradise/commit/662c08272acd7be79531550919f56f846726eabb, beachb-inhand by ;3#1161, bee hat and in-hand sprites drawn by Ubaser, plushie_penguin by netwy, plushie_arachnid by PixelTheKermit (github), plushie human by TheShuEd", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432, orb, orb-inhand-left and orb-inhand-right created by Pancake, plushie_diona and plushie_diona1 created by discord user Deos#5630, toy-mouse-equipped-HELMET is a resprited 1-equipped-HELMET in mouse.rsi by PuroSlavKing (Github), plushie_xeno by LinkUyx#6557, plushie_hampter by RenLou#4333, beachball taken from https://github.com/ss220-space/Paradise/commit/662c08272acd7be79531550919f56f846726eabb, beachb-inhand by ;3#1161, bee hat and in-hand sprites drawn by Ubaser, plushie_penguin by netwy, plushie_arachnid by PixelTheKermit (github), plushie human by TheShuEd, NanoTrasen Balloon by MACMAN2003", "size": { "x": 32, "y": 32 @@ -172,6 +172,14 @@ "name": "corgib-inhand-left", "directions": 4 }, + { + "name": "ntb-inhand-right", + "directions": 4 + }, + { + "name": "ntb-inhand-left", + "directions": 4 + }, { "name": "synb-inhand-left", "directions": 4 @@ -183,6 +191,9 @@ { "name": "synb" }, + { + "name": "ntb" + }, { "name": "corgib" }, diff --git a/Resources/Textures/Objects/Fun/toys.rsi/ntb-inhand-left.png b/Resources/Textures/Objects/Fun/toys.rsi/ntb-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..d650573ce88367a00a480868bc8afbd0aeac4eba GIT binary patch literal 602 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc4evc&978JN-p<)4@aX~4)@eT@bmu-l;yKmPka5{2fu=;( z7n|DJZ&YN=u~1ojk9nJ*XhY4W6%0=%yRs^*=TQw?zt?obHHLfFjw)ZwXXv^ybdqy0LGg9e2;Q* zpqR_5hWGFIJQ)nx**6+lhzcG7`iVtnwp!zi#oQH=Z!SOQe`punpwqmebJ;F|Cc$@i zE~&kAvp$sDeYVl%i<|*#2*an7i|xaZukrL>4KW9LD$+YZevPKxtN6DC)v`$;|8XrKASXG`QweS5j5 zM^huG`K*7}rE=i%->u%4MbeEEaJQ{JG@6MEp(*h+X~sfd7Mr87>d5JY`+cz?>w^$Z<7PnBjt& zlQ+YHUxosc1wvx?=N9~aefEEX><#uB9r2{w3E{D?#GO0?Mb-v>a(Fx4ZpE$>=?!W= z3_V$fj0UTYvK+XP@@&rTgKsqsRHd!HDZhjvwZ2C0aEfVn8|Sr9!lvI6;>1s;*b3=DjSL74G){)!Z!;CoLO$B+p3WC>PfIRmH6MF$$0*(GYYtNuIh zj5zp=^JotrA76l6qQfNS3f`Lkn?17}DsLQI|J+={F8+qkmYqHUvob!UMT<);X3j}E z!Z1lz;oU60Whb`^$WD0Euz$^;1gR$iSr$zx><1W5C|)UGxyi@C2;?iVH!z$LRB-5X zK5?q;%zpbrmzj7PjyOE{J^Q&z>fwc<0*x{aJPl&Lj9pJ1b{05vF>ClSPiYEd4|u~6 zVAWuBl1appA(}}=l;^F+0+Sz(4LR%wbe5Y)wWUcN2xXeY+*YQvgl&O^U=Y`dA_kp* k>?YEDvt29>G&C|YYzopr0GCmAjQ{`u literal 0 HcmV?d00001 From 5be0e599bc678d54506d7fc99b2166c11a2ede31 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:16:59 +0000 Subject: [PATCH 152/345] Automatic changelog update (cherry picked from commit 79df39ed9498c562a9e386b8c078f9461ecf0a8d) --- Resources/Changelog/Changelog.yml | 34 +++++++++++++------------------ 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6575691a423..fc08f22d69c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,24 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: The blindness and eye damage effects now properly take screen resolution - into account, and are no longer way wider than intended. - type: Fix - id: 5536 - time: '2024-01-04T00:17:06.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23465 -- author: EmoGarbage404 - changes: - - message: Cargo Bounties no longer have time limits. There are also more available - at once. - type: Tweak - - message: Adjusted reward amounts for bounties - type: Tweak - - message: Fixed bounties failing to register mobs and items inside containers. - type: Fix - id: 5537 - time: '2024-01-04T00:34:47.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23411 - author: themias changes: - message: Microwaves no longer eject their contents when they lose power. @@ -3828,3 +3808,17 @@ id: 6035 time: '2024-02-26T23:11:20.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25562 +- author: SlamBamActionman + changes: + - message: Added new noses for humans and dwarves. + type: Add + id: 6036 + time: '2024-02-26T23:15:04.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25557 +- author: MACMAN2003 + changes: + - message: Added a NanoTrasen balloon toy. + type: Add + id: 6037 + time: '2024-02-26T23:15:53.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25543 From 64ccfc1afb18ff3e8fe506076240f054580493f0 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 27 Feb 2024 02:19:51 +0300 Subject: [PATCH 153/345] Handheld Mass Scanner (#25526) * handheld * Update meta.json * Update meta.json * Update cargo.yml * research * add to borg * bruh * borg to T2 * fix (cherry picked from commit 7a5f81ddb46e47078b983bfc9ba015ee67752ee3) --- .../Shuttles/Systems/RadarConsoleSystem.cs | 16 ++-- .../Components/RadarConsoleComponent.cs | 6 ++ .../Locale/en-US/research/technologies.ftl | 1 + .../Catalog/Fills/Crates/salvage.yml | 1 + .../Entities/Mobs/Player/admin_ghost.yml | 1 + .../Specific/Robotics/borg_modules.yml | 1 + .../Objects/Tools/handheld_mass_scanner.yml | 72 ++++++++++++++++++ .../Entities/Structures/Machines/lathe.yml | 3 +- Resources/Prototypes/Recipes/Lathes/tools.yml | 9 +++ Resources/Prototypes/Research/industrial.yml | 15 +++- .../Tools/handheld_mass_scanner.rsi/icon.png | Bin 0 -> 2357 bytes .../Tools/handheld_mass_scanner.rsi/meta.json | 25 ++++++ .../handheld_mass_scanner.rsi/scanner.png | Bin 0 -> 248 bytes 13 files changed, 137 insertions(+), 13 deletions(-) create mode 100644 Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml create mode 100644 Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/icon.png create mode 100644 Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/meta.json create mode 100644 Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/scanner.png diff --git a/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs b/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs index a8d380541b7..fb32437c6e9 100644 --- a/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs +++ b/Content.Server/Shuttles/Systems/RadarConsoleSystem.cs @@ -3,6 +3,8 @@ using Content.Shared.Shuttles.BUIStates; using Content.Shared.Shuttles.Components; using Content.Shared.Shuttles.Systems; +using Content.Shared.PowerCell; +using Content.Shared.Movement.Components; using Robust.Server.GameObjects; using Robust.Shared.Map; @@ -30,18 +32,10 @@ protected override void UpdateState(EntityUid uid, RadarConsoleComponent compone EntityCoordinates? coordinates = onGrid ? xform.Coordinates : null; Angle? angle = onGrid ? xform.LocalRotation : null; - // Use ourself I guess. - if (TryComp(uid, out var intrinsic)) + if (component.FollowEntity) { - foreach (var uiKey in intrinsic.UIs) - { - if (uiKey.Key?.Equals(RadarConsoleUiKey.Key) == true) - { - coordinates = new EntityCoordinates(uid, Vector2.Zero); - angle = Angle.Zero; - break; - } - } + coordinates = new EntityCoordinates(uid, Vector2.Zero); + angle = Angle.Zero; } if (_uiSystem.TryGetUi(uid, RadarConsoleUiKey.Key, out var bui)) diff --git a/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs b/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs index 96018480f1b..f4ce29e6910 100644 --- a/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs +++ b/Content.Shared/Shuttles/Components/RadarConsoleComponent.cs @@ -19,4 +19,10 @@ public float RangeVV [DataField, AutoNetworkedField] public float MaxRange = 256f; + + /// + /// If true, the radar will be centered on the entity. If not - on the grid on which it is located. + /// + [DataField] + public bool FollowEntity = false; } diff --git a/Resources/Locale/en-US/research/technologies.ftl b/Resources/Locale/en-US/research/technologies.ftl index 37f0bb58824..a68f9e80b4e 100644 --- a/Resources/Locale/en-US/research/technologies.ftl +++ b/Resources/Locale/en-US/research/technologies.ftl @@ -19,6 +19,7 @@ research-technology-advanced-tools = Advanced Tools research-technology-super-powercells = Super Powercells research-technology-bluespace-storage = Bluespace Storage research-technology-portable-fission = Portable Fission +research-technology-space-scanning = Space Scanning research-technology-salvage-weapons = Salvage Weapons research-technology-draconic-munitions = Draconic Munitions diff --git a/Resources/Prototypes/Catalog/Fills/Crates/salvage.yml b/Resources/Prototypes/Catalog/Fills/Crates/salvage.yml index 1a544a81945..9430a2267c1 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/salvage.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/salvage.yml @@ -12,6 +12,7 @@ - id: OxygenTankFilled - id: FireExtinguisher - id: ClothingShoesBootsMag + - id: HandHeldMassScanner - id: Pickaxe - id: Welder - id: Wrench diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index 364d26dddbc..80e87d3670c 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -72,6 +72,7 @@ title: comms-console-announcement-title-centcom color: "#228b22" - type: RadarConsole + followEntity: true - type: CargoOrderConsole - type: CrewMonitoringConsole snap: false diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 2519611c684..8d195a25bea 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -145,6 +145,7 @@ - type: ItemBorgModule items: - HandheldGPSBasic + - HandHeldMassScannerBorg - HandheldStationMapUnpowered - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml b/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml new file mode 100644 index 00000000000..5647737219e --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Tools/handheld_mass_scanner.yml @@ -0,0 +1,72 @@ +- type: entity + name: handheld mass scanner + parent: [ BaseItem, PowerCellSlotSmallItem] + id: HandHeldMassScanner + description: A hand-held mass scanner. + components: + - type: Item + - type: Sprite + sprite: Objects/Tools/handheld_mass_scanner.rsi + state: icon + layers: + - state: icon + - state: scanner + shader: unshaded + visible: true + map: [ "enum.PowerDeviceVisualLayers.Powered" ] + - type: RadarConsole + maxRange: 64 + followEntity: true + - type: Appearance + - type: GenericVisualizer + visuals: + enum.PowerCellSlotVisuals.Enabled: + enum.PowerDeviceVisualLayers.Powered: + True: { visible: true } + False: { visible: false } + - type: PowerCellDraw + drawRate: 3 + useRate: 100 + - type: ActivatableUIRequiresPowerCell + - type: ActivatableUI + key: enum.RadarConsoleUiKey.Key + inHandsOnly: true + singleUser: true + - type: UserInterface + interfaces: + - key: enum.RadarConsoleUiKey.Key + type: RadarConsoleBoundUserInterface + - type: StaticPrice + price: 150 + +- type: entity + id: HandHeldMassScannerEmpty + parent: HandHeldMassScanner + suffix: Empty + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + - type: Sprite + sprite: Objects/Tools/handheld_mass_scanner.rsi + state: icon + layers: + - state: icon + - state: scanner + shader: unshaded + visible: false + map: [ "enum.PowerDeviceVisualLayers.Powered" ] + +- type: entity + id: HandHeldMassScannerBorg + parent: HandHeldMassScanner + suffix: Borg + components: + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMicroreactor + disableEject: true + swap: false \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 630b8aa4753..a30c7e82c09 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -296,6 +296,7 @@ - SignalTrigger - VoiceTrigger - Igniter + - HandHeldMassScanner - PowerCellMicroreactor - PowerCellHigh - WeaponPistolCHIMP @@ -508,7 +509,6 @@ - SciFlash - BorgModuleCable - BorgModuleFireExtinguisher - - BorgModuleGPS - BorgModuleRadiationDetection - BorgModuleTool - BorgModuleAppraisal @@ -558,6 +558,7 @@ - BorgModuleMining #- BorgModuleGrapplingGun - BorgModuleAdvancedTool + - BorgModuleGPS - BorgModuleRCD - BorgModuleArtifact - BorgModuleAnomaly diff --git a/Resources/Prototypes/Recipes/Lathes/tools.yml b/Resources/Prototypes/Recipes/Lathes/tools.yml index ce3f4cda3ce..2b335ae6dc4 100644 --- a/Resources/Prototypes/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/Recipes/Lathes/tools.yml @@ -133,6 +133,15 @@ Steel: 500 Plastic: 250 +- type: latheRecipe + id: HandHeldMassScanner + result: HandHeldMassScannerEmpty + category: Tools + completetime: 2 + materials: + Steel: 800 + Glass: 300 + - type: latheRecipe id: HandheldGPSBasic result: HandheldGPSBasic diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml index 7c7e3beaaa6..eec699b5373 100644 --- a/Resources/Prototypes/Research/industrial.yml +++ b/Resources/Prototypes/Research/industrial.yml @@ -120,6 +120,20 @@ # - WeaponGrapplingGun # - BorgModuleGrapplingGun +- type: technology + id: SpaceScanning + name: research-technology-space-scanning + icon: + sprite: Objects/Tools/handheld_mass_scanner.rsi + state: icon + discipline: Industrial + tier: 2 + cost: 7500 + recipeUnlocks: + - RadarConsoleCircuitboard + - HandHeldMassScanner + - BorgModuleGPS + - type: technology id: Shuttlecraft name: research-technology-shuttlecraft @@ -131,7 +145,6 @@ cost: 10000 recipeUnlocks: - ShuttleConsoleCircuitboard - - RadarConsoleCircuitboard - ThrusterMachineCircuitboard - GyroscopeMachineCircuitboard - MiniGravityGeneratorCircuitboard diff --git a/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/icon.png b/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2aea25dd6848b53dc086cecd6ac89bd63d65572d GIT binary patch literal 2357 zcmcIleQeZZ9PT0;xWV`o28wni${g#p*N?kv-8r`1#*T2?v0cW%Y1V7s-kM#nx3=3I ziv%TG5TZdq6mg0l^P9{_06~EPpt8JXAf zs;AesH#J4?8qs~YPiT;Tm+>z0A>N4mz;)_%l*vD;6jq-`Ai)pL&?tibz!+jDK|lB&sB+f!Rk?A*a# zZoGrO#7v}YkmT8k2>F>8GDcu`Yrf}{n3Ev`l(8bR_4;!#0t045p)AtmC*E_~93p^D_j z7O+0j7cB<$N?D5zs#?keVoQU_Nm#+dW76~EJXBDDDWGvR95MK~8%qfD@ZAa%7@B~X z4Q{N)=SPb*9iWVjv5|O5Txq5-D1xH-x+L?Jp3)%^_~pjxO*6_9L@XAw#b}$RhX^~z zaRf;b6oo?sZY++NLL846GX_P5WIVtSbtP&lS_HLZg`n1Cx-po?V1jDY=Nnd!7(;!4 z9UG@W8AQw(NxCEsbE8dqI8lWp z5+Dpz2s7Yl_Ti!Cczyn1v{iLTQKJb4?C>zkROEkpb4xzfKZ*2{gG1V|-Yv*vofZ%_ zgZF4+la-IxM)Yb zNP^_VWrksK#zg`=$gu#ITpa1390G9A5{615U#jV<0H;h*g%BX3kr0Mjo#hMtUN=VB zV6ur%e^@YO2!;MuB9ay}hT;K51y!bCwa)HfXqKZ~b|=j-9L)?Ns)24mZ&_k?(ni7T zt
  • dDue1vK^!*O5%%kAefpS(6q1{vxY@2PSUN=uY>(BQw)e&oLC8H;!3QCD$saS zXvp1R1x=Kh*{&(|1(>(3GwT^tk+9YrGT0U_*TMpuG+FS=W?gSg| z-0%zXl81ryHGH6e2sES)j|=L4wGAFMtG%AWfUDx0HK#M%&{3t`MC8hK;-1_rby36n z1(zA$#a7#EkM}&Xx9yAPkwt)$F q>-g@m+@_p;xq4vjl*euTJMTDGH+}4}wSB49LFg?h_jDH3E&Ch99x0yy literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/meta.json b/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/meta.json new file mode 100644 index 00000000000..edae9c38c41 --- /dev/null +++ b/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from Frontier Station, created by Tem Armoff https://github.com/new-frontiers-14/frontier-station-14/pull/484/files", + "states": [ + { + "name": "scanner", + "directions": 1, + "delays": [ + [ + 0.4, + 0.4 + ] + ] + }, + { + "name": "icon", + "directions": 1 + } + ] +} diff --git a/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/scanner.png b/Resources/Textures/Objects/Tools/handheld_mass_scanner.rsi/scanner.png new file mode 100644 index 0000000000000000000000000000000000000000..46d1c847feaa78d24705538f7329a92c8b4541b1 GIT binary patch literal 248 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1``2&1HT-zcg4mT Date: Mon, 26 Feb 2024 23:20:57 +0000 Subject: [PATCH 154/345] Automatic changelog update (cherry picked from commit 9015573a4966cf0b00a06c36ecd3e48a95260001) --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fc08f22d69c..43dc9540e97 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Microwaves no longer eject their contents when they lose power. - type: Tweak - id: 5538 - time: '2024-01-04T00:36:32.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23460 - author: Bhijn and Myr changes: - message: Kobolds now come in a wide variety of colors, and now have random horns! @@ -3822,3 +3815,13 @@ id: 6037 time: '2024-02-26T23:15:53.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25543 +- author: TheShuEd + changes: + - message: Added a new T2 industrial technology "Space Scanning"! It includes a + mass scanner console board, a Borg GPS module, and a new handheld mass scanner. + type: Add + - message: GPS borg module now have handheld mass scanner. + type: Add + id: 6038 + time: '2024-02-26T23:19:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25526 From f699a98bd0f499523a3ed76a275b88964c79273e Mon Sep 17 00:00:00 2001 From: Sphiral <145869023+SphiraI@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:25:44 -0600 Subject: [PATCH 155/345] More windoors (starring directional window) (#25501) * Added Plasma and Uranium Windoors, plus uranium directional windows * I forgor the locked proto's too ;-; * Skill issue, forgot to remove something that was a test * Please dear git tests, let me sleep (ShardGlassRUranium indeed does not exist) * No more static prices for windows/windoors * I wish I knew how to run the tests locally ;-; (cherry picked from commit 88ae71715b89b4ada2dfa42331c12962f73485fe) --- .../Structures/Doors/Windoors/assembly.yml | 126 ++++++- .../Doors/Windoors/base_structurewindoors.yml | 223 ++++++++++- .../Structures/Doors/Windoors/windoor.yml | 94 ++++- .../Entities/Structures/Windows/ruranium.yml | 48 +++ .../Entities/Structures/Windows/uranium.yml | 45 +++ .../Graphs/structures/windoor.yml | 345 +++++++++++++++++- .../Graphs/structures/windowdirectional.yml | 58 ++- .../Recipes/Construction/structures.yml | 4 +- .../Doors/Windoors/plasma.rsi/assembly.png | Bin 0 -> 1031 bytes .../Windoors/plasma.rsi/bolted_unlit.png | Bin 0 -> 141 bytes .../Doors/Windoors/plasma.rsi/closed.png | Bin 0 -> 398 bytes .../Windoors/plasma.rsi/closed_unlit.png | Bin 0 -> 130 bytes .../Doors/Windoors/plasma.rsi/closing.png | Bin 0 -> 1068 bytes .../Windoors/plasma.rsi/closing_unlit.png | Bin 0 -> 302 bytes .../Doors/Windoors/plasma.rsi/deny_unlit.png | Bin 0 -> 176 bytes .../Windoors/plasma.rsi/emergency_unlit.png | Bin 0 -> 5123 bytes .../Doors/Windoors/plasma.rsi/meta.json | 172 +++++++++ .../Doors/Windoors/plasma.rsi/open.png | Bin 0 -> 720 bytes .../Doors/Windoors/plasma.rsi/open_unlit.png | Bin 0 -> 132 bytes .../Doors/Windoors/plasma.rsi/opening.png | Bin 0 -> 2338 bytes .../Windoors/plasma.rsi/opening_unlit.png | Bin 0 -> 287 bytes .../Doors/Windoors/plasma.rsi/panel_open.png | Bin 0 -> 747 bytes .../Windoors/plasma.rsi/secure_underlay.png | Bin 0 -> 476 bytes .../Doors/Windoors/plasma.rsi/sparks.png | Bin 0 -> 518 bytes .../Doors/Windoors/plasma.rsi/welded.png | Bin 0 -> 109 bytes .../Doors/Windoors/uranium.rsi/assembly.png | Bin 0 -> 1033 bytes .../Windoors/uranium.rsi/bolted_unlit.png | Bin 0 -> 141 bytes .../Doors/Windoors/uranium.rsi/closed.png | Bin 0 -> 741 bytes .../Windoors/uranium.rsi/closed_unlit.png | Bin 0 -> 130 bytes .../Doors/Windoors/uranium.rsi/closing.png | Bin 0 -> 1068 bytes .../Windoors/uranium.rsi/closing_unlit.png | Bin 0 -> 302 bytes .../Doors/Windoors/uranium.rsi/deny_unlit.png | Bin 0 -> 176 bytes .../Windoors/uranium.rsi/emergency_unlit.png | Bin 0 -> 5123 bytes .../Doors/Windoors/uranium.rsi/meta.json | 172 +++++++++ .../Doors/Windoors/uranium.rsi/open.png | Bin 0 -> 703 bytes .../Doors/Windoors/uranium.rsi/open_unlit.png | Bin 0 -> 132 bytes .../Doors/Windoors/uranium.rsi/opening.png | Bin 0 -> 2418 bytes .../Windoors/uranium.rsi/opening_unlit.png | Bin 0 -> 287 bytes .../Doors/Windoors/uranium.rsi/panel_open.png | Bin 0 -> 747 bytes .../Windoors/uranium.rsi/secure_underlay.png | Bin 0 -> 476 bytes .../Doors/Windoors/uranium.rsi/sparks.png | Bin 0 -> 518 bytes .../Doors/Windoors/uranium.rsi/welded.png | Bin 0 -> 109 bytes .../Windows/directional.rsi/meta.json | 18 +- .../uranium_reinforced_window.png | Bin 0 -> 716 bytes .../directional.rsi/uranium_window.png | Bin 0 -> 642 bytes 45 files changed, 1288 insertions(+), 17 deletions(-) create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/assembly.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/bolted_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closed.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closed_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closing.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closing_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/deny_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/emergency_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/meta.json create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/open.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/open_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/opening.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/opening_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/panel_open.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/secure_underlay.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/sparks.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/plasma.rsi/welded.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/assembly.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/bolted_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closed.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closed_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closing.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closing_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/deny_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/emergency_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/meta.json create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/open.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/open_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/opening.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/opening_unlit.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/panel_open.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/secure_underlay.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/sparks.png create mode 100644 Resources/Textures/Structures/Doors/Windoors/uranium.rsi/welded.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/uranium_reinforced_window.png create mode 100644 Resources/Textures/Structures/Windows/directional.rsi/uranium_window.png diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/assembly.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/assembly.yml index a86c7a44b90..64a6a0c9e85 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/assembly.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/assembly.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: WindoorAssembly name: windoor assembly description: It opens, it closes, and you can see through it! @@ -73,3 +73,127 @@ graph: Windoor node: assemblySecure +#plasma windoor assemblies +- type: entity + id: WindoorAssemblyPlasma + name: Plasma windoor assembly + description: It opens, it closes, and you can see through it! This one looks purp-, no, pink. Wait... + parent: WindoorAssembly + components: + - type: Sprite + sprite: Structures/Doors/Windoors/plasma.rsi + layers: + - state: assembly + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 360 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 2 + SheetPGlass1: + min: 1 + max: 3 + - type: Construction + graph: Windoor + node: pglass + +- type: entity + id: WindoorAssemblySecurePlasma + name: Secure Plasma windoor assembly + description: It opens, it closes, and you can see through it! This one looks strong and pin-, no, purple. Hold on... + parent: WindoorAssembly + components: + - type: Sprite + sprite: Structures/Doors/Windoors/plasma.rsi + layers: + - state: secure_underlay + - state: assembly + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:SpawnEntitiesBehavior + spawn: + SheetPlasteel1: + min: 1 + max: 2 + SheetRPGlass1: + min: 1 + max: 3 + - type: Construction + graph: Windoor + node: pglassSecure + +#uranium windoor assemblies +- type: entity + id: WindoorAssemblyUranium + name: Uranium windoor assembly + description: It opens, it closes, and you can see through it! This one looks sickly green... + parent: WindoorAssembly + components: + - type: Sprite + sprite: Structures/Doors/Windoors/uranium.rsi + layers: + - state: assembly + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 300 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 2 + SheetUGlass1: + min: 1 + max: 3 + - type: Construction + graph: Windoor + node: uglass + +- type: entity + id: WindoorAssemblySecureUranium + name: Secure Uranium windoor assembly + description: It opens, it closes, and you can see through it! This one looks strong and radioactive-lime-green! + parent: WindoorAssembly + components: + - type: Sprite + sprite: Structures/Doors/Windoors/uranium.rsi + layers: + - state: secure_underlay + - state: assembly + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:SpawnEntitiesBehavior + spawn: + SheetPlasteel1: + min: 1 + max: 2 + SheetRUGlass1: + min: 1 + max: 3 + - type: Construction + graph: Windoor + node: uglassSecure + diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml index e5eebab861f..56167c178e2 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/base_structurewindoors.yml @@ -1,4 +1,5 @@ -- type: entity +#Normal windoors +- type: entity id: BaseWindoor parent: BaseStructure abstract: true @@ -194,3 +195,223 @@ node: windoorSecure - type: StaticPrice price: 200 + +#Plasma Windoors +- type: entity + id: BasePlasmaWindoor + parent: BaseWindoor + abstract: true + components: + - type: Sprite + sprite: Structures/Doors/Windoors/plasma.rsi + layers: + - state: closed + map: [ "enum.DoorVisualLayers.Base" ] + - state: closed_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseUnlit" ] + - state: welded + map: [ "enum.WeldableLayers.BaseWelded" ] + - state: bolted_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseBolted" ] + - state: emergency_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseEmergencyAccess" ] + - state: panel_open + map: [ "enum.WiresVisualLayers.MaintenancePanel" ] + visible: false + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 480 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 240 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + SheetSteel1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Windoor + node: pwindoor + - type: StaticPrice + price: 170 + - type: RadiationBlocker + resistance: 2 + +- type: entity + id: BaseSecurePlasmaWindoor + parent: BaseWindoor + abstract: true + components: + - type: Sprite + sprite: Structures/Doors/Windoors/plasma.rsi + layers: + - state: secure_underlay + - state: closed + map: [ "enum.DoorVisualLayers.Base" ] + - state: closed_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseUnlit" ] + - state: welded + map: [ "enum.WeldableLayers.BaseWelded" ] + - state: bolted_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseBolted" ] + - state: emergency_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseEmergencyAccess" ] + - state: panel_open + map: [ "enum.WiresVisualLayers.MaintenancePanel" ] + visible: false + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 800 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 530 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + SheetPlasteel1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Windoor + node: pwindoorSecure + - type: StaticPrice + price: 312 + - type: RadiationBlocker + resistance: 4 + +#Uranium Windoors +- type: entity + id: BaseUraniumWindoor + parent: BaseWindoor + abstract: true + components: + - type: Sprite + sprite: Structures/Doors/Windoors/uranium.rsi + layers: + - state: closed + map: [ "enum.DoorVisualLayers.Base" ] + - state: closed_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseUnlit" ] + - state: welded + map: [ "enum.WeldableLayers.BaseWelded" ] + - state: bolted_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseBolted" ] + - state: emergency_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseEmergencyAccess" ] + - state: panel_open + map: [ "enum.WiresVisualLayers.MaintenancePanel" ] + visible: false + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 240 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + SheetSteel1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Windoor + node: uwindoor + - type: StaticPrice + price: 180 + - type: RadiationBlocker + resistance: 3 + +- type: entity + id: BaseSecureUraniumWindoor + parent: BaseWindoor + abstract: true + components: + - type: Sprite + sprite: Structures/Doors/Windoors/uranium.rsi + layers: + - state: secure_underlay + - state: closed + map: [ "enum.DoorVisualLayers.Base" ] + - state: closed_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseUnlit" ] + - state: welded + map: [ "enum.WeldableLayers.BaseWelded" ] + - state: bolted_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseBolted" ] + - state: emergency_unlit + shader: unshaded + map: [ "enum.DoorVisualLayers.BaseEmergencyAccess" ] + - state: panel_open + map: [ "enum.WiresVisualLayers.MaintenancePanel" ] + visible: false + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1200 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + SheetPlasteel1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Construction + graph: Windoor + node: uwindoorSecure + - type: StaticPrice + price: 462 + - type: RadiationBlocker + resistance: 5 diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml index f8ccdd1e7f0..ff5f48dace5 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml @@ -1,15 +1,39 @@ -- type: entity +- type: entity id: Windoor parent: BaseWindoor - name: windoor + name: Windoor description: It's a window and a sliding door. Wow! - type: entity id: WindoorSecure parent: BaseSecureWindoor - name: secure windoor + name: Secure Windoor description: It's a sturdy window and a sliding door. Wow! +- type: entity + id: WindoorPlasma + parent: BasePlasmaWindoor + name: Plasma Windoor + description: It's a pink window *and* a sliding door. Amazing! + +- type: entity + id: WindoorSecurePlasma + parent: BaseSecurePlasmaWindoor + name: Secure Plasma Windoor + description: It's a sturdy purple window *and* a sliding door. Spectacular! + +- type: entity + id: WindoorUranium + parent: BaseUraniumWindoor + name: Uranium Windoor + description: It's a window and a sliding door. Huh? Oh, and it's green! + +- type: entity + id: WindoorSecureUranium + parent: BaseSecureUraniumWindoor + name: Secure Uranium Windoor + description: It's a sturdy window and a sliding door. It's so neon green, it might even taste like limes! + # TODO remove these with parameterized prototypes/whatever we end up doing # Windoors (alphabetical) @@ -61,6 +85,14 @@ - type: AccessReader access: [["Janitor"]] +- type: entity + parent: WindoorPlasma + id: PlasmaWindoorJanitorLocked + suffix: Janitor, Locked, Plasma + components: + - type: AccessReader + access: [["Janitor"]] + - type: entity parent: Windoor id: WindoorKitchenLocked @@ -152,6 +184,14 @@ - type: AccessReader access: [["Chemistry"]] +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureChemistryLocked + suffix: Chemistry, Locked, Plasma + components: + - type: AccessReader + access: [["Chemistry"]] + - type: entity parent: WindoorSecure id: WindoorSecureCentralCommandLocked @@ -160,6 +200,22 @@ - type: AccessReader access: [["CentralCommand"]] +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureCentralCommandLocked + suffix: Central Command, Locked, Plasma + components: + - type: AccessReader + access: [["CentralCommand"]] + +- type: entity + parent: WindoorSecureUranium + id: UraniumWindoorSecureCentralCommandLocked + suffix: Central Command, Locked, Uranium + components: + - type: AccessReader + access: [["CentralCommand"]] + - type: entity parent: WindoorSecure id: WindoorSecureCommandLocked @@ -184,6 +240,22 @@ - type: AccessReader access: [["Engineering"]] +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureEngineeringLocked + suffix: Engineering, Locked, Plasma + components: + - type: AccessReader + access: [["Engineering"]] + +- type: entity + parent: WindoorSecureUranium + id: UraniumWindoorSecureEngineeringLocked + suffix: Engineering, Locked, Uranium + components: + - type: AccessReader + access: [["Engineering"]] + - type: entity parent: WindoorSecure id: WindoorSecureExternalLocked @@ -200,6 +272,14 @@ - type: AccessReader access: [["Janitor"]] +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureJanitorLocked + suffix: Janitor, Locked, Plasma + components: + - type: AccessReader + access: [["Janitor"]] + - type: entity parent: WindoorSecure id: WindoorSecureKitchenLocked @@ -248,6 +328,14 @@ - type: AccessReader access: [["Research"]] +- type: entity + parent: WindoorSecurePlasma + id: PlasmaWindoorSecureScienceLocked + suffix: Science, Locked, Plasma + components: + - type: AccessReader + access: [["Research"]] + - type: entity parent: WindoorSecure id: WindoorSecureServiceLocked diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml index baf50e17d2f..7b486dd3aae 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml @@ -53,6 +53,54 @@ - type: RadiationBlocker resistance: 5 +- type: entity + id: UraniumReinforcedWindowDirectional + parent: WindowDirectional + name: directional reinforced uranium window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: Structures/Windows/directional.rsi + state: uranium_reinforced_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: uranium_reinforced_window + - type: Construction + graph: WindowDirectional + node: uraniumReinforcedWindowDirectional + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: Structures/Windows/cracks_directional.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + PartRodMetal1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 70 + - type: entity parent: ReinforcedUraniumWindow id: ReinforcedUraniumWindowDiagonal diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml index 42ff0f4258f..4152665fe0a 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml @@ -51,6 +51,51 @@ - type: RadiationBlocker resistance: 3 +- type: entity + id: UraniumWindowDirectional + parent: WindowDirectional + name: directional uranium window + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: Structures/Windows/directional.rsi + state: uranium_window + - type: Icon + sprite: Structures/Windows/directional.rsi + state: uranium_window + - type: Construction + graph: WindowDirectional + node: uraniumWindowDirectional + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: Structures/Windows/cracks_directional.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 40 + - type: entity parent: UraniumWindow id: UraniumWindowDiagonal diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml index f87e515bd43..2acdfb5809d 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windoor.yml @@ -1,4 +1,4 @@ -- type: constructionGraph +- type: constructionGraph id: Windoor start: start graph: @@ -27,6 +27,7 @@ - !type:SnapToGrid {} - !type:SetAnchor {} edges: + #to normal - to: glass conditions: - !type:EntityAnchored {} @@ -34,6 +35,26 @@ - material: Glass amount: 5 doAfter: 1 + + #to plasma + - to: pglass + conditions: + - !type:EntityAnchored {} + steps: + - material: PlasmaGlass + amount: 5 + doAfter: 1 + + #to uranium + - to: uglass + conditions: + - !type:EntityAnchored {} + steps: + - material: UraniumGlass + amount: 5 + doAfter: 1 + + #back to start - to: start conditions: - !type:EntityAnchored @@ -47,6 +68,7 @@ - tool: Welding doAfter: 2 + #normal windoor node - node: glass entity: WindoorAssembly edges: @@ -120,12 +142,162 @@ - tool: Anchoring doAfter: 1 + #plasma windoor node + - node: pglass + entity: WindoorAssemblyPlasma + edges: + - to: pwired + conditions: + - !type:EntityAnchored { } + steps: + - material: Cable + amount: 5 + doAfter: 1 + - to: assembly + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetPGlass1 + amount: 5 + steps: + - tool: Screwing + doAfter: 2 + + - node: pwired + entity: WindoorAssemblyPlasma + edges: + - to: pelectronics + conditions: + - !type:EntityAnchored {} + steps: + - tag: DoorElectronics + store: board + name: "door electronics circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 1 + - to: pglass + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 1 + + - node: pelectronics + entity: WindoorAssemblyPlasma + edges: + - to: pwindoor + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + doAfter: 2 + + - node: pwindoor + entity: WindoorPlasma + edges: + - to: pwired + conditions: + - !type:EntityAnchored {} + - !type:DoorBolted + value: false + - !type:WirePanel {} + - !type:AllWiresCut + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Anchoring + doAfter: 1 + + #uranium windoor node + - node: uglass + entity: WindoorAssemblyUranium + edges: + - to: uwired + conditions: + - !type:EntityAnchored { } + steps: + - material: Cable + amount: 5 + doAfter: 1 + - to: assembly + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 5 + steps: + - tool: Screwing + doAfter: 2 + + - node: uwired + entity: WindoorAssemblyUranium + edges: + - to: uelectronics + conditions: + - !type:EntityAnchored {} + steps: + - tag: DoorElectronics + store: board + name: "door electronics circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 1 + - to: uglass + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 1 + + - node: uelectronics + entity: WindoorAssemblyUranium + edges: + - to: uwindoor + conditions: + - !type:EntityAnchored {} + steps: + - tool: Screwing + doAfter: 2 + + - node: uwindoor + entity: WindoorUranium + edges: + - to: uwired + conditions: + - !type:EntityAnchored {} + - !type:DoorBolted + value: false + - !type:WirePanel {} + - !type:AllWiresCut + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Anchoring + doAfter: 1 + + #secure windoor nodes - node: assemblySecure entity: WindoorAssemblySecure actions: - !type:SnapToGrid { } - !type:SetAnchor { } edges: + #to secure - to: glassSecure conditions: - !type:EntityAnchored { } @@ -133,6 +305,26 @@ - material: ReinforcedGlass amount: 5 doAfter: 1 + + #to secure plasma + - to: pglassSecure + conditions: + - !type:EntityAnchored { } + steps: + - material: ReinforcedPlasmaGlass + amount: 5 + doAfter: 1 + + #to secure uranium + - to: uglassSecure + conditions: + - !type:EntityAnchored { } + steps: + - material: ReinforcedUraniumGlass + amount: 5 + doAfter: 1 + + #back to start - to: start conditions: - !type:EntityAnchored @@ -146,6 +338,7 @@ - tool: Welding doAfter: 10 + #secure node - node: glassSecure entity: WindoorAssemblySecure edges: @@ -219,3 +412,153 @@ steps: - tool: Anchoring doAfter: 4 + + #secure plasma node + - node: pglassSecure + entity: WindoorAssemblySecurePlasma + edges: + - to: pwiredSecure + conditions: + - !type:EntityAnchored { } + steps: + - material: Cable + amount: 5 + doAfter: 1 + - to: assemblySecure + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 5 + steps: + - tool: Screwing + doAfter: 4 + + + - node: pwiredSecure + entity: WindoorAssemblySecurePlasma + edges: + - to: pelectronicsSecure + conditions: + - !type:EntityAnchored { } + steps: + - tag: DoorElectronics + store: board + name: "door electronics circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 1 + - to: pglassSecure + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 3 + + - node: pelectronicsSecure + entity: WindoorAssemblySecurePlasma + edges: + - to: pwindoorSecure + conditions: + - !type:EntityAnchored { } + steps: + - tool: Screwing + doAfter: 4 + + - node: pwindoorSecure + entity: WindoorSecurePlasma + edges: + - to: pwiredSecure + conditions: + - !type:EntityAnchored {} + - !type:DoorBolted + value: false + - !type:WirePanel {} + - !type:AllWiresCut + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Anchoring + doAfter: 4 + + #secure Uranium node + - node: uglassSecure + entity: WindoorAssemblySecureUranium + edges: + - to: uwiredSecure + conditions: + - !type:EntityAnchored { } + steps: + - material: Cable + amount: 5 + doAfter: 1 + - to: assemblySecure + conditions: + - !type:EntityAnchored + anchored: false + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 5 + steps: + - tool: Screwing + doAfter: 4 + + + - node: uwiredSecure + entity: WindoorAssemblySecureUranium + edges: + - to: uelectronicsSecure + conditions: + - !type:EntityAnchored { } + steps: + - tag: DoorElectronics + store: board + name: "door electronics circuit board" + icon: + sprite: "Objects/Misc/module.rsi" + state: "door_electronics" + doAfter: 1 + - to: uglassSecure + completed: + - !type:SpawnPrototype + prototype: CableApcStack1 + amount: 5 + steps: + - tool: Cutting + doAfter: 3 + + - node: uelectronicsSecure + entity: WindoorAssemblySecureUranium + edges: + - to: uwindoorSecure + conditions: + - !type:EntityAnchored { } + steps: + - tool: Screwing + doAfter: 4 + + - node: uwindoorSecure + entity: WindoorSecureUranium + edges: + - to: uwiredSecure + conditions: + - !type:EntityAnchored {} + - !type:DoorBolted + value: false + - !type:WirePanel {} + - !type:AllWiresCut + completed: + - !type:EmptyAllContainers + pickup: true + emptyAtUser: true + steps: + - tool: Anchoring + doAfter: 4 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml index fdc45ff08ca..3b1cd4bbb04 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml @@ -4,15 +4,22 @@ graph: - node: start edges: - - to: plasmaWindowDirectional + + - to: windowDirectional steps: - - material: PlasmaGlass + - material: Glass amount: 1 doAfter: 2 - to: windowReinforcedDirectional steps: - material: ReinforcedGlass + amount: 1 + doAfter: 3 + + - to: plasmaWindowDirectional + steps: + - material: PlasmaGlass amount: 1 doAfter: 2 @@ -21,13 +28,19 @@ - material: ReinforcedPlasmaGlass amount: 1 doAfter: 3 + - to: uraniumWindowDirectional + steps: + - material: UraniumGlass + amount: 1 + doAfter: 2 - - to: windowDirectional + - to: uraniumReinforcedWindowDirectional steps: - - material: Glass + - material: ReinforcedUraniumGlass amount: 1 doAfter: 3 + - node: windowDirectional entity: WindowDirectional edges: @@ -99,3 +112,40 @@ doAfter: 2 - tool: Anchoring doAfter: 3 + - node: uraniumWindowDirectional + entity: UraniumWindowDirectional + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 1 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumReinforcedWindowDirectional + entity: UraniumReinforcedWindowDirectional + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 1 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 5cd2c1b396b..4e19f204f17 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -947,7 +947,7 @@ startNode: start targetNode: windoor category: construction-category-structures - description: It opens, it closes, and you can see through it! + description: It opens, it closes, and you can see through it! And it can be made of Plasma, Uranium, or normal Glass! icon: sprite: Structures/Doors/Windoors/windoor.rsi state: closed @@ -964,7 +964,7 @@ startNode: start targetNode: windoorSecure category: construction-category-structures - description: It opens, it closes, and you can see through it! This one looks tough. + description: It's tough, it's a door, and you can see through it! And it can be made of Plasma, Uranium, or normal Glass! icon: sprite: Structures/Doors/Windoors/windoor.rsi state: closed diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/assembly.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/assembly.png new file mode 100644 index 0000000000000000000000000000000000000000..3556cb67049fc12b55b8960134539d50b79744d5 GIT binary patch literal 1031 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>U_R*S;uumf z=k1+?*)pLFY#;K|1wWak9a^;R+p1AraRdYIu*j%l5u$iJ% zm9bVKip%z;>TmWn7rJlk;Oy8qGfAQ)WNyxajkE9Gl;z*m=pa;eVqgA?8hei7$RBaf z&TfCtdXMGA4!6B_JcmDQ4_hs&+K~MF_=bFj+gHWc-@Uc>+lrW5^UoQ7D(<;p^7F}6 zf8oax73aeW|IVNN;_ELB5w&wqtcq?uH@e?2cW-+Kd+iyqm^JxZ0_V(e`TpR*Ez{4! z2H|$>k0qvf2d}vL$2j-E|w{A5(bLPy3 zb|qx+$>fubKI4QR`{o<)sa4LKu44b`)6MVqJ0DAQcXz)iv6{koq_Ah{_llo6X*Z)A z3widmYDqoM=gW~l9Z~m3%2fVr=&O?ghwWy3xm5goB~Z~E_Q`I3zwg{h&a0DX>-k-$ z@%{CwXXbk!ZMbv){j=%&B5Lk_V=xOh+n@IAdBeiDXOwRo-+c4umD&6s&bO^Io9(wW zNHV+a{cq3Zmk(~*-URgW4DI=cXKyv%_xHiS-}#Gg%KTQDGwuDKdb@wqFTH)a`>`B{ z_wKuGuXh>rIoiB9Y{3S!sOImnUR~**_VuMj`+nyA{ax<%{PFrL(&@W+WfJq5ZO=Q4 zxPA~@HA8oY#`I+ufR2*4`B7YU=O)9357XK$?Ck8nKfL7bY4hUoq0inwDjs)z%}tPK zOP=3wvAlNiJ&85zw+F8N8Iim08KZUghs>YJciZevUVUb^;ri>v7M7Ju=9ICB<*X@d{1LNN1*D-1?>n9{b5nWxTQVdRa%3T!!ouBD;ZO=7-mX2l%=dc zTgPY!(Wz7pCvKOB1Xz;) zyLY{*F-xzj`}e*xs8HZd-s9!=?-XxhPV_$wMgZk6`pVrN-*;dc^HSI{L^R>V^z?{wC>FVdQ&MBb@0I-blH~;_u literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/bolted_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca98a410d0ed011a59a8773cbf8fdf40ee2c7fa GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|+&x_!Ln`LH zy|s~-L4kwCA^ApqNZ0|^HAh=^v(9@pJ6$(nR?mu_74NKpY8ek44ofy`glX(f`I0g8GxB}__ zK+M1(CnqN_FR!Geq^GB6U|^7^S5RbF>gnm}<>}e!(B13QKhJ&cxvUE}b8oE=-Eg_| z#>2ixPo6wEeE9IEb8|v~`o&6u{DK*n{=>jOAY<#||C_eoerI6eq6k!R!_&nvB%<~0 z)RTON6?j}8PjC?HnEUpB{njZ(I*Oa7F7o1G*E@6hgvY#PCo}B)b_AWfuORex%B8l* zhSK={-tV(mdk#O1+`)P0Ez5gJm8CtWn3jFfFNxY-D;5wM8v50`GkjV_X4my^!AA@C z?>h2SbKUzTYFic`l`M!2JF2;W`R;=c4QGpePBYATGPi`OvhNa)LxGUPgAWY%b{=lO z>?vGer);IXJcB9P#_^}*6&BNj|J64f6`nHJQC#@V9hRtB4yzyZ@E&K_a?IMiL-sVo jms8)Z4#`B-dD&Gn8f7Y*7Dk5s1_h(1tDnm{r-UW|qbjWZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closed_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..435a5cb044ee4c1a77f10eccb77c4e9f818c0505 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Y&=~YLn`LH zz3C{(V8Fv<@F#oq@^g;+Z?EfQnkS>eaKJ3~=;>bP1|q3+mlyyl!1Xc z%hSa%q+-t7**D8x8SuC|J4+vHOIr5-|0Qpy$y2S$RCGjU?mqW!G0W*3KQ`?x8em6) zhza_qS4GwMT`9kQJHy1FQ-ah>YD$5n@H-|;_|Ge7itCI8ol zU-tI?GyS@99$1;PZQb4Xnr5%h{(Amc``7g=%d2)(tx1pI|N5hJzj|7Mw}i~qz4H=k zF9@&w|Lx0HHRk8aGY?jrSFkxKr=PHRULo7wd3(!6enwnBnzG;FZAZsNyAwyauh{u! zO4i)$jN9Yz)_bYM+u6Jjw>EIp+g&%<^Ox`HU%61G%@ggVXB5O1PJS#rOOJPZ!^W!X zi}xM4P?NW#v+wF|xv#8lZ?3c)tTJn!*zmPkro6K)ApOSUWIMUVC(0almV8}SR{gOf zOjl{D^&0+nR#qPKWQ$hIri9*<*wgE0eBMqiz}i$tjf1UsIrP%6} zd}!Ikub1sQIII0&Potxzfd(tv(gO=bB&IMm2PFiYl9o7A z)0m$iAUTB*#OF#Z_-;M_^wzkT`sc+vuXWF^KJ&b2t+?xNPNQ}9X-9(d6Jpk{;SKzH zyr<$7Z_n$yJr@7ij*AB(6IF3AVGwUXmu~HEQkC<^=w#J7cjpsQH!T zRH=~jE3Pc4a$CxF)p%8Iz?{I`=0`nQ(jw_0w-;C}{!-(&{a(tJd8bxvb<|qiTFNH5 zSu(o0=Vs4VMTr*2Z09>a7ksr!-tu|pY18I>BPaX$r>`c|+fQ44@L!)8TjGUV52pQS zx%E{eKUqMs#ZjWiVDiDowdIj&f9r4hu$?dGUw!oQYV9=R8xmxqU+N!##s!nOm~ zC6*XntBO$5{b0(rvgcy3*{i9iBo{xQaz%Tpv6@kYF^`w=w48#ICK_iWHXZDm>6m$J z67M(Tq^CWq(r@M^XQb=gOfXlzb}r&q;GZ9P`7X!4)H8}Mx3ya5a_maIvzcRdfq%-I z!22t&av!!%(o3u6()+*r;1^p~@y%#B$*z1|XLjM-8r{^SZOb13aRQVEu@QL3@&^n5 yM@J~4L}QV8hUNWa#d+^zFFmi;Nt^M$^9OrY|JhiFg0^l@y7YAQb6Mw<&;$Uk9{HRA literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closing_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/closing_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..a7265ce6ec41ab8c6c8ea8bda187c8d0cbc6cd1f GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3xN0l2OE%Vw$3OAQjEnx?oJHr&dIz4a$b14IEGZr zd3)y|=V1c@mIJT%Z~Kz6|4+|Bi7@HZWlgm*NrLKUf$ETf{mUO`Hd-C_@$c)l`F`sY zT@5ia!4;Wkrpv>c2tw~67~S8@*wVm$zO_ds_Y?B rD5QY?U)$s=`xuY-`CsY~G7ZJjQ~U)l7WAxq2NLvj^>bP0l+XkK<0dRg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/emergency_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/emergency_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd783a239c95b402d0d309d07b6b63f32209c8d GIT binary patch literal 5123 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 Cd_k80 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/open_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/open_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..ddcc55de0ab5a3ab35c489988816830f093ee8d9 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|>^xl@Ln`LH zy=f@OV8Frb5EJ71_w-^e32x^9Tt?3(aWF`fetK2{(#;TN=*h^i|Ai!o4Fs(1S(DjI WGC4U9EX*tb33$5txvX;B_A_QSTxe<_Cj>s`1q6i5AG{7LrjRSHB zQIS)SL(YK8po0T)EQuVFz#s+)0VN3}A?%OtY}MA*)NWV(@AZ4{tFEtKfBkpbIeTkq zNfk*D2qbNT#W(`K4ETB^V1P|F4Y>w5@D)ev)1bP+eM}HYV#)?%;e7o*tJv(aLamsHJhEd) z5EGM?*sDc58>pL@be;?u6mQ!T^{baqZegWl;o#7A>;1r6!a+vYwi&PU8e0wwQ20Ma z?bGl{oq_=wMMXtDKcOh_7?V62s$Fbviur@=sH1I{U|On35!vGjTLgSDKbafL{4H4W zy?TP5f&EZ%p`E6@^AqQgprD5XTc-{s7?c*22|GBu=4YxS>qTYp7uz582k+DKA0Fp^ z_v2-!6mcehK((o%!Dcu_CWFE+{KvvHj1{@Cdt&CvQ2k8(P)Bn~joHImYEj@--qXv1 za(MeSly!rccx8LHy-$4f{r|@E=d3Ml)eHDTb6qJRftuc?5Wdf?B_6+XvTTcEUf>F+ zQ)dRR{aPM) zktfb!Fs0mw?vv+=`G>Q%uO`#j;gurV`EeuX#{`a;{#&E5hzTVC8Z&B?#jQr|3ea^N zuUDJ8y?;skuTP37qr^V^eyY`Z?z@QT@7wk(Oky41Wn#4BEMV_VVrKpfMk<|Vr{y1B;c^FbCI6s^z?AEu`62{Jn=!y)WJ z=u0s<4DuE_KXrW%_5dD)6&M4Ocmo_Vb4__+_Koe}`o`@Xpm7QJ$WCswrU8uCa171W{hQy27SD%ttZ}Z z!*p#IgEu#sURojTqMOIRavMvq0CsjG16_~_q}B+ez*VJ2eBZ?kZ-Ek66YLT2h}IFd`DBSH&lQ2}5{bPOViOm=hebWnRoran1f=;D|_ot=S#B3{pD8Oy2a@Nf?F~Z`9 zp?z^O!+f-@_#`is zEo5+T5Glu67V|DG#zQF)r~%NSyt8lYWh(TQnRwf1n1i;ISt%(9-;f<{t#r+v3 zj8%35ocvKE=ak6LBNQI1~ey`TUhSbj`u)*{C2goO&|k?j^(ht7PYq2gN;5Rh-8 zxJdtM(cr$Uq0vqdlCH1`cdV>Nnxeu*QgUHvL(wHeCGFXrg|HJdRj@hou$O)q8fI75 zdonbaSP53vZv&F&A?2{Z7h@`R6L(cI!8thnP}DaNdFvY_hg$&)eDw;N{crzFs>hX= z9J<D{c>|7|tSvtfH zau%hp>5*JW?{|4>0mr`b1g6#ym3-oa5Q}~(f366DN6*7GnFY(18em5K?|n0yJcO>f z&jXBxMW26GUxtdT=+Tw6ed=Jw3}fLdDDu<7;tu#vugEz7W+-yfHGK~>?MM*|F*=Qd zgzze0H+{zLs>l+~qvZcIlA66u;6qn5a`;3r0@@i_%fA(2Y@NdDHH*7SGp-WlA% z|75m0u+gWm`eJOX0eCtV%^;5-Jt7%%nLy%bc`+P>x=SIAbC`B(xQF?~3skM6ef4=0 zps{wNG#x^%I#_xQw+kMU>Z6B6TM92&KvZU_lJf6lDXt%I7+Y33vcNm&(MGfU{%r39v@<4&n`ehq@{zXpRcBZt_&Ld`X L#vW65+BfN+tCV6g literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/opening_unlit.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/opening_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3072db8a3380b5d30b529e302f472d1c004412 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^3xN0l2OE%Vw$3OAQjEnx?oJHr&dIz4a&CIMIEGZr zd3)y|=K%!)7Khy)qA&N`eCBRIV>Fp&ex-hI_9 z)rD~x9xPs!u;K;>j4!k7_dm;06Brjn`#q`WhVUKi?=>+pd`dB3Xt0swVNmdAV`exp z`5;tr!~KAigxSt43_3#c3=AHV9T_16R2rFD&?XDiwdCXihR{0)fD&hIHl^EJT3_*d P4N~Rl>gTe~DWM4fC@V)_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/panel_open.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/panel_open.png new file mode 100644 index 0000000000000000000000000000000000000000..21bbb4dedfaa6109b7ed1510cd8a24326ef01358 GIT binary patch literal 747 zcmVnsP4tV*6?7=~dOhG9|wuf?;zCyxhDRT*=m(a14MQvZ~tCf!VvJ4R6w(Zb}UF;1rcDrU3uzceVN<|+(zJ14|`}*Z*{IH|hXvnwVIF2%> zAJ_qmIGlHGBtL*9E0o@)|N+ z>S@|N-rPLAhdhCdG3p&UuvC8stuP-7A=ep{YAM^0;gaWcIvrdL?ju8_tRPe4NhjPx zgv;x2h1qB{QK?iwecTu7^_#f7v?P0-hoMTQ!1nfw90k7~PGj5lXoWdW=B5;&%mdaF zJZxN$raVBo3CigZ>@PB1tnal!F zSOKg6Rsbu26~GE$1+W5G0jz+GDPx$mPtfGRCt{2nlX;TFc3w*5hOHpTN(w?puNLVp*;epq+bp|!4Xz8h=|nNq#;4X zTY*@K01|j6i~nn^Xd=ZPe}6|F8~igI(9-V1Q?b@McUU@iSUPL1lYTbZ37AYiT@-at zmV0QlZS4f4n>BVtfnKkNJkL*UH;%C@3h%9Y0+PYd+YBGM_MSSydw?%4?G^^8H2Oja zA%qY@2qA2u zyMO_zM|TYET|&%&thH`5dPllhBN+^_T74tSGIJ~D8?nm<+jNE~>R?wCh@uX*>FlnU zZ$xifl;s}XI6fKVVzKzCi%B7p00*@C$@I@G_me3;#^blTm=vlCxHsmL#(IF%Whg2@ z>OfWQ@ST-S9T zP#5!!NCM7_AJ=C2r4>LA06l>J0YNL^(mFRlWq_(KCebfd1)LW@US0uB^?+YA!ueVa Sdh8ki0000)4{GLKmwPTFXn3^WA+ zHoUWuf41Ll`KK4let+&aG-}?^v-0O`FL4Fgdd2sx&lRGG;ruBp zmDCJ3r5q0y18yd;#`DSlY$AUyXyZCvAX=p0@=-FmXS&OUlFv8!u0Rc*$eqPp%$E;*aeSvoF$_{M*~?U*0YMm-=#!qTTU^>T(@y zSsJll=KuJ9=CHLw_}gWFr<`kCc4@OgkD-YY!b~8`#JGN*jP9F7hb%9p@QKcwANap+ zmu~UH?aTK_Kl`LN`E$(-Qzz%?#us1Tu3kO=h?nt4XHWjHT?KdN@9)ul*S=e|PARW- z{@ap2x_7?t-FSQM{@pF}uiaA){<$SA@xku@bAuGySNJhMIRA>t%2Wo$VjySDZ>HVr VP6;vl9oh(z@^tlcS?83{1OSL6&Hn%Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/welded.png b/Resources/Textures/Structures/Doors/Windoors/plasma.rsi/welded.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/Structures/Doors/Windoors/uranium.rsi/assembly.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/assembly.png new file mode 100644 index 0000000000000000000000000000000000000000..e9a711366260764b4478c6063df8b40bcb7521f1 GIT binary patch literal 1033 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGojKx9jP7LeL$-HD>U_R{W;uumf z=k1;I*)pLF>>u8rJ9o}ZhjTV(_k=YQeN4Y>x-4ST`Hyk8x+srrMc|qT@&Oth>W&(= zVww?}71~vTtvT{QTEphWCTt zM)~`G$2~a9Bzb+s^~VYvW>IUyW-v^9DL=cG`9@dy^8DED_2*np@BOp8<&TV_ap=82 z57)-7PDp%pNaxx967A-L0)4>;PVeZO`?Y#z{(*yK{2vY6_B~o~nX_PB#F5Q)_ivbf z7B<)#&=k7i!I`N6tM~p3n)l~_@!3D_7al!IdbCULkin7r(b1Kce@=UOV9Ul_>DRAc zYfL}=W?=_1*wbZm-kU*X-+T3*X3u%gRZq(AsrmMIyW3*Hu&^)zSHV<<#TPlI+dY1| z`Kel^!AsY5($meq&G>otnbg;mjH8GiP>*8N;0TuLe?c=gg1(kyd9ecT8h{@WIRe-?W!) zZ*&y!sbM-c|7&m6;|-TH7l(b`crE5MbDG%0&7ahF@zzdUeKPk!g29oUNgpGueXTU_ z%hg<6Z(}dNzxnIh-^b1$pZ&-DN+DOpwfFY_UnpB>-rtlf&A;#bv7bLe%of~!`>ZIR z+2Qxp`dGE8ybF3-RC;+&Twz(kn3BaXQ_5i(+k}<4nKyrM`UKZ4Q%m^6vP{!HSa^YH zgHJZHwn!=IhL7D`U#pZ?hOPG8d(XpX-<|{K(yf0fUyeAhV==2Cz~}?x?$e_~7B%9qYRDwr8g>EPrbM>!Od{ z?5{tkYCo^O_Hh5>{I7lOhKCGV-v4%ED~S4c)c@?0&41ZT7*EXlo2+sfn70``UHx3v IIVCg!08lUdbpQYW literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/bolted_unlit.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/bolted_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca98a410d0ed011a59a8773cbf8fdf40ee2c7fa GIT binary patch literal 141 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|+&x_!Ln`LH zy|s~-L4kwCA^ApqNZ0|^HAh=^v(9@pJ6$(nR?mu_74NKpY8ePx%pGibPRCt{2n!jrkVHn3hF_)ASLd(UwHiMjrIt4C6J2=>_pyw(Gb&rdGkBh-Y z6elOqF5TkVp}|ho#MDA#Vvm+WiuuuVD1kIhTZi8JO7HnVc;PbSdA|3_^TNFcntAMb z$2&VaTa`-158#ICPfT|J4?EslfKIBr53oSdTxY`%`*-I^rw@<*#I*;o_(h-n!!W4T zYN6MsBpCGjbW+{@dcB?j_{HJjXgI#_7Y5E^ZAf#Rt>a6FuYg99ZsDGgw>$?>grG#r2*jfRpfQkwzej2oZ|Z3c{UQ8;1p z-xvTy+W;Wi2FMJE`V0^Q!~iis3=jjv05L!e5Cg=32pBMlNEtARNEskAAZjznVV!OAn3t5IQM?5c;?!Z|CN~O|W6}9~Z X{D(@f``*aX00000NkvXXu0mjfeoJ6o literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closed_unlit.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/closed_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..435a5cb044ee4c1a77f10eccb77c4e9f818c0505 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Y&=~YLn`LH zz3C{(V8Fv<@F#oq@^g;+Z?EfQnkS>eaKJ3~daLw8B zk)6#37oUfo+3#|nJb7~X@ZlY7CfPuYE`D9BQkUMxp#|MPUrZs zX>ZX0xe*K|=$~E{RpWQ1{QB(_|KRym^Vi9}mb}(%dv5CLqNK)ks`nmO9kPAL|5(oa z(Cd}_Umt$i+xyS->&kgxWzM#Bci(H8y*~Tv`D5*0*RL$E+EukCJ%a!1kJA0>X$9UA zGFSJ`OQ^jdy!QXMFJIM|pDWKiSaDv#=AfK@!s2;_Y%bLYX#Cw3nVy5L-C;vG6QC z-t7$=tFABJci=)z-j2?`tGngCvbw#w(sHoMta)O?*JhdW&bEN`8;_IiU$Br;vrK#3y_}^JsdCZe7S}mIrdQ)Ogub=UGJGB67U)`|s=I0+XpWS5F%~Jn$ z{?nIYt5fo!t&hJ>@_zc=eRIvr!*)k!_rASew(H=m_Jci*j+zD~r*4d{W3C>T5 zS-*xi@ayrOidVcnukZF){9`-Dwp+50=W|a`dJ&Mg?gS**&Ki43nw;0DwNIN9_^a-W z#p0mmSCUhuLe8(avY^UsDce=!Rk;Ck0&|-m^<+tlq=(#IV6pg1joT@BCcw)hc<*=bfiboAZsF?B}1pnow^)ZS}!_ePV2h z7j8Y6_M_$2SB?B+0m&9ei5`Q=2Orm#N2>j;zv;tvzMOyc(aWo~(~NIaXsliy9)2cm z!`BJh4qTU5Vsx!4LQVIBDcj1Pi@|2Erk;{q{Cvt4?Wx9UMiIt5UdGdM3Qn46oQ>FY zuxqAc=CMh<-;9%<_NYp~nU|cAu5&ZNT>09$h+lz!e&pr59Q#twD7xI%YMslmEA`H1 zj@bqNDQ^Prue{2A*g8ost(r^k|L%idY+1!Oqv0gG@^zirg>!3kQ0yjmx1#{146>{@5ia!4;Wkrpv>c2tw~67~S8@*wVm$zO_ds_Y?B rD5QY?U)$s=`xuY-`CsY~G7ZJjQ~U)l7WAxq2NLvj^>bP0l+XkK<0dRg literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/emergency_unlit.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/emergency_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd783a239c95b402d0d309d07b6b63f32209c8d GIT binary patch literal 5123 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/open_unlit.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/open_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..ddcc55de0ab5a3ab35c489988816830f093ee8d9 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|>^xl@Ln`LH zy=f@OV8Frb5EJ71_w-^e32x^9Tt?3(aWF`fetK2{(#;TN=*h^i|Ai!o4Fs(1S(DjI WGC4U9EX*tb33$5txvX^u$I#qLL<|Jq&+|^_y!mI|yXV~R=YGHU-tYb1?{aSf&A}SB z2Dt_V0>Nykl;Z$$f!?SK0ch+&-zxxUT{>=k7*x`+aRLN_?zEwhPlVo|&aw|OIQ7G| zB%(J>rZY-f>uOx5f1DNA?~+12kyf}RMC#(H9pSRo)bkq zF328JU%%C7NWA`CF0)Njd&5+*K%-P!Fn)2=>(=YC0rK z{Su?IFj1>?i`}wU5AO)lcK%2iCOSN6giw~1*HtTU8> zYocRfil|hBNGznf@x#BI)pH~MO{|{33gxG^tJD1=LkO5ktgw1mmmM|N6%^+cIX z$v-aroOnwlm6-05G%}4^u0%DK31ejuW|n?ASJwIfYsxa@ADdlsOyh$X8b6nj*>#!+ zlgQ4L$E&5e62Y+cwN3Se`&FnnhztUV_0SQ-BCf6uJa{HOp|&|7H{|o@R{H5`+J;AV z@9ae(d*1sa*EJ)`w~_Pm>BX7_Ct2ETc68ltd6|;q;N#FGmGU*LxvBTQa|0s`XO*XV zJj^>5a%r=VIIW{02yCcmAY|p>0-{SBxEgMQdhvjWHg@rVy<6U|56DriSo{XqGlFHM z#^GC=LYx1u;mgtXoE%hO!NwGRApiK3Whq(wDx@D{=~FwZR0-Eocau`M?<#ucg~h0)w5BIiw%3==C~KT?+Ys zvV*Gzs~yK(Ihcxp$4BO)!PT)^x|nmJp_%bCZ7_L;;gLgz=~7%hJ-4(~RBvI5CQulR ztx|0UBDYFqCrX7A!81Ewc3nUkSBwvQI@!FuRZCZ2oE>a_C-ICpt@v`|1t=sSAh7=7 zi|gwG-D@D)>&sGX<()*F7i~wcQ1p6^`7BV}F(kVu%-*HJyDV28?JM6416+A1oVWb; zCXe^V5xm$guf%?AZf-_)b`aj5TDzA2qEsv}2epk|yz49V;MSqo_3YbP8q zmsM^-hb=ER4-*&JvmRyrcGUb@(jvTJD6^JX3JTUhVKr06?4$& zQ09i*H0hqbnHyN`I+g4n$^Kxfs;-y0@t?LlWBtxL+3bPI8q`X;S5*a%p21+b$mR2R zp6>|Uj;CUFv5i)Qe`P|Tw`Tx73GeLCEMgmIexWHo z{t4V<`pN|Z(i#Kx&OqY{LT1&_OMB3EyZK5z(to%X;1Gf6+U{~l45LqA39>(=J)9xm ztTk-(S3+FW01250JXvch<3xpzw)z9FY2ah?-4-mdy<#Ys-jHsvcy=l8Qq%Ng_npu% z4l$e}{aq}~ca8|7&78Xfb@TM(tu-=DPU8j&C{HI}MSYp%1!aF2C`t<0n4f>dJy@C1 z?O=W}7a#Lbee|6Ud_EtkcnhC6E!WC=v$wTkC*93$cz>1Qiem*Ap{D7!<+eP; zhWn0gN&HYBSV#V2cj@`+Pu~9J?Kc2py#O2oK{dUDv@pHT4y8zHxgjlrVzJF5-bC3RN@G>h8m!dGceh~rHHmvB1U z?)F)y!V@E1f2cgy1;EBfjAX|d8Kp1xS%}nw_=2h-tIJ?pq8ZjR)>Z|d_bfYx!=o)y z@dZ$}9M83ZQd`_(?|!rfBX4s=OH|Se1nnLwiZlkrPGn3S!DtQV$7oKBvc8p5Q3yO5 z@Z(o1Y4OV90aY@92bHzT|3)h{Ahc3rp#9KdC|80@<@^Mvu)w~G2av0bo+RXYwi6NY zo$y1!rZ}81AtXCyMpFPp8JEqe^(a}G5Ix!RVUJlxTkrl`t@1|PsF7o1TX%O51C`~b z$d2jm?tZZGb#Pd?GB7U-3L+-)UeoXD>H+P2&qr(zR)m5j#ARIp$M$Ia90iog+E#HN`0=HPdPmIQ@)Ili!uGY%0Xk+C-DLKsi{omufkn{im literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/opening_unlit.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/opening_unlit.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3072db8a3380b5d30b529e302f472d1c004412 GIT binary patch literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^3xN0l2OE%Vw$3OAQjEnx?oJHr&dIz4a&CIMIEGZr zd3)y|=K%!)7Khy)qA&N`eCBRIV>Fp&ex-hI_9 z)rD~x9xPs!u;K;>j4!k7_dm;06Brjn`#q`WhVUKi?=>+pd`dB3Xt0swVNmdAV`exp z`5;tr!~KAigxSt43_3#c3=AHV9T_16R2rFD&?XDiwdCXihR{0)fD&hIHl^EJT3_*d P4N~Rl>gTe~DWM4fC@V)_ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/panel_open.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/panel_open.png new file mode 100644 index 0000000000000000000000000000000000000000..21bbb4dedfaa6109b7ed1510cd8a24326ef01358 GIT binary patch literal 747 zcmVnsP4tV*6?7=~dOhG9|wuf?;zCyxhDRT*=m(a14MQvZ~tCf!VvJ4R6w(Zb}UF;1rcDrU3uzceVN<|+(zJ14|`}*Z*{IH|hXvnwVIF2%> zAJ_qmIGlHGBtL*9E0o@)|N+ z>S@|N-rPLAhdhCdG3p&UuvC8stuP-7A=ep{YAM^0;gaWcIvrdL?ju8_tRPe4NhjPx zgv;x2h1qB{QK?iwecTu7^_#f7v?P0-hoMTQ!1nfw90k7~PGj5lXoWdW=B5;&%mdaF zJZxN$raVBo3CigZ>@PB1tnal!F zSOKg6Rsbu26~GE$1+W5G0jz+GDPx$mPtfGRCt{2nlX;TFc3w*5hOHpTN(w?puNLVp*;epq+bp|!4Xz8h=|nNq#;4X zTY*@K01|j6i~nn^Xd=ZPe}6|F8~igI(9-V1Q?b@McUU@iSUPL1lYTbZ37AYiT@-at zmV0QlZS4f4n>BVtfnKkNJkL*UH;%C@3h%9Y0+PYd+YBGM_MSSydw?%4?G^^8H2Oja zA%qY@2qA2u zyMO_zM|TYET|&%&thH`5dPllhBN+^_T74tSGIJ~D8?nm<+jNE~>R?wCh@uX*>FlnU zZ$xifl;s}XI6fKVVzKzCi%B7p00*@C$@I@G_me3;#^blTm=vlCxHsmL#(IF%Whg2@ z>OfWQ@ST-S9T zP#5!!NCM7_AJ=C2r4>LA06l>J0YNL^(mFRlWq_(KCebfd1)LW@US0uB^?+YA!ueVa Sdh8ki0000)4{GLKmwPTFXn3^WA+ zHoUWuf41Ll`KK4let+&aG-}?^v-0O`FL4Fgdd2sx&lRGG;ruBp zmDCJ3r5q0y18yd;#`DSlY$AUyXyZCvAX=p0@=-FmXS&OUlFv8!u0Rc*$eqPp%$E;*aeSvoF$_{M*~?U*0YMm-=#!qTTU^>T(@y zSsJll=KuJ9=CHLw_}gWFr<`kCc4@OgkD-YY!b~8`#JGN*jP9F7hb%9p@QKcwANap+ zmu~UH?aTK_Kl`LN`E$(-Qzz%?#us1Tu3kO=h?nt4XHWjHT?KdN@9)ul*S=e|PARW- z{@ap2x_7?t-FSQM{@pF}uiaA){<$SA@xku@bAuGySNJhMIRA>t%2Wo$VjySDZ>HVr VP6;vl9oh(z@^tlcS?83{1OSL6&Hn%Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/welded.png b/Resources/Textures/Structures/Doors/Windoors/uranium.rsi/welded.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/Structures/Windows/directional.rsi/meta.json b/Resources/Textures/Structures/Windows/directional.rsi/meta.json index 26742cfe6c3..61a5e51e99a 100644 --- a/Resources/Textures/Structures/Windows/directional.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/directional.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "tgstation at ff1c30ac123dd28c6b5fee11e7f03654f5daa731, plasma windows from paradise at 44c12c6d9d0e42a9d3a582dff7e9a8d72b6ea68a", + "copyright": "tgstation at ff1c30ac123dd28c6b5fee11e7f03654f5daa731, plasma windows from paradise at 44c12c6d9d0e42a9d3a582dff7e9a8d72b6ea68a, uranium windows made via edit by SphiraI(github)", "size": { "x": 32, "y": 32 @@ -27,9 +27,17 @@ "name": "plasma_window", "directions": 4 }, - { - "name": "plasma_reinforced_window", - "directions": 4 - } + { + "name": "plasma_reinforced_window", + "directions": 4 + }, + { + "name": "uranium_window", + "directions": 4 + }, + { + "name": "uranium_reinforced_window", + "directions": 4 + } ] } diff --git a/Resources/Textures/Structures/Windows/directional.rsi/uranium_reinforced_window.png b/Resources/Textures/Structures/Windows/directional.rsi/uranium_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..2e5990bd0c6560053791bd89278fb8919e22f408 GIT binary patch literal 716 zcmV;-0yF)IP)Px%hDk(0RCt{2nn7zCK@`XTx{eTvUC_Z{>mhe<9=wRPeu@1a?WIu2t${)>$@iEq zk=l?;4&L^jgUZM%Y$XjivGkCvtyXOfvop4Rzmv{?VSJC>H~;m$99(n$>m4>nf58ACOFd^an5XdR`A6gdzg-^vyqw61@WYB)|7=XZoCf#? zng$F7Fcgr;iQu77>31FqmB@)OrbpAjZ7x5P;Qi6LeJR{$@}=ORSh;0msRR#&5j~E^fnR@kfYQp9A-*;TT_ZZLSBDz+rek>$%LKS;Ot|L1 zuK_vN?P>R?fDJY!c~^qcuFbo<%#&lMIoj|v@_>ILZqlXXavGrFX#m)$wU`F(GXH6I z<^$G_+LdE)mu3O00}|;`%j?x&PJmrnmbjk~ag5aj#8Qdt+QlrEO6;R$iJcIs)u)j)CX+SEMV6MghDk3-O~D-;_tL9p&DRwGx7oC1Aah0;6NZBU}F>V z0gsRmI6%k;SlNYq0QrD}g?xaGO~?m4LO$RCvFih(almVQ7)Rq^A1zDlbcZ+0AS~wt y0BqGP%nsNwLRXrh#dLD2j+bj|?eVQz#(W1DHXIeoeo&JD0000V6yRaaSW-L z^LF+@ufq-kZU4Q@9xQEi2z+$3{6%T&o_>K36K2o*^2|}7W`0BUTkDFA8m$Mu1$lUV zNZ91-91>-2E&AMA)jIY6%lm1|-{iP2c=qiF=SGbQQ};=}zIXcpckjf|iM17S_6!V5 zwi_g8+1}i>-Lc$n>pX^r^w1RfO_%uB`NwTJwb-GpnBl?+!GxGwQ!>xr%y_x`dvO(W z7L(+;t*4Y3DyDo7W|$hv*r^qmc_qX2FnhAYZ|MmuL>hVSx6RsL>znVO!?pGk$ED~D z9arN!`?j^t46fn^3T)JPA@2A{DAG6Sf_-?(O6{urgG&GjmbU;?&Z2@d-RHOw^QaduB~N|4T~v3P@!_YIK^q zP0G^#2$3Dpb7x+Bx0m;q3Eu+4hs%t=1g})pnV843!aMi(&U~>uZTDt03sstIVPH_u zuKj#xab5GJXa()R`N@0*$qv53S--Uoly6il%sQa>sDzin&c9woYwp**ZvyXycY2x2 zcQuzE|>W$LtQcF(?%sc`sbSWd#fzsd*L0@NLNr5)xnnC38) zGF{ogc!e|IFiyeV*|rBGL;_xSy7760Ec+ Date: Mon, 26 Feb 2024 18:26:46 -0500 Subject: [PATCH 156/345] Whisper bleed update v3 (#25434) * Whisper bleed update v3 * missed a few * Add bleeding message to health analyzer. * Fix bleed notification not updating. * Apparently this either doesnt exist (cherry picked from commit ff65cb7b0caaeb9edd9461eff942bdc6f5eb7f50) --- .../HealthAnalyzer/UI/HealthAnalyzerWindow.xaml | 3 +++ .../HealthAnalyzer/UI/HealthAnalyzerWindow.xaml.cs | 10 ++++++++++ .../Body/Components/BloodstreamComponent.cs | 2 +- Content.Server/Medical/CryoPodSystem.cs | 1 + Content.Server/Medical/HealthAnalyzerSystem.cs | 12 ++++++++++-- .../HealthAnalyzerScannedUserMessage.cs | 4 +++- .../medical/components/health-analyzer-component.ftl | 1 + Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml | 2 +- Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml | 2 +- Resources/Prototypes/Entities/Mobs/base.yml | 2 +- .../Entities/Objects/Specific/Medical/healing.yml | 1 + 11 files changed, 33 insertions(+), 7 deletions(-) diff --git a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml index 28872ef1d5d..401f9768629 100644 --- a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml +++ b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml @@ -32,6 +32,9 @@
  • [DataField] - public float BleedReductionAmount = 1.0f; + public float BleedReductionAmount = 0.33f; /// /// How high can go? diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index 97ae72bd110..4ab94c72b9f 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -203,6 +203,7 @@ private void OnActivateUI(Entity entity, ref AfterActivatableU bloodstream.BloodSolutionName, ref bloodstream.BloodSolution, out var bloodSolution)) ? bloodSolution.FillFraction : 0, + null, null )); } diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs index a8abc4752df..0e893c41145 100644 --- a/Content.Server/Medical/HealthAnalyzerSystem.cs +++ b/Content.Server/Medical/HealthAnalyzerSystem.cs @@ -179,16 +179,24 @@ public void UpdateScannedUser(EntityUid healthAnalyzer, EntityUid target, bool s bodyTemperature = temp.CurrentTemperature; var bloodAmount = float.NaN; + var bleeding = false; if (TryComp(target, out var bloodstream) && - _solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName, ref bloodstream.BloodSolution, out var bloodSolution)) + _solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName, + ref bloodstream.BloodSolution, out var bloodSolution)) + { bloodAmount = bloodSolution.FillFraction; + bleeding = bloodstream.BleedAmount > 0; + } + + _uiSystem.SendUiMessage(ui, new HealthAnalyzerScannedUserMessage( GetNetEntity(target), bodyTemperature, bloodAmount, - scanMode + scanMode, + bleeding )); } } diff --git a/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs b/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs index 1e2c2575d9c..78f26ed5c02 100644 --- a/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs +++ b/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs @@ -12,13 +12,15 @@ public sealed class HealthAnalyzerScannedUserMessage : BoundUserInterfaceMessage public float Temperature; public float BloodLevel; public bool? ScanMode; + public bool? Bleeding; - public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode) + public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode, bool? bleeding) { TargetEntity = targetEntity; Temperature = temperature; BloodLevel = bloodLevel; ScanMode = scanMode; + Bleeding = bleeding; } } diff --git a/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl b/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl index 9b0a8dd3ee3..648db3f4ebd 100644 --- a/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl +++ b/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl @@ -3,6 +3,7 @@ health-analyzer-window-entity-unknown-text = unknown health-analyzer-window-entity-health-text = {$entityName}'s health: health-analyzer-window-entity-temperature-text = Temperature: {$temperature} health-analyzer-window-entity-blood-level-text = Blood Level: {$bloodLevel} +health-analyzer-window-entity-bleeding-text = Patient is bleeding! health-analyzer-window-entity-damage-total-text = Total Damage: {$amount} health-analyzer-window-damage-group-text = {$damageGroup}: {$amount} health-analyzer-window-damage-type-text = {$damageType}: {$amount} diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml b/Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml index 472daed59b7..39e68b63a78 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml @@ -23,7 +23,7 @@ bloodlossDamage: types: Bloodloss: - 1 + 0.5 bloodlossHealDamage: types: Bloodloss: diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml index b9ab0cf6f8a..c64479369a6 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml @@ -64,7 +64,7 @@ bloodlossDamage: types: Bloodloss: - 1 + 0.5 bloodlossHealDamage: types: Bloodloss: diff --git a/Resources/Prototypes/Entities/Mobs/base.yml b/Resources/Prototypes/Entities/Mobs/base.yml index 788b14f3220..d4e9a561c5e 100644 --- a/Resources/Prototypes/Entities/Mobs/base.yml +++ b/Resources/Prototypes/Entities/Mobs/base.yml @@ -207,7 +207,7 @@ - type: Bloodstream bloodlossDamage: types: - Bloodloss: 1 + Bloodloss: 0.5 bloodlossHealDamage: types: Bloodloss: -1 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index ad814e8bf4f..bd789214f99 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -229,6 +229,7 @@ components: - type: Stack lingering: true + - type: entity parent: BaseHealingItem id: Tourniquet From dce50888784fab31b1bdc442c288d6b4d6bdb7d5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:26:50 +0000 Subject: [PATCH 157/345] Automatic changelog update (cherry picked from commit acc7927d946750b47dfff645fd770a708f76ae5e) --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 43dc9540e97..f6879217eb9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: Kobolds now come in a wide variety of colors, and now have random horns! - type: Add - id: 5539 - time: '2024-01-04T00:39:00.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23393 - author: IlyaElDunaev changes: - message: Tarantula can pry doors. @@ -3825,3 +3818,11 @@ id: 6038 time: '2024-02-26T23:19:51.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25526 +- author: Sphiral + changes: + - message: NT has finally perfected methods for infusing Plasma/Uranium into Glass! + Windoors now have such varients! And Uranium Slim Windows exist! + type: Add + id: 6039 + time: '2024-02-26T23:25:44.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25501 From 0e25e1226b04c4719403233ffa1fc31dfeec2eac Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:27:55 +0000 Subject: [PATCH 158/345] Automatic changelog update (cherry picked from commit a6f21468858588692ea0719a2202b1aac8f88cfa) --- Resources/Changelog/Changelog.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f6879217eb9..efb67eddfba 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: IlyaElDunaev - changes: - - message: Tarantula can pry doors. - type: Add - - message: Added regeneration for tarantula. - type: Add - id: 5540 - time: '2024-01-04T00:39:23.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23449 - author: Alekshhh changes: - message: Changed green-red jester outfit visually @@ -3826,3 +3817,17 @@ id: 6039 time: '2024-02-26T23:25:44.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25501 +- author: Whisper + changes: + - message: Bleed wounds will no longer heal so fast they do not need to be treated. + Please see the medical guidebook. + type: Tweak + - message: Decreased passive bleed wound clotting by 60% (now 0.33u per 3 seconds). + type: Tweak + - message: Decreased all bloodloss damage (as a result of bleeding) by 50%. + type: Tweak + - message: Health analyzers will report if your patient is bleeding. + type: Add + id: 6040 + time: '2024-02-26T23:26:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25434 From e3a171a215316fb28592a1778a87af6d891e39a0 Mon Sep 17 00:00:00 2001 From: Velcroboy <107660393+IamVelcroboy@users.noreply.github.com> Date: Mon, 26 Feb 2024 17:28:55 -0600 Subject: [PATCH 159/345] Adjusts wallmount arcs and partially fix nanomed issues (#25451) * Adjusts wallmount arcs and partially fix nanomed issues * wall closets * Guess it wants this * Adjust arc to 175 --------- Co-authored-by: Jeff (cherry picked from commit 32a440b487a807cca4b468f2d2f5a4eedcbdc34b) --- .../Entities/Structures/Machines/vending_machines.yml | 10 +++++++++- .../Storage/Closets/base_structureclosets.yml | 2 +- .../Entities/Structures/Wallmounts/defib_cabinet.yml | 2 +- .../Entities/Structures/Wallmounts/switch.yml | 6 +++--- .../Entities/Structures/Wallmounts/walldispenser.yml | 2 +- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 1b0c896b0b0..4c2217e6ff4 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -1324,12 +1324,20 @@ parent: VendingMachine name: vending machine abstract: true + placement: + mode: SnapgridCenter + snap: + - Wallmount components: + - type: Physics + canCollide: false + - type: Fixtures - type: Sprite drawdepth: WallMountedItems snapCardinals: false + - type: Rotatable - type: WallMount - arc: 180 + arc: 175 - type: Transform noRot: false diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml index 46ec7cbf6aa..66647d168f6 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/base_structureclosets.yml @@ -116,7 +116,7 @@ - type: ResistLocker - type: Weldable - type: WallMount - arc: 180 + arc: 175 - type: StaticPrice price: 50 - type: Transform diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml index 517d2d697d9..d9f4a827ccd 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/defib_cabinet.yml @@ -4,7 +4,7 @@ description: A small wall mounted cabinet designed to hold a defibrillator. components: - type: WallMount - arc: 90 + arc: 175 - type: Transform anchored: true - type: Clickable diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml index 3f77c248601..f08a229ff79 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/switch.yml @@ -189,7 +189,7 @@ parent: SignalSwitch components: - type: WallMount - arc: 180 + arc: 175 - type: Construction graph: SignalSwitchDirectionalGraph node: SignalSwitchDirectionalNode @@ -201,7 +201,7 @@ parent: SignalButton components: - type: WallMount - arc: 180 + arc: 175 - type: Construction graph: SignalButtonDirectionalGraph node: SignalButtonDirectionalNode @@ -213,7 +213,7 @@ parent: ApcNetSwitch components: - type: WallMount - arc: 180 + arc: 175 - type: Construction graph: LightSwitchDirectionalGraph node: LightSwitchDirectionalNode diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml index c8778aea50a..72ea308af08 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/walldispenser.yml @@ -8,7 +8,7 @@ - Wallmount components: - type: WallMount - arc: 180 + arc: 175 - type: Sprite sprite: Structures/Storage/tanks.rsi state: cleanerdispenser From fa2747425a188a5f88655bb6348f4a56d2f563d7 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 27 Feb 2024 10:29:36 +1100 Subject: [PATCH 160/345] Minor test fixes (#25423) * Minor test fixes c * fix? (cherry picked from commit 0889d6b0b03f9cf036789b358a1ae0f55567cb63) --- Content.IntegrationTests/Pair/TestPair.cs | 4 +++- Content.IntegrationTests/Tests/Minds/MindTests.cs | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Content.IntegrationTests/Pair/TestPair.cs b/Content.IntegrationTests/Pair/TestPair.cs index ba2faacb7e0..916a94c9c4c 100644 --- a/Content.IntegrationTests/Pair/TestPair.cs +++ b/Content.IntegrationTests/Pair/TestPair.cs @@ -70,9 +70,11 @@ public async Task Initialize(PoolSettings settings, TextWriter testOut, List(); + await Client.WaitPost(() => { - var netMgr = IoCManager.Resolve(); if (!netMgr.IsConnected) { netMgr.ClientConnect(null!, 0, null!); diff --git a/Content.IntegrationTests/Tests/Minds/MindTests.cs b/Content.IntegrationTests/Tests/Minds/MindTests.cs index c9788b80a6d..3b7ecf0135f 100644 --- a/Content.IntegrationTests/Tests/Minds/MindTests.cs +++ b/Content.IntegrationTests/Tests/Minds/MindTests.cs @@ -341,7 +341,6 @@ public async Task TestPlayerCanGhost() var playerMan = server.ResolveDependency(); var mindSystem = entMan.EntitySysManager.GetEntitySystem(); - var ghostSystem = entMan.EntitySysManager.GetEntitySystem(); EntityUid entity = default!; EntityUid mindId = default!; @@ -381,7 +380,7 @@ await server.WaitAssertion(() => mob = entMan.SpawnEntity(null, new MapCoordinates()); - MakeSentientCommand.MakeSentient(mob, IoCManager.Resolve()); + MakeSentientCommand.MakeSentient(mob, entMan); mobMindId = mindSystem.CreateMind(player.UserId, "Mindy McThinker the Second"); mobMind = entMan.GetComponent(mobMindId); From 8fe428617ec6128dcacbced381cf944b9b235326 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:30:01 +0000 Subject: [PATCH 161/345] Automatic changelog update (cherry picked from commit bd99c0dcdb6d59ce96a13a8a4954de71261e2809) --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index efb67eddfba..73be7b2fc4a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed green-red jester outfit visually - type: Tweak - id: 5541 - time: '2024-01-04T00:40:23.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23454 - author: themias changes: - message: Zombies now take longer to pry open bolted doors. @@ -3831,3 +3824,13 @@ id: 6040 time: '2024-02-26T23:26:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25434 +- author: Velcroboy + changes: + - message: Tweaked wallmounted objects can not be interacted with through thindows + or windoors. + type: Tweak + - message: Fixed NanoMed vendor not being accessible from all directions. + type: Fix + id: 6041 + time: '2024-02-26T23:28:55.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25451 From b5e4b7049f68b0920232fc03c7fd360fb5d820bf Mon Sep 17 00:00:00 2001 From: LankLTE <135308300+LankLTE@users.noreply.github.com> Date: Mon, 26 Feb 2024 15:31:37 -0800 Subject: [PATCH 162/345] Zombie Diona Fixes (#25404) No reform, zombie nymphs (cherry picked from commit cc865c547ba9c313b7573155759d34cd750f549f) --- Content.Server/Species/Systems/NymphSystem.cs | 9 +++++++++ Content.Shared/Species/Systems/ReformSystem.cs | 14 +++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Content.Server/Species/Systems/NymphSystem.cs b/Content.Server/Species/Systems/NymphSystem.cs index 8d0646ae8e4..b7751afbf18 100644 --- a/Content.Server/Species/Systems/NymphSystem.cs +++ b/Content.Server/Species/Systems/NymphSystem.cs @@ -1,6 +1,8 @@ using Content.Server.Mind; using Content.Shared.Species.Components; using Content.Shared.Body.Events; +using Content.Shared.Zombies; +using Content.Server.Zombies; using Robust.Shared.Prototypes; using Robust.Shared.Timing; @@ -11,6 +13,7 @@ public sealed partial class NymphSystem : EntitySystem [Dependency] private readonly IPrototypeManager _protoManager= default!; [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly ZombieSystem _zombie = default!; public override void Initialize() { @@ -30,12 +33,18 @@ private void OnRemovedFromPart(EntityUid uid, NymphComponent comp, RemovedFromPa if (!_protoManager.TryIndex(comp.EntityPrototype, out var entityProto)) return; + // Get the organs' position & spawn a nymph there var coords = Transform(uid).Coordinates; var nymph = EntityManager.SpawnAtPosition(entityProto.ID, coords); + if (HasComp(args.OldBody)) // Zombify the new nymph if old one is a zombie + _zombie.ZombifyEntity(nymph); + + // Move the mind if there is one and it's supposed to be transferred if (comp.TransferMind == true && _mindSystem.TryGetMind(args.OldBody, out var mindId, out var mind)) _mindSystem.TransferTo(mindId, nymph, mind: mind); + // Delete the old organ QueueDel(uid); } } diff --git a/Content.Shared/Species/Systems/ReformSystem.cs b/Content.Shared/Species/Systems/ReformSystem.cs index a013a7f8864..dc2ce3fb900 100644 --- a/Content.Shared/Species/Systems/ReformSystem.cs +++ b/Content.Shared/Species/Systems/ReformSystem.cs @@ -4,12 +4,11 @@ using Content.Shared.Popups; using Content.Shared.Stunnable; using Content.Shared.Mind; -using Content.Shared.Humanoid; +using Content.Shared.Zombies; using Robust.Shared.Network; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Timing; -using Robust.Shared.Serialization.Manager; namespace Content.Shared.Species; @@ -23,8 +22,6 @@ public sealed partial class ReformSystem : EntitySystem [Dependency] private readonly SharedStunSystem _stunSystem = default!; [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly SharedMindSystem _mindSystem = default!; - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly ISerializationManager _serializationManager = default!; public override void Initialize() { @@ -35,6 +32,8 @@ public override void Initialize() SubscribeLocalEvent(OnReform); SubscribeLocalEvent(OnDoAfter); + + SubscribeLocalEvent(OnZombified); } private void OnMapInit(EntityUid uid, ReformComponent comp, MapInitEvent args) @@ -95,12 +94,17 @@ private void OnDoAfter(EntityUid uid, ReformComponent comp, ReformDoAfterEvent a // This transfers the mind to the new entity if (_mindSystem.TryGetMind(uid, out var mindId, out var mind)) - _mindSystem.TransferTo(mindId, child, mind: mind); + _mindSystem.TransferTo(mindId, child, mind: mind); // Delete the old entity QueueDel(uid); } + private void OnZombified(EntityUid uid, ReformComponent comp, ref EntityZombifiedEvent args) + { + _actionsSystem.RemoveAction(uid, comp.ActionEntity); // Zombies can't reform + } + public sealed partial class ReformEvent : InstantActionEvent { } [Serializable, NetSerializable] From d7ba8396d14476f87fd1afdfd920f86156b92711 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 23:32:43 +0000 Subject: [PATCH 163/345] Automatic changelog update (cherry picked from commit 8e951f3582a39bdf4183fea9fdf3fa1bd7ec9eda) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 73be7b2fc4a..612e24b5848 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Zombies now take longer to pry open bolted doors. - type: Tweak - id: 5542 - time: '2024-01-04T00:41:39.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23383 - author: Blazeror changes: - message: Vials now work in dispensers. @@ -3834,3 +3827,10 @@ id: 6041 time: '2024-02-26T23:28:55.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25451 +- author: Lank + changes: + - message: Diona can no longer split or reform to cure themselves of a zombie infection. + type: Fix + id: 6042 + time: '2024-02-26T23:31:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25404 From a48c9cc1e29ec6017b51a1da54868b08ddd1d0b2 Mon Sep 17 00:00:00 2001 From: Zadeon Date: Mon, 26 Feb 2024 17:34:15 -0600 Subject: [PATCH 164/345] Adds minable salt "ore" (#25324) * Added salt to ore.yml Added salt to ores.yml Added salt walls to asteroid.yml Added salt to BaseAsteroidDebris' list of ores to generate in asteroids.yml Added OreSalt to biome_ore_templates.yml Added salt to guaranteed salvageLoot in salvage_loot.yml Added salt entry under salvage-magnet-resources in salvage-magnet.ftl Added WIP sprites for salt. * Renamed salt's id to SaltOre inside Entities/Objects/Materials/ore.yml Fixed salt not being grindable due to using an incorrect reagent name Added salt to ore.rsi/meta.json and rock.rsi/meta.json * Added chlorine to the list of solutions salt gives when used in the grinder. * Gave salt ore and salt rock overlay unique sprites. * Added raw salt to materials/materials.ftl Updated SaltOre definition in ore.yml to have RawSalt under materialComposition * Updated saltore definition to give 10 units of tablesalt and 5 units of iodine when ground. (cherry picked from commit 133bd0353a16a3b2260555318a1389b1c2c0f0e9) --- .../Locale/en-US/materials/materials.ftl | 1 + .../Locale/en-US/salvage/salvage-magnet.ftl | 1 + .../Entities/Objects/Materials/ore.yml | 33 ++++ .../Entities/Structures/Walls/asteroid.yml | 153 ++++++++++++++++++ .../Entities/World/Debris/asteroids.yml | 3 + .../Prototypes/Procedural/Magnet/asteroid.yml | 1 + .../Procedural/biome_ore_templates.yml | 14 ++ .../Prototypes/Procedural/salvage_loot.yml | 7 + .../Prototypes/Reagents/Materials/ores.yml | 9 ++ Resources/Prototypes/Stacks/Materials/ore.yml | 8 + Resources/Prototypes/ore.yml | 6 + .../Objects/Materials/ore.rsi/meta.json | 3 + .../Objects/Materials/ore.rsi/salt.png | Bin 0 -> 687 bytes .../Structures/Walls/rock.rsi/meta.json | 3 + .../Structures/Walls/rock.rsi/rock_salt.png | Bin 0 -> 627 bytes 15 files changed, 242 insertions(+) create mode 100644 Resources/Textures/Objects/Materials/ore.rsi/salt.png create mode 100644 Resources/Textures/Structures/Walls/rock.rsi/rock_salt.png diff --git a/Resources/Locale/en-US/materials/materials.ftl b/Resources/Locale/en-US/materials/materials.ftl index de957532331..dca520b5b49 100644 --- a/Resources/Locale/en-US/materials/materials.ftl +++ b/Resources/Locale/en-US/materials/materials.ftl @@ -34,3 +34,4 @@ materials-raw-silver = raw silver materials-raw-plasma = raw plasma materials-raw-uranium = raw uranium materials-raw-bananium = raw bananium +materials-raw-salt = raw salt diff --git a/Resources/Locale/en-US/salvage/salvage-magnet.ftl b/Resources/Locale/en-US/salvage/salvage-magnet.ftl index 64db8ead33b..1a391ea48cd 100644 --- a/Resources/Locale/en-US/salvage/salvage-magnet.ftl +++ b/Resources/Locale/en-US/salvage/salvage-magnet.ftl @@ -11,6 +11,7 @@ salvage-magnet-resources = {$resource -> [OreIron] Iron [OreCoal] Coal [OreQuartz] Quartz + [OreSalt] Salt [OreGold] Gold [OreSilver] Silver [OrePlasma] Plasma diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml index 2fed6498bdd..bf7dbfad5a3 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml @@ -312,3 +312,36 @@ components: - type: Stack count: 1 + +- type: entity + parent: OreBase + id: SaltOre + name: salt + suffix: Full + components: + - type: Stack + stackType: SaltOre + - type: Sprite + state: salt + - type: Material + - type: PhysicalComposition + materialComposition: + RawSalt: 500 + - type: Extractable + grindableSolutionName: saltore + - type: SolutionContainerManager + solutions: + saltore: + reagents: + - ReagentId: TableSalt + Quantity: 10 + - ReagentId: Iodine + Quantity: 5 + +- type: entity + parent: SaltOre + id: Salt1 + suffix: Single + components: + - type: Stack + count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index aa5f1421c73..e354877612a 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -343,6 +343,28 @@ - map: [ "enum.EdgeLayer.West" ] state: ironrock_west +- type: entity + id: AsteroidRockSalt + parent: AsteroidRock + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_asteroid + - map: [ "enum.EdgeLayer.South" ] + state: rock_asteroid_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_asteroid_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_asteroid_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_asteroid_west + - state: rock_salt + - type: entity id: IronRockMining parent: IronRock @@ -613,6 +635,28 @@ state: rock_west - state: rock_artifact_fragment +- type: entity + id: WallRockSalt + parent: WallRock + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock + - map: [ "enum.EdgeLayer.South" ] + state: rock_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_west + - state: rock_salt + # Basalt variants - type: entity id: WallRockBasalt @@ -831,6 +875,28 @@ state: rock_wall_west - state: rock_artifact_fragment +- type: entity + id: WallRockBasaltSalt + parent: WallRockBasalt + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_wall + - map: [ "enum.EdgeLayer.South" ] + state: rock_wall_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_wall_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_wall_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_wall_west + - state: rock_salt + # Snow variants - type: entity id: WallRockSnow @@ -1049,6 +1115,27 @@ state: rock_snow_west - state: rock_artifact_fragment +- type: entity + id: WallRockSnowSalt + parent: WallRockSnow + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_snow + - map: [ "enum.EdgeLayer.South" ] + state: rock_snow_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_snow_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_snow_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_snow_west + - state: rock_salt # Sand variants - type: entity @@ -1268,6 +1355,28 @@ state: rock_sand_west - state: rock_artifact_fragment +- type: entity + id: WallRockSandSalt + parent: WallRockSand + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_sand + - map: [ "enum.EdgeLayer.South" ] + state: rock_sand_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_sand_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_sand_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_sand_west + - state: rock_salt + # Chromite variants - type: entity id: WallRockChromite @@ -1486,6 +1595,28 @@ state: rock_chromite_west - state: rock_artifact_fragment +- type: entity + id: WallRockChromiteSalt + parent: WallRockChromite + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_chromite + - map: [ "enum.EdgeLayer.South" ] + state: rock_chromite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_chromite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_chromite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_chromite_west + - state: rock_salt + # Andesite variants - type: entity id: WallRockAndesite @@ -1703,3 +1834,25 @@ - map: [ "enum.EdgeLayer.West" ] state: rock_andesite_west - state: rock_artifact_fragment + +- type: entity + id: WallRockAndesiteSalt + parent: WallRockAndesite + description: An ore vein rich with salt. + suffix: Salt + components: + - type: OreVein + oreChance: 1.0 + currentOre: OreSalt + - type: Sprite + layers: + - state: rock_andesite + - map: [ "enum.EdgeLayer.South" ] + state: rock_andesite_south + - map: [ "enum.EdgeLayer.East" ] + state: rock_andesite_east + - map: [ "enum.EdgeLayer.North" ] + state: rock_andesite_north + - map: [ "enum.EdgeLayer.West" ] + state: rock_andesite_west + - state: rock_salt diff --git a/Resources/Prototypes/Entities/World/Debris/asteroids.yml b/Resources/Prototypes/Entities/World/Debris/asteroids.yml index 6cb0c35ef54..061288d010b 100644 --- a/Resources/Prototypes/Entities/World/Debris/asteroids.yml +++ b/Resources/Prototypes/Entities/World/Debris/asteroids.yml @@ -26,6 +26,9 @@ - id: WallRockQuartz prob: 0.15 orGroup: rock + - id: WallRockSalt + prob: 0.15 + orGroup: rock - id: WallRockGold prob: 0.05 orGroup: rock diff --git a/Resources/Prototypes/Procedural/Magnet/asteroid.yml b/Resources/Prototypes/Procedural/Magnet/asteroid.yml index f30bd871ea1..a21b709afad 100644 --- a/Resources/Prototypes/Procedural/Magnet/asteroid.yml +++ b/Resources/Prototypes/Procedural/Magnet/asteroid.yml @@ -4,6 +4,7 @@ OreIron: 1.0 OreQuartz: 1.0 OreCoal: 1.0 + OreSalt: 1.0 OreGold: 0.25 OreSilver: 0.25 OrePlasma: 0.15 diff --git a/Resources/Prototypes/Procedural/biome_ore_templates.yml b/Resources/Prototypes/Procedural/biome_ore_templates.yml index 1aba55128f5..4a60427e305 100644 --- a/Resources/Prototypes/Procedural/biome_ore_templates.yml +++ b/Resources/Prototypes/Procedural/biome_ore_templates.yml @@ -40,6 +40,20 @@ maxGroupSize: 20 radius: 4 +- type: biomeMarkerLayer + id: OreSalt + entityMask: + AsteroidRock: AsteroidRockSalt + WallRock: WallRockSalt + WallRockBasalt: WallRockBasaltSalt + WallRockChromite: WallRockChromiteSalt + WallRockSand: WallRockSandSalt + WallRockSnow: WallRockSnowSalt + maxCount: 30 + minGroupSize: 10 + maxGroupSize: 20 + radius: 4 + # Medium value # Gold - type: biomeMarkerLayer diff --git a/Resources/Prototypes/Procedural/salvage_loot.yml b/Resources/Prototypes/Procedural/salvage_loot.yml index 92b04496baa..f12e8c7ffda 100644 --- a/Resources/Prototypes/Procedural/salvage_loot.yml +++ b/Resources/Prototypes/Procedural/salvage_loot.yml @@ -135,6 +135,13 @@ - !type:BiomeMarkerLoot proto: OreQuartz +- type: salvageLoot + id: OreSalt + guaranteed: true + loots: + - !type:BiomeMarkerLoot + proto: OreSalt + # - Medium value - type: salvageLoot id: OreGold diff --git a/Resources/Prototypes/Reagents/Materials/ores.yml b/Resources/Prototypes/Reagents/Materials/ores.yml index 4f4dceea8b9..18f1d9ebb3a 100644 --- a/Resources/Prototypes/Reagents/Materials/ores.yml +++ b/Resources/Prototypes/Reagents/Materials/ores.yml @@ -59,3 +59,12 @@ icon: { sprite: Objects/Materials/ore.rsi, state: bananium } color: "#32a852" price: 0.2 + +- type: material + id: RawSalt + stackEntity: Salt1 + name: materials-raw-salt + unit: materials-unit-chunk + icon: { sprite: Objects/Materials/ore.rsi, state: salt } + color: "#f5e7d7" + price: 0.075 \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/Materials/ore.yml b/Resources/Prototypes/Stacks/Materials/ore.yml index b7b32c8b23d..2a95393c27b 100644 --- a/Resources/Prototypes/Stacks/Materials/ore.yml +++ b/Resources/Prototypes/Stacks/Materials/ore.yml @@ -62,3 +62,11 @@ spawn: Coal1 maxCount: 30 itemSize: 2 + +- type: stack + id: SaltOre + name: salt + icon: { sprite: /Textures/Objects/Materials/ore.rsi, state: salt } + spawn: Salt1 + maxCount: 30 + itemSize: 2 diff --git a/Resources/Prototypes/ore.yml b/Resources/Prototypes/ore.yml index c7e69966d4c..dde1516c855 100644 --- a/Resources/Prototypes/ore.yml +++ b/Resources/Prototypes/ore.yml @@ -37,6 +37,12 @@ minOreYield: 1 maxOreYield: 3 +- type: ore + id: OreSalt + oreEntity: Salt1 + minOreYield: 1 + maxOreYield: 3 + # Low yields - type: ore id: OrePlasma diff --git a/Resources/Textures/Objects/Materials/ore.rsi/meta.json b/Resources/Textures/Objects/Materials/ore.rsi/meta.json index 0751cf76d3d..98a10750bf7 100644 --- a/Resources/Textures/Objects/Materials/ore.rsi/meta.json +++ b/Resources/Textures/Objects/Materials/ore.rsi/meta.json @@ -30,6 +30,9 @@ }, { "name": "coal" + }, + { + "name": "salt" } ] } diff --git a/Resources/Textures/Objects/Materials/ore.rsi/salt.png b/Resources/Textures/Objects/Materials/ore.rsi/salt.png new file mode 100644 index 0000000000000000000000000000000000000000..5ee3e44a6ffa0ea075ded446d376df3d9aa81cf9 GIT binary patch literal 687 zcmV;g0#N;lP)6qC}e!Kgz?+9X4<)^^Gt$rK10N@uB? z8Qmk>NGOYwR9v(o_f*3R~n^Nd(e!maC&N5c`K;Rs9dd8$X%(GPyyk^7lc+Rh~t zoDIKS5IYX8R0;wZMZH%l0njxql#oU)nE+tDaLDO#lY95?(rg>(F@2&FV;yitAR@~p z6BNr8mKPTp4u_aMi>3HHMt2~cP(m8bw!xRrAIT*X6P>tJfFN{UHo60zy?g^e$L!N= z8vv|j^K{HUZR@MN|7owldf^bGJ0Sn!`IRCr6;M5@Vsr;`y|uGFwXmGz`|ynFQI%Sw zjvmv|0)EV%MXgb%Sgy!abj&^g#d77GFxLW3TCJ&KxgrZKsH*ndj1RMCp~rMYI)v4L zOa;K>M~W1)md#%&U~C)yUOY-jLkVe;DByblAW1uBpIW0%G#tU`4tTe_3xL_PFniWm z0Ta6*sH(Pza=mZ}!0B<5_nWU+SWcqHba^%!j<8=kxIlQ)YK`S_B|r=KdA+iNe|DOO zPo6S2;{&+Rf+A(k{XcF)r}}2wU@e=Mb_-iYI>h(v>W18RL+(m|5TS%LI%c2j>IQQ& zKJ=I_3#?=IWp{}4Zbz}}NeI8jF~H`Bx4k zaIPT#3Nop*9aL32sH!)5l0A6v@K5m*J>oKnwvzwU0000EWmrjOO-%qQ0000800000 V0002eQPx#1ZP1_K>z@;j|==^1poj714%?dR9HvtmAy*?K@i1P{R6~G8*NmuQ>+9l5z$gC zZ3Ij4qY%>D1}sEtK?F;&5=F#HFilX>7>tdAsEwW2t-j-4n48SqZ7giOAB5YR-J3Tv zJG*fO|DLY+nM-+N%*{;nxr@qcY;o?hQT5#&l`UkgCmcz z1?*{al8*S93Y@I2?fbLqd)KIzqxG}%+y3$CEqX8Q+(zppQrMaghFLIE{7`l&purp~ z6+&nHY(a|1%uxvo2FU7U1u4nh0w5hT7>m5EvB(Vo<%Cn9#jT*ygqg(X)O5l}W&pa3 za88?UOkjzlXC9tE9FtgBTFlgJV(lSp_`#`eOwPm3F^_K6aSe;+2Rc|^IrR0HcXxiW z8GS3a0b|;S#!G&1pf}1qt0!^;pfDWHO^!I0lY$&$OZIk`oBpt#+mqFhsR786S>mu^ zjv`h=lC}eo;>b)kktOh3abN}j5Ck0q%Q?`efu+~NXh!shwzu4b5M~9KRa$0f$TV^I z;I%F95=|li3L|sbL_kJPfzz8>qB0y~PB!Ime@|kaBw@sdy19TZ8^GDNoH95hfp;ED zVEIWnfYXqhN{U-fS#qvHF!~B6xnde_lO;@Kfck{!?^6GcEkeWr#n1;?;vlF3p~8ec z0C8+7zXzc{3JMDT2 Date: Mon, 26 Feb 2024 23:35:20 +0000 Subject: [PATCH 165/345] Automatic changelog update (cherry picked from commit 5ad573970696c0030cb7f3695b782393fef38aa6) --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 612e24b5848..84c639b73b0 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Blazeror - changes: - - message: Vials now work in dispensers. - type: Fix - id: 5543 - time: '2024-01-04T02:18:37.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23473 - author: FairlySadPanda changes: - message: Switching songs when playing a MIDI instrument no longer inconsistently @@ -3834,3 +3827,11 @@ id: 6042 time: '2024-02-26T23:31:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25404 +- author: Zadeon + changes: + - message: Added salt as a new type of ore that can be mined from asteroids. Salt + can be ground up for its base components. + type: Add + id: 6043 + time: '2024-02-26T23:34:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25324 From c9f4910cb962a87b3de6ca64b643dfa5c92d85c1 Mon Sep 17 00:00:00 2001 From: Julian Giebel Date: Tue, 27 Feb 2024 02:38:00 +0100 Subject: [PATCH 166/345] News UI overhaul and PDA notifications (#19610) (cherry picked from commit 0752acdc2ca2db43581e2c0d95a5d96041247bc9) --- .../CartridgeLoader/Cartridges/NewsReadUi.cs | 50 --- .../Cartridges/NewsReaderUi.cs | 54 +++ ...ragment.xaml => NewsReaderUiFragment.xaml} | 23 +- ...t.xaml.cs => NewsReaderUiFragment.xaml.cs} | 20 +- .../MassMedia/Ui/ArticleEditorPanel.xaml | 71 ++++ .../MassMedia/Ui/ArticleEditorPanel.xaml.cs | 109 ++++++ .../MassMedia/Ui/MiniArticleCardControl.xaml | 26 -- .../Ui/MiniArticleCardControl.xaml.cs | 27 -- .../MassMedia/Ui/NewsArticleCard.xaml | 29 ++ .../MassMedia/Ui/NewsArticleCard.xaml.cs | 47 +++ .../Ui/NewsWriteBoundUserInterface.cs | 79 ---- .../MassMedia/Ui/NewsWriteMenu.xaml | 68 ---- .../MassMedia/Ui/NewsWriteMenu.xaml.cs | 42 -- .../Ui/NewsWriterBoundUserInterface.cs | 84 ++++ .../MassMedia/Ui/NewsWriterMenu.xaml | 45 +++ .../MassMedia/Ui/NewsWriterMenu.xaml.cs | 97 +++++ .../Paper/UI/PaperBoundUserInterface.cs | 2 +- Content.Client/Stylesheets/StyleNano.cs | 61 ++- .../UserInterface/Controls/ConfirmButton.cs | 142 +++++++ .../Systems/Chat/ChatUIController.cs | 3 +- .../Chat/Controls/ChannelFilterPopup.xaml.cs | 1 + .../CartridgeLoader/CartridgeLoaderSystem.cs | 32 +- ...ent.cs => NewsReaderCartridgeComponent.cs} | 6 +- Content.Server/Content.Server.csproj | 1 + .../Components/NewsWriteComponent.cs | 23 -- .../Components/NewsWriterComponent.cs | 25 ++ .../MassMedia/Systems/NewsSystem.cs | 370 ++++++++++-------- Content.Server/PDA/PdaSystem.cs | 31 ++ Content.Server/PDA/Ringer/RingerSystem.cs | 11 +- .../CartridgeLoader/CartridgeComponent.cs | 3 + .../CartridgeLoaderComponent.cs | 13 +- .../Cartridges/NewsReadUiMessageEvent.cs | 22 -- .../Cartridges/NewsReaderUiMessageEvent.cs | 22 ++ ...ewsReadUiState.cs => NewsReaderUiState.cs} | 8 +- .../SharedCartridgeLoaderSystem.cs | 9 +- Content.Shared/Chat/ChatChannel.cs | 22 +- .../Components/NewsWriterBuiMessages.cs | 55 +++ .../Components/SharedNewsWriteComponent.cs | 54 --- .../Components/StationNewsComponent.cs | 10 + .../MassMedia/Systems/SharedNewsSystem.cs | 21 +- Resources/Locale/en-US/chat/ui/chat-box.ftl | 1 + Resources/Locale/en-US/generic.ftl | 2 + Resources/Locale/en-US/mass-media/news-ui.ftl | 30 +- .../en-US/pda/Ringer/ringer-component.ftl | 2 +- Resources/Locale/en-US/pda/pda-component.ftl | 3 + .../Devices/Circuitboards/computer.yml | 2 +- .../Entities/Objects/Devices/cartridges.yml | 6 +- .../Entities/Objects/Devices/pda.yml | 4 +- .../Prototypes/Entities/Stations/base.yml | 6 + .../Entities/Stations/nanotrasen.yml | 1 + .../Machines/Computers/computers.yml | 10 +- .../Textures/Interface/Nano/button_small.svg | 54 +++ .../Interface/Nano/button_small.svg.96dpi.png | Bin 0 -> 278 bytes Resources/keybinds.yml | 10 +- 54 files changed, 1311 insertions(+), 638 deletions(-) delete mode 100644 Content.Client/CartridgeLoader/Cartridges/NewsReadUi.cs create mode 100644 Content.Client/CartridgeLoader/Cartridges/NewsReaderUi.cs rename Content.Client/CartridgeLoader/Cartridges/{NewsReadUiFragment.xaml => NewsReaderUiFragment.xaml} (70%) rename Content.Client/CartridgeLoader/Cartridges/{NewsReadUiFragment.xaml.cs => NewsReaderUiFragment.xaml.cs} (69%) create mode 100644 Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml create mode 100644 Content.Client/MassMedia/Ui/ArticleEditorPanel.xaml.cs delete mode 100644 Content.Client/MassMedia/Ui/MiniArticleCardControl.xaml delete mode 100644 Content.Client/MassMedia/Ui/MiniArticleCardControl.xaml.cs create mode 100644 Content.Client/MassMedia/Ui/NewsArticleCard.xaml create mode 100644 Content.Client/MassMedia/Ui/NewsArticleCard.xaml.cs delete mode 100644 Content.Client/MassMedia/Ui/NewsWriteBoundUserInterface.cs delete mode 100644 Content.Client/MassMedia/Ui/NewsWriteMenu.xaml delete mode 100644 Content.Client/MassMedia/Ui/NewsWriteMenu.xaml.cs create mode 100644 Content.Client/MassMedia/Ui/NewsWriterBoundUserInterface.cs create mode 100644 Content.Client/MassMedia/Ui/NewsWriterMenu.xaml create mode 100644 Content.Client/MassMedia/Ui/NewsWriterMenu.xaml.cs create mode 100644 Content.Client/UserInterface/Controls/ConfirmButton.cs rename Content.Server/CartridgeLoader/Cartridges/{NewsReadCartridgeComponent.cs => NewsReaderCartridgeComponent.cs} (51%) delete mode 100644 Content.Server/MassMedia/Components/NewsWriteComponent.cs create mode 100644 Content.Server/MassMedia/Components/NewsWriterComponent.cs delete mode 100644 Content.Shared/CartridgeLoader/Cartridges/NewsReadUiMessageEvent.cs create mode 100644 Content.Shared/CartridgeLoader/Cartridges/NewsReaderUiMessageEvent.cs rename Content.Shared/CartridgeLoader/Cartridges/{NewsReadUiState.cs => NewsReaderUiState.cs} (60%) create mode 100644 Content.Shared/MassMedia/Components/NewsWriterBuiMessages.cs delete mode 100644 Content.Shared/MassMedia/Components/SharedNewsWriteComponent.cs create mode 100644 Content.Shared/MassMedia/Components/StationNewsComponent.cs create mode 100644 Resources/Textures/Interface/Nano/button_small.svg create mode 100644 Resources/Textures/Interface/Nano/button_small.svg.96dpi.png diff --git a/Content.Client/CartridgeLoader/Cartridges/NewsReadUi.cs b/Content.Client/CartridgeLoader/Cartridges/NewsReadUi.cs deleted file mode 100644 index 6874e9644d2..00000000000 --- a/Content.Client/CartridgeLoader/Cartridges/NewsReadUi.cs +++ /dev/null @@ -1,50 +0,0 @@ -using Content.Client.UserInterface.Fragments; -using Content.Shared.CartridgeLoader.Cartridges; -using Content.Shared.CartridgeLoader; -using Robust.Client.GameObjects; -using Robust.Client.UserInterface; - -namespace Content.Client.CartridgeLoader.Cartridges; - -public sealed partial class NewsReadUi : UIFragment -{ - private NewsReadUiFragment? _fragment; - - public override Control GetUIFragmentRoot() - { - return _fragment!; - } - - public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner) - { - _fragment = new NewsReadUiFragment(); - - _fragment.OnNextButtonPressed += () => - { - SendNewsReadMessage(NewsReadUiAction.Next, userInterface); - }; - _fragment.OnPrevButtonPressed += () => - { - SendNewsReadMessage(NewsReadUiAction.Prev, userInterface); - }; - _fragment.OnNotificationSwithPressed += () => - { - SendNewsReadMessage(NewsReadUiAction.NotificationSwith, userInterface); - }; - } - - public override void UpdateState(BoundUserInterfaceState state) - { - if (state is NewsReadBoundUserInterfaceState cast) - _fragment?.UpdateState(cast.Article, cast.TargetNum, cast.TotalNum, cast.NotificationOn); - else if (state is NewsReadEmptyBoundUserInterfaceState empty) - _fragment?.UpdateEmptyState(empty.NotificationOn); - } - - private void SendNewsReadMessage(NewsReadUiAction action, BoundUserInterface userInterface) - { - var newsMessage = new NewsReadUiMessageEvent(action); - var message = new CartridgeUiMessage(newsMessage); - userInterface.SendMessage(message); - } -} diff --git a/Content.Client/CartridgeLoader/Cartridges/NewsReaderUi.cs b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUi.cs new file mode 100644 index 00000000000..8ad665d3616 --- /dev/null +++ b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUi.cs @@ -0,0 +1,54 @@ +using Content.Client.UserInterface.Fragments; +using Content.Shared.CartridgeLoader.Cartridges; +using Content.Shared.CartridgeLoader; +using Robust.Client.UserInterface; + +namespace Content.Client.CartridgeLoader.Cartridges; + +public sealed partial class NewsReaderUi : UIFragment +{ + private NewsReaderUiFragment? _fragment; + + public override Control GetUIFragmentRoot() + { + return _fragment!; + } + + public override void Setup(BoundUserInterface userInterface, EntityUid? fragmentOwner) + { + _fragment = new NewsReaderUiFragment(); + + _fragment.OnNextButtonPressed += () => + { + SendNewsReaderMessage(NewsReaderUiAction.Next, userInterface); + }; + _fragment.OnPrevButtonPressed += () => + { + SendNewsReaderMessage(NewsReaderUiAction.Prev, userInterface); + }; + _fragment.OnNotificationSwithPressed += () => + { + SendNewsReaderMessage(NewsReaderUiAction.NotificationSwitch, userInterface); + }; + } + + public override void UpdateState(BoundUserInterfaceState state) + { + switch (state) + { + case NewsReaderBoundUserInterfaceState cast: + _fragment?.UpdateState(cast.Article, cast.TargetNum, cast.TotalNum, cast.NotificationOn); + break; + case NewsReaderEmptyBoundUserInterfaceState empty: + _fragment?.UpdateEmptyState(empty.NotificationOn); + break; + } + } + + private void SendNewsReaderMessage(NewsReaderUiAction action, BoundUserInterface userInterface) + { + var newsMessage = new NewsReaderUiMessageEvent(action); + var message = new CartridgeUiMessage(newsMessage); + userInterface.SendMessage(message); + } +} diff --git a/Content.Client/CartridgeLoader/Cartridges/NewsReadUiFragment.xaml b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml similarity index 70% rename from Content.Client/CartridgeLoader/Cartridges/NewsReadUiFragment.xaml rename to Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml index 7431713ea8e..bd5879408ef 100644 --- a/Content.Client/CartridgeLoader/Cartridges/NewsReadUiFragment.xaml +++ b/Content.Client/CartridgeLoader/Cartridges/NewsReaderUiFragment.xaml @@ -1,21 +1,30 @@ - + xmlns:customControls="clr-namespace:Content.Client.Administration.UI.CustomControls" + xmlns="https://spacestation14.io" + Margin="1 0 2 0" + Orientation="Vertical" + HorizontalExpand="True" + VerticalExpand="True"> - - - diff --git a/Content.Client/MassMedia/Ui/NewsWriteMenu.xaml.cs b/Content.Client/MassMedia/Ui/NewsWriteMenu.xaml.cs deleted file mode 100644 index 89ab1490af3..00000000000 --- a/Content.Client/MassMedia/Ui/NewsWriteMenu.xaml.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Robust.Client.AutoGenerated; -using Robust.Client.UserInterface.CustomControls; -using Robust.Client.UserInterface.XAML; -using Robust.Shared.Prototypes; -using Content.Shared.MassMedia.Systems; - -namespace Content.Client.MassMedia.Ui; - -[GenerateTypedNameReferences] -public sealed partial class NewsWriteMenu : DefaultWindow -{ - public event Action? ShareButtonPressed; - public event Action? DeleteButtonPressed; - - public NewsWriteMenu(string name) - { - RobustXamlLoader.Load(this); - IoCManager.InjectDependencies(this); - - if (Window != null) - Window.Title = name; - - Share.OnPressed += _ => ShareButtonPressed?.Invoke(); - } - - public void UpdateUI(NewsArticle[] articles, bool shareAvalible) - { - ArticleCardsContainer.Children.Clear(); - - for (int i = 0; i < articles.Length; i++) - { - var article = articles[i]; - var mini = new MiniArticleCardControl(article.Name, (article.Author != null ? article.Author : Loc.GetString("news-read-ui-no-author"))); - mini.ArticleNum = i; - mini.OnDeletePressed += () => DeleteButtonPressed?.Invoke(mini.ArticleNum); - - ArticleCardsContainer.AddChild(mini); - } - - Share.Disabled = !shareAvalible; - } -} diff --git a/Content.Client/MassMedia/Ui/NewsWriterBoundUserInterface.cs b/Content.Client/MassMedia/Ui/NewsWriterBoundUserInterface.cs new file mode 100644 index 00000000000..80eca82e324 --- /dev/null +++ b/Content.Client/MassMedia/Ui/NewsWriterBoundUserInterface.cs @@ -0,0 +1,84 @@ +using JetBrains.Annotations; +using Content.Shared.MassMedia.Systems; +using Content.Shared.MassMedia.Components; +using Robust.Shared.Timing; +using Robust.Shared.Utility; + +namespace Content.Client.MassMedia.Ui; + +[UsedImplicitly] +public sealed class NewsWriterBoundUserInterface : BoundUserInterface +{ + [Dependency] private readonly IGameTiming _gameTiming = default!; + + [ViewVariables] + private NewsWriterMenu? _menu; + + public NewsWriterBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + + } + + protected override void Open() + { + _menu = new NewsWriterMenu(_gameTiming); + + _menu.OpenCentered(); + _menu.OnClose += Close; + + _menu.ArticleEditorPanel.PublishButtonPressed += OnPublishButtonPressed; + _menu.DeleteButtonPressed += OnDeleteButtonPressed; + + SendMessage(new NewsWriterArticlesRequestMessage()); + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + if (!disposing) + return; + + _menu?.Close(); + _menu?.Dispose(); + } + + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + if (state is not NewsWriterBoundUserInterfaceState cast) + return; + + _menu?.UpdateUI(cast.Articles, cast.PublishEnabled, cast.NextPublish); + } + + private void OnPublishButtonPressed() + { + var title = _menu?.ArticleEditorPanel.TitleField.Text.Trim() ?? ""; + if (_menu == null || title.Length == 0) + return; + + var stringContent = Rope.Collapse(_menu.ArticleEditorPanel.ContentField.TextRope).Trim(); + + if (stringContent.Length == 0) + return; + + var name = title.Length <= SharedNewsSystem.MaxTitleLength + ? title + : $"{title[..(SharedNewsSystem.MaxTitleLength - 3)]}..."; + + var content = stringContent.Length <= SharedNewsSystem.MaxContentLength + ? stringContent + : $"{stringContent[..(SharedNewsSystem.MaxContentLength - 3)]}..."; + + + SendMessage(new NewsWriterPublishMessage(name, content)); + } + + private void OnDeleteButtonPressed(int articleNum) + { + if (_menu == null) + return; + + SendMessage(new NewsWriterDeleteMessage(articleNum)); + } +} diff --git a/Content.Client/MassMedia/Ui/NewsWriterMenu.xaml b/Content.Client/MassMedia/Ui/NewsWriterMenu.xaml new file mode 100644 index 00000000000..64932bc6cfe --- /dev/null +++ b/Content.Client/MassMedia/Ui/NewsWriterMenu.xaml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + +
    /// The sprite state used for the door when it's open. diff --git a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs index 9e1273b7843..a3172bb8c3a 100644 --- a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs +++ b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs @@ -1,5 +1,7 @@ using Content.Shared.Doors.Components; using Content.Shared.Popups; +using Content.Shared.Prying.Components; +using Content.Shared.Wires; namespace Content.Shared.Doors.Systems; @@ -8,18 +10,112 @@ public abstract class SharedAirlockSystem : EntitySystem [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; [Dependency] protected readonly SharedDoorSystem DoorSystem = default!; [Dependency] protected readonly SharedPopupSystem Popup = default!; + [Dependency] private readonly SharedWiresSystem _wiresSystem = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnBeforeDoorClosed); + SubscribeLocalEvent(OnStateChanged); + SubscribeLocalEvent(OnBeforeDoorOpened); + SubscribeLocalEvent(OnBeforeDoorDenied); + SubscribeLocalEvent(OnGetPryMod); + SubscribeLocalEvent(OnBeforePry); } - protected virtual void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args) + private void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args) { + if (args.Cancelled) + return; + if (!airlock.Safety) args.PerformCollisionCheck = false; + + // only block based on bolts / power status when initially closing the door, not when its already + // mid-transition. Particularly relevant for when the door was pried-closed with a crowbar, which bypasses + // the initial power-check. + + if (TryComp(uid, out DoorComponent? door) + && !door.Partial + && !CanChangeState(uid, airlock)) + { + args.Cancel(); + } + } + + private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args) + { + // Only show the maintenance panel if the airlock is closed + if (TryComp(uid, out var wiresPanel)) + { + _wiresSystem.ChangePanelVisibility(uid, wiresPanel, component.OpenPanelVisible || args.State != DoorState.Open); + } + // If the door is closed, we should look if the bolt was locked while closing + UpdateAutoClose(uid, component); + + // Make sure the airlock auto closes again next time it is opened + if (args.State == DoorState.Closed) + component.AutoClose = true; + } + + private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args) + { + if (!CanChangeState(uid, component)) + args.Cancel(); + } + + private void OnBeforeDoorDenied(EntityUid uid, AirlockComponent component, BeforeDoorDeniedEvent args) + { + if (!CanChangeState(uid, component)) + args.Cancel(); + } + + private void OnGetPryMod(EntityUid uid, AirlockComponent component, ref GetPryTimeModifierEvent args) + { + if (component.Powered) + args.PryTimeModifier *= component.PoweredPryModifier; + + if (DoorSystem.IsBolted(uid)) + args.PryTimeModifier *= component.BoltedPryModifier; + } + + /// + /// Updates the auto close timer. + /// + public void UpdateAutoClose(EntityUid uid, AirlockComponent? airlock = null, DoorComponent? door = null) + { + if (!Resolve(uid, ref airlock, ref door)) + return; + + if (door.State != DoorState.Open) + return; + + if (!airlock.AutoClose) + return; + + if (!CanChangeState(uid, airlock)) + return; + + var autoev = new BeforeDoorAutoCloseEvent(); + RaiseLocalEvent(uid, autoev); + if (autoev.Cancelled) + return; + + DoorSystem.SetNextStateChange(uid, airlock.AutoCloseDelay * airlock.AutoCloseDelayModifier); + } + + private void OnBeforePry(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) + { + if (args.Cancelled) + return; + + if (!component.Powered || args.PryPowered) + return; + + args.Message = "airlock-component-cannot-pry-is-powered-message"; + + args.Cancelled = true; } public void UpdateEmergencyLightStatus(EntityUid uid, AirlockComponent component) @@ -45,4 +141,9 @@ public void SetSafety(AirlockComponent component, bool value) { component.Safety = value; } + + public bool CanChangeState(EntityUid uid, AirlockComponent component) + { + return component.Powered && !DoorSystem.IsBolted(uid); + } } diff --git a/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs b/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs deleted file mode 100644 index 7c5ef452751..00000000000 --- a/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Content.Shared.Doors.Components; -using Content.Shared.Popups; -using Content.Shared.Prying.Components; -using Robust.Shared.Audio; -using Robust.Shared.Audio.Systems; - -namespace Content.Shared.Doors.Systems; - -public abstract class SharedDoorBoltSystem : EntitySystem -{ - - [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; - [Dependency] protected readonly SharedAudioSystem Audio = default!; - [Dependency] protected readonly SharedPopupSystem Popup = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnBeforeDoorOpened); - SubscribeLocalEvent(OnBeforeDoorClosed); - SubscribeLocalEvent(OnBeforeDoorDenied); - SubscribeLocalEvent(OnDoorPry); - - } - - private void OnDoorPry(EntityUid uid, DoorBoltComponent component, ref BeforePryEvent args) - { - if (args.Cancelled) - return; - - if (!component.BoltsDown || args.Force) - return; - - args.Message = "airlock-component-cannot-pry-is-bolted-message"; - - args.Cancelled = true; - } - - private void OnBeforeDoorOpened(EntityUid uid, DoorBoltComponent component, BeforeDoorOpenedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - private void OnBeforeDoorClosed(EntityUid uid, DoorBoltComponent component, BeforeDoorClosedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - private void OnBeforeDoorDenied(EntityUid uid, DoorBoltComponent component, BeforeDoorDeniedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - public void SetBoltWireCut(DoorBoltComponent component, bool value) - { - component.BoltWireCut = value; - } -} diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs new file mode 100644 index 00000000000..35681bfd822 --- /dev/null +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs @@ -0,0 +1,109 @@ +using Content.Shared.Doors.Components; +using Content.Shared.Prying.Components; + +namespace Content.Shared.Doors.Systems; + +public abstract partial class SharedDoorSystem +{ + public void InitializeBolts() + { + base.Initialize(); + + SubscribeLocalEvent(OnBeforeDoorOpened); + SubscribeLocalEvent(OnBeforeDoorClosed); + SubscribeLocalEvent(OnBeforeDoorDenied); + SubscribeLocalEvent(OnDoorPry); + SubscribeLocalEvent(OnStateChanged); + } + + private void OnDoorPry(EntityUid uid, DoorBoltComponent component, ref BeforePryEvent args) + { + if (args.Cancelled) + return; + + if (!component.BoltsDown || args.Force) + return; + + args.Message = "airlock-component-cannot-pry-is-bolted-message"; + + args.Cancelled = true; + } + + private void OnBeforeDoorOpened(EntityUid uid, DoorBoltComponent component, BeforeDoorOpenedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + private void OnBeforeDoorClosed(EntityUid uid, DoorBoltComponent component, BeforeDoorClosedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + private void OnBeforeDoorDenied(EntityUid uid, DoorBoltComponent component, BeforeDoorDeniedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + public void SetBoltWireCut(Entity ent, bool value) + { + ent.Comp.BoltWireCut = value; + Dirty(ent, ent.Comp); + } + + public void UpdateBoltLightStatus(Entity ent) + { + AppearanceSystem.SetData(ent, DoorVisuals.BoltLights, GetBoltLightsVisible(ent)); + } + + public bool GetBoltLightsVisible(Entity ent) + { + return ent.Comp.BoltLightsEnabled && + ent.Comp.BoltsDown && + ent.Comp.Powered; + } + + public void SetBoltLightsEnabled(Entity ent, bool value) + { + if (ent.Comp.BoltLightsEnabled == value) + return; + + ent.Comp.BoltLightsEnabled = value; + Dirty(ent, ent.Comp); + UpdateBoltLightStatus(ent); + } + + public void SetBoltsDown(Entity ent, bool value, EntityUid? user = null, bool predicted = false) + { + if (ent.Comp.BoltsDown == value) + return; + + ent.Comp.BoltsDown = value; + Dirty(ent, ent.Comp); + UpdateBoltLightStatus(ent); + + var sound = value ? ent.Comp.BoltDownSound : ent.Comp.BoltUpSound; + if (predicted) + Audio.PlayPredicted(sound, ent, user: user); + else + Audio.PlayPvs(sound, ent); + } + + private void OnStateChanged(Entity entity, ref DoorStateChangedEvent args) + { + // If the door is closed, we should look if the bolt was locked while closing + UpdateBoltLightStatus(entity); + } + + public bool IsBolted(EntityUid uid, DoorBoltComponent? component = null) + { + if (!Resolve(uid, ref component)) + { + return false; + } + + return component.BoltsDown; + } +} diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.cs index f04f6c6dfe0..6a2a25f614b 100644 --- a/Content.Shared/Doors/Systems/SharedDoorSystem.cs +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.cs @@ -1,26 +1,35 @@ using System.Linq; using Content.Shared.Access.Components; using Content.Shared.Access.Systems; +using Content.Shared.Administration.Logs; using Content.Shared.Damage; +using Content.Shared.Database; using Content.Shared.Doors.Components; +using Content.Shared.Emag.Systems; using Content.Shared.Hands.Components; using Content.Shared.Interaction; using Content.Shared.Physics; +using Content.Shared.Popups; using Content.Shared.Prying.Components; +using Content.Shared.Prying.Systems; using Content.Shared.Stunnable; using Content.Shared.Tag; +using Content.Shared.Tools.Systems; using Robust.Shared.Audio; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Events; using Robust.Shared.Physics.Systems; using Robust.Shared.Timing; using Robust.Shared.Audio.Systems; +using Robust.Shared.Network; namespace Content.Shared.Doors.Systems; -public abstract class SharedDoorSystem : EntitySystem +public abstract partial class SharedDoorSystem : EntitySystem { + [Dependency] private readonly ISharedAdminLogManager _adminLog = default!; [Dependency] protected readonly IGameTiming GameTiming = default!; + [Dependency] private readonly INetManager _net = default!; [Dependency] protected readonly SharedPhysicsSystem PhysicsSystem = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; [Dependency] private readonly SharedStunSystem _stunSystem = default!; @@ -30,6 +39,11 @@ public abstract class SharedDoorSystem : EntitySystem [Dependency] protected readonly SharedAppearanceSystem AppearanceSystem = default!; [Dependency] private readonly OccluderSystem _occluder = default!; [Dependency] private readonly AccessReaderSystem _accessReaderSystem = default!; + [Dependency] private readonly PryingSystem _pryingSystem = default!; + [Dependency] protected readonly SharedPopupSystem Popup = default!; + + [ValidatePrototypeId] + public const string DoorBumpTag = "DoorBumpOpener"; /// /// A body must have an intersection percentage larger than this in order to be considered as colliding with a @@ -50,6 +64,8 @@ public override void Initialize() { base.Initialize(); + InitializeBolts(); + SubscribeLocalEvent(OnComponentInit); SubscribeLocalEvent(OnRemove); @@ -60,8 +76,12 @@ public override void Initialize() SubscribeLocalEvent(HandleCollide); SubscribeLocalEvent(PreventCollision); SubscribeLocalEvent(OnBeforePry); + SubscribeLocalEvent(OnAfterPry); + SubscribeLocalEvent(OnWeldAttempt); + SubscribeLocalEvent(OnWeldChanged); SubscribeLocalEvent(OnPryTimeModifier); + SubscribeLocalEvent(OnEmagged); } protected virtual void OnComponentInit(Entity ent, ref ComponentInit args) @@ -100,6 +120,23 @@ private void OnRemove(Entity door, ref ComponentRemove args) _activeDoors.Remove(door); } + private void OnEmagged(EntityUid uid, DoorComponent door, ref GotEmaggedEvent args) + { + if (!TryComp(uid, out var airlock)) + return; + + if (IsBolted(uid) || !airlock.Powered) + return; + + if (door.State == DoorState.Closed) + { + if (!SetState(uid, DoorState.Emagging, door)) + return; + Audio.PlayPredicted(door.SparkSound, uid, args.UserUid, AudioParams.Default.WithVolume(8)); + args.Handled = true; + } + } + #region StateManagement private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) { @@ -113,14 +150,14 @@ private void OnHandleState(Entity ent, ref AfterAutoHandleStateEv AppearanceSystem.SetData(ent, DoorVisuals.State, door.State); } - protected void SetState(EntityUid uid, DoorState state, DoorComponent? door = null) + protected bool SetState(EntityUid uid, DoorState state, DoorComponent? door = null) { if (!Resolve(uid, ref door)) - return; + return false; // If no change, return to avoid firing a new DoorStateChangedEvent. if (state == door.State) - return; + return false; switch (state) { @@ -159,14 +196,20 @@ protected void SetState(EntityUid uid, DoorState state, DoorComponent? door = nu Dirty(uid, door); RaiseLocalEvent(uid, new DoorStateChangedEvent(state)); AppearanceSystem.SetData(uid, DoorVisuals.State, door.State); + return true; } #endregion #region Interactions - protected virtual void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) + protected void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) { - // avoid client-mispredicts, as the server will definitely handle this event + if (args.Handled || !door.ClickOpen) + return; + + if (!TryToggleDoor(uid, door, args.User, predicted: true)) + _pryingSystem.TryPry(uid, args.User, out _); + args.Handled = true; } @@ -181,6 +224,44 @@ private void OnBeforePry(EntityUid uid, DoorComponent door, ref BeforePryEvent a args.Cancelled = true; } + /// + /// Open or close a door after it has been successfully pried. + /// + private void OnAfterPry(EntityUid uid, DoorComponent door, ref PriedEvent args) + { + if (door.State == DoorState.Closed) + { + _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} open"); + StartOpening(uid, door, args.User, true); + } + else if (door.State == DoorState.Open) + { + _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} closed"); + StartClosing(uid, door, args.User, true); + } + } + + private void OnWeldAttempt(EntityUid uid, DoorComponent component, WeldableAttemptEvent args) + { + if (component.CurrentlyCrushing.Count > 0) + { + args.Cancel(); + return; + } + if (component.State != DoorState.Closed && component.State != DoorState.Welded) + { + args.Cancel(); + } + } + + private void OnWeldChanged(EntityUid uid, DoorComponent component, ref WeldableChangedEvent args) + { + if (component.State == DoorState.Closed) + SetState(uid, DoorState.Welded, component); + else if (component.State == DoorState.Welded) + SetState(uid, DoorState.Closed, component); + } + /// /// Update the door state/visuals and play an access denied sound when a user without access interacts with the /// door. @@ -199,13 +280,15 @@ public void Deny(EntityUid uid, DoorComponent? door = null, EntityUid? user = nu if (ev.Cancelled) return; - SetState(uid, DoorState.Denying, door); + if (!SetState(uid, DoorState.Denying, door)) + return; - if (door.DenySound != null) - PlaySound(uid, door.DenySound, AudioParams.Default.WithVolume(-3), user, predicted); + if (predicted) + Audio.PlayPredicted(door.DenySound, uid, user, AudioParams.Default.WithVolume(-3)); + else if (_net.IsServer) + Audio.PlayPvs(door.DenySound, uid, AudioParams.Default.WithVolume(-3)); } - public bool TryToggleDoor(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) @@ -215,7 +298,8 @@ public bool TryToggleDoor(EntityUid uid, DoorComponent? door = null, EntityUid? { return TryOpen(uid, door, user, predicted, quiet: door.State == DoorState.Denying); } - else if (door.State == DoorState.Open) + + if (door.State == DoorState.Open) { return TryClose(uid, door, user, predicted); } @@ -254,7 +338,7 @@ public bool CanOpen(EntityUid uid, DoorComponent? door = null, EntityUid? user = if (!HasAccess(uid, user, door)) { if (!quiet) - Deny(uid, door); + Deny(uid, door, user, predicted: true); return false; } @@ -269,22 +353,29 @@ public bool CanOpen(EntityUid uid, DoorComponent? door = null, EntityUid? user = /// The user (if any) opening the door /// Whether the interaction would have been /// predicted. See comments in the PlaySound method on the Server system for details - public virtual void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) + public void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) return; - SetState(uid, DoorState.Opening, door); + var lastState = door.State; - if (door.OpenSound != null) - PlaySound(uid, door.OpenSound, AudioParams.Default.WithVolume(-5), user, predicted); + if (!SetState(uid, DoorState.Opening, door)) + return; + + if (predicted) + Audio.PlayPredicted(door.OpenSound, uid, user, AudioParams.Default.WithVolume(-5)); + else if (_net.IsServer) + Audio.PlayPvs(door.OpenSound, uid, AudioParams.Default.WithVolume(-5)); + + if (lastState == DoorState.Emagging && TryComp(uid, out var doorBoltComponent)) + SetBoltsDown((uid, doorBoltComponent), !doorBoltComponent.BoltsDown, user, true); // I'm not sure what the intent here is/was? It plays a sound if the user is opening a door with a hands // component, but no actual hands!? What!? Is this the sound of them head-butting the door to get it to open?? // I'm 99% sure something is wrong here, but I kind of want to keep it this way. - - if (user != null && TryComp(user.Value, out HandsComponent? hands) && hands.Hands.Count == 0) - PlaySound(uid, door.TryOpenDoorSound, AudioParams.Default.WithVolume(-2), user, predicted); + if (user != null && (!TryComp(user.Value, out HandsComponent? hands) || hands.Hands.Count == 0)) + Audio.PlayPredicted(door.TryOpenDoorSound, uid, user, AudioParams.Default.WithVolume(-2)); } /// @@ -310,7 +401,7 @@ public bool TryClose(EntityUid uid, DoorComponent? door = null, EntityUid? user if (!Resolve(uid, ref door)) return false; - if (!CanClose(uid, door, user, false)) + if (!CanClose(uid, door, user)) return false; StartClosing(uid, door, user, predicted); @@ -323,9 +414,7 @@ public bool TryClose(EntityUid uid, DoorComponent? door = null, EntityUid? user /// The uid of the door /// The doorcomponent of the door /// The user (if any) opening the door - /// Whether the interaction would have been - /// predicted. See comments in the PlaySound method on the Server system for details - public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool quiet = true) + public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user = null) { if (!Resolve(uid, ref door)) return false; @@ -336,7 +425,7 @@ public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user return false; var ev = new BeforeDoorClosedEvent(door.PerformCollisionCheck); - RaiseLocalEvent(uid, ev, false); + RaiseLocalEvent(uid, ev); if (ev.Cancelled) return false; @@ -346,15 +435,18 @@ public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user return !ev.PerformCollisionCheck || !GetColliding(uid).Any(); } - public virtual void StartClosing(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) + public void StartClosing(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) return; - SetState(uid, DoorState.Closing, door); + if (!SetState(uid, DoorState.Closing, door)) + return; - if (door.CloseSound != null) - PlaySound(uid, door.CloseSound, AudioParams.Default.WithVolume(-5), user, predicted); + if (predicted) + Audio.PlayPredicted(door.CloseSound, uid, user, AudioParams.Default.WithVolume(-5)); + else if (_net.IsServer) + Audio.PlayPvs(door.CloseSound, uid, AudioParams.Default.WithVolume(-5)); } /// @@ -367,7 +459,6 @@ public bool OnPartialClose(EntityUid uid, DoorComponent? door = null, PhysicsCom return false; door.Partial = true; - Dirty(uid, door); // Make sure no entity waled into the airlock when it started closing. if (!CanClose(uid, door)) @@ -380,6 +471,7 @@ public bool OnPartialClose(EntityUid uid, DoorComponent? door = null, PhysicsCom SetCollidable(uid, true, door, physics); door.NextStateChange = GameTiming.CurTime + door.CloseTimeTwo; + Dirty(uid, door); _activeDoors.Add((uid, door)); // Crush any entities. Note that we don't check airlock safety here. This should have been checked before @@ -489,10 +581,22 @@ private void PreventCollision(EntityUid uid, DoorComponent component, ref Preven } } - protected virtual void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) + /// + /// Open a door if a player or door-bumper (PDA, ID-card) collide with the door. Sadly, bullets no longer + /// generate "access denied" sounds as you fire at a door. + /// + private void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) { - // TODO ACCESS READER move access reader to shared and predict door opening/closing - // Then this can be moved to the shared system without mispredicting. + if (!door.BumpOpen) + return; + + if (door.State is not (DoorState.Closed or DoorState.Denying)) + return; + + var otherUid = args.OtherEntity; + + if (Tags.HasTag(otherUid, DoorBumpTag)) + TryOpen(uid, door, otherUid, quiet: door.State == DoorState.Denying); } #endregion @@ -587,6 +691,19 @@ public void SetNextStateChange(EntityUid uid, TimeSpan? delay, DoorComponent? do _activeDoors.Add((uid, door)); } + protected void CheckDoorBump(Entity ent) + { + var (uid, door, physics) = ent; + if (door.BumpOpen) + { + foreach (var other in PhysicsSystem.GetContactingEntities(uid, physics, approximate: true)) + { + if (Tags.HasTag(other, DoorBumpTag) && TryOpen(uid, door, other, quiet: true)) + break; + } + } + } + /// /// Iterate over active doors and progress them to the next state if they need to be updated. /// @@ -619,8 +736,6 @@ public override void Update(float frameTime) } } - protected virtual void CheckDoorBump(Entity ent) { } - /// /// Makes a door proceed to the next state (if applicable). /// @@ -632,7 +747,7 @@ private void NextState(Entity ent, TimeSpan time) if (door.CurrentlyCrushing.Count > 0) // This is a closed door that is crushing people and needs to auto-open. Note that we don't check "can open" // here. The door never actually finished closing and we don't want people to get stuck inside of doors. - StartOpening(ent, door, predicted: true); + StartOpening(ent, door); switch (door.State) { @@ -665,7 +780,7 @@ private void NextState(Entity ent, TimeSpan time) case DoorState.Open: // This door is open, and queued for an auto-close. - if (!TryClose(ent, door, predicted: true)) + if (!TryClose(ent, door)) { // The door failed to close (blocked?). Try again in one second. door.NextStateChange = time + TimeSpan.FromSeconds(1); @@ -679,6 +794,4 @@ private void NextState(Entity ent, TimeSpan time) } } #endregion - - protected abstract void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted); } diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs index 7271258f5c4..fa7a135e6c5 100644 --- a/Content.Shared/Prying/Systems/PryingSystem.cs +++ b/Content.Shared/Prying/Systems/PryingSystem.cs @@ -74,8 +74,8 @@ public bool TryPry(EntityUid target, EntityUid user, out DoAfterId? id, EntityUi if (!CanPry(target, user, out var message, comp)) { - if (message != null) - Popup.PopupEntity(Loc.GetString(message), target, user); + if (!string.IsNullOrWhiteSpace(message)) + Popup.PopupClient(Loc.GetString(message), target, user); // If we have reached this point we want the event that caused this // to be marked as handled. return true; @@ -162,23 +162,14 @@ private void OnDoAfter(EntityUid uid, DoorComponent door, DoorPryDoAfterEvent ar if (!CanPry(uid, args.User, out var message, comp)) { - if (message != null) - Popup.PopupEntity(Loc.GetString(message), uid, args.User); + if (!string.IsNullOrWhiteSpace(message)) + Popup.PopupClient(Loc.GetString(message), uid, args.User); return; } - // TODO: When we get airlock prediction make this fully predicted. - // When that happens also fix the checking function in the Client AirlockSystem. if (args.Used != null && comp != null) { - if (HasComp(uid)) - { - _audioSystem.PlayPvs(comp.UseSound, args.Used.Value); - } - else - { - _audioSystem.PlayPredicted(comp.UseSound, args.Used.Value, args.User); - } + _audioSystem.PlayPredicted(comp.UseSound, args.Used.Value, args.User); } var ev = new PriedEvent(args.User); diff --git a/Content.Shared/Wires/SharedWiresSystem.cs b/Content.Shared/Wires/SharedWiresSystem.cs index a40f4283299..f069687ffb7 100644 --- a/Content.Shared/Wires/SharedWiresSystem.cs +++ b/Content.Shared/Wires/SharedWiresSystem.cs @@ -76,6 +76,13 @@ private void OnExamine(EntityUid uid, WiresPanelComponent component, ExaminedEve } } + public void ChangePanelVisibility(EntityUid uid, WiresPanelComponent component, bool visible) + { + component.Visible = visible; + UpdateAppearance(uid, component); + Dirty(uid, component); + } + protected void UpdateAppearance(EntityUid uid, WiresPanelComponent panel) { if (TryComp(uid, out var appearance)) From ef6958e1cfcefe77870d545627e6412b0225900d Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Thu, 22 Feb 2024 20:04:23 -0500 Subject: [PATCH 071/345] Fix examine text bug for Openable Drinkables (#25478) Break up Opened/Closed and fill level onto separate lines (cherry picked from commit 146c7b272d9af2ff68e110211d88c9c3c38b5fd9) --- Content.Server/Nutrition/EntitySystems/DrinkSystem.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs index f41ca44437b..925e50b949d 100644 --- a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs @@ -130,21 +130,18 @@ public float TotalHydration(EntityUid uid, DrinkComponent? comp = null) private void OnExamined(Entity entity, ref ExaminedEvent args) { - var hasOpenable = TryComp(entity, out var openable); + TryComp(entity, out var openable); if (_openable.IsClosed(entity.Owner, null, openable) || !args.IsInDetailsRange || !entity.Comp.Examinable) return; - // put Empty / Xu after Opened, or start a new line - args.AddMarkup(hasOpenable ? " - " : "\n"); - var empty = IsEmpty(entity, entity.Comp); if (empty) { - args.AddMarkup(Loc.GetString("drink-component-on-examine-is-empty")); + args.PushMarkup(Loc.GetString("drink-component-on-examine-is-empty")); return; } - if (TryComp(entity, out var comp)) + if (HasComp(entity)) { //provide exact measurement for beakers args.PushText(Loc.GetString("drink-component-on-examine-exact-volume", ("amount", DrinkVolume(entity, entity.Comp)))); @@ -159,7 +156,7 @@ private void OnExamined(Entity entity, ref ExaminedEvent args) > 33 => HalfEmptyOrHalfFull(args), _ => "drink-component-on-examine-is-mostly-empty", }; - args.AddMarkup(Loc.GetString(remainingString)); + args.PushMarkup(Loc.GetString(remainingString)); } } From 0cc0735fa2a93fc8091f10006c0811180f555f99 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Fri, 23 Feb 2024 02:05:11 +0100 Subject: [PATCH 072/345] Make galoshes obtainable and slowing you (#25484) * make galoshes obtainable and slowing you * Update specific.yml (cherry picked from commit 65687375eec57b453d9bd67b945598691052bb8a) --- .../Catalog/VendingMachines/Inventories/janidrobe.yml | 1 + Resources/Prototypes/Entities/Clothing/Shoes/specific.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml index a1c15cf9b09..329690dd475 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml @@ -5,6 +5,7 @@ ClothingUniformJumpskirtJanitor: 2 ClothingHandsGlovesJanitor: 2 ClothingShoesColorBlack: 2 + ClothingShoesGaloshes: 2 ClothingHeadHatPurplesoft: 2 ClothingBeltJanitor: 2 ClothingHeadsetService: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml index 4a49c804cdb..6a507cf0d2c 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml @@ -90,6 +90,9 @@ - type: Clothing sprite: Clothing/Shoes/Specific/galoshes.rsi - type: NoSlip + - type: ClothingSpeedModifier + walkModifier: 0.9 + sprintModifier: 0.9 - type: entity parent: ClothingShoesBaseButcherable From c84ecdf0bae368a3ede1cfe4ffdc20efffaed11e Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 01:06:17 +0000 Subject: [PATCH 073/345] Automatic changelog update (cherry picked from commit 84d9f7a6a97b37127e62efa37d0f3dc991072b33) --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 070d532e28b..15ef0392c6b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed some hairs visually - type: Tweak - id: 5509 - time: '2024-01-02T00:12:05.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23304 - author: EmoGarbage404 changes: - message: Defibrillators no longer reset the rot timer when failing to revive a @@ -3853,3 +3846,12 @@ id: 6008 time: '2024-02-22T12:18:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25466 +- author: lzk228 + changes: + - message: Galoshes are added to the Janidrobe. + type: Tweak + - message: Galoshes now make you slower. + type: Tweak + id: 6009 + time: '2024-02-23T01:05:11.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25484 From 164c06f6ed9c902297837632114f57a0290207d4 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Thu, 22 Feb 2024 20:09:43 -0500 Subject: [PATCH 074/345] Add prediction to Openable (#25477) * Fix formatting problem with FullOpened * Moved to Shared and networked * Revert "Fix formatting problem with FullOpened" This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566. (cherry picked from commit 381bb9020aeba82e9cad111c77c34bee29d52c68) --- .../Nutrition/EntitySystems/OpenableSystem.cs | 7 + .../Nutrition/EntitySystems/OpenableSystem.cs | 173 ----------------- .../Nutrition/Components/OpenableComponent.cs | 14 +- .../EntitySystems/SharedOpenableSystem.cs | 182 ++++++++++++++++++ 4 files changed, 197 insertions(+), 179 deletions(-) create mode 100644 Content.Client/Nutrition/EntitySystems/OpenableSystem.cs rename {Content.Server => Content.Shared}/Nutrition/Components/OpenableComponent.cs (86%) diff --git a/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs b/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs new file mode 100644 index 00000000000..f8c3f7c447f --- /dev/null +++ b/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs @@ -0,0 +1,7 @@ +using Content.Shared.Nutrition.EntitySystems; + +namespace Content.Client.Nutrition.EntitySystems; + +public sealed class OpenableSystem : SharedOpenableSystem +{ +} diff --git a/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs b/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs index 373b97700f4..8037b61572a 100644 --- a/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs @@ -1,16 +1,6 @@ using Content.Server.Chemistry.EntitySystems; -using Content.Server.Fluids.EntitySystems; using Content.Shared.Nutrition.EntitySystems; -using Content.Server.Nutrition.Components; -using Content.Shared.Examine; -using Content.Shared.Interaction; -using Content.Shared.Interaction.Events; using Content.Shared.Nutrition.Components; -using Content.Shared.Popups; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee.Events; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Utility; namespace Content.Server.Nutrition.EntitySystems; @@ -19,43 +9,11 @@ namespace Content.Server.Nutrition.EntitySystems; /// public sealed class OpenableSystem : SharedOpenableSystem { - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnInit); - SubscribeLocalEvent(OnUse); - SubscribeLocalEvent(OnExamined, after: new[] { typeof(PuddleSystem) }); SubscribeLocalEvent(OnTransferAttempt); - SubscribeLocalEvent(HandleIfClosed); - SubscribeLocalEvent(HandleIfClosed); - SubscribeLocalEvent>(AddOpenCloseVerbs); - } - - private void OnInit(EntityUid uid, OpenableComponent comp, ComponentInit args) - { - UpdateAppearance(uid, comp); - } - - private void OnUse(EntityUid uid, OpenableComponent comp, UseInHandEvent args) - { - if (args.Handled || !comp.OpenableByHand) - return; - - args.Handled = TryOpen(uid, comp); - } - - private void OnExamined(EntityUid uid, OpenableComponent comp, ExaminedEvent args) - { - if (!comp.Opened || !args.IsInDetailsRange) - return; - - var text = Loc.GetString(comp.ExamineText); - args.PushMarkup(text); } private void OnTransferAttempt(EntityUid uid, OpenableComponent comp, SolutionTransferAttemptEvent args) @@ -66,135 +24,4 @@ private void OnTransferAttempt(EntityUid uid, OpenableComponent comp, SolutionTr args.Cancel(Loc.GetString("drink-component-try-use-drink-not-open", ("owner", uid))); } } - - private void HandleIfClosed(EntityUid uid, OpenableComponent comp, HandledEntityEventArgs args) - { - // prevent spilling/pouring/whatever drinks when closed - args.Handled = !comp.Opened; - } - - private void AddOpenCloseVerbs(EntityUid uid, OpenableComponent comp, GetVerbsEvent args) - { - if (args.Hands == null || !args.CanAccess || !args.CanInteract) - return; - - Verb verb; - if (comp.Opened) - { - if (!comp.Closeable) - return; - - verb = new() - { - Text = Loc.GetString(comp.CloseVerbText), - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png")), - Act = () => TryClose(args.Target, comp) - }; - } - else - { - verb = new() - { - Text = Loc.GetString(comp.OpenVerbText), - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")), - Act = () => TryOpen(args.Target, comp) - }; - } - args.Verbs.Add(verb); - } - - /// - /// Returns true if the entity either does not have OpenableComponent or it is opened. - /// Drinks that don't have OpenableComponent are automatically open, so it returns true. - /// - public bool IsOpen(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false)) - return true; - - return comp.Opened; - } - - /// - /// Returns true if the entity both has OpenableComponent and is not opened. - /// Drinks that don't have OpenableComponent are automatically open, so it returns false. - /// If user is not null a popup will be shown to them. - /// - public bool IsClosed(EntityUid uid, EntityUid? user = null, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false)) - return false; - - if (comp.Opened) - return false; - - if (user != null) - _popup.PopupEntity(Loc.GetString(comp.ClosedPopup, ("owner", uid)), user.Value, user.Value); - - return true; - } - - /// - /// Update open visuals to the current value. - /// - public void UpdateAppearance(EntityUid uid, OpenableComponent? comp = null, AppearanceComponent? appearance = null) - { - if (!Resolve(uid, ref comp)) - return; - - _appearance.SetData(uid, OpenableVisuals.Opened, comp.Opened, appearance); - } - - /// - /// Sets the opened field and updates open visuals. - /// - public void SetOpen(EntityUid uid, bool opened = true, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || opened == comp.Opened) - return; - - comp.Opened = opened; - - if (opened) - { - var ev = new OpenableOpenedEvent(); - RaiseLocalEvent(uid, ref ev); - } - else - { - var ev = new OpenableClosedEvent(); - RaiseLocalEvent(uid, ref ev); - } - - UpdateAppearance(uid, comp); - } - - /// - /// If closed, opens it and plays the sound. - /// - /// Whether it got opened - public bool TryOpen(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || comp.Opened) - return false; - - SetOpen(uid, true, comp); - _audio.PlayPvs(comp.Sound, uid); - return true; - } - - /// - /// If opened, closes it and plays the close sound, if one is defined. - /// - /// Whether it got closed - public bool TryClose(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || !comp.Opened || !comp.Closeable) - return false; - - SetOpen(uid, false, comp); - if (comp.CloseSound != null) - _audio.PlayPvs(comp.CloseSound, uid); - return true; - } } diff --git a/Content.Server/Nutrition/Components/OpenableComponent.cs b/Content.Shared/Nutrition/Components/OpenableComponent.cs similarity index 86% rename from Content.Server/Nutrition/Components/OpenableComponent.cs rename to Content.Shared/Nutrition/Components/OpenableComponent.cs index cc24bf44dca..3a230fc765d 100644 --- a/Content.Server/Nutrition/Components/OpenableComponent.cs +++ b/Content.Shared/Nutrition/Components/OpenableComponent.cs @@ -1,27 +1,29 @@ -using Content.Server.Nutrition.EntitySystems; +using Content.Shared.Nutrition.EntitySystems; using Robust.Shared.Audio; +using Robust.Shared.GameStates; -namespace Content.Server.Nutrition.Components; +namespace Content.Shared.Nutrition.Components; /// /// A drink or food that can be opened. /// Starts closed, open it with Z or E. /// -[RegisterComponent, Access(typeof(OpenableSystem))] +[NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, Access(typeof(SharedOpenableSystem))] public sealed partial class OpenableComponent : Component { /// /// Whether this drink or food is opened or not. /// Drinks can only be drunk or poured from/into when open, and food can only be eaten when open. /// - [DataField] + [DataField, AutoNetworkedField] public bool Opened; /// /// If this is false you cant press Z to open it. /// Requires an OpenBehavior damage threshold or other logic to open. /// - [DataField] + [DataField, AutoNetworkedField] public bool OpenableByHand = true; /// @@ -61,7 +63,7 @@ public sealed partial class OpenableComponent : Component /// /// Can this item be closed again after opening? /// - [DataField] + [DataField, AutoNetworkedField] public bool Closeable; /// diff --git a/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs b/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs index 274de89003a..f3b1127578d 100644 --- a/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs @@ -1,7 +1,189 @@ +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Nutrition.Components; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Content.Shared.Weapons.Melee.Events; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Utility; + namespace Content.Shared.Nutrition.EntitySystems; +/// +/// Provides API for openable food and drinks, handles opening on use and preventing transfer when closed. +/// public abstract partial class SharedOpenableSystem : EntitySystem { + [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; + [Dependency] protected readonly SharedAudioSystem Audio = default!; + [Dependency] protected readonly SharedPopupSystem Popup = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnUse); + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent(HandleIfClosed); + SubscribeLocalEvent(HandleIfClosed); + SubscribeLocalEvent>(AddOpenCloseVerbs); + } + + private void OnInit(EntityUid uid, OpenableComponent comp, ComponentInit args) + { + UpdateAppearance(uid, comp); + } + + private void OnUse(EntityUid uid, OpenableComponent comp, UseInHandEvent args) + { + if (args.Handled || !comp.OpenableByHand) + return; + + args.Handled = TryOpen(uid, comp, args.User); + } + + private void OnExamined(EntityUid uid, OpenableComponent comp, ExaminedEvent args) + { + if (!comp.Opened || !args.IsInDetailsRange) + return; + + var text = Loc.GetString(comp.ExamineText); + args.PushMarkup(text); + } + + private void HandleIfClosed(EntityUid uid, OpenableComponent comp, HandledEntityEventArgs args) + { + // prevent spilling/pouring/whatever drinks when closed + args.Handled = !comp.Opened; + } + + private void AddOpenCloseVerbs(EntityUid uid, OpenableComponent comp, GetVerbsEvent args) + { + if (args.Hands == null || !args.CanAccess || !args.CanInteract) + return; + + Verb verb; + if (comp.Opened) + { + if (!comp.Closeable) + return; + + verb = new() + { + Text = Loc.GetString(comp.CloseVerbText), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png")), + Act = () => TryClose(args.Target, comp, args.User) + }; + } + else + { + verb = new() + { + Text = Loc.GetString(comp.OpenVerbText), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")), + Act = () => TryOpen(args.Target, comp, args.User) + }; + } + args.Verbs.Add(verb); + } + + /// + /// Returns true if the entity either does not have OpenableComponent or it is opened. + /// Drinks that don't have OpenableComponent are automatically open, so it returns true. + /// + public bool IsOpen(EntityUid uid, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false)) + return true; + + return comp.Opened; + } + + /// + /// Returns true if the entity both has OpenableComponent and is not opened. + /// Drinks that don't have OpenableComponent are automatically open, so it returns false. + /// If user is not null a popup will be shown to them. + /// + public bool IsClosed(EntityUid uid, EntityUid? user = null, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false)) + return false; + + if (comp.Opened) + return false; + + if (user != null) + Popup.PopupEntity(Loc.GetString(comp.ClosedPopup, ("owner", uid)), user.Value, user.Value); + + return true; + } + + /// + /// Update open visuals to the current value. + /// + public void UpdateAppearance(EntityUid uid, OpenableComponent? comp = null, AppearanceComponent? appearance = null) + { + if (!Resolve(uid, ref comp)) + return; + + Appearance.SetData(uid, OpenableVisuals.Opened, comp.Opened, appearance); + } + + /// + /// Sets the opened field and updates open visuals. + /// + public void SetOpen(EntityUid uid, bool opened = true, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false) || opened == comp.Opened) + return; + + comp.Opened = opened; + Dirty(uid, comp); + + if (opened) + { + var ev = new OpenableOpenedEvent(); + RaiseLocalEvent(uid, ref ev); + } + else + { + var ev = new OpenableClosedEvent(); + RaiseLocalEvent(uid, ref ev); + } + + UpdateAppearance(uid, comp); + } + + /// + /// If closed, opens it and plays the sound. + /// + /// Whether it got opened + public bool TryOpen(EntityUid uid, OpenableComponent? comp = null, EntityUid? user = null) + { + if (!Resolve(uid, ref comp, false) || comp.Opened) + return false; + + SetOpen(uid, true, comp); + Audio.PlayPredicted(comp.Sound, uid, user); + return true; + } + + /// + /// If opened, closes it and plays the close sound, if one is defined. + /// + /// Whether it got closed + public bool TryClose(EntityUid uid, OpenableComponent? comp = null, EntityUid? user = null) + { + if (!Resolve(uid, ref comp, false) || !comp.Opened || !comp.Closeable) + return false; + + SetOpen(uid, false, comp); + if (comp.CloseSound != null) + Audio.PlayPredicted(comp.CloseSound, uid, user); + return true; + } } /// From 1a1c61d71df6d0e87265c779c839d4fbfd340d83 Mon Sep 17 00:00:00 2001 From: MACMAN2003 Date: Thu, 22 Feb 2024 17:42:00 -0800 Subject: [PATCH 075/345] Add Ratvar (#24958) * Create ratvar.yml * restore balance to the universe * scale issues mfw nar-sie is smaller * spawner + spawn anim a shitty spawn anim is better than no spawn anim * undenseify no longer as dense as a dying neutron star (cherry picked from commit 2458c87b625385fe4b339f1e4141443af28a5711) --- Resources/Audio/Misc/attributions.yml | 10 ++ Resources/Audio/Misc/ratvar_reveal.ogg | Bin 0 -> 52313 bytes Resources/Audio/Misc/ratvar_rises.ogg | Bin 0 -> 158465 bytes Resources/Locale/en-US/ratvar/ratvar.ftl | 2 + .../Entities/Mobs/Player/ratvar.yml | 94 ++++++++++++++++++ .../Textures/Mobs/Demons/ratvar.rsi/meta.json | 63 ++++++++++++ .../Mobs/Demons/ratvar.rsi/ratvar.png | Bin 0 -> 407691 bytes .../Textures/Mobs/Demons/ratvar.rsi/spawn.png | Bin 0 -> 665660 bytes 8 files changed, 169 insertions(+) create mode 100644 Resources/Audio/Misc/ratvar_reveal.ogg create mode 100644 Resources/Audio/Misc/ratvar_rises.ogg create mode 100644 Resources/Locale/en-US/ratvar/ratvar.ftl create mode 100644 Resources/Prototypes/Entities/Mobs/Player/ratvar.yml create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/ratvar.png create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/spawn.png diff --git a/Resources/Audio/Misc/attributions.yml b/Resources/Audio/Misc/attributions.yml index 2599cf8083c..db13d28d838 100644 --- a/Resources/Audio/Misc/attributions.yml +++ b/Resources/Audio/Misc/attributions.yml @@ -18,6 +18,16 @@ copyright: "Taken from TG station." source: "https://github.com/tgstation/tgstation/blob/b44fcdedfb7c7d8425bd75b9caf71644a86375d1/sound/creatures/narsie_rises.ogg" +- files: ["ratvar_rises.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from TG station." + source: "https://github.com/tgstation/tgstation/blob/2f63c779cb43543cfde76fa7ddaeacfde185fded/sound/effects/ratvar_rises.ogg" + +- files: ["ratvar_reveal.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from TG station." + source: "https://github.com/tgstation/tgstation/blob/2f63c779cb43543cfde76fa7ddaeacfde185fded/sound/effects/ratvar_reveal.ogg" + - files: ["epsilon.ogg"] license: "CC-BY-SA-3.0" copyright: "Made by dj-34 (https://github.com/dj-34)" diff --git a/Resources/Audio/Misc/ratvar_reveal.ogg b/Resources/Audio/Misc/ratvar_reveal.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e70cd9873c5cfeba0c3c4c904d2198498df8c614 GIT binary patch literal 52313 zcmeFZbyQW|+bFs=T>{eG4bn)%mJ*N-rMp8AL_}&!Nh94QA>G|bcS*Mhh)7B2z6*Wd z-}&x$&p79famM}cK4USRYxaER(`#;3t*tcy1mGW7Qv92NOS1ojP(j`}xtQ6y-WMUr zl>F1=)!)Vq5Y_vh|AG6S5b!PNF>@rIDEz-cG~(Z(*ufS$w$3)3sxHiE*u*~QY;^5tvR`_UoDf4j0uNk4}GXkZDC5={?m{G&Di-~xaN z11ol{l>%#CTsDhGQk?vKu7^7$DK4ak#5|m*_uqtu-+~YTkN_A9dSuR)g59XFH3@U1 zOO~*$iqK~o)KK*`Ve~JjOy)21Yx3=1j~3Y7#yl@ucr46465)bRx- z_+&M;l(j){Gko#Ja`uhe>>F?0q(J=!Z{3DK{kcHH^FULQpnskV@744B=g-z@AV3zq zaKZ-bCpxlE--JIQ1_YHL02cQsp+S$KV~xpC$hWd9vrVnDDXw!Is^S=`!urz$JXNIo z)c{$xDf$18$4WQB@_+w8ZTi^&D2U6xR}_7(7-TgV`dm0r|6sTu0M8Vv!O`Qw|J0Sg z&s7Y3p1zhDh*KIlQNsE65blp10H8b+J+CMRKx}9{nsO0%;VM4ssyqv#;vOUaYk2>M zUcimerduW0!O-|Vn*Kox3>=mu8%-MP?@VBW;Oy@-DdQ=}Bf{7zn^}bfsZ*UHTB*#9 zg-NM@PS9bLbOSs~*1_bStmN?&*HHzml)S$=54=>=(!xowjC4Bu$xl|F6a*BoiY8s@>d9VHc?3@Mw0&xFO z@xRF*QvOTDxiO(^gDlmw@E zsbBA{TlWvc{AHWfS-1bfIrl6=CmgvUAA|HiI46rG@|#d3y+RCwZVZ!0f^|qrVRFV! z;U|p$#yK{jpOZpA2ZwG4N3w(@*oLGOHGXm!EZc4R-#-80oTn}f-~)1wtP8_`;hYX0 z3Tcp=syLL7|L#$I0z~L*S>peC007YO5$o9>IijxdXj(&HTH}$nmiYggW5C*Je&s2C z5V7$9KneigbMwEx!^SiFC>-*{22G)xqQ^jFCoRVy{KH3jIfXr1&0$=m+N5!XK!UH| z^z0~IwZbAwE##j(s_WID-7G)_#U2`vO$uQ5K`4|FDV`yMoOcfjQ-Cr7WCZ_Sd4SL{ z!4Jh3hvLiref>X6!HM|Qk-+DlVZezdv>+4w|I7u>(!nPSKppe9{f}V?(0G6q8DL}i`-<((f9V=r$e|K` zKKev}9fH_YfbAE4)1v?R;$Q#(gP;O10DlnrpEc#k;{kwBjD;>}U&zN;LI9YhZU!m< z#8`Sz{m+N_e_#6FCWOFP0N}$X9U^CnA%sYCU1$skrim_~jQExeN&vZUjBvj?a(+f4 zR2F^FpG$FnJ!XiLxt3Zdf%vkx=2J@V1Vj=_DignqI` z0M!eKcI11sKekciz*e*AR|IGnfR1&cgiVi6ETN$NR5bXCW9V2$oj_Sr+c0rMCt*9} z6H7{dQ4=RP(byjq1sZoYDgPc7TYaI}PrUOl6pr8tkT)E*8ARw!v1A;+X2sc&a$-^?olfuY0Rg#jYwb0OD zW6i^mVq=Wgcp{&dtHG=IC@(<+nKnK~v5+QLLxU9=fKdv8e>!M^K_y7QZ_wH^k24z< z-e!=t<~$3qU0SS$2v~*<8XT{|Cb@AM zQa{pMLHi>eYyttGf3Y3vpu&x(^#|RAK*!qsab+-r=vIiy_sC!d?N+;(+`lC$Vq^bc z-y`E69J?5Tr*V%c#-aN&Dl96(0NH zJPtSgC-(~Dzj`hI!+-hzGB>AZUt0SdAQ=rrgz5%F@Rcy66GoyClU3mXXz1XnKMCgf z!4Mats7NRkF3iFhpP(07DizFwmY4fg&w+<%Oc*sgH%>2Ud-dk)1$u&lCCinB~|~v*1lALb<_1(<+Pr8Ni9=O zc+7oSN$m_>oCa?%fhL$s3E=KMCowPK+1882`*K00`3P)m57Gj?MMPn*9!NOomf;bP zrsG^kkpZZ<5CCN)dBRMpO=OybPD};+b1;pd4+)Z9?>&Xx)0IXpi7QBEGy(UXST5S1 ziYK6X37#3L`M(v}0WlhbV2}F>a5~1kuYY^6+*`tmh5xC@i;L6v(--ZJi43};_m(Oi zNV{Gfv^9J_h+Iw4Yt3pp!h|+mwxnYkGfU(%ESqyg+e)L zb2_q|m4ukn9|ORX;9=a5;2s*DY%&(Md_-6ea*!9$KRzel+yLW5G#KwOM3q95!u8Xk zfI`rPgw}(YR}KTn)3P+RenP={0DuZu1I5=oKu7l}dE>|71%UpLl$Mo8_{qaR)uO-! z0LW{=f`e_ggha$7pi(k&@`_3-YM^+7{LzF^0D^}0*WtW>M??D?=;#po(;v7Gblj`O zLknM4Mn$1T5g{RARjFrib-176a~&zkrM~*1)=4;M?@G!@%ZLlLwxosjsnSpp39A;b zUtxYfpB9=zOV-#pQ3ZwJ<~vACO6k6@6yAjqxw(|hOfVcj=F3=hC2$D=O1@H#!0$F2er#+u z&DGagi$alU|Lz?y$$r|4g=E&UU|%_`@4vg^!|_P+m&;j|&qT6<@VNne#48+ie-4{| z_svAP3UkE8e9+WEg5;wuaV`eA#bv`^`i#eq!qOA_;A~SB3lt&qsO`(l&gs`u=S|VO z-EC7m=?ZueQ|CW4;#G&GtP)tqaiJg4&EgHa$k4|qm8V#wFp_BrOx(0TdC-=7w$HP_ z68|YB^2n~Re&yV={yYk~;uirJO9H%nmW^o^<6Nqf^g54>V{FdHItAZ)LF8yaS3s-kgVao?e*a4VJvceD)mp><(j)Zod)VCpB*#S(2&t9Mzi=IO;2;2}Cf_8SUJK}MG;n3~OrKCFX7a_-5Y@_YrVAeH- z3ecei&mn3)%kT&KZm#`IA=bGoTbIvWON*A9@)x1ac%*=Ld%lFU^+DWuF4MjUKNT?Y zaZC^q025o4!-K8;zo#<;kPr}r&CifHI+_(oBK4=l;*EM*SxOpKUm(Z!CDwHbP z3n*x7_YSh5AXyk9O;Mfq<5CM*fN#!K^cK}Q?oVR6vhd)^@+^#ScmNyAn4{JJJdzsdxNYO{DJxMok~>>^nm8ULcD|gT7BQ}8 z$aL?*4ZH4bYWq3}zfR5m5_xBD-fN&g*DF;^Qb#^eS{ZcZmK%S)c%DBjlr*}m`?z^K zx&E`MYbt%E;a5}H9*&qVb?;J18FO7fw`)Nl{dGo;$W`dqo!1G=kVU_Z#h@p7w+@;& zhgJyah4#T|ZQTZv?Pk=dqX;eCv#p2s0^nD7_a4_?{GR3GpdVF6p+@Q@kL71_5wkqE zh~3Y~hwP$4KAA#>nJ}@Ko07V_m4d_@u0GrA;P8Dovc>pTV%?N}JWDi>X_;>~I6Sr7 zwcQ|c4mmo?7~OI@YxRvvM-(3!HrbkxyFs;|f=c^bwM+WPQq2S*Wf{Zvmj!NL&mQt` zN_42DjF{RTLnVQzjDQyq2m(OVh;#)P#x$k5v#%raeQSa64K8dMNZT&#!2Y}N<{oKh zEh|53SLol2hC-vwkKCN{>z7FB8f^l-&|h2i`g~l855C-;GPgN5nsc6)b6KQhq7_I`NTa5WLqD=JvGLA+{g zWL@68zeruVKYM`CQ1Cw1x%USGEnWZ?b36kr9U=q?f&Mw--~$FgOEC~mEodhs8RcP^ zX%Pw^g9>;(6)>mWhM@JbB4kOZI_K!Rqb*y|nu@2;ME4OW&(JY{ch(Tk&0v!Ikb_eZ=eJPxS`5v)kT~oSs{$Lrs%h%Ln1h}GGp0xU@%8EVetY*G9qLMe?Zwa zv{l7E2-#@!+Fzx8X_Snr^>}Jl^Sh@9aFmM}ATVt%V^`E;L;x27)E)pp zQ?&d5m3HSX|BETHQH!R1o5A{>nKnbAt%t5ybJfPzbqlqbE9}=)LKgWRDdInG-hbeY zq^IA;Zw#OQa=>oi-f|!njfvc!MdGGSG=(=!IaK*-xRpagn`yIQ+SQFp1Zp!;BygTvgVYzv9Ze?AqCK}X_qu|g`Ea2zc^BOeD{1W34Q#MMV;$+ZQAp+AefcJbzhj`+nhEou~Bh z5%r{7#wsD<8}S|0pH96P`00j&-YHbQom}+M@JYpQTuD&@MNM5w0b*?RPzKKRK2Fl^ zA8yXP?1k^DGY0910gsV3Jc&%_C<740c!Te7`Y{6!b7H}_A z4wM^kcC66z+j(ed9SqLSu32;3_FgdYdW1>(q+v2SL*9TCcJK>yp#OrI{bkLeX3X!L zl8XJWCST*P?6~FSd52T<7OA5XXiWA> zNt6IH1}(}#H|6nU>p|93MoLbLUo;tS+|c(eN9FL{i)36(^X{FI1A(+u{>=}!u zGy1V;@6cRCn+bO_2ULV9M_gv!x9c93VZAO%5byNBC5F+Xb=<$Jz z$x4NF3Uwd=9RRQm0ep(nC*jy^Ec#FFqOe@YP9$~F3`S{jx8g5Ps)KasG)WgpCJ|HkWhR0G%MTV{H!uJwY~mzcBwJr(Mhscv^nzXdok~K zJKw`gDX!}s&*l;tWxSnw^HRA@Ug4NVbK5=U*obc#oK=i0DZ_Vc;ig<+qMgp^_>Mup zmie@-ThQJZ$H}YowWgoT5ZN4{4`s)n$P||daM)PnQ8I--iHXMg1V!`FbK8Q)I|uf) zRdTzeir@I!7CGzbM>9t6ewE)#ua3w;Fb@?;FY@yPX#SY6P%kd5@V@I8{@S-6Y;F`? z=AWfqpPxw%!}%J{7oOeBq%W(NJBv3j>*n0i?)vOmZ}!yU*s(-$oi;TaNbL7W>`@N5 z>Mz`WC_+4pi1WT)7>t@KDbi=1Tr_&R9XR7F;$qm{{s_bRE`5&P*v9s^FP}C*|pV_q5tfC~x?MWpyLbd|Xi2{I+vr(^?MPkfzgTW<@9=L z&1;K|DKm>C%-W9f9w>q5P@cWDQ#Eb3(Q|{GFx~6;+W_aW0J_>vh2JXPW2($A#<&eR zy!U<@5aa=92)JEy9VY_>G};V$c95{gwY79xzW`YtfQCMvs)m*hT;Aa!Kp_ZV9h_hd zGj}j%DkE|`xg(09Is@3wI}kt!lxG0AcWi({3=k5+fsG+{Am+Z?ko+mJaQifu^);yG zfKtP6Y2Of&co2ZKXGr7lZ{#cFRg=qC-U`%)l6I%x#$9qp!;-aCy>GcUl1kqVeceLf z*NcV^r_AIt3$1Sx!rM)3dZHM9oB(s-0C3@E{6&E7JCpRL!k)`Zb-j?5Z!yvoNl)ri zzZHvr6!Nc5ovIxp{sH08JB6!uEZ#<4n%mCaKGT|tG$#FwN<%^q04t5pJ|1}&KE;rB zrlTJ*j!d@Uw$zoz?1e80uDF(sGA5!@0a{Xf@DZwbF~RGJ&#Nbia}P=zEz=}A2#65? zuVAEuwt^k1*Spy}eZu5lISOQA<2{v~#)C6ZjgF?Lw~s$q=R>mAAu?2*aO$D9I@K2n z+gPVn@O}ly>p^}W7&o{EpZ$zAzvVJx9d+{$Zf#OWDo4fuK17zi5z$f zq4q(%B-Y_k=JrDH$8UI4nlB_Dj^|U8tKf8$pdkTNy(qdybx|6Xy=hi{*hQ{SN8BDR zD(0Ec%oYuBn!r$#w$`UQj}L(WmsU7Bcj+^tT8t44xGtq4`>uxa%x^>ja{w4eTU)uK zbQet9u9z$ve6CUuHj~Yw$ZiJ|)T1OMfAQm~@d<=0N;?J;ru3>-To~KtPQQ9fW(>Pm zOOoUIS%#SEi$=Mi(XW?BEyN-{ykrm)5`e6zwgVpGjWnB%4e?XsWQMyB)9cLO zyl3yuTLap zpIjs`)?;X<$Tz7m37{o2XV3^X;go->)YX%3fIspW1u^$guy*rkHRo zY{3iZMrO9wm=D7UOA20e^+QvT)Ug@ZbJ>G))O2{CbHu#_P;3q{==~inQ}$bR(FhXoEhtpFZ(3HclhE*Lihy=fZLhkeLxb+T}1O|@gU=$ zL!e0AA{O*^ng#VK=nwSUM7LB!hF|6gd^Nq0>9{H2*!o0wmg1p}&%=ScoABkM-lW1$ zYn1M&I-P9IQ<=%H(v0}D8P8eyXJF0r&|<{Q0Y)q!xab*lg)NjE{DM6rkT~3-Qx1Fs zI!H`@J_2AFCLCBb`z43hgrehjc>0az`0b+3MOaiJ zZnT1;?j!q;A%19!hZ2^d%@}M*|3nlPBE9)}{1#i@xwkm}%(u6*Q|~F#c~MDRyfw$G zqaWucrYHMk=2MLAP|}(7D=ih4WVz|MX@+tU6)w_G-g4s)xMn?tpV8B!wY-W}WQ!*Q zpoRWf1!PSKM)rjelAZ}vfCQ=K&By{9w;tq~xLk2<{{5azKoz)x08{`oRRDkmfZ^@7 zRKp`UXRk4Lum4f{;;szbsR#NVvA&iub19Y15w^ZWjI@^&iIxLeoPPl3=v1M~RQBxL ze6agq4q6n{Un^(Ja2+zKW*L^!`H5lU8W!+6z0&D05p z5V&jK5wUyQNaPGhNDzMX&L;NBV)TM%Tr>+@8u=q!2lc(z%^50wS`Jzs5yT>=ww-%M_%1@e~Zkq z>aX7Lc9zsUA^8&v4Q+24aw@~=B{Ih!HxwKQwsG60gjJ?fY}Trm7fD05TW!CfI-krG zozy+<)9mKSmjH(2_=8GK`xKK!?E^b^I+lh$pTEm!D~rdG%yfTq+f-G8?Iq#=?f9xj z#S7=?)OxF6R)vbfRM=(40<(j1>}!8p6SlOlk-<6`i>GVD~dD0uyd`(;Qt`aydOkMnD~ysQcr z&&unCcL!SkPzR8PU((qY_UzHt;$o4ZKiWJ~+v3z$GwPQCZ?NVag9VCvo20IfH*a@8 zhQ-NrZe2{6iJpdIh-UnXTwx01EXpZb&hvfrs%id&>t~sCv(ZHxqJRP(48yCRAS5)=5dr=hyL>!>jw9rj0;wNMBDt$h>X)i z3%<(Nk1j=heQwbjkKlL6Hdu5S&pZBDW2_MLwW*Kn}%Vh(L?kf#ieA#XA|vQkUI! zlR8n-UL5XTGytZbeE8*L=*rJ9(9rVGbGIDJ6}$WAtbAw*^np9go76S{5gYjaCaOJP zd}g7Qv~OYmi2Qrq*D|81%hLf>>gZk?S^(Iu{cxZxl;%yD;Doh77O1Be&mx;BPgq8d z^47$f2v~|tG`312nxAzM>xpbHVGY|@nNMlD0h0MZ3n~Rd#s7X%`f-`~^r=VT`IL5! zmc`evgf-I>^BrVEOHipY)6OzeRN&oU>9^Gr2Iu<6M7|d-&(Dk(= zStI-Ok!1A`cS-U|)ek;*DWb1>hb}xplAX)wRy*DJ6sLZ(%hC{@c^yODRV?kt-KTuZ zps+eBA(3m1cnxq4`L;bt}EUPGMPS&{d0Iwpy zf0UWCL~bk4K*@ z&&@>&L7V0;oPcQ7axlo;dnde55S0IdxwTx)Zdi%wam*`DPCT{q)fFYxGtB30*X0}a zvw_btdDDmdPWJBlSqJkZFO{YxrVN%(cZ+@0qZXfI40lwb?U)i3nQAC%zjNt{NQ_~c zB-X321SgXuF9)7B252;>Vb;|JI#%t5<8v{E6PWF zK|D&WwCckzU!*1}G*`wk-FY4?d^=TTcZADNTEIswi#3bLefbT9fAoxTy8d-bg zbN#{FNMOJ9!>@GhUtvnC%Nqt|%EcP(HlrWWkRmHF^&9af9oO|xfeMTgXEa1r)W=Xn z*jxCeeWn&wE5%X`qy`109s{UA1SEd7UQ5p7@EyX}VhnzD-6*hICOOge_Ajdp*l^(+ zyvN&h`6{Z74D!)Em?SwpGb~{H%=#ecdB#x<4_|7S(bv)*MuT3#(QmP*{MOcsLx>Zt z6%99LqpO~C)C#;WJ}r8tC;RR-8NQ@no?p8?9uaH~U6MrLDiwNdSmMPzHIZ)o29D-T z&9k_u@6lkP8*Axq>OhCcGAf1A_!OpQQ__K*j6{dtQPTV6mN}dL_w1`I^Pewuk-^W@ z$U`LD;G$3fsuJ&0$&ft$4I|g?lGFV=h7?|dTJ#tL<}wS<7a?P_B{@a}Y%Kp^pJu;F zsL#PGp{BgwBWb?zW!jBic*5f4vp##wPc_P?+CLDDU+s74)=2z}72|Lm!`X0Z^`88Y z>Zu#8oOUEqH+86xf_=KjS0q_(oc~TxtEFOUYE1k6hLP7*2+qWE;AF}5{Ih&Vwq^z( z93P5J&w+{n5THv-zjz;S0lS%selkPC&=`dvLxK-1oW%Ylt9l^kl?IUtcLKEJi+6&R7}k61eGf19W`$n$bdQLm9X$aRE$DaUlAWpCd*Y&NI( zKDvt=$RS9k?z?!q66JlpQGUmKa3Wc5)r8YLSm%Csp2{3g$tiXlBeK~0Vc6ITgX1%P zf4^Liu1(Q6=yVVZD*$SQ9QpC`rFgsuXh4A&h;Rp$&U|E)Uvs8J<`BTY2dLl%$pWgQl&` z$na+?8|MQ0`XMSymNLGCnIepBA*<(Zo95r&rK=7bk~Y2%Ol`Y)3->hEfS(@i?v2hz zo@I$hs;bC-OQh#=x=18u4VF(+A{`XGymmMAx?Ep7a(*#EBbzvjX72ealGq-fMTyuU zF|V$K1V~_f001J+7zOltZt{?T82JxG0FZ)IC3!ujHYOlj?d9wKM$8a+CUk7pJEQb8}Ozr9(4AE^#rX$L@;t>zJ65*==dkd#9K0Q%v| zL8RtMkP=psul^8F6@tgp7S`JAOBguVJJw5IJ*9ueB{taI9>KF|NVRP+1LKt%V`_O` ztzl7ihi0qNPRR`oEW-1n`4h|pq+g#KV{e&+^BFe{tITGrW8aE~IOcR8xA4gtjnCCM z(F5G)HAzt3SL9qDmODRejqY{Y+po{~)M;9tUE>;C{EC_4<=13G4CY90Pr{DWCr7Ll zNT0R`%z~ew9MB=abmBwD-`Frg0GWwTI-rGLpbG(d@6E;H&}OEcPcehFwLN-oN=D{q zc{{4U;&4>_e1r)LM211Ydp8vTU=K>XHofJ|_I2X5)n5GK>8V?Cczj4^g!KwBab`E| z7U>tUiG&!;vV}L@NpVFqXb{}{ulhjvuaz35{B3SmBa+2Z^DhPo1JisOX_jAvzY2+F z^tB#UaSh&aADG&=zxDoc7*@@~vn=?E*|6x^R~#-xJu4rXOyu6z{r&N5rhxa7OJu8j z?=80Xex`!J_a`=QU-;Z2?~et~yko$H#eMlgih!U7l9o=fEf8Ax0~_gUG!oE}QnkUe zO+U8Kc*xCt*6B$i3SN!_xWQy)u=T3^2Uo$Qw}X_7M&k>3@>^ue^Ik+r0CqW&l8`&h z@ANHADcdTtR`VZf17I--G!yUKRw-7_UW~!VII7;naKHY6uaUACCh*~)jZahK$Ya_= zAo9bWz;5EuuJ2+++-AO4fO1QB`z=)PG_$LHbS!v}{tM-lazIGe(ep^lw2Q4Nfv?_j z_^z|m7=@8NGK5lY7!2>ER7L6@zGuw-Xd;Dzg%ALuk)MSQpzG1AOjaj!A^ta*@a-PK zV3-4>%zIor>{!Q;3^q2k)HK#LHrB!s`f6)hsydqB4@R5zBo%Mr;Y~nK`c-F}QsMAG&cWQNHTG3x;005lJ0O(Z9dd``+p)A}uvGL8>Rd!bbO_LY? z6N7nGZ-q8I_fn%1p6knBTw?Ia?2xgxdPA>;V$>*(@>;Y#+60&H3poDb$_vI#+s2O@ zCnnHEZ*L}rbKm`pJygoD zKmwGB_CoWDq_q)0p+Lu3!P^2ICP2rR4urN{?_6WWr>2wp{?=yovsbZqm@EhW)?g_2 zYGLMJSflv!xyo?iAIyNs2?9dLx|uzN=aP&1mbu49QgrIfWkuyqxWM&?ceaiE%Bpu_ z5mwg=;hZc-M7gg%xW8^a?>pAN{GBS{6Z|VNO8iz>zh!uATUb)%OIvCH(+<~E+4jiy zja2vd&tmt6d`3-O+QP$BdWVAuSdmMdLNKy$x$DHFZ%^_OkYGB%H}pIx6piGh2xPPj zOrPBHuk1_1*Ff{?_DTFZy{Y{-4z?6xqA3|k@_mRqt1D`PKG$!HDLJc7?`kdPy3<`Hw9-=ds+L?n=6o+t z%-9^*x!zoLjUkVlB=uHK&QG3P%(jYhHCA0E__eCtdgX3N&%O2)0+pgN(WaC4n?tY} zV*02-uY^F8YBR0#P#;i`Ef0Sff>8^u+=#sG>cBwW3@i7(dwndBRD$tKHo zn??2P8(ss|(!?Lb$H|$xy1Ae2@k4I?F6(_?UHtM6^CpAsq~xedHB?#Pr8s6b@B`!SK`ss@9|mDW7|D;hedJG)epLI?WL=CcX``fazg|X z$yevB4<6X7a1FQBpD55lIlWX?tRvr6SzBhhkpeaZ{id|0NCONyNx@I(H(rx0RFmms ze7eUMG@J3Gxip%r{K8X0eHpOiE>wJD^@LN2+EFaFNqkVX1vB=@X(Pl5fcdD*YZwyQsEz^<7D#_Lt> zWX-G6zYUDuy*&2`4O9|6?Tyv}QQJ^A)J-+8sta!#620E1?xNTbye!0u(4e`^K)`esnDPG%N}ln}48V zgcE@7UP!LCl8$VRZCc;C?B#5elN&T0uJmqpe~NBJQBkPq`}K?Ya)))JsU7ZdQ)PGg z`}2*+S?r@sRheGlK3O~0SG`YK2{o4m#o2zZ7!rCdjdpnzGI~^g6`5Kd!2SK$)ApHW zZz5!Tjs${}RA&NASde}has2F@;s8*f71ZU}Q2@_bz%VOdgz2M9{jiz4@j$tuW7Noh(K`5&G`PrL7(106I5DaN&BzK3wD7jYaj^i$;RHKzZ5;kTgr&tJh8tW z_+BwHQfpY=l}pL%lVM}q#R#d(3hGUw5Ip}J<+RzFHj;$>z?ySW`Z6OpqUqcRUsEsd z854``YShDO_SIjBsY~w*GfOrF6=WMoRWOq?p2TkU`aDs>jT^{@% zz}L$3^woy{Df40&KK!?X()XKK^4>7Z6VHJXPDpNY zt6GQ59{iT<747@&UYJ=%b>1LCCNte&sJU92A$K#jT|Z#wZ|Wm)i3}jABXrwBfVnSq zuRZ0k3v!cZRS`h5hsqNs0}K5Lu)lB@yvKHH6kI9u%h7;8>(o#0xTvq}N@pw2KW&l& zG}h=DB4>EZs^T2G!N`s89x&z>72U7jSrC8;7x(R!T(9csH_EvdwZFO;JF8bM?cD1d zJ91p?d{gE)^}`!d`4cA*J28bDd`=#z}}-S+;SWxa-+WeRL}La3;=Asy?GeUFZHF(3^U2LK*_ zth;c_Q87{cHSy(Cq@C+kGL@Jj+Wv(B=jH*{N@D46l=kma4kN#6QqE^z?fEE3+P^AT z>E-rAQpjobhM;giK!~M*33Sk+ArWMk049FH90dNKy-c! z9D+Z5Kn2-7ek{$Hl--&gsdU5Imkoi}y*C;SSlUu7^h9B+8S=d;dvwvPhH3XT&RPT06kCz z#*d+ohAUBk4_1y_cGPO!N`fX=MQ5N&&}*B1vA|BT|LSm3uPq8EPp!il1}cQ)ee~^o zxfoSZ2-Cl217I_O!vITOUaRHWZq0mcv^YfUS$lCkwD%-_)pL2h#rkJnwIA*h@G-~B zVD{SamCb?UKP>E6G2V9a;ov=o%^> z;QL(8nX(B66x(fZqphSbpxf@r@B|?Rvuy;uGy#4LHuVZ+DJddqfKDCx-H)grW@P8W zLFviJz7%6Mj5=x8j|pr*yWtR~C2Z9Gw4;`Z@N*=nrvHE%-vH8~>W-&4*~_ow56E*3 zuge^mn5ZPa4Nn*+8aO#m-erMl|-9scdP&9_1<#HZ=Bf~rR0HTAzOp0+i&zU6f^ zpMU7HdvrBxS-kq%-=B_60LyG3BlaLl8c$V*^+GMMEwl9vq7wZRb2LB-J<+~HxzH{C zm)l|y6roEhSVkIfL4rMb1~Sfyo=<}Q4O)aaPIg}W4OO`*Ptq~20Z1b^t+|yR)I%cw zDg@}RB?4@yZF=_eZIN|yT9U7OA|e8vewH;?=W8-u%~&;BbZq$Y3eG$irQQf!nA>sc z?YNU{zxVBF;}Y-Kdf};2`A=oX6Sxs!5Drt|lNd3J@J64pvK&kb9|JtRq`R3L7%ojW zG@2-yn=!ry8NySVXc|YDL+nWc&^pZ1XMKzAaOxuIM*>zBT4%?;<~W?W(oZei{unzk ztPnYWG7Ji?Xnm~~3BPOn8Fk}-Eu1wC8XzD$X(Zjrr~7&Ne)_<9Z=XFECAHnoUH9-^ z-xqSv)Ypx>x>wPR1u`I^-FfIJeMuF@^5N>(0>pOA*tci zzM>&x5QW$t(9i(g2*ApfcTGK>S`qoLh;gHXU$F2QSW^wz=7M(EtYo~+V5+1v7E6$x~7T8Dj8uikG z+nLi*nvFtR{VL}N?aQa1F>RkKk7E3EQEeKl48GDZ+Gk)$8Ln++U0-VN_f>cn{$6Xf z?g<7Dc1JKB04piz4Syj|ZY$|Mey4Bs)*~C{@rES^8PlaxX%u%6A^viESJhQSKq-E4i0h772f6r9p~7C+?eKV z-^IehU1{R!>8>$-*V(wOGCw#+ZKi+)FDv7RJ|zWz7|=g_poE8@){8;#upip^z+@P2 zPlpg!hgQn*ec>Z%LxXq9;AiZ7yfW8!E+X^IWA4s;uX* zvC$1mAT5gB28Q!CT;NRwu-1b>0YlY!i-TR!A^P_446-J4Q*&;Gp~{*Ctk|`Vw8z5+ zzb{RNMr!`dxwBXqG!+wkx3ak?ex8BKigrLy=_#QXt*Nbs`;VFsQb>=vcs{p|CqB?L z()0Dfi*>KN;dC1(>x|!D`Fy5Ues(z-UlfThInH)jpG=PpR=AIT7P@M!iRmjfxO4M{ zdp+O1-q_e~)eVqY)0%i~`d;}&YD3Vh1#LoWtj9Nbn1S|{ST`QZ$8lbiVS-Xzhe z%UVB35t9g{wnAYKC|Ss4cue|=o(}^q`X-{hT~eJ|P+uklF-S;@NNMOP=^@9UD;nde;;IMYqrQU1n8TTjK} zR?#RADaKAJGNr}Gs3sJ;Y)7BHCJ$kdn)nDLgovZ5Qx*glM1!6(=?tby4*>u@k&()M zct(R;!CgU60m|NIw=3=R`Mh(! z0c^BSpvcI7z7)`$J_Hytm`vvd?XQ-%(l<1rjJ&zKb+;;~XqHY15$BpR7pnx~a z&;R)1g-|{zJ@3MQ4pxu4A6U!Ad}?YhC~<%pQN0_r1kb|{+v>0q7AtI;brDWe-kJGP zS@kql%-)GQ$8W{p&9?Yh*WJZ@54~6>C-$+^W81fPG;ND_jbugJT@1wY#^#t;`@9z9 zNowLug-CwG?-YBVKm1VfLII7WLN`2XqLN&D8RIG%3tav3=;H_8?2(%|bx)wcD_&W@f61}MM+yL{eM(JFf5&RPNyH&{ zn!J8%OzJ?G;#MwsS@OJW|L8(APc`ht(W(-Y*9PqAW<*th{|U5k$QUfuA%& z%{{vZk<7Matt^`XXuI-O9t+O2bwEwl-rK&ydfL%ge`EssgdJxa-p|YG<;$(?t^fT{ z1vD7o14r)-MuxmI=8MpV@S={*kJFiA#F?%isAM!f1dr@z-FaPDY!pI7YgRXc#P^+@OHfikGyS-&sQ?iTrneLF0KC2_ zoz(k42)v#HdskcZjT8|uF+@Z*;fBg01Y^*VSYZH0L$?cU_))NJ37HZ5lidr#OpFX) z@)s-cInFS#6o012sp>SN#-su()|3Hy+S*UR59uH{gHA6QH|_Ywctw73SIy`3>v4Ba zYw|?j7pP%VFZWj87TMo9P_reUudJuIrHk0)2%ZZDwAI5p=paBxNpT1meFkKi9f48?V8%v@H8}K(-*P}{ zZV_+e&u=JrEO;?Zm;gpqLx0hytSpwI{vp60qQt{(^58!92_Tw)7b9UkX5jBSDo83& zDjX01oeC4c1iZ2Hv$g!-Vg#%08dp-WzI-S7#}^Ap!6VSWfnqE-py>0F7ZcwH8t);C z8Wpc&($}Uqc6w{rYq@F4F6_F_PEfo}?k?4wqV8C_{^o4LFZq?)=M*b%rLn8u)MMu{ zf@#>6s=lLKgQL$rD|uKt%;JUPou!3b&_dYyI^FCRc*h#mEmzT6}Aq-Dm4BdND$6 zey{tUwO%{qZYjA7z7*?zov?KFOKo=FTV*;s;oGLOaj;?C_9{Fh3NG$`Ixs+@({aOE zx$vR(H4rBPOr2mREaG&YZOFAA* z_{hFH)$d)6-#jkl0WXoCiF;$p4r+s?7=PGf%y(?ko zM&OguY3{@FZl=vy*{Y1QhlV@LjaF)(%(6M6mv21?;1BjAv}ONPFii$)f}lNza#zDX zQg$QiK&{ejFnB@anLuDX9bo)&UhI17C}+(_)#U4yn8deonD^tu2f*6g&<3di8Bz1W zp;bOvHsjJCq4~Cd4Fj6gcDpQ;+Sqc2U%br8ATYMUylohc1JfDtrBQbantLS%U>OS7BgrZueb2ha^4 zxWwm7_}m>5ib>LGC-@)Se6S{=N=dX@JO1gsgxY85V6oreOZ6EBawp<+;zg>EJw_HY@>R~Bzv%VPBWY|CX$X#te zIgy34Jq%9w*pDQ*G&U3ZlI!+hGctH1@7$5Id^qm_lJ>0I4g>Mb2200rh>$PHjGJjD zsCEvB0dgB42Do$Vo_>AUNaOt&CYNuwe`5eC9zSAF5Z?lK9h=Qx*4N%|8yt;7oVO9* z3W3)z55eDjg8$xMR1pI}U%KN68+`F8@>VVXTFSpLFV8yd^XUAC`pJH^;~E$fan$&~ zh`I`>D7UWt4&{&z2uKM-cZYO$Nw-LYbSND|h_rNrgmev!zmn;AI`Z*Nr_3~BZctu^Yc$x6B%{fSK@I$@~8zC zF&y`hd*ZaDtkCh%4hirIn@3yaIqS#kwXz9O9mkW2eyFBf&A>N6-iuIeXWCdRrb?~;8#ZPsRtGb*mWd( zL~FhsmAy8HHBi0`+J5-#hf?3dr4Yq)^}j&tM%%WST^-DU^yrK~C^I1Bb#3q~!{MCg zPcq#er#)Y*ud1kGq z-FqF4qm+{eJVBijAu-UzbM^(y7{Cff|qjIh(vx!P_SofF)-LPeWy}s zHDiB5tv_V7X|Han?YoP2OhaOTHNDFDGl6EE=-$L*!B>sW1Kuj5{)e)p7`6pznDGWx z*zdqb;~VjYIxR40M3E-qtW{n~npZGdtW%~8I-CZy_p810b^ZLx4FDE3xtEQ^{<;(3 z_(BEEz0d#Hc=e~a8+qD#@u^>KCxlyw)Kk%5CvP6z?2Q!P!yBXh-lHH^ zJ#1h0yLj_@6MPg?DKxe|OYmy847Gm2oWtsqb@4%fKv)jTR003dPqY=t2E=R-0!WUm zii=MtTP)lpgfro#D&AmC6yaOVas|ir)1ArLOgT22SiGJVZ7!?~yRDpo?FC)jk7eE5 zS=PGWF`OfPI(vH!PO%S3!;NxXR#1qTw7B9LBdDVtSqg1q|V$WklUPXkx6f~`d*ri zQ9dn|;dtWt)`nVb7KY}na5gL?RK9cq0JtrrD?Vs8qzuw%Gxv!AWdyFW1&0yJh!hX# zMf4k$8V%r);UbzXAmQ%-3w*3Opc;a(1o_Zdx+pX}3o_i`oGWa}_bfksT#HZ~CmAOs zjU)qq)J09 zE)G`o?<5Ud)qi+S`tCQwqWd=6S7$OflmQD3mAyd zP|Ohy1SUv!0xWL3mB_#v9~poM#SHFPRX^olR3y9p`c7&0cod7-!o2E~5f+*wg0!48qWooK@#FJ9vo_d?vLu6R&p+oH0$YAQZyrUh{3&&*^5>jjDvb_QN!A}0P1rNY(_-4Fv6l9 zy|R@^Zh3#)DpcF)8uIciQ_b??$pcF6A5xrzbbPvm_4PcLWL^y56aTwROPN*XB3PUj zg_Z7>Cr7z)>!gz7Yqov_;R;L=J+_0J; zW1EIZl4@z`bVw8iLO2?*aK}_DPmY}W#u>9l6e9zJHquEiV6cg!IX7wbu4!tE1yF$u z=_~EmgvC5ZPh4zAlB-rZ<|Kj{)k7`^8dhA?_&VzMXyq;D2zUQR<3O?GlPa~!3Q-O# z>q7(6y*I&gRz}Wv#cPgzpD57l3mxGZudPNOJ`-boe;^k)yVGkHx zNQk?Snlq+#g=t+!;2;2N+r%aUQ zvHt?3o%xO*_xkj z^b(J~LY~VQ4p01&Ttre_8O2@+1+J@BtLHd_S=FU>VIiGX55?L_T87JCuf%*Fy%Z&9 zm8WIKSt__uUWkuDkf17d-6t%1pQ-;Zd>jct4l*>$Xh<34dE;j{H7}TOWG;}G#z#X) z#oRxeS2Ggb<$s2PQJ?{`%{BZVgV5hr{A22EZ> zJJ4g0L3tvCpK;M6$}>nrII}_v`7m@8QniWL3xEjF+95E1f7d*_KUmL1cDA9!}?4*$x1sE1<6 z+S4n4^qx|B?<08<1RCt?pw?!VN$C0Sno)dzjP4gjI6#NHgu52lux{Oaj=S-a)dk zzfwAr=~I=?YQ@qT%nQ|KBYoU;I-MB$jQ8ZnD${G|nkx&#Qu`v1LVPXN;Ze_<^T=BA zt{@ChHM$Yfv=8~xHb*me`B#U3$8Z&DSs8TUh0YS8V|B#$ITk^Ld`MiaiQkFVqU-3x zVQ@g37(<|Z$ckzqLQUGb=#3euQt`E1BRWsZsWqkI=!C~Vdj8}uKvRCT#=lJSxf&V* zhN-39QC8pkv*iAU-w1C%r}m^$#U&?E+LpPUzH-eyjj~y!kv{RLagIO!cdPo$-3;1R zls;#?^RiV$kw=n!k+FG$*xUvk-@U-~>ebq_<6VrD)Hwtu>{IfV`^R|Ucw%Ur$G3*( zCR8S|fIO5#Kv5BSs7hRm5mN++puGUurPs@=&aOE~w5bUpQYNdeo6P1?{P%5NdR*=^ zt*z%P7jO`>mI-2SGh$Z#`1wDze&e0|S~}(2(&`iFDCJ~&zithwOISTVON`4r7HTI8 zCrLu;J`>M#;cYzKanX|C5u>AHg8863V+ZpsPJf_!4kRMDNMw*3?buMj5`YaLNUYIY zBKixyy%~aW&~muTS->19;s9}+A_qKWLQt1ZSG^L`HAMlARrr`zH8-B~zP0Y3gt$Jh zY9_sxB&f7i$7`D>0E+lcB`W?20>StH`ut6HR{cA-u_%u8XQOW@YTM-n%(!(LbF%Vk zQpl%`-zpH^kN(cVBoNRHtCg_zOAJ4uaah;qq80@R7AG74-b57j8$XwXRBtRUl(H{LTYT(2HHVP>Ek&WeqG>b)6Rbi#Z z<*{_?Gvb|u`s0tFwrYIA?<4M0sHHkna#Y836_&>v;6KEB?@N+kM~LxF<~0d4g3P=Q zpdjat08relEFzG*3;%+F%vq;`xql-`*ER9CId$EKn%2Fj- zxzt=FW~7s*?~25L)58s=q2)qYBvRUzvZh1~Y;~UK(lE4-7oI%C2Ge$EU>7IuwHh@m z#s}Xup?6Hp9U^{jD6w_|;$HHBI`(p*`ycA(Jr0$f*@3fy^C=VWu(ZUomO{tEGG@X>D={M-(-g_yeRF9;bj5+E(o|e zUB_-iNlXmBdIWwVV!ysW>cQH?k+*q_s}JJsCSrKo7*Bum{x8c$Pyq6!;Q?>CR^2L(c<+fmhw_9KRQ_g2bgO^K zkEoKR<26o_h!Q9_M@IqDY*R}-7AP`WKn|-Y(Wu`dsIErw1uY~_p@Qf;m9(XE!)L4a zSm;2v|5cTEk?f+(<)Y>*^~&SdUpN_Tl@8s+9Kv|qm_<~l8s+EWy^-%ANb9&y*e}>< z_4WS=ael`=nmkLMGadI6DC<=Ysd$7`;}IwhVuzbGP|P&}5y%mh3IrV%(o6igpjLC$My)y7PmmZB{JnV?w!QsJoP{zP!$Ebx$xAez^d8dIxxFrA{l;+i!P>r9! z2w1KfKttF<5SX_^3~@owonrxv+${h+3zzps=+t6sxlfjvA~Y5UnMRvDZwTujJ%-+! z2)73JnSW4(2D)dSrXn`|e+L41L<%tImOi%9tge%tmSke8(8yt=oEzYsB~zsOu*;G2 ztdcQ?6;D7?k?-=y=J0eGyX~0T>Yde-j!ROGJH63F}<>pPJdD(K0_5e-==} zcyY-95X-#KZYQRND9UdG7)B8gZKP&)GX~hgf<0USgRp)1h*J*3yT%8uRj)@lbu&gk z3JQkc%KQdOt25NqjhhQo{3|pC2{4tYv ztRzO|u7n}spR!K`m_~^EtB_qF%4Cfix)Bp=5m!Mh8v#r2gWD^>c@of?5EdAH2u_ni znJR!3W3v)~>*Ru}k~CeTns~~#R~Tn~U$ElS*t_g#WaG1hX%1Hq$&rV@B^nhBbpD&6 z0I^tT2nr#55e+2CNVKKYEaj3=EB(59%w1hE3E_qyH$AMFWb5Q2ie?ETmg;4{`Ks}A z&rO-%<#nA*5W&u$^uJPADdkFy|G`w7YIQT^L}hF9scZJ^@Om!o-W?cwQTFcM z7=xjU$I4u5MC#u-sFT61tlaTI-o9u1kF9vUw1_VIS?}lF6bok9eDh5yO_hJmy(ERolx!7FdPE1FMd*@Ha`vD>(QnPBjW{Cuhvx*=~v z3eP7)4XKbMsA!`lW2c6#F*A&s;9Ce(asKmSZ(1BMsMXh;dl;A+%RVpMySIF$^i{b6 z=|N!mHE7r-iBL9T&Zed%abdS#1TqCCCI7ChRgBh<{U>$pHUd23%~M%BN-jzhUj+)F zERNbqkL;?0Pp1mKt^!5G=U0Xg&W}n17EL?$7xI3zjPHc39sab6`8A{Z>MI?qzJO?c zUu=|tG3$^nTY2&%sjRzuTm7D2Rq256eG5Xc5cALLNi!bl0l~{x)~>ov=YT=$wtiR{gcSLJq@vbb=bdR+DhXcn`vp< zSa=@PWGH5Ixpt^9a@DiYnzH68>U46jJ=nfgkZ*S)xc*>-W|m*8=vSZpqq%CUnye~` zUXJ`q>evM1j?cAIJ!&KoLey5tF#bDQ+9sQ90!*`*9}_-0jBnFJMw%@nImKc#Z^0_C z%Rhn12&}*w)I$O& zBQhY(5Dn0J1-8dDV71IK0qXA-_{?#yQ^rS$5#rOU5##YQro!n1=A4XpboS-Ig~u&h ztyKKWZBttW^N&x9)ct*PDSga&zIyBJ)^U7**RHhkjH3F)sQi8XdV4Q^u$IODCg2`a zm+;Av`AT?yXyFS>H(CQTy_Ss3@HwDOA|M^9e)dWDs@b)f$m4Eb{-XTSBn|lL=p!gA zmuyU2bmU%XGwE$9uO2}CB~1MKf1u&Es5o(s=6?HMY|y{wnu|6P5x-WHv#l;aiG3(0O8Q^EXaMHDE~VJlWfQ zlQTTKu<$BSuLDP;VqiJu(2XmPrqZn!O0AQb6um^&ODQ05cGZ~qyxUg1mX(+7GHyim zw-;ly%}uM1rsrAyqZ1)7=+{Mk&c{h*DR|r&XE7g=sjCIzEY}?9$?%Lf_LOum!UA;f zwfs4VO5WJ|@XNi%>Bp_sK@3F~M5rV$SDn4yygy zk@Bcq(dzBR{F#gv$%IFKph3cRv4kb+huijEu=9tPdB<|E;9^a~)^CT(mBcY+<`*dBNT@{f zzwIKzb{MWKI&sJl&$hZ2E8Yvs;Q%66_6UqSi23KkUQD2rU;wiwy5{`$O^3VESC8Q6 zG@YM4{u<tYhfSbAga=xxrATdC)!aR^OIH(a2p?9*xQzG_{M2uMKs+$BXbvBA_Y z5d5H1Csx}$J;tY{g{_SB;0 zIT>ptjp8%5HJ1pEnV5UUS{?>A+x;UwVrP?Yx+$QYkc#Hli(}BcX?4VGI-~BRETWbiDy| zbS%(}{zJ~FyeeBPW)b^-uja*MLbOZ*$YR{`|m z*cMQEo7A`l4jG=-vY{(F#EZvj3*T)zbX&aSrriDn?G z27ZwgyPj8n%9zU_nh=vZ`y(V+MNU}1?N!P>uzZ~OxUpp6Do#cO>-I^&CCv}OgrD(T z*^4#E`ysiXJBD9YjqBdWN!{1IAk~+XQsdt~m6Uk8zuQas%TAszcM^wWna?6xwj<+msaUk^>O26DH+_cb)F-t)E>}bc)SV5S%ib5y7?Nw>KD)# zQA~@1zZZNL`YxFk3ne7Phz7?Gi%$*{QijaiV31RS6QxmLo&*dq0c82A*N;vG>=j8K zyryl$zTTRfdl5A;8kGB$Z5;wMT?ltN)%i5w5B?`Q;5&tZ(nPOHNWXG!&01mnlVFrG z#$`@ygcoW?)elL#M`j7b;`~Kh)AQTnSe{eGu>1UK zscl-c{n(IdA<(yQED@m=@Cs4%fEK+4jdB7M0H?u>uycT(5+Mj!U?QR9%P{cv0(9b! zm_RUgb+q9$R{Ps;u(8|cE2j*4IW zv83SpcK37yqi0UVtCF1H9s%iB1A~d{?^6w8IL5`ljXX86FUU>!_nx1YO~=0eb?VoV z!$G><`SW~V)Y91b4;~~`%o?~C2H#bHSDKo}L68L)6i8KBbhs%|A3#ioY_b!4FbZnP z0n-LS6h*`kM=1LQ9c=>wdh>~~r~S?i*34g1FWnY(E8%O)ioj=7SSia5Yod9Z+q$gcDPjk!@<{ASE!T{7$pcfdh2?1gK?C3vbWeJO8NMz)RT`*zv z-vM}w3>F>t=U*E|6Q>h#>HUy$+k-iPcMr<-wmJOX|gKw>Z{1u+Bs{g%QHW< zA&mXqu#|3V(7c#}rA=s=@xki!_qqh?XIvM{1AXTik~;&Ixnc59T*3@Mf07c0r`KhL zR?Z0vGas}5iI#x{%OZrMh~!n-5_CLLZ6G*6e*4vY-cv61r66~v#*3OdkBZKmU#&@? zgK@WdR_3uv^SqBx$#+*Qup9^NUx|$v;Gr81rL_{zxc*p8*Xhri?oYK(rIdMDGd|e) zd~>#T$l!DBRK=&NB)Q$TrRX;NC44ReSHR13JxCw_E2qFBDh88Woy>TEv?|`_6DraS zv1y`DZ!}ttMoKhdlA+@plks|$y<(qIr39nb~}6` zTBNB(bRbfnQrlFUwHyNig2!MT8i8p+8r*(0IBL$ty7K0%#RE=!=_WcAhxjQeL;xnt z$Co%#r=K2Zj9~mFm%_OLsI%kdGUR6ZE$*da95cbyTBjv%ce#E;$qUMpyg!{+12N(r z-*gw(4O?u>Nscyi9v+S^ICbQ`yieX>tQfVs%m^WWLkGwz4Z(?QAjr83VriaWl_7Z} zAQ6XD8YV|!Eh8W*hyYH3kA1Weu4nIK&@eEn|Iyb^5EQzNNGYz_=bM;vL-CzGd#1B+ zEH~CrAe%haQRG0wYKHee)dEZ4%$bAtSKVn-C+qVaT`t`;e`w#6h;fso;;GI`H*5G_ z^ZNB{)y_WrHFx6rdd>e_MOUa~$p3=Czk7?zUu$>VZF zgaCkHXoq16eVqDYUk$|40a%7rChh=|SW^)THHCo*IBByd0(7?WHzK1)Y2Q)YE} z5N0p?_NG*Dm8D~N!iBpQj7Sv^zi1C}Nx}H%A(CiWj|8Lt*ZphJLOG-aRCH#Q+nwSVD!2%^WQ&GK)_B&|Mf+)G&;lEc=%fM zdT=U}F#>(L7%r;W6|$UfJo=!-FZZVfNJNw7YVNxKn@pfuGX1}k2S)njfOJ6WF2`=l zNbJ=o*&;ET5YzQoN*tdNd4|qC>WiYuQbSp>U%h3Fx!oN0zVdlQ1L3S&OkOk9^)VA) z%N4z8i}Wzzz#VonEuZR{@@W8#eJmRbk=zom4d4&SliKZ(+R4SF7B|8;Qwv|L_mfn zGnr*c;mI%$pOu&Yb^VL03#V$DM;SiX9>+s-4;v+#Lw+)w|K9I~+ciY(EH=If?PgTU z{^E&`x3knw$5{S`7a(eGaA*?%cpnog!@yw^ciCMN;}!Lt(G1=h!JPc#DTL&C7;%y8 znhr37FX|jqq3G5uVC@jBdG1Xt)MEmml|Wzye_s_pV5MD=6I;$#na;X;FwubhNzI>z z-5)dz?XFM1(C?qrN9z7PXFz-m#>O$P<$W)Li^jgJ&_P_@Vg7l*a>;=VhbWvo`jgaF z!T6wMk6-%lLDTVt@t!MQT_QUd!v?FcE3wxSuXA~utnYIloJ;^bTWm5=vF*1GhE}H+dhoQhq7Ti*M;c^AnZ+tSlt`6flkr z#2(YhG~x7$gM#eTr+OXz-U6|Pp>T2xcPQ|p7lWsg2!TTDcX~@r zW-3=@`@YAcg6Ovl&&skr#cNCvS+PmhgP300k;X;S;?}C;{1o_-HVu4H^gj1LdeCdN zm;N}e#x@Ug)F{)xgTpSf`9(dj%hNKz?&g18;}Uq+PYCWYl98QNu}UUZv@zj_1%*u^juc@@b;4twG>$~ zZ}Du@M;?8{TM(~UEX7MO#nw1yDeL3lJEi5Sn})YT)12#d0j)AsN0G(i*XHZLYcJDY z=9j(9ByPFhY;p@QyJPbe4%-hKV5e@_W8m_6&0c9TpWIw66X3jp@rb8dL4}ov%n~rl zuJuI_Hwbo-dI8bo@)(8f_i6C}l~kQjh94SJh)t}@4dGYoH;*R!XGZ&Pctn2EG-PIQ zY;loQM)u|u&zP=a^SmZ+esws;fPA&+vV?GJ?d z6Q_@zZv5U(xZpe{p5VfJDq4b;B1;6G3RW!y1pP0PqWG_6xutB}+M^UEG8wWP^&6oZ z*}+6pOSojeS zTxxcC_70SG8?#?jL^^8S4pLbdSv&G)S%Ug#4NBow)JV?f7aNW!fx6Vowz#+A)ZyhRrao%}S=si$K~`wN^F9vFXS?>@{=Y zGujk1Pn`y&4fR+PqwO-w?nO}WR@?8if)O?ji;^C`s8l+T>-h9o(W1whoLt(&gimzA zkLD49>!1y@cnV4=fQ;>=w7_`&^^a?z%;3nU?XWKuOBe3*@i*yW=n|=oKfLVk&nnn4 ztMB_>yzT$hFE|oEw$It1yup=R1kOdg&ubRHV|iz7#yVttuH1U$ycs_yOM~GlJ>SXgz#wLpEk(SHVmx( zA(t{e{yeN}-|y4YXMYa;f8R6cHSg&Zmik(w;Q9N-JKvUl>F<9o&Ao8dKIdsT6ecW< z<4i}X45gQ3m+lvsd#OsFmM?VS#m@D$bXXQUV9o_?g8A2yZcnqgm=F}`kVU~o8{2)j zSQn?!BhT;Y>*D-;4~eYk`BL-lf!`{J&rQ%kt0q&woYzD)F@AIA)Aodg?XsYcfxG_p z+a4#f{2k1XH1mRce5o>SUfEuMFCCc8*nW$9SKLnMQ{Y9j#P2w6CaZ^~eV4c!o-H+Z z+W%;6-%zC=qCD`vz-;;Tn>@CyCRR49!G8nJ+ zRp~;V{gYn4F3mk3FlaKO{iPLPE#Oo&3)L?HRRyfzpuyulk6JR}FQ?TxJ)$w}Dy|b% zu_ZjgeV}-+p?03qN!atMxVBZ?wfg+%^Wej?qvJ<3{m@QlVUw^V%10}mxMRvwP-BYs z77wBlaoG)CSXzfb0LnIJYXKoVokJB1w z7Dr3Jga7zuktYY_zg@5X;>UIm_glMux%8DDy& zE$sfh_6v$9r059X9m{gri}B1&~+y z{X&LR*DeaKY&B92rbhHJ?!qlRCBF zn(zF4lZN{c@8mb9C?`s*4_SH{!pamWepLwcd0&RkcB~N@?yP3IGm{$rk@HRwz-F95 zhWk?|Kbqlc9{#=#dx=7tro~K@(vT-PTQ^7SCI`aK%WU_%2oavJcN>A#w;4zFgnf~V z3!8Ywq9~XrU$m?@Ckln;zA}TP^s#8;7utUh)FPw_3YNRU1dL@ek(En#o8o8LFnRBT}Ci;6BMh7rA?Oesa@1R)~p zc@-?-X{?91V!9Y7sL>+2d(~R*>SHm_`DrW%1uzTY4fKPNeY0(501p{pcNADZFk^ME zWy1|W@^L047OWQocwm%*zyu4cU_lIJbo&D!IA@gu{jM!g`O_???U%__UI06J!TYoB z=rp;wrc*1FLr2R0rU@2so;)Z0-jCEUVc^4h@DfQ@+eXJ`K;K|w@@g_l!@z|auRd|I z<>Ly=2=A#STX`n+J$Mwc2T_lb;8yYf`b_i50kX9%Oh^31a}Gb8w*?MMa&JzVsoF48&q< z#*7QH_&KV}pR>2b=y%N6RaJc3XQwBNv9vZd`LGnab)hjyg{8u2*oSAOW7E!3KV>z4 z{+xp%$#|MAcQfLdUQC<@1cyv5&2xa=1c61q81oJa{}^M)#>+}-&xKB|MS?>dtH{pA zOHrT~zm#pV3jxzEo^td(v`9fDCLV4aCSV8Nz=w_ke++p=JDjDabHgYsL;lxV4+F^XO;|__3|3#SW|6q&jOH5_W#9#= zJwyA2hsws1or0#J^U%Vj2Zm#C<0s#A&NRF%>3dVF^BhZ2$E8Y#@Lil%A?|831VADq zO%V^~K>0yVHwPFkLM$M`E30@vHHB~nLi~tZPKVr12_C*m9TrwO*)MQAiKkqeT$VTK zK&E)#z6<}XSOxmLs5tC952%HWbUTbrqnpcVMRc>$yxiejk8@}_;!nt^9gT(`=tVyB zi+tXDYBA1=XYA8%@cylVynTJ6-8LaWwQMuB?Z-#^<_;SPsv4`jK&5~~9bVZ^%ZvC( zVPq6qLI$z8Z%}=&P~iz%dKdvcJq`=V?Yg3qDpsk#nI2f899(*M`9S|&-kTQLfmeZZ z77w@Ba*E^V=A#|crO6{!FE9SqwgGYRBPs6nz1}C=q$yqc*lCm%Y`mPmCP~?fj`K>z z=uJrTu~{I;MkYsz%E_`4+AW#Jt?tF`G5r&|fll#)c*RWTVq!!T>fD z;MO0e@qqDJ6HK&-RM{C(wW|VkVk;6hT7X#xxXxL{`^-Lov-C)+(&P-qeR}Ut3`PI- z;6nqqm7r=~a*Ti=U6C}M|5Sz?v zI=!l`;}N`ANbjHYdCOI4xIcSQR#u$~9}$g!_d!`mg9N9JKgL!XJ0N*J8i_P`wQarw zHh@*awxJgm7NTq}{R=wE!z>tJTuBT!EqvNa370`q1BG}phO8_=3pIGWP`5qlWJnN+ z1`FC8UnHh*iY{-odF}k`dcG+kaeA8TGvCq_ao>FdHEF#60ZU5EKnAoJVYl)kg3q>8 zn?u^nGpJ7=i}_SlOqx74Bblcv!|ZIn?G_U#otsO4kR{0z;P-M$jRC800dSI#0VpizD`Rn zE=~wX9~AcxOwv){?{UFgj1&mITpe8zoPuVCDAhcl3b^W*l-2PCXMu=a-wN14Q!#*b z`_1j*0w5~!7zkUmL7liALjC16%$(@aMT+hj-)(>VI)&+wjn3R7tkU@A6H~(^8)au- zBPxfdj+tW5)G*0E2v3tnlIRWzU&b$dXyVkW2^ILpj7yMzmVuOKGFYtlE_u5u~ zv~2Mbcr#)t-3PV;J4G!me!%^`sJ1-N&9OFWK}nyLwf93iI^E_ccTjxld-c-^52(Vc zvp}7@vV`h9Dh&2SzuWmiWBBhnOC}BU>7Y#JW$SNJX?m{r!2MOuGwXKq=#Is&GAk=m zJ)&QPiyKpRE3}*nmFn!ulL{EEL!-VI1!`WArBNHX*vO-ohq)_j7-AnbE@IJdoO{Lf z-xf7P$qez!<%T`~LLG>*yFeDhcvgx*y*8!S5D$@RuwBpilv(xWcVUr6OYhQyb>k;* z-J4p30F%~*0ti;4 zMg$trH_jDU>aT4e6jm8#VxrjE0gFu>9tLx7^|jHTaq3|kfv>tZ=00$qKNOcGat}`M zZ~_5QY1cR6(^$oM|2VW;6)u8Y#B`lm!&2RFQ>)L}a*KnXw~_J9u0KzCYl6IQmZDeQ z#1KdphArW{CnF`-lDlL9y?cumqO#~*f2_PE2^eLcHh(CceV`vo4d zn*@^GEy-utoDvq}&|}4Z4~G0iqW`pscvnU_l_mO+&e&dHrdlWd`#olS8sq&ve14bA zmh5O(J`cuC{IvG*Ql!yqC4q4P<5O$JY>EQcq!sf3!`ST{1zMd5llCu_$@lJ9J;gJc zAt6ENg|6DcFKF}u^dfz|Q6ktQZRm)wH~<6+gXNH)!nbXg=GCj!E1cQ5#o0Hn8t)7C zZ;XYtva)Ynzl~RTb=ha}2Cs3U)Ta!rOZ>a$!FlP+WK|7YEWb{?Yeyx-Op^rmW|`I$ z@u}jqyTl#H<2S1ItBu6(IO&v``(UJ)JZ_X!!H`wqch->Kew_%X`}Wvj^SRIIq6+ah z?KpjaD%B-a8j;#<#t&G$RBYC9k$wSz#XV3RC`B`!^sQ!_BLHi{rfZ{rvbZq&kNk4; zes3Cf?(C6szB@dUble;O(apQ>yZQJ_5~G-xFDL)P-++54hQ&g3pYe1#RbF~TCZRng zO}x0viV3t#jKkgrWm5s@i|Qp1B|Je+ZAE2?-xcv0Y03~g7^Ox>Ru2sNR>XSA64Iiv z8xjbc@3W|4w#+GF0PkGQFaZeQe0NAj*&1v?efcQ@iz9=Wjy4WWIo$nQCiIRgIubm% zYn0cRwKCA+-+nZM_nf^OpL`bk9&;YzI$PKmw1Iqy+ai&L)iD(7!}mX26ZP)$^5&+s z`1^79#F``T_m%dftOW~7_UAKOYg&R2}`z#5tVu9 zTE=fs_cG3wA*Zx9`;I_<0f+np+5UwhhoEY3tTMf&?0s4^V7N{GrGs@m=K|m7Cisgv z*-#w^Jn*_~@E!fHDWvG%EqIGC+_D9z+jmUw7gtwSBkM;7M`jzU-uET z1Uc#Ar$KO5?rvvI1IJ#U=M%D`7i$=? zW3{70V+J%3QunuB)(qg~a+%WdeFZRL1~9(M&klnikZp5YO=)Yfj- z5)-?|A5Z18&DqAo$XeUyK2)b|+Bt7k+JYZlzwuOTi7eJ2oOFX^Y%|@XdvcinPXYoy zb;0;Z<3+DTkF$Xsm9qmPv#Xz%cIn#*C)L&9rrCT+##rad>{vTx%+bhV6K`E+5c}DH zUiU%H)B9Bnfl*$2XfQ~`UVtZtu2O|{ln$D-`p^&-XvD&ZVHU}N(sdYXBdS3a`o1rl zSRP1!&l+JsObY^`-OE?KwS=;$K$?@{VP|jt*ll(F$=ncKkK7G%(&04u4AO_(GFOE^ye|*A+pSC7pkiliRnyW@y=GB!kfx29*1wB3!0q zH{g^}KfZdVsB2h!R0z{YpSqgnR0H|xe^#A+nPABE!4If|Q|=B-;+2r)0m9eJNvyK9 z#QSE+;^)SwUorV))5_ z_z1XVkAH!)0<;;E?k|_2<}%jVq6}W zZ?im(vNOV!6>8Iu1u=SI!)cB|PNvwejNgoqf;*JF8i0hLpE~ZyHA7a_CH|@<$U2T zXF_94o3G%yRILoo6N;=lwD9>D-&@s>I!CPJ2=7%xd!{R9z2lCmk zl^hb3-z&FolgAI{EFIAJUHs$gMR)twjG%^L~-M{@Af!#ab+ z`&9F13kFYedwWII#%l4L1FD-wo-v2(_8PCYQ|+u3R*#RZ<~2tXOpeCAHZ(X@2c|Pt zccOK-4->jk0x4P2n9sRzYA+%ZLQCvFx8cHjvA*zWGA*`1=y_rk@_x89=;83vI|Chb zSnOCH0IuC+xsBx2H*9e5={4?rO9ZmfJ>lZ8l;raMI`jQufdAYID{<@Abr|6V|8 zXeaF4sLUE96~X^GW2j|u45G}eHIeb9M}yq2D!aE_J}a-e6erGcSm zDS2`o_W_e@VWLYFvO-L}ny9bmW%fx-awW8daW;h7(Ey50N0z93KKqR(;zJu9s63Da z4(9ma$J)qhZoWrE-j^TRly~+_ZrYXDh*i#An=Q8vjHLO!yvf?BV#dQRGNUWuV7=%c z-OsJR?pxqX7aHg>I`Lu}JK0t#*Y8lo`rcC9es(i5l@KY3TW=sX7PqPXscf%fx94$} zJ?@j?YE4a165RHpPZd&+Jv<_@y^A2+Giiw+H|-t?Gz&w1z^5lmOU1>?jj2VeIyEdw z?(NWSw}-+M)AGF}R=dxE^Bk&adb0!Cjz_e9q||*zM7LCdTP_-yBm*45YO7R|#VT2! zKGYDoIlc`!v9079E!x`@P#D~9maA&C6;CHWvS(vR;>>w=2>;nF$50N!6|jE|^y=e> zM}69N&Ut&!{f1VJeRxJ%TUH(~s}Geai19a2Qy-sZj10F0Ra?x>PKeir$;oj$c=1_{ zXib;J05Y$e{D*(sH9qcs&8irAk)CQZ&*mcvK-~41>BdT3yqA!?ql4SOPW5Egv*@lH z6w_R3Hh!+30U4HH;Rqc?Ly+MJnHDoT)Y+(bRHO3d--_fBv_={W);6Jz{1pfAnW*WpU3p> zy3fpL?KGjJz@!FEcdZ}5xZxBtlBc4}tkp^<+88Ur>3A9~i~I0%3HO+m_M`QWe3B(7 zK;6#nLS47^WMfSllI4R2w5;)vA&k>)dBN5LG9;K>QUAHR)5xsH(l2cPmWA7Q&+g_; z09!2r|G84>HWlypEwQj<|3l`qAHAc@mH24FijQKqw-3+p7svZH zNC8yDA75rQdDu?Z+*-DVDrgOy4&z_R+<5YCH(~4=#qP@ z;?#s(djlesUB})xEiMl4C38&|M=pPV46tD(FlCx-Ku$P*{a;-U>C*DfcW+712X|1p z_u13*0|;&0?#eK8=8Us z$N%!rL$lMJUqgbLMTM;@`^R`!0*O~|j{&hrtqsJeqy=2DDo>>KcUGmtb8G_?uZ*Bx^X!K=bl`;zHIB0Q_9ijVIm+_@9?^4vFSR8-<4q{D=xrtbUY z@I!Ndet9zwX04-{|10V$prY!&@0($0L|U4m8)-oh>F#ck?i3IZ7!Xjpk?!tpbfi0^ zB?SZ|1q4(C{tv(3_x&$xsY_YodG}rJJ$Ijd_Reh?_PCzmz*)#|TT7&hdGn6w_qTxt zc^c;FHvF16O?E|kOEM%+L<8&{BH(KKQyZL$;>J)`EQe1q}+5UMb8~ zBi(_!@bAXUb`*GMUrpfk54D9~_B-=6%4$N7FUag1mTZ^a$^CJ5O!>v$+v&8WVOVx} z$-f}__|+}(vGanX;D(#)&2zH+cX>9&d>vN;&f$$XBr)-c-h*!$9?5QC6}UaQzo7Lg;~M0g5$a$|17KN09!^%1Zn9tg}VxgEOw! zs{Ph|P)bN(>A39N=kWz$5AtMVLccKM*U>;;KHJPif*o&%$nEkp5q5Fwk8!kJ389(u znP5}P-)+86lv#CE3TqoEpVwk?S9a$~ETBm+!jyh@h+^W)EB8yS&_kf`cy}y#2y|*o z7Y68qp0J8H%(fC(+_5DQt;8;?Dew@3C=bdm^)pZwQcH^4I2`|DBHG&U?&JEh*jX^I z_&X5HpyW>7nD0G%W!G5F@Mqn}dfsPh$@3XXsr!xZIG$;Gv*zF_9B5abC?zRUz40)l zIdE|ava7E*J~m+XRFKb1U7FHSc`qgjEdy&`|N>U zQNby&fyn#f`kzS6tJyFcsF9O*qLgUi^0H zENU~CpNLMHXg^IC!qBk&I=rD!jc^YgQ#y{m|G-**PJihO6}`0l-H8Scq5dgSwTS)k zjjXxt?JT{4q4Dss_s1F0omvf{FV1&#(r*SD-s=!9znd;uHYz0`wCOiMmGcPH|Lrn@ z8@-gkLXnSbAd(=%-()c**Mv4f3^|EO&By)i_)|dm=x2B752iV=lf0ZO>&gJq+m`f%L30u^Df!=zE##P6*9Tz0=@1ORze|7OWT;vRep{O4zs*;u#zypJ9cEa_xgj{?9t_aIeZfNp z8w@!duN%3DWPjPPM6Hb!Lw^La@I)kBr^>cw$qN3{@8!-{gK~GZm7vt?UE_+Tsn!W) zbzE?{`M!#i;%~p&Wtg56IFlF|NQ>yBWSYU*FB)g=I%&ZT5b~7geZrA|!VPeX zkTUu-YHlP=>iBkOkO43SlXXulHh7Z-qp@zs?c~Hdw14&IKOSrT9qI7@O)H>eaUW8c zi)V&9ar|oK{5}`iLyUS|>f@NAy&vfn*`nWyhUYDCU4ky^LI0NVX~T-!FQI3VHfzT7 ze>VD$)ZM$T>}(!;Y4)Dh&Xt83Xy`4V4Ys^~!O0Lp#W2gQRe4Y6q=EO5r%Z4jIcfqj zi5o7rAX_~0HV6*uGmnf6ZfzX6D3jh<+~>{p#cFRtD>BkR{Tzs9r`}! z&e<`oco&mLPRs3}hmTN<3O(Jsu{QVLbUjxKI{#$4;0?+4K7^q-*5>A&>fG0{lfZqY zhA$`i-$oO&sGs!qmom>xQ>rUoUpPxvV{$kLVpZ<2!l5RO1#X3hdIp z#YBP0^5c-giL!p@M~#o>k?AI2<>IJhJYU)VD39F>S*QyzDcB2QBEDD40$F8VM+SlT z-T%Oe(|>-x?!bw=B^y70l1_5`@fPE}w`Z)ay`#N*slNKMv2Nm)RgC>w?uh!HmD+m> zxkkm?JkbJL(Tt1Lh^S5flMR7*UiWbP8^PCCr)}G;>cIw8_jQPgh(g%z-WM`LppC-g zgJ*EK*io^%N5-aRm%w|k4%WTH#IJ!lL;g)w`c4c>{8zWz{SC( z)(0plk)VVXLgXbiHWGq@z77E;upe=j;h|M!O))u|*4>txZb-Jpo~-IhCWBb*1J@kW zEJ`<&;|`<$W%&Tm*#`&o1O44UYwx)ExKv%5(~tl8ExaEY@YGF~OY{A+_HpiuXG0`U z6k?>q#R%Wi#0P}8f%h^h)H|`k6c6&p~J6@F6k91I`r4v=i&2mtdkBKhI zG-eXie6Yw`0-@Ai3I8o%;gtBPJOo|7+(+X+jfp_7_d))f4Upgm&NuhnK1;oH zJ#mPsW36@JH7cdT{A1vQrX)|&2NnJAzqTUTFHnWi64|?&6)Uq_lv*Z|W)r(pO}YfN zb-=pu-DlWu?br`382R5Tn~mV=9=zhZ$MQbA;7B5+DV&7A-6d3XBGqg+2!#A6jcxiHePb0*pX8Kozr< zXr3 zQ=orl$^eYFG_SanrtKK2^}KubOYIe?aAuTrc4ZJhW$w~QV#}~Ic>aK5Uby;6yT|Kb zX(ivZwrIJB=6Y#OBig;E3KQouNjEDmNQ815w%A@z7+?4-p+M-8;PS($=F%`U>^h>f zuan8*Io0PAZ?Nfcyi3_m-bx~t`h-2%gbW|n`T>ah6JME+D9=vva&T{?T;P7WZ{B6g zfsV*RcCQS_uty_Pgl|w&kbW9 zcr847%bL?aVz)rx8UollXF_o>>Y&kP{F_A-hUc+rA?Yx((r(Q1Af`k`9n#0B-_*S< zAn3@p-{1Qg0F{qlI=APuJDbh6Y9C^1E-t!0UiS%gl|D@Dk9@OGb~fkJ)OohsFYgtz z6Z44vTL1rKl|P_Y4h6n!)VUMDk6u*G$wrKc-`f);di8jMlm659b}hY-R9f;SA@s$Y%iCd%4sCMq`6(mFhJX0EExN< z+bi~YR^&gw(9(~N%<@HFSNF;fZ!J&r+n(H09!_tgV7&ilV@__PCcSI#B!0}QG>22L z{ZzVtVA+pZpH|=+nME>f{YlFY^QaaT`4~S7%aB$a_Kk5gOZ$1A4oi8XD4b4Q6^}@k zEBxCeyLmgs)n#w&8@1O~2I|Q|oY?3XFnm_lB91yS)w>0ago3Rea?_M}>fG(TBP$g`{t ztXQ>wGiBisW73Bs+(+&o&-&Fe3ibPEzTRGzxUFt491I{t_{Hn_>dXXyjZ2(>p^niw ztu*f;uhe6Xd>+i_lRz@4Ra=n4^)-25h4yI_VoE@vOMu9ziSLOJPfd^%V(5g zV7QO84cU2}EzMA8%-%AIhj9q=@bGy@e9F~NwkQyN&^3<&1lV6cH2tK_^U}rGo&3hz zI2fCBa{-kQOq=iTe|Ji#;?t!mzk@mM1|oL(r97bA)g^*xt2JKjYEiW)I{F#ZH!qU0 z^QF}dV}sP=^wFafu7@8ke|?y4Gr9e#&C>DAkJpHA-1PQ^p80MQkl|CDfM1oQsoV6K zBzCyn_9(5CFE65 z?gIh7E1jmB)uh87gq#JFf%{KXLW6Qpz!~0BntHKxJ>!dgCz(!s_oIuLk48aUwTdQh z|M=;IBQ?%v&mhPUyZYYKByGm*d)p2B zkA&9YI*A}CWISTm)?7UTLr!|vz7Nd>q;fAaB*&E|FV$=bYqvU@SicYjvqg;#~eKZ^@A6)lwpxTB7&+I_~d|9m|Ny`&g= z9!Ay5*6ru+b9IZlVCRyfMbu-7X`?@X+%Jw9_%H0gzRhLgdL8SEsK&qn#0dugG)q!(H%$_0lHNPU z&HD(jJ@r#z@Q+n5Q^lrR%1Z?FvL6&RFuQrr>S4qD2~SPoB9{IEU5D^vQSdbXJCN5w zz~rs>bkd$~hG=_|vG3XG z4aDpK+LDh^5i(Md2>^JYeFsrkZ{rO~AsLZ@Ak5gAy|qnhPZ`aCW_K2leY?Jy*@4s< zWlvk1sJ=^rK-T14#4jJCF$2m^=Tr{^&PHa_-i*9HZmv}Ovtp8A`t*h70=2+IeY*wo zpWT6B``ImROGdSfCsZY8ZcL)fVrxmeFSjR2wJW;FIktwdp}4m5U~`2bOAp?wclVUV zCk?e|p%&b&kbwj|ZTfuZ9z**r0bZPVCZPNfup7oi+;cn7bOaW_h3>0Qf>23;aMz-m z{bh6MgS0g2yK|z&gs|N4v)^X%S?jN#IG=)Spz~L5ExP!>wx=?8UY6yUMa5V*rKg9r zhro!zhv8XrO}_EB)SU7Q2!9u`T_N;5$+ET27LZ5S6kXDYtfKoOt z1Zxiyl4vdgc%W{XV8w0ZfYnc8h8ER?mhqZ`1xp^>vdtjeAg>qsAJCwPa`!&}TApHq zzgP7({(f*e(E)aI)YRWX&dQo8uE9sLDwv~U3jJ95aDb2MW0NcE!J@AueYMsbz)u+C?CjRe12atq@?03QvJ z&)aMRK(urQO+i`$fM}w#H2o{s47K{X5fr{E|9Z-*6$Krp*Bi0QDh!GMU+xDNT z1%Hv)<9mBobis6Yc|Ma;d|o0CC$UI~9%yg*Y39@HvzDXR^=HcY>zq>Z&Zfg{;M$vU zU87q(f`!iWBNU}HsVU<`I${04nCD%ocg1{Pn*7mvabjB#i!rTWyH_UPu$a9PwF)9*nlx0 zqGqj)#bx6O;0dpx`LJ>*9vP@F{8#v3HT`<0wS-o=-@^#gTDRfW_UW`S%fS_1E*N{} zewE~y;491jE(u71L}2}-?x^p2UHbHLeD#xGi=gwL9w7w_YN^4Jc&m{w^PDUme{LR% z?2BY~iR>3-+%LPL7x?g$=JtunoN5=980e!DGV#82L_jYruD9w)#+!F9d{2zs3%}P& z#Y{A=Il$BVJ}RK|ZfKPxRD#M+LOr|FZzVB;)7;?$F_w?FTs_R4M3a$J)Bv)|cH{kQ zLo2S9_@mt=&9m)NJXxZNW@ZrN_-<=MdsxK0)Q8$PIPmy?nJf6Xb5c;emZcbpWx^c! zZ=D_TAV%c?VH=F3mERQzUN`Lxd$y5NIqJUK z#r`y)Z^C%^=^x*-U-PFsc2lthw(+ctjH!jeU>PajdH1sND{lxIW=-FNJZh(u7RCP3 zu$~2eRg7998QlomLVlt8EC;JuvSA!lymbyyP7UG@EyLH)`RUN?L^@2s49yJa-{uHY zLE|v9Cj^jYcO+jDP+}Vus6+)C{-hpAcUsMBf2 zq4%PM`+)al_ELtqcfi>qXU#}m498T{Z22;;+4KroW_b~i*={c*%*BgKp%2Fwr~Nwr z8zgOqv#G|#rMkzZy1;Y7p2b^zbDe4AMQ9pVlfxD2R?h~W9A8V2ah7k&GfyqJ^Fq>HgXL3+0sF=OAAflc)gd0MT(nR zMRyg{@Wu(r)5lZ`0(q`xAY)?!tf!;)0A9d%S0oC!usHU=)FA=0=MZ&Z)$bbph8(Sk z&&gPw{aWdjbQD(Xd(J6jUQTY{-X-CSDAgu)9b$&Uzt;=yL{b-{voI@rx;HGVxxei@J``{o+9*!x%3RmMg|MZtpV85KYc-2`_ptcm?3_yeAv{IoLM zV7k5Eh6DBT?DeBtCZR!W3X<&^(nQza#1$-d;rZpc=4+e~Q59&jM84aBXLJwmH$xA$ zR5C}M3Y};;Icix@x$iXq2nIdn+f!3>W0WC5H4xXa;xS&dggDmkJ@ERw1EYbIbMREe zF@u1aI}&>5V$ab4V4GD!MnG@0gB6@BVzeMN=l$AWvjHb-&$WN9EoZ;@s+zH|3%Md~ zNQ2Yfy=QPB_ro4poQKEHE&5g|r0?=t3G^u&9%2Xc=%$%3Q4T7ai;Pr~*cVte_vxdv zS+nmB;-NswgOah#`(-vhOz3owsMC+w>zIwzqC%e={s8(>80r0 zXAJ^YE-Phe0HHi5P;O`r$?@bg^)Ky-ci{$%qeg2zkOye6?uRkHk_kOA&_BQ3||7uKIvqg*+w z@7)s&n`WAt!cq4a&bsepSm#`7s6RIP*`7T-yis>Yf-|L9B}kl>lM-W6e2F&=KZX(m zswu-#TlfPGgJWT_5;>^bCGqqVh&N$H0Har$185-`>XM}qJc>+)Fz))2ra(W6NwEy3_5%*S2lz_-y{LlmBEBsa z8!+lP2;%D58-Bu|3AZC$Z2u@zWU5_;%2R1K6c(TJsG-prl>^r-r1_Htg=u!g!nvf0 z7ut`#@tCE0dUT;s88VEI{hmcBfOsY%n1or;Sdxv6lN7Rx;BaMlWm4XP_g3q%CA<*I zTjy$)|2A%t;kZRz2No_4tNQpuxY)?F*u`w*hl_k_Iv>&t{B_cL3ibxL)L0B;crQpkBAtSkg?8c9L zE5A4NOU0Th@JyJvN#n%Lq?>lNIps0LDzCT22zAL$T$~-yoojNo)X2Nve%N2|?%hl& zjIy_6A;71-Y#xCr{wrhF?45o{t|g^xW6#9jUt*cqcOtBymqBUNz0O;T=U8IHl;w9& za`DI0#AJ-=;oowYgR8^u&kQ6=Q6Um!ZR?z$5{TG#u^y`gyK6Q#$~bU<1lR;#m}EMm z4||e&L_}~L4d_w?m1-bY<}!soU#!<)5SNXVd58gu;jZpq7Z@j)aDQr{Y5L+may{}a zp&IsnpUH9c{7n>5y}Gq+3*$k>@%DfI3a$gD*OEN`rd+Gl?*k^dHF;EMDoYI?smyBV zI@*ywF}FLQc*1WF`H9dpxW9LSah!l>h)=a`P*OtGG5{@>)JjbiOu84EEiN79#7#y( z&dM+E4ughZyUO5sUTiwyeUD0 zV#P{kCsT)Zv5`|ZlGzY1O~Z1AWQaA6f%V98_Z(RKHZH9WLUn&f3w*&??6FX>(VE>S zr{=s@<86!24VMcua_M{ov$9GVRiqh=B!_58h2Lha5L$%`p7ZKJ&yqk0o)ZR z4S4{4*=(#jg>)v_kzmxS!aXa`JkH>dJmmh2KwHvB+|rNacnlQ~-^mNU^kYK+D5U|J zTmUuujl;15#dF>p+!KrQjGLRu}gOHh(Tcj-%LS`izsvlPOfXIlGR6<7N3hod(-Uo$q zvP8)gB@2>16mr8}vUrfxlxeF2$lH+oXvKg9Pm+k!Lg1?6j8jU2AKjB`bJK!cjhXn@ zNvBwFu*!UOfB=dcJriDI-qhO|l^?d}H}nqCU3jf0`k0^{5n{JNsFu4-`v38J_-_Dq zu=2Ta(Y9~NKqoQAOk+7gv4C1MWv^N2$G zQQV;+RYrYily{=|l$>=GdD>SyLg%4kJ?nu}2`^}IhCeh!y@~0FPPW!}pb<-n`R~qP z+uHb9pGV$#Puf|Y(9^QXB~?M2UTk}Yy~5i4p%PUGPeE__*VO|@VxC(5Ls6YvUdvCY zL8S@a#cv1UMnVKorSK#Pu%%iyX^)_owkM2D5+Z+(vkG4zj)1!e=FymInQU1%e8NuW zuSJ~l$xz{=w9tR}LGeF(;~h}}+*ARG`=A|Z-b8*$MQL+WMNM_>EyHSULtA}aRZ~@u z7|yEkq6PYM%^Tc2#VW6cS%)pSql+_a*{L#Dz>G#r=_KUeCE~i--v(0}%a5i_QCBM6 zpa+q8{xQ1ra*Iq(UUGZeeCG(GA+valauO1SGC0HBC*pcrBA&<>w4_)waGiC2iGH&} zy5yj!ePU&3d?X%bo=a*{kg7#T`No1GMyq2qZl>J7s*l+#p`)EZfZ7JGN#POaP6# za>clgifa`i+7YfDB7hdS9*rM_4Uku~AelMGCI@ zW`0$Y(0Q=N@AL;D37@?lob5i9lEq7n07&pyFzE6JZF>mfA)@ToeW!?flaO^b((<>t z`X&GgiG$#N3yzVt8)Kh|Cv&nRSwE4ZAt})B%muyy_4{|&4mLLcs$-*NW3N{3kv-}z z9lzAwFY>(7>nf@Y-dXEU1DE>Y^M!#*`v2s}z}IJ8Fs(;|GhJKfjcSpF7M0rgD*DVF z@){>?f0flQ$(qVaMVXxrKCJsV1(e!_B*6T0%u; zuz2aCKzvJY6)_kp`I4r?6;#!W!>EQu6{h{aL#7NWfU}hT+0fB1rO@tp*5Io&dvTxn zkiqoEtn+Vr#+Soxzoc7QM=e9dd8_s9u<230nhvEaLY@%n0?g((rW1|qm_WSSIxH1! zN<{Vb>vD5=H!6oXb?rTZc)%Pl3KD6q_rkMO?3=K)z&$)tGmRzyizF8Z1UyYCz*Yr? z6wL1)2;HMV+gOERr1$2X$dm)jSi)THlfi%2MRh_zL8?pu*{Uk=oTV4%Y@5>Kbv7(= zLZ@E(gxzGAVM@^sub~>xz7j*km0ZdZ@v?Ew{7d#G(P#$#9&00vi|6 zIDY-FPU%`XZHD3~3uZF_<0D!v%V${xLnDSFzC@aSZ}%4()^6)zB7H?yjzU|O%DbHw z>;eHp#R*QU4VwS{^n^4G`|&TIOlAFF5MZlU+Xx!3K?#T?RR2$11pw4h5OFV$vbwOy z#ebtW5m(w;S!4QiWX5YKr&>+|5Q(qYvvRW0@V2zs-z;HqIAOEd!W_kWRm7Nu1Zvs_ z*HA=qHJ)`jkeT)DYEQGM311+q5{7{zZi6EW-WIrZGIi;FJm>86-sx41a%*kns}D8O zYe-6<)IqaBN#L6C9Pw*ul3R^0 zj9cruF~w=i1Bgmxq2-Xfj)^@;Ens$sM44t@4}8bBOP2b*_;#V`hA?N!crht3(QNcd zSX>9R8kq5Zi%|gfYyZO)5bu`lRN~+wspvOkSY2H(*q3p1;&dzGmmx2oVUyf?9I3N; z5dHXkW}{MCF^bK~1*9{)=ChQ@96eyeb-UqEC|{+ZMG2uRI;wVxgizo}IJ6Rx24?D6Ng+zkc}okC~Ol_*t(8dw(LMgc1+V9Wq1i5SS;Gs99y z)p<#6WAH;B^>)(?Ck^q6hW#UGUahW1i&-BxB=!m?-U9sYzk`DgkodG6CEQjfB4OlM z`URyAE5go77A{jm7fO%o*RV)W@7z~g+fF^}kx@nHzt{+4bC@%EYPM50{c@-npWAkw zHrSAumKG@Pvu{$s2jcO9Mq5!?g2rv0`i0UuY5Uhz`cFGiP`GllDIV8N5x;>0NBkRi z#S?0!8|JCv!PJKGE1@S}2(WJkkV$dfCg+zL_+T+&5*KzQ-(LCuadtt09$bfKC1HK( zwhIoQGbgpg?z0@?!`_AqJ&n@VcL`HDs;G*yTQjq%yRv-$Mwo+9%1&&U<#7D1c;Sqb zf87E{p*V)h7{8lY5R4pa_Xj{oprQdFa3N$HhCG_@Alzu;61b!|SB*c}F3G4up%An9 zdLqFxeXxZH|8AyMv2UKX$~uQk?;ke=DB8BI+|-!k6u3WZzr2`H-}d()_?vDt z9Ol-QK?w;c8GU^{=hu9}#NhM61>L)|`91s1GuKG$=h}-GRoxDkft#!X7#34cT51#> zJNIQR(a01m{dh*_7{(DF{$dk%@wNsy<|RDZk1NW4;pJ=`_)6KdSNJ3yfu^36DRbI8 z=DB~Qxw^U3V(atXM~}#LhuK7kcVN8h?V}i2 zABI+ANj?E+aP5lOb>nU{8I1@%Vd`CyFo6u?e(rQOy3lZ~7+b78@M0!%J+R0~$J(&D zW~z6Oy<+tCD? z)n}S%ZlmG4A{FGFbm>*p!WhcK;_A)u5{0zVva)G!rC~fI()?eo+>wkDDC4!|?`qwF zH%_`wf+3&{PS+z+4jUME1hiQavCc_~pkLqoVZ?wpM7mbR!|whdE>4FbNuWJeCVHiL zLBLAz(EmxlxdDmSIFc02+JJ+j7{_6lqX8`1oL_=fb_F>2l`HQo=oE+g8hRS6JZSFV zFhb2uD)q#xoMjNk#wUox0~Kek2NuYZhqJ)S^=a_P-Vd6R`Bn|I071^`DV~1>h?jTpbTmEM@mKvUL+^Yjf&o zE61(n;1bPNm|sH@mu5AyL+)ArnfgNyZ|SC=!qZe~i#0rYi@O{xeR0+sET-u(&&=tq z5-PtytpM!2N`U_x5zx=V9j7ZluSs7Js|WVSF%U=60=bnvP*9TLdVF2pw*C9I417fIazb!$7CW9p2~i8GwnnNBa}aJTrAshC7jzbUqL zBH;b=y)UdXHcZW+MJw#sG~kQ5U0_{BqfzCyYUPS*R-CJFVo|vE!xu2j?+9ytjoG6E z)|B^e{Vyab-@{(w3&z`(kxZx=|5+-%b98rK1;t|vyLXW^8Vy;MFKiePww9bG3IaJ3H;9xfC7Jt_+zMj z-5)fh&BYf47DRrhcGl-SF?3tpXP3Y3@p0MaxGBEo?D9Y0*L|$npHTBmEp}_VbMRY< z5}zt>Q?EFGaw`+L=OWp7nX*O@1jEmufk`3)fnnM0Y*a=LqU9y2Sja9y7{PRs zmNoBv#pO5DcW}PA_n&Q8E?e{WjkT5?T%Io_E}y*0b^nx{J^6MN%bWFl*|+J+`OofR z+OYd|@e0RuQ3Pqxs^i+5NFsx9T`L`&x25_$<<9MH33Z<}OvJs$%8Aq%)Dhy7eDh}sJin0#r#vMb4~($ zwso+8rE5LRrib@2KkUtOkC@FQ@@IBB+n3rgzcihEZW&_5Zo^4y$IS5A?CK(j^>R74 zR-3DUd{ZNx1T<+(Gw~okEiFa}iWw^dF@yk5r$u?9%Nzzp2>l`DHjwJJXFv<<|LyY! zoat4po3(Zsed~n&6VA>g=Ucr;vWf7K%M+b*uqQEh1v{ZjK@O}l{xit&fpsrmGZvCG zb`l>6uIJkq-`Ouqc*%$`6RN)K4l9!c7G337WaKoIXpoEu6bKId*=!_G67jGsbHAjm zEH*wegXYCyu%i(e(7nLOZFK@Bf9^eWfKRGAFL^mmOlmNqA-K^16gZ&!GCvLv4-=rv zw*ughde>3cdxPQxcY4ul#mw4x3`@-7B^QCcnc?{nHdngKf9}@qg}g7gQAqxKsv$ms zMAl?X049#896eZjHTuM>V$lZd@|_4IG+)~l_o zClZYJOO|wT#-1%0j{p2M==}6g*VFqh(uYHD0bHZD#-(+@mtj}YtYu<_fIz&@oE}{u zDwLdDU!34$Eq4X?q{{1V7M0MS+9?K5A`ndnw>+`E>koF}GkUzpp+(w)u>*XtDa`GG_HUNlw)l&M5C0;0t`$Ly!>!^*>aXRE7H z>c28?*4$MnLZ%}Fm&zUxzOvsVqQg+YH<+=MFI=#DR#LE4YWk-w)Q1NUdfrqd~TBP%^_F_VDUXMRto{ZG33JEqqP4{g}!76(k1>jm0Z>q|8{T!}>* zYT!AVL4*1jZ-Ix}B}ssx0TTpCyBAH1r>bEG#4+UqKq0z8B?}>-zoMHftf;KJ;Un=J zB~KT4iKefGQVW(TW-Rs|+%*d$L8pbk%@r`95#{fiy~8Z-fq$xNLup3q=>aV{Yy!Y% z^i?GNI=(zTRQ5vic7XDmLK@ZD;UDujZj#mRIl z-sMBEY56`v^;1wq&|HxKvK~zKN1-6!Ct&aT*=VX=s>;%UY20G(ji;Yi-m*?> z%QC^8ADmKBbn7&sC%)^vx6S}qT>m>J$)y3aV(|X&Yj71^T|DsZ#j$-pkNs1@%k)a; zs6S0jk#!AE*jcstGISQk_&wWXMC5x!t)x4tQB=Z=Nzx9hRlcev8VuouUXnj0JWSMR z2bkjwR7)L-u>9bb4$EZT>{D?KL<;cdUxL-|0W2Slt=KiIilez}_kZb=VwE^|KY7Ri zMbEZ10mX^$WGKZV{M)=gYrC#dkVdce9`E9x&R_Z=K+xh=y3?z|N z0IKM*0X5Wue(V{ir#GKgnVjdM%Uoti9w<|ls%55{w62a;#wvV`F%T_9sV8qqF9+Rdbl5!zf;xLAXPx?`4`(vy+rt zdyeh5xq{Kop9_4)hQ>~d9*1A8T1EEOcCI?BD!-h%KNg((F80*Lr7p$8X9y6ZxdgTt zktiQfk#6Du(iKRByhb(SFe_byfr}Sq6oG0Q{%UUGQwf>BYljtyGO94udnN@*UUCAzI{7!tr219YZG$5x~MlvG1M8JKB-lEc&=GtUSIF)JHGQi zrl3_`de*jLgnB^Az_MHPc;ePL8TI=uI0DCXv<L<&H`+J}2 z>J1Hkf%6lMl&=HZ+iekY8vK0&;J1ya-2DrY%83U1Nd2;?-U&+tlh#E6$4EWD&6ZWN z6`7fsy_LauTYGzi+!WFAW`S->*xd)4oQR2u4c9L-L|Cb)siAN;oo;TTRD+)t|K{dr VX)=^d#!nCH`WK($cDEJu{{T&f6@CB! literal 0 HcmV?d00001 diff --git a/Resources/Audio/Misc/ratvar_rises.ogg b/Resources/Audio/Misc/ratvar_rises.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4c22d250c38c4d4ca7cc0127ce5b326cd31c7a48 GIT binary patch literal 158465 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

    7Z+-m8vonA0Xr(XeDZ_lP&06gUOKpf!Gx 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

    8?wyp=fliFZs?fibp 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

    ius&$vz58nQ`}p${1y@tn1m^tAgE;=e(v&@2-xP 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�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

    Yc6L39M(K7E#U}q^loj?*8>- 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%0AO<4RKhdb)jZEw*hzkNO?=!nwk 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

    AFHOtMR}wN`Y1wD2hCeHiqFFaySiANvCB2HcMp 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�%F*wR7cdyYC2*?k#9%z~TOFsh250|qe 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%0A+pFG9eur!(erODyp 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 z

    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

    IgdIC9ga|xhIZ}dfJt8!>Dgf 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 /// Cached crew manifest entries. The alternative is to outright @@ -223,15 +226,26 @@ private void BuildCrewManifest(EntityUid station) var entries = new CrewManifestEntries(); + var entriesSort = new List<(JobPrototype? job, CrewManifestEntry entry)>(); foreach (var recordObject in iter) { var record = recordObject.Item2; var entry = new CrewManifestEntry(record.Name, record.JobTitle, record.JobIcon, record.JobPrototype); - entries.Entries.Add(entry); + _prototypeManager.TryIndex(record.JobPrototype, out JobPrototype? job); + entriesSort.Add((job, entry)); } - entries.Entries = entries.Entries.OrderBy(e => e.JobTitle).ThenBy(e => e.Name).ToList(); + entriesSort.Sort((a, b) => + { + var cmp = JobUIComparer.Instance.Compare(a.job, b.job); + if (cmp != 0) + return cmp; + + return string.Compare(a.entry.Name, b.entry.Name, StringComparison.CurrentCultureIgnoreCase); + }); + + entries.Entries = entriesSort.Select(x => x.entry).ToArray(); _cachedEntries[station] = entries; } } diff --git a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs index 09a00e5967c..67f50d7a4e1 100644 --- a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs +++ b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs @@ -129,7 +129,7 @@ public void CreateGeneralRecord( JobPrototype = jobId, Species = species, Gender = gender, - DisplayPriority = jobPrototype.Weight, + DisplayPriority = jobPrototype.RealDisplayWeight, Fingerprint = mobFingerprint, DNA = dna }; diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index b719bab1df1..4e923ab97ee 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1479,15 +1479,6 @@ public static readonly CVarDef public static readonly CVarDef CrewManifestUnsecure = CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED); - /// - /// Dictates the order the crew manifest will appear in, in terms of its sections. - /// Sections not in this list will appear at the end of the list, in no - /// specific order. - /// - public static readonly CVarDef CrewManifestOrdering = - CVarDef.Create("crewmanifest.ordering", "Command,Security,Science,Medical,Engineering,Cargo,Civilian,Unknown", - CVar.REPLICATED); - /* * Biomass */ diff --git a/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs b/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs index 7e4c824e205..a9279cc7f1f 100644 --- a/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs +++ b/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs @@ -1,4 +1,5 @@ using Content.Shared.Eui; +using NetSerializer; using Robust.Shared.Serialization; namespace Content.Shared.CrewManifest; @@ -39,7 +40,7 @@ public sealed class CrewManifestEntries /// Entries in the crew manifest. Goes by department ID. /// // public Dictionary> Entries = new(); - public List Entries = new(); + public CrewManifestEntry[] Entries = Array.Empty(); } [Serializable, NetSerializable] diff --git a/Content.Shared/Roles/DepartmentPrototype.cs b/Content.Shared/Roles/DepartmentPrototype.cs index f79b03f4a60..024eca37fa2 100644 --- a/Content.Shared/Roles/DepartmentPrototype.cs +++ b/Content.Shared/Roles/DepartmentPrototype.cs @@ -37,3 +37,27 @@ public sealed partial class DepartmentPrototype : IPrototype [DataField("weight")] public int Weight { get; private set; } = 0; } + +/// +/// Sorts appropriately for display in the UI, +/// respecting their . +/// +public sealed class DepartmentUIComparer : IComparer +{ + public static readonly DepartmentUIComparer Instance = new(); + + public int Compare(DepartmentPrototype? x, DepartmentPrototype? y) + { + if (ReferenceEquals(x, y)) + return 0; + if (ReferenceEquals(null, y)) + return 1; + if (ReferenceEquals(null, x)) + return -1; + + var cmp = -x.Weight.CompareTo(y.Weight); + if (cmp != 0) + return cmp; + return string.Compare(x.ID, y.ID, StringComparison.Ordinal); + } +} diff --git a/Content.Shared/Roles/JobPrototype.cs b/Content.Shared/Roles/JobPrototype.cs index 19c11189cfd..307559242b4 100644 --- a/Content.Shared/Roles/JobPrototype.cs +++ b/Content.Shared/Roles/JobPrototype.cs @@ -1,5 +1,6 @@ using Content.Shared.Access; using Content.Shared.Players.PlayTimeTracking; +using Content.Shared.Roles; using Content.Shared.StatusIcon; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; @@ -76,6 +77,16 @@ public sealed partial class JobPrototype : IPrototype [DataField("weight")] public int Weight { get; private set; } + /// + /// How to sort this job relative to other jobs in the UI. + /// Jobs with a higher value with sort before jobs with a lower value. + /// If not set, is used as a fallback. + /// + [DataField] + public int? DisplayWeight { get; private set; } + + public int RealDisplayWeight => DisplayWeight ?? Weight; + /// /// A numerical score for how much easier this job is for antagonists. /// For traitors, reduces starting TC by this amount. Other gamemodes can use it for whatever they find fitting. @@ -112,4 +123,28 @@ public sealed partial class JobPrototype : IPrototype [DataField("extendedAccessGroups", customTypeSerializer: typeof(PrototypeIdListSerializer))] public IReadOnlyCollection ExtendedAccessGroups { get; private set; } = Array.Empty(); } + + /// + /// Sorts s appropriately for display in the UI, + /// respecting their . + /// + public sealed class JobUIComparer : IComparer + { + public static readonly JobUIComparer Instance = new(); + + public int Compare(JobPrototype? x, JobPrototype? y) + { + if (ReferenceEquals(x, y)) + return 0; + if (ReferenceEquals(null, y)) + return 1; + if (ReferenceEquals(null, x)) + return -1; + + var cmp = -x.RealDisplayWeight.CompareTo(y.RealDisplayWeight); + if (cmp != 0) + return cmp; + return string.Compare(x.ID, y.ID, StringComparison.Ordinal); + } + } } From 8a230cbd0b540452ad0b16f428ef78857774aff2 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 04:05:50 +0000 Subject: [PATCH 078/345] Automatic changelog update (cherry picked from commit 945c8dbe2fec85bbb2e0aa989bd8ed0016337f20) --- Resources/Changelog/Changelog.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 15ef0392c6b..ddbbc903293 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Defibrillators no longer reset the rot timer when failing to revive a - body. - type: Fix - - message: Slimes now rot. - type: Tweak - id: 5510 - time: '2024-01-02T02:12:32.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23340 - author: Ubaser changes: - message: Salvage mobs can no longer be ghost roles. @@ -3855,3 +3845,10 @@ id: 6009 time: '2024-02-23T01:05:11.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25484 +- author: PJB3005 + changes: + - message: sorting of departments and jobs has been made consistent in various menus. + type: Tweak + id: 6010 + time: '2024-02-23T04:04:44.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25486 From 20d871a38632c83fac439b83fb7ca0173cb5b7e5 Mon Sep 17 00:00:00 2001 From: liltenhead <104418166+liltenhead@users.noreply.github.com> Date: Thu, 22 Feb 2024 22:53:38 -0800 Subject: [PATCH 079/345] Buff emergency welder (#25483) fuel count (cherry picked from commit 4ea1d21b5ef3df46b9d2722e87d2f5da80ff817e) --- Resources/Prototypes/Entities/Objects/Tools/welders.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index 60dfe0f1363..42b16ba0538 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -183,8 +183,8 @@ Welder: reagents: - ReagentId: WeldingFuel - Quantity: 25 - maxVol: 25 + Quantity: 50 + maxVol: 50 - type: Tool speed: 0.7 - type: PointLight From 2420a3c9f51c367926b9b1684b6d1f2aeade426f Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 06:54:44 +0000 Subject: [PATCH 080/345] Automatic changelog update (cherry picked from commit b75ff77b49ae1d5416bf2a88819ecc80426753f2) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ddbbc903293..ccab3633273 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Salvage mobs can no longer be ghost roles. - type: Remove - id: 5511 - time: '2024-01-02T08:15:29.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23355 - author: Rainbeon changes: - message: The ChemMaster buffer no longer shuffles list ordering when removing @@ -3852,3 +3845,10 @@ id: 6010 time: '2024-02-23T04:04:44.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25486 +- author: liltenhead + changes: + - message: Changed emergency welder's fuel count from 25 -> 50 + type: Tweak + id: 6011 + time: '2024-02-23T06:53:39.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25483 From ee75c09677943641fa590dec5ccb2e099ddea117 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:12:12 +1100 Subject: [PATCH 081/345] Update submodule to 211.0.0 (#25489) (cherry picked from commit 033f232a879f9d98d91bc54fd03e6a7028bcb4ed) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index ef0bc1a2e48..1d91838166a 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit ef0bc1a2e4878eedc24dd6fedc0631be56aca072 +Subproject commit 1d91838166a6d2771526dfadfb36f79487fd1749 From cd8b5b96b521b71a62b86513847e255bdcebd098 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:12:23 +1100 Subject: [PATCH 082/345] Optimise DecalOverlay (#25266) ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now. (cherry picked from commit d8e5f5c24b88bf8096ddaec11e80f1af2953637b) --- Content.Client/Decals/DecalSystem.cs | 19 +---- .../Decals/Overlays/DecalOverlay.cs | 83 ++++++++++++------- Content.Server/Chunking/ChunkingSystem.cs | 1 + Content.Server/Decals/DecalSystem.cs | 1 + Content.Server/Parallax/BiomeSystem.cs | 1 + Content.Shared/Decals/Decal.cs | 2 +- Content.Shared/Decals/DecalGridComponent.cs | 7 +- Content.Shared/Decals/SharedDecalSystem.cs | 33 -------- 8 files changed, 62 insertions(+), 85 deletions(-) diff --git a/Content.Client/Decals/DecalSystem.cs b/Content.Client/Decals/DecalSystem.cs index be442ab8a0a..901ab270fb5 100644 --- a/Content.Client/Decals/DecalSystem.cs +++ b/Content.Client/Decals/DecalSystem.cs @@ -50,16 +50,8 @@ public override void Shutdown() protected override void OnDecalRemoved(EntityUid gridId, uint decalId, DecalGridComponent component, Vector2i indices, DecalChunk chunk) { base.OnDecalRemoved(gridId, decalId, component, indices, chunk); - - if (!component.DecalZIndexIndex.Remove(decalId, out var zIndex)) - return; - - if (!component.DecalRenderIndex.TryGetValue(zIndex, out var renderIndex)) - return; - - renderIndex.Remove(decalId); - if (renderIndex.Count == 0) - component.DecalRenderIndex.Remove(zIndex); + DebugTools.Assert(chunk.Decals.ContainsKey(decalId)); + chunk.Decals.Remove(decalId); } private void OnHandleState(EntityUid gridUid, DecalGridComponent gridComp, ref ComponentHandleState args) @@ -133,8 +125,6 @@ private void OnChunkUpdate(DecalChunkUpdateEvent ev) private void UpdateChunks(EntityUid gridId, DecalGridComponent gridComp, Dictionary updatedGridChunks) { var chunkCollection = gridComp.ChunkCollection.ChunkCollection; - var renderIndex = gridComp.DecalRenderIndex; - var zIndexIndex = gridComp.DecalZIndexIndex; // Update any existing data / remove decals we didn't receive data for. foreach (var (indices, newChunkData) in updatedGridChunks) @@ -155,11 +145,6 @@ private void UpdateChunks(EntityUid gridId, DecalGridComponent gridComp, Diction foreach (var (uid, decal) in newChunkData.Decals) { - if (zIndexIndex.TryGetValue(uid, out var zIndex)) - renderIndex[zIndex].Remove(uid); - - renderIndex.GetOrNew(decal.ZIndex)[uid] = decal; - zIndexIndex[uid] = decal.ZIndex; gridComp.DecalIndex[uid] = indices; } } diff --git a/Content.Client/Decals/Overlays/DecalOverlay.cs b/Content.Client/Decals/Overlays/DecalOverlay.cs index 8eb1a256645..d9904ae80b5 100644 --- a/Content.Client/Decals/Overlays/DecalOverlay.cs +++ b/Content.Client/Decals/Overlays/DecalOverlay.cs @@ -3,6 +3,7 @@ using Robust.Client.Graphics; using Robust.Shared.Enums; using Robust.Shared.Map; +using Robust.Shared.Map.Enumerators; using Robust.Shared.Prototypes; namespace Content.Client.Decals.Overlays @@ -15,6 +16,8 @@ public sealed class DecalOverlay : GridOverlay private readonly Dictionary _cachedTextures = new(64); + private readonly List<(uint Id, Decal Decal)> _decals = new(); + public DecalOverlay( SpriteSystem sprites, IEntityManager entManager, @@ -30,10 +33,10 @@ protected override void Draw(in OverlayDrawArgs args) if (args.MapId == MapId.Nullspace) return; - var grid = Grid; + var owner = Grid.Owner; - if (!_entManager.TryGetComponent(grid, out DecalGridComponent? decalGrid) || - !_entManager.TryGetComponent(grid, out TransformComponent? xform)) + if (!_entManager.TryGetComponent(owner, out DecalGridComponent? decalGrid) || + !_entManager.TryGetComponent(owner, out TransformComponent? xform)) { return; } @@ -46,46 +49,68 @@ protected override void Draw(in OverlayDrawArgs args) var xformSystem = _entManager.System(); var eyeAngle = args.Viewport.Eye?.Rotation ?? Angle.Zero; - var zIndexDictionary = decalGrid.DecalRenderIndex; + var gridAABB = xformSystem.GetInvWorldMatrix(xform).TransformBox(args.WorldBounds.Enlarged(1f)); + var chunkEnumerator = new ChunkIndicesEnumerator(gridAABB, SharedDecalSystem.ChunkSize); + _decals.Clear(); + + while (chunkEnumerator.MoveNext(out var index)) + { + if (!decalGrid.ChunkCollection.ChunkCollection.TryGetValue(index.Value, out var chunk)) + continue; + + foreach (var (id, decal) in chunk.Decals) + { + if (!gridAABB.Contains(decal.Coordinates)) + continue; + + _decals.Add((id, decal)); + } + } - if (zIndexDictionary.Count == 0) + if (_decals.Count == 0) return; - var (_, worldRot, worldMatrix) = xformSystem.GetWorldPositionRotationMatrix(xform); + _decals.Sort((x, y) => + { + var zComp = x.Decal.ZIndex.CompareTo(y.Decal.ZIndex); + if (zComp != 0) + return zComp; + + return x.Id.CompareTo(y.Id); + }); + + var (_, worldRot, worldMatrix) = xformSystem.GetWorldPositionRotationMatrix(xform); handle.SetTransform(worldMatrix); - foreach (var decals in zIndexDictionary.Values) + foreach (var (_, decal) in _decals) { - foreach (var decal in decals.Values) + if (!_cachedTextures.TryGetValue(decal.Id, out var cache)) { - if (!_cachedTextures.TryGetValue(decal.Id, out var cache)) + // Nothing to cache someone messed up + if (!_prototypeManager.TryIndex(decal.Id, out var decalProto)) { - // Nothing to cache someone messed up - if (!_prototypeManager.TryIndex(decal.Id, out var decalProto)) - { - continue; - } - - cache = (_sprites.Frame0(decalProto.Sprite), decalProto.SnapCardinals); - _cachedTextures[decal.Id] = cache; + continue; } - var cardinal = Angle.Zero; - - if (cache.SnapCardinals) - { - var worldAngle = eyeAngle + worldRot; - cardinal = worldAngle.GetCardinalDir().ToAngle(); - } + cache = (_sprites.Frame0(decalProto.Sprite), decalProto.SnapCardinals); + _cachedTextures[decal.Id] = cache; + } - var angle = decal.Angle - cardinal; + var cardinal = Angle.Zero; - if (angle.Equals(Angle.Zero)) - handle.DrawTexture(cache.Texture, decal.Coordinates, decal.Color); - else - handle.DrawTexture(cache.Texture, decal.Coordinates, angle, decal.Color); + if (cache.SnapCardinals) + { + var worldAngle = eyeAngle + worldRot; + cardinal = worldAngle.GetCardinalDir().ToAngle(); } + + var angle = decal.Angle - cardinal; + + if (angle.Equals(Angle.Zero)) + handle.DrawTexture(cache.Texture, decal.Coordinates, decal.Color); + else + handle.DrawTexture(cache.Texture, decal.Coordinates, angle, decal.Color); } handle.SetTransform(Matrix3.Identity); diff --git a/Content.Server/Chunking/ChunkingSystem.cs b/Content.Server/Chunking/ChunkingSystem.cs index e4775439cb6..9bc1ab0a3b9 100644 --- a/Content.Server/Chunking/ChunkingSystem.cs +++ b/Content.Server/Chunking/ChunkingSystem.cs @@ -8,6 +8,7 @@ using Robust.Shared.Map.Components; using Robust.Shared.Player; using Robust.Shared.Utility; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Shared.Chunking; diff --git a/Content.Server/Decals/DecalSystem.cs b/Content.Server/Decals/DecalSystem.cs index 5bfd91486ca..ad225afe224 100644 --- a/Content.Server/Decals/DecalSystem.cs +++ b/Content.Server/Decals/DecalSystem.cs @@ -21,6 +21,7 @@ using Robust.Shared.Timing; using Robust.Shared.Utility; using static Content.Shared.Decals.DecalGridComponent; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Server.Decals { diff --git a/Content.Server/Parallax/BiomeSystem.cs b/Content.Server/Parallax/BiomeSystem.cs index 0b8c7a4d82d..c4c2300870d 100644 --- a/Content.Server/Parallax/BiomeSystem.cs +++ b/Content.Server/Parallax/BiomeSystem.cs @@ -29,6 +29,7 @@ using Robust.Shared.Random; using Robust.Shared.Threading; using Robust.Shared.Utility; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Server.Parallax; diff --git a/Content.Shared/Decals/Decal.cs b/Content.Shared/Decals/Decal.cs index 56ecc829e7c..cb6f944c650 100644 --- a/Content.Shared/Decals/Decal.cs +++ b/Content.Shared/Decals/Decal.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Decals public sealed partial class Decal { // if these are made not-readonly, then decal grid state handling needs to be updated to clone decals. - [DataField("coordinates")] public Vector2 Coordinates = Vector2.Zero; + [DataField("coordinates")] public Vector2 Coordinates = Vector2.Zero; [DataField("id")] public string Id = string.Empty; [DataField("color")] public Color? Color; [DataField("angle")] public Angle Angle = Angle.Zero; diff --git a/Content.Shared/Decals/DecalGridComponent.cs b/Content.Shared/Decals/DecalGridComponent.cs index 140eb5bafcd..8ac05cb280f 100644 --- a/Content.Shared/Decals/DecalGridComponent.cs +++ b/Content.Shared/Decals/DecalGridComponent.cs @@ -12,7 +12,8 @@ namespace Content.Shared.Decals [NetworkedComponent] public sealed partial class DecalGridComponent : Component { - [DataField("chunkCollection", serverOnly: true)] + [Access(Other = AccessPermissions.ReadExecute)] + [DataField(serverOnly: true)] public DecalGridChunkCollection ChunkCollection = new(new ()); /// @@ -25,10 +26,6 @@ public sealed partial class DecalGridComponent : Component /// public GameTick ForceTick { get; set; } - // client-side data. I CBF creating a separate client-side comp for this. The server can survive with some empty dictionaries. - public readonly Dictionary DecalZIndexIndex = new(); - public readonly SortedDictionary> DecalRenderIndex = new(); - [DataDefinition] [Serializable, NetSerializable] public sealed partial class DecalChunk diff --git a/Content.Shared/Decals/SharedDecalSystem.cs b/Content.Shared/Decals/SharedDecalSystem.cs index 02f73bdacb3..76fa9d64dba 100644 --- a/Content.Shared/Decals/SharedDecalSystem.cs +++ b/Content.Shared/Decals/SharedDecalSystem.cs @@ -122,39 +122,6 @@ public virtual bool RemoveDecal(EntityUid gridId, uint decalId, DecalGridCompone } } - // TODO: Pretty sure paul was moving this somewhere but just so people know - public struct ChunkIndicesEnumerator - { - private Vector2i _chunkLB; - private Vector2i _chunkRT; - - private int _xIndex; - private int _yIndex; - - public ChunkIndicesEnumerator(Box2 localAABB, int chunkSize) - { - _chunkLB = new Vector2i((int)Math.Floor(localAABB.Left / chunkSize), (int)Math.Floor(localAABB.Bottom / chunkSize)); - _chunkRT = new Vector2i((int)Math.Floor(localAABB.Right / chunkSize), (int)Math.Floor(localAABB.Top / chunkSize)); - - _xIndex = _chunkLB.X; - _yIndex = _chunkLB.Y; - } - - public bool MoveNext([NotNullWhen(true)] out Vector2i? indices) - { - if (_yIndex > _chunkRT.Y) - { - _yIndex = _chunkLB.Y; - _xIndex += 1; - } - - indices = new Vector2i(_xIndex, _yIndex); - _yIndex += 1; - - return _xIndex <= _chunkRT.X; - } - } - /// /// Sent by clients to request that a decal is placed on the server. /// From 8abda21a635b9fac185810c675c6561c2e0103b2 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:49:47 +0300 Subject: [PATCH 083/345] Fix attribution (#25495) Update attributions.yml (cherry picked from commit af7e8025ad59c2f44e37e7b15625421264355e5b) --- Resources/Textures/Tiles/attributions.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Textures/Tiles/attributions.yml b/Resources/Textures/Tiles/attributions.yml index f9afb8e81f5..7cfe5535a0a 100644 --- a/Resources/Textures/Tiles/attributions.yml +++ b/Resources/Textures/Tiles/attributions.yml @@ -119,9 +119,9 @@ - files: ["latticeTrain.png"] license: "CC0-1.0" copyright: "Created by TheShuEd (github) for space-station-14." - source: "https://github.com/space-wizards/space-station-14/pull/ED_INSERT_PR_CODE_HERE!" + source: "https://github.com/space-wizards/space-station-14/pull/24927" - files: ["wood_large.png"] license: "CC0-1.0" copyright: "Created by ps3moira (github) for space-station-14." - source: "https://github.com/space-wizards/space-station-14/" \ No newline at end of file + source: "https://github.com/space-wizards/space-station-14/" From 4cced6e9d60071dfd5aee3ad09ee4fbbc1efac97 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Fri, 23 Feb 2024 14:19:52 +0100 Subject: [PATCH 084/345] Fix centcom and other jobs with setPreference set to false showing up anyway (#25496) * God dammit pjb * Smol cleanup (cherry picked from commit 237d89cbfe526856dd547a7e9f37b01d87e84361) --- Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs index d8979f18142..fe18b2d10cd 100644 --- a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs @@ -586,7 +586,9 @@ private void UpdateRoleRequirements() _jobList.AddChild(category); } - var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)).ToArray(); + var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)) + .Where(job => job.SetPreference) + .ToArray(); Array.Sort(jobs, JobUIComparer.Instance); foreach (var job in jobs) From c1400ff78b7d84ebdf1910b61cca32822d9b78bf Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 13:20:58 +0000 Subject: [PATCH 085/345] Automatic changelog update (cherry picked from commit 2ad32433d85282d97f0fc7cb233846be7eb0f0c2) --- Resources/Changelog/Changelog.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ccab3633273..bcf621a1d49 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Rainbeon - changes: - - message: The ChemMaster buffer no longer shuffles list ordering when removing - a reagent. - type: Fix - id: 5512 - time: '2024-01-02T15:51:22.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23352 - author: DrMelon changes: - message: Fixed the Tesla Ball moving too fast by being pushed with explosions. @@ -3852,3 +3844,11 @@ id: 6011 time: '2024-02-23T06:53:39.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25483 +- author: Vasilis + changes: + - message: Fixed a bug where the centcom official/any job that is not supposed to + have a preference option appeared anyway. + type: Fix + id: 6012 + time: '2024-02-23T13:19:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25496 From 6d787cdebd3c6bdb102ea345aaf548fa70278741 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:49:27 +0100 Subject: [PATCH 086/345] Make cargo order unanchored thruster and gyroscope (#25497) (cherry picked from commit 7a37d4a01371e3fccc19e557e45668f7a5af5e20) --- Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml b/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml index 58c6f99494f..bc0f60fcf38 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml @@ -3,7 +3,7 @@ icon: sprite: Structures/Shuttles/thruster.rsi state: base - product: Thruster + product: ThrusterUnanchored cost: 1500 category: Shuttle group: market @@ -13,7 +13,7 @@ icon: sprite: Structures/Shuttles/gyroscope.rsi state: base - product: Gyroscope + product: GyroscopeUnanchored cost: 4000 category: Shuttle group: market From 1334f981f711b2a88e09858eb27af599e9578936 Mon Sep 17 00:00:00 2001 From: lapatison <100279397+lapatison@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:51:03 +0300 Subject: [PATCH 087/345] Minor cookie fortune fix (#25503) minor locale fix (cherry picked from commit 2a5eb86e2270629752799e04f945a5ebabef460c) --- Resources/Prototypes/Datasets/Names/fortunes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Datasets/Names/fortunes.yml b/Resources/Prototypes/Datasets/Names/fortunes.yml index dd5ec276791..fc3c5d9d713 100644 --- a/Resources/Prototypes/Datasets/Names/fortunes.yml +++ b/Resources/Prototypes/Datasets/Names/fortunes.yml @@ -77,6 +77,6 @@ - Did you know? Monkeys are not what they seem. - Did you know that half of salvage specialists go missing on the job? - Also try out sashimi with galaxythystle sauce! - - Did you know that 70% of Nanotransen applicants go missing within the first years of their contract? The more you know!! + - Did you know that 70% of Nanotrasen applicants go missing within the first years of their contract? The more you know!! - This shift you are going to do a very robust move in front of everyone. - Robustness is not just about how good you are, but how good of a person you are. From fc67241d5532170f06ef7c8e72a706b8211659e0 Mon Sep 17 00:00:00 2001 From: Eris Date: Fri, 23 Feb 2024 20:45:02 -0500 Subject: [PATCH 088/345] Fix a single grammar error (#25512) Update food-component.ftl why was I the only one that noticed it (cherry picked from commit 39a2ff5c0ab428b40e1e2800395e0b2fdeaffcdc) --- Resources/Locale/en-US/nutrition/components/food-component.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/nutrition/components/food-component.ftl b/Resources/Locale/en-US/nutrition/components/food-component.ftl index 1d8a793d4d7..4eae610085e 100644 --- a/Resources/Locale/en-US/nutrition/components/food-component.ftl +++ b/Resources/Locale/en-US/nutrition/components/food-component.ftl @@ -24,6 +24,6 @@ food-system-verb-eat = Eat ## Force feeding -food-system-force-feed = {CAPITALIZE(THE($user))} is trying feed you something! +food-system-force-feed = {CAPITALIZE(THE($user))} is trying to feed you something! food-system-force-feed-success = {CAPITALIZE(THE($user))} forced you to eat something! {$flavors} food-system-force-feed-success-user = You successfully feed {THE($target)} From dd61b78a54104d26fa9e047a204df10f57e66b61 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 24 Feb 2024 01:46:08 +0000 Subject: [PATCH 089/345] Automatic changelog update (cherry picked from commit 786ecd961a5af4865281f6e3ae32d13fe26f028c) --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bcf621a1d49..c4a524c0434 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: DrMelon - changes: - - message: Fixed the Tesla Ball moving too fast by being pushed with explosions. - Now it moves as-designed. - type: Fix - id: 5513 - time: '2024-01-02T18:09:06.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23377 - author: tday changes: - message: The admin log will now include attempts to draw from mobs with a syringe. @@ -3852,3 +3844,10 @@ id: 6012 time: '2024-02-23T13:19:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25496 +- author: Erisfiregamer1 + changes: + - message: Fixed a typo when forcefeeding someone. + type: Fix + id: 6013 + time: '2024-02-24T01:45:02.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25512 From 8502f6e1f59b0b46d7b1a4c563424ae00fc6a66a Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Sat, 24 Feb 2024 18:29:16 -0800 Subject: [PATCH 090/345] Fixed Fire Extinguisher safety range (#25534) (cherry picked from commit 84fff930c26897120baf66f9dbf91400e6e6e585) --- Content.Server/Extinguisher/FireExtinguisherSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Extinguisher/FireExtinguisherSystem.cs b/Content.Server/Extinguisher/FireExtinguisherSystem.cs index 5adf067d9b5..dfecd72398d 100644 --- a/Content.Server/Extinguisher/FireExtinguisherSystem.cs +++ b/Content.Server/Extinguisher/FireExtinguisherSystem.cs @@ -93,7 +93,7 @@ private void OnAfterInteract(Entity entity, ref After private void OnGetInteractionVerbs(Entity entity, ref GetVerbsEvent args) { - if (!args.CanInteract) + if (!args.CanAccess || !args.CanInteract) return; var user = args.User; From d61d93ebfce3cc27bc86b957066ca207f6657f36 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 02:30:22 +0000 Subject: [PATCH 091/345] Automatic changelog update (cherry picked from commit 51caf3b5199954bc459167b92d69a10a96b63cda) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c4a524c0434..a33de935f4a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: tday - changes: - - message: The admin log will now include attempts to draw from mobs with a syringe. - type: Add - id: 5514 - time: '2024-01-02T18:47:31.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23333 - author: 778b changes: - message: Improved mice's eating everything behavior, now they can stop! @@ -3851,3 +3844,10 @@ id: 6013 time: '2024-02-24T01:45:02.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25512 +- author: Beck Thompson + changes: + - message: The Fire Extinguishers safety can now only be toggled when in range. + type: Fix + id: 6014 + time: '2024-02-25T02:29:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25534 From 96d1370bfdd27cdeff2cf18bc12753828a765609 Mon Sep 17 00:00:00 2001 From: ArchPigeon Date: Sat, 24 Feb 2024 21:40:49 -0500 Subject: [PATCH 092/345] Remove the ability for command or any antag-safe role from being initial infected in zombie mode (#25529) Remove the ability for command to be initial infected in zombie mode (cherry picked from commit 580640150285e1f90f25ca014991c09f2fed3cdc) --- Content.Server/GameTicking/Rules/ZombieRuleSystem.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs b/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs index 886ff965c72..9bfdb05d319 100644 --- a/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs @@ -7,6 +7,7 @@ using Content.Server.Popups; using Content.Server.Preferences.Managers; using Content.Server.Roles; +using Content.Server.Roles.Jobs; using Content.Server.RoundEnd; using Content.Server.Station.Components; using Content.Server.Station.Systems; @@ -49,6 +50,7 @@ public sealed class ZombieRuleSystem : GameRuleSystem [Dependency] private readonly SharedRoleSystem _roles = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly JobSystem _jobs = default!; public override void Initialize() { @@ -271,7 +273,8 @@ private void InfectInitialPlayers(ZombieRuleComponent component) var prefList = new List(); foreach (var player in allPlayers) { - if (player.AttachedEntity == null || !HasComp(player.AttachedEntity) || HasComp(player.AttachedEntity)) + if (player.AttachedEntity == null || !HasComp(player.AttachedEntity) || + HasComp(player.AttachedEntity) || !_jobs.CanBeAntag(player)) continue; if (HasComp(player.AttachedEntity)) From dc3ef5b7221a77498797ef1a76772dfdc17a2972 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 02:41:54 +0000 Subject: [PATCH 093/345] Automatic changelog update (cherry picked from commit c52820a4b65a8ea147934e16bcf39027e2f067d5) --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a33de935f4a..e2b77c84d8c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: 778b - changes: - - message: Improved mice's eating everything behavior, now they can stop! - type: Tweak - id: 5515 - time: '2024-01-02T18:49:20.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23322 - author: Ilya246 changes: - message: Science may now research the Biofabricator, which can make animal cubes @@ -3851,3 +3844,11 @@ id: 6014 time: '2024-02-25T02:29:16.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25534 +- author: ArchPigeon + changes: + - message: Removed the ability for command or any antag-safe role to be initial + infected in zombie mode + type: Remove + id: 6015 + time: '2024-02-25T02:40:49.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25529 From e55cbb4d330e48f31bfe24d516a796d937cb0156 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 25 Feb 2024 14:33:07 +1100 Subject: [PATCH 094/345] Update submodule to 211.0.2 (#25536) (cherry picked from commit 34a6f12ce65deb5381c315523e075310e76759d3) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index 1d91838166a..2694dce0766 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 1d91838166a6d2771526dfadfb36f79487fd1749 +Subproject commit 2694dce0766239075c92911dbd9b39efcc86e31d From 669bcecbb359aec751e81d4c7d8ced5532f285e8 Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Sun, 25 Feb 2024 15:29:20 +1100 Subject: [PATCH 095/345] Increase contrast with hand select for Ashen UI theme (#25517) add (cherry picked from commit 531d722c13138ad2f1d1176e1c2aadac13a5bcd6) --- .../Interface/Ashen/slot_highlight.png | Bin 1228 -> 1223 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Interface/Ashen/slot_highlight.png b/Resources/Textures/Interface/Ashen/slot_highlight.png index 49d4c58f8a516ffca31344d03b9e890c8a626812..066447806980925dc1671f955fa374ab3fe548af 100644 GIT binary patch delta 252 zcmV$=dkEuBq7 z18<1)Ls-jNOXE0ZIW~a($(OS@M&Mu9l|Wl+S(YG+mnN(k3A}Wqc`Ks^lz1IPqT(~vPnHuym5k%I}+5$Y?NZQDlkJWD^N0Z=ZA zf}C>_|1LtqFod!!Q)-g;p7LD2bWC7~WJyJSx$Fa~@>y$1M0PI#00004PcVq3%=j1d7gRY>czmDf=_#!0V7}p zjDQg^0!F|H7y%<71P~gY9*>$mWCPwW8bBtf>zew$mj?f!J#sKXIzq|&oEsqo^4`n3 zrU6jS^PG<3kQ{Oo8iwI2ib7M9&hsSa)b00000NkvXX Hu0mjf`o(of From 2153cb3d775306b6ad6873cd499a619722a23553 Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Sun, 25 Feb 2024 15:41:13 +1100 Subject: [PATCH 096/345] pAI map button sprite change (#25384) * add * ya * add (cherry picked from commit 9a4c10cc892e8e07c777b7351deec3efb673556a) --- Resources/Textures/Interface/home.png | Bin 384 -> 1654 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Interface/home.png b/Resources/Textures/Interface/home.png index ccddb03caa3e78b373d643c28da02bb27679b573..c1479f67cdd6da9a4dc2a3a9ed339a702f6983e5 100644 GIT binary patch literal 1654 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U@plFi71Ki^|4CM&(%vz$xlkvtH>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&; zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$>9$H0x+$q?iKRIuN_NF1iJ)ML&rK{au+fL8L^S~-ifXWpJ{C9FfP8Kh z8I)R_pHm7l)Xvh(1{@qHf`~|fXo$e30a*}TLqJA;Nj@-56=f!S=9Q!t6%+x}7uY@{ zsCBqipqquTJ2Wq|#13WvnlO?sr1-INEGj9_FUk%9#|3IY;#3AT3KFPD=@gO)z!3n< z1$JCE`tTfO$7QJeVLbx_Q=_MgV@L$&+pxWP!j1xQ?i=qeah%4TqHa~r$?BmHsBrOu z;=Kc|^BN|(pEM5mDB|eF&dPe>XUort8`hYZqd(emORiu$$i>uvu#^llbWZp{hwO5i#Nft ze1gs6fBj!pfA*Xq>aeBZzi05gn#;!zt2~TxI&@xGrNM#m{JcvKX51>z(qEAwzQx8R z`?vU}|ErUB&HpT;AUJ971m`zAd>iJcFiITQdTohFMfJ79n-QB@N|RYDqz=3|yX$%A zq@J7#>vp$Iv$o#dv|l6V=d+W?y7weidVG*v%aFEBeQs3Kx8uJg9>j>ss!qLVwpe~W zgX*o>LJdOoYgQ{JZb;Qz-*!Vsc0Ge#*=oL{ z|C^SMBb*l=Zn9dFZ#`Go?)3ppegoN@FOOMP^z1p`dvfW@6+xD6&!wKaNBog-5Xn`q z^Jd^(Iq}%TEixB>8Z2>pe5;nRz^=o?T_vjVUG*u41vS4!A4urO>wOa5q;NQ&CxGdB z#HCGcvn<}2TNZXdbW0KHJ6APfCFjj$1{(7B`LFJHsdnUy0^^fx>Y6rM=xBGN$~Wk)``Le7*nO$vr6U$0wmqp4fq-07PvS5D6ZCS9GNGT+nH&t;ucLK6UcwP)V| literal 384 zcmV-`0e}99P)200006VoOIv0RI60 z0RN!9r;`8x0X0cPK~y-6?UKDp13?sp&*+j6tRfJMVE(tjO`v0-BVZb6S^o}fgf&%gxGw!j;( zp5R*pUd?v`RFZ&o;K7VHz--0`%-Q_{+zs>tXJ$AA#!`Q&m#F~9mODs;E`$JMxfRQ` z{A?&Au+L!arsYzhl9qDLgP>kz=bV#N3o(a6bLk)Yt*+JKoDA>xc}211g``DEP2kFA zBUX2S4@o8K%fOzUXJYxE0&2i@!eh_UB{1$;t`A(2RF^brqpGBWq}!NnO45s@C+nXj ewViVvZ} Date: Sun, 25 Feb 2024 07:37:28 +0000 Subject: [PATCH 097/345] Automatic changelog update (cherry picked from commit e52ebe0ebd138bc12ec4427dfcc686efedd2a6fc) --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index e2b77c84d8c..6de5e697f96 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Ilya246 - changes: - - message: Science may now research the Biofabricator, which can make animal cubes - from biomass! - type: Add - id: 5516 - time: '2024-01-02T18:53:35.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23319 - author: themias changes: - message: Welders can be refilled directly from wall fuel dispensers @@ -3852,3 +3844,10 @@ id: 6015 time: '2024-02-25T02:40:49.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25529 +- author: PolterTzi + changes: + - message: Cargo ordering multiple crates in one order should work now. + type: Fix + id: 6016 + time: '2024-02-25T07:36:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25518 From 8910a98a3faf9a322656d7f6013b2c9dec58bee2 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 25 Feb 2024 21:58:08 +1100 Subject: [PATCH 098/345] Selectively revert gun penetration (#25551) The collision layer check doesn't work and I don't have time to fix it. (cherry picked from commit ec5edc362656440373cba7aa8ef63c87af85911b) --- .../Projectiles/CanPenetrateComponent.cs | 42 ------------------- .../Projectiles/SharedProjectileSystem.cs | 27 ------------ .../Guns/Ammunition/Projectiles/grenade.yml | 6 --- .../Weapons/Guns/Projectiles/projectiles.yml | 4 +- .../Power/Generation/PA/particles.yml | 1 - 5 files changed, 1 insertion(+), 79 deletions(-) delete mode 100644 Content.Shared/Projectiles/CanPenetrateComponent.cs diff --git a/Content.Shared/Projectiles/CanPenetrateComponent.cs b/Content.Shared/Projectiles/CanPenetrateComponent.cs deleted file mode 100644 index 6134978b1bb..00000000000 --- a/Content.Shared/Projectiles/CanPenetrateComponent.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Content.Shared.FixedPoint; -using Content.Shared.Physics; -using Robust.Shared.GameStates; - -namespace Content.Shared.Projectiles; - -[RegisterComponent, NetworkedComponent] -public sealed partial class CanPenetrateComponent : Component -{ - /// - /// Should the projectile keep the ability to deal damage after colliding. - /// - [DataField] - public bool DamageAfterCollide = true; - - /// - /// The CollisionLayer, up to and including the one set, the projectile is allowed to penetrate. - /// - /// - /// Can penetrate everything if this value is not set. - /// - [DataField] - public CollisionGroup? PenetrationLayer; - - /// - /// How many times the projectile is allowed to deal damage. - /// - /// - /// Can deal damage on every collision if this value is not set. - /// - [DataField] - public float? PenetrationPower; - - /// - /// Modifies the damage of a projectile after it has penetrated an entity. - /// - /// - /// Won't modify the projectile's damage if this value is not set. - /// - [DataField] - public FixedPoint2? DamageModifier; -} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index 2fa5ee1c8c2..f57e8736539 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -169,33 +169,6 @@ private void OnAttemptPacifiedThrow(Entity ent, r /// private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) { - if (!TryComp(uid, out var damageAfterCollide)) - return; - - //Delete the projectile if it hits an entity with a CollisionLayer that has a higher value than it's PenetrationLayer. - //This allows a projectile to only penetrate a specific set of entities. - if (damageAfterCollide.PenetrationLayer != null) - { - if (args.Fixture.CollisionLayer > (int) damageAfterCollide.PenetrationLayer || - damageAfterCollide.PenetrationPower == 0) - { - QueueDel(uid); - return; - } - } - - //Allow the projectile to deal damage again. - if(damageAfterCollide.DamageAfterCollide) - component.DamagedEntity = false; - - //If the projectile has a limit on the amount of penetrations, reduce it. - if (damageAfterCollide.PenetrationPower != null) - damageAfterCollide.PenetrationPower -= 1; - - //Apply the penetration damage modifier if the projectile has one. - if (damageAfterCollide.DamageModifier != null) - component.Damage *= damageAfterCollide.DamageModifier.Value; - //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. //This is to prevent having to set DeleteOnCollide to false on every prototype //you want to give the ability to penetrate entities. diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml index ec62121c6b9..7f0507d686d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml @@ -12,8 +12,6 @@ damage: types: Blunt: 4 - - type: CanPenetrate - penetrationLayer: MobLayer - type: StaminaDamageOnCollide damage: 55 - type: TimedDespawn @@ -33,8 +31,6 @@ damage: types: Piercing: 45 - - type: CanPenetrate - penetrationLayer: MobLayer - type: TimedDespawn lifetime: 0.25 @@ -53,8 +49,6 @@ types: Blunt: 1 Heat: 2 - - type: CanPenetrate - penetrationLayer: MobLayer - type: IgniteOnCollide fireStacks: 3 count: 10 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 7ca185a0e8a..935e335c2a4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -738,7 +738,7 @@ - type: PointLight radius: 3.5 color: blue - energy: 0.5 + energy: 0.5 - type: entity id: BulletCap @@ -810,8 +810,6 @@ mask: - Impassable - BulletImpassable - - type: CanPenetrate - penetrationLayer: MobLayer - type: Vapor active: true - type: Appearance diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml index 8f89c900ca9..8d889ee5cbb 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml @@ -19,7 +19,6 @@ damage: types: Radiation: 25 - - type: CanPenetrate - type: Physics - type: Fixtures fixtures: From dc56c5992fb57126cfc8808a749df5f0e46b9e31 Mon Sep 17 00:00:00 2001 From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> Date: Sun, 25 Feb 2024 12:07:10 +0100 Subject: [PATCH 099/345] Cleanup ExecutionSystem (#24382) --- Content.Server/Execution/ExecutionSystem.cs | 400 ------------------ .../Projectiles/ProjectileSystem.cs | 28 +- .../Weapons/Ranged/Systems/GunSystem.cs | 149 ++++++- .../Execution/ExecutionComponent.cs | 26 ++ Content.Shared/Execution/ExecutionSystem.cs | 244 +++++++++++ .../Projectiles/SharedProjectileSystem.cs | 15 +- .../Ranged/Events/ShotAttemptedEvent.cs | 4 +- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 109 +++-- .../Locale/en-US/execution/execution.ftl | 10 - .../components/butcherable-component.ftl | 2 +- .../Objects/Materials/crystal_shard.yml | 2 + .../Entities/Objects/Materials/shards.yml | 2 + .../Entities/Objects/Misc/broken_bottle.yml | 2 + .../Objects/Weapons/Guns/HMGs/hmgs.yml | 1 + .../Objects/Weapons/Guns/LMGs/lmgs.yml | 1 + .../Weapons/Guns/Launchers/launchers.yml | 1 + .../Objects/Weapons/Guns/Pistols/pistols.yml | 3 +- .../Objects/Weapons/Guns/Rifles/rifles.yml | 1 + .../Objects/Weapons/Guns/SMGs/smgs.yml | 1 + .../Weapons/Guns/Shotguns/shotguns.yml | 2 + .../Objects/Weapons/Guns/Snipers/snipers.yml | 1 + .../Objects/Weapons/Guns/flare_gun.yml | 1 + .../Objects/Weapons/Guns/pneumatic_cannon.yml | 1 + .../Objects/Weapons/Melee/armblade.yml | 2 + .../Objects/Weapons/Melee/fireaxe.yml | 2 + .../Entities/Objects/Weapons/Melee/knife.yml | 2 + .../Entities/Objects/Weapons/Melee/sword.yml | 36 +- 27 files changed, 568 insertions(+), 480 deletions(-) delete mode 100644 Content.Server/Execution/ExecutionSystem.cs create mode 100644 Content.Shared/Execution/ExecutionComponent.cs create mode 100644 Content.Shared/Execution/ExecutionSystem.cs diff --git a/Content.Server/Execution/ExecutionSystem.cs b/Content.Server/Execution/ExecutionSystem.cs deleted file mode 100644 index 3b87fa17cad..00000000000 --- a/Content.Server/Execution/ExecutionSystem.cs +++ /dev/null @@ -1,400 +0,0 @@ -using Content.Server.Interaction; -using Content.Server.Kitchen.Components; -using Content.Server.Weapons.Ranged.Systems; -using Content.Shared.ActionBlocker; -using Content.Shared.Damage; -using Content.Shared.Database; -using Content.Shared.DoAfter; -using Content.Shared.Execution; -using Content.Shared.Interaction.Components; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Projectiles; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee; -using Content.Shared.Weapons.Ranged; -using Content.Shared.Weapons.Ranged.Components; -using Content.Shared.Weapons.Ranged.Events; -using Content.Shared.Weapons.Ranged.Systems; -using Robust.Shared.Audio; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Player; -using Robust.Shared.Prototypes; - -namespace Content.Server.Execution; - -/// -/// Verb for violently murdering cuffed creatures. -/// -public sealed class ExecutionSystem : EntitySystem -{ - [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly InteractionSystem _interactionSystem = default!; - [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; - [Dependency] private readonly DamageableSystem _damageableSystem = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IComponentFactory _componentFactory = default!; - [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; - [Dependency] private readonly SharedAudioSystem _audioSystem = default!; - [Dependency] private readonly GunSystem _gunSystem = default!; - - private const float MeleeExecutionTimeModifier = 5.0f; - private const float GunExecutionTime = 6.0f; - private const float DamageModifier = 9.0f; - - /// - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetInteractionVerbsMelee); - SubscribeLocalEvent>(OnGetInteractionVerbsGun); - - SubscribeLocalEvent(OnDoafterMelee); - SubscribeLocalEvent(OnDoafterGun); - } - - private void OnGetInteractionVerbsMelee( - EntityUid uid, - SharpComponent component, - GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using!.Value; - var victim = args.Target; - - if (!CanExecuteWithMelee(weapon, victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => - { - TryStartMeleeExecutionDoafter(weapon, victim, attacker); - }, - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private void OnGetInteractionVerbsGun( - EntityUid uid, - GunComponent component, - GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using!.Value; - var victim = args.Target; - - if (!CanExecuteWithGun(weapon, victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => - { - TryStartGunExecutionDoafter(weapon, victim, attacker); - }, - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private bool CanExecuteWithAny(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - // No point executing someone if they can't take damage - if (!TryComp(victim, out var damage)) - return false; - - // You can't execute something that cannot die - if (!TryComp(victim, out var mobState)) - return false; - - // You're not allowed to execute dead people (no fun allowed) - if (_mobStateSystem.IsDead(victim, mobState)) - return false; - - // You must be able to attack people to execute - if (!_actionBlockerSystem.CanAttack(attacker, victim)) - return false; - - // The victim must be incapacitated to be executed - if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) - return false; - - if (victim == attacker) - return false; // DeltaV - Fucking seriously? - - // All checks passed - return true; - } - - private bool CanExecuteWithMelee(EntityUid weapon, EntityUid victim, EntityUid user) - { - if (!CanExecuteWithAny(weapon, victim, user)) return false; - - // We must be able to actually hurt people with the weapon - if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) - return false; - - return true; - } - - private bool CanExecuteWithGun(EntityUid weapon, EntityUid victim, EntityUid user) - { - if (!CanExecuteWithAny(weapon, victim, user)) return false; - - // We must be able to actually fire the gun - if (!TryComp(weapon, out var gun) && _gunSystem.CanShoot(gun!)) - return false; - - return true; - } - - private void TryStartMeleeExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - if (!CanExecuteWithMelee(weapon, victim, attacker)) - return; - - var executionTime = (1.0f / Comp(weapon).AttackRate) * MeleeExecutionTimeModifier; - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - - var doAfter = - new DoAfterArgs(EntityManager, attacker, executionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - } - - private void TryStartGunExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - if (!CanExecuteWithGun(weapon, victim, attacker)) - return; - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - - var doAfter = - new DoAfterArgs(EntityManager, attacker, GunExecutionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - } - - private bool OnDoafterChecks(EntityUid uid, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return false; - - if (!CanExecuteWithAny(args.Used.Value, args.Target.Value, uid)) - return false; - - // All checks passed - return true; - } - - private void OnDoafterMelee(EntityUid uid, SharpComponent component, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var victim = args.Target!.Value; - var weapon = args.Used!.Value; - - if (!CanExecuteWithMelee(weapon, victim, attacker)) return; - - if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) - return; - - _damageableSystem.TryChangeDamage(victim, melee.Damage * DamageModifier, true); - _audioSystem.PlayEntity(melee.HitSound, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - } - - // TODO: This repeats a lot of the code of the serverside GunSystem, make it not do that - private void OnDoafterGun(EntityUid uid, GunComponent component, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var weapon = args.Used!.Value; - var victim = args.Target!.Value; - - if (!CanExecuteWithGun(weapon, victim, attacker)) return; - - // Check if any systems want to block our shot - var prevention = new ShotAttemptedEvent - { - User = attacker, - Used = weapon - }; - - RaiseLocalEvent(weapon, ref prevention); - if (prevention.Cancelled) - return; - - RaiseLocalEvent(attacker, ref prevention); - if (prevention.Cancelled) - return; - - // Not sure what this is for but gunsystem uses it so ehhh - var attemptEv = new AttemptShootEvent(attacker, null); - RaiseLocalEvent(weapon, ref attemptEv); - - if (attemptEv.Cancelled) - { - if (attemptEv.Message != null) - { - _popupSystem.PopupClient(attemptEv.Message, weapon, attacker); - return; - } - } - - // Take some ammunition for the shot (one bullet) - var fromCoordinates = Transform(attacker).Coordinates; - var ev = new TakeAmmoEvent(1, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, attacker); - RaiseLocalEvent(weapon, ev); - - // Check if there's any ammo left - if (ev.Ammo.Count <= 0) - { - _audioSystem.PlayEntity(component.SoundEmpty, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - ShowExecutionPopup("execution-popup-gun-empty", Filter.Pvs(weapon), PopupType.Medium, attacker, victim, weapon); - return; - } - - // Information about the ammo like damage - DamageSpecifier damage = new DamageSpecifier(); - - // Get some information from IShootable - var ammoUid = ev.Ammo[0].Entity; - switch (ev.Ammo[0].Shootable) - { - case CartridgeAmmoComponent cartridge: - // Get the damage value - var prototype = _prototypeManager.Index(cartridge.Prototype); - prototype.TryGetComponent(out var projectileA, _componentFactory); // sloth forgive me - if (projectileA != null) - { - damage = projectileA.Damage * cartridge.Count; - } - - // Expend the cartridge - cartridge.Spent = true; - _appearanceSystem.SetData(ammoUid!.Value, AmmoVisuals.Spent, true); - Dirty(ammoUid.Value, cartridge); - - break; - - case AmmoComponent newAmmo: - TryComp(ammoUid, out var projectileB); - if (projectileB != null) - { - damage = projectileB.Damage; - } - Del(ammoUid); - break; - - case HitscanPrototype hitscan: - damage = hitscan.Damage!; - break; - - default: - throw new ArgumentOutOfRangeException(); - } - - // Clumsy people have a chance to shoot themselves - if (TryComp(attacker, out var clumsy) && component.ClumsyProof == false) - { - if (_interactionSystem.TryRollClumsy(attacker, 0.33333333f, clumsy)) - { - ShowExecutionPopup("execution-popup-gun-clumsy-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-clumsy-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - - // You shoot yourself with the gun (no damage multiplier) - _damageableSystem.TryChangeDamage(attacker, damage, origin: attacker); - _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - return; - } - } - - // Gun successfully fired, deal damage - _damageableSystem.TryChangeDamage(victim, damage * DamageModifier, true); - _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, false, AudioParams.Default); - - // Popups - if (attacker != victim) - { - ShowExecutionPopup("execution-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("suicide-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.LargeCaution, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); - } - } - - private void ShowExecutionPopup(string locString, Filter filter, PopupType type, - EntityUid attacker, EntityUid victim, EntityUid weapon) - { - _popupSystem.PopupEntity(Loc.GetString( - locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, filter, true, type); - } -} diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index 15ea5936e13..80c5f039d33 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -28,10 +28,14 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St { // This is so entities that shouldn't get a collision are ignored. if (args.OurFixtureId != ProjectileFixture || !args.OtherFixture.Hard - || component.DamagedEntity || component is { Weapon: null, OnlyCollideWhenShot: true }) + || component.DamagedEntity || component is + { Weapon: null, OnlyCollideWhenShot: true }) + { return; + } var target = args.OtherEntity; + // it's here so this check is only done once before possible hit var attemptEv = new ProjectileReflectAttemptEvent(uid, component, false); RaiseLocalEvent(target, ref attemptEv); @@ -41,11 +45,26 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St return; } + if (TryHandleProjectile(target, (uid, component))) + { + var direction = args.OurBody.LinearVelocity.Normalized(); + _sharedCameraRecoil.KickCamera(target, direction); + } + } + + /// + /// Tries to handle a projectile interacting with the target. + /// + /// True if the target isn't deleted. + public bool TryHandleProjectile(EntityUid target, Entity projectile) + { + var uid = projectile.Owner; + var component = projectile.Comp; + var ev = new ProjectileHitEvent(component.Damage, target, component.Shooter); RaiseLocalEvent(uid, ref ev); var otherName = ToPrettyString(target); - var direction = args.OurBody.LinearVelocity.Normalized(); var modifiedDamage = _damageableSystem.TryChangeDamage(target, ev.Damage, component.IgnoreResistances, origin: component.Shooter); var deleted = Deleted(target); @@ -64,12 +83,11 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St if (!deleted) { _guns.PlayImpactSound(target, modifiedDamage, component.SoundHit, component.ForceSound); - _sharedCameraRecoil.KickCamera(target, direction); } component.DamagedEntity = true; - var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target, args.OtherFixture); + var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target); RaiseLocalEvent(uid, ref afterProjectileHitEvent); if (component.DeleteOnCollide) @@ -79,5 +97,7 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St { RaiseNetworkEvent(new ImpactEffectEvent(component.ImpactEffect, GetNetCoordinates(xform.Coordinates)), Filter.Pvs(xform.Coordinates, entityMan: EntityManager)); } + + return !deleted; } } diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index b8f8f122111..fd3b6c5db33 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -4,6 +4,7 @@ using Content.Server.Cargo.Systems; using Content.Server.Interaction; using Content.Server.Power.EntitySystems; +using Content.Server.Projectiles; using Content.Server.Stunnable; using Content.Server.Weapons.Ranged.Components; using Content.Shared.Damage; @@ -29,13 +30,13 @@ namespace Content.Server.Weapons.Ranged.Systems; public sealed partial class GunSystem : SharedGunSystem { - [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IComponentFactory _factory = default!; [Dependency] private readonly BatterySystem _battery = default!; [Dependency] private readonly DamageExamineSystem _damageExamine = default!; [Dependency] private readonly InteractionSystem _interaction = default!; [Dependency] private readonly PricingSystem _pricing = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; + [Dependency] private readonly ProjectileSystem _projectile = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly StaminaSystem _stamina = default!; [Dependency] private readonly StunSystem _stun = default!; @@ -65,6 +66,137 @@ private void OnBallisticPrice(EntityUid uid, BallisticAmmoProviderComponent comp args.Price += price * component.UnspawnedCount; } + protected override bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) + { + var result = false; + + // TODO: This is dogshit. I just want to get executions slightly better. + // Ideally you'd pull out cartridge + ammo to separate handling functions and re-use it here, then hitscan you need to bypass entirely. + // You should also make shooting into a struct of args given how many there are now. + var fromCoordinates = Transform(gunUid).Coordinates; + var toCoordinates = Transform(target).Coordinates; + + var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); + var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); + var mapDirection = toMap - fromMap.Position; + var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); + + // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) + ? fromCoordinates.WithEntityId(gridUid, EntityManager) + : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); + + // I must be high because this was getting tripped even when true. + // DebugTools.Assert(direction != Vector2.Zero); + var shotProjectiles = new List(ammo.Count); + var cartridgeBullets = new List(); + + foreach (var (ent, shootable) in ammo) + { + switch (shootable) + { + // Cartridge shoots something else + case CartridgeAmmoComponent cartridge: + if (!cartridge.Spent) + { + for (var i = 0; i < cartridge.Count; i++) + { + var uid = Spawn(cartridge.Prototype, fromEnt); + cartridgeBullets.Add(uid); + } + + RaiseLocalEvent(ent!.Value, new AmmoShotEvent() + { + FiredProjectiles = cartridgeBullets, + }); + + shotProjectiles.AddRange(cartridgeBullets); + cartridgeBullets.Clear(); + SetCartridgeSpent(ent.Value, cartridge, true); + MuzzleFlash(gunUid, cartridge, user); + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + + if (cartridge.DeleteOnSpawn) + Del(ent.Value); + } + else + { + Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); + } + + // Something like ballistic might want to leave it in the container still + if (!cartridge.DeleteOnSpawn && !Containers.IsEntityInContainer(ent!.Value)) + EjectCartridge(ent.Value, angle); + + result = true; + Dirty(ent!.Value, cartridge); + break; + // Ammo shoots itself + case AmmoComponent newAmmo: + result = true; + shotProjectiles.Add(ent!.Value); + MuzzleFlash(gunUid, newAmmo, user); + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + break; + case HitscanPrototype hitscan: + result = true; + var hitEntity = target; + if (hitscan.StaminaDamage > 0f) + _stamina.TakeStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user); + + var dmg = hitscan.Damage; + + var hitName = ToPrettyString(hitEntity); + if (dmg != null) + dmg = Damageable.TryChangeDamage(hitEntity, dmg, origin: user); + + // check null again, as TryChangeDamage returns modified damage values + if (dmg != null) + { + if (!Deleted(hitEntity)) + { + if (dmg.Any()) + { + _color.RaiseEffect(Color.Red, new List() { hitEntity }, Filter.Pvs(hitEntity, entityManager: EntityManager)); + } + + // TODO get fallback position for playing hit sound. + PlayImpactSound(hitEntity, dmg, hitscan.Sound, hitscan.ForceSound); + } + + Logs.Add(LogType.HitScanHit, + $"{ToPrettyString(user):user} hit {hitName:target} using hitscan and dealt {dmg.GetTotal():damage} damage"); + } + + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + foreach (var ammoUid in shotProjectiles) + { + // TODO: Handle this shit + if (!TryComp(ammoUid, out ProjectileComponent? projectileComponent)) + { + QueueDel(ammoUid); + continue; + } + + _projectile.TryHandleProjectile(target, (ammoUid, projectileComponent)); + // Even this deletion handling is mega sussy. + Del(ammoUid); + } + + RaiseLocalEvent(gunUid, new AmmoShotEvent() + { + FiredProjectiles = shotProjectiles, + }); + + return result; + } + public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false) { @@ -72,7 +204,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? // Try a clumsy roll // TODO: Who put this here - if (TryComp(user, out var clumsy) && gun.ClumsyProof == false) + if (TryComp(user, out var clumsy) && !gun.ClumsyProof) { for (var i = 0; i < ammo.Count; i++) { @@ -93,6 +225,8 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? } } + // As the above message wasn't obvious stop putting stuff here and use events + var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); var mapDirection = toMap - fromMap.Position; @@ -100,7 +234,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out var grid) + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) ? fromCoordinates.WithEntityId(gridUid, EntityManager) : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); @@ -112,6 +246,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? // I must be high because this was getting tripped even when true. // DebugTools.Assert(direction != Vector2.Zero); var shotProjectiles = new List(ammo.Count); + var cartridgeBullets = new List(); foreach (var (ent, shootable) in ammo) { @@ -140,21 +275,23 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, angles[i].ToVec(), gunVelocity, gun, gunUid, user); - shotProjectiles.Add(uid); + cartridgeBullets.Add(uid); } } else { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, mapDirection, gunVelocity, gun, gunUid, user); - shotProjectiles.Add(uid); + cartridgeBullets.Add(uid); } RaiseLocalEvent(ent!.Value, new AmmoShotEvent() { - FiredProjectiles = shotProjectiles, + FiredProjectiles = cartridgeBullets, }); + shotProjectiles.AddRange(cartridgeBullets); + cartridgeBullets.Clear(); SetCartridgeSpent(ent.Value, cartridge, true); MuzzleFlash(gunUid, cartridge, user); Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); diff --git a/Content.Shared/Execution/ExecutionComponent.cs b/Content.Shared/Execution/ExecutionComponent.cs new file mode 100644 index 00000000000..f9c5111d63a --- /dev/null +++ b/Content.Shared/Execution/ExecutionComponent.cs @@ -0,0 +1,26 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Execution; + +/// +/// Added to entities that can be used to execute another target. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ExecutionComponent : Component +{ + /// + /// How long the execution duration lasts. + /// + [DataField, AutoNetworkedField] + public float DoAfterDuration = 5f; + + [DataField, AutoNetworkedField] + public float DamageModifier = 9f; + + // Not networked because this is transient inside of a tick. + /// + /// True if it is currently executing for handlers. + /// + [DataField] + public bool Executing = true; +} diff --git a/Content.Shared/Execution/ExecutionSystem.cs b/Content.Shared/Execution/ExecutionSystem.cs new file mode 100644 index 00000000000..2e361e093b8 --- /dev/null +++ b/Content.Shared/Execution/ExecutionSystem.cs @@ -0,0 +1,244 @@ +using Content.Shared.Weapons.Ranged.Systems; +using Content.Shared.ActionBlocker; +using Content.Shared.CombatMode; +using Content.Shared.Damage; +using Content.Shared.Database; +using Content.Shared.DoAfter; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Content.Shared.Weapons.Melee; +using Content.Shared.Weapons.Melee.Events; +using Content.Shared.Weapons.Ranged.Components; +using Robust.Shared.Network; +using Robust.Shared.Player; + +namespace Content.Shared.Execution; + +/// +/// Verb for violently murdering cuffed creatures. +/// +public sealed class ExecutionSystem : EntitySystem +{ + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly MobStateSystem _mobStateSystem = default!; + [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; + [Dependency] private readonly SharedGunSystem _gunSystem = default!; + [Dependency] private readonly SharedCombatModeSystem _combatSystem = default!; + [Dependency] private readonly SharedMeleeWeaponSystem _meleeSystem = default!; + + // TODO: Still needs more cleaning up. + private const string DefaultInternalMeleeExecutionMessage = "execution-popup-melee-initial-internal"; + private const string DefaultExternalMeleeExecutionMessage = "execution-popup-melee-initial-external"; + private const string DefaultCompleteInternalMeleeExecutionMessage = "execution-popup-melee-complete-internal"; + private const string DefaultCompleteExternalMeleeExecutionMessage = "execution-popup-melee-complete-external"; + private const string DefaultInternalGunExecutionMessage = "execution-popup-gun-initial-internal"; + private const string DefaultExternalGunExecutionMessage = "execution-popup-gun-initial-external"; + private const string DefaultCompleteInternalGunExecutionMessage = "execution-popup-gun-complete-internal"; + private const string DefaultCompleteExternalGunExecutionMessage = "execution-popup-gun-complete-external"; + + /// + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnGetInteractionsVerbs); + SubscribeLocalEvent(OnExecutionDoAfter); + SubscribeLocalEvent(OnGetMeleeDamage); + } + + private void OnGetInteractionsVerbs(EntityUid uid, ExecutionComponent comp, GetVerbsEvent args) + { + if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) + return; + + var attacker = args.User; + var weapon = args.Using.Value; + var victim = args.Target; + + if (!CanExecuteWithAny(victim, attacker)) + return; + + UtilityVerb verb = new() + { + Act = () => TryStartExecutionDoAfter(weapon, victim, attacker, comp), + Impact = LogImpact.High, + Text = Loc.GetString("execution-verb-name"), + Message = Loc.GetString("execution-verb-message"), + }; + + args.Verbs.Add(verb); + } + + private void TryStartExecutionDoAfter(EntityUid weapon, EntityUid victim, EntityUid attacker, ExecutionComponent comp) + { + if (!CanExecuteWithAny(victim, attacker)) + return; + + // TODO: This should just be on the weapons as a single execution message. + var defaultExecutionInternal = DefaultInternalMeleeExecutionMessage; + var defaultExecutionExternal = DefaultExternalMeleeExecutionMessage; + + if (HasComp(weapon)) + { + defaultExecutionExternal = DefaultInternalGunExecutionMessage; + defaultExecutionInternal = DefaultExternalGunExecutionMessage; + } + + var internalMsg = defaultExecutionInternal; + var externalMsg = defaultExecutionExternal; + ShowExecutionInternalPopup(internalMsg, attacker, victim, weapon); + ShowExecutionExternalPopup(externalMsg, attacker, victim, weapon); + + var doAfter = + new DoAfterArgs(EntityManager, attacker, comp.DoAfterDuration, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) + { + BreakOnTargetMove = true, + BreakOnUserMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(doAfter); + + } + + private bool CanExecuteWithAny(EntityUid victim, EntityUid attacker) + { + // Use suicide. + if (victim == attacker) + return false; + + // No point executing someone if they can't take damage + if (!TryComp(victim, out _)) + return false; + + // You can't execute something that cannot die + if (!TryComp(victim, out var mobState)) + return false; + + // You're not allowed to execute dead people (no fun allowed) + if (_mobStateSystem.IsDead(victim, mobState)) + return false; + + // You must be able to attack people to execute + if (!_actionBlockerSystem.CanAttack(attacker, victim)) + return false; + + // The victim must be incapacitated to be executed + if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) + return false; + + if (victim == attacker) + return false; // DeltaV - Fucking seriously? + + // All checks passed + return true; + } + + private void OnExecutionDoAfter(EntityUid uid, ExecutionComponent component, ExecutionDoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) + return; + + var attacker = args.User; + var victim = args.Target.Value; + var weapon = args.Used.Value; + + if (!CanExecuteWithAny(victim, attacker)) + return; + + // This is needed so the melee system does not stop it. + var prev = _combatSystem.IsInCombatMode(attacker); + _combatSystem.SetInCombatMode(attacker, true); + component.Executing = true; + string? internalMsg = null; + string? externalMsg = null; + + if (TryComp(uid, out MeleeWeaponComponent? melee)) + { + _meleeSystem.AttemptLightAttack(attacker, weapon, melee, victim); + internalMsg = DefaultCompleteInternalMeleeExecutionMessage; + externalMsg = DefaultCompleteExternalMeleeExecutionMessage; + } + else if (TryComp(uid, out GunComponent? gun)) + { + var clumsyShot = false; + + // TODO: This should just be an event or something instead to get this. + // TODO: Handle clumsy. + if (!_gunSystem.AttemptDirectShoot(args.User, uid, args.Target.Value, gun)) + { + internalMsg = null; + externalMsg = null; + } + else + { + internalMsg = DefaultCompleteInternalGunExecutionMessage; + externalMsg = DefaultCompleteExternalGunExecutionMessage; + } + args.Handled = true; + } + + _combatSystem.SetInCombatMode(attacker, prev); + component.Executing = false; + args.Handled = true; + + if (internalMsg != null && externalMsg != null) + { + ShowExecutionInternalPopup(internalMsg, attacker, victim, uid); + ShowExecutionExternalPopup(externalMsg, attacker, victim, uid); + } + } + + private void OnGetMeleeDamage(EntityUid uid, ExecutionComponent comp, ref GetMeleeDamageEvent args) + { + if (!TryComp(uid, out var melee) || + !TryComp(uid, out var execComp) || + !execComp.Executing) + { + return; + } + + var bonus = melee.Damage * execComp.DamageModifier - melee.Damage; + args.Damage += bonus; + } + + private void ShowExecutionInternalPopup(string locString, + EntityUid attacker, EntityUid victim, EntityUid weapon, bool predict = true) + { + if (predict) + { + _popupSystem.PopupClient( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + attacker, + PopupType.Medium + ); + } + else + { + _popupSystem.PopupEntity( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + Filter.Entities(attacker), + true, + PopupType.Medium + ); + } + + } + + private void ShowExecutionExternalPopup(string locString, EntityUid attacker, EntityUid victim, EntityUid weapon) + { + _popupSystem.PopupEntity( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + Filter.PvsExcept(attacker), + true, + PopupType.MediumCaution + ); + } +} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index f57e8736539..027dc039398 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -34,7 +34,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(PreventCollision); - SubscribeLocalEvent(AfterProjectileHit); SubscribeLocalEvent(OnEmbedProjectileHit); SubscribeLocalEvent(OnEmbedThrowDoHit); SubscribeLocalEvent(OnEmbedActivate); @@ -163,18 +162,6 @@ private void OnAttemptPacifiedThrow(Entity ent, r { args.Cancel("pacified-cannot-throw-embed"); } - - /// - /// Checks if the projectile is allowed to penetrate the target it hit. - /// - private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) - { - //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. - //This is to prevent having to set DeleteOnCollide to false on every prototype - //you want to give the ability to penetrate entities. - if(component.DeleteOnCollide) - component.DeleteOnCollide = false; - } } [Serializable, NetSerializable] @@ -206,4 +193,4 @@ public record struct ProjectileHitEvent(DamageSpecifier Damage, EntityUid Target /// Raised after a projectile has dealt it's damage. ///

    6cPXlc^?nON~XLW+qf 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 Fe*m?i0h9m$ literal 0 HcmV?d00001 From 324ea7fbc8a5597e8f4e3db69065647f987f74c3 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Fri, 23 Feb 2024 05:02:59 +0100 Subject: [PATCH 076/345] Switch project files to C# 12. (#25487) Just unlocks new language features like primary constructors. (cherry picked from commit b1de6dd6017f4f56045df409db59fb7d303bde5d) --- Content.Client/Content.Client.csproj | 2 +- Content.IntegrationTests/Content.IntegrationTests.csproj | 2 +- Content.Replay/Content.Replay.csproj | 2 +- Content.Server.Database/Content.Server.Database.csproj | 2 +- Content.Server/Content.Server.csproj | 2 +- Content.Shared/Content.Shared.csproj | 2 +- Content.Tests/Content.Tests.csproj | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Content.Client/Content.Client.csproj b/Content.Client/Content.Client.csproj index 0e15fadfae3..956f2fd0351 100644 --- a/Content.Client/Content.Client.csproj +++ b/Content.Client/Content.Client.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Client\ diff --git a/Content.IntegrationTests/Content.IntegrationTests.csproj b/Content.IntegrationTests/Content.IntegrationTests.csproj index ec93a47041d..2e922d25093 100644 --- a/Content.IntegrationTests/Content.IntegrationTests.csproj +++ b/Content.IntegrationTests/Content.IntegrationTests.csproj @@ -5,7 +5,7 @@ ..\bin\Content.IntegrationTests\ false false - 11 + 12 diff --git a/Content.Replay/Content.Replay.csproj b/Content.Replay/Content.Replay.csproj index 4b3c85345cf..9785870143d 100644 --- a/Content.Replay/Content.Replay.csproj +++ b/Content.Replay/Content.Replay.csproj @@ -1,7 +1,7 @@ $(TargetFramework) - 10 + 12 false false ..\bin\Content.Replay\ diff --git a/Content.Server.Database/Content.Server.Database.csproj b/Content.Server.Database/Content.Server.Database.csproj index 31ab785c18e..d98d0642db0 100644 --- a/Content.Server.Database/Content.Server.Database.csproj +++ b/Content.Server.Database/Content.Server.Database.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Server.Database\ diff --git a/Content.Server/Content.Server.csproj b/Content.Server/Content.Server.csproj index 96d642e4f2f..e398773d54f 100644 --- a/Content.Server/Content.Server.csproj +++ b/Content.Server/Content.Server.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Server\ diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj index e90e1ea7237..9752bfcfe2d 100644 --- a/Content.Shared/Content.Shared.csproj +++ b/Content.Shared/Content.Shared.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false nullable diff --git a/Content.Tests/Content.Tests.csproj b/Content.Tests/Content.Tests.csproj index a883892d872..ff295728fca 100644 --- a/Content.Tests/Content.Tests.csproj +++ b/Content.Tests/Content.Tests.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Tests\ From 905bb83a2d81d23508a595a34aa06893f010c1dc Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Fri, 23 Feb 2024 05:04:44 +0100 Subject: [PATCH 077/345] Make department / job list sorting consistent. (#25486) * Make department / job list sorting consistent. This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments. We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest). Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways. * Fix jittery job icons in lists. They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset. Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.) Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE. Also gave a margin next to the icon on the crew manifest. Margins people! (cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17) --- .../CrewManifest/UI/CrewManifestListing.cs | 32 +++-------------- .../CrewManifest/UI/CrewManifestSection.cs | 14 ++++---- Content.Client/LateJoin/LateJoinGui.cs | 9 +++-- .../CrewMonitoringWindow.xaml.cs | 2 +- .../UI/HumanoidProfileEditor.xaml.cs | 15 +++----- .../CrewManifest/CrewManifestSystem.cs | 18 ++++++++-- .../Systems/StationRecordsSystem.cs | 2 +- Content.Shared/CCVar/CCVars.cs | 9 ----- .../CrewManifest/SharedCrewManifestSystem.cs | 3 +- Content.Shared/Roles/DepartmentPrototype.cs | 24 +++++++++++++ Content.Shared/Roles/JobPrototype.cs | 35 +++++++++++++++++++ 11 files changed, 103 insertions(+), 60 deletions(-) diff --git a/Content.Client/CrewManifest/UI/CrewManifestListing.cs b/Content.Client/CrewManifest/UI/CrewManifestListing.cs index 614add536e0..03d8b7168f1 100644 --- a/Content.Client/CrewManifest/UI/CrewManifestListing.cs +++ b/Content.Client/CrewManifest/UI/CrewManifestListing.cs @@ -1,18 +1,14 @@ -using Content.Shared.CCVar; -using Content.Shared.CrewManifest; +using Content.Shared.CrewManifest; using Content.Shared.Roles; using Robust.Client.GameObjects; using Robust.Client.UserInterface.Controls; -using Robust.Shared.Configuration; using Robust.Shared.Prototypes; using Robust.Shared.Utility; -using System.Linq; namespace Content.Client.CrewManifest.UI; public sealed class CrewManifestListing : BoxContainer { - [Dependency] private readonly IConfigurationManager _configManager = default!; [Dependency] private readonly IEntitySystemManager _entitySystem = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; private readonly SpriteSystem _spriteSystem; @@ -25,7 +21,7 @@ public CrewManifestListing() public void AddCrewManifestEntries(CrewManifestEntries entries) { - var entryDict = new Dictionary>(); + var entryDict = new Dictionary>(); foreach (var entry in entries.Entries) { @@ -34,37 +30,19 @@ public void AddCrewManifestEntries(CrewManifestEntries entries) // this is a little expensive, and could be better if (department.Roles.Contains(entry.JobPrototype)) { - entryDict.GetOrNew(department.ID).Add(entry); + entryDict.GetOrNew(department).Add(entry); } } } - var entryList = new List<(string section, List entries)>(); + var entryList = new List<(DepartmentPrototype section, List entries)>(); foreach (var (section, listing) in entryDict) { entryList.Add((section, listing)); } - var sortOrder = _configManager.GetCVar(CCVars.CrewManifestOrdering).Split(",").ToList(); - - entryList.Sort((a, b) => - { - var ai = sortOrder.IndexOf(a.section); - var bi = sortOrder.IndexOf(b.section); - - // this is up here so -1 == -1 occurs first - if (ai == bi) - return 0; - - if (ai == -1) - return -1; - - if (bi == -1) - return 1; - - return ai.CompareTo(bi); - }); + entryList.Sort((a, b) => DepartmentUIComparer.Instance.Compare(a.section, b.section)); foreach (var item in entryList) { diff --git a/Content.Client/CrewManifest/UI/CrewManifestSection.cs b/Content.Client/CrewManifest/UI/CrewManifestSection.cs index 9b51b5d4241..4b1b02cb755 100644 --- a/Content.Client/CrewManifest/UI/CrewManifestSection.cs +++ b/Content.Client/CrewManifest/UI/CrewManifestSection.cs @@ -4,24 +4,25 @@ using Robust.Client.UserInterface.Controls; using Robust.Shared.Prototypes; using System.Numerics; +using Content.Shared.Roles; namespace Content.Client.CrewManifest.UI; public sealed class CrewManifestSection : BoxContainer { - public CrewManifestSection(IPrototypeManager prototypeManager, SpriteSystem spriteSystem, string sectionTitle, + public CrewManifestSection( + IPrototypeManager prototypeManager, + SpriteSystem spriteSystem, + DepartmentPrototype section, List entries) { Orientation = LayoutOrientation.Vertical; HorizontalExpand = true; - if (Loc.TryGetString($"department-{sectionTitle}", out var localizedDepart)) - sectionTitle = localizedDepart; - AddChild(new Label() { StyleClasses = { "LabelBig" }, - Text = Loc.GetString(sectionTitle) + Text = Loc.GetString($"department-{section.ID}") }); var gridContainer = new GridContainer() @@ -55,8 +56,9 @@ public CrewManifestSection(IPrototypeManager prototypeManager, SpriteSystem spri var icon = new TextureRect() { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered, + VerticalAlignment = VAlignment.Center, Texture = spriteSystem.Frame0(jobIcon.Icon), + Margin = new Thickness(0, 0, 4, 0) }; titleContainer.AddChild(icon); diff --git a/Content.Client/LateJoin/LateJoinGui.cs b/Content.Client/LateJoin/LateJoinGui.cs index 3e7ca574763..b99d30015ef 100644 --- a/Content.Client/LateJoin/LateJoinGui.cs +++ b/Content.Client/LateJoin/LateJoinGui.cs @@ -1,3 +1,4 @@ +using System.Linq; using System.Numerics; using Content.Client.CrewManifest; using Content.Client.GameTicking.Managers; @@ -159,8 +160,10 @@ private void RebuildUI() }; var firstCategory = true; + var departments = _prototypeManager.EnumeratePrototypes().ToArray(); + Array.Sort(departments, DepartmentUIComparer.Instance); - foreach (var department in _prototypeManager.EnumeratePrototypes()) + foreach (var department in departments) { var departmentName = Loc.GetString($"department-{department.ID}"); _jobCategories[id] = new Dictionary(); @@ -176,7 +179,7 @@ private void RebuildUI() jobsAvailable.Add(_prototypeManager.Index(jobId)); } - jobsAvailable.Sort((x, y) => -string.Compare(x.LocalizedName, y.LocalizedName, StringComparison.CurrentCultureIgnoreCase)); + jobsAvailable.Sort(JobUIComparer.Instance); // Do not display departments with no jobs available. if (jobsAvailable.Count == 0) @@ -231,7 +234,7 @@ private void RebuildUI() var icon = new TextureRect { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered + VerticalAlignment = VAlignment.Center }; var jobIcon = _prototypeManager.Index(prototype.Icon); diff --git a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs index d8c87899db4..645243b0a3a 100644 --- a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs +++ b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs @@ -265,7 +265,7 @@ private void PopulateDepartmentList(IEnumerable departmentSens var jobIcon = new TextureRect() { TextureScale = new Vector2(2f, 2f), - Stretch = TextureRect.StretchMode.KeepCentered, + VerticalAlignment = VAlignment.Center, Texture = _spriteSystem.Frame0(proto.Icon), Margin = new Thickness(5, 0, 5, 0), }; diff --git a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs index 116a1dc2928..d8979f18142 100644 --- a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs @@ -539,10 +539,8 @@ private void UpdateRoleRequirements() _jobCategories.Clear(); var firstCategory = true; - var departments = _prototypeManager.EnumeratePrototypes() - .OrderByDescending(department => department.Weight) - .ThenBy(department => Loc.GetString($"department-{department.ID}")) - .ToList(); + var departments = _prototypeManager.EnumeratePrototypes().ToArray(); + Array.Sort(departments, DepartmentUIComparer.Instance); foreach (var department in departments) { @@ -588,11 +586,8 @@ private void UpdateRoleRequirements() _jobList.AddChild(category); } - var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)) - .Where(job => job.SetPreference) - .OrderByDescending(job => job.Weight) - .ThenBy(job => job.LocalizedName) - .ToList(); + var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)).ToArray(); + Array.Sort(jobs, JobUIComparer.Instance); foreach (var job in jobs) { @@ -1347,7 +1342,7 @@ public JobPrioritySelector(JobPrototype proto, IPrototypeManager protoMan) var icon = new TextureRect { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered + VerticalAlignment = VAlignment.Center }; var jobIcon = protoMan.Index(proto.Icon); icon.Texture = jobIcon.Icon.Frame0(); diff --git a/Content.Server/CrewManifest/CrewManifestSystem.cs b/Content.Server/CrewManifest/CrewManifestSystem.cs index 12b6984b5ae..8b4cbac5c15 100644 --- a/Content.Server/CrewManifest/CrewManifestSystem.cs +++ b/Content.Server/CrewManifest/CrewManifestSystem.cs @@ -9,10 +9,12 @@ using Content.Shared.CCVar; using Content.Shared.CrewManifest; using Content.Shared.GameTicking; +using Content.Shared.Roles; using Content.Shared.StationRecords; using Robust.Shared.Configuration; using Robust.Shared.Console; using Robust.Shared.Player; +using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Server.CrewManifest; @@ -23,6 +25,7 @@ public sealed class CrewManifestSystem : EntitySystem [Dependency] private readonly StationRecordsSystem _recordsSystem = default!; [Dependency] private readonly EuiManager _euiManager = default!; [Dependency] private readonly IConfigurationManager _configManager = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; ///

    [ByRefEvent] -public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target, Fixture Fixture); +public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target); diff --git a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs index 40925ad614c..6325d953300 100644 --- a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs @@ -19,7 +19,7 @@ public record struct ShotAttemptedEvent public bool Cancelled { get; private set; } - ///
    + /// /// Prevent the gun from shooting /// public void Cancel() @@ -27,7 +27,7 @@ public void Cancel() Cancelled = true; } - ///
    + /// /// Allow the gun to shoot again, only use if you know what you are doing /// public void Uncancel() diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 16db325df41..e92c496146b 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -22,6 +22,7 @@ using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; +using JetBrains.Annotations; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; @@ -145,7 +146,7 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) gun.ShootCoordinates = GetCoordinates(msg.Coordinates); Log.Debug($"Set shoot coordinates to {gun.ShootCoordinates}"); - AttemptShoot(user.Value, ent, gun); + AttemptShootInternal(user.Value, ent, gun); } private void OnStopShootRequest(RequestStopShootEvent ev, EntitySessionEventArgs args) @@ -209,13 +210,38 @@ private void StopShooting(EntityUid uid, GunComponent gun) Dirty(uid, gun); } + /// + /// Attempts to shoot the specified target directly. + /// This may bypass projectiles firing etc. + /// + public bool AttemptDirectShoot(EntityUid user, EntityUid gunUid, EntityUid target, GunComponent gun) + { + // Unique name so people don't think it's "shoot towards" and not "I will teleport a bullet into them". + gun.ShootCoordinates = Transform(target).Coordinates; + + if (!TryTakeAmmo(user, gunUid, gun, out _, out _, out var args)) + { + gun.ShootCoordinates = null; + return false; + } + + var result = ShootDirect(gunUid, gun, target, args.Ammo, user: user); + gun.ShootCoordinates = null; + return result; + } + + protected virtual bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) + { + return false; + } + /// /// Attempts to shoot at the target coordinates. Resets the shot counter after every shot. /// public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates) { gun.ShootCoordinates = toCoordinates; - AttemptShoot(user, gunUid, gun); + AttemptShootInternal(user, gunUid, gun); gun.ShotCounter = 0; } @@ -226,20 +252,35 @@ public void AttemptShoot(EntityUid gunUid, GunComponent gun) { var coordinates = new EntityCoordinates(gunUid, new Vector2(0, -1)); gun.ShootCoordinates = coordinates; - AttemptShoot(gunUid, gunUid, gun); + AttemptShootInternal(gunUid, gunUid, gun); gun.ShotCounter = 0; } - private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) + private void AttemptShootInternal(EntityUid user, EntityUid gunUid, GunComponent gun) { - if (gun.FireRateModified <= 0f || - !_actionBlockerSystem.CanAttack(user)) + if (!TryTakeAmmo(user, gunUid, gun, out var fromCoordinates, out var toCoordinates, out var args)) return; - var toCoordinates = gun.ShootCoordinates; + Shoot(gunUid, gun, args.Ammo, fromCoordinates, toCoordinates, out var userImpulse, user: user); - if (toCoordinates == null) - return; + if (userImpulse && TryComp(user, out var userPhysics)) + { + if (_gravity.IsWeightless(user, userPhysics)) + CauseImpulse(fromCoordinates, toCoordinates, user, userPhysics); + } + } + + /// + /// Validates if a gun can currently shoot. + /// + [Pure] + private bool CanShoot(EntityUid user, EntityUid gunUid, GunComponent gun) + { + if (gun.FireRateModified <= 0f || + !_actionBlockerSystem.CanAttack(user)) + { + return false; + } var curTime = Timing.CurTime; @@ -251,17 +292,42 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) }; RaiseLocalEvent(gunUid, ref prevention); if (prevention.Cancelled) - return; + return false; RaiseLocalEvent(user, ref prevention); if (prevention.Cancelled) - return; + return false; // Need to do this to play the clicking sound for empty automatic weapons // but not play anything for burst fire. if (gun.NextFire > curTime) - return; + return false; + + return true; + } + + /// + /// Tries to return ammo prepped for shooting if a gun is available to shoot. + /// + private bool TryTakeAmmo( + EntityUid user, + EntityUid gunUid, GunComponent gun, + out EntityCoordinates fromCoordinates, + out EntityCoordinates toCoordinates, + [NotNullWhen(true)] out TakeAmmoEvent? args) + { + toCoordinates = EntityCoordinates.Invalid; + fromCoordinates = EntityCoordinates.Invalid; + args = null; + + if (!CanShoot(user, gunUid, gun)) + return false; + if (gun.ShootCoordinates == null) + return false; + + toCoordinates = gun.ShootCoordinates.Value; + var curTime = Timing.CurTime; var fireRate = TimeSpan.FromSeconds(1f / gun.FireRateModified); // First shot @@ -309,10 +375,11 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) } gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); - return; + return false; } - var fromCoordinates = Transform(user).Coordinates; + fromCoordinates = Transform(user).Coordinates; + // Remove ammo var ev = new TakeAmmoEvent(shots, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, user); @@ -347,24 +414,18 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) // May cause prediction issues? Needs more tweaking gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - return; + return false; } - return; + return false; } // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). - Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); var shotEv = new GunShotEvent(user, ev.Ammo); RaiseLocalEvent(gunUid, ref shotEv); - if (userImpulse && TryComp(user, out var userPhysics)) - { - if (_gravity.IsWeightless(user, userPhysics)) - CauseImpulse(fromCoordinates, toCoordinates.Value, user, userPhysics); - } - - Dirty(gunUid, gun); + args = ev; + return true; } public void Shoot( diff --git a/Resources/Locale/en-US/execution/execution.ftl b/Resources/Locale/en-US/execution/execution.ftl index 8bdf3261666..5bd4613e8c3 100644 --- a/Resources/Locale/en-US/execution/execution.ftl +++ b/Resources/Locale/en-US/execution/execution.ftl @@ -14,17 +14,7 @@ execution-popup-gun-clumsy-internal = You miss {$victim}'s head and shoot your f execution-popup-gun-clumsy-external = {$attacker} misses {$victim} and shoots {POSS-ADJ($attacker)} foot instead! execution-popup-gun-empty = {CAPITALIZE(THE($weapon))} clicks. -suicide-popup-gun-initial-internal = You place the muzzle of {THE($weapon)} in your mouth. -suicide-popup-gun-initial-external = {$attacker} places the muzzle of {THE($weapon)} in {POSS-ADJ($attacker)} mouth. -suicide-popup-gun-complete-internal = You shoot yourself in the head! -suicide-popup-gun-complete-external = {$attacker} shoots {REFLEXIVE($attacker)} in the head! - execution-popup-melee-initial-internal = You ready {THE($weapon)} against {$victim}'s throat. execution-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against the throat of {$victim}. execution-popup-melee-complete-internal = You slit the throat of {$victim}! execution-popup-melee-complete-external = {$attacker} slits the throat of {$victim}! - -suicide-popup-melee-initial-internal = You ready {THE($weapon)} against your throat. -suicide-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against {POSS-ADJ($attacker)} throat. -suicide-popup-melee-complete-internal = You slit your throat with {THE($weapon)}! -suicide-popup-melee-complete-external = {$attacker} slits {POSS-ADJ($attacker)} throat with {THE($weapon)}! \ No newline at end of file diff --git a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl index ff28cc44db6..4a83cd455d7 100644 --- a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl @@ -1,4 +1,4 @@ -butcherable-different-tool = You are going to need a different tool to butcher { THE($target) }. +butcherable-different-tool = You need a different tool to butcher { THE($target) }. butcherable-knife-butchered-success = You butcher { THE($target) } with { THE($knife) }. butcherable-need-knife = Use a sharp object to butcher { THE($target) }. butcherable-not-in-container = { CAPITALIZE(THE($target)) } can't be in a container. diff --git a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml index 62468b46150..a86965f96f2 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml @@ -6,6 +6,8 @@ description: A small piece of crystal. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/crystal.rsi diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index fa57f90c18f..22d5cdefe45 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -5,6 +5,8 @@ description: It's a shard of some unknown material. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/shard.rsi diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index b7c73f5e0cc..98bc92968b2 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -5,6 +5,8 @@ description: In Space Glasgow this is called a conversation starter. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: MeleeWeapon attackRate: 1.5 damage: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml index 9d685e1ddc0..236ed206813 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml @@ -19,6 +19,7 @@ path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: StaticPrice price: 500 + - type: Execution # No chamber because HMG may want its own - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml index 49b2eeaada1..499a950e785 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml @@ -60,6 +60,7 @@ price: 500 - type: UseDelay delay: 1 + - type: Execution - type: entity name: L6 SAW diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 8b31bf40ed7..80de02c6dad 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -19,6 +19,7 @@ containers: ballistic-ammo: !type:Container ents: [] + - type: Execution - type: entity name: china lake diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 16cacb79dfa..6805f6f40d0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -65,6 +65,7 @@ - type: Appearance - type: StaticPrice price: 500 + - type: Execution - type: entity name: viper @@ -198,7 +199,7 @@ name: N1984 parent: BaseWeaponPistol id: WeaponPistolN1984 # the spaces in description are for formatting. - description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. + description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. components: - type: Sprite sprite: Objects/Weapons/Guns/Pistols/N1984.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 5bc8125ebaa..93e8b1a6690 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -49,6 +49,7 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 + - type: Execution - type: entity name: AKMS diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index b693bdba370..ea82be46bc6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -54,6 +54,7 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 + - type: Execution - type: entity name: Atreides diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index a8d9f539917..20117e26006 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -42,6 +42,7 @@ ents: [] - type: StaticPrice price: 500 + - type: Execution - type: entity name: Bulldog @@ -98,6 +99,7 @@ - type: Appearance - type: StaticPrice price: 500 + - type: Execution - type: entity name: double-barreled shotgun diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 753f109a174..6640e98f5f4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -36,6 +36,7 @@ ents: [] - type: StaticPrice price: 500 + - type: Execution - type: entity name: Kardashev-Mosin diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index cfcc0a01cd1..2a07fd4fe02 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -36,3 +36,4 @@ quickEquip: false slots: - Belt + - type: Execution diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index ae1f5df3c15..add776422db 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -107,6 +107,7 @@ containers: storagebase: !type:Container ents: [] + - type: Execution # shoots bullets instead of throwing them, no other changes - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml index 497876f3596..267e3a7891f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml @@ -5,6 +5,8 @@ description: A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/armblade.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index b46ee096336..aadb9942448 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -8,6 +8,8 @@ tags: - FireAxe - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/fireaxe.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 106e8bf4400..432da5efe95 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -7,6 +7,8 @@ tags: - Knife - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Utensil types: - Knife diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index b9d6de85944..2a59be371c9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -1,10 +1,21 @@ - type: entity - name: captain's sabre + name: Sword parent: BaseItem + id: BaseSword + description: A sharp sword. + abstract: true + components: + - type: Sharp + - type: Execution + doAfterDuration: 4.0 + - type: DisarmMalus + +- type: entity + name: captain's sabre + parent: BaseSword id: CaptainSabre description: A ceremonial weapon belonging to the captain of the station. components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/captain_sabre.rsi state: icon @@ -26,15 +37,13 @@ - type: Tag tags: - CaptainSabre - - type: DisarmMalus - type: entity name: katana - parent: BaseItem + parent: BaseSword id: Katana description: Ancient craftwork made with not so ancient plasteel. components: - - type: Sharp - type: Tag tags: - Katana @@ -51,7 +60,6 @@ - type: Item size: Normal sprite: DeltaV/Objects/Weapons/Melee/katana.rsi #DeltaV - - type: DisarmMalus - type: entity name: energy katana @@ -86,11 +94,10 @@ - type: entity name: machete - parent: BaseItem + parent: BaseSword id: Machete description: A large, vicious looking blade. components: - - type: Sharp - type: Tag tags: - Machete @@ -107,15 +114,13 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/machete.rsi - - type: DisarmMalus - type: entity name: claymore - parent: BaseItem + parent: BaseSword id: Claymore description: An ancient war blade. components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/claymore.rsi state: icon @@ -133,15 +138,13 @@ sprite: Objects/Weapons/Melee/claymore.rsi slots: - back - - type: DisarmMalus - type: entity name: cutlass - parent: BaseItem + parent: BaseSword id: Cutlass description: A wickedly curved blade, often seen in the hands of space pirates. components: - - type: Sharp - type: Tag tags: - Machete @@ -158,15 +161,13 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi - - type: DisarmMalus - type: entity name: The Throngler - parent: BaseItem + parent: BaseSword id: Throngler description: Why would you make this? components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/Throngler2.rsi state: icon @@ -190,4 +191,3 @@ - type: Item size: Ginormous sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi - - type: DisarmMalus From b1958e9ac6012356185192c77de571b16bbc9fde Mon Sep 17 00:00:00 2001 From: Debug <49997488+DebugOk@users.noreply.github.com> Date: Thu, 7 Mar 2024 00:51:07 +0100 Subject: [PATCH 100/345] Revert "Cleanup ExecutionSystem (#24382)" This reverts commit dc56c5992fb57126cfc8808a749df5f0e46b9e31. --- Content.Server/Execution/ExecutionSystem.cs | 400 ++++++++++++++++++ .../Projectiles/ProjectileSystem.cs | 28 +- .../Weapons/Ranged/Systems/GunSystem.cs | 149 +------ .../Execution/ExecutionComponent.cs | 26 -- Content.Shared/Execution/ExecutionSystem.cs | 244 ----------- .../Projectiles/SharedProjectileSystem.cs | 15 +- .../Ranged/Events/ShotAttemptedEvent.cs | 4 +- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 109 ++--- .../Locale/en-US/execution/execution.ftl | 10 + .../components/butcherable-component.ftl | 2 +- .../Objects/Materials/crystal_shard.yml | 2 - .../Entities/Objects/Materials/shards.yml | 2 - .../Entities/Objects/Misc/broken_bottle.yml | 2 - .../Objects/Weapons/Guns/HMGs/hmgs.yml | 1 - .../Objects/Weapons/Guns/LMGs/lmgs.yml | 1 - .../Weapons/Guns/Launchers/launchers.yml | 1 - .../Objects/Weapons/Guns/Pistols/pistols.yml | 3 +- .../Objects/Weapons/Guns/Rifles/rifles.yml | 1 - .../Objects/Weapons/Guns/SMGs/smgs.yml | 1 - .../Weapons/Guns/Shotguns/shotguns.yml | 2 - .../Objects/Weapons/Guns/Snipers/snipers.yml | 1 - .../Objects/Weapons/Guns/flare_gun.yml | 1 - .../Objects/Weapons/Guns/pneumatic_cannon.yml | 1 - .../Objects/Weapons/Melee/armblade.yml | 2 - .../Objects/Weapons/Melee/fireaxe.yml | 2 - .../Entities/Objects/Weapons/Melee/knife.yml | 2 - .../Entities/Objects/Weapons/Melee/sword.yml | 36 +- 27 files changed, 480 insertions(+), 568 deletions(-) create mode 100644 Content.Server/Execution/ExecutionSystem.cs delete mode 100644 Content.Shared/Execution/ExecutionComponent.cs delete mode 100644 Content.Shared/Execution/ExecutionSystem.cs diff --git a/Content.Server/Execution/ExecutionSystem.cs b/Content.Server/Execution/ExecutionSystem.cs new file mode 100644 index 00000000000..3b87fa17cad --- /dev/null +++ b/Content.Server/Execution/ExecutionSystem.cs @@ -0,0 +1,400 @@ +using Content.Server.Interaction; +using Content.Server.Kitchen.Components; +using Content.Server.Weapons.Ranged.Systems; +using Content.Shared.ActionBlocker; +using Content.Shared.Damage; +using Content.Shared.Database; +using Content.Shared.DoAfter; +using Content.Shared.Execution; +using Content.Shared.Interaction.Components; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Content.Shared.Projectiles; +using Content.Shared.Verbs; +using Content.Shared.Weapons.Melee; +using Content.Shared.Weapons.Ranged; +using Content.Shared.Weapons.Ranged.Components; +using Content.Shared.Weapons.Ranged.Events; +using Content.Shared.Weapons.Ranged.Systems; +using Robust.Shared.Audio; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; + +namespace Content.Server.Execution; + +/// +/// Verb for violently murdering cuffed creatures. +/// +public sealed class ExecutionSystem : EntitySystem +{ + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly MobStateSystem _mobStateSystem = default!; + [Dependency] private readonly InteractionSystem _interactionSystem = default!; + [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IComponentFactory _componentFactory = default!; + [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; + [Dependency] private readonly SharedAudioSystem _audioSystem = default!; + [Dependency] private readonly GunSystem _gunSystem = default!; + + private const float MeleeExecutionTimeModifier = 5.0f; + private const float GunExecutionTime = 6.0f; + private const float DamageModifier = 9.0f; + + /// + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnGetInteractionVerbsMelee); + SubscribeLocalEvent>(OnGetInteractionVerbsGun); + + SubscribeLocalEvent(OnDoafterMelee); + SubscribeLocalEvent(OnDoafterGun); + } + + private void OnGetInteractionVerbsMelee( + EntityUid uid, + SharpComponent component, + GetVerbsEvent args) + { + if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) + return; + + var attacker = args.User; + var weapon = args.Using!.Value; + var victim = args.Target; + + if (!CanExecuteWithMelee(weapon, victim, attacker)) + return; + + UtilityVerb verb = new() + { + Act = () => + { + TryStartMeleeExecutionDoafter(weapon, victim, attacker); + }, + Impact = LogImpact.High, + Text = Loc.GetString("execution-verb-name"), + Message = Loc.GetString("execution-verb-message"), + }; + + args.Verbs.Add(verb); + } + + private void OnGetInteractionVerbsGun( + EntityUid uid, + GunComponent component, + GetVerbsEvent args) + { + if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) + return; + + var attacker = args.User; + var weapon = args.Using!.Value; + var victim = args.Target; + + if (!CanExecuteWithGun(weapon, victim, attacker)) + return; + + UtilityVerb verb = new() + { + Act = () => + { + TryStartGunExecutionDoafter(weapon, victim, attacker); + }, + Impact = LogImpact.High, + Text = Loc.GetString("execution-verb-name"), + Message = Loc.GetString("execution-verb-message"), + }; + + args.Verbs.Add(verb); + } + + private bool CanExecuteWithAny(EntityUid weapon, EntityUid victim, EntityUid attacker) + { + // No point executing someone if they can't take damage + if (!TryComp(victim, out var damage)) + return false; + + // You can't execute something that cannot die + if (!TryComp(victim, out var mobState)) + return false; + + // You're not allowed to execute dead people (no fun allowed) + if (_mobStateSystem.IsDead(victim, mobState)) + return false; + + // You must be able to attack people to execute + if (!_actionBlockerSystem.CanAttack(attacker, victim)) + return false; + + // The victim must be incapacitated to be executed + if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) + return false; + + if (victim == attacker) + return false; // DeltaV - Fucking seriously? + + // All checks passed + return true; + } + + private bool CanExecuteWithMelee(EntityUid weapon, EntityUid victim, EntityUid user) + { + if (!CanExecuteWithAny(weapon, victim, user)) return false; + + // We must be able to actually hurt people with the weapon + if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) + return false; + + return true; + } + + private bool CanExecuteWithGun(EntityUid weapon, EntityUid victim, EntityUid user) + { + if (!CanExecuteWithAny(weapon, victim, user)) return false; + + // We must be able to actually fire the gun + if (!TryComp(weapon, out var gun) && _gunSystem.CanShoot(gun!)) + return false; + + return true; + } + + private void TryStartMeleeExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) + { + if (!CanExecuteWithMelee(weapon, victim, attacker)) + return; + + var executionTime = (1.0f / Comp(weapon).AttackRate) * MeleeExecutionTimeModifier; + + if (attacker == victim) + { + ShowExecutionPopup("suicide-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("suicide-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + else + { + ShowExecutionPopup("execution-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("execution-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + + var doAfter = + new DoAfterArgs(EntityManager, attacker, executionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) + { + BreakOnTargetMove = true, + BreakOnUserMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(doAfter); + } + + private void TryStartGunExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) + { + if (!CanExecuteWithGun(weapon, victim, attacker)) + return; + + if (attacker == victim) + { + ShowExecutionPopup("suicide-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("suicide-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + else + { + ShowExecutionPopup("execution-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("execution-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + + var doAfter = + new DoAfterArgs(EntityManager, attacker, GunExecutionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) + { + BreakOnTargetMove = true, + BreakOnUserMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(doAfter); + } + + private bool OnDoafterChecks(EntityUid uid, DoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) + return false; + + if (!CanExecuteWithAny(args.Used.Value, args.Target.Value, uid)) + return false; + + // All checks passed + return true; + } + + private void OnDoafterMelee(EntityUid uid, SharpComponent component, DoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) + return; + + var attacker = args.User; + var victim = args.Target!.Value; + var weapon = args.Used!.Value; + + if (!CanExecuteWithMelee(weapon, victim, attacker)) return; + + if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) + return; + + _damageableSystem.TryChangeDamage(victim, melee.Damage * DamageModifier, true); + _audioSystem.PlayEntity(melee.HitSound, Filter.Pvs(weapon), weapon, true, AudioParams.Default); + + if (attacker == victim) + { + ShowExecutionPopup("suicide-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("suicide-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + else + { + ShowExecutionPopup("execution-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("execution-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + } + } + + // TODO: This repeats a lot of the code of the serverside GunSystem, make it not do that + private void OnDoafterGun(EntityUid uid, GunComponent component, DoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) + return; + + var attacker = args.User; + var weapon = args.Used!.Value; + var victim = args.Target!.Value; + + if (!CanExecuteWithGun(weapon, victim, attacker)) return; + + // Check if any systems want to block our shot + var prevention = new ShotAttemptedEvent + { + User = attacker, + Used = weapon + }; + + RaiseLocalEvent(weapon, ref prevention); + if (prevention.Cancelled) + return; + + RaiseLocalEvent(attacker, ref prevention); + if (prevention.Cancelled) + return; + + // Not sure what this is for but gunsystem uses it so ehhh + var attemptEv = new AttemptShootEvent(attacker, null); + RaiseLocalEvent(weapon, ref attemptEv); + + if (attemptEv.Cancelled) + { + if (attemptEv.Message != null) + { + _popupSystem.PopupClient(attemptEv.Message, weapon, attacker); + return; + } + } + + // Take some ammunition for the shot (one bullet) + var fromCoordinates = Transform(attacker).Coordinates; + var ev = new TakeAmmoEvent(1, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, attacker); + RaiseLocalEvent(weapon, ev); + + // Check if there's any ammo left + if (ev.Ammo.Count <= 0) + { + _audioSystem.PlayEntity(component.SoundEmpty, Filter.Pvs(weapon), weapon, true, AudioParams.Default); + ShowExecutionPopup("execution-popup-gun-empty", Filter.Pvs(weapon), PopupType.Medium, attacker, victim, weapon); + return; + } + + // Information about the ammo like damage + DamageSpecifier damage = new DamageSpecifier(); + + // Get some information from IShootable + var ammoUid = ev.Ammo[0].Entity; + switch (ev.Ammo[0].Shootable) + { + case CartridgeAmmoComponent cartridge: + // Get the damage value + var prototype = _prototypeManager.Index(cartridge.Prototype); + prototype.TryGetComponent(out var projectileA, _componentFactory); // sloth forgive me + if (projectileA != null) + { + damage = projectileA.Damage * cartridge.Count; + } + + // Expend the cartridge + cartridge.Spent = true; + _appearanceSystem.SetData(ammoUid!.Value, AmmoVisuals.Spent, true); + Dirty(ammoUid.Value, cartridge); + + break; + + case AmmoComponent newAmmo: + TryComp(ammoUid, out var projectileB); + if (projectileB != null) + { + damage = projectileB.Damage; + } + Del(ammoUid); + break; + + case HitscanPrototype hitscan: + damage = hitscan.Damage!; + break; + + default: + throw new ArgumentOutOfRangeException(); + } + + // Clumsy people have a chance to shoot themselves + if (TryComp(attacker, out var clumsy) && component.ClumsyProof == false) + { + if (_interactionSystem.TryRollClumsy(attacker, 0.33333333f, clumsy)) + { + ShowExecutionPopup("execution-popup-gun-clumsy-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("execution-popup-gun-clumsy-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); + + // You shoot yourself with the gun (no damage multiplier) + _damageableSystem.TryChangeDamage(attacker, damage, origin: attacker); + _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, true, AudioParams.Default); + return; + } + } + + // Gun successfully fired, deal damage + _damageableSystem.TryChangeDamage(victim, damage * DamageModifier, true); + _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, false, AudioParams.Default); + + // Popups + if (attacker != victim) + { + ShowExecutionPopup("execution-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); + ShowExecutionPopup("execution-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); + } + else + { + ShowExecutionPopup("suicide-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.LargeCaution, attacker, victim, weapon); + ShowExecutionPopup("suicide-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); + } + } + + private void ShowExecutionPopup(string locString, Filter filter, PopupType type, + EntityUid attacker, EntityUid victim, EntityUid weapon) + { + _popupSystem.PopupEntity(Loc.GetString( + locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, filter, true, type); + } +} diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index 80c5f039d33..15ea5936e13 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -28,14 +28,10 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St { // This is so entities that shouldn't get a collision are ignored. if (args.OurFixtureId != ProjectileFixture || !args.OtherFixture.Hard - || component.DamagedEntity || component is - { Weapon: null, OnlyCollideWhenShot: true }) - { + || component.DamagedEntity || component is { Weapon: null, OnlyCollideWhenShot: true }) return; - } var target = args.OtherEntity; - // it's here so this check is only done once before possible hit var attemptEv = new ProjectileReflectAttemptEvent(uid, component, false); RaiseLocalEvent(target, ref attemptEv); @@ -45,26 +41,11 @@ private void OnStartCollide(EntityUid uid, ProjectileComponent component, ref St return; } - if (TryHandleProjectile(target, (uid, component))) - { - var direction = args.OurBody.LinearVelocity.Normalized(); - _sharedCameraRecoil.KickCamera(target, direction); - } - } - - /// - /// Tries to handle a projectile interacting with the target. - /// - /// True if the target isn't deleted. - public bool TryHandleProjectile(EntityUid target, Entity projectile) - { - var uid = projectile.Owner; - var component = projectile.Comp; - var ev = new ProjectileHitEvent(component.Damage, target, component.Shooter); RaiseLocalEvent(uid, ref ev); var otherName = ToPrettyString(target); + var direction = args.OurBody.LinearVelocity.Normalized(); var modifiedDamage = _damageableSystem.TryChangeDamage(target, ev.Damage, component.IgnoreResistances, origin: component.Shooter); var deleted = Deleted(target); @@ -83,11 +64,12 @@ public bool TryHandleProjectile(EntityUid target, Entity pr if (!deleted) { _guns.PlayImpactSound(target, modifiedDamage, component.SoundHit, component.ForceSound); + _sharedCameraRecoil.KickCamera(target, direction); } component.DamagedEntity = true; - var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target); + var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target, args.OtherFixture); RaiseLocalEvent(uid, ref afterProjectileHitEvent); if (component.DeleteOnCollide) @@ -97,7 +79,5 @@ public bool TryHandleProjectile(EntityUid target, Entity pr { RaiseNetworkEvent(new ImpactEffectEvent(component.ImpactEffect, GetNetCoordinates(xform.Coordinates)), Filter.Pvs(xform.Coordinates, entityMan: EntityManager)); } - - return !deleted; } } diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index fd3b6c5db33..b8f8f122111 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Cargo.Systems; using Content.Server.Interaction; using Content.Server.Power.EntitySystems; -using Content.Server.Projectiles; using Content.Server.Stunnable; using Content.Server.Weapons.Ranged.Components; using Content.Shared.Damage; @@ -30,13 +29,13 @@ namespace Content.Server.Weapons.Ranged.Systems; public sealed partial class GunSystem : SharedGunSystem { + [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IComponentFactory _factory = default!; [Dependency] private readonly BatterySystem _battery = default!; [Dependency] private readonly DamageExamineSystem _damageExamine = default!; [Dependency] private readonly InteractionSystem _interaction = default!; [Dependency] private readonly PricingSystem _pricing = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; - [Dependency] private readonly ProjectileSystem _projectile = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly StaminaSystem _stamina = default!; [Dependency] private readonly StunSystem _stun = default!; @@ -66,137 +65,6 @@ private void OnBallisticPrice(EntityUid uid, BallisticAmmoProviderComponent comp args.Price += price * component.UnspawnedCount; } - protected override bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) - { - var result = false; - - // TODO: This is dogshit. I just want to get executions slightly better. - // Ideally you'd pull out cartridge + ammo to separate handling functions and re-use it here, then hitscan you need to bypass entirely. - // You should also make shooting into a struct of args given how many there are now. - var fromCoordinates = Transform(gunUid).Coordinates; - var toCoordinates = Transform(target).Coordinates; - - var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); - var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); - var mapDirection = toMap - fromMap.Position; - var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); - - // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) - ? fromCoordinates.WithEntityId(gridUid, EntityManager) - : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); - - // I must be high because this was getting tripped even when true. - // DebugTools.Assert(direction != Vector2.Zero); - var shotProjectiles = new List(ammo.Count); - var cartridgeBullets = new List(); - - foreach (var (ent, shootable) in ammo) - { - switch (shootable) - { - // Cartridge shoots something else - case CartridgeAmmoComponent cartridge: - if (!cartridge.Spent) - { - for (var i = 0; i < cartridge.Count; i++) - { - var uid = Spawn(cartridge.Prototype, fromEnt); - cartridgeBullets.Add(uid); - } - - RaiseLocalEvent(ent!.Value, new AmmoShotEvent() - { - FiredProjectiles = cartridgeBullets, - }); - - shotProjectiles.AddRange(cartridgeBullets); - cartridgeBullets.Clear(); - SetCartridgeSpent(ent.Value, cartridge, true); - MuzzleFlash(gunUid, cartridge, user); - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - - if (cartridge.DeleteOnSpawn) - Del(ent.Value); - } - else - { - Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - } - - // Something like ballistic might want to leave it in the container still - if (!cartridge.DeleteOnSpawn && !Containers.IsEntityInContainer(ent!.Value)) - EjectCartridge(ent.Value, angle); - - result = true; - Dirty(ent!.Value, cartridge); - break; - // Ammo shoots itself - case AmmoComponent newAmmo: - result = true; - shotProjectiles.Add(ent!.Value); - MuzzleFlash(gunUid, newAmmo, user); - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - break; - case HitscanPrototype hitscan: - result = true; - var hitEntity = target; - if (hitscan.StaminaDamage > 0f) - _stamina.TakeStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user); - - var dmg = hitscan.Damage; - - var hitName = ToPrettyString(hitEntity); - if (dmg != null) - dmg = Damageable.TryChangeDamage(hitEntity, dmg, origin: user); - - // check null again, as TryChangeDamage returns modified damage values - if (dmg != null) - { - if (!Deleted(hitEntity)) - { - if (dmg.Any()) - { - _color.RaiseEffect(Color.Red, new List() { hitEntity }, Filter.Pvs(hitEntity, entityManager: EntityManager)); - } - - // TODO get fallback position for playing hit sound. - PlayImpactSound(hitEntity, dmg, hitscan.Sound, hitscan.ForceSound); - } - - Logs.Add(LogType.HitScanHit, - $"{ToPrettyString(user):user} hit {hitName:target} using hitscan and dealt {dmg.GetTotal():damage} damage"); - } - - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - foreach (var ammoUid in shotProjectiles) - { - // TODO: Handle this shit - if (!TryComp(ammoUid, out ProjectileComponent? projectileComponent)) - { - QueueDel(ammoUid); - continue; - } - - _projectile.TryHandleProjectile(target, (ammoUid, projectileComponent)); - // Even this deletion handling is mega sussy. - Del(ammoUid); - } - - RaiseLocalEvent(gunUid, new AmmoShotEvent() - { - FiredProjectiles = shotProjectiles, - }); - - return result; - } - public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false) { @@ -204,7 +72,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? // Try a clumsy roll // TODO: Who put this here - if (TryComp(user, out var clumsy) && !gun.ClumsyProof) + if (TryComp(user, out var clumsy) && gun.ClumsyProof == false) { for (var i = 0; i < ammo.Count; i++) { @@ -225,8 +93,6 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? } } - // As the above message wasn't obvious stop putting stuff here and use events - var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); var mapDirection = toMap - fromMap.Position; @@ -234,7 +100,7 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out var grid) ? fromCoordinates.WithEntityId(gridUid, EntityManager) : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); @@ -246,7 +112,6 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? // I must be high because this was getting tripped even when true. // DebugTools.Assert(direction != Vector2.Zero); var shotProjectiles = new List(ammo.Count); - var cartridgeBullets = new List(); foreach (var (ent, shootable) in ammo) { @@ -275,23 +140,21 @@ public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, angles[i].ToVec(), gunVelocity, gun, gunUid, user); - cartridgeBullets.Add(uid); + shotProjectiles.Add(uid); } } else { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, mapDirection, gunVelocity, gun, gunUid, user); - cartridgeBullets.Add(uid); + shotProjectiles.Add(uid); } RaiseLocalEvent(ent!.Value, new AmmoShotEvent() { - FiredProjectiles = cartridgeBullets, + FiredProjectiles = shotProjectiles, }); - shotProjectiles.AddRange(cartridgeBullets); - cartridgeBullets.Clear(); SetCartridgeSpent(ent.Value, cartridge, true); MuzzleFlash(gunUid, cartridge, user); Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); diff --git a/Content.Shared/Execution/ExecutionComponent.cs b/Content.Shared/Execution/ExecutionComponent.cs deleted file mode 100644 index f9c5111d63a..00000000000 --- a/Content.Shared/Execution/ExecutionComponent.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Execution; - -/// -/// Added to entities that can be used to execute another target. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ExecutionComponent : Component -{ - /// - /// How long the execution duration lasts. - /// - [DataField, AutoNetworkedField] - public float DoAfterDuration = 5f; - - [DataField, AutoNetworkedField] - public float DamageModifier = 9f; - - // Not networked because this is transient inside of a tick. - /// - /// True if it is currently executing for handlers. - /// - [DataField] - public bool Executing = true; -} diff --git a/Content.Shared/Execution/ExecutionSystem.cs b/Content.Shared/Execution/ExecutionSystem.cs deleted file mode 100644 index 2e361e093b8..00000000000 --- a/Content.Shared/Execution/ExecutionSystem.cs +++ /dev/null @@ -1,244 +0,0 @@ -using Content.Shared.Weapons.Ranged.Systems; -using Content.Shared.ActionBlocker; -using Content.Shared.CombatMode; -using Content.Shared.Damage; -using Content.Shared.Database; -using Content.Shared.DoAfter; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee; -using Content.Shared.Weapons.Melee.Events; -using Content.Shared.Weapons.Ranged.Components; -using Robust.Shared.Network; -using Robust.Shared.Player; - -namespace Content.Shared.Execution; - -/// -/// Verb for violently murdering cuffed creatures. -/// -public sealed class ExecutionSystem : EntitySystem -{ - [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; - [Dependency] private readonly SharedGunSystem _gunSystem = default!; - [Dependency] private readonly SharedCombatModeSystem _combatSystem = default!; - [Dependency] private readonly SharedMeleeWeaponSystem _meleeSystem = default!; - - // TODO: Still needs more cleaning up. - private const string DefaultInternalMeleeExecutionMessage = "execution-popup-melee-initial-internal"; - private const string DefaultExternalMeleeExecutionMessage = "execution-popup-melee-initial-external"; - private const string DefaultCompleteInternalMeleeExecutionMessage = "execution-popup-melee-complete-internal"; - private const string DefaultCompleteExternalMeleeExecutionMessage = "execution-popup-melee-complete-external"; - private const string DefaultInternalGunExecutionMessage = "execution-popup-gun-initial-internal"; - private const string DefaultExternalGunExecutionMessage = "execution-popup-gun-initial-external"; - private const string DefaultCompleteInternalGunExecutionMessage = "execution-popup-gun-complete-internal"; - private const string DefaultCompleteExternalGunExecutionMessage = "execution-popup-gun-complete-external"; - - /// - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetInteractionsVerbs); - SubscribeLocalEvent(OnExecutionDoAfter); - SubscribeLocalEvent(OnGetMeleeDamage); - } - - private void OnGetInteractionsVerbs(EntityUid uid, ExecutionComponent comp, GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using.Value; - var victim = args.Target; - - if (!CanExecuteWithAny(victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => TryStartExecutionDoAfter(weapon, victim, attacker, comp), - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private void TryStartExecutionDoAfter(EntityUid weapon, EntityUid victim, EntityUid attacker, ExecutionComponent comp) - { - if (!CanExecuteWithAny(victim, attacker)) - return; - - // TODO: This should just be on the weapons as a single execution message. - var defaultExecutionInternal = DefaultInternalMeleeExecutionMessage; - var defaultExecutionExternal = DefaultExternalMeleeExecutionMessage; - - if (HasComp(weapon)) - { - defaultExecutionExternal = DefaultInternalGunExecutionMessage; - defaultExecutionInternal = DefaultExternalGunExecutionMessage; - } - - var internalMsg = defaultExecutionInternal; - var externalMsg = defaultExecutionExternal; - ShowExecutionInternalPopup(internalMsg, attacker, victim, weapon); - ShowExecutionExternalPopup(externalMsg, attacker, victim, weapon); - - var doAfter = - new DoAfterArgs(EntityManager, attacker, comp.DoAfterDuration, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - - } - - private bool CanExecuteWithAny(EntityUid victim, EntityUid attacker) - { - // Use suicide. - if (victim == attacker) - return false; - - // No point executing someone if they can't take damage - if (!TryComp(victim, out _)) - return false; - - // You can't execute something that cannot die - if (!TryComp(victim, out var mobState)) - return false; - - // You're not allowed to execute dead people (no fun allowed) - if (_mobStateSystem.IsDead(victim, mobState)) - return false; - - // You must be able to attack people to execute - if (!_actionBlockerSystem.CanAttack(attacker, victim)) - return false; - - // The victim must be incapacitated to be executed - if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) - return false; - - if (victim == attacker) - return false; // DeltaV - Fucking seriously? - - // All checks passed - return true; - } - - private void OnExecutionDoAfter(EntityUid uid, ExecutionComponent component, ExecutionDoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var victim = args.Target.Value; - var weapon = args.Used.Value; - - if (!CanExecuteWithAny(victim, attacker)) - return; - - // This is needed so the melee system does not stop it. - var prev = _combatSystem.IsInCombatMode(attacker); - _combatSystem.SetInCombatMode(attacker, true); - component.Executing = true; - string? internalMsg = null; - string? externalMsg = null; - - if (TryComp(uid, out MeleeWeaponComponent? melee)) - { - _meleeSystem.AttemptLightAttack(attacker, weapon, melee, victim); - internalMsg = DefaultCompleteInternalMeleeExecutionMessage; - externalMsg = DefaultCompleteExternalMeleeExecutionMessage; - } - else if (TryComp(uid, out GunComponent? gun)) - { - var clumsyShot = false; - - // TODO: This should just be an event or something instead to get this. - // TODO: Handle clumsy. - if (!_gunSystem.AttemptDirectShoot(args.User, uid, args.Target.Value, gun)) - { - internalMsg = null; - externalMsg = null; - } - else - { - internalMsg = DefaultCompleteInternalGunExecutionMessage; - externalMsg = DefaultCompleteExternalGunExecutionMessage; - } - args.Handled = true; - } - - _combatSystem.SetInCombatMode(attacker, prev); - component.Executing = false; - args.Handled = true; - - if (internalMsg != null && externalMsg != null) - { - ShowExecutionInternalPopup(internalMsg, attacker, victim, uid); - ShowExecutionExternalPopup(externalMsg, attacker, victim, uid); - } - } - - private void OnGetMeleeDamage(EntityUid uid, ExecutionComponent comp, ref GetMeleeDamageEvent args) - { - if (!TryComp(uid, out var melee) || - !TryComp(uid, out var execComp) || - !execComp.Executing) - { - return; - } - - var bonus = melee.Damage * execComp.DamageModifier - melee.Damage; - args.Damage += bonus; - } - - private void ShowExecutionInternalPopup(string locString, - EntityUid attacker, EntityUid victim, EntityUid weapon, bool predict = true) - { - if (predict) - { - _popupSystem.PopupClient( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - attacker, - PopupType.Medium - ); - } - else - { - _popupSystem.PopupEntity( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - Filter.Entities(attacker), - true, - PopupType.Medium - ); - } - - } - - private void ShowExecutionExternalPopup(string locString, EntityUid attacker, EntityUid victim, EntityUid weapon) - { - _popupSystem.PopupEntity( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - Filter.PvsExcept(attacker), - true, - PopupType.MediumCaution - ); - } -} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index 027dc039398..f57e8736539 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -34,6 +34,7 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(PreventCollision); + SubscribeLocalEvent(AfterProjectileHit); SubscribeLocalEvent(OnEmbedProjectileHit); SubscribeLocalEvent(OnEmbedThrowDoHit); SubscribeLocalEvent(OnEmbedActivate); @@ -162,6 +163,18 @@ private void OnAttemptPacifiedThrow(Entity ent, r { args.Cancel("pacified-cannot-throw-embed"); } + + /// + /// Checks if the projectile is allowed to penetrate the target it hit. + /// + private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) + { + //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. + //This is to prevent having to set DeleteOnCollide to false on every prototype + //you want to give the ability to penetrate entities. + if(component.DeleteOnCollide) + component.DeleteOnCollide = false; + } } [Serializable, NetSerializable] @@ -193,4 +206,4 @@ public record struct ProjectileHitEvent(DamageSpecifier Damage, EntityUid Target /// Raised after a projectile has dealt it's damage. ///
    [ByRefEvent] -public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target); +public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target, Fixture Fixture); diff --git a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs index 6325d953300..40925ad614c 100644 --- a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs @@ -19,7 +19,7 @@ public record struct ShotAttemptedEvent public bool Cancelled { get; private set; } - /// + /// /// Prevent the gun from shooting ///
    public void Cancel() @@ -27,7 +27,7 @@ public void Cancel() Cancelled = true; } - /// + /// /// Allow the gun to shoot again, only use if you know what you are doing ///
    public void Uncancel() diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index e92c496146b..16db325df41 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -22,7 +22,6 @@ using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; -using JetBrains.Annotations; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; @@ -146,7 +145,7 @@ private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) gun.ShootCoordinates = GetCoordinates(msg.Coordinates); Log.Debug($"Set shoot coordinates to {gun.ShootCoordinates}"); - AttemptShootInternal(user.Value, ent, gun); + AttemptShoot(user.Value, ent, gun); } private void OnStopShootRequest(RequestStopShootEvent ev, EntitySessionEventArgs args) @@ -210,38 +209,13 @@ private void StopShooting(EntityUid uid, GunComponent gun) Dirty(uid, gun); } - /// - /// Attempts to shoot the specified target directly. - /// This may bypass projectiles firing etc. - /// - public bool AttemptDirectShoot(EntityUid user, EntityUid gunUid, EntityUid target, GunComponent gun) - { - // Unique name so people don't think it's "shoot towards" and not "I will teleport a bullet into them". - gun.ShootCoordinates = Transform(target).Coordinates; - - if (!TryTakeAmmo(user, gunUid, gun, out _, out _, out var args)) - { - gun.ShootCoordinates = null; - return false; - } - - var result = ShootDirect(gunUid, gun, target, args.Ammo, user: user); - gun.ShootCoordinates = null; - return result; - } - - protected virtual bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) - { - return false; - } - /// /// Attempts to shoot at the target coordinates. Resets the shot counter after every shot. /// public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates) { gun.ShootCoordinates = toCoordinates; - AttemptShootInternal(user, gunUid, gun); + AttemptShoot(user, gunUid, gun); gun.ShotCounter = 0; } @@ -252,35 +226,20 @@ public void AttemptShoot(EntityUid gunUid, GunComponent gun) { var coordinates = new EntityCoordinates(gunUid, new Vector2(0, -1)); gun.ShootCoordinates = coordinates; - AttemptShootInternal(gunUid, gunUid, gun); + AttemptShoot(gunUid, gunUid, gun); gun.ShotCounter = 0; } - private void AttemptShootInternal(EntityUid user, EntityUid gunUid, GunComponent gun) + private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { - if (!TryTakeAmmo(user, gunUid, gun, out var fromCoordinates, out var toCoordinates, out var args)) + if (gun.FireRateModified <= 0f || + !_actionBlockerSystem.CanAttack(user)) return; - Shoot(gunUid, gun, args.Ammo, fromCoordinates, toCoordinates, out var userImpulse, user: user); - - if (userImpulse && TryComp(user, out var userPhysics)) - { - if (_gravity.IsWeightless(user, userPhysics)) - CauseImpulse(fromCoordinates, toCoordinates, user, userPhysics); - } - } + var toCoordinates = gun.ShootCoordinates; - /// - /// Validates if a gun can currently shoot. - /// - [Pure] - private bool CanShoot(EntityUid user, EntityUid gunUid, GunComponent gun) - { - if (gun.FireRateModified <= 0f || - !_actionBlockerSystem.CanAttack(user)) - { - return false; - } + if (toCoordinates == null) + return; var curTime = Timing.CurTime; @@ -292,42 +251,17 @@ private bool CanShoot(EntityUid user, EntityUid gunUid, GunComponent gun) }; RaiseLocalEvent(gunUid, ref prevention); if (prevention.Cancelled) - return false; + return; RaiseLocalEvent(user, ref prevention); if (prevention.Cancelled) - return false; + return; // Need to do this to play the clicking sound for empty automatic weapons // but not play anything for burst fire. if (gun.NextFire > curTime) - return false; - - return true; - } - - /// - /// Tries to return ammo prepped for shooting if a gun is available to shoot. - /// - private bool TryTakeAmmo( - EntityUid user, - EntityUid gunUid, GunComponent gun, - out EntityCoordinates fromCoordinates, - out EntityCoordinates toCoordinates, - [NotNullWhen(true)] out TakeAmmoEvent? args) - { - toCoordinates = EntityCoordinates.Invalid; - fromCoordinates = EntityCoordinates.Invalid; - args = null; - - if (!CanShoot(user, gunUid, gun)) - return false; - - if (gun.ShootCoordinates == null) - return false; + return; - toCoordinates = gun.ShootCoordinates.Value; - var curTime = Timing.CurTime; var fireRate = TimeSpan.FromSeconds(1f / gun.FireRateModified); // First shot @@ -375,11 +309,10 @@ private bool TryTakeAmmo( } gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); - return false; + return; } - fromCoordinates = Transform(user).Coordinates; - + var fromCoordinates = Transform(user).Coordinates; // Remove ammo var ev = new TakeAmmoEvent(shots, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, user); @@ -414,18 +347,24 @@ private bool TryTakeAmmo( // May cause prediction issues? Needs more tweaking gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - return false; + return; } - return false; + return; } // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). + Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); var shotEv = new GunShotEvent(user, ev.Ammo); RaiseLocalEvent(gunUid, ref shotEv); - args = ev; - return true; + if (userImpulse && TryComp(user, out var userPhysics)) + { + if (_gravity.IsWeightless(user, userPhysics)) + CauseImpulse(fromCoordinates, toCoordinates.Value, user, userPhysics); + } + + Dirty(gunUid, gun); } public void Shoot( diff --git a/Resources/Locale/en-US/execution/execution.ftl b/Resources/Locale/en-US/execution/execution.ftl index 5bd4613e8c3..8bdf3261666 100644 --- a/Resources/Locale/en-US/execution/execution.ftl +++ b/Resources/Locale/en-US/execution/execution.ftl @@ -14,7 +14,17 @@ execution-popup-gun-clumsy-internal = You miss {$victim}'s head and shoot your f execution-popup-gun-clumsy-external = {$attacker} misses {$victim} and shoots {POSS-ADJ($attacker)} foot instead! execution-popup-gun-empty = {CAPITALIZE(THE($weapon))} clicks. +suicide-popup-gun-initial-internal = You place the muzzle of {THE($weapon)} in your mouth. +suicide-popup-gun-initial-external = {$attacker} places the muzzle of {THE($weapon)} in {POSS-ADJ($attacker)} mouth. +suicide-popup-gun-complete-internal = You shoot yourself in the head! +suicide-popup-gun-complete-external = {$attacker} shoots {REFLEXIVE($attacker)} in the head! + execution-popup-melee-initial-internal = You ready {THE($weapon)} against {$victim}'s throat. execution-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against the throat of {$victim}. execution-popup-melee-complete-internal = You slit the throat of {$victim}! execution-popup-melee-complete-external = {$attacker} slits the throat of {$victim}! + +suicide-popup-melee-initial-internal = You ready {THE($weapon)} against your throat. +suicide-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against {POSS-ADJ($attacker)} throat. +suicide-popup-melee-complete-internal = You slit your throat with {THE($weapon)}! +suicide-popup-melee-complete-external = {$attacker} slits {POSS-ADJ($attacker)} throat with {THE($weapon)}! \ No newline at end of file diff --git a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl index 4a83cd455d7..ff28cc44db6 100644 --- a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl @@ -1,4 +1,4 @@ -butcherable-different-tool = You need a different tool to butcher { THE($target) }. +butcherable-different-tool = You are going to need a different tool to butcher { THE($target) }. butcherable-knife-butchered-success = You butcher { THE($target) } with { THE($knife) }. butcherable-need-knife = Use a sharp object to butcher { THE($target) }. butcherable-not-in-container = { CAPITALIZE(THE($target)) } can't be in a container. diff --git a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml index a86965f96f2..62468b46150 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml @@ -6,8 +6,6 @@ description: A small piece of crystal. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/crystal.rsi diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index 22d5cdefe45..fa57f90c18f 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -5,8 +5,6 @@ description: It's a shard of some unknown material. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/shard.rsi diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index 98bc92968b2..b7c73f5e0cc 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -5,8 +5,6 @@ description: In Space Glasgow this is called a conversation starter. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: MeleeWeapon attackRate: 1.5 damage: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml index 236ed206813..9d685e1ddc0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml @@ -19,7 +19,6 @@ path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: StaticPrice price: 500 - - type: Execution # No chamber because HMG may want its own - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml index 499a950e785..49b2eeaada1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml @@ -60,7 +60,6 @@ price: 500 - type: UseDelay delay: 1 - - type: Execution - type: entity name: L6 SAW diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 80de02c6dad..8b31bf40ed7 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -19,7 +19,6 @@ containers: ballistic-ammo: !type:Container ents: [] - - type: Execution - type: entity name: china lake diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 6805f6f40d0..16cacb79dfa 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -65,7 +65,6 @@ - type: Appearance - type: StaticPrice price: 500 - - type: Execution - type: entity name: viper @@ -199,7 +198,7 @@ name: N1984 parent: BaseWeaponPistol id: WeaponPistolN1984 # the spaces in description are for formatting. - description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. + description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. components: - type: Sprite sprite: Objects/Weapons/Guns/Pistols/N1984.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 93e8b1a6690..5bc8125ebaa 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -49,7 +49,6 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 - - type: Execution - type: entity name: AKMS diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index ea82be46bc6..b693bdba370 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -54,7 +54,6 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 - - type: Execution - type: entity name: Atreides diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index 20117e26006..a8d9f539917 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -42,7 +42,6 @@ ents: [] - type: StaticPrice price: 500 - - type: Execution - type: entity name: Bulldog @@ -99,7 +98,6 @@ - type: Appearance - type: StaticPrice price: 500 - - type: Execution - type: entity name: double-barreled shotgun diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 6640e98f5f4..753f109a174 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -36,7 +36,6 @@ ents: [] - type: StaticPrice price: 500 - - type: Execution - type: entity name: Kardashev-Mosin diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index 2a07fd4fe02..cfcc0a01cd1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -36,4 +36,3 @@ quickEquip: false slots: - Belt - - type: Execution diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index add776422db..ae1f5df3c15 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -107,7 +107,6 @@ containers: storagebase: !type:Container ents: [] - - type: Execution # shoots bullets instead of throwing them, no other changes - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml index 267e3a7891f..497876f3596 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml @@ -5,8 +5,6 @@ description: A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/armblade.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index aadb9942448..b46ee096336 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -8,8 +8,6 @@ tags: - FireAxe - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/fireaxe.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 432da5efe95..106e8bf4400 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -7,8 +7,6 @@ tags: - Knife - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Utensil types: - Knife diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index 2a59be371c9..b9d6de85944 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -1,21 +1,10 @@ -- type: entity - name: Sword - parent: BaseItem - id: BaseSword - description: A sharp sword. - abstract: true - components: - - type: Sharp - - type: Execution - doAfterDuration: 4.0 - - type: DisarmMalus - - type: entity name: captain's sabre - parent: BaseSword + parent: BaseItem id: CaptainSabre description: A ceremonial weapon belonging to the captain of the station. components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/captain_sabre.rsi state: icon @@ -37,13 +26,15 @@ - type: Tag tags: - CaptainSabre + - type: DisarmMalus - type: entity name: katana - parent: BaseSword + parent: BaseItem id: Katana description: Ancient craftwork made with not so ancient plasteel. components: + - type: Sharp - type: Tag tags: - Katana @@ -60,6 +51,7 @@ - type: Item size: Normal sprite: DeltaV/Objects/Weapons/Melee/katana.rsi #DeltaV + - type: DisarmMalus - type: entity name: energy katana @@ -94,10 +86,11 @@ - type: entity name: machete - parent: BaseSword + parent: BaseItem id: Machete description: A large, vicious looking blade. components: + - type: Sharp - type: Tag tags: - Machete @@ -114,13 +107,15 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/machete.rsi + - type: DisarmMalus - type: entity name: claymore - parent: BaseSword + parent: BaseItem id: Claymore description: An ancient war blade. components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/claymore.rsi state: icon @@ -138,13 +133,15 @@ sprite: Objects/Weapons/Melee/claymore.rsi slots: - back + - type: DisarmMalus - type: entity name: cutlass - parent: BaseSword + parent: BaseItem id: Cutlass description: A wickedly curved blade, often seen in the hands of space pirates. components: + - type: Sharp - type: Tag tags: - Machete @@ -161,13 +158,15 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi + - type: DisarmMalus - type: entity name: The Throngler - parent: BaseSword + parent: BaseItem id: Throngler description: Why would you make this? components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/Throngler2.rsi state: icon @@ -191,3 +190,4 @@ - type: Item size: Ginormous sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi + - type: DisarmMalus From 4cc4de3367c6029d523142b1747e0e80761c4fad Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 11:37:23 +0000 Subject: [PATCH 101/345] Automatic changelog update (cherry picked from commit 51acebd2322f0952fa5a6fdb2e6c391fa83fdb83) --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6de5e697f96..53e9ca0f8c0 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Welders can be refilled directly from wall fuel dispensers - type: Tweak - id: 5517 - time: '2024-01-02T21:11:10.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23376 - author: Admiral-Obvious-001 changes: - message: Added a few words to body bag descriptor so you know they stop rot. @@ -3851,3 +3844,10 @@ id: 6016 time: '2024-02-25T07:36:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25518 +- author: metalgearsloth + changes: + - message: Remove executions pending code rewrite. + type: Remove + id: 6017 + time: '2024-02-25T11:36:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25555 From a8d9ddd53e0e7fdad9d4b3988e336a747900bb5d Mon Sep 17 00:00:00 2001 From: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com> Date: Sun, 25 Feb 2024 08:08:14 -0500 Subject: [PATCH 102/345] Fix candy bowls (#25514) * Before SharedItemSystem * Fixes mispredict, removed unused * Fix physics (cherry picked from commit 902198d7e0c85f62ac91a0ff2cd275c0e7e77d56) --- Content.Shared/Storage/EntitySystems/BinSystem.cs | 11 +++-------- .../Prototypes/Entities/Objects/Misc/candy_bowl.yml | 6 ++++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Content.Shared/Storage/EntitySystems/BinSystem.cs b/Content.Shared/Storage/EntitySystems/BinSystem.cs index afb1e528811..17c3eb4288c 100644 --- a/Content.Shared/Storage/EntitySystems/BinSystem.cs +++ b/Content.Shared/Storage/EntitySystems/BinSystem.cs @@ -4,12 +4,11 @@ using Content.Shared.Examine; using Content.Shared.Hands.EntitySystems; using Content.Shared.Interaction; +using Content.Shared.Item; using Content.Shared.Storage.Components; using Content.Shared.Verbs; using Robust.Shared.Containers; -using Robust.Shared.Map; using Robust.Shared.Network; -using Robust.Shared.Timing; namespace Content.Shared.Storage.EntitySystems; @@ -18,7 +17,6 @@ namespace Content.Shared.Storage.EntitySystems; ///

    5$*|9hZF{--t$dUrxJ7szKPdx=5V?Sm;oiL!G65kjd zYXN|>n|nU}{)LyZMalE+F0;R$0|XGW(%VH%9yV)V2K<&toOozdhC6X)dIu^_;%8YXup3fk8#^IC28&m?6ru>hZC z0q7C(g8d6D?DCTV>Pw>P+lOxtKgpmBi6?1YFS(tEgm9E>gS*vrFf{C3@-$|zxB1Tg++4 z<94^ra^i7GL?G2c;VJHpNjNpTgd55iz)NIhnw*>ak*cE0K0#7sPn7^2e2<*hEz(9o zyfLDX6cQ@`GNTesYq#;yLb_D;GrK@vD6~ud4tuQe@ZPvo?#1Q$W?XJ75*!DddxmS_ zVJ&?cQA;g!nVX4K2dB)gScez``)@O#!(TiwGoczQfb~Br$5%f3Jv#a1C>vT#-njl# z!iq<8qfg$QB?cQ@I^oXM&XZxnSvd;pFa%m)pI*P=EfIn!Wgh(AdO<^++}m_6Ql#rN z|AnGp)2JwSu0cCoe&f9w=yN98=4{xo218tmsF6zutB^7BEiU z;~qfBQ~%m>{B4OYyIcf_2{4^)F;0cA89hGA6U_xqB`hnTOw76_FwCVvoMVopdr%{8 z<6>YUVz!)^TTr`NSI*uO*%NveMK?jo|M9OJ+I4XA>|!Ugiy{c*K^%$hk#J_|G6(=7 z4}5tvSV)S>8YWt7UGpw0-k@_D--S-U0D|-Ut62Bar8x2wj|%`;rv&8KO}7;*{=p)5 zbrsW*EGaGI6JhkH68aoPyQ z5TL4`X226o2)7Aq16Sv2hr!}qO#veO2CYL&Fh>LY5<&PH(uSNXcrgsHxRB%v1%K!0 z07v;Z-5 u@NUAUuSOp`(gT1!eK4Kc+j&?3CaBNf2#^WA#hrH<7viEA?4-w7C!w7S?@0&tU9+2Yb zc`5>MH0v3tTga^hSg5v+h50L*?a)w8SeG8buAu#gC8tK4k=(YMx96e*Ine9x#y3dn z07Z|6?2*u$h-FnH+lBPajKh80-r{Q>H0yNc(%)vfLW>Z8XeN3K@qvan4dQ7J_u~(q ze5QZy9d-m|5-UcbgL@8&kDvMcd6wfjd;WC&B%|E1*iaV*IwKUOncKnNNUYjBetnoN z-=yj2uY?Hi%!(hCI48epB3j(tbJ7d@6_mQWf~9WOy43c?|5jXh4as47@JY9RKPg=y z>O0A`fF`RnH_^CT{O7t%bQy}y6RQpyc##h8Nwk$}4jOt38_~(EO~kWM0g=4f*)I(sWne!+DW$VYiUe7RPO~?nW%Z2)!e1j zr74YDFD>c+h+G#Aqz3;ydUm1Zf2!{MJPtq7aFxdaslczco4!S!o_IZYa{5o&j(+oM z%gVfo*LP3X&IiZ&xGt{IK6>vYk&+Y1urZJ#6Xp25R zFHs~6prHP0F>wq$(zSI>fG8)=YOh+M8Iski5WP5#G_JFzf|R? z{9j}yC3*muK5(H?CWX0iAu7sj#4iXxeP{K2+3<4LYy7c>nGw7e%!duL3mt4X8l^4X zrHwbayZp_D5B`t3UP5{`8Fm}iS>@k-961{s^v$|qu^8<1U z5KyoYLJOfI(nN&NLMQ@)A~t#x#RAxsVnI-`q1fQ&`+MIz_snGS@0qja?6daT&+~bj z4|D9V8so(0LAwVXeco{B?HrB0y^s1dx$3f`!sSr6;X3IWQS*yt@c;9q5!K)=83MY!lM@~f3TO8L+UiVVag@H4!N7-i6ARZ!dR(p`fj^R7AY4Ym z5pEO{CfZ(v3I*zOUMh`JyyQ?i3Au!UrM3Gy^uyIc?qkcjK1+KQ7xlhN$Wno?AJ3 zIs!W-ub_;I+$`=C*GaOjh5#xkV3l74`65Ung-3Izd1 zjS^W32SU$BmE)x8?j;HZcetJO5^CBFT$K=49QcJwprq^E}4`atRWJLJ%9YPIBHa;s-EYY&p4{owh>;1`wnS z*&wZMM=GHxRPT7oWgK2x1IrmU@&x(1NKcr^y0)W=6pG*M&niHbh`MJr{Zsp-xcvh4 z!kEF(`{0`UES02<-Qj(xaj=9`T~>vIR}%(5PR61W-lNpyqjN0V>woTQ*paIOn;F-E zXCLggH{et|7!^XB+vC}cX)jZyV6b5sNtfY;jztIn{Tv7sH|4fqL|LHcev0xwrifC8K16YgF7tb*skWqCj=mteQs# zNFsA6drPs*u8h*sQcnH_83_WOf>P&X6pn?%WQG! zqkjJO87(b2@dgDHoyOT}CthvY-}ComPS}_zAL07WwUgGxgQysBY(_<2C&!{sE2R#K z(o2K3bizTmfwaZ4`zxtkbF`)f5WH^=z)|+I3=kMsf>e}|wMx-)`0k6Sy}@4n z5ZVe|g&&nhq1d((xmxDKSRM2JQQvm9aCi8Gc!sQe@?K_-h13X?CE^z zNpuMO+k-ZBzv2r$zmoo%|GW~sWIJ(}mA*Sp1XtuJzY{a9!guT4%6q~u+nT@m{{0QG zgkAl%^_!=++yztRdc4*GUtNd1EUP;%wMP27v-UZ&?zs3Dh=$Fb$G}1>ohv#nyaREZ ziRcGJ$D`O}po^|$VEbdPzy4Z1y|?{8?-NOFi8MTpEw3&ZCpi>nW@gst;xYcNF3#9R zpEj95%{haUClC1j2~YuWIAkV(LvG95npX4nJi486M8O3CdedGkgQDs~q+ukVsBwup zDUj3^(C@N+93NHPu`>uS$JG{b5dQHNk;mZ;uk=a|x7+PM{A; z0Ce~qS}dO{6xt7^$6_fMnwOVXBY`k`l+qN8LxgjrkJ5Aq4z}mHtUeiyF;=&xr4qTV ztPN4f@M=^_r8SEm%%MelAxCP2JkbP7kBATm2^=vGdjkT-Ux%X=<=G8dVGMiepo2&1 z?t5%?-(Ik_7;`W8Nl~!7+{I*uvFTQ%$J?ThR-L|8^A_Er0 zq{>4v2-hE>cN|`G>N6qLX#`d)i@sNTw)OX%)*Xc#bT|cMsFeZOE~874qCmAyy0%ko zcsd6r7E73G-}&@>&tw^Ck}~Atxr0W5G~1vCYNTW~PQ>t(KV^>p#s ziVVukuz<_0$2{)*aYo>4@RDhO?n4c^4RJhk5k(+*_sMoaTlLe5*r~^$m>~O>h3_%N ztaJ=ghP0hn@K9VackDa%K3b>AUQoNNy4b9RW3lzB;G?{Xat4GB;o)40@aBcv0I3lo`FroJ zmK-fGwng>lNn6N)Tm4h}#b_f&a~Z6dV=KC{hA7cGDuQSoMr91fX!X4jag$iuFylHL z+>m=Uf!`Y_ z^$JeryQA|1Y)LPOzWsil2cyFQ2BWT!m8C-hn57NX<{Gpb%f4ZfbsdjPWSD3;v)Eq4 zmvS6Vo!}YP8DumNi^|dg$cTM#;{G~e3*1(BPF+Exl`nzqUasqs_RCse=n%a>>oQwB zO?A0)-NG6Pu1ch1{W3*Fxamm63C*Rjv@=m19Jxlh(q)FdgRGkGsM-iMR*z3$-XeRQ z_h!&+T@Kn03t6c#^-S4Urrm3#%vUXQbLp`mCtiLuy!s^V5$4PNyq3hwlPF+uwG{ZT zUH!i#&8PosWdRM5JV!Y|+Dr)jSG$dLQ zij7Nq1C4&%j;v@5>6@q$Xd90or(n{#y*28twzQr}fi7rlqpT1pD4oBsjS!U$z0XlS z@*t!Ke zd(Q1jhB6_DZ%$ilSM82yjfs#x;x1ZRri(F2;J@-Bt~krJm}qk7F^YmXkfNwNcA>cG4WV!#6{zh!|4S~U02^rYELMECq=P@R z1FIt~;=HKw5qypS!jThBgkTVw1Wr{yf6>VXkiluv#Q*~(hvfC{z*Tw?N3;$L*cxYo zZTy6^1Y$6?lql^bm)gzcD9KSU7-%#qTM`}fn2OQC3GEp(0Tzr-FjS4JW~)NnDb@lR z0uylrxES^+WFNEOBve{B8lRVCc`>wCO@(2m#80ry z_+|4!v(5TE^zoAYu47ZWh@cEAJun)GKD%uxsT4AQKVy?26onb?#H2uL!V zk|cn_my$ENNYtSiKj2;}z9->*)XWVKru)C|VxN(>$T3kOnPH$DlcWw5fsvYcrc4Q> z%P2kFM@9mw`Q+to>AHN!<7~D}ND*~0^^teZUM&%g?u?<#2rpbN4qZlCgcdklkr?c8 zOn z$j6=L5`2^ZMSuQKEwJ<#%B}eN^Stb(5G*A*9qbAL{!z))E;sEGV_UmOvt`<0?jJ$) zz3m|tlJVa4d|hU?;UM0@X66A;sF%@)9^(c+{*{0#1LU8A7s4ni1;Av;hIK5CaHy`gR&pWL*3 zFHSiZzw!wJv>W6-d{+Tw&yT2Xu01*gax#DuMx7z+!PVpMEPyXizQs*nPbD9V_`tq;!;5 zva_P|4D#4;WjHY38(l zdAGPlLw5<{Ze5mrevFAEiNN^uz;;LN8Vm*$EbrhR_P)&id!h5{a#)_(}hZ$ z`Mvm62mw;79+B-7wl`#xeXd}-m?cd%M&6Cu(MOWJ+zWK41S$Qb z_ODltzsSRWw~Y>Zw|DnOm2_d2?q|tE58=Q_$K7MVgW!mb=y;JA2IKzi*OUrMAJ}yp zj!h}G72=zG8%t#VTl+PvPa-pSy1r*vMa5)A;67my zvsqbcBw0}UJsa9EucAN;mGRj2HH)6oD=c1CiwILb>t`d&D{+_>$NKqtN%$_qJr>&$ z-Y56LFkA*YwqD7ZEfVskmsF=9SnW8?o+E*lwXp2(TAjNpsvPZOd29QoiYQ^Tp~LS8SoMH2Kbyr^$9clOIXB_0+?Kq4vm671`x6*jC8#H_UfK_k5n_ z6t@+_Z?^py>HXXG1^Qs?om-`!9B5KuX|2tVe$MG!c|810)~>vARBWtF6A>Kt`}Dul zjuh0!&sTf%YkmcGF#)U3k!J^X6eeOVR+i@!^|F%R^K{JOOm&ejIoirXdR4Z<5k)lkG z{`qQ5U)=@+S~N8SNM$K@%3`5_bgb1Etx=g!IW;xubf(UakN(MJj{VHsN0InjC-*!E z4>mwYsu;bhyqG|Jc75-aNAFCw=6X0YW+(;(@=(lKtXSJ1Z`FirARA1vg{t$Pxrpl` z9SknFbr=zFm!0nPRKLAf$Z~K5%`JV?V-DXDYGUTfABnFMuOwvH7ND3Pmsw zEd;DaR!59EH6gtF@wqNd9`)DIYB0S^N<{^%^kQYNbS}=PKT1O5J;IYh4OOe1PWSEQ z_@2~yW=FSh{A<*`UlfAWxgXYKH*j*Vxpmw5=O_QF#5j>=evBN+GTQp{m|*rzyWq|J zt(T(SX203g-`EH^$=r5M>G*Fr;I1?@|Nh$eC+ViY;y8}y?A=y{c5r7`H zZ1>OYGRy)QRJrLPlhZblBt>>Pqb?eZ_XmE507IY!3-K1QZj+|o|EX&bUz9aYT3@$@ zA_v2?O6`&?t{2-$4MZD>_vJ*(V|5?NTOPg_(>z}29q#wVMhgshaU%@(DD3oSwK~!EObzculdCi|qNA;o!*>)aSOCh_iv0wHR{huVJ!t(*eU5Zlspm9mjO# z1P9Ph1fU7r{u=pO0nJf6I9HIjPufEcBS%sOM)r0bLYo*m*`l?$f>t@XK6XKo9kj*; zjY{k@h&kT#@mQsIH@ML&hAV4hTG)$nYw@I1&N`h@<$I$$MpA@qTPcs{2oH450GX4H z5`I1yn_AOJezzRtp9dO6?uwGpb6^>0U2f68khP0oua2l(`@ZF^sw2)T&+60f!{G!P z48UzAw^e0GCx=3Gc;d=8=PeT7k%Lm!KA*Exj`{oZ3&LRPxy_B2&0^tI?{2=^Ogf|p z6f7pb?QtP({GR zX3Ki?svibKEcJtvn_U&kNw5unfV-p5^${8zj-T%Z&BNp0!E!)q_jZ1=_4RVD|6hTz zrw6`%i}^M1tN-&?W8K9^lv-S^NA0;TRC!^}=fKq9K5_7%No`=!+ z8j9(cGG{4JV=UMuWLLa~VIQnjwgg zvp=t0sd=nCP%M$jirA4Ro`#~j;J>264=H=uJUYS1NeI#v&}c1kEn3Trkma4IqAX{3 z;ZeK`L0!wX2#4njZR=AL&s%KEijjQEJyS&1MLBUmXqcA?l#;7)>f{g>VYc9^g=vyX z2almFNT7v5g?K2%uIriIy_Oj{6xx3}HpSD6M&rTJ_KX$|z=XB5TIl%6LMitBLZ)W$ zS$Wy|Lo&>5%wB}RuYfa2JO7e(eL{>~=(bOBO3m2&F0 zH*43@zT}H25+C0W%NMB=%@^drOC+5geYZB?6eH;e;y7J+k2Rz$jDVVwY01hcBi3-v ziq6_arjatIb{t>dschI#wG?sPyNF5ZN1I{76%Z|YgRD|do$l%#09nrh&Tc}3sn{TV zbR=(noCgCvdBRj z$ZC1nWcosth32FfQB(yj#GOl+Z58rxGVVL|FN$>#`1}Pi4rJ-5FQV2!QED;u(_E0o zT}1NJKT(VTrdP+pl@#>>xxz_g$&kOVR+a+CN1&q)+<3{qA9N7EENP{v_es`o!6Wxs zb1lA&mf7HRy|{a{s=`XNyUVYrTmsAm)oGE2y`0-lUQ6Q&!zFgToiFXw>X`Q6LnUpre#%=7tc(v=_*uC_ z;pW}7xS>aeyK6R1aUC8#%4Ia%wQ6J$V{a7(t9z7*nc?Qipc&l7OK%Pw$X1Dt%xidh-g9~x5>9oCt|Och_m&VytP(mLj!OqUVYszsW>9$W1Yp~5IUZb?qwrjw0g$S2Dm${U?s z6<-JA{D|+?+T@)-FRuxwxAez9CIZ9(YrmzE+dA=KH-oRQAAJ;7x_;DM>s{k)J@Vnh zzc2p9PsL4b+q2u)3a1XHdU*B zt$_c3XGq`L{~Nrhipqc8e~6_N9268>dS-Len#m0C-RI+bws3RPV{ ze#rYX5>x2(%IUSLLfFM>L-FM%Prd0)b%D3J2P;N9!UfJR$D6Iyn69> z4-=_s?MoTOIy$PD_Ll!hXqETR$u5q}a#@$S+QVGh0duC0sfx+z`;bP z!s<^>;risGCa!_s{$Xb(ckk}l_$w-y8}SePr~8ZI4$SYrnrA~a3{M=(!6iP|3WiYyPvoN*jSd# zFz%;Y^C;cH*xKKGW%u>oue$XeVTX&Ej1D zmG>45v8`es^WUtW5Z#iI6Q<)z>BlXw!`vKr7U9Pa;XmqU2z=dVnkvQT6O1ku&@i+@ zIRa(OwAr4~sVk#ho6w2^<2lzSL;mESJ!3>4vv%sZRvmWq%0T$GSsD6-c9N~+^Eo^? zy*SrK^ujEK%Xny_Z24!jL=0+G6l~tycE3T&L5ql-zw& zwaClEJ4b2f?seM5X=l#Qr=`X)gYS+`K{9Sn4aVRGp64jZA0fw;h&@_|DS%H;3~Ee_ zx+bmvN;LN$7!_qYa*+^uQ8#TZMI$KwBP5atdy;>&Up2!lE6SbU8-kyn_8FHU6T4_? z1>wfzX3yu8=~VN30$e@gel>wn4vl8XX{d4N?{%#_z4C{CzP!lq;EK2RTFyTR>PjD~ z;SJVfbkhnIo%W_wAUg`E8n)0@oV(M^9686_zlZ87IiOySAiEdP6~Ka_8h(|Xe-C0> zpv^63_#6?dV~{y#v~qy$@-!g=?^J?YC^-bMTs;1e0yZGT7UfC3D?GB7uT-8P4wuzGqdn$Pv-gN9pdZP z#D=YU<`v*`51HHkn=7APlfCi}u(7fE{P*8#-_+B?w975o=yz`-1O5b_ko)~}`c?3= zl;Kfvk-k`$c)vy6FxGC7QRv1TAJRi zR!78@JRiS3%&o!Z?rtfze=Q-g^$>);|3}_?U88wMZQJr;fkwTrA*`X{Akswy4lm+( z%?LcL9zk@QZGpBADn zo%VQZ{V!n8&WBUqzFYtS>iXH?ohOwx^`x@r{6gjR3|7})QQ8rgFA9oSC^f_bU=$ni zo}%L3uUXRW4HtNQY7(Rln#c0&N%(3_pO$9=Ce3TOhNqahHvKBh{NP2%W7(+Kzb~$U zfJu#G7hfMb{lrg?0li`Irp-(7-RQ=9Ku+NUk+=sc4J~g_hyp%m++fyMoH$h_Q#01y zzHbHu4EaQChx=bO;Cp0E2b-i$BO&B;)I(S_!(ZXL`lV;Lt!@n(Y+l<1H8GO>ITRzm zARm3>p^4EcF^iV^^#{By*ZD_68`P;i_o9HRJ}Z8xJ~={(R#FemTx~D{yF>e2+FD{k zJ-lkWX^-Kw*}kB(3R()8`Agg^4S!DU)|XweNTkv2^IgxIHw$><_fjU0Y=78h{~T6d zHYdri>Kyy(k{O|l7kf;|Tet~JKn5 zZVe;I+6(ueUZ9r-R|8PuaO#1$gn`J7;)VX=tCsU7^%bI{)o4XDP4~U-C5B#8lQyB* z-ka|s3c{XgY1EWRZ^S1Rd;3PRkcoS|vS;CkcoAMaCJ0HM0yM^b!Z+H^Aas%`5P5?S$ z0R$);{gPM~A2?b#ZWg1D$n!fNj|wq*I5n-kSL0gv1g}$+HZ9+s5K5t)n<3L0DujgE zmL|_Dm~IbVro97iem^7++YT_T3z7_udXREp)FKm@7TaX5Z zIXUC*la{2sLqESx+?!v!)QwM&VrM2zcy0*pn zd&1LB5Il3TH0R5<0vq>E@lRHy6UF5|A)$r#4({Ppd4{w`^enA7tR%Fc`Q)!IDBHsU zal8F!N!SY`x&vjq%7Y>*LVJR+JR(Dxa0{Dmddqc2;ICy)nzB&@wlphCBwkzMf~XNt zNvuOXEoG>ObiX;#+^x3p+<52!)icU)a2nLHziO^8GKwD4%PXu?w=C!%q@SCO=y=M6 zUoH(^)*5$HRFdp}(~cAc4P?Y!W%XDi>xz+x5-1x6tqTpwK(W|(Yk$QU>p=}+m)EW@AKNXzjp^)PghaEReW z*UqMx!qF=af@mFxWfa^g*LmDUn^`krABA}#?^53&%2Mv*i7Tx#Mzt+^^xz}PSG|XQ&Kkj-N80wi7!yU8zJM^c zJG}l*lu`U3tql_e?aZ}3sQ3GC)``k3gY7+1#4fmeXC7bT|4dQ!kl$cZnd+l5jz%0r zqw7ggK!un076i&;l>G*>55-UG6mk2=67xmfBOb-mAQuu)W08M^5}1L~AOF2M9tE}eufbPq<>6#+s>UoNdgIvL& zxg3L939cqAOe2fkCWlz`B6Ve~7(CP0-$Yv;Jshbl;^hwqA!lm_5KCd(YhgEx-^ZGx zYx#U{7-iZw0bxFj7h>^9IL)6c5NL^52bfr90ji~l#PZC^~P&>f62AX^%b39n|XXuA)2nVYa8g98{kX~f}t`SFL#|q+;*0_ z8~l|8v&6sr^y+w_(HY2{ue(8;te>?m*E2jz{I&oaJAmU=SI=e6A6DE5Ctp3WX0rJt zM$)A3yGXU+zGrIRW&^;o4(VWaFJ8GNQRS@Ly`L*Gs~4Vgc8f%=i6wGquUlopT+VX1 zM$%W$U2Pr54zb@R&&2W~9v3ZYUZ zN(@eaJ9JoT*RJ~pi3%>bayGn3%~_konlV>#z^ol8p-?5*wL}I8>^$*i%YL|aeE|if zM&t+Q#A=@%tVa(MN8a}lr8Szq^<2Mpmn~C4LpOHwrM(zPjx1)F$EDc<37Q-X%UO54 zWH5^InMCI_=vpR9q1>$$`3D{dA=y4sp~_ zN^3h4iV#o_y4pCUZZ5q^V~8{y6rf4y9=M+qIW%#1YBuT9M&HKOrlp8+vm19>?ii{~ z6|Q(Jnw>~qO$a<*$)NtQ_e%WwV`T80g`FsZ_T@{!+N)=eT%faC$LQ}Zls%4UoxL*I ztIivlT2^_weo0nQe5B7Ty3;NCn7g;mOmX2DGT8Tz2pIeJ_ zP%DW!apc#awqs6$Vn;2Qju^u8xK8L0OxWjl|0pa}I#yjccWvifmk3B`M;b36vo!z* zW*r*UCZzQvK}WsYC9rCu-1OO|VBO&J9&%_&@7&?{ArAKr#&gYq-!YAW?}p;2LZL6Z zl=qYX*O?_qcktOba4^hNnhMQ{o%a*Pb_x=-yh(-YOg|I)v&ul?l=}1>20e`j z6LZMxSa*1=3<#_k)>J z)?gqnd$1fxy!e0T2MVHLi0JxHxFKR40lOmd9c4tajoHn6BB#j5%{QCln`4_}H=T83 z#s8&zl!8B3Z|F+<1$p)msC|rVO(p42&pMUOo=X7kO-eJ5ScPlY;Uc$6u3G^;0Li{O zi2Fnf)L$QetUfm8%KvQiDAm)u^mk-t=GXuC6)lyK&iBCp`>=x|q)wRlw!x_>+Q58R zYv_$zcY6)-w*Blk%n~;Dh&L`oDoIIsfb+C?dL{INqKi=$W=Jy)WTzXwv+@XJA3tIz z76Ap=-_GzXuq4cS_iZDV77+N^2<6o!I4glT>jDyIW6z_F zui(!j0d(=(Np|%}jlRe`=`UcSVB1;tD*CiqW^)SHH`btdSyw^VRt6bEQ;3$5?v~In z*Y%*mYR%ny>}}Fx-=ht+^hNP${2?_7bBU$WuYWOn zYkuqMx5W>q1~UI;52t#j`@Ps!&wI5mEAUC>ukgIluV?R0E*`mA`EDsCylOKkeD31B z$ckCDdqXMlZP2IpDJREy%nfo+3J63D#Y-pH#<}r} zzf_}AEvC10wY#g;wr?lePo&|v#b3r2yR=e!oibMTo&o_T-&v8Wtv0k=988HW%tckR z6~_WoE99j5Qq?6Cbx-hZ|97-7B!;x!Aw$UF+}C!}Fn0X%&C;@bRVxgOHfXq`yJO|R zO@oT=)x)XzF2&f(w_6QXWmWqeoBul1pS=+nYE(4&K?k(MZ|cJZ!YRYh%8N~}dRB{%Y)!_=ot8>6 zn|kpxId1BdS$TQZg|SnwI+uT}3Pg73Z=c1?UVJkF;(tEhGy`^7xE(qm$WGgT1op-` zh!=8ZW*hvng!dt@EKFfok-ZP+I$tlXZzy>38e39ei0%V_jFz`Q=uDPuRh>_Y1e2~~ zHLs{a@re-A=eR7S;S9p5EviMdF0lI5Id4Cl&w2z!UYY2aFbE*R%{;0NBm*Z76HKb3 zgIsTXxp?B#i4z_1QjFL6JNLc@lLdZcRu87!02RD0)e25aaz$a=i*L)6l+ItFyBs)q zuGN{Lm|~ko{GQ{Zvrt%tc7Ct!w1;~!cFqJUjkt52?DiniJupT|>kQ0TA+=16p{9j} zH4fJB0UQb8T-TOThZGyEe_wuomCR_t%F%3faatU%otLtH8r@yxy0ipKvw&;LOfW}# zp$rN72GZ>WBEq9G%C=<~%(k5dafGg7J($umve!QE5JUaOpYlPKW#Ux35V{Koc0;ud zRYvnNV={792L$)dn;+_BNX%J4D|u%O1@_qOsUDpuY5EaJct9-|Y?ve7!a{M8Z3@m3 z4%y%TUUNcqoY0OR8Ts_K=8Mh9TlJJQVxZ$hXBVyyy?U4chd6%3cFGg-zX-R-tjMj8@+HbK*$jEgE8ybC< zkvbLyL_x}1I(Mo;e7K!ux0WG*E^dXv9&*2xU98TombRIbX2Wn{ZzHoLKVP-wL#zsS z>fl^cO~A_NcKzT) z!U)JQz^QSyq{B04nSi?TqvmjSfs3 zWBj2-7t&+{V>I5hgRsjAh53zg{r!l@079$K*Y37Up|?<<66a=*lXsyTco%ZrJFZ<) z1&j4&?x#GDZAw%pPWoaaHj|z}$%@K4kub@OK`aurzvs4GKO$vNo50HfZM8EoEd7-4 z1Ptrpr|p;7fvY(-FC4@`XfIP!Wp7Gw;vi{ndT; zaqICklR(GLdo3<+f1ZF|AbVC`me=CWNLH-6jdoo?9(J?7^V(u8wAlFPFGFBcT=mO} z@U-eEnmKywR^+JgU-iNBklG)RcGa4axTK2)#y^e!#lPCT0|c6zu#o*?B zpb$~>yPED){tfK}>N-^rTq=?Tr_t|>*e;b-U>9@iWX17k1<~&qRybv*n(jJcgJcc&Nmn84w z_{UnT%;$eCzhL*w?2=zOf^ZZR%@%{&S^_c@ut%sxPi+_3&2)GTs|l%Q{bB}xdy;;ivc_`;_O)1O2{A;P?yqB5Vq8@ z9+jUrU8J@==U72C>}9uUC#E0$IJD(Hs>5MOfF>#PwV)gp$}%zmLe1ECD7)AsExC26 z?@Nb&x2znKv0N+)OHbo#BJ4>gE7i>SPG3IZGtkYc`gFfh96O!8HG0X7tUjszE{?Q zN^y1Xg5otle2N+%gmkialRdybTxe*&SRsT7o|j?UDso0C-kq-h)f+c8%m?nX98^3U zUTd-&Xj;ABO&fxGd>}^YKbvJ!T*u-9y*Q<&NK`{G7l-1rO098RjMkcBL|wnceCdj{XqYE)L8}D~y|9^U)CH)``r1?c^sJm+|skvH#9Q zYt#c@J@)UV$}|Ez!3ZD#hQ~+QE;r%udI^HApg>$oLLl^5mIMH(+nt8bE-GK3u z$=0iH9!e=*-SV$*)N>bdbyco@Om$myWl`hLwJm@XcgZg^qW5>V^41lbNY70Z_buOc z+puYQyGIJ8b~(p~=Y7}`!>F}(jz6APnT#kC8cKAxs##L_-{-#bQDOC6!qzM@!N_Ru zO4JFU5A4%whQKfR)#YDTpB_eShNy#3l3ixn2R)0n%UY@^>=g%CGAt6xRnsZ!rkjy0 zfG6qpdtD?^C{NR55e3NpwmJmjQg_0MNkUary+pYQ8(97u0tM+9scV;uYb1Ry*iw2t zTWA?AKYXkg)^=q{ZRtj#L_vvjz@@qc4QMvHr6Yr*ht-`GcxuSC2hT_aqf!wP+RP|| z8p=EtT$Uw1BsJqGiquij|DqEz&C}wd(P_kiKDQxc`!4Vohr>`}aHVjhG67`QACba1 zCpW~#Nbr`M)Sad%OUq5tEY09?T!K##(t|>SLTR9O8lNW^%<9$`K|AfmG~i{n4|JZ| zonOy{}3a&H7+MP4UEgYnzdul1_0el_1J{WArI19pa0wPJ!bbQNMPa+OX@f2TNgqJ z_k}wwQ@dL|?q%M&u~WnM)1WeBpIb!ea%Po(utLD`8Sp3|B zxI#8#F)&m@Kfw3O0IKXk??pl}oi&;{`G%@aLSD(5_E~6TC z60XUC82-hHA=vLM`=LnX5la^-5S5%w1m_k9t1uQ&I$T~Abl69wusB4Q^rCmxUZsvh zhpE|9C^5_NkCyz~5atkyvQeFoEyNBBJgHY)w}sjs zA*XjFPc@i_K-s&?Ad9!QNYq*a8%#{Fc(A(RgI3UCh_!rrAm?;-ePfbR`_mTBbM^w9 zHiY{W`1pzZ_7@qfF6ByDC#k_4-~e|1GU-ToG82j5@Q^88KA% z@OKZ{H?RmA845N9<)4*Rl}|Iqbj80){_S3;g@=@3=TIf1bG|Va;d3ZzYTO!2SG$zz zY^zlY3Ibdbf0eUi`oNPGa$IH{8*b|bENWGtG?yb8YRve^Y2AJM9_=nDK;cL<*z|j9 zss5>Srj{Cg1~&jpRZtGrY|Z1EcnO7~HVPn7py934NO1zF$*#Q!EXCvaGSY3+VzsoL z-8)0U#)x*5?f$_K3ETRjx*}6GpachwG63`Js2vJg^csMsMc^1S(mISdbY-b-=`XEZ z=S*yhmV#Q4t=RTjBALhQjVW9hTFPn^?S2)roLU?X=bRIOhpq(~7>kG779dSyg96Mw zb83gnM$p|=+7&?DL7%?@R_L>|nN$|W4rC`nwn$k!kofo#BSbsq z_2=Q~l5k0<;Pf=h6HypBHFhi@!HVsYL#lyH4UmduFxh(?k@20KiUzfZH(RX&P!h{@+ExoaI z+m`cUKeqHZ$Q4D09^X7yJ1{kPayXfELGR?$lP@2~lLwHSlYN86$6jg6*kSW;Yk#~A zTE6w>-JLu4Y`%&86eR-|A8?b|a^Ad3I;IdLlkbq{{5v!7z^HBd*uPlzL_uA(TN>n* z9w#Prgy97(xA~d6odQPF?=bTs3|lGPhwvaR^J;eLJ!s#H7cV+_g>M1IP)P2^6Yb7fEIo>Fl7DWO8H%WK>;jNzR&YT|RyG zDdszRK$$a`BFmNQ3INz;*X3F4`OF1Z+|E>ZMwzkr8}Kt$;n zddvi2G8NHw0hz)M0l~bL-p8M7#!!g0Y{=8CwOl@zEP&*Ab)YxeDBREOPfN~)mZ7Dg-_CJ0s`8{xLd6>_gkKQ z)a9W4D(%GBorgBYf7c+VHmA5(QaUOx>`n%Z`(mc-HXp`M#XS6cBGp!!p66J0HK_`; zv~h0Rbnis!(bGQPKOxpgN08K;y2sQUw96HzoJTsERHVO!%Q zpm84METvMDp3>=o03^;(*$g1$Onmf<^xk5Z|F9VhJrOQ7bN&s=6{k*8Q@|51SDq`F zl#nXVVeHr-Jh_pr|3)G6Oskqk&Q(LE>+)6Ww62ADwj{iGy7C(N5=r#Y+EFCUj-*p_vlbEzz01n=7laMBP+s}*_sPHz6&JoyVIZM61(hPV zy?6e&-@nJ_@qPFoaQZs0>pITkJf5pN;=k8#1C_@oCoT918gZuEjl39HT5~{NV=24Q zxHS9WAe!axuUU~sY+JChLw-m<3^+a=?u33kuDcVtv5Uuqy5TH9hNY3hA&^dDxr4RQ zrbQ-?Pf$RVfU4Lc9R@4P8!RgnLcdQMoI|$6(_Jx;8Nk6ibm7SlMG}zSiGS#8Dznvy z^ip?qS}5I)sOjG79PbfX09h9$>u{3G#VFHb&NZupVc%p$M_*A8skfJ6= zqBS5jb!jz@#Rt`bv|Nl2K3qxdm5FKHQ^O_~M63eP+B`j6)y_S(=dE=S6X#+g9^HLu zIonjFHf%zuM3tXKXpj}xULscRviTROL44=z2>SH<&6WqXA(Fc7K}QZRIXANimd}2N{-!*2@?Q2yUsttn*}4163Ugq<6Iya4Dpw40LzR`LAEA4StTvvj zQTvC&k8=xEv_#MpB!&oy8QXDh?sW#F;suiZz}x)sc*birL-1dLo33btzi z6`0qgtLRoL-R#oMEx^z9_fp!G4OjgAkG<&j>$;ndTrxQ+k;EyvP*DhY7O0gJu1_06 z`$w9xZkc``ql()(?mngnGSg{U_fXgMs!U%I=IvVu8t&Y#JE2C=vk%ScUw&1Jsn4(< zSc*IIF%!>2$Z!A4&(w7ysNY8yupzvNocb}#|u5dwF z*x1XD3%7n%lx%t)JPb2^c5G(mBM0%tBymm2+PGHH%7lM?uTfUq-|@Jm@zO@c<;EA!|?jf$I`{&$4O4Fu$(-{1xLw9^-T*pJt&W`HhCKSLb zKeu>;1CTBVIotn1$7x9J^c~c9V8PhW=P36RNhZ zY+rvNWF_=}j}OiyuY~V)E)mP*Qz#GWXGYD6LtSU{ZB;7M>o>926EzRFlHx{TJA1;t zj*P@XtSyh@Mdl{b#8C>?6$RA^uY($n*hz#;G_9!n_r&@6E{ek+IbbJ9QD(p%RV{3C zo`$oI4QAts2L1z!_Sp#mgtZgD+AO_-kKl1hooQ{#DYPJp1;X{LrR0W^w7kXDJd%Ng ztp~^EiVon{OIv(Opf9L@ImLXB`_9R3%}$TcHTzK3s~xrs*bxPR3f6 zZvHJ-dGhJnI$hQ>J>1p@mur^P`o))Tu18L&?iG)y=TABX^>lg+%TwLXsq%WINyNsG zyb;6bh90pYcm9-DSI5GX2yJ9T+^v)dJLz|MIa8_4`4Ia{SGHl@|@SM|diveF^TE0j1zx}C&Z_j9rJW&4|qGe>3_yU)S z`-|>T^Fe)q?!zzYzU*E!2zR0?rSpFm&CHZGA2WGAx9)quiqhj=0E|wWE)o+GK;Fi( zSUPad`a}{yDb+0nM9)4w!nSZARbi`2sbz?7)QZulv zFck1E*0ME`$jH%ZJSIF_E(&OboSM2zc*VC=>aHF}0!ut>zF&q!TjiGRpF>rfWTL5O z_>C+>rSP55IbX zM*cKC9e?xf%{$=LyROHpzgoa9!>ylqd=G&9g}c@0qeL22l4^!9W!cGOwq@77D)P&& za!BLiK-$`<#__*IC_P9=7`yh~g+)=D^0Q^tiqbO*_@l;`|}o6)sg|?(RenmO`sQ&vpr?Z)VNvAIXW1ZV#~KG#e;q4 z{1&HWg=UFa-8ck-s!R~ni<~ssaB)!B((;%65{Tq^y+-)Xhq&!qeh~B2WZE830WQ22 z6m$-XLPc1CgLf0sJ;LWXr-zgBUv8S3l-XZcA{M$!Hn$LoG7gfAhPRJnE68G@b}>SY z5F)YCbBlh?zCLDxugxaU@>41k_&B>#jU^~aP3~RHt^>yzZs;b!I2Q8V!Pf^wIDK(k z^@|K)#V*gH*$!tbRMvUr84DFlPD&=*LEQ6T`18FL%HHDEb8cbhJVUBh6|hpaKVGBG z0_GoRMciAw^lg9T#(xpexLNtwISZ{fWcp^1wedfj|2=7EbB;}&r{rE)GrI52pT8yL z+pfL7ce8PN;7V}Hm8Gjs3}@)wrkUS?h_=6tDBt{d@?cFxaMeO?WXJX|H}lV5`GYn5 z9RN51R|z`wh1#Gd%G#=x9lgCDZCSdVb7pD6Y-4|ZS}yQ!FtSry8TAU@IInV!Y3h7^d)>-IdM zlH?q&kE_N)1YSl*#>tP(`h(@fu2O!H`SM$*X%1Op6KA4d9nr~+z9y^4K_y;V#q=)o z6m@gg*o{r<9`I@e6U2K*8Ez`97Q<0tT0eX_VYowBrDk(2QEk?GELI+;>KRXy%Y`Ps z{%A`QVB{JfrYMeyG~wcziDoS4+xIUNc!!+)qP)%y!?Bzv}n)h)29#mmo5GI zBu8-jl57lIFExKw^ZZ9<`Ahv9%(w66_0Rh{STpyMda(BQnJZ<^yGNp)9m+8NKYK&O z|C0+yx2H902)z$;{3TBI)lwcAoPd0SWQO_RjG8~0tsB&07SjW{%g?HV zh?vEUZY~zYN&0;X&+`-U)L{AZyTbSM&fSG%qILfUiJ537xBkPX=}Mn&WBOxgb5%mv zrvA4OAgCMExo+p3H~4O2?F9h(p()MgOMf+Z72MO~?Vq_|M&oKUs&unutM6Gz+L=f~{RDg8%!CYCO%_c*+6*M7Gs zug3{-c|lfY?)d}q7nN#8$U4{c6-D;3Bddo$tsZ>Rc3Qf`!sgKPD3d2Y+rG5EXgim@ z)5PTOmvmF+im=Q*?qIA0U=qi}2X*|I2jQahIFpd0@KhpF4AZzO0Sw+O%zM za@m`?%dl*i6Ib*aPL$iKLNP`<)+1@xtnNqE=-zS(~mf%hG3>~4}QzR|7l zJM=E<>sfigRw~S^ba?=~^Va8e^9Ia34Xp@7a>j+!YSPt2F%O=9UuzwrzYn2TXZInE zT9xf)D<3upROs?&gclK9+Eu^OVH(>vK)=Gl11OU3gf9)-s> zg&=8j@^o+34xnDHN{vJd))q>*?VpLGa?@y}xSjiIZ#yP}vjv&3f5nhw{Uj2#_=esz zd@$|e{iKbXn{B4^h)N=a?Cv9T3{x~3f|v=m#kw5vftK}4mW*MzRQFMiNqqPcg@z2qfV(>wK5!3nidPkgCaCoizKeB&I^uDd$rMCeX zIx_P6%lp+^b;HrM7ejX=9)-JP5!umnKE?az`jXYp*h&hx_x1I`^bjw4z!i_c z3jrA}vEj$C1wYv05c(b=}}7Y zxko0WXDnyYcFk!2CM6W6#Zg#oK6JFRkk99)gw?}sO@)V!?+$39OzNVv7+&dShG-pY z?XEaOMYSw#fa&xZ2S*2`9G;Effde7pQh_@*UYTVr6(a|%LGuY&yCqZ;ZFP26+TF+( z-5>Vuu4SN0{N+>mOD9K9DU?$jtYI`f>^Qb;k(snq3=u_Nl20%HDGEv@eP&D`mZ7t98hTMz(p#Si)QG~cn zRkt1sKR)V0s&ThrzJT$ziwiyh`6G*PqGju9!%RT*t?2=^oni6+Yp;b>A_KcnFq(P& z2I2N=rAl`N;Cp6~eit2?!AMTudjPgaU_bIe15OT$W^$v0(?3P2-%pLTO*W?E8W zh(M#A%>7y7%#s$rPM&{k6fA0HHSHqSt3t_9)v4-i1%VTR&T%xg%zof4&u4<79rGY`?y z-h!xW3>eTRNhjRVEe)rj$yjh?}nGhDklZgJ+l%0cZ-C! z3$rYHWzv_I_WnFuaWX~cc|qw$CeQEmoXWa2l-kB>7o!~SE|yVHYH;uHUiphSD=lPGTd_Gj|=!1RS3=yfcUWzM_R)$( zq*ybBt^))1)zL7LXTp3_2_B@ge?hDab@yV!Si7Qz8qSEqn+v2~9<$MYb-VE0>|&vksz>KqDdCT8n91 zB{6j-**4o~ zqxy?LGu~7Hu>rS&(we)=kjsRY){RAiAg2sSzpo&W3!%8aLZf8P87=YDXk= zi^Pf{l_^Nz9t3Kp%AwRiuvd#$RuEvZ$?bAh%PnBp-quMI-(|xs_+o-VR$R3Xoa0q? zibA9#MVA0)JxnRyHcm|qBcr+zWT6iIN|FnjMM>FVwE{tVDUD3CXS)=|~wqashTEhCv!9rXRc_om%+jsL{*7fhZDZ(MQmB&w)HH9sr0@oI6 zPQJW0wS5QW361%0`0S7PmPtFPo+Aq5k@;m2vup8U*kfv&DJj^tv1{m!PqNp&W+o*8 z8z(lJ=4JtOS>R~u%|LW4(6SMl3v38u7yBClyi--3qhWcC&0t+!BQho&D6Ut|r`YD+ zjF@g4zzv#KbOwYLOu9I9%~+Oa8pec#vgZ@~u{^feD#%SQ0B%Jzkr3-)v2+$hIUP+W z==?_p8Tm%K7Hd6;&JW}n8lVR_UY$GbN>0bf@&g?J1|+iTqwULVIHC>hr)nvL*lR7N zI2}5vj>}`+E#XKw z%+<9H)D0(R>y=0*+^A|`D!r7Q?~kj-5e0BX5R1>kSY=SKq6+>$J{B%8m)r0lZ=Qts zKyL$h!gd0SDG5nj-br1RvD+t+w?yn7v_Hy;x(7xZzGmXISc<mA)!Mz1ub^BCv;%5po#VUOdRDsK{(JJw&Sk$E5gy&ySlc3CubxWW+aC69eritZCHoA zsaob%9459T#)iWQ@A?mKxWy}W=<n8SzxT}IFyvvX#1Xb`Oe#{>iL3S`$!#4#^yfB{(3 zjfke(s`Nnm#8Rzg$nrYzzDq&2d;+A9v#wCrCuJ!jj`M`m^pL^$eKKOZKKR5K$lv{0 zFAuB(lf6!kfZ!IT=TfcyvH0ScqtyX^gG$!f0{(Z4WH@GFpLb?+U_P@O+u@~Wa7+tj z;vM8>GA~eMS?6MF)t20ssOhpN&UVRAW}SZu819jP6oi(!xoh{G zPqmXVTgeqCpTC{kTMBxzqvmuxXJ5$h!FM}898YVCS$pUTB4clC#oxc1QfS`bt1pa+ z8Qb8{+1yTkcsG0S?rJE@dYmLhWuJV}OZ= z8-g3hK&FgSVuzfEW@)B?*H~SnmFPHEYhZwO4DR>X$l(1ckLN~UwrGt8BQX3i0)MnW>i z3BCtx9)jl4FW(@Td9R&_w^W8Ofs)T7@F)4gdv-dYv7U%WZxP9hyCr9YAc7BeL7mFdah;e{3;JOWyTNv!Uf2x z0$aMlpKEDF+p+oF7URa9J6mqBLo;{-gDZZ0qRiW@IHI`&RWz7rz(7kwu=IzD4+3%n z_|agd&=1o6uS|KWqwqK}!qL(2y{Hamzve%ESUg#N<*qOhpDmRTo@Ob$2Bnl^R3pL=WJ?1E1j$^?YP5}Hal$>zW&y^6lvz2xVAf1~T)5fq z^+0~mBnX7`(&W4F_!~^UFgTXHf?4V^C6`m`!KA}+!Ai83AuS!ApvFEr)ivSP4T=HF z1ETf3TD^>`YD7r&*gB})Ih3$o0^(G2SzF|)L=e%>Kc$d|4j1t)sIyDe(0c@?#+tOtWb(?J>-0-&@lYv405@<#YRJIb4Q%`#MaD4{%HEtTNbl)=2@+4ot^2rvjXb7>J@Zn?WE}D(d8)Oaa{wyFrk^k)G03Oh+U>e03 z=n%SXqwHL9<((WKJ|7O4C3Ez=QFnC!`Tr>sZgA^(%6%E7Fj<09@4f`+gd@4vbtc7p zWF#p(yEN^d|FYO;rn^w>5Iyup9{rB1i|C|*01D@O)ELo>j9Da5c4CoiS@ z3%?H8LGT5j8!IxLm?Fxq%weXL9stupNiI+s=mO)sv(Tj9;1Y3@)0Q3la-DAmQ8 zySf!rtxqx;^PKHahO}Ko1`3$pic4dm?YXMIoH0m zIb^*v&2|*=a5io8w%onN%AjpepFC}x+kpNjS8#v7hdCB>d7ZtlPw~m=4Z8Fh5NRkpTtP=iKL*{3B1zGj8tG|q1*HA!i=%2X!mI+qERx7@Ayg)nw_%OUloMmb ztb!O;W6|3MN!cJY2O}{JCt2l5H`UTkt;GLmS0SJ>k_`jV1}efJSVx9ldOjOeF?pnH*_ro3R4hla^E zh~myairS8?B4nE7m_ckpMm>G6*g-R?Rb6kP16`g6tg`JGW}`jSZ&^ZKQBj}6yxS!yD=kRgGXI=Sb8Z@rkq6bS zO;Ih6?!2BDZGnZYKBzSX2s7WeK!1Y(4f4RDONUZUAKcqv3Y7jmc@U-p11p)mi%cFS z6~Oe|uz9ux9~LF&P7g&~Kl>_HH|fH!;~xWE7*t{M0~|ykNlTbMyI8qh%LXK-WIwLf zA2IasGJRV}niRJ=z18ags2y-J_)q63I^uNMLALpahiEUY9pbBP*O+`LJka8qK+WLI~Dl%ytT$bja-o#feQK2C+RLs-o1dSx*WSft@N% z3QxP2+?8SISTOkgpx4Y!;)ju3Z%nq(oGK599M?q!Ft=Il*0Iyaxco*Gp;A)pV5%F; zSJWXK!wDq_TDXu4+NScy=b0CGil#W*8gZRd*8$_tl*MG7;x&+O>&|{bB3m;$o*@}f zv7X6^dfycq8HUN!_%m27g*yJR9aL^G9nEZXGRp=))wb-6A%!~sJXq`WvNNy{0yPBtg-A4Y%MHP2Pth4`1fYHg5WDZVfIFL2ix`uSM9y|3%a;&_d1W+wrAtKa z?y$uvXX5f#07#d8!8`lhdpu9>c<$+1&}z5RW5HD3d)q5C?A2Z7_8prKUR$65iT~Du z_H?9OT#`87P$u|mu@dy{3UDY!(Y+4qCLM?+(m>`M8f%{L?4~R#T(AK0ACl_WYSiaLrIQ$+7VTP2NNZ_w;Q*0y{ zh7u3WLd9lLhpj-1ozh8u{vQEbz3XE1L4%AcbUp+u%opP<7)+n4JD|CL$Uew1TJE`G z|HctgkWEN~I#O!pOmWo&xvYQ*jUZ00Y&g44$}#r0GGqXH5H=j49hDJ}bt7$YW_T}S zTO8U+k&xGQPSO%|t8+6jysL)5LZk4z`VS}mvp!a%e}q8h~@hOtus2+a5u{3m9` zc4k+$aY--ELW#BRrC@_f66uy|Zd{6#?VZK2I27D7vgFqcX=d*4lf{Au#zl`>`(v(o ze>E?BKD>NWHstr8mmr{RG-=_YBgX&zxWYr=kAs`e0#C96o1uU7D*oi-OxZRry$h%2 z*>3Xj>A&bxeZrLN!emQrscTspXhD`PQ~i`O1YDtU$Qa5e292fTwb&>toh6A_jT14L zSchswKHTBrgLK~TjcA?|1a6#fAgMNkq7NYKgEuUff_?2k^4$=$nFy5r@jVuiQ4NuH zIRPLV)1m=^uXxBp`&reo(^M8l^$BWfkyiH;D#7yD*#0=uB!Zy?ylPctHd>Yctq6yp z9+I$?H><>-Z%Mi2Kn_z^98MAv(RHqTJ~SW_0hg#U@;StCQ>NVfO4@GLE93-VK<5tG z3c@>_B)bw-txA+%)sRNFjU<6co5VOMn%Wk!Mpgur3iF8^i1O2L2Q7>O0w8u-6qy#I zId5x;(m8q=d0jF^!sV#m7Y8GgeYA3K956bNh4ASX@iEOLc}f`Hos|~N4ly1qEav#T zOKxa$0aEv8VkagA*@c0L%qLlC-~RmExgsV~Rd~%ql3cfPrRIb4!B=l%evsZSIUTz{ z=+aUd7p(dEk-vTKHQ;wD^q`UX^Y33eo`8X?G@Mrd$5Xw|0(yeP0tHR%{JRW2vWDk^ zxNw@aoCGPPvoD;uQIuB3jUFH${rK7ih}t>xsC*X9idtftS`=xz}7aD?G zj_Upe5>H2=o-vSoFa_L!tBr~ciTI{hwy~wbmy#QKHkL;|er7P|Ti?viPAg)>C zIEn16aNWUXO)H2Z2-^eADhm;eX1BXJnn}>J)NbbDI{AoLX`-bG1l`#xv!1$A#(Vk( z&)oG+l1IhvNKN#5b3(&$a555Z<#kL^QG*RfGl* z)N&S|+ZIMQ;8>1T1kqUsYIUhhbWD;Nuw`+i#vFyY<)sE;IS!JftP_DysJY6Mj%Ov> zUL{IwdsSu)YT+p%UeJ%j@cA360yZy`A5KFCT}?1qwdv>EDMId{t4A}R$HUC4e;>Ay zysg0fIAD2uI=wsT&R+L#ZaDGaqetsMJVlh3YaT85bq%ju1x|K={h9Y-zmd}rO9^p) z|1@pYxTxs;>}2LhQSJ?w7!%^aKQ3Y`T=aN!M~ey4e8jBEi0Kp?=I@E=JF7lZgfQ~2Q`eBm0{qZrSEkrYpz|aV?$(8X z>a!=%wfs0QXFoKY$wZ(*2}m;QajTUd8xd9&&|PLcsD#C*(3(*!^l}ukH#?=Bufv%| zmh_VRy5%&aL>U6&L%4WGIE~N2I-i&uswvV4P|1@daH<@s zga=VGdkkQfk}$47AN8t9*=5U1OD;kOnYMs^f2n_Leen8e#G$EJlg$~-c>{)eu+OOa zUeis%CyxL4k$Yfb*GrB1n4YLwy7gA6-^z*a;no0faPHlvARR>guNm-vDnjG`QxPn6 zHF)>Oi;mN22OV>&xz@P`-QPLgwnP2grSkZqgNNhiIBve+G|Ly_k5@OErCD@kw;3%EKE0vpq^bmKQn%to-)cv3h;Q-RRN#{|QKOI2leCmefV` zDvf?&y_nZ%4yQ|;3f8_px3S0Z+S;n4Fm!0{`LvtZqghTxH}6kOPGY_6tQ4_Q?@kWe za2HHWjG#e?iiAvQxL5IMQ1NiXg)3Zjy?=;c3j;Cf&&!Xd9}&{zMAL46d<;&;qY@r7 z-EbIc(1j!ZIUO9(Q(~mWnNvhZO<1RBgKqduuu)->g!ujOu0$!`234z4k;kAWQO#;q zup6^Sl=qz==xHC~8_0Mq5Dg_u4yu62LpL*v-?k8Ab(RGOVGgESl_Hk~@;MC|o;|s? zD9*G`cQ)QT#O5`8cb3`^|1_T70Gz_5GG}`Ys=}fK4aa(?INa(oc{ZFJLg$DPwT3o& z>PSAC|J=;HDXXMAd7s3<+y`}{@yCqq>AupGuPc_6Wb0kJC>(Y;!|5|`IlZcK_4cn! zVDP}4`?>VLs>AmnZr&w-%1Gx9wOI&KL6<%}k1W{aT#!Gz}pvFRL)l1Q9Zpzku4#U^r-%x#S6h3Ur%iJv}CJiBgsEOXP&HQ^gkRwoQ&ST)(? z6(o&UoZ6(0gJ7r~j#ES)TjwLnSqC!xA|iRCut5b}^nz-)C&Unz%e}{y({wbTG>Q`) z5)ubAL!1pjNoMnDeCAeAlnkUNfQ4Z(^P;jkgU#EM;bZeI;574{|LKkcE&9-4*w97m zjD+B%bc_fQ8x_e?@NG=a?ilvdrX#{T;cbg?06+_V z6mexUVD>B37|<;*#1Bj?ntw>1cSEZ zVlunn`9VN#8`XqiF42Lbr|-(BA|Rt^NS1wq$Wzrz7?2RF>JvNz7$KZUc83|$6>>Fx zdZ^j4Z6_`KVj{^gR~5E-jeioTPDKT)sgf?apqr2r)?lVlCrx>E%6N4mXh~4z`DB7A zDPfs$j!J;9&B1Z;Z9zSv6*zYoqA#%{52caF-p8HnW;Kq^3j1u;lCC{Ga0mt`s9jPg zXE2ZihMJ?@1y$)1J6Jd$rg<+chnVeo;8x%B9OR7xo68SBTqw8G9852!{8;7h`Siob z>K&dmd-25zjmqh-+4O1(A`6lqs>^y5H#o@8MwtPMm%rvxGk5FE?(GW) zejR|6)2bBEKjM#2y@e=eRp*>u>oVrmwK1bOnJ!T;;Vsn3K8sD$#sQ;QBnN}Y0<-}iKKnw}wN920h>XU-)4FiIEC zJQs-HHJ?qq?eVUexnW=Pv5=>-EnF@}8>y{sN89M4{}cpH44H>F3Hgz|Q^{7rg+pqm^GNAV6VmE3-bjWQ>@w}z+}Tc9v>oTj=u|4E-b2{5t*Fh?Kr9OxoRc?f@o`_4zzes)#`L(I;J z$fgs3VPppHlv*te?xW3SGZ+mtq)CCvG+##&!a%hOvZ`4^%QLJL=MNT2aas>q2fFsV z8pXv&L7NrwsVa;U6=~;gaDx3&Jop()YPPbb z=;`#{`U95B2EO*$?Y_I{TF~Wi#R|h}BeEF?GjyxW6 zdf4=REqIT^H@_?I5W?Sl>=RmatNt9Yj6f`qGv@uBCtvI2f7^J*&DCF4=i++K|5@w7 z=fWMRQ_gY^1{E=+!T*CmBvrTcJ!1+d`WGdtFJ)dSnz{#^MU0N>6e z4w)fHO)i(WzoBpxEW*4l@8e?e%@$C#11S_uaW({jOT74qV=b3|J6M(ReDw0X3^LR> z>=#UuomwJRE2$w(u;wut#|G+JN-2;|U{Bbxo1}$)XlE)lh|@j6WErK&4Z|M}7?5Fh zuS8WZI8tSB9)YD|=D-b2P5^_8#Sg_(*q%~d!vd9hLR?FS{ECTH9L!+ZL)>Dyz@SqX z(J)`>*!{w^>h^+Vp6F9r|BeR)pdc%4~5KdAjNmY6l@l9>(2lVPmU4Z+IV5iQ2T-sUsnI=JLKPKgr)e zN)!Gu-PCT z@rJAFX`D37L$PeDS?TeJzk51<|5^=f^!u#Kj{#j(T=olWk$zpISk6;I0Z{_feKiXXOV+)bW~d^qtG>GNE#;ISpo*qORc;U_ySb{ zPQt);i>06vM+;q(g@D>7IObx6BiPs;W`p5F@thKMWS%ke6kLs%Me|vL20#5V-D6>v z$%izkLFtiAlA~ZT&%joVqFX4$?g(UV?)|T9OJ^FWq&TwYSWU}qrEq=sI-L7d0JFvT znsrjG_Vux4Z`8@V_Y{8l_q>g(%?l$rXw|phsm6=ELx}%gSY-J0^q(_^N#A$4iHXx= z3&j+y{CB{ctZxYRZwK9JYe;M8`?C5C@YWb8_sDI|{0e#^FItvW_j%|qXgf2+vtDp4 zl*7~(b4^4~w#^5Y`BAAyn`JV0N-5;=2pFC3e*E$H_-GiljEeaWUMUX&2Qqo|d^-fj zfxPz)eqTm?-IkNNaUkPQlvALr99qzD-qb?gTbb@B+G%@4C5jhyoo@Hvcz6;{O8cS70s(m3=c zRkI_G!SA9baJusZ#%i@Zn+)re8AFrm3H%M&G4%I|c5ryMa60<2PhMse8d^E4Q&dg_ z)JKl9l?i-c&AiOp&E=l;hp*#vHop%v=@xSE&a+NajHuMLuW=#a2vwKNvs3NUXX=dN zZ+@Y9bD$9z;?plt)4uvp{RqgU_kRFN@IIY(0AYmAivgi{#~s z@X>!rBOtP)4Lgb#fOTlu7xeZ)_4<;K#wrOxR~_4V-$T9sCGmm%;nY$;)_r7O?Y5Q{ zFEElOq2D-BoTq*4=61CAe$pP(P9N&bW&`&n&QZ4r2@GnS8&mEFB9FqutXRVY9zFuX zCRZr$!kmIIDV~rv8Ya`Q))3zlzkyiwJ^QR~yRm(Uqx*coHwn52aeh&Pm%gjFYF9yX zhYq(wFD&w+lPb;#ntIJrA~^PPOPqFovsxLl*awO$8B=*`5E4NpRe3cS-R8f*9afJr z2tm7X{r&RubZ%fl9`7-!LwgKGGh`=h9w9W z#Yh?bQ}pfMsqT1j;S##tZ(&)|3cYDn$OYc(k6SmC$MRBtMBb_H>bl~dsY4d_&HbX! z-Rb^$D_L)1ZoyoL=H2PDecoTcazVfQFW%{E))5j8dgLm7-$!Xcda>9_Q@zzg4~<|A zJ7Qs1nBflwfP!=TKIRwZjW_BDzW=|6__}c-EQ! zcEfO?FZal`;OCbV+@o`g9yP}#_^8BHYMu^!rYGwbi|UF*A$s+`0&o6Q#{H<)Q0*se z2d;90Cjhktt*ERKH9Swg^s!a^D7BD?z3SPMM?S8bibWfQ*b3{8@@=rK*C%;Z41c~L z*K-Yb!!bv5cjsPsREH&l zBvn@p!6{oZB60>zFgrzf7Hj2NZ3Ms3pp`MY$HzW}q-Lu~&QV3zIn#;i*6f^&xZpzC z?c53}YW#xD!(gzdi>7zWJgeZhU*8X&xL0$@qq6VN^X#nftRu?JtoB`);Zw?yz|T)! zy;`>N(D*yML+?gMKJEVWY0sgEtLm2(wIIUJchBLNl}X+E4^N*hS--dIF`&8i{;kFT zNh72GPa2`0J3-?OgprJ2w~B&qWopml+;AN z7umhq&$xK?L7N04#D9Y3pR=1eBFj&&#Z`5zSs0<=na%?gsO|sT=dq_Bd;jsA!;;k{ zRu0J2=-cCl8y4721@f7b_*;y2bNj9&r#Cswt+y5l?YaVJ%paX-e-DUA=yYsF_?WaP zlCtMl|31J~mAc3V0C4kcN@*cJ5>jY}p>3rc-awb*f(v$ za2mc-U1*}$?qtFmH3LQAsAZOQq6{e(QG^=f7{uIy2N^OJv*{a(LCMXPy!B(9R@ohB zyS6xplN{rurn~sod4+pXk57`36@F6H2GL?=2v^|i$1h7YOQ8@>b;M;S!qn$(bKBH% zXIN(#Cjg<=r3|y$Vp#zgd(@6jT|&#sA|elrWQZ_UT8Uv(c6%Zrku%hqP&S*Ebl8|* zmcSf=3js*2JVr}Ksi@i1?bnUdUmTqOAv$mKyytUOe-UTir`}jN?~V8AqnI`3_N;^F zB5l&M`cqfzyuJ2|EHfp1;QWv7aJGW<@xsaR)3?Tv0OyPEFT(@x9;dEzz4PbyJjlv? zQ*koZV9|pG&?mOh3fNy@t<#V%SVd_9%;j5PY zPh1;{v4{Y~qYq)AfypSl?+_8=A}<1fC}L#(Y+qaV^c%NCB&rppDB_TtV4?U^aj@+} z&a3^Kfk-QRPn+XV=iSWeXsCDfr$Mo5ipQ_(2H9JsWeMkbiI`!zS*3RH-QE!wToK)MDE5w-Wjo`&AP%|D;K41T)*#j~rr2e|aB{vJ!tMhcJP z^=sY)k+ab?AQT^i$QC2tR6zo=16i1qo4HEd8UT}zG^|qW76xV6O9B(~rko{Eh6g3Loos%B{kkgBb|0Y932qpp*W>Fb!czW~^>` zfSyvA!!mPLKWdMp_nSe|*A!BT6uWFSgP9l5Q=JW0PVx17|ATQ$Fr9pq&C;G>@|h-- zxlgwpT@orT72>_t7)dC6yaPaj?r)7+w9pbe>A=VzQuzP|O+oVoJ~l}{m1NO~vx;%* zc04|QxS6br>}g$Me#uUt4I7cSp^`FOmBqrZIFxb@mGbqrC!n7%#`?JKw48( z@fm*G^)dB{9#UlYKg*>dZR+6zU7TXxpIX7aeH(I9UaveD!jHFk$9d;^4O3(J`AhQC z@ri582O(v*j_jL@yz{VS^P%PnpVKHp{+CP1_OBi}DVHBKY@LtR{CrY?e7O2naFu;T zY43iMEwQ`!ZKIb2Q{H+TL#tvBA3szosok2R1&aSaqTV|!={4>j|A3%?q@bW^R)}bT zBV1*+06`HKAQ+k!t}<;190LKW^^(bH87crFk>(!#H@RXq4ct3^`hPL;iK;6Fpv#bOZCWpqXh$Q@BXR z4f%CDU?y8ZK+$7jjPY35G{aIln4=pkB`>pSJyqJIAKQjJ9)xY#_xSRez!BT3rT5ux zi1dQBAFbfM9>iQPkdt59#mzvP2NDD$_4aa&dX)ehR!pQ3@ueVZUohDJ@w>-EE{8&^ z$6luB7y|Spmqmx(q||DN{LxA}jAkX*l$M(GDZGZwxT%U(Q7Yo9$e?;`Yq&gkQG7-J z_J|39x3sdH|FbHdg5jUFv~_DtucDL|F4hB*%LoETs>Y?%I zxb>A83Jtb?gO-|=UyAFeJcg)o_3z%wL$od93QUO@V}GWpeggHW{qy~>3+;eb@8gygUo-w4;hf~ zi%9JfzAM87&5i(pDsu%IBbW_jw zURiNhH)KG6C*-bVWyhtWdv#}T`s>yM=o-3lCy4H0HRwe$1SgvBgM}2-MGYqJg&B^W zNQQ3}1~z13kDls9Ww~6I87_A6+v_3oBf)Huu{lIldmBd8``OgYznTZ!oH9X>+?0&C zVo?J@CdkAjdeuy2IafRJqgoj17IDZ@Uq)9XRY6c|QagZ_2?4Lglg(@D9(U94-YUrR zvk#2sV$HJz)RXf6q}}&k^82cmFCaLv&`@4`DjkYuaUu1+ku3-(E)&J<^8gq`EjNe7 z%?@6enk5BMd3ob$wzs#Zbh0f7%u9)&+9<#o;qF%Ls!@TfLvjs2(O6d19@I)nA4Swh z2wbI!udxi?vd-WqtWGZCQB$colGeEO@sMmV-&5$gz^&^{GW5jd!Hfd_nRRnZf0kB~ z2kw0={8I{e-23rW_~yjzUy=&%*C&6y=mdjc%XQf(=Tr$(KMcGdPi3j1YlbKOYWThc z_fEYcG{;ytN^nIH+ElSq?V;Y=c{w_QVP(gb6`~6}n(L;T!2j(Ezv4iU)Pw!5sqF9f zLGZ%+MW0MEPVqN78Tv5vdzq_YTR9pc)YrB!MuF$38}jk+27OSTB}62Yh@^G=6AG`S zN}N?7=q#!UFvKok5}U$CD(#SBD~(aMS4$L{&du)4?6uaXqtPG(Q8da%4a*v5Z#J`Z zuL*S*>bDZB&h$W0rMaYY!y3M02WI4*!+5nIN!<6YOAsA7;bt)*NY;xoYw9UyC-l{w z<7+%CC?-2_sr!P|Q0;fBv^|hVKM@#4t#;Ia7sNMJPpF%sD~=35`4%V;G-M1(G#mJ;?=`l@%uk9rg|n+k4y@(LD6nfxxnZ4Drt^ zc5`C>hJr&mq4mU$`f+lZbc212gDzQ1w=x9l()PPLL`jA3`Izzd^}R)K@Z???wWb^+ zV;7L+9m^HSqf!lb@!>6&k6Q)7$6&P(4A;imL9OFIk~##uNtAOn%;v1gRR`Y)A zeu2hi0w%PsY9MA75X&lYfzh9smU=KkI!wVC-ZcT%9}(lb@dz|654D{+8p)$0i{!1` z$QA&mqouI)EFO$i}lQh9Jn z6t`J7F;dtKik-CFBI~z%kL-xT`Dpl>k#p>o+)LG}SbmYCeg3tzusFIol7B_E#I_d7 z$+26r2lbSesHa)7v-tS8-J8GrLKC~>FP8k74_S6JoZ&}HVTQ@R6-isKOCbdO{U=vf^|S2RVr+0=lLv}!z{f{JPm7)hdO%6WRgB!kJs z=p3+=4z2+HDI5@)*9zj5p!CWZeY{2tv6@QJ#JhdUI5HMmi>KDTk)4+ZlSAX()o^{k zGDtSXQ;Z;4f~UY*p*pD}IZOlq4X$vz$h+A)y}s@{vKU!hd&XOfFq7htDbMJPrEhmY@tBMM~4~sqkwdFfV48E>b4|?VS?Dk?+XTm z!@86tXZH(+I;HOIS2Yoc^Z%~uyGc?eHGOksAGv*UaL-PoRThQ`8x}fQOg65LIZi1Q zm!JMs@l1Q=;g5Jy(7#&_muyh;79D>5>*I$@7v>MOM;=Xu0F}JeI_7dN40Q4#vDtn5 zd~f#DZbj14<-XJG4NKMvcGlzU+chCJ!Kd-AISLNBI*a-DX=O~E(RHN$TahV}ykfiy zAARB8vj&ckqdVdxG8JEmK`EuB5Qt0du*I4f&jorWnYO-BFt(YY0JS$1oQTVUF6-rH z&9pK&-Ch=licd+TCK3;$Z^aJQ5)&;y4_51hGC}5tQHRmbxYlSjrAouIX()_QlYLR5 zwiv4GLi-S2a{@QIg*!xgqGa&BcsUkYxllI&DAai7A_>>DQN#3?H=Gy_B-QF$yXA8V zfD;j4n~cV-`n-}ZQ3+9)C;~wNn2giv=lJ?uZ~edGy3G=88x-Z3nrf(ZUpuTC6sJzx zDC#cSl2Z_^&6jPk!5Ig^m_i*j*QZj~=xY=TfTB>BS%&d0h3`{!Zckum^5ZKWzt$^B z6`FP$#g6hhv5oOgjT`DI4Hk*TrC}>-6a%oJz2{x{#VpPyA7%Tsn$n)Xok#w9lI*yB z`1G@b%ZSIAopn!c9J^=??A570fSKbz;iMnCt^#APkIvIIzi)Jar;yM}v;Pgc{PTY} zhpq10UdtoKF!Rki=|_XkKvJ)J@72jchUXjC&c5n#y}G!%?^rmVAZ4Y#NiuCkwj>o0%*K9Yq~y^wB`R7_W9$ zs2<<@-B;OLL~&0Ix9Gj6*(mQ#+#)|(($%E>6LZum<_IwudyR7`!*z|9;DS7$Y^km}CXhFoU z;Gk{L>EjO8ZFZEL(i^}AjBTh_|5oX_6cOPUBdZ*y9Izbtr`lPsyMHVrH?#ew|9?BN z1QNdS(2(^>W2^ozFMrN{*>Z2@LxVS%x3x=}Q_e09=uEDDnwVv}xjhDs#zSL6i}_i{ zz*a+`Z@&Xz6tkO1Lb^8@SIiCU@{Bh%T6P?rRp_Ajn<_5@1uqr4Iig(2cmXJ*6AQQMJ^h7 z*$x4qyt_m_XPpUHDMvndDPtb2fl*Eh^o_e7syI}8Teo~jmbl~c9+qY)1&?!o=;<;= z$TICucltLEnr<0|>V{2m7gB`pP}w|ZO`Hg&a{=cQ<-Wd7qiDTXI5YJT?Q)PTT`BE8 z4LZwsTU{60&GkKFQh>K?{N9sOl$lJ5C!1b%GWB`%nc0@*^fo-08?s~d`j4!@eafY><5Oj|f+%==vIB}W$d%PvG7 zlowpEk{0c~)j3MCAqU zQ8$tThntm?iiQ(;)qDIGx%MNC*MD{JmDGAS;KAJ>VZwF*e|84|7`V}3{4o32#43HP>OV5(Epd&~ znNpEs11@=-k|QulObUEr3l2BKkAKeao1KNNJ5^AC2mzz0NaGtVtHX0XNzXi8&Vy#3gXPN@4U9aSh=4&(6*--0K2m2=OEd$} zsbE*89JlOBBk@Y;x44H>5HJ-0xaoRbb7t94=`eI0r(@ym_J3FCNG&aX4Y4_pl^A?Bi+b#|8)Fp|W- zEs4F&r_O=7K#S(nQY!ea(TRw)=0P8^i%&g&VL$!`0o-*00ds6f3MXv73R>d0LYltX z1ava$&0!zEGcB*Z`|Lh{d!Ov6atXs?C0FGmZ+gIgNjU0YfNZeGzS*y?ph34%fI8;K z4_I$x=vaD5uYu+^#^m#@b?}#^QB*oDwCB2Ear-Oyo&d@K==By@B>V>SM)E~}Wm`#8 zph2|Oy*ovcC>NK|~CAqu8-VCzCP;CT?~ID?xS*@U}L zjVJe;B2FT`m@hqHc(AMN9|&v**;1Vv=nJlif?{dS!E$$-$J^Zs{NPY@;|-EfhSCBw z!LWO`M0bnOzyjRTy={F7X3|Q z{*z4`Z}F*_*$;|7fwqv~PP{IeQ4u=HFkp;B3kA<5NRiXX6eT)W?Wfrjk*p>xwY3_FJLQ=lravjtM z{9|ouGa&aj1usf$gY`bx78uEI;(Pqc8AQ6NY7ch<=KI0{9pmm72>Dg_4+f! z9|wii0k6##gHBA{Ywykxsjpkv`hvg>40h&eMAeyex-Pi|Tq{xY5}G`q^^8Otwn;;y zFVqj=oos1q}m8XRea**F>|+n$)}$GI|Wyd%Q(kf z$!ZNlK`;&E%#rbZ$3@adw(lZ_f5vseDN;Pnie1OBWa}AXQLRK@SvU3Vno2;k!#*S; z%)i#T=DyWQm?%kvZpU?lk!A>}y>GnOJMC4?x8a$=CrCSaH?7%A$U;h0vUi^RhaG*) z8nj}}ezcAr@UCaMrLPTEfbrjsN$<$`!3MRY@A>=rkEoy>e@8cE4c;EFiFuO+bNlzl z?R*aVWBN=9_i?c=uyNz!BO5k7TYJ9g;7G@*ckf<)TnvbpfS#veD)s;DtlW7a@(O(X z6Nwx2V@YP8`4!M9bvOr1w_`Ea`L`#iV!byK@vf{@7En62k{mA*3eeE*Kk^EfnJ|c0IX&}l z@kP~*Xu8KVhMF#hccHSf4YTxm(ji1YDPHo3{^Q521I}{7lgl8BLg=%$*fu<%YLW)t z)N+JSm;+piSU}-(bd}v1cC`YkmvqD}9pQz_#;X+|9-kN7BG7r1Aof^0KuBk5J6dXu zQVPJ_77Wo=EuxP^CTTn>++v3Ji#k(4Mog?$7j*K`drAJPBCaqVkYTv_cw{6ldwB{L zw4mNjH?mW38bqDs#G18{gBtLVChn}u-O*fu=6Z#CL*!^Sajl(;1@-=(GcEM zz|HGs!-4yaE*Ti_WyddMF5hI;cWBM;BQM{Pv?TMd&$cap{CiKzzbQZV98Fc-_@gqP z`)G4A<@De4M!R!T50oCS_~x-r@A*UK(~Uo^`c$d!E38mMc>&t@b#K>QyxYD9u_xvy zWlKKY1TruoDZ0UI@y{>Im%E&PgQCJorf|!fMC)aBKFo7Wa8c7O3>dU{>54aWQM*Q~ zTSP$a-S^G|@8WG2netS9o#Ym28Bxnimlo35;3@-n@kiM!F2k_{vK;zaFEVYVs!GLW zT$Cl#yFSl+Nurahthk6Q7l5?RcpX%4XjT=4^Ij8Yh7nya8TIru^&O<0`#h`Gt8SJL zv4v1)c_o*#S&GOnS18mPi8wLGiIXl>@Or&_2^hvFdk=m|Z?lOOtlcp;6IgsT@K zqwfmP#&vo`JHsJfs{mk>H_dvVueJFbrbpLzW;>S*iU**xuBCIZ~U67PibEs!n z)>GPk477X>XM5N2sd3ECXl6B=1ip~CNqHp?y?4|z*o-A(c*}`{(sE{-3PMK26OyOy zT1U~II*Q#4aRsScE9%PSr2n>HQ*p(rJv;hzbVQzX_c@>7y$2Dljunv@e45>M=4%71ZM-Vl~@&% z$uBCRFxoiei(f2-wx#aYA@NzlIspQ!6rfDN5U3$gJ5qVu$ev_Y)31}4R&ZLl>~6rX z(5MAZz)xt|1T!R6g%(MBCZi#F%T-d}h)fHhx9cCGYPj_|Q|GWYkaPf1U_CKGZJ#OO zXVwz)Lh(QpJ}g`zp}<5l!n>YRp*ieDyL_F)Xl^GY(KAgh1cg^~ukDT!*|bG2>&ik~ zu+(x&3adWZrydjZNzNCJHW+_=58l)(m*KYZVjLKYj`;Bw7RnHISq-szc2SU%55Y0a z*@;D-_x78v>4MLB&Aob1K`Ca;uMq)%{1?CZRCh`6;c&)IG~o4Rt@v%&$uoOi%fF>T z<~HsKr2H>PVynw3)BV|^0N_7JCE)#|Nz8n^?$x04$F%5R64iXw{Q3FbjpW$zu(zFA zCqJp=@-w+EX?cHb4XgcR0}5$-++?qCAb435Vx_(@1yu&yrtUJ{w)okntMZFDo52k_ zMS9gEP`Jh&))*i4pMIY~+x!vmgImK_7N}>=Z!j)5bKqLZOYBCO7Nrg%#;xK0&#`GZ z>jM~BTT}N-N%qSvAa-%2_2I45;D1{TyYCFJL@*dHY#NI33jjLC&rO zJdm;E8}~>M2p@qmY!INx-L)LNndQY@?CYA~-W*VFdof7gw9yw_%kZ5-npiUduvzVp zKb|a?+cvChAjC;JFd3#q`zi~#ez3<%31M@Aco0Eewbadv;e|6VOhRO}W{A5rj%tF1 zk_)2({QDSPIhRh#Tr+XRlBJjEdE)ByZg?d-qq4%s z!Sl_mrE8{wi(fAPCuH{QG_vg8z8X4}V^1xa{l=(R>9nlq#GQqu^IL$@#a-9Z_V0s~ z%!iPGljPA^&#-mnl=hlF*{Wd5r)c3OP{ZYb!2B~B>{&fjbsOvzbr6YPKA>c^hnzM- zCC_*xV2hWM3mZ9%P^E6A#G*rnpcd)o0|z2OrZUj&VuCwCmVN7Jz2JT&7p23dm9^{ zUY*EWT@BzKxXyv09pCiUl5IQo{9FavlvtrM(fUknS6=RZ7=Jb-R6Za@N^0+#y=p_Y zsU0Kh2gt|iDlD3Iq9C{V(j|NW)4xEsV0iW|X_6hW^p_cY}jxt>Z~sN34bD|6kE%)QBlwhg?N&vqO4ATK>=v99Z)OS zGKe=xXnH~k>r#I-JjaoAYs!62Sbz#8rh`ftTNl-b@Tf3r^hPD%CAD;H>&QSn6RB4_ zo_j@PAFkG@eaTov1xQy{*9>Qz>ncz|pc!S+T&?eVxo}f3#GSO>KZumOPi+aMjXXm` z#lXHUh6%g!+^M^y(u?jIc-5HY3W8Z&3Q2M@(HGHwn&Vca&}#(AZ-Vn%leXE@Vk8YtjK8zLjeS~LBKzm4>rlzSk=ma@rRx|c zuf026_3PuceHw{$&urJ9c+eqId&aSmT~vz|X~uQ*nX-Qa{bR2N%pNXs%~S$yayDzM z^x;%-jLNoppdjF_Sx&t?g1T49*KEPwL&W}f2ufVmzC6Z2*mCC}H%)2In+>U1?f{{VLXS2eTD~twtgLv)l z-4>tO=XDtA`A9vk4Ni@+QaC$l{U?>$U7judK2{T7*>_+rFRk+VC7gG#uDg#iwwVV+ zj+ojjV1d}_6pQNzMr6Fdj;M`nJmj}gwpFTrx$qoo#U!4^6j})B*)Y3@4NI4ka1l)` znd#O2ioldWE3SXTX zzm<+3H=vg^-G39j}vJf0BnO?X-wee=28(UnNo zox^ZmQSy%tUOGjt*t3GJy)@pbwtX@>zE$o1r{1?ZI9)nKLVu~BNK$1;_oJO6lnzS^ z7V0(t?7Qy9!D(sJw_dwtKs&Z*ME^yE*#KnJ)XN+=iF;jiY{nmTgFbj%_wmk*gZ!QM zBgC1hW^Zx~7LJH5Zm>Io_@`-wO7~kd#buwl^f+51RQal?V zxs?wScJ($$24HA08Ai-u;^<!!qRHsgXqKCPb0P z!o`76#yL(C^if?~aIjfIWpp|rENc4klqT45b!qU6;+0tb{`xb|p;bv+)ppO*1sgU+EkAQD&5bJgwes*^(MMhz zbN(y>sb70Ys#eEoqpt7yi_~y|9M{V;7D|eNhYUPO*8P7`kiA* zONnPu(putX>yd#rG=S6zh(UfGNaNnu1|@#8T@q_qi}y&~eNSw*hgNQiMJL=#6V=~; zml8(jq1HorOh|@?SK`!cm|f1-ih1>(5!L-9wkxOM%#gB4fYz9FZ)G*(SR>>>$2?&! z#nPy7vfL|MaxN!vI~43LHOhkoGptpJL>suDLOD)eMebtInHo!Ce*45Z`C}8BOk0bt zcFmFmk9YtzB2WgFj+lb9#G6vj$wiYrkE85uCR*gnUoEH!jrb`(A?cNA9^Zon_HT!} zdmCVzYkdk6!vu|{&q+r%@>mCW8T)^ux?h^z21X#x=O&Dk++;6)MsG;>TzcuE@_Xv7 z3xBOSj=C{N6)(l|%6Dq7`|p&H+ z+K?M3fci9mvF@4D+RjdmAQo245$fA}N66KtC4r4m=p*#JR-<-;NJxvSW0Ca|8fZ-rzW_I$wH+B$ z$EqO2vv?&628>Tkhg4VQC}O%P@vIZDljr2P`hK}aflk0;vO5#2D)E5FcDfKMtP<)H z^5n};tK$V#B&ni$!*!Et*}ij?IAKYc6s@-umgF2FT$a}X(6C3suzCe@J#0G_FuK21 z6Ozx!8fkymexLekmMZ9wdD}%#aj)-9TjtZLIa57QTyppOKJvz&>MWW~nVWLYrPyD6 z>cpP`lk2(sQ(2rYDs257v&s!Ah?cLzV2s|p*3o@ihww})Qpve(tA#6(<%Lz+#DYX#v@Le91((jyNgtBQaKw4e>VieCDB?vP&X6tcqKhxnJ=z zl)$0XOLVB!!5GQF4fBTTU^tGw$3~~gZ5m3IgdZ=~7qKdUOiF?`r>;CKpsABMsB@Wcn|eLD^;Mf8;T{;F5Ex}L zg{{yFu0mme?Rh4rIla`fCGL8ki5>deY?b%}Qal`G$5vQ(;Zo@GUCi0|R)Wc5Bp@yp zO9gvK()OOXFawMQ_Oy(XWmYHVHk$5fLHkHt-mG-4%H>fN5yXI)yvWHB9(s6e z$(otMEwks(d+o4pSzISu{`{rA$K<+HM?FUOvd5ya`%kos2%>?>zYaG)e~~nO_%e1a z8I!ooqXyV*f<Ni?2bM_ZYTe7K_^--Y#WnzoGK8ti8J?yf!D5431&`n%ZeK#uSQTFCXSA$@ zs%y6EfJ9EmFvi;eYlrODlV=k#5Tq@vW_6RTuD5OYc9b=~91m1FKy^yr>Z0N;p?MFLrC(7e_)!#g|DU*}kI(u{=E=lwP*Jb)?%~OGRk-jB_ zXJ0KIZ4Zv9Za8WDw;IW{>%iAyk5klGXe!;aYhf48c#_8T3X2AJ=g^`A+DIlCQ7i5- zKhU0e(`oEa8vTzrvcaY=qq;EMWuY)Y3wLlcHsMM8}sR<|D1T3aPsbkv9A`; zoteBRFx`Rm1ktqMRkki5=jdnoYiHe#{9mlY_y4dCovj40ZS44Js*`}+)EQs8bP1zF z^P}^>=I8b2NX&8h+QaICC(pOxk1-&(XMV3x`tOGi$X=WoIm^TD4kYt6X2Y#EuMuVG zVeXZ{>6{OMJC%7GED)#8?k`jmP-Mo_^{AcBTSOqO`2ij_N8~9tATKLf6m6kAk<&+-0Str*;G!V`=e~MPV6wBX%VF z^Qn+|`$x*g%E_SQTk+>|zTaMRt#rY%2j7V% z1vSqv`l#nNe+!wi;=pM1%TL4ef39CUtn*vrFxz~~*D;sf-!e@0F|s}GHE*ynb|1%6 zk>cZS`TeCazi{)Y#jijTD;x$>He!>oxgOk7m!7t=FS4 z+al~=T0~=bboT&|wlmSu!@ud%95N%?G!V_AwW69TsW21SRNGfJ)y+ zw&?Kd0Xsv8HJiX7l(1-l7Aa9DYVLcs)}bBiVqX;qMKuDGLX%w;djfiT|HNe$Q=(D1 zsoI&5OR$>z64po+TN<3#XG_5u+={EKuUWXi=+x1e@|hqjPj&Gd>hbq~++t6!{Ca4%G5Ij>jWXG({f-aq7d@(p^nCi#_0J#gPbP)$`2GD_ z`qmB*FzdAn_-zTykyL3$e+)ERm%4OKa>s3NuH*KeM_Xi`eOBc|i4DDQdqqCo;sz3- z&?pUfN4roHebodPP@Fi%Y^53cp=yGuwzd`807CZ=-J-E)g0qe#-2)gWk#sq$vf5Dj#S8^J>jr&=Ec@j2lXSaqFc zy`rF&!60Q?7AnbDq?WK_&tepk(D)f0W$v7XvnNb|l`ehn1inC$B|edW&Syx8?_g+n z`Isjf1>B;7@-UD^L%>Ew7_~ng5v2m{u7dm35ru=VzK*=p4pjo~Kn9jCb&F5jo*U(j zG7Qd z*;yWo@d(d3Q>$}931eZ{=`X2@NnKMa?vr+#s=e2!X7Q<5gNl!b7WQ1f^}UJ~aoT7q zF{^wMw*AJRJ`V%$AM58(zJDt8M28Efc@*&)y)U|6r^@+L3w3gERkHu{L#4I7+wghJ zhWgw;ODwngtyu_d6gnml7(APF;{GQL#)_}M*6#*Q0%b+E6PW{@!8cq0e#|c!EUwi( z<~&VKJFc_>gC#O5#BHk)nV=k=I6CsaN2id%E@?;Zfd})K{|OkP~tODkgoAn zxk8>^puG{6W#1&0>oR$4JiUy5!&@DAM&EGJAM@D{8~ShDij-PeCD<4Q}-|ZxTEKWQ-dr@`jF?buiti6@lWqmN=T-%}&T}zkPw@Yer9JIh03>TTet-+`Y zh(H>MA|N;zg5w770TfjbH<4o2pykRd2~ZgG=9zD)3w{SEbjeDfjSb9P5U@(A%HAXr z6Rc^Oz>PYL$`Ahf`w?))$f{I!w?@2~w2Ev3uuVjaT_Muc(z7V8w-u}_ENswrfCy>! zSMC13RmZe}MaR1Qu#oP89ZfvK120&!Ra0JzOW#muG?oraG1d!*U?hWUzsM|% z93QOPmzZSaw1I~=SeM(H`A_7W-q3a;RdHEUOkma7rTd2jY#hp!88Qn(^;XuHb|K|1 zu~!hok;7JHVn0dSX*HPuaAka}+UwggDtrEm)WVnHWp*tnqI|%UVbuKDFsL|X zfz4YCxW2$S=5#3x^y!@u`KZUavV5kCti|C5>a0ph>~@fMN77ybw!48L$&BRl7Zdwl zuEaKX8xv`5twHZvzt+f#M5@%<$v&4BINJ?Wg%`Hz@EbnI0fx3J^kyPty z7^}-&TS+hjb)6aAZ41^y_9csKN%l)m7^P~8#nY7`oU&1NYA6Y6#}1`9J4L%OUr7O#klli)bw)ktPh5HW0?4c&E-szl;T{pPe#8bAi@@d)UPwo~}^Nb)o_Rztu z`EL!$Oa4q=&(K<3cRidp`RPUW>sHdvj`_Lar(bV=aa(Z6V}xq=O;?K%l!}{C#wGfX z&1KY&HlOSwJ)b)6Y*^M*-WY2w&LOdQL0PE-+dxB|MHC`|YJ(qbzQB*6I@CVi=K|pH zHb7nbAE^bHkBJSfKe}`U`?#Pp;D7Y$*QMV$q-EF2U_GcTEyrIsU%H_19w;8wh3uYD zQHOH_zebC$WT9hq7Q@IK)IGq?MvBD4yg|%Q*Kr`TKnRs4#TC>c{b+FG-j_DN$5Dr} zT*P!;O=Dz-DlyHrCtz;h9be#zpf!9yjS1*Q{St&$XuL4-Q_3gwpNKgXM ztrLt1vD2_Vv7kkM)cg9DpZmNVhyxK3-8Z*|V*)bHit ze%6mS!)p!Z{`@kYJ^=cy63v{xdIdB`(k2fk&dp$~&MH6K@Dv-vr|08>Mu*vq{L7m| z5sLBwIW4Mv^cxRMw9&i78K4+_Ey@VgUtfXuMVW4w~>C;ut>9`4zk={gy!|RzcLktENSM}umx=n}Q zTpaUv8Ml;u=9;01vhv%F{~C6<4C=kXgR9l{&AG(CtR%8k^2o-;^^n5)>XgP&dHcpC z8@X>%f(*FZ#v`fKXEHxHk^hCzY%J>!8N^FHqb)Pe@{>gMh9z>W&3H!0*jB@<9~wI!tdX6>*`b19Uhtg_BXO?czwoo<6GN?0xPyW`SLws;e$Uj zA5-}@O~*FsCYTOc68Zdl-4H)#b)%c9o#c14c6?rP^4zi>yP4RKVip5vX?yPg6=ZJD zd2hS{sI=`q7pf2ZoqZun4*-S!MPTBtr=(CPfo1@U+OP7q5<46c+B6<5FZ}MoFXSRP&YVB&b zbMDAb1K&D{k2;)PtsMCa{fs>mo334c7JH)2f6TfvOaH3iqP_irAkn`UMVTdSwo#)qic+t_jS;PIa}6h6P|7UGaF6k-_Os3=U?h7S6|KlqkGrRcP_rD+Gg}Ved0(hXi14l zko8*SV`Ce=y#g~7JccZ|>OT6&5G+I|ZCh)1Z89H_xJa^>Z~z+N>~p2{bW7L1XMjV^ z&4#5Mz=^tbZUMOZ{Q_p!?$Nq}uPgMaT7IXYWjN$Nva;Zyi;wL~A}9y2dhinbbn28X z3;IDax*4}|Xs7HUx9q&^bNfyoToMRWuSDs~ex z5M?LIglC)Bq*uA;pM;fci{QST){vwy=D`!sTbJ$_*N5b?GmCP|PwVx;0+aBzA)};9 zwK|x^Z8V9(OeTW+J)i;Iu-7oHI$-sjm+gl26PfM1?<`!wE0aq#N8e}Hze%e`UHq0e+QuC4=%8Rh8bY#~D+n0byJSO}PCtQ#yi=fmt4)lJMlnS&QP&CdZ|g+Lb;#CPl%sQ!kk=RKuv2 zw_q*g>7^@c4=mFg?`^s{7;{{fxz`9lpg8Xu>`pmik4#Tlz4vX=_!)lAnXyZsI8bo5+f!h=hf$DF1%@A4n%?$%4RqM4fq9Qfd75537J^fS_nAkY&~Qb%i_NdOmK`{Or#K zwcEn{4oTcf{a#HT4fys-v*Z%zJmHhT;Q6^sJ+J&J_s7WJs&-O{4@DZ#uJS ziJCw@sM~71>I3#*2@(w3h|n+Z%)~mQsPMKWb0XNE2O8&5TQnaTg}_yCp-X0v8SrhJ zV%IgrEX-pW$zTJr?fCtj7LCTH@Xed!#fU}%04q-PQtW*8qiP5I-4H3`f>%k-?#D+# zY<#6DIG-d&;NinKFTKWK*P^f6Up05Zj~Fj8G@at8@`6SlY$fD6B|6ra5^W^@OKlzx zr>MHk*8cudoTM4KoE*32q<*=w}JMRr01$HHExi~4%VhmUmS6?^zL(cXGekIt?BEB zuN;K{k}D=41z#NqDei1e)DfmzA-=pPlLAV-8<1gV1-Km>-GK%y6czaOK>fjId2;jq zyfvV&p!d;=va{A7FWFsX+vicZ*!hza=(kx(i;2xt*{0X$pe6rk6bB6UW1Y%J@u>K7 z`@C`o$|w4p5D?(B+GarJy_86 zTD5R;*=8Y>64@LKgW!T51|;fv0ndJ0`ez0IF@s5}LGw@3S zTRRCsm)@_X`uuog$w=G21(o2D`4Kng0-vzy=ekOIObd zDZO6v%L57kQ-MZSIzRNGEH`8s9G}ru*QFwsE)~?YgAr@scrYpoq0s=MzoVEs zkBXacaV8xJ2P|4I^H6W~!CmB^)4owWJQ$SFt?}?8xCi?=y?@GlJ=;}*;RZ|NY- z0^=h}rvgVC{*(Sxdr^Mwz=82ASFZfx3UNK38qf0nnk~=piN2F8VE(r5JaGj zyrP$lE9;9GgV^+(+DM0*_}A_GUQ8hX7Az=kx#m#d$rv6(^OEfb@st4-5!AP1`tqv|z| zsQ96S=g~3vp~oNG8e4w?x~TvJ&_s$Tivh=!Sm}cP$8*J8QQu<#Wx=I4v6>zczuqTb zEXLMH+Sd<+?(;#R^&zPBLio)K_K~US z3^E6uhKTGMvaz=1hi6tB#S)lg5y+u}0?OpKFDECve=KxB!NalA(}<&6=HEZ?`pw5@ zF0NtF*POYa{i^TPt1FI`GM6O&-?o=*H{heDI{q)$`s1Bo_3bW^_IG4j8e zB&a4w5QBW`kCQeWaOZ+Mn6?D3!X6BayyO{X=veOOU(&`Yqf+5t}HSJ#Fw8ss=?5`W%1+AZ!)&STlL zQ+z;ebjOx!luu}V+0Bhb$4y)aT*WPim$a$?D2z1;rHiV|c^4{u_D>i$F9~$cC2|VN z!{a@LfUEc9-;>FnlSLZt>lC!7o^x0X+`0aB{ne`gS*f|(VCBDf-GGb$!gjD8R6j*B z6rPM}yN2D*St6sDBPO66JhXyD5NjIJRRE9y$XY3ihT{oMw=qmLyd6-p!_r8QP;>VX zbhwIMRoz)Zs*T9jf=3Do&LZ*Q4K<=!=Qs}r#-XSwaYt=|>O?#$o7TiM3Bw`6c}Rz( z5fcsMQ|tmk1B&frg*0AH(m_@(``OG=0%KQZvKFiMo-XsK&p3ZJtB=#LIrnD3uLqul zEZO?Ca^0>KUl^SI0B_-6*Y;)n5$U|I@AJ~NXP5l74ESixu$%%`mm7b(c4jXl;!C7h zW~0n8ZoGD9FJs%MNO4*CGrQ4>pyM11K4Vd&BRX?NMN2o<2`c0jkjU3>i#@M#{WbF@B%0Z_*GjigIW0L6i*u; z&W~~QMpPpG8d<;Z5}b0YT=Us+Q8$zyg@=&4AdFy^QV$MX!o=*O{m7duU=5pp-_%mz zGNi)bE))9VUGS@(#+@5HDafYX{=?jlfkLF1Ak-s=c{@l7+pupvD2tQAa9aB;K+^Pv6wle&gUUZ$q`kV{{%U|n8ucOnAP}G&S6B|E~ zpTSX-x~_nH*m~1VVdr$E8Es81FCK~*0@lDG4k7X*2K6d~R6suHszgXE+F)U$LAA;$ z`*FAX@qc4bA^EA9H@~2EmFVG*jvD%iz#1=3HKcaTwQ_oH-ra;@7Veu%l8NZb_u zU}kvYM5|L`b>Vr=&Y7yY-y1g6jQrjhrNL>Q6`p846He2q&i?m}S-{J-6z$0pnJkT_ zgXKODCdxk^DhK2~biB&VYFMa2TECKsqcU25=$zhsxDPnsh!85}5&XC$>)0{bNkG{- zIq9=UuBF4R4@MMaoH=)6Bfu7vp?KVMWl3`9`SI9KIdoM6&od%RSAb=suOwg~5Oo1O zn3z${SWYOj&}%7FI=aN!-e_g4Vo{w-*enObsRnCn zQ~KONlLB$G!eEMH%a4!&&N_?Ii@DB4ori(mvTr9_8AwtuTD7O`FM5V*o~J>R#*Hyl zgE6$ks)!pr)xU-d^27Fm9w(Sf4u2`dMCLOm+9J*t?zJ05Nrk^ANt|s-ok=tXY$>JX zKK{iQ#k~z#26x%@>i*+(yYUCBk2R%?mHz%|=b3-7%2%hL_T=KP=Uv}y{v`Lje(wES z`x&@AsNxlXOEWdqYMfu!*LafoW1&qxr>kR4N>+E)87E0N z3iWt1rCd08f)}1hz%3sXI!1ncjKfXd0U&mXxUQ-tdz>|s5Z)ppd*5V5#xV!htof&K zg~#H@5ePJopX2A*Qb~m4hUk+L55OiIFmWuBW+(Sx&o08)%0+v0!Hz-WWE{Yu9Un(Z z6&6p8vcrVI!RhD*^Kd0inJ7UpJoF_VwVongB-0s0x{{Lo6{%{RuVu&yJ|UNqaHJY? zW(Y&!9;zYVa<^-fY!_+J-6jf{wTHz70nD)m?MIruMAMA)-^5M@f=nSSC>@xyJzV|o z{uADZ%Un4Zt4nXyPVhK8Ik6cMuYH7Y)cW|EkRf2hySDb z&Vda6mmS#!)rQx>H<#{P+O+iSzkAZ2zWBqTXz|K_+|hOeiThvSpPuJEUM^_vIB@Uj zmh=Ogw;T>bIM2FA*=L3UUq7S{?44`DhQHl=p7j4T8pZ!x_V5Hp;NoMSLgLJ&nGW!C z5hTB!2e17zw`cmki&9$>>;mO?k5RF2M1BqNkux^Y|H3?;T~At0F;t7#=bgu@8>M;{ zO(3}}gz`4&bw23SX6h3?oG)HTjwu_7L;OfZ6b;Bko^=$qKH9sq>y6oTaS3+LtSXjB zQ)iTE7q6al_FM+#(FsV+BVP2H^&NFO2VzV~cJdC-g)j$z0opU8v#$OykG*^6V_cDZ z9xQW1f;?x*^_?RipeK`p^Ma5N^tiP{h;AErDJDdb7shi0LaVB)PdXwS7?5Te7_Fwn z0prFEU^MshWOll~Jld|V2!d*+AV70%mkAgnC|YU*_#tyxg&d zO_7h(R>1MF+C8~g>tDuy$*wG( z(}$`#=fBZ;g3FV9oZJ`cv}xq2-~6&24!y(2%CRV zOHqdoV@1sv2%XO1z~SpCMNpiViX?Ec^&<0|ZG-Z-nL3a{0+DGbil&rxHtIZzI-e?i z-y09lTN$$=J5qrocdZj-=>ym>)dIwbKfxL*5aMu(w17@CqFaBC2kC)U*k%CQKX;fz z&E`Mb&k6Q4>(?rzyd}7WJeuhdAp^k>ZHY-)^dCQm(4cs zpPsN!b2*g1x_;JgZxv$?Rv{nM*AGE8Z)Xv~kez)wr0I^x$tEDV;ELyX1JrfhzbDsD z1X3=g#2Mek;xiU~oJIfHF2wWU-7zYS@bN~gbd>J$p<4tfan-go{{6<90tnzTizi3w zFNy&F;Q+swvQ}Wi1ZaY+1!b9dXO~S&?MFg?6dEnf(S`5p~+5*!_6ph*rpu2y@N_8kX4!arM_c8HaOC)d#*9M9{& zG5hf(0l9%2kA5V}ssL6-repOKHei7cCU?R6Azd1R_avYT;}!e=T}P~J%!&83M)lkm zpr}*B{3GUSpD{Wp!o(i=qe?}@3s;%!{7WFs1>s-@eho&ns%eofL>RJonr9S@q{rd> zbwEV6O2Y5%y0!Ssa3q{%&*OD()hqe(#sI-85NrlBS4Sv%o;fNjXWgRcRW=c%Ts)j~ z;<4YDve9fk4<2T_+0sp`v{!duPr=qd&>n>XKD-^qu|2}U+u2_84L^BJ{_ZiiVCrK0 zYsKDSx0$`Zd+ER`GT^$-Z{1+!jOGpEc2!}>!Q*+KVS73llZw9r`c0;5LxMOV3fI`M z!swX<#sBuIekU-zT#MKr=tiJK!V>)UB)jhkiDXcc<#kz-wMB_^?(CYJ*h0QTiOC`q01`||{HISl$R%24t;|#SH@O=? zRg>2sVgedz_9_IgNI^=1203t#o^4p<9K^IG!6&+TTEMI^7`n8PJ-#IsKm?@5@tPpW zEQ5i9IE}J9$4tt-tpsNwO^=s4U^qZs1%=Hy%*U#m?7S!ugm&MlWaOzes%G3Pj|46t z&A!l#6jWt~2(VGY7=QsaDYKjKt{sc(u1*@@H4Cu;zj1XG^<9w&(NaOc5~c`rQS->7 zOS3Q`lTMMp?`VPaBMKa*UaJ4mdAskvTCo)VaP-@{o%0iZgVn2*hu`HQ<4 zP(cag-wreLiL*~{*lrCxfZA-ifFktY*Bnj+?vHOO@IEryfKh`ptP+QUqn7DJowYtY z(<>7_5~B)magOUcTF>yrtUtrot-LX9`?dXLduGQ_!`QoL&avuP7+Hg5O}afDw?KpR z^298n0BOHrh|sICE|Hmyj}TQsP|4>$n3$~lr&)lf`Z)U-SQ?9CqZyH{*K#o8^dJPV zzS39vYiXGRGN{fwaIzOA(v)* zjznj`Llcm8-KLaERd)j>Nzq{lZZzYaQEK=I#$;AI_j)2T%!zWoj|Z4PsiH+~&mzK? zwkIZryR>MlX;ID*92$a?un?`j0+PvD3Ef-&fEp-=H9<-l01c74P*xrejP2QG|OP9L1We|&g|8qRN z4)>!O52&;hPYXR7V-F1%s)rnV$=>sUZ(3hhlK(bUh$%mkR zjq%+(uy7v__0|qp-ww5g5X5s7bGy@#5Njub^15uXYB2U%(}6WfRulk&Y78e+vB7%H zKbf6~&d}Q*ct6ow>`WQwa|qaKVoGBM4WxS7u2_;vY?*5F=b`A3yU~7ybWf@>d)MS$ z6@!NIU%RSKnqlglN}6&Kg@Sr%6x`!kN4wdoMB;_>gdBjv|SD)zIE@W zUnN8VDaGW(7Yci_B3;ssBzY>NC(NclQ8WXX6n#R8$e@HMfVr4noAzc>j&yr`J`E}9 z<~CBwsnJlPR$}K(WGNx*8{e)XH5&MD__2>qzBWB^f9u2DwQ6yDQ5JF2{69uUPP!!h zGNJ1^iaNHt=R3-3=w|?O?hcBPdF6Gn!i$l21*t&*iHk?9fuo@#zYU!Ew#Ihgm=E$I zy&@o9Kf`v~YY|+&%zv0GBIuKr-y&=?jqH2o%twU=i&Cwzs!l6=pa8UCrM>y5sGL$X zcY7&v?Q`b;q#`Lj5z#-nmR!{w(3DmkO6g9t-0!FOE_lklI579xy^Jkk>E~DR>|VEg zFAcLll)MrI#Y+L~BYd*GP8P=a;^jDj!iX^-69LDnWAS$Ix!7Q(_w11?R+jc?XeR-R z3NI>;V`{?BIj%w!QHq+(=lu5H#O9ttWhb~5Q)p@w68e};tG1n3Fvttq-__+Nprfjc zf~g{iiE)IfjVCDB)yVZOrfL*TInibon_zi9zHsZ+UxNq-naKKJzFd&p&`UGHdNhD~ zUerC|IxCrQgC^{)iwWOBvu_mUcNwJC_N0~&xp=OgLFPF}toJ+I!CluDE9Ypr0%Ku? z)Zwba@84af1(GfDO}YXWUs3~zp5vrzMk~2QJ_4O|Fn!6^Pt}8ptn-^aQSuj07T+`u zzj!_gdHuBfndaH7IV=6Qr(XRPcJ+4ZZqJg8C3fV}UuQP=A4!O;TLLD6%#QJUq28;* z4m|ArgunYIxVNm0Up}?3|D&{nH#fJjap21wx5vjYS?jNzKAw#g?p#n^q|MXFuC2=# zMN++T^qC9*=c|jy=`jf)-IU zJi8n32uKI)3AiyH3V0OYRGu1d!Tae?Q$S>nA*?>23D05J)^pCuH#!!!;e74Nh)m{C zt+Yoez>`KGJ#vn}REV!9ahSbK@52$oZdKm?3;w@ezYujquMO=e8nG1BQQU(Weqat0 z0AV?fsHvL{a8Zr>nM~UnD8(r)yl>=V@+m`_XHvJ^TSzCZ!L3hL$1qSydF}R%cHK-G z3NzlVcIj0Sje}HBnZIV4bFUL_S|SHC=$N_qnj^i7-|P9(?$5$fT5*>-ZJrue8Zwf8 zs%-?Fbn{5H4r;@D-+MoHLG-QQRm+YBnt#2b4xjILzR#!j+U7s@FG?%ex@cw|_SJ`D zpQ=CM{14(jZ2JD-A-AHD5NpVQNA=fl=^CALN$_ULvyf>MeOn3eKr~V}_xY@)-;JE{ ziQ$o>{Fw|xASryuiF-7o+^{RiooWZdCRYe6qC$2?@%~+ARlvhrt}R6a0d(oU*_74T zYv>@#PT2DPaqlK$%LTBb2LPXD*YHL+9~bj`k`dB^@{o`Vm2Af@mxf1Iw*Q4(FMg1u zqa5vmH+|hx09g-V0E2x$Lk1L5$V5`XDgccMdvg)pYF)N^Ai?lBTDEwN-7$F^=q~l{T4@`^^iM( z4S3f-el%y^>pC0FzWMC=r-<_uXXrz7zW(=5G61-S`o()&&G6pBkc80GlucW{trP9F zFrJ&51eK-{V^ACe-Jri`FkNMrT|SgvP>FJJ{(ksRJf&bn5G0Zl0vA9NHFB4)7x&P# z;Vy(K7<_x_b(y*S$Mm%LxXW6NeeB@m(iKG;c%tth!X4Uaoh8%Y>Z=Z|ALvE_)}C~08lecmqwlk~x|R+=?W{GeI$02!yJSy+ z(&OouB4~Iz%XG*gGNKpTt$afkR$J4|&%M`f&BSg8?B&w+gp8+hP);Y0Ruhrzv@jpB;{Lic*KP(2!f>Bjz z&Tsqw;*?AOTcu%w1Mp{f=W`-hpJ@mG4$ZX890zklPJ(`#b9))aO@qCG7CUV6k2_PK z#U|v@wvm-QX@log6y3j?PBT|+dd^9@qoD`k?H9~^Cjezw$)5UjTY)!n+PZL9MYxQk zcauK2bGGk=s)Rs5k9=WyCG^r`}SI;u!^j@~&*0s><{8m)BM!7qpthxrgoe<~ru z!I1v$o!$NpTvj{-m3bHU&vTjw1Q%HXDU}6z23Ap2tbysP3X9E#&K;dP%OnOKj8+Bn zE?GmWQewuR5K)(G*CDlYc>1mYFRC$^@2JI*^Vh=goj{dGtwEKL0I-O)a3YOaW;7?| z9S3<*sN2ju&B{hqo-g+g{MKCy zS!S7yy(98Vxj_lB%+4eHJhl?eV5Xfw7xuI@=y45?;nB!;YEkh%*CZ>Nc(9=K-EXrA zlob}-CqIBT&+_q~jDqn8k7%Ol1qn8T;ve#TERG_);We8xcSS^ci@!IZ@)#(pYmr~r zxU=4V_42KA=iXc-Y+O&^X>=-g9b1P8-og7+#=~4+c7q3}dGaeVoo>XT?1A~P$Hn2t zPsugzMg612s(A8jJjWA};ddekWQV&8%t`XKG?7e$)>at-l%|N71l6ZGxjn{J3FU%( zMJbADFqpWbb#^@$no?Hu^o9k&Ns9GNb{RdfLLw%@i%EMV^5R;C#PdRnB<##(7VZ2M zxE3Z8iVU;*l9F5Lto^|5{nx;gOWv}o5&kj}-am;0-85Iw+3k4pFnzVmg%U)s)~7-B z)oKCLImGgx969HP-uo7c?y)Faj6?P4>1tCJEv*NnyZmJR-<65q!}h-0tgP7oeEGcC z%U>t<$-WHyyZe-W$CgVM_aLBeKUbgzpAOty(+XTSPQAWhF}nccP50+g+Ji#@W&5>s zH$c>|_vC7nVAJd*c+bXMh;{m~i{s;(!iyU@!*=h-3R*p;^L^maarV{pq$hmG!kr7K zOZT?@{RihYJz{`(;RDQLyJ{Qc(eDmgUIyf6aPM=vP451qK+3L#r^nd|u%Q%M5y3H0nm-wyDcHJz_SW;NSy{N-nA=gV6u-oXAbATz>t1 z7q8ESRyW!Zmi0bkzWh(X6KILDcN;|Bf2~;iJpBI_u|*zPL;#P5cu!X8-jq4&CMW)$ zd>Md&Jmsxu2K>CpL5?ToS?jynP(5P*4v83-zQ`jgWnBz;nwW9Bp_e*#d_2{_v6a?q z>Hr75KL%$J8yv?IlSJa;>*W`!7cfuwR9D-249GNm$;*qnAkqn8y)h|<2NOuP|mST$p8URKo7LM(> z?6gD@v+}+PqxwtM%&Y{x8?4@WQ9a6$=~b(jA#$}agrdEH#ywKqYjz?!&L=fiqP)Q( zI5`)?Wa_4_7DfONdCJF(TlOwz$mpBT!2N3aN>ajN#{48W&CWK`F80+CUo!qf8M@Ux0r|Q%3rkn zo%-7;!t_Htu$o*Oe+}n0jz%)Dw_4-u0t#!NpZY*O?bY8)jQXecHI1&y@=_ z0r@L->lX&@uDZ~7`{p7w&e~o8H=Ay*!o?I+i-M})Vd)2RBV;!Q_M~tq@fiW=4AuhGA`0A;rTjJKd=wkeeJ)e}tF->_?)>-nX;bHe{u(2h#ULu< z*AeBvY`MerXZdMLLGT_^4>LIDQ@ z@W7Z#fy0;5z|93MDbGxslEI}4uj|!{kxT`=o&rK8$?Nk&p=1e_SAevyf82(lc;_+v z^OB$EttnNLBrQ|TU;!ngl4drT4VA{9WOi==FHdNr zV)F3aIWW9Lh@Fz)Mkq>Hglt2;VtcfMe}*+Ek&7^w*to$%iZ`s9z08+Ao09%3V7i-{ z`*GX6m(`Zbh+OU$PoqQgsmSMZ0^h%mYWAY>BKD^g>S}X z7gnB)T7_~4k8m1&x^Isc4>1wF3~Ih9-tlq6$zcKrzsP>Hg}nMFSKDlyHEz%$$Rm6p zk&6roh*-u&`Y_zFkGMa9K3olQxrI_^q$4QuWU{12OG?ozgK}+!(ri<}NM@0UQ0YiY zE5Xtd_!^1_wJu?_m@o_>Q47WH!HG0J;OhzZbv&=Eu^txM_MCMX}>4_YP<8MIqzRu zXxw3{uJoyg?#+Yr-hksL^4!Em?*5u3zQ+IR|9kA(KL2SpqWAQ>@9>X{nP}FmA;>sZ zHL}eExU2*fE|qg6m%&uF2Wn~CQitzV1$&bh6wVAf(Re6Ny_gbt=2XwNhUv32G*ora zhd3m)UI0&aqk)*zSFbo>YyT(eO76t>!1KEBIT7xW{XpDdfd^)ZPptWs-YpioD9S5( z`^uG3=S$Wens}xbCxJLwZ39E`ilN^da zSf;YzJ& zIVOaF4_+37MXH)3+_Z*QePAADzp16%|Dv-^!%pzS-)QV>udXePg&vLPZ8gI_z-36+P8Md0kF4D zJP3R}3vMxTS3tg#Q(NY44ir57WghY!IrZ|~QSg4Hf5e1`PbgXGM#ZfYYS*qGT}5Vj{g`z?L0k!|5SmZr zlQI)oH{nVQ?a3rwwtt+#sekI8r%3(T{Vfy+RjD0rXB?zx%Jc}k(5yK#3rqdrP_j{z zos6m?Ri2Q9m@IDn_fZ;4u# zx+!reS&fs*dn!$Kxy{es_ckm`h2vgh=0;46>|P_~3ncZ1YAqPnTgrs$9ZR{R?plLh zSuYOg+p(is4UqegnjyvarwucUyQtMi7mr=v6DNl9*c6BEO2RLq&?!I$RW7d@l3PNkJ3KNopW}Y=)}ag24*wRn+dA1}GJDD&%qZzvlkAg)zC;j2my^ptk zvo4SDQ*}g%XHb(k!5!l{NY`H&4Q@j5LfVpM>GSB3W$^&Ri|-z_QWLar4qvkzs;VLvIxa^+q&^?MdpEV?Jn!h0vTQg7 zb!mk|RVXz_N9@sNsyuM`)^}h$sg!y(NQ8WThm#2)AcTZa=Csd~jbcV+@tH37AQ!v? zq4)HslTJr!kWwFFe&-`Ls0%ab>zEWntrJO6la#=_;TzT?Nv*C^V?m~Q_5JgvBWe88 z7=J|;k%!W2TGOv@#E#XeyY<;b`3Ut{chwl9TGL?di3nYb%a&Rj10vh{xIH;eLLnyt zB9Wjv0`h|MQD!v>a)JUv6;_#*o2WaXAy)QzdVS@T#32OHY)gVjrJ?H;I1(gVffzBj zplplj;U_z`0FeBKdR#vYq=9$w$PJWS1j(bh-dQ zpj6N3Ws55wEZS;&Klt0-%!77-XtgT{B1FT)(OCfn#G-Np{&ZYc4)uFi;SyG?QGzVc zyl8rOgijd;%ze9=5WpC(<@GSi!cYUOazxr+2)a`HX6t#Qq_f%RQ#rmyc__OXj5gP3 zND?M7d}^vzBJCEBD~`}>olXNdTp#78>uNkizTsL)RAZ#DBLMGg+n6=`HIfrr8`Z5b zl|J4zQY|t0u7j3nfu!-jcHq_yHqxnk1Y_Z20!v&?@|x^TD%P4UQd5`z?v%# zEWNUt@tvC&fc(COk~fDf-R11@ckbaCU?SJTSo*WQe|)*1?D`)&hbTpPa$?%bOL2$3 z%=DF{;GTbcDS=pwyj6b!ytsH=>NOvquOEQ-iQFH~hBXl{_`iFw0 zvU0gE$(j#>xi3&W3PMF=LyvUUK3uNKd-^YN!%96Xg$wRZN03{?r1hf49fc4VB> zS=_CKWwjcqWS|q37g5*tOcbIk$UGr%osw2kNYs|OVEySJXhz}BGts$IQfXkCmG~3dfWu0j zFtVsIs1cKpAQK4>Kb9OKsd2RlY5vQN+A?Z~gaKw7ub9TAB!>8kp=D&8s=x<5q;ki@ zm2TcKCZ-wMtEb57tM;!dWsfU->; z+&Baf?|_=88i51phZ>EIw`B3)2nt-MQ$yG=N&hYzEVaW^Xk?-2ix!li3T!4YZMCeb z!MBLpo#h^QanS-KqJiHnIO7~*^ZCp*6M_fM9(U)}NVYHBajO{p%bESVdfB0@9DqIU zhAjo<@#C~g?}6W+E#>IIg7VJu&U-=0E(3umNThpacr>SAgX09pvDxn91i(+FWbhd7 z0D=(~jfB(Fc|(M5h%QJ$Q5T7zDR-ae-$^^QLVqX(hs`eum%s=`Qk&Hv}Bi#ll@o4`poUe zzT7*p=+@`nV^5G7-vSq3d+~3ptBYFq%Uxd>&-Zp1$2H;JvX@66*wz{Q2$1`r#a-q- z>(g}ZA8+#(jbC}xFbM1w#kC}uW{|D(X)roL*f{Vlkg|WF+UwZ*vB;kr@~~zdF33Y5 zk6W5>@Y?aC{klfbI>w8xN0FedjZG^(QEnTK;jGFd3^eFG2b`nuuWA&fnpCj0O~XBN zRO#;J4j$_z|MiPJO71fjJLZ#pD(G|{B)9m*+E3TW)>WDPUGXT?G3wgsP+Vz-KWL z&N=E;5CNwE>)Q2{JveNDI$cvvw}TL%tkIfzy9A@5mFgyxc}ngNO`BL6pMD)zhvjP z^a7;bKS`_*p+GE8aHpCm=dpV;!_qtw04xwLAz3t#o(pXuv*Gx>6lk?ZA8EtTbFu0k z6KzsW>xI|v>8GT9=3|8hn0;dF#89ANLinx1!W6mzkJ`E?~U4shkt zm0o=x9^HPM<_?PwiXZhc%fVAFsh`G zn2enOqR-O^-R?)KO$`uyO>p-~3#;zlg#rsJa(NXXS&&|&xno{Pq4XB{{FsS6(0h~w zo;*_nNHsD~;$cts&~VMc6dyh{j87Ed7AB}OUN*g55>j98PY9`A6NfZ*b>X0ct#ISB zAuzLj_?{V#mFMKcByNR5VzpD|K*oUETTSG?7Ir7=m`j^9umG zPy)*lt7gxSMIq*7XCrt35<58;4o@ahjQ5C@B~U#4y2pN?3eNYH@dmJ@*QK_6ftTWD z^1@xG>W$Jcxd5L`9znZqn=?POL*IoOm*55Y`V?lbK1(`Ro!6o z$@#Io_PDkP6W-e$iFBS(eIG3uRJn720Y&TfE;0OWV@d0NgjPioE0l4Tx zjy%xIG(dz7>07hHHHDBZ1+Pk?WePR;np8!}P+7R^tbTlXcxQ5vEfqqt^<52FUfT{Y ztBw0`pWflVhX{%Pv?CgVVINX}Zk|M?N){^fa>txb(?4qf+0UR`~;Zkcz1 z;%o7a2ConOQ^xIqo9t3%@{xaQ_BFNRlM1gKby_@cTiMspjl3Q%)KZ?C_S4L)Y`hra zO4e1|ulZ_4{?!A9#;T(Y`7_%sA7k0hrA#J`7gb2%=?zN?g>oiP=gc>Tnw#u~UeM$CmsSSEO{wg6%mkLzif z@l`9~P0VE5;L?Q_lmK-vE3DA@7v~^7)aZ8T) zCSc13p;B@guI=Q(@`646)&5|L}24iVjooaIa#&e2rO5u^tYY=huZ7m7Kmo}T?$MI?1MP>9kV)Y zoEAfj-$ma?krw0D{C&35zk<_HoiI4OAy?+CoAC%;2k(qhyWBMoA(LB>YlKNvbP7}<{1AszYRw-ZvupHQY zm{_?t$WgrW<42`!X;-ik9n|q7U{(v(aWt`z)oeI%Pl0$g2Z1BgJ+s+^YZ#!*+ddCR zSBHwP`B+CmvFfZiPtj=^l;x-Rr8pcosDd!Gh+KmqG6vYel|Jk>-Ct&_`^fl7B=8A-LdoJhWzsK(CxWIJ1=0(_(Qm4CL6twbEGjH!uD8JMVTht9I*WA8}^Qfo2 zlZG)yt-%O$g*ovsIrxGx50;?SqOx3aNus;WUY#yy9v3CH;kyh@nh;7$%p-J*X>EOB zwEAScDjJjT44Q<)2a8PToz43s*!)kDb}8f?WPhPJsuP>P1nBbDc$b*qYxf`9s^^A> zJ5bWiP_e~9kaV4c90k`Iwr}|Z)C7h1h;GinRd7-QQ%I8CYE6WaKWR^UgwDV^(>PAr zxa0S3I;7R$AMKV*1l?M{W{^=pE*!-7bD1+ksoN!$sVV})J9O;#`QBp>a-OvP^WS}6 z2te#$%2H#vCc=f$= zbHQ7+KQt%QzeMEPKfeHLwoH{v)^fS9RvSwY75#BGsf~UAaDJzkxYO7A2A!?j#2uIA zRfXl0327erE zKosbLtnTgJBL6YrWw2Qnmhrh+z$2v?hkyXy1R!Uladrh@J-C@R*Sy_*5oVthjaa1*%r%YEI7r++=J!fb83@18I<$wH$PuMzpg+05pj*IAH z(usB7uL+3$`vV`gP8>r#Q-+p{4C=FwYKg$j_?^{&s3x{VcWl|7v0Kh?EBADQ|{3`+unsUgh!BwO18aqe#FohAS3s!u<3;992Mq^?nU_ zg`w@p*bNja7pgIRol<2=G^86?d>4pM)Ry~hDaT{4`fg+5-UeOYA>2e_D5vj}wY7i@oc&n-uBbW0}g0czHkiAA3qZW(LHcvAhtqs+m zv%%II+IxI4Yx+*=6WnEWS7*Wf+TR_xm^bBPufms}tG0eu$}$UL4yXM{TJ8n77XChT z$Opr!diLX*qklwxoIeC?ZTl6u7rYn9O26>{cDAFu{y-&6M*nrl=iHmrvVXc9;N@tv zDsK|*aqyaV=6Oe3*i$wf{m=Wrt(!EUw7OPTx;s8G`6LWjf!C=bWptYXj;fB9wW&%> zsoQb_>Rg3bq@+AYBvBCqeBUfb48znX(=_s>&D78X447uUhHr!&FyXHfu}Hk35cJq6 z0C|W-Okm_-0(n{Av(d+@V#m<=K6<1>~(#-m|bL=*K7S z;C|QK{_9lxoZ53m@@&m)#~$YwQyim6ik5Rbbg?HP*WFtq&%Q3aiML1gQq=(8Chdn^ zl+6UGg4}EO-`-KSaj4^xWTUPb!8;!0ZxE_#awrO9!64fX4W6UVklM~*VZ=h8#fq6Z zmqMNcfF85Wz9X;U;}89>ZvQ?*dGzVY)^i*4Mo*2r#e6E=8%_9&@y_YUi(9*wwV&GA zq5Ju#Q;d@PmE2F?E%JO?SEE?y#x{CgS_z{a10@6IzkK?ZMg<=dnLczZ82;-g<9w>z zxQ0=~y9%1@H2P{uIg`G<3opvqfELkUAuW1eU~I0p!E`a+CkIi@g2t)YDb!hWaoO!sA z(_rucP0h8Z8KyQ8ta-sO(FXk0`66xkI>0xIZUrev6qCIdaBP@S4>w+tg8YY(wbRqT zwDDlRE4_e-I9$ZAU+p?m;?e;gVgZuQj_Irz?{X61@S}j0^y8XwsDiALBHUb00k)_BFiKgct;O*IEs2Tm!jB2C69-Yh(k z=PgHX7gHpC(H-wvJ~e>3?u! zj2DZ>`_T|-Pz7LP8P#Gnka4bDCsoKa+_=X7(2)VMQN_$HhLIYahLDn#{c`|WV&f}_ zttO|pAI@8QrEswKf%Svn+eVvRAdxDTmf*j<=Lb8XHJYN5*fra%hh?QD+SD+F1Z!xc zKd?sFrKU}!c5Nusuan|b@#oI@YeIQs9GpxE42Ues{J5YDmh}d?Kj^Bzmk5YY3YXjgZ=S~h zb*c@l%ZukoZ6M|+G)Md9z{=vhf3+~!BM%H-fQ~8~a-dtPFt)?jsFgynJOC_hWHh5n ze*H$6gBiO)#A3x%I~WTuN@QU0 zP!^lr3>O2-F2467+be*I&qxRWyzq1&IVu^C65-yjXV-hg8^jm~QM3Vz!h~z|#cWoI z@PapouGYjbia7`k2TfF-6qqp;ku-t*bINZf0^FdJv3A zJIQ5JBS`QSAe)2;Lv$GhB-Dsj8XPykl+0E5_C%hvI~`2A-9Rm3q@BE~3tsQsLvThF zHzPSLNK`|DOFm1ghCr71LAsDMD_O0^ePCTq3$9b1lW!wK%-%litFqaHnYX+;yX!wa zUw%>a=J)@*PI!6w?PV`YAnWwZ+E*Dz1MdCv*FS^L%WgbcY8*uV@Atjs!HBNV`91Kn z4U8eTJb!HXptRz%73gi;H)g)_`W`+j7rGoQp<0Bm)_{bM)ti*4*fN4U|2j=*-(UowiMBSL^?M+=-+tqnPe`5ECam!;BW;k+dp< z>6?eUTktihssN^A&dlR>jI#*Di$0vrw|9Mm%E~QOW`7KdV2Pq zecHWO5s2se+)32Lbd+z8ZF8Am<^;lw0NE8Hq$(<)b7eq0+a>7&w!@=L*+laj;~h+= z01xYJBgX|rgNp4M0uHtd_0HkDG%mHa-{Fk6>Omg~4?+Qj^tkGP$d3ege{?~JOznqc z+AYqh9!D?r_UtbH9JASO8HC$mntm}t1K?4bK>fIu52WEUjkmM9Vo{I8?;&E&^opw( zE-CO<&FI!_W}yAz+<%MC{BmW-M+crfKl9?s{jEKJ$o{h6u_+_d?}D!@}W(x`i6}m3_gw z@XXXpTM;XDKFkb^8 z&pUoCEEKV}+r2sWlmQ#UBvhYfCOi!ngDo~h{-j8ES(#-<2K zr3`(I^TdP+O|Jrak+?i^zD&AOv0jarNP;P4wPHq00ZbDG07?XN@?lpg7d9n;v0O*0 zXikN%6(hX8u*Nu1C6)qbf;*^YW*Vw@3eK1#`|8KDx{VpAUWes2Z2jS;xjHCHm86Nk zIovtFq-CuDrBPQtIR25KbWcE}*4SqFStVC-O;mG$uo5Vz?4~uXDERK;7yBtQ{FSMv z{`;t5HD~$vcfO2eTzedX(cSy*w{hqRF!jj1rZ7{7==gQuFW%W@U#;H!4zjaW;li@t z1ujxaI^0X2`JAZW!y?3}>kzQfyXDeniONmaNo7oER`>xSWIOL95I&n3HRb+c@WaBI zu!Mi{p>hr+?_<^AuH3k^F{qx9!`bUj5}0Pgc*B>Hs8O)9uK_iU$l4dQMR8EtdVcD{kqEI%di&{6+9_JaNCO#+h*TzHItJ(b^mlJu{#EPSesmFyv z$^8O9u7PGA0$e)$HbqHIm$r*dkHjk^g=j9*qSy35(CrK`G>r_ima_n|nIKeX)c8l| z9Q~tcgHuBwC{T}XIR#<_S)plhLdr+yoR&eWGilLD|CIJr1Yps{5$`;aoNH}{Dwb{ zFJ*4=46a{^q>{Owo6!|g$v-!4fHKki$`~zsUwBkx8l4ng7y+z(5Gus|^`p;A!waZX zglx4fEHl8@{-Xt=aF!`LchZ6vV>XBH`kK==mGaY0`L&w#f6p!%C4eepASzSnaj4QN zI^d~coh9Y}r`8;uxfWl}cd=vQ3r^J0V){r0;xbgNL2Zgp&C@$N#bQj4LR=s-HjA$4 zuCQFd1dhdSrg@Yl0V zmlVzBouogA;gaJ8=CNVLTIj-ospyxybxALt3s%#4d#UASF$yyc*GTa$n7n5`y36fT z{uBue-$>$^lQ_?xvl+DjNQ8rl6k4yUiMa zyBHi#ke>9mCf)aRkZ2~PgosQA32p(Zv%t@3pA({B*i)IpQR+^vA>+{g1ZhuNF!L(b zFrHvU+31iXgIriLphj8k)JHuOl+lRs%q8QmNlt!qBpcWdkO&Q2@^ ztSsxnXKdtWHC^KYpR)5MAFg=5nRlCYit^~}^8HEcBm4!^QCEwa;@5OtUw8WChlgJL z8M5}HfCK-Sv>ku1{p;!>pMzd9%$D?LpRk@RmAvF++dFyt->&hjd;Pk0XG89Wa8X;; zvu$sEbfhIa8Eq=Zv!jv;!eSL0R_+wI*BHD{In{^V1RXFs4Ckti-f` zGM|4`j(}T#2GrsNJ=)>LyW=GZy!~LrUeIK*7^iMoXi=lzwNl%m0D`*5Um8LIinb}e zDA_1YI{-Pu?y+aAaVO?-CEnU+NGv+9Y>;r)WZ}*MRy0>1bj1T;gCbx4`4RQTqN?}r zoI!EM%@Av-c=^++i_61 zbP5w+f?jg)p#OB?bMzQuQM~8{_261>lVLbl8>u}QIkrCi;MJ_X?6DqTc;2vUK*vV0 z$DT$5>qJ0(E@o^t3zN%+?EpYjN|Vtzc+M6X+lK`?2|yR@+fCLP2g4Q0+^A9p2}{9W z>r%XZ7WOS=^rw)OyG5HZ;efG~WYq;nj>i>EOAL6jQmC=QzUuxtd{Ktgg0w*y4Hivo zN*6Ota*`?JiXCUMRF(+-m#XM#Vn0wuZuN9{p1CRoC+2 zt(Q-)2Y`dycIRS$UrPVd&30@q}Efv!6y5qm9`+!W{Q zO4rgQl=(aF7H&)Fj&6J1d3}yvv~z1W13X4;7_OOQI;|*ImHREjP3=Vs z9jdc6G2d8e5v)#;^z0lY8n2it>|oCI*kqYBg_R6!?-qnOisQP&PY@w3hlQ@{N>iGh zckf%;4O?|bEt+<8I6&85=}Lj?nP8)m z+@v4RctmQk8;XJgR@$X=VoB7LhhzMU-ho$nf$?}RHykg5 z;jtVb@dcwA3m0bMey;dczo__xX6Fxt(NAJOhqE`o3I--?w*6<~3>+;Q4YSjp*~88+ zG*Z{;YIn7MbGZKQt8Cp%v_W}w*`scbM&*#!H1ql#30Nr~nIH-O312hz-^uRX?`ZN~ zZyA%RN+qnJdlOi6dMch_;az>a55C@Vrn5P)fr&ezm&G;}AwWeWH1U`1Kw-VR= zLpu#oxFQBdz3yI~8?X?9o?S|9`+{{MEqd~hkLrb2OV0XqlGLRB*u>5uG*uJMyc5Ba zIRiKl)Ee)4Kk*HpJrBL#p}Agf7opL`X{%a({NsFr{m(P!ZIS%rg~*7ow8ZDy^7*0{ zNdm1H%Sb1JC^LhUS>J%HJ)KCjqjKY~I*{^o5`H=2k)u?Zn&uxX?YiAzAC=duh%QF<&kP?lO?PKKU`Z)1*nay6nQWP=MVrU85$9)vy)I!7TA&kX7fjzwdyXB z5+swy2i1pr^(PBP5Ejw9k~!nI#~c%A2X`hgGw23;G(!8x*XCH3qUk;5SgbIWJP11Z z4JpILkV=T+v6`vf(_-buHbVfhDuTDfI-uR$&!&Q}96;e_aUlZ@G5{b+D zxB=04Kif9OH(^!cp5JP`YwFUg;5UEjm*@+)F*v2#-+X#3o?d2>G=zxp&{LSAI-Bdd zbgAuS?bBgn-~~7t>gqfKSkcfNj5I`>rcp3r6`#Oqls`2d#TR0-Fkw?(U3t}ATcmnNdcD4NcXM$@*)4Qhp+l+dX6#P$v)2JMN|A$*t(h=5bg|#a z%p|{KPGk;2*>9mw^^88xCx%SOrSM`*C-Nvae4>^(3tSI5$R$}k=ZqR(tbJmIDXh@k zP{?|XWPH5~(stQWeC5>2nZ0*IcH;=orjrSwG{SZl!s&n58NooavzhFYw|)bN&pWof zC3>{ZhiiO)@BGfc(CO3Ed(|%N^-=SGG%Jzt&zPB^ z_bCgFuwJEdp%(7D9D~2wVEu}1;n+oismpuev2feE@~G;q!Q!;ig*~=&OXH~{zdAZq zRm!wn)6ErKOK7DkBWG@D>XkEO7hpNu0Hy+=XV>BHjl*#Bv%JDrp6c4hBRe@Pes%Qw`hxz-u+gduh`4!}ZWpGcfmS=z(W>qT&=A2vvINmorsF%A}X za4E1ILY{|Q8Bp3dez{_}Vo=fVu+%l~%p`0u6;c!PabJGiSkNUPkj!KWfsYEMj?`%n zo277EdASi9qu;fk8Z0We7zIUsbS@f6f>$^Dz!NeDqD{nHMh8c-Y6)rtutNzRE(3VKPsi*i9+f>u1-{?Qy7azns(aw~>&AvRF*!Tob$Y%bq@O>tcG9`dDggEg-F9F~fHIjXG0z+HQxpU$PbQs|n9nt3GYBy9u>>~)!&4H!y%6=!>LT;Bz zq=e;=gUW{n)cllEui^^3w>v1{>qZKy^1*Iq!BzZkN;8eDwr0SBv|`#}sZgZm(T##& z8*@sAUluu@@vU`#KqTjPf9duDD?9@xzOmsT^5w3>>$il>)Xh9R{SCLXe%Vj7*{3 z%HM|&WG0F_J~M_-(vZ4*iYfpEOUp^Y!+ny0l_d0_wgRV2KTV3T`yMgs+W6rT=tH3s^7awiV#&o25q*apu8>am`)$%+l=u= zomKZ3Yk82!n$bYP6IyCeq2b=8VV%Ra(ZL?JPNLJR-mV!W)(Dfa#tdt!w5!Mo`EC!f zvD2h(L<*`Mr74A=6D5*&Cv-p&-QSJ&mlVZGcqwI6udCF6dP>LF!e2;0e7?y9uJqF2 z>@b^1Hg1_vcFIOjmgo6bAJ}^y^vMsfsL5b~ZI3db8l=L5dcClNPH4x@7$_pl_0#DF zU!up?FgEP=UG)j~%~gMnL^kNI7yOfV_fO}8K|{%T{pxkbE;#%) z@jO-%l2Bqak4?YnV;+0@RDmxa9uDKJgWHjxPfep;{-MEJ3ikn#V;iaPM2(%aH>f-c zH;bnLY_0zyuc$7pw#nfv=Gf&-*ct`V5bDaobNVhP3|%CNu^PW?fNuwzODPsePDVCe zORkBHk|UyYxPop z$dzbNj^c;jKYG?5YOpDkQI1G)#JBuFFXq&ym- z8(*rNg7Z*5%MOX%fx5f#SHZ{cEQwvZiu2+g;?ki^y+`(xWm`cChu?`*$anM#Sy<;vmBpP;5^bLh zn;fXcm7T%r!%7kW&ov@gLu+KLYLwLt^(Niu!s}vDTHspEem%c@v2V(oHud^v_uBLl zK&^B)(<^-s4=R*ooP%(9M&jK>K@ni{Yt5V!hav!+38!|%nL0t!e0g;G7NI4ySyxUg zp}Rp;lMGiNQO8ImWhYWcp!d~9R)OZ6vvUUM?%>7}0HycLK-A z_U7u3Zd!SDtM=A?btr7%$+PTd=bfJoVQrr#iaBA1)wJdxDSCpp1q{O9X zzgbvYbxKFtepI(#LbBi6&m`r1aOJ_f={bIebA}_P+EnzF&EHogq}3aAUp?CK{sQ^klJf_z)N-c# z>tq(Af>lzc&es7pfqJ|G<&INpCIJ6-s6WLAE(IqzT7sneFFk4;uJ|R=ZnndBlbWSZ)1bZY)JcpJa79Mp z2{vKzsE0qCy@`3bsI%(rQE9;p`BT;Rz281B@>%$CQ^}^STkFoPu~+@}sTvq~50C>p zPX>Jg4_!|QBz?>NTv+>BPH;jX8GL7c!5_UfYX7|RUZNpxB7?w?*5QQ_tF+@4mvPPV z#M8n=&KEv=_V~3{@lY6eP2?0XJnm|#x`b;l}qDoq3odlx8lrG7c}>ssVm0T}Z$^A(&U^=XN{Vn-o5|C;pWpZTo!LQyRP z%Q`Wnx|O1w&4gUi@vu$l8*}8bV##H>!%<=&@^L_dm-ul`YGqf94k5 zKM>B<>*D*5SlrmTLhcOSNV<)CAo z&H~T=nRC=4OB_les&qiUj}+vtq7oR39_XY>@#?~s!_&8_9pZ5$thH$)Gc%sm&IJvB zg!BCbDvw4}+*ukBf&Y3+Z#v9C(~1Yi3{?<%6m6s!R}nqINLQkF%sYAhtq?1LsTk58 zE;_F7B5U&FA*Mp~&qU-SVW@7^^15sJuUO>t;_d&izc6OArwJQx>#WGp!*j zAB&}1`KlK7sHwlJ9bZ^Xon4fC32EkjT=Ul<7yFQ|_BZ7*g0QmsaFsTv&Y6q4e!J^I2ykWSVy^RE`1i1Jvb@Gbr$ z9a_H=a*U8D5+_E>dQhi9H^jv!>k~M-(4AHGH+_49=6!HTnE=*6cV{w(!b1lO19R>plbBfd$=8aijr$FE@Y2lm%(p5npAAk}oHVug?E_|E?b2b7_2Z&#l8QJi3e%C5f z&y>$=(um>d(;{>{q9u|aIS!Gf%f(*R+!!E{0h+*)7&1I3qhiBWLXC~Kud$OhkpLDz zxF0GAxs2G(aW&g5?g7+_?1_@$3Sf@dGD=dkq=+Wy1>>AZlKWv)B_F3^3Nd zcTS=pz>#E5NZR8aq)|l7(JRrDS&|Va3b&iUe9&?5Q)WP)c znmA{N^eDo8aC?^xx;Q*5|!F5k5py=)Foy0nOWp~jBOcIpd6O1j~w<UKS7Ls$8kA*Pl%0`&NV;)& zo2E9s#d1QYZ#Fn<&}uhlv`ndipIqIrCr_{Gre?+=lwE`#e|YE)%OM~Ef0UNpRSan` zZB;-?qlu;-ndz}}DJ{%7(j%8m)(fE`(lj1~H$knbgat9%3B`0>m$Ylx`5e}?5v)_L z2ZRkxqkg@kP^=bFtP^!Rl)+f6oo$Tcv)R=~`R0Kw%lt>3Ml3hd>d2L3T40c<8!YLgz&PE8g;NVh7EUbGFPIk&EtJFG@4=Rpfw1=$ zLLR&{lz4k1e!KFYL&D#^TTDwe7$+G~U0uh#+9#1LndqWBgA!Eg?O0Bg=sP_AX?=Pb z3xT}yL-wBEwT?cU2mULdb=W^P(iR64NhYCj3YRS@Iql0hfR>4%jmT&?m zE7_Z=L2zP-#~>=51tAJO6|Fi30tS9=U}!gh?y$5O?P4mnMeLo4{mm4>sz;O<}K%yC<>Nuh)gUx&6myb7ovTme&N-Yl-=yuhi!+WOR3Yp3`|b@bsO+ zrQDSP`#km|59B!x8P-MZ|L+MW zkj|pp*#&jdGq}&XmZ{S7)Qor#enj2V!WZtrO^?2gQNnm)c=Vj;8a3FE_Ll4{>9|D1 zJ05&ff)t}+PrJAZ@MUhPZ&+Hpbl!ww;Lu?vSiw}dk1a%_veN4rz+Ms1=G|tYu~zco z7+O0gfMgW$M07KP+~TcyqzZQ0XGr8t-!hqz@PJBRIDL*%?DV>?4usnzvSvEoH!Oju zU{7pj!ghZSG9?&knIZLSd-akgyFXd&1G}zd(s2gt0lFcOYCIhF{sMc5dC{s(h1y;i zjO8vf#&%FZC4g#iSh};Nd}DxBH<2YJm~Rg#BpO9Firi}?quNXH3fbE+UCL#URN2&g zO7`L7Y}v_B>Plk>$7{7 zgSU6Rb71+e^Jd%q9fdzcy#?i24;>UW?#YP!Z7VD@I~%cdmXsro^}2l{*6{bwr8r%*Wu@lKk^-6_Y15lBA z+~rfM#K>c`)%?2Te;-gN26sJ!O-->YfG9-X6%|JBmZ*?$BLN9kv5pnuhV#J?ui$Sm zQ@=z7FR53E)A2pE^F|aS(=f~cLXTI}6`aTocVktz;dt#Ti@1)3F~(1@os(@|k0ga~ z0tRogEM7xOY*zcAS)>yPQ4b{YK*bzyEEUWX;pCM$s3xp2X_=#dX+j#y4Ao$~QW+5$ z3@L*tRXn%KndBCWEF)AxG1KX=XgbE5Q+f*|l3u~YG|B38_e#A(k_VCi^@KJyMS~D3 z`f8Ks3@Skv0ya2X_{0h-Kjf_=d647VM#EZ9*Uum7xd(5P%kr{xBM+c4Nm8 zo{T_yK_$8vxzZ#q^dh!qtRJzfoXV=ymcr0^W!S4@XP;fZw?9o_`7`|C;^oWJQzT)W zJ;mQXN9J4pix&Zv@V_mW) z-H%9?B9HgyIwgwBCt-P+q#yX4!)NKxSk|sx8-Kesu{mG=ddmP!iOZhEm>9NflBv+U zm4yfJB4HF*(#8_;!n8~L*G-#Ox#pu)#-yzIzVa#*!rW%9G9)HquI&xNUkwB4>bf=? zXgaPn#T=y`dnWAshMryy61L?`Iy;Rn4`52$aD`6p&^2R`RIHzq2jJTs7Fw482J71) zhlTJXc9N6QVk8umkfrd4oTedpIs~L9yUd94r6>Z8wL%zWr73(!4266Noue5|TtS3~ zQ9uH$v4S?8y3oQjo|!qPA$`E=y+~5 zfpQmrLl_#@9Ir+#W2X3ck0c$oj3B0Brm_h96!1XA#dy-l{x`~!Pya;(W|kf5SYPKw z|8(-Zqa%L|tb1kS`rd1K*+B3r{F6h--F~R)zCUrZ-vhMG&m9#N69d96oF_HC3vb#! za!Xbyg%m8ks|i4Xc*#&amkMIB%lTy3IA zw2#fO0ZWtENgOW?lM@Tz>OHJBMHQ)lhCtcWSt4C5KEhV5#tfCvM0hhyuwjW-CJLi_ z!&^aw3R_0vp}S-~-XX;p`dkcv}BF#K@wI4pyO+a}7~9cb8aSTd~5hKp1W zY$bJfKvQpM*Q={xiRUsx#N^Xjjs5i4`z;SADfg)4jaX@y5vXBYIOS^Okvwp{Q z+9RuaV}*3HC%=91-1y>hIi46AE)u}&#sDls=qRG^z25ll{jnQ9x5%BrSy4ru0mj~BIuAAQVTsxoYpQIJLv(OD*^-ohHhu5Rm z!6d+4FZK!!P=f1yi7dG2k2>25-?x|PFzd{!a`P-cvSGT9J{1PQ;Rl$#oLShWmFs|k zvId&h=oKRZab3*T!11KWV}K}MfgmCA4Rb?f!yT|-65x&+G9vt80Feo)sxukGd_$S+ z(X5jccx()Np%9s)QzgE5O@n`+J+chutD2lFBj`dZj`2t;q(cD4QZyQr)z=I=h;bIL zaSl4In@lQ3!`=sqJB&+}Oq3CXU8xdbox<1Qq-t=o?f_4Pt)Qw`hUQz#@BEskBfvuG zW&WWKNTA5ZliX|zzkr+>M~a1RPCm?6EaU21BLSoWSL7D3et+-1$1l2LdOLW&m|ru& zJ-shTmxF18j|DIPKA*Bk`Uj~$TMgJg8EPhlMZZ@CxSW1Z?Fcw5=wRaHE3evh-YvB& zE56?dU&IVgFX?Jet$fWwdFDxpO(!Mf82om;aSq0%`kdd{os{Gx{c911<3-TZzs$CE z3Cnk}!{Fia^t^HS66O~We4xC1iuYkH@mg-s7+#o<$B%kz=X=KUI8fM_VhOXr!@x2} zQ4n<`Bamxh!qE{JVrx*FiV;STNpVJBE1xQ&SF!RYc_7q$M(ja?&9$xg&NK;Vj)U_j zxZ}<6zl_+<3bNT(BB8`z04neuaI;-(NpC_QZ?H*&!_`u6z%kxb22NN>8}B| zQ#&Ugg1X(Zo~iJ=ANr(eCM@y6k$Cd<4Ts67;yBGX7n>HsG&v%S_a5#J`ZB(UDoSd1R>b#6ez)7+n+m!elHi1ItQY@w`n)g`l)UPO#H*k?h`%ulN_P^ zuJ0~s_C@KFXn^Yz=1t6gf|zfXu1$N|Fh)VK}2BmObmF_^)_-#LhUZh zE1%XkRW0A9|DV_5{h_h@pM1?OP*ztTCp`1yug@__G?TJ&Uf(2f{Ax1hyJKIt!y6(4 z5>6h6Pb>g{L&mPiML10P>EW^Ao&&+<@%w@f)+g=T_c^a&X|R9Nsv{?lH@ZT^HJ~X+ z2viy6J&HhHGXYly3ae@uB*Hs+c+vZ8kaJuku-vRe?ohL#Gk)Wwr~d^`K#3)TK}YhKMLn? zk+bcg)2*N*hma%OM1Cit{Ybx?=&o z=z{w}Q6BcopwRyuLN7YtelT*oPmklA%V_xzG-6Cfsh(EdE&ZbNt(9cY>mI*htnWhR zS{Pp_IDi|QZh_iSWFV4%Uw4 zy1T~d2^bVVfleLoNC|bO0Zr7zSPdB+R(;}jmdoj&DWoBjusLGF$<%iZ7RIT&1e-H( zH3?WYToKkLYVa&mPUW09dOPd0ly(c-*ssrY5F*e{**IqsHuJU`9mUk%lt;o5J!-qU zGPO&oh@iT($|&amzTKP@)@vemmAC*9g5oyE@g_^+NLFe9R18TgAqxy;3YL+r+WX=S zzL680Q2}2@B6wBANe~{Uab%ktPy4mygOMEQGu!+7kTbW~MuH{+vP0S;XZc7R9Ec3( zE@dlNSQ!rGQzKlDSq=;=i(azir|-9pdEWl~S=(8^FMjvzAAEOHybz${-2uVA&=iun zW#8_diCflH{j>g!#O~E`Z-#xk^zy6F#clVvtmqtYR8syffu55Hn=!xp);PtX-W~in zGp@7m^#|YJ<#*|F4mYG_nkow~EnGDx#Kbf%$#BNQ^Y4e@xUo*XXPXH0=$j^; z#LAl{*2)BCIMoc32!kU@n(QVBjx3JVQ?ck=&#G{g8WT0j&x%SBD~@?2G*B+j)A-CO z2(fy?xtKIfW&g}>$cvyU%IdzQuXNn&JxbVFt#vu#n(VeTazES!6^*UVC3QVgLigl!dJ(Gg4(dw_+-izGW$qubm8m0t8oy^JU%A;U~DI1PKDx#SQBG=3i z1ktvSL$;|xEEiqy;E4H`W4Px|(@-@D1(fZGxci27NouqE%YR;cQS(=PIMRlw8VhY+ z3SJN8D}hYBT6Tyy3>J5h0;;y^1JTu@ArFr_mBC5Kd#SpeLmOw{eHckudC702(91R^i;V= zt#7!~-q)%4AMVbmTW?zJX}mZKitEJxw634AjW zV5N7LzDzmW<1eI+i!n*v^lf|yPJ@c)SVHLx-b7}M zf#Yd%;qHNkba58{{Q;AEA|zNXfE)k{@@@@LB!PQ|fiGO?ihn-uHW= z4HqJpq^}mf9r`!DZ@A@s7w?t6t%0}~K)%LB|9_Fo#sBS=P{8ZSx@(%Kx17Fw66}~9 zT|NSSYXXCa&MseDC23CBQfY<*yIqG!?SmVl^9A3uEj~KNiZlX-2&#ovmn`QN&ycst z9g6>Z9@gQT>y4m8?w{Mbu#XLqU?*@LhzjS_j z8z?PP8n)s6=-b3?&nPjiB#Ha@&UH!|>6E0Ht7YXu+@n&GB7V2;V)mIMiC;GUS$Xl^ zuLVl}_sSFF(temt)2TJE7Y&-LP_2+Z(Qgv+s#7&YsbZh{lY{#AAAApwqR~%1Kkqd( z)Q+x@ZFgTBJfq9dGe?%_>_DAZ-*ri2(ZaM8^&iR@9Dcc>MMQ6l-WkxUbuxS}GFuxw zC5Q$^i1a`xjj|s4qM>9~l>ITDq`leSinmU0IFFmnMY{AV5?t!FSl25n)jJ0Rx8}9L zV+CPIMzDfj+FXbnZ1A5jMfsV@aOsjd5*F&0>6(zpHL$MWJsc?*bO{l`=DDZxsSW=$ z3dg0cF+6s&dz%PDQN(ync}OGxp|j|sFMi&Ka=HjF$4`Qt`gvTExYqum$bLTFYa3=< ztPl*;O2q7{LF6Qfd_E76i{KqALq%HE1dIpOO{+aBZ?}F#L5d_b`i&S9Yyw%%XsH}v z5aCp^8j4dVnnt&!Ba9RQENiHMTqjRZ2uU~yEDQtk&gE=GEYLV6bIjOxW60t!fcTGp zTI9VobI*sr#kvoEf9QMh^WVpwpsjP{uj5^${^ARvr!{j@S`KE^t3if#x2!m9^J;tfIGKGCI$FoS^cYt9lzXZsnI? z*eJ#%JfmAK=gSqPZP1?!qMy#^7%L&|pgkf|rh_4`uZafk1 z(Y^s^Hor7JN8?qCYUUF=9*&ygdc_2fO#S{X@e8&GFXge3PbdR;>KTcAfUig*`nqUcCCJtyDG_)Pmc*6o+WP zSGD-%9lj^>#eT4pII}xRCYOlX#o|7^@=P9@kSRyFnQWc_f)HbZF%s8dmBDWMW!k}%0IHcuUtsaQaP0v)0j7%a1E zou-TZJgR}yR6-shdj(ip*-0^Vig`DU81CT}Vpn=gj4y*O1rH0GNr2Q)grmcL8kB%>7g)`_e%IR>$ zVD!+9LNNTy&Wb_cs4M#9 zjHuE3lU<+}9}AJ7E&wO?zxjjwO*1VYaya_fr1tNgRLabGNo9;@LAwnsq9oc}YwiAh z$;Tg64=D}H{~OZ-RHeWw2hK#NZIVLnSE<__YqjYD#YOMqyYLzfMyu?2Y_>nf&{^bE zz?CbgZriqzYD-Xl&gK};OhJPl9I7`Dr0Ic1F14_L{^(YM9k*p{`a&3+8V`ARUnL6kf^4jUWTdRViiSvvH`8Rs{dEu$Cg_%67R$WjU^jRCeeeA`8@~<*mqc+(n0H~J!{kWmm;Rs z^5CC``Lx7$@1whRf7LAKf?1rP>i(t1@3a|{^7z8R`mc9QrZ<(pkHeCOeee!558nJn z@7w$3#i-_JcS(RIDDeS5nOSUm9S2kV7!!>OcKEgC>T9_JZG5k9vJ zV|upm72{sqUaz@Ul(>daGyQsvqrLS67oo;sgGD(%B#`Px9~bxY6gOGTxM1!hh1A*g;{F=GCn)ini z`_hgb-MJrEcJ%1ZAX0-e;aiu`t!!rsoattSl@&H~nGh>1fi#XK<$ASviZXVTYMshj z*8uNiz({o~=WWPtEJHGz*P_X=!Wz>N$DDZyrjwyYDsJP`EH~+x>jyO5xW3JeE^8pV zk!oY?=XJ1k=LHD3&o*RYPbNlHEHYHrZ_cIrk5i)uW@t)-3~c1iR;_Hd(p+Df>vTqs zZI629k-;4>%=O0FOBCHoTUo|H;b19eiwH0KhD!>UJj<15$@yxKCB#-j42#QSBMR&r zTnE4G)Taz|b8%^v9pg&wIQ!PeZUwJ@cF*@&C&4Lx9m&6>J>YbVd1w1`{<=8qLv!Zt z-D(Nr8PvSeqQzQDWy{k2f`#P)q>-iTSnkusoEK&HInUm6lL5~gmE*sUY(8HFnYwtP z&}4P?ceS-Z&$pk$fUwf+_m4Z7-~WDF2Ob!9s=%tXC2>bjm^}CtZL)IDAt$dZ*?(Yr z*S}SrAbs45p)oO@ZZ9rcH0Ch3Z6fSIxb1ixlsP@@ZZ4j)ECPnpKO3n>!+ZXt%LqpY z;1;**r;%o3fEi59axsflVCOR$8eu$mJqdav0}Ai3*#07#0RT|`TPhqJxA;3G)6~Xq z50@C3ze_7&zP5R(g5D*PPE~gTWvtD)7kOYEHBbCvryY;G*TI^+Tb@vZC=I0J$s4+|d%$mTeOf0kqoV{Wq~Dj-s~%WmT6GQ6MP5`}f-&y3hOm zEOz|Ey#4jb<6_LyWjgHn)2~0-&_yV)kQ&L9Zdv`rN}Afbe&gDb1g)=|^pbxjxb{UD zTIO|+6#g_Riu|b%lr#q=wM)f>ou;L3m(fHUM^1%5;f6+G^eQ21%*S-cSBa0o5;T5g zNQ1ge`QN4|#257i>J}FlWQ%OkAs!}OPxNaaWX%jbK$WIxGWJA`F2}hc=mH(MIRAWe z2I!yW(nRbUm{F(}#QB)f~lh1A7RGq+L8WRjvaXj_{jqZktZ3ez|iIExi zE=f;F6x2&C{WI{>f+#%H-X5N&@r(lIAlnlZVA(29qBUJVfB7kWA>>I{51{UJD!;It zWT5V6mM89yh8o#b&!Zc$i~+GBj4#n=o824ju1#6AU;91r>92S5;aMjh*E?O`4t%|D z;~0HtDZsxsC35?l#zyxSwgoAqW#cE-!m*^KRiF4h;TMn2e)zBzI1!~6CvDyoKe+N_ z8qu)ngls|k&4-Rb(#%b{DThET>}ks#7H%9~+{Xii;TVoY0NWDb!0~Zciw85|Pb((9 z{#&K|*M^?`!if4zKwWFNNaKB5??LG!!m%@v+q5s2J?^&Mh!EMtehS>P`RtfQMuAc6 z4oLJ*Jm2}H=L$HOSu5w4_0<^3Ydno>D=LUPUeU<3B0Zwo_-M&JHJ#Haf(4q0)Yzl1 zkpX#~KehR;NHJxu$Rb&Vi(bf$bu`yC+drcqBbs%S!t=zdJwgced^5jz!|Z&P74I=M z*1Tg~kF(Nxut%3syvZ zY3HWXo~e0J#|_6#{TMy=Vbuy19(TYi$K44`Zede-T)lKeonMIj8F~vH-J`I3B0I{w z!aziG8}K-U$FbWNi{#ttEg%Jg{2bz#7|GdNQ?v$i-TwBl%RZ2_uL8;6-~sHme=^}> zXKeD}_P6+C%rYwk`qSOmRHuFSrr{%}ft9a+o;?|N;J^=0^V|IG#sF}4+mlTy`Hn|X zI@q2c$&63hZd;)LzjHA2znuena6Nn~o*nxyp=V%u2t>JFUOorL7t6rTLB~~oMugSx zU#bHJ$sgwed`bGbcWoLLm*E4CpLjMF>lrY%Pt?V+Z-_ZJm{DiG#aS1&Z`+{&M;Ba* z7T`==i{*FO_=u(ikEi<#xp|;G04N}4z|}pW78$wmv{$?D-Ts!}XowD^_rNxS!(v;5 z{Mqieo6$58Uv$wPq9qh&p|g6J4V=I%9pOyD5Ui|K1p(WhIBur@qTUqE`d9b*|}zox9SGvDtri)xndmiCOR5 zk3OZ^Y6ZpZ?qofhGAtIe^bnFF@AkvTvVSY4*Oc_@wxED$d=vrQ|TqH<2WV< zE?vnm zlnu+)C5gMIU1Aiu`57Flz>@>3=Trj)9GV-Rw$z5lVc@pd1-M+9={VtnkQ%08@n{h6 zpyS>PkT-U<;&@Ow)0UD{mwJ~ktpjXU?^X-T4*puK#G z$CT?OnL>Ae@%G?fmhuoMzRcoETxhY)$MxmuedR;=nGB z!01*)sN0(rtA!MIZPlpE{eVk>#;|`oM!){j!S;+Gchy!u4e&qCm);X_>~&O#kUmen zX)!!`Qe~fx267*fndDOwq5slokmmH^c>l}qbuSN1Ym$z|_n;v`-4q=>yoLbviJ?Zq zX}#W|7Wk}CsCUiA$JN)HQQAN$-nsTQP}f4ns|i$!xpjI(cz;uX2l{lEUab&=Nx)@e z{4d7iJ;n{qCZ_@OfO?(rS~$szgvhle$*~it_|_tvGRCl+2(!`B?v<0p_LIO>b%SW0 zvlllybyL*=Frp1-FBd21k2|}a=n+orLg((*2%tQBIQG8cMrDCW+yKO|+nBsDaM06S z;_7!dj1kuBEZXFONvAUG6_PGzWr|&udFUafYj7SO0V;Yxyl94Ix{C(1x3?ac=CP8o z(UfOgwRH9YG?yJL-~WuEWW75O9ldtvjk=0XEU=#ZshGLtpCIvS-+}|HOMPz+vU}Ul z9SQl@dv7?PmU0E6cZ4mc-@CulVb9lJKhyyr<;aa|o9<+AVPmkE_G4dSA;87w4Z$AI zwqkxCHvzp;^$|HwQfvNw8Th?GJX>_&5A4*GgY~jpF9(3fcW%A*rh*dNF=A6L2czF- z-%RMOzohEBXt!-b!Tlc%H8A3mW?zJKU^JRt@GTeOONpDcQ;YpnQKg+bnnQ96FwZ!v z{w(a(?&(**(T{d}5&CU}j}{j(E#i_oZyVyB=Urifoh$3f(;!HpMP!=M6az8v6T7sb z5sbsJk53%fsc;VCQZWhNWb!kUYIq2es(2x=rBaF=9Q2r(BCy?r!+pep`nYX- z;*r}!E<@qOwu|S|Y)rR%Ke>CiGGbldHQK;MdQ!8 zpC*+j4#I^eo7Q;PWUoe_{sJCS+xagZ)gr%*!7ntv(}mgE>{(>NfBnyIE9**D^CY0| z0~qCLE`d^+=f<3qcO&(G!kAk$R0kX(| z;H4w!c9SAWpb3LaU^RiyG@g@Hm=MOOmVm8Tf*)OeoNPA{tp{K48#PVpg@Zf>LorD! z_V5@~h8K$E-j+dNN@R=+qArg0-1Ay)*N4$8p%n=w^Dweo-}>w`7}($(e@~+7;_HrCtG?=Jy-x+(!&A4`e$+PtDSzDcRjr z+Y3)>JCdPJn(@C!V%I_dvllb>KRHrTKYs~GIS2!;GKur6KK<^0Yk8&mP+Q(~R|-8k zFJ(FY(AbnGcICjihw{c#l?`-Hef*S(BfMPyG4Y(v2+XaaNTB`?{;^L%j4pgp1*DvF z$l${bxD}usE)o+|bI+K5Ea7Z95hv7)R@p%&PgBZRlRk{-lF%+ulKaU18|~5|wAV$W zEEwHXS4^kj3Yhn~4hA;n)54F1Xj1{s)Bry`syV_bI8dkK6`IDRI4WWGB7JaHw>J?7 zs3Ew{>~sT5i8^n#zAvh4m)hYGmn;67GZ;^Rlc`3;?9xczA${1^zgen|0UL<5VO(xV zxfZV#2g-6M`79$3mbdFdH>+8|n+UZP`Bw?S!3zDocdV4H%nagUwp7bhN>xhrcx_sG zbz>13Ocx92T{;!t>k728l?u>uLTKGt^`ukN%YM3bUN0%k9*6ECK(>V3lMb%a+S=&d z8P+>J8r1mK$nvjd^sa0L5Ip-DAm_eLv9;)fOQ2n;a_s&*_ng$jPld#%BTmByP9Cqm zs-8QUu!j_df30{b1%>$d-a03ScM@7FszOrg>A+5PW7Bg-6D9 zstk{9`S@-8^e$)Dv2k-l=bDiTo9|swXv{;90nvoe97YpMXy}d5XRdj;fv!CbS_gAi zTKgTd8+WJ3Bwg_VkybG_cjf(c`TLC2+Pbjt-UgJ4O{Ye!_bt%pQ!RFU5@RgG=nOU^kMCh)DhpS>1Ql=+k!%u|`(u@^>?oVY zQFe$|H@s82v^?u$adN0UbV#@SIfd-e;w(BIrLO-79F?t3xn|1FK3FG01+B$U8CW_x z!4Oec{=+_owmxC5RSVO|HWEpaNO4Ky_F7yod$Pb*=I4xDjGK{cJoE8!>FPiJH&%zU zZPtDb|5IJPpz|(t9Nju*ryAqYaDC&iBSLkx_lw~?vdW5$S8?!!oI`)?8jjFJkQ$ltIaK{Casym*(krr< zNZu>0O&XhWjjQDV70CP=-SfM~;WjiM)7Dd`#?sgLfVo5F>CtlVX1sn=3Amj&1H=`M^rdXK{PP2@Vbcjov23hPY>M z{OJjEZp}%xD&D@DS}p7_gvNQh^QUAwYDn7aOY^Tz-5lGkxnX_0cE+jY{`N!vUTa`X zeJ}+Eht5)`A6mQ+Cgig}ZHEY^Z1_E;%NupUBa2DAvF690yT4Kn95Yu5ViF&n7k{;E zczJ!@_ibgkhC@wR1YIUzKX=riC!j=B@TU6;#SH=9F&XS>75Nq4a_JI}u$Ay%$NsK! zkFe%$6Z*ZETqqQQXslhu1Ei0~mc)k?LF2j9AG94q?CN;yg}_NKwOSvSP5fSgMNvFe zB+lTptWD&}Fe5rXMMNqSS%xqI0elx!*BQX>37UuZNsmJWp zgsxOZCg4Va5jZ>~7J0fsfB*}s!&bKCi3AUL(x}Q7Bf_E{hK`=VD6K#>3ML*&;N*y? z!)_H4L;E6Jk!ydr*1%Q9QE@Lp!kEa+N~*!d1~cqk>h>8$kM3sB7)i|vMV9U;*?9rC zPNfdz0XaslX+VYTq4OFn6fOe`GO_}MTA(<(<5nC`0{N<|#0YJfM`^Y$z{ zWi9G~3B_)?gQf-SATIxL1~2T;v!jv1qt_w~!S7db<4HM}mp#iP=7;~K#}!81SamKH z6>;d4&ux!rp6^j0<=%zUmXy(m4l;~`1;8s~YW`Q3YWk&yRS=5ff6KHzD|^p3mtX7G z|9V-YvB|vAOn&%5!qg*+d)p?mJ>7DI{(b#w+86$Le7W*|;2N9h2BRCS?Kjj{p|p`` z>Sebfzk;+o<`UDP7jJ@BxtOeo_g3vC`Q9UyiUN^)^1|{MaO{UtPuu(TtO6lfoF?gq z1RVY?qWU6RK#pe#9)Baz6pr&Mf=6bv)yQU z&oK(^?ZcUM6AEX-;KQa`FRMWhl$7J$`R%GhO;^uXq+2Oe93~`$nVPka?{sq=It5{hwreT`Ds8vb)OKR1 z<9Ai4SSi#aZz|f80lz0hllj^5?l}#1LMaIeK4ak7FqKC8K>#A>n}g3*{1PbZ1KzY( zYRoR7->tudun68Uuy2#bix8IDEPBYrAO89|M^qks^G={ zzgQ6m@aIC?+N-$bdJrQb1HCEL%ZlaY(7?cL)ittZFx@z+eox*Blc?Ef=YYBnhS|=8 zVZWm~K6V(MzE@|$&TEDi2|tE}qbR+U<2J(@!sfasFRW4|5A?e%n;cFVLQszXX=HF$ z+(D#rSYLv)z78D$8@+e_=DtEdf zniZay-i!ZbbR=u1i$)ujn4slV_t~rA_~*X0;|;^3G8aZ3$O}oT)v_MM;~F2xVlh&~ zV?a@bIFoEud#P-^8N-VOi4~nOjBRvtG2t2d`Kb9hPA?JOq@W{u!i?lGVG}uHcz-h~ z17klq$7ND7g60q+Jax{XEnhJpF4Z4L5YF>>Y>b|n$fZPuXNH4`z(4c1k}6y#WTKj@ zDIRV#BQ;MJl0t;4je6+BOt`j4Is>F#A6;J)NRj>&KWT4M7>m83_HM1E4SnIW23tT; z&JG%kF`DCybok?w&HSo0=I$VFLtRrNa};+h|8=_C${Oesp4ywpg_FCs!pEV{`}I-l z?`++ZaH1{pgV}1BXp?|~oYU%G9iQtt0VV>Ss2HCUZ!*a;`TK9(x~`G>Ca_r&`t!Vr zrAb{!Ox>xt0C&1jM|_h2Yu^v-2uy24!WXfEuoz}n_tdn=E8@RfK~U?1G`8JE{bjHss_FIyx+Cgef!!u!3bkJGAQ8cx%CQ2~@p8i`z2< z&TMw&_dg!~SgXu#R*W9UssuxncCf2)aFiw1JOHi@3h6+PxMH;ywZ(Nqqnzdtl9|ah z=`O3M49X;O^#ns~XVL&kp-7VQ;K8yI5f9Q-q4ZgqT?j?6KlGMbhrdo}-~;3Q`_r`r zM~L>cTA{uXY8qlS{~dA1H;nq5*0nG9)z3kKBzECJ+mkSjQ>zMfZ><-?6Yja1~W%(DVl~6jDe5sp{6EqJkup#2te;OC88i25O>l_ z7UF26i%}m(YbRnPp(TWtV?J>r;+ds6;3iENuWGCdmUfDD>$IB1g1oSj0CX2^16=O5 ztrzbJ&x-Q$-D#GQftLxCiU5(iMOY8oxIcUI<_Sj!kL+V>+Gx4{z;htU&}{y%C`}Aw zT!tM;YqxNI-s+*7n8{<*D9cCX&w7LkLI4TpicqqQF7g%*Vlo zqfw?JkoPknxC@nO8T0H3QL`NM^aKC1j^hi7kENKJuTN6GmB;^MYM9@PZn48NCunYC zazkC1kSgT2lbdoRNdje4Px<1PW3{{Y6CmU3QO{3*m~yeO_ltw9Z@IBC=d=BLdQZ5H zcLkCQY(#+zRDUGzq)BD+!JjeoT_uYjn9mJ2Y|^;%<;$*te@U}vgKlNeg)in)JB!^S zi;$my`Wx63)QJ(~I1&EH45qXT*H07v_YeUPA-X`$q+K6c4>CLo#b4FPt@&9COroG^ zEeIvS>8o6KTGf3_z;uWAA*FP)PdFOA=#rqef+;e{2n|H5(E?MlUhkSfvNZYXOdkEN z)w8I;&GRChmlYr*gmPI4B)h!iK%S?uwZz?6q~c{&Q9HTDqn(ObfvaLO8=h;| z!c!$lob3=J{5mbHXZS=A+(=HCr-M!Zi8Rt=sM_hUdg_FEOhPx03?-n;sTyv35}k6^ zsN4gsWpadekBf#v0S%*1%&!j>NXOUhBM~Iit$xR};Bb9~$oy^r>lJc^Xh&YH`osxL zNp8Vk?-LE%dRkt7Sy(s_O-C44%bYfBdhjXPJ>qSh2aurxJSne_X6qd(dHLn}KLex$ z`<%xzyYy)MZ~|6|*gb$cn)UqX*$TdfGMU1a9t+5g3~7o^vS>I&KTsI8RaU zO%F~kyZv7aSm<T?MLa5l>-|F|-VK_cR=q8l! zp!eBRMSS$IKm!6Jfee|@exGTGy=!nU=Dto^?T&z$wPslI9c+3n(1Z?mqdS2<`1|BD z6K8X$#D={M?(AlJ{jIliyJHx<>cJV1D{T`sQED8?MkkmO1``rDeYU8KWjUc%XVD7q zSrYlps1M$CM|K__Ft9$Bd9Ki9Gt>(LCioea*Y}vmt#A_Sw{^YX%h+ZJb&&B7D4PUy zxH6Q1MvqJV*_hKRme3uJ1VXP84LBCc2;wBNxE>@eL7!!K*^Fx_<^jeIsiR_hW8~d% zUduF{O>a?WvFp0@nz3|y&i&eFt%QK;rhFZLF4pa^@#dZ8!XFmIR==N-e?Akppne~S zuyPpoNv^vl6#u;JabdAy#`}+(N>2^siMV8E{=3v7!2!!3vQd$w(zv9}RYnysc#L`9r7VP~aJEJ>zcw24?cyC@)B#_}|-~282gK&@EnbUBURL zDFJ}*Ig`G4UG!@bpb$chfgQ@B;21I#3pWSf4QCsT^bc8~iMoYx7szGlkIxx7*k@$0 zop>mGSjR_Xq4KT*(D=22J*Mo|v8e|%P@Fh(C^=4@}Myx~?b6ZA zO@Bl9*PntpL$ik#(F=cmY^Oqi$z$+8EchYPlOu;p=`VYUEeBtvR=#Zf<^4L*{Nvvn zz7MIP0;|Bai2w1(?A+$EOY46wSDjpgq}||Jm8-%Fo#_$xbSz3kYkD-+9$!JfS5`#V zVn96)w8KEMPfslHKZNDh#g;J~EZw%L$W57Wb=o~E&H2c=iV9X_$dwJ&8!oq{JQ$>L z3f&9tq7KyDWjfLSsz}sB!x%Ns+ket>(f#nthcb>m9j%e}etiG&J*L&CYY1|TgWQ1# z@Ze8({VKcX&L@08GLwxn-?|TLlR_Gs^frPq6$DA`aFI3w% zy(oISyS(z?%8IZ(@KsNKE*rj&I`Hmf_$@}|zh>X_mAtpP&zJ80Qd~V@x!ENU1*H|E>GQ&9cdhfDWfo` z4ZqVHRVr^EXa#KPwLr*jaPod zDQ7kVKD5kF!*5=iwN&q4eRBN!xZ}&sgFjwcYdO8lR^kVd2-f}Jph|AwIi2EOQ@GYj z(O9z1pgH!&>&tl0zB~3H@h8i@-PIr)4>kNfMZ~PWJ->bVE5$EW6Ikysw`7&%n>{ys ze1~kRc>R=i;^WLu_FGl!avuQrr#?F0vi$VbHaeT16Y!FJ-S`-@h=w!%=NzBOA6&}N zk%m-MKv5|H)W;_T#*~V+-*;TTa;)a!wGkZv{v$Em>`Er#?flBmIlIgb6q>~!y#Dgv z`9u4`Jtqe3p4+b~==%6~i|X)4OtLKT`M#fp2Yu!q%KaJYr@XiLBo^s3aNDAI*GqQ% zqhXit(i#ULyKHfpuLkBR4xPrfxm@?#<`5 z9S7fBHaKbvP(FUPu)ckqcjHx$k=D!l)l@-3OYEK4;)$f!!Ljw->@T=2z9SK5g0FQb z_Ui84KYVs?b?RS^IjL5sww|}GymkPr_l)d@p9o$ypM7v?N@;%8{$ujo-=n`Lu?HUR z%$-xO3p;!L=+V6=KR^Am;SY9W@B;eS-`tZ^8>P^|>T=RS_K8W}TxWLJ^)K`9`W@aK zT(MGn_p)kFLS_F?V`Iucs{f`u-diQ9X>sB_xRfG&$2u@#d@>@A{+4^gq_JCh*5{FX zd)B_AcVfl4%a`NykDTuMI`ehgkLARX2&aN~_uDMD8-b^RYws<=kIo}H%2h@4#g=Xab9;5>DGlR?p^8(P5^Qd_cjA6q%|A^~v-OYKmjl~3R$p^kci)ciY1f^~y(1a9oy6u!scuC_5A@=fc=b;a~G3^IDnfMp| z@$;(~M{gvJHzI3DbEAI;0F4ZWi9^U)DS(Lu_4F2WG?tN!G zW-nax3E-#ntlhf$3US|X(U0SAm#04MKX^Im-wlrggM1h}19h5A2?OUC7sSpeB!}s9 za>IiQH$;06Ab!twtb2NOSLum|{Y7zK4*uM?J#jxz!!D~n^Je48-%q-)1qX3T%IAGx-jlo)4LED<35_{*#2{87G+rygxOq>5>-Gu!3pC`*w*ME-ftjaLRs$Kr^uHyKm z<&!^8&V7#+{4qFn^Ypz>@7~`O0KkvKs>>T;CaG6>kpI{FA^mUf#}Rx9OFCGluD`r& zxV&tzyo^}>vixm%S$Fy4^2GA!i7w*fBO9{mpLxcp+?$d+f@WW%Nn-2W= zdlWbpBU6Zlpe<_xB_u!c89fZRd5e%hU`wd|z;1xW02@DN+yTIGx+1k$BU)u<#1F3z zb2#!;eWZZ-WOHjAYin%FTJQfx{bGyfJIL4>Q~?r7;^TWA=7bH49hiKt+kQ?S)f>#K zeOHn>7!E}FS8GvBcYI#Y7yNiVfmQ$~V(c@BwvjyFUjZ%%m{|mm|H2v&HbMaBQOn4y zzhvjoQO;#9x5UVao!B(z)VjwbnWxq7r>GcK1xv0$M)oN)2w`uyHcNJA49^&Bl0B$A z&r&AGjO`fa5A_(rSCg--J~w^pW~^uG@bSD)PmC0|)yQO7ZD~-%ft;gex>4uPeLSD8 zJ@Brl(X=f3LUeMaZP*3hJ&tTl;dHfPW;Ad>dRA*3$Mw?uEbS%-WJlW;Qk~|7UKlF| zIZKvL#kH_&InhnNJg1@|z2;Lf+X@Z%TQ>$K9%#gTXt7ruuM}h_rjepbY829`K^Nta z;%I#VpnIP6G~lmCP7mAi`Lox~ zk#+NvwQGQqpRYeuKwSC91~orTnb{rOzz=QnTJkXlP7D#3Z2LEo-!-N(K7LngCfa%K zjm`Qb{d)hJL-B#Abs5#ET&|-I9NKKS{K511h!2m^_vhoSeE>`NBy8|HApGumc@ezR z0s*t0E2y}in+`p`rD50O()#!(9H$T4Ap3TC7TyO5vA8|ajBCylE*Bd1^s{CSgoVLE z^nXqwVGl-atWb`G`3ir+e5{a5RMn+mM{B_bqH$^u<~xplrZ87D>Ga_ILdL(oFWgYp zyw_pW)*PIcsSdp4p@xZR;^))j$;JB~IBv?h6Jd$3O8ouf-Lp**nfe-HB8RqnwaHeMc@1Ydll9MZ*xTf#5&%5zdbVG?(*3ZQ zYzpaF+qdrcQH2t)F7;|CzhTW_eLxru?qI5*MOEtpGOq2~JGCZ4<8-IGmANVpZ@-Cg&InE1_GE4CDGSuyGq0aGj3nMHkj&%?Up_Gija9F|n=Lt$G{p_X~EP|zYQUJP%TE=`H9pZJtIx!RfK>Q;gkUJi#B z{QEU?PqK*#vt2@@mp&c*_6hHz)qKdb!2GP5kh7H9oa^=**(%Swp3b9E&Y7rhtax!R z@?$stN}vtsVZ<(i!{M1ozD@6XcA=-xhvX-b>+SSFv5&rpnq9O$4i|Rx%#t$U67~9+ ztl29nf`57rpajYz#7+ZLErJ>XzNv>-%P(Lx=e3i@GwoAHE_daCht(*@%S&#qUGa32kK2%<*Ux z_nAi#7ICz5q^Z=QL?7sUZSZ*OYorav>1qRQo`nm99w=)@$gKcZ!B=AhaN(` zb=Enjz0COZRPFMnh>LrDgFLkXypYRVF|T8&N82WUEh&1mmQz?Ht|uWmQE-edtYys* zS<7EFwpD_$<~O<;*;Nq)Zq?BFLe#Q z=jeZD^dISpx+`zko^tO|Nxuodw6w;Cqg~vXt$)F`ujz>D3JprJ;Ii1w-@3{LLic3U zP8?T>^}oq%J)$d^sLoy}fcgk!tLoVLnxUAjS6!s;3!MXo+BafIUS8hB+MW#TmbRlK zAE#n`P2X>^+hn|POW@S_pNFa1sh^!RR)0vea$IS1`P93gFM#}fAtGSNe#5f!LtIe`XeLDl_Mb{dhRdsWUI+WPTN`S7EuoR*q8W&Oa0@Ryr&Uas}y6q2`$b1j$! z3pvt!SeQDP|^T=cIIDlR<~a%Ka>fMf&9c|W}4ivnl889B=ud?Z5MEDQS_ z)4BiDrWNS$jZH{hVW~zpvka}rl;8)`Nu5NC2oTPB&zUj3>0cg01&+$*mL0tR^=rE# zEn{vNf78fR`uXkQ=d6I15P|;dT|sKyUX=TLt-{UW`SC%=Gsz8=3Q>-y4j|-CxHb*p z;9-f#UQ)}6Bz_%KMB`D!IUtP5vp`f)U(?g2!eahNV+=N_eeOlHR$$c?iU zlj`#Ts7qC#ndIb$_%-L;bPIwb_!yAax|oHO+=o2exn z>F9afup1hQ51==6A*e9~<~p|Ex_d~GnnAra&t{`<@8;l@7p!3u$>d^mT-meDb7#nj zw6Mj`*}so()_L7|9CBsvJ=VqFdp5S^DK5Y&aL7`FciZevnFy4JjP9`BeYH(H1xq=w zWCc5P|F5p%yHlT*Zq+qXMpM84c$H}cbk|<|o@D=P-P2Z-^PjKx{;FI(_}uiQ`w4l* zB5BR5>s9;K{fLcuY^PPqJk$1d(_s9C3xDFGhQTENvfKa2oCJU_he_haYOY1Ei8cO=KB0^|jbLUr)&Ri~Jd!rltpzEUz z<`>4*U@RT*4k$SRRC~DZ&=vl3x3yI}BLw;G%=9>zQqqgiBiT&XSzN!LkrP>^a=YTBI6wNDh&r5VoCWY{J z_3TJ1AV9~8DsmmPetRaAUH5bMf){mI-8NHD9D60DuGGL#fYZ9+fm<%y7FvbXp@|Q8 zy0?^>>?Zg@Tn6Ze=|?s}d^Ve8wyueu@^vlF@mcZ-piF0Q=oXZ@^5q4e4fxmCOo^Higf1m7;>e0jJkRwUTwQ< zOhF+JsyXPB309&t;(I6qy(D~tbBTvk-w*lR4ReyJiMyJfL zn^)i#KG%^ug?HtPRDMbq=!YWNRfSi_bgwK8`W0ljvl`O-X(tpX6dr*%C5#*>qg;OZ z?nm04BP&muSbw8zjA1Sx!G&#nc|~owWZ;t;;adGS?ZrsYWTfe@HMQ*;l;gYTy zCDm@{lk$uoLoS;h+P`XPeAruuQM*-9d$i=j+LLjWi}7Ypj(SxP;mkMIn_AZ}$Ekm5 zX_Fvabp&(WM_V{R=^dGWcmHxB&vhUT9kpG=_+4M`83obK}jDXgAPv z#{EIt%nUhm9L|^XR{+8+1-afmkfr5qK;V6gdFQ;P#8B3HyT0J1m0|EnX)|8w3O$$d zEAWEw)l393Cjv#8?0c4aX+0y|Rfd{_Bp-XPwZ~!fZAH5q=(gn0U+plLo!P*)I{H(m zrn63PuDzyG_@(MZKjTf(rs?pS4dG7gY;|`xp3F3dXVHf?b(gNv{y#*WdpOg7`2ROH zW=2xKL0P~ro!Rv98Ouviw6IED0@F>01G_usVhw?8JWyWB{#B8i5kM@lMuh4yzJWzJRJE)KVA7_V#1%O0(igVNal zY=0frp@04CUd^h_4#;DN!_Gg{0|Cq^5STxo0`ts>S@PP*lDH%tOORyD3wl#&@c>;; zakYwjJ)il<nTtGd@&@jML?Gd^5b5W3ePcWQu$IeB zeqendnmG;!;83V0L73vN$N`*2B_qA;D7fqWG9djT^7Wx!Oq#DGXGZtUE-zO(9mv0^!B} zGP$sz^I5c&A%S-HLHeufQu2sXLTa$nhL!EH@Ka1Vef}m80!|51c1U|tEDb-cc#IRG zjmQU9H7SU2^p+&p@LsXh^otdO(&n1gsyt^fuKGfnIlHAKu;CXpxtf;pJE2mAd zA9e6wK7dQ;zVHeO;nh;WdJ2wYl zlice{Gf5cg>}b|i;vKv8md8|tt-1VS2fB_hVC0gW20Sg@z0YjPVFSF9#+&uiUut&QT3Q?z*GC5O z>PSVE%wEe1NyRLKWVNf!0`|@)-AI9XUbdO3yZ)TzLJ@xohP1Q-k`)-0fBzT1gFm1HBB# zj}9gdf*0@B+&j2_?*_H0=Ohx)@a?hju}~CC)T4oush79@os_i9Q+^A+h}dVnaxz%x z&lSSn{=b`20Mq|deN-5SY1t6Di05SGWc%d%$@0m<$=b>8$;mxeZS}xlzw-y4=7#-lgPHbi!m^WdwKC5>j<=MTj1TGj*K275FRRpOY`LhIWiJYhJe*n3)D!+{ z1NXb0>w`f2> zH6NFV6N}2eflsmwGBQQG_l7W?%oV?OT}r7G6%@DQktdkB8fznMA27rnKpw zxf>L=;h#|NnNsd<-7aOZFVfv0{O-MPya>`q+M<1^>M)^%Mc>J;I@CEViuR({1TSv3 z{R-Qw__)q8v`!a_Dz#Hidzx0Yl znm#@Mp6MF=I{UR^xyP-@?{`Y#;>*8U-+P{a^Eq}{xP5X#_tL^^fR;W&VM5X5i;o<@ z#aLy%)a{a*!z#@!$8O}#j0{f>AuHS`3a*o6{d6GS<4zjdnaL24rNsxn z`|@0r{@at3y@=xd${(p?-glpe#;QIyxU%;7-D3{fsd=#h^cAbQpSfUe^O$}e-BKXX z6tdo;1-v)+B<|}O3{cn&i|_?T?lE`wm~FdfF{~4$PKWP5kueY3IilH}Dt|Cz2~O_% zDK@YMCkcF4h;NcAvj1?~FO~W7lu|(!l6Lb7i$bN`wD}uk)M2tjdP=@(g$Cbj>U2MD z+=^-jNkC*L*xe)4yhY84=R?8K&78QtThXset@NxyX8NsaIk2`XR*45Lk%;Nn)NcP7 zXYI_CAIPffYSTe&W22*jp%F#hsuff2bf13nghCO?ciQb$9nLgttL6Ps1x%4kjj3>Y ze#esUVAtG?U^ZutZdAmxmaQ!8Q^h#K%kV2ly*~;NEbpS#O?Py^C_ff<#h$R_SR6Hg zayEVMpAFl*Wf;ovzcDYAfbaU(R zGBE1st9-0eup(>kpN6L=eP%aqFf(En0)r>@9idg6(ON=x)msWPRVq7FrLk4->#b5S z`g#z17pP<$h#Qu$A4($khi1(56Pv*K_#QW=W8M{d1o{JF6lFo&dLsIHQVip@+V zWL*Zhz8zLsK4avouo6xa#6Cm4r!yH0v|_j(2`G?FVQ2XUUUyynWz93DJdjtL6Zs=V z?FDWHv0t`kV0=%6e_J@1y(-s4@JrDOvi4f8Uj5W8Qbzp)=MsShhWe-a@&m~ZAB*SB zXhF!jvkK8L$?hF(9OR_0=S#0P@l=m>8gwaCSInvlKN@GGO&UQ;$;b^G{NF&SZ)tv! ztI!_5heV#&E^W%tId%8;Gh64c>lAG)JjRoe@r~KtxKkU;AtD;!$A+U}=S%#5#uilV zt2`@6L$h^5>aX~q{w5NS7VdsG=drKrF@4=coBLzHgn8lVYw$z!tM^+)g(p4AyyH)Q z7B~HL&}T!ZETRg>?V}^E4!a1yz#~c?`T$nxHoyOHfA4wJ6Ahx1K>x~s^LSw@7sE^I z7k*r{Y_?&&5zuP;*ZBXL+-NF<^R`cM`Vp1(3 zf+XcgyPYv83t~VIln8_8^DmlB!7@A;t3#;sqWm!`dd#r3qo>@f$Ibk%j?# zxUgX<=Nlf+$Jp#UGfzqSNGVl&oIoEiZV7qJahSWc((K^rmrv2j zT+eSRj_p|;6Kqk4F(~+liPM1%frauMCL$icsWHwQiF?c;t>>3G9sTW51zu!c$63Hn zRVxGvqd35zDrb|^?s-7f0SP)o_5qd8oT@dQ8fqqbp2sOzAd?z|$+`M4R{2?s9hu5` zW(CsZUremz#n%&?Es$6RhdGv6f-u~V)4!g+!A6nGL=HUNp&!!poaFs~FF*_uq)N@o6` z(26kUDfh}W&uC%&%dF{P<+Sa!e!cBR|stB#Bh0#c%NqUnl^TmH-8CzUIZ#k}_3W}Zb zte#>sJg;l9EqsNbSHJWa7ul)DC~!<&7} z%q0@hk6A$!2@n*2oWF3u#y|Vv+?hV7m3W2c-t^6`%JJH&+VenJx20N56ZLwp$(`Ty%<{E} z4TL?gHU=0Xa0y-@`D@+x~a6yg3)oEA9s*y@>MH3ee~ z+H7&4%l*3b$-}U^@2uS{9;%#uTUM|`z_Y^k=2Q0eM8xs|cEF(Y$8L2t_e#UT) zxK2r910y?hYYS?%(Q5^I;9M(Vf@VJ(y3NWK-Xot(cl1yxWVf}o-PTXN@5tkS0daIM zC!D3k)M&d7^V1vf_&fmk^<0}6C{{a*e01w>Z1GyENzgS#(Y!y8<=ZCTtcL!&nh{g? zm}{p~t?@*A=>i-0ujARI{g10hC#-DR_GY_AbLT2vCH6iu<4Jvc_vnT2XSRC(a%+Ql zM4`B1iRS4nh+qW!)h}C${ESIibHN=}fU?%)KO|&ta4F^l(#v6Y>8cFe4Vd-y%6SFa zkEQ0i5r_ZwYju>8dCWUT{Uz~|@&4fd?3)@cnnU>L~LNt}{^Z zsg&os6&l<^P^s0@y=gZX179$L%REOelM_;T!Gp>8dn+p40--{yAIL^i;uwQ^UCtDK zS7P)9n-Jf=t(zzVe?WW7jtkyjnWWZVc2U*w@i+KoAmRc`=iQ%OSb^p(YSo+}P=OAv z7$UI01a=i!qZP$b{@*@adO4eLPnqs`KFV7*^c2@W7PT{Hq|zQhi82)LrhZw zB*6Fz7S{N#S%J_J)WM)m`%~9Mm{k{_Bb%;SC99bFWcQ4dRCGD}+wHWvdl#I-BZQMC zRDf}A2ab7x)}Mb4Kgjrr%~*54@l;Zi>zj8GXz__hBvv@;4)xNVH*XWX$DaM#eD?0d zVc`@DCGOU)cHYHOwP$yLvWbP!Mc))o4n7i(KS}_`$A5j`2`IXiK+J1la#jt%(py9tA!D%7W&N4`;GKI`kAU<(D@=pB(nE|MSBMKs0*+>uRS#ubvA8GI@^w=bSFI zOgB*ukj^a)UmWu$N?WR_;gWyfUysh~R2%3xo^U9C^wdqz}?0jT1TkTYsEYvRXIgT%Ax}V1e|EE9iqw=&*diT$W55p@_mp2izn!yud z4#cy;*VL~Vmt@|*%-%WV{DxTS;+A2Vt|2?)lj`AoVnxT?-;-GJ)qLWl-rm@{>A$0M zY31?`fLClhxZBmts%*sBs9fm#S`LX<)`byUoX5`dc;kA^f|!j1(rv{{^S!-`mgUK zQ~mx4RIINW6mefsKX~D{+XVj3vcqKLuQT@KD8TRqa_k^&EEr^Cm z2lr<^NWoXa_5%+d3J7{R1?V>!*4=uP-|}&EbKP72bkWXXSej4MQO}761Is@B_t(u& zz^_W>dvd&s>@mZIeP;c(O~%L1$ILCB$R_2DrcFoZ6s=q;$@hlbuW9L)l@+zCVvs|A z->nsVdRNN(tG3nTpZBjm{`>G$3;?j!c$40K?O_ks4YjTM3+Mkh#AHuIYU0P8xI9y9 zzE1vZ%MH5n9r4h@PRXE$k{{Flh4A?~T;KE0-7neP+LoHcCn3MnzRdoT6n&(+`$xs@ z&y(Nv;HArX-nq_~ZCy2sL?4uYin#w%ZO-t*mP^gqmc^g{k51~l8Dkt{W( zS34zVEFRdpDrex+Agw7;#o`r9)Z~pPn9L#!?c-%M+f~S?NO>ByvQCw{JgQu|Bcru* zsw*K5EJe7Hfo%uXTpSkf^+9q8@p3WnMa;8LhR>`q`X3<1Jlp2 z5kLnL>AJ#SJaTDudAdzQZ}f5pgmcW~W?Dt$<3l?`X3`w%)i}gL_!N1W&9Z}RBiQm% zL+nEB1uwkzr|UL0IvQWSHVCl%z4mCh=R+FaPsa4ms_r@aci%r=K8jg>`SRH=ci80m zZqm*EpQ@59Y*AvDYzkH4Ctv=3_3y@{`K1d`#|NjS@Wr>hPMDQnwytxiJ}lnaD)sJS zJ&ycQKU8`;?pr^qlE<3EURn%RhFP1uijV z;qR)F2aA1xfK|Px)=XJ%Nar{Kv3kSrVc1yPBns+9k4PtWpoi|R|qlIzz}d7d&caXl9tOi%5CNlNx! zi*$PS@2fQB48gQbx}lN+R_Jwwcr!__(5+eY3`9^U3x?p|>t{_Tn}&AQ(IU*m6rEow zZX@J|q%HD_`nq;7IQf(vsYGDOkaLdu^{Aoix01tUGZ8vXyM+4V+cn^9lB zU332Wu{bZ8w8TWE6oDB1XIUIcrQ)x>lUVH2zO5i8K$}uz`Z&K>Ty7t+iYWP?hbM9U z(Y2exaO`h26tVoGSYp@rpAn)#o3Fk3&zZ;$zZhHneK-yod){mpL)jMl@k6TeU_uh) zYILSmKweqia#$d-|HONK(24->U|!=40-%n|iYzqX#n84w9hxo9E;t}g!+(~&{RQWI`;+L5 znd=->1N5elh;0;HdgPI2SOt{@O%XgLkC(8ir*H`HyD@+Sj@A!v2$du+g*!k#sztm~ z1P!A7Y3F$Ltn~(}x?tFuPD@|USa(t{0Pu`G%6XhxOQc0mF)W-6wv&umrxn(j0tFXm zqwFHey2UIMr4{U22s~XzL2QXD1`)6=>(ddE23l!dqXQJN3EV?5pzoa3YLP)cgQ4=W zcD~gk_`BBYZFSxkU;S*M&$vbTfi@iW}n4B67PpXpvkOP;rg ztU*047NgHk9;SvS9LWG(osl+QN(%!+gTMVtB56tr@-B_93DgWtaOYjGL3@yG9Ou$e zp4D=dpfHyafWvjK3p-^CJg73BMh1AC3eSv0rfDU$eTtxHeK{N zz&QTDnXMVw-e?3}naiVNe%Z6fY3ypdu%RTA1)H}*O;r#gANXFt|GsJ9-%UiD3b5Zz z3?$kNMH3DHP{p*Vw~3nVoBgVlx{$)fn~&WFk)=A2a1w;0TU{l@iC(IVD%8cw!1k2f z#L4W@4g+4IFaa zV*&LkTGjB`owtNmnb?wL+^g->_4U&z{WI1}I};nE&lVFwAqD70kwUqL54eERKIU}>Y>c*>Rxk++)-ZyVC7~B#H+e)Qx_-O!Tst0?@exdJ8eDNz5(t_Q_%+aU2k7S_ z;P`QB)Ou3yuNU~n3bWP^JQ3eT*S@rKs{2P>{aYTnyFX!Z-JlUUDEYbRZ-;WSiu$Nn*_hixKklj!LEQIc)z%M(~J)z6P!Nt?m{^g z8Xps6%GrXVWc=()hpkG#FrFRN;;Yb~&nPr9$-@1ejk)x(TG}SPmF6I8TH#eiA`8{2 znn`b4ma8Ao=U zRP5>6C${`^3K)M{YF{$98kE92BX067T=R;5pEtT^ro)!+V$rV0v&@~SN2A2PZyEG? zj%T*Zx`9_6zCBVRY}$X#yL-%LjO>x&y*7Y~`q{p|XIQ|lMB6~;~Kt^B(@L+|a$EVNq!2ep7lt45e0 z52yuj0CbX=GE4rG2RA>35}Ny^bBCF;bCMhHR(-cl$h$Dky zMz{G?qdwT~8!pl7dH&cvZoC|x7?O4B&u*b%6^4l)ujgV_WAG+@Zytk$InSte5X~y+ zHsG?vehJrg@s~1Ar^G27`kgKXEo0RYw@Xy+Z7&N$)llXMDTJ_D1y$lg#)r2W!G=%H z%l})=3T5ZAozn;dREuyl`oDTw>Im1>a3r6wL+`x8%5;ndi zl@VU)<_8UGv+dTzH|6p2RhGU_x>_8l5T&E;U$3&8NxgoUX};*E0k-naURs6+S=1@M zc-CFP_}q)S@3=OuzgevXw`>>L@a9AO6HYp zchwhPJQoHyziGUOix9H(?Jy3P4x~;wnzBClayWHaE2kw^^uwJ8yNVw_#%;G0UXPwQ zUfJtD(%Ag_??TMqup7#kL!KW$`I^|n0@yNIo8$zo)t=m9IQ{D~-j^Q7Y~DJqDfIL1 zI-zbo@hON9Uthii&_li3i27kaawoi!a5lW=#b1TfKixR-Z^;nD4kkdTql#(W%i##( z$xUlZJtX{kVtL}%jyZlqm!d&7#jc_Cb+sC)?&$>b!xR~WyI0uTo}K3pGkeM(_>cW# zlQUWGdmA~bzx2=A^KQq*A$q(6#QdG$_>m(eZ&@@u;7L43|&pKi_{NB@=1ma%bMm+|&pv zR2}?xbo}};|4!t!)7qu=i_5H}nU*!%5kKUuB;))wd?t^^%!XOY1Ic5)xN*$v?z0oa zt5L~Ud0lFF0bBlK;Qz2WX$>g}6&EAJAbx7_~5OeX56`Q6WN zJs-7iodc|TZ(pljY&n~zq|juYdH$3Bwsqt!S#)304XZbzRqY#Y=0WzKzEN&e{&jiB z{QICXnduJuwjF!FNLJBS5X)N4)epZ<7~?!4-}oQzFMOm?fWbizv|Au5xSI|4znTPa z?p3_pG7mYIr-YKQ(lPM$uVFo2sGBoORJ#c~leCp&lI_(vJXd30X(sqqZ_b*K?u(zE&nc)CzGUDV~CS?vD>I z-Tbw*+oiL~($!`>(|EqwBj9?F)dgF_srPb5wZ={LLuW_O5CQ~uDBMeKHjfAP2zqeZ zxntF+@nz9}ISvI}?r1|3lOAx#FN1k#h+-2-Q|q)~G38@Sr(DFO*e~ZsLdgxwLgra9 z7f77%pXc0(Q5qjQWcn~udKFN^%E#3N2o2}UM~6yr(h2WqI#?lMI}WPf!jg`s=QIu# zCF*q+75V$yl$(o)Bdg@m#t}AF0kZAl_Ti@-63SB>J&08pI09;3CM16fD`d=%S$;K? zlJ6gm=})j8s1?`H;6pTIRfa4R8Zd$#&Ru#zX2K1g30WF(v&JMMqJgm)EN?>eY9o)I zO0a~#GHKALlyZge$i)^U%$fVs_2#FIn-Idg!4VLL4hyfrDqS6YeWEmT#A|yRB*^P4 zqhHxkp>NfDNhDVfE|0p4Axlt9ICO#~4_i{&)oGzeSM|oG8EYUn8L`(k-l>^y%{raw zhw{}w{tkae-1i@kdJT+!TCi}j2P0cl`(o}-Y{RA27}0lcesUK-2GU{;(taWZf+anf}1oh5En;4}_PRjrjNP_`UPET@+j2TtDnVfdh7A>Cc^aGz&;GGFO1r*Q zuJeEy!S(fT*~}zWJcp^a3`iK=$nRcvzw=e}X!uPEY`BE`<-^sI+H;E_j-7vQ5tFv4 zt>Q~XECstMCrw$`hyv?fu9K&qUhxDBgGe!8L?;-$&dgZ$cddQ*-N#6DeOT_@Lq(bW zSKmKbA-J#FqaEKFG6ZdaxRUbyxvw4io)OdXx*)o~CB+78hkH3wMd68O0WAUpXrN+a zz{rBh<^DDDe(xig?=H%oAp^Spu@ zH3Jb4kMGQy$N_RebaWsb%GnBfdU5ri*BqI0?Klmj6cZqQ1XQ0ZmWd-V&4Y9P+f2+= zBGQlFNCL5qsjtrR#}TF3JhP*3Am!!2U%ECvc%%*!3?4u!>VDjZy55aurVJebWi| zYexx2%I(`qji&J}cCt0+48aYv)qyHHrwldmAJ8Bw0nt}eylKsO#|z)fJ}mxLML*Q0Itd!?9e7_Z?aSBYV?TH>&>8XoQ~ET|^osdq=-$}fM;DHL z(*_9dVuV~)v&=F?(?#o5pBUHuXNXQzGb*^x*vQgU|FHzhPcQzFdk2jAVni9tXC09Js$pB0MQ=%{2qE#dlu zi!hS`b&cmp;}BzTbD~_fLhydPsPq1Lk#jhBsHdD8p^O$HHT@K=Ztj)-soqh&*vM3) zx*)e)@?FZ$z@PUJ0Fr@w=J&>*lOC!~s~_G4Og0)hY#2v2Sd>ToBWV8mt$k*COzSr# z#>`Cg)_%Fx^1tUdG8OzY?!NfgLz=DzEcM@7?q&uY7o-hzeEKd}r1i)wCFi?G3n^$} zPVrCmeM5q<jC-+Z$}y52^(YU*y?rGQJT@kx~e3N+MaZkyLO==F<*0 z>cpG>r)qSsc>3!?)iexFKwMmcqX`zsnaaDu)m~pie4OWUrPoc++Yb_0|Kz5C8jg)3 zS(XdRm5i2j`)d;ktP&H=g*u5(REl~#Vc67Q((L<`Kd8A0DuQGJ z0o3-=st_W)<++k%#4=jIQb8A&xio?Ep_x|E3A8#x=Cn{sxx3Q5t9ehtVXMVT8>KFo=rm`AzJ0&;Ly4>99hHnj>Bc{=x;zC9@AHq^Tqj;$pb)&_sCL*l zD9re4PTMO5v`8H4o*^BkzlYGH?m6vFA z{kyfs1JZk^3>^ciWHV3L3t4HXpAnT!&nV0i2EF_5Qf>}DvB?RirXW>%>#7V-wm6jo z;ZnF;p!xt9BA+#%iXSmcc|!r7NUGj$@K!%zR-y2VQz-bG~#C6k2m!2bKgU zli`;FTu2qCAVj0u_r}C@#3DI$s3`11Eo4qoppu1@Qq=6rwev82l;5eS=URY6<~2Pe@@(Z1i=q8TpyR~m0exnPq)Y0;NyQE+Rmzq<4-R0W-cXVQ?w1Z_kVC&N^xlp1o&!iS@ zu4s^M8WFi{8S15gqgf$(todmsv+yz>u%dvg(Fg&DQGwHg21vO8RElCQR|`_uz%09s z+|KwPODyJDMA~_%Yx9rsZ={WoIAm?(s9c*E7SyxZ(U<@yCJDAPxNBz1G5z5+LQhr$ z-UeGd+TP?E2CNyO|{prNe8cj>_df9E?Bqh4`}T$R@FSEwOec78q@jD<86%_QK= z8)_&O3u?d$2DN#Bk_0SBh$k2{bBa@$m~f$al@B>plw!~to|4R*+(H8)vDG&7uO5UKZ(HC1#Al`Zo|^-W|sBRb#?k_NK-jfmEL{90kL>i zcb&@ybpl{V`!lqo0t73UqJbsRx_B;Sse*pkfs03!SyvEv?}byYWwYhBRhIgm>UU6- z>ZoX0$W+iB_Pmk#H)l6vUw)>(j$eCV%!; zfrhkI-aDgr8lJiTyD4D%g*5&1LBDh?{#4|z>%ikp^oXIvFFZx|Q{lKe&qWR6V|>aV zsM~t3Os6ap_0n2=X!pfP1TJ@t>{?~cxwFXwm6O5T+X&ORn%=!n>aFYvh!#g zAB|lSwqlWQpbIqHz`5(_7M1$2vlyEYA$@TFt0ht`;51UB*?&f+Tugot1_qbSyB3fB&fPD{Y6y^}cNJ9F=L6>F^IL5C8f;bLnu~aOUtoQrFe6@$7Ti ze%Yt9{{TZTrO(^^tjisR06>^GdRR~Mcyse0DX$zsnA!Ds7Xhtvu;r+1o&rgVjAZXA z03#QyCAZ$}zwLgr8YZlyLNSAFG%Qev8yaxjwW@ZF;z2&|Gs79>>xIkkgli4x_D(7| zh1lQ82dDiBDyD%NFbG2 zn$$kzGpn@4OOhQ#a7G7Q>6UI@6n$cY0|RD{FPq2;#$c&N`mJ5dERT=um~nN$IHVk~ z*7`0-@01EbgDAWdVu!yHcu0=&>Iz*RwOXB1(6D%kh!D5541go?aDIOV=sQio{7Tbn zgF%X}V>X5=+#}@{RjfNVScEGlY-!Bgu$Mkd-{!(+E(>oLa0fUsK?PpW*aHUC_T~H& zQ><%enD~SZ5Pgxm6T|5O!HUv)B^Jgy&E@4Cs5Bo(G(L&!63mSiVRuRTc4qf-QQ^u& zhc)Eiei8Ms?KJ#&D!9JrC)Zxj&j;Y-0*bVAfZ3y;qF?u}E^lqI{p~p91~mC!nWeW8 zBkPWF$9m1DM77xje7`T8f>uXL!mO{%|3-Re(7ByAUjv_O?gz=0OMw&ivIXzwD`G z?lQdAPm6a`%((E9ERc=q9W^IJU-T|FvzG3!Jnn?7aSU1vSp=1;6*B@>SxQ^a<_Zzj z1+Bp-ZzKM>PE(!w*R^Eg8(MZR+D?boLdVrZ4G>l;(nW-65Kspvp)bRLyUhv9gF)1O zyfIB}N5BzP-G=gi;tNkDoAwc!b}_`%ss)zLY5g{Vbc8DMV1Sm=tU-z8LwqbSBETU! zY<-nOa_`T&56w2YbPS6lGra+_kV`ds5tni@jCHwD;ENkKJOD!Xpe-#aAJ zr9CeC`_e)Q@5H@Bd`vR**6yX3jz<%kxpg< zw~f$7So)xfT35Pjy0l$Wh93&>TAOt4GYL|CwXP+ydm>B!@4fOvrj~Sq&T1J3xIYVrzV7!`78bu4& z_LEGo732_uZw0Lvltxy$^KgxzFsV$=p$7Xi$f{iXL^CDJY*oC@u0IND>Fy}(X&!d`*9-E}t5?&_D}HU{E8eJD zdG`R++^sYxOABaEi{?lju-)*b-`x_zjZ))0%y&PjwNnITwcW#^^2U!ExEk9NX>^LO zf0cZ=gSG$Ewq-M&Pp1}W0!~UO7m2ka%E||djEOmDG|=-#!&3XWCQQJu1P5xxMrRzb z(VTeBt&5Gkso%PH_BGn2ew1X^X#}Zx`fF6isv7ZjoGnm9tBk*Px4yqe`+HP#Era;f z*7Cug>2ifNqAGx|<`kGDJaoK! zUs!UDt;gz_22BvSm@T>1Nn>vIiMp=gWE073IKV=ZnS{TbjF!_mWE(rv&Yo}kN4}TC zd_k4&TRvKkwc>>4n9z)Kpky%shYhZ_8Ve-d<>^WZp$OWd+c1z?g8_%sF(x}XK6rq! zZ-f}SOBV|mKFTxVwnourYON3y9zUT`zWAKl;)uHGNL>-hVGmB4B<-!R?_j7%fY88W z@8B*k9OPoKtfan3yS3_$HBll(XryYVVMSB2ZlEH&{Q#C#S91FsYYAI)4u zq>c{ok6%LF(|W?`r@#NCeP-1Drlar+YI7hb7T6)Mp_3c#p*w6tp$aq2*&pGPL(eTW z@ac#)lg_7+raOA~X`BGS(!VYKtJVM)`}l#2p(o2}`>Y&`Q^Gdy8dgsD zdQBI~f1_Td=pfki9CV-~3l8_x?QHmSd6*f6T3=nSk~{spOpbBUl;#(9Ij1w04!9}J z_{7PiGne~se3cU>1n83gVl+gM&xwUYQcNq}M7~NcRuHWFc0!Fr_eL=JZ$nj$mKoRu z*U)5Ly)@fPT-CToW2W!@b z%JBCV%}mITSgV~3wasa0RbnD zA6})JCKNHouHTxt1g$1VF+ghla?RWU6>w~~*5|V#B8a_kx1=87x7KU>UXvWmr>Q>O zfY-&g7gf>>a{DML9K+pA&xExkcZ|CtY;DfCOEH`(B(mo{+SgXD>EbJghNtP-Y(&xCqy+JjZz%(q8>G-W5>DUvVx{Nw#4?~sQ6@r`!UL#nz*BSRFZqdC|Css+=hP5W;8ulvgSZY?z0g#; zB|Q|wX+Wd;V&vRSPs=**L4te-tx*%OH{bz&{aMJeCPyp^BE}W^D6QAGqC5D>N^kXt zl$BElX+)1c9Y=gXNo0{FP`<>sYpH`=rXs^kz#Agj^#i}-i57Y;X~fUXq0wROG8-@ zfaDrz2#~aTW$DkN^x`~pQNZ(1beCJsLrkgHBP-dk^U_pi;_#@`)%DL!pgH6$Wa@6g zp$~Ld{Z`<@EKyg?An!lf1Ju#7_G#}LWSNx$HUtO|$BRzxamHPi>x~z zA)B92T|{5ZccVJtTO`I4RCC+tN(hiX+#xfa3u;0;!<0Qnjmbj@(>%nWbLX94F=%D^~WNt)2 zWq-ifOaosAWC1vl&4;K)+H=Zjb-bpIZL23E)zWZhdvqlwm7>~Bo!96Q?)pJJE6qFD z!4;5&x`#y73Ck+|=qL}F2zjBT#LwCql!TJkzP~E)9A9V5Uh{7|w|(~bdOPLXin+{J z(~!QKAx~PAT#kn|TK&E==6yEKVVUKf5`K)azVDoDr2PL zzsHFIs&E$T;Lk2A)8^eJIE(ijU-`FT-7X0MWdti22r@mu+G2&Q7XE>UW<=wH3<-4eQH+DMd=(wNzM0E|4dIWaOY)-6*RRQK6P3Pd6*nrzbQm z07~11+v5)zgsZx2FTLsbj2YDaJh8^wEv;q#ZKU@KG=Yu7(vSsmB6A7_(2bUuOdid) zgwJ2z+@)R8b7GQgs#VC^O0iw0(UG8cmM!x8q^ zQp-E2^~X+y|2I_Kz;0p+-iI7av1N_xHAe|nx{tAOlF&P_UytMx-888Du2(Vcux-DS z?r%MAt0WYMwBa5fFOzHj`=hbIphN%8 zx>($NMECt*id(S?#8s!ka!sy3gj9Jke?or_PE^R+4b3!v_SG6#^d_@e{q~2DpQ|os zN-BAmujU@VpuveuJUO|+Nq3)ql*E>}DHH_5gpl$dBC7POuLztmsBDtKjE~cKjk?#~=MsptJrfyZB(3HfO=RzlSRa%{q z_;hdjvm(O$(>k~l0uEt^K`7AZ5WQ?9G)eVuR~%GiFzQ}*LnB9exf;vX4c*Uw3y zuWJlG7$w|S)x6qM5~Wu3rK7#Z8M#GP6cZ`{2_S=~`ivdC@@$3;2{(b}!Cfn|VbZw; z6z^QcWcZZ^I2tC1)&(Bh$vQtv-of4s@6Jw^h^LEecA|0k$?vFZA7WL+G1v8vo{|lo z{q?T)Ov)3Tjw`r4m->eDclkf2_5Vw+NKl)3j(}4IrZM-`WD#r;NfjLVlJN+Nt1C;UB)_YSi$^Kp->?NNz27l_cAc58Dtq6DZ-!!>ZG)3b?41gYMBnIo^pg! z77*zfSlYe_Eg+jhYIUC;2h}^q^O0?d06LkjS85Q6h}K0Y2Xu+BOQtS|^)sllkZGMu zzk!=xh&AOFk!*5gjChjM0II$2{hwsAVJGd$Wtrn3LuX?rm7CTjI?IYu1gj}iNhDQW z8%XnS;d*h%#E!eB{0`zZx!qcrg+v+;JUAXQ?a>ng;*N>IJR|g8(PIV-m608F{Jo!F zwqDOUlyK4xoA=ZjQy(Zf@g1x2_6Wz}@by~2+Sw~NKBlake!PA8!%nHMXKv@I7jb5u zj6VYc7-cpaN^t;eNi(pjjPp}9P#e6o%c_jH`@;Ck-kYfQ8!ENSsztN(E{IVa)d{Euh&vl7_gLE{D1(reUP? z^;R_iqyj>zwHLXO(M645BGl4^c!C|0z#9zLiRK_Ue6YIY$$srZ4^+JDB3A!;Lh_8N zlLXO8*mbmJFgQ>k@LFl^OFr4uKviirspKbNFgSZqzj=y4+=*gHbqWfY8zYK4@Q+vY z;=8nuEgrpT^wh34l_Y`G=BH7l96|7&jf`19WSf`Dx~jIxKn-TF%ObpajNz1Gt=m63 z|Giq^rs3Tr?moM?GxfLlCf)G)Ue=pnul~13Vv6Z5m#*DAG9q?xxweXkxpn=gJT7E_ zL=C?;*RuXM<<83!=Q|W%?OlJ3`M=Vkx&Mc2;6x{#=fSBj2oa6s*4DkP!L2(YGRg4P z(ALaW&nw^9quU;zcfE8No4O~*^UC}meWSw)&hs`Z)B5hZOx7skS+bLEm}0?8hmk^x zKf*pt@)ZLm8x3Z-w8LZLPc&h4W&XJhq0$jd6(=16#=y0D<+R&3lThd97;Hs4Ddm7k z*6&zRielUV3gUoMsE-9?GBbth!wm3E{hYUvVnG_6Trl9eN^o}{vaULFM>^3zC|ued z7!QDicyiV41F_P9`IK;`Durc0YgGhF)iC%$@o^i|_VzaW7oep2H8OpN_Xyl$Fo2?d-l|EQC%%rKBxIi$ z?7lw!l;Yz&u+U0JmZm~e5mRh8&{1U)XIrQ&hyI#P4kjiz<0u zEB)S4*qu<3du65kUV@B_dCS2+f0CN5pG!!(Z@@pJ$D-iVIZqQ}HYHE;>`a8~i)Cl8 zyehi!k#)28=dttvWXj(gf61>!eRAR_j;*G|XX%3Ru<>iQ4d)T7XW(wMkNg(uLk~AR z9JX-w>p`9$s`f3cC)j?t)K3failHkT1e`+>74lhOX-O;5+j^b;AyGkxYgCx_S6O62 z@e}AyP2WVjqjsY|RAf>hLwTRyW=>Um)RfUlfVA0u1>ocRJFB_q>U5lkH0Lb<0cA+k zaEYxB4tCiWma9o{QxHfiDbepHO&_PFi%NW$v=M+1!hSp0zr;KhYR@maiczLneR$7` zBq0V*T2{mHY22ew}~VNBX%}x3Sjx(9#_Is$3OSy_V!#!peT!yE&&J1-iPE?p1;~Ptl+z1 zW_8uFVx%+R)dSim7s`-_j#*mdPa#{!x~xINV8`x@UFi(a?hv5xR?>~_Vmduc5j@N| zaIY6uTkk4g$CuN-n5g>5Vr@3{hq8A~zO;346J@Ys{%Gmd$NBmGk0e5v1+HN2AZcVP zbf-jLeK7aYxZ|%q(5O5RHK(-LS6;`3VUol|=uo-k)NmT4*l21FK}DEGX|U!9b!@VM z1c*hYDEMt+GuRk~?tCM#n>_@b;bLILXe(9~C@1+ta5h<(!&wp29bn0r0iVZk))7V>WuVtZln9_^#>;t@!3>G4#2z!F33R zi7F}ulD92nD|jaubc*6;<*H{evq?f$=fJFypR|F!@hWsW-tYO{#FFH29-Ew%R6bsf zv}Zu&(~7+|+Z=e3_D;DzQ!He2Q_*>?)jfvq(z`-(+@6}<`JyO&!Fc3}D|YgM>fG~g z3yVI^uHRj^cH6uL6h8QN$QGjT^RCNzoP03qX2hK$?Kh6Ks*lfn`kLsz`RB%wrL2WE zz`JA{6R8)Czi2z>_TP=1`tEW4AVl3>-%{1`x!%k3Aa8s6vrBS(GdCbQZCcQx4^C{l zZ{oz$b47*kV^tg!<$SpUY$xrPtJoUAkgc!mNEogCtYGL9qy@ObvF*o-pv@jPXLK)o=q1 zO2|Z11^SUT_)NV{fG?;T=#ZI&snS)YVXaK*3jGtdhd{$%m`y>?p>%$mwpZQ2HaMTu zbbA;(b3)aUKd`{W>lhy67|X-({T{A3yhb$XpfJ;#(po4dF3zh@Qq?pfU02xD$@f_C zG%(cGh==&e8EKsJXVvl>t>K>UCKlI*G?95q#~!OTytwkv+2_o+6Z?p}-t2#JBKpK1 z>l6J)DqB062SRQx>572y8&sNDKJc6p;J(7`uK;kc*^B%ru zr*yc(a2sr8K=*5aLCp*3(7vlj_26dAuqA43E_B>cuch`FV~QcC$&iC;?dpD+Ry1Q> zQw;gnHmI+`g5lPB4i4zGZ$F@K^=`^bWGn&Y9jsNz(hr7R~Rx{B-2I#$eUfYUW3OT+9!m>*sin4S!E1*>nJD_-kaZ(!UX{r@} zQaPp!?Yhkk;3i3L;zk230BPb{`4Ce=jX-WQkk>?mz0MFn8$6Y&@A>unVTnE8F?Z*h z5ie#Y;$-p^H-ynAi~MEx;Lr9<^`I(Ui8?;&NzbqOuwlqr^BM~4dZoJsIm{04_QbE| z>EUtJdYnCkMRb&CWAx?SA~o*FQ^m524`i&k={jQ6K13;UC=Bb8$q7?85CUwC@E41& zJw?st@``NmNw=2zo!o$LR88Ku9{how@p;_D`hGcb8wn$J11X-`$j&bH4N2EiSspqP zi+=gqTVJBT{kJO1*9vl_tm=2^mFa>l|GjszPV6?>JAJ=J>Y!2dPfbQmgct62&yg*S z)N(Bo$k7e|Eb#9sxuE_%fKI?GI%h%ugUS-)<%DFWPw4oFd+1j~=l6S(?C9g()ItLQ z>t-`WvgsO*m#q%HdSvVp@ByInbnC|nH#Lv{(IxZ6YC{rLf$)4n*jxgH01-U({G2nC z=v0FZK657E*oDYPEV{x)bZSjJhM+PW+=&9HF&fgC7R&~C9P~fsM+yXabV+LUY7I5W z5=rA@31U5hNkN~1ezc%GH#up_l9nVibwFt)1^b~(O9A}&0J)+^?KSxl4x!+m)_N0W zs)c@sL%TZ^Eaw)TTFI^Km3GN{jE6kyOV@pqs}l26g#yDY>-tA<@w+U_Vb=||$z*3! zhGCqMR@DaRwdUi`Hm}de>oyG*Idy)DosBL(b*qL2x`r4OwwO6=v-OAb)OYM5RlCFjcUZTSx(%k%n2;_G%3h;Cd;hcN6n8r1;u1X3HoH;{Uw9tikWfeOH zx$$Ker_-g?$O-4C?Zs50+qHr|8uya7!y|hIgmHtz6#u;P%ht}_nRz+VV&3?Qs_(R& z`|pvHP@eVG_1=**12UGR=oszg!RsGOs)uaU=}$S#x@nqqoO6qK8|rYyP#(3iog!|N zRgi7^Ri{_`=2=ecz!4Ku)@r?=$=t|@(;#d2`Uv$n4sxI`ZGYz^tFC48?&U}HG{ z1wYx>uJy@i)iv>vEfC|IXu`svZnbE1TWbQUx5Vap_#QPsJA(K>Zq3Y?q zE1F}CH3W1q+b6#!e=IM3f_{TFnHexu^^ck9*cY3 zCd8`fX)B`5Dzb5PAPV7F2GFRc$YYj#OdydIg4dAqNu_H~S=N`rJ&f%zHIYfLx}kek zI~=ELLfX;>raYuEK^nRv{B4dakjk=BaCK*t$+vuvZo<@5TUb|Fl`@vbTd|w^x!dHq zi8MfEHdL|j%TkMrq|+^}JihYK-9#73>B|?=Hd`twkpI4ezXv{Sf1AyEU539{($Pc1 zWqr|*t0eU+W|UviE_U&`z0vU!&qo;R;&V`f++Z!;=Y~;QQ`@c=^42Eyznoz2V98Qa@zB(RrzVizdeaHq#>= zdACVhzE8v%NhMqKs>|omnx7tAQM(JC`uS=-K>Ux#1K<9En(-T%XSrjS3O&9y(>iut z%P)W#04-|CW!>b4t9CG}KUZ_Sm|XJu`;Q-c0uSlJ{~?`VxK3s8Flup01N;%Lx9jG^ z*MosnH=R@u4oYV~?ZA_Iu8RBF=N`B5yQ+=Ct?KrrB1lno@wruc9QB zK@5bL3voZz&L)9QEipl4IZ79niiI={8Zr6|=p^aTTvF6*BuN`2?G!F?--MsvMB(5# zEG@<6RqZ)fPwnlyXV@g24xVvHBeg1|QPV}tZ6l_jCJr)i)&1LiF&E$CmKrtrY!gMF znxaQ|?h3HwP5#6g-}SLQ**n($hU2Mw|D6L0+hH@?TIaU7y_s#R&mu>ed}tpYIU)1e z%{aW{hj@dmn&R!i3%Ax5KHVMyFAvTid=rn5DJ&hP`ihWexf2tCT|6U2NA{$gM@EE0 zzfYD}P1Oi8`pi4M#pC`;K2MU^JI?tY7)^Rxb!|)j{V~g<>G7Ge*Qlp#F{VG?LlwWg ze_j6Ye9_|L!J*S<_pB8;y*KkJ`xBEqIycX_uz&n*2e$0sBfX*1GjDSkFo2HStjif+ zIuSD|a{K*rsFQj_U+SSk zX|3*8JIfj2QCB^H32(;shIyNvCRDw!y*>lBN$hp!|i7isPFLM=!cIJxe1{%bNE4pyafXV2Nrk=qm6zCbV9!PESn3 zh@ztgb729*0%ee|G12PRgW|UJ)Cf9-p@FmIY#&#hZjb@hx(p#2Fc__7v-y)9BTk9E zNX-tM>f#RJUm{0jVRHwl`uO7vE93KNBH-~2=g~*7ZiOW z#}rT+wgPNZ=02!!D$3Fr=~AwJVR=>h3P z-uS;T4j3%jUjKi(w3X<0v^shnvDG6|1l<>rRBmkbZ4GSIZ1K0sQ*en3h# zb?S*keFYDY%`^+m-ysBAJr6+HCHE`lr5ghTvW;i{gcg^R6m)9z5Dw60w;8V4Y;^$( zou2Ptk7AZX+!evF3VNHQk{2w?C&6#gEWj4T}?%-OzqB#P-PALepc-x7oTx&xu>8Yk$6a)*K@so$M#>k@mb| zHPU1{@&)7B#&G7ZYsrM)X8?NDFc*z&ujo&MW3R8pXTA7HX1`J!iHo>7G?3vc9W_cr zC+VBd_y>;5^@55KEj6|$qI;8c^^;|;B_13vNwz!jTlM#g$D2+19(%8O59k<@!eIFt zMkiZzf2)=+EkS|Ce@}Zy?hVA>&a?b`{?PJStx*jjvf!Ha(XZcRsE(5Wv8P+x-x?N+ zOMU;d=AbsS`ghGU>7BpW6tD`1SeN|+JeEdYAkLY8ft6nD8UEc=OehdThto>nu4ln1 z05rx9VsP`cr;?r9i5nK3$p0lqqF{_rJ5(XX>Ap02kTJ>sm~p4@0cOUIsXfEY>QlZ= z+j~sW_?<#|fvkG|1G~o0yLy|z-|3EK>A1&7?ZCPf#rI9oNTyf@G%H~am_;>|6XkqI zu&fbCF_Ee3@j+{%VKU|m+A854dZxJvzc zoRhm$FMlGk#e&7|J9NuJ&QRZn(kA!1o}>DhEn=R*4ko3$4OmaBimxtSj*sFCH;D-X zM@v7YyuU@aYW6y$$3+?y(`<5JSq(UiJPQl!SKbQ`dSicAmxf}U53Tbl194OH(SG>M zL76_B4W|aYS_H)K9f>ow71sDy<2+!%LROGvL8zR?M1mFXC!c z<(EE;fQ>%JE@#97@(#Kj$=1vF{KZceS4j3(y}K2SV^YGy?<@3V?b)OK*6=0vv#dB{ z>CaE8cOieyWuygM`Sl}n>s*;6R+!Sr6{<>m>bxpR#&Jr(G9oBM=AtV}OMEURQ>{Ti2vH45)c57u|2 zJHurR&~_fo`s%_@`b()9vqm*qL-oNq&-{n?Zo+pE;JAh&ryyV(Fd>Lk%kx^KG(wtI z5i!#Sa-O@b~NY>B%@@9omxc zcP;Z@3ht~dVG z4%_YjnV!n*UzPT|kurH{v23T^Wa94Xqt9h->;X{z{(2|Hm|q);0t98A`ZEw&kc6~~uY%Ys|Mm_WukbgNB&skR-4xIqO2%#T(elK);o+QNnSX zAdSA@A0EGpndTQ`g3Wpv=?WB%!wxaI`y-*(xBzaex?2x9Gv2-@z6Y98Tgv`U{RcP11{f-U zuR3+Ku^>S0!b3zmk2YJZr{z>E%W{bVrLcOASvBq-uhK{mOp%?C+7PYE1xmjluV=Q& zv4_?6QtL8EKSww8OwS~umIn~X?U2EH#|Ak>#U!xiRQNfB3!N>>vCV^6Tjf5la}`ab z`5$LAn;rofN-;s1o^Dm+=BKLP{_!$T8LYaXv;XhUuApJ@wUfN)RVyWWE#E5jM6Ansu?LFpr1J_gf2b14hx+7p)&u&8aVKXa=iw&d z-DWoWO4Xk9-sDUsPMT=0=rnrrQEO~75r+=31D8S);&Lg-42d4^XAyb&k998G`eU!iUaH+JvS|veVR#Y+$!`>!CfC z8eCw}478sgcjhtSWYeA5Mb<7#Xb#%CrvBKi;3lTBsn(Q`7ngypowvX=$#S%+oe?D_ ztvnWH;kveRyy`s!rH)1s+dV^n+vhYkfF&T>?;9#tgxpe>H-JSinpcb&)W?if{TCcS^<>(tAqcG_#Sh{;Q`<2C=&0A|TPu>9z zX`LTc#vMJB;FR(dJOOmizFGF=ua`t*@?Vj15C04>Zt-p3IdiF|4{tRiO8_ZgZfwhs zA80IlRaUF^B#yhl?^BV;KHiM;eHJaVsYt>!!x_}&0clR1Ib5xd1&We}<|p;4fuA}{ z#@|5euG$xgZm0mgLp=;h*J2%Ax4uK!7vp*-POBp;P0L3t+xYQzdM@6X2e>4*U^j( zbK5f=L@iN1B#m_Dv5zO$Rdc}7pmW30erk8M0GthzpXG}OQwUkbgZcr_$k^F-7cjfl z%^;Uc>CY%tNx0x8T*mn&{2GkyejEc1a8bLQ@u_R)&f;)i$MQXSVaM7FijwVB2#6$Z z%@XnB&8lBrhwdp!p||J=ZuuD#!0j?*&-7Ctb)mwU9;Is(>nf3trm2>hnxo7J}U z-k)kSmmu9oT%-Z{BjVkkMCB^}omw^EE|_!3t9&2Ox$i@X{+B~Lv#j7_d8jKz0@@Un zOY(eR)?LnO08Ayce=!CusS~OcQ6OlCC_Dt=O4^M|FAtihB@@ak%Af?%GGaxrDW}kt zU=OV)SG)`Fdiw7CUJ0jd5-8P2>(ZIh*Dt!AdhqUkh!e@865>4i^wsX=cnOf*sFAKr zAxdt@O7a^??ilm}U5$ zL{yq}qbLi%FYi8tlDj7@;j(S*PxLyTII$c#PDb3o;W=n2ZL(qxHA}e?V(w!!6W!10 zUQRO58NRqVzTh<4;*hhaymbkj`$k zT)zV+>Mcv2gfo|uigDBANGVg_o%kmvG8>_Ie8jlPwQWTE!j@Or6DY00?#?Lb0%p5$ zG+*TQXf!;(r|!+MhFq_AyBM&I4N8CH(s`eZ>&1LSDt(MR5ELHGq{BecnJ#*4t+A_t zHa0gfUVc$cq2wh9XMEHy+H^hVLQ`ThyJ?_|ro*!cimf|i4^Bs^p6WbTAT}Di{^EIk zrNSG+uF25~)fe|%G#U4g91j2WM~3#WB-jsOYZm(awLSERxzRV&%NQUa=+7FXv9a;j zYlw()wjdh=nmx3sE0>GwQ%ybI-B~mn4I^cy!~2^WEQ{?P6LJtQY)==?NT&IyfWrUX zC7pny00mP8a~>Jo^U1F<&eVLluKRw3r2P!gD9iM)@wvsym&6)hnv{ZtxIs_h5*y#& zTa>TLsv)uy1SD$cv@Sh8UVsz|l2ljCs)_pvdW4W-9lrH6tIcH4fXA-+lB*ii+ttEX zO^SN%2aCZ6s8VZrCS;-#P3ZQ}w!_QLwrydI=HVmK1CjR6iy$u7qUZk^0pSjTJpiOs zq@R$L=SRvip7zNKF?C?uvy%*S6t5IQw(S-dv*=F4QboQ18VUI~p zQ~i-o7i|tbx^*c<7Z5umJn{acxxx+WV}Fy6lzP97S_w`EGJb*MHD%uD0s-saUngja zeTQrZBO=w_h!0BE+gGPQ$GQZ)fHuY8-U&HZK`Od+LVay}`L6_KGsdy9@9x&7ieD3zSI{gcYjX7S7x4WuT`%{#5fQmcZEQSm>B$h z{$%|-pkj2sP`8yy$55!#D>(v&O!}a{mKQ7rDn!8rK#x@&-x>&E(ZV@bKms7&^{*gA zrW+!yT|KCYkHL4MnymO436ZNV4n!k9#)oO$qD%@emXmD4XklSHP$&bSTH7whyCQ)C z63N6;2A$|q0%X#F0dW5@H~=QY(7|X`&pJW23C3 zrpwYvYBm#rD!noksT~uQO_P_lxYXEvZ~r{Gm%DPL(kI5nW$Yed=0M>EV#1+`gA(x* zuIDOy-Zov*lj+>lSo^&Ob31$H(-9+D2C^GC+m_GRN;xGsBJqFZJtqGTKd}~V5N*W8 z3FWPeB2kZEYs-a1xsbiJrM;E4#o5Z);=BTTY!*NK!#Lgz$nB;ad1j+Mrl)@+kCXP$ ztbZf0Ocug3Ke{nzb+hrmi7v8%uXL(t5&@VO<%tDr4gl=2~Dfy3dtlK(#WI*mL>3+vZT9&^zbjxRT{V$ zBM{6mqnu<&8-SRoUpBtnKUe)y?#3itrZ^p(hH!h*#d2bCowO#%24WHltk8O(f4uCx zT}JxEib@P7Mi?&qZ!Vk7t;*q9lFd=Z{2)XRU#5rE;%~%InrdScD1%2{*F2~;9eQ*s z$5r14OMYqqlK^a1V$-$-B^82>wbSN>`pWnTt;v~riN~%%YpGttYWqExXP~ z;nimtUGWB0o6Z1|Qgpli<)`m#L*|mdl9XW3X`>h|;9xlxqt#$W(-`x(W1-_6tCN$v zaX9?+Lf8HUxofMY+glG^7ax;ozPlFu>88{gHs~YHWb2{X-}c~der*=7e|{G`@>g@o zJ~;JOW4E_7pqsyUed_>VJDB^aD)C@YEKv^RcFMa;9=oe_?z&Lm)*)69I(R%8l8U%` zx^*b9%fI|;>pzwRKpGB4uymvuCwo5m!WG7SZHyqeLlYvXjj>ZXD=C%5kGak4(=tJbi07920P+sWZjQ6QFX8Y7Vj?+% z5?ltn%tgULG#_hqIVC|z?f_k#@2)hTJ()@@nwdvf4*Me_totE{VMu?GsHEGkLh*$O{@o!U#BUf%F!5oc zk?%|$?6eSAQtQ=g2!2iyuTlCR7=zz=Asj-d&yh>tg9D<^XtbFSrFUaepF$*au1QT> z&&f9VQ0XGVAPokUk*pz$O`#Q$p?Fw@K#RrViFZ2)Ye(pg%zc&y*%8ruTW*L|g{}Ln z6@6AK^G#TbJO8QJOh(rClGMtDHJOW#OJ4OgU3zgq;|qX)F7(VNmPl3#_*5c}72F$f zR0F90cj1@)Sx^et%uGJEA*+(L>!>@HD9>6VmS8ev|_0_R_XDs-oB#QXMM zons#D?t2)PQkw_x8h%6^!UXH;8kAb{4NHBo&Gw9X5WyAlIPhJ(as_KZAX7p!o&iI& zXxuS^Y>2bJz8xeo2(4pS?*Qc*la(5Rh@63p%uW{cl&0qP?T+5{d8>vCPh=(Ij62mh zg}W%WmOf3GqR!<=C4~;e;}xI)BLpkELP7{e^pX&c0A{I(K`ttC@>vur0RlJ*&-&@? zrlSLlN&nQPYymHrhwlh-wxH_XSKE)<79H(80Lc_K@wJ$8>F$<%2~tM`xk%9|fv<|- z_J6KR;PRD;NOb`ZHxN0l4}x2uqsihNA9WT1;01eZ?!4!$w@?WLITJTmcH`;oiP3d_%V`Q>pLtbPRdsS9`P`LDt0UUZc7OZ9 zamN7rl!)E@GfPbXn$*+=`S3mQcC{d^A>wHg^UGjoKA#xZDf zt;qJuhaI;y=B12gpWplI)X_6KlkaWne%r++ zarNAg8N_I3Y7>z5#7RX)LZ&s{xrrFv3v|FBgpv=P>aw-+a7{5ZCyb-Res?b7o|^^q?5~><3zFx_5sx=M&uT=g z1iDQWU%k^6){jI;k(+o$PW$c{DOYZ^F7)yA_WxM#jhq>sHCfRth}q+c6Yi zb}@}>2hzv&7hS3!Z*c1l(;rum)ClIHy#O7+n{&}rtX%bU}>H-Cs<{&TH0 z$;~7-@MGMr%0IjIg+$)mgv$Tc7|Jksb1!h>?Vmk`GCreQl-@gMRj95(h;jwMRVSlE z4CJ`=bhQ0cJ;3#05tONoj0ilKP)FBJcgUrePc?!iV-+9h9C$xt@86HxE_Y8-7P91F zaq5vu1@POEc>Ns~$3E;R^~uli_Vs?Lg=fu+3<|>bPd8ba%2C?{UK}kGe4r|6hy_ET zp^Jzd;xl4Wq?0P?5YB6HNpmohGCO@m6A1WE`kjQy@z0;f`m1&bl{%j;tvO!ki^hXU zQ2dlr+{zYzi7Fm0YDYD zJe>Lp(kU?B?@HhRZSlcD*HJGYDE5$?w5XbvYOpTe;*BF4ONT23U%zk4JlTK3W;M^V z%HLuC+hOeGlF8Sv69OM=irikeKe2_Xovt=tnoro1`m|K4(%=@^($UvRx7MpZPpjE? z$COXlOW{=Ju!VU8tcd4jkP}^h*r}k16Uz6`j*gq6jA-R>EUO9@|Gcu zYVf^Ipqb&xH8R83FX(Ral$%csZ}3UVEq$;cxv=l)9tvppX=kKFLDS@%{0 zBuiPOJapb!`YYFB;v+-v^3uQO9E*v2SBV9wbvk4i5;o1R8zq;%jPi7Qrfv54a>fvL z`N60q;p|SuSb6Z#M^?J>Cfar?003===#yrYHuXRyvj58=yuD!OUAHR~ltu}UEp7^b zg>KW@YrZ{g42!;(-^xR-pLvshsc$~G=f1a<`ugXw_+oOrRgi&%yu6a)Z*@po1W!`SPGhsn@w)k5=%_{2sPK;VT{3G2tOzZS%H?nvX?{dDd2|9(Y526;kSrQ5{ ze)VHIwNym(wkb+C6KVVqQX|(RnQt)*H^yBFRLdH`v08uyHJ_hPED{h2&zQsvXEZl|j+~BQxVej8bHJlj(UfcE`Vs|& zb=HRNZd&22zG+v(Y8EEEmeN{`<2Wc9bW+~U7hdOq(FlwxqAuSFz;z~u3h`8Z)s|RY zlRySNp+>;+k--Jcs{+8I=Hvm9~*ArLqOs}IuK!uRN_j=Mj9!15>A z>BM^tNlWkjK)-vu^-%sCoCE?axk2zn);a zer{`A-1bZ2iQV!0w!|4fX@I{{7KigH_jN09#Zw#|9 z+_RT~UAM08G5<&Y2DFOqpSgPG(vt-SxP_z2l6R-k;a1#vu|62VHxr#MF^^79ZHQK# z@)0nRf@q#kEE!)zr0SQ+4Fc|_9erVNmoR+9{F+Teo!*Xb9(P%HPE4{+e^r zuQV*tknkc84DP-19^=r|q4!lUUbZBIFRzaNW7Sl<5}vt&35sN_eD_j1+ zJEdeb=_w`~vO8sZL+j6^i-G0)7>?gh*2vM&DruA=BD7l;Z7*A6bmsyTxnpp}iqhg9 zYRDM~<|GAI$SEl&bz1Q8B&VKK84NW^i&qp~P)5gcJ)+&%H5MlJxlA9!M$BL|EDax6 zO#>AjM?kZJa=VD8EYXFN*#+n@Gd8j7=~XTf%q6n&kVI&sIJMCS)NLw&)3vpl1S~O; z4;kJxQ<87!jEy$ptv=;NEKh3LY)e1gT$8LJ&OdO4NkS&@^>O)%6eAO1n_S~}pchPX zfZmF-C))`uJ*Kcmmaq=G)Iz)|ZD`a%ynyR4FX}s1Cya}V z8Bo!_01ybfv|I~a-CS?WYVMRjViL3z@K^z)eju~vw`_^Lk>ii=H$6(rZlX#`mdtDr z=_5y3lQq$%a%ze&Z7(ISMyj^+nFPL%IEpMSO@)$-z@U0&y@Pb512GMk8$?u>6x(5M zFC>N!p^~suHC!X*!RSIULM7W&Yh|j7&6cpF2}P9N(*m}i_z^;yuwB&y+3qUk>DI`FX3^G8vv;%i$d~Z(q=y5K6 z+As@{fhfF7zpWm!?yfKbm?Ia%hx@F>l-Q*HC@l6`I$~L5x<86t2vM)6Qxm!<<1ka_ zel0mEfB~IA{aDAdlObP)3Nz&hg%Yl^B0nksSU1b!194hEH%Pf%-;&xET&dE5CHPk= zx@Pr};!otXZ)jYeibQ+VFj$yDnxu4_*M7|PM6t{D0AHw2s{R;*Bx4ewD)v+LVQD~J zb(~H>FK)KxWSzF5Aq{A6PpP}ia?P>ybE^->JmBv?#?pFWO=nWCR=7B{POx_3>ptz5 z_5Ul(ZSUVLFs*kC^o=z%9b3q{P&KvzfkPK=OpCmA{lj0)s+xDIxwO}<)zH90g&sa5 z9U8mp>dD)g8WyeM3ombulz#kDuGGtjJ$m8sh|%J{h>Jt;o~+ypBF)Lxqaz)cRQ5$Y zmis>-3;F+nEPF&R+S14GslwJJ5jkZ@W^g zZh*m#(pg!3twFx#Cb%;JCh6Sl-?EyPJD_2{ShsH3kOeKi0Z5woS~=9I0v8C5o^qM4 zuK_Pi@mTalic`?yI5hFM=5W91q z=1Kj1OJehHBOdmt-;B(wKsP z3eu}k(j{3s1CH}c-R5_@vdliN(k`)agrjJTFT4E($~oJ?+p zNup;%x%uoN&D-`)GJ-t*;>7yl8%xlixRr+S2 zk&pduYKs}jRr!GCChkZEwNN7p|5vOkym;fTh`dY%1Sb2@g<`k6U75((^>}IXp>j|^ z^GQYc_fDWel;OyHy$x!vRkp2KR__Sa(l9Y7c1KwwTT`*0aYbMI8VU|;lF?I1n@#AT z2&}15{iJMVN|{Ik8BS=@+2)zWP;=Agb%S zN&K9_GB0ZF1PyazvSzzL)>1R1=fQ0unJY0_D5-R)D&@n{v+oe<`1-SyD6cq`0MCnm zqW)|a_?G|7NiNyk_)Gq-xBUdDeoMVX3IFcTtVZC--=`5r?tR~Cwmzuo8D4d|WJbYz z@a4%AgQd*`NXg~@{?6!W@jhg^C2@a_J{xMum+4P;mm=4{U;4DoSg`r{%9pJI4f+2vUi=V09vpcK{qUr>W#N@QwEgq3 z?35%$?T7MPs#~L3>*8okQoqAU)L30}RX@p5Hm=`oG!Nez#w&eXsc3Yke1Dgz2zST|4vIVB4dw zpEzT11_&Iv(3}CrvFCpb)xiS*xd4p!sLvQ}!;JYaBk@XuUs-(1O7b{wdok!Z@NO~= z7%_3q;uW@?y}Z0^W~}G;pN|B{b@6_uPE%{QjwYg`vaUJ$TVa!BLLtzdtpYsK*6*bI z%;07gFQoMMo6GsC)?Z8Y=Z^UBUD_UWMT-vi@%y5gU%OiC)Zq`4^_@2KQb)c-a}IZ@ z@XIDG^2RfFQZh$(Y1MoYO6##?eMv-}L{TOCX8im6s7`NINv?i?9G*{4c22TkD9gyl zfF@JJ9&a%9^15ArK&cB$*_y9V*<tvg$S8t40R%CuNY$f>4iyvNq~Qq@|Nl zU;(GAm-%mh>V1Cn`a1WLL6S=j=ix=8pgj#65m<__a`A=kDsexTZjaFR4{B?sU6Uf+ z`Zp?z?vd4Bix~LSFRuG+=oy;FXow;Va}sR#0~={6>(jJUw?%1bb&!elX2rt(DmTs| zoXZrp20{k|ANg`$Q5qka{O0-|HugfYk@7)^gfwM{nizP7?9NzQ^{xqpr2^|dAiRvL z3fi_pq+;(uM;ONv%>##en|I_{eSs>a1Vwn#05RIoX#i`uoWTFAhPM{0GnsE-lg!6I z{^l}Tt7c>O`exPm{^;mc%MZ=OOv29YU#m15p$a|E6wp`G`=2$R)(vq1*6mo9tUg~e zery~qIL(lRiiGVa%}`P@2$sJ4$1NB8?sZzv$2~ISKmNpM#b4SVignC%q6iCLax>_B z|Mi>sfPz5Z^fQf(!|uC>j|uVaS&?$nAD2$w$(#Rr$gBKfiIP=8A)73Z>rVJCmVhGc z=X8U(by)!cB#EDaf$!P6siowsj*R4&0x{qXQJ0oJ3!b!kzQFSLn%Pm0~?X3JhT`Nc6h>!(v8!ZP&O6!k^SxtkJICQ?~HsHfT%eXu}F z5vph_esN`)dw*niyY=UMIWdIj>&fdSshVD$x2_hni5al9&*aWN`Z05u(5Q+xY-KiF z_0BX!1tZ*}W3`--EplODj~?y-2mllhL;V2gMEw62g#rLX1DPLx!;(Yy!Iba`MSQ6h zjUPHG-$wgSj^%Y2hfa>ect~{4mQ}qqX(vAd2rhB7sk;VjxYA zxSWJIyULz%GW&e15H%)sN&at8Q~tM;&o^VRvBzeEBLOm}AsPQcu|BWJV`^pAhl$xe zb(KEax?pYNq0%>OEKxdoWo3$goCiPq#L26LE_d9QWL7E3l>wJp-oO^-~e?ujXgZZA7G0s3AvZ0&~oTn7bIm@q>CS zXfSp|ghy^f04(8;BZ%;*n1u?v@WnF>q4iOtOT5>LO8MvIBxmPxktrXu@3EdUajYy> z>D&tta*Ai6iGKkA?@&Cz2L|TWrF^2$|E`Y!0=feksZupHHHPHX8~}HsENXeD-MGw# zPm0Nnjh#a#SMo#dL{}peYg7YFW3cXFEoBZ%`7>n--Z$OfD`t8Ur(ET>!<3)2-6TcO z{L~29%?uyz%6&T3CU<%WIUT&BBv6488y{$*NZB&|CdslJ_%;`dMUabGIdVP*g~+C` zvz3Fvw@_ifIH&$Wm_n?kNwp2fd+DWq`Zg|QY zScn-Y3fRq5JQei(7~){Ldk+G~5}CZvnBW0{y%KKGvUa$)%YZD?+}3v`%v`@_%*M95 zWn9Tm-Y4iHuamAGO(h~FyB72hwk)@{Z^sN)UWdip9JT5W?prfuNtwT-6`hm3vv0*=yEUEF>w;Y7OC>xLIOM?l`1Zo3l{BXDSTBpe zU~#DuCR#zHRZStg_g-#DKn6omBX3PmLmxS8&l`@%E2Q=N3)w>kA!=E((3eW4TEVhE zm5u%WYn}kq#cj8nnoNSH;NPOGrfAL1zE>LWF_%xCmeP9-I*Q#Ezj#nl`TeKBi+G|1 zlS!>#P&2-t-&xptzt=7i2?LQnlMC|YQx@6~PGH>v)g&$N(ez=iU6g#<=nuFHl84KF zE+;CTN%KmnO)f<^rzQC-kuVND_M=UQ-I63;rxw33PJa8H+OC8ag{7U$>sBkSZ&oKP zEFJZ(Z*^sQz}L}SU~~3GwZ3pR{wQ|p_d$#;?7JO91Cs+s^)EJDzNq(;XXQHcHN|{V zrX{ZipU(NlBN&IThUcz?xW`qoXQeq2LLkrfbJ&#I&Nh7&+Ea`-!Yt>@>Fo?RSSBkg zC1F@RM{JJ2y7^`RNJE zk~G%i!_do(F9HH~-0hmsmN%!lhv2#N{a+c9I~f@HHzsLumXB^YAQ^G(_Byt;-edls zt`+lc11Hl=O1irLEx(4zjJnAFy`b#G6S)+BfpA0nKD#c--VF+})B|RqkfJIWyvG0_ zQTDP&e>jt3nL2r}cIV)}j954ZS^BWg#AOIRvt)m6;}ROZ259g}`;;Rss`&2HgOkH! zKW_luCu$&|>K`#6f~$o#3a~|Rx0Y-56n-~KyRe+Y^&htUG=NcY(t$8Xd{w`jh#y=l zveBJxm+afuK6B6>3lghC0941zItG|BTNZIl<-{QySUCox!EfE2)g$*@tL?Wnj5LV1 zwK74`J*-W!mKkgJV4~6JjImtTSY%4wH#gp;LI91F?ZUxFFGf>hOOF29Lr;xG5ub`1 ziC^ijW4#xMMv8AF(8R*X!F#D{Rr*ZtgJ^>b=jJ8&1KB?fuH|UcjdQ9uT8o3yhl5mkWMq>(Nyo;(*yVt46CP*1s`%h3Q7qrPQMJb3$s$wo2nIPzM*{7tInU z*3En|Tyq*!efCfukRAB6{Vz_Bu zZ886f|9>*Z_y3@SX}AM{)gO}r%xBIykQgoZuKFDb_-Vy1a`L^dryMj9H_v{0(^ zpL4M3mA7KfEG{pf8$Vap5KsR|%}w(9gAPH>&+>EQ6{b1${P7pp!wdTezg<_)57aX@ z4@pPQh+h&*F|PN`LqJBlg1iv7leY*3RgGto!G4la3bp007W5M2PYr!)UQk0`4I0c~ zK4qZ|e2c`rkNCoO%7!K?qpN;SyuLE<{MJrbIGwrfSxLS545 zdxfKpt8=g4@-1v0OeaVOzNhngegoQQceCT*xOZONi&w-NG+?z{{^}~|u-xr=uF6ic z^Is~_(Io?JE{8vE;O<@vrqWGxdg>rNwYx+_QoH_8pO$6zHIMn1Db_7*%|EV2>&IDC zYteiM)2mVwzQXk9zZo`hmP{Yh$U{DYPJKR`3|nY2_6O?7JjU)@pP!7$7wiX_!vbd; zDfk3}NAAC(*_l}JyJe}C+c_{J;*pdLljeMcHD*_vWk*YRs=?~fy6qjq(YKLu5YvYA zQLl6G;ORyQ`j8x0=;`dd0E%UNC)>ZTd^-FIlcAK@iUGd$kF#Y3@XEKD(u8)KVi3*b z;Bp))P11ErJ8!~pn_xhv+MV`qFb9A#bc9rv@Zq;-tZB90cK@4?QWGr9A|k*MiQB3s zchZN)Azj^7V(nhur8zhzlY|(av^9)K0$Y={hY6FwnL}Wn&H2R9`#)~{LuHJj(NY>m ziZcdrZ%m|3)qSBIxC8{G+Oys%GZ49KRlF zrDGq9Va!HUxM)7Gk~zkvfuGBu;?ZV`xBlnriJMA^ZnSR?bjUb-fBH%99q5@x$$$fi zE6@!VCns2YZVdR8$LukZHsI{|`=gEb)`->(ptSk$?vd|pg8d;THyhf_cQ@3pDjD>R z#l3Ak7_A3_BL>ec9h7Wo&Tw=O;PA}f7mH-0K;-S-D8IhIzHUGyO+cW)wT&Na?3L;6 z=)9-W!KLxsqy&>NosY!6agHT5{Y8i?OJs*2f4b!XJjztaNLc9u&+Lo`Y8@LiB+0@u zz}zIF34uwLbc|xo{rb8Ff4a#823Ba!R5k~;J#^e0C3*swEtkID)CrL9B?c0i!UM@E z)h>SjBKQZyukyq?K82MGd^sxjWnK)Z5@WnbpS$3rs`|AmPQtHqX0&3|*1-z%7 z#N%CTWq1UDn}F}(LWIfxsc?73RYm$QnKZYHxWtu@hs!1cJHTR(z_gsSdd`$S0Y|?h zE7(raoZR)$VS*(NCc$^={5pH1Y)paiiEwhIi0G`K_PUhi0BHY^JWW|!@3)Vj#2Rn1 z#%ki>>EdTIMlsSM(_#jGf(zWhRMyTD`}eby2YS>X@9fs`gl@IeNu$~8xN)Qr3o1o1 zt;bQgrEGFpKy-VVdv8+h!B3j4V)A6KAf8750L~I~x>`SY-s>rb0A`2y{kGIy*y)pT zKPXylY3`y%>F8`qfA5Oipdw^oq~ZW!#6-W@`~4EhYa`7heRVUL62k@i=2_I#^Ii(# zyUF6#aR@G9n$NpXB7nj1Z;pSvrF@nd89 z#j%`>@g-KL)>|V}(6>P;_bdsnYP44TFOVrzvx5Bw-Kig7F?f8Q?XUR3LAtX+P{xb* zS3h2AN*!0bVk4G{1hrp05+q;YMzn`5OTh}Pk zyb4=Md{daWh736$VW$}0cfH)?t(8X2!X%4ON&bNXbrkr%}S%3~+{+$cB zYtH0kFs9E0UPJ(U3k(;^T2J)6mrT-{aw#0u^>3S7&Fer~X$v$CyuX>c-4(ww_;^t6 z4wkJ_Y6@*1D>x^O5cd)(+1r2>;t2ny9fMM+nY1a^olEG9Oz-+?&MGm8mzXF-p&EuaS?e zRiJHLwX}8QR~n)t1Oc5+aYi)-M)i?g@dyRtc|nz5mZ_6eH{6WMj?zxAe&Me6i|u5* zqlXY4Rmtd3f^i?pqm#EfW&>O$%MzXjFj1Ky?qCiJM=5goU(eFbf*^J2hjO2O+%Cd9 zqoqlo*(bxo7z)8tSLo3jXu19I%8qU-A42Gzru+`ZWNZQ< zY9lVrRaZiugId>A0UnY+FKiF_W5*U4$N^56BY|4Aas8 zeHI8X`)VmfTk^>z(OqyK_Jn!#$&%7wwL5#6V7z+4P|`*h##oC+WXsg;3ReLjUx+f) z7f4jtE)$xIty_!+W!3gPX_>BA`413PiDQ5F(bMWUE{?Rwn2?%lAs5;8su+y9@FD6y8BArIF z--j;PCT*s1gh}JvL`eeTm9etXWaHV4w>%HLkS6OLV3d@MuqlMqfh8@;NLUUyGCYR= z{hVf?9&lIsN}sG9D0e*=J(Z6@lykvCgi6(R*TzFiQyzFHk@L&!SVVNF(}Y8SIur98 zb%zSh3T8Pdjg|cPA_v~^5Cc2u5_%B+8KW3H6hr_Tjk-YrqcGVWEe`3Q?-*`Thu<%ev?@tJfAMJ zu)ea5-?7}7-|fWM*P9MIC6QPTnQs}_94&p)e3fzCUte;_HXDm&A33|#SNzPxg1JnH zEG@F}_~>EYo7c@m=5jN0v$wsDr$9p|-{XJz>f#bJ^KZF2qFwdWgUI3q{5^lvEyo!6Cs^AxVWYH1y^x-)vAQZP%c4wq@rr#F- zRfE_5L4ISxsttWI4_kiRKFd@^fM2|Vwalr(E|5UP_*<2c+w!sP-hdrNGHHqXj$3ieFVV!(msINrq;}FrzpI*S z#*h^xPjI2zQvSkYQ6ZxNa9DBq$C8oIY`4BxtywC%RDYQe1N%IBqGTSbqcOAGV3@U1 zk6+f92#cw6gczf7Tfk6Z!oORCoZPe}RYcEJLL*bs&?;O zO>Tudb3>O}1ByU;QK!2S$c3b^9rQs6?$*j7_2DwwhN#-ErRyxIly8N{AotiZr$181 z@a@}$g6g*!aS|1oSRy4(P!pwQf8A(z>W>IIV1o5E`A4h$UEej-hl zUTZ@7JhWc|W+rK?Oh*Z|wXe7u>?i+|fO8vA`d>M?cU|-Z-mk$Y_yEejdbp)&-iI@x zqWKF__vBw<0lA?LI`WTCA1Uvr7D7yz*A4MQmptM3eLSqpmO0hLPdKNIuQ3TIe#D{{O8}ujLir9!yD0-2aS1WrE zS*uriy~)#lkZ|AX#)qTtI$`MR$g-@dqL@+6{f~Vk2CRn&gVQ)~c@cj%my;Xt!OOCo zGuMA!qQiEw&*7c!Kh{ld^!Yx;Ro34rZ^{a$Clw?~h|gk!7OQGLfLoI0+poh;cfV`? z{>UtyhhpEhzN&)O8b5!xOEzKt*!iFtT!VT1esOc<4a~;>W0Y27t$?G1XFdx6c{Y$=wUw zF@n!{c}c(vv4B%ub}U;gJeRz>jG7|j2|*(isB%mu9VA^VHFLc4ZUj>6;Eyoz(xf54 z_RTaU{JYHV+H*5?zhv;2l7C^ST@K1B{Sy1^^Df2B-bQP+Kan%eC0jh|3Ai(Tmt&hK zAMdFMfQZD=5t5LwgTJNRNsuThLNw0VDRr?y2~h52y*uJVD&}GGz8x-*1pU-bT99&} zOVWmS)7xgsndrXZpEBWo=~7hzwZBE*+QO4tAh3@6B!q`?3@eJhH|@mU?-+~lhCfB6 z)_%0XDO0xU2nvE}wSO5A*}4r3kQ5FdU|+IC!5T=OAv^LIt!qAI@ia(s!-EVrFFZAp z7kOB|(bmgEJmsM05@bDoKYj^&qUV#irzXK=YVNQ2LU*@t`rrwFWW~yrrmNXho4Fp> z>Y6K(0tNJh?B!RJGqEyMZ(lV?hCh%g+?_E$o=ID<7JT8}4g!zNpqPPq*FvQIxatJZ z&O*CPZY1aa+3wuPlWGYl^S@0OTGx|Dn<2cq2R$(>kP-!V)H#*K<2+=LNWXMK>(STN zn+?>4=x9s22xfF8yrEqo3f2l9=2%y3zdQ>7{WAB2(CIa7y}tPrzjOQV{0%Pt1Z&yH z%=fSt*gj_uG|)x7-s8x1k> ztbn@+-_7Gk-xuOk`7qAI>AR$c|C8AniTnOn7LsoC#^9|wH7Joj^TqhDXl;T{p;i2G z0Ld!B{o#os1A^InI)LUUe}Jq50RBh)o-+U4KM?xMbjL)vHcJ7Uc)RBRa~fMO0w){x zz^}IL-->+%t;-L{I2UY>1@>HwzusQ7s{c!8DG$F0H@7Z$e;7&JF14(x_k&xRQ?DQ0 zCb0BI%BRmYd#h@NB*b;UgW+oaWw)YHXLWqP$`f&cg}y%(Od3`B!hHkL3n8TyU$g9G zVkIB5U5l?x#Bo$gXFT(yB>p2r7I$fIw5R7+FssHJaLl*AYxbdemnSJZi$6N{?{ClT z6N}womZVE6Aqp?f#kj!3&U+a|Y?IH5){?!EG^4xB$NtBN|1#^i>iZO5R^ zI?6mfvSmy(NbUrow_bT`J-%{c9B6J^b)I0+RHr`ql-@^r5 zWEc>&js)uI>Yw7!I_^yWZW)d)@Be>2C7J(+cckuYRZdMxO@-V1kL&E+F`hl#D(>j+ zxp|iW-gu@F$`FVNW*3IGnczw!Kud|e;w^L5G?5G*sK}0sd$%@jEZ@dW;mg{MHy^S*`7@6|BIzIM1{!Ogfs|>0gx44|# zCJFS-tzI|~#Ds{SuWfZ~h38W)-)J0GZycsveh6ZcCx1CNn~+y|&b4A6NUq78uPG8g zL(Wc&!_Y|8B66XcqHX3rHr^K>J%CC-;LojE&D?oz(a}K#3&Ys!>IHKUMuwi4p31}o zLV1+xI*+zv!o7NglP>1*+OaJ!Mz?tNLqw#YYm|Oh^qekge->%N7iWqkaG;4?zR`q3 zr>6`M^7$Rgyr=LmSOpio8%AfgV%C!%cm@n{FYAZtu-P1rf|Ul8Ch ztIvKR?|C5FSFHQ?3vtoURTPzh-}V=O*I(MBZO8hN(9NsF*o0H;Y#Pe9gEfCfB0q*Gd+mk?<^TwL(*t4B&wCX~7;Vu^BtUu&9`s`6a2Miku6q>spc(r%g>ut_;B2k>6m=FH=DSS^OOegh*rz9_zI zP{~RM)5!1Ls7vhzlUrYm@%@Xg7j-|qi90{3LMh}We1l;oHMw_XVoI-DvdC|8tVCeF z$f(s60rNOc_dPGYO&>k|Nm>S|vXi`U|EQCUQ#E((op?qmA{&;6vB~>6?|}Kdf0&XK zx0!f7j5YcEFVgAo$eYxODbW1=+gA%Oc#NYh46luYlydCURCp&lu!nh7!`CPh7_q|N z>NzYh-7;`(pAH(b%GxJ76`~}pSHwdg_pW{JfY_Sixq=_fl(!V|Zl#uXC$Yb7?&^c1 zM{dn`F+g%JknW2|VZ^sPnx{II!t0>n&H19GT>Wb2m(*gA_c3ff6o!;-Q0Ly}T3V+I z>w2=l`B%uX4Df+bhw!f6Z^iq-Al;%Cfd|m~PmDYiZvo1|bn295_RaULGXYQqcYeK~ z!r>Uh-;Xj*{TKvG!_~boHp2E7G)~|Cm~1(!y5LJNmgtG z?7n*2v~sBjx#3dw$&D`v4j!Vv6Ec3E4nqDQd6X2GxqHTie7DNVc2xsv3-~?B-rc2_ zKsQj7LMN-OTeoeoHaDCRn8&v37IDT%rtx>;1AIS*IY{Sj@LhNr+cp_5R z&*L=@O6hI-LIxrcEUG6X2#eoA-yl$n16ZCIZGHLj# zCVGywqHnc!0`VyA;1DZMm^mMg1FSeWIP&p!0Hp-ftGfUOt-7{AF2Mgt zR}Vbdf0N;wMhS|TMC$fxYYK$%@VG9X9{Odq7;~Yh%(p&&4Ghjb0R2858lFqdro!BA z26TU@^VuR%6T0F0XV#)nJ?B$ma7eqo^r|!t04>1;P@`^-h)54U>=-au_=Cbuv~K1! zA)wLUL!flFdyg!D9nj4-S6IttS)Ie;I;i1RNc;lAbSkNR%G>ZHs4T6o5PH(D<}@Hc ziIwilDByzy(~(&}0r%`_k0ov64jEvcn>lP^5m$R%qV`|g?V9v2NYNWr5HqgU&0wb2 z5!TIRnk}pHYt`)jo;)ZYxKZO>tCT2wH9jsv9p%sD|JRc1T&8PVTL0#e>|0zKzJDY> zBN2S|3i2YI*yw(hc4s{dtuAuNr0^uR`f$#tpY}Dyx)l@tVx%)M86wSaWUF#QPMu(! zhMA<3VjMsnnyot~1VDNa%JTo$jkr2$ocl-mR4%(B5_)_)bG?M99^24~wpiiy83kalt9sangIY!dy%kZ(5o`^}9$2T(Zo zzT25I6_dj`YYgD1&N6GUmmv<@SQ38e7*$t((OSmyLnD7oms7*Nh(HVK-3lv4nZ-6P za+b)+y&T**zCP^D-1zNwTJW95QPO1W9wdYDd`q`J>O}=P?EUQ`(;rmy#sPk#7&JEE ztW`NHvl^^&ldwH`?4|5GcAMO~yDh!#bz4BqBfa&<+1w=pWueEG&%+f_udzK7d+=A< z<2mXeXto2rJE)OR=eXjvwP|A%(tT8ieN;VKxh**(+$LF_E}&+Y zxa03BM3~u6)w3+_D`eO6J^611HLvam%v5V9IKZH4AqYEG6CvTOROtY*mEe47Vfp}^ zQ>AX6=6gifyT7NYUupKvHBgQPGOVrAhr3LzS#jKK60T)~cI7hb{AV`(AYz&45(X*= z)h}FM@Ejg8bxL#=g8m)f;-i4t53z)jL!Qk~*Ym$1sE%f@Q`Sf5wY^2hoRSOqp^6@{ zhXnq&{g34vG-5(Mnp6Q%^8~aM10ICqcqE6EvUpGL95)jnS5gSj^Yp*qoh@nZDX@`j zFgLd0$G`}ZDg0ovQgvk9dnz)pqT8U++Tj zP#rnOP>e6)M9kItB~G+Wx^;|7O9=saeEy(GQxLt9NFDpkuUVU1%VVnBx4yhcXUyTM zQJm+TPwl*pE^2I(o)=R6w1~ZE%Iod&zA#}|F2{D%fHWzY^oj_Z4-=9feVR0AOyYbY{A;Pj z>$X1z2GX0d_8>S4k4keuwPOTe#Zmze0nNZ^WWJ=R2h$x+6dMeuAf6@N=%X!A6vE|y)F@nM{s zx{;21LJK1S6>?QC3!uLDwq_mnZj$-ax6LV`cWzNdPI%u`Ck1Ps5^4PneI$DU50&@a zI~@BTjDPo?XQOd;-o`nZ27~2}qo|N@k{;udX#d(AjUJfvU%oF@ZMweqSY;UZ3aGb6 zqU4&5D;o^(n)ZlL`Z<2L5R=l1bfz6$cgFCdO-9Ut@e*5o`oBLJ=-bpP1miNyUp zzuOXMveGRS)Pu^q&)(JofcXUB42KS}G(7BiudBS4C7l&zq@gnBp!4cswsd_>mSC#u zB{4CO~m@>iRgsDS>7|I@e=v=6eJ$_X{+`ZAJAi!%& zKtkayb(fM6m;wl>Whup}H}EOom2D&cOUD6GBGSL=-d6j;)u*cNFOAq33_UW18wT8n zcI*YD#q!=1zJ_ME25ASqLN1OTR^cmFSbZKd*=o%AVrJ%oUlxW<%leFC8(br|u(0_J z*?@DFM4w$JHSPjoXYCqF;vF+zFV!dBN7@g-spm5;gcVj^n>hr1&~8{Nwp${Fw$=9j zyA#Yp;OznV!Lo2fl+kHM^w~D)Y8q#1*iCWtWqu5RAJek(~b5!^8CYp zug_tu{;`XU%o7c9-^n1Q<82`7JbSe1N-}7C>HuB`dON=?(($;v0sLx9rmel5_UhJ* z&w%PI0GF}jvB;k3ekU`A0d036V6_@jufuW6E;1HA&Zw9;C!Q+)F;pKCC?kOPUS z59zuz>D*J62Xn!(j#FYVG>wcP0Jhsp^rmGyrh?{#5 zHh86y?Vubvg!>2{3q5_1A0Y{NNTGvwpMg23Mt=zZ|1G!@&(wZDi>p4T2h_gUY~r?NMVq0475Hg*yqv7{W(Uvr?|e`Pg-k)*aZn?h4@x2Pe?6)&LU?^Cq>6(3Rs8wWvs#H? zXI23(%(kwulROh@U_=k{BmK{qK}KB}Zv5Oph#l@?OZuWeSlV`O82gc%S5-~-9J9IL z+&&8RyO^&{r>mTt1e5$WL{*(o( zeB2C&1&bQkKk*wlX6az>uI4&5^*JkmWV)>sq8IK=V{?Hmlb|LHm{~vadz6-Kk%#^eDad6!J z9eSa?JMhKFc6`sQ`ONYwmT>!ihBLvsr|cQz{7kUz(ZLy z9s{#?Xf`o`dH9pN0`vd29w!d6td!I$^ZhI6C==)t3M&S;|9ikbGW((>rq_QWd2SXQ zKk<{4DtYduVPjf_$SP?`F3H&bO5b;9Z^-vz1MFwatJehNANXcmErvYLCT-1*>8HKk zfdz5{R)7DqMwQEHG4a)O_#8z~#w(urf`_mcPLcYpRUqO!kYJ9 zKkD|LawxK+A%bV{{(rtub^}Hf%=GVr^1I^<% z>WX}v9vzuXB%B%d~2$- zogUj(0ZQKd*R0fVsZ>*6dwda-)yfdj)Ic6wsB|M{4Z0_c0_A>r|7_-E6QeKckbULY z#9%aU)T;1BrKC=;+pE{^h(Jb78G%Do;dYl_1RNr0&J>f zNZf3J3P#l943BB1pl8wKD4N6dD%>c;_rXVJ73hd0n=WUA9e_&2ESXw6vg` zz|8vaYR?<6-G3a(Eb38< z+-0MfV&3s}Z-2{77I zri~^@HwK!7n`8vf>#4OR`2C8`vZO}4eyCcwn`Z!d`MceU>OpnBt_J}JBy#Z;o@cluorF*fU7qD5#jT|USKZ*uV?3 zSl7}Ns=Gd-HEcb?6LC@Le6xHQdgUOgBDDfF*^JEwy2jn^MU&8!RD2bo4Qkce`z6^i zJ<>IJARqr|6)JFo#c}87VH|RU0-lq3jsUPG{@h@6A;A9`*`l|!WP|M~kkkEA|B$Ml zSL!U-;9@_OkKC(XBit&r^?iA#oH49D6?~0QK_idcNAa;)U`Nj%KZU{-t-{TneV>gf z3?cKbm3~R=6+zGRJBKjeFdq>sl2S7kt4s|JWK(8us4eowgS)-N!ej#)WX2_R_kKy~ K4Zy+IkNzJ?BSF9b From 345cb0f96ddd0f2dd39cb3497fda44d2b4e9ccac Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Wed, 21 Feb 2024 07:39:52 +0100 Subject: [PATCH 026/345] Remove contests (#25425) - Not mentioned anywhere ingame. - Stupid. (cherry picked from commit 012e6e6c86e2637b6fa8788a59af4eb974e990b8) --- Content.Server/Contests/ContestsSystem.cs | 134 ------------------ .../Resist/EscapeInventorySystem.cs | 23 +-- .../Weapons/Melee/MeleeWeaponSystem.cs | 6 +- 3 files changed, 4 insertions(+), 159 deletions(-) delete mode 100644 Content.Server/Contests/ContestsSystem.cs diff --git a/Content.Server/Contests/ContestsSystem.cs b/Content.Server/Contests/ContestsSystem.cs deleted file mode 100644 index 3ec696083d8..00000000000 --- a/Content.Server/Contests/ContestsSystem.cs +++ /dev/null @@ -1,134 +0,0 @@ -using Content.Shared.Damage; -using Content.Shared.Damage.Components; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Systems; -using Robust.Shared.Physics.Components; - -namespace Content.Server.Contests -{ - ///

    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 aMRZv#Aa46VIJTaKi3uR>XrRD`s{R+4XQ>|m literal 268273 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