diff --git a/code/game/objects/items/weapons/melee/shock_maul.dm b/code/game/objects/items/weapons/melee/shock_maul.dm index 76e708a32b..17a8362dad 100644 --- a/code/game/objects/items/weapons/melee/shock_maul.dm +++ b/code/game/objects/items/weapons/melee/shock_maul.dm @@ -7,12 +7,13 @@ //stopping power/lethality force = 35 + armor_penetration = 20 //the sheer impact force bypasses quite a bit of armour var/unwielded_force_divisor = 0.25 var/wielded = 0 var/force_unwielded = 8.75 var/wieldsound = null var/unwieldsound = null - var/charge_force_mult = 1.75 //damage multiplier on charged hits + var/charge_force_mult = 1.75 //damage and AP multiplier on charged hits var/launch_force = 3 //yeet distance var/launch_force_unwielded = 1 //awful w/ one hand, but still gets a little distance var/launch_force_disarm = 1.5 //distance multiplier when swinging in disarm mode, since disarm attacks do half damage @@ -44,14 +45,20 @@ var/mob/living/M = loc if(istype(M) && M.can_wield_item(src) && is_held_twohanded(M)) wielded = 1 - force = initial(force) + if(status) + force = initial(force)*charge_force_mult + else + force = initial(force) launch_force = initial(launch_force) weaken_force = initial(weaken_force) name = "[initial(name)] (wielded)" update_icon() else wielded = 0 - force = force_unwielded + if(status) + force = force_unwielded*charge_force_mult + else + force = force_unwielded launch_force = launch_force_unwielded weaken_force = weaken_force_unwielded name = "[initial(name)]" @@ -186,11 +193,12 @@ user.visible_message("[user] charges \the [src]!","You charge \the [src]. It's hammer time!") playsound(src, "sparks", 75, 1, -1) update_held_icon() - force *= charge_force_mult + armor_penetration *= charge_force_mult else if(status) status = 0 user.visible_message("[user] safely disengages \the [src]'s power field.","\The [src] is now off.") update_held_icon() + armor_penetration = initial(armor_penetration) playsound(src, "sparks", 75, 1, -1) if(!bcell) to_chat(user, "\The [src] does not have a power source!") @@ -209,7 +217,11 @@ update_held_icon() if(istype(A,/obj/structure/window)) var/obj/structure/window/W = A + visible_message("\The [W] crumples under the force of the impact!") W.shatter() + else if(istype(A,/obj/structure/barricade)) + var/obj/structure/barricade/B = A + B.dismantle() else if(istype(A,/obj/structure/grille)) qdel(A) powercheck(hitcost) @@ -223,7 +235,7 @@ //yeet 'em away, boys! if(status) var/atom/target_zone = get_edge_target_turf(user,get_dir(user, target)) - if(!target.anchored) + if(!target.anchored) //unless they're secured in place, natch target.throw_at(target_zone, launch_force, 2, user, FALSE) target.Weaken(weaken_force) diff --git a/code/modules/mining/mine_outcrops.dm b/code/modules/mining/mine_outcrops.dm index ae70e710e3..fb570af547 100644 --- a/code/modules/mining/mine_outcrops.dm +++ b/code/modules/mining/mine_outcrops.dm @@ -97,6 +97,21 @@ new outcropdrop(get_turf(src)) qdel(src) return + if (istype(W, /obj/item/weapon/melee/shock_maul)) + var/obj/item/weapon/melee/shock_maul/S = W + if(!S.wielded || !S.status) + to_chat(user, "\The [src] must be wielded in two hands and powered on to be used for mining!") + return + to_chat(user, "You pulverize \the [src]!") + for(var/i=0;i<(rand(mindrop,upperdrop));i++) + new outcropdrop(get_turf(src)) + playsound(src, 'sound/weapons/resonator_blast.ogg', 100, 1, -1) + user.visible_message("\The [S] discharges with a thunderous, hair-raising crackle!") + S.deductcharge() + S.status = 0 + S.update_held_icon() + qdel(src) + return /obj/random/outcrop //In case you want an outcrop without pre-determining the type of ore. name = "random rock outcrop" diff --git a/icons/mob/items/lefthand_melee.dmi b/icons/mob/items/lefthand_melee.dmi index 25fd7edc3d..da3401cced 100644 Binary files a/icons/mob/items/lefthand_melee.dmi and b/icons/mob/items/lefthand_melee.dmi differ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index d32382398c..fc8851a610 100644 Binary files a/icons/mob/items/righthand_melee.dmi and b/icons/mob/items/righthand_melee.dmi differ diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 791678bde3..783441c51c 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ