mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Merge pull request #3143 from CHOMPStationBot/upstream-merge-11708
[MIRROR] wacky haphazardly barely thought through standing drill buffs
This commit is contained in:
@@ -17,4 +17,6 @@
|
||||
build_path = /obj/machinery/mining/brace
|
||||
board_type = new /datum/frame/frame_types/machine
|
||||
origin_tech = list(TECH_DATA = 1, TECH_ENGINEERING = 1)
|
||||
req_components = list()
|
||||
req_components = list(
|
||||
/obj/item/weapon/stock_parts/manipulator = 1
|
||||
)
|
||||
|
||||
@@ -11,11 +11,13 @@
|
||||
icon_state = "mining_drill"
|
||||
circuit = /obj/item/weapon/circuitboard/miningdrill
|
||||
var/braces_needed = 2
|
||||
var/list/supports = list()
|
||||
var/list/obj/machinery/mining/brace/supports = list()
|
||||
var/supported = 0
|
||||
var/active = 0
|
||||
var/list/resource_field = list()
|
||||
var/obj/item/device/radio/intercom/faultreporter
|
||||
var/drill_range = 5
|
||||
var/offset = 2
|
||||
|
||||
var/list/ore_types = list(
|
||||
"hematite" = /obj/item/weapon/ore/iron,
|
||||
@@ -242,10 +244,14 @@
|
||||
harvest_speed = 0
|
||||
capacity = 0
|
||||
charge_use = 50
|
||||
drill_range = 5
|
||||
offset = 2
|
||||
|
||||
for(var/obj/item/weapon/stock_parts/P in component_parts)
|
||||
if(istype(P, /obj/item/weapon/stock_parts/micro_laser))
|
||||
harvest_speed = P.rating
|
||||
if(P.rating >= 5)
|
||||
harvest_speed *= 2
|
||||
exotic_drilling = P.rating - 1
|
||||
if(exotic_drilling >= 1)
|
||||
ore_types |= ore_types_uncommon
|
||||
@@ -254,6 +260,14 @@
|
||||
else
|
||||
ore_types -= ore_types_uncommon
|
||||
ore_types -= ore_types_rare
|
||||
if(P.rating > 3) // are we t4+?
|
||||
// default drill range 5, offset 2
|
||||
if(P.rating >= 5) // t5
|
||||
drill_range = 9
|
||||
offset = 4
|
||||
else if(P.rating >= 4) // t4
|
||||
drill_range = 7
|
||||
offset = 3
|
||||
if(istype(P, /obj/item/weapon/stock_parts/matter_bin))
|
||||
capacity = 200 * P.rating
|
||||
if(istype(P, /obj/item/weapon/stock_parts/capacitor))
|
||||
@@ -271,7 +285,11 @@
|
||||
else
|
||||
anchored = TRUE
|
||||
|
||||
if(supports && supports.len >= braces_needed)
|
||||
if(supports)
|
||||
if(supports.len >= braces_needed)
|
||||
supported = 1
|
||||
else for(var/obj/machinery/mining/brace/check in supports)
|
||||
if(check.brace_tier > 3)
|
||||
supported = 1
|
||||
|
||||
update_icon()
|
||||
@@ -293,11 +311,11 @@
|
||||
var/turf/T = get_turf(src)
|
||||
if(!istype(T)) return
|
||||
|
||||
var/tx = T.x - 2
|
||||
var/ty = T.y - 2
|
||||
var/tx = T.x - offset
|
||||
var/ty = T.y - offset
|
||||
var/turf/simulated/mine_turf
|
||||
for(var/iy = 0,iy < 5, iy++)
|
||||
for(var/ix = 0, ix < 5, ix++)
|
||||
for(var/iy = 0,iy < drill_range, iy++)
|
||||
for(var/ix = 0, ix < drill_range, ix++)
|
||||
mine_turf = locate(tx + ix, ty + iy, T.z)
|
||||
if(!istype(mine_turf, /turf/space/))
|
||||
if(mine_turf && mine_turf.has_resources)
|
||||
@@ -334,12 +352,23 @@
|
||||
desc = "A machinery brace for an industrial drill. It looks easily two feet thick."
|
||||
icon_state = "mining_brace"
|
||||
circuit = /obj/item/weapon/circuitboard/miningdrillbrace
|
||||
var/brace_tier = 1
|
||||
var/obj/machinery/mining/drill/connected
|
||||
|
||||
/obj/machinery/mining/brace/New()
|
||||
..()
|
||||
/obj/machinery/mining/brace/examine(mob/user)
|
||||
. = ..()
|
||||
if(brace_tier > 3)
|
||||
. += SPAN_NOTICE("The internals of the brace look resilient enough to support a drill by itself.")
|
||||
|
||||
component_parts = list()
|
||||
/obj/machinery/mining/brace/Initialize()
|
||||
. = ..()
|
||||
default_apply_parts()
|
||||
|
||||
/obj/machinery/mining/brace/RefreshParts()
|
||||
..()
|
||||
brace_tier = 0
|
||||
for(var/obj/item/weapon/stock_parts/manipulator/M in component_parts)
|
||||
brace_tier += M.rating
|
||||
|
||||
/obj/machinery/mining/brace/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(connected && connected.active)
|
||||
@@ -350,6 +379,8 @@
|
||||
return
|
||||
if(default_deconstruction_crowbar(user, W))
|
||||
return
|
||||
if(default_part_replacement(user,W))
|
||||
return
|
||||
|
||||
if(W.is_wrench())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user