From 222f679daeb2c03677d93d424fbca12d8d2a700a Mon Sep 17 00:00:00 2001 From: Killian <49700375+KillianKirilenko@users.noreply.github.com> Date: Mon, 10 Apr 2023 13:24:17 +0100 Subject: [PATCH] concussion maul pt4 --- .../objects/items/weapons/melee/shock_maul.dm | 22 ++++++++++++++---- code/modules/mining/mine_outcrops.dm | 15 ++++++++++++ icons/mob/items/lefthand_melee.dmi | Bin 37309 -> 37304 bytes icons/mob/items/righthand_melee.dmi | Bin 35994 -> 35989 bytes icons/obj/weapons.dmi | Bin 50521 -> 50520 bytes 5 files changed, 32 insertions(+), 5 deletions(-) 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 25fd7edc3d790c68b2a9addac9bb4360532f4310..da3401ccedf55a2e960d0c2092f1552edc07f2e4 100644 GIT binary patch delta 576 zcmV-G0>AyeqXM|20+1vDLy;vSe?rpkg-exH6{)-Z31~1wuwravo6!9G9g-kWcapV_z9@4I)lecQ!Hv`!k$GPYhU@RUFkQ_q9L&a2`Cej6Dg^ z_!LK_w2ozL9Y>Xg1|7>-GJpzedQCz)4^>6cGffax8C8;uBK)F(@Bmb=x{{y!t04JPxzSDiGxD>^T#%5K`3xeik#+;mBy1mc@OG9L)tEE7hNq; zl~mllf{bJDyaMN_xX+Y%Ld`8mU6_8x;7B7`Z1{4q;R#R9-;ej|zp)+VY3|)>lyC-W zkaJaTA#^Xgo)X#__L(Uk zGymg|OQS8ck`VC)c`usvUz0WnbWLGVDacKW;X+){LK%nQOi$Eve|S`%z;LEh#L$;K zh2t zGFD&%oeH0c7ibQ`Ez2X$Fw*JWZgopQ8-eN(li{^;?cEH6?%k}(XZHHOW!tx1{2RE$ OipFgLt^Kog0!WXCs2e~4 delta 581 zcmV-L0=oUUqXNC70+1vDNRcHXe*$Uu!llZpiqzfy1T??^R*a2o6PkbDL$-m?5KmUE z5JHLGd-Lt_GyC@XegDpOZ~O3w#tN-i%97PO3NVt?5O~S zPhn6BV_C|QFsKZ)Xj#gl5tJJ}C=${-s49w{ZoQ~V%aUXi;TH{*6wQoIBHw`##vY`>(e?O4xjP~~gn3mWNQm8sBBrFwZL^_mcgmw`bxh5fVa9Yts zb8uSuRjm{)(uUh=b#61o@dKnd*(`^=P2 zng4Ofg;oYSL5TQ*ycbRK*QAXCeVZGU5;EPPzYrI6A+<$+rmxg9e|S`%z_7ZP#L(9~ z<}r^)?$8K_q#HtEdRH_A*vTH0s0cSAtuQO0t_d}^9Tv`jeC))xkQ>5%t3!D&e_u!S z7asA5pF1|0o~3m|+(@&9d3TX*uL`$beYw1G7#JLcDrcvEU$>}S)_^K$Ti_1^OiLqF z+7#GAFa2lY1)4$OGQ<%V81ZZ}ZwV+}pnSxnf33{DTVPDQOL#IZ`rNxklh5q+eaCih T`|vlns*1_X{YoLTZ~{n=?lc;+ diff --git a/icons/mob/items/righthand_melee.dmi b/icons/mob/items/righthand_melee.dmi index d32382398c60fbfe158158a57a68de169f3e7baf..fc8851a610a8cc8ff00cbe458be048504a080f13 100644 GIT binary patch delta 576 zcmV-G0>Ay5nF5uW0+1vDLy;vSe?rpkg-exH6{)-Z31~1wuwravo6!9G9g-kWcapV_z9@4I)lecQ!Hv`!k$GPYhU@RUFkQ_q9L&a2`Cej6Dg^ z_!LK_w2ozL9Y>Xg1|7>-GJpzedQCz)4^>6cGffax8C8;uBK)F(@Bmb=x{{y!t04JPxzSDiGxD>^T#%5K`3xeik#+;mBy1mc@OG9L)tEE7hNq; zl~mllf{bJDyaMN_xX+Y%Ld`8mU6_8x;7B7`Z1{4q;R#R9-;ej|zp)+VY3|)>lyC-W zkaJaTA#^Xgo)X#__L(Uk zGymg|OQS8ck`VC)c`usvUz0WnbWLGVDacKW;X+){LK%nQOi$Eve|S`%z;LEh#L$;K zh2t zGFD&%oeH0c7ibQ`Ez2X$Fw*JWZgopQ8-eN(li{^;?cEH6?%k}(XZHHOW!tx1{2RE$ OipFgLt^Kog0ws#QX&Sx& delta 581 zcmV-L0=oT`nF5-b0+1vDNRcHXe*$Uu!llZpiqzfy1T??^R*a2o6PkbDL$-m?5KmUE z5JHLGd-Lt_GyC@XegDpOZ~O3w#tN-i%97PO3NVt?5O~S zPhn6BV_C|QFsKZ)Xj#gl5tJJ}C=${-s49w{ZoQ~V%aUXi;TH{*6wQoIBHw`##vY`>(e?O4xjP~~gn3mWNQm8sBBrFwZL^_mcgmw`bxh5fVa9Yts zb8uSuRjm{)(uUh=b#61o@dKnd*(`^=P2 zng4Ofg;oYSL5TQ*ycbRK*QAXCeVZGU5;EPPzYrI6A+<$+rmxg9e|S`%z_7ZP#L(9~ z<}r^)?$8K_q#HtEdRH_A*vTH0s0cSAtuQO0t_d}^9Tv`jeC))xkQ>5%t3!D&e_u!S z7asA5pF1|0o~3m|+(@&9d3TX*uL`$beYw1G7#JLcDrcvEU$>}S)_^K$Ti_1^OiLqF z+7#GAFa2lY1)4$OGQ<%V81ZZ}ZwV+}pnSxnf33{DTVPDQOL#IZ`rNxklh5q+eaCih T`|vlns*1_X{YoLTZ~`TYB0?H5 diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 791678bde35c0659df47e821d8bb3535b0fcfb25..783441c51c244ea94b29bfb49b3b63f59f8f25d9 100644 GIT binary patch delta 61 zcmV-D0K)&-iUZh+1CS&Eo3SN&1SwxVwx1Oo=C}t;3J#Gg?