diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 8f3d33fafbb..c3398d2ad10 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -90,17 +90,6 @@ icon_state = "recharger2" else icon_state = "recharger3" - if(istype(charging, /obj/item/weapon/pickaxe/drill)) - var/obj/item/weapon/pickaxe/drill/D = charging - if(D.bcell) - if(D.bcell.give(D.bcell.chargerate)) - icon_state = "recharger1" - use_power(200) - else - icon_state = "recharger2" - else - icon_state = "recharger3" - /obj/machinery/recharger/emp_act(severity) if(stat & (NOPOWER|BROKEN) || !anchored) diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 1d1e828514d..0172b209fc4 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -157,14 +157,6 @@ F.broken = 0 F.times_used = 0 F.icon_state = "flash" - // Mining - if(istype(O, /obj/item/weapon/pickaxe/drill/cyborg)) - var/obj/item/weapon/pickaxe/drill/cyborg/D = O - if(D.bcell.charge < D.bcell.maxcharge) - D.bcell.charge = min(D.bcell.charge + recharge_speed, D.bcell.maxcharge) - D.update_icon() - if(D.warned) - D.warned = 0 // Security if(istype(O,/obj/item/weapon/gun/energy/gun/advtaser/cyborg)) var/obj/item/weapon/gun/energy/gun/advtaser/cyborg/T = O diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index a6898f61098..f16ea230382 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -171,7 +171,7 @@ qdel(D) for(var/obj/item/weapon/shovel/S in R.module.modules) qdel(S) - R.module.modules += new /obj/item/weapon/pickaxe/drill/diamonddrill(R.module) + R.module.modules += new /obj/item/weapon/pickaxe/drill/cyborg/diamond(R.module) R.module.rebuild() return 1 diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index b39486a9742..bec3ccaf087 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -123,10 +123,6 @@ if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(300)) - user << "Your [D.name] doesn't have enough power to break through the [name]." - return - D.update_icon() D.playDigSound() dismantle(user) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 1a8f43b7b7a..985665278de 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -50,10 +50,6 @@ else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(D.drillcost)) - user << "Your [D.name] doesn't have enough power to break through the [name]!" - return - D.update_icon() user << "You smash through the girder!" new /obj/item/stack/sheet/metal(get_turf(src)) D.playDigSound() @@ -307,9 +303,6 @@ else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(D.drillcost)) - return - D.update_icon() user << "Your jackhammer smashes through the girder!" var/obj/effect/decal/remains/human/R = new (get_turf(src)) transfer_fingerprints_to(R) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 86ec583212d..60989279c54 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -56,10 +56,6 @@ else if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(D.drillcost)) - user << "Your [D.name] doesn't have enough power to break through the [name]!" - return - D.update_icon() if(!src.loc) return user.visible_message("[user] destroys the [name]!", \ diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm index 62f5324dc59..2acd66e25ac 100644 --- a/code/game/turfs/simulated/walls.dm +++ b/code/game/turfs/simulated/walls.dm @@ -207,10 +207,6 @@ /turf/simulated/wall/proc/try_destroy(obj/item/weapon/W as obj, mob/user as mob, turf/T as turf) if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(400)) - user << "Your [D.name] doesn't have enough power to break through the [name]!" - return - D.update_icon() if( !istype(src, /turf/simulated/wall) || !user || !W || !T ) return 1 if( user.loc == T && user.get_active_hand() == W ) diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm index be6281e25fe..301809bc8a2 100644 --- a/code/game/turfs/simulated/walls_reinforced.dm +++ b/code/game/turfs/simulated/walls_reinforced.dm @@ -31,15 +31,11 @@ /turf/simulated/wall/r_wall/try_destroy(obj/item/weapon/W as obj, mob/user as mob, turf/T as turf) if(istype(W, /obj/item/weapon/pickaxe/drill/jackhammer)) var/obj/item/weapon/pickaxe/drill/jackhammer/D = W - if(!D.bcell.use(800)) - user << "Your [D.name] doesn't have enough power to break through the [name]." - return 1 user << "You begin to smash though the [name]..." if(do_after(user, 50)) if( !istype(src, /turf/simulated/wall/r_wall) || !user || !W || !T ) return 1 if( user.loc == T && user.get_active_hand() == W ) - D.update_icon() D.playDigSound() visible_message("[user] smashes through the [name] with the [D.name]!", "You hear the grinding of metal.") dismantle_wall() diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index e420be8f389..3ba4b0cdea6 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -74,94 +74,38 @@ name = "mining drill" icon_state = "handdrill" item_state = "jackhammer" - digspeed = 25 //available from roundstart, faster than a pickaxe but needs recharging or cell replacements + digspeed = 25 //available from roundstart, faster than a pickaxe. digsound = list('sound/weapons/drill.ogg') hitsound = 'sound/weapons/drill.ogg' origin_tech = "materials=2;powerstorage=3;engineering=2" desc = "An electric mining drill for the especially scrawny." - var/drillcost = 15 //666 mineral walls by default - var/obj/item/weapon/stock_parts/cell/high/bcell = null - -/obj/item/weapon/pickaxe/drill/New() //this one starts with a cell pre-installed. - ..() - bcell = new(src) - return - -/obj/item/weapon/pickaxe/drill/update_icon() - if(!bcell) - icon_state = "[initial(icon_state)]-nocell" - else if(bcell.charge < drillcost) - icon_state = "[initial(icon_state)]-empty" - else - icon_state = "[initial(icon_state)]" - -/obj/item/weapon/pickaxe/drill/attackby(obj/item/weapon/W, mob/user) - if(istype(W, /obj/item/weapon/stock_parts/cell)) - if(bcell) - user << "[src] already has a cell." - else - user.drop_item() - W.loc = src - bcell = W - user << "You install a cell in [src]." - update_icon() - else - ..() - -/obj/item/weapon/pickaxe/drill/attack_self(mob/user) - if(bcell) - bcell.updateicon() - bcell.loc = get_turf(src.loc) - bcell = null - user << "You remove the cell from [src]." - update_icon() - else - user << "There is no cell in [src]." - -/obj/item/weapon/pickaxe/drill/examine(mob/user) - ..() - if(bcell) - user <<"The [src.name] is [round(bcell.percent())]% charged." - if(!bcell) - user <<"The [src.name] does not have a power source installed." /obj/item/weapon/pickaxe/drill/cyborg name = "cyborg mining drill" desc = "An integrated electric mining drill." - var/warned = 0 - -/obj/item/weapon/pickaxe/drill/cyborg/attack_self(mob/user) - return //can't remove the drill's cell - -/obj/item/weapon/pickaxe/drill/cyborg/proc/use_robot_power(var/mob/living/silicon/robot/R) - if(!bcell.use(drillcost)) - if(!warned) - usr << "Drill internal battery depleted, power will be drawn from user's power supply." - playsound(src, 'sound/weapons/smg_empty_alarm.ogg',50,1) - warned = 1 - if(!R.cell.use(drillcost)) - R << "You don't have enough charge to drill!" - return 0 - return 1 + flags = NODROP /obj/item/weapon/pickaxe/drill/diamonddrill name = "diamond-tipped mining drill" icon_state = "diamonddrill" - digspeed = 10 //it's a fast drill with a relatively low power cost. what more could you ask for? + digspeed = 10 origin_tech = "materials=6;powerstorage=4;engineering=5" desc = "Yours is the drill that will pierce the heavens!" - drillcost = 25 //400 mineral walls by default, but very quickly + +/obj/item/weapon/pickaxe/drill/cyborg/diamond //This is the BORG version! + name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics. + icon_state = "diamonddrill" + digspeed = 10 /obj/item/weapon/pickaxe/drill/jackhammer name = "sonic jackhammer" icon_state = "jackhammer" item_state = "jackhammer" - digspeed = 5 //the epitome of powertools. high power consumption, extremely fast mining, laughs at puny walls + digspeed = 5 //the epitome of powertools. extremely fast mining, laughs at puny walls origin_tech = "materials=3;powerstorage=2;engineering=2" digsound = list('sound/weapons/sonic_jackhammer.ogg') hitsound = 'sound/weapons/sonic_jackhammer.ogg' desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls." - drillcost = 30 //333 mineral walls by default, but very quickly /*****************************Shovel********************************/ diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index c8469966af4..451271a5f5e 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -414,16 +414,6 @@ if (!( istype(T, /turf) )) return - if(istype(P, /obj/item/weapon/pickaxe/drill)) - var/obj/item/weapon/pickaxe/drill/D = P - if(isrobot(user)) - var/obj/item/weapon/pickaxe/drill/cyborg/RD = D - if(!RD.use_robot_power(user)) - return - else if(!D.bcell.use(D.drillcost)) - user << "Your [D.name] doesn't have enough charge!" - return - if(last_act+P.digspeed > world.time)//prevents message spam return last_act = world.time diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 5b5533a9c28..2368fbfc3c3 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -171,7 +171,7 @@ datum/design/proc/CalcReliability(var/list/temp_techs) /datum/design/jackhammer name = "Sonic Jackhammer" - desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well, but has high power cost for doing so." + desc = "Essentially a handheld planet-cracker. Can drill through walls with ease as well." id = "jackhammer" req_tech = list("materials" = 6, "powerstorage" = 6, "engineering" = 5, "magnets" = 6) build_type = PROTOLATHE diff --git a/html/changelogs/Gun-Hog-Drill-Power-Removal.yml b/html/changelogs/Gun-Hog-Drill-Power-Removal.yml new file mode 100644 index 00000000000..46167330a9e --- /dev/null +++ b/html/changelogs/Gun-Hog-Drill-Power-Removal.yml @@ -0,0 +1,8 @@ + +author: Gun Hog + +delete-after: True + +changes: + - rscdel: "The power mechanic for mining drills and the jackhammer has been removed. They no longer require cells or recharging." + - bugfix: "The diamond drill upgrade for mining cyborgs has been fixed."