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