diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 3e7c63e711b..6db9ef64e84 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -112,7 +112,6 @@
"silver" = 0,
"gold" = 0,
"marble" = 0,
- "rutile" = 0,
"uranium" = 0,
"diamond" = 0,
"platinum" = 0,
diff --git a/code/modules/mining/drilling/drill.dm b/code/modules/mining/drilling/drill.dm
index 0baa14a790a..ed438e6fbef 100644
--- a/code/modules/mining/drilling/drill.dm
+++ b/code/modules/mining/drilling/drill.dm
@@ -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, "You unload the drill's storage cache into the ore box.")
else
to_chat(usr, "You must move an ore box up to the drill before you can unload it.")
@@ -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()
diff --git a/code/modules/mining/drilling/scanner.dm b/code/modules/mining/drilling/scanner.dm
index b1427946c91..34c0c2f99cc 100644
--- a/code/modules/mining/drilling/scanner.dm
+++ b/code/modules/mining/drilling/scanner.dm
@@ -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]
diff --git a/code/modules/mining/machinery/machine_processing.dm b/code/modules/mining/machinery/machine_processing.dm
index 1b06da1422c..b0930e116bb 100644
--- a/code/modules/mining/machinery/machine_processing.dm
+++ b/code/modules/mining/machinery/machine_processing.dm
@@ -179,7 +179,6 @@
"silver" = 16,
"gold" = 18,
"marble" = 20,
- "rutile" = 20,
"uranium" = 30,
"diamond" = 50,
"platinum" = 40,
diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm
index e36d5ba8c06..ece68c7a08c 100644
--- a/code/modules/mining/mine_turfs.dm
+++ b/code/modules/mining/mine_turfs.dm
@@ -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,
diff --git a/code/modules/mining/ore_box.dm b/code/modules/mining/ore_box.dm
index b2930992abe..cf205b3d736 100644
--- a/code/modules/mining/ore_box.dm
+++ b/code/modules/mining/ore_box.dm
@@ -21,7 +21,6 @@
"silver" = 0,
"gold" = 0,
"marble" = 0,
- "rutile" = 0,
"uranium" = 0,
"diamond" = 0,
"platinum" = 0,
diff --git a/code/modules/random_map/noise/ore.dm b/code/modules/random_map/noise/ore.dm
index 17c10cad1a1..8a0b014303b 100644
--- a/code/modules/random_map/noise/ore.dm
+++ b/code/modules/random_map/noise/ore.dm
@@ -48,7 +48,7 @@
continue
if(!priority_process) sleep(-1)
T.resources = list()
- T.resources["silicates"] = rand(3,5)
+ T.resources["sand"] = rand(3,5)
T.resources["carbon"] = rand(3,5)
var/current_cell = map[get_map_cell(x,y)]
@@ -60,8 +60,8 @@
T.resources["marble"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
T.resources["diamond"] = 0
T.resources["phoron"] = 0
- T.resources["osmium"] = 0
- T.resources["hydrogen"] = 0
+ T.resources["platinum"] = 0
+ T.resources["mhydrogen"] = 0
T.resources["verdantium"] = 0
T.resources["lead"] = 0
//T.resources["copper"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)
diff --git a/maps/expedition_vr/aerostat/_aerostat.dm b/maps/expedition_vr/aerostat/_aerostat.dm
index 6bc8ab85221..f2404f2f7e2 100644
--- a/maps/expedition_vr/aerostat/_aerostat.dm
+++ b/maps/expedition_vr/aerostat/_aerostat.dm
@@ -48,7 +48,7 @@
continue
if(!priority_process) sleep(-1)
T.resources = list()
- T.resources["silicates"] = rand(3,5)
+ T.resources["sand"] = rand(3,5)
T.resources["carbon"] = rand(3,5)
var/current_cell = map[get_map_cell(x,y)]
@@ -60,8 +60,8 @@
T.resources["marble"] = rand(RESOURCE_LOW_MIN, RESOURCE_MID_MAX)
T.resources["diamond"] = 0
T.resources["phoron"] = 0
- T.resources["osmium"] = 0
- T.resources["hydrogen"] = 0
+ T.resources["platinum"] = 0
+ T.resources["mhydrogen"] = 0
T.resources["verdantium"] = 0
T.resources["lead"] = 0
//T.resources["copper"] = rand(RESOURCE_MID_MIN, RESOURCE_HIGH_MAX)