Hyaku Asura Balancing

2026-05-12 15:24Z UTC · 80 skill modules

Quick knob map

You want…Edit here
Base tiers (damage, cooldown, range, animation speed sliders)SkillReg/<Name>.lua(u)Skill.SkillData, Skill.Cooldown
Hit behavior (stun, blockbreak, knockback splits)same file → Skill.Stages + damage calls
STR / Muscle / Fat / AGI / Atk spd bias for this skill IDVarTemplate.luauSkillScaling[<Id>]
M1 tuning (outside SkillReg)Style_<Name> tables + BasicAttack helpers

Systems overview

DamageScaling scales damage from core stats via SkillScaling or the active style table. CalculateSkillStats turns SkillData + player sliders into cooldown/power/range/speed numbers (cooldown floor 20 players). The second argument to CalculateSkillStats(...) in old scripts is ignored server-side.

Directional dodge (player)

Implemented in StarterCharacterScripts/MainScript/CRnInput.server.luau (NewDodge). Distance below is the horizontal BodyVelocity magnitude applied every render step for 0.25s. Fat does not participate — only total muscle TM (single Muscle stat or upper+lower).

Distance = min(175,
  (58 / (1 + 0.2 * DashCount))
  * (1 + min(Agility,2000) / 6600)
  * (1 + MuscleBonus))

MuscleBonusFull = min(TM / 1900, 0.8)
MuscleBonus = MuscleBonusFull
  — halved when TM >= 4000 AND DashCount >= 2

Cooldown: per-direction locks · baseline 2s, 3s when Muscle >= 500.

Lean vs muscle (same agility 1200)

Scenario#AGITMVelocity
Lean · 1st dash11200057.12
Lean · 2nd dash21200048.96
Muscle-heavy · 1st (bonus capped)112002000102.82
Muscle-heavy · 2nd · TM≥4000 halves MuscleBonus21200450068.55

First-dash multiplier at AGI 1200: muscle-heavy (~TM 2000, capped bonus) ≈ 1.80× lean velocity (102.82 vs 57.12).

SkillReg dash modules

ModulePhysics overwrite idActive window
FrontDashForwardDash0.25s
BackDashBackwardDash0.25s
LeftDashRightDash0.25s · swap vs anim side label
RightDashLeftDash0.25s · swap vs anim side label

NPC bots resolve these overwrite ids on StarterCharacterScripts/MainScript.server.luau Heartbeat (peak push magnitude ≈ 50 × (10 / ResetSine) studs/tick pattern).

Style combat scaling (VarTemplate · Style_*)

Feeds M1 damage scaling (DamageScalingBasicAttack) and backs DamageScaling when no per-skill row exists.

StyleSTRUp MLow MFatAGIAtk spdM1 AS capM2 AS cap
Aikido0.75330.1000.80.75
Basic0.75330.1000.80.75
BoxingLongGuard0.752.72.50.100.10.80.8
Demon_Fist0.67550.100.10.80.9
Grand-WarAxe0.752.130.1000.90.75
Karate0.752.22.20.100.10.80.9
Kazu0.752.130.1000.90.75
Kujin0.752.130.1000.90.75
Kung_Fu0.75330.1000.80.8
Kure0.7252.52.50.100.10.80.75
Muay_Thai0.752.530.100.10.80.75
Niko0.752.22.20.100.10.80.9
Raishin0.71.21.30.100.250.80.8
Sky0.752.130.1000.90.75
Sumo0.1221000.80.75
Taekwondo0.752.130.1000.80.75
The_Middle0.83.530.1000.80.75
WarAxe0.752.130.1000.90.75
Wrestling0.26.55.80.1000.80.75
Ya0.6752.72.70.100.210.8
Yuzuki-no-Mai0.75330.1000.80.75

SkillScaling weights

Used by DamageScaling; column shorthand: Muscle upper/lower limbs.

Table part 1/2

Skill STR Up M+ Low M+ Fat AGI Atk spd
A_Just_Vengeance2.51.5000.50.5
Avidya20.50.500.30.1
Binding_Hold2.500011
Blazing_Dragon2.30000.30.4
Body_Drop0.20060.10.5
Bulldoze0.51.51.55.50.10.5
Cascade0.450000.30.2
ChokeSlam0.56.56000.5
Cleaving_Fang200.500.71
Counter_Cut1.50.50011
Cranium_Break0.56600.10.2
Crushing_Throw0.52260.10.5
Devil_Lance1.50.50011
Dream_Walking2.50000.80.2
Ear_Clap1.350.100.20.5
Earth_Shatter2.25000.10.2
Elbow_Cut3.50.60.600.30.1
ElbowDrop0.35500.50
Feinting_Elbow1.50.50011
Flash_Fire2.30000.30.4
Flicker_Jab1.10000.51
Gazelle_Punch1.50.50011
Hardpoint2.30.50010.4
Head_Slam200010.5
Hyakuretsukyaku2.30000.30.4
Iron_Breaker3.30000.30.4
Kicking2.501.500.50.25
Knee_Strike2.8500.7500.50.5

Table part 2/2

Skill STR Up M+ Low M+ Fat AGI Atk spd
Lightning_Flash1.80000.430.25
Lion_Bite20.60.600.30.1
Liver_Blow1.30.5000.51
MaDeedKalok2.300.7500.50.1
Mountain_Breaker.60.60.600.30.1
Nerve_Strike20000.51
OneTwo10.90000.1
Palm_Barrage0.51.5050.10.5
Payback21.5000.50.1
Predictive_Strikes.55600.30.3
Promised_Suffering2.501.500.50.5
Pure_Taekwondo100.9000.1
Questionmark_Kick1.500.300.80.5
Ravage2.300011
Right_Koken1.50.50011
Roundhouse_Kick1.700.500.50.5
Shoryuken2.30000.30.4
Six_Seiken10.5001.51
Spinning_Elbow2.50.5000.50.25
StarDrop2.50001.20.4
Steel_Blast30000.30.4
Suplex0.575.500.10.5
Thunderclap2.30000.60.6
Triple_Kick2.200.35010.5
Whirl_Slam0.55.5600.20.3
WhirlwindSpin200010.5
Write_em_all_down2.52000.50.5

No dedicated SkillScaling (uses style fallback)

PureSkillReg

return {
	Flicker_Jab = {
		IsPure = true,
		RequiredStyle = "BoxingLongGuard",
	},
	WhirlwindSpin = {
		IsPure = true,
		RequiredStyle = "Taekwondo",
	},
	Knee_Strike = {
		IsPure = true,
		RequiredStyle = "Muay_Thai",
	},
	Crushing_Throw = {
		IsPure = true,
		RequiredStyle = "Sumo",
	},
	Suplex = {
		IsPure = true,
		RequiredStyle = "Wrestling",
	},
	Devil_Lance = {
		IsPure = true,
		RequiredStyle = "Karate",
	},
	Bulldoze = {
		IsKnockback = true,
	},
	Spinning_Elbow = {
		IsKnockback = true,
	},

	
}

Skills by style

Columns: cooldown & stamina from module; bases = SkillData CD / Power / Range / Speed.

Aikido

Module Display CD Sta Bases Stages Notes
Binding_HoldBinding Hold30-130/15/5/1BreakCounterSkill, IFrame
HardpointHardpoint30-130/15/5/1Hit
Nerve_StrikeNerve Strike30-130/15/5/1Hit, FinalHitCounterSkill, IFrame
StarDropStar Drop30-130/15/5/1SlamCounterSkill, IFrame

Boxing

Module Display CD Sta Bases Stages Notes
Counter_CutCounter Cut35-135/16/6/1FinalCutCounterSkill, IFrame
Liver_BlowLiver Blow25-125/12/6/1.1BlowIsExtender
OneTwoOne-Two8-10/0/0/0Jab1, Jab2

BoxingLongGuard

Module Display CD Sta Bases Stages Notes
Flicker_JabFlicker Jab35-135/12/6/1Jabrequires `BoxingLongGuard`; IsExtender, IsPure
Gazelle_PunchGazelle Punch30-130/15/6/1PunchHyperArmour

Demon_Fist

Module Display CD Sta Bases Stages Notes
Cranium_BreakCranium Break50-150/30/5/1Hit, SlamGrabSkill, IFrame
Ear_ClapEar Clap35-135/13/5/1.15HitIsExtender
Earth_ShatterEarth Shatter40-140/14/5/1Hit
Predictive_StrikesPredictive Strikes35-135/25/6/1HitCounterSkill

Karate

Module Display CD Sta Bases Stages Notes
Devil_LanceDevil Lance30-130/12/6/1JabIsExtender, IsPure
Feinting_ElbowFeinting Elbow30-130/15.2/6/1ElbowIFrame
Flying_KneeFlying Knee10-10/0/0/0Knee
Right_KokenRight Koken35-135/15/6/1Strike
Six_SeikenSix Seiken30-130/15/6/1Hit, LastHit

KJ

Module Display CD Sta Bases Stages Notes
RavageRavage40-140/16/6/1TheVeryFirstHit, FirstHits, BarrageHit, BarrageLastHit, LastHitGrabSkill, IFrame

Kure

Module Display CD Sta Bases Stages Notes
AvidyaAvidyā35-135/13/5/1CutIsExtender
Elbow_CutElbow Cut35-135/13/5/1Blow
Lion_BiteLion's Bite35-135/13/35/1.2BiteGrabSkill, IsExtender
Mountain_BreakerMountain_Breaker40-140/17/5/1Small, Big

Muay_Thai

Module Display CD Sta Bases Stages Notes
Knee_StrikeKnee Strike40-140/16/6/1FirstHit, Hit, LastHitGrabSkill, IFrame, IsPure
MaDeedKalokMa Deed Kalok40-140/12/6/1HitGrabSkill, IFrame, IsExtender
Roundhouse_KickRoundhouse Kick30-130/12/6/1.1KickIsExtender
Spinning_ElbowSpinning Elbow30-130/15/6/1ElbowHyperArmour

Niko

Module Display CD Sta Bases Stages Notes
Flash_FireFlash Fire30-130/15/6/1PunchHyperArmour
Iron_BreakerIron Breaker35-135/13/8/1Blow
Steel_BlastSteel Blast30-130/15/6/1PunchHyperArmour
Weeping_WillowWeeping Willow30-130/15/5/1BreakCounterSkill, IFrame

Raishin

Module Display CD Sta Bases Stages Notes
CascadeCascade50-150/9.5/5/1Hit, Hit2, Hit3, Hit4GrabSkill, IFrame
Dream_WalkingDream Walking30-130/15/5/1BreakCounterSkill, IFrame
Lightning_FlashLightning Flash35-135/14/35/1HitIsExtender, IFrame
ThunderclapThunderclap40-140/17.2/5/1Hit, FinalHit

Street_Fighter

Module Display CD Sta Bases Stages Notes
Blazing_DragonBlazing Dragon35-135/13/8/1Blow
HadoukenHadouken30-130/13/6/1Jab
HyakuretsukyakuHyakuretsukyaku40-140/18.2/5/1Kick, Swipe, Small, Big
ShoryukenShoryuken35-135/13/7/1Blow
TatsumakiTatsumaki35-135/13/7/1SpinIsExtender

Sumo

Module Display CD Sta Bases Stages Notes
Body_DropBody Drop60-160/27/6/1SlamHyperArmour
BulldozeBulldoze60-160/26/6/1Dash
ChangeStance-10/0/0/0Dash
Crushing_ThrowCrushing Throw60-160/30/6/1SlamHyperArmour, GrabSkill, IFrame, IsPure
Palm_BarragePalm Barrage60-160/25/6/1PalmHit, FinalPalm

Taekwondo

Module Display CD Sta Bases Stages Notes
Cleaving_FangCleaving Fang40-140/16/6/1.5Hit, LastHitGrabSkill, IFrame
Head_SlamHead Slam35-135/15/6/1CounterKick, SlamCounterSkill, IFrame
Pure_TaekwondoPure Taekwondo22-10/0/0/0FinalHitGrabSkill, IFrame
Questionmark_KickQuestionmark Kick35-135/12/6/1.1KickIsExtender
Triple_KickTriple Kick30-130/15/6/0.8Left, Right, Final
WhirlwindSpinWhirlwind Spin30-130/15/6/0.8Hit, FinalHitHyperArmour, IsExtender, IsPure

The_Middle

Module Display CD Sta Bases Stages Notes
A_Just_VengeanceA Just Vengeance40-140/18/5/1Jab, Shove, RushHyperArmour
KickingKicking40-140/18.2/5/1Kick1, Kick2, Kick3
PaybackPayback35-135/13.5/5/1.15ShoveHyperArmour, IsExtender
Promised_SufferingPromised Suffering50-150/22/5/1Slam, FinalKickGrabSkill, IFrame
Write_em_all_downWrite 'em All Down45-145/18/5/1.1PunchHyperArmour

Wrestling

Module Display CD Sta Bases Stages Notes
ChokeSlamChoke Slam60-160/29.5/6/1Hit, SlamHyperArmour, GrabSkill, IFrame
ElbowDropElbow Drop60-160/24/6/1.5SlamHyperArmour
SuplexSuplex60-160/30/6/1SlamHyperArmour, GrabSkill, IFrame, IsPure
Whirl_SlamWhirl Slam60-160/29.5/6/1.5SlamHyperArmour, GrabSkill, IFrame

Movement, UI & misc. (no Style field)

Module Display CD Sta Bases Stages Notes
AwakenAwaken10IFrame
BackDashBackDash10
BasicAttackBasic Attack00
BlockBlock0.50
BurstBurst00IFrame
ConsumeConsume00
CriticalCritical00
FrontDashFrontDash10
LeftDashRightDash10
MinotaurChargeWar Axe Slam000/15/6/1
MinotaurEnragedRoarWar Axe Slam000/15/6/1
MinotaurLeapWar Axe Slam000/15/6/1
MinotaurPunchWar Axe Slam000/15/6/1
MinotaurRoarWar Axe Slam000/15/6/1
MinotaurStompWar Axe Slam000/15/6/1
RhythmRhythm00
RightDashLeftDash10
StartEmoteEmote00
StealSteal10
WarAxeSlamWar Axe Slam000/15/6/1

SkillData template

Skill.SkillData = {
	Cooldown = { Base = 30, Affect = { Power = -0.12, Speed = -0.14, PerUpgrade = -0.04, ScaleBy = 1.25 } },
	Power    = { Base = 13, Affect = { Cooldown = -0.22, Speed = 0.25, PerUpgrade = 0.045, ScaleBy = 1.1 } },
	Range    = { Base = 6,  Affect = { Power = 0.1, PerUpgrade = 0.04, ScaleBy = 1.15 } },
	Speed    = { Base = 1,  Affect = { Cooldown = -0.17, Power = 0.1, PerUpgrade = 0.07, ScaleBy = 1.5 } },
}