Sparring Remaster (#12062)

This commit is contained in:
Geeves
2021-07-21 14:18:33 +02:00
committed by GitHub
parent ac6b97ed6e
commit eb5b9b2173
14 changed files with 86 additions and 12 deletions
+8
View File
@@ -401,6 +401,14 @@
'sound/weapons/punch4.ogg'
)
/decl/sound_category/punch_bassy_sound
sounds = list(
'sound/weapons/punch1_bass.ogg',
'sound/weapons/punch2_bass.ogg',
'sound/weapons/punch3_bass.ogg',
'sound/weapons/punch4_bass.ogg'
)
/decl/sound_category/punchmiss_sound
sounds = list(
'sound/weapons/punchmiss1.ogg',
@@ -623,18 +623,30 @@
return
/mob/living/carbon/human/check_attacks()
var/dat = "<b><font size = 5>Known Attacks</font></b><br/><br/>"
var/dat = ""
if(default_attack)
dat += "Current default attack: [default_attack.attack_name] - <a href='byond://?src=\ref[src];default_attk=reset_attk'>reset</a><br/><br/>"
dat += "Current default attack: [default_attack.attack_name] - <a href='byond://?src=\ref[src];default_attk=reset_attk'>Reset</a><br/><br/>"
for(var/datum/unarmed_attack/u_attack in species.unarmed_attacks)
var/sparring_variant = ""
var/sparring_variant_desc = ""
if(u_attack.sparring_variant_type)
var/datum/unarmed_attack/spar_attack = u_attack.sparring_variant_type
sparring_variant = " | Sparring Variant: [capitalize_first_letters(initial(spar_attack.attack_name))]"
sparring_variant_desc = "[initial(spar_attack.desc)]<br/>"
if(u_attack == default_attack)
dat += "<b>Primarily [u_attack.attack_name]</b> - default - <a href='byond://?src=\ref[src];default_attk=reset_attk'>reset</a><br/><br/><br/>"
dat += "<b>Primarily [capitalize_first_letters(u_attack.attack_name)][sparring_variant]</b> - default - <a href='byond://?src=\ref[src];default_attk=reset_attk'>Reset</a><br/>"
dat += "Description: [u_attack.desc]<br/>[sparring_variant_desc]"
dat += "<br/>"
else
dat += "<b>Primarily [u_attack.attack_name]</b> - <a href='byond://?src=\ref[src];default_attk=\ref[u_attack]'>set default</a><br/><br/><br/>"
dat += "<b>Primarily [capitalize_first_letters(u_attack.attack_name)][sparring_variant]</b> - <a href='byond://?src=\ref[src];default_attk=\ref[u_attack]'>Set Default</a><br/>"
dat += "Description: [u_attack.desc]<br/>[sparring_variant_desc]"
dat += "<br/>"
src << browse(dat, "window=checkattack")
var/datum/browser/attack_win = new(src, "checkattack", "Known Attacks", 450, 500)
attack_win.set_content(dat)
attack_win.open()
/mob/living/carbon/human/Topic(href, href_list)
if(href_list["default_attk"])
@@ -1,6 +1,7 @@
/datum/unarmed_attack/bite/sharp //eye teeth
attack_verb = list("bit", "chomped on")
attack_sound = 'sound/weapons/bite.ogg'
desc = "Biting down on the opponent with your sharp teeth. Only possible if you aren't wearing a muzzle. Don't try biting their head, it won't work!"
shredding = 0
sharp = TRUE
edge = TRUE
@@ -10,6 +11,7 @@
/datum/unarmed_attack/diona
attack_verb = list("lashed", "bludgeoned")
attack_noun = list("tendril")
desc = "Whip your enemy with a tendril! I hope we can show this on television."
eye_attack_text = "a tendril"
eye_attack_text_victim = "a tendril"
attack_name = "tendrils"
@@ -17,6 +19,7 @@
/datum/unarmed_attack/claws
attack_verb = list("scratched", "clawed", "slashed")
attack_noun = list("claws")
desc = "Use your in-built knives to turn your foes into mincemeat. Some call it unfair, some call it species superiority. Can't complain if they're dead*, though.<br/>*Citation Needed"
eye_attack_text = "claws"
eye_attack_text_victim = "sharp claws"
attack_sound = 'sound/weapons/slice.ogg'
@@ -57,7 +60,11 @@
if(3 to 4) user.visible_message("<span class='danger'>[user] [pick(attack_verb)] [pick("", "", "the side of")] [target]'s [affecting.name]!</span>")
if(5) user.visible_message("<span class='danger'>[user] tears [user.get_pronoun("his")] [pick(attack_noun)] [pick("deep into", "into", "across")] [target]'s [affecting.name]!</span>")
/datum/unarmed_attack/claws/unathi
sparring_variant_type = /datum/unarmed_attack/pain_strike/heavy // unathi have heavier pain hits in this mode
/datum/unarmed_attack/claws/shredding
desc = "Use your in-built knives to turn your foes into mincemeat. These claws are durable enough for you to shred some objects open, such as airlocks. Some call it unfair, some call it species superiority. Can't complain if they're dead*, though.<br/>*Citation Needed"
shredding = TRUE
attack_name = "durable claws"
@@ -107,10 +114,12 @@
/datum/unarmed_attack/industrial
attack_verb = list("pulverized", "crushed", "pounded")
attack_noun = list("heavy fist")
desc = "Beat your opponent to death like you're a trash compactor and they're a piece of discarded Go-Go Gwok packaging! Murder has never been so efficient!"
damage = 7
attack_sound = 'sound/weapons/smash.ogg'
attack_name = "heavy fist"
shredding = TRUE
sparring_variant_type = /datum/unarmed_attack/pain_strike/heavy
/datum/unarmed_attack/industrial/heavy
damage = 9
@@ -122,6 +131,7 @@
/datum/unarmed_attack/terminator
attack_verb = list("pulverized", "crushed", "pounded")
attack_noun = list("power fist")
desc = "Hunt down your foes and shove your arm straight through their torso with your highly advanced power fist! You are built to kill, show the world!"
damage = 12
attack_sound = 'sound/weapons/beartrap_shut.ogg'
attack_name = "power fist"
@@ -14,6 +14,7 @@
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/punch,
/datum/unarmed_attack/palm,
/datum/unarmed_attack/bite
)
blurb = "Humanity originated in the Sol system, and over the last four centuries has spread colonies across a wide swathe of space. \
@@ -130,7 +130,7 @@
bodytype = BODYTYPE_IPC_INDUSTRIAL
mob_size = 12
unarmed_types = list(/datum/unarmed_attack/industrial)
unarmed_types = list(/datum/unarmed_attack/industrial, /datum/unarmed_attack/palm/industrial)
brute_mod = 0.8
burn_mod = 1.1
@@ -312,7 +312,7 @@
eyes = "heph_eyes"
unarmed_types = list(/datum/unarmed_attack/industrial/heavy)
unarmed_types = list(/datum/unarmed_attack/industrial/heavy, /datum/unarmed_attack/palm/industrial)
slowdown = 6
brute_mod = 0.7
@@ -366,7 +366,9 @@
preview_icon = 'icons/mob/human_races/ipc/ind_xion_preview.dmi'
unarmed_types = list(
/datum/unarmed_attack/industrial/xion)
/datum/unarmed_attack/industrial/xion,
/datum/unarmed_attack/palm/industrial
)
brute_mod = 0.9
grab_mod = 0.9
@@ -14,7 +14,7 @@
bandages_icon = 'icons/mob/bandage.dmi'
eyes = "skrell_eyes_s"
primitive_form = SPECIES_MONKEY_SKRELL
unarmed_types = list(/datum/unarmed_attack/punch, /datum/unarmed_attack/stomp, /datum/unarmed_attack/kick)
unarmed_types = list(/datum/unarmed_attack/punch, /datum/unarmed_attack/palm, /datum/unarmed_attack/stomp, /datum/unarmed_attack/kick)
blurb = "An amphibious species, Skrell come from the star system known as Nralakk, coined 'Jargon' by \
humanity.<br><br>Skrell are a highly advanced, ancient race who place knowledge as the highest ideal. \
@@ -14,6 +14,7 @@
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/claws,
/datum/unarmed_attack/palm,
/datum/unarmed_attack/bite/sharp
)
darksight = 8
@@ -13,7 +13,8 @@
unarmed_types = list(
/datum/unarmed_attack/stomp,
/datum/unarmed_attack/kick,
/datum/unarmed_attack/claws,
/datum/unarmed_attack/claws/unathi,
/datum/unarmed_attack/palm/unathi,
/datum/unarmed_attack/bite/sharp
)
primitive_form = SPECIES_MONKEY_UNATHI
@@ -4,6 +4,7 @@ var/global/list/sparring_attack_cache = list()
/datum/unarmed_attack
var/attack_verb = list("attack") // Empty hand hurt intent verb.
var/attack_noun = list("fist")
var/desc = "A simple unarmed attack."
var/damage = 0 // Extra empty hand attack damage.
var/attack_sound = /decl/sound_category/punch_sound
var/miss_sound = /decl/sound_category/punchmiss_sound
@@ -12,7 +13,7 @@ var/global/list/sparring_attack_cache = list()
var/edge = FALSE
var/damage_type = BRUTE
var/sparring_variant_type = /datum/unarmed_attack/light_strike
var/sparring_variant_type = /datum/unarmed_attack/pain_strike
var/eye_attack_text
var/eye_attack_text_victim
@@ -130,6 +131,7 @@ var/global/list/sparring_attack_cache = list()
/datum/unarmed_attack/bite
attack_verb = list("bit")
attack_sound = 'sound/weapons/bite.ogg'
desc = "Biting down on the opponent with your teeth. Only possible if you aren't wearing a muzzle. Don't try biting their head, it won't work!"
shredding = 0
damage = 0
sharp = 0
@@ -148,6 +150,7 @@ var/global/list/sparring_attack_cache = list()
/datum/unarmed_attack/punch
attack_verb = list("punched")
attack_noun = list("fist")
desc = "A classic, beating the nonsense out of your enemies with your arm clubs. The damage is variable, but it's versatile and you will never* lose them.<br>*Almost Never"
eye_attack_text = "fingers"
eye_attack_text_victim = "digits"
damage = 0
@@ -199,10 +202,27 @@ var/global/list/sparring_attack_cache = list()
else
user.visible_message("<span class='danger'>[user] [pick("punched", "threw a punch against", "struck", "slammed their [pick(attack_noun)] into")] [target]'s [organ]!</span>") //why do we have a separate set of verbs for lying targets?
/datum/unarmed_attack/palm // attacking with a fist generally gives higher DPS, this is for style points
attack_verb = list("smacked") // Empty hand hurt intent verb.
attack_noun = list("palm")
desc = "Striking your opponent with your palm. Certainly a method to do damage to flesh beneath the skin without risking your knuckles. This method of attack showcases some more restraint, the damage output is more stable, too."
damage = 2
attack_name = "palm"
/datum/unarmed_attack/palm/unathi // only one more damage, pretty much just for show
attack_sound = /decl/sound_category/punch_bassy_sound
desc = "Striking your opponent with your palm. A method of dishing out damage without risking your claws or shredding your opponent to ribbons. This method of attack showcases some more restraint, the damage output is more stable, too."
damage = 3
/datum/unarmed_attack/palm/industrial
desc = "Striking your opponent with your palm. Certainly a method to do damage to flesh beneath the skin without risking your knuckles. This method of attack showcases some more restraint, but you're still going to lay on the hurt."
damage = 5
/datum/unarmed_attack/kick
attack_verb = list("kicked", "kicked", "kicked", "kneed")
attack_noun = list("kick", "kick", "kick", "knee strike")
attack_sound = /decl/sound_category/swing_hit_sound
desc = "A high risk, pretty low reward move. It could be useful if your shoes has a knife sticking out the front, or if you're a trained martial arts master. Make sure to target the lower parts of the body, or else you won't be able to reach!"
damage = 0
attack_name = "kick"
@@ -248,6 +268,7 @@ var/global/list/sparring_attack_cache = list()
attack_verb = null
attack_noun = list("stomp")
attack_sound = /decl/sound_category/swing_hit_sound
desc = "An incredible tactic for turning a downed opponent into tenderized meat! Stomping is a safe and sound method of dispatching downed enemies, but it only works if they're already lying down."
damage = 0
attack_name = "stomp"
@@ -290,13 +311,22 @@ var/global/list/sparring_attack_cache = list()
if(1 to 4) user.visible_message("<span class='danger'>[pick("[user] stomped on", "[user] slammed [user.get_pronoun("his")] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down onto")] [target]'s [organ]!</span>")
if(5) user.visible_message("<span class='danger'>[pick("[user] landed a powerful stomp on", "[user] stomped down hard on", "[user] slammed [user.get_pronoun("his")] [shoes ? copytext(shoes.name, 1, -1) : "foot"] down hard onto")] [target]'s [organ]!</span>") //Devastated lol. No. We want to say that the stomp was powerful or forceful, not that it /wrought devastation/
/datum/unarmed_attack/light_strike
/datum/unarmed_attack/pain_strike
damage_type = PAIN
attack_noun = list("tap","light strike")
attack_verb = list("tapped", "lightly struck")
desc = "Sparring: A light strike to your opponent. So light, it won't even leave a mark! They WILL feel this, but will suffer no dangerous side effect, unless you punch them into cardiac arrest!"
damage = 2
shredding = 0
damage = 0
sharp = 0
edge = FALSE
attack_name = "light hit"
/datum/unarmed_attack/pain_strike/heavy
attack_noun = list("smack", "heavy strike")
attack_verb = list("smacked", "strongly struck")
desc = "Sparring: A heavy strike to your opponent. With poise and precision, no evidence will be left behind! They WILL ABSOLUTELY feel this, but will suffer no dangerous side effect, unless you punch them into cardiac arrest! Show off your might!"
damage = 4
attack_name = "heavy hit"
attack_sound = /decl/sound_category/punch_bassy_sound
@@ -0,0 +1,9 @@
author: Geeves
delete-after: True
changes:
- rscadd: "Revamped the Check Attacks menu. All attacks now have descriptions that roughly give you an idea how they work."
- rscadd: "Added a palm strike option to everyone, for when you're a martial arts character or when you have claws and don't want to instantly murder someone."
- rscadd: "Added sparring info to the check attacks menu, this will show you which type of attack you will do when you put on Pulled Punches."
- rscadd: "Unathi and Industrial IPCs have the option to use Heavy sparring attacks to show their martial dominance in the field. These are their defaults, but they can use the palm strike attack sparring method to dial it back."
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.