mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
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>
This commit is contained in:
@@ -14,6 +14,7 @@
|
|||||||
COOLDOWN_DECLARE(next_mop)
|
COOLDOWN_DECLARE(next_mop)
|
||||||
COOLDOWN_DECLARE(next_grapple)
|
COOLDOWN_DECLARE(next_grapple)
|
||||||
COOLDOWN_DECLARE(next_slam)
|
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
|
var/old_density //so people grappling something arent pushed by it until it's thrown
|
||||||
|
|
||||||
//proc the moves will use for damage dealing
|
//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)
|
/datum/martial_art/buster_style/proc/slam(mob/living/user, mob/living/target)
|
||||||
var/supdam = 20
|
var/supdam = 20
|
||||||
var/crashdam = 10
|
var/crashdam = 10
|
||||||
var/walldam = 30
|
var/walldam = 20
|
||||||
var/turf/Z = get_turf(user)
|
var/turf/Z = get_turf(user)
|
||||||
if(!COOLDOWN_FINISHED(src, next_slam))
|
if(!COOLDOWN_FINISHED(src, next_slam))
|
||||||
to_chat(user, span_warning("You can't do that yet!"))
|
to_chat(user, span_warning("You can't do that yet!"))
|
||||||
@@ -385,8 +386,8 @@
|
|||||||
playsound(user, 'sound/effects/gravhit.ogg', 20, 1)
|
playsound(user, 'sound/effects/gravhit.ogg', 20, 1)
|
||||||
if(!istype(W, /turf/closed/wall/r_wall)) // Attempt to destroy the wall
|
if(!istype(W, /turf/closed/wall/r_wall)) // Attempt to destroy the wall
|
||||||
W.dismantle_wall(1)
|
W.dismantle_wall(1)
|
||||||
target.forceMove(Q) // Move the mob behind us
|
|
||||||
else
|
else
|
||||||
|
grab(user, target, walldam)
|
||||||
target.forceMove(Z) // If we couldn't smash the wall, put them under our tile
|
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
|
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
|
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 \
|
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."
|
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\
|
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.")
|
||||||
your moves.")
|
|
||||||
|
combined_msg += span_warning("Should your moves cease to function altogether, utilize the 'Recalibrate Arm' function.")
|
||||||
|
|
||||||
combined_msg += span_notice("<b>After landing an attack, you become resistant to damage slowdown and all incoming damage by 50% for 2 seconds.</b>")
|
combined_msg += span_notice("<b>After landing an attack, you become resistant to damage slowdown and all incoming damage by 50% for 2 seconds.</b>")
|
||||||
|
|
||||||
to_chat(usr, examine_block(combined_msg.Join("\n")))
|
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 += "<b><i>You recalibrate your arm in an attempt to restore its functionality.</i></b>"
|
||||||
|
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)
|
/datum/martial_art/buster_style/teach(mob/living/carbon/human/H, make_temporary=0)
|
||||||
..()
|
..()
|
||||||
var/datum/species/S = H.dna?.species
|
var/datum/species/S = H.dna?.species
|
||||||
ADD_TRAIT(H, TRAIT_SHOCKIMMUNE, type)
|
ADD_TRAIT(H, TRAIT_SHOCKIMMUNE, type)
|
||||||
S.add_no_equip_slot(H, SLOT_GLOVES)
|
S.add_no_equip_slot(H, SLOT_GLOVES)
|
||||||
|
add_verb(H, recalibration)
|
||||||
usr.click_intercept = src
|
usr.click_intercept = src
|
||||||
|
|
||||||
/datum/martial_art/buster_style/on_remove(mob/living/carbon/human/H)
|
/datum/martial_art/buster_style/on_remove(mob/living/carbon/human/H)
|
||||||
var/datum/species/S = H.dna?.species
|
var/datum/species/S = H.dna?.species
|
||||||
REMOVE_TRAIT(H, TRAIT_SHOCKIMMUNE, type)
|
REMOVE_TRAIT(H, TRAIT_SHOCKIMMUNE, type)
|
||||||
S.remove_no_equip_slot(H, SLOT_GLOVES)
|
S.remove_no_equip_slot(H, SLOT_GLOVES)
|
||||||
|
remove_verb(H, recalibration)
|
||||||
usr.click_intercept = null
|
usr.click_intercept = null
|
||||||
..()
|
..()
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
var/mob/living/carbon/N = owner
|
var/mob/living/carbon/N = owner
|
||||||
megabuster_action.Remove(N)
|
megabuster_action.Remove(N)
|
||||||
buster_style.remove(N)
|
buster_style.remove(N)
|
||||||
|
N.click_intercept = null
|
||||||
to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]")
|
to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]")
|
||||||
..()
|
..()
|
||||||
|
|
||||||
@@ -81,6 +82,7 @@
|
|||||||
var/mob/living/carbon/N = owner
|
var/mob/living/carbon/N = owner
|
||||||
megabuster_action.Remove(N)
|
megabuster_action.Remove(N)
|
||||||
buster_style.remove(N)
|
buster_style.remove(N)
|
||||||
|
N.click_intercept = null
|
||||||
to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]")
|
to_chat(owner, "[span_boldannounce("You've lost the ability to use Buster Style...")]")
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user