diff --git a/code/datums/skills/mining.dm b/code/datums/skills/mining.dm
index e2021d34d7a..ff01755f531 100644
--- a/code/datums/skills/mining.dm
+++ b/code/datums/skills/mining.dm
@@ -5,16 +5,16 @@
/datum/skill/mining/get_skill_speed_modifier(level)
switch(level)
if(SKILL_LEVEL_NONE)
- return 1.3
- if(SKILL_LEVEL_NOVICE)
- return 1.2
- if(SKILL_LEVEL_APPRENTICE)
- return 1.1
- if(SKILL_LEVEL_JOURNEYMAN)
return 1
- if(SKILL_LEVEL_EXPERT)
+ if(SKILL_LEVEL_NOVICE)
+ return 0.95
+ if(SKILL_LEVEL_APPRENTICE)
return 0.9
- if(SKILL_LEVEL_MASTER)
+ if(SKILL_LEVEL_JOURNEYMAN)
+ return 0.85
+ if(SKILL_LEVEL_EXPERT)
return 0.75
+ if(SKILL_LEVEL_MASTER)
+ return 0.65
if(SKILL_LEVEL_LEGENDARY)
return 0.5
diff --git a/code/game/turfs/closed/minerals.dm b/code/game/turfs/closed/minerals.dm
index ce0e6f80835..590bc2a6f44 100644
--- a/code/game/turfs/closed/minerals.dm
+++ b/code/game/turfs/closed/minerals.dm
@@ -64,12 +64,12 @@
if(I.use_tool(src, user, 40, volume=50))
if(ismineralturf(src))
to_chat(user, "You finish cutting into the rock.")
- gets_drilled(user)
+ gets_drilled(user, TRUE)
SSblackbox.record_feedback("tally", "pick_used_mining", 1, I.type)
else
return attack_hand(user)
-/turf/closed/mineral/proc/gets_drilled(user, give_exp = TRUE)
+/turf/closed/mineral/proc/gets_drilled(user, give_exp = FALSE)
if (mineralType && (mineralAmt > 0))
new mineralType(src, mineralAmt)
SSblackbox.record_feedback("tally", "ore_mined", mineralAmt, mineralType)
@@ -126,12 +126,12 @@
switch(severity)
if(3)
if (prob(75))
- gets_drilled(null, 1)
+ gets_drilled(null, FALSE)
if(2)
if (prob(90))
- gets_drilled(null, 1)
+ gets_drilled(null, FALSE)
if(1)
- gets_drilled(null, 1)
+ gets_drilled(null, FALSE)
return
/turf/closed/mineral/Spread(turf/T)
@@ -545,13 +545,18 @@
to_chat(usr, "Only a more advanced species could break a rock such as this one!")
return FALSE
var/mob/living/carbon/human/H = user
- if(H.mind.get_skill_level(/datum/skill/mining) >= SKILL_LEVEL_LEGENDARY)
+ if(H.mind.get_skill_level(/datum/skill/mining) >= SKILL_LEVEL_MASTER)
. = ..()
else
to_chat(usr, "The rock seems to be too strong to destroy. Maybe I can break it once I become a master miner.")
-/turf/closed/mineral/strong/gets_drilled(user)
+/turf/closed/mineral/strong/gets_drilled(mob/user)
+ if(!ishuman(user))
+ return // see attackby
+ var/mob/living/carbon/human/H = user
+ if(!(H.mind.get_skill_level(/datum/skill/mining) >= SKILL_LEVEL_MASTER))
+ return
drop_ores()
var/flags = NONE
if(defer_change) // TODO: make the defer change var a var for any changeturf flag
@@ -559,6 +564,7 @@
ScrapeAway(flags=flags)
addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE)
playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE) //beautiful destruction
+ H.mind.adjust_experience(/datum/skill/mining, 100) //yay!
/turf/closed/mineral/strong/proc/drop_ores()
if(prob(10))
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 4f376b0d2e9..cf8219d6164 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -134,14 +134,7 @@
carried = 1
deltimer(recharge_timerid)
-
- var/skill_modifier = 1
- if(ishuman(holder))
- var/mob/living/carbon/human/H = holder
- if(H.mind)
- skill_modifier = H.mind.get_skill_speed_modifier(/datum/skill/mining)
-
- recharge_timerid = addtimer(CALLBACK(src, .proc/reload), recharge_time * carried * skill_modifier, TIMER_STOPPABLE)
+ recharge_timerid = addtimer(CALLBACK(src, .proc/reload), recharge_time * carried, TIMER_STOPPABLE)
/obj/item/gun/energy/kinetic_accelerator/emp_act(severity)
return