mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-25 08:51:41 +00:00
86 lines
3.1 KiB
Plaintext
86 lines
3.1 KiB
Plaintext
#define TORNADO_COMBO "HHD"
|
|
#define THROWBACK_COMBO "DHD"
|
|
#define PLASMA_COMBO "HDDDH"
|
|
|
|
/datum/martial_art/plasma_fist
|
|
name = "Plasma Fist"
|
|
help_verb = /mob/living/carbon/human/proc/plasma_fist_help
|
|
|
|
|
|
/datum/martial_art/plasma_fist/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
if(findtext(streak,TORNADO_COMBO))
|
|
streak = ""
|
|
Tornado(A,D)
|
|
return 1
|
|
if(findtext(streak,THROWBACK_COMBO))
|
|
streak = ""
|
|
Throwback(A,D)
|
|
return 1
|
|
if(findtext(streak,PLASMA_COMBO))
|
|
streak = ""
|
|
Plasma(A,D)
|
|
return 1
|
|
return 0
|
|
|
|
/datum/martial_art/plasma_fist/proc/Tornado(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
A.say("TORNADO SWEEP!")
|
|
spawn(0)
|
|
for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH))
|
|
A.dir = i
|
|
playsound(A.loc, 'sound/weapons/punch1.ogg', 15, 1, -1)
|
|
sleep(1)
|
|
var/obj/effect/proc_holder/spell/aoe_turf/repulse/R = new(null)
|
|
var/list/turfs = list()
|
|
for(var/turf/T in range(1,A))
|
|
turfs.Add(T)
|
|
R.cast(turfs)
|
|
return
|
|
|
|
/datum/martial_art/plasma_fist/proc/Throwback(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
D.visible_message("<span class='danger'>[A] has hit [D] with Plasma Punch!</span>", \
|
|
"<span class='userdanger'>[A] has hit [D] with Plasma Punch!</span>")
|
|
playsound(D.loc, 'sound/weapons/punch1.ogg', 50, 1, -1)
|
|
var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A)))
|
|
D.throw_at(throw_target, 200, 4,A)
|
|
A.say("HYAH!")
|
|
return
|
|
|
|
/datum/martial_art/plasma_fist/proc/Plasma(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
A.do_attack_animation(D, ATTACK_EFFECT_PUNCH)
|
|
playsound(D.loc, 'sound/weapons/punch1.ogg', 50, 1, -1)
|
|
A.say("PLASMA FIST!")
|
|
D.visible_message("<span class='danger'>[A] has hit [D] with THE PLASMA FIST TECHNIQUE!</span>", \
|
|
"<span class='userdanger'>[A] has hit [D] with THE PLASMA FIST TECHNIQUE!</span>")
|
|
D.gib()
|
|
return
|
|
|
|
/datum/martial_art/plasma_fist/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
add_to_streak("H",D)
|
|
if(check_streak(A,D))
|
|
return 1
|
|
basic_hit(A,D)
|
|
return 1
|
|
|
|
/datum/martial_art/plasma_fist/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
add_to_streak("D",D)
|
|
if(check_streak(A,D))
|
|
return 1
|
|
basic_hit(A,D)
|
|
return 1
|
|
|
|
/datum/martial_art/plasma_fist/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
add_to_streak("G",D)
|
|
if(check_streak(A,D))
|
|
return 1
|
|
basic_hit(A,D)
|
|
return 1
|
|
|
|
/mob/living/carbon/human/proc/plasma_fist_help()
|
|
set name = "Recall Teachings"
|
|
set desc = "Remember the martial techniques of the Plasma Fist."
|
|
set category = "Plasma Fist"
|
|
|
|
to_chat(usr, "<b><i>You clench your fists and have a flashback of knowledge...</i></b>")
|
|
to_chat(usr, "<span class='notice'>Tornado Sweep</span>: Harm Harm Disarm. Repulses target and everyone back.")
|
|
to_chat(usr, "<span class='notice'>Throwback</span>: Disarm Harm Disarm. Throws the target and an item at them.")
|
|
to_chat(usr, "<span class='notice'>The Plasma Fist</span>: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body.") |