diff --git a/code/modules/reagents/reagent_containers/applicator.dm b/code/modules/reagents/reagent_containers/applicator.dm index 87be22d3c8f..42f001d3de7 100644 --- a/code/modules/reagents/reagent_containers/applicator.dm +++ b/code/modules/reagents/reagent_containers/applicator.dm @@ -41,11 +41,20 @@ /obj/item/reagent_containers/applicator/update_icon() cut_overlays() - if(reagents.total_volume) var/mutable_appearance/filling = mutable_appearance('icons/goonstation/objects/objects.dmi', "mender-fluid") filling.color = mix_color_from_reagents(reagents.reagent_list) add_overlay(filling) + var/reag_pct = round((reagents.total_volume / volume) * 100) + var/mutable_appearance/applicator_bar = mutable_appearance('icons/goonstation/objects/objects.dmi', "app_e") + switch(reag_pct) + if(51 to 100) + applicator_bar.icon_state = "app_hf" + if(1 to 50) + applicator_bar.icon_state = "app_he" + if(0) + applicator_bar.icon_state = "app_e" + add_overlay(applicator_bar) /obj/item/reagent_containers/applicator/attack(mob/living/M, mob/user) if(!reagents.total_volume) @@ -69,9 +78,12 @@ while(do_after(user, 10, target = M)) measured_health = M.health apply_to(M, user, 1, FALSE) - if((measured_health == M.health) || !reagents.total_volume) + if(measured_health == M.health) to_chat(user, "[M] is finished healing and [src] powers down automatically.") break + if(!reagents.total_volume) + to_chat(user, "[src] is out of reagents and powers down automatically.") + break applying = FALSE icon_state = "mender" user.changeNext_move(CLICK_CD_MELEE) diff --git a/icons/goonstation/objects/objects.dmi b/icons/goonstation/objects/objects.dmi index 2707ce8b9b8..76c8e17c99a 100644 Binary files a/icons/goonstation/objects/objects.dmi and b/icons/goonstation/objects/objects.dmi differ