diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index 055fa58ad393..fb56a7a15886 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -357,6 +357,7 @@
/obj/item/clothing/gloves,
/obj/item/resonator,
/obj/item/mining_scanner,
+ /obj/item/pinpointer/mineral,
/obj/item/pickaxe,
/obj/item/shovel,
/obj/item/stack/sheet/animalhide,
diff --git a/code/modules/cargo/packs/exploration.dm b/code/modules/cargo/packs/exploration.dm
index 504b3b4bdbb1..e88cf65a3931 100644
--- a/code/modules/cargo/packs/exploration.dm
+++ b/code/modules/cargo/packs/exploration.dm
@@ -8,13 +8,13 @@
/datum/supply_pack/exploration/lava
name = "Lava Exploration Kit"
- desc = "Contains two pickaxes, 60 lavaproof rods, and goggles to protect eyes from the heat"
- cost = 1500
+ desc = "Contains two pickaxes, 60 lavaproof rods, two pocket extinguishers and goggles to protect yourself from the heat."
+ cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
- /obj/item/clothing/glasses/heat,
- /obj/item/clothing/glasses/heat,
+ /obj/item/extinguisher/mini,
+ /obj/item/extinguisher/mini,
/obj/item/clothing/glasses/heat,
/obj/item/clothing/glasses/heat,
/obj/item/stack/rods/lava/thirty,
@@ -22,34 +22,45 @@
)
crate_name = "Lava Exploration Kit"
+/datum/supply_pack/exploration/lavaproof_ords
+ name ="Lavaproof Rods Crate"
+ desc = "Contains 60 lavaproof rods for safely traversing molten pits."
+ cost = 200
+ contains = list(
+ /obj/item/stack/rods/lava/thirty,
+ /obj/item/stack/rods/lava/thirty,
+ )
+ crate_name = "Lavaproof Rod Crate"
+
/datum/supply_pack/exploration/ice
name = "Ice Exploration Kit"
- desc = "Contains two pickaxes, winter clothes, and goggles to protect eyes from the cold"
- cost = 1500
+ desc = "Contains two pickaxes, 2 sets of winter clothes and ice hiking boots, along with goggles to protect eyes from the cold."
+ cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
/obj/item/clothing/glasses/cold,
/obj/item/clothing/glasses/cold,
- /obj/item/clothing/glasses/cold,
- /obj/item/clothing/glasses/cold,
- /obj/item/clothing/shoes/winterboots,
- /obj/item/clothing/shoes/winterboots,
- /obj/item/clothing/shoes/winterboots,
- /obj/item/clothing/shoes/winterboots,
+ /obj/item/clothing/suit/hooded/wintercoat,
+ /obj/item/clothing/suit/hooded/wintercoat,
+ /obj/item/clothing/shoes/winterboots/ice_boots,
+ /obj/item/clothing/shoes/winterboots/ice_boots,
)
crate_name = "Ice Exploration Kit"
/datum/supply_pack/exploration/jungle
name = "Jungle Exploration Kit"
- desc = "Contains hatchets, picks, and antivenom, great for dense jungles!"
- cost = 750
+ desc = "Contains a hatchets, two picks and lanterns, plus antivenom pills, great for dense jungles!"
+ cost = 500
contains = list(
/obj/item/pickaxe/mini,
/obj/item/pickaxe/mini,
+ /obj/item/flashlight/lantern,
+ /obj/item/flashlight/lantern,
/obj/item/storage/pill_bottle/charcoal,
/obj/item/storage/pill_bottle/charcoal,
/obj/item/hatchet,
+ /obj/item/hatchet,
)
crate_name = "Jungle Exploration Kit"
@@ -76,16 +87,45 @@
crate_name = "Beach Kit"
/*
- Heavy Duty Exploration Gear
+ General Exploration Gear
*/
/datum/supply_pack/exploration/capsules
- name = "Bluespace Shelter Capsules"
- desc = "A trio of Bluespace Shelter Capsules, for instant shelter in rough situations."
- cost = 3000
+ name = "Bluespace Shelter Capsule"
+ desc = "Contains a Bluespace Shelter Capsule, for instant shelter in rough situations."
+ cost = 500
+ contains = list(
+ /obj/item/survivalcapsule
+ )
+
+/datum/supply_pack/exploration/binocular
+ name = "Binoculars"
+ desc = "One pair of binoculars for surveying terrain."
+ cost = 200
+ contains = list(
+ /obj/item/binoculars
+ )
+
+/datum/supply_pack/exploration/anom_neutralizer
+ name = "Anomaly Neutralizer"
+ desc = "A single use anomaly neutralizer for stabalizing hazardous anomalies."
+ cost = 250
+ contains = list(
+ /obj/item/anomaly_neutralizer
+ )
+
+/datum/supply_pack/exploration/mineral_scanner
+ name = "Underground Mineral Scanner"
+ desc = "Contains an underground mineral scanner for locating veins of ore beneath the earth. Deep core laser drill for extracting said ores not included."
+ cost = 250
contains = list(
- /obj/item/survivalcapsule,
- /obj/item/survivalcapsule,
- /obj/item/survivalcapsule,
+ /obj/item/pinpointer/mineral
)
+/datum/supply_pack/exploration/gps
+ name = "GPS"
+ desc = "Contains a GPS device, useful for finding lost things and not getting lost yourself."
+ cost = 100
+ contains = list(
+ /obj/item/gps
+ )
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index 038d69dff370..3b390da34251 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -11,7 +11,7 @@
heat_protection = CHEST|GROIN|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/explorer
armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50)
- allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION
@@ -65,7 +65,7 @@
resistance_flags = FIRE_PROOF | LAVA_PROOF
slowdown = 0
armor = list("melee" = 70, "bullet" = 40, "laser" = 30, "energy" = 45, "bomb" = 70, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
- allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
/obj/item/clothing/suit/space/hostile_environment/Initialize()
. = ..()
@@ -167,7 +167,7 @@
heat_protection = CHEST|GROIN|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/survivor_hood
armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30)
- allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
+ allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION
diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm
index 7c62a915f65e..4def7dbe5dde 100644
--- a/code/modules/mining/equipment/mineral_scanner.dm
+++ b/code/modules/mining/equipment/mineral_scanner.dm
@@ -126,6 +126,7 @@
/obj/item/pinpointer/mineral/examine(mob/user)
. = ..()
. += "It is currently set to [scanmode ? "scan underground" : "scan the surface"]."
+ . += span_notice("You can use the scanner on an vein on harm intent to mark them as sites of no interest, causing them to no longer show up on scans.")
/obj/item/pinpointer/mineral/AltClick(mob/user) //switching modes
..()
@@ -204,7 +205,7 @@
var/located_dist
var/obj/structure/located_vein
for(var/obj/structure/vein/I in GLOB.ore_veins)
- if(I.z == 0 || I.virtual_z() != here.virtual_z())
+ if(I.z == 0 || I.virtual_z() != here.virtual_z() || I.detectable == FALSE)
continue
if(located_vein)
var/new_dist = get_dist(here, get_turf(I))
@@ -223,6 +224,16 @@
if(!proximity || !istype(O,/obj/structure/vein))
return
playsound(src, 'sound/effects/fastbeep.ogg', 10)
+ if(user.a_intent == INTENT_HARM)
+ if(O.detectable == TRUE)
+ to_chat(user,span_notice("You blacklist the vein from the scanner's telemetry, and will no longer be detected as a site of interest to the scanner."))
+ O.detectable = FALSE
+ return
+ else
+ to_chat(user,span_notice("You mark vein into the scanner's telemetry, allowing it be located by underground scans."))
+ O.detectable = TRUE
+ return
+
if(O.vein_contents.len > 0)
to_chat(user, "Class [O.vein_class] ore vein with [O.mining_charges] possible ore lodes found.")
for(var/re in O.vein_contents)
diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm
index 32b1ffeab8d5..16f6afa8da0c 100644
--- a/code/modules/mining/ore_veins.dm
+++ b/code/modules/mining/ore_veins.dm
@@ -10,6 +10,8 @@ GLOBAL_LIST_EMPTY(ore_veins)
move_resist = INFINITY
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
+ //Whether the mining scanner is able to locate this vein.
+ var/detectable = TRUE
var/mining_charges = 6
//Classification of the quality of possible ores within a vein
//Used to determine difficulty & ore amounts
@@ -75,6 +77,11 @@ GLOBAL_LIST_EMPTY(ore_veins)
ore_list.Remove(picked)
GLOB.ore_veins += src
+/obj/structure/vein/examine(mob/user)
+ . = ..()
+ if(!detectable)
+ . += span_notice("This vein has been marked as a site of no interest, and will not show up on deep core scans.")
+
/obj/structure/vein/Destroy()
GLOB.ore_veins -= src
return ..()
@@ -105,6 +112,7 @@ GLOBAL_LIST_EMPTY(ore_veins)
/obj/structure/vein/proc/toggle_spawning()
spawning_started = SEND_SIGNAL(src, COMSIG_SPAWNER_TOGGLE_SPAWNING, spawning_started)
+
//
// Planetary and Class Subtypes
// The current set of subtypes are heavily subject to future balancing and reworking as the balance of them is tested more