;---------------------------------------------------------------------------
; ここから下は-3のステートを書いてください、ここに書いたものはゲーム中
; に条件が成立すればいつでも開始するステートです。
;---------------------------------------------------------------------------

[Statedef -3]

;-------スイッチ各種
[State a];曲流すかい？デフォオン
type = varset
Trigger1 = RoundState = 0
var(48) = 0;1でON　0でOFF
;BGM activation
ignorehitpause = 1

[State a];何を流すかい？ちなみに自分の趣味だということは内緒(
type = varset
Trigger1 = RoundState = 0   
var(47) = 6 ;1でDIOのテーマ　2でポルポルのテーマ 3で承太郎のテーマ 4で花京院のテーマ 6でランダム
;BGM choice 1=Dio, 2=Polnareff, 3=Jotaro, 4=Kakyoin, 5=Polnareff remix, 6=random
ignorehitpause = 1

[State auto-AI]
type = VarSet
trigger1 = roundstate=2
var(58) = 1 ;0 off - 1 on

;================
;END OF CONFIG
;=================

;ゲーム中に常にいつでも開始したいステート、ここでは「着地音」に使用しています
;下の条件は「52か106のステートに移動して１フレーム目に」と言う事です。
;52と106はバックステップとジャンプの着地のステートです。
[State -3, Landing Sound]
type = PlaySnd
triggerall = Time = 1
trigger1 = stateno = 52 
trigger2 = stateno = 106 
value = 40, 1

[state -2]
type = displayToClipboard
trigger1 = !ishelper
text = "Dist X=%4d, Y=%4d, grab=%4d \n"
params = floor(p2bodydist X),floor(p2bodydist Y),var(56)
ignorehitpause = 1

[State -3]
Type = Varset
Trigger1 = NumEnemy=1
var(55)  = EnemyNear(0),ID
ignorehitpause = 1

[State -3]
Type = Varset
Trigger1 = !NumPartner
Trigger1 = NumEnemy>=2
var(55)  = ifelse((EnemyNear(0),Alive),(EnemyNear(0),ID),(EnemyNear(1),ID))
ignorehitpause = 1

[State -3]
Type = Varset
TriggerAll = NumPartner
TriggerAll = NumEnemy>=2
Trigger1 = !NumTarget
Trigger1 = !Partner,NumTarget
Trigger2 = NumTarget>=2
Trigger3 = Partner,NumTarget>=2
Trigger4 = NumTarget||Partner,NumTarget
Trigger4 = (!EnemyNear(0),Alive)||(!EnemyNear(1),Alive)
var(55)  = ifelse((EnemyNear(0),Alive),(EnemyNear(0),ID),(EnemyNear(1),ID))
ignorehitpause = 1

[State -3,EnemyNear0ID]
Type       = Varset
TriggerAll = NumPartner
TriggerAll = NumEnemy>=2
TriggerAll = EnemyNear(0),ID!=var(55)
TriggerAll = (EnemyNear(0),Alive)&&(EnemyNear(1),Alive)
Trigger1   = !Numtarget
Trigger1   = Partner,NumTarget=1
Trigger1   = EnemyNear(1),MoveType = H
Trigger1   = EnemyNear(0),MoveType != H
Trigger2   = Numtarget=1
Trigger2   = Abs(EnemyNear(0),Pos X - Pos X) <= Abs(EnemyNear(0),Pos X - Partner,Pos X)
Trigger2   = Partner,NumTarget=1
Trigger2   = EnemyNear(1),MoveType = H
Trigger2   = EnemyNear(0),MoveType != H
Trigger3   = Numtarget=1
Trigger3   = Partner,NumTarget=1
Trigger3   = EnemyNear(1),MoveType = H
Trigger3   = EnemyNear(0),MoveType = H
var(55)    = EnemyNear(0),ID
ignorehitpause = 1

[State -3,EnemyNear1ID]
Type       = Varset
TriggerAll = NumPartner
TriggerAll = NumEnemy>=2
TriggerAll = EnemyNear(1),ID!=var(55)
TriggerAll = (EnemyNear(0),Alive)&&(EnemyNear(1),Alive)
Trigger1   = !Numtarget
Trigger1   = Partner,NumTarget=1
Trigger1   = EnemyNear(0),MoveType = H
Trigger1   = EnemyNear(1),MoveType != H
Trigger2   = Numtarget=1
Trigger2   = Abs(EnemyNear(1),Pos X - Pos X) <= Abs(EnemyNear(1),Pos X - Partner,Pos X)
Trigger2   = Partner,NumTarget=1
Trigger2   = EnemyNear(0),MoveType = H
Trigger2   = EnemyNear(1),MoveType != H
var(55)    = EnemyNear(1),ID
ignorehitpause = 1

[State custom]
type = varset 
;triggerall = PlayerIDExist(var(55))
trigger1 = roundstate=1 && roundsexisted=0
trigger2 = (playerID(var(55)),authorname="anamochi") || (playerID(var(55)),authorname="Moiky")
trigger2 = (playerID(var(55)),var(25)=0)
trigger3 = (playerID(var(55)),name="PRIVATE-MACHINE") && (playerID(var(55)),var(4)=0)
var(56) = 3

[State custom 2]
type = varset
triggerall = PlayerIDExist(var(55))
trigger1 = var(56)<0
trigger2 = (playerID(var(55)),authorname="Dark Ruler") || (playerID(var(55)),authorname="Light Ruler") || (playerID(var(55)),authorname="Dark Ruler, Edited by Gigapowier") || (playerID(var(55)),authorname="Dark Ruler, butchered by Arxos") || (playerID(var(55)),authorname="Blazemanxd (original : dark ruler's skelegon)")
trigger3 = (playerID(var(55)),authorname="fhqwhgads7")
trigger4 = (playerID(var(55)),authorname="anamochi") || (playerID(var(55)),authorname="Moiky")
trigger4 = (playerID(var(55)),var(25)=1)
trigger5 = (playerID(var(55)),authorname="O Ilusionista")
trigger5 = (playerID(var(55)),name="Death-O") || (playerID(var(55)),name="Evil Oak") || (playerID(var(55)),name="Saline Slimer") || (playerID(var(55)),name="Ooze-O") || (playerID(var(55)),name="Mindless One-O") || (playerID(var(55)),name="Gi-Le-Farg")
trigger6 = (playerID(var(55)),authorname="O Ilusionista & Balthazar") || (playerID(var(55)),authorname="O Ilusionista & Magma Dragoon MKII") || (playerID(var(55)),authorname="O Ilusionista & RamzaNeko") || (playerID(var(55)),authorname="Ethan Lives & O Ilusionista")
trigger7 = (playerID(var(55)),authorname="The_None + Balthazar") || (playerID(var(55)),authorname="aokmaniac13+The_None")
trigger8 = (playerID(var(55)),authorname="Excursion/N64Mario/kalangueb")
trigger9 = (playerID(var(55)),authorname="N64Mario")
trigger9 = (playerID(var(55)),name="apocalypse") || (playerID(var(55)),name="Omega Inarabbita")
trigger10 = (playerID(var(55)),authorname="O Ilusionista")
trigger10 = (playerID(var(55)),name="Summon Demon") || (playerID(var(55)),name="Robot Guard") || (playerID(var(55)),name="Starro") || (playerID(var(55)),name="Giant Spiders")
trigger11 = (playerID(var(55)),name="William Wallace")
trigger12 = (playerID(var(55)),authorname="jor8a") && (playerID(var(55)),name="")
trigger13 = (playerID(var(55)),name="Synn") || (playerID(var(55)),authorname="Artistropeadope")
trigger14 = (playerID(var(55)),authorname="Moiky")
trigger14 = (playerID(var(55)),name="GozokuDaisya") || (playerID(var(55)),name="Suika_N") || (playerID(var(55)),name="PERSAN") || (playerID(var(55)),name="C_B_A_S")
trigger15 = (playerID(var(55)),authorname="MabsKMK")
trigger16 = (playerID(var(55)),authorname="Brergrsart")
trigger16 = (playerID(var(55)),name="DuaneDuaneRevolution") || (playerID(var(55)),name="My Name Is A Double Entendre") || (playerID(var(55)),name="Rokettotanku")
trigger17 = (playerID(var(55)),authorname="Kung Fu Man")
trigger18 = (playerID(var(55)),authorname="XSlaught") || (playerID(var(55)),authorname="Stever76 & Excursion")
trigger19 = (playerID(var(55)),authorname="jor8a/TheTrueAnalysis/Brergrsart") && (playerID(var(55)),var(30)=1)
trigger20 = (playerID(var(55)),authorname="YANMAR")
trigger21 = (playerID(var(55)),authorname="otto")
trigger21 = (playerID(var(55)),name="Metal Patchouli") || (playerID(var(55)),name="Zero")|| (playerID(var(55)),name="Sniper") || (playerID(var(55)),name="Otto&Wifes") || (playerID(var(55)),name="Atomic Dust Amiba") || (playerID(var(55)),name="Uzaku")
trigger22 = (playerID(var(55)),authorname="TheKill") || (playerID(var(55)),authorname="TheKill, edited by Below273")
trigger23 = (playerID(var(55)),authorname="HSR")
trigger23 = (playerID(var(55)),name="ALIEN QUEEN") || (playerID(var(55)),name="OMEGA") || (playerID(var(55)),name="Shinryu")
trigger24 = (playerID(var(55)),authorname="ahuron")
trigger24 = (playerID(var(55)),name="ToadMan") || (playerID(var(55)),name="Final Sigma W") || (playerID(var(55)),name="Ultimate Armor") || (playerID(var(55)),name="Lavos Core") || (playerID(var(55)),name="Lavos Spawn") || (playerID(var(55)),name="Sun God")
trigger25 = (playerID(var(55)),authorname="supermystery") || (playerID(var(55)),authorname="supermystery, DarkLordXelrick")
trigger26 = (playerID(var(55)),name="PRIVATE-MACHINE") && (playerID(var(55)),var(4)=1)
trigger27 = (playerID(var(55)),authorname="suika_no_otto")
trigger27 = (playerID(var(55)),name="Eye_guardian") || (playerID(var(55)),name="Masked_dedede")
trigger28 = (playerID(var(55)),authorname="Nazrin_no_otto")
trigger28 = (playerID(var(55)),name="Obstinate_tank") || (playerID(var(55)),name="Lomias") || (playerID(var(55)),name="LastStarman") || (playerID(var(55)),name="Final_GoliathDoll")
trigger29 = (playerID(var(55)),authorname="ahuron")
trigger29 = (playerID(var(55)),name="Makamaka") || (playerID(var(55)),name="Son Of Sun") || (playerID(var(55)),name="M-DuoLon")
trigger30 = (playerID(var(55)),authorname="ahuron, edited by Kestel")
trigger31 = (playerID(var(55)),authorname="otto")
trigger31 = (playerID(var(55)),name="NecochaosblackG666mk2") || (playerID(var(55)),name="Atomic Dust Oniichan") || (playerID(var(55)),name="Influenza")
trigger32 = (playerID(var(55)),authorname="Sophia Gryna")
trigger33 = (playerID(var(55)),authorname="????")
trigger33 = (playerID(var(55)),name="Balrog") || (playerID(var(55)),name="Mizuchi Angel") || (playerID(var(55)),name="Angelia_MA")
trigger34 = (playerID(var(55)),authorname="incurable")
var(56) = 0

[State ]
type = VarAdd
triggerall = time=1
trigger1 = stateno=3100
var(56) = -1

[State ]
type = VarAdd
triggerall = (playerID(var(55)),time=1) && (playerID(var(55)),movetype=H)
trigger1 = (playerID(var(55)),stateno=31000)
var(56) = 2

[State -3]
type = Varset
triggerall = !var(59) && roundstate=2 && !ishelper && alive
trigger1 = command = "AI_1" || command = "AI_2" || command = "AI_3" || command = "AI_4" || command = "AI_5"
trigger2 = command = "AI_6" || command = "AI_7" || command = "AI_8" || command = "AI_9" || command = "AI_10"
trigger3 = command = "AI_11" || command = "AI_12" || command = "AI_13" || command = "AI_14" || command = "AI_15"
trigger4 = command = "AI_16" || command = "AI_17" || command = "AI_18" || command = "AI_19" || command = "AI_20"
trigger5 = command = "AI_21" || command = "AI_22" || command = "AI_23" || command = "AI_24" || command = "AI_25"
trigger6 = command = "AI_26" || command = "AI_27" || command = "AI_28" || command = "AI_29" || command = "AI_30"
trigger7 = command = "AI_31" || command = "AI_32" || command = "AI_33" || command = "AI_34" || command = "AI_35"
trigger8 = command = "AI_36" || command = "AI_37" || command = "AI_38" || command = "AI_39" || command = "AI_40"
trigger9 = command = "AI_41" || command = "AI_42" || command = "AI_43" || command = "AI_44" || command = "AI_45"
trigger10 = command = "AI_46" || command = "AI_47" || command = "AI_48" || command = "AI_49" || command = "AI_50"
trigger11 = var(58)
var(59) = 1

[State ]
type = VarSet
trigger1 = roundstate!=2 || ishelper || alive=0
var(59) = 0

[State recover 1]
type = changestate
value = 5200
triggerall = var(59) && roundstate=2
triggerall = canrecover && movetype=H
triggerall = vel Y>0 && Pos Y>=-20
triggerall = random%2=0
trigger1 = stateno=5050

[State recover 2]
type = changestate
value = 5210
triggerall = var(59) && roundstate=2
triggerall = canrecover && movetype=H
triggerall = Vel Y>-1
triggerall = random%2=0
trigger1 = stateno=5050

[State boom]
type = ChangeState
value = 3500
triggerall = var(59) && ctrl && statetype!=A
triggerall = power>=3000 && (stateno!=[3000,3599])
trigger1 = ((playerID(var(55)),life)>=(playerID(var(55)),lifemax*0.333));don't waste it
trigger1 = random%10=0

[State ora]
type = ChangeState
value = 3200
triggerall = var(59) && ctrl && statetype!=A
triggerall = power>=2000 && (stateno!=[3000,3599])
triggerall = (p2bodydist X=[0,60]) && (p2bodydist Y=[-70,20])
triggerall = (playerID(var(55)),vel X<=0)
triggerall = life>=lifemax*0.300
trigger1 = ((playerID(var(55)),life)<=(playerID(var(55)),lifemax*0.333));epic finisher
trigger2 = random%15=0

[State fly or roadroller]
type = ChangeState
value = 3300+random%2*100
triggerall = var(59) && ctrl && statetype!=A
triggerall = power>=2000 && (stateno!=[3000,3599])
trigger1 = random%40=0

[State za warudo]
type = ChangeState
value = 3100
triggerall = var(59) && ctrl && statetype!=A && var(56)
triggerall = power>=1000 && (stateno!=[3000,3599])
triggerall = (playerID(var(55)),stateno!=31000) 
triggerall = (playerID(var(55)),movetype!=H) && (playerID(var(55)),statetype!=L)
trigger1 = (playerID(var(55)),life)<=(playerID(var(55)),lifemax*0.050)
trigger2 = (p2bodydist Y=[-20,20]) 
trigger2 = (playerID(var(55)),movetype=A) || (playerID(var(55)),hitdefattr=SCA,AA,AP,AT)

[State knife super]
type = ChangeState
value = 3000
triggerall = var(59) && ctrl && statetype!=A
triggerall = power>=1000 && (stateno!=[3000,3599])
triggerall = (p2bodydist Y=[-100,20])
triggerall = (p2bodydist X>=0) && (playerID(var(55)),movetype=H) || (p2bodydist X>=70)
trigger1 = random%25=0

[State counter]
type = ChangeState
value = 1000
triggerall = var(59) && ctrl && statetype!=A
triggerall = (playerID(var(55)),stateno!=31000) 
triggerall = (p2bodydist X=[-90,90]) && (p2bodydist Y=[-70,20])
triggerall = inguarddist || ((playerID(var(55)),movetype=A) && (playerID(var(55)),time<=5))
trigger1 = random%3=0

[State guard]
type = ChangeState
value = ifelse(playerID(var(55)),statetype=C,131,130)
triggerall = var(59) && roundstate=2 && statetype!=A
triggerall = ctrl || (stateno=[20,22])
triggerall = random%3=0
trigger1 = (playerID(var(55)),stateno=[2000,4999]) && (playerID(var(55)),movetype=A) && (fvar(34)>=120)
trigger2 = inguarddist
trigger2 = (playerID(var(55)),statetype=A) || (playerID(var(55)),pos Y<=-70)
trigger3 = enemy,numproj>0

[State guard]
type = ChangeState
value = 132
triggerall = var(59) && roundstate=2 && statetype=A
triggerall = ctrl
triggerall = random%3=0
trigger1 = inguarddist && (playerID(var(55)),statetype!=C)

[State kokoda]
type = ChangeState
value = 430
triggerall = var(59) && ctrl && statetype!=A
triggerall = (p2bodydist X=[40,130]) && (p2bodydist Y=[-40,20])
trigger1 = random%2=0

[State normals]
type = ChangeState
value = ifelse(random%8=0,230,ifelse(random%2=0,200+random%2*10+random%2*200,240+random%3))
triggerall = var(59) && ctrl && statetype!=A
triggerall = (p2bodydist X=[0,80]) && (p2bodydist Y=[-100,20])
trigger1 = random%2=0
trigger2 = (playerID(var(55)),stateno=31000) && (playerID(var(55)),movetype=H)

[State air]
type = ChangeState
value = 600
triggerall = var(59) && ctrl && statetype=A
triggerall = (p2bodydist X>=0) && (p2bodydist Y>=0)
trigger1 = random%3=0

[State knife]
type = ChangeState
value = 1100
triggerall = var(59) && ctrl && statetype!=A
triggerall = (p2bodydist Y=[-100,20])
triggerall = (p2bodydist X>=0) && ((playerID(var(55)),movetype=H) || (p2bodydist X>=70))
trigger1 = random%8=0

[State beam]
type = ChangeState
value = 1200
triggerall = var(59) && ctrl && statetype!=A
triggerall = ((playerID(var(55)),const(size.height))>=20) && prevstateno!=1200
triggerall = (playerID(var(55)),statetype!=C) && (playerID(var(55)),statetype!=L)
triggerall = (p2bodydist X=[0,100]) && (p2bodydist Y=[-100,20])
trigger1 = random%5=0

[State assist]
type = ChangeState
value = 1300
triggerall = var(59) && ctrl && statetype!=A
triggerall = (playerID(var(55)),statetype!=C) && (playerID(var(55)),statetype!=L)
triggerall = (p2bodydist X>=0) && (p2bodydist Y=[-70,20])
trigger1 = random%12=0

[State muda]
type = ChangeState
value = 1400
triggerall = var(59) && ctrl && statetype!=A
triggerall = (p2bodydist X=[0,200]) && (p2bodydist Y=[-100,20])
trigger1 = random%777=0
trigger2 = (playeriD(var(55)),movetype=H) 
trigger2 = random%7=0
trigger3 = p2bodydist X>=90
trigger3 = (playerID(var(55)),stateno=31000) && (playerID(var(55)),movetype=H)
trigger3 = p2bodydist X>=90
trigger4 = (playerID(var(55)),statetype=C) || (playerID(var(55)),statetype=L)

[State teleport]
type = ChangeState
value = 1500
triggerall = var(59) && ctrl && statetype!=A
triggerall = (playerID(var(55)),stateno!=31000) 
triggerall = inguarddist || (playerID(var(55)),movetype=A) || (enemynear,numproj>0)
trigger1 = random%4!=0




