;-----------------------------------------------------------------
; Stand close Light Kick
[StateDef 211]
Anim = 211
MoveType = A
StateType = S
Physics = S
Ctrl = 0
[State 211, String reset]
type = VarSet
trigger1 = !Time
trigger1 = Var(1) < 1000
var(1) = 0
; I''m resetting the variable to avoid leftovers from a previous combo, except if I''m in a special branch (>1000)
[State 211, Left Jab / Right Elbow to Double Low]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "b"
trigger1 = PrevStateNo = 200 || PrevStateNo = 201
trigger1 = !Var(1)
var(1) = 213
; a classic combo, nothing special
[State 211, KS5HC]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "y"
trigger1 = PrevStateNo = 201
trigger1 = !Var(1)
var(1) = 235
; another classic combo
[State 211, 10HC 3]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "a"
trigger1 = PrevStateNo = 251
var(1) = 1233
; first part of my special branches
; I use a special value so that in the later state, I know I''m in a special branch
[State 211, 10HC 9]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "b"
trigger1 = PrevStateNo = 232
var(1) = 1234
; ditto, but further along the same branch
; only way I can come to this state from that previous state is in this special branch, so no other particular condition
[State 211, O7HC 5]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "y"
trigger1 = PrevStateNo = 245
var(1) = 3202
; a different branch
; value 3202 will let me know I''m in that other branch
[State 211, String - 10HC 3]
type = ChangeState
trigger1 = AnimElemNo(0) >=
trigger1 = Var(1) = 1233
value = 233
; changestate for a special branch
[State 211, String - 10HC 9]
type = ChangeState
trigger1 = AnimElemNo(0) >=
trigger1 = Var(1) = 1234
value = 234
[State 211, String - O7HC 5]
type = ChangeState
trigger1 = AnimElemNo(0) >=
trigger1 = Var(1) = 3202
value = 202
[State 211, String]
type = ChangeState
trigger1 = AnimElemNo(0) >=
trigger1 = Var(1)
value = Var(1)
; changestate for classic branches
[State 211, End]
type = ChangeState
trigger1 = !AnimElemTime
value = 0
;-----------------------------------------------------------------
; Stand close Medium Kick
[StateDef 213]
Anim = 213
MoveType = A
StateType = S
Physics = S
Ctrl = 0
[State 213, String reset]
type = VarSet
trigger1 = !Time
trigger1 = Var(1) < 1000
var(1) = 0
[State 212, O7HC 7]
type = VarSet
trigger1 = AnimElemNo(0) <
trigger1 = Command = "c"
trigger1 = Var(1) = 3213
var(1) = 3350
; I come from state 213, with the variable value 3123 : I know in which branch I am and at what point of it I am
; from this, I know which next state I can go to (350), and since that state may be used in other branches, I let it know with value 3350 that I''m in this branch
[State 212, O7HC 7]
type = ChangeState
trigger1 = AnimElemNo(0) >=
trigger1 = Var(1) = 3350
value = 350
[State 213, End]
type = ChangeState
trigger1 = !AnimElemTime
value = 0
It's just one variable, and I'm using the same for button press detection to differentiate a qcf+light punch from a qcf+heavy punch. Since these functions don't overlap (I can't have a qcf+lp different from a qcf+hp in this branch system), I can use the same variable without collision.