;========================================================================================================================================================================================================================================================================================================================================================================================================================
; AI Config
;========================================================================================================================================================================================================================================================================================================================================================================================================================

;---------------------------------------------------------------------------
;Ignore the stuff between these two lines please
[StateDef 9740]
type = A
movetype = I
physics = N
anim = 20000 ; Blank State
ctrl = 0

[State 9740, BindToRoot]
type = BindToRoot
trigger1 = PlayerIdExist(Root,ID)
facing = 1
pos =0,0
ignorehitpause = 1 

[State 9740, HitBy]
type = HitBy
trigger1 = 1
value = 

;---------------------------------------------------------------------------
;Here we are!
;Configuration
;The values that are configurable here are ones that will look like this (#)
;Change the Value inside to the ranges listed

[State 9740]
type = VarSet
trigger1 = 1
;AI Level
var(59) = (10)
;Ranges from 1-10

[State 9740]
type = VarSet
trigger1 = 1
;AI Quick Getup
var(2) = (1)
;0 - Off
;1 - On

[State 9740]
type = VarSet
trigger1 = 1
;Advanced Guard Random Chance
var(45) = (800)
;Ranges from 1-999

;====================================
;AI Combo Settings
;====================================

[State 9740]
type = VarSet
trigger1 = 1
;Rate of Using Risky shooting star guard attempt
var(4) = (25)
;Ranges from 1-100 and Multiplied by AI level
;After a stand off 2b or 2c Pol will have a chance to use shooting star to setup a potential unblockable.
;This is very risky as it resets both Pol and the opponent to neutral

[State 9740]
type = VarSet
trigger1 = 1
;Number of Stand Off BnB loops
var(5) = (2)
;Any number works
;Controls how much Pol goes for his bread and Butter
;That being 46x combos

[State 9740]
type = VarSet
trigger1 = 1
;Rate of Using tandem after Stand On 214x
var(6) = (50)
;Ranges from 1-100 and Multiplied by AI level
;Alternate meter usage as opposed to Armor Take Off
;Similar to that this is strictly a combo ender due to the damage scaling

[State 9740]
type = VarSet
trigger1 = 1
;Rate of Using Shooting Star Tandem Route
var(7) = (50)
;Ranges from 1-100 and Multiplied by AI level
;Alternate but goofy AF Tandem Route taken from Ceekos's Pol vs BPol TAS Video
;Involves Silver Chariot messing around, maybe hitting the opponent while Pol does all the work.

;========================================================================================================================================================================================================================================================================================================================================================================================================================
; Config End
;========================================================================================================================================================================================================================================================================================================================================================================================================================













;AI Stored Variables


;AI Switch Time

[State -1, Switch Time Knowledge]
type = VarSet
trigger1 = root,stateno = [10900,10901]
trigger2 = root,stateno = [10910,10911]
var(40) = 150

[State -1, Time Go Down]
type = VarAdd
trigger1 = var(40) > 0
var(40) = -1

[State -1, Remove Time]
type = VarSet
trigger1 = root,statetype = L
trigger2 = var(40) < 0
var(40) = 0

[State -1, Time in Stand Off]
type = VarAdd
trigger1 = !root,var(0)
var(41) = 1

[State -1, Time in Stand On]
type = VarAdd
trigger1 = root,var(0)
var(42) = 1

[State -1, Reset]
type = VarSet
trigger1 = root,var(0)
var(41) = 0

[State -1, Reset]
type = VarSet
trigger1 = !root,var(0)
var(42) = 0

;AI Record time if aerial opponent is near

[State -1, Time Add]
type = VarAdd
triggerall = root,p2bodydist X<= 60
trigger1 = enemynear(root,var(57)), statetype = A
var(35) = 1

[State -1, Time End]
type = VarSet
trigger1 = root,p2bodydist X> 60
trigger2 = enemynear(root,var(57)), statetype != A
var(35) = 0


[Statedef 2280 - Sleep]
type = C
movetype = H
physics = C
ctrl = 0
velset = 0,0

[state 0]
type = powerset
trigger1= 1
value = 0

[State 0, hitby]
type = hitby
trigger1 = 1
value = SCA,AA,AP,AT

[State 0, pos]
type = posset
trigger1 = !time
y = 0

[State 0, end]
type = changestate
trigger1 = IsHelper
value = 2281

[State 0, anim]
type = changeanim
trigger1 = !time
value = 5110

[State 0, state]
type = statetypeset
trigger1 = time = 1
movetype = I

[State 0, end]
type = selfstate
trigger1 = time > 320
trigger2 = roundstate != 2 && time > 60
value = 5120

[Statedef 9999 - Dart'd Limiter]
type = A
movetype = H
physics = N
ctrl = 0
velset = 0,0
sprpriority = 2
anim = 1251199

[State 0, nhb]
type = nothitby
trigger1 = 1
value = SCA

[State 0, screen]
type = screenbound
trigger1 = 1
value = 0

[State 0, push]
type = playerpush
trigger1 = 1
value = 0

[State 0, anim2]
type = destroyself
trigger1 = numenemy = 1
trigger1 = enemynear,movetype != H
trigger2 = numenemy = 2
trigger2 = enemy(0),movetype != H
trigger2 = enemy(1),movetype != H
trigger3 = root,movetype = H
 
[Statedef 810 - Throw P2]
type = A
movetype = H
physics = N
ctrl = 0
velset = 0,0
sprpriority = 2

[State 0, nhb]
type = nothitby
trigger1 = 1
value = SCA

[State 0, screen]
type = screenbound
trigger1 = 1
value = 0

[State 0, push]
type = playerpush
trigger1 = 1
value = 0

[State 0, anim2]
type = changeanim2
trigger1 = !time
value = 810
 
[Statedef 811]
type = A
movetype = H
physics = N
ctrl = 0
velset = -0.6,-4.8

[State 0, vel]
type = veladd
trigger1 = 1
y = .2

[State 0, nhb]
type = nothitby
trigger1 = 1
value = SCA

[State 0, pos]
type = posset
trigger1 = !time
y = 0

[State 0, anim]
type = changeanim
trigger1 = !time
value = 5030

[State 0, anim]
type = changeanim
trigger1 = anim = 5030
trigger1 = !animtime;vel y > 0
value = 5050

[State 5040, 5] ;Recover near ground
type = SelfState
triggerall = time >= 25
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 5040, 6]; Recover in mid air
type = SelfState
triggerall = time >= 25
triggerall = Vel Y > -1
trigger1 = alive
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 0, self]
type = SelfState
trigger1 = pos y >= 0
trigger1 = vel y > 0
value = 5100

[Statedef 830]
type = A
movetype = I
physics = N
velset = -3,-6

[State 0, pos]
type = posset
trigger1 = !time
y = 0

[State 0, anim]
type = changeanim
trigger1 = !time
value = 5210

[State 0, nhb]
type = nothitby
trigger1 = 1
value = SCA

[State 0, vel]
type = veladd
trigger1 = 1
y = .45

[State 0, end]
type = selfstate
trigger1 = vel y > 0
trigger1 = pos y >= 0
value = 52
ctrl = 1

;===========================================================================
; config
;===========================================================================

[Statedef 7525]
ctrl = 0
anim = 20000

;===========================================================================
;[on   ̎      A   ̗L  ]
;===========================================================================
;  g ̎d l ύX ifvar(6) =        l  ύX   Ă        j
[state 0, var]
type = parentvarset
trigger1 = 1
fvar(6) = 0

;0 ̏ꍇ     g   s \(   肪 R   i Q [(    ܂ ) d l ̏ꍇ     )
;1 ̏ꍇ     g   \

;===========================================================================
;[ X ^   h Q [ W ʒu    ]
;===========================================================================
; 蓮    :     ivar(4) =        l  ύX   Ă        j
[state 0, var]
type = parentvarset
trigger1 = 1
var(4) = 0
;===========================================================================
; 蓮    : c   ivar(5) =        l  ύX   Ă        j
[state 0, var]
type = parentvarset
trigger1 = 1
var(5) = 0
;---------------------------------------------------------------------------
;        : c   i p [ g i [ ̃X ^   h Q [ W Əd Ȃ ꍇ     œ      ܂  j
; K v Ȃ  ꍇ   2 i ڂ "trigger1 =   " ̐  l  ύX   Ă        1:ON/0:OFF
[state 0, var]
type = parentvarset
trigger1 = root,var(55)
trigger1 = 1
var(5) = 18

;===========================================================================
[State 0, end]
type = DestroySelf
trigger1 = 1
;---------------------------------------------------------------------------
[state 0, var];    W   W        
type = parentvarset
trigger1 = p2name = "dio" || p2name = "final dio" || p2name = "vanillaice" || p2name = "Jotaro Kujo" || p2name = "blackpolnareff" || p2name = "shadow dio" || p2name = "Shadow dio"
trigger2 = p2name = "Polnareff" || p2name = "kakyoin" || p2name = "avdul" || p2name = "Jotaro"
trigger3 = p2name = "joseph" || p2name = "Hol horse" || p2name = "Hol horse & Boingo" || p2name = "death13"
trigger4 = p2name = "Giorno" || p2name = "Fugo" || p2name = "mista" || p2name = "trish una"
trigger5 = p2name = "hirose koiti" || p2name = "killa yoshikage" || p2name = "zeppeli" || p2name = "Ghiaccio" || p2name = "prosciutto_aniki"
trigger6 = p2name = "Requiem Giorno" || p2name = "leone abbacchio" || p2name = "jonathan"
trigger7 = p2name = "Petshop" || p2name = "maraiah" || p2name = "iggy"
trigger8 = p2name = "DIO BRANDO" || p2name = "alessi" || p2name = "Bruno" || p2name = "yoshikage"
trigger9 = p2name = "chaka" || p2name = "devo" || p2name ="Joseph Joestar" || p2name = "kakyoin2" 
trigger10 = p2name = "Rubber Soul" || p2name = "khan" || p2name = "Midler" || p2name = "MIDLER"
trigger11 = p2name = "Caesar Anthonio Zeppeli" || p2name = "josuke" || p2name = "Emporio" || p2name = "ENIGMA"
trigger12 = p2name = "blackmore" || p2name = "American idiot" || p2name = "Young Joseph"
trigger13 = p4name = "enya" || p4name = "cameo" || p4name = "diavolo" || p2name = "1st DIO" || p2name = "Steely Dan"
fvar(6) = 1
[state 0, var];    W   W        2
type = parentvarset
trigger1 = p4name = "dio" || p4name = "final dio" || p4name = "vanillaice" || p4name = "Jotaro Kujo" || p4name = "blackpolnareff" || p4name = "shadow dio" || p4name = "Shadow dio"
trigger2 = p4name = "Polnareff" || p4name = "kakyoin" || p4name = "avdul" || p4name = "Jotaro"
trigger3 = p4name = "joseph" || p4name = "Hol horse" || p4name = "Hol horse & Boingo" || p4name = "death13"
trigger4 = p4name = "Giorno" || p4name = "Fugo" || p4name = "mista" || p4name = "trish una"
trigger5 = p4name = "hirose koiti" || p4name = "killa yoshikage" || p4name = "zeppeli" || p4name = "Ghiaccio" || p2name = "prosciutto_aniki"
trigger6 = p4name = "Requiem Giorno" || p4name = "leone abbacchio" || p4name = "jonathan"
trigger7 = p4name = "Petshop" || p4name = "maraiah" || p4name = "iggy"
trigger8 = p4name = "DIO BRANDO" || p4name = "alessi" || p4name = "Bruno" || p2name = "yoshikage"
trigger9 = p4name = "chaka" || p4name = "devo" || p4name ="Joseph Joestar" || p4name = "kakyoin2" 
trigger10 = p4name = "Rubber Soul" || p4name = "khan" || p4name = "Midler" || p4name = "MIDLER"
trigger11 = p4name = "Caesar Anthonio Zeppeli" || p4name = "josuke" || p4name = "Emporio" || p2name = "ENIGMA"
trigger12 = p4name = "blackmore" || p4name = "American idiot" || p4name = "Young Joseph"
trigger13 = p4name = "enya" || p4name = "cameo" || p4name = "diavolo" || p2name = "1st DIO" || p2name = "Steely Dan"
fvar(6) = 1

;===========================================================================
[State 0, end]
type = DestroySelf
trigger1 = 1
;---------------------------------------------------------------------------
;===========================================================================

;===========================================================================
[Statedef 9105]
ctrl = 0
anim = 20000

;[ \  ON/OFF]
;===========================================================================
; uWIN v \  ON/OFF ivar(0) =        l  ύX   Ă        @1  ON A0  OFF ł  j
[state 0, var]
type = parentvarset
trigger1 = 1
var(0) = 1
;---------------------------------------------------------------------------
; uTo Be Continued... v \  ON/OFF ivar(1) =        l  ύX   Ă        @1  ON A0  OFF ł  j
[state 0, var]
type = parentvarset
trigger1 = 1
var(1) = 1
;===========================================================================
; ݒ ͂    ܂łł 

;===========================================================================
[State 0, end]
type = DestroySelf
trigger1 = 1
;---------------------------------------------------------------------------
;===========================================================================
