mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-24 05:30:05 +01:00
Removes mining drill power mechanic.
- Removes the power mechanic from mining drills and the sonic jackhammer. - Fixes broken borg diamond drill upgrade.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 << "<span class='notice'>Your [D.name] doesn't have enough power to break through the [name].</span>"
|
||||
return
|
||||
D.update_icon()
|
||||
D.playDigSound()
|
||||
dismantle(user)
|
||||
|
||||
|
||||
@@ -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 << "<span class='warning'>Your [D.name] doesn't have enough power to break through the [name]!</span>"
|
||||
return
|
||||
D.update_icon()
|
||||
user << "<span class='notice'>You smash through the girder!</span>"
|
||||
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 << "<span class='notice'>Your jackhammer smashes through the girder!</span>"
|
||||
var/obj/effect/decal/remains/human/R = new (get_turf(src))
|
||||
transfer_fingerprints_to(R)
|
||||
|
||||
@@ -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 << "<span class='warning!'>Your [D.name] doesn't have enough power to break through the [name]!</span>"
|
||||
return
|
||||
D.update_icon()
|
||||
if(!src.loc)
|
||||
return
|
||||
user.visible_message("[user] destroys the [name]!", \
|
||||
|
||||
@@ -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 << "<span class='warning'>Your [D.name] doesn't have enough power to break through the [name]!</span>"
|
||||
return
|
||||
D.update_icon()
|
||||
if( !istype(src, /turf/simulated/wall) || !user || !W || !T )
|
||||
return 1
|
||||
if( user.loc == T && user.get_active_hand() == W )
|
||||
|
||||
@@ -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 << "<span class='notice'>Your [D.name] doesn't have enough power to break through the [name].</span>"
|
||||
return 1
|
||||
user << "<span class='notice'>You begin to smash though the [name]...</span>"
|
||||
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("<span class='warning'>[user] smashes through the [name] with the [D.name]!</span>", "<span class='italics'>You hear the grinding of metal.</span>")
|
||||
dismantle_wall()
|
||||
|
||||
@@ -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 << "<span class='notice'>[src] already has a cell.</span>"
|
||||
else
|
||||
user.drop_item()
|
||||
W.loc = src
|
||||
bcell = W
|
||||
user << "<span class='notice'>You install a cell in [src].</span>"
|
||||
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 << "<span class='notice'>You remove the cell from [src].</span>"
|
||||
update_icon()
|
||||
else
|
||||
user << "<span class='notice'>There is no cell in [src].</span>"
|
||||
|
||||
/obj/item/weapon/pickaxe/drill/examine(mob/user)
|
||||
..()
|
||||
if(bcell)
|
||||
user <<"<span class='notice'>The [src.name] is [round(bcell.percent())]% charged.</span>"
|
||||
if(!bcell)
|
||||
user <<"<span class='warning'>The [src.name] does not have a power source installed.</span>"
|
||||
|
||||
/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 << "<span class='danger'>Drill internal battery depleted, power will be drawn from user's power supply.</span>"
|
||||
playsound(src, 'sound/weapons/smg_empty_alarm.ogg',50,1)
|
||||
warned = 1
|
||||
if(!R.cell.use(drillcost))
|
||||
R << "<span class='warning'>You don't have enough charge to drill!</span>"
|
||||
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********************************/
|
||||
|
||||
|
||||
@@ -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 << "<span class='warning'>Your [D.name] doesn't have enough charge!</span>"
|
||||
return
|
||||
|
||||
if(last_act+P.digspeed > world.time)//prevents message spam
|
||||
return
|
||||
last_act = world.time
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
Reference in New Issue
Block a user