; Common state file ; ; System variables usage ; ---------------------- ; Var name Type Purpose ; -------- ---- ------- ; sysvar(0) Temp Set by state 5081 (HITL_SLIDE) to 1 to prevent ; showing ground hit frame in state 5110 (HIT_LIEDOWN). ; Used by guarding states. ; sysvar(1) Temp Used by state 40 (Jump Start) amd 45 (Air Jump Start) ; to keep track of which way to jump. ; Used by state 5100 and 5110 to remember downward ; velocity of player just before hitting the ground. ; Used in state 5080 for storing the anim # to display. ;--------------------------------------------------------------------------- ; Stand [Statedef 0] type = S physics = S sprpriority = 0 [State 0, 1] type = ChangeAnim trigger1 = Anim != 0 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over value = 0 [State 0, 2] type = VelSet trigger1 = Time = 0 y = 0 [State 0, 3] ;Stop moving if low velocity or 4 ticks pass type = VelSet trigger1 = abs(vel x) < 2 trigger2 = Time = 4 x = 0 ;--------------------------------------------------------------------------- ; Stand to Crouch [Statedef 10] type = C physics = C anim = 10 [State 10, 1] type = VelMul trigger1 = Time = 0 x = .75 [State 10, 2] type = ChangeState trigger1 = AnimTime = 0 value = 11 ;--------------------------------------------------------------------------- ; Crouching [Statedef 11] type = C physics = C anim = 11 sprpriority = 0 [State 11, 1] ;Change from turning animation type = ChangeAnim trigger1 = Anim = 6 && AnimTime = 0 value = 11 ;--------------------------------------------------------------------------- ; Crouch to Stand [Statedef 12] type = S physics = S anim = 12 [State 12, 1] type = ChangeState trigger1 = AnimTime = 0 value = 0 ;--------------------------------------------------------------------------- ; Walk [Statedef 20] type = S physics = S sprpriority = 0 [State 20, 1] type = VelSet trigger1 = command = "holdfwd" x = const(velocity.walk.fwd.x) [State 20, 2] type = VelSet trigger1 = command = "holdback" x = const(velocity.walk.back.x) [State 20, 3] type = ChangeAnim triggerall = vel x > 0 trigger1 = Anim != 20 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 value = 20 [State 20, 4] type = ChangeAnim triggerall = vel x < 0 trigger1 = Anim != 21 && Anim != 5 trigger2 = Anim = 5 && AnimTime = 0 value = 21 ;--------------------------------------------------------------------------- ; Jump Start [Statedef 40] type = S physics = S anim = 40 ctrl = 0 sprpriority = 1 [State 40, 1] type = VarSet trigger1 = Time = 0 sysvar(1) = 0 [State 40, 2] type = VarSet trigger1 = command = "holdfwd" sysvar(1) = 1 [State 40, 3] type = VarSet trigger1 = command = "holdback" sysvar(1) = -1 [State 40, 4] type = VelSet trigger1 = AnimTime = 0 x = ifelse(sysvar(1)=0, const(velocity.jump.neu.x), ifelse(sysvar(1)=1, const(velocity.jump.fwd.x), const(velocity.jump.back.x))) y = const(velocity.jump.y) [State 40, 5] type = VelSet trigger1 = AnimTime = 0 trigger1 = prevstateno = 100 ;RUN_FWD trigger1 = sysvar(1) = 1 x = const(velocity.runjump.fwd.x) [State 40, 5] type = AfterImage trigger1 = AnimTime = 0 trigger1 = prevstateno = 100 ;RUN_FWD trigger1 = sysvar(1) = 1 time = 40 length = 6 palpostbright = 0,0,0 framegap = 2 persistent = 1 ignorehitpause = 0 [State 40, 6] type = ChangeState trigger1 = AnimTime = 0 value = 50 ctrl = 1 ;--------------------------------------------------------------------------- ; AirJump Start [Statedef 45] type = A physics = N ctrl = 0 velset = 0,0 [State 45, 1] type = ChangeAnim trigger1 = SelfAnimExist(44) value = 44 [State 45, 2] type = ChangeAnim trigger1 = !SelfAnimExist(44) value = 41 [State 45, 3] type = VarSet trigger1 = Time = 0 sysvar(1) = 0 [State 45, 4] type = VarSet trigger1 = command = "holdfwd" sysvar(1) = 1 [State 45, 5] type = VarSet trigger1 = command = "holdback" sysvar(1) = -1 [State 45, 6] type = VelSet trigger1 = Time = 2 x = ifelse(sysvar(1)=0, const(velocity.airjump.neu.x), ifelse(sysvar(1)=1, const(velocity.airjump.fwd.x), const(velocity.airjump.back.x))) y = const(velocity.airjump.y) [State 45, 7] type = ChangeState trigger1 = Time = 2 value = 50 ctrl = 1 ;--------------------------------------------------------------------------- ; Jump Up [Statedef 50] type = A physics = A [State 50, 1] type = VarSet trigger1 = Time = 0 sysvar(1) = 0 [State 50, 2] type = ChangeAnim trigger1 = Time = 0 value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43)) [State 50, 3] type = ChangeAnim trigger1 = Vel y > -2 trigger1 = SelfAnimExist(anim + 3) persistent = 0 value = Anim + 3 ;--------------------------------------------------------------------------- ; Jump Down (empty state for compatibility) [Statedef 51] type = A physics = A [State 51, 1] type = Null trigger1 = 1 ;--------------------------------------------------------------------------- ; Jump Land [Statedef 52] type = S physics = S ctrl = 0 anim = 47 [State 52, 1] type = VelSet trigger1 = Time = 0 y = 0 [State 52, 2] type = PosSet trigger1 = Time = 0 y = 0 [State 52, 3] type = CtrlSet trigger1 = Time = 3 value = 1 [State 52, 4] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; DASH_FWD [Statedef 100] type = S physics = S anim = 100 sprpriority = 1 [State 100, 1] type = VelSet trigger1 = 1 x = const(velocity.run.fwd.x) [State 100, 2] ;Prevent run from canceling into walk type = AssertSpecial trigger1 = 1 flag = NoWalk [State 100, 3] ;Prevent from turning type = AssertSpecial trigger1 = 1 flag = NoAutoTurn [State 100, 4] type = ChangeState trigger1 = AnimTime = 0 value = 0 ;--------------------------------------------------------------------------- ; RUN_BACK [Statedef 105] type = A physics = A ctrl = 0 anim = 105 sprpriority = 1 [State 105, 1] type = VelSet trigger1 = Time = 0 x = const(velocity.run.back.x) y = const(velocity.run.back.y) [State 105, 2] type = CtrlSet trigger1 = Time = 2 value = 1 [State 105, 3] type = ChangeState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 106 ;--------------------------------------------------------------------------- ; RUN_BACK2 (land) [Statedef 106] type = S physics = S ctrl = 0 anim = 47 [State 106, 1] type = VelSet trigger1 = Time = 0 x = 0 y = 0 [State 106, 2] type = PosSet trigger1 = Time = 0 y = 0 [State 106, 3] type = MakeDust trigger1 = Time = 2 pos = -5,-2 spacing = 1 [State 106, 4] type = ChangeState trigger1 = Time = 7 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; RUN_UP [Statedef 110] type = S physics = N [State 110, 0] type = CtrlSet trigger1 = Time = 0 value = 0 [State 110, 1] type = ChangeAnim trigger1 = Time = 0 value = 110 [State 110, 2] type = HitBy trigger1 = Time = 0 value = SCA, NT, ST, HT time = 30 [State 110, 3] type = VelSet trigger1 = Time = 0 x = 0 z = -7 [State 110, 4] type = VelMul trigger1 = 1 z = 0.8 [State 110, 5] type = VelSet trigger1 = AnimTime = -8 z = 0 [State 110, 7] type = CtrlSet trigger1 = AnimTime = 0 value = 1 [State 110, 8] type = ChangeState trigger1 = AnimTime = 0 value = 0 ;--------------------------------------------------------------------------- ; RUN_DOWN [Statedef 115] type = S physics = N [State 115, 0] type = CtrlSet trigger1 = Time = 0 value = 0 [State 115, 1] type = ChangeAnim trigger1 = Time = 0 value = 110 [State 115, 2] type = HitBy trigger1 = Time = 0 value = SCA, NT, ST, HT time = 30 [State 115, 3] type = VelSet trigger1 = Time = 0 x = 0 z = 7 [State 115, 4] type = VelMul trigger1 = 1 z = 0.8 [State 115, 5] type = VelSet trigger1 = AnimTime = -8 z = 0 [State 115, 7] type = CtrlSet trigger1 = AnimTime = 0 value = 1 [State 115, 8] type = ChangeState trigger1 = AnimTime = 0 value = 0 ;--------------------------------------------------------------------------- ; GUARD (start) [Statedef 120] type = U ;Leave state type unchanged physics = U ;Leave physics unchanged [State 120, 1] type = ChangeAnim trigger1 = Time = 0 value = 120 + (statetype = C) + (statetype = A)*2 [State 120, 2] type = StateTypeSet trigger1 = Time = 0 && statetype = S physics = S [State 120, 3] type = StateTypeSet trigger1 = Time = 0 && statetype = C physics = C [State 120, 4] type = StateTypeSet trigger1 = Time = 0 && statetype = A physics = A [State 120, 5] type = ChangeState trigger1 = AnimTime = 0 value = 130 + (statetype = C) + (statetype = A)*2 ;--------------------------------------------------------------------------- ; STAND GUARD (guarding) [Statedef 130] type = S physics = S [State 130, 1] type = ChangeAnim trigger1 = Anim != 130 value = 130 [State 130, 2];Guard Counter attempt type = ChangeState trigger1 = power >= 200 trigger1 = command = "start" value = 134 ;--------------------------------------------------------------------------- ; CROUCH GUARD (guarding) [Statedef 131] type = C physics = C [State 131, 1] type = ChangeAnim trigger1 = Anim != 131 value = 131 ;--------------------------------------------------------------------------- ; AIR GUARD (guarding) [Statedef 132] type = A physics = N [State 132, 1] type = ChangeAnim trigger1 = Anim != 132 value = 132 [State 132, 2] type = VelAdd trigger1 = 1 y = Const(movement.yaccel) [State 132, 3] type = VarSet trigger1 = 1 sysvar(0) = (pos y >= 0) && (vel y > 0) [State 132, 4] type = VelSet trigger1 = sysvar(0) y = 0 [State 132, 5] type = PosSet trigger1 = sysvar(0) y = 0 [State 132, 6] type = ChangeState trigger1 = sysvar(0) trigger1 = command != "holdback" value = 52 [State 132, 7] type = ChangeState trigger1 = sysvar(0) value = 130 ;--------------------------------------------------------------------------- ; Cheese Kill (guarding) [Statedef 133] type = L movetype = H physics = N vel = 0,0 anim = 5130 [State 130, 1] type = StateTypeSet trigger1 = 1 statetype = S Physics = S [State 132, 7] type = ChangeState trigger1 = AnimTime = 0 value = 5150 ;--------------------------------------------------------------------------- ; Guard CounterAttack [Statedef 134] type = S movetype = A physics = S anim = 240 poweradd = -1000 [State 130, 1] type = NotHitby trigger1 = AnimElem = 1 value = SCA time = 20 persistent = 1 [State 240, 2] type = HitDef trigger1 = Time = 0 attr = S, NA animtype = Hard damage = 0 guardflag = MA pausetime = 12,12 sparkno = 1 sparkxy = -10,-60 hitsound = 5,4 guardsound = 6,0 ground.type = Low ground.slidetime = 12 ground.hittime = 15 ground.velocity = -6,-6 air.velocity = -2.2,-4 fall = 1 [State 132, 7] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; Guard Cancel A [Statedef 135] type = S movetype = A physics = S anim = 100 poweradd = -200 [State 100, 1] type = VelSet trigger1 = 1 x = const(velocity.run.fwd.x) [State 135, 1] type = NotHitby trigger1 = AnimElem = 1 value = SCA time = 30 persistent = 1 [State 135, 2] type = CtrlSet trigger1 = Time = 20 value = 1 ignorehitpause = 0 persistent = 1 [State 132, 3] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; Guard Cancel B [Statedef 136] type = S movetype = A physics = S anim = 100 poweradd = -600 [State 100, 1] type = VelSet trigger1 = 1 x = const(velocity.run.fwd.x) [State 135, 1] type = NotHitby trigger1 = AnimElem = 1 value = SCA time = 30 persistent = 1 [State 135, 2] type = CtrlSet trigger1 = Time = 20 value = 1 ignorehitpause = 0 persistent = 1 [State 132, 3] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; GUARD (end) [Statedef 140] type = U ;Leave state type unchanged physics = U ;Leave physics unchanged ctrl = 1 [State 140, 1] type = ChangeAnim trigger1 = Time = 0 value = 140 + (statetype = C) + (statetype = A)*2 [State 140, 2] type = StateTypeSet trigger1 = Time = 0 && statetype = S physics = S [State 140, 3] type = StateTypeSet trigger1 = Time = 0 && statetype = C physics = C [State 140, 4] type = StateTypeSet trigger1 = Time = 0 && statetype = A physics = A ;[State 140, 5] ;Implemented within engine ;type = ChangeState ;trigger1 = AnimTime = 0 ;value = (statetype = C)*11 + (statetype = A)*51 ;--------------------------------------------------------------------------- ; SGUARDHIT (shaking) [Statedef 150] type = S movetype= H physics = N velset = 0,0 ctrl = 0 [State 130, 2];Guard Counterattack attempt type = ChangeState trigger1 = power >= 1000 trigger1 = command = "a" value = 134 [State 130, 2];Guard Cancel A attempt type = ChangeState trigger1 = power >= 200 trigger1 = command = "b" value = 135 [State 130, 2];Guard Cancel B attempt type = ChangeState trigger1 = power >= 600 trigger1 = command = "c" value = 136 [State 150, 1] type = ChangeAnim trigger1 = 1 value = 150 [State 150, 2] type = ChangeState trigger1 = HitShakeOver value = 151 [State 150, 3] type = ForceFeedback trigger1 = time = 0 waveform = square time = 3 ;--------------------------------------------------------------------------- ; SGUARDHIT2 (knocked back) [Statedef 151] type = S movetype= H physics = S anim = 150 ctrl = 1 [State 130, 2];Guard Counterattack attempt type = ChangeState trigger1 = power >= 1000 trigger1 = command = "a" value = 134 [State 130, 2];Guard Cancel A attempt type = ChangeState trigger1 = power >= 200 trigger1 = command = "start" value = 135 [State 151, 1] type = HitVelSet trigger1 = Time = 0 x = 1 [State 151, 2] type = VelSet trigger1 = Time = GetHitVar(slidetime) trigger2 = Time >= GetHitVar(hittime) x = 0 [State 151, 3] type = CtrlSet trigger1 = Time = GetHitVar(ctrltime) value = 1 [State 151, 4] type = ChangeState trigger1 = Time >= GetHitVar(hittime) value = 130 ctrl = 1 ;--------------------------------------------------------------------------- ; CGUARDHIT (shaking) [Statedef 152] type = C movetype= H physics = N velset = 0,0 [State 152, 1] type = ChangeAnim trigger1 = 1 value = 151 [State 152, 3] type = ChangeState trigger1 = HitShakeOver value = 153 [State 152, 4] type = ForceFeedback trigger1 = time = 0 waveform = square time = 4 ;--------------------------------------------------------------------------- ; CGUARDHIT2 (knocked back) [Statedef 153] type = C movetype= H physics = C anim = 151 [State 153, 1] type = HitVelSet trigger1 = Time = 0 x = 1 [State 153, 2] type = VelSet trigger1 = Time = GetHitVar(slidetime) trigger2 = Time >= GetHitVar(hittime) x = 0 [State 153, 3] type = CtrlSet trigger1 = Time = GetHitVar(ctrltime) value = 1 [State 153, 4] type = ChangeState trigger1 = Time >= GetHitVar(hittime) value = 131 ctrl = 1 ;--------------------------------------------------------------------------- ; AGUARDHIT (shaking) [Statedef 154] type = A movetype= H physics = N velset = 0,0 [State 154, 1] type = ChangeAnim trigger1 = 1 value = 152 [State 154, 2] type = ChangeState trigger1 = HitShakeOver value = 155 ;AGUARDHIT2 [State 154, 3] type = ForceFeedback trigger1 = time = 0 waveform = square time = 4 ;--------------------------------------------------------------------------- ; AGUARDHIT2 (knocked away) [Statedef 155] type = A movetype= H physics = N anim = 152 [State 155, 1] type = HitVelSet trigger1 = Time = 0 x = 1 y = 1 [State 155, 2] type = VelAdd trigger1 = 1 y = Const(movement.yaccel) [State 155, 3] type = CtrlSet trigger1 = Time = GetHitVar(ctrltime) value = 1 [State 155, 4] type = VarSet trigger1 = 1 sysvar(0) = (pos y >= 0) && (vel y > 0) [State 155, 5] type = VelSet trigger1 = sysvar(0) y = 0 [State 155, 6] type = PosSet trigger1 = sysvar(0) y = 0 [State 155, 7] type = ChangeState trigger1 = sysvar(0) trigger1 = command != "holdback" value = 52 [State 155, 8] type = ChangeState trigger1 = sysvar(0) value = 130 ;--------------------------------------------------------------------------- ; LOSE (Time over) [Statedef 170] type = S ctrl = 0 anim = 170 velset = 0,0 [State 170, 1] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;--------------------------------------------------------------------------- ; DRAWGAME (Time over) [Statedef 175] type = S ctrl = 0 velset = 0,0 [State 175, 1] ; If no anim, use go to lose state. type = ChangeState trigger1 = Time = 0 trigger1 = !SelfAnimExist(175) value = 170 [State 175, 2] type = ChangeAnim trigger1 = Time = 0 value = 175 [State 175, 3] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;--------------------------------------------------------------------------- ; PREINTRO [Statedef 190] type = S ctrl = 0 velset = 0,0 [State 190, 1] type = ChangeAnim trigger1 = SelfAnimExist(190) value = 190 [State 190, 2] ;Go straight to intro. type = ChangeState trigger1 = Time = 0 value = 191 ;--------------------------------------------------------------------------- ; INTRO (override this state to give character an intro) [Statedef 191] type = S ctrl = 0 [State 191, 1] type = ChangeState trigger1 = Time = 0 value = 0 ;--------------------------------------------------------------------------- ; HITG_SHAKE [Statedef 5000] type = S movetype= H physics = N velset = 0,0 ;---------------------------------------- [State 5000, DIZZY CODE] type = Varset trigger1 = prevstateno = 5250 trigger1 = time = 0 var(13) = 0 persistent = 0 ignorehitpause = 1 [State 5000, DIZZY CODE] type = VarAdd trigger1 = prevstateno != 5250 trigger1 = time = 0 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 0 var(13) = 50 persistent = 0 ignorehitpause = 1 [State 5000, DIZZY CODE] type = VarAdd trigger1 = prevstateno != 5250 trigger1 = time = 0 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 1 var(13) = 100 persistent = 0 ignorehitpause = 1 [State 5000, DIZZY CODE] type = VarAdd trigger1 = prevstateno != 5250 trigger1 = time = 0 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 2 var(13) = 125 persistent = 0 ignorehitpause = 1 [State 5000, DIZZY CODE] type = VarAdd trigger1 = prevstateno != 5250 trigger1 = time = 0 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) >= 3 var(13) = 75 persistent = 0 ignorehitpause = 1 [State 5000, 7] type = ChangeState trigger1 = prevstateno != 5250 trigger1 = var(13) >= 1000 trigger1 = HitShakeOver value = 5249 ctrl = 0 ;----------------------------------------- [State 5000, 6] type = ChangeState trigger1 = PrevStateNo = [120,140] trigger1 = !alive value = 133 [State 5000, 1] ;Anim for HIT_LIGHT to HIT_HARD type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) != [3,5] value = ifelse((GetHitVar(groundtype) = 1),5000,5010) + GetHitVar(animtype) [State 5000, 2] ;Anim for HIT_BACK type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) = [3,5] value = 5030 [State 5000, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists) type = ChangeAnim trigger1 = Time = 0 trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype))) value = 5047 + GetHitVar(animtype) ;5051 - 4 + type [State 5000, 4] ;Freeze anim type = ChangeAnim trigger1 = Time > 0 value = anim [State 5000, 5] ;State type gets set to aerial if getting hit up type = StateTypeSet trigger1 = Time = 0 trigger1 = GetHitVar(yvel) != 0 && GetHitVar(fall) trigger2 = Pos Y != 0 type = a [State 5000, 6] type = ChangeState trigger1 = HitShakeOver trigger1 = GetHitVar(yvel) = 0 value = 5001 ;HITG_SLIDE [State 5000, 7] type = ChangeState trigger1 = HitShakeOver value = 5030 [State 5000, FFB Light] type = ForceFeedback trigger1 = anim = 5000 trigger2 = anim = 5010 persistent = 0 time = 6 waveform = square [State 5000, FFB Medium] type = ForceFeedback trigger1 = anim = 5001 trigger2 = anim = 5011 persistent = 0 time = 8 waveform = sinesquare ampl = 110,-1,-.3 [State 5000, FFB Hard] type = ForceFeedback trigger1 = anim = 5012 trigger2 = anim = 5002 trigger3 = anim = 5030 persistent = 0 time = 15 waveform = sinesquare ampl = 140 ;--------------------------------------------------------------------------- ; HITG_SLIDE [Statedef 5001] type = S movetype= H physics = S [State 5001, 1] type = HitVelSet trigger1 = Time = 0 x = 1 [State 5001, 2] type = ChangeAnim trigger1 = AnimTime = 0 value = 5005 + GetHitVar(animtype) + (GetHitVar(groundtype)=2)*10 [State 5001, 3] ;Stop sliding back type = VelMul trigger1 = Time >= GetHitVar(slidetime) x = .6 [State 5001, 4] type = VelSet trigger1 = HitOver x = 0 [State 5001, 5] type = DefenceMulSet trigger1 = HitOver value = 1 [State 5001, 6] type = ChangeState trigger1 = HitOver value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; HITC_SHAKE [Statedef 5010] type = C movetype= H physics = N velset = 0,0 ;---------------------------------------- [State 5010, DIZZY CODE] type = Varset trigger1 = prevstateno = 5250 trigger1 = time = 0 var(13) = 0 persistent = 0 ignorehitpause = 1 [State 5010, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 0 var(13) = 50 persistent = 0 ignorehitpause = 1 [State 5010, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 1 var(13) = 100 persistent = 0 ignorehitpause = 1 [State 5010, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 2 var(13) = 150 persistent = 0 ignorehitpause = 1 [State 5010, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) >= 3 var(13) = 200 persistent = 0 ignorehitpause = 1 [State 5010, 7] type = ChangeState trigger1 = prevstateno != 5250 trigger1 = var(13) >= 1000 trigger1 = HitShakeOver value = 5249 ctrl = 0 ;----------------------------------------- [State 5010, 1] ;Anim for HIT_LIGHT to HIT_HARD type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) != [3,5] value = 5020 + GetHitVar(animtype) [State 5010, 2] ;Anim for HIT_BACK type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) = [3,5] value = 5030 [State 5010, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists) type = ChangeAnim trigger1 = Time = 0 trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype))) value = 5047 + GetHitVar(animtype) ;5051 - 4 + type [State 5010, 4] ;Freeze anim type = ChangeAnim trigger1 = Time > 0 value = anim [State 5010, 5] type = ChangeState trigger1 = HitShakeOver trigger1 = GetHitVar(yvel) = 0 value = 5011 ;HITC_SLIDE [State 5010, 6] type = ChangeState trigger1 = HitShakeOver value = 5030 [State 5010, FFB Light] type = ForceFeedback trigger1 = anim = 5020 persistent = 0 time = 6 waveform = square [State 5010, FFB Medium] type = ForceFeedback trigger1 = anim = 5021 persistent = 0 time = 8 waveform = sinesquare ampl = 110,-1,-.3 [State 5010, FFB Hard] type = ForceFeedback trigger1 = anim = 5022 persistent = 0 time = 15 waveform = sinesquare ampl = 140 ;--------------------------------------------------------------------------- ; HITC_SLIDE [Statedef 5011] type = C movetype= H physics = C [State 5011, 1] type = HitVelSet trigger1 = Time = 0 x = 1 [State 5011, 2] type = ChangeAnim trigger1 = AnimTime = 0 value = 5025 + GetHitVar(animtype) [State 5011, 3] ;Stop sliding back type = VelMul trigger1 = Time >= GetHitVar(slidetime) x = .6 [State 5011, 4] type = VelSet trigger1 = HitOver x = 0 [State 5011, 5] type = DefenceMulSet trigger1 = HitOver value = 1 [State 5011, 6] type = ChangeState trigger1 = HitOver value = 11 ctrl = 1 ;--------------------------------------------------------------------------- ; HITA_SHAKE [Statedef 5020] type = A movetype= H physics = N velset = 0,0 ;---------------------------------------- [State 5020, DIZZY CODE] type = Varset trigger1 = prevstateno = 5250 trigger1 = time = 0 var(13) = 0 persistent = 0 ignorehitpause = 1 [State 5020, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 0 var(13) = 50 persistent = 0 ignorehitpause = 1 [State 5020, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 1 var(13) = 100 persistent = 0 ignorehitpause = 1 [State 5020, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) = 2 var(13) = 150 persistent = 0 ignorehitpause = 1 [State 5020, DIZZY CODE] type = VarAdd trigger1 = time = 0 trigger1 = prevstateno != 5250 trigger1 = var(13) <= 999 trigger1 = gethitvar(animtype) >= 3 var(13) = 75 persistent = 0 ignorehitpause = 1 [State 5020, CS] type = ChangeState trigger1 = prevstateno != 5250 trigger1 = var(13) >= 1000 trigger1 = HitShakeOver value = 5249 ctrl = 0 ;----------------------------------------- [State 5020, 1] ;Anim for HIT_LIGHT to HIT_HARD type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) != [3,5] value = ifelse((GetHitVar(airtype) = 1),5000,5010) + GetHitVar(animtype) [State 5020, 2] ;Anim for HIT_BACK type = ChangeAnim trigger1 = Time = 0 trigger1 = GetHitVar(animtype) = [3,5] value = 5030 [State 5020, 3] ;Anim for HIT_UP/HIT_DIAGUP (only if it exists) type = ChangeAnim trigger1 = Time = 0 trigger1 = (GetHitVar(animtype) = [4,5]) && (SelfAnimExist(5047 + GetHitVar(animtype))) value = 5047 + GetHitVar(animtype) ;5051 - 4 + type [State 5020, 4] ;Freeze anim type = ChangeAnim trigger1 = Time > 0 value = anim [State 5020, 5] type = ChangeState trigger1 = HitShakeOver value = 5030 [State 5020, FFB Light] type = ForceFeedback trigger1 = anim = 5000 trigger2 = anim = 5010 persistent = 0 time = 6 waveform = square [State 5020, FFB Medium] type = ForceFeedback trigger1 = anim = 5001 trigger2 = anim = 5011 persistent = 0 time = 8 waveform = sinesquare ampl = 110,-1,-.3 [State 5020, FFB Hard] type = ForceFeedback trigger1 = anim = 5012 trigger2 = anim = 5002 trigger3 = anim = 5030 trigger4 = anim = [5051,5059] persistent = 0 time = 15 waveform = sinesquare ampl = 140 ;--------------------------------------------------------------------------- ; HITA_UP (initial going up) [Statedef 5030] type = A movetype= H physics = N ctrl = 0 [State 5030, 1] type = VelAdd;Gravity trigger1 = 1 y = GetHitVar(yaccel) [State 5030, 2] type = HitVelSet trigger1 = Time = 0 x = 1 y = 1 [State 5030, 3] type = ChangeState triggerall = !HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 10 ;. value = 5040 ;HITA_RECOV [State 5030, 4] type = ChangeState triggerall = HitFall trigger1 = HitOver trigger2 = Vel Y > 0 ;Hit ground trigger2 = Pos Y >= 10 ;. value = 5050 ;HITA_FALL [State 5030, 5] type = ChangeState trigger1 = AnimTime = 0 value = 5035 ;HITA_UP (transition) ;--------------------------------------------------------------------------- ; HITA_UP_T (transition) [Statedef 5035] type = A movetype= H physics = N [State 5035, 1] type = ChangeAnim trigger1 = Time = 0 trigger1 = SelfAnimExist(5035) trigger1 = Anim != [5051,5059] ;Not if in hit up anim trigger1 = Anim != 5090 ;Not if hit off ground anim value = 5035 [State 5035, 2] type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 5035, 3] type = ChangeState triggerall = !HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Animation over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 10 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 5040 ;HITA_RECOV [State 5035, 4] type = ChangeState triggerall = HitFall trigger1 = HitOver ;Hit is over trigger2 = AnimTime = 0 ;Anim is over trigger3 = Vel Y > 0 ;Hit ground trigger3 = Pos Y >= 10 ;. trigger4 = Time = 0 ;No transition anim trigger4 = Anim != 5035 ;. value = 5050 ;HITA_FALL ;--------------------------------------------------------------------------- ; HITA_RECOV (recovering in air, not falling) [Statedef 5040] type = A movetype= H physics = N [State 5040, 1] type = ChangeState trigger1 = !Alive value = 5050 [State 5040, 2] type = ChangeAnim trigger1 = AnimTime = 0 trigger1 = Anim != 5040 trigger2 = Time = 0 trigger2 = Anim != 5035 value = 5040 [State 5040, 3] type = CtrlSet trigger1 = HitOver value = 1 [State 5040, 4] type = StateTypeSet trigger1 = HitOver movetype = I [State 5040, 5] type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 5040, 6] type = ChangeState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 52 ;JUMPLAND ;--------------------------------------------------------------------------- ; HITA_FALL (knocked up, falling) [Statedef 5050] type = A movetype= H physics = N [State 5050, 1] ;Change anim when done with transition type = ChangeAnim trigger1 = AnimTime = 0 trigger1 = Anim = 5035 trigger2 = Time = 0 ;If no transition anim trigger2 = Anim != 5035 trigger2 = (Anim != [5051, 5059]) && (Anim != [5061, 5069]) trigger2 = Anim != 5090 ;Not if hit off ground anim value = 5050 [State 5050, 2] ;Coming down anim type = ChangeAnim trigger1 = anim = [5050,5059] trigger1 = Vel Y >= ifelse(anim = 5050, 1, -2) trigger1 = SelfAnimExist(anim+10) value = anim+10 persistent = 0 [State 5050, 3] ;Gravity type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 5050, 4] ;Recover near ground type = ChangeState triggerall = Vel Y > 0 triggerall = Pos Y >= -20 triggerall = alive triggerall = CanRecover trigger1 = Command = "recovery" value = 5200 ;HITFALL_RECOVER [State 5050, 5]; Recover in mid air type = ChangeState triggerall = Vel Y > -1 triggerall = alive triggerall = CanRecover trigger1 = Command = "recovery" value = 5210 ;HITFALL_AIRRECOVER [State 5050, 6] type = ChangeState trigger1 = Vel Y > 0 trigger1 = Pos Y >= ifelse((anim = [5051,5059]) || (anim = [5061,5069]), 0, 25) value = 5100 ;HIT_BOUNCE ;--------------------------------------------------------------------------- ; HIT_TRIP (shaking) [Statedef 5070] type = A movetype= H physics = N velset = 0,0 [State 5070, DIZZY CODE] type = Varset trigger1 = prevstateno = 5250 trigger1 = time = 0 var(13) = 0 persistent = 0 ignorehitpause = 1 [State 5070, DIZZY CODE] type = VarAdd trigger1 = prevstateno != 5250 trigger1 = time = 0 var(13) = 50 persistent = 0 ignorehitpause = 1 [State 5070, 1] type = ChangeAnim trigger1 = 1 value = 5070 [State 5070, 2] type = ChangeState trigger1 = HitShakeOver value = 5071 [State 5070, 3] type = ForceFeedback trigger1 = time = 0 time = 12 waveform = sinesquare ampl = 140 ;--------------------------------------------------------------------------- ; HIT_TRIP2 (fall through air) [Statedef 5071] type = A movetype= H physics = N [State 5071, 1] type = HitVelSet trigger1 = Time = 0 x = 1 y = 1 [State 5071, 2] ;Acceleration type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 5071, 3] ;Hit ground trigger1 = Vel Y > 0 trigger1 = Pos Y >= 15 type = ChangeState value = 5110 ;--------------------------------------------------------------------------- ; HITL_SHAKE [Statedef 5080] type = L movetype= H physics = N velset = 0,0 [State 5080, 1] ;Set default anim type = VarSet trigger1 = time = 0 sysvar(2) = ifelse (GetHitVar(yvel) = 0, 5080, 5090) [State 5080, 2] type = VarAdd trigger1 = time = 0 trigger1 = (anim = [5081,5089]) || (anim = [5111,5119]) trigger1 = SelfAnimExist(sysvar(2) + (anim % 10)) sysvar(2) = anim % 10 [State 5080, 3] ;If 5090 doesn't exist, default to 5030 type = VarSet trigger1 = time = 0 trigger1 = sysvar(2) = 5090 trigger1 = !SelfAnimExist(5090) sysvar(2) = 5030 [State 5080, 3] ;Freeze type = ChangeAnim trigger1 = 1 value = sysvar(2) [State 5080, 4] type = ChangeState trigger1 = HitShakeOver trigger1 = GetHitVar(yvel) = 0 value = 5081 ;HITL_SLIDE [State 5080, 5] type = ChangeState trigger1 = HitShakeOver trigger1 = GetHitVar(yvel) != 0 value = 5030 ;HITA_UP ;--------------------------------------------------------------------------- ; HITL_SLIDE [Statedef 5081] type = L movetype= H physics = C [State 5081, 1] type = HitVelSet trigger1 = Time = 0 x = 1 [State 5081, 2] type = VelSet trigger1 = HitOver x = 0 [State 5081, 3] ;Don't show hit ground frame type = VarSet trigger1 = Time = 0 sysvar(0) = 1 [State 5081, 4] type = ChangeState trigger1 = HitOver value = 5110 ;HIT_LIEDOWN ;--------------------------------------------------------------------------- ; HIT_BOUNCE (hit ground) [Statedef 5100] type = L movetype= H physics = N [State 5100, 1] type = VelSet trigger1 = Time = 0 trigger1 = GetHitVar(fall.yvel) = 0 trigger1 = vel x > 1 x = 1 [State 5100, EnvShake] type = FallEnvShake trigger1 = Time = 0 [State 5100, Var] ;Save fall velocity type = VarSet trigger1 = Time = 0 ;trigger1 = GetHitVar(fall.yvel) = 0 sysvar(1) = floor(vel y) [State 5100, 2] ;Hit ground anim (normal) type = ChangeAnim triggerall = time = 0 trigger1 = (anim != [5051,5059]) && (anim != [5061,5069]) trigger2 = !SelfAnimExist(5100 + (anim % 10)) value = 5100 [State 5100, 3] ;Hit ground anim (for hit up) type = ChangeAnim trigger1 = time = 0 trigger1 = (anim = [5051,5059]) || (anim = [5061,5069]) trigger1 = SelfAnimExist(5100 + (anim % 10)) value = 5100 + (anim % 10) [State 5100, 4] type = PosSet trigger1 = Time = 0 y = 0 [State 5100, 5] type = VelSet trigger1 = Time = 0 y = 0 [State 5100, 6] ;Reduce speed type = VelMul trigger1 = Time = 0 x = 0.75 [State 5100, 7] type = ChangeState trigger1 = Time = 0 trigger1 = GetHitVar(fall.yvel) = 0 value = 5110 ;HIT_LIEDOWN [State 5100, 8] type = GameMakeAnim trigger1 = Time = 1 ;value = 61 ;pos = 0, 0 ;under = 1 value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14) pos = 0, 0 under = sysvar(1) <= 10 [State 5100, 9] type = HitFallDamage trigger1 = Time = 3 [State 5100, 10] type = PlaySnd trigger1 = Time = 1 ;value = F7, 0 ;Hit ground value = F7, (sysvar(1) > 5) + (sysvar(1) > 14) [State 5100, 11] type = PosFreeze trigger1 = 1 [State 5100, 12] type = ChangeState trigger1 = AnimTime = 0 value = 5101 [State 5100, 13] type = ForceFeedback trigger1 = Time = 0 waveform = sinesquare ampl = 128,-3,-.2,.005 time = 20 ;--------------------------------------------------------------------------- ; HIT_BOUNCE (bounce into air) [Statedef 5101] type = L movetype= H physics = N [State 5101, 1] ;Coming hit ground anim (normal) type = ChangeAnim triggerall = time = 0 trigger1 = anim != [5101,5109] trigger2 = !SelfAnimExist(5160 + (anim % 10)) value = 5160 [State 5101, 2] ;Coming hit ground anim (for hit up) type = ChangeAnim triggerall = time = 0 trigger1 = anim = [5101,5109] trigger1 = SelfAnimExist(5160 + (anim % 10)) value = 5160 + (anim % 10) [State 5101, 3] type = HitFallVel trigger1 = Time = 0 [State 5101, 4] type = PosSet trigger1 = Time = 0 y = 20 [State 5101, 5] ;Acceleration type = VelAdd trigger1 = 1 y = .4 [State 5101, 6] ;Hit ground trigger1 = Vel Y > 0 trigger1 = Pos Y >= 12 type = ChangeState value = 5110 ;--------------------------------------------------------------------------- ; HIT_LIEDOWN [Statedef 5110] type = L movetype= H physics = N [State 5110, EnvShake] type = FallEnvShake trigger1 = Time = 0 [State 5110, 1] ;For hit up/up-diag type (from state 5081) type = ChangeAnim persistent = 0 trigger1 = SelfAnimExist(5110 + (anim % 10)) trigger1 = anim = [5081,5089] value = 5110 + (anim % 10) [State 5110, 2] ;Hit ground anim (normal) type = ChangeAnim triggerall = time = 0 triggerall = anim != [5110,5119] ;Not already changed anim trigger1 = anim != [5161,5169] trigger2 = !SelfAnimExist(5170 + (anim % 10)) value = 5170 [State 5110, 3] ;Hit ground anim (for hit up) type = ChangeAnim triggerall = time = 0 triggerall = anim != [5110,5119] ;Not already changed anim trigger1 = anim = [5161,5169] trigger1 = SelfAnimExist(5170 + (anim % 10)) value = 5170 + (anim % 10) [State 5110, 4] type = HitFallDamage trigger1 = Time = 0 [State 5110, 5] type = PosSet trigger1 = Time = 0 y = 0 [State 5110, Var] ;Get fall velocity type = VarSet trigger1 = Time = 0 trigger1 = GetHitVar(fall.yvel) != 0 sysvar(1) = floor(vel y) [State 5110, 6] type = PlaySnd trigger1 = Time = 0 trigger1 = !SysVar(0) ;value = F7, 0 ;Hit ground value = F7, (sysvar(1) > 5) + (sysvar(1) > 14) [State 5110, 7] type = GameMakeAnim trigger1 = Time = 0 trigger1 = !SysVar(0) value = 60 + (sysvar(1) > 5) + (sysvar(1) > 14) pos = 0, 0 under = sysvar(1) <= 10 [State 5110, 8] type = VelSet trigger1 = Time = 0 y = 0 [State 5110, 9] ;For hit up type type = ChangeAnim persistent = 0 triggerall = anim = [5171,5179] triggerall = SelfAnimExist(5110 + (anim % 10)) trigger1 = AnimTime = 0 trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground anim value = 5110 + (anim % 10) [State 5110, 10] ;For normal type = ChangeAnim persistent = 0 triggerall = Anim != [5111,5119] trigger1 = AnimTime = 0 trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground frame value = 5110 [State 5110, 11] ;If just died type = ChangeState triggerall = !alive trigger1 = AnimTime = 0 trigger2 = SysVar(0) ;SysVar(0) = 1 avoids hit ground frame trigger3 = Anim = [5110,5119] value = 5150 [State 5110, 12] type = VarSet trigger1 = SysVar(0) trigger1 = Time = 0 sysvar(0) = 0 [State 5110, 13] ;Friction type = VelMul trigger1 = 1 x = 0.85 [State 5110, 14] type = ForceFeedback trigger1 = alive trigger1 = Time = 0 time = 8 ampl = 240 waveform = sine [State 5110, 15] type = ForceFeedback trigger1 = !alive trigger1 = Time = 0 ampl = 200, 7, -.467 time = 30 waveform = sine ;--------------------------------------------------------------------------- ; HIT_GETUP [Statedef 5120] type = L movetype= I physics = N [State 5120, 1a] ;Get up anim (normal) type = ChangeAnim triggerall = time = 0 trigger1 = anim != [5111,5119] trigger2 = !SelfAnimExist(5120 + (anim % 10)) value = 5120 [State 5120, 1b] ;Get up anim (for hit up/diag-up) type = ChangeAnim triggerall = time = 0 trigger1 = anim = [5111,5119] trigger1 = SelfAnimExist(5120 + (anim % 10)) value = 5120 + (anim % 10) [State 5120, 2] type = VelSet trigger1 = Time = 0 x = 0 [State 5120, 3] type = NotHitBy trigger1 = 1 value = SCA time = 1 [State 5120, 4] type = HitFallSet trigger1 = AnimTime = 0 value = 1 [State 5120, 5] ;Can't be thrown right after getting up type = NotHitBy trigger1 = AnimTime = 0 value = , NT,ST,HT time = 12 [State 5120, 6] ;Can't be hit right after getting up (short time) type = NotHitBy trigger1 = AnimTime = 0 value2 = SCA time = 3 [State 5120, 7] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; HIT_LIEDEAD [Statedef 5150] type = L movetype= H physics = N sprpriority = -3 [State 5150, 1] ;Collapse type = ChangeAnim trigger1 = PrevStateNo = 133 trigger1 = Time = 1 value = 5112 [State 5150, 1] ;Normal anim type = ChangeAnim triggerall = Time = 0 triggerall = SelfAnimExist(5140) trigger1 = (anim != [5111,5119]) && (anim != [5171,5179]) trigger2 = !SelfAnimExist(5140 + (anim % 10)) value = 5140 [State 5150, 3] ;Hit up type anim type = ChangeAnim trigger1 = Time = 0 trigger1 = (anim = [5111,5119]) || (anim = [5171,5179]) trigger1 = SelfAnimExist(5140 + (anim % 10)) value = 5140 + (anim % 10) [State 5150, 4] ;Match over anim type = ChangeAnim persistent = 0 ;trigger1 = Time = 0 trigger1 = MatchOver = 1 trigger1 = Anim = [5140,5149] trigger1 = SelfAnimExist(anim+10) value = anim+10 [State 5150, 5] ;Switch to 5110 if liedead anim does not exist type = ChangeAnim trigger1 = Time = 0 trigger1 = PrevStateNo != 133 trigger1 = Anim != [5140,5159] trigger1 = Anim != [5110,5119] value = 5110 [State 5150, 6] ;Friction type = VelMul trigger1 = 1 x = 0.85 [State 5150, 7] ;Friction type = VelSet trigger1 = Vel x < .05 persistent = 0 x = 0 [State 5150, 8] type = NotHitBy trigger1 = 1 value = SCA time = 1 ;--------------------------------------------------------------------------- ; HIT_FALLRECOVER (still falling) [Statedef 5200] type = A movetype= H physics = N [State 5200, 1] ;Change anim if done with transition type = ChangeAnim trigger1 = Anim = 5035 trigger1 = AnimTime = 0 value = 5050 [State 5200, 2] type = VelAdd trigger1 = 1 y = GetHitVar(yaccel) [State 5200, 3] type = SelfState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 10 value = 5201 ;--------------------------------------------------------------------------- ; HIT_FALLRECOVER (on the ground) [Statedef 5201] type = A movetype= H physics = A anim = 5200 [State 5201, 1] ;Turn if not facing opponent type = Turn trigger1 = Time = 0 trigger1 = p2dist X < -5 [State 5201, 2] type = VelSet trigger1 = Time = 0 x = -.15 y = -3.5 [State 5201, 3] type = PosSet trigger1 = Time = 0 y = 0 [State 5201, 4] type = NotHitBy trigger1 = 1 value = SCA time = 1 [State 5201, 5] ;Blink white type = PalFX trigger1 = Time = 0 time = 3 add = 128,128,128 ;256,256,256 [State 5201, 6] type = GameMakeAnim trigger1 = Time = 1 value = 60 pos = 0, 0 under = 1 ;--------------------------------------------------------------------------- ; HIT_AIRFALLRECOVER [Statedef 5210] type = A movetype= I physics = N anim = 5210 ctrl = 0 [State 5210, 1] ;Blink white type = PalFX trigger1 = Time = 0 time = 3 add = 128,128,128 ;256,256,256 [State 5210, 1] type = PosFreeze trigger1 = Time = 0 value = 4 [State 5210, 2] ;Turn if not facing opponent type = Turn trigger1 = Time = 0 trigger1 = p2dist X < -20 [State 5210, 1] type = VelMul trigger1 = Time = 4 x = .8 y = .8 [State 5210, 1] type = VelAdd trigger1 = Time = 4 y = -4.5 [State 5210, 1] type = VelMul trigger1 = Time = 4 trigger1 = Vel Y > 0 y = .5 [State 5210, 1] type = VelAdd trigger1 = Time = 4 trigger1 = Vel Y > -3 y = -2 [State 5210, 1] type = VelAdd trigger1 = Time = 4 trigger1 = Vel Y > -2 y = -1 [State 5210, 2] ;Go up type = VelAdd trigger1 = Time = 4 trigger1 = Command = "holdup" y = -2 [State 5210, 2] ;Go down type = VelAdd trigger1 = Time = 4 trigger1 = Command = "holddown" y = 1.5 [State 5210, 2] ;Go fwd type = VelMul trigger1 = Time = 4 trigger1 = Command = "holdfwd" x = 1 [State 5210, 2] ;Go back type = VelAdd trigger1 = Time = 4 trigger1 = Command = "holdback" x = -1 [State 5210, 3] type = NotHitBy trigger1 = Time = 0 value = SCA time = 15 [State 5210, 4] type = CtrlSet trigger1 = Time = 20 value = 1 [State 5210, 5] type = VelAdd;Gravity trigger1 = Time >= 4 y = .35 [State 5210, 5] ;Land on ground type = ChangeState trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 52 ;JUMP_LAND ctrl = 1 ;--------------------------------------------------------------------------- ; DIZZY falling [Statedef 5249] type = A movetype= H anim = 5050 velset = -4,-6 physics = N [State 5249, 1] type = hitvelset trigger1 = gethitvar(fall)= 1 trigger1 = time = 0 value = 1 [State 5249, 1] type = nothitby trigger1 = 1 value = SCA [State 5249, 2] type = veladd trigger1 = time >=0 y = .5 [State 5249, 3] type = ChangeState trigger1 = time > 1 trigger1 = Vel Y > 0 trigger1 = Pos Y >= 0 value = 5250 ;--------------------------------------------------------------------------- ; DIZZY(hit ground) [Statedef 5250] type = L movetype= H physics = N ctrl = 0 ; Play "ouch" when landing on back [State 5100, ouch] type = PlaySnd trigger1 = life > 0 trigger1 = Time = 0 value = 1,8 volume = 70 [State 5100, 1] type = VelSet trigger1 = Time = 0 trigger1 = GetHitVar(fall.yvel) = 0 trigger1 = Vel x > 1 x = 1 [State 5100, EnvShake] type = FallEnvShake trigger1 = Time = 0 [State 5100, Var] ;Save fall velocity type = VarSet trigger1 = Time = 0 ;trigger1 = GetHitVar(fall.yvel) = 0 sysvar(1) = floor(vel y) [State 5100, 2] ;Hit ground anim (normal) type = ChangeAnim triggerall = Time = 0 trigger1 = (anim != [5051,5059]) && (anim != [5061,5069]) trigger2 = !SelfAnimExist(5100 + (anim % 10)) value = 5100 [State 5100, 3] ;Hit ground anim (for hit up) type = ChangeAnim trigger1 = Time = 0 trigger1 = (anim = [5051,5059]) || (anim = [5061,5069]) trigger1 = SelfAnimExist(5100 + (anim % 10)) value = 5100 + (anim % 10) [State 5100, 4] type = PosSet trigger1 = Time = 0 y = 0 [State 5100, 5] type = VelSet trigger1 = Time = 0 y = 0 [State 5100, 6] ;Reduce speed type = VelMul trigger1 = Time = 0 x = 0.75 [State 5100, 7] type = ChangeState trigger1 = Time = 0 trigger1 = GetHitVar(fall.yvel) = 0 value = 5110 ;HIT_LIEDOWN [State 5100, 8] type = GameMakeAnim trigger1 = Time = 1 value = 60 + (SysVar(1) > 5) + (SysVar(1) > 14) pos = 0, 0 under = SysVar(1) <= 10 [State 5100, 9] type = HitFallDamage trigger1 = Time = 3 [State 5100, 10] type = PlaySnd trigger1 = Time = 1 ;value = F7, 0 ;Hit ground value = F7, (SysVar(1) > 5) + (SysVar(1) > 14) [State 5100, 11] type = PosFreeze trigger1 = 1 [State 5100, 12] type = ChangeState trigger1 = AnimTime = 0 value = 5251;5101 [State 5100, 13] type = ForceFeedback trigger1 = Time = 0 waveform = sinesquare ampl = 128,-3,-.2,.005 time = 20 ;-------------------------------------------------------------------------------------- ; DIZZY [Statedef 5251] type = S movetype = I;H physics = S anim = 5300 ctrl = 0 [State 5250, 2] type = ctrlset trigger1 = 1 value = 0 [State 5250, 2] type = Hitfallset trigger1 = Time = 0 value = 0 [State 5250, 2] type = PlaySnd trigger1 = Time = 0 value = 1,10 [State 5250, reset Dizzy] type = VarSet trigger1 = StateNo = 5000;time = 0 ignorehitpause = 1 var(14) = 1 [State 5250, VA1] type = VarSet;add trigger1 = 1 trigger1 = var(13) > 0 var(13) = 0;-1 [State 5250, VA2] type = Varadd trigger1 = command = "x" ||command = "y" ||command = "a" || command = "b" trigger1 = time >= 0 trigger1 = var(13) > 0 var(13) = -150 [State 5250, END] type = ChangeState trigger1 = Time = 180;var(13) <= 0 value = 0 ctrl = 1 ;--------------------------------------------------------------------------- ; Continue? [Statedef 5500] type = S ctrl = 0 anim = 5300 velset = 0,0 [State 5500, 1] ;Use continue animation if available type = ChangeAnim trigger1 = time = 0 trigger1 = SelfAnimExist(5500) value = 5500 ;--------------------------------------------------------------------------- ; Initialize (at the start of the round) [Statedef 5900] type = S [State 5900, 1] ;Clear all int variables type = VarRangeSet trigger1 = roundno = 1 value = 0 [State 5900, 2] ;Clear all float variables type = VarRangeSet trigger1 = roundno = 1 fvalue = 0 [State 5900, reset] type = VarSet trigger1 = RoundState = 0 trigger2 = RoundState = 3 var(14) = 0 [State 5900, 3] ;Intro type = ChangeState trigger1 = roundno = 1 value = 190 ;---------------------------------------------------------------------------------------------- ; Guard Crush State (see statedef -3 for coding details) ;---------------------------------------------------------------------------------------------- [Statedef 9000] type = S physics = S anim = 9000 ; Character being guard crushed ctrl = 0 [State 9000, Freeze] type = Pause trigger1 = Time = 0 time = 3 movetime = 3 ignorehitpause = 1 [State 9000, Flash] type = Envcolor trigger1 = Time = 2 value = 248,248,248 time = 3 under = 1 ignorehitpause = 1 [State 9000, Screen Shake] type = EnvShake trigger1 = Time = 5 time = 15 amp = -3 [State 9000, Guard Crush Explod if P1] ; "Guard Crush !" sprite type = Explod triggerall = numexplod(7250) <= 0 && teamside = 1 trigger1 = time = 0 anim = 7250 id = 7250 pos = 0,110 postype = left bindtime = -1 sprpriority = 2 supermove = 1 facing = 1 ontop = 0 ownpal = 1 ignorehitpause = 1 persistent = 0 [State 9000, Guard Crush Explod if P2] type = Explod triggerall = numexplod(7251) <= 0 && teamside = 2 trigger1 = time = 0 anim = 7251 id = 7251 pos = -97,110 postype = right bindtime = -1 sprpriority = 2 supermove = 1 facing = 1 ontop = 0 ownpal = 1 ignorehitpause = 1 persistent = 0 [State 9000, Guard Crush Var Reset] type = VarSet trigger1 = time = 0 var(11) = 0 ignorehitpause = 1 [State 9000, Get back] type = Velset trigger1 = time = [3,10] x = -5 ignorehitpause = 1 [State 9000, End] type = ChangeState trigger1 = AnimTime = 0 value = 0 ctrl = 1 ignorehitpause = 1