;---------------------- Integer variable list ----------------------

; var(0):= mode select
; var(1):= helper
; var(2):= jump for player, helper
; var(3):= jump
; var(4):= jump and run
; var(5):= reset
; var(6):= roll
; var(8):= Counter
; var(9):= strength select
;var(10):= HD
;var(11):= AI
;var(12):= AI
;var(13):= NEOMAX
;var(14):= Reset 2
;var(15):= AI
;var(16):= AI
;var(17):= Helper/AI
;var(18):= AI
;var(19):= AI
;var(20):= AI
;var(21):= AI
;var(22):= AI
;var(23):= Max gauge
;var(24):= Max Gauge
;var(26):= Run
;var(27):= AI
;var(28):= AI
;var(30):= AI
;var(31):= Neomax
;var(32):= AI
;var(35):= strength select
;var(36):= AI
;var(37):= AI
;var(57):= Drive Guage

;---------------------- Float variable list ----------------------

; fvar(1):= Helper
; fvar(2):= Damage dampner
; fvar(6):= Um...


[Statedef -2]
[State 0, DisplayToClipboard]
type = DisplayToClipboard
trigger1 = 1
text = "var(10) = %d var(10) = %d  vel x = %d y=%d, p2bdy = %f"
params = var(30),(enemy,var(30)), frontedgebodydist,helper(10003),var(45),p2bodydist y
ignorehitpause = 1
[State 0, VarSet]
type = VarSet
trigger1 =stateno!=[200,499] 
v = 34  ;fv = 10
value = 0
[State 0, VarSet]
type = VarSet
trigger1 =palno>6 
v =0    ;fv = 10
value = 1
;ignorehitpause = 
;persistent = 

[State 0, StateTypeSet]
type = StateTypeSet
triggerall = movetype=I
triggerall = (enemy,ctrl) || enemy,prevstateno=5120
trigger1 = stateno=[200,3999]
movetype = A       ;I,A,H


;================================================================================
; ------- Front corner fix --------
;===============================================================================
;To prevent switching sides while making combos.
[State -2, Width]
type = Width
triggerall = stateno!=1210
trigger1 = facing != enemynear, facing
trigger1 = movetype != H
edge = 8,0
ignorehitpause = 1
[State -2, Helper]
type = Helper
trigger1 = roundstate=2
triggerall = NumHelper(7000) < 1
helpertype = normal ;player
name = "drive"
ID = 7000
stateno = 7000
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0

[State 0, VarSet]
type = VarSet
trigger1 =stateno!=[2000,2031] 
v = 37   ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 
[State -2, 二人目のイントロ]
type = ChangeState             ;二人目でもイントロを作る
value = 190                    ;イントロへ
triggerall = TeamMode = Turns  ;ターンモード
triggerall = enemy,teammode=turns 
trigger1 = stateno = 5900      ;5900番


;ignorehitpause = 
;persistent = 

[State -2, Helper]
type = Helper
trigger1 = winko && (stateno = [2000,3110]) && movehit
trigger2= projhit =1&& winko && stateno=2030+var(0)
triggerall = NumHelper(11009) < 1
helpertype = normal ;player
name = "winko"
ID = 11009
stateno = 11009
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime =999
pausemovetime = 999
ignorehitpause = 1

[State -2, Helper]
type = Helper
trigger1 = winko && (stateno = 3210) 
triggerall = NumHelper(11009) < 1
helpertype = normal ;player
name = "winko"
ID = 11009
stateno = 11009
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermove =999
pausemove = 999
ignorehitpause = 1
[State 100, VarSet]
type = VarSet
trigger1 =var(57)>1000 
v = 57   ;v = 570
value = 1000
ignorehitpause =1 
persistent = 1
[State 0, VarSet]
type = VarSet
trigger1 =var(10)=1 && roundstate!=2 
v = 57   ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 

;ignorehitpause = 
;persistent = 
[State 10, VarSet]
type = VarSet
trigger1 =var(57)<=0 
v = 57   ;v = 570
value =0
[State 0, AttackMulSet]
type = AttackMulSet
trigger1 = 1
time = 1
value = fvar(2)
[State 0, VarSet]
type = VarSet
triggerall = stateno!=2032
triggerall = enemy,movetype = H&&(p2stateno!=[120,155])
trigger1 =1
fv =2 ;v = 570
value = ifelse(fvar(2)>.1,1-(.05*(enemy,gethitvar(hitcount))),.1)
ignorehitpause=1

[State 0, VarSet]
type = VarSet
trigger1 =(stateno=[1000,1999]) && fvar(2)<.3
trigger2= projcontact=1
fv = 2   ;fv = 10
value = .3
ignorehitpause =1 
persistent = 1
[State 0, VarSet]
type = VarSet
trigger1 =(stateno=[2000,2025]) && fvar(2)<.4
trigger2 =(stateno=[2040,2045]) && fvar(2)<.4
fv = 2   ;fv = 10
value = .4
ignorehitpause =1 
persistent = 1
[State 0, VarSet]
type = VarSet
trigger1 =(stateno=[2030,2031]) && fvar(2)<.5
fv = 2   ;fv = 10
value = .5
ignorehitpause =1 
persistent = 1

[State 0, VarSet]
type = VarSet
trigger1 = enemy,movetype != H ||(p2stateno=[120,155])||p2statetype=L
fv = 2   ;v = 570
value = 1
ignorehitpause =  1
persistent =  1

[State -2, 二人目のイントロ]
type = ChangeState             ;二人目でもイントロを作る
value = 190                    ;イントロへ
triggerall = RoundsExisted = 0 ;自分が初参戦時
triggerall = TeamMode = Turns  ;ターンモード
trigger1 = stateno = 5900      ;5900番

;ここでtrigger用に自分の初期ライフを確認します
[State -2, ライフ確認]
type = VarSet
triggerall = RoundState = [0,1] ;開始前の間
trigger1 = RoundNo = 1          ;一試合目
trigger2 = TeamMode = Turns     ;5900でイントロを作らないと ↓
trigger2 = RoundsExisted = 0    ;これは使えません
v = 22
value = Life   ;Var(22)に自分のライフを保存

[State -2, ライフ取得ミス対策]
type = VarSet
triggerall = Var(22) = [0,100] ;ライフが100以下と認識されたら
triggerall = Time = 1
trigger1 = RoundNo = 1
trigger2 = RoundsExisted = 0
v = 22
value = const(data.life) ;自分のデータに書かれたLifeにする
[State 700, エフェクト表示]
type = Explod
triggerall=p2movetype=H
trigger1 = enemy,animelemtime(1)=1 && enemy,anim =614&&(p2stateno=1302)
trigger2= p2stateno=2034  && enemy,time=1
trigger3 = enemy,time=1 &&(p2stateno=1153)
anim = 1420
postype = P2
pos =0, 0
sprpriority = -5
ownpal = 0
scale=.5,.5
[State 700, エフェクト表示]
type = Explod
triggerall=p2movetype=H
trigger1 = enemy,animelemtime(1)=1 && enemy,anim =614&&(p2stateno=1302)
trigger2= p2stateno=2034  && enemy,time=1
trigger3 = enemy,time=1&&(p2stateno=1153)
anim = 1425
postype = P2
pos = 0, 0
sprpriority = 15
ontop=1
ownpal = 0
scale=.5,.5

[State 0, PlaySnd]
type = PlaySnd
triggerall=p2movetype=H
triggerall =((p2stateno=1302)||p2stateno=2034 )
trigger1 = enemy,animelemtime(1)=1 && enemy,anim =614
trigger2= p2stateno=2034  && enemy,time=1
trigger3 = enemy,time=1 &&(p2stateno=1153)
value = S12,9
channel=4

[State 0, PlaySnd]
type = PlaySnd
trigger1= enemy,animelemtime(1)=2 && p2stateno=1361
value = S12,9
[State 111, VarSet]
type = VarSet
trigger1 =(p2movetype!=A && movetype !=A && p2statetype!=A)|| p2stateno=5120
v = 14    ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 
[State 0, StateTypeSet]
type = StateTypeSet
triggerall = stateno!=1211
trigger1 = var(14)=0 && var(5)=1 && p2statetype=A 
trigger2= roundstate!=2 && movetype=A
trigger3= prevstateno=440
trigger4 = helper(10003),var(45)=0 && enemy,hitfall && var(8)=0
movetype = I  
[State 122, VarSet]
type = VarSet
trigger1 =p2statetype!=A || p2stateno=5120
v = 5   ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 
[State 112, VarSet]
type = VarSet
trigger1 = time=0 && var(14)=1&& (stateno=[200,650])
v = 14   ;fv = 10
value = 0
[State 113, VarSet]
type = VarSet
trigger1 = p2movetype=A 
v = 8   ;v = 570
value = 1

[State 114, VarSet]
type = VarSet
trigger1 = p2movetype!=A && movetype !=A
v = 8   ;v = 570
value = 0

[State 123, VarSet]
type = VarSet
triggerall =var(10)=0
trigger1 =movehit && (stateno=1100||stateno=1150||stateno=1160) 
v = 11    ;v = 570
value = 1
[State 124, VarSet]
type = VarSet
triggerall =var(10)=1
trigger1 =movecontact&& (stateno=1100||stateno=1150||stateno=1160) 
v = 11    ;v = 570
value = 2



[State 125, VarSet]
type = VarSet
trigger1 =p2movetype!=H
v = 11    ;v = 570
value = 0
[State 125, VarSet]
type = VarSet
trigger1 =p2movetype!=H
v = 36    ;v = 570
value = 0
;[State 115, VarSet]
;type = VarSet
;triggerall = stateno!=[1035,1042]
;trigger1 = statetype=A &&movehit
;trigger2 = statetype=A &&projhit=1
;v = 15    ;fv = 10
;value = stateno
;ignorehitpause = 1
;persistent = 

[State 12, VarSet]
type = VarSet
trigger1 = (stateno=[1025,1031]) &&movehit
v = 16    ;fv = 10
value = 1
ignorehitpause = 1
[State 12, VarSet]
type = VarSet
trigger1 = (stateno=1041) &&movehit
trigger2=  var(10)=0
v = 16    ;fv = 100
value = 0
ignorehitpause = 1

[State 12, VarSet]
type = VarSet
trigger1 = var(10)=0
v = 21    ;fv = 10
value = 0
ignorehitpause = 1
[State 12, VarSet]
type = VarSet
trigger1 = (stateno=1041) &&movehit
v = 21
value = 1
ignorehitpause = 1
[State 0, VarSet]
type = VarSet
trigger1 = statetype!=A && movehit && stateno!=1055
v = 15    ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 

[State 0, VarSet]
type = Varadd
trigger1 =moveguarded=1
v = 27  ;fv = 10
value = 1
ignorehitpause = 0
;persistent = 
[State 0, VarSet]
type = VarSet
trigger1 =movehit 
v =27   ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 

[State 0, VarRangeSet]
type = VarRangeSet
trigger1 = p2movetype!=H 
value = 0 ;fvalue = 0
first =15
last = 16 ;39
;ignorehitpause = 
;persistent = 

;ignorehitpause = 
;persistent = 

[State -2, 残像]
type = AfterImage
trigger1 = Movetype = H
time = 1

[State -2,]
type = StopSnd
trigger1 = Movetype = H
channel = 4

[State -2,]
type = StopSnd
trigger1 = command != "holdfwd"
trigger2 = Anim != 100
channel = 6

[State -2,]
type = StopSnd
trigger1 = Movetype = H
channel = 7

[State -2,]
type = StopSnd
trigger1 = Movetype = H
channel = 9



;ignorehitpause = 
;persistent = 

[State 0, VarSet]
type = VarSet
trigger1 = stateno=[1000,1999]
v = 7   ;fv = 10
value = stateno
;ignorehitpause = 
;persistent = 



[State 0, VarSet]
type = VarSet
trigger1 =p2movetype!=H
trigger2= movetype=H 
v = 7    ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 


;---------------------------------------------------------------------------------
[Statedef -3];常時監視ステート(p2statenoなどで相手に行動を制御された時は実行しない)
;---------------------------------------------------------------------------------
[State 0, VarSet]
type = VarSet
triggerall = movetype=I && (p2movetype!=H||p2statetype=L) 
trigger1 =var(40)=1 && var(10)=0
v = 57    ;v = 570
value =1000
ignorehitpause =0
[State 0, VarSet]
type = VarSet
trigger1 = roundsexisted = 0 && roundstate < 2
trigger1 = !AILevel && (enemy, AILevel = 0) && power = powermax && (enemy, power = enemy,powermax)
v = 40    ;fv = 10
value = 1
[State 0, VarSet]
type = VarSet
trigger1 =stateno!=[1000,1999] 
v = 28   ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 
[State 0, Helper]
type = Helper
trigger1 =numhelper(10003)=0
helpertype = normal ;player
name = "neutrality"
ID =  10003
stateno = 9999
pos = 61,-37
postype = p1    ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 1
size.xscale =1*const(size.xscale)
size.yscale =1*const(size.yscale)
ignorehitpause=1
; fvar(2):= -2
[State 0, PlayerPush]
type = PlayerPush
triggerall = p2statetype!=A
triggerall = stateno=[600,699]
trigger1 = P2BodyDist Y + (24 * Const(size.xscale)) > Enemy, Const(Size.Height)
value = 0
ignorehitpause=1
[State 0, VarSet]
type = VarSet
trigger1 =stateno!=[40,53]
v = 2    ;fv = 10
value = 0
;ignorehitpause = 
;persistent = 
      ;5900番

      ;I,A,H
;ignorehitpause = 
;persistent = 

;ignorehitpause = 
;persistent = 

[State 0, VarSet]
type = Varadd
triggerall=var(10)=1&&time=1
trigger1= stateno=1006
trigger2=stateno=1026
trigger3=stateno=1036
trigger4=stateno=1013
trigger5=stateno=1211
trigger6=stateno=1052
trigger7=stateno=2040
trigger8=stateno=2045
trigger9=stateno=2000
trigger10=stateno=2010
trigger11=stateno=2011
trigger12=stateno=1231
trigger13=(stateno=700||stateno=710||stateno=300)&&time=1 && prevstateno=[150,153]
v = 12    ;v = 570
value = -1000
[State 0, VarSet]
type = Varadd
triggerall=var(10)=1&&time=1
trigger1=stateno=2005
trigger2=stateno=2030
trigger3=stateno=2031
v = 12    ;v = 570
value = -2000

[State 0, VarSet]
type = VarSet
trigger1 = var(10)=0;||(stateno!=[1000,3210])
v = 12    ;v = 570
value = power
ignorehitpause=1
persistent=1
[State 0, PowerSet]
type = PowerSet
trigger1 = var(10)=1 
value = var(12)
ignorehitpause = 1
persistent =1 
 

[State 0, VarRangeSet]
type = VarRangeSet
trigger1 = var(24)=1&&movehit 
value = 0 ;fvalue = 0
first = 23
last = 24 ;39
;ignorehitpause = 
;persistent = 





[State 2, VarSet]
type = VarSet
trigger1 =var(17)>=5
v = 19    ;fv = 10
value = ifelse((var(18)/var(17)>.4),1,0)
;ignorehitpause = 
;persistent = 




[State 0, VarSet]
type = Varset
trigger1 =var(57)<=0&& (stateno!=[3200,3210]) 
v = 10    ;v = 570
value = 0

[State -2, Helper]
type = Helper
trigger1 = winko &&projhittime(2000)=[1,40]
trigger2 = winko &&projhit2000=1
triggerall = NumHelper(11009) < 1
helpertype = normal ;player
name = "winko"
ID = 11009
stateno = 11009
pos = 0,0
postype = left   ;p2,front,back,left,right
facing = 1
keyctrl = 0
ownpal = 0
supermovetime =999
pausemovetime = 999
ignorehitpause = 1

;※※※※※※※※※※※※※※※※※※※※ハイジャンプ・東方萃夢想風味
;理論は簡単
;ハイジャンプコマンドを入れた「瞬間」、varスイッチを１にする。
;でハイジャンプのコマンドは最後がU、つまりジャンプする。
;そしてジャンプステート５０の時にvarスイッチが１以上ならveladdで加速します。
;varスイッチを０にするトリガーは「ステート５０の２フレーム目」です。


;persistent = 

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
ignorehitpause = 1
persistent =1
flag = noairguard
;================================================================================
; ------- KOF Cornerpush System by Vans --------
;===============================================================================
[State -2, Superpause Check]
type = VarAdd
triggerall=stateno!=[900,901]
trigger1 = Var(31)
var(31) = -1

[State -2, Reset Time counter]
type = VarSet
triggerall=stateno!=[900,901]
trigger1 = movecontact = 1
var(32) = 0

[State -2, Accel]
type = VarSet
triggerall=stateno!=[900,901]
triggerall = roundstate = 2
triggerall = Var(31) <= 0
triggerall = numtarget >= 1
trigger1 = target, hitshakeover
fvar(6) = (target, gethitvar(xvel)*exp((-0.1886)*((var(32)))))

[State -2, Push]
type = PosAdd
triggerall=stateno!=[900,901]
triggerall = roundstate = 2
triggerall = !var(31)
triggerall = stateno!=[2000,2031]
triggerall = numtarget >= 1
triggerall = (target, BackEdgeBodyDist <= 0) || (target, FrontEdgeBodyDist <= 0)
triggerall = stateno != [900,949]
triggerall = stateno != [956,979]
triggerall = target,statetype != A
triggerall = target,statetype != L
trigger1 = Statetype != A
x = ifelse(facing = -1,fvar(6),-fvar(6))

[State -2, Increase]
type = VarSet
triggerall=stateno!=[900,901]
triggerall = numtarget >= 1
triggerall = target, hitshakeover
trigger1 = Var(31) <= 0
trigger1 = var(32)
var(32) = var(32)+1

[State -2, Time counter]
type = VarSet
triggerall=stateno!=[900,901]
trigger1 = !var(32)
trigger1 = fvar(6)
var(32) = 1

[State -2, Freeze Pos During Superpause]
type = PosFreeze
triggerall=stateno!=[900,901]
trigger1 = Var(31)
value = 1

[State -2, Drop]
type = VarSet
triggerall=stateno!=[900,901]
triggerall = fvar(6)
trigger1 = !numtarget
trigger2 = projcontact = 1
trigger3 = movecontact = 1
fvar(6) = 0
ignorehitpause = 1

[State -2, TargetDrop]
type = TargetDrop
triggerall=stateno!=[900,901]
trigger1 = numhelper(1005)
trigger1 = helper(1005), numtarget
trigger2 = numhelper(1021)
trigger2 = helper(1021), numtarget

;---------------------[‰‰?o]
[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 0
time = 1
add = 96,96,0
color = 186
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 1
trigger2 = gametime % 14 = 13
time = 1
add = 84,84,0
color = 196
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 2
trigger2 = gametime % 14 = 12
time = 1
add = 72,72,0
color = 206
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 3
trigger2 = gametime % 14 = 11
time = 1
add = 60,60,0
color = 216
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 4
trigger2 = gametime % 14 = 10
time = 1
add = 48,48,0
color = 226
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 5
trigger2 = gametime % 14 = 9
time = 1
add = 36,36,0
color = 236
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 6
trigger2 = gametime % 14 = 8
time = 1
add = 24,24,0
color = 246
ignorehitpause = 1

[State a];“_??
type = palfx
triggerall = var(10) > 0
trigger1 = gametime % 14 = 7
time = 1
add = 12,12,0
color = 256
ignorehitpause = 1



[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52
trigger2 = stateno = 106
value = 40, 3

[State -3, weakhit]
type = PlaySnd
triggerall = Random <= 200
triggerall = Time = 1 && Alive = 1
trigger1 = StateNo = 5000 || StateNo = 5010 || StateNo = 5020 || StateNo = 5070 || StateNo = 5100
value = 5000,0

[State -3, weakhit1]
type = PlaySnd
triggerall = Random <= 200
triggerall = Time = 1 && Alive = 1
trigger1 = StateNo = 5000 || StateNo = 5010 || StateNo = 5020 || StateNo = 5070 || StateNo = 5100
value = 5000,1

[State -3, weakhit2]
type = PlaySnd
triggerall = Random <= 200
triggerall = Time = 1 && Alive = 1
trigger1 = StateNo = 5000 || StateNo = 5010 || StateNo = 5020 || StateNo = 5070 || StateNo = 5100
value = 5000,2

[State -3, weakhit2]
type = PlaySnd
triggerall = Random <= 200
triggerall = Time = 1 && Alive = 1
trigger1 = StateNo = 5000 || StateNo = 5010 || StateNo = 5020 || StateNo = 5070 || StateNo = 5100
value = 5000,3

[State -3, weakhit3]
type = PlaySnd
triggerall = Random <= 200
triggerall = Time = 1 && Alive = 1
trigger1 = StateNo = 5000 || StateNo = 5010 || StateNo = 5020 || StateNo = 5070 || StateNo = 5100
value = 5000,3
