From f0ebee04678b7b80a0e89fabece6d1321e9bbbc7 Mon Sep 17 00:00:00 2001 From: Rui Neves Carvalho Date: Sat, 1 Aug 2015 08:18:33 +0100 Subject: [PATCH] Digging gets the same progress bar as minning. Fixes #10854 --- code/modules/mining/mine_items.dm | 1 + code/modules/mining/mine_turfs.dm | 30 +++++++++++-------- html/changelogs/astralenigma - digfix.yml | 36 +++++++++++++++++++++++ 3 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 html/changelogs/astralenigma - digfix.yml diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index ea0886af653..9c4ca620e26 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -129,6 +129,7 @@ flags = CONDUCT slot_flags = SLOT_BELT force = 8.0 + var/digspeed = 20 throwforce = 4.0 item_state = "shovel" w_class = 3.0 diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index 0cf843f2df1..ba25d9bb856 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -550,7 +550,9 @@ var/global/list/rockTurfEdgeCache return 0 if ((istype(W, /obj/item/weapon/shovel))) + var/obj/item/weapon/shovel/S = W var/turf/T = user.loc + if (!( istype(T, /turf) )) return @@ -560,12 +562,14 @@ var/global/list/rockTurfEdgeCache user << "You start digging..." playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE - - sleep(20) - if ((user.loc == T && user.get_active_hand() == W)) - user << "You dig a hole." - gets_dug() - return + + if(do_after(user,S.digspeed, target = src)) + if(istype(src, /turf/simulated/floor/plating/asteroid)) //sanity check against turf being deleted during digspeed delay + user << "You dig a hole." + S.update_icon() + gets_dug() + feedback_add_details("pick_used_mining","[S.name]") + if ((istype(W, /obj/item/weapon/pickaxe))) var/obj/item/weapon/pickaxe/P = W @@ -579,12 +583,14 @@ var/global/list/rockTurfEdgeCache user << "You start digging..." playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1) //FUCK YO RUSTLE I GOT'S THE DIGS SOUND HERE - - sleep(P.digspeed) - if ((user.loc == T && user.get_active_hand() == W)) - user << "You dig a hole." - gets_dug() - return + + if(do_after(user,P.digspeed, target = src)) + if(istype(src, /turf/simulated/floor/plating/asteroid)) //sanity check against turf being deleted during digspeed delay + user << "You dig a hole." + P.update_icon() + gets_dug() + feedback_add_details("pick_used_mining","[P.name]") + if(istype(W,/obj/item/weapon/storage/bag/ore)) var/obj/item/weapon/storage/bag/ore/S = W diff --git a/html/changelogs/astralenigma - digfix.yml b/html/changelogs/astralenigma - digfix.yml new file mode 100644 index 00000000000..45bf3e45bd6 --- /dev/null +++ b/html/changelogs/astralenigma - digfix.yml @@ -0,0 +1,36 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Astralenigma + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - tweak: "Added a progress bar to digging."