mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 04:22:39 +01:00
Merge branch 'master' into final_shuttle_touches_and_stuff
# Conflicts: # code/modules/power/breaker_box.dm
This commit is contained in:
@@ -34,20 +34,6 @@
|
||||
cells_amount++
|
||||
capacity = C * 40 //Basic cells are such crap. Hyper cells needed to get on normal SMES levels.
|
||||
|
||||
|
||||
/obj/machinery/power/smes/batteryrack/update_icon()
|
||||
cut_overlays()
|
||||
if(stat & BROKEN) return
|
||||
|
||||
if (output_attempt)
|
||||
add_overlay("gsmes_outputting")
|
||||
if(inputting)
|
||||
add_overlay("gsmes_charging")
|
||||
|
||||
var/clevel = chargedisplay()
|
||||
if(clevel>0)
|
||||
add_overlay("gsmes_og[clevel]")
|
||||
|
||||
/obj/machinery/power/smes/batteryrack/chargedisplay()
|
||||
return round(4 * charge/(capacity ? capacity : 5e6))
|
||||
|
||||
@@ -100,19 +86,10 @@
|
||||
)
|
||||
|
||||
/obj/machinery/power/smes/batteryrack/makeshift/update_icon()
|
||||
cut_overlays()
|
||||
if(stat & BROKEN) return
|
||||
|
||||
if (output_attempt)
|
||||
add_overlay("gsmes_outputting")
|
||||
if(inputting)
|
||||
add_overlay("gsmes_charging")
|
||||
if (overcharge_percent > 100)
|
||||
add_overlay("gsmes_overcharge")
|
||||
else
|
||||
var/clevel = chargedisplay()
|
||||
if(clevel>0)
|
||||
add_overlay("gsmes_og[clevel]")
|
||||
.=..()
|
||||
if(overcharge_percent > 100)
|
||||
cut_overlays()
|
||||
add_overlay("smes-crit")
|
||||
|
||||
//This mess of if-elses and magic numbers handles what happens if the engies don't pay attention and let it eat too much charge
|
||||
//What happens depends on how much capacity has the ghetto smes and how much it is overcharged.
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "bbox_off"
|
||||
//directwired = 0
|
||||
var/icon_state_on = "bbox_on"
|
||||
var/icon_state_off = "bbox_off"
|
||||
density = 1
|
||||
anchored = 1
|
||||
var/on = 0
|
||||
@@ -24,6 +22,9 @@
|
||||
LAZYADD(SSpower.breaker_boxes, src)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/breakerbox/update_icon()
|
||||
icon_state = "bbox_[on ? "on" : "off"]"
|
||||
|
||||
/obj/machinery/power/breakerbox/Destroy()
|
||||
LAZYREMOVE(SSpower.breaker_boxes, src)
|
||||
SSmachinery.queue_rcon_update()
|
||||
@@ -40,29 +41,30 @@
|
||||
/obj/machinery/power/breakerbox/activated/LateInitialize()
|
||||
set_state(1)
|
||||
|
||||
>>>>>>> master
|
||||
/obj/machinery/power/breakerbox/examine(mob/user)
|
||||
..()
|
||||
if(on)
|
||||
to_chat(user, "<span class='good'>It seems to be online.</span>")
|
||||
to_chat(user, SPAN_GOOD("It seems to be online."))
|
||||
else
|
||||
to_chat(user, "<span class='bad'>It seems to be offline.</span>")
|
||||
to_chat(user, SPAN_BAD("It seems to be offline."))
|
||||
|
||||
/obj/machinery/power/breakerbox/attack_ai(mob/user)
|
||||
if(!ai_can_interact(user))
|
||||
return
|
||||
if(update_locked)
|
||||
to_chat(user, "<span class='bad'>System locked. Please try again later.</span>")
|
||||
to_chat(user, SPAN_BAD("System locked. Please try again later."))
|
||||
return
|
||||
|
||||
if(busy)
|
||||
to_chat(user, "<span class='bad'>System is busy. Please wait until current operation is finished before changing power settings.</span>")
|
||||
to_chat(user, SPAN_BAD("System is busy. Please wait until current operation is finished before changing power settings."))
|
||||
return
|
||||
|
||||
busy = 1
|
||||
to_chat(user, "<span class='good'>Updating power settings..</span>")
|
||||
to_chat(user, SPAN_GOOD("Updating power settings..."))
|
||||
if(do_after(user, 50))
|
||||
set_state(!on)
|
||||
to_chat(user, "<span class='good'>Update Completed. New setting:[on ? "on": "off"]</span>")
|
||||
to_chat(user, SPAN_GOOD("Update Completed. New setting:[on ? "on": "off"]"))
|
||||
update_locked = 1
|
||||
addtimer(CALLBACK(src, .proc/reset_locked), 600)
|
||||
busy = 0
|
||||
@@ -73,22 +75,21 @@
|
||||
|
||||
/obj/machinery/power/breakerbox/attack_hand(mob/user)
|
||||
if(update_locked)
|
||||
to_chat(user, "<span class='bad'>System locked. Please try again later.</span>")
|
||||
to_chat(user, SPAN_BAD("System locked. Please try again later."))
|
||||
return
|
||||
|
||||
if(busy)
|
||||
to_chat(user, "<span class='bad'>System is busy. Please wait until current operation is finished before changing power settings.</span>")
|
||||
to_chat(user, SPAN_BAD("System is busy. Please wait until current operation is finished before changing power settings."))
|
||||
return
|
||||
|
||||
busy = 1
|
||||
for(var/mob/O in viewers(user))
|
||||
O.show_message(text("<span class='warning'>[user] started reprogramming [src]!</span>"), 1)
|
||||
O.show_message(SPAN_WARNING("[user] started reprogramming [src]!"), 1)
|
||||
|
||||
if(do_after(user, 50))
|
||||
set_state(!on)
|
||||
user.visible_message(\
|
||||
"<span class='notice'>[user.name] [on ? "enabled" : "disabled"] the breaker box!</span>",\
|
||||
"<span class='notice'>You [on ? "enabled" : "disabled"] the breaker box!</span>")
|
||||
user.visible_message(SPAN_NOTICE("[user.name] [on ? "enabled" : "disabled"] the breaker box!"), \
|
||||
SPAN_NOTICE("You [on ? "enabled" : "disabled"] the breaker box!"))
|
||||
update_locked = 1
|
||||
addtimer(CALLBACK(src, .proc/reset_locked), 600)
|
||||
busy = 0
|
||||
@@ -98,13 +99,13 @@
|
||||
var/newtag = input(user, "Enter new RCON tag. Use \"NO_TAG\" to disable RCON or leave empty to cancel.", "SMES RCON system") as text
|
||||
if(newtag)
|
||||
RCon_tag = newtag
|
||||
to_chat(user, "<span class='notice'>You changed the RCON tag to: [newtag]</span>")
|
||||
to_chat(user, SPAN_NOTICE("You changed the RCON tag to: [newtag]"))
|
||||
SSmachinery.queue_rcon_update()
|
||||
|
||||
/obj/machinery/power/breakerbox/proc/set_state(var/state)
|
||||
on = state
|
||||
update_icon()
|
||||
if(on)
|
||||
icon_state = icon_state_on
|
||||
var/list/connection_dirs = list()
|
||||
for(var/direction in directions)
|
||||
for(var/obj/structure/cable/C in get_step(src,direction))
|
||||
@@ -129,7 +130,6 @@
|
||||
C.mergeDiagonalsNetworks(C.d2)
|
||||
|
||||
else
|
||||
icon_state = icon_state_off
|
||||
for(var/obj/structure/cable/C in src.loc)
|
||||
qdel(C)
|
||||
|
||||
@@ -139,3 +139,11 @@
|
||||
set_state(!on)
|
||||
update_locked = 1
|
||||
addtimer(CALLBACK(src, .proc/reset_locked), 600)
|
||||
|
||||
/obj/machinery/power/breakerbox/activated
|
||||
icon_state = "bbox_on"
|
||||
|
||||
// Enabled on server startup. Used in substations to keep them in bypass mode.
|
||||
/obj/machinery/power/breakerbox/activated/Initialize()
|
||||
. = ..()
|
||||
set_state(1)
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
name = "Placeholder Generator" //seriously, don't use this. It can't be anchored without VV magic.
|
||||
desc = "A portable generator for emergency backup power"
|
||||
icon = 'icons/obj/power.dmi'
|
||||
icon_state = "portgen0"
|
||||
icon_state = "portgen0_0"
|
||||
var/base_icon = "portgen0"
|
||||
density = TRUE
|
||||
anchored = FALSE
|
||||
|
||||
@@ -57,6 +58,10 @@
|
||||
soundloop.start()
|
||||
return
|
||||
|
||||
/obj/machinery/power/port_gen/update_icon()
|
||||
icon_state = "[base_icon]_[active]"
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/port_gen/examine(mob/user)
|
||||
if(!..(user, 1))
|
||||
return
|
||||
@@ -369,11 +374,11 @@
|
||||
if(href_list["action"] == "enable")
|
||||
if(!active && HasFuel() && !IsBroken())
|
||||
active = TRUE
|
||||
icon_state = "portgen1"
|
||||
update_icon()
|
||||
if(href_list["action"] == "disable")
|
||||
if (active)
|
||||
active = FALSE
|
||||
icon_state = "portgen0"
|
||||
update_icon()
|
||||
if(href_list["action"] == "eject")
|
||||
if(!active)
|
||||
DropFuel()
|
||||
@@ -388,7 +393,8 @@
|
||||
/obj/machinery/power/port_gen/pacman/super
|
||||
name = "S.U.P.E.R.P.A.C.M.A.N.-type Portable Generator"
|
||||
desc = "A power generator that utilizes uranium sheets as fuel. Can run for much longer than the standard PACMAN type generators. Rated for 80 kW max safe output."
|
||||
icon_state = "portgen1"
|
||||
icon_state = "portgen1_0"
|
||||
base_icon = "portgen1"
|
||||
sheet_path = /obj/item/stack/material/uranium
|
||||
sheet_name = "Uranium Sheets"
|
||||
time_per_sheet = 576 //same power output, but a 50 sheet stack will last 2 hours at max safe power
|
||||
@@ -415,7 +421,8 @@
|
||||
/obj/machinery/power/port_gen/pacman/mrs
|
||||
name = "M.R.S.P.A.C.M.A.N.-type Portable Generator"
|
||||
desc = "An advanced power generator that runs on tritium. Rated for 200 kW maximum safe output!"
|
||||
icon_state = "portgen2"
|
||||
icon_state = "portgen2_0"
|
||||
base_icon = "portgen2"
|
||||
sheet_path = /obj/item/stack/material/tritium
|
||||
sheet_name = "Tritium Fuel Sheets"
|
||||
|
||||
|
||||
@@ -329,9 +329,10 @@
|
||||
// Parameters: None
|
||||
// Description: Allows us to use special icon overlay for critical SMESs
|
||||
/obj/machinery/power/smes/buildable/update_icon()
|
||||
if (failing)
|
||||
if(failing)
|
||||
cut_overlays()
|
||||
add_overlay("smes-crit")
|
||||
add_overlay("smes-crit_screen")
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user