;---------------------------------------------------------------------------
; Staff - Idle (Stand)
[Statedef 300]
type    = A
physics = S
velset = 0,0
anim = 304;300
sprpriority = 3

[State 300, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 0

;--------------------------------------------------------
;STATES ADDED BY TRASGO7 FOR TESTING PURPOSES ONLY
;--------------------------------------------------------
[State 0, PosSet]
type = PosSet
triggerall = prevstateno != 310
triggerall = prevstateno != 311
trigger1 = time = 0
x = (parent, Pos x) + 50*(-facing)
y = (parent, pos y) - 70


;VARS
[State -3, VarSet X]
type = VarSet
trigger1 = 1
fvar(17) = abs(abs(parentdist x)-50)

[State -3, VarSet Y]
type = VarSet
trigger1 = 1
fvar(18) = abs(abs(parentdist y)-70)


;OFFSET VARS FOR BOBBING STAFF

;This State has been moved to the PreIntro state...
;[State -3, VarSet Y floating set 1 (start at the begninning of time AND when var(20) is back to 0)]

;Lower Limit
[State -3, VarSet Y floating 1(set once var(20) has reached the lower limit while standing)]
type = VarSet
triggerall = (pos y + var(22)) >= -40
trigger1 = parent, statetype = S
var(21) = 1

[State -3, VarSet Y floating 2(set once var(20) has reached the lower limit while crouching)]
type = VarSet
triggerall = (pos y + var(22)) >= -8
trigger1 = parent, statetype = C
var(21) = 1

;Upper Limit
[State -3, VarSet Y floating 3(set once var(20) has reached the upper limit while standing)]
type = VarSet
triggerall = (pos y + var(22)) <= -70
trigger1 = parent, statetype = S
var(21) = 0

[State -3, VarSet Y floating 4(set once var(20) has reached the upper limit while crouching)]
type = VarSet
triggerall = (pos y + var(22)) <= -38
trigger1 = parent, statetype = C
var(21) = 0


;Limit Breaks... haha
[State -3, VarAdd Y floating 1 (var(20) gets larger -- staff moves down)]
type = VarAdd
triggerall = pos y = (parent, pos y -70) || pos y = -38
triggerall = var(21) = 0
trigger1 = parent, statetype = S
trigger2 = parent, statetype = C
v = 22
value = 1

[State -3, VarAdd Y floating 2 ((var20) gets smaller -- staff moves up)]
type = VarAdd
triggerall = pos y = (parent, pos y -70) || pos y = -38
triggerall = var(21) = 1
trigger1 = parent, statetype = S
trigger2 = parent, statetype = C
v = 22
value = -1

[State -3, VarSet for after an attack]
type = VarSet
trigger1 = time = 0
var(22) = 0


[State 0, OffSet -- The staff bob state]
type = Offset
trigger1 = time
y = var(22)

;Y POS movement                           ;
[State 0, PosAdd for Crouching Down]      ;
type = PosAdd                             ;
triggerall = parent, statetype = C        ;
trigger1 = pos y < -10                    ;
y = ifelse(pos y <= -70, 3, ifelse(pos y >=-38, 0, 1))             ;
                                                     ;
[State 0, PosAdd for coming up from Crouch]                     ;
type = PosAdd                                                   ;
triggerall = (parent, prevstateno = 12 || parent, stateno = 12) ;
triggerall = parent, statetype != C                             ;
trigger1 = pos y > (parent, pos y -70)                          ;
y = -1                                                          ;
                                                     ;
[State 0, PosAdd for Staff too low]       ;
type = PosAdd                             ;
triggerall = parent, stateno != 12        ;
triggerall = parent, prevstateno != 12    ;
triggerall = parentdist y != 70           ;
triggerall = parent, statetype != C       ;
trigger1 = pos y > (parent, pos y -70)    ;
y = ifelse (parentdist y <= 60, -3, -1)   ;
                                          ;
[State 0, PosAdd for Staff too high]      ;
type = PosAdd                             ;
triggerall = parentdist y != 70           ;
triggerall = parent, statetype != C       ;
trigger1 = pos y < (parent, pos y -70)    ;
y = ifelse (parentdist y >= 80, 3, 1)     ;
                                                  ;
;X  POS movement
[State 0, VelSet for Walking when facing]                ;
type = VelSet                                            ;
triggerall = parentdist x != 50                          ;
triggerall = facing = parent, facing                     ;
trigger1 = pos x != ((parent, pos x)+(50*(-facing)))     ;
x = (ifelse((parentdist x < 50), (-1-(fvar(17)/20)),(1+(fvar(17)/20))))                  ;
                                                         ;
[State 0, VelSet for Walking when not facing]            ;
type = VelSet                                            ;
triggerall = parentdist x != -50                         ;
triggerall = facing != parent, facing                    ;
trigger1 = pos x != ((parent, pos x)+(50*(-facing)))     ;
x = ifelse((parentdist x > -50), (1+(fvar(17)/15)),(-1-(fvar(17)/15)))                   ;


[State 0, Turn]
type = Turn
triggerall = (facing != parent, facing)
trigger1 = parentdist x <= 0
trigger2 = parent, stateno = 200
trigger3 = parent, stateno = 400
trigger4 = parent, stateno = 600

[State 0, DisplayToClipboard]
type = DisplayToClipboard
trigger1 = 1
text = "pos y = %f posy+var(20) = %f  var(22) = %d var(21)= %d"
params = pos y, (pos y + var(20)), var(22), var(21)




;--------------------------------------------------------



[State 0, ChangeState Attack Standing?]
type = ChangeState
Triggerall = Parent, stateno = 200 && Parent, prevstateno != 200
Trigger1 = Parent, anim = 200 && Parent, animelem = 1
value = 310
ctrl = 0

[State 0, ChangeState Attack in Air?]
type = ChangeState
Triggerall = Parent, stateno = 600 && Parent, prevstateno != 600
Trigger1 = Parent, anim = 600 && Parent, animelem = 1
value = 310
ctrl = 0

;T7 Attack while crouching
[State 0, ChangeState Attack in Air?]
type = ChangeState
Triggerall = Parent, stateno = 400 && Parent, prevstateno != 400
Trigger1 = Parent, anim = 400 && Parent, animelem = 1
value = 310
ctrl = 0

[State 0, ChangeState for Tessa's taunt state]
type = ChangeState
trigger1 = Parent, anim = 195
value = 319
ctrl = 0

[State 0, ChangeState for Tessa's intro state]
type = ChangeState
trigger1 = Parent, anim = 190
value = 320
ctrl = 0

[State 0, ChangeState for the Cannon Pose]
type = ChangeState
trigger1 = Parent, anim = 1300
value = 321
ctrl = 0

[State 0, ChangeState for the Hyper Cannon?]
type = ChangeState
trigger1 = Parent, anim = 6000
value = 322
ctrl = 0


;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;---------------------------------------------------------------------------
;Staff - Attack 1
[Statedef 310]
type    = A
Movetype = A
physics = N
anim = 310
sprpriority = 3
velset = 0,0

[State 310, VarAdd]
type = VarAdd
trigger1 = var(20) < 175 && moveguarded
v = 20    ;fv =
value = 1

[State 310, VarAdd]
type = VarAdd
trigger1 = var(20) >= 175 && movehit
v = 20    ;fv =
value = -175

[State 0, Posadd]
type = Posadd
Triggerall= Prevstateno != 311
trigger1 = time > 0 && time <= 10
x = ifelse((p2bodydist x <= -10),0,2.5)

[State 310, Posadd]
type = Posadd
trigger1 = time >= 29
x = -2.5

[State 0, PosSet]
type = PosSet
trigger1 = parent,anim = 400
y = -38

[State 310, 1]
type = HitDef
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = ifelse((prevstateno=311),8,20), 0			;Damage that move inflicts, guard damage
animtype = Medium			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
;guard.pause = 13
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 0, 6			;Time attacker pauses, time opponent shakes
sparkno = -1;s9101				;Spark anim no (Def: set above)
guard.sparkno = -1;s9100   ;Y-offset for the spark rel. to p1
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s200, 20			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 13		;Time that the opponent slides back
ground.hittime  = 15		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
air.type = High			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 15			;Time before opponent regains control in air
ground.cornerpush.veloff = -8
air.cornerpush.veloff = -8
palfx.time = 10
palfx.mul = 256,256,256
palfx.sinadd = 0,0,0,0
palfx.add = 125,125,125
envshake.time = 6
envshake.ampl = 6

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9101
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 200, Explod]
type = Explod
trigger1 = MoveGuarded = 1
anim = 9100
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 3
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 310, 1]
type = HitDef
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = 20, 0			;Damage that move inflicts, guard damage
animtype = Light			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
;guard.pause = 13
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 0, 6			;Time attacker pauses, time opponent shakes
sparkno = -1;s9101				;Spark anim no (Def: set above)
guard.sparkno = -1;s9100   ;Y-offset for the spark rel. to p1
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s200, 20			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 10		;Time that the opponent slides back
ground.hittime  = 10		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
airguard.velocity = -1.9,-1.8	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 10			;Time before opponent regains control in air
ground.cornerpush.veloff = -8
guard.cornerpush.veloff = -8
air.cornerpush.veloff = -8
airguard.cornerpush.veloff = -8
envshake.time = 3
envshake.ampl = 2

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9101
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 200, Explod]
type = Explod
trigger1 = MoveGuarded = 1
anim = 9100
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 3
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 310, 1]
type = HitDef
Triggerall = enemynear, stateno = [130,155]
trigger1 = var(20) >= 175
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = 10, 0			;Damage that move inflicts, guard damage
animtype = Heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 20, 35			;Time attacker pauses, time opponent shakes
sparkno = -1;s9105				;Spark anim no (Def: set above)
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s150, 10			;Sound to play on hit
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 5		;Time that the opponent slides back
ground.hittime  = 12		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = High			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 12			;Time before opponent regains control in air
ground.cornerpush.veloff = -5
air.cornerpush.veloff = -5
palfx.time = 15
palfx.mul = 300,0,0
palfx.sinadd = 55,0,85,10
palfx.add = 0,0,0
envshake.time = 16
envshake.ampl = 8

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9105
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 310, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 300,0

[State 310, ChangeState]
type = ChangeState
Triggerall = time <= 22
Trigger1 = Parent, anim = 201  || Parent, anim = 601 || parent, anim = 401 ;&& Parent, animelem = 1
value = 311
ctrl = 0


[State 310, ChangeState]
type = ChangeState
Trigger1 = parent, movetype = H
value = 318
ctrl = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0;Parent, movetype = H
value = ifelse((parent, pos y < -10),300,300);value = ifelse((parent, pos y < -10),301,300)
ctrl = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = Parent, anim = 1300
value = 321
ctrl = 0


[State 0, ChangeState]
type = ChangeState
trigger1 = Parent, anim = 6000
value = 322
ctrl = 0
;---------------------------------------------------------------------------
;Staff - Attack 2
[Statedef 311]
type    = A
Movetype = A
physics = N
anim = 311
sprpriority = 3
velset = 0,0

[State 311, VarAdd]
type = VarAdd
trigger1 = var(20) < 175 && moveguarded
v = 20    ;fv =
value = 1

[State 311, VarAdd]
type = VarAdd
trigger1 = var(20) >= 175 && movehit
v = 20    ;fv =
value = -175

[State 311, Posadd]
type = Posadd
trigger1 = time >= 29
x = -2.5



[State 0, PosSet]
type = PosSet
trigger1 = parent,anim = 401
y = -38


[State 310, 1]
type = HitDef
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = 16, 0			;Damage that move inflicts, guard damage
animtype = Medium			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
;guard.pause = 13
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 0, 6			;Time attacker pauses, time opponent shakes
sparkno = -1;s9101				;Spark anim no (Def: set above)
guard.sparkno = -1;s9100   ;Y-offset for the spark rel. to p1
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s200, 20			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 13		;Time that the opponent slides back
ground.hittime  = 15		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
air.type = low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 15			;Time before opponent regains control in air
ground.cornerpush.veloff = -8
air.cornerpush.veloff = -8
palfx.time = 10
palfx.mul = 256,256,256
palfx.sinadd = 0,0,0,0
palfx.add = 125,125,125
envshake.time = 6
envshake.ampl = 6

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9101
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 200, Explod]
type = Explod
trigger1 = MoveGuarded = 1
anim = 9100
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 3
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 310, 1]
type = HitDef
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = 8, 0			;Damage that move inflicts, guard damage
animtype = Light			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
;guard.pause = 13
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 0, 6			;Time attacker pauses, time opponent shakes
sparkno = -1;s9101				;Spark anim no (Def: set above)
guard.sparkno = -1;s9100   ;Y-offset for the spark rel. to p1
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s200, 20			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 10		;Time that the opponent slides back
ground.hittime  = 10		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
airguard.velocity = -1.9,-1.8	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 10			;Time before opponent regains control in air
ground.cornerpush.veloff = -8
guard.cornerpush.veloff = -8
air.cornerpush.veloff = -8
airguard.cornerpush.veloff = -8
envshake.time = 3
envshake.ampl = 2

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9101
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 200, Explod]
type = Explod
trigger1 = MoveGuarded = 1
anim = 9100
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 3
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 310, 1]
type = HitDef
Triggerall = enemynear, stateno = [130,155]
trigger1 = var(20) >= 175
trigger1 = time = 0
attr = S, NA			;Attribute: Standing, Normal Attack
damage = 4, 0			;Damage that move inflicts, guard damage
animtype = Heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
hitflag = MAF			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 20, 35			;Time attacker pauses, time opponent shakes
sparkno = -1;s9105				;Spark anim no (Def: set above)
sparkxy = -35, -10		;X-offset for the "hit spark" rel. to p2,
hitsound = s150, 10			;Sound to play on hit
ground.type = low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 5		;Time that the opponent slides back
ground.hittime  = 12		;Time opponent is in hit state
ground.velocity = -4		;Velocity at which opponent is pushed
airguard.velocity = -1.9,-.8	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.type = low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -4,-3		;X-velocity at which opponent is pushed,
air.hittime = 12			;Time before opponent regains control in air
ground.cornerpush.veloff = -5
air.cornerpush.veloff = -5
palfx.time = 15
palfx.mul = 300,0,0
palfx.sinadd = 55,0,85,10
palfx.add = 0,0,0
envshake.time = 16
envshake.ampl = 8

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9105
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 311, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 300,0


[State 311, ChangeState]
type = ChangeState
Triggerall = time <= 22
Trigger1 = Parent, anim = 200  || Parent, anim = 600 || parent, anim = 400;&& Parent, animelem = 1
value = 310
ctrl = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0;Parent, movetype = H
value = ifelse((parent, pos y < -10),300,300);value = ifelse((parent, pos y < -10),301,300)
ctrl = 0


;[State 311, ChangeState]
;type = ChangeState
;Trigger1 = time = 20
;value = 303;316
;ctrl = 0

[State 310, ChangeState]
type = ChangeState
Trigger1 = parent, movetype = H
value = 318
ctrl = 0

[State 0, ChangeState]
type = ChangeState
trigger1 = Parent, anim = 1300
value = 321
ctrl = 0


[State 0, ChangeState]
type = ChangeState
trigger1 = Parent, anim = 6000
value = 322
ctrl = 0

;---------------------------------------------------------------------------
; Staff - When Hit / Guard
[Statedef 318]
type    = A
physics = N
Velset = 0,0
anim = 304
sprpriority = 3


[State 0, PosSet]
type = PosSet
trigger1 = Parent, movetype = H || enemynear, movetype = A && parent, Inguarddist ;Parent, stateno = 130 || Parent, stateno = 131 || Parent, stateno = 132
;trigger2 = parent, anim = [700,703]
trigger2 = parent, stateno = [130,155];anim = 5200 || parent, anim = 5210 || parent, anim =
x = parent, Pos x
y = parent, pos y -70



[State 0, ChangeState]
type = ChangeState
triggerall = parent, statetype != A
trigger1 = parent, movetype != H;Parent, movetype != H
value = 300
ctrl = 0


[State 0, ChangeState]
type = ChangeState
triggerall = parent, statetype = A
trigger1 = parent, movetype != H;Parent, movetype != H
value = 300;301
ctrl = 0


;---------------------------------------------------------------------------
; Staff - During Taunt
[Statedef 319]
type    = A
physics = N
Velset = 0,0
anim = 316
sprpriority = 7

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 195
x = parent, Pos x
y = parent, pos y


[State -1, ChangeState]
type = ChangeState
Triggerall = Parent, stateno = 200 && Parent, prevstateno != 200
Trigger1 = Parent, anim = 200 && Parent, animelem = 1
value = 310
ctrl = 0

[State -1, ChangeState]
type = ChangeState
Triggerall = Parent, stateno = 600 && Parent, prevstateno != 600
Trigger1 = Parent, anim = 600 && Parent, animelem = 1
value = 310
ctrl = 0

[State -1, ChangeState]
type = ChangeState
Triggerall = Parent, stateno = 400 && Parent, prevstateno != 400
Trigger1 = Parent, anim = 400 && Parent, animelem = 1
value = 310
ctrl = 0


[State 0, Cannon Pose]
type = ChangeState
trigger1 = Parent, anim = 1300
value = 321
ctrl = 0

[State 0, Hyper Cannon]
type = ChangeState
trigger1 = Parent, anim = 6000
value = 322
ctrl = 0


[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0 || parent, movetype = H
value = 300
ctrl = 0




;---------------------------------------------------------------------------
; Staff - During Intro
[Statedef 320]
type    = A
physics = N
Velset = 0,0
anim = 305
sprpriority = 3

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 190
x = (parent, Pos x) + 30*facing
y = parent, pos y



[State 0, VelSet]
type = VelSet
trigger1 = parent, anim = 191
x = -4.5
y = -4


[State 0, VelSet]
type = VelSet
trigger1 = pos y <= -70
x = 0
y = 0

[State 0, PosSet]
type = PosSet
trigger1 = pos y <= -70
y = parent, pos y -70

[State 0, ChangeState]
type = ChangeState
trigger1 = parent, anim = 0
value = 300
ctrl = 0

;---------------------------------------------------------------------------
; Staff - During Cannon Pose
[Statedef 321]
type    = A
physics = N
Velset = 0,0
anim = 315
sprpriority = 3

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 1300
x = parent, Pos x
y = parent, pos y

[State 300, Posadd]
type = Posadd
trigger1 = time = 11
y = 0;-70

[State 0, ChangeState]
type = ChangeState
trigger1 = parent, anim != 1300
value = 300
ctrl = 0

;---------------------------------------------------------------------------
; Staff - During Hyper Cannon Pose
[Statedef 322]
type    = A
physics = N
Velset = 0,0
anim = 1690
sprpriority = 0

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 6000
x = parent, Pos x
y = parent, pos y

[State 0, ChangeState]
type = ChangeState
trigger1 = parent, anim != 6000
value = 300
ctrl = 0





