From 53fac5b31d4bcf6c45b43eed1c7dfba475507a84 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 29 Mar 2016 03:09:59 -0500 Subject: [PATCH] Ruins mining --- code/__DEFINES/sight.dm | 1 + .../mecha/equipment/tools/mining_tools.dm | 4 ++-- code/game/objects/items/robot/robot_items.dm | 4 ++++ .../crates_lockers/closets/secure/cargo.dm | 2 -- .../crates_lockers/closets/secure/security.dm | 1 - code/modules/clothing/glasses/glasses.dm | 21 +++++++++++++++- code/modules/mining/equipment_locker.dm | 24 ++++++++++--------- code/modules/mining/mine_items.dm | 5 ++-- .../modules/mob/living/silicon/robot/robot.dm | 5 ++++ .../mob/living/silicon/robot/robot_modules.dm | 2 +- 10 files changed, 49 insertions(+), 20 deletions(-) diff --git a/code/__DEFINES/sight.dm b/code/__DEFINES/sight.dm index 1bbb24cf4cf..097ac213004 100644 --- a/code/__DEFINES/sight.dm +++ b/code/__DEFINES/sight.dm @@ -21,3 +21,4 @@ #define BORGMESON 1 #define BORGTHERM 2 #define BORGXRAY 4 +#define BORGMATERIAL 8 diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 8d485dcf240..ac82afd31b2 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -110,12 +110,12 @@ /obj/item/mecha_parts/mecha_equipment/mining_scanner/attach(obj/mecha/M) ..() - M.occupant_sight_flags |= SEE_TURFS + M.occupant_sight_flags |= SEE_OBJS if(M.occupant) M.occupant.update_sight() /obj/item/mecha_parts/mecha_equipment/mining_scanner/detach() - chassis.occupant_sight_flags &= ~SEE_TURFS + chassis.occupant_sight_flags &= ~SEE_OBJS if(chassis.occupant) chassis.occupant.update_sight() return ..() diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index 9c50d02b0f7..a674ccb0d69 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -174,6 +174,10 @@ sight_mode = BORGMESON icon_state = "meson" +/obj/item/borg/sight/material + name = "\proper material vision" + sight_mode = BORGMATERIAL + icon_state = "material" /obj/item/borg/sight/hud name = "hud" diff --git a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm index ef988ea7c35..49d82149ea1 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/cargo.dm @@ -11,10 +11,8 @@ new /obj/item/device/radio/headset/headset_cargo(src) new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/gloves/fingerless(src) - new /obj/item/weapon/mining_voucher(src) new /obj/item/device/megaphone/cargo(src) new /obj/item/weapon/tank/internals/emergency_oxygen(src) new /obj/item/clothing/mask/gas(src) - new /obj/item/clothing/glasses/meson(src) new /obj/item/clothing/head/soft(src) new /obj/item/weapon/door_remote/quartermaster(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index 41d071db1ab..502024a7c7b 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -46,7 +46,6 @@ new /obj/item/clothing/suit/armor/vest(src) new /obj/item/device/assembly/flash/handheld(src) new /obj/item/clothing/glasses/sunglasses(src) - new /obj/item/weapon/mining_voucher(src) new /obj/item/weapon/restraints/handcuffs/cable/zipties(src) new /obj/item/weapon/gun/energy/gun(src) new /obj/item/clothing/tie/petcollar(src) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index df0f18f5405..b9f54abd510 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -84,7 +84,26 @@ item_state = "glasses" origin_tech = "magnets=3;engineering=3" vision_flags = SEE_OBJS - invis_view = SEE_INVISIBLE_MINIMUM + +/obj/item/clothing/glasses/material/mining + name = "Optical Material Scanner" + desc = "Used by miners to detect ores deep within the rock." + icon_state = "material" + item_state = "glasses" + origin_tech = "magnets=3;engineering=3" + darkness_view = 0 + +/obj/item/clothing/glasses/material/mining/gar + name = "gar material scanner" + icon_state = "garm" + item_state = "garm" + desc = "Do the impossible, see the invisible!" + force = 10 + throwforce = 20 + throw_speed = 4 + attack_verb = list("sliced") + hitsound = 'sound/weapons/bladeslice.ogg' + sharpness = IS_SHARP /obj/item/clothing/glasses/regular name = "Prescription Glasses" diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index b7bacd1f0d1..7b09cff566f 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -287,7 +287,7 @@ new /datum/data/mining_equipment("Hivelord Stabilizer", /obj/item/weapon/hivelordstabilizer , 400), new /datum/data/mining_equipment("Shelter Capsule", /obj/item/weapon/survivalcapsule , 400), new /datum/data/mining_equipment("Mining Drone", /mob/living/simple_animal/hostile/mining_drone, 500), - new /datum/data/mining_equipment("GAR mesons", /obj/item/clothing/glasses/meson/gar, 500), + new /datum/data/mining_equipment("GAR scanners", /obj/item/clothing/glasses/material/mining/gar, 500), new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 600), new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 600), new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 750), @@ -408,12 +408,13 @@ ..() /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer) - var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in list("Kinetic Accelerator", "Resonator", "Mining Drone", "Advanced Scanner") + var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in list("Two Survival Capsules", "Resonator", "Mining Drone", "Advanced Scanner") if(!selection || !Adjacent(redeemer) || qdeleted(voucher) || voucher.loc != redeemer) return switch(selection) - if("Kinetic Accelerator") - new /obj/item/weapon/gun/energy/kinetic_accelerator(src.loc) + if("Two Survival Capsules") + new /obj/item/weapon/survivalcapsule(src.loc) + new /obj/item/weapon/survivalcapsule(src.loc) if("Resonator") new /obj/item/weapon/resonator(src.loc) if("Mining Drone") @@ -530,7 +531,6 @@ desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It can also be activated without a target to create a field at the user's location, to act as a delayed time trap. It's more effective in a vacuum." w_class = 3 force = 15 - throwforce = 10 var/cooldown = 0 var/fieldsactive = 0 @@ -811,7 +811,7 @@ /**********************Mining Scanners**********************/ /obj/item/device/mining_scanner - desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Requires you to wear mesons to function properly." + desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." name = "manual mining scanner" icon_state = "mining1" item_state = "analyzer" @@ -850,7 +850,8 @@ w_class = 2 flags = CONDUCT slot_flags = SLOT_BELT - var/cooldown = 0 + var/cooldown = 35 + var/on_cooldown = 0 var/range = 7 origin_tech = "engineering=3;magnets=3" @@ -858,12 +859,13 @@ name = "automatic mining scanner" desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." range = 4 + cooldown = 50 /obj/item/device/t_scanner/adv_mining_scanner/scan() - if(!cooldown) - cooldown = 1 - spawn(35) - cooldown = 0 + if(!on_cooldown) + on_cooldown = 1 + spawn(cooldown) + on_cooldown = 0 var/turf/t = get_turf(src) var/list/mobs = recursive_mob_check(t, 1,0,0) if(!mobs.len) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index baae7d3224b..69fc3a88603 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -37,11 +37,12 @@ /obj/structure/closet/secure_closet/miner/New() ..() new /obj/item/device/radio/headset/headset_cargo(src) - new /obj/item/device/mining_scanner(src) + new /obj/item/device/t_scanner/adv_mining_scanner/lesser(src) new /obj/item/weapon/storage/bag/ore(src) new /obj/item/weapon/shovel(src) new /obj/item/weapon/pickaxe(src) - new /obj/item/clothing/glasses/meson(src) + new /obj/item/weapon/gun/energy/kinetic_accelerator(src) + new /obj/item/clothing/glasses/material/mining(src) new /obj/item/weapon/survivalcapsule(src) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index b65a63b1869..a313a69ca24 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -1217,6 +1217,11 @@ see_invisible = min(see_invisible, SEE_INVISIBLE_MINIMUM) see_in_dark = 1 + if(sight_mode & BORGMATERIAL) + sight |= SEE_OBJS + see_invisible = min(see_invisible, SEE_INVISIBLE_MINIMUM) + see_in_dark = 1 + if(sight_mode & BORGXRAY) sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) see_invisible = SEE_INVISIBLE_LIVING diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index ef48c295882..c2935618140 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -283,7 +283,7 @@ /obj/item/weapon/robot_module/miner/New() ..() - modules += new /obj/item/borg/sight/meson(src) + modules += new /obj/item/borg/sight/material(src) emag = new /obj/item/borg/stun(src) modules += new /obj/item/weapon/storage/bag/ore/cyborg(src) modules += new /obj/item/weapon/pickaxe/drill/cyborg(src)