mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 04:02:31 +00:00
Conflicts: baystation12.dme code/defines/obj/weapon.dm code/game/mecha/equipment/tools/medical_tools.dm code/game/mecha/equipment/tools/tools.dm code/game/mecha/mecha.dm code/game/mecha/mecha_parts.dm code/game/objects/items/devices/flash.dm code/game/objects/items/devices/powersink.dm code/game/objects/items/devices/scanners.dm code/game/objects/items/stacks/sheets/glass.dm code/game/objects/items/stacks/sheets/sheet_types.dm code/game/objects/items/weapons/RCD.dm code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm code/game/objects/items/weapons/circuitboards/machinery/cloning.dm code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm code/game/objects/items/weapons/circuitboards/machinery/pacman.dm code/game/objects/items/weapons/circuitboards/machinery/power.dm code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm code/game/objects/items/weapons/circuitboards/machinery/research.dm code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm code/game/objects/items/weapons/flamethrower.dm code/game/objects/items/weapons/handcuffs.dm code/game/objects/items/weapons/kitchen.dm code/game/objects/items/weapons/shields.dm code/game/objects/items/weapons/storage/backpack.dm code/game/objects/items/weapons/surgery_tools.dm code/game/objects/items/weapons/teleportation.dm code/game/objects/items/weapons/tools.dm code/modules/assembly/igniter.dm code/modules/assembly/infrared.dm code/modules/assembly/mousetrap.dm code/modules/assembly/proximity.dm code/modules/assembly/signaler.dm code/modules/assembly/timer.dm code/modules/assembly/voice.dm code/modules/clothing/glasses/glasses.dm code/modules/hydroponics/trays/tray_tools.dm code/modules/mining/drilling/scanner.dm code/modules/mining/mine_items.dm code/modules/mining/ore.dm code/modules/mob/living/silicon/robot/analyzer.dm code/modules/power/rust/circuits_and_design.dm code/modules/projectiles/ammunition/boxes.dm code/modules/projectiles/guns/energy/laser.dm code/modules/projectiles/guns/energy/special.dm code/modules/projectiles/guns/energy/stun.dm code/modules/research/circuitprinter.dm code/modules/research/designs.dm code/modules/research/destructive_analyzer.dm code/modules/research/protolathe.dm code/modules/research/rdconsole.dm code/modules/research/research.dm code/modules/research/server.dm code/modules/research/xenoarchaeology/genetics/reconstitutor.dm
49 lines
1.4 KiB
Plaintext
49 lines
1.4 KiB
Plaintext
/obj/item/weapon/mining_scanner
|
|
name = "ore detector"
|
|
desc = "A complex device used to locate ore deep underground."
|
|
icon = 'icons/obj/device.dmi'
|
|
icon_state = "forensic0-old" //GET A BETTER SPRITE.
|
|
item_state = "electronic"
|
|
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
|
|
matter = list(DEFAULT_WALL_MATERIAL = 150)
|
|
|
|
/obj/item/weapon/mining_scanner/attack_self(mob/user as mob)
|
|
user << "You begin sweeping \the [src] about, scanning for metal deposits."
|
|
|
|
if(!do_after(user, 50))
|
|
return
|
|
|
|
var/list/metals = list(
|
|
"surface minerals" = 0,
|
|
"precious metals" = 0,
|
|
"nuclear fuel" = 0,
|
|
"exotic matter" = 0
|
|
)
|
|
|
|
for(var/turf/T in range(2, get_turf(user)))
|
|
|
|
if(!T.has_resources)
|
|
continue
|
|
|
|
for(var/metal in T.resources)
|
|
var/ore_type
|
|
|
|
switch(metal)
|
|
if("silicates", "carbonaceous rock", "iron") ore_type = "surface minerals"
|
|
if("gold", "silver", "diamond") ore_type = "precious metals"
|
|
if("uranium") ore_type = "nuclear fuel"
|
|
if("phoron", "osmium", "hydrogen") ore_type = "exotic matter"
|
|
|
|
if(ore_type) metals[ore_type] += T.resources[metal]
|
|
|
|
user << "\icon[src] <span class='notice'>The scanner beeps and displays a readout.</span>"
|
|
|
|
for(var/ore_type in metals)
|
|
var/result = "no sign"
|
|
|
|
switch(metals[ore_type])
|
|
if(1 to 25) result = "trace amounts"
|
|
if(26 to 75) result = "significant amounts"
|
|
if(76 to INFINITY) result = "huge quantities"
|
|
|
|
user << "- [result] of [ore_type]." |