Hey guys, I'm up to throws now, and I'm in a little pickle.
Spoiler: Code (click to see content)
;===========<YOGA SMASH>==========
[Statedef 810]
type = S
movetype = A
physics = S
anim = 810
velset = 0, 0
poweradd = 0
sprpriority = 2
[State 810, Safety]
type = ChangeState
trigger1 = !Time && !NumTarget
value = 0
ctrl = 1
[State 810, More Safety]
type = NotHitBy
trigger1 = 1
value = SCA
[State 810, Throw Escape]
type = ChangeState
trigger1 = AnimElemTime(1) <= 3
trigger1 = NumTarget && var(19)
trigger1 = (Target, command = "holdfwd" || Target, command = "holdback")
trigger1 = (Target, command = "b" || Target, command = "c" || Target, command = "y" || Target, command = "z")
value = 890
[State 810, Throw Escape]
type = VarAdd
trigger1 = var(19) > 0
var(19) = -1
[State 810, TargetState]
type = TargetState
trigger1 = !Time && NumTarget
value = 815
[State 810, ChangeAnim For Side Switch]
type = ChangeAnim
trigger1 = PrevStateNo = 805 && !Time
value = 810
elem = 1
[State 810, Target Facing]
type = TargetFacing
trigger1 = Time <= 1
value = -1
[State 810, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn
[State 810, Width]
type = Width
trigger1 = AnimElemTime(5) <= 0
edge = 75,0
[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(1) < 0 && AnimElemTime(2) < 0
trigger1 = NumTarget
pos = ceil(56 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(3) < 0
trigger1 = NumTarget
pos = ceil(72 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElemTime(3) >= 0 && AnimElemTime(4) < 0
trigger1 = NumTarget
pos = ceil(76 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Bind 4]
type = TargetBind
trigger1 = AnimElemTime(4) >= 0
trigger1 = NumTarget
pos = ceil(56 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Voice]
type = PlaySnd
trigger1 = AnimElem = 5
value = 0,2
channel = 0
[State 810, TargetState]
type = TargetState
trigger1 = !AnimTime
value = 816
[State 810, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 811
;============<YOGA SMASH(PUNCHING FOE)>===========
[Statedef 811]
type = S
physics = N
movetype = A
anim = 811
ctrl = 0
velset = 0, 0
sprpriority = 1
[State 811, Target Escape]
type = ChangeState
trigger1 = !Time && !NumTarget
value = 0
ctrl = 1
[State 811, Tech Hit]
type = ChangeState
trigger1 = NumTarget && var(19)
trigger1 = (Target, command = "holdfwd" || Target, command = "holdback")
trigger1 = (Target, command = "b" || Target, command = "c" || Target, command = "y" || Target, command = "z")
value = 890
[State 811, Escape]
type = VarAdd
trigger1 = var(19) > 0
var(19) = -1
[State 811, Throw]
type = TargetState
trigger1= !Time && NumTarget
value = 816
[State 811, Throw]
type = TargetFacing
trigger1 = Time <= 1
value = -1
[State 811, Timer Start]
type = VarSet
trigger1 = !time
var(44) = 135
[State 811, Timer End (Round Over)]
type = VarSet
trigger1 = RoundState != 2
var(44) = 0
[State 820, Timer Countdown]
type = VarAdd
trigger1 = HitCount
var(44) = -1
[State 811, Timer]
type = VarAdd
triggerAll = NumTarget && HitCount
trigger1 = Target, command = "x" || Target, command = "y" || Target, command = "z"
trigger2 = Target, command = "a" || Target, command = "b" || Target, command = "c"
trigger3 = Target, command = "up" || Target, command= "down" || Target, command = "back" || Target, command = "fwd"
var(44) = -1
[State 811, Mashing]
type = VarSet
trigger1 = !Time
var(42) = 0
[State 811, Mashing]
type = VarSet
trigger1 = !Time
var(12) = 0
[State 811, Mashing]
type = VarSet
triggerAll = var(42) = 0
trigger1 = (command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z")
trigger2 = (command = "up" || command = "down" || command = "back" || command = "fwd")
var(42) = 2
[State 811, Mashing Increment]
type = VarAdd
trigger1 = var(42) = 2
var(12) = 1
[State 811, Mashing Decrement]
type = VarAdd
trigger1 = var(42) > 0
var(42) = -1
[State 811, Throw]
type = TargetState
trigger1 = NumTarget
trigger1 = AnimElemTime(3) < 0 || AnimElemTime(4) >= 0
value = 816
[State 811, Throw]
type = TargetState
trigger1 = NumTarget
trigger1 = Target, StateNo != 817
trigger1 = AnimElemTime(3) >= 0 && AnimElemTime(4) < 12
value = 817
[State 811, Anim Skip]
type = ChangeAnim
triggerall = var(44) > 0
trigger1 = AnimElemTime(AnimElemNo(0)) >= 0 && AnimElemTime(3) < 0
trigger1 = AnimElemTime(AnimElemNo(0) +1 ) >= -var(12)
trigger1 = 1 || var(12) := (var(12) + AnimElemTime(AnimElemNo(0) + 1))
value = 811
elem = AnimElemNo(0) + 1
[State 811, Anim Skip]
type = ChangeAnim
triggerAll = var(44) > 0
trigger1 = AnimElemTime(4) > 0
trigger1 = AnimElemTime(4) >= (6 - var(12))
trigger1 = 1 || var(12) := (var(12) + 6 - AnimElemTime(3))
value = 811
elem = 1
[State 811, PalFX Flash]
type = PalFX
trigger1 = command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z"
trigger2 = command = "up" || command = "down" || command = "back" || command = "fwd"
time = 1
add = 32, 32, 32
[State 811, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && AnimElem = 3
value = floor(ifElse(14 * fvar(11) < 7, -7, -14 * fvar(11)))
kill = 0
[State 811, TargetPowerAdd]
type = TargetPowerAdd
trigger1 = HitCount = 1
trigger1 = NumTarget && AnimElem = 3
value = 36
[State 811, Power]
type = PowerAdd
trigger1 = HitCount = 1
trigger1 = NumTarget && AnimElem = 3 && !var(20)
value = 72
[State 811, HitAdd]
type = HitAdd
trigger1 = NumTarget && AnimElem = 3
value = 1
[State 811, Hit Count Increment]
type = VarAdd
trigger1 = NumTarget && AnimElem = 3
var(13) = 1
[State 811, Juggle Points Increment]
type = VarAdd
trigger1 = NumTarget && AnimElem = 3
var(15) = 1
ignoreHitPause = 1
[State 811, Juggle Flag Set]
type = VarSet
trigger1 = NumTarget && AnimElem = 3
var(16) = 1
ignoreHitPause = 1
[State 811, EnvShake]
type = EnvShake
trigger1 = NumTarget && AnimElem = 3
time = 14
ampl = 5
freq = 120
[State 820, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 810,0
channel = 0
[State 820, Woosh Sound]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,2
channel = 1
[State 820, Hit Sound]
type = PlaySnd
trigger1 = NumTarget && AnimElem = 3
value = 2,2
channel = 2
[State 811, Width]
type = Width
trigger1 = !TIme
edge = 80,0
[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
trigger1 = NumTarget
pos = ceil(38 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
trigger1 = NumTarget
pos = ceil(42 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 3
trigger1 = NumTarget
pos = ceil(38 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 811, Hit Spark]
type = Helper
trigger1 = NumTarget && AnimElem = 3
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(42 * const(size.xScale)), ceil(-74 * const(size.yScale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1
[State 820, End]
type = ChangeState
trigger1 = var(44) <= 0
trigger1 = !Animtime
trigger2 = NumTarget
trigger2 = !(Target, Alive)
trigger3 = Time >= 180
value = 812
;Final Hit
[StateDef 812]
type = S
physics = N
moveType = A
anim = 812
ctrl = 0
velSet = 0,0
sprPriority = 1
[State 812, Throw]
type = TargetState
trigger1 = AnimElemTime(2) < 0
trigger1 = NumTarget
value = 816
[State 812, Throw]
type = TargetState
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(3) < 0
trigger1 = NumTarget
value = 817
[State 812, Width]
type = Width
trigger1 = 1
edge = ceil(40 * const(size.xScale)), 0
[State 812, Bind 1]
type = TargetBind
trigger1 = AnimElemTime(2) < 0
trigger1 = NumTarget
pos = ceil(38 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 812, Bind 2]
type = TargetBind
trigger1 = AnimElemTime(2) >= 0 && AnimElemTime(3) < 0
trigger1 = NumTarget
pos = ceil(42 * const(size.xScale)), ceil(0 * const(size.yScale))
[State 812, SprPriority]
type = SprPriority
trigger1 = AnimElem = 1 || AnimElem = 3
value = 1
[State 812, SprPriority]
type = SprPriority
trigger1 = AnimElem = 2
value = -1
[State 812, Damage]
type = TargetLifeAdd
trigger1 = NumTarget && AnimElem = 3
value = floor(ifElse(56 * fvar(11) < 7, -7, -56 * fvar(11)))
kill = 1
[State 812, EnvShake]
type = EnvShake
trigger1 = AnimElem = 3
time = 14
freq = 120
ampl = 4
[State 812, HitAdd]
type = HitAdd
trigger1 = NumTarget && AnimElem = 3
value = 1
[State 812, Hit Count Increment]
type = varAdd
trigger1 = NumTarget && AnimElem = 3
var(13) = 1
[State 812, Juggle Points Increment]
type = VarAdd
trigger1 = NumTarget && AnimElem = 3
var(15) = 1
ignoreHitPause = 1
[State 812, Juggle Flag Set]
type = VarSet
trigger1 = NumTarget && AnimElem = 3
var(16) = 1
ignoreHitPause = 1
[State 812, Throw]
type = TargetState
trigger1 = NumTarget && AnimElem = 3
value = 818
[State 812, Voice]
type = PlaySnd
trigger1 = AnimElem = 3
value = 810,1
channel = 0
[State 812, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,2
channel = 1
[State 812, Hit Snd]
type = PlaySnd
trigger1 = NumTarget && AnimElem = 3
value = 2,5
channel = 2
[State 812, Hit Spark]
type = Helper
trigger1 = NumTarget && AnimElem = 3
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(42 * const(size.xScale)), ceil(-74 * const(size.yScale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1
[State 812, End]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1
;===========<YOGA SMASH (TARGET)>==========
[StateDef 815]
type = A
moveType = H
physics = N
velSet = 0,0
sprPriority = 0
[State 815, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 815
[State 815, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
moveCamera = 0,0
ignoreHitPause = 1
[State 815, PalFX Flash]
type = PalFX
trigger1 = command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z"
trigger2 = command = "up" || command = "down" || command = "back" || command = "fwd"
time = 1
add = 32, 32, 32
;Being Hit
[StateDef 816]
type = A
moveType = H
physics = N
velSet = 0,0
sprPriority = 0
[State 816, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 816
[State 816, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
moveCamera = 0,0
[State 816, PalFX Flash]
type = PalFX
trigger1 = command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z"
trigger2 = command = "up" || command = "down" || command = "back" || command = "fwd"
time = 1
add = 32, 32, 32
;Being Hit
[StateDef 817]
type = A
moveType = H
physics = N
velSet = 0,0
sprPriority = 0
[State 817, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 817
[State 817, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
moveCamera = 0,0
[State 817, PalFX Flash]
type = PalFX
trigger1 = command = "a" || command = "b" || command = "c" || command = "x" || command = "y" || command = "z"
trigger2 = command = "up" || command = "down" || command = "back" || command = "fwd"
time = 1
add = 32, 32, 32
;After Throw
[StateDef 818]
type = A
physics = N
moveType = H
ctrl = 0
velSet = 0,0
sprPriority = 0
[State 818, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = 5030
[State 818, ChangeAnim]
type = ChangeAnim
trigger1 = Anim = 5030 && !AnimTime
trigger1 = SelfAnimExist(5035)
value = 5035
[State 818, ChangeAnim]
type = ChangeAnim
trigger1 = Anim != 5050 && !AnimTime
value = 5050
[State 818, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 1
moveCamera = 1,0
ignoreHitPause = 1
[State 818, VelAdd]
type = VelAdd
trigger1 = 1
y = 0.58
[State 818, VelSet]
type = VelSet
trigger1 = !Time
x = -4.17
y = -8.25
[State 818, EnvShake]
type = EnvShake
trigger1 = vel y > 0
trigger1 = pos y >= 25
time = 14
ampl = 4
freq = 120
[State 818, Recover]
type = SelfState
trigger1 = Alive
trigger1 = command = "recovery"
trigger1 = vel y > 0 && pos y >= const()
value = 5200
[State 818, ChangeAnim]
type = ChangeAnim
trigger1 = vel y > 0
trigger1 = pos y >= 25
trigger1 = SelfAnimExist(5051)
value = 5051
[State 818, End]
type = SelfState
trigger1 = vel y > 0
trigger1 = pos y >= 25
value = 5100
From this code, way in the beginning, if I time my attack just right, I can make the opponent freeze while Dhalsim can move around freely. Any suggestions on what to do?