diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index b534fbbfda4..a0e10c73be8 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -1,3 +1,5 @@ +#define SHEET_VOLUME 1000 //cm3 + //Baseline portable generator. Has all the default handling. Not intended to be used on it's own (since it generates unlimited power). /obj/machinery/power/port_gen name = "Placeholder Generator" //seriously, don't use this. It can't be anchored without VV magic. @@ -239,7 +241,7 @@ var/temp_loss = (temperature - cooling_temperature)/TEMPERATURE_DIVISOR temp_loss = between(2, round(temp_loss, 1), TEMPERATURE_CHANGE_MAX) temperature = max(temperature - temp_loss, cooling_temperature) - SSnanoui.update_uis(src) + SStgui.update_uis(src) if(overheating) overheating-- @@ -280,7 +282,7 @@ to_chat(user, "You add [amount] sheet\s to the [src.name].") sheets += amount addstack.use(amount) - SSnanoui.update_uis(src) + SStgui.update_uis(src) return else if(!active) if(istype(O, /obj/item/wrench)) @@ -312,78 +314,69 @@ /obj/machinery/power/port_gen/pacman/attack_hand(mob/user as mob) ..() - if(!anchored) - return - ui_interact(user) + tgui_interact(user) /obj/machinery/power/port_gen/pacman/attack_ai(var/mob/user as mob) - src.add_hiddenprint(user) - return src.attack_hand(user) + add_hiddenprint(user) + return attack_hand(user) /obj/machinery/power/port_gen/pacman/attack_ghost(var/mob/user) - return src.attack_hand(user) + return attack_hand(user) -/obj/machinery/power/port_gen/pacman/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) - if(IsBroken()) - return - - ui = SSnanoui.try_update_ui(user, src, ui_key, ui, force_open) +/obj/machinery/power/port_gen/tgui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = TRUE, datum/tgui/master_ui = null, datum/tgui_state/state = GLOB.tgui_default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) if(!ui) - ui = new(user, src, ui_key, "pacman.tmpl", src.name, 500, 560) + ui = new(user, src, ui_key, "Pacman", name, 500, 260) ui.open() - ui.set_auto_update(1) -/obj/machinery/power/port_gen/pacman/ui_data(mob/user, ui_key = "main", datum/topic_state/state = GLOB.default_state) - var/data[0] +/obj/machinery/power/port_gen/pacman/tgui_data(mob/user) + var/list/data = list() data["active"] = active if(istype(user, /mob/living/silicon/ai)) - data["is_ai"] = 1 + data["is_ai"] = TRUE else if(istype(user, /mob/living/silicon/robot) && !Adjacent(user)) - data["is_ai"] = 1 + data["is_ai"] = TRUE else - data["is_ai"] = 0 + data["is_ai"] = FALSE + data["anchored"] = anchored + data["broken"] = IsBroken() data["output_set"] = power_output data["output_max"] = max_power_output data["output_safe"] = max_safe_output - data["output_watts"] = power_output * power_gen - data["temperature_current"] = src.temperature - data["temperature_max"] = src.max_temperature - data["temperature_overheat"] = overheating - // 1 sheet = 1000cm3? - data["fuel_stored"] = round((sheets * 1000) + (sheet_left * 1000)) - data["fuel_capacity"] = round(max_sheets * 1000, 0.1) - data["fuel_usage"] = active ? round((power_output / time_per_sheet) * 1000) : 0 + data["power_gen"] = power_gen + data["tmp_current"] = temperature + data["tmp_max"] = max_temperature + data["tmp_overheat"] = overheating + data["fuel_stored"] = round((sheets * SHEET_VOLUME) + (sheet_left * SHEET_VOLUME)) + data["fuel_cap"] = round(max_sheets * SHEET_VOLUME, 0.1) + data["fuel_usage"] = active ? round((power_output / time_per_sheet) * SHEET_VOLUME) : 0 data["fuel_type"] = sheet_name + data["has_fuel"] = HasFuel() return data -/obj/machinery/power/port_gen/pacman/Topic(href, href_list) +/obj/machinery/power/port_gen/pacman/tgui_act(action, params) if(..()) return - src.add_fingerprint(usr) - if(href_list["action"]) - if(href_list["action"] == "enable") - if(!active && HasFuel() && !IsBroken()) - active = 1 - update_icon() - if(href_list["action"] == "disable") - if(active) - active = 0 - update_icon() - if(href_list["action"] == "eject") - if(!active) - DropFuel() - if(href_list["action"] == "lower_power") - if(power_output > 1) - power_output-- - if(href_list["action"] == "higher_power") - if(power_output < max_power_output || (emagged && power_output < round(max_power_output*2.5))) - power_output++ + add_fingerprint(usr) - SSnanoui.update_uis(src) + . = TRUE + + switch(action) + if("toggle_power") + if(!powernet) //only a warning, process will disable + atom_say("Not connected to powernet.") + active = !active + update_icon() + if("eject_fuel") + DropFuel() + if("change_power") + var/newPower = text2num(params["change_power"]) + if(newPower) + power_output = clamp(newPower, 1, max_power_output) /obj/machinery/power/port_gen/pacman/super name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator" diff --git a/nano/templates/pacman.tmpl b/nano/templates/pacman.tmpl deleted file mode 100644 index f76d967a6af..00000000000 --- a/nano/templates/pacman.tmpl +++ /dev/null @@ -1,113 +0,0 @@ -