;/// 高レベルAI制御システム(SBAI)管理 /////////////////////////////////////////
;行動パターン制御==============================================================
[State IM,EID]
type=Null
triggerall=NumHelper(1)
triggerall=helper(1),TeamSide=root,TeamSide
trigger1=helper(1),Var(13)<0
trigger1=PlayerIDExist(-helper(1),Var(13))
trigger1=1||var(1):= -helper(1),Var(13)
trigger2=PlayerIDExist(helper(1),Var(13)&32767)
trigger2=1||var(1):= (helper(1),Var(13)&32767)
trigger3=PlayerIDExist((helper(1),Var(13)&2147450880)/32768)
trigger3=1||var(1):= (helper(1),Var(13)&2147450880)/32768
trigger4=1||var(1):= 0
IgnoreHitPause=1
[State IM,SBAI_R-Reset]
type=VarSet
trigger1=(Var(42)&15)=6 && Random < 300
trigger1=NumHelper(1710) > 1 || Power < 1000 || (LifeMax-(-sysfvar(1)*0.558)) < LifeMax/3
var(42)=(Var(42)|15)-15
IgnoreHitPause=1
;リーダー----------------------------------------------------------------------
[State IM,SBAI_R-Short]
type=VarSet
triggerall=Random < ((Var(57)&15)/1)*66.67
triggerall=(!Ctrl || (Var(56)&48)/16=2)&& NumEnemy
triggerall=(Var(42)&15) !=1 && !(((Var(42)&15)=[2,3]) && enemy,Life < enemy,LifeMax-10)
trigger1=PlayerIDExist(Var(1))
trigger1=playerID(var(1)),Life > 3*(playerID(var(1)),LifeMax /5)
trigger2=(Var(42)&15) != [1,8]
trigger3=(Var(42)&15) =4 && (LifeMax-(-sysfvar(1)*0.558)) > 4*LifeMax/5
var(42)=(Var(42)|15)-14
IgnoreHitPause=1
[State IM,SBAI_R-Long]
type=VarSet
triggerall=Random < floor(((Var(57)&240)/16)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16=2)&& NumEnemy
triggerall=(Var(44)&7864320)/524288 <11 && (Var(42)&15) !=2 && !((var(42)=3) && enemy,Life < enemy,LifeMax-10)
trigger1=PlayerIDExist(Var(1))
trigger1=playerID(var(1)),Life < 3*(playerID(var(1)),LifeMax /5)
trigger1=helper(1),Life >= helper(1),LifeMax /4
trigger2=helper(1),Life < helper(1),LifeMax /2
trigger3=(Var(44)&7864320)/524288 >= 7
trigger4=root,var(48) >= 1800 && (enemy,Life >= 9*enemy,LifeMax/10 || enemy(1),Life >= 9*enemy(1),LifeMax/10) && (Var(42)&15)=1
trigger5=NumHelper(6000003) && (Var(42)&15)=1
trigger6=!(Var(42)&15)
var(42)=(Var(42)|15)-13
IgnoreHitPause=1
[State IM,SBAI_R-Highper]
type=VarSet
triggerall=Random < floor(((Var(57)&3840)/256)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16 =2)&& NumEnemy && (Var(42)&15) != 3
trigger1=PlayerIDExist(Var(1))
trigger1=playerID(var(1)),Life < (playerID(var(1)),LifeMax /4)
trigger2=(Var(44)&7864320)/524288 >= 11 || helper(1),Life < 75
trigger3=root,var(48) >= 3600 && (enemy,Life >= 3*enemy,LifeMax/4 || enemy(1),Life >= 3*enemy(1),LifeMax/4) && (Var(42)&15)=1
trigger4=(Var(11)&3840)/256=10 && fvar(11) > 600
trigger5=!(Var(42)&15)
var(42)=(Var(42)|15)-12
IgnoreHitPause=1
[State IM,SBAI_R-Defend]
type=VarSet
triggerall=Random < floor(((Var(57)&61440)/4096)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16 =2)&& (Var(42)&15) != 4
trigger1=PlayerIDExist(Var(1))
trigger1=playerID(var(1)),MoveType != H || Random < 200
trigger1=(-sysfvar(1)*0.558) <= 3*LifeMax /5 && Random < 1000.*((LifeMax-(-sysfvar(1)*0.558))/LifeMax)
trigger2=!(Var(42)&15)
var(42)=(Var(42)|15)-11
IgnoreHitPause=1
[State IM,SBAI_R-Support]
type=VarSet
triggerall=Random < floor(((Var(57)&983040)/65536)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16 =2)&& NumPartner
triggerall=partner,Alive && (Var(44)&7864320)/524288 <11 && (Var(42)&15) != [4,5]
trigger1=partner,Life <= partner,LifeMax /3
trigger2=partner,MoveType=H && (Random < 10 || partner,GetHitVar(hitcount) > 35) && helper(1),MoveType != H
trigger3=!(Var(42)&15)
var(42)=(Var(42)|15)-10
IgnoreHitPause=1
[State IM,SBAI_R-Disturb]
type=VarSet
triggerall=Random < floor(((Var(57)&15728640)/1048576)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16=2)&& (Var(42)&15) !=6 && NumHelper(1)
triggerall=(helper(1),MoveType != A) && (helper(1),StateType != A)
trigger1=PlayerIDExist(var(1)) && Random < 100
trigger1=enemy,Power >= floor(PowerMax*99/100) && playerID(var(1)),Life >= floor(playerID(var(1)),LifeMax *9/10)
;trigger2=Power >= PowerMax && Random < 50 && (LifeMax-(-sysfvar(1)*0.558)) > LifeMax*3/4 || !NumHelper(1710) && Random < 200
var(42)=(Var(42)|15)-9
IgnoreHitPause=1
[State IM,SBAI_R-Atrocious]
type=VarSet
triggerall=Random < floor(((Var(57)&251658240)/16777216)*66.67)
triggerall=(!Ctrl || (Var(56)&48)/16 =2)&& (Var(42)&15) != 8 && floor(fvar(10)) >200
trigger1=(Var(11)&3840)/256 >= 12
trigger1=(Var(42)&15) != [5,9]
trigger2=!(Var(42)&15)
var(42)=(Var(42)|15)-8
IgnoreHitPause=1
[state IM,HAIClr]
type=VarSet
triggerall=(Var(42)&15)
trigger1=(RoundState != [1,3]) || (Ctrl && (Var(56)&48)/16 !=2)
var(42)=(Var(42)|15)-15
IgnoreHitPause=1
[state IM,HAIClr]
type=VarSet
triggerall=(var(42)&240)/16 != ifelse((NumHelper(2)&&helper(2),var(59)||NumHelper(3)),1,0)
trigger1=RoundState=[1,3]
var(42)=(Var(42)|240)-240+ifelse((NumHelper(2)&&helper(2),var(59)||NumHelper(3)),16,0)
IgnoreHitPause=1