From 567afd55c11ec32bc05da8d675011eea659b7ed1 Mon Sep 17 00:00:00 2001 From: ThereDrD0 <88589686+ThereDrD0@users.noreply.github.com> Date: Thu, 1 Aug 2024 06:57:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=81=D0=BF=D1=80=D0=B0=D0=B9?= =?UTF-8?q?=D1=82=D1=8B=20=D0=B0=D0=BB=D0=B5=D1=80=D1=82=D0=BE=D0=B2=20(#5?= =?UTF-8?q?26)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * bleed alert respire + remove hardcoded shit from bloodstreamSystem * resprite thirst icons * ensnared alert meme resprite --- .../AlertLevel/AlertLevelPrototype.cs | 4 +- .../Body/Components/BloodstreamComponent.cs | 1 + .../Body/Systems/BloodstreamSystem.cs | 8 +++- Content.Shared/Alert/AlertPrototype.cs | 15 +++--- Resources/Prototypes/Alerts/alerts.yml | 28 +++++------ .../Interface/Alerts/bleed.rsi/bleed0.png | Bin 0 -> 379 bytes .../Interface/Alerts/bleed.rsi/bleed1.png | Bin 0 -> 446 bytes .../Interface/Alerts/bleed.rsi/bleed10.png | Bin 0 -> 656 bytes .../Interface/Alerts/bleed.rsi/bleed2.png | Bin 0 -> 467 bytes .../Interface/Alerts/bleed.rsi/bleed3.png | Bin 0 -> 488 bytes .../Interface/Alerts/bleed.rsi/bleed4.png | Bin 0 -> 518 bytes .../Interface/Alerts/bleed.rsi/bleed5.png | Bin 0 -> 522 bytes .../Interface/Alerts/bleed.rsi/bleed6.png | Bin 0 -> 556 bytes .../Interface/Alerts/bleed.rsi/bleed7.png | Bin 0 -> 592 bytes .../Interface/Alerts/bleed.rsi/bleed8.png | Bin 0 -> 639 bytes .../Interface/Alerts/bleed.rsi/bleed9.png | Bin 0 -> 648 bytes .../Interface/Alerts/bleed.rsi/meta.json | 44 ++++++++++++++++++ .../Alerts/ensnared.rsi/ensnared.png | Bin 0 -> 772 bytes .../Interface/Alerts/ensnared.rsi/meta.json | 14 ++++++ .../Interface/Alerts/thirst.rsi/meta.json | 11 +++++ .../Alerts/thirst.rsi/overhydrated.png | Bin 0 -> 549 bytes .../Interface/Alerts/thirst.rsi/parched.png | Bin 0 -> 817 bytes .../Interface/Alerts/thirst.rsi/thirsty.png | Bin 0 -> 470 bytes .../Interface/Alerts/thirst.rsi/thirsty0.png | Bin 0 -> 397 bytes .../Interface/Alerts/thirst.rsi/thirsty1.png | Bin 0 -> 464 bytes .../Interface/Alerts/thirst.rsi/thirsty3.png | Bin 0 -> 557 bytes .../Interface/Alerts/thirst.rsi/thirsty4.png | Bin 0 -> 485 bytes 27 files changed, 101 insertions(+), 24 deletions(-) create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed0.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed1.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed10.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed2.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed3.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed4.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed5.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed6.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed7.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed8.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed9.png create mode 100644 Resources/Textures/White/Interface/Alerts/bleed.rsi/meta.json create mode 100644 Resources/Textures/White/Interface/Alerts/ensnared.rsi/ensnared.png create mode 100644 Resources/Textures/White/Interface/Alerts/ensnared.rsi/meta.json create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/meta.json create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/overhydrated.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/parched.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty0.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty1.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty3.png create mode 100644 Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty4.png diff --git a/Content.Server/AlertLevel/AlertLevelPrototype.cs b/Content.Server/AlertLevel/AlertLevelPrototype.cs index c6740c16cc..5999938e85 100644 --- a/Content.Server/AlertLevel/AlertLevelPrototype.cs +++ b/Content.Server/AlertLevel/AlertLevelPrototype.cs @@ -13,13 +13,13 @@ public sealed partial class AlertLevelPrototype : IPrototype /// part here. Visualizers will use this in order to dictate what alert level to show on /// client side sprites, and localization uses each key to dictate the alert level name. /// - [DataField("levels")] public Dictionary Levels = new(); + [DataField] public Dictionary Levels = new(); /// /// Default level that the station is on upon initialization. /// If this isn't in the dictionary, this will default to whatever .First() gives. /// - [DataField("defaultLevel")] public string DefaultLevel { get; private set; } = default!; + [DataField] public string DefaultLevel { get; private set; } = default!; } /// diff --git a/Content.Server/Body/Components/BloodstreamComponent.cs b/Content.Server/Body/Components/BloodstreamComponent.cs index 3c1c20ff97..ecd30dfc8a 100644 --- a/Content.Server/Body/Components/BloodstreamComponent.cs +++ b/Content.Server/Body/Components/BloodstreamComponent.cs @@ -18,6 +18,7 @@ namespace Content.Server.Body.Components public static string DefaultChemicalsSolutionName = "chemicals"; public static string DefaultBloodSolutionName = "bloodstream"; public static string DefaultBloodTemporarySolutionName = "bloodstreamTemporary"; + public readonly string BloodAlertPrototypeID = "Bleed"; /// /// The next time that blood level will be updated and bloodloss damage dealt. diff --git a/Content.Server/Body/Systems/BloodstreamSystem.cs b/Content.Server/Body/Systems/BloodstreamSystem.cs index d18b83a81c..b54bc4adcf 100644 --- a/Content.Server/Body/Systems/BloodstreamSystem.cs +++ b/Content.Server/Body/Systems/BloodstreamSystem.cs @@ -413,7 +413,13 @@ public sealed class BloodstreamSystem : EntitySystem _alertsSystem.ClearAlert(uid, AlertType.Bleed); else { - var severity = (short) Math.Clamp(Math.Round(component.BleedAmount, MidpointRounding.ToZero), 0, 10); + if (!_prototypeManager.TryIndex(component.BloodAlertPrototypeID, out var alertPrototype)) + return false; + + var severity = (short) Math.Clamp(Math.Round(component.BleedAmount, MidpointRounding.ToZero), + alertPrototype.MinSeverity, + alertPrototype.MaxSeverity); + _alertsSystem.ShowAlert(uid, AlertType.Bleed, severity); } diff --git a/Content.Shared/Alert/AlertPrototype.cs b/Content.Shared/Alert/AlertPrototype.cs index 248cc00ba4..cc79846f91 100644 --- a/Content.Shared/Alert/AlertPrototype.cs +++ b/Content.Shared/Alert/AlertPrototype.cs @@ -1,3 +1,4 @@ +using Robust.Shared.Network; using Robust.Shared.Prototypes; using Robust.Shared.Utility; @@ -6,7 +7,7 @@ namespace Content.Shared.Alert /// /// An alert popup with associated icon, tooltip, and other data. /// - [Prototype("alert")] + [Prototype] public sealed partial class AlertPrototype : IPrototype { [ViewVariables] @@ -22,7 +23,7 @@ namespace Content.Shared.Alert /// List of icons to use for this alert. Each entry corresponds to a different severity level, starting from the /// minimum and incrementing upwards. If severities are not supported, the first entry is used. /// - [DataField("icons", required: true)] + [DataField(required: true)] public List Icons = new(); /// @@ -34,13 +35,13 @@ namespace Content.Shared.Alert /// /// Name to show in tooltip window. Accepts formatting. /// - [DataField("name")] + [DataField] public string Name { get; private set; } = ""; /// /// Description to show in tooltip window. Accepts formatting. /// - [DataField("description")] + [DataField] public string Description { get; private set; } = ""; /// @@ -50,7 +51,7 @@ namespace Content.Shared.Alert /// replace each other and are mutually exclusive, for example lowpressure / highpressure, /// hot / cold. If left unspecified, the alert will not replace or be replaced by any other alerts. /// - [DataField("category")] + [DataField] public AlertCategory? Category { get; private set; } /// @@ -70,7 +71,7 @@ namespace Content.Shared.Alert /// Maximum severity level supported by this state. -1 (default) indicates /// no severity levels are supported by the state. /// - [DataField("maxSeverity")] + [DataField] public short MaxSeverity = -1; /// @@ -82,7 +83,7 @@ namespace Content.Shared.Alert /// Defines what to do when the alert is clicked. /// This will always be null on clientside. /// - [DataField("onClick", serverOnly: true)] + [DataField(serverOnly: true)] public IAlertClick? OnClick { get; private set; } /// severity level, if supported by this alert diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index a8db1c0f19..c52fd3a78c 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -149,7 +149,7 @@ id: Ensnared onClick: !type:RemoveEnsnare { } icons: - - sprite: /Textures/Interface/Alerts/ensnared.rsi + - sprite: /Textures/White/Interface/Alerts/ensnared.rsi state: ensnared name: alerts-ensnared-name description: alerts-ensnared-desc @@ -345,7 +345,7 @@ id: Thirsty category: Thirst icons: - - sprite: /Textures/Interface/Alerts/thirst.rsi + - sprite: /Textures/White/Interface/Alerts/thirst.rsi state: thirsty name: alerts-thirsty-name description: alerts-thirsty-desc @@ -354,7 +354,7 @@ id: Parched category: Thirst icons: - - sprite: /Textures/Interface/Alerts/thirst.rsi + - sprite: /Textures/White/Interface/Alerts/thirst.rsi state: parched name: alerts-parched-name description: alerts-parched-desc @@ -396,27 +396,27 @@ - type: alert id: Bleed icons: - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed0 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed1 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed2 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed3 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed4 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed5 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed6 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed7 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed8 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed9 - - sprite: /Textures/Interface/Alerts/bleed.rsi + - sprite: /Textures/White/Interface/Alerts/bleed.rsi state: bleed10 name: alerts-bleed-name description: alerts-bleed-desc diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed0.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed0.png new file mode 100644 index 0000000000000000000000000000000000000000..08d299331b1fe5724fb92d9b1630bc0c41fe7379 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^T<(w;7kArY-_ zr*7mrWFXM?f0eEix2WJ85fK*i_!C!;e`b_nk#{Z-h!Ih5y>^hJ&@gDV$#m~kO8=sr z^}heLKQ8*?wfL3K$|u*Zt&ut;$sm4+^FWk}97D<93lfJinPfQ39JYC$?@zhTZ^)DM zxIBVky$oNo#Ocq14Ut^O7=E@-tzOr|&=sTk-Rp`-k8nWV)hD;RcoL+ynmUBtthlc9 z(M+j!*JeRY&81RH7oPjOc4AH8GEvS3rFT9V-CcKrll3Nj4vmpwNIx6J{G!a}`TKO1 z4}23DKdt_@mLb(toq39BLrQ~@@CChznhLk)K06#4us(U)tz^M%2L9z?-5nt|nLJNk zY+zzgS>be`_|hC628PEw^tVsH{P(u&=l%Pf!qfZ`B$d_$umi)4FEzq5&DWPf3&`dG UVi33#JQ+lJy85}Sb4q9e0IXAwWdHyG literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed1.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c88528179641f2f365f739b8308d96d490185e GIT binary patch literal 446 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^Tns*fb{>OAchc&tJWpn8Fm>!l{yMpd&uh5iGU$86G z{Jz+xhTJRHm`Y!LT&DE>*P!f9Nln0Z@j&i5nD_2%$o$D)1;8Y!JJ^H&NIjFK@m78rH;) z?t9AX7V*Z2@rN~cZ26h7Rk?hAHG|tm?h3!I$*c?y4DL<*E`Rvr=I%$_|5)aSOVwUH m{H<>vFxdH0BRtc5eHpZXYz`m>flI-YL6oPfpUXO@geCy&RlAA+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed10.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed10.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc64ffa4f5000e21990b51dee91357b7de33e5e GIT binary patch literal 656 zcmV;B0&o3^P)Px%FiAu~R9J=Wl}&3CQ51%sNkWN9%om}R&=v^{*dn;-#;qHvs0#_MEV#-qaOZ#M zFX+~7=t9L-5Cj*B5LaT5NGR1B2{9&dl1zv**F`?eG{L#^u@LFInVECvp7We@?wo-$ z{SPX|qQdRofFA%utxFMHLHGjD9$z1%H(gi4vx*=-T+E1_M9vX}FBO<58c=wc>NskL zYk<<0It@|;kyuR;zjmEiB*H;bmG=|Bh@c90MGJ zIC+1}^YkY0Cwn?S5QBkJcg_HcAhhv)#~fPLe!hN%(ED`FQQ}wIRjIS!xB`jQ6bDI_ zy;en;*s`G@TCYdf6f_MJfaT>3`-z;bKWTtTsk5OV+bwJV%SR2GhB*!Xbr7IlZ&3Ty zv-KO21%Oeevp{)J@}Lxws@VQqp*HjGe)Iw_y5E#}FD?M42aVCU4vapvaV7Rz6{VlZ ziP?;0f=dH{HG6=*Ff7lH+EuB5r)9fow)gSKISgH=YYNIo4FK{IKK>?8qu9yB^8}C$ z1=+ZHd(M8k4ZZ_R%D=I@3xJ{P)3uegGTF0000Uo-U3d5v^~h z`FkC9kZIk&g0oR1*yY73hgPRDxkFPQ2;QlZEMI5q9Io}s>7{OnlE|t@^Icb}W*)rJ z!`%@IeRgB+P>)W>-i23j6yH_pbyWSr&msEyT0#g}Eoa31bN>&@VEahF{ zpuw!-JFCjqVpnVSjn?ylOdj4Zq|CzC>pN@|<6{0}W8t@cl@mkc%12)|rbKJpahPK^ z@6V=5Y#Py}nGH)OeJyj2f8BcUiuGQD30aw*#|-rUE}!TTd3vfyLr+M$Qh9J#)y-L( zLw<(Z7&A=G4s)Ane1R>|yu|GL_Xmrd-#_7KP!Rf}F6h7AZu!?~77`Vw<|}SzEZ@m? z-F)SFxrU81R#cs4WGJZrKDCbPQLagK!;(q?&Hw*aGV-`5&sqC6qa{E0YX=eT(D{Ng>ABmA- zNH`uRezJ4@p_+B}3(IFb?U7ic-Ma}G7ksG^o@u_m3|c@o2M~k6rQpdR%G1@)Wt~$( F696PKz7PNa literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed3.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed3.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd15842ab571e8f401bc44773bb8d40d871d232 GIT binary patch literal 488 zcmVP)Px$h)G02R9J=WmQhQ>P#A_E(~XtlOaehtC=m3j-x1YC_ucw){004nt}3dFpnqXu zWJpm&go@MAn(Lw#D~CJVnH1rB`JJ8fJ@3oM$6&7ipfx4qM7_K4+Yqq(Xot)Z#tGClu}BhVUYXJMvhM{P(lDAiaHa4 zm!`QFjadrd033aFnPMtQc4-mYG%>~w&D&>Aa~1ZxEhzw@AuOhn)V6je>LbUN=^YH< zy00}F0NAGabyg_l+3np>&s8G-j06GzRI?ely7oPLKt2VrJ#c?V=j6yA;%zv40B>_+ zER}e8fc|hqd2`#h`GBM}K;R;JvBxxz4<~A>reV>S1`yfbZ)u(QN@Av0Ef!X)X)^u&1v(-ieQ+`CNZO@74m7*3Le8kpKVy4rN$LW=%~1 eDgXcg2mk;800000(o>TF0000Px$rb$FWR9J=WmcdE_Q51$hof(-@9E(7Z6buAi^&C+xqHS9rrzhwcT2*9=pa*DQ zVQ5HER78rC(lkz+CPp3f&fJM2{CD@>Irn_$zlX!XO#eYeE#-ubjsG@8WB_3yA^~Vx z-55YYO9qCB)PXP%p#i)}idxDkXi3TmBk(<;0Q@Q}Ck!s%+dwcE0t1X*>{cIEfdD2| zbDRFQ=H;22qroNAMd$2f01 zQOlIrd#&R_07LIB`b0ti06A3|TK61#XdSjErUvbUV=OO_Qx($lbJ+bp=D^|N<{5x( zfjcHiY82NpC7Ez>fSjsOS>GJnAAN?%0bKhlySo6`{r>k^HowSLyFoQm3jH%O6#$@| zPQlf+@7X=_E{OHO-7T%-Lw|^mx1R^_CN~FCjt2+my!9xoZTKedqWFab($qopVh^}D zIvCqa=sFf1X#k-?l+7;=?Im=bllmiP$t6zB2dP0M6kN@eoYk+n-$lV97D;kp0Dv81 z#qoB06v=1$6Z!-Z;gw+(Y)VN0000hUSV?A0O#mtY000O800000007cclK=n!07*qo IM6N<$f&nwus{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed5.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed5.png new file mode 100644 index 0000000000000000000000000000000000000000..e19e2b4e96c88952f9e850d690348116eb424d9f GIT binary patch literal 522 zcmV+l0`>igP)Px$s!2paR9J=WmcdE_Q51$h9Y>}{)FhCk1Oq`=y+n(mT14BnzD+(s&(Nx(S_HjC zg;60z5fLelN|R0t9dUHXduJw!@ZZgyIp_b*xrf8RRR2LaHD-B@4gWSoU;thr0s*)) z8zF$Ks!Kxz+5s;Ro&knUa%#-Vsyc;eLOPEp0JjPY(F9i?H9)Ql(g350?drWs3gEk{ z?CNcac0meY&up-tR$0{-29xhs!T<+gB^Kw%L=@KED?xb60RUtoiUSCGJD_SBW8YRy zL#Rs;5o5c006pBxd78{azY~2U$9;=lkq`hls|RRV9mliRnV1+feE0F$89MDYM%Uu< z{uO{7fgIn-*D5|u=KX|=17so!#f`18^U-Sv9KddWv0MhA({2ymrI%7{*KR2#^PYc3 zCISEy;xV|saeeoM|1OBlz~ckelOuPC&*skq44WHWUmceRs5e_=*Ee0w8z^oeQkuAk z-a1__j}OPrqMC+D-8X>HB1$i%9A{BYjDF6Tf literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed6.png b/Resources/Textures/White/Interface/Alerts/bleed.rsi/bleed6.png new file mode 100644 index 0000000000000000000000000000000000000000..4c75559a318cbf3697e22eaff25b56757de1c494 GIT binary patch literal 556 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty1.png b/Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty1.png new file mode 100644 index 0000000000000000000000000000000000000000..6bdac52e4a4376bb4079c8cccb8ef1d38ed8b110 GIT binary patch literal 464 zcmV;>0WbcEP)Px$ib+I4R9J=WmOo2EQ5eR5b}#;|NK-+CG7usPjDj3$3;F~#Bs3+sHAKE2VT_`$GX8 zkj|D;HU+LcR z)B_Wv{r}(rwVAio1KmK%gtz4vLkPx$=Sf6CR9J=WmcL6|Q545N&%~FQXwdo$*avM2EukQ!w9*Vh79oE@9U5>_$mSp| z&W`;(3&o|yp&)eb(4|v_3`HCQt-d8`5P}aAV_s=;9YU*;wA_15c@+Fkk9W`a@V$rc zJ?FqBe1@Szir!lhz5X8+o+#%F>IeX^Qa2cij{(qXdXzuyXywtW0CZPD=k}mc0Xv-+ z0QVOca{!MY-UMK7))fGy&udCTl!EPaUL+nY<>KREvNPAtou%v`&))5_wf1yFMZ|!L zfIq9MTs z0k?6wkA$S(QaAp8510Xip>U^=PUVQ=`U|D4NUaadF9R?+5$)-L+t-KjIx+vS4+J}T v&wAh@&@$n7S8MY2gt7-@;#4=|OZbWt;EtZ|gD#I600000NkvXXu0mjfYv%(F literal 0 HcmV?d00001 diff --git a/Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty4.png b/Resources/Textures/White/Interface/Alerts/thirst.rsi/thirsty4.png new file mode 100644 index 0000000000000000000000000000000000000000..ec1a1f24a75510139fe39865f42240542d0fbd02 GIT binary patch literal 485 zcmVPx$pGibPR9J=WmcL6vQ545NugpwI`tcCtK^O!sfl-lz;S%^4)R568xH$yT+*l1k z5YZkDQPAAb(p2COVh~igXdy_VW*X^hh=S7M-J9?r{7#p9&pCYV;oNgBv}Ljs87IfY zir#GhDZVBg&msc=p!$aCarFaGt5nIHC8gp>WdItpAai?=$bjaL>Ht%bNEl#weguHI znY<2=KHn7r5i-{NQQb2e3%dqwgaSif&U~7Mje|QbcGvesAUZ?*-3sMWm9Bb?UWb)jmE7@Zisas=P$M$jia+`Q zKq%