From 54da8c9bc43824634c3b9f5a4dcc79153a45091a Mon Sep 17 00:00:00 2001 From: John Doe Date: Tue, 1 Aug 2023 16:09:15 -0700 Subject: [PATCH] fixes pred minimap --- code/__DEFINES/minimap.dm | 3 ++- code/modules/cm_preds/yaut_bracers.dm | 15 +++++++++++++++ icons/ui_icons/map_blips.dmi | Bin 2672 -> 2849 bytes 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/minimap.dm b/code/__DEFINES/minimap.dm index 9069ed323357..ca6d9718cd0c 100644 --- a/code/__DEFINES/minimap.dm +++ b/code/__DEFINES/minimap.dm @@ -4,7 +4,8 @@ #define MINIMAP_FLAG_PMC (1<<2) #define MINIMAP_FLAG_UPP (1<<3) #define MINIMAP_FLAG_CLF (1<<4) -#define MINIMAP_FLAG_ALL (1<<5) - 1 +#define MINIMAP_FLAG_YAUTJA (1<<5) +#define MINIMAP_FLAG_ALL (1<<6) - 1 ///Converts the overworld x and y to minimap x and y values #define MINIMAP_SCALE 2 diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index f33d5f9a5554..dd68dd74cd21 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -46,6 +46,8 @@ var/mob/living/carbon/human/owner //Pred spawned on, or thrall given to. var/obj/item/clothing/gloves/yautja/linked_bracer //Bracer linked to this one (thrall or mentor). COOLDOWN_DECLARE(bracer_recharge) + /// What minimap icon this bracer should have + var/minimap_icon = "predator" /obj/item/clothing/gloves/yautja/equipped(mob/user, slot) . = ..() @@ -54,6 +56,8 @@ if(!owner) owner = user toggle_lock_internal(user, TRUE) + RegisterSignal(user, list(COMSIG_MOB_STAT_SET_ALIVE, COMSIG_MOB_DEATH), PROC_REF(update_minimap_icon)) + INVOKE_NEXT_TICK(src, PROC_REF(update_minimap_icon), user) /obj/item/clothing/gloves/yautja/Destroy() STOP_PROCESSING(SSobj, src) @@ -65,6 +69,8 @@ /obj/item/clothing/gloves/yautja/dropped(mob/user) STOP_PROCESSING(SSobj, src) flags_item = initial(flags_item) + UnregisterSignal(user, list(COMSIG_MOB_STAT_SET_ALIVE, COMSIG_MOB_DEATH)) + SSminimaps.remove_marker(user) ..() /obj/item/clothing/gloves/yautja/pickup(mob/living/user) @@ -102,6 +108,14 @@ /obj/item/clothing/gloves/yautja/proc/decloak() return +/// Called to update the minimap icon of the predator +/obj/item/clothing/gloves/yautja/proc/update_minimap_icon() + var/turf/wearer_turf = get_turf(owner) + SSminimaps.remove_marker(owner) + if(owner?.stat >= DEAD) + SSminimaps.add_marker(owner, wearer_turf.z, MINIMAP_FLAG_YAUTJA, minimap_icon, 'icons/ui_icons/map_blips.dmi', overlay_iconstates = list("undefibbable")) //defib/undefib status doesn't really matter because they're gonna explode in the end regardless + else + SSminimaps.add_marker(owner, wearer_turf.z, MINIMAP_FLAG_YAUTJA, minimap_icon, 'icons/ui_icons/map_blips.dmi') /* *This is the main proc for checking AND draining the bracer energy. It must have human passed as an argument. *It can take a negative value in amount to restore energy. @@ -193,6 +207,7 @@ desc = "A pair of strange alien bracers, adapted for human biology." color = "#b85440" + minimap_icon = "thrall" /obj/item/clothing/gloves/yautja/hunter diff --git a/icons/ui_icons/map_blips.dmi b/icons/ui_icons/map_blips.dmi index 829d9b8a43b09a6bab06c96c8145c04426b97288..24bc26e8201f6a67a8da34ccf53602cb3959d43b 100644 GIT binary patch delta 2846 zcmV+(3*q$e6rmPCiBL{Q4GJ0x0000DNk~Le0000+0000#2nGNE09^yVjQ{`vzIs$x zbVOxyV{&P5bZKvH004NLm6Wk=+%OD=kw77T4GN@W;Kjpdn&kiUzjfcAf1F<3@#WO6 zD47zw&OPkEwarGMOs;cJZ8IT_Q*oVpYIA{tu5&j%_{%7%a=2-mK$2bO?%HM$nDO`f zJ6id|X=9c1y{A=2D5(hYNGfFLcwSUw0|}_>5pbZshd!cz zLE3y|aiA4CPAH9k`&u%ri(CE3@IBGX}$X_#}dPNgR;% z4dyDVUQ!?S4O#bh1X=Z~9KhpL$I-Bnh&iL2gCy3KwNYZzBH(~*F-l)W(q;fNav?^2 z)f254ljx!AL4*u{-av$sVcS(MmO&POD#gGFtY8t@OUr#5DEEg zbM6~*`dQJCtM8RfHI13nC;1dRJhV-~2v^s+yWN+bf4VLPr<6$`>Q08m5Rk}4uIB}E zrd2=RKlngGJbto@zni$<-G7Y2Wr<^Xt)n9bZoE zFUyd)_z>=9!W$&RCt{2TU}^d$rb+QN=l=wV__>lrl$5b#4LyqMEjCZJ6B;H zl?Bs>rZ2UZLLatlTgZz;;yNrLUFyamp@c$r={_u!#)Y!!LrGX_5^{xU)_GYjORP}r z4T&4!tYp#X$5)OdYxq|#=i&~=@5c6Qd-4TVCk@9OOAq=7)d?xO*K*XxDf@3$YX*9*&kvg|=EkqFHj z1`)~W>FJ@2l#Y%L+R@SB(D(QEJ0y?!`FR?RM#bzS&z`uF@v0r8AL4CJ7L2x>V6-?&hc@=OA#^x03el0 z)wFq8LDMwKHXlvXXr)rIjqAEj=jP^+OeP(JJ3Bk+-Me>x9Ws$fI3{&E=G>R`VKq6i zE7iV+VbJsE&x5639{29uqtnyV2!%p8apHtSzkK#A-8nu^rXmsAC+vseaG08=Nn~@B zff$Bi6QOAu1puBDMnE!|M5$D&G00M?m|9t+sOl;hhCzphhM=1K)YKHcdGjU?A3lu1 z!9lx^NQR7m92qHMR5CxkJP{%xKs8!qf4Q~5FQa-%VQ~A4wzs#VudfdtkH^v8XBcFP zJDH25tYueR4NcEV>m_BYz$QlAm`u}biZlFs+};rk25CB-erbei!0Kd8(X*b0|pMqJ-C}#@U-MJF76roRxteCmU1Gfy(Fe zQI34-^ZD%l@pznuLLs}}`uCsE><|7#m{d7`EJlo*PKGV>5y{A5%g3@TEG;deSS%tO z4sUvP@~+)wbHE}d5D09EGmqozI-*CEle(?=0A%edeIvN7M<{z_`lI{DT-#N8H;7{# z#27JSL$3y!L7EDpW2(B0w4?jS=x1Mz5?<#8%&UyTx8GACtr*Aq!zV3hv2>gL2+;0aUN72DjL=ZO+Y zs~3F#7rw!B19Q&JaTTHKjWm%2Rb57wxQu`;l&-fLni?@1iSK>q40V$#4C^h_O{!oM zb9Db0Wsle?I50qYxgMy-1P2Bvd+N1+wH7HKeNp`hmPv;7k^*eN0WUZ(K+`vF5GF+( z-=`jXAAQk7-#J|S)9gP#zeJeB?;M_Wl=*R@yb{YdbYQe2#%*%~+@nRNV{MEOu@7sn zmoQ+J1X-OYOGU1T;R*Ey@7QBhq%`70`o;~ykCTn9#~!~dc!zl+7KNT=XB( zaTQ+yzx|P1=kc##^!VSTI@w=;wORV%i3ru)cILI5SE1r7D0LqHN?ntCnYc1&5N*3U zzZSIZ?7SPa?d-f8wC(J?8*0umeA+q}t<4Zj|K9OWrKF8bN9n6TXw9|5=#feC-tkXK zKD#6xFnVN?XeGbW;7Y-x)QwF?n|}AZQBdB;6pPQ5gH)sez^g)fwW_@-*ABT;r|8I@LpALe z7w-cAM)n+n=Zzm@)|c~jPrP0X*R>bmQdTjA4|nVZ;7o((udn{o=Y^BEY~A3We_CU3;_Z){JL64)V~;uTyH9F5 zoWI_WV7Z##gXL>g4w5F`{@5mhFTV<~iE&GHY3~q%pRFe;x7vtfaty0fV`G6y(y?g#Z8m07*qoM6N<$f@R@$PXGV_ delta 2668 zcmV-y3X}Dr7Vs26iBL{Q4GJ0x0000DNk~Le0000#0000#2nGNE09RiS-v9ssw0cxn zbVOxyV{&P5bZKvH004NLm6X43+%OErkw77T$&!+R7Y{%2-$#D8?&tHb)2lnaoZ1y7 zQ)1V-hy9PX*(j9Bb?&KcCZusHu5(XqE>O^Q?xqKS86{N?H*FJ0vg_Pk+YACT{{4SP zD_=Nmta6^b%H%7TNv9B0W}%phN(HaiwCV^Y6+s?Jg$xzXi;8R@0d+kB4%GM1M>I%( z{0(@{dKX?t1T%v82}RdhXoaFz77>CWT#5PyE@)Wh8KjJr*^qO_U^ow-L@+Oj1F}BB zTxHcm>dn3(>-!x+R{bgm@Ho|RG)yF7&M4;~iFIXdl-RTgI3QaVrLQ7sGk_Vn5Tico ziB^nBbkp@9LWay6h)^<2yUNAV$U>!m7&w6yEFycU*>>T8B?*CUYki_Z4)rU)phP}_pR?E0W1bXLoRYXFOV~>`nmnX2NL4( zi_$+Tzu(<|wytG~SM|+d|F}EsA3t@GC7Z@xD*xvmZ{73j(H&n-?H?Alq11|hB&FB@ z00?(UL_t(&f$dvgXdB5L{$?emR$?qH;hd?ceT4YM4~OVekJ?$4*g6hOA1-}5g_e6b zxc1fI!lf-H9OvSYP(q&12VHnVLodZBFm&3}+3QW^PG#X_%C)EX%Icn@n=kFqm6_k&zKj#0Lil`QYGxpu;{fG2uu> ztgo;0R4T=;UcK7p6!j|;wOlUqa=F}AuIoCd87w2dva-V5{b{*ePF5eAo11ptGz{q@ zu)4a+DwPTAeXd zrfD+HIcJP9H*pnV5vf#)-M@doO#pJ#-5+6SXo!i#0U)2xn}B3;{lXu)x>!k6_V zzpS@*4l(~K@$CG0P8XHgV2trdBm&bk(cj99XLf1dZu&9SeONk0B!?Fs_Gi4!MKuh;SP=~IM%!(lvr{Mc?-sZ`KxHkqbr z8~{Y(Kx=Es=kuu7>yGkVF2~B{GN&zz>|(^JF5PFYsHnGK7zR(L(^BF1a070=)qtRd#VFHnLlLlH*S2^MZQ2@6PesIqo5z%NA+v1js$M8ff$X0zE>LPi|NYm8Vd#*4+`j(pJkDkKsK?k4DVD4WePa%iWk zF!igdFB`K^D4E(ED|A)&`n>;zR8%IbK*)~>xC={@~yo_u%%a)gyrR_tZ5GO*S zA4E(PEt}1qq(lOSPjgTlVmCA9%~q$v55NB@ z_excm)_b{E+HFkFtB<>%-F%O$?7q|9kN6+|)%x0jQrn>}6Zax`#S%PR&jv`>c310ZYg3_-b&`wGfUAL_h>^DI# z?E6;t`B(4rK=`@T;n}4W@03U)n z<|lu5_$Jzanfi-V$mi7ne*L3=ze&ZMT}p9wdM3=hD(q(@RPfpbKD+rIcMC)KV&MZW z69#w@*jMo^bsH+;08p!KE8CgnEu~GXhoSwi5bP9t5#~_;lH(`Ln-`n^SG*xF!|YP( zm46j^&`^?pUJa;BhejABd95B+HaaZAD9QUB5L9@bgi(^;%gITFgAm4l>-PiYml>U$ zoTlfKT=u?BOavwdB91OOP13_J2-yH9?R#+SdpA?@>% zS^-}k8ECW3+|)ZNI(QRyK2M z0X}WUcaUih=7WS*W=)2lSRE#Ts*UAN4ywJXJ