From 0e911ec86027da1cdc8ec87d1408ca98296d5f59 Mon Sep 17 00:00:00 2001 From: ZioPao Date: Thu, 21 Mar 2024 12:26:48 +0100 Subject: [PATCH] Visible prost in HealthPanel --- .../TOC/Controllers/ItemsController.lua | 1 - media/lua/client/TOC/UI/HealthPanel.lua | 22 +++++++++++++++--- .../client/TOC/Zombies/ZombiesAmputation.lua | 1 - media/lua/shared/TOC/StaticData.lua | 5 ++++ media/ui/ProstArm_L.png | Bin 0 -> 6853 bytes media/ui/ProstArm_R.png | Bin 0 -> 6620 bytes 6 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 media/ui/ProstArm_L.png create mode 100644 media/ui/ProstArm_R.png diff --git a/media/lua/client/TOC/Controllers/ItemsController.lua b/media/lua/client/TOC/Controllers/ItemsController.lua index bf80a0a..ea06424 100644 --- a/media/lua/client/TOC/Controllers/ItemsController.lua +++ b/media/lua/client/TOC/Controllers/ItemsController.lua @@ -62,7 +62,6 @@ function ItemsController.Player.DeleteOldAmputationItem(playerObj, limbName) local othLimbName = partName .. "_" .. side local othClothingItemName = StaticData.AMPUTATION_CLOTHING_ITEM_BASE .. othLimbName - -- TODO FindAndReturn could return an ArrayList. We need to check for that local othClothingItem = playerObj:getInventory():FindAndReturn(othClothingItemName) diff --git a/media/lua/client/TOC/UI/HealthPanel.lua b/media/lua/client/TOC/UI/HealthPanel.lua index 699f2fd..1c79456 100644 --- a/media/lua/client/TOC/UI/HealthPanel.lua +++ b/media/lua/client/TOC/UI/HealthPanel.lua @@ -80,7 +80,7 @@ end ---Try to draw the highest amputation in the health panel, based on the cicatrization time ---@param side string L or R ---@param username string -function ISHealthPanel:tryDrawHighestAmputation(highestAmputations, side, username) +function ISHealthPanel:tryDrawAmputation(highestAmputations, side, username) local redColor local texture @@ -101,6 +101,13 @@ function ISHealthPanel:tryDrawHighestAmputation(highestAmputations, side, userna self:drawTexture(texture, self.healthPanel.x, self.healthPanel.y, 1, redColor, 0, 0) end +function ISHealthPanel:tryDrawProsthesis(highestAmputations, side, username) + local dc = DataController.GetInstance(username) -- TODO CACHE PROSTHESIS!!! Don't use DC here + local limbName = highestAmputations[side] + if limbName and dc:getIsProstEquipped(limbName) then + self:drawTexture(StaticData.HEALTH_PANEL_TEXTURES.ProstArm[side], self.healthPanel.x, self.healthPanel.y, 1, 1, 1, 1) + end +end local og_ISHealthPanel_render = ISHealthPanel.render function ISHealthPanel:render() @@ -109,12 +116,21 @@ function ISHealthPanel:render() local highestAmputations = CachedDataHandler.GetHighestAmputatedLimbs(username) if highestAmputations ~= nil then + -- Left Texture - self:tryDrawHighestAmputation(highestAmputations, "L", username) + self:tryDrawAmputation(highestAmputations, "L", username) + self:tryDrawProsthesis(highestAmputations, "L", username) -- Right Texture - self:tryDrawHighestAmputation(highestAmputations, "R", username) + self:tryDrawAmputation(highestAmputations, "R", username) + self:tryDrawProsthesis(highestAmputations, "R", username) end + + + + + + end -- We need to override this to force the alpha to 1 diff --git a/media/lua/client/TOC/Zombies/ZombiesAmputation.lua b/media/lua/client/TOC/Zombies/ZombiesAmputation.lua index 9040709..97f6c75 100644 --- a/media/lua/client/TOC/Zombies/ZombiesAmputation.lua +++ b/media/lua/client/TOC/Zombies/ZombiesAmputation.lua @@ -104,7 +104,6 @@ Events.OnInitGlobalModData.Add(SetupZombiesModData) local function ReapplyAmputation(zombie) local pID = GetZombieID(zombie) - -- TODO Remove already checked zombies if localOnlyZombiesMD[pID] ~= nil then -- check if zombie has amputation local zombiesAmpData = localOnlyZombiesMD[pID] diff --git a/media/lua/shared/TOC/StaticData.lua b/media/lua/shared/TOC/StaticData.lua index 224225e..629050c 100644 --- a/media/lua/shared/TOC/StaticData.lua +++ b/media/lua/shared/TOC/StaticData.lua @@ -202,6 +202,11 @@ StaticData.HEALTH_PANEL_TEXTURES = { Hand_R = getTexture("media/ui/Male/Hand_R.png"), ForeArm_R = getTexture("media/ui/Male/ForeArm_R.png"), UpperArm_R = getTexture("media/ui/Male/UpperArm_R.png") + }, + + ProstArm = { + L = getTexture("media/ui/ProstArm_L.png"), + R = getTexture("media/ui/ProstArm_R.png") } } diff --git a/media/ui/ProstArm_L.png b/media/ui/ProstArm_L.png new file mode 100644 index 0000000000000000000000000000000000000000..d3e8faa87238f4b36c4c09069b5d4d6daee876f0 GIT binary patch literal 6853 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 literal 0 HcmV?d00001 diff --git a/media/ui/ProstArm_R.png b/media/ui/ProstArm_R.png new file mode 100644 index 0000000000000000000000000000000000000000..cf176a571f80fdcbb3fa2bd02ab572859e1554e1 GIT binary patch literal 6620 zcmeHMRa8`8ydJtiLL>!c5Tpg9TUu%q2Zk0&>24$hl$4g1_yYzYLxYqkL)U;XbR#(+ z3@LE8&-eMh-LuwN`^=g-=j`}?U+j5npr=7a&O#1>K&Z4dRiA)12m-+qA|(b_m4_}# zpdoYDM0i0U6!ia2JVsrV!3pppF*sH71A{zwpYs%m4 zM?{>j6bvMkKR8DyVF<&KWcar9gnjo&({yj}=5YT17yoNY#H;oD`upkI-WHX^6kiwd zE(Y8#8s)|H@mKZaNVr6BKh6;8v@#G95bzFNVO@AH>$N^mim0&*n00NKou1~aZ)osR zDA0dr%WOB4OC~q`=+PsBBOI>t&su+BX(@5rpY*DZ(PE9luU~J7ii$2yRlnfu7llB~ zn!O!UT=AqGmMslj?REkLk}BZa$O_X2xV^pot=B4r7!qo>H~Vr`>Cj%Qh8Z+(?ABpm zt0a-~@3EJ4bLz#_h>SJU6ljwz;uywoGu@UM^cnJZlR_OWu9-q8u1lbc=8RotSV$2T z=EH=xD;Dmk+7lr%!dImHug*5EOPia|t4|hQEqwFCTId=XWzNpb@S9e^V>bf$#KdZN zg@xTdb}fa?&YJZM4*FCJ%<%SmKIXj9c=N5Q90GxG&C{E_6KicR#kQ9Y)v{x&fXfqnP=bxS>lHZ${y044qI)ZH^X5(IOd)gai;1dGwG$i;59N_2(9fU- z!6%uDgQ+sgPMC z;Qdb2uPRH+Nel)<2>DyWtxC!VE-_?L z_~qMf0L{8g7xmyJNKL=Uh2%e`Bh!WDnYxa|7@iJi55FOI#^k zy?c0gSlHOeH0$b@R=U|aJ3D({Yok9=+ZTbryb1LwYBmiA}aSHMVfaF27M|7;8uj8Su!>&CkD06{Yf2!quhD zB)q7+zCTm=)y{!GCljTfmW-vZAu=Z?C&u>PmOanQTn{#$Dd+m|`1ts8y)v}^G0~Vf zRX{+%A}&yNs6g=*6~yY3$>qO$=pTMvj@vyYX6+J5gMYqRQ&VGG0hisp^*%F`WNmG2 zslL8`_cj_LKRbk+Ct+`?pX?0YgK>F!f@OiHQkwJjkLHwb!u}tk>1a>8Vev zwO5lx6-k0Rfw*qu%r3w&u@!<5G^$mTK_0lR2{*Wrk)jy_(X{$|wD_z2a6Z}N;laVE zXP@C@mzS3nSy@>Gb~OQw{V^qp+Q;hp}F3!$!Kam2|$$IZ-Yb=WI^dm)I5_ekN2v*=wErw-3XVPL&n`-vq z7Z(>Fn0#3mr=KfTcy1Y6^r5_5bH3ii^s`>s=a6HJy%-BCYYl#Qhj`-3SfyoqKEl$H zX4HYfTZa9s07a7Gm6Xrs*niWY-?hBe4%!?XT6t+U1i{IVx|T#9!wl!YM^V_XuC2{o z=3#?*Ui|uk7GNA}Ph}2Hv%_v~1fTLZ@9D#IWBE6SHhF zYEHkt+&8UzIgzWIBVp_3?L9(3K;Q_N8?1Q)cC!5n7w#@K@S@mxxkMnRsC>D}Yr|DQ zK;TO)#yKh^B;+ShG)q%ceknHUrp89&7O?uXb0U$Q5PqY|62-Gs`UI#}U~JJ{R3iJK z!r5vn>QUjy0jQ`ht|U2?%j1UjhmzvrtJ#C=DN3A+PA)F;RXVMA>A61c*c{lUKwYMh zw*BpY_x##(e6RinH2Q2aHkt|TUtCTDZXR(EUp(+v54I3zi30d3udK8f8yVTxr|dEt z>gziXo~d`)J3c<%Ph^+1+MTXLLbdP!U@xZuU5bf{LKgLFJa~hx%We2^g=1xKVi=+F z8+L<(tUL+ zqgC$o^z=ZIP{r9cT8uO?@k4KND_+x}`rxYok}L_)k}L_dEprMl_1fqGzel@;Y@0$L zU+o52%0GPyEH5oxF9a4vd@x`B;&kG((Y1k*krDk{ReXqL@TiD}K4tn&Vq)TJG4lsY z8enjoD32u|>W#j;(3DW@sq)E;I9FX%k)M*D|*k zmjWfL9u?KxitoX^ErO-dK7>G8EjW(-<&<*SRw%{m^Jf_Qi zu>)^WD)GFNCRD_-YI4Kd&#%9Fg5saZAB3!&=4ith2qTs6Gmzsl)6#n2pVPC+F%Zb+ z=B7Kg^&|qda@MovnfITgiD4y4+`&O%N(CWDJfox@%#fFf(iZ|L8+EuRFRHebAG8;a z+n$Ws-rm0cw+4~6h-aBMK<}L6e&R!ltGbB8ASe&l=;u<1j55`Fz+#|+lsRvd%X|MG zc?+ubP2aThn*VOyWa-^a;fH(}b93`zq2*LtW@2LE*MRMWMZDH^-haA}y2%gkh`q_L zLPB#}?#a`q=noSw>GhiK0`$y{kBi@p5SK7fOM#NcbdAi!_Zz@$y(iBh;M{ZF<44ym@WuT4;SUa;pdah|V z0^YxDKO1zTZZxa3tANKmis)#Ny^p9+v&i<@vW$tv}dEK?NXd}?pU{bL^^&-i`#l?k#1N^>x z&K3AUU)137yK!b($$SU+eG3US7=tc45C92q%A#jece<1=`m6O%a{t9}5}5`6m4p+! zf%kWKKkKEqd@IXM9*6ZN=JDtm8g}c%YKrSVwX0!9*3_T`FMQ1f$0sKzk4{bsw8zsQ z*Xl5Not-jOGbz%N{fLX;Bn0k98j*pL&p&k7)l~~gK zMl=0EzFPjqBjU(Tee{vIZJj#b`$4;@Mvr2DAUrexu0!{)3!G(XY?h%^7H!&#+b^OoZW0hBQ_~qW z2vfFvki__}U!`f~gLaWsA-hgvSz`9obKe3ERiJdtSM|_yYwioy6c#=VfXk=7Uk)?+ z8yg!z+gn=-p?`XLHoSd&U}buFEIwqe0{^7Z#?EeD4kWD@x#76f2}=!i4WG=7;erBp zPA=F2D`auCH`UE$re1J2L2`cTXxgcYnTB1)8+F;S>nrO#{|)gEsY^Wp1+X6OlMZCkY}8*d z&imgfgnJm{{@dJN>LSU>&W-?9>Qug0)%wHI>W7re`5-KnzGGrNFUMlsZ+-B*=kI?4 zABwItYf7nQvi#=%;M>vIW9#S73;P|!iT$wimwIk)Sne8(oSZ=RR(Oft_twW)!x%oV z845-L<3A&hXf6+XQ+aBfoSahE2LPFObtkZ9t)P+$W`Mex?(Xj18XFrsl_lbap34bz zqlVc{)wTEFKX}`Ptm;hA?H6;{whoWkT)%~oTlnEhW5ZIOtE9j}bpAa%yj3IM#LmL9 zJZM+*X_e`*>rdL+x5@6$3&x0w9a+A>`AH)nq3s;JvG|}W0TO8x|L%7Kfecz1%9DL) zRB6WiFnN95ZmPvkSiq#V$HdSu?eGA_K>&d!SSQeU#^+hLKE*{qHMoO7h7%DHffO2$ z;)g?wE8zZHAIlbNh7}@(^KQ)CDS}NW0bGu;+YI#p19o(l?ju|8R>!j9$+x?^YU7qf%6!doRlnm4GQKC z-P^{Ci;EyCVuJTNrAr;^wpS+7wI+fhl*KZrb`q_;*Po@*Ymh!Rfq^o>(U3-|jDG?) zw$h?CaJwz!LPy&pn8#UyRVq*KH&BJ)fdMxE^UX4iqlKH+4a4!Rm8X-S#FN#mx1C@N zcbF)@15|U$%d-PtPTt_QaMd6$FVC%beKrjG5r02+%AbSGy->teZ?_7GlR-~18N6|^Yvhk~@(L-xFqB;*z%15)5ZR7ia+f<_juZZlsj)|;_v{Y3sU(2I(b4f!o7c{s z&fC~s)gsvOspk6{Zml8^;Wn_dO^231-6vhprMwRUB?inzsJ(QHZK%>!k zoClTE)k*XZ$E?dNlE;~0_Wej5TN|5!z)RfZD*&%r>%;ZIec+q)cxfX$Ik$0v_vGcx z-Kvd?itCzF>-y;PlE;}Ilv|51QG#%j1NIi0tuaVj_seq}88@dEUE`c9sO^YBJF#u= zW?rRb8QHc8`DrK3t#X@%Mvq9o`}cdRDl6x|zPb)gcgQXUMx+Dipf*_#lG3DtQKitJ zq@ls@T~YaKAMc`b8RqvjD3Dw^NrC1f{k!9t<9zpKKL)O3KXm$lMAFR%Y_R{EbuTWh z4BPh)UJy^9(PAZ(r9XuK*drK0R0r0GI1(>jeP#behAo(K>T7dpu8+kj=7xrjCI&sTzve`rc= z`v8l6eX-v~WBKD6C1q0G-4|7BVPcJ2BG#l^-VO-)VfJ~9;B+S)F9%MbtsXdWFM z?Zi`h(%EaW+(_u)$&?IGh2LsHBb2%A@8g4O4Q($F780U<28Ry`3JT`o&Nd31o}T^u zmdjlcn%24wd zj8=lrOZvsQhYL6yZbSa|@Zc1ORSQ~G1BrL*FKxp?s)0nuEh>H(gK`gg_f2_+eUk5#fFxz8YZZ@1qIKTp}(_ucoz1Y z$sadi1Y!glWS=7tJ6^bQ3L=n%P^~S?uU5($%F5xuDARX`^5o3uF@*8PF2B!YzVlN3 z3vO#~?{=kPIu%xckwS_s(L1(?vN(zowc;+tN%yw4uC}(8KVr{NBMJWPg}M9#kdYTk z6WMn@@RIA?qj!V{w~SnQ3oq53=RzqW#s1OE_J>$-1zF@91N_buS^~n zKAsyYvCL6C+p*A~N95Ptv?AV~-d?=o(Wy0D;02Mg=2R=oE=04DNW!nPw91d5( z0QY^a3H=W8*b{{Ux6{kMB0O$V<=!SDBBK5Ar}~`{L=?op{rcOwyBj2`7q4VQ|2zT8 zx$7=P=Nmw%JTfZo@*qpc00t{$*nO9kMJCYyeFsx>M^f_E_aza4tHxHxyc2-oYnY|w zbvTk!32%F`osuh5;_fJ$CzP&G6&CM0UE3QpY3@gKetsSy(EmgxPl$~?s#z-0OQRU( z2Uw~My}25!U|CyNSBLFO=bv=QKK?M?POa{2pH;56CN)%n-n`K6uO;FIq$LVR4 zfTizIH{PnI`Fn!NH_mvbYqTu0)vmznj7cHLsQzF3&i}s^|9>_m*ECNkJoZ&j)y2Wz PH4rT|J=IDTtBC&rz^9*+ literal 0 HcmV?d00001