;----------------------------------------------------
; GhostMaker 20000
[Statedef 20000]
type    = S
movetype= I
physics = N
anim = 1606
sprpriority = 5

[State 0, BindToRoot]
type = BindToRoot
trigger1 = 1
time = 1
facing = 1

[State 1740, Helper]
type = Helper
triggerall = parent,StateNo = 3000
trigger1 = (parent,anim = 3000) && parent,AnimElem = 7
trigger1 = Var(3):=1
trigger2 = (parent,anim = 3001) && parent,AnimElem = 7
trigger2 = Var(3):=1
trigger3 = (parent,anim = 3002) && parent,AnimElem = 7
trigger3 = Var(3):=1
trigger4 = (parent,anim = 3003) && parent,AnimElem = 7
trigger4 = Var(3):=1
trigger5 = (parent,anim = 3004) && parent,AnimElem = 7
trigger5 = Var(3):=1
trigger6 = (parent,anim = 3000) && parent,AnimElem = 10
trigger6 = Var(3):=2
trigger7 = (parent,anim = 3001) && parent,AnimElem = 10
trigger7 = Var(3):=2
trigger8 = (parent,anim = 3002) && parent,AnimElem = 10
trigger8 = Var(3):=2
trigger9 = (parent,anim = 3003) && parent,AnimElem = 10
trigger9 = Var(3):=2
trigger10 = (parent,anim = 3004) && parent,AnimElem = 10
trigger10 = Var(3):=2
trigger11 = (parent,anim = 3000) && parent,AnimElem = 15
trigger11 = Var(3):=3
trigger12 = (parent,anim = 3001) && parent,AnimElem = 15
trigger12 = Var(3):=3
trigger13 = (parent,anim = 3002) && parent,AnimElem = 15
trigger13 = Var(3):=3
trigger14 = (parent,anim = 3003) && parent,AnimElem = 15
trigger14 = Var(3):=3
trigger15 = (parent,anim = 3004) && parent,AnimElem = 15
trigger15 = Var(3):=3
trigger16 = (parent,anim = 3000) && parent,AnimElem = 19
trigger16 = Var(3):=4
trigger17 = (parent,anim = 3001) && parent,AnimElem = 19
trigger71 = Var(3):=4
trigger18 = (parent,anim = 3002) && parent,AnimElem = 19
trigger18 = Var(3):=4
trigger19 = (parent,anim = 3003) && parent,AnimElem = 19
trigger19 = Var(3):=4
trigger20 = (parent,anim = 3004) && parent,AnimElem = 19
trigger20 = Var(3):=4
trigger21 = (parent,anim = 3000) && parent,AnimElem = 22
trigger21 = Var(3):=5
trigger22 = (parent,anim = 3001) && parent,AnimElem = 22
trigger22 = Var(3):=5
trigger23 = (parent,anim = 3002) && parent,AnimElem = 22
trigger23 = Var(3):=5
trigger24 = (parent,anim = 3003) && parent,AnimElem = 22
trigger24 = Var(3):=5
trigger25 = (parent,anim = 3004) && parent,AnimElem = 22
trigger25 = Var(3):=5
ID = 30000
name = "Ghost"
postype = p1
pos = 0,0
stateno = 30009+Var(3)
ownpal = 0
supermovetime = Cond(Var(3)=1,25,Cond(Var(3)=2,33,Cond(Var(3)=3,29,Cond(Var(3)=4,37,33))))
keyctrl = 1

[State 1740, Helper]
type = Helper
triggerall = parent,StateNo != 3000
trigger1 = root,Var(53)>0
trigger1 = !root,NumExplod(3000)
ID = 30000
name = "Ghost"
postype = p1
pos = -50,0
stateno = 31002
ownpal = 1
persistent = 0
[State 1740, Helper]
type = Helper
triggerall = parent,StateNo != 3000
trigger1 = root,Var(53)>1
trigger1 = !root,NumExplod(3000)
ID = 30000
name = "Ghost"
postype = p1
pos = -70,0
stateno = 31003
ownpal = 1
persistent = 0
[State 1740, Helper]
type = Helper
triggerall = parent,StateNo != 3000
trigger1 = root,Var(53)>2
trigger1 = !root,NumExplod(3000)
ID = 30000
name = "Ghost"
postype = p1
pos = -90,0
stateno = 31004
ownpal = 1
persistent = 0
[State 1740, Helper]
type = Helper
triggerall = parent,StateNo != 3000
trigger1 = root,Var(53)>3
trigger1 = !root,NumExplod(3000)
ID = 30000
name = "Ghost"
postype = p1
pos = -110,0
stateno = 31005
ownpal = 1
persistent = 0
[State 1740, Helper]
type = Helper
triggerall = parent,StateNo != 3000
trigger1 = root,Var(53)>4
trigger1 = !root,NumExplod(3000)
ID = 30000
name = "Ghost"
postype = p1
pos = -130,0
stateno = 31006
ownpal = 1
persistent = 0

[State 0, VarSet]
type = VarSet
trigger1 = root, StateNo != 3000
var(3) = 0

[State 0, VarSet]
type = VarSet
triggerall = NumHelper(30000)
trigger1 = helper(30000),Pos X <= root, Pos X+30
trigger1 = helper(30000),Pos X >= root, Pos X-30
trigger1 = helper(30000),Pos Y <= root, Pos Y+30
trigger1 = helper(30000),Pos Y >= root, Pos Y-30
trigger1 = helper(30000),StateNo = 31000
var(40)=1

[State 0, VarSet]
type = VarSet
triggerall = NumHelper(30000)
trigger1 = helper(30000),Pos X >= root, Pos X+31
trigger1 = helper(30000),Pos X <= root, Pos X-31
trigger1 = helper(30000),Pos Y >= root, Pos Y+31
trigger1 = helper(30000),Pos Y <= root, Pos Y-31
trigger2 = helper(30000),StateNo != 31000
var(40)=0

[State 0, VarSet]
type = VarSet
triggerall = parent,StateNo != 3000
trigger1 = !root,NumExplod(3000)
trigger1 = 1
var(53) = root, Var(53)

[State 0, ParentVarSet]
type = ParentVarSet
triggerall = parent,StateNo != 3000
trigger1 = root,NumExplod(3000)
var(53) = Var(53)
[State 0, VarSet]
type = VarSet
triggerall = parent,StateNo != 3000
trigger1 = root,NumExplod(3000)
var(53) = root,Var(53)
[State 0, VarSet]
type = VarSet
triggerall = parent,StateNo != 3000
trigger1 = root,NumExplod(3000)
var(53) = Var(53)

;======================================================================
;Ghost Forming 1
[Statedef 30010]
type = A
movetype = I
physics = N
anim = 30010
sprpriority = 5
ctrl=0

;spit ghost snd
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 3001,0
channel = -1

;Tells Ghostmaker a ghost exists
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = 1

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)

[State 0, SprPriority]
type = SprPriority
trigger1 = AnimElemTime(3)>=0
value = -5

[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 6
x = -62
y = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 30000
ctrl = 0

;======================================================================
;Ghost Forming 2
[Statedef 30011]
type = A
movetype = I
physics = N
anim = 30011
sprpriority = 5
ctrl=0

;spit ghost snd
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 3001,0
channel = -1

;Tells Ghostmaker a ghost exists
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = 1

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)


[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 7
x = -98
y = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 30000
ctrl = 0

;======================================================================
;Ghost Forming 3
[Statedef 30012]
type = A
movetype = I
physics = N
anim = 30012
sprpriority = 5
ctrl=0

;spit ghost snd
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 3001,0
channel = -1

;Tells Ghostmaker a ghost exists
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = 1

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)


[State 0, SprPriority]
type = SprPriority
trigger1 = AnimElemTime(3)>=0
value = -5

[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 7
x = -112
y = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 30000
ctrl = 0

;======================================================================
;Ghost Forming 4
[Statedef 30013]
type = A
movetype = I
physics = N
anim = 30013
sprpriority = 5
ctrl=0

;spit ghost snd
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 3001,0
channel = -1

;Tells Ghostmaker a ghost exists
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = 1

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)




[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 8
x = -140
y = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 30000
ctrl = 0

;======================================================================
;Ghost Forming 5
[Statedef 30014]
type = A
movetype = I
physics = N
anim = 30014
sprpriority = 5
ctrl=0

;spit ghost snd
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 3001,0
channel = -1

;Tells Ghostmaker a ghost exists
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = 1

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)


[State 0, SprPriority]
type = SprPriority
trigger1 = AnimElemTime(3)>=0
value = -5

[State 0, PosAdd]
type = PosAdd
trigger1 = AnimElem = 8
x = -172
y = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = !AnimTime
value = 30000
ctrl = 0

;======================================================================
;Ghost
[Statedef 30000]
type = A
movetype = I
physics = N
anim = 30000
sprpriority = -5
ctrl=0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)!=1
trigger1 = root,NumProjId(20000)
var(1) = -1
persistent = 2

[State 0, PlaySnd]
type = PlaySnd
trigger1 = 1
value = 30000,0+random%66
channel = 0
persistent = 100

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = 30000+random%6
elem = 1+random%5

[State 0, ChangeState]
type = ChangeState
trigger1 = Facing != Root, Facing
trigger1 = RootDist x >= 0
value = 30009
ctrl = 0

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist x <= 41 
trigger2 = Var(1)=2
trigger2 = RootDist x <= 81 
trigger3 = Var(1)=3
trigger3 = RootDist x <= 121 
trigger4 = Var(1)=4
trigger4 = RootDist x <= 161 
trigger5 = Var(1)=5
trigger5 = RootDist x <= 201 
x = -4.5

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist Y > 5
trigger2 = Var(1)=2
trigger2 = RootDist Y > 30
trigger3 = Var(1)=3
trigger3 = RootDist Y > 35
trigger4 = Var(1)=4
trigger4 = RootDist Y > 45
trigger5 = Var(1)=5
trigger5 = RootDist Y > 55
Y = 6

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist Y >= -5 && RootDist Y <= 5
trigger2 = Var(1)=2
trigger2 = RootDist Y >= -1 && RootDist Y <= 5
trigger3 = Var(1)=3
trigger3 = RootDist Y >= 1 && RootDist Y <= 7
trigger4 = Var(1)=4
trigger4 = RootDist Y >= 3 && RootDist Y <= 9
trigger5 = Var(1)=5
trigger5 = RootDist Y >= 5 && RootDist Y <= 11
Y = 0

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist Y < -25
trigger2 = Var(1)=2
trigger2 = RootDist Y < -55
trigger3 = Var(1)=3
trigger3 = RootDist Y < -65
trigger4 = Var(1)=4
trigger4 = RootDist Y < -75
trigger5 = Var(1)=5
trigger5 = RootDist Y < -85
trigger6 = Pos Y >10
Y = -6

[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(1) = 1
trigger2 = AnimElemTime(6) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(2) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(3) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(4) = 1
y = 1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(5) = 1
y = 2


[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist x >= 40 && RootDist x <= 50
trigger2 = Var(1)=2
trigger2 = RootDist x >= 70 && RootDist x <= 90
trigger3 = Var(1)=3
trigger3 = RootDist x >= 100 && RootDist x <= 130
trigger4 = Var(1)=4
trigger4 = RootDist x >= 130 && RootDist x <= 170
trigger5 = Var(1)=5
trigger5 = RootDist x >= 160 && RootDist x <= 210
x = 0

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist x >= 51 && RootDist x < 71
trigger2 = Var(1)=2
trigger2 = RootDist x >= 81 && RootDist x <= 101
trigger3 = Var(1)=3
trigger3 = RootDist x >= 111 && RootDist x < 131
trigger4 = Var(1)=4
trigger4 = RootDist x >= 141 && RootDist x <= 161
trigger5 = Var(1)=5
trigger5 = RootDist x >= 171 && RootDist x <= 191
x = 2.5

[State 0, VelSet]
type = VelSet
trigger1 = Var(1)=1
trigger1 = RootDist x >= 71
trigger2 = Var(1)=2
trigger2 = RootDist x >= 101 
trigger3 = Var(1)=3
trigger3 = RootDist x >= 131
trigger4 = Var(1)=4
trigger4 = RootDist x >= 161 
trigger5 = Var(1)=5
trigger5 = RootDist x >= 181 
x = 5.5

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
triggerall = !NumProjId(20000)
trigger1 = Root, Anim = 1900
trigger1 = root, Time = 6
trigger2 = Root, Var(12) = 2
value = 31000
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, Anim = 1901
trigger1 = root, Time = 10
trigger2 = Root, Var(12) = 1
value = 32000
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, StateNo = 1904
trigger1 = root, Time = 10
trigger1 = Root, Var(12) >= 10
value = 32100
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, Var(12) = 3
value = 32200
ctrl = 0

;[State 30000, ChangeState]
;type = ChangeState
;triggerall = Var(1)=1
;trigger1 = Root, StateNo = 1904
;trigger1 = root, Time = 10
;trigger1 = Root, Var(9) = 1
;value = 32300
;ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, StateNo = 1040
trigger1 = root, Time = 13
trigger2 = Root, StateNo = 1041
trigger2 = root, Time = 13
value = 32400
ctrl = 0

;======================================================================
;Ghost Turn
[Statedef 30009]
type = A
movetype = I
physics = N
anim = 30009
sprpriority = -5
ctrl=0

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(1)=1
trigger1 = !Time
value = 30010,0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)!=1
trigger1 = root,NumProjId(20000)
var(1) = -1
persistent = 2

[State 0, Turn]
type = Turn
trigger1 = Time = 1

[State 0, VelSet]
type = VelSet
trigger1 = RootDist x <= 41 
x = -4.5

[State 0, VelSet]
type = VelSet
trigger1 = RootDist Y > 5
Y = 6

[State 0, VelSet]
type = VelSet
trigger1 = RootDist Y >= -5 && RootDist Y <= 5
Y = 0

[State 0, VelSet]
type = VelSet
trigger1 = RootDist Y < -5
Y = -6

[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(1) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(2) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(3) = 1
y = -1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(4) = 1
y = 1
[State 0, PosAdd]
type = PosAdd
triggerall = Pos Y < 5
trigger1 = AnimElemTime(5) = 1
y = 2


[State 0, VelSet]
type = VelSet
trigger1 = RootDist x >= 40 && RootDist x <= 50
x = 0

[State 0, VelSet]
type = VelSet
trigger1 = RootDist x >= 51 && RootDist x < 71
x = 2.5

[State 0, VelSet]
type = VelSet
trigger1 = RootDist x >= 71
x = 5.5

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
triggerall = !NumProjId(20000)
trigger1 = Root, Anim = 1900
trigger1 = root, Time = 6
trigger2 = Root, Var(12) = 2
value = 31000
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, Anim = 1901
trigger1 = root, Time = 10
trigger2 = Root, Var(12) = 1
value = 32000
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, StateNo = 1904
trigger1 = root, Time = 10
trigger1 = Root, Var(12) >= 10
value = 32100
ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, Var(12) = 3
value = 32200
ctrl = 0

;[State 30000, ChangeState]
;type = ChangeState
;triggerall = Var(1)=1
;trigger1 = Root, StateNo = 1904
;trigger1 = root, Time = 10
;trigger1 = Root, Var(9) = 1
;value = 32300
;ctrl = 0

[State 30000, ChangeState]
type = ChangeState
triggerall = Var(1)=1
trigger1 = Root, StateNo = 1040
trigger1 = root, Time = 13
trigger2 = Root, StateNo = 1041
trigger2 = root, Time = 13
value = 32400
ctrl = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 30000
ctrl = 0

;======================================================================
;Ghost Mine
[Statedef 31000]
type = A
movetype = A
physics = N
anim = 31000
sprpriority = -1
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = 1
value = 30000,0+random%66
channel = 0
persistent = 100

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;Tell Ghostmaker it's a mine
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(11) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = 10+parent,Var(11)

;Tell it it's a Mine
[State 0, VarSet]
type = VarSet
trigger1 = !Time
fvar(0) = 1

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

;removes juggle limit
[State 0, Projectile]
type = Projectile
trigger1 = MoveContact = 1
ProjID = 30000
projanim = 1606
projremovetime = 120
supermovetime = 0
pausemovetime = 0

;kills ghost explod
[State 0, Projectile]
type = Projectile
trigger1 = !Time
ProjID = 31000
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, NotHitBy]
type = NotHitBy
trigger1 = !Time
value = SCA
time = 5

[State 0, PalFXWiz]
type = PalFX
trigger1 = Time%5
trigger1 = root,TeamSide = 2
time = 1
add = 250,0,0
mul = 250,250,120
sinadd = 110,55,85,10
invertall = 0
color = 0

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 1

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

[State 0, AttackDist]
type = AttackDist
trigger1 = Pos Y <= -40
value = 0

[State 0, PlaySnd]
type = PlaySnd
trigger1 = Time = 1
value = 31000,0 + random%5
channel = 0

[State 0, HitDef]
type = HitDef
trigger1 = AnimElem = 3
attr = A,SP        ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = -1,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = -1,-8
fall = 1
guard.dist = 40
fall.recover = 0


[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 31500
ignorehitpause = 1

[State 0, ChangeState]
type = ChangeState
triggerall = Time >= 31
trigger1 = root, StateNo = 1902
trigger1 = root,Time = 5
trigger1 = Var(1) <= 12
trigger2 = root, StateNo = 1903
trigger2 = root,Time = 5
value = 31001
ignorehitpause = 1

;======================================================================
;Ghost Transfer Back
[Statedef 31001]
type = A
movetype = I
physics = N
sprpriority = 5
anim = 31000
ctrl=0

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 30010,0+random%4

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20001)
trigger1 = !Time 
ProjID = 20001
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20002)
trigger1 = Time = 1
ProjID = 20002
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = 1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = -2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = -1


;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 1
var(1) = 1
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 2
var(1) = 2-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 3
var(1) = 3-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 4
var(1) = 4-parent,Var(2)
;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
trigger1 = parent,Var(53) = 5
var(1) = 5-parent,Var(2)

;Tell Ghostmaker it's NOT a mine
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
trigger1 = PrevStateNo = 31000
var(11) = -1

;Tell it it's NOT a Mine
[State 0, VarSet]
type = VarSet
trigger1 = !Time
fvar(0) = 0

[State 30000, ChangeState]
type = ChangeState
trigger1 = Time = 1
value = 30000
ctrl = 0

;======================================================================
;Ghost Still Alive for next round
[Statedef 31002]
type = A
movetype = I
physics = N
sprpriority = 5
ctrl=0

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(1) = 1

[State 30000, ChangeState]
type = ChangeState
trigger1 = !Time
value = 30000
ctrl = 0
;======================================================================
;Ghost Still Alive for next round
[Statedef 31003]
type = A
movetype = I
physics = N
sprpriority = 5
ctrl=0

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(1) = 2

[State 30000, ChangeState]
type = ChangeState
trigger1 = !Time
value = 30000
ctrl = 0
;======================================================================
;Ghost Still Alive for next round
[Statedef 31004]
type = A
movetype = I
physics = N
sprpriority = 5
ctrl=0

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(1) = 3

[State 30000, ChangeState]
type = ChangeState
trigger1 = !Time
value = 30000
ctrl = 0
;======================================================================
;Ghost Still Alive for next round
[Statedef 31005]
type = A
movetype = I
physics = N
sprpriority = 5
ctrl=0

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(1) = 4

[State 30000, ChangeState]
type = ChangeState
trigger1 = !Time
value = 30000
ctrl = 0
;======================================================================
;Ghost Still Alive for next round
[Statedef 31006]
type = A
movetype = I
physics = N
sprpriority = 5
ctrl=0

;Tells Ghostmaker a ghost is born for ordering
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = 1

;Assigns the ghost it's number
[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(1) = 5

[State 30000, ChangeState]
type = ChangeState
trigger1 = !Time
value = 30000
ctrl = 0

;----------------------------------------------------
; Ghost Explode
[Statedef 31500]
type    = A
movetype= A
physics = N
anim = 2845
sprpriority = 5
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20001)
trigger1 = !Time 
ProjID = 20001
projanim = 20
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20002)
trigger1 = Time = 1
ProjID = 20002
projanim = 0
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(53) = -1
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(0) = -1
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = -2
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = -1

;Tell Ghostmaker it's NOT a mine
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
trigger1 = PrevStateNo = 31000
var(11) = -1

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = nojugglecheck
flag2 = noshadow

[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 31500,0
channel = 2

[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noshadow

[State 1770, DestroySelf]
type = DestroySelf
trigger1 = p2movetype != H
trigger1 = Time >=54


;======================================================================
;Ghost Fire
[Statedef 32000]
type = A
movetype = A
physics = N
anim = 32000
sprpriority = -1
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = parent,Var(0)+parent,Var(1)

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1

;Tell it it's a Missile
[State 0, VarSet]
type = VarSet
trigger1 = !Time
fvar(0) = 2

[State 0, PosAdd]
type = PosAdd
triggerall = Time > 6
trigger1 = Anim = 32001 && AnimElemTime(1)=0
trigger2 = Anim = 32005 && AnimElemTime(1)=0
y = Cond(Var(10)=1,-32,52)

[State 0, VarSet]
type = VarSet
trigger1 = Anim = 32002 || Anim = 32007 || Anim = 32010 || Anim = 32013 || Anim = 32004 || Anim = 32009 
var(10) = 1
[State 0, VarSet]
type = VarSet
trigger1 = Anim = 32016 || Anim = 32011 || Anim = 32008 || Anim = 32012
var(10) = 2

;forward
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
trigger1 = P2Dist X >1
trigger1 = Anim = 32002 || Anim = 32007 || Anim = 32016 || Anim = 32010 || Anim = 32011
trigger1 = AnimElemTime(1) >= 9
trigger2 = P2Dist X >1
trigger2 = Anim = 32000 
trigger3 = Pos Y <= -350 || Pos Y >= 50
value = 32001
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = P2Dist X <0
trigger1 = Anim = 32010 || Anim = 32011 || Anim = 32016 || Anim = 32010
trigger1 = AnimElemTime(1) >= 9
trigger2 = Anim = 32000 
value = 32001

;up forward
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Anim = 32000 || Anim = 32001 && AnimElemTime(3)=2
triggerall = Time > 5
trigger1 = P2Dist X >=20 && P2Dist X <=90
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X <-1
trigger2 = Pos Y > -70
value = 32002

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = Anim = 32002
value = 30010,0+random%4
persistent = 6

;up
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = Anim = 32002 
triggerall = AnimElemTime(1) >= 9
trigger1 = P2Dist X >-20 && P2Dist X <20
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X <-1
value = 32003

;up reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Anim = 32013
triggerall = AnimElemTime(1) >= 9 
triggerall = Time > 5
trigger1 = P2Dist X >-20 && P2Dist X <20
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X >1
value = 32014

;up back
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = Anim = 32003
triggerall = AnimElemTime(3) >= 2
trigger1 = P2Dist X <=-20 && P2Dist X >=-90
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X <=-1 
trigger2 = P2Dist Y > 50 
trigger3 = P2Dist X >1
trigger3 = Pos Y < -70
value = 32009

;back
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Anim = 32013 || Anim = 32004 || Anim = 32008 || Anim = 32009 || Anim = 32012
triggerall = AnimElemTime(1) >= 9
triggerall = Time > 5
trigger1 = P2Dist X <-1
trigger2 = Pos Y <= -350 || Pos Y >= 50
value = 32005
;back
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Anim = 32009 || Anim = 32012 || Anim = 32008 
triggerall = AnimElemTime(1) >= 9
triggerall = Time > 5
trigger1 = P2Dist X >0
value = 32005

;down back
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
trigger1 = P2Dist X <-20 &&  P2Dist X >-90
trigger1 = P2Dist Y > -30 
trigger1 = Anim = 32005
trigger1 = AnimElemTime(3) >= 2
trigger2 = Anim = 32005
trigger2 = AnimElemTime(7) >= 2
value = 32004
;down back
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = P2Dist X >1
triggerall = Pos Y <= -70
trigger1 = Anim = 32005
trigger1 = AnimElemTime(3) >= 2
value = 32004

;down
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall =  Anim = 32007
triggerall = AnimElemTime(1) >= 9
trigger1 = P2Dist X >-20 && P2Dist X <20
trigger1 = P2Dist Y > 30 
trigger2 = P2Dist X <1
value = 32006

;down reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = Anim = 32004 
triggerall = AnimElemTime(1) >= 9 
trigger1 = P2Dist X >-20 && P2Dist X <20
trigger1 = P2Dist Y > 30 
trigger2 = P2Dist X >1
value = 32015

;up forward reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Anim = 32005
triggerall = AnimElemTime(3) >= 2
triggerall = Time > 5
trigger1 = P2Dist X <=-20 && P2Dist X >=-90
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X >1
value = 32013

;up back reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = (Anim = 32014 && AnimElemTime(3) >= 2)
trigger1 = P2Dist X >=20 && P2Dist X <=90
trigger1 = P2Dist Y < -30 
trigger2 = P2Dist X < -1
trigger3 = P2Dist X >=1
trigger3 = P2Dist Y > 50
value = 32010

;down back reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = P2Dist X >20 &&  P2Dist X <90
triggerall = P2Dist Y > 30 
trigger1 = Anim = 32001
trigger1 = AnimElemTime(3) >= 2
trigger2 = Anim = 32005
trigger2 = AnimElemTime(7) >= 2
value = 32007
;down back reversed
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = P2Dist X <-1
triggerall = Pos Y <= -70
trigger1 = Anim = 32001
trigger1 = AnimElemTime(3) >= 2
value = 32007

;up back lower
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = Anim = 32005
trigger1 = AnimElemTime(1) >= 9 
trigger1 = P2Dist X <=-20 && P2Dist X >=-90
trigger1 = P2Dist Y <-30 
trigger2 = AnimElemTime(1) >= 9 
trigger2 = P2Dist X >1
trigger2 = Pos Y >= -70
trigger3 = AnimElemTime(1) >= 20
value = 32008

;up forward lower
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
triggerall = Anim = 32001
triggerall = AnimElemTime(1) >= 9 
trigger1 = P2Dist X >=20 && P2Dist X <=90
trigger1 = P2Dist Y <-30 
trigger2 = P2Dist X <-1
trigger2 = Pos Y >= -70
value = 32016

;down forward 2
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
trigger1 = P2Dist X >=0 && P2Dist X <=90
trigger1 = P2Dist Y >30 
trigger1 = Anim = 32000 || (Anim = 32006 && AnimElemTime(3) >= 2) 
trigger2 = P2Dist X >1
trigger2 = (Anim = 32015 && AnimElemTime(3) >= 2) 
trigger3 = P2Dist X >=0 
trigger3 = (Anim = 32015 && AnimElemTime(3) >= 2) 
value = 32011

;down back 2
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = Time > 5
trigger1 = P2Dist X <=-1 && P2Dist X >=-90
trigger1 = P2Dist Y >30 
trigger1 = Anim = 32000 || (Anim = 32015 && AnimElemTime(3) >= 2) 
trigger2 = P2Dist X <-1
trigger2 = (Anim = 32006 && AnimElemTime(3) >= 2) 
trigger3 = P2Dist X >=0 
trigger3 = (Anim = 32006 && AnimElemTime(3) >= 2) 
value = 32012

;forward
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32001
x = 5
y = Cond(P2Dist Y <-30, -1,Cond(P2Dist Y > 30,1,0))

;up forward
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32002
x = 3
y = -5
;up forward reversed
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32013
x = -3
y = -5

;up 
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32003
trigger2 = Anim = 32014
x = 0
y = -5

;up back
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32009
x = -3
y = -3
;up back reversed
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32010
x = 3
y = -3

;back
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32005
x = -5
y = Cond(P2Dist Y <-30, -1,Cond(P2Dist Y > 30,1,0))

;down back
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32004
x = -3
y = 5
;down back reversed
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32007
x = 3
y = 5

;up back lower
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32008
x = -3
y = -3
;up forward lower
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32016
x = 3
y = -3

;down back 2
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32011
x = 3
y = 3
;down forward 2
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32012
x = -3
y = 3

;down
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32006
trigger2 = Anim = 32015
x = 0
y = 5

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 1

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

;removes juggle limit
[State 0, Projectile]
type = Projectile
trigger1 = MoveContact = 1
ProjID = 30000
projanim = 1606
projremovetime = 120
supermovetime = 0
pausemovetime = 0

;kills ghost explod
[State 0, Projectile]
type = Projectile
trigger1 = !Time
ProjID = 31000
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, NotHitBy]
type = NotHitBy
trigger1 = !Time
value = SCA
time = 5

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = A,SP       ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = -1,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = -1,-8
fall = 1
fall.recover = 0



[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
trigger2 = Pos Y >= 40
value = 31500
ignorehitpause = 1

;======================================================================
;Ghost HeadCrash
[Statedef 32100]
type = A
movetype = A
physics = N
anim = 32000
sprpriority = -1
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 3
supermovetime = 0
pausemovetime = 0

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = Time = 5
value = 30010,0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = parent,Var(0)+parent,Var(1)

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1

;forward
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Time = 5
value = 32001

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32001
x = 5 

;curve up
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Time = 20
value = 32002

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32002
x = 3
y = -7

;up
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Time = 22
value = 32003

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32003
x = 0
y = -20

[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(12) = root,Var(12)

[State 0, ChangeState]
type = ChangeAnim
trigger1 = Var(12)=10 && Pos Y <= -300
trigger2 = Var(12)=11 && Pos Y <= -500
trigger3 = Var(12)=12 && Pos Y <= -700
value = 32006

[State 0, PosSet]
type = PosSet
trigger1 = Anim = 32006
trigger1 = AnimElemTime(1)=1
x = enemy, Pos X

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32006
;trigger1 = AnimElemTime(1)>=1
x = 0
y = 20

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 1

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

;removes juggle limit
[State 0, Projectile]
type = Projectile
trigger1 = MoveContact = 1
ProjID = 30000
projanim = 1606
projremovetime = 120
supermovetime = 0
pausemovetime = 0

;kills ghost explod
[State 0, Projectile]
type = Projectile
trigger1 = !Time
ProjID = 31000
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, NotHitBy]
type = NotHitBy
trigger1 = !Time
value = SCA
time = 5

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = A,SP       ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = -1,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = -1,-8
fall = 1
fall.recover = 0

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
trigger2 = Pos Y >= 40
value = 31500
ignorehitpause = 1

;======================================================================
;Ghost Shield
[Statedef 32200]
type = A
movetype = A
physics = N
anim = 32200
sprpriority = 5
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = parent,Var(0)+parent,Var(1)

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1

;Tell it it's a Missile
[State 0, VarSet]
type = VarSet
trigger1 = !Time
fvar(0) = 2

[State 0, BindToRoot]
type = BindToRoot
trigger1 = AnimElemTime(4)>=0
time = 1

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 1

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = A,SP       ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = -1,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = -1,-8
fall = 1
fall.recover = 0

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
value = 31500
ignorehitpause = 1

[State 0, ChangeState]
type = ChangeState
triggerall = Time >= 31
trigger1 = root, StateNo = 1903
trigger1 = root,Time = 5
value = 31001
ignorehitpause = 1

;======================================================================
;Ghost Scream Alt
[Statedef 32300]
type = A
movetype = A
physics = N
anim = 32000
sprpriority = -1
velset = 0,0
ctrl=0

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = parent,Var(0)+parent,Var(1)

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1

;forward
[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Time = 5
value = 32001

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32001
x = .75

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32001
y = Cond(P2Dist Y >=20,2,Cond(P2Dist Y <=-20,-2,0))

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 5

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = A,SP       ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = -1,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = -1,-8
fall = 1
fall.recover = 0

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
trigger2 = Pos Y >= 40
value = 31500
ignorehitpause = 1

[State 0, ChangeState]
type = ChangeState
trigger1 = Time = 300
value = 31001
ctrl = 0

;---------------------------
;Air Ghost Blast Firing
[Statedef 32400]
type = A
physics = N
moveType = A
anim = 32000
sprpriority = 5
hitcountpersist = 1
movehitpersist = 1

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = !Time
value = 30010,0+random%4

[State 0, Projectile]
type = Projectile
trigger1 = MoveHit = 1
ProjID = 1760
projanim = 1606
projremovetime = 1
supermovetime = 0
pausemovetime = 0

[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)=8
trigger1 = root,NumProjId(20001)
var(1) = -1
persistent = 2
[State 0, VarAdd]
type = VarAdd
trigger1 = Var(1)>=9
trigger1 = root,NumProjId(20002)
var(1) = -1
persistent = 2

;take a Ghost out of the GhostMaker var
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time 
var(0) = -1

;Tell Ghostmaker it's in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(1) = 2

;Tell Ghostmaker how many are in a different state
[State 0, ParentVarAdd]
type = ParentVarAdd
trigger1 = !Time
var(2) = 1

;change number of ghost
[State 0, VarAdd]
type = VarAdd
trigger1 = !Time 
var(1) = parent,Var(0)+parent,Var(1)

[State 0, Projectile]
type = Projectile
trigger1 = !NumProjId(20000)
trigger1 = Time = 5
ProjID = 20000
projanim = 1606
projremovetime = 1

[State 1061, NoJuggle]
type = parentvarset
trigger1 = time = 0
v = 18
value = 1

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 32000
x = 6
y = -6

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = Time = 6
value = 32400

[State 0, AngleDraw]
type = AngleDraw
trigger1 = Anim = 32400
value = -45
ignorehitpause = 1

[State 1050, Button Detect]
type = VarSet
trigger1= !Time 
var(9) = Root, var(9)
 
[State 1033, VelSet]
type = VelSet
trigger1 = Time >= 6
x = cond(var(9) = 2, 6, cond(var(9) = 1, 4, 2)) 
y = cond(var(9) = 2, 6, cond(var(9) = 1, 4, 2)) 

[State 0, VelAdd]
type = VelAdd
trigger1 = Anim = 32400
x = Cond(P2Dist X >=20, 2,Cond(P2Dist X <=-20, -2,0))

[State 0, NotHitBy]
type = NotHitBy
trigger1 = Time >= 0
value = SCA,NT,ST,HT
time = 1

[State 1061, HitBy]
type = HitBy
trigger1 = Time >= 0
value = SCA,NA,SA,HA,NP,SP,HP 
time = 1
ignorehitpause = 1

[State 0, HitOverride]
type = HitOverride
trigger1 = Time >= 0
attr = SCA,NA,SA,HA,NP,SP,HP      ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
slot = 0
stateno = 31500
time = 1
ignorehitpause = 1

[State 0, HitDef]
type = HitDef
trigger1 = 1
attr = A,SP       ;SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
hitflag = MAF        ;HLAFD+-
guardflag = MA
animtype = back          ;light,medium,hard,back,up,diagup
air.animtype = back
damage = 30,0
pausetime = 0 ,12
guard.pausetime = 0 , 16
sparkno = s7010
guard.sparkno = -1
sparkxy = 0,-30
hitsound   = s32000,0
guardsound = S6,1
ground.type = High      ;Low,Trip,None
air.type = High
ground.slidetime = 14
ground.hittime = 28
air.hittime = 28
ground.velocity = 3,-8
guard.velocity = -1
airguard.velocity = -1, -1
air.velocity = 3,-6
fall = 1
fall.recover = 0

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = 15,-50   
postype = p2
sprpriority = 2
bindtime = -1
ownpal = 1
facing = -1

[State 6050, Explod]
type = Explod
trigger1 = NumTarget
trigger1 = !target,IsHelper
trigger1 = MoveContact
anim = 8601
ID = 8600
pos = -15,-70   
postype = p2
sprpriority = 3
bindtime = -1
ownpal = 1
facing = -1

[State 0, ChangeState]
type = ChangeState
trigger1 = MoveContact = 1
trigger2 = Pos Y >= 0
value = 31500
ignorehitpause = 1

;----------------------------------------
;Cinematic Super! Leave!
[Statedef 30060]
type = A
physics = N
movetype = I
anim = 30060
ctrl = 0
velset = 0,0
sprpriority = 1
poweradd = 0

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = 30060+random%5

;random noise
[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(1)=1
trigger1 = !Time
value = 30010,0+random%4

;girly scream
[State 0, PlaySnd]
type = PlaySnd
trigger1 = Var(1)=1
trigger1 = !Time
value = 30020,0+random%7

[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(11) = 0

[State 0, VarSet]
type = VarSet
trigger1 = !Time
var(15) = 0+random%2

[State 0, Turn]
type = Turn
trigger1 = !Time
trigger1 = Var(15) = 1

[State 0, PlaySnd]
type = null;PlaySnd
trigger1 = !Time
value = 2302,0

[State 0, PlaySnd]
type = null;PlaySnd
trigger1 = IsHelper(30000)
trigger1 = !Time
value = 3521,0

[State 0, VelSet]
type = VelSet
trigger1 = Anim = 30060
x = -5
y = 3
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 30061
x = -5
y = 0
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 30062
x = -3
y = -5
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 30063
x = -2
y = -5
[State 0, VelSet]
type = VelSet
trigger1 = Anim = 30064
x = 0
y = -5

[State 0, ChangeState]
type = ChangeState
trigger1 = Time >= 50
;trigger2 = (pos y!=[-300,200])
value = 30061
ctrl = 0

;----------------------------------------
;Cinematic Super! Not here
[Statedef 30061]
type = A
physics = N
movetype = I
anim = 15999
ctrl = 0
velset = 0,0
sprpriority = 1
poweradd = 0

[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = 0
y = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = !root, NumExplod(991901)
trigger1 = root, MoveType != H
trigger1 = enemy, AnimExist(5939)
trigger1 = !enemy, NumExplod(991901)
trigger2 = root, MoveType != H
trigger2 = !enemy, AnimExist(5939)
trigger2 = root,var(48) <= root,var(49) +29
trigger2 = root, Var(43)=[1,6] 
trigger3 = Lose
;trigger4 = root, StateNo = 3417 || root, StateNo = 3413 || root, StateNo = 0
value = 30062
ctrl = 0

;----------------------------------------
;Cinematic Super! Come Back!
[Statedef 30062]
type = A
physics = N
movetype = I
anim = 30000
ctrl = 0
velset = 0,0
sprpriority = 1
poweradd = 0

[State 0, Turn]
type = Turn
trigger1 = !Time
trigger1 = Facing != root,Facing

[State 0, ChangeAnim]
type = ChangeAnim
trigger1 = !Time
value = 30000+random%6
elem = 1+random%5

[State 0, VelSet]
type = VelSet
trigger1 = fVar(0)= 2
trigger1 = !Time
x = 3
y = 0

[State 0, PosSet]
type = PosSet
trigger1 = !Time
trigger1 = IsHelper(30000)
x = Cond(root, Facing = 1,root,Pos X - 230,root,Pos X +230)
y = 0

[State 0, PlaySnd]
type = null;PlaySnd
trigger1 = !Time
value = 2302,0

[State 0, ChangeState]
type = ChangeState
trigger1 = fVar(0) = 0
value = 30000
ctrl = 0
[State 0, ChangeState]
type = ChangeState
trigger1 = fVar(0) >= 1
value = 31001
ctrl = 0