Makes the mining drill use lists. Updates some ore names.

Uses the same magical anti-lag lists as the other mining items!
Some mining drill items had incorrect names, such as glass being 'silicates' which isn't an ore, which is essential for this change. This changes that.

This is purely a name change and users won't see anything different.

Also removed rutile as it was duplicated in the list. Presumably due to Polaris adding rutile and it never being removed.
This commit is contained in:
C.L
2022-09-25 01:20:55 -04:00
parent adc941c700
commit 76c7b3f003
8 changed files with 66 additions and 21 deletions
+57 -9
View File
@@ -20,6 +20,28 @@
var/drill_range = 5
var/offset = 2
var/list/stored_ore = list(
"sand" = 0,
"hematite" = 0,
"carbon" = 0,
"raw copper" = 0,
"raw tin" = 0,
"void opal" = 0,
"painite" = 0,
"quartz" = 0,
"raw bauxite" = 0,
"phoron" = 0,
"silver" = 0,
"gold" = 0,
"marble" = 0,
"uranium" = 0,
"diamond" = 0,
"platinum" = 0,
"lead" = 0,
"mhydrogen" = 0,
"verdantium" = 0,
"rutile" = 0)
var/list/ore_types = list(
"hematite" = /obj/item/weapon/ore/iron,
"uranium" = /obj/item/weapon/ore/uranium,
@@ -27,9 +49,9 @@
"silver" = /obj/item/weapon/ore/silver,
"diamond" = /obj/item/weapon/ore/diamond,
"phoron" = /obj/item/weapon/ore/phoron,
"osmium" = /obj/item/weapon/ore/osmium,
"hydrogen" = /obj/item/weapon/ore/hydrogen,
"silicates" = /obj/item/weapon/ore/glass,
"platinum" = /obj/item/weapon/ore/osmium,
"mhydrogen" = /obj/item/weapon/ore/hydrogen,
"sand" = /obj/item/weapon/ore/glass,
"carbon" = /obj/item/weapon/ore/coal,
// "copper" = /obj/item/weapon/ore/copper,
// "tin" = /obj/item/weapon/ore/tin,
@@ -62,6 +84,25 @@
var/need_update_field = 0
var/need_player_check = 0
/obj/machinery/mining/drill/examine(mob/user) //Let's inform people about stuff. Let people KNOW how it works.
. = ..()
if(Adjacent(user))
if(cell)
. += "The drill's cell is [round(cell.percent() )]% charged."
if(charge_use) //Prevention of dividing by 0 errors.
. += "The drill reads that it can mine for [round((cell.charge/charge_use)/60)] more minutes before the cell depletes."
else
. += "The drill has no cell installed."
if(drill_range)
. += "The drill will mine in a range of [drill_range] tiles."
if(harvest_speed)
. += "The drill can mine [harvest_speed] [(harvest_speed == 1)? "ore" : "ores"] a second!"
if(exotic_drilling)
. += "The drill is upgraded and is capable of mining [(exotic_drilling == 1)? "moderately further" : "as deep as possible"]!"
if(capacity && contents.len) //TODO: Replace contents with a list that calculates current value.
. += "The drill currently has [contents.len] capacity taken up and can fit [capacity - contents.len] more ore."
/obj/machinery/mining/drill/Initialize()
. = ..()
if(ispath(cell))
@@ -69,6 +110,7 @@
default_apply_parts()
cell = default_use_hicell()
faultreporter = new /obj/item/device/radio/intercom{channels=list("Supply")}(null)
RefreshParts() //This is required to get the cell to register.
/obj/machinery/mining/drill/Destroy()
qdel_null(faultreporter)
@@ -104,7 +146,11 @@
return
//Drill through the flooring, if any.
if(istype(get_turf(src), /turf/simulated))
if(istype(get_turf(src), /turf/simulated/mineral))
var/turf/simulated/mineral/M = get_turf(src)
M.GetDrilled()
else if(istype(get_turf(src), /turf/simulated))
var/turf/simulated/T = get_turf(src)
T.ex_act(2.0)
@@ -154,8 +200,7 @@
harvesting.resources[metal] = 0
for(var/i=1, i <= create_ore, i++)
var/oretype = ore_types[metal]
new oretype(src)
stored_ore[metal]++ //Bugged line.
if(!found_resource) // If a drill can't see an advanced material, it will destroy it while going through.
harvesting.has_resources = 0
@@ -348,8 +393,11 @@
var/obj/structure/ore_box/B = locate() in orange(1)
if(B)
for(var/obj/item/weapon/ore/O in contents)
O.loc = B
for(var/ore in stored_ore)
if(stored_ore[ore] > 0)
var/ore_amount = stored_ore[ore] // How many ores does the satchel have?
B.stored_ore[ore] += ore_amount // Add the ore to the machine.
stored_ore[ore] = 0 // Set the value of the ore in the satchel to 0.
to_chat(usr, "<span class='notice'>You unload the drill's storage cache into the ore box.</span>")
else
to_chat(usr, "<span class='notice'>You must move an ore box up to the drill before you can unload it.</span>")
@@ -365,7 +413,7 @@
/obj/machinery/mining/brace/examine(mob/user)
. = ..()
if(brace_tier > 2)
if(brace_tier >= 3)
. += SPAN_NOTICE("The internals of the brace look resilient enough to support a drill by itself.")
/obj/machinery/mining/brace/Initialize()
+2 -2
View File
@@ -41,12 +41,12 @@
var/ore_type
switch(metal)
if("silicates", "carbon", "marble", /*"quartz"*/) ore_type = "surface minerals"
if("sand", "carbon", "marble", /*"quartz"*/) ore_type = "surface minerals"
if("hematite", /*"tin", "copper", "bauxite",*/ "lead") ore_type = "industrial metals"
if("gold", "silver", "rutile") ore_type = "precious metals"
if("diamond", /*"painite"*/) ore_type = "precious gems"
if("uranium") ore_type = "nuclear fuel"
if("phoron", "osmium", "hydrogen") ore_type = "exotic matter"
if("phoron", "platinum", "mhydrogen") ore_type = "exotic matter"
if("verdantium", /*"void opal"*/) ore_type = "anomalous matter"
if(ore_type) metals[ore_type] += T.resources[metal]
@@ -179,7 +179,6 @@
"silver" = 16,
"gold" = 18,
"marble" = 20,
"rutile" = 20,
"uranium" = 30,
"diamond" = 50,
"platinum" = 40,
+1 -1
View File
@@ -53,7 +53,7 @@ var/list/mining_overlay_cache = list()
"phoron" = /obj/item/weapon/ore/phoron,
"osmium" = /obj/item/weapon/ore/osmium,
"hydrogen" = /obj/item/weapon/ore/hydrogen,
"silicates" = /obj/item/weapon/ore/glass,
"sand" = /obj/item/weapon/ore/glass,
"carbon" = /obj/item/weapon/ore/coal,
"verdantium" = /obj/item/weapon/ore/verdantium,
"marble" = /obj/item/weapon/ore/marble,
-1
View File
@@ -21,7 +21,6 @@
"silver" = 0,
"gold" = 0,
"marble" = 0,
"rutile" = 0,
"uranium" = 0,
"diamond" = 0,
"platinum" = 0,