;#ADD004BASIC#

[remap]
	x=x
	y=y
	z=z
	a=a
	b=b
	c=c
	s=s
[defaults]
	command.time=15
	command.buffer.time=1


;-------------
; KEZ (hyper)
;-------------

[command]
	name="hy1"
	command=~D,F,D,F,x
	time=32
[command]
	name="hy1_s"
	command=~D,F,D,F,y
	time=32
;---
[command]
	name="hy1"
	command=~D,F,x+y
[command]
	name="hy1_s"
	command=~D,F,y+z

;---
[command]
	name="hy2"
	command=~D,F,D,F,a
	time=32
[command]
	name="hy2_s"
	command=~D,F,D,F,b
	time=32
;---
[command]
	name="hy2"
	command=~D,F,a+b
[command]
	name="hy2_s"
	command=~D,F,b+c

;---
[command]
	name="hy3"
	command=~D,B,D,B,x
	time=32
[command]
	name="hy3_s"
	command=~D,B,D,B,y
	time=32
;---
[command]
	name="hy3"
	command=~D,B,x+y
[command]
	name="hy3_s"
	command=~D,B,y+z


;---
[command]
	name="hy4"
	command=~D,B,D,B,a
	time=32
[command]
	name="hy4_s"
	command=~D,B,D,B,b
	time=32
;---
[command]
	name="hy4"
	command=~D,B,a+b
[command]
	name="hy4_s"
	command=~D,B,b+c


;-------------
; KEZ (special)
;-------------
[command]
	name="sp1"
	command=~F,D,DF,a
	time=20
[command]
	name="sp1_s"
	command=~F,D,DF,b
	time=20
[command]
	name="sp1"
	command=~F,D,F,a
	time=20
[command]
	name="sp1_s"
	command=~F,D,F,b
	time=20

;---
[command]
	name="sp2"
	command=~D,F,x
[command]
	name="sp2_s"
	command=~D,F,y

;---
[command]
	name="sp3"
	command=~D,F,a
[command]
	name="sp3_s"
	command=~D,F,b

;---
[command]
	name="sp4"
	command=~D,B,a
[command]
	name="sp4_s"
	command=~D,B,b

;---
[command]
	name="sp5"
	command=~D,B,x
[command]
	name="sp5_s"
	command=~D,B,y

;---
[command]
	name="sp6"
	command=~D,B,x
[command]
	name="sp6"
	command=~D,B,y
[command]
	name="sp6"
	command=~D,B,a
[command]
	name="sp6"
	command=~D,B,b

;--- plus
[command]
	name="sp7"
	command=~D,B,x
[command]
	name="sp7_s"
	command=~D,B,y

;---
[command]
	name="sp8"
	command=~D,B,a
[command]
	name="sp8_s"
	command=~D,B,b



;-------------
;-------------
[command]
	name="ff"
	command=F,F
	time=10
[command]
	name="bb"
	command=B,B
	time=10


;-------------
[command]
	name="recovery"
	command=x+y
	time=1
[command]
	name="recovery"
	command=z
	time=1
[command]
	name="ab"
	command=a+b
	time=1
[command]
	name="ab"
	command=c
	time=1


;--------
[command]
	name="a"
	command=a
	time=1
[command]
	name="b"
	command=b
	time=1
[command]
	name="c"
	command=c
	time=1
[command]
	name="x"
	command=x
	time=1
[command]
	name="y"
	command=y
	time=1
[command]
	name="z"
	command=z
	time=1
[command]
	name="s"
	command=s
	time=1

;--------
[command]
	name="holdfwd"
	command=/$F
	time=1
[command]
	name="holdback"
	command=/$B
	time=1
[command]
	name="holdup"
	command=/$U
	time=1
[command]
	name="holddown"
	command=/$D
	time=1







;-------------
[statedef -1]
;-------------



;;---
;;---
;; hit_spark / guard_spark (v30-32)
;;--- set
;[state 0]
;	type=varset
;	trigger1=(movecontact=1) && (var(32)=-1)
;	var(32)=hitpausetime ;;<- memo hitpausetime to var
;	ignorehitpause=1
;;--- hit_spark_def
;[state 0]
;	type=explod
;	trigger1=(movecontact=1) && (var(32)=hitpausetime) && (sysfvar(0)<=0)
;	trigger1=(hitdefattr!=sca,nt,st,ht) ;;<- is throw type?
;	anim=f0+ifelse(movehit,ifelse(var(31)%10<3, var(31)%10, 3), 40)
;	ownpal=0
;	postype=p2
;	pos=((var(30)/1000)%1000)-500, floor( (500-(var(30)%1000)) *const(size.yscale) -p2dist y)
;	sprpriority=5
;	ignorehitpause=1
;[state 0]
;	type=playsnd
;	trigger1=(movecontact=1) && (var(32)=hitpausetime) && (sysfvar(0)<=0)
;	trigger1=var(31)>=0 ;; sparkno
;	value=f5+(movehit=0), ifelse(var(31)%10>4,4,var(31)%10)*(movehit>0)
;	ignorehitpause=1
;;--- reset
;[state 0]
;	type=varset
;	trigger1=(var(32)>-1)
;	var(32)=-1



;---
;---
; change char standing anim
[state 0]
	type=changeanim
	triggerall=(stateno=[0,1]) && (anim=0)
	trigger1=var(3)=1 && (animelem=20,>0)
	trigger2=var(3)=2 && ((animelem=20,<0) || (animelem=39,>0))
	trigger3=var(3)=3 && (animelem=39,<0)
	value=0
	elem=(var(3)-1)*19+1

; 1: 1-19
; 2: 20-38
; 3: 39-57


;---
[state 0]
	type=afterimagetime
	trigger1=movetype=h && time<2
	time=0

;---
; voice_bk/jd
[state 0]
	type=playsnd
	trigger1=stateno=195500 && time=1
	value=1,(random%2)+var(3)*100
	channel=0



;---
;---
;--- player type
[state 0]
	type=varset
	trigger1=!var(3)
	trigger1=!ishelper && const(size.height)=60
	var(3)=1 ;; (kfm)
[state 0]
	type=varset
	trigger1=!var(3)
	trigger1=!ishelper && const(size.height)=56
	var(3)=2 ;; (kfw)
[state 0]
	type=varset
	trigger1=!var(3)
	trigger1=!ishelper && const(size.height)=58
	var(3)=3 ;; (kfr)


;---
;---
; fragment
; j
[state 0]
	type=explod
	trigger1=stateno=5000||stateno=5010||stateno=5020||stateno=5070
	trigger1=time<3 && !ishelper && var(3)=3 && numexplod(111)<8
	id=111
	anim=22100+(random%9)*100
	postype=p1
	sprpriority=(random%7)-3
	pos=(random%30)-15, -30-(random%50)
	vel=(random-500)/250.0,-3-(random%20)/10.0
	accel=0,0.12+(random%8)/20.0
	scale=((random%6)*0.08+0.26)*ifelse(random<500,1,-1),((random%6)*0.08+0.26)*ifelse(random<500,1,-1)
; spark
[state 0]
	type=explod
	trigger1=stateno=5000||stateno=5010||stateno=5020||stateno=5070
	trigger1=time<3 && !ishelper && var(3)=3 && numexplod(111)<8
	id=111
	anim=23200+(random%4)
	postype=p1
	sprpriority=5
	pos=(random%30)-15, -30-(random%50)
	vel=(random-500)/550.0,-3-(random%20)/10.0
	accel=0,(1+(random%9))/20.0
	ignorehitpause=1
	scale=0.03,0.03



;---
;---
; set player to "Bonus Mode"
[state 0]
	type=changestate
	trigger1=!ishelper && var(51)>0
	trigger1=(numpartner=0)||(p3name="kfma4a")
	trigger1=(stateno!=[10005,10009]) && (stateno!=5900)
	value=10008 ;; init



;---
;---
; combo set
[state 0]
	type=varset
	trigger1=var(41)
	var(41)=0
[state 0]
	type=varset
	triggerall=movecontact
	triggerall=!var(41)
	triggerall=roundstate=2
	trigger1=stateno=200 || stateno=210 || stateno=230 || stateno=260
	trigger2=stateno=400 || stateno=410 || stateno=430
	trigger3=stateno=275 && ((var(51)<1) || (var(51)>0 && (animelem=10,>0)))
	var(41)=1



;-------------
; KEZ (hyper)
;-------------
; }hߋr (fuyo reikyaku)
[state 0]
	type=changestate
	value=3000
	triggerall=command="hy2" || command="hy2_s"
	triggerall=!ishelper && var(51)<1
	triggerall=power>=1000
	trigger1=statetype!=a &&(ctrl || var(41))

; 矓w (yoatsu nishi)
[state 0]
	type=changestate
	value=ifelse(var(3)=2,3100,3400)
	triggerall=command="hy4" || command="hy4_s"
	triggerall=!ishelper && var(51)<1
	triggerall=power>=1000
	trigger1=statetype!=a &&(ctrl || var(41))

; Vg (suiten hasyo)
[state 0]
	type=changestate
	value=3200
	triggerall=command="hy1" || command="hy1_s"
	triggerall=!ishelper && var(51)<1
	triggerall=power>=1000
	triggerall=!numprojid(91000)
	trigger1=statetype!=a &&(ctrl || var(41))

; |TP (baifu kusyu)
[state 0]
	type=changestate
	value=3300
	triggerall=command="hy4" || command="hy4_s"
	triggerall=!ishelper && var(51)<1
	triggerall=power>=1000
	trigger1=statetype=a && ctrl

; L疗y (kobaku syoyo) (max2)
[state 0]
	type=changestate
	value=3500
	triggerall=command="hy3" || command="hy3_s"
	triggerall=!ishelper && var(51)<1
	triggerall=power>=2000
	trigger1=statetype!=a &&(ctrl || var(41))



;-------------
; KEZ (special)
;-------------

; ߋr (reikyaku)
[state 0]
	type=changestate
	value=1200
	triggerall=command="sp1" || command="sp1_s"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a &&(ctrl || var(41))

; g (hasyo)
[state 0]
	type=changestate
	value=1100
	triggerall=command="sp2" || command="sp2_s"
	triggerall=!ishelper && var(51)<1
	triggerall=!numprojid(91000)
	trigger1=statetype!=a &&(ctrl || var(41))

;  (kyuki)
[state 0]
	type=changestate
	value=1000
	triggerall=command="sp3" || command="sp3_s"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a &&(ctrl || var(41))

; w (nishi)
[state 0]
	type=changestate
	value=1300
	triggerall=var(3)=2 ;; <- char type
	triggerall=!ishelper && var(51)<1
	triggerall=command="sp4" || command="sp4_s"
	trigger1=statetype!=a &&(ctrl || var(41))

;  (meikyo)
[state 0]
	type=changestate
	value=1400
	triggerall=!ishelper && var(51)<1
	triggerall=statetype!=a &&(ctrl || var(41))
	trigger1=var(3)=2 ;; <- char type
	trigger1=command="sp5" || command="sp5_s"
	trigger2=var(3)=3 ;; <- char type
	trigger2=command="sp5_s"

; TP (kusyu)
[state 0]
	type=changestate
	value=1500
	triggerall=command="sp6"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=a && ctrl

; Jt[u[ (KungFu Blow)
[state 0]
	type=changestate
	value=1600
	triggerall=statetype!=a &&(ctrl || var(41))
	triggerall=!ishelper && var(51)<1
	trigger1=var(3)=1 ;; <- char type
	trigger1=command="sp7" || command="sp7_s"
	trigger2=var(3)=3 ;; <- char type
	trigger2=command="sp7"

; Jt[R (KungFu Zanko)
[state 0]
	type=changestate
	value=1700
	triggerall=var(3)=1 || var(3)=3 ;; <- char type
	triggerall=!ishelper && var(51)<1
	triggerall=command="sp8" || command="sp8_s"
	trigger1=statetype!=a &&(ctrl || var(41))


;-------------
;  (uniqe)
;-------------


;--- leap
[state 0]
	type=changestate
	value=48
	triggerall=(sysvar(4)=0) && roundstate=2
	triggerall=statetype!=a && (ctrl || var(41))
	triggerall=(sysfvar(0)>id) && playeridexist(floor(sysfvar(0)))
	triggerall=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(22)=2)
	trigger1=(command="x" && command="a") && (command!="holdup") && var(51)<1
	trigger2=var(51)>0 && sysfvar(4)<1 && (p2bodydist x<82) && random<80

;--- guard-break
[state 0]
	type=changestate
	value=8210
	triggerall=(sysvar(4)=0) && power>=1000 && roundstate=2
	triggerall=statetype!=a && (ctrl || var(41))
	triggerall=(sysfvar(0)>id) && playeridexist(floor(sysfvar(0)))
	triggerall=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(22)=2)
	trigger1=(command="y" && command="b") && var(51)<1
	trigger2=var(51)>0 && sysfvar(4)<1 && (p2bodydist x<60) && random<85

;--- guard-cancel / zero-counter
[state 0]
	type=changestate
	value=8200
	triggerall=(sysvar(4)=0) && power>=1000 && roundstate=2
	triggerall=(stateno=150 || stateno=152) && time>1 && alive
	trigger1=(command="ab") && var(51)<1
	trigger2=var(51)>0 && sysfvar(4)<1 && (p2bodydist x<82)
	trigger2=(sysfvar(0)>id) && playeridexist(floor(sysfvar(0)))
	trigger2=(playerid(floor(sysfvar(0))),var(0)=90900) && random<(roundno+matchno+var(51)+var(51)+var(51))*28
	trigger2=(random>life*3) || (playerid(floor(sysfvar(0))),var(36)>40) ;;{0,50}

;--- guard-cancel-escape
[state 0]
	type=changestate
	value=ifelse(command="holdback",115,110)
	triggerall=(sysvar(4)=0) && power>=500 && roundstate=2
	triggerall=(stateno=150 || stateno=152) && time>1 && alive
	trigger1=(command="recovery") && var(51)<1
	trigger2=var(51)>0 && sysfvar(4)<1 && random<50
[state 0]
	type=poweradd
	triggerall=(sysvar(4)=0)
	trigger1=(stateno=110 || stateno=115) && time=1
	trigger1=(prevstateno=150 || prevstateno=152)
	value=-500

;--- roll
[state 0]
	type=changestate
	value=ifelse(command="holdback",115,110)
	triggerall=command="recovery"
	triggerall=statetype!=a && ctrl
	triggerall=var(51)<1 && !var(4)
	trigger1=(sysfvar(0)>id) && playeridexist(floor(sysfvar(0)))
	trigger1=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(22)!=[2,3])
	trigger2=(sysfvar(0)<=0)

;---
; [v (leap)
[state 0]
	type=changestate
	value=610
	trigger1=stateno=58 && vel y>1

;---
; run
[state 0]
	type=changestate
	value=100
	triggerall=command="ff"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl && stateno!=100

; backstep
[state 0]
	type=changestate
	value=105
	triggerall=command="bb"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl && stateno!=105


;-------------
;  (throw)
[state 0]
	type=changestate
	value=800
	triggerall=(command="y" || command="b") && (command="holdfwd" || command="holdback")
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl && (stateno!=[100,101])
	trigger1=p2statetype!=a && p2movetype!=h && p2statetype!=l
	trigger1=(p2stateno!=[150,155]) && (p2bodydist x=[-12,12])


;-------------
;  (taunt)
[state 0]
	type=changestate
	value=195
	triggerall=command="s"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl



;-------------
; { (basic)
;-------------
; s-lp
; p`
[state 0]
	type=changestate
	value=200
	triggerall=command="x" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && ctrl
	trigger2=(stateno=200||stateno=260||stateno=400||stateno=430) && (time>5||movecontact)

; s-hp
; p`
[state 0]
	type=changestate
	value=ifelse(p2bodydist x<26,210,220)
	triggerall=command="y" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl

; s-lk-sp
; LbN(`/i)
[state 0]
	type=changestate
	value=270
	triggerall=command="a" && command="holdfwd" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl

; s-lk-sp-cnacel
; LbN(i-LZ)
[state 0]
	type=changestate
	value=275
	triggerall=command="a" && command="holdfwd" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && var(41) && stateno!=275

; s-hk-upper
; LbN(`/łグ)
[state 0]
	type=changestate
	value=250
	triggerall=command="b" && command="holdfwd" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && (ctrl || var(41)) && stateno!=250

; s-lk
; LbN
[state 0]
	type=changestate
	value=260
	triggerall=command="a" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && ctrl
	trigger2=(stateno=200||stateno=260||stateno=400||stateno=430) && (time>5||movecontact)

; s-hk
; LbN
[state 0]
	type=changestate
	value=ifelse(p2bodydist x<16,230,240)
	triggerall=command="b" && command!="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=s && ctrl

;-------------
; c-lp
; Ⴊݎp`
[state 0]
	type=changestate
	value=400
	triggerall=command="x" && command="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && ctrl
	trigger2=(stateno=200||stateno=260||stateno=400||stateno=430) && (time>5||movecontact)

; c-hp
; Ⴊ݋p`
[state 0]
	type=changestate
	value=410
	triggerall=command="y" && command="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=c && ctrl

; c-lk
; ႪݎLbN
[state 0]
	type=changestate
	value=430
	triggerall=command="a" && command="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype!=a && ctrl
	trigger2=(stateno=200||stateno=260||stateno=400||stateno=430) && (time>5||movecontact)

; c-hk
; Ⴊ݋LbN
[state 0]
	type=changestate
	value=440
	triggerall=command="b" && command="holddown"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=c && ctrl

;-------------
; j-lp
; Wvp`
[state 0]
	type=changestate
	value=600
	triggerall=command="x"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=a && ctrl

; j-hp
; Wvp`
[state 0]
	type=changestate
	value=610
	triggerall=command="y"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=a && ctrl

; j-lk
; WvLbN
[state 0]
	type=changestate
	value=630
	triggerall=command="a"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=a && ctrl

; j-hk
; WvLbN
[state 0]
	type=changestate
	value=640
	triggerall=command="b"
	triggerall=!ishelper && var(51)<1
	trigger1=statetype=a && ctrl









;-------------
; [ai]
;-------------


; jump long_fwd
[state 0]
	type=changestate
	value=142011
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && statetype!=l && (sysfvar(0)>0) && numenemy && random<360
	trigger1=(enemynear,movetype=a) && (enemynear,statetype!=a) && (enemynear,numprojid(91000))
	trigger1=(!enemynear,numprojid(91010)) && (!enemynear,numprojid(91020)) && (!enemynear,numprojid(91030)) && (!enemynear,numprojid(91040))
; jump small/mid_fwd
[state 0]
	type=changestate
	value=142020+(p2bodydist x>88)*10+(p2bodydist x>39)
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl
	triggerall=(sysfvar(0)>0) && playeridexist(floor(sysfvar(0)))
	triggerall=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(22)!=2)
	trigger1=(p2bodydist x<128) && p2statetype=c && random<368
;;---
;; cancel attack
[state 0]
	type=changestate
	value=275
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && (stateno!=275)
	trigger1=var(41) && random<22
	trigger2=(stateno=210||stateno=230) && movecontact && random<ifelse(movehit,500,300)
[state 0]
	type=changestate
	value=250
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && (stateno!=250)
	trigger1=var(41) && random<22
	trigger2=var(41) && stateno=275 && (animelem=10,>0) && random<150

;-------------
; ߋE p200, k260 / ߋEp <26,220,210 k <16,230,240
[state 0] ; stand attack***
	type=changestate
	value= ifelse(random<350, ifelse(random<500,200,260), ifelse(random<500, ifelse(p2bodydist x<26,210,220), ifelse(p2bodydist x<16,230,240)) )
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && p2statetype!=l
	trigger1=sysfvar(0)>0 && playeridexist(floor(sysfvar(0)))
	trigger1=(playerid(floor(sysfvar(0))),var(0)=90900) && playerid(floor(sysfvar(0))),var(18)%10=1
	trigger2=(p2bodydist x=[0,32]) && (enemynear,statetype=s) && random<400
	trigger3=(stateno=[100,101]) && (p2bodydist x=[0,26]) && (enemynear,numproj=0) && random<400
	trigger4=(prevstateno=[600,699]) && (p2bodydist x=[0,42]) && random<400

;---
; Ep400 k430 p410 k440
[state 0] ; crouching attack
	type=changestate
	value=ifelse(random<350, ifelse(random<600,430,400), ifelse(random<750,410,440) )
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && p2statetype!=l
	trigger1=sysfvar(0)>0 && playeridexist(floor(sysfvar(0)))
	trigger1=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(18)/10)%10=1
	trigger2=(p2bodydist x<42) && (enemynear,movetype!=a) && (enemynear,statetype=s) && random<180
	trigger3=(stateno=[100,101]) && (p2bodydist x<26) && (enemynear,numproj=0) && (enemynear,statetype!=a) && random<220
	trigger4=(prevstateno=52) && (p2bodydist x<42) && random<200

; Ep 400
[state 0]
	type=changestate
	value=400
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && (p2bodydist x=[-28,28])
	trigger1=(stateno=200||stateno=260||stateno=400||stateno=430) && (movecontact||time>5) && random<200
; Ek 430
[state 0]
	type=changestate
	value=430
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && (p2bodydist x=[-28,28])
	trigger1=(stateno=200||stateno=260||stateno=400||stateno=430) && (movecontact||time>5) && random<250

; Ek
[state 0]
	type=changestate
	value=440
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && p2statetype!=l
	trigger1=(p2bodydist x=[5,60]) && (p2movetype!=a) && (p2statetype=s) && random<125

;---
; 󒆍U :: p600 p610 k630 k640
[state 0] ; jump attack
	type=changestate
	value=ifelse(random<300, ifelse(random<500,600,610), ifelse(random<400,630,640) )
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype=a && ctrl && numenemy
	trigger1=sysfvar(0)>0 && playeridexist(floor(sysfvar(0)))
	trigger1=(playerid(floor(sysfvar(0))),var(0)=90900) && (playerid(floor(sysfvar(0))),var(18)/100)%10=1
	trigger2=(pos y>-65) && (vel y>0) && (p2bodydist x=[-35,85]) && random<800

;-------- special
; reflect
[state 0]
	type=changestate
	value=1400
	triggerall=!ishelper
	triggerall=(var(3)=2 || var(3)=3) ;<-char type
	triggerall=var(51)>0 && numenemy && roundstate=2
	triggerall=statetype!=a && ctrl && enemynear,numprojid(91000)
	trigger1=random<066 && enemynear,numprojid(91010)
	trigger2=random<928 && enemynear,numprojid(91020)
	trigger3=random<082 && enemynear,numprojid(91030)
	trigger4=random<038 && enemynear,numprojid(91040)
;---
; dash (kyuki/nishi)
[state 0]
	type=changestate
	value=ifelse(random<600,1000,ifelse(var(3)=2,1300,1700))
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && movetype!=h && statetype!=a && p2statetype!=l && numenemy
	trigger1=ctrl && p2movetype=a && p2bodydist x<32 && random<420
	trigger2=(stateno=[100,101]) && p2movetype=a && p2bodydist x<26 && random<220
	trigger3=ctrl && prevstateno=52 && p2statetype=a && p2bodydist x<62 && p2bodydist y>-80 && random<580
	trigger4=ctrl && p2statetype=a && p2bodydist x<32 && p2bodydist y>-80 && random<188
	trigger5=enemynear,movetype=a && enemynear,statetype!=a && enemynear,numprojid(91000)
	trigger5=ctrl && random<158
	trigger6=var(41) && (stateno=275) && (animelem=10,>0) && random<ifelse(movehit,618,228)
	trigger7=ctrl && (prevstateno=250 || prevstateno=8200) && movehit && random<180
;---
; upcut
[state 0]
	type=changestate
	value=1200
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && numenemy
	triggerall=statetype!=a && ctrl && p2statetype!=l && enemynear,numprojid(91000)=0
	trigger1=(stateno=[100,101]) && p2movetype=a && (p2bodydist x=[10,50]) && random<186
	trigger2=(prevstateno=[100,105]) && p2bodydist x<86 && random<388
	trigger3=(prevstateno=[100,105]) && p2bodydist x<99 && enemynear,movetype=a && random<258
	trigger4=prevstateno=8200 && p2bodydist x<90 && random<580
	trigger5=prevstateno=5120 && p2bodydist x<96 && enemynear,movetype=a && random<620
	trigger6=enemynear,statetype=a && p2bodydist x<56 && (p2bodydist y=[-130,40]) && random<380
	trigger7=(prevstateno=250 || prevstateno=8200) && p2bodydist x<66 && movehit && random<180
;---
; fireball
[state 0]
	type=changestate
	value=1100
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && !numprojid(91000) && numenemy
	trigger1=ctrl && (p2bodydist x>150) && p2statetype!=a && random<99
	trigger2=var(41) && random<88
	trigger3=var(41) && (stateno=275) && (animelem=10,>0) && random<ifelse(movehit,218,528)
;---
; kusyu (air-sp)
[state 0]
	type=changestate
	value=1500
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && numenemy && (gametime%260>180)
	triggerall=statetype=a && ctrl && p2statetype!=l
	trigger1=random<58 && (vel y=[-2,2])
;---
; blow
[state 0]
	type=changestate
	value=1600
	triggerall=!ishelper
	triggerall=(var(3)=1 || var(3)=3) ;<-char type
	triggerall=var(51)>0 && roundstate=2 && movetype!=h && statetype!=a && p2statetype!=l && numenemy
	trigger1=ctrl && p2movetype=a && p2bodydist x<32 && random<420
	trigger2=(stateno=[100,101]) && p2movetype=a && p2bodydist x<26 && random<220
	trigger3=ctrl && prevstateno=52 && p2statetype=a && p2bodydist x<62 && p2bodydist y>-80 && random<580
	trigger4=ctrl && p2statetype=a && p2bodydist x<32 && p2bodydist y>-80 && random<188
	trigger5=enemynear,movetype=a && enemynear,statetype!=a && enemynear,numprojid(91000)
	trigger5=ctrl && random<158
	trigger6=var(41) && (stateno=275) && (animelem=10,>0) && random<ifelse(movehit,618,228)
	trigger7=ctrl && prevstateno=250 && movehit && random<180

;--------hyper
; upcut-super
[state 0]
	type=changestate
	value=3000
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && power>=1000
	triggerall=statetype!=a &&(stateno!=[800,805]) &&(stateno!=[3000,3050]) && ctrl && enemynear,statetype!=l
	trigger1=((prevstateno=[100,105]) &&(p2bodydist x=[0,100]) && enemynear,movetype=a) && random<550
	trigger2=(prevstateno=5120 &&(enemynear,movetype=a) &&(p2bodydist x=[10,100])) && random<650
	trigger3=((enemynear,statetype=a) &&(p2bodydist x=[0,50]) &&(p2bodydist y=[-130,40])) && random<400
;--------
; dash-super
[state 0]
	type=changestate
	value=ifelse(var(3)=2,3100,3400)
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && numenemy && power>=1000
	triggerall=statetype!=a && enemynear,statetype!=l && random<500
	trigger1=var(41) && (stateno=275) && (animelem=10,>0) && random<ifelse(movehit,318,128)
	trigger2=enemynear,statetype=a && p2bodydist x<99 && p2bodydist y>-60 && ctrl && random<200
;---
; upcut-super
[state 0]
	type=changestate
	value=3000
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && power>=1000 && movetype!=h && statetype!=a && p2statetype!=l && numenemy
	trigger1=ctrl && p2movetype=a && p2bodydist x<32 && random<418
	trigger2=(stateno=[100,101]) && p2movetype=a && p2bodydist x<26 && random<288
	trigger3=p2statetype=a && p2bodydist x<32 && p2bodydist y>-80 && ctrl && random<288
	trigger4=var(41) && random<88
	trigger5=var(41) && (stateno=275) && (animelem=10,>0) && p2bodydist x<39 && random<ifelse(movehit,318,88)
;---
; fireball-super
[state 0]
	type=changestate
	value=3200
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && power>=1000 && !numprojid(91000) && numenemy
	trigger1=(p2bodydist x>150 && p2statetype!=a && ctrl) && random<66
	trigger2=var(41) && random<88
	trigger3=var(41) && (stateno=275 && animelem=10,>0) && random<ifelse(movehit,108,268)
;--------
; max2
[state 0]
	type=changestate
	value=3500
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && numenemy && power>=2000
	triggerall=statetype!=a && p2statetype!=a && enemynear,numprojid(91000)=0
	trigger1=var(41) && p2bodydist x<42 && enemynear,backedgebodydist<6 && random<50
	trigger2=ctrl && p2bodydist y>-20 && p2bodydist x<42 && p2statetype=a && random<99
;--------
; throw
[state 0]
	type=changestate
	value=800
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && (stateno!=[100,101]) && (p2bodydist x=[-12,12])
	trigger1=p2statetype!=a && p2movetype!=h && p2statetype!=l && random<(matchno+roundno+1)*88 && random<var(51)*98 ;*ntv

; i
[state 0]
	type=changestate
	value=270
	triggerall=!ishelper
	triggerall=var(51)>0 && roundstate=2 && statetype!=a && ctrl && p2statetype=c && p2movetype!=a
	trigger1=(p2bodydist x<30) && random<100 && random>life*2
;--------
;========
;========
;========
;========












;========
; kfms clones helper [id:10001-10003]
;========

;--- goto helper remove state
[state 0]
	type=selfstate
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=(stateno=[5110,5111]) && (life<2)
	value=5150

;--- goto standing state no:0
[state 0]
	type=selfstate
	value=6000
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=(stateno=0) || (stateno=[10,12]) || (stateno=[20,21]) || ((stateno=[100,101]) && (p2bodydist x=[-160,160]))

;--- crouching-guard
[state 0]
	type=statetypeset
	triggerall=(stateno=120)||(stateno=140)||(stateno=[150,153])
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	triggerall=statetype=s && numenemy
	trigger1=enemynear,movetype=a
	trigger1=enemynear,statetype=c||(enemynear,hitdefattr=c,na,sa,ha)
	statetype=c
	physics=c
	ignorehitpause=1

;---
; jump attack
[state 0]
	type=changestate
	value=ifelse(random<500,610,640)
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	triggerall=roundstate=2 && var(51)>1 && statetype=a && ctrl && numenemy
	triggerall=enemynear,statetype!=l
	triggerall=enemynear,stateno!=190116 ;;<-dizzy/stun
	triggerall=enemynear,numhelper(403000)=0 ;;<-dizzy birds
	triggerall=random<20+var(51)*12
	triggerall=var(14) ;;<-screen-in
	trigger1=p2bodydist x<60 && p2bodydist y<68 && vel y>0
	trigger2=p2bodydist x<60 && p2bodydist y<52 && vel y<0
	trigger2=enemynear,pos y<0 && enemynear,vel y<0
	trigger3=(p2bodydist x=[-8,18]) &&(p2bodydist y=[-12,12])
; jump attack-sp
[state 0]
	type=changestate
	value=1500
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	triggerall=roundstate=2 && var(51)>2 && statetype=a && ctrl && numenemy
	triggerall=enemynear,statetype!=l
	trigger1=(vel y=[-2,2]) && random<8+var(51)*8+p2bodydist x
	trigger1=enemynear,stateno!=190116 ;;<-dizzy/stun
	trigger1=enemynear,numhelper(403000)=0 ;;<-dizzy birds
	trigger1=var(14) ;;<-screen-in
; jump attack-hp
[state 0]
	type=changestate
	value=3300
	triggerall=ishelper(10001)||ishelper(10002)||ishelper(10003)
	triggerall=roundstate=2 && var(51)>3 && statetype=a && ctrl && numenemy
;op;	triggerall=power>=3000
	triggerall=random<35+var(51)
	triggerall=enemynear,statetype!=l
	trigger1=(vel y=[-2,2]) && random<5+var(51)*5+p2bodydist x
	trigger1=enemynear,stateno!=190116 ;;<-dizzy/stun
	trigger1=enemynear,numhelper(403000)=0 ;;<-dizzy birds
	trigger1=var(14) ;;<-screen-in

;--- remove kfms (helper) in stateno:5150
; bonus
[state 0]
	type=explod
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=stateno=5150 && time=50
	anim=19010+ifelse(var(51)>6,5,var(51)-1)*100
	sprpriority=5
	postype=p1
	pos=0,0
	scale=2/root,fvar(0),2/root,fvar(0)
	facing=facing
	removetime=-2
	vel=0,-0.5
	ownpal=0
; count kfms
[state 0]
	type=parentvaradd
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=stateno=5150 && time=1
	var(50)=1
; alive counter/flag
[state 0]
	type=varadd
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=stateno=5150
	var(18)=1
[state 0]
	type=assertspecial
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=stateno=5150 && time>30 && (time%7<3)
	flag=invisible
;---
;--- realtime
[state 0]
	type=attackmulset
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
;op;	trigger1=numenemy
;op;	trigger1=enemynear,ailevel<1
	value=0
	ignorehitpause=1

;;[state 0]
;;	type=defencemulset
;;	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
;;	value=0.5
;;	ignorehitpause=1

[state 0]
	type=playerpush
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=(stateno!=[5110,5111]) && stateno!=5150 && stateno!=10002 && stateno!=105150
	value=1
	ignorehitpause=1

[state 0]
	type=screenbound
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=(movetype=h) && (stateno!=[5110,5111]) && stateno!=5150 && stateno!=10002 && stateno!=105150
	value=1
	movecamera=0,0
	ignorehitpause=1

;---
; ko sound
[state 0]
	type=playsnd
	trigger1=!var(2) && !alive
	trigger1=movetype=h && !ctrl && (stateno!=[10002,10009])
	value=1,11+var(3)*100
	channel=0
	ignorehitpause=1
[state 0]
	type=varset
	trigger1=!var(2) && !alive
	var(2)=1
	ignorehitpause=1
;---
[state 0]
	type=destroyself
	trigger1=ishelper(10001)||ishelper(10002)||ishelper(10003)
	trigger1=stateno=5150 && time>=82
	recursive=1
	removeexplods=1


;---------

;=========
;=========
; AI switch
[state 0]
	type=varset
	trigger1=!ishelper
	trigger1=(sysfvar(0)>0) && playeridexist(floor(sysfvar(0)))
	trigger1=playerid(floor(sysfvar(0))),stateno=90900 && var(51)!=playerid(floor(sysfvar(0))),var(51)
	var(51)=playerid(floor(sysfvar(0))),var(51)
;---
[state 0]
	type=varset
	trigger1=!ishelper
	trigger1=(sysvar(4)=0) && (matchno=1)
	var(51)=ailevel


;=========
;[EOF]
