mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge pull request #975 from CHOMPStationBot/upstream-merge-9421
[MIRROR] polaris#7778 earlyport - A Thing About Digging Sand and Mineral Processor Speed
This commit is contained in:
@@ -85,6 +85,7 @@
|
||||
|
||||
data["showAllOres"] = show_all_ores
|
||||
data["power"] = machine.active
|
||||
data["speed"] = machine.speed_process
|
||||
|
||||
return data
|
||||
|
||||
@@ -137,6 +138,9 @@
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>No valid ID.</span>")
|
||||
. = TRUE
|
||||
if("speed_toggle")
|
||||
machine.toggle_speed()
|
||||
. = TRUE
|
||||
else
|
||||
return FALSE
|
||||
|
||||
@@ -204,6 +208,26 @@
|
||||
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)
|
||||
@@ -215,9 +239,7 @@
|
||||
var/list/tick_alloys = list()
|
||||
|
||||
//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!
|
||||
|
||||
@@ -110,6 +110,18 @@
|
||||
return
|
||||
return
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/proc/toggle_speed(var/forced)
|
||||
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)
|
||||
|
||||
/obj/machinery/mineral/stacking_machine/process()
|
||||
if (src.output && src.input)
|
||||
var/turf/T = get_turf(input)
|
||||
|
||||
@@ -22,6 +22,18 @@
|
||||
if(output)
|
||||
break
|
||||
|
||||
/obj/machinery/mineral/unloading_machine/proc/toggle_speed(var/forced)
|
||||
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)
|
||||
|
||||
/obj/machinery/mineral/unloading_machine/process()
|
||||
if (src.output && src.input)
|
||||
if (locate(/obj/structure/ore_box, input.loc))
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
w_class = ITEMSIZE_LARGE
|
||||
matter = list(DEFAULT_WALL_MATERIAL = 3750)
|
||||
var/digspeed = 40 //moving the delay to an item var so R&D can make improved picks. --NEO
|
||||
var/sand_dig = FALSE // does this thing dig sand?
|
||||
origin_tech = list(TECH_MATERIAL = 1, TECH_ENGINEERING = 1)
|
||||
attack_verb = list("hit", "pierced", "sliced", "attacked")
|
||||
var/drill_sound = "pickaxe"
|
||||
@@ -43,6 +44,7 @@
|
||||
icon_state = "handdrill"
|
||||
item_state = "jackhammer"
|
||||
digspeed = 30
|
||||
sand_dig = TRUE
|
||||
origin_tech = list(TECH_MATERIAL = 2, TECH_POWER = 3, TECH_ENGINEERING = 2)
|
||||
desc = "Yours is the drill that will pierce through the rock walls."
|
||||
drill_verb = "drilling"
|
||||
@@ -93,6 +95,7 @@
|
||||
icon_state = "diamonddrill"
|
||||
item_state = "jackhammer"
|
||||
digspeed = 5 //Digs through walls, girders, and can dig up sand
|
||||
sand_dig = TRUE
|
||||
origin_tech = list(TECH_MATERIAL = 6, TECH_POWER = 4, TECH_ENGINEERING = 5)
|
||||
desc = "Yours is the drill that will pierce the heavens!"
|
||||
drill_verb = "drilling"
|
||||
@@ -102,6 +105,7 @@
|
||||
icon_state = "jackhammer"
|
||||
item_state = "jackhammer"
|
||||
digspeed = 15
|
||||
sand_dig = TRUE
|
||||
desc = "Cracks rocks with sonic blasts. This one seems like an improved design."
|
||||
drill_verb = "hammering"
|
||||
|
||||
@@ -122,6 +126,7 @@
|
||||
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
|
||||
sharp = 0
|
||||
edge = 1
|
||||
var/digspeed = 40
|
||||
|
||||
/obj/item/weapon/shovel/spade
|
||||
name = "spade"
|
||||
|
||||
@@ -296,19 +296,20 @@ turf/simulated/mineral/floor/light_corner
|
||||
return
|
||||
|
||||
if(!density)
|
||||
var/valid_tool = 0
|
||||
var/digspeed = 40
|
||||
|
||||
var/list/usable_tools = list(
|
||||
/obj/item/weapon/shovel,
|
||||
/obj/item/weapon/pickaxe/diamonddrill,
|
||||
/obj/item/weapon/pickaxe/drill,
|
||||
/obj/item/weapon/pickaxe/borgdrill
|
||||
)
|
||||
if(istype(W, /obj/item/weapon/shovel))
|
||||
var/obj/item/weapon/shovel/S = W
|
||||
valid_tool = 1
|
||||
digspeed = S.digspeed
|
||||
|
||||
var/valid_tool
|
||||
for(var/valid_type in usable_tools)
|
||||
if(istype(W,valid_type))
|
||||
if(istype(W, /obj/item/weapon/pickaxe))
|
||||
var/obj/item/weapon/pickaxe/P = W
|
||||
if(P.sand_dig)
|
||||
valid_tool = 1
|
||||
break
|
||||
digspeed = P.digspeed
|
||||
|
||||
|
||||
if(valid_tool)
|
||||
if (sand_dug)
|
||||
@@ -322,7 +323,7 @@ turf/simulated/mineral/floor/light_corner
|
||||
to_chat(user, "<span class='notice'>You start digging.</span>")
|
||||
playsound(user, 'sound/effects/rustle1.ogg', 50, 1)
|
||||
|
||||
if(!do_after(user,30)) return //YAWN change. 30 from 40
|
||||
if(!do_after(user,digspeed)) return
|
||||
|
||||
to_chat(user, "<span class='notice'>You dug a hole.</span>")
|
||||
GetDrilled()
|
||||
@@ -536,7 +537,7 @@ turf/simulated/mineral/floor/light_corner
|
||||
if(!density)
|
||||
if(!sand_dug)
|
||||
sand_dug = 1
|
||||
for(var/i=0;i<(rand(3)+2);i++)
|
||||
for(var/i=0;i<5;i++)
|
||||
new/obj/item/weapon/ore/glass(src)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user