`JAkshZd-_MSxTwO2>16F&X=dFQ@!?|bLo`#b;p&UtaxaPxC#emMgG0M5ZIOl$xE zo`~a(=I1-UF{rLTf9x(=-?25N(P&kLsYA57FOz-gF`=~Dl3{xD`aH|!+hF8z4o{#B z{2styVH|gSm?GLb1e&-9VEw)DfnL5o06=g-(lg4LE_G4U#Rb(UmT5IPL3!xyq0!G; z*CQusR)bTJxQv7i9}vE4y4}Dr>op<}@gc%AWy6B>&-UHWVgS&+m&m%6nxzpV|=x$4ipY2hO8sDugQ2_BH zG+XYq)LqKPHpFCfe8#+`M d Jh{X;G9_~4f_k%@h1<>Wf%l9usiJM+pa6uIefyZDgnK_{ X$rdD)_g6>D#lZXBj&+ yqrcO5a&>k^csie7s1qWFlQ+TMjPG%o$m2QkA;?LYQd@3h+&oYNXGO@RM}Q4@Im+ z@)kqDqBjv@Edw$q1H*4?O2F+kWlLs7KFm0Kt33Q7`lJ$?C7V-Q6mRWx6pOKCU)SRk zkyv*N*3Q#1_Dg@+uvn;9(%U2dbOa8Ye~Zr}i)O|H)ihV-Cn?~aA8ny&FLq{s&KyX| zXUhsg<~v@SWxn>_qYMl^Q#dD%JZ~_?Xn0`#3vxYRJz396o5Y*ac5lyMzvl1Tt9Jcx zT&-GlS(iX^&Fhf8EvI?jc7ni=XOD^VS|6iArF+z&`=G!96)g;cRqj3wAC1z!bt1(! zV1w&mj54(LYG?LX4sk!;Fo)0?6{fY8go@`Jq6IP?l*@dD`@>X8`OaQC**#{CKHdk+ z8DrV~t*3+dnmtRNllfNdgSr4J7P}D6yLP{QAf)^=&;Q!fNC|V%J63lF#vHlR4>qvx z>~0xi^ma9zeLEtMh}4{~%K$c!C)DaJ*soK+avVWxAz&UI5_wim?cgr3J3C#_K~&k& zPM4A@C1{u6V{cgWkxx)a^8r3y(lw=ix>meS{P#M)L|5pjPa>L*Y^}rJZfTr+|j_cPob4HT%n#`{(P@%hLTbW$jdDsg}W}>6Q ztt_S{UkG5y7B{>=*(@~jwT{mIsAJ1$shBbAqw{iG-kY+Y`$SGgTer9!3R(R=UB*!Y+Pr>}xI$ zK9bLz9!4p{z#dt1-#>ByU{|z=U=mjSNwGgk{j%?~T%;Sze^yNDLl$z^F8|tTi}WUk z9*azIXaSK2i6}7wdYm>ZpsIlIeer1Hsv=rzF4<@M#lD)yD|Qr^Z+ZQZo0^>S`4UMC zhacV%QK@8Iy2!7Wdk-W;R)RK*yj)`xpC|%sER3Fg$A$#rFjo{sTr9fnK_&k1G=g0# zhqrQGMfXiBvfptkmA=K ;W+{jPR9`#X|bs97?>&Cq{avx^ C)H6&os~ O?EHM&v$j8*={ z#{N>xZ5hsv)^g{#WpZaOGa51-XPrLY&+|Ud`##U-^ZR~&@0*T*o!_H!SOow8>~Xo^ z=m7vIP~`i{4kdZVw!G>`c~M7PLOOA|TxMZT7x(`&gRS>cNnBQO507n+{Zl>%D8zZd zJOQ>-{TTUWgoyNsa}13|$Am}6g-784fP{iO4=Pof&Kz)>o;r17*r}Y6d9thVZ~L95 z=E;Lxw~i4=`u$8X&M3NRwBFV)@vU&fE@+WM^mWwsPV8z~fSE C n^FbCQvUM-KP(t}BB$O8t#tWIv`h@cJGyWE}Ss?iL zqqFG4Md)lE`c>+E&Zpo;-i=Hkc$dk+ka-hBJO*E2jNyUN&$9RKM;mB7HPEOE(Ld;a zy4okF@+ewj^QO0N)WfDj)j>qOj){wH0RVuJE{=A{go1@(H_vg4y_Db5D`Tk+P2hLY zBW}6{g;|Np_AxO1U0YjvSbRjIDEBUQIk}Wrl<(k|i~W*fSv~y581O4s_;JU0W~1$o z9TGaI+a>4^HTCRJY>S$4^JsLxDvuZasP5X6F;*^gYpp#U#U|jeARB28?@mPZI-^(j zGCupl@>e_jcyRjyVnUc>Z C9TVt4YXv2s5giz7*7O`e(M9Qp9% zD@ko&D`vsae|1tHM4pqZtm_W?3N7tSlG3Cj0akXFu9%_vjA^5W_m9<%)FG9jkIS8) z5f-hgC)5ZejO0|8O+1`Z32EqaAVfNuKk&VfsFK8j1Oq#dW12Oc=TMbRofmQ3*k8Kp z`O$9-3N19@&k0Y+rCm)` b^xIaOWAV?9kgnBo(E%{+YQEHRi5Wd0MbR? (p5nk&lwcV)TyUu$Hoezo)QtBI3sJK_xWzwz*fCdqC&xh}LHSfRdAh)T% zF1N@Ee7$aVKGP}f)FwVpb-lRl pxskRpq`$~TB%rLcrvQt{haPFC$~}d zAYUiQgXJmMoe4wq&&pPhi<>vlQ`5@xGR%?CqI$h`hQuvKb- 5OqT!p5aFHB}C;SR_eRAuyRB;hvFwbe&d=Z>S zk&6GQ70m$)4t*T*N{~sVikVdbH|534x^Z6{H{A7@NQ^-d>elM2OXoVl^1 &>%j9TU)2XFEg7kL0x780?)P!3nHtnAd z5*41)xR0>l!N1SXDuwy2Y-lw~yytU+j1Z-)LoY--v%uuFHOm1OZ5sigz^7v0jt*t# z9)S#6JJ)V4opV4t(e%xQ&mw?${V{ HfS_+)V8z zLvI^yJMFlll(FEKRGgT>7j&dCJ-!N*H2-1*TvpB_sv(Bp6^_kbpLb(9ntS(1n$B9E zi+9x{jjm-LZZI*v>sv!7gJQr`YT@xJh&E8NNJ=kg|0qM;6DkZ<>S+JV;O4!!e!gd| zHu7aRdzo3^`#b8cI9CQ|2 Ti8#tjjBCus&7B)j$rVOb l@3p#76Op67qt>r@Fqy0XNzRUMb3uZ? OF Date: Mon, 18 Dec 2023 05:49:02 +0600 Subject: [PATCH 2/4] yes yes yes?? --- .../mob/living/carbon/human/human_damage.dm | 7 ++- .../mob/living/carbon/human/human_organs.dm | 10 +++- .../mob/living/carbon/human/update_icons.dm | 55 +++++++++--------- code/modules/mob/organs/external/_external.dm | 25 ++++---- .../mob/organs/external/_external_damage.dm | 13 +++-- .../mob/organs/external/wounds/wound.dm | 1 + icons/mob/human_races/bandages/mob.dmi | Bin 1810 -> 1890 bytes icons/mob/human_races/bandages/mob_fat.dmi | Bin 1871 -> 1946 bytes icons/mob/human_races/bandages/mob_slim.dmi | Bin 1759 -> 1845 bytes .../mob/human_races/bandages/mob_slim_alt.dmi | Bin 1740 -> 1822 bytes icons/mob/human_races/bandages/mob_slim_m.dmi | Bin 1727 -> 1811 bytes 11 files changed, 67 insertions(+), 44 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index a8c8b9d9b98..4535338b290 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -379,6 +379,7 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t //Heal MANY external organs, in random order /mob/living/carbon/human/heal_overall_damage(brute, burn) var/list/obj/item/organ/external/parts = get_damaged_organs(brute,burn) + var/should_update_damage_icon = FALSE while(parts.len && (brute>0 || burn>0) ) var/obj/item/organ/external/picked = pick(parts) @@ -386,13 +387,17 @@ In most cases it makes more sense to use apply_damage() instead! And make sure t var/brute_was = picked.brute_dam var/burn_was = picked.burn_dam - picked.heal_damage(brute,burn) + if(picked.heal_damage(brute,burn, update_damage_icon = FALSE)) + should_update_damage_icon = TRUE brute -= (brute_was-picked.brute_dam) burn -= (burn_was-picked.burn_dam) parts -= picked updatehealth() + if(should_update_damage_icon) + UpdateDamageIcon() + BITSET(hud_updateflag, HEALTH_HUD) // damage MANY external organs, in random order diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 33fe0d57800..91755764ad0 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -98,17 +98,22 @@ handle_stance() handle_grasp() - if(!force_process && !bad_external_organs.len) + if(!force_process && !LAZYLEN(bad_external_organs)) return + var/should_update_damage_icon = FALSE + for(var/obj/item/organ/external/E in bad_external_organs) if(!E) continue if(!E.need_process()) bad_external_organs -= E + should_update_damage_icon = TRUE continue else E.think() + if(E.should_update_damage_icons_this_tick) + should_update_damage_icon = TRUE if(!lying && !buckled && world.time - l_move_time < 15) //Moving around with fractured ribs won't do you any good @@ -126,6 +131,9 @@ if(W.infection_check()) W.germ_level += 1 + if(should_update_damage_icon) + UpdateDamageIcon() + /mob/living/carbon/human/proc/handle_stance() // Don't need to process any of this if they aren't standing anyways // unless their stance is damaged, and we want to check if they should stay down diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index f7381ed2f10..fad7e1f5aa6 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -126,30 +126,31 @@ Please contact me on #coderbus IRC. ~Carn x #define HO_SURGERY_LAYER 5 #define HO_UNDERWEAR_LAYER 6 #define HO_UNIFORM_LAYER 7 -#define HO_ID_LAYER 8 -#define HO_SHOES_LAYER 9 -#define HO_GLOVES_LAYER 10 -#define HO_BELT_LAYER 11 -#define HO_SUIT_LAYER 12 -#define HO_TAIL_LAYER 13 //bs12 specific. this hack is probably gonna come back to haunt me -#define HO_GLASSES_LAYER 14 -#define HO_BELT_LAYER_ALT 15 -#define HO_SUIT_STORE_LAYER 16 -#define HO_BACK_LAYER 17 -#define HO_DEFORM_LAYER 18 -#define HO_HAIR_LAYER 19 -#define HO_GOGGLES_LAYER 20 -#define HO_EARS_LAYER 21 -#define HO_FACEMASK_LAYER 22 -#define HO_HEAD_LAYER 23 -#define HO_COLLAR_LAYER 24 -#define HO_HANDCUFF_LAYER 25 -#define HO_L_HAND_LAYER 26 -#define HO_R_HAND_LAYER 27 -#define HO_FIRE_LAYER 28 //If you're on fire -#define HO_MODIFIER_EFFECTS_LAYER 29 -#define HO_TARGETED_LAYER 30 //BS12: Layer for the target overlay from weapon targeting system -#define HO_TOTAL_LAYERS 30 +#define HO_BANDAGE_LAYER 8 +#define HO_ID_LAYER 9 +#define HO_SHOES_LAYER 10 +#define HO_GLOVES_LAYER 11 +#define HO_BELT_LAYER 12 +#define HO_SUIT_LAYER 13 +#define HO_TAIL_LAYER 14 //bs12 specific. this hack is probably gonna come back to haunt me +#define HO_GLASSES_LAYER 15 +#define HO_BELT_LAYER_ALT 16 +#define HO_SUIT_STORE_LAYER 17 +#define HO_BACK_LAYER 18 +#define HO_DEFORM_LAYER 19 +#define HO_HAIR_LAYER 20 +#define HO_GOGGLES_LAYER 21 +#define HO_EARS_LAYER 22 +#define HO_FACEMASK_LAYER 23 +#define HO_HEAD_LAYER 24 +#define HO_COLLAR_LAYER 25 +#define HO_HANDCUFF_LAYER 26 +#define HO_L_HAND_LAYER 27 +#define HO_R_HAND_LAYER 28 +#define HO_FIRE_LAYER 29 //If you're on fire +#define HO_MODIFIER_EFFECTS_LAYER 30 +#define HO_TARGETED_LAYER 31 //BS12: Layer for the target overlay from weapon targeting system +#define HO_TOTAL_LAYERS 31 ////////////////////////////////// /mob/living/carbon/human @@ -258,8 +259,8 @@ var/global/list/damage_icon_parts = list() var/bandage_icon = body_build.bandages_icon if(!bandage_icon) return - var/image/standing_image = overlays_standing[HO_DAMAGE_LAYER] - if(standing_image) + var/image/standing_image = image(bandage_icon, icon_state = "0") + if(overlays_standing[HO_DAMAGE_LAYER]) for(var/obj/item/organ/external/O in organs) if(O.is_stump()) continue @@ -267,7 +268,7 @@ var/global/list/damage_icon_parts = list() if(bandage_level) standing_image.AddOverlays(image(bandage_icon, "[O.icon_name][bandage_level]")) - overlays_standing[HO_DAMAGE_LAYER] = standing_image + overlays_standing[HO_BANDAGE_LAYER] = standing_image if(update_icons) queue_icon_update() diff --git a/code/modules/mob/organs/external/_external.dm b/code/modules/mob/organs/external/_external.dm index 8474ec8c3f0..007255cfb33 100644 --- a/code/modules/mob/organs/external/_external.dm +++ b/code/modules/mob/organs/external/_external.dm @@ -588,11 +588,13 @@ This function completely restores a damaged organ to perfect condition. return 1 return 0 +/obj/item/organ/external/var/should_update_damage_icons_this_tick = FALSE + /obj/item/organ/external/think() if(owner) // Process wounds, doing healing etc. Only do this every few ticks to save processing power if(owner.life_tick % wound_update_accuracy == 0) - update_wounds() + should_update_damage_icons_this_tick = update_wounds() //Infections update_germs() @@ -719,13 +721,20 @@ Note that amputating the affected organ does in fact remove the infection from t // wounds can disappear after 10 minutes at the earliest if(W.damage <= 0 && W.created + (10 MINUTES) <= world.time) qdel(W) + . = TRUE continue // let the GC handle the deletion of the wound + var/dam_type = BRUTE + if(W.damage_type == BURN) + dam_type = BURN + if(!owner.can_autoheal(dam_type)) + continue + // slow healing var/heal_amt = 0 // if damage >= 50 AFTER treatment then it's probably too severe to heal within the timeframe of a round. - if (!owner.chem_effects[CE_TOXIN] && W.can_autoheal() && W.wound_damage() && brute_ratio < 0.5 && burn_ratio < 0.5) + if (!owner.chem_effects[CE_TOXIN] && W.wound_damage() && brute_ratio < 0.5 && burn_ratio < 0.5) heal_amt += 0.5 //we only update wounds once in [wound_update_accuracy] ticks so have to emulate realtime @@ -736,16 +745,12 @@ Note that amputating the affected organ does in fact remove the infection from t heal_amt = heal_amt / (LAZYLEN(wounds) + 1) // making it look prettier on scanners heal_amt = round(heal_amt,0.1) - var/dam_type = BRUTE - if(W.damage_type == BURN) - dam_type = BURN - if(owner.can_autoheal(dam_type)) - W.heal_damage(heal_amt) + + W.heal_damage(heal_amt) // sync the organ's damage with its wounds - src.update_damages() - if (update_damstate()) - owner.UpdateDamageIcon(1) + update_damages() + . = update_damstate() //Updates brute_damn and burn_damn from wound damages. Updates BLEEDING status. /obj/item/organ/external/proc/update_damages() diff --git a/code/modules/mob/organs/external/_external_damage.dm b/code/modules/mob/organs/external/_external_damage.dm index c2fb7064a91..8150c067c33 100644 --- a/code/modules/mob/organs/external/_external_damage.dm +++ b/code/modules/mob/organs/external/_external_damage.dm @@ -165,15 +165,14 @@ obj/item/organ/external/take_general_damage(amount, silent = FALSE) update_damages() if(owner) owner.updatehealth() - if(status & ORGAN_BLEEDING) - owner.update_bandages() - if(update_damstate()) owner.UpdateDamageIcon() + else if(status & ORGAN_BLEEDING) + owner.update_bandages() return created_wound -/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0) +/obj/item/organ/external/heal_damage(brute, burn, internal = 0, robo_repair = 0, update_damage_icon = TRUE) if(BP_IS_ROBOTIC(src) && !robo_repair) return @@ -195,7 +194,11 @@ obj/item/organ/external/take_general_damage(amount, silent = FALSE) src.update_damages() owner.updatehealth() - return update_damstate() + var/should_update_damstate = update_damstate() + if(owner && update_damage_icon && should_update_damstate) + owner.UpdateDamageIcon() + + return should_update_damstate // Brute/burn /obj/item/organ/external/proc/get_brute_damage() diff --git a/code/modules/mob/organs/external/wounds/wound.dm b/code/modules/mob/organs/external/wounds/wound.dm index bc6ad3de184..3447f641c05 100644 --- a/code/modules/mob/organs/external/wounds/wound.dm +++ b/code/modules/mob/organs/external/wounds/wound.dm @@ -170,6 +170,7 @@ /datum/wound/proc/open_wound(damage) src.damage += damage bleed_timer += damage + bandaged = FALSE while(src.current_stage > 1 && src.damage_list[current_stage-1] <= src.damage / src.amount) src.current_stage-- diff --git a/icons/mob/human_races/bandages/mob.dmi b/icons/mob/human_races/bandages/mob.dmi index bab279f6c1d1b3db92911cfdba4509c986985966..ef85a6d0da9040c24c6256b47a0c2c2a3c882973 100644 GIT binary patch delta 1888 zcmV-m2cP(o4&n}w7k_{R0{{R3R_UmW0000OP)t-sz`($)osiPNu;|*&l7)M~ub|Y$ zx4^)_=hO#P00001bW%=J06^y0W&i*H<$6?DbVOxyV{&P5bZKvH004NLjg&zO!Y~j; z*Uc${?xnTex)F &78<}_ETxWhc`I)4afO<#Sf<~Oycs9L0A zz#L>{#$;#4Wa)t5Cs~>?S(-6fI^GN(vNU6|G-Hg^nTdGPm1DFECwsxgf{O(g3o;gD zEXdgLHrj!?aeu;?6DN$3-b09tb>SH8!ZAmtV!_3Niv<}AG8X@1x4ONa@)!FCnAw9z z{CDSE000IDNkl yAp(FSV&zuKxL5+DIur}FR+r2ur0et7VeKi;$faew+a6y?W4d73^H>WgxcBtutu zu~;mx)6&}rzW@BsDCd*UW?99by!-g@<*Y+aLVcWJ;N5I9MK-6_(kRTXbf30RR91 z0001>6F$W8&|j;=mPwMd-G+vq9{hDWE$DQ_1OG>RV|lRkRv&yb3gK4iH?zD`$}B4# zH)>lQ;eXsL%)IqqKO2SBOpP|i_xk;M7|t@ILOi|sxBl8}P%!;gS@E}l2*a*s!EBeE z%8R$JE71Wp{>#0;ag8QA1&`u*PhUOtMSqokc;1-5OTjWq +MD)`6QfqyXd-n6l+Mlea!xubk&vFy;>i|jz* zjF+!Kuvj>oxAy)nuU$7`kWVI`9p#_rRCMU|QC!e)v)|{A@?npgAI|25-aqm%a;yxZ z{3UUe51UWK6 <)O+f8WZIp6g 7pH-t>H^F-fwvo6yYPZ&}+-Xy$pIHQGLu zMSpzY+I|LbGFOv4*77SrPg9ZXSu87Gd|;V>U%JZYH_4+AZ>n(xWQb|~D7W9I^B<0~ zR>~Kl2|aPxg7d$Fqo}%6CqfhXzBc>)vwr{p00000&|})N^q$){c1p4seY|A*(e}9X z+R7l6krEKs80HJpLM!!bdt7`wZ
!%75gK2FMeg-JEv_FQ-vJfQtPSwD>e!`vVcK$v$^D=I5A289iqh`BxIWB_ z3jhEB0002!Hv2$Q{Vaf{+c##<7k{WfX@h+z@-$SbwClz1S76N-FsB$OB@0N_d;ue$ z;P$}`-&kfjS-?~=(my)AjYa3q=fNxT1+M>qeT9mA0eyOnnNGJ2j}d1Lci>Vnnyrm1 zVBAhe ;M_q)EXkPMK6b^Z{1FzF?&K pq1tBM(Q+1O0; z8Q7y{o;?`Lp?CYdnEN#{BY%DV%)7W)V=1mclKC1?qNhgT&f9@?F|zq&X43@|Ujv?s zHCFNp__nt=?+S$1z5>a{C=9-rwy!f)eXEvcBv&u9;`+{az^C^e000000001#Z32tF zN&7wx&C3NN@SU=`WCXrTEF ~4}<$=cW%75E$Ps?xKqwR_x zMCK>@#|0e_j~{rqFF&lX-kz3Uy(gfQemOQj(5rF-ZXTkEhxTQE?O((%YhanKju;aF z00000K#6UloWe(zNh~_VGL$HW8kNr7Gj7 CJbx?KF!nzwH9+JO94go+>-ocyFCg*>RIqjrx7N4{2O*9-sv00000K-;pm8_-nN zb_0Y9;sd1(TICP&na{>s*zyHloJGkNz%ug*l$ce=a{O|%B3Tg`2KwGJm~L4;^wv1B z )z{%tKhO_D>Uw!*baTf500qEF zL_t(|obBCBcbZHT!10*|Tnl2>jW+u>)T}YVuA9f;T2B(c|3`T2i*@eIFay=3_VoWd zJ*Ql_-~eVbmn%vEI0O3XDi*&t<9B&JJm~=P@ sX _eW$Z4 c9Zes6HG*`l^otp9lrm$bb9;Xs|A>ClTQitN^PjGbU@=pp zl~I TQ>&_)j8?xf$dIKupk(^BHSvdmD8nvh$!t>{;`z(xg*X8<{v`Lm zZ#LqT#+?V+BDoQtclSAxFV0u#tNWE%_f6`okX1-M6?NfawjIjNu`8x@Fk`&huFd3e zv)Z=heov5f@T8b+7Dk*-%Tk=7O8yfkaKD<1&3|bb{nF;4jAT-lw}E&!VtGO@5Ap=8 zEAHNbWG+Tr6qOvo(yn_umY)I}lV&ox4#eNCsW_ph8*xL^)ppwi;@uHf&t~}LrII5^ zqmNFcSzu$5H4jA~-t9gScW^loCy?yEG9N@doyvy`k|*(3b$?sM27GFnxT1}`97&dC zMSmz(s+M1&-50Dn^$-C700000004MhsSM-wf!CMDQw&R45Yf|8G<({yiq!||=CKaN zzA;q6Aw^jArVe*NmY9||a{q04`y7b1Qg($#DLLRYR04DLZ|2Ri_NYsRCX*GK%((-n z?JouZ00000Kxf*s^p^V{?a*W~djC87kAK$trKc{FRN1L#vW%91yu&nKT3Q3pv-N)Q zrNjQ(-v4+*?_!&DVkeFEv!{bDV@n$+DcR2_Yv*V6-h|$_^$Z?5WOq8tkR;kN(U<;p z2f9o&5Bg1~zlr^Y54Y?5^we)U{rm(wN&o-=000000O%<7EcLUWmhZN|Gl}1`NPp)T z?K=!of9*nk;Mz^l`yZ8h*X8q5r$Q5}u*jocmiG4X{x_h~nRftk<;+tb*stnVrgd9P zE`R<%@Lzznh&Gq@_O!7VLN1&O00000004lu=ATIF-UV>%{zvoo3)nAhXy>1bJWN$8 z{mPH&diw>;R}47K0+P31!00D Rt4R7U{xT`UOVjL+k^&hjoCKT9WZ{`#dy1AFr^eaw9j%&wuy#3yh6- zN@vT!{z|u0;Ec4nKjVj%egS242w2?$*7fxF3z)0RkD&no0000000000;CF~#x3-$m zFK74yi?P|}Gw@f<45j-Tnz6B*MjPiEyZ38kR{G+dce$NWi#t$Mk^LW>3_Uf1i|7d~ z?aJnz*-e*BVgtCdGZyj=#DDf*xf%WLKziysP^^q#@aVp$NQRz_Kdd$@xw@|G?bZo+ zGR|BQPXPb`000000N`H}s}EStuRhST$mhv0%SvrO9%y`?vnE|1mS1AKtBt)PGuP b?;px^6cOd*Op(F2r zryD@@6DYk{%gt5jaDQ*lGutof1uChnGj#I*Hr1aV00000000000DoHl`oNiq7x~O* z<2`)+0uRAZ@)fYmegY-ls^j^5w;P}k9R~U`atAz{htZ4!U%!C7X8P96Fu2_SWAPQz y*7d7`N9)hmFCf?HV3E($4UiR~?bWZP{{gX|k;7TAU84X100{s|MNUMnLSTX+Ja>oy diff --git a/icons/mob/human_races/bandages/mob_fat.dmi b/icons/mob/human_races/bandages/mob_fat.dmi index bc2b6f4703f31c49a30ba2b08e2815410cb6865d..4a4e55d68318d35f191f4a1542771e89e3419602 100644 GIT binary patch literal 1946 zcmXw33pf+%8{de^nrJ!rN4IlI?xh%$$uV>}x$Mj)xs)v|x7;13O`V-C?uQ|_5GJ{# z(Z(`#43XS(JDJipO4wZ2urt;FectbRpYQ#C&-eY__xC;TJx6;xu)_Zo0002^+*t$? z005G<);3vb20c@jAPs7czoBfJo0}{0Qu>>pPLFl}O^#` 2a} z9dL#>;w{~9qfstlh-;zP5d4iWd{7_&5S5#lZl&<@xRT9qxAv{MlDc;d%JE@^n3OYE zNEvutzLAAjXy_L))uR@oARXuf )9V-!n2g2M2fxgMXeFdhSl>+uf3NoC z 8(?mCI*p8fy1D4% 7N-*-PjM4L9llwd7bk1Y5D+_A5VtXLi&77Bql^ znY!tpFpA1t)qf5f9EZDVx@f$KLc32yUdfMcl6x}A;Zo+0y78t2YlRK#A@*$bD3i#y zRPpD!arg-L-}1s?CWpmiw;2AB8wJnR5@EBQGgotxuWd)S%}s1 nqmnP}>d!hg?MdeR_P`u>CODA*rB(DPdNHH!ZvW*{xTx-NCc;t-s9|0wQ#K$4 zN88S?=uvhH;(jL`e6w2stN}H45Jw;1B@4M16{Jcm9XdRvJ#T(o*@`xjWzLi}KbfXn z>~%@A2zhj|?wDfhRgl3t815GLaqm?pLxI|8oEM^0qcC;6$u{j9SHOa6I(Ei_9yFVd zJF({CBW~d_mIxFpozy+Ome?#q6Y}}%4Q2*`hWm~Z^r3IqIs(R8t7I~ZJaBTkiUgl? zB2$NAK%dkiW-VCl?`xq)iWQe7DyEBy(O=|GMVuCFhULiyysj9S>La%CX@1bHDIvA8 zLxPJL{lIclILA16)8O_<5OsK2x0g8^yd0@yo^d+AOLfvzkLaOeg;#3Arv#=PNG86m z*Y6oAP8tY_HT4ts7o#(6Tx?4j-ch+SI{9y3m?gQx41c?vZxXP?k;L#dBzTk?gwK}y z{$6cP%)yy;JyPj7l=nu}R8j(-E9@9> _&Pj=Xu_Xk zcRs{=%IXN^ `lX8|CA7!OyQCdo1?Q;RjBeTUSF7oT*fs&(8M ziJ8zuwf^1O^+n85b2fds=YbYS@J=LSEjT}e V7 hI7=})pUkW*zWR@-eJhFaT0nuGea<`^_o<)5X z=+?%H^>Dvn^q=|F{ScD$Py;-7FwN3i`mZ5R+Kbzi2=UY5dCF@hGaq)mC<*_0AuoCN zF0R|nMp$+KJ+_H++V=ZX6gnq2gWmFpVkF*EZ@W>|2lTr&G`Yf^aluHbhc0YO?>D>? zLUzsAS76QbFDFiUC=TDe%6=XmLRS1 $+x% zqeJ$Jv!?@ -ky6VR=b6jqOlZi`O3QKC}fILsD5(m$$Q~S^4-+k^0d+ zb0lkDEO}-hXA`j5g@N0Hy|AOS4Of#W=-EO^wvEZ~{#50sA2stMR85B;g;HQc3sQq; z8J2-%MEXI%nl-HSa%GAFDySC~(u-Qne(w$UH8}Q;Y;m`f@X{LH$#S(2*^-{$_5ONy zZyH`q5o9Qb`e=AQJ~+O_Ah=f%`84+w?lkh8a>Y62W|WScpI*C9UXvP<10^yh=iH%h zCGFNQ=-{|m8UP^1|Ha Ry*N+k2Am=zuXr|ZayEkX#_Xq?) z 7bM 8Ux3d6MYkDCP&Dj1^#U9>z z9wTxUjL366*FC3ncTt3omhGyprXZ eix^lAZT`;E7v7^kb+=HFb#+`m z>jwB^`wQO{#wN{Rzhk;!_uK7-T4}V@l$magBiiL%`=(WaR-^ImDti)I)bu;$p|d8K zaJc_E69=u;Um9j%fa#>a(Ln(c{^KRg{fc_rZ_OVT)oYjKr3Ts*wNLI90Ejx<_7B$T zv3BwNul-{#e^i#9f=MG~lQ0}BXteXG1%?$=E&j r!7UB1QD#H*#Fo~5=$#ai^!`T6W#j^|T~QHg zH@~Ov_QUBD_F)IHg7Z@X6ipr9J=?Gf^#K=@u`HkJT-T4KWM~6d+7ju7N>%qB)l1^1 z<@kS13*x-Hdo_7X>^v^|dCzJQgkS5J@R!v`7`mL%`Ry(3^;NVTXr&Z~`KCn=cmc${ z`3>tob(0%0`wq(IlSzKdg;mW0pr236-=hClpHi?*bvM03+uqnulH^!uu3Fw+i~b6E ziEpJisaOqi>xVe8pDMiAhI*5I{zm4>!aC(d1*&l#*o+WX_>5aM)^W(iH4KR{{W`<9 z2mCX6gPljnxMTG8maW@QcYgy^?Ly)02x@7|6ZjX{0tdFp3l~%F#t2>Lr5YaEVjB_G z@-}JpL-7Kuy zP^*~>C7RC&@nZMCH(`J>m5ka!raYv~jWG2S{-Y6A)V`8&cXZM+LMGAC25Lo5@!`+q z75WRANh2!83-@0w?DCmAyts_BM#W6dKU`rAgUYz3?9XpJ?ZjQrgoVt>L64EY6QcN9 z|NdM)uXc#WJXUsMTRMhr ?X%i`Q3u-YSvV{JO492U> ^ifJ^?b+LiAE z8PX^xvJ&`IjeKHu2JuQ)3PG!%0KX+n+p87I@JdhZaJ}>{mAX`m!dDzMu|wmfv$k8c zLYF4oE?<~z$lk2$JSum&I^-v(hNWCrm`0HG_#)ymgz3UcR?e~FUmRTR>um$m{s&?< Bnh^j1 diff --git a/icons/mob/human_races/bandages/mob_slim.dmi b/icons/mob/human_races/bandages/mob_slim.dmi index d9077e570433d67b768776d92a3ccabd4e588292..a47a47d93f79e9ef0fb73c96a92c9f42829e3494 100644 GIT binary patch literal 1845 zcmXYy2{ap67ssOngO*e)mZG2W*|%E1grY^!skL@ys3^shA|aMm=;^c_d+mzS*3Kvu zdx#|+TUtd#Lu9O35L-(!k@}+TJ@>x%?!EtWe($_@&U;Ut9c@pG$cg{}fYbJN)~)~m zAL=9o_<0o%dTlyyl5@V{W`o6I8_Tk%uy1H2{If@i*yf5ETnBTF%&Uuu-4El*_~5RN zHvyLGbHTi1Ey2wTZhboj79DyI9vT?|03b^<@~(&s>PgrT@#?9}Dm1wplm@T#%(jF{ z)}B5R#Po%VbWgE+WRN>Z$q^65`ItCD%`Y|OQg6j`&1u1&^~-A<+LY_I`% E;S7Z7S)#u(i)lDH72EWMGY27s;1{GT0KceEJ<$- zUb3wY{HBuOsg7YC-I(${Fh{WH(?i>%II15203_O5UvWd0Zjl{g7{=#Nx75+z{Cu ^pjj<)Wa{851CK)<+miS$5cw1fLPXaH*8zMm#It@N5f%IV>fm z7>!8&+@o(mY5jV$2r 8(2N=p|Z?;{)A9wG@K>`VmisR1n5bR2xhnxGs{xiAN=ISPYOeqR2Cg4eLtu7 z)vIo^c!!mnto(v>&)sY13;O1!DMoLlj}aR>dHecJ?4Z!r#4M9~L(LRdFO4C(>pK4? z>!_5}H$!CTX@=9zJ@kpvve5JG3#sfxW(79p`6dad=r4@DF)1;$YH|J87BX-ndZ~Y< zDd2y1z11}|7j+?tS>M^tryaJ(HOHD2iQ=kBe$<$_jB#Q(3z}VMxFA2xm#8ycdnNQ- zDb*}DwFc|d<6?fR@A8&P><9nw-$PWJDqb`H-6#BQBzO^$sJ_DGt=r2b(ea>by~_4= zg`x+m8qi&p?;OkXXa 2woA=-79i|{DF}h<^5y>Hn{b39EGF>1Dz~J=s>iPH%!*2X5xD+%`|(;6Snow> zr7DvXa^4j9Ik$NLoQy$5@hf1&A}Rj5J4xu=Nq^mJqGahU0Uh77OE2*6LwXK-I%6r~ zSqyjf25{mrw8(USoHgjbxxWWLctF!>C@i6}er%!QpckA7?mTsbeJk|aEA0onM9~W` z+ PrqvtE;3a=U|>B7qlo z`;~nzcS3_5sc>h~af_tE`m5 t9O2hTDCAjZ{`3uq9g4}SO~8{Qw(88ZYh=IZ?=3_hh9MxPwS`Ng zSE*r$4F;SOh delta 1756 zcmV<21|#{k4&M!s7k^*`0{{R3K&`V50000OP)t-sz`($)osiPNu;|*&l7)M~ub|Y$ zx9;WLUh>d^00001bW%=J06^y0W&i*H-+EM7bVOxyV{&P5bZKvH004NLjg+wp!Y~v? z=jJPd-9@ddizw2;{z3^fHi6o}P0-&riIa=(ZZB}c;k-aveSf~*`axgry?R+hA69+R z$L&rvZ$BlM58XjE&idJ;$3WY#ukxnrXjL&EyfwCDlA&p0>>UU+O?nok*pC7-VI| zWM{=>>5Sl4Sz0k!S}|F=j0R6xS}|E#F-GdlN<8V8W3+{nz2IWO#e$0k84EHNWb867 zc4l^*F=oXXV}GQN5E5f89HT89vt%k3Tr9X)kg*_R@jtfJ*Wpq>&<{iEdU TK~#90?cGgxqDT~gVJZWz#h`1Ao&B`7uF+u6Hi^--9w+{RS uy~=!`8g71Xw9AIw1LFK}lI^%SusamFvr3^FhRt@_ zusZ+%000000002aVDn*6tG^NPRxLMuXZ^O*a-3vp2a{m`)=2ihUE2$nZMligcfI~B zyo+X*_kUIp4 _9uz{@|^=?I)H|}<~3wwOS z@z|cx!yMg-i)cCdQ*M43x}uVC>RbHBUw?1xcz-?~i#Y1;#U7Tga&tciU749rRVKd3 z#0hwqsWkCY=e-?I-oN^X=~&Fr;_gn)*z;7x$xfc&r=HyYdcT+JFZN=2ycdc5!v>H1 zPieMFa}jr+L>%3yDPHzPc(`Ol!*Dp19a>|#zMA0kGwMG9HKA#mwtcblWP$ta0RR91 z0Dk}g0037nk>PA5^8q@(fF#_-rm}`kF{p||`GI2flKbN3BMMP@+wcrbWw?`JZ#-@L z;wVyS&j&rA#K|Q4HBL#T-f)(x6qSk(Ei%j^?bMlj00000003M_yYlA+mCuix{x7U< z%6oUMI(OO9Qy--%OB!zK3_#z@v}#aVb${-2?oK{U4KIOb-Kl&aeOKotb}MHm^Y@lc zUSk6%*WJARdaZK;j-7!xSTfPn?dI)Qow2pn;XW5u7GZ=-l4|~;Uo~${4*&oF00000 z0QEdp{%oMEAgHyz)5%KG{nB@i?(?@_i+-K%PD|%~NOh7giPNcJhD9eRO!< x?aF~!M$1e z_g`HvFu&MESY0nr))Smy2F_a&QGb0myS&?dIK)j=kE>B#FJOPv!9JKTiDCf&00000 z006+rRX*(9porjuZx1{Md;G7uUZ8$frMh0AtS5+~Xa5GA*IoU`Sexy5Pe(Yz;(wu0 zWxas0KboB`ef$3?eP9i1R^7w9z7dDz)(e!X>jlbsf+!k(_4hfM&mI5(0Dk}g00000 zfJ^3czTn%BmK!_TJq5b|=6r_6h&)wj{U}izFk=zlhH_e}e-zJTMy&{~pXI8hBT}Wo zoLZtj;~w9M4bHy>)>r+bSk1soVExu4S1k=^AX3GF$IgIRZ0zvWNsHzxez~$gleiEA z%A89mS8<^mu3i4w0{{R30Dk}g007|X1oH!mxwia3^AwYlp%Gc7>X!#vj8nU|_AYe> zp!Og4L_;q)16$_+L_@gnOs}8VrIRiH`$Z$SGBK7}xy+q`T!!6K=g7?9qafV W2Vkx&$p-)c0002+DJtF(^|fxB?DVZXBX2dDRp7hj?$he>?th?J`EM3FPphk^ z)AhsZno}>J>Iqcn8ad02IAk;QAAnOYpy~s3xq#-}%vCpgRp<)MfG!u%j-3IgUO?3o zn1xy%`^R%}PCh{83u0&adB<~pU;Y39000000000unp+M~h?Iv)7hE6rjZ+KpAt4h= zF}d{uN!u6d{a0krWL4J6_y=INxoRoIhj&abFavJAfC+W5Rn!Y4@>5LmyGE{Vt{N8N y5;7`@cj^R9MZJJ(>V(c Z~10000 vfLVyC0{WkYPg8uTCx<);EyCkgBs*&hQi2N zA~8mj?P6>fbIs5U$!-`+_U*&%Jm-1Nd(QKF-`{(d=X8h>#Zw?almI^n1VT<1ChZ$} zJ8OFcjYcbZozhEtKQ-8y_5?>O&*^Wjo*!rL$B!S6@Y#p)h1|5g1u~srdhR>pSbN8i ztM`K4gS_vDcnA1{Kw;U*FU^iMoR>fhbe@Zuz+FN (YpKK~$d*th>#@al=;R#`NRVcE)yzIDdyZ{}8oee#TlBZl=a2CsEY`P=7$|q3 z|1vZB5&ReI{nMRII#=EX6*`1aF M|vU?(by3qAH%CxV3#PzCl2?&1LcWO-Q`oB8ug;gJ5u+g>dVILf1WLWQyz z-spE8*6){8G*{skyx)og!Nf*%SM!|zS=d;Gc4)1@lhZp_;Iz}FCdWVd1R%D#)Bspf zXyKdfE-_V~t*%nQ7g!yuui>`a{0w+F%a%?buuVy>|6|TYE8A7OO|=^#djp8PYn{zx z=C{_y#rYg1NV7^QCc0ZizFMJ2X-xVSIhs=SC_ovoS`A3EaAoKgRLU4r%Mf)~C%W`1 zE4iz?iInTBACA@!G?v4&CD}=TJ8Yhj^M?2t&*yV?fn^@>kH3*T9^o5T?gpllf`W&& zp6cihFYn&U1UHEYYcjsj!ELAOzQ{k5bh>l5O>!$xZFCz!9C;dCvqK(0)$ER5+&SG! z=#KZSosl}DXdKVX4!crUC-HqEO;XhSZK`jNEU%X;=g7;5(#xTu%l}N==stQ_svNkX zEpShPZBJ?lsPtXR)AM=1%^~gjzZxGacMtttZ>=x=M!IJ?9{bjO`NUbmxK4JNhcOL5 z3+Z1S|A16lu81?!E` u8Nd^G1@A`s>c+E7i|3i{d%S~?gB@>7bo{gD_|Z{ZSo);bR$NC^y;D8Yl$LP*yo z??M8~r6EI=;Q3b!fY%Fe%P_*&LmN+In>usGd^Tz{^CO1mkfi6zjdo?EIug_Q&yfO` z;?X&VTd~z)Rv=I* 8$zA(`Aio zeQ&XLi&(z3T=Ds@+i=$MQ3^V>i^z_n59W^>82|bMhB}o&)d=U`e(VJfM>%gxmqVDw z#U~D5Oxj50nBJ!p?>TyX+!>n&dUQ3X4Kon4f+br$T#ioF9=@K(3(<&J+gsm6o =Fk=U# ?uQ?F!DwfzQkiT%V1N7Q _NJCsi^;HRCe?xX-?0q- zbthUhLl0{Gwo)PTF9?=E72gpXQB`%sJKK{LBU{A8a!3+eh^h$U=HHd4RV*jO?yY=uw}wsHor^8MlP*<1 nU)JuZi literal 1740 zcmXw(2{ap67sq3%&a~R_QEF^8wUufRnrPL&MJrJi#8}dVpjBcSAxcoD_O `JAkshZd-_MSxTwO2>16F&X=dFQ@!?|bLo`#b;p&UtaxaPxC#emMgG0M5ZIOl$xE zo`~a(=I1-UF{rLTf9x(=-?25N(P&kLsYA57FOz-gF`=~Dl3{xD`aH|!+hF8z4o{#B z{2styVH|gSm?GLb1e&-9VEw)DfnL5o06=g-(lg4LE_G4U#Rb(UmT5IPL3!xyq0!G; z*CQusR)bTJxQv7i9}vE4y4}Dr>op<}@gc%AWy6B>&-UHWVgS&+m&m%6nxzpV|=x$4ipY2hO8sDugQ2_BH zG+XYq)LqKPHpFCfe8#+`M d Jh{X;G9_~4f_k%@h1<>Wf%l9usiJM+pa6uIefyZDgnK_{ X$rdD)_g6>D#lZXBj&+ yqrcO5a&>k^csie7s1qWFlQ+TMjPG%o$m2QkA;?LYQd@3h+&oYNXGO@RM}Q4@Im+ z@)kqDqBjv@Edw$q1H*4?O2F+kWlLs7KFm0Kt33Q7`lJ$?C7V-Q6mRWx6pOKCU)SRk zkyv*N*3Q#1_Dg@+uvn;9(%U2dbOa8Ye~Zr}i)O|H)ihV-Cn?~aA8ny&FLq{s&KyX| zXUhsg<~v@SWxn>_qYMl^Q#dD%JZ~_?Xn0`#3vxYRJz396o5Y*ac5lyMzvl1Tt9Jcx zT&-GlS(iX^&Fhf8EvI?jc7ni=XOD^VS|6iArF+z&`=G!96)g;cRqj3wAC1z!bt1(! zV1w&mj54(LYG?LX4sk!;Fo)0?6{fY8go@`Jq6IP?l*@dD`@>X8`OaQC**#{CKHdk+ z8DrV~t*3+dnmtRNllfNdgSr4J7P}D6yLP{QAf)^=&;Q!fNC|V%J63lF#vHlR4>qvx z>~0xi^ma9zeLEtMh}4{~%K$c!C)DaJ*soK+avVWxAz&UI5_wim?cgr3J3C#_K~&k& zPM4A@C1{u6V{cgWkxx)a^8r3y(lw=ix>meS{P#M)L|5pjPa>L*Y^}rJZfTr+|j_cPob4HT%n#`{(P@%hLTbW$jdDsg}W}>6Q ztt_S{UkG5y7B{>=*(@~jwT{mIsAJ1$shBbAqw{iG-kY+Y`$SGgTer9!3R(R=UB*!Y+Pr>}xI$ zK9bLz9!4p{z#dt1-#>ByU{|z=U=mjSNwGgk{j%?~T%;Sze^yNDLl$z^F8|tTi}WUk z9*azIXaSK2i6}7wdYm>ZpsIlIeer1Hsv=rzF4<@M#lD)yD|Qr^Z+ZQZo0^>S`4UMC zhacV%QK@8Iy2!7Wdk-W;R)RK*yj)`xpC|%sER3Fg$A$#rFjo{sTr9fnK_&k1G=g0# zhqrQGMfXiBvfptkmA=K ;W+{jPR9`#X|bs97?>&Cq{avx^ &78<}_ETxWhc`I)4afO<#Sf<~Oycs9L0A zz#L>{#$;#4Wa)t5Cs~>?S(-6fI^GN(vNU6|G-Hg^nTdGPm1DFECwsxgf{O(g3o;gD zEXdgLHrj!?aeu;?6DN$3-b09tb>SH8!ZAmtV!_3Niv<}AG8X@1x4ONa@)!FCnAw9z z{CDSE000HJNkl ^Qn5P)GRV{-;#a!$hJz6(RnhTwY=0%s^T`Tsv**{vj2 zOG2{4mtFNfH3!-VTeeJ?QoC)X05p)ky9>rw{r+h?(0?C~x*{G~@leKkI1)X~vaB15 z=UJ8?rK2a3y#4pjh?n;dW~} e)a z00000pb<_z-+pRI!{^&8nBB$OG+Hu`w*k&+y*H@TUW<5Ry{~WUcc`ZH(F`Wh_MMSz zf4wr_Tz_=sD*AsP*1HN84@Qs-pJVN}w? G zQ?oyj_Nh4lO5Z)LGIMS7UMBxaMutE~kC+ZO7_2_lB3`c6{+6Gv#m`WZO*VxQr^E61 zL9{O-KU>4tN!t%Mn2pElP^< U`O{y7w@*GCbm ztvtZ1kB{e2tP1M@*wV;%M5Vpp+tXz)7xCal#Olf#!Nsizcc+Y4FdPnLgU&e8!Bf-L zpNSWF#CpA6Hx% OV004laiA`lS-84Rh-)PBX6>rpJPm$^G#+&?e=^h+t+V;uP zkAJs#n?|z|D7B?BoGxWPz>bg4sqIUBt@g9BhE6f4702=e^W|F}itG0%#>zOwN5D=o z$?#_U*bT)>Mbn-&Gs(4o$9utW+OtwrR=its^d12K00000pc%T}muFO7Kdx_o@Nr$v z-E~f1ui@)JS<-M-r33a{rcr~^sX5PiB!4wefmgdxIbpv2*-h+b-)rpWKU%?o2J5d^ z@8=kR ToKT-_vK!0BCV_-sPcKYk&&ePQHtmx|9Vy2R%!3tvZ?>wr7Fpn)M->N!++u& zKt2B6e&l{w`{?h@R{C~08HV!n;oDh#w%OQAmigDKqS7e<000000D#u>PDGt??pELW zmR7&G+FLJR)DtLOWvc7|-g*I}o OH{orfx&0jBI+<-?f z!`t`Q3(U@T68h@}%6ft$jKFD2B7gj|+2w5aZWq_?`{7YND}TL!`A`RQXFg3%{KY;l zPiL=3?y`1id5#YN00000003Igd$D(oE5P?Wd*C_R;*-B#pn6utUoTMB6Dai>UV(GF ztN&?Zwf*4Xh-X;BcP{hR3mEkTO7#|@?eDwZ-{@BO?*IPJYq48yy+FxdFMm+h6DT#j z$c@{MNME`G000000000004|x&X<>E7Vr@p-m)a}PB2N|ld}`fiPme`>9m{E1?Nu_B z8MS$=1CG8(l}2-Fsr4B5 h0Y}XdP*!o^p(CJ+wHdxUY0*5| zqsvO>Vuv#46w1%ml@rM?-G2c9000000029`+Wr_Co#mJA!eKg-{L)=G&|Aw-AvMo0 z-2)+-A85M6Q%o|e F6 z6BC)0%iIyjqg^_TzS|eXo9`s@fJ~hSC6QwS000000PyhKBdT3 Irn=^sia@0Vf|| LS{n!{L y`kmrUW57j$!3Hu%3b_aM0#Hy3x1)np%Tvl%9%y<+Twqp?w; zkujkW1P~}L=gxzQ9gU|C*iTKKygp=K%1k@a+3=6eb|aI-0giL~F#PuYG%-OxvT>x& z$|wG7{SG6)o=b-PYDzD6nBUp*$o1WegH_LXY zt&n^T7ZcqK0)fLF?X1ypIrBr#?qjBVslVQ?h^E;#!rny=J8R|SrpGJVM7ikf+}O~@ z6T=#WS$FY^iACgmx~)$Z{!5Zs)zBLQ&@UXp$8BS24OV;FB@9THW5AzE%0NaizFEnj zX(X}_%H>8rs=fMTv^)#3vC?)M!y*yz5KCz$_fA;VDziuH5;5ca;#X_pSYX>cYFv K?J@sa4rj8dz!f+-TIxe6XG`MCCr;0>4}W;_m7>(Y5jC&pyF8%-0cIsj zt6Brz0yAsFgcLwJ>}PIm=7bxpOP$iMfB#tNa4lL9@wn6;5oX!~J+4He;3OwIEn|_? z3V405Eh*gI Z#5K2N;i;fRV&)iv7B91*7?Z#ey>W5JPG0 zbK`RU^>5GK2y`!2SXetXX0)8|MhC03VZ8N5JD#SrB>$4czp_uH59>Iso)LUYfTm%z zS3j4mMU1+tSDfOnG5RPkIl%JPS*Wc}!KMMc->I~=BX>wwi%J-nUB#nb2?bsjQvjpt zYkDC1ub&ejF{zF>F QEI3Ey %|nENH`#KHdy0zj&M^GyQX z)E~~SE^};OHE(Rf(L+2oWAP?;UgOCHf0Fc8tf%=8>a@6<$JcG14v^)Z=W!n4VFUl1 zn^6eySz1$Xka*5z1?Z!S%2i$nx2MB^l@+u8^1Q91fvCvI=(i(-8Ci$n0~QW78w+P` zvG#d7CW2=`7?`Lt%J*_{lEQhuxbD=x)nCheAV)n8wG SPGM`f8JkzAl})T8#y?9DmX>`mD$B f}r5DP);?JfQYoizuqq?lX?0M5V1%F_30&Sm=r<2ZL zhUPpN`b0=fHI+CGTM&ZL7Kyq&i<*f1%B4j)oq)_ZKGHnDOSWvjrHs?C9!0fzhCtU8 zP}bot4@YfnOtJzOXThBbC%OmAc?G Y1>;MSnE&-Z@-RQ} z-mvka@tvq1RI1avVogDXl991gzBqKR`St3sOyzAgJ_Q4bfE+wABevBM4f{swXzyZI JW^?)a{{W^pOE&-j From de432699f79ebf8f4df18e5cc0312fc425cc970c Mon Sep 17 00:00:00 2001 From: TobyThorne <45202681+TobyThorne@users.noreply.github.com> Date: Mon, 18 Dec 2023 05:53:23 +0600 Subject: [PATCH 3/4] Update _external_damage.dm --- code/modules/mob/organs/external/_external_damage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/organs/external/_external_damage.dm b/code/modules/mob/organs/external/_external_damage.dm index 8150c067c33..fffb148701b 100644 --- a/code/modules/mob/organs/external/_external_damage.dm +++ b/code/modules/mob/organs/external/_external_damage.dm @@ -158,7 +158,7 @@ obj/item/organ/external/take_general_damage(amount, silent = FALSE) adjust_pain(0.6*burn + 0.4*brute) //If there are still hurties to dispense - if (spillover) + if(owner && spillover) owner.shock_stage += spillover * config.health.organ_damage_spillover_multiplier // sync the organ's damage with its wounds From 147d0c4750e22a3dda416e4f842a3a78cc7551bc Mon Sep 17 00:00:00 2001 From: TobyThorne <45202681+TobyThorne@users.noreply.github.com> Date: Mon, 18 Dec 2023 06:02:19 +0600 Subject: [PATCH 4/4] Update medical.dm --- code/game/objects/items/stacks/medical.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index fdc12e18314..e900d7de7b0 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -151,6 +151,8 @@ W.heal_damage(heal_brute) used++ affecting.update_damages() + if(affecting.update_damstate()) + H.UpdateDamageIcon() if(used == get_amount()) if(affecting.is_bandaged()) to_chat(user, SPAN("warning", "\The [src] is used up.")) @@ -271,6 +273,8 @@ W.heal_damage(heal_brute) used++ affecting.update_damages() + if(affecting.update_damstate()) + H.UpdateDamageIcon() if(used == get_amount()) if(affecting.is_bandaged()) to_chat(user, SPAN("warning", "\The [src] is used up.")) @@ -431,6 +435,8 @@ W.bandage() used++ affecting.update_damages() + if(affecting.update_damstate()) + H.UpdateDamageIcon() if(used == get_amount()) if(affecting.is_bandaged()) to_chat(user, SPAN("warning", "\The [src] is used up."))