;config
[statedef 20000]
type = S
movetype = I 
physics = N
anim = 20006
ctrl = 0
velset = 0,0

;-------------------------------------------------------------------------------------------------------
[state 20000];火力調整 Attack
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(54) = 100 ;<----ここを変更 Change this


;100で普通の攻撃力。要はcnsのattackだと思ってくれて差し支えありません。
;Original attack parameter is 100 .


;-------------------------------------------------------------------------------------------------------
[state 20000];簡易コマンド Easy command mode
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(56) = 0   ;<----- 0 : off
;                     1 : on

;簡易コマンドモードは半円コマンド×2(4123641236)が4分の1円コマンド×2(236236)になります。
;なんでこんなのがあるかって？私が2P側で安定して半円×2を出せないからです(笑)
;If Easy command mode is on , double half circle command(4123641236) will change double quater circle command(236236).




;-------------------------------------------------------------------------------------------------------
[state 20000];リコイル停止時間 Recoil Guard Pause Time
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(57) = 20  ;<---- 2 - 22の間でどうぞ   From 2 to 22 (dimension is tips)



;
-------------------------------------------------------------------------------------------------------
[state 20000];逆根性値  Fewer the rest of Enemy's life is , Lower own attack is.
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(58) = 1  ;<---- 0 : OFF
;                   1 : ON


;EFZキャラの逆根性値はよほどのことがない限りONにしておきましょう。
;特にこの子の場合は逆根性値無しだと、defence 100で根性値無しの相手に13割コンボまでは確認していますので。
;ある程度、根性値持ちには対応しております。少し下の方に一覧を書いておきました。


;-------------------------------------------------------------------------------------------------------
[state 20000];火の粉エフェクトの最大explod数  Max Number of Explods of Fire Spark Effect.
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(59) = 2  ;<---- 0 :15
;                   1 :55
;                   2 :80
;                   3 :130
;                   4 :250(RF紅蓮竹刀、乙女桜時のみ)

;備考：正直なところエフェクトは1で十分ですが、火の粉を派手にしたい方はお好きな数値でどうぞ。





;-------------------------------------------------------------------------------------------------------
[state 20000];岩(石)エフェクト  Small Rock effect Lv.
type = varset
ignorehitpause = 1
trigger1 = time = 0
var(55) = 2  ;<---- 0 :転がる岩が出ない(No Small Rock)
;                   1 :徐々に消えるエフェクトがかからない(No add alpha)
;                   2 :普通 (Normal)

;私のPCだとRF爆砕鉄拳時に大量の岩が出るとカクカクになるので一応用意しました。
;まぁ足元転がる岩というか石は飾りなのでなくてもいいかも。たぶん1にするぐらいなら0の方が見栄え的にいいかも。


;=============================================
;コンフィグ終わり END CONFIG
;=============================================

;根性値持ち対応済みキャラ一覧(現在57キャラ)

;[EFZ]
;馬の骨    七瀬
;hanma氏   長森、観鈴、UNK
;586氏     制服名雪、佐祐理、美凪、みさき、茜、佳乃、観鈴、神奈、あゆ、舞、UNK、繭、美汐、真琴
;漆黒氏    あゆ
;ふるれ氏  名雪、香里、EFZ文、EFZ衣久
;BF氏      真琴、繭

;[東方]
;とま氏   パチェ、魔理沙
;Nachel氏 霊夢、レミ

;[GG]
;無敵医師氏 ソル、カイ、ポチョ、チップ、ジョニー、梅喧、ミリア、ジャム、メイ、スレイヤー、アクセル、ヴェノム、イノ
            ディズィー、アバ、ブリジット、エディ、ファウスト、テスタメント、クリフ、ジャスティス
            
;[アルカナハート]
;Ina氏   はぁと、冴姫、リリカ、ゼニア、ペトラ、神威、ミルドレッド

;[その他]
;ゆ〜とはる氏  初音ミク


;---------------------------------------------------------------------;
;     ここから下はいじらないで    Don't change states under here      ;
;---------------------------------------------------------------------;


























































;----------------------------------------------------------------------------
;実はコンフィグという名のいたるさんの待機用ステートなのでした、変更しないでね
;----------------------------------------------------------------------------
[state 20000];親の変数確定
type = parentvarset
trigger1 = time = 1
var(27) = var(56)
ignorehitpause = 1

[state 20000];親の変数確定
type = parentvarset
trigger1 = time = 1
var(29) = var(57) + 100*var(58) + 1000*var(59)
ignorehitpause = 1

[state 20000];親の変数確定
type = parentvarset
trigger1 = time = 1
fvar(12) = 0.01*var(54)
ignorehitpause = 1

[state 20000]
type = selfstate
trigger1 = !ishelper
value = 0

[state 20000]
type = varset
trigger1 = var(0)
var(0) = 0

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

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

[state 20002]
type = velset
trigger1 = rootdist x = [-15,85]
trigger1 = abs(vel x) > 1.2
x = 0.975*vel x

[state 20002]
type = velset
trigger1 = rootdist x = [-15,85]
trigger1 = abs(vel x) <= 1.2
x = 0

[state 20002]
type = velset
trigger1 = rootdist x > 95
x = 2.5

[state 20002]
type = velset
trigger1 = rootdist x < -40
x = -2.5

[state 20002]
type = turn
trigger1 = facing != root,facing

[state 20002]
type = changestate
trigger1 = root,stateno = 1200 || root,stateno = 1204 || root,stateno = 1207
trigger2 = root,stateno = 3101 || root,stateno = 3103 || root,stateno = 3105
trigger2 = numhelper(1250)
value = 20002

[state 20002]
type = changestate
trigger1 = root,stateno = 1202 || root,stateno = 1205 || root,stateno = 1208
value = 20003

[state 20002]
type = changestate
trigger1 = numhelper(1250)
trigger1 = helper(1250),stateno = 25000
trigger1 = roundstate = 2 || parent,stateno != 170
value = 20010

[state 20002]
type = changestate
trigger1 = root,stateno = 181
value = 20004
;---------------------------------------------------------------------------
;出現
[statedef 20001]
type = S
movetype = I
physics = N
anim = 20000
ctrl = 0

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

[state 20000]
type = posset
trigger1 = time = 0
y = 0
ignorehitpause = 1

[state 20001]
type = changeanim
trigger1 = anim = 20000
trigger1 = animtime = 0
value = 20001

[state 20001]
type = velset
trigger1 = anim = 20001
x = 1 
y = -7
persistent = 0

[state 20001]
type = veladd
trigger1 = anim = 20001
trigger1 = time > 0
y = 0.40

[state 20001]
type = changestate
trigger1 = anim = 20001
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 20000

;----------------------------------------------------------------------
;小ジャンプ
[statedef 20002]
type = A
movetype = I 
physics = N
anim = 20001
ctrl = 0
velset = 2 , -4

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1


[state 20001]
type = velset
trigger1 = frontedgebodydist < 5
x = 0

[state 20001]
type = veladd
trigger1 = time > 0
y = 0.40

[state 20001]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 20003

;-----------------------------------------------------------------------
;走る
[statedef 20003]
type = A
movetype = I 
physics = N
anim = 20003
ctrl = 0
velset = 10 , 0

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

[state 20000]
type = turn
trigger1 = numhelper(1250)
trigger1 = helper(1250),stateno = 1250 || helper(1250),stateno = 1260
trigger1 = facing != helper(1250),facing
trigger1 = fvar(0) + 3*(helper(1250),pos y / helper(1250),vel y) < 0

trigger2 = numhelper(3152)
trigger2 = facing*(helper(3152),pos x - pos x) < -50

[state 20000]
type = velset
trigger1 = frontedgebodydist > 10
x = 10

[state 20000]
type = velset
trigger1 = frontedgebodydist < 5
x = 0

[state 20003]
type = changestate
trigger1 = numhelper(1280)
trigger1 = helper(1280),time > 3
trigger1 = facing*(helper(1280),pos x - pos x) < 50

trigger2 = numhelper(1281)
trigger2 = helper(1281),time > 7
trigger2 = facing*(helper(1281),pos x - pos x) < 50

trigger3 = numhelper(1282)
trigger3 = helper(1282),time > 11
trigger3 = facing*(helper(1282),pos x - pos x) < 50

trigger4 = numhelper(1283)
trigger4 = helper(1283),time > 15
trigger4 = facing*(helper(1283),pos x - pos x) < 50

trigger5 = numhelper(3152)
trigger5 = abs(helper(3152),pos x - pos x) < 50
value = 20005

[state 20003]
type = changestate
trigger1 = time > 125
trigger2 = !numhelper(1250)
trigger2 = root,movetype != A
value = 20000

[state 20003]
type = changestate
trigger1 = numhelper(1250)
trigger1 = helper(1250),stateno = 25000 || helper(1250),stateno = 25001
value = 20010
;------------------------------------------------------------------
;消える前のジャンプ
[statedef 20004]
type = A
movetype = I 
physics = N
anim = 20001
ctrl = 0
velset = 1 , -7

[state 20004]
type = changestate
trigger1 = root,stateno != 181
value = 20000

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

[state 20001]
type = veladd
trigger1 = anim = 20001
trigger1 = time > 0
y = 0.40

[state 20001]
type = changeanim
trigger1 = vel y > 0
trigger1 = pos y > 0
trigger1 = anim!=20002
value = 20002

[state 20001]
type = velset
trigger1 = anim = 20002
x = 0
y = 0

[state 20001]
type = posset
trigger1 = anim = 20002
y = 0

[state 20001]
type = assertspecial
trigger1 = anim = 20002
trigger1 = animelemno(0) = 3
flag = invisible

;----------------------------------------------------------------------
;吹っ飛ぶ
[statedef 20005]
type = A
movetype = I
physics = N
anim = 20005
ctrl = 0
velset = -3, -22

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

[State 9015]
type = PalFX
trigger1 = Time >= 0
time = 40
mul = 250,100,0
add = 128,128,128
sinadd = 103,110,128,10
color = 0
invertall = 1
persistent = 0

[State 5656]
type = AngleAdd
trigger1 = 1
value = 30

[State 5656]
type = AngleDraw
trigger1 = 1

[state 20005]
type = veladd
trigger1 = 1
y = 0.10

[state 20005]
type = changestate
trigger1 = screenpos y < -40
value = 20006

[state 20005]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 20000

;------------------------------------------------------------
;空中で待機
[statedef 20006]
type = A
movetype = I
ctrl = 0
velset = 0,0

[state 20006]
type = turn
trigger1 = numhelper(1250)
trigger1 = facing != helper(1250),facing

[state 20006]
type = posset
trigger1 = numhelper(1250)
x = helper(1250),pos x

[state 20006]
type = posadd
trigger1 = screenpos y > -40
y = -10

[state 20006]
type = posadd
trigger1 = screenpos y < -60
y = 10

[state 20006]
type = changestate
triggerall = random < 333
trigger1 = root,stateno = 950
trigger2 = !numhelper(1250)
value = 20001

[state 20006]
type = changestate
trigger1 = root,stateno = 950
trigger2 = !numhelper(1250)
value = 20007

;------------------------------------------------------------
;落下
[statedef 20007]
type = A
movetype = I
ctrl = 0
velset = 0,20

[state 20005]
type = veladd
trigger1 = 1
y = 0.40

[state 20005]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 20000



;-----------------------------------------------------------------------------
;本体やられ時の竹刀回収
[statedef 20010]
type = S
movetype = I
physics = N
ctrl = 0
anim = 20003

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

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

[state 20010]
type = velset
trigger1 = 1
x = 6

[state 20010]
type = turn
trigger1 = numhelper(1250)
trigger1 = fvar(0) < -50

[state 20010]
type = varset
trigger1 = numhelper(1250)
trigger1 = helper(1250),stateno = 25000 || helper(1250),stateno = 25001
trigger1 = helper(1250),vel y >= 0
trigger1 = helper(1250),time > 1
trigger1 = abs(fvar(0)) < 30
trigger1 = helper(1250),pos y > -30
var(0) = 1

[state 20010]
type = changestate
trigger1 = var(0)
value = 20011

[state 20010]
type = changestate
trigger1 = !numhelper(1250)
value = 20000

;----------------------------------------------
;竹刀保持
[statedef 20011]
type = S
movetype = I
physics = N
ctrl = 0
anim = 20003

;helper(1250),dist set (x = fvar(0) y = fvar(1))
[state 20002]
type = null
triggerall = numhelper(1250)
trigger1 = gametime%1=0
trigger1 = fvar(0) := facing*(helper(1250),pos x - pos x)
trigger2 = gametime%1=0
trigger2 = fvar(1) := helper(1250),pos y - pos y
ignorehitpause = 1

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

[state 20010]
type = velset
trigger1 = 1
x = 5

[state 20010]
type = turn
trigger1 = rootdist x < -150
trigger2 = frontedgedist < 5


[state 20010]
type = changestate
triggerall = root,var(26) = gametime
triggerall = root,var(59) = 0
trigger1 = root,ctrl = 1 || root,stateno = [100,162]
trigger1 = root,command = "x"
trigger2 = root,stateno = 5200 || root,stateno = 5210 || root,stateno = 5120
value = 20012

[state 20010];For AI
type = changestate
triggerall = root,var(26) = gametime
triggerall = root,var(59)
trigger1 = root,numtarget = 0
trigger1 = root,ctrl = 1 || root,stateno = [100,162]
trigger2 = root,stateno = 5200 || root,stateno = 5210 || root,stateno = 5120
value = 20012

[state 20010]
type = changestate
trigger1 = !numhelper(1250)
value = 20000

;------------------------------------------------
;竹刀ぶん投げ
[statedef 20012]
type = S
movetype = I
physics = N
ctrl = 0
velset = 0,0
anim = 20004

[state 20012]
type = turn
trigger1 = time = 0
trigger1 = rootdist x < 0

[state 20012]
type = varset
trigger1 = animelem = 2
var(0) = 2

[state 20012]
type = changestate
trigger1 = animtime = 0
value = 20000





















;-------------------------
;竹刀(特殊制御)
;-------------------------
[statedef 25000]
type = A
movetype = I
physics = N
ctrl = 0
anim = 8001
velset = 0 , -8

[state 25000]
type = veladd
trigger1 = 1
y = 0.20

[state 25001]
type = changestate
trigger1 = numhelper(20000)
trigger1 = helper(20000),var(0) = 1
value = 25002

[state 25000]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 25001


;-------------------------------------------
;地面に刺さる
[statedef 25001]
type = S
movetype = I
physics = N
ctrl = 0
anim = 9000
velset = 0,0

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

[state 25001]
type = changestate
trigger1 = numhelper(20000)
trigger1 = helper(20000),var(0)
value = 25002

[state 1270]
type = destroyself
trigger1 = root,stateno= 950

;-------------------------------------------
;いたるさん保持
[statedef 25002]
type = A
movetype = I
physics = N
ctrl = 0
anim = 9000
velset = 0 , 0
sprpriority = 0

[state 25000]
type = turn
trigger1 = facing != helper(20000),facing

[state 25000]
type = posset
trigger1 = numhelper(20000)
x = helper(20000),pos x
y = helper(20000),pos y - 30

[state 25000]
type = changestate
trigger1 = vel y > 0
trigger1 = pos y > 0
value = 1270

[state 25002]
type = changestate
trigger1 = numhelper(20000)
trigger1 = helper(20000),var(0) = 2
value = 25003

;---------------------------------------------
;七瀬に向かってGO
[statedef 25003]
type = A
movetype = I
physics = N
ctrl = 0
anim = 8001

[state 25003]
type = velset
trigger1 = time%10=0
x = ifelse(abs(rootdist x) < 200 , 0.1*rootdist x , 20)
y = 0.1*rootdist y

[state 25003]
type = Playsnd
trigger1 = rootdist x = [-35,35]
trigger1 = rootdist y = [0 , 70]
value = S800,0
persistent = 0

[state 25003]
type = destroyself
trigger1 = rootdist x = [-35,35]
trigger1 = rootdist y = [0 , 70]
trigger2 = time > 80