;=================================== ;Guard Start [StateDef 120] type = U physics = U anim = 120 + (StateType = C) + (StateType = A) * 2 [State 120, StateTypeSet: Standing] type = StateTypeSet trigger1 = !Time && StateType = S physics = S [State 120, StateTypeSet: Crouching] type = StateTypeSet trigger1 = !Time && StateType = C physics = C [State 120, StateTypeSet: Jumping] type = StateTypeSet trigger1 = !Time && StateType = A physics = A [State 120, VelSet] type = VelSet trigger1 = !Time && StateType != A x = 0 y = 0 [State 120, Stand to Crouching] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = S && command = "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = S && command = "holdup" trigger3 = AILevel && StateType = S && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) stateType = C physics = C [State 120, Crouching to Stand] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = C && command != "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = C && command != "holdup" trigger3 = AILevel && StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S [State 120, AI Fix] type = CtrlSet trigger1 = AILevel && NumEnemy value = (EnemyNear, Time >= 120 || Time >= 180) [State 120, Change to Guard State] type = ChangeState trigger1 = !AnimTime || AILevel value = 130 + (StateType = C) + (StateType = A) * 2 [State 120, Stop Guarding] type = ChangeState trigger1 = !AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command != "holdfwd", command != "holdback"), ifElse(P2dist x < 0, command != "holdback", command != "holdfwd"))) trigger2 = !InGuardDist trigger3 = AILevel && NumEnemy trigger3 = EnemyNear, HitDefAttr = SCA, AT value = 140 ;Standing Guard [StateDef 130] type = S physics = S [State 130, ChangeAnim] type = ChangeAnim trigger1 = Anim != 130 value = 130 [State 130, AI Fix] type = CtrlSet trigger1 = AILevel && NumEnemy value = (EnemyNear, Time >= 120 || Time >= 180) [State 130, Standing to Crouch] type = ChangeState trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = S && command = "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = S && command = "holdup" trigger3 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) trigger3 = (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) value = 131 [State 130, Stop Guarding] type = ChangeState trigger1 = !AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command != "holdfwd", command != "holdback"), ifElse(P2dist x < 0, command != "holdback", command != "holdfwd"))) trigger2 = !InGuardDist trigger3 = AILevel && NumEnemy trigger3 = EnemyNear, HitDefAttr = SCA, AT value = 140 [State 130, Landing Sound] type = PlaySnd trigger1 = !Time trigger1 = PrevStateNo = 132 || (PrevStateNo = [154,155]) value = 52,0 [State 130, Landing Dust Expod] type = Explod trigger1 = !Time trigger1 = PrevStateNo = 132 || (PrevStateNo = [154,155]) anim = 8102 sprpriority = -3 posType = P1 scale = 0.5,0.5 pauseMoveTime = -1 superMoveTime = -1 ownPal = 1 ;Crouch Guarding [StateDef 131] type = C physics = C [State 131, ChangeAnim] type = ChangeAnim trigger1 = anim != 131 value = 131 [State 131, Crouching to Standing] type = ChangeState trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = C && command != "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = C && command != "holdup" trigger3 = AILevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger3 = (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) value = 130 [State 131, AI Fix] type = CtrlSet trigger1 = AILevel && NumEnemy value = (EnemyNear, Time >= 120 || Time >= 180) [State 131, Stop Guarding] type = ChangeState trigger1 = !AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command != "holdfwd", command != "holdback"), ifElse(P2dist x < 0, command != "holdback", command != "holdfwd"))) trigger2 = !InGuardDist trigger3 = AILevel && NumEnemy trigger3 = EnemyNear, HitDefAttr = SCA, AT value = 140 ;Air Guard [StateDef 132] type = A physics = N [State 132, ChangeAnim] type = ChangeAnim trigger1 = anim != 132 value = 132 [State 132, VelAdd] type = VelAdd trigger1 = 1 y = const(movement.yAccel) [State 132, VarSet] type = VarSet trigger1 = 1 sysvar(0) = (pos y >= 0 && vel y > 0) [State 132, VelSet] type = VelSet trigger1 = sysvar(0) y = 0 [State 132, PosSet] type = PosSet trigger1 = sysvar(0) y = 0 [State 132, AI Fix] type = CtrlSet trigger1 = AILevel && NumEnemy value = (EnemyNear, Time >= 120 || Time >= 180) [State 132, Jumping to Standing] type = ChangeState trigger1 = sysvar(0) && InGuardDist trigger1 = (!AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command = "holdfwd", command = "holdback"), ifElse(P2dist x < 0, command = "holdback", command = "holdfwd")))) || AILevel value = 130 [State 132, Change to Falling] type = ChangeState trigger1 = sysvar(0) value = 52 [State 132, Stop Guarding] type = ChangeState trigger1 = !AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command != "holdfwd", command != "holdback"), ifElse(P2dist x < 0, command != "holdback", command != "holdfwd"))) trigger2 = !InGuardDist trigger3 = AILevel && NumEnemy trigger3 = EnemyNear, HitDefAttr = SCA, AT value = 140 ;Guard End [StateDef 140] type = U physics = U ctrl = 1 [State 140, ChangeAnim] type = ChangeAnim trigger1 = !Time value = 140 + (StateType = C) + (StateType = A) * 2 [State 140, StateTypeSet: Standing] type = StateTypeSet trigger1 = !Time && StateType = S physics = S [State 140, StateTypeSet: Crouching] type = StateTypeSet trigger1 = !Time && StateType = C physics = C [State 140, StateTypeSet: Jumping] type = StateTypeSet trigger1 = !Time && StateType = A physics = A [State 140, Standing to Crouching] type = StateTypeSet trigger1 = !AILevel && StateType = S && (NumExplod(90000002) || NumExplod(90000001) || NumExplod(90000003)) trigger2 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) trigger2 = StateType = S && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) stateType = C physics = C [State 140, Crouching to Standing] type = StateTypeSet trigger1 = !AILevel && StateType = C && (!NumExplod(90000002) && !NumExplod(90000001) && !NumExplod(90000003)) trigger2 = AILevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger2 = StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S [State 140, End] type = ChangeState trigger1 = !AnimTime value = (StateType = C) * 11 + (StateType = A) * 51 ;Hit while Guarding (Standing) [StateDef 150] type = S movetype = H physics = N velSet = 0,0 [State 150, ChangeAnim] type = ChangeAnim trigger1 = 1 value = 150 [State 150, End] type = ChangeState trigger1 = HitShakeOver value = 151 + 2 * ((!AILevel && (NumExplod(90000002) || NumExplod(90000001) || NumExplod(90000003))) || (AILevel && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C))) [State 150, Standing to Crouching] type = StateTypeSet trigger1 = !AILevel && StateType = S && (NumExplod(90000002) || NumExplod(90000001) || NumExplod(90000003)) trigger2 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) stateType = C physics = C [State 150, Crouching to Standing] type = StateTypeSet trigger1 = !AILevel && StateType = C && (!NumExplod(90000002) && !NumExplod(90000001) && !NumExplod(90000003)) trigger2 = AIlevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger2 = StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S ;Knocked Back while Guarding (Standing) [StateDef 151] type = S moveType = H physics = S anim = 150 [State 151, HitVelSet] type = HitVelSet trigger1 = !Time x = 1 [State 151, VelSet] type = VelSet trigger1 = Time = GetHitVar(SlideTime) trigger2 = HitOver x = 0 [State 151, CtrlSet] type = CtrlSet trigger1 = time = GetHitVar(CtrlTime) value = 1 [State 151, Standing to Crouching] type = StateTypeSet trigger1 = !AILevel && StateType = S && (NumExplod(90000002) || NumExplod(90000001) || NumExplod(90000003)) trigger2 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) trigger2 = StateType = S && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) stateType = C physics = C [State 151, Crouching to Standing] type = StateTypeSet trigger1 = !AILevel && StateType = C && (!NumExplod(90000002) && !NumExplod(90000001) && !NumExplod(90000003)) trigger2 = AILevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger2 = StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S [State 151, End] type = ChangeState trigger1 = HitOver value = 130 ctrl = 1 ;Hit while Guarding (Crouching) [StateDef 152] type = C moveType = H physics = N velSet = 0,0 [State 152, ChangeAnim] type = ChangeAnim trigger1 = 1 value = 151 [State 152, End] type = ChangeState trigger1 = HitShakeOver value = 151 + 2 * ((!AILevel && ((!NumExplod(92828282) && !NumExplod(92468246) && command = "holddown") || ((NumExplod(92828282) || NumExplod(92468246)) && command = "holdup"))) || (AILevel && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C))) [State 152, Standing to Crouching] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = S && command = "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = S && command = "holdup" trigger3 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) trigger3 = StateType = S && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) stateType = C physics = C [State 152, Crouching to Standing] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = C && command != "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = C && command != "holdup" trigger3 = AILevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger3 = StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S ;Knocked Back while Guarding (Crouching) [StateDef 153] type = C moveType = H physics = C anim = 151 [State 153, HitVelSet] type = HitVelSet trigger1 = !Time x = 1 [State 153, VelSet] type = VelSet trigger1 = Time = GetHitVar(SlideTime) trigger2 = HitOver x = 0 [State 153, CtrlSet] type = CtrlSet trigger1 = Time = GetHitVar(CtrlTime) value = 1 [State 153, Standing to Crouching] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = S && command = "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = S && command = "holdup" trigger3 = AILevel && Random < (250 * (AILevel ** 2 / 64.0)) trigger3 = StateType = S && (EnemyNear, MoveType = A) && (EnemyNear, StateType = C) stateType = C physics = C [State 153, Crouching to Standing] type = StateTypeSet trigger1 = !NumExplod(92828282) && !NumExplod(92468246) trigger1 = !AILevel && StateType = C && command != "holddown" trigger2 = NumExplod(92828282) || NumExplod(92468246) trigger2 = !AILevel && StateType = C && command != "holdup" trigger3 = AILevel && Random < (125 * (AILevel ** 2 / 64.0)) trigger3 = StateType = C && (EnemyNear, MoveType = A) && (EnemyNear, StateType != C) stateType = S physics = S [State 153, End] type = ChangeState trigger1 = HitOver value = 131 ctrl = 1 ;Hit while Guarding (Jumping) [StateDef 154] type = A moveType = H physics = N velSet = 0,0 [State 154, ChangeAnim] type = ChangeAnim trigger1 = 1 value = 152 [State 154, End] type = ChangeState trigger1 = HitShakeOver value = 155 ;Knocked Back while Guarding (Jumping) [StateDef 155] type = A moveType = H physics = N anim = 152 [State 155, HitVelSet] type = HitVelSet trigger1 = !Time x = 1 y = 1 [State 155, VelAdd] type = VelAdd trigger1 = 1 y = const(movement.yAccel) [State 155, CtrlSet] type = CtrlSet trigger1 = Time = GetHitVar(CtrlTime) value = 1 [State 155, VarSet] type = VarSet trigger1 = 1 sysvar(0) = (pos y >= 0 && vel y > 0) [State 155, VelSet] type = VelSet trigger1 = sysvar(0) y = 0 [State 155, PosSet] type = PosSet trigger1 = sysvar(0) y = 0 [State 155, End] type = ChangeState trigger1 = sysvar(0) && InGuardDist trigger1 = (!AILevel && (ifElse(!NumExplod(94646464) && !NumExplod(92468246), ifElse(P2dist x < 0, command != "holdfwd", command != "holdback"), ifElse(P2dist x < 0, command != "holdback", command != "holdfwd")))) || AILevel value = 130 [State 155, End] type = ChangeState trigger1 = sysvar(0) value = 52