mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-25 01:22:13 +00:00
111 lines
4.4 KiB
Plaintext
111 lines
4.4 KiB
Plaintext
#define EYE_RAKE "HDH"
|
|
#define CLAW_PUNCH "DHH"
|
|
#define RRAKNARR_STAB "HHDD"
|
|
|
|
/datum/martial_art/baghrar
|
|
name = "Baghrar"
|
|
help_verb = /datum/martial_art/baghrar/proc/baghrar_help
|
|
|
|
/datum/martial_art/baghrar/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
if(findtext(streak,EYE_RAKE))
|
|
streak = ""
|
|
eye_rake(A,D)
|
|
return 1
|
|
if(findtext(streak,CLAW_PUNCH))
|
|
streak = ""
|
|
claw_punch(A,D)
|
|
return 1
|
|
if(findtext(streak,RRAKNARR_STAB))
|
|
streak = ""
|
|
rraknar_stab(A,D)
|
|
return 1
|
|
return 0
|
|
|
|
/datum/martial_art/baghrar/proc/eye_rake(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
if(!istajara(A))
|
|
return 0
|
|
A.do_attack_animation(D)
|
|
playsound(get_turf(A), 'sound/weapons/slice.ogg', 50, 1, -1)
|
|
|
|
if(!D.species.has_limbs["head"])
|
|
return 0
|
|
|
|
var/obj/item/organ/external/affecting = D.get_organ("head")
|
|
if(!istype(affecting) || affecting.is_stump())
|
|
return 0
|
|
|
|
D.visible_message("<span class='danger'>[A] rakes their claws against [D]'s [affecting.name]!</span>")
|
|
|
|
for(var/obj/item/protection in list(D.head, D.wear_mask, D.glasses))
|
|
if(protection && (protection.body_parts_covered & EYES))
|
|
return 1
|
|
|
|
if(!D.has_eyes())
|
|
return 1
|
|
|
|
if(isipc(D))
|
|
return 1
|
|
|
|
var/obj/item/organ/eyes/eyes = D.get_eyes()
|
|
eyes.take_damage(rand(3,4), 1)
|
|
var/armor = D.getarmor_organ(affecting,"melee")
|
|
D.apply_damage(10,BRUTE, "head", armor, sharp=1, edge=1)
|
|
|
|
return 1
|
|
|
|
/datum/martial_art/baghrar/proc/claw_punch(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)//is actually lung punch
|
|
A.do_attack_animation(D)
|
|
A.visible_message("<span class='danger'>[A] lunges forwards and strikes [D] with their claws!</span>")
|
|
playsound(get_turf(A), 'sound/weapons/slice.ogg', 50, 1, -1)
|
|
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
|
|
var/armor_block = D.run_armor_check(affecting, "melee")
|
|
D.apply_damage(20, BRUTE, affecting, armor_block, sharp = TRUE, edge = TRUE)
|
|
if(prob(20))
|
|
D.apply_effect(4, WEAKEN)
|
|
return 1
|
|
|
|
/datum/martial_art/baghrar/proc/rraknar_stab(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
|
if(!istajara(A))
|
|
return 0
|
|
A.do_attack_animation(D)
|
|
var/obj/item/organ/external/organ = D.get_organ(A.zone_sel.selecting)
|
|
var/armor = D.getarmor_organ(organ,"melee")
|
|
A.visible_message("<span class='danger'>[A] stabs [D]'s [organ.name] with their claws!</span>")
|
|
D.apply_damage(organ.brute_dam, BRUTE, organ, armor, sharp= TRUE, edge= TRUE)
|
|
return 1
|
|
|
|
/datum/martial_art/baghrar/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/baghrar/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/baghrar/proc/baghrar_help()
|
|
set name = "Recall Teachings"
|
|
set desc = "Remember the martial techniques of the Baghrar."
|
|
set category = "Baghrar"
|
|
|
|
to_chat(usr, "<b><i>You twitch your ears and remember the techniques...</i></b>")
|
|
to_chat(usr, "<span class='notice'>Eye Rake</span>: Harm Disarm Harm. Strikes your target's face, damaging their eyes.")
|
|
to_chat(usr, "<span class='notice'>Claw Punch</span>: Disarm Harm Harm. Hits your target with your claws, dealing damage and causing bleeding.")
|
|
to_chat(usr, "<span class='notice'>Rrak'narrr Stab</span>: Harm Harm Disarm Disarm. Stabs your target with your claws, dealing more damage based on how hurt they are.")
|
|
|
|
/obj/item/martial_manual/tajara
|
|
name = "baghrar manual"
|
|
desc = "A manual designated to teach the user about the tajaran martial art of Baghrar."
|
|
martial_art = /datum/martial_art/baghrar
|
|
description_fluff = "An ancient martial art from Adhomai primarily used for sport and contests of strength. The fighting style consists of attacks against the opponent from the waist \
|
|
up. The form of the attacks are primarily swiping motions which take advantage of a Tajara's claws to rake an opponents torso or head. Other moves include punching for friendlier \
|
|
matches or stabbing forward with the claws in typical matches. Modern Baghrariri, or people who fight in the Baghrar style for sport, usually fight with implements that cover and \
|
|
support their claws to avoid serious bodily damage. Modern Baghrar matches are decided upon with a point scoring system over three 10 minute rounds of fighting, but historical \
|
|
victories were secured by knocking opponents onto the ground."
|
|
|