diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 66a0a9dd264..534d1a9a419 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -2,7 +2,7 @@ name = "cell charger" desc = "It charges power cells." icon = 'icons/obj/power.dmi' - icon_state = "ccharger0" + icon_state = "ccharger" anchored = TRUE idle_power_consumption = 5 active_power_consumption = 60 @@ -18,6 +18,15 @@ component_parts += new /obj/item/circuitboard/cell_charger(null) component_parts += new /obj/item/stock_parts/capacitor(null) RefreshParts() + if(!mapload) + return + + for(var/obj/item/stock_parts/cell/I in get_turf(src)) //suck any cells in at roundstart + I.forceMove(src) + charging = I + check_level() + update_icon(UPDATE_OVERLAYS) + break /obj/machinery/cell_charger/deconstruct() if(charging) @@ -28,13 +37,21 @@ QDEL_NULL(charging) return ..() -/obj/machinery/cell_charger/update_icon_state() - icon_state = "ccharger[charging ? 1 : 0]" - /obj/machinery/cell_charger/update_overlays() . = ..() - if(charging && !(stat & (BROKEN|NOPOWER))) - . += "ccharger-o[chargelevel]" + if(!charging) + return + . += "[charging.icon_state]" + + switch(charging.charge / charging.maxcharge) + if(0.1 to 0.995) + . += "cell-o1" + if(0.995 to 1) + . += "cell-o2" + + if(stat & (BROKEN|NOPOWER)) + return + . += "ccharger-o[chargelevel]" /obj/machinery/cell_charger/examine(mob/user) . = ..() @@ -67,7 +84,7 @@ charging = I user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.") check_level() - update_icon() + update_icon(UPDATE_OVERLAYS) else return ..() @@ -96,7 +113,7 @@ charging.update_icon() charging = null chargelevel = -1 - update_icon() + update_icon(UPDATE_OVERLAYS) /obj/machinery/cell_charger/attack_hand(mob/user) if(!charging) diff --git a/icons/mob/screen_hunger_machine.dmi b/icons/mob/screen_hunger_machine.dmi index 340b6d93164..ebe8d497e35 100644 Binary files a/icons/mob/screen_hunger_machine.dmi and b/icons/mob/screen_hunger_machine.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index f6fe6796765..9b4c713bfa8 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ