Implement usesound/toolspeed

This commit is contained in:
Markolie
2017-03-07 16:46:28 +01:00
parent 3b73053bc4
commit 3aa1399995
179 changed files with 875 additions and 764 deletions
+28 -21
View File
@@ -89,6 +89,8 @@
sharp = 1
edge = 1
var/excavation_amount = 100
usesound = 'sound/effects/picaxe1.ogg'
toolspeed = 1
/obj/item/weapon/pickaxe/proc/playDigSound()
playsound(src, pick(digsound),20,1)
@@ -100,6 +102,16 @@
digspeed = 30 //mines faster than a normal pickaxe, bought from mining vendor
origin_tech = "materials=3;engineering=2"
desc = "A silver-plated pickaxe that mines slightly faster than standard-issue."
toolspeed = 0.75
/obj/item/weapon/pickaxe/gold
name = "golden pickaxe"
icon_state = "gpickaxe"
item_state = "gpickaxe"
digspeed = 20
origin_tech = "materials=4;engineering=2"
desc = "A gold-plated pickaxe that mines faster than standard-issue."
toolspeed = 0.6
/obj/item/weapon/pickaxe/diamond
name = "diamond-tipped pickaxe"
@@ -108,6 +120,7 @@
digspeed = 20 //mines twice as fast as a normal pickaxe, bought from mining vendor
origin_tech = "materials=4;engineering=3"
desc = "A pickaxe with a diamond pick head. Extremely robust at cracking rock walls and digging up dirt."
toolspeed = 0.5
/obj/item/weapon/pickaxe/drill
name = "mining drill"
@@ -116,8 +129,10 @@
digspeed = 25 //available from roundstart, faster than a pickaxe.
digsound = list('sound/weapons/drill.ogg')
hitsound = 'sound/weapons/drill.ogg'
usesound = 'sound/weapons/drill.ogg'
origin_tech = "materials=2;powerstorage=3;engineering=2"
desc = "An electric mining drill for the especially scrawny."
toolspeed = 0.5
/obj/item/weapon/pickaxe/drill/cyborg
name = "cyborg mining drill"
@@ -130,6 +145,7 @@
digspeed = 10
origin_tech = "materials=6;powerstorage=4;engineering=5"
desc = "Yours is the drill that will pierce the heavens!"
toolspeed = 0.25
/obj/item/weapon/pickaxe/diamonddrill/traitor //Pocket-sized traitor diamond drill.
name = "supermatter drill"
@@ -142,6 +158,7 @@
name = "diamond-tipped cyborg mining drill" //To inherit the NODROP flag, and easier to change borg specific drill mechanics.
icon_state = "diamonddrill"
digspeed = 10
toolspeed = 0.25
/obj/item/weapon/pickaxe/drill/jackhammer
name = "sonic jackhammer"
@@ -151,23 +168,10 @@
origin_tech = "materials=3;powerstorage=2;engineering=2"
digsound = list('sound/weapons/sonic_jackhammer.ogg')
hitsound = 'sound/weapons/sonic_jackhammer.ogg'
usesound = 'sound/weapons/sonic_jackhammer.ogg'
desc = "Cracks rocks with sonic blasts, and doubles as a demolition power tool for smashing walls."
toolspeed = 0.1
/obj/item/weapon/pickaxe/silver
name = "silver pickaxe"
icon_state = "spickaxe"
item_state = "spickaxe"
digspeed = 30
origin_tech = "materials=3"
desc = "This makes no metallurgic sense."
/obj/item/weapon/pickaxe/gold
name = "golden pickaxe"
icon_state = "gpickaxe"
item_state = "gpickaxe"
digspeed = 20
origin_tech = "materials=4"
desc = "This makes no metallurgic sense."
/*****************************Shovel********************************/
/obj/item/weapon/shovel
@@ -184,6 +188,8 @@
materials = list(MAT_METAL=50)
origin_tech = "materials=1;engineering=1"
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked")
usesound = 'sound/effects/shovel_dig.ogg'
toolspeed = 1
/obj/item/weapon/shovel/spade
name = "spade"
@@ -193,6 +199,7 @@
force = 5.0
throwforce = 7.0
w_class = 2
toolspeed = 2
/**********************Mining car (Crate like thing, not the rail car)**************************/
@@ -393,10 +400,10 @@
/obj/item/device/gps/computer/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
user.visible_message("<span class='warning'>[user] disassembles the gps.</span>", \
"<span class='notice'>You start to disassemble the gps...</span>", "You hear clanking and banging noises.")
if(do_after(user, 20, target = src))
if(do_after(user, 20 * W.toolspeed, target = src))
new /obj/item/device/gps(loc)
qdel(src)
return ..()
@@ -471,10 +478,10 @@
/obj/structure/fans/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
user.visible_message("<span class='warning'>[user] disassembles the fan.</span>", \
"<span class='notice'>You start to disassemble the fan...</span>", "You hear clanking and banging noises.")
if(do_after(user, 20, target = src))
if(do_after(user, 20 * W.toolspeed, target = src))
deconstruct()
return ..()
@@ -522,10 +529,10 @@
/obj/structure/tubes/attackby(obj/item/weapon/W, mob/user, params)
if(istype(W, /obj/item/weapon/wrench))
playsound(loc, 'sound/items/Ratchet.ogg', 50, 1)
playsound(loc, W.usesound, 50, 1)
user.visible_message("<span class='warning'>[user] disassembles [src].</span>", \
"<span class='notice'>You start to disassemble [src]...</span>", "You hear clanking and banging noises.")
if(do_after(user, 20, target = src))
if(do_after(user, 20 * W.toolspeed, target = src))
new /obj/item/stack/rods(loc)
qdel(src)
return ..()
+7 -10
View File
@@ -470,14 +470,14 @@ var/global/list/rockTurfEdgeCache = list(
src.gets_dug()
return
/turf/simulated/floor/plating/airless/asteroid/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
/turf/simulated/floor/plating/airless/asteroid/attackby(obj/item/weapon/W, mob/user, params)
//note that this proc does not call ..()
if(!W || !user)
return 0
if((istype(W, /obj/item/weapon/shovel)))
var/turf/T = user.loc
if(!( istype(T, /turf) ))
var/turf/T = get_turf(user)
if(!istype(T))
return
if(dug)
@@ -485,17 +485,15 @@ var/global/list/rockTurfEdgeCache = list(
return
to_chat(user, "<span class='notice'>You start digging...</span>")
sleep(20)
if((user.loc == T && user.get_active_hand() == W))
if(do_after(user, 20 * W.toolspeed, target = src))
to_chat(user, "<span class='notice'>You dig a hole.</span>")
gets_dug()
return
if((istype(W, /obj/item/weapon/pickaxe)))
var/obj/item/weapon/pickaxe/P = W
var/turf/T = user.loc
if(!( istype(T, /turf) ))
var/turf/T = get_turf(user)
if(!istype(T))
return
if(dug)
@@ -504,8 +502,7 @@ var/global/list/rockTurfEdgeCache = list(
to_chat(user, "<span class='notice'>You start digging...</span>")
sleep(P.digspeed)
if((user.loc == T && user.get_active_hand() == W))
if(do_after(user, P.digspeed, target = src))
to_chat(user, "<span class='notice'>You dig a hole.</span>")
gets_dug()
return