mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-07-15 18:22:55 +01:00
A Thing About Digging Sand and Mineral Processor Speed (#7778)
* sand digging/mineral processor speed squashed * typo moment + stacker also goes fast Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
This commit is contained in:
@@ -65,7 +65,7 @@
|
||||
dat += "<A href='?src=\ref[src];choice=claim'>Claim points.</A><br>"
|
||||
else
|
||||
dat += "No ID inserted. <A href='?src=\ref[src];choice=insert'>Insert ID.</A><br>"
|
||||
|
||||
dat += "High-speed processing is <A href='?src=\ref[src];toggle_speed=1'>[(machine.speed_process ? "<font color='green'>active</font>" : "<font color='red'>inactive</font>")]."
|
||||
dat += "<hr><table>"
|
||||
|
||||
for(var/ore in machine.ores_processing)
|
||||
@@ -122,6 +122,10 @@
|
||||
|
||||
show_all_ores = !show_all_ores
|
||||
|
||||
if(href_list["toggle_speed"])
|
||||
|
||||
machine.toggle_speed()
|
||||
|
||||
if(href_list["choice"])
|
||||
if(istype(inserted_id))
|
||||
if(href_list["choice"] == "eject")
|
||||
@@ -163,6 +167,7 @@
|
||||
var/list/ores_stored[0]
|
||||
var/static/list/alloy_data
|
||||
var/active = FALSE
|
||||
var/tick = 0
|
||||
|
||||
var/points = 0
|
||||
var/static/list/ore_values = list(
|
||||
@@ -208,6 +213,25 @@
|
||||
if(src.output) break
|
||||
return
|
||||
|
||||
/obj/machinery/mineral/processing_unit/proc/toggle_speed(var/forced)
|
||||
var/area/refinery_area = get_area(src)
|
||||
if(forced)
|
||||
speed_process = forced
|
||||
else
|
||||
speed_process = !speed_process // switching gears
|
||||
if(speed_process) // high gear
|
||||
STOP_MACHINE_PROCESSING(src)
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
else // low gear
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
START_MACHINE_PROCESSING(src)
|
||||
for(var/obj/machinery/mineral/unloading_machine/unloader in refinery_area.contents)
|
||||
unloader.toggle_speed()
|
||||
for(var/obj/machinery/conveyor_switch/cswitch in refinery_area.contents)
|
||||
cswitch.toggle_speed()
|
||||
for(var/obj/machinery/mineral/stacking_machine/stacker in refinery_area.contents)
|
||||
stacker.toggle_speed()
|
||||
|
||||
/obj/machinery/mineral/processing_unit/process()
|
||||
|
||||
if (!src.output || !src.input)
|
||||
@@ -217,11 +241,11 @@
|
||||
return
|
||||
|
||||
var/list/tick_alloys = list()
|
||||
if(speed_process)
|
||||
tick++
|
||||
|
||||
//Grab some more ore to process this tick.
|
||||
for(var/i = 0,i<sheets_per_tick,i++)
|
||||
var/obj/item/weapon/ore/O = locate() in input.loc
|
||||
if(!O) break
|
||||
for(var/obj/item/weapon/ore/O in input.loc)
|
||||
if(!isnull(ores_stored[O.material]))
|
||||
ores_stored[O.material]++
|
||||
points += ore_values[O.material] // Give Points!
|
||||
@@ -309,7 +333,11 @@
|
||||
else
|
||||
continue
|
||||
|
||||
console.updateUsrDialog()
|
||||
if(!(tick % 10) && speed_process)
|
||||
console.updateUsrDialog()
|
||||
tick = 0
|
||||
else
|
||||
console.updateUsrDialog()
|
||||
|
||||
#undef PROCESS_NONE
|
||||
#undef PROCESS_SMELT
|
||||
|
||||
Reference in New Issue
Block a user