
; special

;--------------
; g-
; hadou-charging
;--------------
[statedef 1000]
type=s
movetype=i
physics=s
;;anim=1000
anim=1001
sprpriority=1
poweradd=100
velset=0,0
ctrl=0
facep2=1

[state 0]
	type=varset
	trigger1=time=0
	var(5)=ifelse(command="sp1",0,1)
[state 0]
	type=varset
	trigger1=time=0 && var(51)>0
	var(5)=ifelse((p2bodydist x>60) || random<250, 1, 0)
[state 0] ;; as assist_act
	type=varset
	trigger1=!time && (sysfvar(4)>0) ;;(prevstateno=***) ;; as a striker
	var(5)=1
;---
; charge_counter
[state 0]
	type=varset
	trigger1=time=0
	var(6)=0
[state 0]
	type=varadd
	trigger1=var(5) && (time>20) && (time%20=0)
	var(6)=1
;---
; hado_direction
[state 0]
	type=varset
	trigger1=time=0
	var(7)=0
[state 0]
	type=varset
	trigger1=time>0 && var(5)
	var(7)=(command="holdup")
[state 0]
	type=varset
	trigger1=time>0 && var(5) && var(51)>0
	var(7)= ((p2bodydist x=[0,100]) && ((p2statetype=a) || (p2bodydist y<-45)))
;---
[state 0]
	type=playsnd
	trigger1=time=20
	value=0,6 ;; "ha--"
	channel=0
[state 0]
	type=playsnd
	trigger1=time>20 && (time%10=0)
	value=1001,0 ;; charging se
	channel=1

;---
[state 0]
	type=explod
	trigger1=(animelem=2,>=0)
	anim=1040
	postype=p1
;old;	pos=var(8):=floor(-20*const(size.xscale)),var(9):=floor(-65*const(size.yscale))
	pos=var(8):=floor(-10*const(size.xscale)),var(9):=floor(-56*const(size.yscale))
	bindtime=-1
	sprpriority=2
	facing=ifelse(random<500,1,-1)
	vfacing=ifelse(random<500,1,-1)
	scale=(var(6)+5)*0.1, (var(6)+5)*0.075
	removetime=1
	ignorehitpause=1
	removeongethit=1
;---
[state 0]
	type=changestate
	triggerall=(animelem=2,>=0)
	trigger1=(time>8 && !var(5)) || (time>198)
	trigger2=(time>10 && var(5)) && (command!="holdx" && command!="holdy")
	trigger3=var(51)>0 && time>10 && ((p2bodydist x=[-65,65]) || p2movetype=a || enemynear,numproj)
	value=1005+var(7)


;--------------
; g-
; hadou-fire

[statedef 1005]
type=s
movetype=a
physics=s
;;anim=1005
sprpriority=1
velset=0,0
ctrl=0

[state 0]
	type=playsnd
	trigger1=(time=0) && (var(6)>7) && roundstate=2
	value=3000,0 ;; "shin-ku-"
	channel=0

;-[hpe]---------
[state 0]
	type=helper
	trigger1=(time=0) && (var(6)>7) && roundstate=2 && (sysfvar(0)>0)
	id=88880
	stateno=88880
	pos=var(8),var(9)
;--------------

[state 0]
	type=changeanim
	trigger1=time=1
	value=1005
;---
[state 0]
	type=playsnd
	trigger1=time=ifelse(var(5),16,12)
	value=ifelse(var(6)>7,3000,1000) , ifelse(var(6)>7,1,0)
	channel=0 ;; "hado-"
[state 0]
	type=playsnd
	trigger1=(animelem=3) && (anim=1005)
	value=1000,ifelse((var(6)>7)||(!var(5)), 2, 1)
	channel=1 ;; se
;---
[state 0]
	type=explod
	trigger1=(animelem=1,>=0)&&(animelem=3,<0) && (anim=1005)
	anim=1040
	postype=p1
	pos=floor(-2*const(size.xscale)),floor(-58*const(size.yscale))
	bindtime=-1
	sprpriority=2
	facing=ifelse(random<500,1,-1)
	vfacing=ifelse(random<500,1,-1)
	scale=(var(6)+5)*0.1, (var(6)+5)*0.075
	removetime=1
	ignorehitpause=1
	removeongethit=1
;---
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1005)
	anim=1040
	postype=p1
	pos=floor(50*const(size.xscale)),floor(-54*const(size.yscale))
	sprpriority=2
	scale=2,0.25
;---
[state 0]
	type=helper
	trigger1=(animelem=3) && (anim=1005) && (sysfvar(0)>0)
	id=ifelse(var(6)>7,3000,1000)
	size.height=(var(6)>7)*500000 + ifelse(!var(5),6,32+var(6)*3);;<-(removetime+options)
	pos=floor(76*const(size.xscale)),floor(-54*const(size.yscale))
	stateno=91000
	size.head.pos=1050+var(5)+(var(6)>7)*10,1055+var(5);;<-anim,hitanim
	size.mid.pos=ifelse(var(5),3500,0),0;;<-speed_x,y(1/1000)
	size.ground.front=(var(6)+1)*1000+6;;<-max_hits/miss_time
	size.ground.back=(50-var(6)*3)*10000+6;;<-damage hit/guard
	size.air.front=ifelse(!var(5),565560,600560);; <vel_x,y_hit
	size.air.back= 620530;; <vel_x,y_guard
	size.shadowoffset= ifelse(var(6)>7, 13, ifelse(var(5),2,3) ) ;;<-fall(10=recovery/1=ground/2=air/3=g&a)
	ownpal=1
	size.xscale=ifelse(!var(5), 1.2, var(6)*0.05+0.75)
	size.yscale=ifelse(!var(5), 1.2, var(6)*0.05+0.75)
;---

[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1005) && var(5)
	id=1042
	anim=1041
	postype=p1
	pos=floor(76*const(size.xscale)),floor(-54*const(size.yscale))
	sprpriority=2
	scale=0.5,0.75
	removeongethit=1
[state 0]
	type=modifyexplod
	trigger1=numexplod(1042)
	id=1042
	scale=(animelemtime(3)+1)*0.1+0.5, (animelemtime(3)+1)*0.1+0.75
;---
[state 0]
	type=statetypeset
	trigger1=(animelem=4) && (anim=1005)
	movetype=i
[state 0]
	type=changestate
	trigger1=time>ifelse(var(5),22,12)
	value=1010


;--------------
; g-(Ώ)
; hadou-fire (fwd+up)

[statedef 1006]
type=s
movetype=a
physics=s
;;anim=1006
sprpriority=1
velset=0,0
ctrl=0

[state 0]
	type=playsnd
	trigger1=(time=0) && (var(6)>7) && roundstate=2
	value=1002,0 ;; "ten-gyo-"
	channel=0

;-[hpe]---------
[state 0]
	type=helper
	trigger1=(time=0) && (var(6)>7) && roundstate=2 && (sysfvar(0)>0)
	id=88880
	stateno=88880
	pos=var(8),var(9)
;--------------

[state 0]
	type=changeanim
	trigger1=time=1
	value=1006
;---
[state 0]
	type=playsnd
	trigger1=time=16
	value=ifelse(var(6)>7,3000,1000) , ifelse(var(6)>7,1,0)
	channel=0 ;; "hado-"
[state 0]
	type=playsnd
	trigger1=(animelem=3) && (anim=1006)
	value=1000, ifelse(var(6)>7,2,1)
	channel=1 ;; se
;---
[state 0]
	type=explod
	trigger1=(animelem=1,>=0)&&(animelem=3,<0) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(-2*const(size.xscale)),floor(-58*const(size.yscale))
	bindtime=-1
	sprpriority=2
	facing= ifelse(random<500,1,-1)
	vfacing=ifelse(random<500,1,-1)
	scale=(var(6)+5)*0.1, (var(6)+5)*0.075
	removetime=1
	ignorehitpause=1
	removeongethit=1
;---
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(26*const(size.xscale)),floor(-70*const(size.yscale))
	sprpriority=2
	scale=0.3,0.3
	vel=-1,1
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(31*const(size.xscale)),floor(-75*const(size.yscale))
	sprpriority=2
	scale=0.35,0.35
	vel=-0.8,0.8
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(36*const(size.xscale)),floor(-80*const(size.yscale))
	sprpriority=2
	scale=0.4,0.4
	vel=-0.6,0.6
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(41*const(size.xscale)),floor(-85*const(size.yscale))
	sprpriority=2
	scale=0.5,0.5
	vel=-0.4,0.4
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006)
	anim=1040
	postype=p1
	pos=floor(46*const(size.xscale)),floor(-90*const(size.yscale))
	sprpriority=2
	scale=0.6,0.6
	vel=-0.2,0.2
;---
[state 0]
	type=helper
	trigger1=(animelem=3) && (anim=1006) && (sysfvar(0)>0)
	id=ifelse(var(6)>7,3000,1000)
	size.height=(var(6)>7)*500000 + 32+var(6)*2;;<-(removetime+options)
	pos=floor(44*const(size.xscale)),floor(-88*const(size.yscale))
	stateno=91000
	size.head.pos=1052+(var(6)>7)*10,1057;;<-anim,hitanim
	size.mid.pos=2800,-2800;;<-speed_x,y(1/1000)
	size.ground.front=(var(6)+1)*1000+6;;<-max_hits/miss_time
	size.ground.back=(50-var(6)*3)*10000+6;;<-damage hit/guard
	size.air.front=570570;; <vel_x,y_hit
	size.air.back= 610530;; <vel_x,y_guard
	size.shadowoffset= ifelse(var(6)>7, 13, 2) ;;<-fall(10=recovery/1=ground/2=air/3=g&a)
	ownpal=1
	size.xscale=var(6)*0.05+0.75
	size.yscale=var(6)*0.05+0.75
;---
[state 0]
	type=explod
	trigger1=(animelem=3) && (anim=1006) && var(5)
	id=1042
	anim=1042
	postype=p1
	pos=floor(44*const(size.xscale)),floor(-88*const(size.yscale))
	sprpriority=2
	scale=0.5,0.75
	removeongethit=1
[state 0]
	type=modifyexplod
	trigger1=numexplod(1042)
	id=1042
	scale=(animelemtime(3)+1)*0.1+0.5, (animelemtime(3)+1)*0.1+0.75
;---
[state 0]
	type=statetypeset
	trigger1=(animelem=4) && (anim=1006)
	movetype=i
[state 0]
	type=changestate
	trigger1=(time>22)
	value=1010


;--------------
; g-I
; hadou-end

[statedef 1010]
type=s
movetype=i
physics=s
anim=1010+(prevstateno=1006)
velset=0,0
ctrl=0

[state 0]
	type=afterimagetime
	trigger1=animtime=0
	time=0
[state 0]
	type=changestate
	trigger1=animtime=0
	value=0
	ctrl=1











;--------------
; 
; syo-ryu

[statedef 1100]
type=s
movetype=a
physics=n
anim=1100
juggle=8
poweradd=100
velset=0,0
ctrl=0
facep2=1

[state 0]
	type=varset
	trigger1=!time
	var(5)=ifelse(command="sp3",0,1)
[state 0]
	type=varset
	trigger1=!time && var(51)>0
	var(5)=(p2bodydist x!=[-50,50])||movehit||random<100
[state 0]
	type=varset
	triggerall=!time
	trigger1=var(51)>0 && movehit && p2statetype!=a
;;op;	trigger2=(sysfvar(4)!=0) ;;(prevstateno=***) ;; as a striker
	var(5)=1

[state 0]
	type=posadd
	trigger1=(animelem=2)||(animelem=3)||(animelem=8)
	x=ifelse(!var(5),3,10) *const(size.xscale)

[state 0]
	type=changeanim
	trigger1=time=0 && var(5)
	value=1101

[state 0]
	type=playsnd
	trigger1=(animelem=4)
	value=1100,0 ;; "syo-oh-ken"
	channel=0
[state 0]
	type=playsnd
	trigger1=(animelem=4)
	value=f200,2
	channel=1

[state 0]
	type=statetypeset
	trigger1=(animelem=8)
	statetype=a
	physics=n

[state 0]
	type=velset
	trigger1=(animelem=1)
	x=ifelse(!var(5),1,6)
[state 0]
	type=velset
	trigger1=(animelem=8)
	x= 1.5
	y=-5.5-var(5)

[state 0]
	type=veladd
	trigger1=(animelem=8,>0)
	y=0.4

[state 0] ; dash_dust
	type=helper
	trigger1=(animelem=3) && (sysfvar(0)>0)
	id=152040
	stateno=152040
	pos=floor(-2*const(size.xscale)),0
	size.xscale=ifelse(var(5),0.75,0.65)
	size.yscale=ifelse(var(5),0.75,0.65)

;---
[state 0]
	type=hitdef
	triggerall=!var(5)
	trigger1=(animelem=4) || ((animelem=5) && (!movecontact))
	trigger1=1|| var(6):=45
	trigger2=((animelem=6) || (animelem=7)) && (!movecontact)
	trigger2=1|| var(6):=63
	trigger3=(animelem=8) && (!movecontact)
	trigger3=1|| var(6):=72
	attr=s,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=80,8
	hitflag=maf
	guardflag=ma
	pausetime=12,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-var(6)
	hitsound=300,4
	guardsound=41,0
	ground.type=high
	ground.slidetime=20
	ground.hittime=20
	air.hittime=20
	ground.velocity=-2.8,-9
	air.velocity=   -2.8,-9
	guard.velocity= -9
	fall=1
	air.fall=1
	fall.recover=0
	air.recover=0
	yaccel=0.49
	getpower=60,30
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 510500 +var(6) )
	fall.envshake.time= id
	fall.envshake.ampl= 0

;---
[state 0]
	type=hitdef
	triggerall=var(5)
	trigger1=(animelem=4) || (animelem=5)
	trigger1=1|| var(6):=45
	trigger2=(animelem=6) || (animelem=7)
	trigger2=1|| var(6):=63
	trigger3=(animelem=8)
	trigger3=1|| var(6):=72
	attr=s,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=18,5
	hitflag=maf
	guardflag=ma
	pausetime=5,5
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-var(6)
	hitsound=300,4
	guardsound=41,0
	ground.type=low
	ground.slidetime=20
	ground.hittime=20
	air.hittime=20
	ground.velocity=-ifelse((animelem=8),2.8,1), ifelse((animelem=8),-11,0)
	air.velocity=   -2.8,-11
	guard.velocity= -3
	fall=(animelem=8)
	air.fall=1
	fall.recover=!(animelem=8)
	air.recover=0
	yaccel=0.49
	getpower=20,10
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 510500 +var(6) )
	fall.envshake.time= id
	fall.envshake.ampl= 0

;---
[state 0]
	type=statetypeset
	trigger1=(animelem=8,>2)
	movetype=i
[state 0]
	type=changestate
	trigger1=(animelem=8,>0)
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1105

;--------------
; n
; land

[statedef 1105]
type=s
movetype=i
physics=s
anim=1105
velset=0,0
ctrl=0

[state 0]
	type=posset
	trigger1=time=0
	y=0
[state 0]
	type=afterimagetime
	trigger1=time=0
	time=0
[state 0]
	type=changestate
	trigger1=(animtime=0)
	trigger2=(time>6) && ((prevstateno=1100)||(prevstateno=1250))
	value=11
	ctrl=1







;--------------
; tr
; syunpu(senpu)-kyaku

[statedef 1200]
type=s
movetype=a
physics=s
anim=1200
juggle=8
poweradd=100
velset=0,0
ctrl=0
facep2=1

[state 0]
	type=varset
	trigger1=time=0
	var(5)=ifelse(command="sp5",0,1)
[state 0]
	type=varset
	trigger1=time=0 && var(51)>0
	var(5)=ifelse((p2bodydist x!=[-60,60])||random<450, 1, 0)

[state 0]
	type=playsnd
	trigger1=time=2
	value=1200,0 ;; "syu-pu-kyaku"
	channel=0

[state 0]
	type=playsnd
	trigger1=(animelem=7)
	value=f200,3
	channel=1
;---
[state 0]
	type=posadd
	trigger1=(animelem=5)
	x=5 *const(size.xscale)
[state 0]
	type=posadd
	trigger1=(animelem=6)
	x=10 *const(size.xscale)
[state 0]
	type=posadd
	trigger1=(pos y+vel y>=0) && (vel y>0)
	x=-10 *const(size.xscale)
;---
[state 0] ; dash_dust
	type=helper
	trigger1=(animelem=6) && (sysfvar(0)>0)
	id=152040
	stateno=152040
	pos=floor(-2*const(size.xscale)),0
	size.xscale=ifelse(var(5),0.75,0.65)
	size.yscale=ifelse(var(5),0.75,0.65)

[state 0]
	type=statetypeset
	trigger1=(animelem=6)
	statetype=a
	physics=n
[state 0]
	type=velset
	trigger1=(animelem=6)
	x= ifelse(var(5),5,4)
	y=-ifelse(var(5),7,5)
[state 0]
	type=veladd
	trigger1=(animelem=6,>0)
	y=0.6
;---
[state 0]
	type=hitdef
	trigger1=(animelem=8)
	attr=a,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=30,6
	hitflag=maf
	guardflag=ma
	pausetime=13,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-30
	hitsound=300,4
	guardsound=41,0
	ground.type=high
	ground.slidetime=17
	ground.hittime=18
	air.hittime=18
	ground.velocity=-9
	air.velocity=   -5,-4
	fall=0
	fall.recover=1
	air.fall=1
	air.recover=0
	yaccel=0.49
;;op;	persistent=1
;;op;	forcestand=1
	getpower=30,15
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 510530 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

;---
[state 0]
	type=varset
	trigger1=time=0
	var(6)=0
[state 0]
	type=varset
	trigger1=!var(6) && time>2
	trigger1=(command="a") || (command="b")
	var(6)=1

[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=ifelse(var(6),1201,1205)

;--------------
; n
; land

[statedef 1205]
type=s
movetype=i
physics=s
anim=1205
velset=0,0
ctrl=0

[state 0]
	type=posset
	trigger1=time=0
	y=0
[state 0]
	type=afterimagetime
	trigger1=time=0
	time=0
[state 0]
	type=changestate
	trigger1=animtime=0
	value=0
	ctrl=1

;--------------
; ǉ
; plus

[statedef 1201]
type=s
movetype=a
physics=n
anim=1201
;;op; velset=0,0
ctrl=0

[state 0]
	type=velset
	trigger1=time=2
	x=0
[state 0]
	type=velset
	trigger1=time=0
	y=0
[state 0]
	type=posset
	trigger1=time=0
	y=0

[state 0] ; dash_dust
	type=helper
	trigger1=(animelem=3) && (sysfvar(0)>0)
	id=152040
	stateno=152040
	pos=floor(-2*const(size.xscale)),0
	size.xscale=0.65
	size.yscale=0.65

[state 0]
	type=afterimagetime
	trigger1=(animtime=0)
	time=0

[state 0]
	type=playsnd
	trigger1=(animelem=3)
	value=0,2 ;; "teya-"
	channel=0
[state 0]
	type=playsnd
	trigger1=(animelem=3)
	value=f200,3
	channel=1

[state 0]
	type=hitdef
	trigger1=(animelem=4)
	attr=s,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=30,6
	hitflag=maf
	guardflag=ma
	pausetime=13,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-20,-58
	hitsound=300,4
	guardsound=41,0
	ground.type=low
	ground.slidetime=20
	ground.hittime=20
	air.hittime=20
	ground.velocity=-5,-6
	air.velocity=   -5,-6
	guard.velocity= -9
	fall=1
	fall.recover=0
	air.fall=1
	air.recover=0
	yaccel=0.49
	persistent=0
	getpower=40,20
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 510558 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

[state 0]
	type=changestate
	trigger1=animtime=0
	value=0
	ctrl=1




;--------------
; 󒆏tr
; air-senpu-kyaku

[statedef 1250]
type=a
movetype=a
physics=n
anim=1250
juggle=7
poweradd=80
ctrl=0

[state 0]
	type=varset
	trigger1=time=0
	var(5)=ifelse(command="sp5",0,2)

[state 0]
	type=playsnd
	trigger1=time=2
	value=1200,0 ;; "syu-pu-kyaku"
	channel=0

[state 0]
	type=playsnd
	trigger1=(animelem=3)||(animelem=7)
	value=f200,3
	channel=1

[state 0]
	type=veladd
	trigger1=(animelem=7,<0)
	x=ifelse(vel x>=0, 0.15, -0.15)
	y=ifelse(vel y<=0, (-5-var(5))*0.05, 0)

[state 0]
	type=veladd
	trigger1=1
	y=0.4

[state 0]
	type=playerpush
	trigger1=numenemy
	trigger1=enemynear,pos y<-100
	value=0

[state 0]
	type=hitdef
	trigger1=(animelem=4) || ((animelem=8) && (!movecontact))
	attr=a,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=55,6
	hitflag=maf
	guardflag=ma
	pausetime=13,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-30
	hitsound=300,4
	guardsound=41,0
	ground.type=low
	ground.slidetime=20
	ground.hittime=20
	air.hittime=20
	ground.velocity=-4,-7
	air.velocity=   -4,-7
	guard.velocity= -9
	fall=1
	fall.recover=0
	air.fall=1
	air.recover=0
	yaccel=0.49
	persistent=0
	getpower=60,30
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 510530 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

;---
[state 0]
	type=statetypeset
	trigger1=(animelem=8,>2)
	movetype=i
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1105






;--------------
; 痎Ƃ-
; otoshi-jump

[statedef 1300]
type=s
movetype=i
physics=s
anim=1300
poweradd=100
velset=0,0
ctrl=0
facep2=1

[state 0]
	type=varset
	trigger1=time=0 && var(51)<1
	var(5)=ifelse(command="sp4_s", 2, 0)
[state 0]
	type=varset
	trigger1=time=0 && var(51)>0
	var(5)=ifelse(frontedgebodydist<=30, 0, 2)
;--- init
[state 0]
	type=varset
	trigger1=time=0
	var(3)=0 ;; times
[state 0]
	type=varset
	trigger1=time=0
	var(6)=0 ;; hit flag
;---
[state 0]
	type=playsnd
	trigger1=(animelem=2)
	value=1300,0 ;; "yikuyo"
	channel=0

;[state 0] ; dash_dust
;	type=helper
;	trigger1=(animelem=2) && (sysfvar(0)>0)
;	id=152040
;	stateno=152040
;	pos=floor(-12*const(size.xscale)),0
;	size.xscale=ifelse(var(5),0.75,0.65)
;	size.yscale=ifelse(var(5),0.75,0.65)

[state 0]
	type=statetypeset
	trigger1=(animelem=2)
	statetype=a
	physics=n
[state 0]
	type=velset
	trigger1=(animelem=2)
	x= ifelse(var(5),3.5,2.5)
	y=-ifelse(var(5),9,6)
[state 0]
	type=veladd
	trigger1=(animelem=2,>0)
	y=0.45
;---
[state 0]
	type=changestate
	triggerall=(animelem=3,>1)
	trigger1=var(51)<1 && (command="x" || command="y")
	trigger2=var(51)>0 && (p2bodydist x=[-36,36]) && (p2bodydist y=[-42,42]) && roundstate=2
	value=1301 ;; attack
[state 0]
	type=changestate
	triggerall=(animelem=3,>1)
	trigger1=var(51)<1 && (command="a" || command="b")
	trigger2=var(51)>0 && (p2movetype=a) && random<500 && roundstate=2
	value=1350 ;; cancel
;---
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1305 ;; land

;--------------
; LZn
; cancel - land

[statedef 1305]
type=s
movetype=i
physics=n
anim=1305
velset=0,0
ctrl=0

[state 0]
	type=posset
	trigger1=time=0
	y=0

[state 0]
	type=playsnd
	trigger1=(animelem=2)
	value=0,10 ;; "are-?"
	channel=0

[state 0]
	type=velset
	trigger1=(animelem=2)
	x=2
[state 0]
	type=velmul
	trigger1=(vel x>0)
	x=0.95
[state 0]
	type=velset
	trigger1=(animelem=7)
	x=0

[state 0]
	type=afterimagetime
	trigger1=time=0
	time=0
[state 0]
	type=changestate
	trigger1=animtime=0
	value=0
	ctrl=1

;--------------
; ǌ
; plus

[statedef 1301]
type=a
movetype=a
physics=n
anim=1301
ctrl=0

;---
; throw-attack (w.i.p)
;[state 0]
;	type=changeanim
;	triggerall=time=0
;	triggerall=(prevstateno=1300)
;	trigger1=(command="holdback" || command="holdfwd")
;	trigger2=var(51)>0
;	value=1380
;	persistent=0

[state 0]
	type=changeanim
	trigger1=(animtime=0) && (anim=1380)
	value=1301
	persistent=0

;---
[state 0]
	type=varadd
	trigger1=time=0
	var(3)=1

[state 0]
	type=playsnd
	trigger1=(animelem=2) && (var(3)<3)
	value=0,0 ;; "ha"
	channel=0
[state 0]
	type=playsnd
	trigger1=(animelem=2) && (var(3)>=3)
	value=1300,1 ;; "sokoka-?"
	channel=0

[state 0]
	type=playsnd
	trigger1=(animelem=2)
	value=f200,2
	channel=1

[state 0]
	type=nothitby
	trigger1=(animelem=3)
	value=sca,np,sp,hp
	time=6

;;--- (w.i.p)
;;---
;[state 0]
;	type=hitdef
;	trigger1=(time=0) && (anim=1380)
;	attr=a,st
;	hitflag=m-
;	priority=5,miss
;	sparkno=(var(31):=-1)
;	p1facing=1
;	p2facing=1
;	p1stateno=1381
;;;op;	p2stateno=
;	guard.dist=0
;	getpower=0,0
;	hitsound=-1
;	hitonce=1
;	id=1380

;---
[state 0]
	type=hitdef
	trigger1=(animelem=3)
	attr=a,sa
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	damage=35,6
	hitflag=mafp
	guardflag=ma
	pausetime=13,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-34
	hitsound=300,4
	guardsound=41,0
	ground.type=high
	ground.slidetime=20
	ground.hittime=20
	air.hittime=32
	ground.velocity=-ifelse(var(3)<3,2,7),ifelse(var(3)<3,-7,5)
	air.velocity=   -ifelse(var(3)<3,2,7),ifelse(var(3)<3,-7,5)
	guard.velocity= -9
	fall=1
	fall.recover=0
	air.fall=1
	air.recover=0
	yaccel=0.49
	persistent=0
	getpower=40,20
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 315510534 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

[state 0]
	type=veladd
	trigger1=1
	y=0.45
;---
[state 0]
	type=varset
	trigger1=movehit && var(3)>=3
	var(6)=1 ;; hitting
	ignorehitpause=1
;---
[state 0]
	type=changestate
	trigger1=(movecontact)
	value=ifelse(var(3)<3,1310,1330) ;; continue / end
;---
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1306

;--------------
; ڐG
; contact

[statedef 1310]
type=a
movetype=a
physics=n
anim=1310
velset=0,0
ctrl=0

[state 0]
	type=velset
	trigger1=time=0
	x= 2.5
	y=-7

[state 0]
	type=veladd
	trigger1=1
	y=0.45
;---
[state 0]
	type=changestate
	triggerall=time>1
	trigger1=var(51)<1 && (command="x" || command="y")
	trigger2=var(51)>0 && (p2bodydist x=[-36,36]) && (p2bodydist y=[-42,42]) && roundstate=2
	value=1301 ;; attack
[state 0]
	type=changestate
	triggerall=time>1
	trigger1=var(51)<1 && (command="a" || command="b")
	trigger2=var(51)>0 && (p2movetype=a)
	value=1350 ;; cancel ; LZ
;---
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1306 ;; fall


;--------------
; 
; end

[statedef 1330]
type=a
movetype=a
physics=n
anim=1330
ctrl=0

[state 0]
	type=nothitby
	trigger1=var(6)
	value=sca
[state 0]
	type=velset
	trigger1=time=0
	x= 3
	y=-6
[state 0]
	type=veladd
	trigger1=1
	y=0.5
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1306

;--------------
; n
; land

[statedef 1306]
type=s
movetype=i
physics=s
anim=1306
velset=0,0
ctrl=0

[state 0]
	type=nothitby
	trigger1=var(6)
	value=sca
	time=5
[state 0]
	type=posset
	trigger1=time=0
	y=0
[state 0]
	type=afterimagetime
	trigger1=(animtime=0)
	time=0
[state 0]
	type=changestate
	trigger1=animtime=0
	trigger2=(time>=3) && (prevstateno=1355) ;; cancel land
	value=0
	ctrl=1


;--------------
; LZ
; cancel-land

[statedef 1350]
type=a
movetype=i
physics=n
anim=1350
velset=0,0
ctrl=0
[state 0]
	type=playsnd
	trigger1=time=2
	value=0,3 ;; "yo"
	channel=0
[state 0]
	type=veladd
	trigger1=1
	y=0.45
[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1306 ;; land






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

[statedef 1381]
type=a
movetype=a
physics=n
anim=1381
velset=0,0
ctrl=0

;---
; grab_spark
[state 0]
	type=helper
	trigger1=(time=1) && (sysfvar(0)>0)
	id=152080
	stateno=152080
	postype=p1
;op;	pos=floor(0*const(size.xscale)),floor(0*const(size.yscale))
	size.xscale=1.25 ;w
	size.yscale=1.25 ;h
	size.height=101 ;type
	persistent=0

;---
[state 0]
	type=targetstate
	trigger1=time=0
	value=1382

;---
[state 0]
	type=playsnd
	trigger1=(animelem=2)
	value=0,3 ;; yo
	channel=0
[state 0]
	type=playsnd
	trigger1=(animelem=2)
	value=f200,3
	channel=1

;---
[state 0]
	type=bindtotarget
	trigger1=(animelem=3,<0)
	pos=floor(-16*const(size.xscale)),floor(16*const(size.yscale)),head
	time=1

;---
[state 0]
	type=posadd
	trigger1=(animelem=3)
	x=-floor(25*const(size.xscale))

[state 0]
	type=targetbind
	trigger1=(animelem=3) && numtarget
	pos=floor(25*const(size.xscale)),0
	time=1
	id=1380
	persistent=0

;---
[state 0]
	type=hitdef
	trigger1=time=0 ;;(animelem=3)
	attr=a,st
	animtype=diagup
	air.animtype=diagup
	fall.animtype=diagup
	damage=120,0
	hitflag=mafp+
	guardflag=ma
	pausetime=12,12
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=0,0
	hitsound=300,3
	guardsound=41,0
	ground.type=high
	ground.slidetime=20
	ground.hittime=20
	air.hittime=32
	ground.velocity=-3,-6
	air.velocity=   -3,-6
	fall=1
	fall.recover=0
	air.fall=1
	air.recover=0
	yaccel=0.45
	persistent=0
	getpower=40,20
	forcestand=1
	id=1380
	chainid=1380
	hitonce=1
	persistent=0
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 315500500 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

;---
[state 0]
	type=velset
	trigger1=(animelem=4)
	x=-2
	y=-5
[state 0]
	type=veladd
	trigger1=(animelem=4,>0)
;op;	x=ifelse(vel x<-0.1,0.1,0)
	y=0.45
;---
[state 0]
	type=statetypeset
	trigger1=(animelem=4)
	movetype=i
[state 0]
	type=changestate
	trigger1=(animelem=4,>0)
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1306 ;; land




;--------------
; ij
[statedef 1382]
type=a
movetype=h
physics=n
sprpriority=-2
velset=0,0
ctrl=0

[state 0]
	type=afterimagetime
	trigger1=time=0
	time=0
[state 0]
	type=screenbound
	trigger1=1
	value=1

[state 0]
	type=nothitby
	trigger1=time<15
	value=sca
	time=1
[state 0]
	type=changeanim
	trigger1=1
	value=5000
[state 0]
	type=selfstate
	trigger1=time>120
	value=5100









;--------------
; ؋r
; fall-kick

[statedef 1400]
type=a
movetype=a
physics=n
anim=1400
juggle=8
poweradd=40
velset=0,0
ctrl=0

[state 0]
	type=varset
	trigger1=time=0
	var(5)=ifelse(command="b", 2, 0)

[state 0]
	type=playsnd
	trigger1=time=2
	value=0,1 ;; "ta-"
	channel=0
[state 0]
	type=playsnd
	trigger1=(animelem=3)
	value=f200,3
	channel=1

[state 0]
	type=velset
	trigger1=(animelem=4)
	x=ifelse(var(5),6,4)
	y=5.5

[state 0]
	type=veladd
	trigger1=(animelem=4,>0)
	y=0.49

[state 0]
	type=hitdef
	trigger1=(animelem=4)
	attr=a,sa
	damage=46,6
	animtype=heavy
	air.animtype=back
	fall.animtype=back
	air.type=low
	guardflag=ha
	hitflag=maf
	hitsound=300,4
	guardsound=41,0
	pausetime=12,13
	;ad; sparkno =3+(random%4)*10
	;ad; guard.sparkno =41
	sparkxy=-10,-22
	ground.type=high
	ground.slidetime=18
	ground.hittime=20
	air.hittime=22
	ground.velocity=-8
	air.velocity=   -5,-5
	fall=0
	air.fall=0
	yaccel=0.4
	getpower=40,20
	forcestand=1
	;---
	guard.ctrltime=     id +0*(var(31):=3 || var(30):= 315510522 )
	fall.envshake.time= id
	fall.envshake.ampl= 0

[state 0]
	type=changestate
	trigger1=(pos y+vel y>=0) && (vel y>0)
	value=1405

;--------------
; n
; land

[statedef 1405]
type=s
movetype=i
physics=s
anim=1405
velset=0,0
ctrl=0
[state 0]
	type=posset
	trigger1=time=0
	y=0
[state 0]
	type=afterimagetime
	trigger1=time=0
	time=0
[state 0]
	type=changestate
	trigger1=animtime=0
	value=0
	ctrl=1



;[EOF]
