

;VARIABLES
;var(0)-var(6): Temp
;var(7); time counter
;var(8);keep track of p2life
;var(9);keep track of p1life
;var(10); 2nd opponent life in simul mode
;
;var(11),var(12); temp bound states
;-------
;var(13) Combo adder 
;Var(14) number and text decider 
;Var(15) is Danger 
;var(16) normalize 
;----------
;var(17);combo conditions
;var(18);ko sound
;var(19)-var(21);hit type combo
;var(22)-var(24);
;var(25)-var(27);hitcount
;var(29),launcher reset
;variable below 29 will reset between rounds
;
;
;var(30); p2life /100
;var(31); p1life /100
;var(33);p2life
;var(34);p1life
;var(32); damage dampening
; 
;var(34),max hits light atk
;var(35),max hits medium atk
;var(36);max hits hard atk
;var(40)-(41);
;var(42);
;var(43) - var(48); run
;var(51) - normal to special to hyper states
;var(52) - damage to super armor
;var(54) - flight mode
;var(55) - super armor
;var(56); sos condition
;var(57); 
;var(58); remember ai for next round
;var(59); ai activate

[Data]
;Amount of life to start with

life = 1000
;attack power (more is stronger)

attack = 100
;defensive power (more is stronger)

defence = 100
;Percentage to increase defense everytime player is knocked down
fall.defence_up = 50
;Time which player lies down for, before getting up
liedown.time = 60
;Number of points for juggling
airjuggle = 15
;Default hit spark number for HitDefs
sparkno = 7200
;Default guard spark number
guard.sparkno = 7300
;1 to enable echo on KO
KO.echo = 0
;Volume offset (negative for softer)
volume = -100 
;Variables with this index and above will not have their values
;reset to 0 between rounds or matches. There are 60 int variables,
;indexed from 0 to 59, and 40 float variables, indexed from 0 to 39.
;If omitted, then it defaults to 60 and 40 for integer and float
;variables repectively, meaning that none are persistent, i.e. all
;are reset. If you want your variables to persist between matches,
;you need to override state 5900 from common1.cns.
IntPersistIndex = 29
FloatPersistIndex = 19

[Size]
xscale = 0.5    ;Horizontal scaling factor.
yscale = 0.5          ;Vertical scaling factor.
ground.back = 45    ;Player width (back, ground)
ground.front = 45    ;Player width (front, ground)
air.back = 45   ;Player width (back, air)
air.front = 45   ;Player width (front, air)
height = 152          ;Height of player (for opponent to jump over)
attack.dist = 160    ;Default attack distance
proj.attack.dist = 90 ;Default attack distance for projectiles
proj.doscale = 1     ;Set to 1 to scale projectiles too
head.pos = 0,-140  ;Approximate position of head
mid.pos = 0,-90   ;Approximate position of midsection
shadowoffset = 0   ;Number of pixels to vertically offset the shadow
draw.offset = 0,0    ;Player drawing offset in pixels (x, y)

[Velocity]
walk.fwd  = 3.5    ;Walk forward
walk.back = -2     ;Walk backward
run.fwd  = 8,-5   ;Run forward (x, y)
run.back = -8,-4.8 ;Hop backward (x, y)
jump.neu = 0,-10    ;Neutral jumping velocity (x, y)
jump.back = -2.55    ;Jump back Speed (x, y)
jump.fwd = 3.5       ;Jump forward Speed (x, y)
runjump.back = -2.55,-8.1 ;Running jump speeds (opt)
runjump.fwd = 4,-8.1     ;.
airjump.neu = 0,-8.1     ;.
airjump.back = -2.55      ;Air jump speeds (opt)
airjump.fwd = 3.5         ;.

[Movement]
airjump.num = 0      ;Number of air jumps allowed (opt)
airjump.height = 35  ;Minimum distance from ground before you can air jump (opt)
yaccel = .44        ;Vertical acceleration
stand.friction = .85  ;Friction coefficient when standing
crouch.friction = .82 ;Friction coefficient when crouching

;---------------------------------------------------------------------------
; Lose by Time Over

[Statedef 170]
type = S
ctrl = 0
anim = 170+random%2
velset = 0,0


[State 170]
type = PosSet
trigger1 = Time = 0
y = 0


[State 170]
type = null;PlaySnd
trigger1 = Time = 0
value = 170,0



[State 170]
type = NotHitBy
trigger1 = 1
value = SCA


;---------------------------------------------------------------------------
; Lose 

[Statedef 171]
type = S
ctrl = 0
velset = 0,0
anim = 170


[State 171]
type = PosSet
trigger1 = Time = 0
y = 0

[State 171]
type = PlaySnd
trigger1 = Time = 0
value = 171,2

[State 171]
type = Explod
trigger1 = Time%5 = 0
trigger1 = random < 300
anim = 7030+random%3
sprpriority = 5
scale = const(size.xscale),const(size.yscale)

[State 171]
type = NotHitBy
trigger1 = 1
value = SCA

[State 171]
type = CtrlSet
trigger1 = Time = 100
value = 1

;--------------------------------------------------------------------------------------------------------

[Statedef 173]
type = S
ctrl = 0
velset = 0,0
anim = 9800



[State 173]
type = PosSet
trigger1 = Time = 0
y = 0


[State 173]
type = PlaySnd
trigger1 = Time = 0
value = 170,0

[State 173]
type = NotHitBy
trigger1 = 1
value = SCA

[State 173]
type = CtrlSet
trigger1 = Time = 120
value = 1
;---------------------------------------------------------------------------
; Win state decider

[Statedef 180]
type = S
velset = 0,0


[State 180] 
type = Assertspecial 
trigger1 = Time >= 0 
flag = NoBarDisplay

[State 180, 0]
type = PosSet
trigger1 = Time = 0
y = 0


[State 183]
type = Width
trigger1 = Time = 0
value = 50,50


[State 181]
type = PlaySnd
trigger1 = Time = 0 && random < 500
trigger1 = MatchOver = 0
value = 181,4


[State 181]
type = PlaySnd
trigger1 = Time = 0 && random < 500
trigger1 = MatchOver = 1
value = 181,3

[State 180, 1]
type = ChangeState
trigger1 = Time >= 1
trigger1 = WinTime
value = 189


[State 180, 1]
type = ChangeState
trigger1 = Time >= 1
trigger1 = WinKO
value = 181+random%2

;---------------------------------------------------------------------------
; Win pose 1 - Time Over

[Statedef 189]
type = S
ctrl = 0
anim = 181
velset = 0,0
sprpriority = 2


[State 189] 
type = Assertspecial 
trigger1 = Time >= 0 
flag = NoBarDisplay

[State 189]
type = PlaySnd
trigger1 = AnimElem = 4, >= 0
trigger1 = AnimElem = 39, < 0
trigger1 = Time%5 = 0
value = 181,0


[State 189]
type = ChangeAnim
trigger1 = AnimElem = 41
value = anim
elem = 40

[State 189]
type = AssertSpecial
trigger1 = Time < 240
flag = roundnotover



;---------------------------------------------------------------------------
; Win pose 1 - Win KO

[Statedef 181]
type = S
ctrl = 0
anim = 181
velset = 0,0
sprpriority = 2


[State 181] 
type = Assertspecial 
trigger1 = Time >= 0 
flag = NoBarDisplay

[State 181]
type = ChangeAnim
trigger1 = AnimElem = 4
value = anim
elem = 39


[State 181]
type = PlaySnd
trigger1 = AnimElem = 46
value = 181,1


[State 181]
type = Explod
trigger1 = AnimElem = 52
anim = 20181
ownpal = 1
bindtime = -1
ignorehitpause = 0
sprpriority = 3
scale = const(size.xscale),const(size.yscale)
[State 181]
type = PlaySnd
trigger1 = AnimElem = 52
value = 181,2


[State 181]
type = AssertSpecial
trigger1 = Time < 240
flag = roundnotover


;---------------------------------------------------------------------------
; Win pose 2 - Win KO

[Statedef 182]
type = S
ctrl = 0
anim = 181
velset = 0,0
sprpriority = 2


[State 182] 
type = Assertspecial 
trigger1 = Time >= 0 
flag = NoBarDisplay

[State 182]
type = PlaySnd
trigger1 = AnimElem = 4, >= 0
trigger1 = AnimElem = 39, < 0
trigger1 = Time%5 = 0
value = 181,0


[State 182]
type = PlaySnd
trigger1 = AnimElem = 46
value = 181,1

[State 182]
type = Explod
trigger1 = AnimElem = 52
anim = 20181
ownpal = 1
bindtime = -1
ignorehitpause = 0
sprpriority = 3
scale = const(size.xscale),const(size.yscale)
[State 182]
type = PlaySnd
trigger1 = AnimElem = 52
value = 181,2

[State 182]
type = AssertSpecial
trigger1 = Time < 240
flag = roundnotover


;---------------------------------------------------------------------------
; Introduction

[Statedef 191]
type = S
ctrl = 0
physics = N
anim = 9800
velset = 0,0
sprpriority = 0


[State 191]
type = null;varset
trigger1 = Time = 2
var(32) = floor(1/(enemy,const(data.fall.defence_mul))) +(enemy,const(data.life))/1000+(enemy,const(data.attack))/100+(enemy,const(data.defence))/100 -3




[State 191, 1] ;Freeze animation until PreIntro is over
type = null;ChangeAnim
trigger1 = RoundState = 0
value = 190

[State 191, 2] ;Assert this until you want "round 1, fight" to begin
type = AssertSpecial
trigger1 = 1
flag = Intro



[State 191, 3] ;Change to
type = ChangeState
trigger1 = Time = 3
value = 192+random%2


;---------------------------------------------------------------------------
; Introduction

[Statedef 192]
type = A
ctrl = 0
physics = N
anim = 192
velset = 0,0
sprpriority = 3


[State 192]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 0,0

[State 192]
type = PlayerPush
trigger1 = 1
value = 0


[State 192]
type = PlaySnd
trigger1 = Time%30 = 0
value = 192,0
channel = 1

[State 192]
type = PosSet
trigger1 = Time = 0
y = -340


[State 192]
type = VelAdd
trigger1 = Pos Y < 0
y = 0.4



[State 192, 1] ;Freeze animation until PreIntro is over
type = null;ChangeAnim
trigger1 = RoundState = 0
value = 190

[State 192, 2] ;Assert this until you want "round 1, fight" to begin
type = AssertSpecial
trigger1 = 1
flag = Intro

[State 192]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
y = 0

[State 192, 3]
type = ChangeState
trigger1 = Time > 60
value = 198
ctrl = 0

;---------------------------------------------------------------------------
; Introduction 2


[Statedef 193]
type = S
ctrl = 0
physics = N
anim = 9800
velset = 0,13
sprpriority = 0


[State 193]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 0,0


[State 193]
type = PosSet
trigger1 = Time = 0
y = -280


[State 193]
type = VarSet
trigger1 = Time = 0
var(0) = -64

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6000
id = 6000
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6001
id = 6001
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6005
id = 6005
pos = 0,var(0)
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6006
id = 6006
pos = 0,var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6010
id = 6010
pos = 0,2*var(0)
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6011
id = 6011
pos = 0,2*var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6015
id = 6015
pos = 0,3*var(0)
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6016
id = 6016
pos = 0,3*var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6017
id = 6017
pos = 0,4*var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6018
id = 6018
pos = 0,5*var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6019
id = 6019
pos = 0,5*var(0)
scale = const(size.xscale),const(size.yscale)

[State 193]
type = Helper
trigger1 = NumHelper(6005)
trigger1 = Helper(6005), Pos Y >= 0
stateno = 6025
id = 6025
postype = front
persistent = 0
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = NumHelper(6005)
trigger1 = Helper(6005), Pos Y >= 0
stateno = 6026
id = 6026
postype = front
persistent = 0
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6030
id = 6030
pos = 0,6*var(0)
scale = const(size.xscale),const(size.yscale)
[State 193]
type = Helper
trigger1 = Time = 0
stateno = 6030
id = 6030
pos = 0,6*var(0)
scale = const(size.xscale),const(size.yscale)
[State 193]
type = ChangeAnim
trigger1 = NumHelper(6025)
trigger1 = Helper(6025),AnimElem = 11, = 4
value = 193


[State 193]
type = PlaySnd
trigger1 = Anim = 193
value = 193,2
persistent = 0

[State 193, 1] ;Freeze animation until PreIntro is over
type = null;ChangeAnim
trigger1 = RoundState = 0
value = 190

[State 193, 2] ;Assert this until you want "round 1, fight" to begin
type = AssertSpecial
trigger1 = 1
flag = Intro


[State 193]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Vel Y
y = 0


[State 193]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 193, 3] ;Change to
type = ChangeState
trigger1 = AnimTime = 0 && Anim = 193
trigger2 = Time = 120
value = 199
ctrl = 0


;---------------------------------------------------------------------------
; Taunt

[Statedef 195]
type = S
ctrl = 0
movetype = I
physics = S
poweradd = 10
anim = 181
velset = 0,0
sprpriority = 2



[State 195]
type = PlaySnd
trigger1 = AnimElem = 4, >= 0
trigger1 = AnimElem = 39, < 0
trigger1 = Time%5 = 0
value = 181,0


[State 195]
type = ChangeAnim
trigger1 = AnimElem = 39
value = anim
elem = 34


[State 195, 2]
type = ChangeState
trigger1 = Time = 120;AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Crouch to Stand
[Statedef 197]
type    = S
physics = S
anim = 12


[State 197]
type = ChangeState
trigger1 = AnimTime = 0
value = 199
;---------------------------------------------------------------------------
; Jump Land
[Statedef 198]
type    = S
physics = S
ctrl = 0
anim = 47
facep2 = 1
movehitpersist = 1


[State 198]
type = null;ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 47, ifelse((vel x)>0, 48, 49))

[State 198]
type = VelSet
trigger1 = Time = 0
y = 0

[State 198]
type = PosSet
trigger1 = Time = 0
y = 0



;This controller plays a sound everytime  lands from a jump
[State 198, Landing Sound]
type = PlaySnd
trigger1 = Time = 1
value = 52,3

[State 198]
type = Explod
trigger1 = Time = 1
anim = 7052
sprpriority = -2
pos = 0,10
scale = const(size.xscale),const(size.yscale)
[State 198]
type = EnvShake
trigger1 = Time = 1
time = 12
ampl = 8


[State 198]
type = CtrlSet
trigger1 = Time = 2
value = 1


[State 198]
type = ChangeState
trigger1 = AnimTime = 0
value = 199
ctrl = 0
;----------------------------------------------- 
[Statedef 199]; Move around before match 
type = S 
physics =S 
sprpriority = 2 
anim = 0

[State 199]
type = posset 
trigger1 = 1 
y = 0 

[State 199]
type = VelSet 
trigger1 = Time = 0 
y = 0 

[State 199]
type = VelSet 
trigger1 = command = "holdfwd" 
x = 2.4 

[State 199]
type = VelSet 
trigger1 = command = "holdback" 
x = -2.0 

[State 199]
type = ChangeAnim 
trigger1 = command = "holdfwd" 
trigger1 = Anim != 20 
value = 20 

[State 199]
type = ChangeAnim 
trigger1 = command = "holdback" 
trigger1 = Anim != 21 
value = 21 

[State 199]
type = ChangeAnim 
trigger1 = command != "holdback" 
trigger1 = command != "holdfwd" 
trigger1 = Anim != 0 
value = 0 

[State 199] 
type = VelSet 
trigger1 = command != "holdback" 
trigger1 = command != "holdfwd" 
x = 0 

[State 199]
type = VarSet 
trigger1 = roundstate != 2 
var(1) = floor(pos x) 

[State 199]
type = posset 
trigger1 = roundstate = 2 
trigger1 = var(1) != 0 
x = var(1) 

[State 199]
type = varset 
trigger1 = roundstate = 2 
var(1) = 0 

[State 199]
type = changestate 
trigger1 = ctrl 
value = ifelse((command = "holdfwd") || (command ="holdback"),20,0)

;---------------------------------------------------------------------------
; Standing Punch

[Statedef 200]
type    = S                      
movetype= A                      
physics = S                      
juggle  = 1                      
velset = 0,0                     
ctrl = 0                        
anim = 200                        
poweradd = 13                   
sprpriority = 2      
facep2 = 1           

[State 200, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,0


[State 200, 1]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA             
damage = 3*var(30),floor(var(30)/2)        
animtype = Light                 
guardflag = MA                  
hitflag = MAF                    
priority = 3, Hit                
pausetime = 5,5                
sparkno = S(8200+random%2)                
sparkxy = -10,-74
hitsound = S1,0      
guardsound = S4,0                
guard.sparkno = S8430
ground.type = High               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -3    
;ground.velocity = -1,-9
airguard.velocity = -1.9,-.8     
air.type = High                  
air.velocity = -1.4,-3           
air.hittime = 12                 
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0



[State 200]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 200, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Standing Punch 2

[Statedef 202]
type    = S                      
movetype= A                      
physics = S                      
juggle  = 1                      
velset = 0,0                     
ctrl = 0                        
anim = 202                        
poweradd = 13                   
sprpriority = 2      
facep2 = 1           

[State 202, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,0


[State 202, 1]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA             
damage = 3*var(30),floor(var(30)/2)        
animtype = Light                 
guardflag = MA                  
hitflag = MAF                    
priority = 3, Hit                
pausetime = 5,5                
sparkno = S(8200+random%2)                
sparkxy = -10,-74
hitsound = S1,0      
guardsound = S4,0                
guard.sparkno = S8430
ground.type = High               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -3    
;ground.velocity = -1,-9
airguard.velocity = -1.9,-.8     
air.type = High                  
air.velocity = -1.4,-3           
air.hittime = 12                 
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0



[State 202]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 202, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Standing Medium Punch

[Statedef 210]
type    = S                      
movetype= A                      
physics = S                      
juggle  = 1                      
velset = 0,0                     
ctrl = 0                        
anim = 205                        
poweradd = 40                   
sprpriority = 2                 
facep2 = 1

[State 205]
type = PlaySnd
trigger1 = AnimElem = 1
value = 0,0


[State 205]
type = PlaySnd
trigger1 = AnimElem = 3
value = 205,0

[State 205]
type = HitDef
trigger1 = AnimElem = 2
attr = S, NA             
damage = 3*var(30),floor(var(30)/2)             
animtype = Light                 
guardflag = MA                  
hitflag = MAF                    
priority = 3, Hit                
pausetime = 3,3                
sparkno = S(8200+random%2)                
sparkxy = -10,-74
hitsound = S1,0      
guardsound = S4,0                
guard.sparkno = S8430
ground.type = High               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -3    
;ground.velocity = -1,-9
airguard.velocity = -1.9,-.8     
air.type = High                  
air.velocity = -1.4,-3           
air.hittime = 12                 
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0


[State 205]
type = HitDef
trigger1 = AnimElem = 4
attr = S, NA             
damage = 2*var(30),floor(var(30)/2)               
animtype = Light               
guardflag = MA                  
hitflag = MAF                    
priority = 3, Hit                
pausetime = 3,3                
sparkno = S(8210+random%2)                
sparkxy = -10,-74
hitsound = S1,1      
guardsound = S4,0                
guard.sparkno = S8430
ground.type = High               
ground.slidetime = 15            
ground.hittime  = 15             
ground.velocity = -3    
;ground.velocity = -1,-9
airguard.velocity = -1.9,-.8     
air.type = High                  
air.velocity = -1.4,-3           
air.hittime = 12                 
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0

[State 205]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 205, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Stand  Strong Punch 3
[Statedef 240]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 240
sprpriority = 2
facep2 = 1


[State 240]
type = PlaySnd
trigger1 = AnimElem = 10
value = 440,0


[State 240]
type = Explod
trigger1 = AnimElem = 6
anim = 20245
ownpal = 1
bindtime = -1
removeongethit = 1
ignorehitpause = 0
sprpriority = 3
pos = 90,-67
scale = const(size.xscale),const(size.yscale)
[State 240]
type = Helper
trigger1 = AnimElem = 11
stateno = 20440
ownpal = 1
pos = 180,-116
scale = const(size.xscale),const(size.yscale)
[State 240, 2]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype  = Hard
damage    = 11*var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-64
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 10
ground.hittime  = 25
ground.velocity = -8
air.velocity = -8
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020

[State 240]
type = null;VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0


[State 240]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 240
value = 241
persistent = 0

[State 240]
type = ChangeState
trigger1 = AnimTime = 0 && Anim = 241
value = 0
ctrl = 1



;---------------------------------------------------------------------------
; Stand Strong Punch 2
[Statedef 230]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 40
ctrl = 0
velset = 0,0
anim = 210
sprpriority = 2
facep2 = 1

[State 210, 1]
type = PlaySnd
trigger1 = AnimElem = 5
value = 210,0


[State 210, 1]
type = PlaySnd
trigger1 = AnimElem = 10
value = 210,1


[State 210]
type = Helper
trigger1 = AnimElem = 5
stateno = 20210
ownpal = 1
pos = 61,-105
id = 20210
scale = const(size.xscale),const(size.yscale)
[State 210]
type = Helper
trigger1 = AnimElem = 5
stateno = 20211
ownpal = 1
pos = 88,-96
id = 20210
scale = const(size.xscale),const(size.yscale)
[State 210, 2]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype  = Medium
damage    = 6*var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7280;S(8210+random%2)  
guard.sparkno = S8430
sparkxy = -10,-44
hitsound   = S1,11
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -5
air.velocity = -5
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 211
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020


[State 210]
type = null;VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 210, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Stand  Strong Punch
[Statedef 220]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 220
sprpriority = 2
facep2 = 1


[State 220]
type = PlaySnd
trigger1 = AnimElem = 9
value = 220,1

[State 220]
type = Helper
trigger1 = AnimElem = 10
stateno = 20220
ownpal = 1
pos = 81,-102
scale = const(size.xscale),const(size.yscale)
[State 220, 2]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype  = Hard
damage    = 11*var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-64
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 10
ground.hittime  = 25
ground.velocity = -8
air.velocity = -8
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020

[State 220]
type = null;VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0


[State 220, 3]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 220
value = 221
persistent = 0

[State 220, 3]
type = ChangeState
trigger1 = AnimTime = 0 && Anim = 221
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Stand Kick
[Statedef 300]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 13
ctrl = 0
velset = 0,0
anim = 300
sprpriority = 2
facep2 = 1


[State 300, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,1


[State 300, 2]
type = HitDef
trigger1 = AnimElem = 3
attr = S, NA
animtype  = Light
damage    = 3*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 5,5
sparkno = S(8200+random%2)
guard.sparkno = S8430
sparkxy = -10,-70
hitsound   = S1,4
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -3
air.velocity = -3
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020

[State 300]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 300, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Stand Medium Kick
[Statedef 310]
type    = S
movetype= A
physics = S
juggle  = 4
poweradd= 40
ctrl = 0
velset = 0,0
anim = 310
sprpriority = 2
facep2 = 1



[State 310, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 205,0


[State 310, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype = Medium
damage    = 5*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 5,5
sparkno = S(8210+random%2)
guard.sparkno = S8430
sparkxy = -10,-70
hitsound   = S1,5
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -5
air.velocity = -5
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020


[State 310]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0


[State 310]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;---------------------------------------------------------------------------
;Stand Strong Kick
[Statedef 320]
type    = S
movetype= A
physics = N
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 320
sprpriority = 2
facep2 = 1


[State 320, 1]
type = PlaySnd
trigger1 = AnimElem = 1
value = 320,0


[State 320, 2]
type = HitDef
trigger1 = !var(29)
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype = Hard
damage    = 10*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 7,7
sparkno = S7261;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,8
guardsound = S4,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = 0,-13;-11
air.velocity = 0,-12;-10
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;persistent = 0
p2stateno = 321

[State 320]
type = Explod
trigger1 = MoveHit
anim = 7025
postype = p2
ontop = 1
ownpal = 1
pos = 0,-abs(EnemyNear, const(size.mid.pos.y))
persistent = 0
facing = -1
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)
[State 320]
type = Helper
trigger1 = Time = 13
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 62,-17
scale = const(size.xscale),const(size.yscale)
[State 320]
type = Helper
trigger1 = Time = 15
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 104,-38
scale = const(size.xscale),const(size.yscale)
[State 320]
type = Helper
trigger1 = Time = 17
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 123,-80
scale = const(size.xscale),const(size.yscale)

[State 320]
type = Helper
trigger1 = Time = 19
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 120,-117
scale = const(size.xscale),const(size.yscale)

[State 320]
type = Helper
trigger1 = Time = 22
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 113,-155
scale = const(size.xscale),const(size.yscale)

[State 320]
type = Helper
trigger1 = Time = 30
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 106,-164
scale = const(size.xscale),const(size.yscale)

[State 320]
type = Helper
trigger1 = Time = 36
stateno = 20320
ownpal = 1
ignorehitpause = 1
pos = 76,-140
scale = const(size.xscale),const(size.yscale)
[State 320]
type = varset
trigger1 = MoveHit
var(29) = 1
ignorehitpause = 1
persistent = 0

[State 320]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 320]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; HITA_UP (initial going up)
[Statedef 321]
type    = A
movetype= H
physics = N
ctrl = 0

[State 321 1]
type = VelAdd;Gravity
trigger1 = 1
y = 0.35;GetHitVar(yaccel)

[State 321, 2]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 321, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse(SelfAnimExist(5055),5055,5050)

[State 321, 2]
type = ChangeAnim
trigger1 = Time = 0 && Anim != 5055
value = ifelse(SelfAnimExist(5051),5051,5050)

[State 321, 3]
type = SelfState
trigger1 = Vel Y > 2
value = 5040 ;HITA_RECOV
persistent = 0

[State 321, 4]
type = null;SelfState
;triggerall = HitFall
trigger1 = Vel Y > 1 ;Anim is over
trigger2 = Vel Y > 0    ;Hit ground
trigger2 = Pos Y >= 10  ;.
value = 5050 ;HITA_FALL

[State 321, 4]
type = null;SelfState
trigger1 = Vel Y > 0 
trigger1 = Pos Y >= 0 
value = 52 


;---------------------------------------------------------------------------
;Stand Strong Kick 2
[Statedef 330]
type    = S
movetype= A
physics = N
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 320
sprpriority = 2
facep2 = 1


[State 330, 1]
type = PlaySnd
trigger1 = AnimElem = 1
value = 320,0


[State 330, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype = Hard
damage    = 2*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 7,7
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,8
guardsound = S4,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -3,0
air.velocity = -3,0
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;persistent = 0



[State 330]
type = Helper
trigger1 = Time = 13
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 62,-17
scale = const(size.xscale),const(size.yscale)
[State 330]
type = Helper
trigger1 = Time = 15
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 104,-38
scale = const(size.xscale),const(size.yscale)
[State 330]
type = Helper
trigger1 = Time = 17
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 123,-80
scale = const(size.xscale),const(size.yscale)

[State 330]
type = Helper
trigger1 = Time = 19
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 120,-117
scale = const(size.xscale),const(size.yscale)

[State 330]
type = Helper
trigger1 = Time = 22
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 113,-155
scale = const(size.xscale),const(size.yscale)

[State 330]
type = Helper
trigger1 = Time = 30
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 106,-164
scale = const(size.xscale),const(size.yscale)

[State 330]
type = Helper
trigger1 = Time = 36
stateno = 20330
ownpal = 1
ignorehitpause = 1
pos = 76,-140
scale = const(size.xscale),const(size.yscale)
[State 330]
type = varset
trigger1 = MoveHit
var(29) = 1
ignorehitpause = 1
persistent = 0

[State 330]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 330]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;Stand Strong Kick 3
[Statedef 340]
type    = S
movetype= A
physics = N
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 340
sprpriority = 2
facep2 = 1


[State 340, 1]
type = PlaySnd
trigger1 = AnimElem = 6
value = 340,0


[State 340, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, NA
animtype = Hard
damage    = 10*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 7,7
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,6
guardsound = S4,0
ground.type = High
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -13,0
air.velocity = -13,0
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;persistent = 0

[State 340]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 340]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Crouch Punch
[Statedef 400]
type    = C
movetype= A
physics = C
juggle  = 5
poweradd= 13
ctrl = 0
anim = 400
sprpriority = 2
velset = 0,0 
facep2 = 1

[State 400, 1]
type = PlaySnd
trigger1 = AnimElem = 2
value = 0,0

[State 400, 1]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = C, NA             
damage = 3*var(30),floor(var(30)/2)             
animtype = Light                 
guardflag = M                
hitflag = MAF                    
priority = 3, Hit                
pausetime = 3,3             
sparkno = S(8200+random%2)                
sparkxy = -10,-40
hitsound = S1,0        
guardsound = S4,0                
guard.sparkno = S8430
ground.type = Low               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -2    
;ground.velocity = -1,-9     
air.velocity = -1.4                    
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0


[State 400]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
persistent = 0

[State 400, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1



;---------------------------------------------------------------------------
;Crouch Medium Punch
[Statedef 410]
type    = C
movetype= A
physics = C
juggle  = 5
poweradd= 40
ctrl = 0
anim = 410
sprpriority = 2
velset = 0,0 
facep2 = 1



[State 410, 1]
type = PlaySnd
trigger1 = AnimElem = 1
value = 0,0


[State 410, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 205,0


[State 410, 1]
type = HitDef
trigger1 = AnimElem = 2
attr = C, NA             
damage = 3*var(30)                 
animtype = Medium                 
guardflag = M                 
hitflag = MAF                    
priority = 3, Hit                
pausetime = 5,5             
sparkno = S(8200+random%2)                   
sparkxy = -10,-30
hitsound = S1,0     
guardsound = S4,0                
guard.sparkno = S8430
ground.type = Low               
ground.slidetime = 15            
ground.hittime  = 15             
ground.velocity = -5    
;ground.velocity = -1,-9     
air.velocity = -4                    
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0


[State 410, 1]
type = HitDef
trigger1 = AnimElem = 4
attr = C, NA             
damage = 2*var(30)                 
animtype = Medium                 
guardflag = M                 
hitflag = MAF                    
priority = 3, Hit                
pausetime = 5,5             
sparkno = S(8210+random%2)                   
sparkxy = -10,-30
hitsound = S1,1    
guardsound = S4,0                
guard.sparkno = S8430
ground.type = Low               
ground.slidetime = 15            
ground.hittime  = 15             
ground.velocity = -5    
;ground.velocity = -1,-9     
air.velocity = -4                    
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0

[State 410]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 410, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;Crouch Strong Punch

[Statedef 420]
type    = C
movetype= A
physics = C
juggle  = 6
poweradd= 50
ctrl = 0
anim = 420
sprpriority = 2
velset = 0,0
facep2 = 1


[State 420]
type = PlaySnd
trigger1 = AnimElem = 9
value = 220,1

[State 420]
type = Helper
trigger1 = AnimElem = 10
stateno = 20420
ownpal = 1
pos = 68,-163
scale = const(size.xscale),const(size.yscale)

[State 420, 2]
type = null;HitDef
trigger1 = !var(29)
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = C, NA
damage    = 10*var(30)
animtype  = Medium
hitflag = MAF
guardflag = M
pausetime = 7,7
sparkxy = -10,-64
sparkno = S7262;S(8220+random%2)
hitsound   = S1,13
guardsound = S4,0
guard.sparkno = S8430
ground.type = High
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = 0,-15;-11
air.velocity = 0,-14;-10
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;fall.animtype = Hard
;p2stateno = 9020
p2stateno = 421

[State 420]
type = null;varset
trigger1 = MoveHit
var(29) = 1
ignorehitpause = 1
persistent = 0


[State 420]
type = null;VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0


[State 420, 3]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 420
value = 421
persistent = 0

[State 420, 3]
type = ChangeState
trigger1 = AnimTime = 0 && Anim = 421
value = 11
ctrl = 1


;---------------------------------------------------------------------------
; Crouch Strong Punch 2
[Statedef 430]
type    = C
movetype= A
physics = C
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 430
sprpriority = 2
facep2 = 1

[State 430]
type = PlaySnd
trigger1 = AnimElem = 5
value = 210,0


[State 430]
type = PlaySnd
trigger1 = AnimElem = 10
value = 210,1


[State 430]
type = Helper
trigger1 = AnimElem = 5
stateno = 20210
ownpal = 1
pos = 64,-64
id = 20210
scale = const(size.xscale),const(size.yscale)
[State 430]
type = Helper
trigger1 = AnimElem = 5
stateno = 20211
ownpal = 1
pos = 91,-59
id = 20210
scale = const(size.xscale),const(size.yscale)
[State 430]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1


;---------------------------------------------------------------------------
;Crouch Strong Punch 3

[Statedef 440]
type    = C
movetype= A
physics = C
juggle  = 6
poweradd= 50
ctrl = 0
anim = 440
sprpriority = 2
velset = 0,0
facep2 = 1


[State 440]
type = PlaySnd
trigger1 = AnimElem = 10
value = 440,0

[State 440]
type = Explod
trigger1 = AnimElem = 6
anim = 20246
ownpal = 1
pos = 179,-74
bindtime = -1
removeongethit = 1
ignorehitpause = 0
sprpriority = 3
scale = const(size.xscale),const(size.yscale)
[State 440]
type = Helper
trigger1 = AnimElem = 11
stateno = 20440
ownpal = 1
pos = 172,-72
scale = const(size.xscale),const(size.yscale)

[State 440]
type = null;HitDef
trigger1 = !var(29)
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = C, NA
damage    = 10*var(30)
animtype  = Medium
hitflag = MF
guardflag = M
pausetime = 7,7
sparkxy = -10,-64
sparkno = S7262;S(8220+random%2)
hitsound   = S1,13
guardsound = S4,0
guard.sparkno = S8430
ground.type = High
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = 0,-15;-11
air.velocity = 0,-14;-10
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;fall.animtype = Hard
;p2stateno = 9020
p2stateno = 421

[State 440]
type = null;varset
trigger1 = MoveHit
var(29) = 1
ignorehitpause = 1
persistent = 0


[State 440]
type = null;VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0


[State 440]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 440
value = 441
persistent = 0

[State 440]
type = ChangeState
trigger1 = AnimTime = 0 && Anim = 441
value = 11
ctrl = 1

;---------------------------------------------------------------------------
;Crouch Kick
[Statedef 500]
type    = C
movetype= A
physics = C
juggle  = 5
poweradd= 13
ctrl = 0
anim = 500
sprpriority = 2
velset = 0,0 
facep2 = 1


[State 500, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0,0


[State 500, 1]
type = HitDef
trigger1 = AnimElem = 5
attr = C, NA             
damage = 4*var(30),floor(var(30)/2)                 
animtype = Light                 
guardflag = L                 
hitflag = MFD             
priority = 3, Hit                
pausetime = 4,4             
sparkno = S(8200+random%2)                
sparkxy = 0,-10
hitsound = S1,4        
guardsound = S4,0                
guard.sparkno = S8430
ground.type = Low               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -2    
;ground.velocity = -1,-9     
air.velocity = -1.4                    
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0

[State 500]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0


[State 500, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1


;---------------------------------------------------------------------------
;Crouch Kick
[Statedef 502]
type    = C
movetype= A
physics = C
juggle  = 5
poweradd= 13
ctrl = 0
anim = 502
sprpriority = 2
velset = 0,0 
facep2 = 1


[State 502, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0,0


[State 502, 1]
type = HitDef
trigger1 = AnimElem = 4
attr = C, NA             
damage = 4*var(30),floor(var(30)/2)                 
animtype = Light                 
guardflag = L                 
hitflag = MFD             
priority = 3, Hit                
pausetime = 4,4             
sparkno = S(8200+random%2)                
sparkxy = 0,-10
hitsound = S1,4        
guardsound = S4,0                
guard.sparkno = S8430
ground.type = Low               
ground.slidetime = 15            
ground.hittime  = 10             
ground.velocity = -2    
;ground.velocity = -1,-9     
air.velocity = -1.4                    
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0

[State 502]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0


[State 502, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1
;---------------------------------------------------------------------------
;Crouch Medium Kick
[Statedef 510]
type    = C
movetype= A
physics = C
juggle  = 5
poweradd= 40
ctrl = 0
anim = 510
sprpriority = 2
velset = 0,0 
facep2 = 1



[State 510, 1]
type = PlaySnd
trigger1 = AnimElem = 3
value = 0,0


[State 510, 1]
type = PlaySnd
trigger1 = AnimElem = 6
value = 205,0


[State 510, 2]
type = HitDef
trigger1 = AnimElem = 5
attr = C, NA
animtype = Medium
damage    = 4*var(30),floor(var(30)/2) 
hitflag = MFD
guardflag = L
pausetime = 5,5
sparkno = S(8200+random%2)
guard.sparkno = S8430
sparkxy = -10,-20
hitsound   = S1,4
guardsound = S4,0
ground.type = Low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -4
air.velocity = -4
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020


[State 510, 2]
type = HitDef
trigger1 = AnimElem = 8
attr = C, NA
animtype = Medium
damage    = 3*var(30),floor(var(30)/2) 
hitflag = MFD
guardflag = L
pausetime = 5,5
sparkno = S(8210+random%2)
guard.sparkno = S8430
sparkxy = -10,-20
hitsound   = S1,5
guardsound = S4,0
ground.type = Low
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -4
air.velocity = -4
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020

[State 510]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 510, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1



;---------------------------------------------------------------------------
;Crouch Strong Kick
[Statedef 520]
type    = C
movetype= A
physics = C
juggle  = 4
poweradd= 50
ctrl = 0
velset = 0,0
anim = 520
sprpriority = 2
facep2 = 1



[State 520, 1]
type = PlaySnd
trigger1 = AnimElem = 6 || AnimElem = 9
value = 205,0



[State 520, 2]
type = HitDef
trigger1 = AnimElem = 4
attr = C, NA
animtype = Hard
damage    = 4*var(30),floor(var(30)/2) 
hitflag = MFD
guardflag = L
pausetime = 3,3
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-10
hitsound   = S1,4
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 10
ground.velocity = -4
air.velocity = -4
getpower = ifelse(MoveHit,25,10),ifelse(MoveHit,25,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020


[State 520, 2]
type = HitDef
trigger1 = AnimElem = 8
attr = C, NA
animtype = Hard
damage    = 4*var(30),floor(var(30)/2) 
hitflag = MFD
guardflag = L
pausetime = 5,5
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-12
hitsound   = S1,5
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -6
air.velocity = -6
getpower = ifelse(MoveHit,25,10),ifelse(MoveHit,25,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020


[State 520, 2]
type = HitDef
trigger1 = AnimElem = 11
attr = C, NA
animtype = Hard
damage    = 4*var(30),floor(var(30)/2) 
hitflag = MFD
guardflag = L
pausetime = 7,7
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-10
hitsound   = S1,6
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -8
air.velocity = -8
getpower = ifelse(MoveHit,25,10),ifelse(MoveHit,25,0)
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 9020

[State 520]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0


[State 520]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1



;---------------------------------------------------------------------------
;Air Punch
[Statedef 600]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 13
ctrl = 0
anim = 600
sprpriority = 2
;velset = 0,0
facep2 = 1


[State 600, 1]
type = PlaySnd
trigger1 = AnimElem = 1
value = 205,0


[State 600, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Light
damage    = 3*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 5,5
sparkno = S(8200+random%2)
guard.sparkno = S8430
sparkxy = -10,-130+floor(P2Dist Y)
hitsound   = S1,0
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -3
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)


[State 600]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 600, 3]
type = CtrlSet
trigger1 = Time = 24
value = 1

[State 600]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3



[State 600]
type = VelSet
trigger1 = MoveContact && Var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 600]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 600]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0

[State 600]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 600]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0



;---------------------------------------------------------------------------
;Air Medium Punch
[Statedef 610]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
anim = 610
sprpriority = 2
;velset = 0,0
facep2 = 1


[State 610, 1]
type = PlaySnd
trigger1 = Time = 8
value = 205,0


[State 610, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Medium
damage    = 5*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7
sparkno = S(8210+random%2)
guard.sparkno = S8430
sparkxy = -10,-100+floor(P2Dist Y)
hitsound   = S1,1
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)


[State 610]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 610, 3]
type = CtrlSet
trigger1 = Time = 36
value = 1

[State 610]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3


[State 610]
type = VelSet
trigger1 = MoveContact && Var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 610]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 610]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 610]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 610]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0

;---------------------------------------------------------------------------
;Air Strong Punch
[Statedef 620]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 50
ctrl = 0
anim = 620
sprpriority = 2
;velset = 0,0
facep2 = 1


[State 620, 1]
type = PlaySnd
trigger1 = Time = 5
value = 205,0


[State 620, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Hard
damage    = 10*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7;0,17;7,10
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -20,-140+floor(P2Dist Y)
hitsound   = S1,2
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 20
air.hittime = 25
ground.velocity = -9
air.velocity = -7,17
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
fall = 1*(enemynear,statetype = A)
air.fall = 1
fall.recover =0


[State 620]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 620, 3]
type = CtrlSet
trigger1 = Time = 47
value = 1

[State 620]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3


[State 620]
type = VelSet
trigger1 = MoveContact && Var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 620]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 620]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 620]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 620]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0

;------------------------------------------------------------------------------------------------------------
; Stand to Air transistion
[Statedef 631]
type = A
movetype = A
physics = A
anim = 44
ctrl = 0
sprpriority = 2
;poweradd= 65
velset = (p2bodydist x)*0.03,-7
facep2 = 1


[State 631]
type = StateTypeSet
trigger1 = Pos Y < 0
statetype = A
persistent = 0


[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 130
trigger1 = random < 300
value = 700
ctrl = 0



[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 100
trigger1 = random < 200
value = 710
ctrl = 0


[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 100
trigger1 = random < 200
value = 717
ctrl = 0

[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 100
trigger1 = random < 100
value = 720
ctrl = 0


[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 70
trigger1 = random < 300
value = 600
ctrl = 0



[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 100
trigger1 = random < 200
value = 610
ctrl = 0


[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 130
trigger1 = random < 100
value = 620
ctrl = 0


[State 631,5]
type = ChangeState
trigger1 = p2bodydist x < 130
value = 700
ctrl = 0


;---------------------------------------------------------------------------
;Air Kick
[Statedef 700]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 13
ctrl = 0
anim = 700
sprpriority = 2
;velset = 0,0
facep2 = 1

[State 700, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0



[State 700, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Light
damage    = 3*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 5,5
sparkno = S(8200+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,4
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -3
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)


[State 700]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 700, 3]
type = CtrlSet
trigger1 = Time = 29
value = 1

[State 700]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3


[State 700]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0



[State 700]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 700]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 700]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 700] 
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Kick 2
[Statedef 705]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 13
ctrl = 0
anim = 705
sprpriority = 2
;velset = 0,0
facep2 = 1

[State 705, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0



[State 705, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Light
damage    = 3*var(30),floor(var(30)/2)
guardflag = MA
pausetime = 5,5
sparkno = S(8200+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,4
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -3
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,13,7),ifelse(MoveHit,13,0)


[State 705]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 705, 3]
type = CtrlSet
trigger1 = Time = 29
value = 1

[State 707]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3


[State 705]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 705]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1


[State 705]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 705]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 705] 
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0



;---------------------------------------------------------------------------
;Air Medium Kick
[Statedef 710]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
anim = 710
sprpriority = 2
;velset = 0,0
facep2 = 1

[State 710, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0


[State 710, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Medium
damage    = 5*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7
sparkno = S(8210+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,5
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)


[State 710]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0


[State 710, 3]
type = CtrlSet
trigger1 = Time = 32
value = 1

[State 710]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3



[State 710]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 710]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 710]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 710]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 710]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Medium Kick 2
[Statedef 717]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
anim = 707
sprpriority = 2
;velset = 0,0
facep2 = 1

[State 717, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0


[State 717, 2]
type = HitDef
trigger1 = AnimElem = 7 || AnimElem = 9
attr = A, NA
animtype  = Medium
damage    = 3*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7
sparkno = S(8210+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,5
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 15
ground.velocity = -5
air.velocity = 0,((vel y)-.2)
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)


[State 717]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0


[State 717, 3]
type = CtrlSet
trigger1 = Time = 40
value = 1

[State 717]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3



[State 717]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 717]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 717]
type = ChangeAnim
trigger1 = AnimTime = 0
value = 44
persistent = 0


[State 717]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 717]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0
;---------------------------------------------------------------------------
;Air Strong Kick
[Statedef 720]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 50
ctrl = 0
anim = 720
sprpriority = 2
;velset = 0,0
facep2 = 1



[State 720, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0




[State 720, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Hard
damage    = 10*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7;0,17;7,10
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,6
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -9
air.velocity = -7,17
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
fall = 1*(enemynear,statetype = A)
air.fall = 1
fall.recover =0
;down.bounce = 1
;fall.xvelocity = -5
;fall.yvelocity = -5
;fall.recovertime = 12
;yaccel = 0.4


[State 720]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 720, 3]
type = CtrlSet
trigger1 = Time = 32
value = 1

[State 720]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3



[State 720]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 720]
type = null;VelAdd
trigger1 = MoveContact
y = (p2bodydist y)*0.01
persistent = 0


[State 720]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 720]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 720
value = 44
persistent = 0


[State 720]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 720]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Strong Kick 2
[Statedef 730]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 50
ctrl = 0
anim = 730
sprpriority = 2
;velset = 0,0
facep2 = 1



[State 730, 1]
type = PlaySnd
trigger1 = Time = 3
value = 205,0




[State 730, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, NA
animtype  = Hard
damage    = 10*var(30),floor(var(30)/2)
guardflag = HA
pausetime = 7,7;0,17;7,10
sparkno = S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-120+floor(P2Dist Y)
hitsound   = S1,6
guardsound = S4,0
ground.type = High
air.type = Low
ground.slidetime = 15
ground.hittime  = 20
ground.velocity = -9
air.velocity = -7,17
getpower = ifelse(MoveHit,50,20),ifelse(MoveHit,50,0)
fall = 1*(enemynear,statetype = A)
air.fall = 1
fall.recover =0
;down.bounce = 1
;fall.xvelocity = -5
;fall.yvelocity = -5
;fall.recovertime = 12
;yaccel = 0.4


[State 730]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 730, 3]
type = CtrlSet
trigger1 = Time = 32
value = 1

[State 730]
type = VelAdd
trigger1 = Pos Y < 0 && !var(54)
y = 0.3



[State 730]
type = VelSet
trigger1 = MoveContact && var(59)
x = (p2bodydist x)*0.03
persistent = 0


[State 730]
type = null;VelAdd
trigger1 = MoveContact
y = (p2bodydist y)*0.01
persistent = 0


[State 730]
type = ChangeState
triggerall = var(54)
trigger1 = AnimTime = 0
trigger2 = anim = 44
value = 1335
ctrl = 1

[State 730]
type = ChangeAnim
trigger1 = AnimTime = 0 && Anim = 730
value = 44
persistent = 0


[State 730]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 730]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Forward Slam - Attempt

; Description: Throws are not difficult to make, although then can be
;     tedious at times. Throw attempt states have a HitDef of a
;     special format. The key parameters in a throw are p1stateno
;     and p2stateno. If the HitDef successfully connects, then
;     the attacker will change to the state number specified by
;     p1stateno, and the opponent will be change to the state
;     number assigned to p2stateno. The special thing about p2stateno
;     is that the opponent will be temporarily brought into the
;     attacker's state file. In this case, no matter who the
;     opponent is, he will be taken to state 820 of this file (kfm.cns)
;     and remain here until the end of the throw (look at his debug
;     information when he is being thrown; the text changes to yellow
;     to mean that he is in another player's state file).
[Statedef 800]
type    = S
movetype= A
physics = N
juggle  = 0
velset = 0,0
ctrl = 0
anim = 0
sprpriority = 2



; Notes: The '-' symbol in the hitflag field means that it only affects
;   players who are not in a hit state. This prevents from combo-ing
;   into the throw. The priority should be set to a low number, such as
;   1 or 2, so that the throw does not take precedence over normal attacks.
;   The type of priority must always be set to "Miss" or "Dodge" for throws,
;   otherwise strange behavior can result.
[State 800, 1]
type = null;HitDef
trigger1 = hitcount < 1
attr = S, NT          ;Attributes: Standing, Normal Throw
hitflag = M-          ;Affect only ground people who are not being hit
priority = 1, Miss    ;Throw has low priority, must be miss or dodge type.
sparkno = -1          ;No spark
p1sprpriority = 1     ;Draw p1's sprite in front of p2
                      ;p2's sprite priority is set to 0 by default
p1facing = 1
p2facing = 1          ;Force p2 to face p`
p1stateno = 810       ;On success, changes to state 810
p2stateno = 820       ;If hit, p2 changes to state 820 
guard.dist = 0        ;This prevents p2 from going into a guard state if close
fall = 1              ;Force p2 into falling down
hitsound = S1,9 
id = 800


[State 800]
type = Helper
trigger1 = NumHelper(21245) = 0
trigger1 = Time = 0
stateno = 801
id = 21245
name = "Ground Throw"
persistence = 0
keyctrl = 0
sprpriority = 5
scale = const(size.xscale),const(size.yscale)
[State 800]
type = CtrlSet
trigger1 = Time = 10
value = 1

[State 800, 2]
type = ChangeState
trigger1 = NumHelper(21245) = 0
trigger2 = AnimTime = 0
value = 0
ctrl = 1


[State 800, 2]
type = ChangeState
trigger1 = NumHelper(21245)
trigger1 = Helper(21245),MoveHit
value = 805
ctrl = 0



;---------------------------------------------------------------------------
;Forward Slam - Attempt

; Description: Throws are not difficult to make, although then can be
;     tedious at times. Throw attempt states have a HitDef of a
;     special format. The key parameters in a throw are p1stateno
;     and p2stateno. If the HitDef successfully connects, then
;     the attacker will change to the state number specified by
;     p1stateno, and the opponent will be change to the state
;     number assigned to p2stateno. The special thing about p2stateno
;     is that the opponent will be temporarily brought into the
;     attacker's state file. In this case, no matter who the
;     opponent is, he will be taken to state 820 of this file (kfm.cns)
;     and remain here until the end of the throw (look at his debug
;     information when he is being thrown; the text changes to yellow
;     to mean that he is in another player's state file).
[Statedef 801]
type    = S
movetype= A
physics = N
juggle  = 0
velset = 0,0
ctrl = 0
anim = 801
sprpriority = 2



; Notes: The '-' symbol in the hitflag field means that it only affects
;   players who are not in a hit state. This prevents from combo-ing
;   into the throw. The priority should be set to a low number, such as
;   1 or 2, so that the throw does not take precedence over normal attacks.
;   The type of priority must always be set to "Miss" or "Dodge" for throws,
;   otherwise strange behavior can result.
[State 801, 1]
type = HitDef
trigger1 = hitcount < 1
attr = S, NT          ;Attributes: Standing, Normal Throw
hitflag = M-          ;Affect only ground people who are not being hit
priority = 1, Miss    ;Throw has low priority, must be miss or dodge type.
sparkno = -1          ;No spark
p1sprpriority = 1     ;Draw p1's sprite in front of p2
                      ;p2's sprite priority is set to 0 by default
p1facing = 1
p2facing = 1          ;Force p2 to face p`
p1stateno = 810       ;On success, changes to state 810
p2stateno = 820       ;If hit, p2 changes to state 820 
guard.dist = 0        ;This prevents p2 from going into a guard state if close
fall = 1              ;Force p2 into falling down
hitsound = S1,9 
id = 800


[State 801]
type = HitBy
trigger1 = 1
value = SCA,AA,AP,AT

[State 801]
type = HitOverride
trigger1 = 1
stateno = 802
attr = SCA,AA,AP,AT
slot = 0
time = -1


[State 801, 2]
type = DestroySelf
trigger1 = AnimTime = 0


[State 801]
type = BindToParent
trigger1 = 1

;------------------------------------------------------------------------------------------------------------
;Remove Helper
[Statedef 802]
type = S
movetype = I
physics = N
anim = 9800
ctrl = 0
sprpriority = 4
velset = 0,0
scale = const(size.xscale),const(size.yscale)
[State 802]
type = DestroySelf
trigger1 = Time = 0


;---------------------------------------------------------------------------
;Ground Rocket Punch Horizontal Throw
[Statedef 805]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1240
sprpriority = 2


[State 805]
type = Width
trigger1 = Time = 0
edge = 150,0


[State 805]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,0

[State 805]
type = Helper
trigger1 = Time = 0
stateno = 21240
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 805]
type = null;Helper
trigger1 = Time = 15
stateno = 21245
id = 21245
ownpal = 1
pos = 131,-94
scale = const(size.xscale),const(size.yscale)
[State 805]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21242
id = 21242
ownpal = 1
pos = 122-48+48*NumHelper(21242),-95
scale = const(size.xscale),const(size.yscale)

[State 805]
type = PlaySnd
trigger1 = AnimElem = 5
value = 1240,0


[State 805]
type = ChangeAnim
trigger1 = var(1) = 1
value = 1240
elem = 7
persistent = 0

[State 805]
type = VarSet
trigger1 = Time = 0
var(1) = 0

[State 805]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1




;---------------------------------------------------------------------------
; Rocket Punch Helper Throw

[Statedef 810]
type    = S
movetype= A
physics = N
anim = 21275
poweradd = 60
juggle  = 0
velset = 12,0
ctrl = 0
sprpriority = 2


[State 810]
type = AssertSpecial
trigger1 = Root,StateTime < 15
trigger1 = Root,Stateno = 805
flag = invisible


[State 810]
type = BindToParent
trigger1 = Root,StateTime < 15
trigger1 = Root,Stateno = 805
pos = 131,-94


[State 810]
type = PlaySnd
trigger1 = Time = 15
value = 100,5

[State 810]
type = null;Turn
trigger1 = Time = 0

[State 810]
type = null;Explod
trigger1 = Time = 0
anim = 7515
ontop = 1
pos = 70,-50
scale = const(size.xscale),const(size.yscale)
[State 810]
type = null;PlayerPush
trigger1 = 1
value = 0

[State 810]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 810, Bind 1]
type = TargetBind
trigger1 = Time < 4
pos = 0,0

[State 810, Bind 2]
type = TargetBind
trigger1 = Time = [4,6]
pos = 15,0

[State 810, Bind 3]
type = TargetBind
trigger1 = Time = 7
pos = 20,0


[State 810, Bind 3]
type = TargetBind
trigger1 = Time = 8
pos = 30,0


[State 810, Bind 3]
type = TargetBind
trigger1 = Time > 8
pos = 35,0

[State 810]
type = TargetLifeAdd
trigger1 = Target(800),BackEdgeDist < 15
value = -10*(Root,var(30))
persistent = 0

[State 810]
type = TargetState
trigger1 = Time > 17
trigger1 = Target(800),BackEdgeDist < 15
value = 823

[State 810, State End]
type = ChangeState
trigger1 = Time > 17
trigger1 = Target(800),BackEdgeDist < 15
value = 811
ctrl = 0


[State 810, State End]
type = DestroySelf
trigger1 = !NumTarget(800)
trigger2 = Root,MoveType = H



;---------------------------------------------------------------------------
; Rocket Punch Throw Continue

[Statedef 811]
type    = S
movetype= A
physics = N
anim = 21246
;poweradd = 60
juggle  = 0
velset = -12,0
ctrl = 0
sprpriority = 2

[State 811]
type = VelSet
trigger1 = ParentDist X > -131+Vel X
trigger1 = Vel X < 0
x = 0

[State 811]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 811, State End]
type = DestroySelf
trigger1 = Root,var(1) = 2
trigger2 = Root,MoveType = H


;---------------------------------------------------------------------------
;Thrown by Forward Slam

[Statedef 820]
type    = A
movetype= H
physics = N
velset = 0,0
sprpriority = -2

[State 820]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 1,0

[State 820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 820


[State 820, 1]
type = null;Turn
trigger1 = facing = enemynear,facing


[State 820, 2]
type = SelfState
trigger1 = !gethitvar(isbound)
value = 5050


[State 820, 2]
type = DestroySelf
trigger1 = ishelper


;---------------------------------------------------------------------------
;Thrown by Forward Slam

[Statedef 823]
type    = A
movetype= H
physics = N
velset = -7,-7
poweradd = 60


[State 823, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 823


[State 823, 1]
type = VelSet
trigger1 = Time = 0
x = -7
y = -7

[State 823, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .4


[State 823, No scroll]
type = ScreenBound
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist < 65
trigger2 = FrontEdgeBodyDist < 65
value = 1
movecamera = 1,0


[State 823, 1]
type = null;ChangeState
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist <= 20
trigger2 = FrontEdgeBodyDist <= 20
value = 825

[State 823, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground


;-------------------------------------------------------------------------
;Wall Smack
[Statedef 825]
type = A
movetype = H
physics = N
;velset = 0,0


[State 825, 4]
type = ChangeAnim2
trigger1 = time = 0
trigger1 = Vel Y = 0
value = 827


[State 825, Sound]
type = PlaySnd
trigger1 = Time = 0
value = F7,0

[State 825, Spark]
type = Explod
trigger1 = Time = 0
trigger1 = Anim = 827
anim = F72
pos = -20, floor(Pos Y)
sprpriority = 3
scale = const(size.xscale),const(size.yscale)

[State 825, 5]
type = null;Turn
trigger1 = time = 0

[State 825, 6]
type = VelSet
trigger1 = time = 0
x = ifelse(Vel X < 0,3,-3)
y = -5



[State 825, 7]
type = VelAdd
trigger1 = time >= 0
y = .39


[State 825, 8]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100


;-------------------------------------------------------------------------
;Hit Ground By Throw
[Statedef 826]
type = A
movetype = H
physics = N
velset = 0,0



[State 826, Spark]
type = Explod
trigger1 = Time = 0
anim = F62
pos = 0, -30
sprpriority = 3
scale = const(size.xscale),const(size.yscale)
[State 826, Sound]
type = PlaySnd
trigger1 = Time = 0
value = F7,0

[State 826, 5]
type = null;Turn
trigger1 = time = 0

[State 826, 6]
type = VelSet
trigger1 = time = 0
x = 2.6
;y = -7



[State 826, 7]
type = VelAdd
trigger1 = time >= 0
y = .39



[State 826, 8]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100


;-------------------------------------------------------------------------
;Wall Smack
[Statedef 827]
type = A
movetype = H
physics = N
;velset = 0,0


[State 827, 4]
type = null;ChangeAnim2
trigger1 = time = 0
value = 827


[State 827, Sound]
type = PlaySnd
trigger1 = Time = 0
value = F7,0

[State 827, Spark]
type = Explod
trigger1 = Time = 0
anim = F72
pos = 0, floor(Pos Y)
sprpriority = 3
scale = const(size.xscale),const(size.yscale)

[State 828, 5]
type = null;Turn
trigger1 = time = 0

[State 827, 6]
type = null;VelSet
trigger1 = time = 0
x = ifelse(Vel X < 0,3,-3)




[State 827, 7]
type = VelAdd
trigger1 = time >= 0
y = .39


[State 827, 8]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100




;---------------------------------------------------------------------------
;Air Rocket Punch- Attempt

[Statedef 920]
type    = A
movetype= A
physics = N
juggle  = 0
velset = 0,0
ctrl = 0
anim = 44
sprpriority = 2



[State 920, 1]
type = null;HitDef
trigger1 = hitcount < 1
attr = A, NT          ;Attributes: Standing, Normal Throw
hitflag = A-          ;Affect only ground people who are not being hit
priority = 1, Miss    ;Throw has low priority, must be miss or dodge type.
sparkno = -1          ;No spark
p1sprpriority = 1     ;Draw p1's sprite in front of p2
                      ;p2's sprite priority is set to 0 by default
p1facing = 1
p2facing = 1          ;Force p2 to face p`
p1stateno = 930       ;On success, changes to state 940
p2stateno = 940       ;If hit, p2 changes to state 940 
guard.dist = 0        ;This prevents p2 from going into a guard state if close
fall = 1              ;Force p2 into falling down
hitsound = S1,9 
id = 920


[State 920]
type = Helper
trigger1 = NumHelper(21275) = 0
trigger1 = Time = 0
stateno = 921
id = 21275
name = "Air Throw"
persistence = 0
keyctrl = 0
sprpriority = 5
scale = const(size.xscale),const(size.yscale)
[State 920]
type = CtrlSet
trigger1 = Time = 10
value = 1

[State 920]
type = ChangeState
trigger1 = NumHelper(21275)
trigger1 = Helper(21275),MoveHit
value = 925
ctrl = 0


[State 920]
type = ChangeAnim
trigger1 = Time = 8
trigger2 = NumHelper(21275) = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))
persistent = 0

[State 920]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = anim = [41,43]
trigger1 = SelfAnimExist(anim + 3)
value = Anim + 3
persistent = 0


[State 920]
type = VelAdd
trigger1 = Time >= 7
y = 0.4

[State 920, 2]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Rocket Punch- Attempt by Helper

[Statedef 921]
type    = A
movetype= A
physics = N
juggle  = 0
velset = 0,0
ctrl = 0
anim = 921
sprpriority = 2



[State 921, 1]
type = HitDef
trigger1 = hitcount < 1
attr = A, NT          ;Attributes: Standing, Normal Throw
hitflag = A-          ;Affect only ground people who are not being hit
priority = 1, Miss    ;Throw has low priority, must be miss or dodge type.
sparkno = -1          ;No spark
p1sprpriority = 1     ;Draw p1's sprite in front of p2
                      ;p2's sprite priority is set to 0 by default
p1facing = 1
p2facing = 1          ;Force p2 to face p`
p1stateno = 930       ;On success, changes to state 940
p2stateno = 940       ;If hit, p2 changes to state 940 
guard.dist = 0        ;This prevents p2 from going into a guard state if close
fall = 1              ;Force p2 into falling down
hitsound = S1,9 
id = 920


[State 921]
type = HitBy
trigger1 = 1
value = SCA,AA,AP,AT

[State 921]
type = HitOverride
trigger1 = 1
stateno = 922
attr = SCA,AA,AP,AT
slot = 0
time = -1

[State 921]
type = DestroySelf
trigger1 = Time = 8


[State 921]
type = BindToParent
trigger1 = 1

;------------------------------------------------------------------------------------------------------------
;Remove Helper
[Statedef 922]
type = S
movetype = I
physics = N
anim = 9800
ctrl = 0
sprpriority = 4
velset = 0,0

[State 922]
type = DestroySelf
trigger1 = Time = 0


;---------------------------------------------------------------------------
;Air Rocket Punch Horizontal Throw
[Statedef 925]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1270
sprpriority = 2


[State 925]
type = Width
trigger1 = Time = 0
edge = 150,0


[State 925]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 1,0

[State 925]
type = Helper
trigger1 = Time = 0
stateno = 21270
id = 21270
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 925]
type = null;Helper
trigger1 = Time = 15
stateno = 21275
id = 21275
ownpal = 1
pos = 80,-105
scale = const(size.xscale),const(size.yscale)
[State 925]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21272
id = 21272
ownpal = 1
pos = 80-48+48*NumHelper(21272),-105
scale = const(size.xscale),const(size.yscale)

[State 925]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 925]
type = VarSet
trigger1 = Time = 0
var(1) = 0

[State 925]
type = ChangeAnim
trigger1 = !NumHelper(21270)
value = 44
persistent = 0


[State 925]
type = VelAdd
trigger1 = Anim = 44
y = 0.4



[State 925]
type = CtrlSet
trigger1 = Anim = 44
value = 1
persistent = 0

[State 925]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 925]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0




;---------------------------------------------------------------------------
; Air Rocket Punch

[Statedef 930]
type    = A
movetype= A
physics = N
anim = 21275
poweradd = 60
juggle  = 0
velset = 12,0
ctrl = 0
sprpriority = 2


[State 930]
type = AssertSpecial
trigger1 = Root,StateTime < 15
trigger1 = Root,Stateno = 925
flag = invisible


[State 930]
type = BindToParent
trigger1 = Root,StateTime < 15
trigger1 = Root,Stateno = 925
pos = 80,-105


[State 930]
type = PlaySnd
trigger1 = Time = 15
value = 100,5

[State 930]
type = null;Turn
trigger1 = Time = 0

[State 930]
type = null;Explod
trigger1 = Time = 0
anim = 7515
ontop = 1
pos = 70,-50
scale = const(size.xscale),const(size.yscale)
[State 930]
type = null;PlayerPush
trigger1 = 1
value = 0

[State 930]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 930, Bind 1]
type = TargetBind
trigger1 = Time < 4
pos = 0,0

[State 930, Bind 2]
type = TargetBind
trigger1 = Time = [4,6]
pos = 15,0

[State 930, Bind 3]
type = TargetBind
trigger1 = Time = 7
pos = 20,0


[State 930, Bind 3]
type = TargetBind
trigger1 = Time = 8
pos = 30,0


[State 930, Bind 3]
type = TargetBind
trigger1 = Time > 8
pos = 35,0

[State 930]
type = TargetLifeAdd
trigger1 = Target(920),BackEdgeDist < 15
value = -10*(Root,var(30))
persistent = 0

[State 930]
type = TargetState
trigger1 = Time > 17
trigger1 = Target(920),BackEdgeDist < 15
value = 943

[State 930, State End]
type = ChangeState
trigger1 = Time > 17
trigger1 = Target(920),BackEdgeDist < 15
value = 931
ctrl = 0


[State 930, State End]
type = DestroySelf
trigger1 = !NumTarget(920)
trigger2 = Root,MoveType = H



;---------------------------------------------------------------------------
; Air Throw End

[Statedef 931]
type    = S
movetype= A
physics = N
anim = 21276
;poweradd = 60
juggle  = 0
velset = -12,0
ctrl = 0
sprpriority = 2

[State 931]
type = VelSet
trigger1 = ParentDist X > -87+Vel X
trigger1 = Vel X < 0
x = 0


[State 931]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 931, State End]
type = DestroySelf
trigger1 = Root,var(1) = 2
trigger2 = Root,MoveType = H

;---------------------------------------------------------------------------
;Thrown by Air Forward Slam

[Statedef 940]
type    = A
movetype= H
physics = N
velset = 0,0
sprpriority = -2

[State 940]
type = ScreenBound
trigger1 = 1
value = 0
movecamera = 1,0


[State 940, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 820

[State 940, 2]
type = SelfState
trigger1 = !gethitvar(isbound)
value = 5050


[State 940, 2]
type = DestroySelf
trigger1 = ishelper


;---------------------------------------------------------------------------
;Thrown by Air Forward Slam

[Statedef 943]
type    = A
movetype= H
physics = N
velset = -7,-7
poweradd = 60



[State 943, 1]
type = ChangeAnim2
trigger1 = Time = 0
value = 823


[State 943, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .4


[State 943, No scroll]
type = ScreenBound
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist < 65
trigger2 = FrontEdgeBodyDist < 65
value = 1
movecamera = 1,0


[State 943, 1]
type = null;SelfState
;triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist <= 15
trigger2 = FrontEdgeBodyDist <= 15
value = 5050

[State 943, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground


[State 943, 5]
type = null;SelfState
trigger1 = Vel Y > 0 
value = 5040 ;HITA_RECOV


;---------------------------------------------------------------------------
;Ground Rocket Punch Horizontal
[Statedef 1240]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1240
sprpriority = 2


[State 1240]
type = Explod
trigger1 = Time = 0
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 1240]
type = Helper
trigger1 = Time = 0
stateno = 21240
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 1240]
type = Helper
trigger1 = Time = 15
stateno = 21245
id = 21245
ownpal = 1
pos = 131,-94
scale = const(size.xscale),const(size.yscale)
[State 1240]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21242
id = 21242
ownpal = 1
pos = 122-48+48*NumHelper(21242),-95
scale = const(size.xscale),const(size.yscale)

[State 1240, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1240]
type = ChangeAnim
triggerall = AnimElem = 6, > 0
trigger1 = NumHelper(21245)
trigger1 = Helper(21245),Vel X = 0
value = anim
elem = 7
persistent = 0


[State 1240]
type = VarSet
trigger1 = Time = 0
var(1) = 0

[State 1240]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1240]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0

[State 1240]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;Ground Rocket Punch Downward
[Statedef 1250]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1250
sprpriority = 2




[State 1250]
type = Explod
trigger1 = Time = 0
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 1250]
type = Helper
trigger1 = Time = 0
stateno = 21250
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 1250]
type = Helper
trigger1 = Time = 15
stateno = 21255
id = 21255
ownpal = 1
pos = 120,-80
scale = const(size.xscale),const(size.yscale)
[State 1250]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21252
id = 21252
ownpal = 1
pos = 114-48+48*NumHelper(21252),-82-24+24*NumHelper(21252)
scale = const(size.xscale),const(size.yscale)

[State 1250, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1250]
type = ChangeAnim
triggerall = AnimElem = 6, > 0
trigger1 = NumHelper(21255)
trigger1 = Helper(21255),Vel X = 0
value = anim
elem = 7
persistent = 0


[State 1250]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1250]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0

[State 1250]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;Ground Rocket Punch Upward
[Statedef 1260]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1260
sprpriority = 2


[State 1260]
type = Explod
trigger1 = Time = 0
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 12560]
type = Helper
trigger1 = Time = 0
stateno = 21260
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 1260]
type = Helper
trigger1 = Time = 15
stateno = 21265
id = 21265
ownpal = 1
pos = 100,-140
scale = const(size.xscale),const(size.yscale)
[State 1260]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21262
id = 21262
ownpal = 1
pos = 90-48+48*NumHelper(21262),-137+24-24*NumHelper(21262)
scale = const(size.xscale),const(size.yscale)

[State 1260, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1260]
type = ChangeAnim
triggerall = AnimElem = 6, > 0
trigger1 = NumHelper(21265)
trigger1 = Helper(21265),Vel X = 0
value = anim
elem = 7
persistent = 0


[State 1260]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1260]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0


[State 1260]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;Air Rocket Punch Horizontal
[Statedef 1270]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1270
sprpriority = 2


[State 1270]
type = Helper
trigger1 = Time = 0
stateno = 21270
id = 21270
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1270]
type = Helper
trigger1 = Time = 15
stateno = 21275
id = 21275
ownpal = 1
pos = 80,-105
scale = const(size.xscale),const(size.yscale)
[State 1270]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21272
id = 21272
ownpal = 1
pos = 80-48+48*NumHelper(21272),-105
scale = const(size.xscale),const(size.yscale)

[State 1270, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1270]
type = VarSet
trigger1 = Time = 0
var(1) = 0


[State 1270]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1270]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0

[State 1270]
type = ChangeState
trigger1 = !NumHelper(21270) && var(54)
value = 1335
ctrl = 0

[State 1270]
type = ChangeAnim
trigger1 = !NumHelper(21270)
value = 44
persistent = 0


[State 1270]
type = VelAdd
trigger1 = Anim = 44
y = 0.4



[State 1270]
type = CtrlSet
trigger1 = Anim = 44
value = 1
persistent = 0

[State 1270]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 1270]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Rocket Punch Downward
[Statedef 1280]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1280
sprpriority = 2


[State 1280]
type = Helper
trigger1 = Time = 0
stateno = 21280
id = 21280
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1280]
type = Helper
trigger1 = Time = 15
stateno = 21285
id = 21285
ownpal = 1
pos = 85,-92
scale = const(size.xscale),const(size.yscale)
[State 1280]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21282
id = 21282
ownpal = 1
pos = 85-48+48*NumHelper(21282),-92-24+24*NumHelper(21282)
scale = const(size.xscale),const(size.yscale)
[State 1280, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1280]
type = VarSet
trigger1 = Time = 0
var(1) = 0


[State 1280]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1280]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0

[State 1280]
type = ChangeState
trigger1 = !NumHelper(21280) && var(54)
value = 1335
ctrl = 0

[State 1280]
type = ChangeAnim
trigger1 = !NumHelper(21280)
value = 44
persistent = 0


[State 1280]
type = VelAdd
trigger1 = Anim = 44
y = 0.4


[State 1280]
type = CtrlSet
trigger1 = Anim = 44
value = 1
persistent = 0

[State 1280]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 1280]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Air Rocket Punch Upward
[Statedef 1290]
type    = A
movetype= A
physics = N
juggle  = 3
poweradd= 60
ctrl = 0
velset = 0,0
anim = 1290
sprpriority = 2


[State 1290]
type = Helper
trigger1 = Time = 0
stateno = 21290
id = 21290
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1290]
type = Helper
trigger1 = Time = 15
stateno = 21295
id = 21295
ownpal = 1
pos = 85,-150
scale = const(size.xscale),const(size.yscale)
[State 1290]
type = Helper
trigger1 = Time = [15,32]
trigger1 = Time%4 = 0
stateno = 21292
id = 21292
ownpal = 1
pos = 80-48+48*NumHelper(21292),-148+24-24*NumHelper(21292)
scale = const(size.xscale),const(size.yscale)
[State 1290, 1]
type = PlaySnd
trigger1 = Time = 15
value = 1240,0


[State 1290]
type = VarSet
trigger1 = Time = 0
var(1) = 0


[State 1290]
type = null;HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA
animtype = Hard
damage    = 11*var(30),var(30)
guardflag = MA
pausetime = 7,7
sparkno = S7281;S(8220+random%2)
guard.sparkno = S8430
sparkxy = -10,-50
hitsound   = S1,13
guardsound = S4,0
ground.type = Low
ground.slidetime = 15
ground.hittime  = 25
ground.velocity = -9,-4
air.velocity = -9,-4
getpower = ifelse(MoveHit,60,30),ifelse(MoveHit,60,0)
fall = 1
air.fall = 1
fall.recover =0
;p2stateno = 9020
;persistent = 0
;p2stateno = 321


[State 1290]
type = null;AfterImage
trigger1 = Anim = 100
time = 30
length = 7
palbright = 0,0,0
palpostbright = 0,0,0
palcontrast =256,256,256
paladd = 0,0,0
palmul = 1,1,1
palcolor = 256
timegap = 2
framegap = 3
persistent = 0


[State 1290]
type = ChangeState
trigger1 = !NumHelper(21290) && var(54)
value = 1335
ctrl = 0

[State 1290]
type = ChangeAnim
trigger1 = !NumHelper(21290)
value = 44
persistent = 0


[State 1290]
type = VelAdd
trigger1 = Anim = 44
y = 0.4

[State 12790]
type = CtrlSet
trigger1 = Anim = 44
value = 1
persistent = 0

[State 1290]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 1290]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = ifelse(var(54),1335,52)
ctrl = 0


;---------------------------------------------------------------------------
;Sentinel Force
[Statedef 1300]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
velset = 0,0
anim = 1300
sprpriority = 2



[State 1300]
type = Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 1300]
type = PlaySnd
trigger1 = Time = 1
value = 1300,0

[State 1300]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70,-70
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1300]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70+48,-71
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1300]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70+48+48,-72
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1300]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;---------------------------------------------------------------------------
;Sentinel Force 2
[Statedef 1310]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
velset = 0,0
anim = 1300
sprpriority = 2



[State 1310]
type = Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 1310]
type = PlaySnd
trigger1 = Time = 1
value = 1300,0

[State 1310]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70,-50
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1310]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70+16,-50-32
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1310]
type = Helper
trigger1 = AnimElem = 2
stateno = 21300
id = 21300
pos = -BackEdgeDist-70+16+16,-50-32-32
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1310]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;---------------------------------------------------------------------------
;Sentinel Force 3
[Statedef 1320]
type    = S
movetype= A
physics = N
juggle  = 3
poweradd= 40
ctrl = 0
velset = 0,0
anim = 1300
sprpriority = 2



[State 1320]
type = Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1

[State 1320]
type = PlaySnd
trigger1 = Time = 1
value = 1300,0

[State 1320]
type = Helper
trigger1 = AnimElem = 2
stateno = 21320
id = 21320
pos = -BackEdgeDist-70,-144
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1320]
type = Helper
trigger1 = AnimElem = 2
stateno = 21320
pos = -BackEdgeDist-70+32,-144
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1320]
type = Helper
trigger1 = AnimElem = 2
stateno = 21320
pos = -BackEdgeDist-70+32+32,-144
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 1320]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;---------------------------------------------------------------------------
;Flight
[Statedef 1330]
type    = A
movetype= I
physics = N
juggle  = 3
poweradd= 20
ctrl = 0
velset = 0,-2
anim = 1330
sprpriority = 2



[State 1330]
type = VarSet
trigger1 = Time = 0
var(54) = 1

[State 1330]
type = ChangeState
trigger1 = AnimTime = 0 && var(54) >= 1
value = 1335
ctrl = 0


;---------------------------------------------------------------------------
;Flight Cancel
[Statedef 1331]
type    = A
movetype= I
physics = N
juggle  = 3
poweradd= 20
ctrl = 0
velset = 0,0
anim = 44
sprpriority = 2



[State 1331]
type = VarSet
trigger1 = Time = 0
var(54) = 0


[State 1331]
type = VelAdd
trigger1 = Pos Y < 0
y = 0.35



[State 1331]
type = CtrlSet
trigger1 = Time = 1
value = 1


[State 1331]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0


;---------------------------------------------------------------------------
;Flight after S Jump
[Statedef 1333]
type    = S
physics = S
anim = 40
ctrl = 0
sprpriority = 1

[State 1333]
type = PlaySnd
trigger1 = Time = 1
value = 710,0
channel = 1

[State 1333]
type = Explod
trigger1 = Time = 1
anim = 7055
scale = const(size.xscale),const(size.yscale)
[State 1333]
type = Explod
trigger1 = Time = 1
anim = 7055
facing = -1
scale = const(size.xscale),const(size.yscale)

[State 1333]
type = Explod
trigger1 = Time = 1
anim = 7022
sprpriority = 4
scale = const(size.xscale),const(size.yscale)

[State 1333, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 1333, 2]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

[State 1333, 3]
type = VarSet
trigger1 = command = "holdback"
sysvar(1) = -1

[State 1333, 4]
type = null;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) - 3

[State 1333, 4]
type = null;VelSet
trigger1 = AnimTime = 0
x = (P2Dist X)*0.07
y = (P2Dist Y)*0.07

[State 1333, 5]
type = null;VelSet
trigger1 = AnimTime = 0
trigger1 = prevstateno = 100 ;RUN_FWD
trigger1 = sysvar(1) = 1
x = const(velocity.runjump.fwd.x)

[State 1333, 6]
type = ChangeState
trigger1 = AnimTime = 0
value = 1334
ctrl = 0


;---------------------------------------------------------------------------
; Super Jump Up
[Statedef 1334]
type    = A
physics = N


[State 1334, 4]
type = null;VelSet
trigger1 = 1;Time = 0
y = -11


[State 1334, 4]
type = VelSet
trigger1 = Time = 0
y = -15;-13

[State 1334, 4]
type = VelAdd
trigger1 = 1
y = 0.35;0.4



[State 1334]
type = veladd
triggerall = vel x <= 4
trigger1 = var(59)
trigger1 = p2bodydist x >= 0
persistent = 4
x = .9


[State 1334]
type = veladd
triggerall = vel x >= -4
trigger1 = var(59) 
trigger1 = p2bodydist x <= 0
persistent = 4
x = -.9


[State 1334,4]
type = null;VelAdd
triggerall = command = "holdfwd"
trigger1 = sysvar(1) = 1
trigger1 = vel X <=4
trigger2 = sysvar(1) = -1
trigger2 = Vel X <= -.4
x = .2

[State 1334,5]
type = null;VelAdd
triggerall = command = "holdback"
trigger1 = sysvar(1) = -1
trigger1 = Vel X >= -4
trigger2 = sysvar(1) = 1
trigger2 = Vel X >= .4
x = -.2

[State 1334, 1]
type = null;ScreenBound
trigger1 = 1
value = 0
movecamera = 0,1


[State 1334]
type = Explod
trigger1 = Time%4 = 0
trigger1 = Time >= 4
trigger1 = Vel Y < 0
anim = 7056
pos = 0,0
random = 50,0
ontop = 1
scale = const(size.xscale),const(size.yscale)
[State 1334]
type = Explod
trigger1 = Time%2 = 0
trigger1 = Time >= 12
trigger1 = Vel Y < 0
anim = 7057+random%3
pos = 0,0
random = 60,0
ontop = 1
scale = const(size.xscale),const(size.yscale)

[State 1334, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))

[State 1334, 3]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = SelfAnimExist(anim + 3)
persistent = 0
value = Anim + 3

[State 1334]
type = turn
trigger1 = p2dist x < -5


[State 1334]
type = ChangeState
trigger1 = Vel Y > -1
value = 1330


;---------------------------------------------------------------------------
; Flight
[Statedef 1335]
type    = A
physics = N
anim = 1335
velset = 0,0
movetype= I
sprpriority = 2
ctrl = 1


[State 1335]
type = Turn
trigger1 = FrontEdgeDist < 15
trigger2 = enemy(0),facing = facing
trigger2 = Time%4 = 0

[State 1335]
type = AssertSpecial
trigger1 = 1
flag = noairguard


[State 1335]
type = PosAdd
trigger1 = Pos Y > -30
y = -4

[State 1335, 1]
type = VarSet
trigger1 = 1
sysvar(1) = 0


[State 1335, 3]
type = null;ChangeAnim
trigger1 = Anim = [41,43]
persistent = 0
value = Anim + 3



[State 1335, 2]
type = VarSet
trigger1 = command = "holdfwd"
trigger1 = command != "holdup"
trigger2 = var(59) 
trigger2 = p2bodydist x > 100
sysvar(1) = 1


[State 1335, 3]
type = VarSet
trigger1 = command = "holdback"
trigger1 = command != "holdup"
sysvar(1) = -1


[State 1335, 3]
type = VarSet
trigger1 = command = "holdfwd"
trigger1 = command = "holdup"
sysvar(1) = 2


[State 1335, 3]
type = VarSet
trigger1 = command = "holdback"
trigger1 = command = "holdup"
sysvar(1) = -2



[State 1335, 3]
type = VarSet
trigger1 = command != "holdfwd"
trigger1 = command != "holdback"
trigger1 = command = "holdup"
trigger2 = var(59) && Time%4 = 0 && Screenpos Y > 100 
trigger2 = p2bodydist y < 170
sysvar(1) = 3

[State 1335, 3]
type = VarSet
trigger1 = command = "holddown"
trigger1 = command != "holdfwd"
trigger1 = command != "holdback"
trigger2 = var(59)
trigger2 = p2bodydist y > 120
sysvar(1) = -3



[State 1335, 3]
type = VarSet
trigger1 = command = "holdfwd"
trigger1 = command = "holddown"
sysvar(1) = 4

[State 1335, 3]
type = VarSet
trigger1 = command = "holddown"
trigger1 = command = "holdback"
sysvar(1) = -4

[State 1335, 3]
type = null;ChangeAnim
trigger1 = anim != 103
value = 103
persistent = 0

[State 1335, 3]
type = null;ChangeAnim
triggerall = anim != 102
trigger1 = sysvar(1) = 0
value = 102
persistent = 0

[State 1335]
type = null;ChangeAnim
triggerall = anim != 101
trigger1 = sysvar(1) = 1
trigger2 = sysvar(1) = 2
value = 101
persistent = 0


[State 1335]
type = ChangeAnim
triggerall = anim != 1345
trigger1 = sysvar(1) = 1
value = 1345

[State 1335]
type = ChangeAnim
triggerall = anim != 1341
trigger1 = sysvar(1) = -1
value = 1341


[State 1335]
type = ChangeAnim
triggerall = anim != 1344
trigger1 = sysvar(1) = 2
value = 1344

[State 1335]
type = ChangeAnim
triggerall = anim != 1340
trigger1 = sysvar(1) = -2
value = 1340


[State 1335]
type = ChangeAnim
triggerall = anim != 1343
trigger1 = sysvar(1) = 3
value = 1343

[State 1335]
type = ChangeAnim
triggerall = anim != 1347
trigger1 = sysvar(1) = -3
value = 1347

[State 1335]
type = ChangeAnim
triggerall = anim != 1346
trigger1 = sysvar(1) = 4
value = 1346

[State 1335]
type = ChangeAnim
triggerall = anim != 1342
trigger1 = sysvar(1) = -4
value = 1342


[State 1335]
type = VelSet
trigger1 = sysvar(1) = 0
y = 0
x = 0

[State 1335]
type = VelSet
trigger1 = sysvar(1) = 1
x = 9
y = 0

[State 1335]
type = VelSet
trigger1 = sysvar(1) = -1
x = -9
y = 0

[State 1335]
type = VelSet
trigger1 = sysvar(1) = 2
x = 9
y = -9+9*(ScreenPos Y < 170)



[State 1335]
type = VelSet
trigger1 = sysvar(1) = -2
x = -9
y = -9+9*(ScreenPos Y < 170)




[State 1335]
type = VelSet
trigger1 = sysvar(1) = 3
y = -9+9*(ScreenPos Y < 170)
x = 0


[State 1335]
type = VelSet
trigger1 = sysvar(1) = -3
y = 9-9*(Pos Y > -30)
x = 0


[State 1335]
type = VelSet
trigger1 = sysvar(1) = 4
y = 9-9*(Pos Y > -30)
x = 9


[State 1335]
type = VelSet
trigger1 = sysvar(1) = -4
y = 9-9*(Pos Y > -30)
x = -9

[State 1335]
type = VarSet
trigger1 = Time = 0
var(6) = 0


[State 1335]
type = PlaySnd
trigger1 = sysvar(1) != 0
trigger1 = var(6) != sysvar(1)
value = 100,5


[State 1335]
type = VarSet
trigger1 = sysvar(1) != 0
trigger1 = var(6) != sysvar(1)
var(6) = sysvar(1)


[State 1335]
type = ChangeAnim
triggerall = anim != 1335
trigger1 = sysvar(1) = 0
value = 1335

[State 1335]
type = ChangeState
trigger1 = var(54) = 0
value = 1331
ctrl = 0

;---------------------------------------------------------------------------
;Plasma Storm

[Statedef 3000]
type    = S
movetype= A
physics = N
juggle  = 4
velset = 0,0
anim = 3000
poweradd= 150
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3000]
type = null;Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1



[State 3000, Super A]
type = SuperPause
trigger1 = AnimElem = 4
anim = -1;S32701
sound = -1;S3000,3
poweradd = -1000
time = 60
movetime = 60
unhittable = 1
darken = 0


;about 8 ticks before 3110
[State 3000]
type = Helper
trigger1 = AnimElem = 4, = 1 
stateno = 33117
supermovetime = 9999
pausemovetime = 9999
pos = 0,-200
ownpal = 1
postype = back
scale = const(size.xscale),const(size.yscale)

[State 3000]
type = Helper
trigger1 = AnimElem = 4, = 9
stateno = 33110
id = 33110
supermovetime = 9999
pausemovetime = 9999
pos = 122,-108
ownpal = 1
scale = const(size.xscale),const(size.yscale)


[State 3000]
type = null;NotHitBy
trigger1 = AnimElem = 4, >= 0
value = SCA


[State 3000]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3000]
type = ChangeState
trigger1 = AnimElem = 5
value = 3001
ctrl = 0


;---------------------------------------------------------------------------
;Plasma Storm
[Statedef 3001]
type    = S
movetype= A
physics = N
juggle  = 2
;poweradd=
velset = 0,0
anim = 3001
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3001]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 3001]
type = null;PlayerPush
trigger1 = 1
value = 0

[State 3001]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3001]
type = Helper
trigger1 = Time = 0
stateno = 33120
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 3001]
type = Helper
trigger1 = Time = 0
stateno = 23000
id = 23000
ownpal = 1
pos = 119,-107
scale = const(size.xscale),const(size.yscale)

[State 3001]
type = HitDef
attr = S, HA
trigger1 = Time%7 = 0
trigger1 = hitcount < 8
trigger1 = moveguarded < 1
damage = 5*var(30),floor(var(30)/4)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-100
hitsound   = S1,7
guardsound = S4,0
sparkno = S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -7,-13
air.velocity = -7,-13
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,10,3),ifelse(MoveHit,10,0)


[State 3001]
type = PlaySnd
trigger1 = Time = 1
value = 3000,0

[State 3001]
type = PlaySnd
trigger1 = Time >= 7 
trigger1 = AnimElemNo(0) <= 2
trigger1 = Time%17 = 0
value = 3000,1

[State 3001]
type = Varset
trigger1 = time = 0
var(0) = 8

[State 3001]
type = VarAdd
trigger1 = MoveGuarded
var(0) = -1

[State 3001]
type = MoveHitReset
trigger1 = var(0) > 0
trigger1 = MoveGuarded



[State 3001]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;Hyper Sentinel Force

[Statedef 3020]
type    = S
movetype= A
physics = N
juggle  = 4
velset = 0,0
anim = 3020
poweradd= 150
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3020]
type = null;Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1



[State 3020, Super A]
type = SuperPause
trigger1 = AnimElem = 2, = 1
anim = -1;S32701
sound = -1;S3000,3
poweradd = -1000
time = 60
movetime = 60
unhittable = 1
darken = 0


;about 8 ticks before 3110
[State 3020]
type = Helper
trigger1 = AnimElem = 2, = 2 
stateno = 33117
supermovetime = 9999
pausemovetime = 9999
pos = 0,-200
ownpal = 1
postype = back
scale = const(size.xscale),const(size.yscale)

[State 3020]
type = Helper
trigger1 = AnimElem = 2, = 9
stateno = 33110
id = 33110
supermovetime = 9999
pausemovetime = 9999
pos = 130,-116
ownpal = 1
scale = const(size.xscale),const(size.yscale)


[State 3020]
type = null;NotHitBy
trigger1 = AnimElem = 4, >= 0
value = SCA


[State 3020]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3020]
type = ChangeState
trigger1 = AnimElem = 3
value = 3021
ctrl = 0


;---------------------------------------------------------------------------
;Hyper Sentinel Force
[Statedef 3021]
type    = S
movetype= A
physics = N
juggle  = 2
;poweradd=
velset = 0,0
anim = 3021
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3021]
type = Helper
trigger1 = Time = 0
stateno = 33120
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 3021]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 3021]
type = PlaySnd
trigger1 = AnimElem = 1
value = 1300,0

[State 3021]
type = Helper
trigger1 = Time < 70
trigger1 = Time%30 = 0
stateno = 23020
id = 23020
pos = -BackEdgeDist-70,-16
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 3021]
type = Helper
trigger1 = Time < 70
trigger1 = Time%30 = 0
stateno = 23020
id = 23020
pos = -BackEdgeDist-70+32,-16-64
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 3021]
type = Helper
trigger1 = Time < 70
trigger1 = Time%30 = 0
stateno = 23020
id = 23020
pos = -BackEdgeDist-70+32+32,-16-64-64
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 3021]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1



;---------------------------------------------------------------------------
;Hard Drive

[Statedef 3040]
type    = A
movetype= A
physics = N
juggle  = 4
velset = 0,0
anim = 3040
poweradd= 150
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3040]
type = Explod
trigger1 = AnimElem = 1 && StateType != A
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1
ownpal = 1


[State 3040, Super A]
type = SuperPause
trigger1 = AnimElem = 3
anim = -1;S32701
sound = -1;S3000,3
poweradd = -1000
time = 60
movetime = 60
unhittable = 1
darken = 0


;about 8 ticks before 3110
[State 3040]
type = Helper
trigger1 = AnimElem = 3, = 1 
stateno = 33117
supermovetime = 9999
pausemovetime = 9999
pos = 0,-200
ownpal = 1
postype = back
scale = const(size.xscale),const(size.yscale)

[State 3040]
type = Helper
trigger1 = AnimElem = 3, = 9
stateno = 33110
id = 33110
supermovetime = 9999
pausemovetime = 9999
pos = 39,-120
ownpal = 1
scale = const(size.xscale),const(size.yscale)


[State 3040]
type = null;NotHitBy
trigger1 = AnimElem = 3, >= 0
value = SCA


[State 3040]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3040]
type = ChangeState
trigger1 = AnimElem = 4
value = 3041
ctrl = 0


;---------------------------------------------------------------------------
;Hard Drive
[Statedef 3041]
type    = A
movetype= A
physics = N
juggle  = 2
;poweradd=
velset = 9,0
anim = 3041
ctrl = 0
sprpriority = 2
facep2 = 1

[State 3041]
type = Helper
trigger1 = Time = 0
stateno = 33120
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 3041]
type = Helper
trigger1 = Time = 1
stateno = 23040
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 3041]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 3041]
type = HitDef
attr = A, HA
trigger1 = Time%5 = 0
trigger1 = hitcount < 15
trigger1 = moveguarded < 1
damage = 2*var(30),floor(var(30)/4)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 3,7
sparkxy = -10+random%20,-70-random%30
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-5
air.velocity = -5,-5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,10,3),ifelse(MoveHit,10,0)

[State 3041]
type = PlaySnd
trigger1 = Time = 0
value = 1300,0

[State 3041]
type = PlaySnd
trigger1 = Time = 4
value = 105,2


[State 3041]
type = Varset
trigger1 = time = 0
var(0) = 15

[State 3041]
type = VarAdd
trigger1 = MoveGuarded
var(0) = -1

[State 3041]
type = MoveHitReset
trigger1 = var(0) > 0
trigger1 = MoveGuarded


[State 3041]
type = ChangeAnim
trigger1 = Time = 60
value = 44
persistent = 0

[State 3041]
type = VelSet
trigger1 = Anim = 44
x = 0
persistent = 0

[State 3041]
type = VelAdd
trigger1 = Pos Y < 0 && Anim = 44
y = 0.4


[State 3041]
type = CtrlSet
trigger1 = Anim = 44
value = 1
persistent = 0

[State 3041]
type = StateTypeSet
trigger1 = Anim = 44
movetype = I
persistent = 0

[State 3041] 
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0



;---------------------------------------------------------------------------
;X Plasma Storm

[Statedef 3060]
type    = S
movetype= A
physics = N
juggle  = 4
velset = 0,0
anim = 3060
poweradd= 150
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3060]
type = null;Explod
trigger1 = AnimElem = 1
anim = 7023
scale = const(size.xscale),const(size.yscale)
ontop = 1



[State 3060, Super A]
type = SuperPause
trigger1 = AnimElem = 7
anim = -1;S32701
sound = -1;S3060,3
poweradd = -1000
time = 60
movetime = 60
unhittable = 1
darken = 0


;about 8 ticks before 3110
[State 3060]
type = Helper
trigger1 = AnimElem = 7, = 1 
stateno = 33117
supermovetime = 9999
pausemovetime = 9999
pos = 0,-200
ownpal = 1
postype = back
scale = const(size.xscale),const(size.yscale)


[State 3060]
type = Helper
trigger1 = AnimElem = 7, = 9
stateno = 33110
id = 33110
supermovetime = 9999
pausemovetime = 9999
pos = 132,-110
ownpal = 1
scale = const(size.xscale),const(size.yscale)


[State 3060]
type = null;NotHitBy
trigger1 = AnimElem = 4, >= 0
value = SCA


[State 3060]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3060]
type = ChangeState
trigger1 = AnimElem = 8
value = 3061
ctrl = 0


;---------------------------------------------------------------------------
;X Plasma Storm
[Statedef 3061]
type    = S
movetype= A
physics = N
juggle  = 2
;poweradd=
velset = 0,0
anim = 3061
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3061]
type = AssertSpecial
trigger1 = 1
flag = invisible


[State 3061]
type = null;NotHitBy
trigger1 = 1
value = SCA


[State 3061]
type = null;PlayerPush
trigger1 = 1
value = 0

[State 3061]
type = null;ScreenBound
trigger1 = 1
value = 1
movecamera = 0,0


[State 3061]
type = Helper
trigger1 = Time = 0
stateno = 3062
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 3061]
type = Helper
trigger1 = AnimElem = 1, = 1
stateno = 33120
ownpal = 1
scale = const(size.xscale),const(size.yscale)


[State 3061]
type = VarSet
trigger1 = Time = 0
trigger2 = AnimTime = 0 || AnimElem = 1
var(1) = 0

[State 3061]
type = VarSet
trigger1 = AnimElemNo(0) != var(1)
var(1) = AnimElemNo(0)



[State 3061]
type = HitDef
attr = S, HA
trigger1 = hitcount < 7
trigger1 = Time%7 = 0
trigger1 = var(1)
damage = var(30),floor(var(30)/4)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-100
hitsound   = S1,7
guardsound = S4,0
sparkno = S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9,0
air.velocity = -9,0
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,10,3),ifelse(MoveHit,10,0)


[State 3061]
type = Helper
trigger1 = AnimElem = 1, = 1
stateno = 23060
id = 23060
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Explod
trigger1 = AnimElem = 1, = 1
anim = 23065
ownpal = 0
bindtime = -1
removeongethit = 1
sprpriority = 3
removetime = 50
scale = const(size.xscale),const(size.yscale)
[State 3061]
type = Explod
trigger1 = AnimElem = 1, = 1
anim = 23066
ownpal = 0
bindtime = -1
removeongethit = 1
sprpriority = 4
removetime = 50
scale = const(size.xscale),const(size.yscale)
[State 3061]
type = PlaySnd
trigger1 = Time = 1
value = 3000,0


[State 3061]
type = PlaySnd
trigger1 = AnimElem = 8, < 0
trigger1 = Time%7 = 0
value = 3000,1


[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23068
id = 23068
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23069
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23070
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23071
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23072
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23073
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23074
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)

[State 3061]
type = Helper
trigger1 = AnimElem = 9
stateno = 23075
id = 23075
ownpal = 0
pos = 132,-110
scale = const(size.xscale),const(size.yscale)
[State 3061]
type = VarSet
trigger1 = Time = 0
var(4) = 0


[State 3061]
type = VarSet
trigger1 = Time = 0
var(2) = 1

[State 3061]
type = VarSet
trigger1 = AnimElem = 11
var(3) = 0

[State 3061]
type = ChangeAnim
trigger1 = var(3) && var(4) < 3
trigger1 = AnimElem = 11, > 0
value = 3061


[State 3061]
type = VarSet
trigger1 = command = "5x"
trigger2 = var(59) && random < 100
var(3) = 1

[State 3061]
type = VarAdd
trigger1 = AnimElem = 2
var(4) = 1


[State 3061]
type = VarAdd
trigger1 = command = "y"
trigger2 = var(59) && random < 100
var(2) = 1


[State 3061]
type = PalFx
trigger1 = var(4) > 1
trigger1 = NumHelper(23060) || NumHelper(23075)
time = 1
add = 0,-255,255

[State 3061]
type = PalFx
trigger1 = AnimElem = 19, >= 1
trigger1 = NumHelper(23060) = 0
trigger1 = NumHelper(23075) = 0
time = 0
color = 0
add = 0,0,0

[State 3061]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
;X Plasma Storm Clone
[Statedef 3062]
type    = S
movetype= I
physics = N
juggle  = 2
;poweradd=
velset = 0,0
anim = 3061
ctrl = 0
sprpriority = 2
facep2 = 1


[State 3062]
type = NotHitBy
trigger1 = 1
value = SCA


[State 3062]
type = ChangeAnim
trigger1 = Parent,AnimElemNo(0) != AnimElemNo(0)
value = anim
elem = Parent,AnimElemNo(0)

[State 3062]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Parent,Stateno != 3061


[State 3060]
type = BindToParent
trigger1 = 1

;---------------------------------------------------------------------------
; Hyper Spark Helper
[Statedef 33110]
type    = S
movetype= I
physics = N
juggle  = 5
;poweradd= 65
ctrl = 0
velset = 0,0
anim = 32701
sprpriority = 4

[State 33110]
type = PlaySnd
trigger1 = Time = 0
value = 3000,3

[State 33110]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Parent,MoveType = H

;---------------------------------------------------------------------------
; Hyper Portrait Helper
[Statedef 33117]
type    = S
movetype= I
physics = N
juggle  = 5
;poweradd= 65
ctrl = 0
velset = 0,0
anim = 9800;32717
sprpriority = 0


[State 33117]
type = AssertSpecial 
trigger1 = anim = 9800;32717
flag = noBG 
flag2 = nobardisplay
flag3 = noFG 
ignorehitpause = 1


[State 33117]
type  = Explod 
trigger1 = Time = 0 && facing = 1
anim = 32717
postype = left;back
ID = 32717 
sprpriority = -2
removetime = 7
pos = 0,0
scale = 0.55,0.55
bindtime = 5
facing = 1
ignorehitpause = 1
supermovetime = 9999
pausemovetime = 9999
supermove = 9999
pausemove = 9999

[State 33117]
type  = Explod 
trigger1 = Time = 0 && facing = -1
anim = 32717
postype = right;back
ID = 32717 
sprpriority = -2
removetime = 7
pos = 0,0
scale = 0.55,0.55
bindtime = 5
facing = -1
ignorehitpause = 1
supermovetime = 9999
pausemovetime = 9999
supermove = 9999
pausemove = 9999

[State 33117]
type= Modifyexplod
trigger1 = Numexplod(32717) && Time <= 6
ID = 32717
scale = 1.3-(.13*(time)),1.3-(.13*(time))

[State 33117]
type  = Explod 
trigger1 = Time = 7 && facing = 1
anim = 32717
postype = left;back
ID = 32717 
sprpriority = -2
removetime = 55
pos = 0,0
scale = 0.55,0.55
;bindtime = -1
facing = 1
ignorehitpause = 1
supermovetime = 9999
pausemovetime = 9999
supermove = 9999
pausemove = 9999
vel = -0.2

[State 33117]
type  = Explod 
trigger1 = Time = 7 && facing = -1
anim = 32717
postype = right;back
ID = 32717 
sprpriority = -2
removetime = 55
pos = 0,0
scale = 0.55,0.55
;bindtime = -1
facing = -1
ignorehitpause = 1
supermovetime = 9999
pausemovetime = 9999
supermove = 9999
pausemove = 9999
vel = 0.2


[State 33117]
type = RemoveExplod
trigger1 = Time > 17
trigger1 = NumHelper(33110) = 0
trigger2 = Parent,MoveType = H
id = 32717

[State 33117]
type = DestroySelf
trigger1 = Time > 17
trigger1 = NumHelper(33110) = 0
trigger2 = Parent,MoveType = H

;---------------------------------------------------------------------------
; Hyper Bg
[Statedef 33120]
physics = N
anim = 9800
sprpriority = -3



[State 33120]
type = VarSet
trigger1 = Time = 0
var(3) = Root,Stateno


[State 33120]
type = AssertSpecial 
trigger1 = anim = 9800
flag = noBG 
flag2 = noFG 
;flag3 = nobardisplay
ignorehitpause = 1


[State 33120]
type  = Explod 
triggerall = Time = 0
trigger1 = p2life > 0
anim = 32710
postype = left
ID = 32710 
sprpriority = -4
removetime = 370
pos = 0,0
scale = const(size.xscale),const(size.yscale)
bindtime = -1
;facing=1
ignorehitpause=1
supermovetime=9999
pausemovetime=9999
supermove = 9999
pausemove = 9999

[State 33120]
type  = null;Explod 
triggerall = Time = 0
trigger1 = p2life > 0
anim = 32710
postype = left
ID = 32710 
sprpriority = -4
removetime = 270
pos = 160,0
scale = const(size.xscale),const(size.yscale)
bindtime = -1
facing=1
ignorehitpause=1
supermovetime=9999
pausemovetime=9999
supermove = 9999
pausemove = 9999


[State 33120]
type  = null;Explod 
triggerall = Time = 0
trigger1 = p2life > 0
anim = 32710
postype = right
ID = 32710 
sprpriority = -4
removetime = 270
pos = -160,0
scale = const(size.xscale),const(size.yscale)
bindtime = -1
facing=-1
ignorehitpause=1
supermovetime=9999
pausemovetime=9999
supermove = 9999
pausemove = 9999



[State 33120] 
type = RemoveExplod 
triggerall = Numexplod(32710)
trigger1 = Root, stateno != var(3)
trigger2 = p2life = 0
trigger2 = roundstate = 3
trigger3 = Root,MoveType = H

[State 33120] 
type = Destroyself 
triggerall = Numexplod(32710)= 0
triggerall = Time > 7
trigger1 = Root, stateno != var(3)
trigger2 = Root,MoveType = H

[State 33120]
type = ChangeState
trigger1 = p2life = 0
trigger1 = roundstate = 3
value = 33121

;---------------------------------------------------------------------------
; Hyper KO Bg
[Statedef 33121]
physics = N
anim = 9800
sprpriority = -3




[State 33121]
type = AssertSpecial 
trigger1 = anim = 9800
flag = noBG 
flag2 = nobardisplay
flag3 = noFG 
ignorehitpause = 1

[State 33121]
type  = Explod 
triggerall = Time = 0
trigger1 = p2life <= 0
anim = 32715
postype = left
ID = 32715 
sprpriority = -4
pos = 0,0
scale = const(size.xscale),const(size.yscale)
bindtime = -1
;facing=1
ignorehitpause=1
supermovetime=9999
pausemovetime=9999
supermove = 9999
pausemove = 9999

[State 33121]
type = null;PlaySnd
trigger1 = Time = 1
value = 8000,1
channel = 1

[State 33121] 
type = Destroyself 
trigger1 = roundstate = 4
trigger2 = Root,stateno = [180,189]
trigger3 = Time = 60

;---------------------------------------------------------------------------------------
;dizzy
[Statedef 5300]
type    = S
movetype= H
physics = N
juggle  = 4
velset = 0,0
anim = 5300
ctrl = 0
sprpriority = 2

[State 5300]
type = PosSet
trigger1 = time = 0
y = 0


[State 5300,e]
type = SelfState; ChangeState
trigger1 = time = 360
value = 0
ctrl = 1


;---------------------------------------------------------------------------------------
;Short Circuit Dizzyness
[Statedef 5301]
type    = S
movetype= H
physics = N
juggle  = 4
velset = 0,0
anim = 7030+random%3
ctrl = 0
sprpriority = 3


[State 5301]
type = PlaySnd
trigger1 = Time = 0
value = 5300, 0
loop = 1
channel = 4

[State 5301]
type = StopSnd
trigger1 = time = 359
trigger2 = enemy,anim != 5300
channel = 4

[State 5301]
type = DestroySelf
trigger1 = time = 360
trigger2 = enemy,anim != 5300



;------------------------------------------------------------------------------------------------------------
;
[Statedef 5999]
type = S
movetype = I
physics = N
anim = 6000
ctrl = 0
sprpriority = 3
velset = 0,Parent,Vel Y


[State 6003]
type = Varset
trigger1 = Time = 0
var(3) = parent,id

[State 6003]
type = Turn
trigger1 = parent,facing != facing

[State 6003]
type = DestroySelf
trigger1 = !PlayerIDExist(var(3))


[State 6003]
type = BindToParent
trigger1 = PlayerIDExist(var(3))

;------------------------------------------------------------------------------------------------------------
;Right Foot
[Statedef 6000]
type = S
movetype = I
physics = N
anim = 6000
ctrl = 0
sprpriority = 3
velset = 0,Parent,Vel Y


[State 6000]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6000]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6000]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6000]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6000]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6000]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Left Foot
[Statedef 6001]
type = S
movetype = I
physics = N
anim = 6001
ctrl = 0
sprpriority = -5
velset = 0,Parent,Vel Y


[State 6001]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6001]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6001]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6001]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6001]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6001]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Right Leg
[Statedef 6005]
type = S
movetype = I
physics = N
anim = 6005
ctrl = 0
sprpriority = 4
velset = 0,Parent,Vel Y


[State 6005]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6005]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6005]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6005]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6005]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6005]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Left Leg
[Statedef 6006]
type = S
movetype = I
physics = N
anim = 6006
ctrl = 0
sprpriority = -4
velset = 0,Parent,Vel Y


[State 6006]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6006]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6006]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6006]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6006]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6006]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Right Knee Joint
[Statedef 6010]
type = S
movetype = I
physics = N
anim = 6010
ctrl = 0
sprpriority = 3
velset = 0,Parent,Vel Y


[State 6010]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6010]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6010]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6010]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6010]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6010]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0

;------------------------------------------------------------------------------------------------------------
;Left Knee Joint
[Statedef 6011]
type = S
movetype = I
physics = N
anim = 6011
ctrl = 0
sprpriority = -4
velset = 0,Parent,Vel Y


[State 6011]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6011]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6011]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6011]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6011]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6011]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Right Knee 
[Statedef 6015]
type = S
movetype = I
physics = N
anim = 6015
ctrl = 0
sprpriority = 4
velset = 0,Parent,Vel Y


[State 6015]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6015]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6015]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6015]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6015]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6015]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Left Knee 
[Statedef 6016]
type = S
movetype = I
physics = N
anim = 6016
ctrl = 0
sprpriority = -2
velset = 0,Parent,Vel Y


[State 6016]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6016]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6016]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6016]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6016]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6016]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Front Mid
[Statedef 6017]
type = S
movetype = I
physics = N
anim = 6017
ctrl = 0
sprpriority = 0
velset = 0,Parent,Vel Y


[State 6017]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6017]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6017]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6017]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6017]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6017]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0

;------------------------------------------------------------------------------------------------------------
;Front Top
[Statedef 6018]
type = S
movetype = I
physics = N
anim = 6018
ctrl = 0
sprpriority = 3
velset = 0,Parent,Vel Y


[State 6018]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6018]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6018]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6018]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6018]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6018]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Front Top Shoulder
[Statedef 6019]
type = S
movetype = I
physics = N
anim = 6019
ctrl = 0
sprpriority = 4
velset = 0,Parent,Vel Y


[State 6019]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6019]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6019]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6019]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6019]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0

[State 6019]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Right Arm
[Statedef 6025]
type = S
movetype = I
physics = N
anim = 6025
ctrl = 0
sprpriority = 5
velset = -11,0


[State 6025]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6025]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6025]
type = ChangeAnim
trigger1 = ParentDist X > Vel X
trigger1 = AnimElem = 3
value = anim


[State 6025]
type = VelSet
trigger1 = Vel X < 0
trigger1 = ParentDist X > Vel X
x = 0

[State 6026]
type = PlaySnd
trigger1 = ParentDist X > Vel X
value = 193,0
persistent = 0
;------------------------------------------------------------------------------------------------------------
;Left Arm
[Statedef 6026]
type = S
movetype = I
physics = N
anim = 6026
ctrl = 0
sprpriority = -5
velset = -11,0


[State 6026]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6026]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6026]
type = ChangeAnim
trigger1 = ParentDist X > Vel X
trigger1 = AnimElem = 3
value = anim


[State 6026]
type = VelSet
trigger1 = Vel X < 0
trigger1 = ParentDist X > Vel X
x = 0

[State 6026]
type = PlaySnd
trigger1 = ParentDist X > Vel X
value = 193,0
persistent = 0

;------------------------------------------------------------------------------------------------------------
;Head
[Statedef 6030]
type = S
movetype = I
physics = N
anim = 6030
ctrl = 0
sprpriority = -2
velset = 0,Parent,Vel Y


[State 6030]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 6030]
type = DestroySelf
trigger1 = Parent,Anim != 9800

[State 6030]
type = ChangeAnim
trigger1 = Pos Y < 0
trigger1 = AnimElem = 3
value = anim


[State 6030]
type = VelSet
trigger1 = Vel Y > 0
trigger1 = Pos Y >= -Parent,Vel Y
y = 0


[State 6030]
type = PosSet
trigger1 = Vel Y = 0
trigger1 = Pos Y != 0
y = 0


[State 6030]
type = PlaySnd
trigger1 = Pos Y = 0
value = 193,1
persistent = 0

;------------------------------------------------------------------------------------------------------------
;Win Pose 3 Tiger Helper 
[Statedef 6183]
type = A
movetype = I
physics = N
anim = 6183
ctrl = 0
sprpriority = 4
velset = 5,0


[State 6183]
type = VelAdd
trigger1 = Pos Y < 0
y = 0.4


[State 6183]
type = ChangeAnim
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 6183
elem = 3
persistent = 0


[State 6183]
type = VelSet
trigger1 = AnimElem = 3
x = 0
y = 0


[State 6183]
type = PosSet
trigger1 = AnimElem = 3
y = 0



[State 183]
type = PlaySnd
trigger1 = AnimElem = 4, = 2
value = 183,1


[State 6183]
type = DestroySelf
trigger1 = Time = 9999

;------------------------------------------------------------------------------------------------------------
;Win Pose 4 Bird Helper 
[Statedef 6184]
type = A
movetype = I
physics = N
anim = 6184
ctrl = 0
sprpriority = 4
velset = 5,0



[State 6184]
type = ChangeAnim
trigger1 = BackEdgeDist > 130
value = 6184
elem = 2
persistent = 0


[State 6184]
type = VelSet
trigger1 = AnimElem = 2
y = -2


[State 6184]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = Time = 250


;------------------------------------------------------------------------------------------------------------
;Glider Helper
[Statedef 6192]
type = S
movetype = I
physics = N
anim = 6192
ctrl = 0
sprpriority = 2
velset = 3,0


[State 6192]
type = DestroySelf
trigger1 = FrontEdgeBodyDist <= -200
trigger2 = Time = 240


[State 6192]
type = ChangeAnim
trigger1 = Parent,Anim = 192
value = 6193
persistent = 0

[State 6192]
type = BindToParent
trigger1 = AnimElem = 5, < 0

;------------------------------------------------------------------------------------------------------------
;Intro Card Helper End
[Statedef 6193]
type = S
movetype = I
physics = N
anim = 7410
ctrl = 0
sprpriority = 1
velset = 0,0


[State 6193]
type = AssertSpecial
trigger1 = 1
flag = noshadow


[State 6193]
type = PlaySnd
trigger1 = Time = 1
value = 8,2
channel = 0


[State 6193]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Intro robot Helper
[Statedef 6194]
type = S
movetype = I
physics = N
anim = 6195
ctrl = 0
sprpriority = 0
velset = 0,0


[State 6194]
type = ChangeAnim
trigger1 = Parent,AnimElem = 4, < 1
trigger1 = Parent,Anim = 194
value = 6195


[State 6194]
type = ChangeAnim
trigger1 = Parent,AnimElem = 4, = 1
trigger1 = Parent,Anim = 194
value = 6195
elem = 2



[State 6194]
type = ChangeAnim
trigger1 = AnimTime = 0
trigger1 = Anim = 6195
value = 6196

[State 6194]
type = ChangeAnim
trigger1 = Anim = 6196 && Parent,stateno = 194
value = 6196


[State 6194]
type = VelSet
trigger1 = Parent,stateno != 194
x = -3

[State 6194]
type = DestroySelf
trigger1 = BackEdgeDist <= -100
trigger2 = Time = 270


;------------------------------------------------------------------------------------------------------------
;Dash Forward Booster Helper
[Statedef 7005]
type = S
movetype = I
physics =N
anim = 6100
ctrl = 0
sprpriority = 0
velset = 0,0


[State 7005]
type = BindToParent
trigger1 = 1


[State 7005]
type = DestroySelf
trigger1 = parent,stateno != 100



;------------------------------------------------------------------------------------------------------------
;Dash Back Booster Helper
[Statedef 7006]
type = S
movetype = I
physics =N
anim = 6105
ctrl = 0
sprpriority = 0
velset = 0,0

[State 7006]
type = BindToParent
trigger1 = 1

[State 7006]
type = DestroySelf
trigger1 = parent,stateno != 105



;------------------------------------------------------------------------------------------------------------
;Stand Dust
[Statedef 7041]
type = S
movetype = I
physics =N
anim = 7041
ctrl = 0
sprpriority = 5
velset = 0,0

[State 7041]
type = Varset
trigger1 = Time = 0
var(2) = root,stateno


[State 7041]
type = PlaySnd
trigger1 = Time = 0
value = 17,0
channel = 1

[State 7041]
type = Helper
trigger1 = Time = 0
stateno = 7042
scale = const(size.xscale),const(size.yscale)
[State 7041]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = root,stateno != var(2)
;------------------------------------------------------------------------------------------------------------
;Stand Dust
[Statedef 7042]
type = S
movetype = I
physics =N
anim = 7042
ctrl = 0
sprpriority = -3
velset = 0,0

[State 7042]
type = Varset
trigger1 = Time = 0
var(2) = root,stateno


[State 7042]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = root,stateno != var(2)

;------------------------------------------------------------------------------------------------------------
;Explodsion A
[Statedef 7070]
type = S
movetype = I
physics =N
anim = 7070
ctrl = 0
sprpriority = 3
velset = 0,0
scale = const(size.xscale),const(size.yscale)


[State 7070]
type = AssertSpecial
trigger1 = Time%2 = 0
flag = invisible


[State 7070]
type = DestroySelf
trigger1 = AnimTime = 0



;------------------------------------------------------------------------------------------------------------
;Dust Trail
[Statedef 7106]
type = S
movetype = I
physics =N
anim = 7106
ctrl = 0
sprpriority = 3
velset = 0,0


[State 7106]
type = Varset
trigger1 = Time = 0
var(3) = parent,id


[State 7106]
type = Varset
trigger1 = Time = 0
var(2) = parent,stateno

[State 7106]
type = BindToParent
trigger1 = parent,stateno = var(2)
trigger1 = parent,id = var(3)
pos = -67,-floor(parent,pos y)


[State 7106]
type = DestroySelf
trigger1 = !PlayerIDExist(var(3))
trigger2 = parent,stateno != var(2)





;------------------------------------------------------------------------------------------------------------
;Guard Shield
[Statedef 7510]
type = S
movetype = I
physics =N
anim = 7510
ctrl = 0
sprpriority = 4
velset = 0,0

[State 7510]
type = Varset
trigger1 = Time = 0
var(2) = parent,stateno


[State 7510]
type = BindToParent
trigger1 = Parent,Anim = 130
trigger2 = Parent,Anim = 150
pos = 0,0

[State 7510]
type = BindToParent
trigger1 = Parent,Anim = 131
trigger2 = Parent,Anim = 151
pos = 13,18


[State 7510]
type = BindToParent
trigger1 = Parent,Anim = 132
trigger2 = Parent,Anim = 152
pos = 1,-44

[State 7510]
type = DestroySelf
trigger1 = parent,anim != [130,132]
trigger1 = parent,anim != [150,152]



;------------------------------------------------------------------------------------------------------------
;General Explode Helper, No Loop
[Statedef 7555]
type = S
movetype = I
physics = N
anim = Parent,var(15)
ctrl = 0
sprpriority = 4
velset = 0,0

[State 7555]
type = Varset
trigger1 = Time = 0
var(2) = Parent,Anim

[State 7555]
type = BindToParent
trigger1 = 1

[State 7555]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Parent,Anim != var(2)

;------------------------------------------------------------------------------------------------------------
[Statedef 7600]
type = s
movetype = i
physics = n

[State 7600]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible

[State 7600]
type = NotHitBy
trigger1 = 1
value = SCA

[State 7600, Dramatic KO Helper]
type = helper
triggerall = (root,alive || enemy,alive)
trigger1 = roundstate = 3 && (root,life <= 0 || enemy,life <= 0)
helpertype = Normal
id = 7601
pos = 0,0
postype = p1
name = "K.O."
stateno = 7601
supermovetime = 9999999999
pausemovetime = 9999999999
persistent = 0
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)
;-----------------------------------------------------------------
;Dramatic K.O. Effects
;-----------------------------------------------------------------
[Statedef 7601]
type = s
movetype = i
physics = n



[State 7601]
type = PlaySnd
trigger1 = Time = 0
value = 170,1
ignorehitpause = 1
persistent = 0
pausemovetime = 99999
supermovetime = 99999

[State 7601]
type = AssertSpecial
trigger1 = 1
flag = noshadow
flag2 = invisible
flag3 = nokoslow
ignorehitpause = 1

[State 7601]
type = NotHitBy
trigger1 = 1
value = SCA

[State 7601]
type = Pause
trigger1 = 1
time = 2
ignorehitpause = 1
persistent = 0


[State 7601, DestroySelf]
type = DestroySelf
trigger1 = time >= 2


;--------------------------------------------------------------------------------------------
; Guard Push (stand)
[Statedef 7610]
type    = S
movetype= I
physics = N
poweradd= 0
velset = 10,0
ctrl = 0
anim = 7610
sprpriority = 2
facep2 = 1

[State 7610, VelMul]
type = VelMul
trigger1 = 1
x = 0.75

[State 7610, VelSet]
type = VelSet
trigger1 = Time = 10
x = 0

[State 7610, Width]
type = Width
trigger1 = 1
value = 10,0

[State 7610, NotHitBy]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 23


[State 7610, PosAdd]
type = PosAdd
trigger1 = animelem = 2
x = 30

[State 7610, PlaySnd 2]
type = PlaySnd
trigger1 = Time = 0
value = 205,0

[State 7610, Spark]
type = Explod
trigger1 = AnimElem = 2;Time = 0
anim = 7020
postype = p1
pos = 49,-121
ownpal = 1
vel = 0,0
scale = const(size.xscale),const(size.yscale)
ignorehitpause = 1
sprpriority = 7

[State 7610, Guard Push Helper]
type = Helper
trigger1 = AnimElem = 2;Time = 0
helpertype = Normal
name = "GuardPush"
postype = P1
pos = -50,0
stateno = 7611
ownpal = 1
size.height = 200
size.ground.back = 30
size.ground.front = 30
scale = const(size.xscale),const(size.yscale)
[State 7610, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Guard Push (Helper)

[Statedef 7611]
type    = S
movetype= I
physics = N
poweradd= 0
ctrl = 0
anim = Parent,Anim
sprpriority = -4


[State 7611, PlayerPush]
type = AssertSpecial
trigger1 = 1
flag = invisible

[State 7611, PlayerPush]
type = PlayerPush
trigger1 = Time >= 0
value = 1

[State 7611, VelSet 1]
type = VelSet
trigger1 = Time = [0,10]
x = 30

[State 7611, VelSet 2]
type = VelSet
trigger1 = Time = [11,13]
x = 20

[State 7611, VelSet 2]
type = VelSet
trigger1 = Time >= 14
x = 10

[State 7611, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
time = 10

[State 7611, DestroySelf]
type = DestroySelf
trigger1 = Time >= 18

;---------------------------------------------------------------------------
; Guard Push (Crouching)

[Statedef 7615]
type    = C
movetype= I
physics = N
poweradd= 0
velset = 10,0
ctrl = 0
anim = 7615
sprpriority = 2
facep2 = 1

[State 7615, VelMul]
type = VelMul
trigger1 = 1
x = 0.75

[State 7615, VelSet]
type = VelSet
trigger1 = Time = 10
x = 0

[State 7615, Width]
type = Width
trigger1 = 1
value = 10,0

[State 7615, NotHitBy]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 23


[State 7615, PosAdd]
type = PosAdd
trigger1 = animelem = 2
x = 30

[State 7615, PlaySnd 2]
type = PlaySnd
trigger1 = Time = 0
value = 205,0

[State 7615, Spark]
type = Explod
trigger1 = AnimElem = 2;Time = 0
anim = 7020
postype = p1
pos = 50,-74
ownpal = 1
vel = 0,0
scale = const(size.xscale),const(size.yscale)
ignorehitpause = 1
sprpriority = 7

[State 7615, Guard Push Helper]
type = Helper
trigger1 = AnimElem = 2;Time = 0
helpertype = Normal
name = "GuardPush"
postype = P1
pos = -50,0
stateno = 7611
ownpal = 1
size.height = 200
size.ground.back = 30
size.ground.front = 30
scale = const(size.xscale),const(size.yscale)
[State 7615, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
; Guard Push (Air)

[Statedef 7620]
type    = A
movetype= I
physics = N
poweradd= 0
velset = 10,0
ctrl = 0
anim = 7620
sprpriority = 2
facep2 = 1

[State 7620, VelMul]
type = VelMul
trigger1 = 1
x = 0.75

[State 7620, VelSet]
type = VelSet
trigger1 = Time = 10
x = 0

[State 7620, Width]
type = Width
trigger1 = 1
value = 10,0

[State 7620, NotHitBy]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 23


[State 7620, PosAdd]
type = PosAdd
trigger1 = animelem = 2
x = 30

[State 7620, PlaySnd 2]
type = PlaySnd
trigger1 = Time = 0
value = 205,0

[State 7620, Spark]
type = Explod
trigger1 = AnimElem = 2;Time = 0
anim = 7020
postype = p1
pos = 49,-121
ownpal = 1
vel = 0,0
scale = const(size.xscale),const(size.yscale)
ignorehitpause = 1
sprpriority = 7

[State 7620, Guard Push Helper]
type = Helper
trigger1 = AnimElem = 2;Time = 0
helpertype = Normal
name = "GuardPush"
postype = P1
pos = -50,0
stateno = 7622
ownpal = 1
size.height = 200
size.ground.back = 30
size.ground.front = 30
scale = const(size.xscale),const(size.yscale)
[State 7620, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 7621

;---------------------------------------------------------------------------
; Guard Push (Air - Falling)

[Statedef 7621]
type    = A
movetype= I
physics = A
poweradd= 0
ctrl = 1
anim = 44
sprpriority = 1

[State 7621, ChangeState]
type = ChangeState
trigger1 = Pos Y >= 0
value = 52
ctrl = 0

;---------------------------------------------------------------------------
; Guard Push (Air Helper)

[Statedef 7622]
type    = A
movetype= I
physics = N
poweradd= 0
ctrl = 0
anim = Parent,Anim
sprpriority = -4


[State 7622, PlayerPush]
type = AssertSpecial
trigger1 = 1
flag = invisible

[State 7622, PlayerPush]
type = PlayerPush
trigger1 = Time >= 0
value = 1

[State 7622, VelSet 1]
type = VelSet
trigger1 = Time = [0,10]
x = 30

[State 7622, VelSet 2]
type = VelSet
trigger1 = Time = [11,13]
x = 20

[State 7622, VelSet 2]
type = VelSet
trigger1 = Time >= 14
x = 10

[State 7622, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
time = 10

[State 7622, DestroySelf]
type = DestroySelf
trigger1 = Time >= 18


;---------------------------------------------------------------------------
; Super Jump Start
[Statedef 7710]
type    = S
physics = S
anim = 40
ctrl = 0
sprpriority = 1

[State 7710]
type = PlaySnd
trigger1 = Time = 1
value = 710,0
channel = 1

[State 7710]
type = Explod
trigger1 = Time = 1
anim = 7055
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7710]
type = Explod
trigger1 = Time = 1
anim = 7055
facing = -1
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7710]
type = Explod
trigger1 = Time = 1
anim = 7022
sprpriority = 4
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7710, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 7710, 2]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

[State 7710, 3]
type = VarSet
trigger1 = command = "holdback"
sysvar(1) = -1

[State 7710, 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) - 3

[State 7710, 5]
type = null;VelSet
trigger1 = AnimTime = 0
trigger1 = prevstateno = 100 ;RUN_FWD
trigger1 = sysvar(1) = 1
x = const(velocity.runjump.fwd.x)

[State 7710, 6]
type = ChangeState
trigger1 = AnimTime = 0
value = 7711
ctrl = 1

;---------------------------------------------------------------------------
; Super Jump Up
[Statedef 7711]
type    = A
physics = A

[State 7711]
type = VelSet
trigger1 = Time = 0
y = -16

[State 7711,4]
type = VelAdd
triggerall = command = "holdfwd"
;trigger1 = sysvar(1) = 1
trigger1 = vel X <=4
;trigger2 = sysvar(1) = -1
trigger2 = Vel X <= -.4
x = .5

[State 7711,5]
type = VelAdd
triggerall = command = "holdback"
;trigger1 = sysvar(1) = -1
trigger1 = Vel X >= -4
;trigger2 = sysvar(1) = 1
trigger2 = Vel X >= .4
x = -.5

[State 7711, 1]
type = null;ScreenBound
trigger1 = 1
value = 0
movecamera = 0,1



[State 7711]
type = Explod
trigger1 = Time%4 = 0
trigger1 = Time >= 4
trigger1 = Vel Y < 0
anim = 7056
pos = 0,0
random = 50,0
ontop = 1
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7711]
type = Explod
trigger1 = Time%2 = 0
trigger1 = Time >= 12
trigger1 = Vel Y < 0
anim = 7057+random%3
pos = 0,0
random = 60,0
ontop = 1
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7711, 1]
type = null;VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 7711, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))


[State 7711, 3]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = SelfAnimExist(anim + 3)
persistent = 0
value = Anim + 3


;---------------------------------------------------------------------------
;AI Super Jump Start
[Statedef 7720]
type    = S
physics = S
anim = 40
ctrl = 0
sprpriority = 1

[State 7720]
type = PlaySnd
trigger1 = Time = 1
value = 710,0
channel = 1

[State 7720]
type = Explod
trigger1 = Time = 1
anim = 7055
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 7720]
type = Explod
trigger1 = Time = 1
anim = 7055
facing = -1
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 7720]
type = Explod
trigger1 = Time = 1
anim = 7022
sprpriority = 4
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 7720, 1]
type = VarSet
trigger1 = Time = 0
sysvar(1) = 0

[State 7720, 2]
type = VarSet
trigger1 = command = "holdfwd"
sysvar(1) = 1

[State 7720, 3]
type = VarSet
trigger1 = command = "holdback"
sysvar(1) = -1

[State 7720, 4]
type = null;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) - 3

[State 7720, 4]
type = null;VelSet
trigger1 = AnimTime = 0
x = (P2Dist X)*0.07
y = (P2Dist Y)*0.07

[State 7720, 5]
type = null;VelSet
trigger1 = AnimTime = 0
trigger1 = prevstateno = 100 ;RUN_FWD
trigger1 = sysvar(1) = 1
x = const(velocity.runjump.fwd.x)

[State 7720, 6]
type = ChangeState
trigger1 = AnimTime = 0
value = 7721
ctrl = 1

;---------------------------------------------------------------------------
; Super Jump Up
[Statedef 7721]
type    = A
physics = N


[State 7721, 4]
type = null;VelSet
trigger1 = 1;Time = 0
y = -11


[State 7721, 4]
type = VelSet
trigger1 = Time = 0
y = -15;-13


[State 7721, 4]
type = VelAdd
trigger1 = 1
y = 0.4



[State 7721]
type = veladd
triggerall = vel x <= 4
trigger1 = var(59)
trigger1 = p2bodydist x >= 0
persistent = 4
x = .9


[State 7721]
type = veladd
triggerall = vel x >= -4
trigger1 = var(59) 
trigger1 = p2bodydist x <= 0
persistent = 4
x = -.9


[State 7721,4]
type = null;VelAdd
triggerall = command = "holdfwd"
trigger1 = sysvar(1) = 1
trigger1 = vel X <=4
trigger2 = sysvar(1) = -1
trigger2 = Vel X <= -.4
x = .2

[State 7721,5]
type = null;VelAdd
triggerall = command = "holdback"
trigger1 = sysvar(1) = -1
trigger1 = Vel X >= -4
trigger2 = sysvar(1) = 1
trigger2 = Vel X >= .4
x = -.2

[State 7721, 1]
type = null;ScreenBound
trigger1 = 1
value = 0
movecamera = 0,1


[State 7721]
type = Explod
trigger1 = Time%4 = 0
trigger1 = Time >= 4
trigger1 = Vel Y < 0
anim = 7056
pos = 0,0
random = 50,0
ontop = 1
ownpal = 1
scale = const(size.xscale),const(size.yscale)
[State 7721]
type = Explod
trigger1 = Time%2 = 0
trigger1 = Time >= 12
trigger1 = Vel Y < 0
anim = 7057+random%3
pos = 0,0
random = 60,0
ontop = 1
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 7721, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))

[State 7721, 3]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = SelfAnimExist(anim + 3)
persistent = 0
value = Anim + 3

[State 7721]
type = turn
trigger1 = p2dist x < -5


;---------------------------------------------------------------------------
; Jump Land
[Statedef 7722]
type    = A
physics = A

[State 7722, 2]
type = ChangeAnim
trigger1 = Time = 0
value = ifelse((vel x)=0, 41, ifelse((vel x)>0, 42, 43))

[State 7722, 3]
type = ChangeAnim
trigger1 = Vel y > -2
trigger1 = SelfAnimExist(anim + 3)
persistent = 0
value = Anim + 3

[State 7722]
type = turn
trigger1 = p2dist x < -5



;---------------------------------------------------------------------------
; Triangle Jump 
[Statedef 7730]
type = A
movetype = I
physics = N
anim = 7730
velset = -Vel X,-4
ctrl = 0

[State 7730, 1]
type = Turn
trigger1 = FrontEdgeBodyDist <= 3

[State 7730, 2]
type = PlaySnd
trigger1 = time = 0
value = 7730, 0

[State 7730, 3]
type = ChangeState
trigger1 = AnimTime = 0
value = 7731



;---------------------------------------------------------------------------
; Triangle Jump End
[Statedef 7731]
type = A
movetype = I
physics = A
;velset = 0, 0
ctrl = 0



[State 7731, 3]
type = ChangeAnim
trigger1 = Time = 0
value = 44
elem = 6


;---------------------------------------------------------------------------
; Flying to End of Screen
[Statedef 7740]
type    = A
movetype= H
physics = N
velset = 0,0
anim = 5010

[State 7740]
type = null;ScreenBound
trigger1 = 1
value = 0

[State 7740]
type = SelfState
trigger1 = Alive = 0
value = 5000

[State 7740]
type = ChangeAnim
trigger1 = Time < 10
value = 5010

[State 7740]
type = AfterImage
trigger1 = Time = 5
length = 5
timegap = 1
framegap = 1
PalBright   = 0,0,0
PalContrast = 100,100,100
PalMul      = 1,1,1
trans = Add1
time = 0

[State 7740]
type = AfterImageTime
trigger1 = 1
time = 2

[State 7740]
type = ChangeAnim
trigger1 = Time >= 10
value = 5011

[State 7740]
type = HitVelSet
trigger1 = Time = 10
x = 1

[State 7740]
type = ChangeState
triggerall = Time >= 10
trigger1 = BackEdgeBodyDist <= 20
trigger2 = FrontEdgeBodyDist <= 20
value = 7741

[State 7740]
type = SelfState
trigger1 = Time = 150
value = 5000


;---------------------------------------------------------------------------
; Hit Wall or Stop Moving
[Statedef 7741]
type    = A
movetype= H
physics = N
anim = 5010

[State 7741]
type = EnvShake
trigger1 = time = 0
time = 30
freq = 100
ampl = -10
phase = 10

[State 7741]
type = PosAdd
trigger1 = Time = 0
x = 10 - BackEdgeBodyDist

[State 7741]
type = PosFreeze
trigger1 = Time < 10
x = 1
y = 1

[State 7741]
type = ScreenBound
trigger1 = 1
value = 0

[State 7741]
type = null;Explod
trigger1 = time = 0
anim = F72
pos = -30,-50
postype = p1
facing = 1
sprpriority = 3
bindtime = 2
supermove = 1
scale = const(size.xscale),const(size.yscale)
[State 7741]
type =null; PlaySnd
trigger1 = Time = 0
value = F7,2

[State 7741]
type = LifeAdd
trigger1 = Time = 0
value = -100

[State 7741]
type = ChangeAnim
triggerall = SelfAnimExist(5030)
trigger1 = Time = 10
value = 5030

[State 7741]
type = VelSet
trigger1 = Time = 10
x = 2
y = -4

[State 7741]
type = VelAdd
trigger1 = Time > 10
y = .4

[State 7741]
type = ChangeAnim
triggerall = SelfAnimExist(5035)
trigger1 = Anim = 5030
trigger1 = AnimTime = 0
value = 5035

[State 7741]
type = ChangeAnim
triggerall = SelfAnimExist(5050)
triggerall = AnimTime = 0
trigger1 = Anim = 5030
trigger2 = Anim = 5035
value = 5050

[State 7741]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y > 20
value = 5100 ;Hit ground


;---------------------------------------------------------------------------
; Wall Hit Helper
[Statedef 7750]
type    = A
movetype= H
physics = N
velset = 0,0
anim = 9800

[State 7750]
type = explod
trigger1 = Time = 1
trigger1 = enemynear,screenpos x < 150
anim = 7024
id = 7024
pos = 0,floor(enemynear,screenpos y -abs(enemynear,const(size.mid.pos.y)))
postype = left
bindtime = -1
facing = -1
removetime = -2
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 1
ignorehitpause = 1
persistent = 0

[State 7750]
type = explod
trigger1 = Time = 1
trigger1 = enemynear,screenpos x > 150
anim = 7024
id = 7024
pos = 0,floor(enemynear,screenpos y -abs(enemynear,const(size.mid.pos.y)))
postype = right
bindtime = -1
facing = 1
removetime = -2
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 1
ignorehitpause = 1
persistent = 0

[State 7750]
type = playsnd
trigger1 = Time = 1
value = 825,0
channel = 1
volume = 255
persistent = 0

[State 7750]
type = EnvShake
trigger1 = Time = 1
time = 8
ampl = -8
phase = 10
freq = 100


[State 7750]
type = DestroySelf
trigger1 = enemynear,movetype != H


;---------------------------------------------------------------------------
; Ground Hit Helper
[Statedef 7755]
type    = A
movetype= H
physics = N
velset = 0,0
anim = 9800

[State 7755]
type = explod
trigger1 = Time = 1
anim = 7052
id = 7510
postype = p2
pos = 0, floor(-enemynear,pos y - enemynear,vel y)
bindtime = 1
facing = -1
removetime = -2
scale = const(size.xscale),const(size.yscale)
sprpriority = -4
ownpal = 1
ignorehitpause = 1
persistent = 0


[State 7755]
type = playsnd
trigger1 = Time = 1
value = 5100,4


[State 7755]
type = EnvShake
trigger1 = Time = 1
time = 8
ampl = -8
phase = 10
freq = 100


[State 7755]
type = DestroySelf
trigger1 = enemynear,movetype != H
trigger2 = enemynear,vel y < -5


;---------------------------------------------------------------------------
; Ko Sound Helper
[Statedef 7760]
type    = A
movetype= H
physics = N
velset = 0,0
anim = 9800


[State 7760]
type = playsnd
trigger1 = Time = 1
value = 5500,0
channel = 1
volume = 255
persistent = 0


[State 7760]
type = DestroySelf
trigger1 = Parent,alive


;---------------------------------------------------------------------------------------
;res
[Statedef 7777]
type    = A
movetype= I
physics = A
juggle  = 4
velset = ifelse(random < 500,3,-3),-13
anim = 43
ctrl = 0
sprpriority = 2


[state 7777]
type = superpause
trigger1 = Time = 0
anim = -1
time = 30
movetime = 30
darken = 0
unhittable = 1

[State 7777]
type = ChangeAnim
trigger1 = Vel Y > 0
value = 46
persistent = 0

[State 7777]
type = LifeAdd
trigger1 = Time = 0
value = 30*var(30)



[State 7777, 1]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 60

[State 7777,e]
type = ChangeState
triggerall = Time >= 32
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
trigger2 = Time = 90
value = 52
ctrl = 0




;---------------------------------------------------------------------------
;Roll Recovery Forward

[Statedef 7800]
type    = S
movetype= I
physics = N
ctrl = 0
;anim = 7801
sprpriority = 0
velset = -7,0

[State 7800]
type = ChangeAnim
trigger1 = Time = 0 && Anim != 7800
value = 7800


[State 7800]
type = PlayerPush
trigger1 = 1
value = 0


[State 7800]
type = VelSet
trigger1 = 1
x = 7



[State 7800]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1


[State  7800]
type = ChangeState
trigger1 = prevstateno = 7800
value = 7801
ctrl = 0



[State  7800]
type = ChangeState
trigger1 = AnimTime = 0
trigger2 = FrontEdgeBodyDist <= 10
value = 0
ctrl = 1

[State 7800]
type = ChangeState
trigger1 = !alive
value = 5050

;---------------------------------------------------------------------------
;Roll Recovery Backward

[Statedef 7801]
type    = S
movetype= I
physics = N
ctrl = 0
;anim = 7801
sprpriority = 0
velset = -7,0




[State 7801]
type = ChangeAnim
trigger1 = Time = 0 && Anim != 7801
value = 7801




[State 7801]
type = PlayerPush
trigger1 = 1
value = 0


[State 7800]
type = VelSet
trigger1 = 1
x = -7



[State 7801]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1


[State  7801]
type = ChangeState
trigger1 = AnimTime = 0
trigger2 = BackEdgeBodyDist <= 10
value = 0
ctrl = 1

[State 7801]
type = ChangeState
trigger1 = !alive
value = 5050


;-------------------------------------------------------------------------
;Stand by
[Statedef 7827]
type = S
movetype = I
physics = N
velset = 0,0
ctrl = 0
;anim = 9800

[State 7827]
type = PosSet
trigger1 = Time = 0
y = 0

[State 7827]
type = ChangeState
trigger1 = NumEnemy = [1,2]
trigger1 = Enemy(0),statetype = L || Enemy(0),movetype != H
value = 102


[State 7827]
type = ChangeState
trigger1 = NumEnemy = 2
trigger1 = Enemy(1),statetype = L || Enemy(1),movetype != H
value = 102


;---------------------------------------------------------------------------

;Special reversal
[Statedef 7970]
type = S
movetype = A
physics = S
anim = 7970
ctrl = 0
sprpriority = 2
velset = 0,0


[State 7970]
type = PosSet
trigger1 = Time = 0
y = 0



[State 7970]
type = VarRandom
trigger1 = time = 0
v = 4
range = 1200



[State 7970]
type = VarSet
trigger1 = time = 0
var(3) = 120



[State 7970]
type = ReversalDef
trigger1 = hitcount < 1
reversal.attr = SCA,AA,AT; NA, SA, HA, NT, ST,HT, NP, SP, HP
pausetime = 10,15
sparkno = -1
;p1stateno = ifelse( var(4) < 400,1273, ifelse(var(4) > 800,ifelse(enemy,isHelper,1240+10*(random%3),900),1210))
hitsound = S7970,0
persistent = 0
id = 7970


[State 7970,a]
type = VarSet
trigger1 = var(4) < 400
trigger1 = P2bodydist X < 70
var(3) = ifelse(random < 500,7973,ifelse(random < 500,310,320))


[State 7970,b]
type = VarSet
trigger1 = var(4) = [400,800]
trigger1 = P2bodydist X < 20
trigger1 = NumTarget(7970)
trigger1 = Target(7970),IsHelper < 1
var(3) = 800

[State 7970,c]
type = VarSet
trigger1 = var(4) > 800
trigger1 = power > 1000
trigger1 = P2bodydist X < 200
var(3) = 3000


[State 7970]
type = ChangeState
trigger1 = NumTarget(7970)
value = var(3)
ctrl = 0


[State 7970]
type = PalFX
trigger1 = Time <= 50
trigger1 = Time%2 = 0
time = 1
add = 0,0,128
color = 0
ignorehitpause = 1

[State 7970]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1


;---------------------------------------------------------------------------
; Special reversal punch

[Statedef 7972]
type    = S                     
movetype= A                      
physics = S                      
juggle  = 1                    
velset = 5,0                    
ctrl = 0                         
anim = 200                      
poweradd = 20                    
sprpriority = 2                  


[State 7972]
type = NotHitBy
trigger1 = 1
value = SCA


[State 7972, 1]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = S, SA                     
damage = 7*var(30), floor(var(30)/2)                   
animtype = Heavy                
guardflag = MA                   
hitflag = MAF                    
priority = 5, Hit               
pausetime = 10,10                
sparkno = S(8220+random%2)                    
sparkxy = -10,-70               
hitsound = S1,7                
guardsound = S4,0               
guard.sparkno = S8430
ground.type = High               
ground.slidetime = 10            
ground.hittime  = 10             
ground.velocity = -9,-7           
;airguard.velocity = -4,-3     
air.type = High                  
air.velocity = -9,-7           
air.hittime = 12               
getpower = 85,10
givepower = 40
;p2stateno = 9020
;persistent = 0



[State 7972]
type = PlaySnd
trigger1 = AnimElem = 1
value = 0,0


[State 7972]
type = PalFX
trigger1 = Time <= 30
trigger1 = Time%2 = 0
time = 1
add = 0,0,128
color = 0
ignorehitpause = 1


[State 7972, 7]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;--------------------------------------------------------------------------------------
[Statedef 7973]
type = S
movetype = I
physics = S
ctrl = 0
sprpriority = 2

[State 7973]
type = AllPalFx
trigger1 = Time = 0
time = 3
add = 256,256,256


[State 7973]
type = ChangeState
trigger1 = Time = 5
value = 7972
ctrl = 0



;---------------------------------------------------------------------------
; Down Kick
[Statedef 8016]
type    = A
movetype= A
physics = N
juggle  = 4
poweradd= 40
ctrl = 0
velset = 0,0
anim = 8016
sprpriority = 2
facep2 = 1

[State 8016]
type = Turn
trigger1 = Time = 0
trigger1 = FrontEdgeBodyDist <= 5

[State 8016]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1



[State 8016]
type = VelSet
trigger1 = AnimElem = 3
x = 3
y = 11


[State 8016]
type = VelAdd
trigger1 = AnimElem = 4, >= 0
y = 0.3


[State 8016]
type = PlaySnd
trigger1 = AnimElem = 1
value = 100,4

[State 8016]
type = PlaySnd
trigger1 = AnimElem = 3
value = 205,0

[State 8016, 2]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, SA
animtype  = Medium
damage    = 3*var(30),floor(0.5*var(30))
guardflag = MA
pausetime = 7,7
sparkno = S(8200+random%2)  
guard.sparkno = S8430
sparkxy = -10,-64+floor(P2Dist Y)
hitsound   = S1,5
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 10
ground.velocity = -7,-4
air.velocity = -7,-4
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 211
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020


[State 8016]
type = VarAdd
trigger1 = MoveContact
var(19) = 1
ignorehitpause = 1
persistent = 0

[State 8016, 3]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0




;---------------------------------------------------------------------------
; Down Kick Medium
[Statedef 8017]
type    = A
movetype= A
physics = N
juggle  = 4
poweradd= 40
ctrl = 0
velset = 0,0
anim = 8017
sprpriority = 2
facep2 = 1

[State 8017]
type = Turn
trigger1 = Time = 0
trigger1 = FrontEdgeBodyDist <= 5

[State 8017]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1



[State 8017]
type = VelSet
trigger1 = AnimElem = 3
x = 6
y = 11


[State 8017]
type = VelAdd
trigger1 = AnimElem = 4, >= 0
y = 0.3

[State 8017]
type = PlaySnd
trigger1 = AnimElem = 1
value = 100,4

[State 8017]
type = PlaySnd
trigger1 = AnimElem = 3
value = 205,0

[State 8017]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, SA
animtype  = Medium
damage    = 5*var(30),floor(0.5*var(30))
guardflag = MA
pausetime = 7,7
sparkno = S(8210+random%2)  
guard.sparkno = S8430
sparkxy = -10,-64+floor(P2Dist Y)
hitsound   = S1,5
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7,-4
air.velocity = -7,-4
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 211
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020


[State 8017]
type = VarAdd
trigger1 = MoveContact
var(20) = 1
ignorehitpause = 1
persistent = 0

[State 8017]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0


;---------------------------------------------------------------------------
; Down Kick Hard
[Statedef 8018]
type    = A
movetype= A
physics = N
juggle  = 4
poweradd= 40
ctrl = 0
velset = 0,0
anim = 8017
sprpriority = 2
facep2 = 1

[State 8018]
type = Turn
trigger1 = Time = 0
trigger1 = FrontEdgeBodyDist <= 5

[State 8018]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1



[State 8018]
type = VelSet
trigger1 = AnimElem = 3
x = 9
y = 11


[State 8018]
type = VelAdd
trigger1 = AnimElem = 4, >= 0
y = 0.3

[State 8018]
type = PlaySnd
trigger1 = AnimElem = 1
value = 100,4

[State 8018]
type = PlaySnd
trigger1 = AnimElem = 3
value = 205,0

[State 8018]
type = HitDef
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
attr = A, SA
animtype  = Medium
damage    = 7*var(30),floor(0.5*var(30))
guardflag = MA
pausetime = 7,7
sparkno = S(8220+random%2)  
guard.sparkno = S8430
sparkxy = -10,-64+floor(P2Dist Y)
hitsound   = S1,5
guardsound = S4,0
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -7,-4
air.velocity = -7,-4
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;fall.animtype = Up
;fall = 1
;air.fall = 1
;fall.recover =0
;p2stateno = 211
;air.animtype = back
;air.type = Low
;air.cornerpush.veloff = 0
;ground.cornerpush.veloff = 0
;guard.cornerpush.veloff = 0
;airguard.cornerpush.veloff = 0
;p2stateno = 9020


[State 8018]
type = VarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 8018]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 52
ctrl = 0


;------------------------------------------------------------------------------------------------------------
;Super Armor
[Statedef 8600]
type = U
movetype = I
physics = N
;anim =9800
ctrl = 0
sprpriority = 4
velset = 0,0


[State 8600]
type = PlayerPush
trigger1 = 1
value = 1
ignorehitpause = 1


[State 8600]
type = ChangeAnim
trigger1 = Parent,Anim != Anim
value = Parent,Anim
elem = Parent,AnimElemNo(0)
ignorehitpause = 1

[State 8600]
type = ChangeAnim
trigger1 = Parent,AnimElemNo(0) != AnimElemNo(0)
value = Parent,Anim
elem = Parent,AnimElemNo(0)
ignorehitpause = 1

[State 8600]
type = AssertSpecial
trigger1 = 1
flag = invisible


[State 8600]
type = HitBy
trigger1 = 1
value = SCA,AA,AP,AT


[State 8600]
type = HitOverride
trigger1 = 1
stateno = 8601
attr = SCA,AA,AP,AT
slot = 0
time = -1


[State 8600]
type = ParentVarSet
trigger1 = Time = 0
var(55) = 1

[State 8600]
type = BindToParent
trigger1 = 1
ignorehitpause = 1


;------------------------------------------------------------------------------------------------------------
;Super Armor End
[Statedef 8601]
type = U
movetype = H
physics = N
;anim = 9800
ctrl = 0
sprpriority = 4
velset = 0,0


[State 8601]
type = PlayerPush
trigger1 = 1
value = 1
ignorehitpause = 1


[State 8601]
type = ChangeAnim
trigger1 = Parent,Anim != Anim
trigger1 = SelfAnimExist(Parent,Anim)
value = Parent,Anim
elem = Parent,AnimElemNo(0)
ignorehitpause = 1

[State 8601]
type = ChangeAnim
trigger1 = Parent,AnimElemNo(0) != AnimElemNo(0)
trigger1 = SelfAnimExist(Parent,Anim)
value = Parent,Anim
elem = Parent,AnimElemNo(0)
ignorehitpause = 1

[State 8601]
type = AssertSpecial
trigger1 = 1
flag = invisible

[State 8601]
type = ParentVarSet
trigger1 = !var(52)
trigger1 = Parent,Stateno != [120,159]
var(52) = GetHitVar(Damage)

[State 8601]
type = NotHitBy
trigger1 = 1
value = SCA

[State 8601]
type = ParentVarSet
trigger1 = Time = 12
var(55) = 0

[State 8601]
type = PlaySnd
trigger1 = Time = 0
value = 4,9

[State 8601]
type = DestroySelf
trigger1 = Time = 48

[State 8601]
type = BindToParent
trigger1 = 1
ignorehitpause = 1

;------------------------------------------------------------------------------------------
; Hit by  - shaking from the hit
; (a custom gethit state)

[Statedef 9020]
type    = A
movetype= H
physics = N
velset = 0,0

[State 9020, Anim] ;Custom animation
type = null;ChangeAnim2
trigger1 = 1
value = 5012


[State 5020, 1] ;Anim for HIT_LIGHT to HIT_HARD
type = ChangeAnim ;2
trigger1 = Time = 0
trigger1 = GetHitVar(animtype) != [3,5]
value = ifelse((GetHitVar(airtype) = 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 5050, 2] ; anim for trip
type = ChangeAnim
trigger1 = Time = 0
trigger1 = GetHitVar(groundtype) = 3
trigger1 = SelfAnimExist(5070)
value = 5070


[State 9020, State]
type = ChangeState
trigger1 = HitShakeOver = 1
value = 9030

;------------------
; Hit by - flying through the air
; (a custom gethit state)
[Statedef 9030]
type    = A
movetype= H
physics = N

[State 9030, Velocity]
type = HitVelSet
trigger1 = Time = 0
x = 1
y = 1

[State 9030, Gravity]
type = VelAdd
trigger1 = 1
y = .39

[State 9030, No scroll]
type = ScreenBound
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist < 65
trigger2 = FrontEdgeBodyDist < 65
value = 1
movecamera = 0,1

[State 9030, Hit wall]
type = ChangeState
triggerall = Pos y < -15
trigger1 = BackEdgeBodyDist <= 20
trigger2 = FrontEdgeBodyDist <= 20
value = 9027


[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
trigger2 = Anim != 5070

[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, 2] ;Coming down anim for trip
type = ChangeAnim
trigger1 = anim = 5070
trigger1 = Vel Y >= 0
trigger1 = SelfAnimExist(anim-10) || SelfAnimExist(5071)
value = ifelse(SelfAnimExist(5071),5071,anim-10)
persistent = 0


[State 5035, 3]
type = null;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 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 9030, Hit ground]
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= ifelse((anim = [5051,5059]) || (anim = [5061,5071]), 0, 25)
value = 5100 ;HIT_BOUNCE

;-----------------------------------------------------------------------------------------------------
; Hit by  - hit wall
; (a custom gethit state)
[Statedef 9027]
type    = A
movetype= H
physics = N

[State 9027, Turn]
type = Turn
trigger1 = (Time = 0) && (FrontEdgeBodyDist <= 30)

[State 9027, Pos]
type = null;PosAdd
trigger1 = Time = 0
x = 15 - BackEdgeBodyDist

[State 9027, Stop moving]
type = null;PosFreeze
trigger1 = 1
x = 1
y = 1

[State 9027, No scroll]
type = ScreenBound
trigger1 = 1
value = 1
movecamera = 0,1

[State 9027, Spark]
type = Explod
trigger1 = Time = 0
anim = F72
pos = 0, floor (screenpos y) - 50
postype = back
sprpriority = 3
scale = const(size.xscale),const(size.yscale)
[State 9027, Anim]
type = ChangeAnim2
trigger1 = Time = 0
value = 825

[State 9027, Sound]
type = PlaySnd
trigger1 = Time = 0
value = F7,0

[State 9027, State]
type = ChangeState
trigger1 = Time = 5
value = 9028

;------------------
; Hit by  - bounce off wall
; (a custom gethit state)
[Statedef 9028]
type    = A
movetype= H
physics = N


[State 9028, 1]
type = NotHitBy
trigger1 = 1
value = , NA, NP

[State 9028, Vel Y]
type = VelSet
trigger1 = Time = 0
y = 2

[State 9028, Vel X]
type = VelSet
trigger1 = Time = 0
x = 5

[State 9028, Turn]
type = null;Turn
trigger1 = (Time = 0) && (BackEdgeDist < 30)

[State 9028, Gravity]
type = VelAdd
trigger1 = 1
y = .39

[State 9028, Anim 5050] ;Self falling animation
type = ChangeAnim
trigger1 = Time = 0
trigger1 = !SelfAnimExist(5052)
value = 5050

[State 9028, Anim 5052] ;Self falling animation (diagup type)
type = ChangeAnim
trigger1 = Time = 0
trigger1 = SelfAnimExist(5052)
value = 5052

[State 9028, Anim 5060] ;Coming down - normal
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5050
trigger1 = SelfAnimExist(5060)
persistent = 0
value = 5060

[State 9028, Anim 5062] ;Coming down - diagup type
type = ChangeAnim
trigger1 = Vel Y > -2
trigger1 = Anim = 5052
trigger1 = SelfAnimExist(5062)
persistent = 0
value = 5062

[State 9028, Hit ground]
type = SelfState
trigger1 = (Vel y > 0) && (Pos y >= 0)
value = 5100



;------------------------------------------------------------------------------------------------------------
;Arm For Stand State
[Statedef 10000]
type = S
movetype = I
physics =N
anim = 10000
ctrl = 0
sprpriority = 3
velset = 0,0


[State 10000]
type = BindToParent
trigger1 = 1
facing = 1
;time = -1
ignorehitpause = 1

[State 10000]
type = ChangeAnim
trigger1 = Anim != 9800
trigger1 = !SelfAnimExist(Parent,Anim+10000)
value = 9800

[State 10000]
type = ChangeAnim
trigger1 = Parent,Anim+10000 != Anim
trigger1 = SelfAnimExist(Parent,Anim+10000)
value = Parent,Anim+10000
elem = Parent,AnimElemNo(0)
ignorehitpause = 1

[State 10000]
type = ChangeAnim
trigger1 = Parent,AnimElemNo(0) != AnimElemNo(0)
trigger1 = SelfAnimExist(Parent,Anim+10000)
value = Parent,Anim+10000
elem = Parent,AnimElemNo(0)
ignorehitpause = 1


[State 10000]
type = ChangeState
trigger1 = parent,var(57) = 4
value = 10001


;------------------------------------------------------------------------------------------------------------
;Arm Detached
[Statedef 10001]
type = S
movetype = I
physics =N
anim = 10001
ctrl = 0
sprpriority = 3
velset = -2,-7


[State 10001]
type = Varset
trigger1 = time = 0
var(2) = 0

[State 10001]
type = PlaySnd
trigger1 = Time = 0
value = 10000,0

[State 10001]
type = VelAdd
trigger1 = Pos Y < 0
y = 0.4


[State 10001]
type = Velset
trigger1 = FrontEdgeBodyDist <= -5
trigger2 = BackEdgeBodyDist <= -5
x = ifelse(vel x > 0,-Vel X,abs(Vel X))

[State 10001]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 10002


[State 10001]
type = null;Varset
trigger1 = time > 10
trigger1 = RootDist X = [-25,25]
trigger1 = RootDist Y = [-25,60]
var(2) = 4

[State 10001]
type = null;PlaySnd
trigger1 = var(2) = 4
value = 10000,1


[State 10001]
type =  null;ChangeState
trigger1 = var(2) = 4
value = 10000


;------------------------------------------------------------------------------------------------------------
;Arm Detached Land
[Statedef 10002]
type = S
movetype = I
physics =N
;anim = 10001
ctrl = 0
sprpriority = 3
velset = 0,0

[State 10002]
type = PlaySnd
trigger1 = Time = 0
value = 10000,0

[State 10002]
type = Velset
trigger1 = FrontEdgeBodyDist <= -5
trigger2 = BackEdgeBodyDist <= -5
x = ifelse(vel x > 0,-Vel X,abs(Vel X))



[State 10002]
type = VelSet
trigger1 = parent,var(57) != 4
trigger1 = parent,movetype != H
x = (RootDist X)*0.1


[State 10002]
type = Varset
trigger1 = time > 10
trigger1 = parent,var(57) != 4
trigger1 = RootDist X = [-25,25]
trigger1 = RootDist Y = [-25,60]
var(2) = 4


[State 10002]
type = ParentVarset
trigger1 = var(2) = 4
var(57) = 1

[State 10002]
type = PlaySnd
trigger1 = var(2) = 4
value = 10000,1


[State 10002]
type =  ChangeState
trigger1 = var(2) = 4
value = 10000


;------------------------------------------------------------------------------------------------------------
;Mini Rocket Helper
[Statedef 20210]
type = A
movetype = A
physics = N
anim = 20210
ctrl = 0
sprpriority = 4
velset = 0,0


[State 20210]
type = VarSet
trigger1 = Time = 0
var(3) = parent,stateno


[State 20210]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20210]
type = VelSet
trigger1 = Parent,AnimElem = 10
x = 10
y = 4


[State 20210]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 20210]
type = HitOverride
trigger1 = 1
stateno = 20215
attr = SCA,AP
slot = 0
time = -1


[State 20210]
type = HitDef
attr = A, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 3*(Root,var(30)),floor(Root,var(30)/2)
animtype = Large
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-40
hitsound   = S1,2
guardsound = S4,0
sparkno = -1;S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 17
ground.velocity = -5
air.velocity = -5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3

[State 20210]
type = ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20210]
type = ChangeState
trigger1 = MoveContact
trigger2 = Pos Y >= 0
trigger2 = Vel Y > 0
trigger3 = Parent,stateno != var(3)
trigger3 = Vel X = 0
value = 20215
ignorehitpause = 1


;------------------------------------------------------------------------------------------------------------
;Mini Rocket Helper
[Statedef 20211]
type = A
movetype = A
physics = N
anim = 20211
ctrl = 0
sprpriority = 0
velset = 0,0


[State 20211]
type = VarSet
trigger1 = Time = 0
var(3) = parent,stateno

[State 20211]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20211]
type = VelSet
trigger1 = Parent,AnimElem = 10
x = 10
y = 4


[State 20211]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 20211]
type = HitOverride
trigger1 = 1
stateno = 20215
attr = SCA,AP
slot = 0
time = -1


[State 20211]
type = HitDef
attr = A, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 3*(Root,var(30)),floor(Root,var(30)/2)
animtype = Large
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-40
hitsound   = S1,2
guardsound = S4,0
sparkno = -1;S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 17
ground.velocity = -5
air.velocity = -5
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256


[State 20211]
type = null;ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20211]
type = ChangeState
trigger1 = MoveContact
trigger2 = Pos Y >= 0
trigger2 = Vel Y > 0
trigger3 = Parent,stateno != var(3)
trigger3 = Vel X = 0
value = 20215
ignorehitpause = 1

;------------------------------------------------------------------------------------------------------------
;Mini Rocket Helper End
[Statedef 20215]
type = S
movetype = A
physics = N
anim = 7410
ctrl = 0
sprpriority = 3
velset = 0,0


[State 20215]
type = PlaySnd
trigger1 = Time = 0
value = 8,2

[State 20215]
type = HitDef
attr = S, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 2*(Root,var(30)),floor(Root,var(30)/4)
animtype = Medium
priority  = 5, Hit
guardflag = L
pausetime = 0,7
sparkxy = -10,0
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7
air.velocity = -7
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1


[State 20215]
type = DestroySelf
trigger1 = AnimTime = 0



;------------------------------------------------------------------------------------------------------------
;Beam Helper Start
[Statedef 20220]
type = S
movetype = A
physics = N
;anim = 20220
ctrl = 0
sprpriority = 1
;velset = 7,5
hitcountpersist = 1

[State 20220]
type = ChangeAnim
trigger1 = Time = 0 && Anim != 20220
value = 20220

[State 20220]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20220]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 20220]
type = HitOverride
trigger1 = 1
stateno = 20220
attr = SCA,AP
slot = 0
time = -1



[State 20220]
type = HitDef
attr = S, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 9*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1

[State 20220]
type = ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20220]
type = ChangeState
trigger1 = Root,AnimElem = 19
value = 20222


[State 20220]
type = ChangeState
trigger1 = movereversed
value = 20220

[State 20220]
type = DestroySelf
trigger1 = Root,Stateno != 220


[State 20220]
type = BindToParent
trigger1 = 1
pos = 81,-117


;------------------------------------------------------------------------------------------------------------
;Beam Helper End
[Statedef 20222]
type = S
movetype = I
physics = N
anim = 20222
ctrl = 0
sprpriority = 1
;velset = 7,5


[State 20222]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20222]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Root,Stateno != 220


[State 20222]
type = BindToParent
trigger1 = 1
pos = 81,-117


;------------------------------------------------------------------------------------------------------------
;Grenade Helper Start
[Statedef 20320]
type = S
movetype = A
physics = N
anim = 20320
ctrl = 0
sprpriority = 3
velset = 0,0



[State 20320]
type = ChangeState
trigger1 = Time = 8
value = 20322



;------------------------------------------------------------------------------------------------------------
;Grenade Helper End
[Statedef 20322]
type = S
movetype = A
physics = N
anim = 7410
ctrl = 0
sprpriority = 3
velset = 0,0


[State 20322]
type = PlaySnd
trigger1 = Time = 0
value = 8,2


[State 20322]
type = HitDef
attr = C, NP
trigger1 = enemynear,stateno != 321
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 2*(Root,var(30)),floor(Root,var(30)/4)
animtype = Medium
priority  = 5, Hit
guardflag = L
pausetime = 0,7
sparkxy = -10,0
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7
air.velocity = -7
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1

[State 20322]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Grenade Helper Start
[Statedef 20330]
type = S
movetype = A
physics = N
anim = 20320
ctrl = 0
sprpriority = 3
velset = 0,0



[State 20330]
type = ChangeState
trigger1 = Time = 8
value = 20332



;------------------------------------------------------------------------------------------------------------
;Grenade Helper End
[Statedef 20332]
type = S
movetype = A
physics = N
anim = 7410
ctrl = 0
sprpriority = 3
velset = 0,0


[State 20332]
type = PlaySnd
trigger1 = Time = 0
value = 8,2


[State 20332]
type = HitDef
attr = C, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 2*(Root,var(30)),floor(Root,var(30)/4)
animtype = Medium
priority  = 5, Hit
guardflag = L
pausetime = 0,7
sparkxy = -10,0
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7
air.velocity = -7
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1


[State 20332]
type = ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20332]
type = DestroySelf
trigger1 = AnimTime = 0
;------------------------------------------------------------------------------------------------------------
;Beam Helper Start
[Statedef 20420]
type = C
movetype = A
physics = N
;anim = 20220
ctrl = 0
sprpriority = 1
;velset = 7,5
hitcountpersist = 1

[State 20420]
type = ChangeAnim
trigger1 = Time = 0 && Anim != 20220
value = 20220


[State 20420]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20420]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 20420]
type = HitOverride
trigger1 = 1
stateno = 20420
attr = SCA,AP
slot = 0
time = -1


[State 20420]
type = HitDef
attr = C, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 9*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = L
pausetime = 0,7
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = Low
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1

[State 20420]
type = ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20420]
type = ChangeState
trigger1 = Root,AnimElem = 19
value = 20422

[State 20420]
type = ChangeState
trigger1 = movereversed
value = 20420

[State 20420]
type = DestroySelf
trigger1 = Root,Stateno != 420


[State 20420]
type = BindToParent
trigger1 = 1
pos = 68,-72
;------------------------------------------------------------------------------------------------------------
;Beam Helper End
[Statedef 20422]
type = C
movetype = I
physics = N
anim = 20222
ctrl = 0
sprpriority = 1
;velset = 7,5


[State 20422]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 20422]
type = DestroySelf
trigger1 = AnimTime = 0
trigger2 = Root,Stateno != 420


[State 20422]
type = BindToParent
trigger1 = 1
pos = 68,-72


;------------------------------------------------------------------------------------------------------------
;Missile Helper Start
[Statedef 20440]
type = A
movetype = A
physics = N
anim = 20440
ctrl = 0
sprpriority = 1
velset = 7,0


[State 20440]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 20440]
type = HitOverride
trigger1 = 1
stateno = 20442
attr = SCA,AP
slot = 0
time = -1


[State 20440]
type = HitDef
attr = A, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 9*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-30
hitsound   = S1,2
guardsound = S4,0
sparkno = -1;S(8210+random%2)
guard.sparkno = S8430
ground.type = Low
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1

[State 20440]
type = ParentVarAdd
trigger1 = MoveContact
var(21) = 1
ignorehitpause = 1
persistent = 0

[State 20440]
type = ChangeState
trigger1 = MoveContact
value = 20442
ignorehitpause = 1

[State 20440]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = Time = 170



;------------------------------------------------------------------------------------------------------------
;Missile Helper End
[Statedef 20442]
type = A
movetype = I
physics = N
anim = 7410
ctrl = 0
sprpriority = 1
velset = 0,0


[State 20442]
type = PlaySnd
trigger1 = Time = 1
value = 8,2

[State 20442]
type = Explod
trigger1 = Time < 7
anim = 7410
pos = 0,0
random = 80,80
ontop = 1
scale = const(size.xscale),const(size.yscale)
[State 20442]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21240]
type = S
movetype = I
physics = N
anim = 21240
ctrl = 0
sprpriority = 0
velset = 0,0

[State 21240]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21240]
type = ChangeAnim
trigger1 = Parent,AnimElem = 7
value = 21241
persistent = 0

[State 21240]
type = ParentVarSet
trigger1 = Anim = 21241 && AnimElem = 4
var(1) = 2
persistent = 0

[State 21240]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21241
trigger2 = Parent,Stateno != var(2)


[State 21240]
type = BindToParent
trigger1 = 1


;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21242]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21242]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21242]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21242]
type = null;VarSet
trigger1 = Time = 0
fvar(3) = parentdist x

[State 21242]
type = DestroySelf
trigger1 = NumHelper(21245)
trigger1 = Helper(21245),Vel X < 0
trigger1 = Helper(21245),ParentDist X > ParentDist X
trigger2 = Parent,AnimElemNo(0) >= 7
trigger3 = Parent,Stateno != var(2)
trigger4 = NumHelper(21245) = 0

[State 21242]
type = null;BindToParent
trigger1 = NumHelper(21242)
pos = 122,-95

;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21245]
type = S
movetype = A
physics = N
anim = 21245
ctrl = 0
sprpriority = 3
velset = 12,0
hitcountpersist = 1

[State 21245]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21245]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21245]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21245]
type = HitOverride
trigger1 = 1
stateno = 21245
attr = SCA,AP
slot = 0
time = -1


[State 21245]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21245]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21245]
type = ChangeAnim
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
value = 21246
ignorehitpause = 1

[State 21245]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
ignorehitpause = 1

[State 21245]
type = VelSet
trigger1 = ParentDist X > -131+Vel X
trigger1 = Vel X < 0
x = 0

[State 21245]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 21245]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21245]
type = DestroySelf
trigger1 = Parent,Stateno != var(2)
trigger2 = Parent,AnimElem = 8, = 4



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21250]
type = S
movetype = I
physics = N
anim = 21250
ctrl = 0
sprpriority = 0
velset = 0,0


[State 21250]
type = AngleDraw
trigger1 = 1
value = -25

[State 21250]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21250]
type = ChangeAnim
trigger1 = Parent,AnimElem = 7
value = 21251
persistent = 0

[State 21250]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21251
trigger2 = Parent,Stateno != var(2)


[State 21250]
type = BindToParent
trigger1 = 1
pos = 120,-80

;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21252]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21252]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21252]
type = AngleDraw
trigger1 = 1
value = -27

[State 21252]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21252]
type = DestroySelf
trigger1 = NumHelper(21255)
trigger1 = Helper(21255),Vel X < 0
trigger1 = Helper(21255),ParentDist X > ParentDist X
;trigger1 = abs(Helper(21255),Pos Y) > abs(Pos Y)
trigger2 = Parent,AnimElemNo(0) >= 7
trigger3 = Parent,Stateno != var(2)
trigger4 = NumHelper(21255) = 0

[State 21252]
type = null;BindToParent
trigger1 = 1
pos = 122+parent,pos x-fvar(3)+9,-95

;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21255]
type = S
movetype = A
physics = N
anim = 21255
ctrl = 0
sprpriority = 3
velset = 12,6
hitcountpersist = 1

[State 21255]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21255]
type = AngleDraw
trigger1 = 1
value = -25

[State 21255]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21255]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21255]
type = HitOverride
trigger1 = 1
stateno = 21255
attr = SCA,AP
slot = 0
time = -1


[State 21255]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21255]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21255]
type = ChangeAnim
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
value = 21256
ignorehitpause = 1

[State 21255]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
y = -6
ignorehitpause = 1

[State 21255]
type = VelSet
trigger1 = ParentDist X > -120+Vel X
trigger1 = Vel X < 0
x = 0
y = 0

[State 21255]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21255]
type = DestroySelf
trigger1 = Parent,Stateno != var(2)
trigger2 = Parent,AnimElem = 8, = 4



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21260]
type = S
movetype = I
physics = N
anim = 21260
ctrl = 0
sprpriority = 0
velset = 0,0


[State 21260]
type = AngleDraw
trigger1 = 1
value = 25

[State 21260]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21260]
type = ChangeAnim
trigger1 = Parent,AnimElem = 7
value = 21261
persistent = 0

[State 21260]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21261
trigger2 = Parent,Stateno != var(2)


[State 21260]
type = BindToParent
trigger1 = 1
pos = 100,-140


;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21262]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21262]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21262]
type = AngleDraw
trigger1 = 1
value = 27

[State 21262]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21262]
type = DestroySelf
trigger1 = NumHelper(21265)
trigger1 = Helper(21265),Vel X < 0
trigger1 = Helper(21265),ParentDist X > ParentDist X
;trigger1 = abs(Helper(21265),Pos Y) < abs(Pos Y)
trigger2 = Parent,AnimElemNo(0) >= 7
trigger3 = Parent,Stateno != var(2)
trigger4 = NumHelper(21265) = 0

[State 21262]
type = null;BindToParent
trigger1 = 1
pos = 122+parent,pos x-fvar(3)+9,-95

;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21265]
type = S
movetype = A
physics = N
anim = 21265
ctrl = 0
sprpriority = 3
velset = 12,-6
hitcountpersist = 1

[State 21265]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21265]
type = AngleDraw
trigger1 = 1
value = 25

[State 21265]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21265]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21265]
type = HitOverride
trigger1 = 1
stateno = 21265
attr = SCA,AP
slot = 0
time = -1


[State 21265]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21265]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21265]
type = ChangeAnim
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
value = 21266
ignorehitpause = 1

[State 21265]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
y = 6
ignorehitpause = 1

[State 21265]
type = VelSet
trigger1 = ParentDist X > -100+Vel X
trigger1 = Vel X < 0
x = 0
y = 0

[State 21265]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21265]
type = DestroySelf
trigger1 = Parent,Stateno != var(2)
trigger2 = Parent,AnimElem = 8, = 4



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21270]
type = S
movetype = I
physics = N
anim = 21270
ctrl = 0
sprpriority = 0
velset = 0,0


[State 21270]
type = null;AngleDraw
trigger1 = 1
value = -25

[State 21270]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21270]
type = ChangeAnim
trigger1 = Parent,var(1) = 1
value = 21271
persistent = 0


[State 21270]
type = ParentVarSet
trigger1 = Anim = 21271 && AnimElem = 4
var(1) = 2
persistent = 0

[State 21270]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21271
trigger2 = Parent,Stateno != var(2)


[State 21270]
type = BindToParent
trigger1 = 1
pos = 90,-105

;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21272]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21272]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21272]
type = null;AngleDraw
trigger1 = 1
value = -25

[State 21272]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21272]
type = DestroySelf
trigger1 = NumHelper(21275)
trigger1 = Helper(21275),Vel X < 0
trigger1 = Helper(21275),ParentDist X > ParentDist X
trigger2 = Parent,var(1) = 1
trigger3 = Parent,Anim != var(2)
trigger4 = NumHelper(21275) = 0

[State 21272]
type = null;BindToParent
trigger1 = 1
pos = 122+parent,pos x-fvar(3)+9,-95



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21275]
type = S
movetype = A
physics = N
anim = 21275
ctrl = 0
sprpriority = 3
velset = 12,0
hitcountpersist = 1

[State 21275]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21275]
type = null;AngleDraw
trigger1 = 1
value = -25

[State 21275]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21275]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21275]
type = HitOverride
trigger1 = 1
stateno = 21275
attr = SCA,AP
slot = 0
time = -1


[State 21275]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21275]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21275]
type = ChangeAnim
trigger1 = Time = 24
trigger2 = MoveContact
value = 21276
ignorehitpause = 1

[State 21275]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
ignorehitpause = 1

[State 21275]
type = VelSet
trigger1 = ParentDist X > -87+Vel X
trigger1 = Vel X < 0
x = 0


[State 21275]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 21275]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21275]
type = DestroySelf
trigger1 = Parent,anim != var(2)
trigger2 = Parent,var(1) = 2


;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21280]
type = S
movetype = I
physics = N
anim = 21280
ctrl = 0
sprpriority = 0
velset = 0,0


[State 21280]
type = AngleDraw
trigger1 = 1
value = -25

[State 21280]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21280]
type = ChangeAnim
trigger1 = Parent,var(1) = 1
value = 21281
persistent = 0


[State 21280]
type = ParentVarSet
trigger1 = Anim = 21281 && AnimElem = 4
var(1) = 2
persistent = 0

[State 21280]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21281
trigger2 = Parent,Stateno != var(2)


[State 21280]
type = BindToParent
trigger1 = 1
pos = 90,-90

;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21282]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21282]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21282]
type = AngleDraw
trigger1 = 1
value = -27

[State 21282]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21282]
type = DestroySelf
trigger1 = NumHelper(21285)
trigger1 = Helper(21285),Vel X < 0
trigger1 = Helper(21285),ParentDist X > ParentDist X
trigger2 = Parent,var(1) = 1
trigger3 = Parent,Anim != var(2)
trigger4 = NumHelper(21285) = 0

[State 21282]
type = null;BindToParent
trigger1 = 1
pos = 122+parent,pos x-fvar(3)+9,-95



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21285]
type = S
movetype = A
physics = N
anim = 21285
ctrl = 0
sprpriority = 3
velset = 12,6
hitcountpersist = 1

[State 21285]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21285]
type = AngleDraw
trigger1 = 1
value = -25

[State 21285]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21285]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21285]
type = HitOverride
trigger1 = 1
stateno = 21285
attr = SCA,AP
slot = 0
time = -1


[State 21285]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21285]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21285]
type = ChangeAnim
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
value = 21286
ignorehitpause = 1

[State 21285]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
y = -6
ignorehitpause = 1

[State 21285]
type = VelSet
trigger1 = ParentDist X > -85+Vel X
trigger1 = Vel X < 0
x = 0
y = 0

[State 21285]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 21285]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21285]
type = DestroySelf
trigger1 = Parent,anim != var(2)
trigger2 = Parent,var(1) = 2


;------------------------------------------------------------------------------------------------------------
;Rocket Punch Helper Start
[Statedef 21290]
type = S
movetype = I
physics = N
anim = 21290
ctrl = 0
sprpriority = 0
velset = 0,0


[State 21290]
type = AngleDraw
trigger1 = 1
value = 25

[State 21290]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Stateno

[State 21290]
type = ChangeAnim
trigger1 = Parent,var(1) = 1
value = 21291
persistent = 0


[State 21290]
type = ParentVarSet
trigger1 = Anim = 21291 && AnimElem = 4
var(1) = 2
persistent = 0

[State 21290]
type = DestroySelf
trigger1 = AnimTime = 0 && Anim = 21291
trigger2 = Parent,Stateno != var(2)


[State 21290]
type = BindToParent
trigger1 = 1
pos = 90,-150

;------------------------------------------------------------------------------------------------------------
;Rocket Cable Helper
[Statedef 21292]
type = S
movetype = I
physics = N
anim = 21242
ctrl = 0
sprpriority = 1
velset = 0,0


[State 21292]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21292]
type = AngleDraw
trigger1 = 1
value = 27

[State 21292]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21292]
type = DestroySelf
trigger1 = NumHelper(21295)
trigger1 = Helper(21295),Vel X < 0
trigger1 = Helper(21295),ParentDist X > ParentDist X
trigger2 = Parent,var(1) = 1
trigger3 = Parent,Anim != var(2)
trigger4 = NumHelper(21295) = 0

[State 21292]
type = null;BindToParent
trigger1 = 1
pos = 122+parent,pos x-fvar(3)+9,-95



;------------------------------------------------------------------------------------------------------------
;Rocket Punch Arm Helper Start
[Statedef 21295]
type = S
movetype = A
physics = N
anim = 21295
ctrl = 0
sprpriority = 3
velset = 12,-6
hitcountpersist = 1

[State 21295]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21295]
type = AngleDraw
trigger1 = 1
value = 25

[State 21295]
type = VarSet
trigger1 = Time = 0
var(2) = Parent,Anim

[State 21295]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21295]
type = HitOverride
trigger1 = 1
stateno = 21295
attr = SCA,AP
slot = 0
time = -1


[State 21295]
type = PlaySnd
trigger1 = Time = 1
value = 100,5


[State 21295]
type = PosFreeze
trigger1 = Time = [20,23]
trigger1 = Vel X > 0

[State 21295]
type = ChangeAnim
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
value = 21296
ignorehitpause = 1

[State 21295]
type = VelSet
trigger1 = FrontEdgeDist < 5
trigger2 = MoveContact
trigger3 = Time = 24
x = -12
y = 6
ignorehitpause = 1

[State 21295]
type = VelSet
trigger1 = ParentDist X > -85+Vel X
trigger1 = Vel X < 0
x = 0
y = 0

[State 21295]
type = ParentVarSet
trigger1 = Vel X = 0
var(1) = 1
persistent = 0

[State 21295]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21295]
type = DestroySelf
trigger1 = Parent,anim != var(2)
trigger2 = Parent,var(1) = 2


;------------------------------------------------------------------------------------------------------------
;Mini Sentinel Helper
[Statedef 21300]
type = S
movetype = A
physics = N
anim = 21300
ctrl = 0
sprpriority = 3
velset = 5

[State 21300]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21300]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21300]
type = HitOverride
trigger1 = 1
stateno = 21300
attr = SCA,AP
slot = 0
time = -1

[State 21300]
type = VelSet
trigger1 = MoveContact
x = 0.1
y = -5
ignorehitpause = 1

[State 21300]
type = VelAdd
trigger1 = Parent,command = "holdup"
trigger2 = Root,var(59)
trigger2 = enemynear,pos y < pos y
y = -0.1


[State 21300]
type = VelAdd
trigger1 = Parent,command = "holddown"
trigger2 = Root,var(59)
trigger2 = enemynear,pos y > pos y
y = 0.1



[State 21300]
type = HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 4*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21300]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Sentinel Helper 3
[Statedef 21320]
type = S
movetype = A
physics = N
anim = 21300
ctrl = 0
sprpriority = 3
velset = 2

[State 21320]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 21320]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 21320]
type = HitOverride
trigger1 = 1
stateno = 21320
attr = SCA,AP
slot = 0
time = -1

[State 21320]
type = VelSet
trigger1 = var(1) > 33
x = 0.5
y = -1
ignorehitpause = 1
persistent = 0


[State 21320]
type = ChangeAnim
trigger1 = var(1) > 33
value = 21302
persistent = 0

[State 21320]
type = VarSet
trigger1 = Time = 0
var(1) = 0


[State 21320]
type = VarSet
trigger1 = Time = 0
var(2) = 0


[State 21320]
type = VarSet
trigger1 = Parent,command = "holdc"
trigger1 = FrontEdgeDist < 200
trigger2 = Root,var(59)
trigger2 = enemynear,screenpos x > 230
var(2) = 100
persistent = 0

[State 21320]
type = ChangeAnim
trigger1 = FrontEdgeDist < 200-var(2)
value = 21301
persistent = 0


[State 21320]
type = PlaySnd
trigger1 = anim = 21301
trigger1 = isHelper(21320)
value = 181,1
persistent = 0

[State 21320]
type = VarAdd
trigger1 = FrontEdgeDist < 200-var(2)
var(1) = 1

[State 21320]
type = Helper
trigger1 = var(1) < 33
trigger1 = var(1)%10 = 0
trigger1 = FrontEdgeDist < 200-var(2)
stateno = 21321
ownpal = 1
scale = const(size.xscale),const(size.yscale)

[State 21320]
type = null;HitDef
attr = S, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 4*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8210+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -9
air.velocity = -9
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 21320]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 240


;------------------------------------------------------------------------------------------------------------
;Grenade Helper Start
[Statedef 21321]
type = A
movetype = A
physics = N
anim = 20320
ctrl = 0
sprpriority = 3
velset = 0,0

[State 21322]
type = HitDef
attr = C, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 2*(Root,var(30)),floor(Root,var(30)/4)
animtype = Medium
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,0
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7
air.velocity = -7
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 2


[State 21321]
type = VelAdd
trigger1 = Pos Y < 0
y = 0.35

[State 21321]
type = ChangeState
trigger1 = MoveContact
trigger2 = Pos Y >= 0
trigger2 = Vel Y > 0
value = 21322



;------------------------------------------------------------------------------------------------------------
;Grenade Helper End
[Statedef 21322]
type = S
movetype = A
physics = N
anim = 7410
ctrl = 0
sprpriority = 3
velset = 0,0
hitcountpersist = 1

[State 21322]
type = PlaySnd
trigger1 = Time = 0
value = 8,2


[State 21322]
type = HitDef
attr = C, NP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 2*(Root,var(30)),floor(Root,var(30)/4)
animtype = Medium
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,0
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8200+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 15
ground.velocity = -7
air.velocity = -7
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 1


[State 21322]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Bomb Helper
[Statedef 21505]
type = A
movetype = A
physics = N
anim = 21505
ctrl = 0
sprpriority = 4
velset = 0,1


[State 21505]
type = VelAdd
trigger1 = 1
y = 0.3

[State 21505]
type = null;HitBy
trigger1 = 1
value = SCA,AP

[State 21505]
type = null;HitOverride
trigger1 = 1
stateno = 21486
attr = SCA,AP
slot = 0
time = -1


[State 21505]
type = HitDef
attr = A, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 7*(Root,var(30)),Root,var(30)
animtype = Large
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-40
hitsound   = S8,0
guardsound = S4,0
sparkno = S7419;(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 25
ground.velocity = -8,-4
air.velocity = -8,-4
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
palfx.time = 1
palfx.add = 256,256,256


[State 21505]
type = ChangeState
trigger1 = MoveContact
value = 21506
ignorehitpause = 1

[State 21505]
type = ChangeState
trigger1 = Pos Y >= 0
trigger1 = Vel Y > 0
value = 21507


;------------------------------------------------------------------------------------------------------------
;Bomb Explod Helper in Air
[Statedef 21506]
type = A
movetype = A
physics = N
anim = 21506
ctrl = 0
sprpriority = 4
velset = 0,0
scale = const(size.xscale),const(size.yscale)
[State 21506]
type = PlaySnd
trigger1 = Time = 1
value = 32720


[State 21506]
type = null;HitBy
trigger1 = 1
value = SCA,AP

[State 21506]
type = null;HitOverride
trigger1 = 1
stateno = 21486
attr = SCA,AP
slot = 0
time = -1


[State 21506]
type = HitDef
attr = A, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),Root,var(30)
animtype = Large
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-40
hitsound   = S8,0
guardsound = S4,0
sparkno = S7419;(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 25
ground.velocity = -8,-4
air.velocity = -8,-4
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
palfx.time = 1
palfx.add = 256,256,256



[State 21506]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Bomb Explod Helper on Ground
[Statedef 21507]
type = A
movetype = A
physics = N
anim = 21507
ctrl = 0
sprpriority = 4
velset = 0,0

[State 21507]
type = PlaySnd
trigger1 = Time = 1
value = 32720


[State 21507]
type = null;HitBy
trigger1 = 1
value = SCA,AP

[State 21507]
type = null;HitOverride
trigger1 = 1
stateno = 21486
attr = SCA,AP
slot = 0
time = -1


[State 21507]
type = HitDef
attr = A, SP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 15*(Root,var(30)),Root,var(30)
animtype = Large
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-40
hitsound   = S8,0
guardsound = S4,0
sparkno = S7419;(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 25
ground.velocity = -8,-4
air.velocity = -8,-4
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
palfx.time = 1
palfx.add = 256,256,256



[State 21507]
type = DestroySelf
trigger1 = AnimTime = 0


;------------------------------------------------------------------------------------------------------------
;Plasma Storm
[Statedef 23000]
type = S
movetype = I
physics = N
anim = 23000
ctrl = 0
sprpriority = 4
velset = 0,0


[State 23000]
type = DestroySelf
trigger1 = Parent,AnimElem = 3
trigger2 = Parent,Stateno != 3001

[State 23000]
type = BindToParent
trigger1 = 1
pos = 119,-107

;------------------------------------------------------------------------------------------------------------
;Hyper Mini Sentinel Helper
[Statedef 23020]
type = A
movetype = A
physics = N
anim = 21300
ctrl = 0
sprpriority = 3
velset = 12

[State 23020]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23020]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23020]
type = HitOverride
trigger1 = 1
stateno = 23020
attr = SCA,AP
slot = 0
time = -1


[State 23020]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = 4*(Root,var(30)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,40,14),ifelse(MoveHit,40,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23020]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Hard Drive Storm
[Statedef 23040]
type = S
movetype = I
physics = N
anim = 23040
ctrl = 0
sprpriority = 4
velset = 0,0



[State 23040]
type = DestroySelf
trigger1 = Parent,Anim = 44
trigger2 = Parent,Stateno != 3041


[State 23040]
type = BindToParent
trigger1 = 1
pos = -20,-117
ignorehitpause = 1


;------------------------------------------------------------------------------------------------------------
;Large Plasma Ball
[Statedef 23061]
type = A
movetype = A
physics = N
anim = 23061
ctrl = 0
sprpriority = 4
velset = 12,0


[State 23061]
type = PlaySnd
trigger1 = Time = 0
value = 3060,0

[State 23061]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23061]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23061]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23061]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(15*(Root,var(30))/Root,var(4))+Root,var(2),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23061]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Large Plasma Ball
[Statedef 23060]
type = A
movetype = I
physics = N
anim = 23060
ctrl = 0
sprpriority = 4
velset = 0,0

[State 23060]
type = AssertSpecial
trigger1 = 1
flag = noshadow


[State 23060]
type = AssertSpecial
trigger1 = Time%2 = 0
flag = invisible

[State 23060]
type = null;HitBy
trigger1 = 1
value = SCA,AP

[State 23060]
type = null;HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1

[State 23060]
type = DestroySelf
trigger1 = Parent,Stateno != 3061


[State 23060]
type = ChangeState
trigger1 = Root,AnimElem = 9
value = 23061


[State 23060]
type = BindToParent
trigger1 = 1
pos = 132,-110

;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23068]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -7,-1.5


[State 23068]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23068]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23068]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23068]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23068]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23068]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23068]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23069]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -7,1.5


[State 23069]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23069]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23069]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23069]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23069]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23069]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23069]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120



;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23070]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -6,-4


[State 23070]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23070]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23070]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23070]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23070]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23070]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23070]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23071]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -6,4


[State 23071]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23071]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23071]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23071]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23071]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23071]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23071]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23072]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -4.5,-6.5


[State 23072]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23072]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23072]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23072]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23072]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23072]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23072]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23073]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -4.5,6.5


[State 23073]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23073]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23073]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23073]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23073]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23073]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23073]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23074]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -3,-9


[State 23074]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23074]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23074]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23074]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23074]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23074]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23074]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120



;------------------------------------------------------------------------------------------------------------
;Mini Plasma Ball
[Statedef 23075]
type = A
movetype = A
physics = N
anim = 23068
ctrl = 0
sprpriority = 3
velset = -3,9


[State 23075]
type = VelSet
trigger1 = Time = 12
x = 0
y = 0



[State 23075]
type = VelSet
trigger1 = Time = 24
x = 12


[State 23075]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 23075]
type = HitBy
trigger1 = 1
value = SCA,AP

[State 23075]
type = HitOverride
trigger1 = 1
stateno = 23060
attr = SCA,AP
slot = 0
time = -1


[State 23075]
type = HitDef
attr = A, HP
trigger1 = hitcount < 1
trigger1 = moveguarded < 1
damage = floor(2*(Root,var(30))/Root,var(4)),floor(Root,var(30)/2)
animtype = Hard
priority  = 5, Hit
guardflag = MA
pausetime = 0,7
sparkxy = -10,-10
hitsound   = S1,2
guardsound = S4,0
sparkno = S23069;S(8220+random%2)
guard.sparkno = S8430
ground.type = High
ground.slidetime = 10
ground.hittime  = 20
ground.velocity = -5,-3
air.velocity = -5,-3
ground.cornerpush.veloff = 0
air.cornerpush.veloff = 0
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
airguard.cornerpush.veloff = 0
;fall = 1
;air.fall = 1
;fall.recover = 0
;fall.animtype = Up
;p2stateno = 9020
getpower = ifelse(MoveHit,20,7),ifelse(MoveHit,20,0)
;palfx.time = 1
;palfx.add = 256,256,256
sprpriority = 3
persistent = 0


[State 23075]
type = DestroySelf
trigger1 = FrontEdgeDist < -100
trigger2 = ScreenPos Y < -100
trigger3 = Time = 120


;-----------------------------------------------------------------
; Override common states (use same number to override) :
;-----------------------------------------------------------------


;-----------------------------------------------------------------
; States that are always executed (use statedef -2)
;-----------------------------------------------------------------

;-----------------------------------------------------------------
; States that are executed when in se
