[State 1020, HitDef]
type = HitDef
triggerall = !movehit && !movereversed
trigger1 = AnimElem = 5
trigger2 = AnimElem = 11 && var(1)
trigger3 = AnimElem = 17 && var(1)
trigger4 = AnimElem = 23 && var(1)= 2
attr = A, SA
hitflag = MAF
guardflag = MA
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = MA
hitflag = MAF
priority = 7, Hit
damage = 76,6
pausetime = 10,10
guard.pausetime = 10,10
hitsound = F5, 10
guardsound = F6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = -5*Cond(p2dist x>0,1,-1), -6
guard.velocity = -5.77
airguard.velocity = -5.33,-1
air.type = High
air.velocity = -5*Cond(p2dist x>0,1,-1), -6
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
fall = 1
fall.recover = 0
fall.recovertime = 120
id = 1020
getpower = 140
givepower = 35, 35
envshake.time = 15
fall.envshake.time = 8
sparkxy = -10, -70
[StateDef 1020]
type = S
movetype = A
physics = N
ctrl = 0
velset = 0,0
facep2 = 1
sprpriority = 2
[State 1020, Button Detect]
type=VarSet
trigger1 = !Time && !AILevel
var(1) = Cond((command = "a"), 0, Cond((command = "b"), 1, 2))
[State 1020, Button Detect (AI)]
type=VarSet
trigger1 = !Time && AILevel
var(1) = Cond(p2bodydist x < 45, 0, Cond(p2bodydist x < 85, 1, 2))
[State 1020, Animation]
type = ChangeAnim
trigger1 = !time
value = 1020 + var(1)
[State 1020, PosSet]
type = PosSet
trigger1 = !time
y = 0
[State 1020, VelSet]; sets the x and y velocities of the attack, based on the button pressed.
type = VelSet
trigger1 = animelem = 1
x = Cond(!var(1), 2.5,Cond(var(1) = 1, 3.125, 3.75))
y = -5
[State 1020, VelSet Stay]; this is to prevent the Tatsumaki from rising up in the air.
type = VelSet
trigger1 = animelem = 5
y = 0
[State 1020, VelAdd] ; this state is needed to bring Ryu down from the damn air, or else he won't got to the landing state.
type = VelAdd
trigger1 = animelemtime(5) < 0
trigger2 = !var(1) && animelemtime(15) >= 0
trigger3 = var(1) = 1 && animelemtime(21) >= 0
trigger4 = var(1) = 2 && animelemtime(33) >= 0
y = .375
[State 1020, Width]
type = Width
trigger1 = moveguarded
edge = 25,0
player = 25*(1+var(1)), 0
[State 1020, NotHitBy]
type = NotHitBy
trigger1 = anim = 1020 &&animelemno(0) = [3,16]
trigger2 = anim = 1021 &&animelemno(0) = [3,27]
trigger3 = anim = 1022 &&animelemno(0) = [3,34]
value = SCA,NT,ST,HT,NP,SP,HP
time = 1
[State 1020, HitDef]
type = HitDef
triggerall = !movehit && !movereversed
trigger1 = AnimElem = 5
trigger2 = AnimElem = 11 && var(1)
trigger3 = AnimElem = 17 && var(1)
trigger4 = AnimElem = 23 && var(1)= 2
attr = A, SA
hitflag = MAF
guardflag = MA
animtype = Hard
air.animtype = back
fall.animtype = back
guardflag = MA
hitflag = MAF
priority = 7, Hit
damage = 76,6
pausetime = 10,10
guard.pausetime = 10,10
hitsound = F5, 10
guardsound = F6, 0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
guard.hittime = 12
ground.velocity = -5*Cond(p2dist x>0,1,-1), -6
guard.velocity = -5.77
airguard.velocity = -5.33,-1
air.type = High
air.velocity = -5*Cond(p2dist x>0,1,-1), -6
air.hittime = 120
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
fall = 1
fall.recover = 0
fall.recovertime = 120
id = 1020
getpower = 140
givepower = 35, 35
envshake.time = 15
fall.envshake.time = 8
sparkxy = -10, -70
[State 1020, Width]
type = Width
trigger1 = 1
edge = 45,0
player = 10, 0
[State 1020, StateTypeSet]
type = StateTypeSet
trigger1 = !var(1) && animelemtime(11) >= 0
trigger2 = var(1) = 1 && animelemtime(17) >= 0
trigger3 = var(1) = 2 && animelemtime(29) >= 0
movetype = I
[State 1020, ChangeState]
type = ChangeState
trigger1 = pos y > -vel y
value = 1023
ctrl = 1