From 530cf85b67c685b7aa359c6ba590ceaaa3b8a933 Mon Sep 17 00:00:00 2001 From: Iajret Creature <122297233+Steals-The-PRs@users.noreply.github.com> Date: Wed, 27 Mar 2024 13:01:22 +0300 Subject: [PATCH] [MIRROR] Readability Pass to Advanced Medical Tools (#1652) (#2577) * Readability Pass to Advanced Medical Tools (#82225) ## About The Pull Request Update the sprites of the advanced surgical toolset, giving them distinct colors and updating their lighting to reduce shades and increase visual readability at normal resolutions. ![image](https://github.com/tgstation/tgstation/assets/32783144/4daa4f95-2415-4d60-a666-361ebfc52281) ![image](https://github.com/tgstation/tgstation/assets/32783144/b3dfba7b-3db9-42ab-b088-a6e592a3297a) ![image](https://github.com/tgstation/tgstation/assets/32783144/65efec62-aaec-4e86-8a3c-5a57aa08198e) ## Why It's Good For The Game Currently, the advanced surgical toolset over-relies on the tooltip to communicate item state quickly and accurately. This PR adds both color differentials, and enhances the shape of the existing tools to help a player tell them apart quickly and accurately. Additionally, it assists in defining the general shape of the item with cleaned up shading to decrease noisy patterns in the sprite. ## Changelog :cl: image: Updated the Advanced Surgical Tool's sprites code: Updated the Advanced Surgical Tool's light code /:cl: * Readability Pass to Advanced Medical Tools --------- Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com> Co-authored-by: Alexios <32783144+Alecksohs@users.noreply.github.com> --- code/modules/surgery/tools.dm | 16 +++++++++++----- icons/obj/medical/surgery_tools.dmi | Bin 10432 -> 8526 bytes 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm index 042ea28be2d..cddcdd7fc5a 100644 --- a/code/modules/surgery/tools.dm +++ b/code/modules/surgery/tools.dm @@ -95,7 +95,7 @@ toolspeed = 0.7 light_system = OVERLAY_LIGHT light_range = 1.5 - light_power = 1.2 + light_power = 0.4 light_color = COLOR_SOFT_RED /obj/item/cautery/advanced/get_all_tool_behaviours() @@ -121,7 +121,13 @@ /obj/item/cautery/advanced/proc/on_transform(obj/item/source, mob/user, active) SIGNAL_HANDLER - tool_behaviour = (active ? TOOL_DRILL : TOOL_CAUTERY) + if(active) + tool_behaviour = TOOL_DRILL + set_light_color(LIGHT_COLOR_BLUE) + else + tool_behaviour = TOOL_CAUTERY + set_light_color(LIGHT_COLOR_ORANGE) + balloon_alert(user, "lenses set to [active ? "drill" : "mend"]") playsound(user ? user : src, 'sound/weapons/tap.ogg', 50, TRUE) return COMPONENT_NO_DEFAULT_MESSAGE @@ -381,7 +387,7 @@ toolspeed = 0.7 light_system = OVERLAY_LIGHT light_range = 1.5 - light_power = 1.2 + light_power = 0.4 light_color = LIGHT_COLOR_BLUE sharpness = SHARP_EDGED @@ -412,10 +418,10 @@ if(active) tool_behaviour = TOOL_SAW - set_light_range(2) + set_light_color(LIGHT_COLOR_ORANGE) else tool_behaviour = TOOL_SCALPEL - set_light_range(1.5) + set_light_color(LIGHT_COLOR_BLUE) balloon_alert(user, "[active ? "enabled" : "disabled"] bone-cutting mode") playsound(user ? user : src, 'sound/machines/click.ogg', 50, TRUE) diff --git a/icons/obj/medical/surgery_tools.dmi b/icons/obj/medical/surgery_tools.dmi index baa24ca1ad7216e0aeeb61ad4f89b70c8cd20c6d..d050736feed63a6751b38d6d8fcf5a48441d0e70 100644 GIT binary patch literal 8526 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

eOzi)L{>LLU@ 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 V$4)yR(JgR&s3;;7%H&Lg{s)hxF1-K% literal 10432 zcma)iWl$c$((dx&?h;&s2X`k}aEAn!puycG!7T)WyCk>8bgQ#-po-P1D9(_zYr(x^y;NB{t!evpw+1%KPY|11PJaQsAPq6Yv__@3(8&Jv%U zOdKukoh|Kb0l+=&XIzI>7b{Be=$TsRbz?O1B3EK8yQ75x1zl|l!4z+wquh#bNJ6Dp zNJ}aV*~aXPoX+i>pR2S5dV0fm2{JQ_wWqsob*&TUK)4kvHHCk@AM6y=)dS(U$0=F< z5~=aAU=q4>O@BC*ue(pJPKq}jb`)o@;F3v5+a=D)G3yAOWqO~lOt#&tYr`NN$;hcJ z^2FK~w$m*1KFN{?@0K7ga)t6n(LOtAt1E|>b<6GGp&GpekT0GbP$@{orBZ(xVXVZHkg=IeG=ySqYrj&CU!KgjW8Z2%;w>_I@gzLTw@TGFItq`jWS1Y)fbJjC znI3`-UH2bP5@ReyLYIzm>ZX(;i$|aY{&1g_)-f53NhY$AkaIHn_35>5fT&zygqD zkFd}QN7SY=1Hhu#HTh;HPcnkVU>h$vic#?+EbzU8G0yqQPjF#9&XB}oOces$ih05% ztK`DI{%<4r0jwkFfa1t8;NO_y=tLYYdD_`d@RbOv6@Cm_?CfLIAg)lSavbq{MPJT2K=1{hCsB z46u`cdqbWP07}>wNyrTN*WFBEUz?l6fr7!n!M$g~g8+G|e5z`3)2-HFe}0yDJHY{O zRgP6CPtoV4*|8H{A094wp~keIzQv$YQsqWcLLO#$)>aBlDo9Mx)%Zn%Y7gI)84o23 zA;!k4eAm!4?7b#{%1UEY26YtaC_L10)?FNSTSo>3Ob9C(TW3(UTC$hm@2XHJTex%b zUEEPL6JOzOZ+Lt`Mv<~`N63!OW<1PRoaTKw)eKuZ5;7-?hD+z~nLj&_on!D51C7OQ zeoZZt?+6N?doM*I-jy2`GV6UgC2<$UqxpTc?j@Y4jmUop`U3>8hdxz^TYorY`(O`# ztHJq1^l~S!L@~E8iB3`RNl#-o!|U>e~KkbzPUZ zb)~*OJo)BeHYlr6HhgY4Y{*d|tct7JRS)G2HIDebHF967PbIZEG;Pi?CL{~AWLP1r zHmf;A_!B>&h|H*H=FF-{S^W32(f7*UcsGh9U$bsYQV^jb;lG!ll3M$vi>9L^{doD| zO;s}w;&U3o^wEXw6`%jxo!JBeSJ+{)Pr{4ex^!sdf5`QS#CZLV?l_yFaCaY;)>Gia z4jy|mAKzjQ0Mi<(xwNUA9SZYaaGQT!BTJjm55u&XzO9Oj5Z^yyRQo8|KiiF_Lj!+m zmOIzGLXuC|^G7mu?FTq-n?AarVGxok81v9V0MHvKgoQ^8ci?eMo@%?VWe0^n3de`t zCC;NtFB~(=mpeAD)4T6zi80}AtcMO#rwRImRglD4>jn!z0q1SP;SR=r0MgFQwR3k~ zzf*;YS7f_gHW_A=GqgYH`lF3a9U$6&2bCo-g05W&6kK?DH9`Q>pSa78&t(`mncZpi z_-y9a6x2uZw9>No8)u2zCc~}ONkY_#^R_O^0RJcR+)&Z+`xi`luTj?3xZ1}E=uQHM z{nT3>Lc8Y5Kol$_0T*8lDzqiMhrU8y<#;q{f{0&qXPbs zLa9wpU6Yl*+#)i#>%(IPjAC7-X^#v{5we|^m=Kzd@ubC%77?LWO?>Df7II{jzC1wt z;vn)$Mwx7`aIkneE6H2J={?t)Ds}+fJhQ>pp5ZZpz4FPRUkGUAd$|x;?f70^#yUu- zPaIJ#w#bhgpn*sZioo|h!~gFTFWG>B1RfZzGCc!wx9J6?C(+n@Bkx3}(Z zG({)qX@Zs}@F*dY+}xzq0O08ftR73i-ZA%Mam8B3of00qv%tn3bYmWcD1S>mypSzC z)sfZrzJEy??Vsp%nA?V*fMpk514mXDm{1ks(h4G4XAfk|7`5> z7F-)qU2dWG5DQ}Kj8b+e!OgI?q52H>mj~AUw(dPZqW*=Kb-08MhEI55S*=ADm*>nI zz4pfbl{s%Vc)yfOPE+)>)4m}@jIdynqecQpwRgRss61Paf;=`U3%;OVw3}4HBfY~j z?9d6m2lWYj>&YV3s0o z834df6Pk^rAOfIJ?_HnxTZP=vRxgZhqhsZ^Z$ct=q zYB!DKgnK<{+6#>-gLjslrOfmBEfU_|#O74uU>tS#YNY&p@&;7n*`2v%U!TnOzoyA% zSl|)wp2F3MGR_1T;1eq?L4j=upSJ^J$m#WYXTu{^!Ox%BWxt5GrX%d%y&zl=5)edA zO__orlFDS%><{04hvuMU5Ey?qB$v9X{GPGL<$Nk_SB-QNhu%|JLT3@AH_<1)*L1p1we#{c7Hr-VJ$=6n+pFZKRAe^=<<8sO^PHBFGUV(+ zt7OobHXk>oKd(hqHT~}A00ka$^3^oY{u=vI*u03BOeM!0E-}=w8$a1@Kla!vs#`b2xfX>m`{x*?ZZ{wZ z2x|{AIT7q;)#^E^ar8|x`df!TnVR_&T$5lKAX8DEGhWJwxY(67{A@U-#>F0Cr z>}=wg3qa7jTFZg^>g0A2znxQ{5j4x6Lcc`mW#c@I-*BCC|0>q2HD)d<&MPRU4~eU8 zT3{3)&Ju@ArDyOX0XY9i56(mKv_ulLc(OD#dn^ZM_2wwET7K+nByv({>h^p|LiiPSfeZp;I1tL>lOxnUo{ zrA>X23IJf#xbtx!V7eK`D6U=^7^KrMjvPy7LgOcW*5eZyV?)aGjG-s_oP~D6XAL#s zY8POUMlOyb94aW|=c2^c>e~!rk4&nVjKOgns z0Qw#TNwgMxu@wa8_6IV-aHFqVyq{)mF=-nZcP((WoB%hnxwy0?-CTYBju9xZ^cW~6 z0tDsF3Vp(;lL~^lXN1>(aifa{iLzby&q{Tc$z#t}_fXdp-AN z6wY*~%!FK!H%Ue%26 z?>k>Htpeg(EKE2cWdtVT(TBX4pJEG;zcnF_oRcN88bRihdZCwS9)A@t_ z%v-~K92><8hK;)fK4f@%~;PEVR%+$&x1yRyyyg^78ZNfE)EW z>g^aFMitM-0RJwwhr1^7_Wg+|; zgpAKVi2qJE^f`x(fT#)X#9PDS&+6tyBh=pu8n-1|+pqEq1=sKZC~YLKEl=ILuUtzd zS_n4(FqFJXX1d(N2oZ#*=s4F*t!RN=gY-{)yX*HHN=|0joWkd*9ENi>fVB2>woI?9 z#(H+_X8a^}W-L5B97!f$b*a$>xi^N)Ts$ufn^t_Xm;wbcRDA5$?CBkbWeY)# zk%+(R*PD6V%vn_OCz3DYj>Wj(k3-YPmTP*i`J-)a-P`6di{38WPq2nEKGz2NR}}A# zpOQzXx9ZONI=*~`$tiyVC+AgBB?=aLi-l`rh==rxk6!4&x)pez(Zf1U_v@K1NVC?- z?M>k1gY0TQUk%&KkIP*=;udZlpZEfwHoVvD$Q=@)B_8)I__Ro@995OR?H8p1}V|c98ch(boh}*y4 z9~O-$u}Q$(FT8ANWHKu|_}2OWIs(`MFF)K6GZ5R!j@m*>svyG(!%4g@;S=0{-cB$} zi>!TWoGCKv`B$o>+E;-3prTLRbxAYu85z0ypM55|_&lhyy+uYo0dB$zYbReMTqu`k zip`7;k~@Vz+}wLVp`EwJib`}FR1X^CZwoXi{b9z=2tA)s z6q-R#()E=j=R}mpwzh{0^pak%VRu#CI`5p+iI2kvk64srY>CK=^7Mxv6Z|Iaq-W!t z_wTXS2tOi&jvslUmDw+*dKtmbg*SCq!}o`Q$98F~(f0OqeaK58Q1-(I3UwGlC&1O` zIw|@ySpFnmjVh$V#ai%Qo12PL6Gk_eU)Zaag~q`n1|{)XzvZwpLD;TUa==>nUDZ`3&1+ipvqH4&9NX(fBIMdnDrbpPtnYyAN-x z2;QyZP5GpUoX%bm5gM4}$^zVc?rB+e9C^9E~+bom#x-y8BF9k)B{lBU!`j?kU=;`TiNBy329iFC(wMuu`3LCRxs;xI~&o+sP!_Hn8bm*k=VB&1i zGq){QjtEMB=7mQmo!Zax@BF~UW;R3sh#DIkCvyKeGTH2j3M8F|cE*39IdSDjwnP*X zRWb!9(=%>3?(P5z3{e0Q_=dxb6*3mo+$>m{n12dctK{XjS&%qhYPi^(Db;zfTdI#O z;C}#R8K0WEvp;DMKo7A=O-cEKlqDS`Dk$`|r$;J(bU{36WLK6PM;{Qx>s{;k>aa6H z0)+GGO>&EgiG5ohD7NiIE9S?BHXw-T-LQ9b?93AT+PGvpl*C5BVHPO`Z)as?JmUtJ z34MBLbxZ31TdNEC|2?$J$WV8D(@fZnx-Ny)2c+6>aLL#m_Hl;N>JYF#RP?8hEnSx) z`o2vvq5fgG!LJ>euxgvFuNj`5Gj3sPB_$yBC>+QDg1w^0vbce{dx+70u zyVSS&pe=p5hX7?ujR9Q-1e#>iKmN1I=CiT4!5Ia&tGKe5ay=7cZptb_qg^Zf+H1uX z>3U|GHfoob!`_`eK&G(qxLvWjG*xn?4P>=wM3XSIfS1g4!~%{#LAvS~hno}m_#0mS zwpbv_02a~f;I4|K=vR{e!2!4DvZ&mTn^d_1BKX%n;P(J$yomkl!_(i4zkfyZJFQR> z-#eqTv;Tl?oa4D9usI~flb@tUpn($BVj5=QA&Hyj+A`3{XIX@1Ir|F3*gP9{U4I$LNhJkrG$?-0DCny1dT^MRyW?gj5}?>* z1rOjW5+CFG+1badnD~lB4=1RsX#xr8;tD1MSJ2I`j1xLPCdnuEEQC}Z9v~f+S8tUzu^n=(cP(r3&Z7sXDhOl{h>!yDzVIOdXa!dB5Pg%e6$a@QhokBL1wnqPzcjN#+5i1a#a2!i|Z$ zxobIfPxAXMg}vRBERi%HGU<5Doz%|>v!J!oga>=UFQ(1&Y|&x3h_}@x=&aCTEFxMK zKmlHFb@40QWY-rcG>(wNM*}1MGAiv9cVpzuwdsGk`Z~>PN$M1{#KK_Ppe9IQm2f(J z>8m92Ar+lQR5`xv{Ks?O!nDo|+?r>cSAZ(h=_+qfgcJ(dU(3i3VS=jS{ zYJ=gdGh6A#aAS&|ZivrVb%&$wX~ZzXpI<1b4X*(HbXlipACxS_aOQF5VA}@RI2qimU5u4b(zR+1YKoC$+%vP%H>~wDL*+JZ=OI1Rd zbw?xT-kf2PlolPyiV&8r!51A+c6=gbM=p+tM=#5(k1k&!XyCh661-a?h1EfekRIwX*YBi8*qLud)kKVsAT(+?v_kUz+5@ZD zx3~*L`Mu&1oUz*X%AXYiHDxPkuV6MW#TaP_L|oXdtcj))h$sUiBTYMYGV|FeWfT;8 zUM&wEGcY^2dwJ|N$>kai;LR-^&XH2_UNu1h{(gwTqK}I)p`V(YdqYKcsBb%OGzv<8 zQrK@10si3&Qk)3}P(c1x_z@xSD0cES+l3N}Tv!;5>(Dr&nSpc0W7cP6I=0Q*)06vZVK15n86 zFv>cM{?E1DfdB3dHv}+#ZdI`)YJA+9=TO#RpqXbts)|n!lX8QYEZ)R0(!{iJl7T!C2!R6rAZYwWe?Ow5LXyg|tI;Q9{b(;7 zocl+|Z*wbU`klpW+T@f#@^- z4E}XwO>m%5F(PoMN%JN`rsw|}Q$%MliOXccW2qrm7>>XU4cqpjSTX^Ig+3(LHN0%) zz}oh9FnAaJ6i@Dq7BHu%VDhw`P>J#KC_wXjr}GX`?4p9uoVC~yK_Es90n&oP#X<=^ zh&CT_3f0lX9O!4B_q6Jt*ZBcMLI#zq6HM*%2O7Ms%P);wm^0eGusKj@dUkWDnsE12 zG+fx22W}=H#`Q{HfIO89$QD(nP0h?S0XQS(Ja;TZ=Zz6$Uu%cJ%ER-_MDa-Q;^=|5 z_g-Fl>lJ_kC;~|PKsZ{P=`RSU+PkTs7`%8W;R1%uXLC6@)XE@RK003k_ z+atXMYpag5sqQ5ffa>G=%e0`BNZ|ToZWsViWBL8~krD=)9mIi+vHo>K8JQiR>KYvM zHqY3qqlcA@`CZJK3S7-=%Q z8e~|srns$iU;bjdN?}8ZN{8T3f)Iw{DQi9peIv(T& zR0@_0ZkIqi#9ag16)c2%!Il{j05B;S@af|l@Z1xr1n#qzI!GdC6w{`XuTUy0u5Ag#y= zpind2EO%5*TtlvAQoM_Q6lQWJ^XL(WA@F-2m;8yLygK&glsY*Gkxl+mFxl@R;-Gc+ zD#8xzB4M2=|Mt;!Ym8SNC-v9Wtm%vA2kLNiQ=)0xR{)fZ3|=%As6Ls^>aVVS6eD^? zQ1^+#Ln`Z0wB(ZteXqT&`7Zt`-Tze*JqxAs$-t7WQ!CMdS=I6m9T93@-cC&~Bjc8b zfq(F=FFQcv^H0al`vsv@%8&*#P_vL;R0_dp%mR%}w2tIlsg0x&L1l7=;e^Da=ZC!h zFLzR=7$D&btX-#+fT%49nFoL#%CW9Vr6u1w-M9GNl^p$*A8ja1_An%U*voDdromCB zJ|05)I12#q+ONF;<MJuw$32FUD&pexuaQ2@oBaNkM!zZ1bF0Td5iW5v#->)u{_0 z&sW19;$g=#vABB;QnY7|Y-6s~l9gGNdX_$~=NJqaj_$=0J5K8yZh@~PK^2##gOOfT zGb%_upMsnh$ZAea$D7QD*SvD8;L9UTz=~MZr&xFA_qVD{XIZ{S$y(8J>j3=>A!w=$ zk{Fh2GL^<>bESR6^YvA#*oKp=9*lmRG3yX8CVa0n=YTx!tb-R)R#!zswCL_q%8qq3 znUxik6MRxwpg!s(Bz&Vu3OnZ&paKL5a@_rmK;H)bpeOIkfkgGj(N=zf!BpR({rM%$ z-`0oVg%{=D$0J>QmkiMlb-SkB`2&l_v1#AKw*s7Cr|$MD3i#48#mT7aURh9(wkXl5 zE0d1!Uq-G;rGVjpQ%8sg4RAY@ZusZqv$Bf?15C=}#LW`vr<*enjf=oz?(C1-QFsiCA#3a7!QJsvho$bGo+%F)o?I=I@ZcQW zDl~x%xYg}_X%oe%Qv&>AY=5g*O{XQq1fLw4y@j9u+fd=*gip?x69E~6F)0m47aPj^485YSYI*WA&0pxcvqMX$Za3f)D?$p%cFhK&quq^e= zqrS_^^YykRLA9JD;IZrI6fb8kAY7W1RZr_0Sco3lR!N-l0fC@_$?OUNToD$qDAD)bT6U)T@Xu>a!%zlsaIE-0plLDb;qQLiDF5lfw%O zBu>DTQ~9O)(>L(SoZS1dlCY$GUwxU8;+H1cH*jbTxv;q+wM@j^H6i7df{g)mE z)uI$p?5(~&x@z3>t#QRV*sT4>AU^4&vA<(;X+2l34Gkb!CJqv7z0pT(fgnM?&h)2y zfX6%w)TnG;>0g|FGqCZ57uiO|CpX$*pJdSl=2Bm?Ey$OE-5V#4?qbBQ!P%N1{^)Tp zEEUWVE%@22JE3AD<(9m0nt|9+&R=&*U_pNm+S7P#oah}yHm<~ATup-l3SyNyLDl#1 zR;G^=N8^1Nc)6$R344N~LlShEqUr>tfq-8bD&abLOo-@!7z+5UoKX=lsQ!Hp=J(SA z(<26%2%?i2nfSzr^Z9%RI_t6*=1e(q0H_tSrfD%KZP1i?he9Sem}4g`zRO)9oy$Ik zN?`5)n3Q9`0t?P}dV+|eY!o$L&gA89 z^z)`VC;m?ZL8gBWglqj^y`lcCz5OD+Va;U3mQ_KY_$;8L`W^^=+PN31>LO#KOJ_BbqosB z|Emf%ADue~<2fqh2|ZG0@Ky-Wt+T2}zU=T^F>#{b>=Hw`c(_a&Zz#7zexH@|5sPYm zgep`YLGddpJK3d)WS4Fi@EaBXO`TNh3&cwpD#E`8hRRgz*D4rnO;OgPfz9%srg^X$ z_Vv+05!SqaiaJ}qqn>Marhjc~Vs~2Us_5-ev|zh(0gn}%A7~pcOfW5tJG`kjqI^ZF z2;^>?fg!oy5Z+6Dm^T#9h!3rG@L337nY!=j4;QJ^)0Qi_T!R))&B5Hd0Wzw9=xRd% z$cujSv4o#(A!PwBax{RDl?ZY>82+^pI?@SqX57Be_sOH6P%45>VMG zqz`OMT4U*+T*5Co`6!*%wLO1ZkQzh;S$wcH!Vs*5&1Y99`4HYkNA;eM@uPU&J;G80 z|7HhcjE8?)mkdDd>O!G1|w#*i3mN4A07mV49x86HKX`5!9*d*n}GXCm-HQc