Revert "Merge pull request #8089 from Trilbyspaceclone/patch-70"

This reverts commit 6ed81162b3, reversing
changes made to 6aaee476c8.
This commit is contained in:
Ragolution
2019-03-12 14:28:54 -04:00
parent 9f63d13d82
commit b0ccfbc1b4
+75 -79
View File
@@ -1,3 +1,4 @@
//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 = "portable generator"
@@ -8,8 +9,9 @@
anchored = FALSE
use_power = NO_POWER_USE
var/active = FALSE
var/active = 0
var/power_gen = 5000
var/recent_fault = 0
var/power_output = 1
var/consumption = 0
var/base_icon = "portgen0"
@@ -25,13 +27,8 @@
QDEL_NULL(soundloop)
return ..()
/obj/machinery/power/port_gen/connect_to_network()
if(!anchored)
return FALSE
. = ..()
/obj/machinery/power/port_gen/proc/HasFuel() //Placeholder for fuel check.
return TRUE
return 1
/obj/machinery/power/port_gen/proc/UseFuel() //Placeholder for fuel use.
return
@@ -42,38 +39,26 @@
/obj/machinery/power/port_gen/proc/handleInactive()
return
/obj/machinery/power/port_gen/proc/TogglePower()
if(active)
active = FALSE
update_icon()
soundloop.stop()
else if(HasFuel())
active = TRUE
START_PROCESSING(SSmachines, src)
update_icon()
soundloop.start()
/obj/machinery/power/port_gen/update_icon()
icon_state = "[base_icon]_[active]"
/obj/machinery/power/port_gen/process()
if(active)
if(!HasFuel() || !anchored)
TogglePower()
return
if(powernet)
add_avail(power_gen * power_output)
if(active && HasFuel() && !crit_fail && anchored && powernet)
add_avail(power_gen * power_output)
UseFuel()
src.updateDialog()
soundloop.start()
else
active = 0
handleInactive()
update_icon()
soundloop.stop()
/obj/machinery/power/port_gen/examine(mob/user)
..()
to_chat(user, "It is[!active?"n't":""] running.")
/////////////////
// P.A.C.M.A.N //
/////////////////
/obj/machinery/power/port_gen/pacman
name = "\improper P.A.C.M.A.N.-type portable generator"
circuit = /obj/item/circuitboard/machine/pacman
@@ -93,8 +78,8 @@
/obj/machinery/power/port_gen/pacman/Initialize()
. = ..()
var/obj/S = sheet_path
sheet_name = initial(S.name)
var/obj/sheet = new sheet_path(null)
sheet_name = sheet.name
/obj/machinery/power/port_gen/pacman/Destroy()
DropFuel()
@@ -115,16 +100,14 @@
/obj/machinery/power/port_gen/pacman/examine(mob/user)
..()
to_chat(user, "<span class='notice'>The generator has [sheets] units of [sheet_name] fuel left, producing [DisplayPower(power_gen)] per cycle.</span>")
if(anchored)
to_chat(user, "<span class='notice'>It is anchored to the ground.</span>")
if(in_range(user, src) || isobserver(user))
to_chat(user, "<span class='notice'>The status display reads: Fuel efficiency increased by <b>[(consumption*100)-100]%</b>.<span>")
to_chat(user, "<span class='notice'>The generator has [sheets] units of [sheet_name] fuel left, producing [power_gen] per cycle.</span>")
if(crit_fail)
to_chat(user, "<span class='danger'>The generator seems to have broken down.</span>")
/obj/machinery/power/port_gen/pacman/HasFuel()
if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)
return TRUE
return FALSE
return 1
return 0
/obj/machinery/power/port_gen/pacman/DropFuel()
if(sheets)
@@ -160,11 +143,13 @@
if (current_heat > 300)
overheat()
qdel(src)
return
/obj/machinery/power/port_gen/pacman/handleInactive()
current_heat = max(current_heat - 2, 0)
if(current_heat == 0)
STOP_PROCESSING(SSmachines, src)
if (current_heat > 0)
current_heat = max(current_heat - 2, 0)
src.updateDialog()
/obj/machinery/power/port_gen/pacman/proc/overheat()
explosion(src.loc, 2, 5, 2, -1)
@@ -179,21 +164,24 @@
to_chat(user, "<span class='notice'>You add [amount] sheets to the [src.name].</span>")
sheets += amount
addstack.use(amount)
updateUsrDialog()
return
else if(!active)
if(O.tool_behaviour == TOOL_WRENCH)
if(istype(O, /obj/item/wrench))
if(!anchored && !isinspace())
anchored = TRUE
connect_to_network()
to_chat(user, "<span class='notice'>You secure the generator to the floor.</span>")
anchored = TRUE
else if(anchored)
anchored = FALSE
disconnect_from_network()
to_chat(user, "<span class='notice'>You unsecure the generator from the floor.</span>")
anchored = FALSE
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, 1)
return
else if(O.tool_behaviour == TOOL_SCREWDRIVER)
else if(istype(O, /obj/item/screwdriver))
panel_open = !panel_open
O.play_tool_sound(src)
if(panel_open)
@@ -217,52 +205,60 @@
/obj/machinery/power/port_gen/pacman/attack_paw(mob/user)
interact(user)
/obj/machinery/power/port_gen/pacman/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
if(!ui)
ui = new(user, src, ui_key, "portable_generator", name, 450, 340, master_ui, state)
ui.open()
/obj/machinery/power/port_gen/pacman/ui_interact(mob/user)
. = ..()
if (get_dist(src, user) > 1 )
if(!isAI(user))
user.unset_machine()
user << browse(null, "window=port_gen")
return
/obj/machinery/power/port_gen/pacman/ui_data()
var/data = list()
var/dat = text("<b>[name]</b><br>")
if (active)
dat += text("Generator: <A href='?src=[REF(src)];action=disable'>On</A><br>")
else
dat += text("Generator: <A href='?src=[REF(src)];action=enable'>Off</A><br>")
dat += text("[capitalize(sheet_name)]: [sheets] - <A href='?src=[REF(src)];action=eject'>Eject</A><br>")
var/stack_percent = round(sheet_left * 100, 1)
dat += text("Current stack: [stack_percent]% <br>")
dat += text("Power output: <A href='?src=[REF(src)];action=lower_power'>-</A> [power_gen * power_output] <A href='?src=[REF(src)];action=higher_power'>+</A><br>")
dat += text("Power current: [(powernet == null ? "Unconnected" : "[DisplayPower(avail())]")]<br>")
dat += text("Heat: [current_heat]<br>")
dat += "<br><A href='?src=[REF(src)];action=close'>Close</A>"
user << browse(dat, "window=port_gen")
onclose(user, "port_gen")
data["active"] = active
data["sheet_name"] = capitalize(sheet_name)
data["sheets"] = sheets
data["stack_percent"] = round(sheet_left * 100, 0.1)
data["anchored"] = anchored
data["connected"] = (powernet == null ? 0 : 1)
data["ready_to_boot"] = anchored && HasFuel()
data["power_generated"] = DisplayPower(power_gen)
data["power_output"] = DisplayPower(power_gen * power_output)
data["power_available"] = (powernet == null ? 0 : DisplayPower(avail()))
data["current_heat"] = current_heat
. = data
/obj/machinery/power/port_gen/pacman/ui_act(action, params)
/obj/machinery/power/port_gen/pacman/Topic(href, href_list)
if(..())
return
switch(action)
if("toggle_power")
TogglePower()
. = TRUE
if("eject")
src.add_fingerprint(usr)
if(href_list["action"])
if(href_list["action"] == "enable")
if(!active && HasFuel() && !crit_fail)
active = 1
src.updateUsrDialog()
update_icon()
if(href_list["action"] == "disable")
if (active)
active = 0
src.updateUsrDialog()
update_icon()
if(href_list["action"] == "eject")
if(!active)
DropFuel()
. = TRUE
if("lower_power")
src.updateUsrDialog()
if(href_list["action"] == "lower_power")
if (power_output > 1)
power_output--
. = TRUE
if("higher_power")
src.updateUsrDialog()
if (href_list["action"] == "higher_power")
if (power_output < 4 || (obj_flags & EMAGGED))
power_output++
. = TRUE
src.updateUsrDialog()
if (href_list["action"] == "close")
usr << browse(null, "window=port_gen")
usr.unset_machine()
/obj/machinery/power/port_gen/pacman/super
name = "\improper S.U.P.E.R.P.A.C.M.A.N.-type portable generator"