mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 07:20:09 +01:00
Sparring Remaster (#12062)
This commit is contained in:
@@ -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.
Reference in New Issue
Block a user