From fc832b3bc8b0a28d39df4f29ddbec2340b68a645 Mon Sep 17 00:00:00 2001 From: LazennG <58535870+LazennG@users.noreply.github.com> Date: Fri, 5 May 2023 14:39:44 -0700 Subject: [PATCH] more buster fixes (#18596) * Update buster_style.dm * Update code/datums/martial/buster_style.dm Co-authored-by: Redd <36747151+ReddicusDragon@users.noreply.github.com> * Update code/datums/martial/buster_style.dm Co-authored-by: Redd <36747151+ReddicusDragon@users.noreply.github.com> * Update code/datums/martial/buster_style.dm Co-authored-by: Redd <36747151+ReddicusDragon@users.noreply.github.com> * FIXED LIMB REMOVAL FORREAL --------- Co-authored-by: Redd <36747151+ReddicusDragon@users.noreply.github.com> --- code/datums/martial/buster_style.dm | 22 +++++++++++++++---- .../items/devices/busterarm/buster_limb.dm | 2 ++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/code/datums/martial/buster_style.dm b/code/datums/martial/buster_style.dm index bf2e63c19b22..59db7fb047f3 100644 --- a/code/datums/martial/buster_style.dm +++ b/code/datums/martial/buster_style.dm @@ -14,6 +14,7 @@ COOLDOWN_DECLARE(next_mop) COOLDOWN_DECLARE(next_grapple) COOLDOWN_DECLARE(next_slam) + var/recalibration = /mob/living/carbon/human/proc/buster_recalibration var/old_density //so people grappling something arent pushed by it until it's thrown //proc the moves will use for damage dealing @@ -363,7 +364,7 @@ /datum/martial_art/buster_style/proc/slam(mob/living/user, mob/living/target) var/supdam = 20 var/crashdam = 10 - var/walldam = 30 + var/walldam = 20 var/turf/Z = get_turf(user) if(!COOLDOWN_FINISHED(src, next_slam)) to_chat(user, span_warning("You can't do that yet!")) @@ -385,8 +386,8 @@ playsound(user, 'sound/effects/gravhit.ogg', 20, 1) if(!istype(W, /turf/closed/wall/r_wall)) // Attempt to destroy the wall W.dismantle_wall(1) - target.forceMove(Q) // Move the mob behind us else + grab(user, target, walldam) target.forceMove(Z) // If we couldn't smash the wall, put them under our tile return // Stop here, don't apply any more damage or checks for(var/obj/D in Q.contents) // If there's dense objects behind us, apply damage to the mob for each one they are slammed into @@ -472,23 +473,36 @@ destroys it but uses up the attack. Attacking a living target uses up the attack and sends them flying and dismembers their limb if its damaged enough. Has a 15 second \ cooldown." - combined_msg += span_warning("You can't perform any of the moves if you have an occupied hand. Additionally, if your buster arm should become disabled, so shall\ - your moves.") + combined_msg += span_warning("You can't perform any of the moves if you have an occupied hand. Additionally, if your buster arm should become disabled, so shall your moves.") + + combined_msg += span_warning("Should your moves cease to function altogether, utilize the 'Recalibrate Arm' function.") combined_msg += span_notice("After landing an attack, you become resistant to damage slowdown and all incoming damage by 50% for 2 seconds.") to_chat(usr, examine_block(combined_msg.Join("\n"))) +/mob/living/carbon/human/proc/buster_recalibration() + set name = "Recalibrate Arm" + set desc = "You recalibrate the arm to restore missing functionality." + set category = "Buster Style" + var/list/combined_msg = list() + combined_msg += "You recalibrate your arm in an attempt to restore its functionality." + to_chat(usr, examine_block(combined_msg.Join("\n"))) + + usr.click_intercept = usr.mind.martial_art + /datum/martial_art/buster_style/teach(mob/living/carbon/human/H, make_temporary=0) ..() var/datum/species/S = H.dna?.species ADD_TRAIT(H, TRAIT_SHOCKIMMUNE, type) S.add_no_equip_slot(H, SLOT_GLOVES) + add_verb(H, recalibration) usr.click_intercept = src /datum/martial_art/buster_style/on_remove(mob/living/carbon/human/H) var/datum/species/S = H.dna?.species REMOVE_TRAIT(H, TRAIT_SHOCKIMMUNE, type) S.remove_no_equip_slot(H, SLOT_GLOVES) + remove_verb(H, recalibration) usr.click_intercept = null ..() diff --git a/code/game/objects/items/devices/busterarm/buster_limb.dm b/code/game/objects/items/devices/busterarm/buster_limb.dm index 0b947a70eae9..d0a99ccbaaac 100644 --- a/code/game/objects/items/devices/busterarm/buster_limb.dm +++ b/code/game/objects/items/devices/busterarm/buster_limb.dm @@ -32,6 +32,7 @@ var/mob/living/carbon/N = owner megabuster_action.Remove(N) buster_style.remove(N) + N.click_intercept = null to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]") ..() @@ -81,6 +82,7 @@ var/mob/living/carbon/N = owner megabuster_action.Remove(N) buster_style.remove(N) + N.click_intercept = null to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]") ..()