;---------------------------------------------------------------------------
; Pigeon at Rest
[Statedef 255]
type    = S
physics = S
anim = 255
sprpriority = 5

[State 0, BindToParent]
type = BindToParent
Triggerall = Parent, anim = 250
trigger1 = 1
time = 99999
facing = 1
pos = -30,-83



[State 0, BindToParent]
type = BindToParent
Triggerall = Parent, anim = 450
trigger1 = 1
time = 99999
facing = 1
pos = -15,-55


[State 0, DestroySelf]
type = DestroySelf
trigger1 = Parent, anim = 251 || Parent, anim = 451 || Parent, Movetype = H


;---------------------------------------------------------------------------
; Pigeon at Flight #1
[Statedef 256]
type    = A
movetype = A
physics = N
anim = 256
sprpriority = 5

[State 0, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 255,0

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

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

[State 0, VelSet]
type = VelSet
trigger1 = time > 0 && time <= 45
x = 5

[State 0, PosAdd]
type = PosAdd
trigger1 = animelem = 2
y = -15

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 451
y = -15


[State 0, PosAdd]
type = PosAdd
trigger1 = parent, anim = 651 && time = 0
y = 20

[State 0, Velset]
type = Velset
trigger1 = time > 31 && time <= 49
x = 1.5
y = -1


[State 0, Velset]
type = Velset
trigger1 = time > 47 && time <= 67
x = -1.5
y = -1

[State 0, Explod]
type = Explod
trigger1 = time = 5
trigger2 = time = 10
anim = 259
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0

[State 0, Explod]
type = Explod
trigger1 = time = 7
trigger2 = time = 12
anim = 259
pos = 0,5
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0


[State 655, 1]
type = HitDef
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 60, 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
hitflag = MAFP			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 14		;Time that the opponent slides back
ground.hittime  = 22		;Time opponent is in hit state
ground.velocity = -7		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -6.5,-4.5		;X-velocity at which opponent is pushed,
air.hittime = 22
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
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 = 9103
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 655, 1]
type = HitDef
triggerall = Parent, anim = 451
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 60, 0			;Damage that move inflicts, guard damage
animtype = medium			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = LA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = Low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 14		;Time that the opponent slides back
ground.hittime  = 22		;Time opponent is in hit state
ground.velocity = -7		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -6.5,-4.5		;X-velocity at which opponent is pushed,
air.hittime = 22
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
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 = 9103
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 655, 1]
type = HitDef
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 50, 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
hitflag = MAFP			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;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  = 18		;Time opponent is in hit state
ground.velocity = -5		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -5,-4		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 18
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
envshake.time = 5
envshake.ampl = 4

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9103
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 655, 1]
type = HitDef
triggerall = parent, anim = 451
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 50, 0			;Damage that move inflicts, guard damage
animtype = medium			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = LA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 3, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;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  = 18		;Time opponent is in hit state
ground.velocity = -5		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -5,-4		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 18
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
envshake.time = 5
envshake.ampl = 4

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9103
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 655, 1]
type = HitDef
Triggerall = enemynear, stateno = [130,155]
trigger1 = var(20) >= 160
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 25, 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 = -5, 0		;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 = 10		;Time that the opponent slides back
ground.hittime  = 14		;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 = -3,-3		;X-velocity at which opponent is pushed,
air.hittime = 14
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
palfx.time = 15
palfx.mul = 250,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 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA;,NA,SA,HA,NP,SP,HP,NT,ST,HT
time = 9999


[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0 ;time = 67
value = 259
ctrl = 0


;---------------------------------------------------------------------------
; Pigeon at Flight #2
[Statedef 257]
type    = A
movetype = A
physics = N
anim = 256
sprpriority = 5

[State 257, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 255,0


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

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

[State 0, VelSet]
type = VelSet
trigger1 = time > 0 && time <= 45
x = 7

[State 0, PosAdd]
type = PosAdd
trigger1 = animelem = 2
y = -15

[State 0, PosSet]
type = PosSet
trigger1 = parent, anim = 451
y = -15

[State 0, PosAdd]
type = PosAdd
trigger1 = parent, anim = 651 && time = 0
y = 20


[State 0, Velset]
type = Velset
trigger1 = time > 41 && time <= 49
x = 1.5
y = -1

[State 0, Velset]
type = Velset
trigger1 = time > 49 && time <= 67
x = -1.5
y = -1

[State 0, Explod]
type = Explod
trigger1 = time = 4
trigger2 = time = 9
anim = 259
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0

[State 0, Explod]
type = Explod
trigger1 = time = 5
trigger2 = time = 10
anim = 259
pos = 0,5
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0


[State 655, 1]
type = HitDef
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 80			;Damage that move inflicts, guard damage
animtype = heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 7		;Time that the opponent slides back
ground.hittime  = 27		;Time opponent is in hit state
ground.velocity = -8, -4		;Velocity at which opponent is pushed
fall = 1
air.fall = 1
fall.recover = 1
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -9,-7		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 27
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
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 = 9103
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 655, 1]
type = HitDef
triggerall = parent, anim = 451
triggerall = enemynear, movetype = A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 80			;Damage that move inflicts, guard damage
animtype = heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = LA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = Trip		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 7		;Time that the opponent slides back
ground.hittime  = 27		;Time opponent is in hit state
ground.velocity = -8, -4		;Velocity at which opponent is pushed
fall = 1
air.fall = 1
fall.recover = 1
air.type = trip			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -9,-7		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 27
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
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 = 9103
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 655, 1]
type = HitDef
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 80			;Damage that move inflicts, guard damage
animtype = heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 7		;Time that the opponent slides back
ground.hittime  = 24		;Time opponent is in hit state
ground.velocity = -8		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -7,-5		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 24
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
envshake.time = 5
envshake.ampl = 4

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9103
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 655, 1]
type = HitDef
triggerall = parent, anim = 451
triggerall = enemynear, movetype != A
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 80			;Damage that move inflicts, guard damage
animtype = heavy			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = LA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 7			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
guard.sparkno = -1;s9100;Y-offset for the spark rel. to p1
hitsound = s200, 50			;Sound to play on hit
guardsound = s150, 0			;Sound to play on guard
ground.type = low		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 7		;Time that the opponent slides back
ground.hittime  = 24		;Time opponent is in hit state
ground.velocity = -8		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -7,-5		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 24
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
envshake.time = 5
envshake.ampl = 4

[State 200, Explod]
type = Explod
trigger1 = MoveHit = 1
anim = 9103
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 655, 1]
type = HitDef
Triggerall = enemynear, stateno = [130,155]
trigger1 = var(20) >= 155
trigger1 = time = 0
attr = A, NP			;Attribute: Standing, Normal Attack
damage = 40			;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 = 5, 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 = -5, 0		;X-offset for the "hit spark" rel. to p2,
hitsound = s150, 50			;Sound to play on hit
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 7		;Time that the opponent slides back
ground.hittime  = 15		;Time opponent is in hit state
ground.velocity = -5		;Velocity at which opponent is pushed
air.type = Low			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -3,-3		;X-velocity at which opponent is pushed,
air.hittime = 15
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
palfx.time = 15
palfx.mul = 250,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 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA;,NA,SA,HA,NP,SP,HP,NT,ST,HT
time = 9999

[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0 ;time = 67
value = 259
ctrl = 0

;---------------------------------------------------------------------------
; Pigeon at Flight #3
[Statedef 258]
type    = A
movetype = A
physics = N
anim = 258
sprpriority = 5

[State 258, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = 255,0


[State 0, VelSet]
type = VelSet
trigger1 = time > 0 && time <= 48
x = 8.5

[State 0, VelSet]
type = VelSet
trigger1 = time > 48 && time <= 59
x = 4

[State 0, PosAdd]
type = PosAdd
trigger1 = animelem = 2
y = -15

[State 0, PosAdd]
type = PosAdd
trigger1 = parent, anim = 651 && time = 0
y = 20


[State 0, Velset]
type = Velset
trigger1 = time > 62 && time <= 76
x = 1.5
y = -1

[State 0, Velset]
type = Velset
trigger1 = time > 76 && time <= 89
x = -1.5
y = -1

[State 0, Explod]
type = Explod
trigger1 = time = 3
trigger2 = time = 8
anim = 259
pos = 0,0
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0

[State 0, Explod]
type = Explod
trigger1 = time = 4
trigger2 = time = 9
anim = 259
pos = 0,5
postype = p1  ;p2,front,back,left,right
facing = 1
bindtime = 1
vel = 0,0.1
removetime = 100
scale = const(size.xscale),const(size.yscale)
sprpriority = 4
ownpal = 0


[State 655, 1]
type = HitDef
triggerall = enemynear, movetype = A
Triggerall = enemynear, stateno != [130,131]
trigger1 = Time = 0
attr = A, NA			;Attribute: Standing, Normal Attack
damage = 115, 0			;Damage that move inflicts, guard damage
animtype = back			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 11			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = s9105				;Spark anim no (Def: set above)
sparkxy = -5, 0		;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 = 10		;Time that the opponent slides back
ground.hittime  = 35		;Time opponent is in hit state
ground.velocity = -9,-6		;Velocity at which opponent is pushed
air.type = Low
Fall = 1
Air.Fall = 1
Air.recover = 0			;Type: High, Low, Trip (def: same as ground.type)
air.velocity = -9,-5		;X-velocity at which opponent is pushed,
air.hittime = 35
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
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 = 9105
postype = p2
pos = 12,-75
persistent = 0
sprpriority = 7
ignorehitpause = 1
scale = const(size.xscale),const(size.yscale)

[State 655, 1]
type = HitDef
Triggerall = enemynear, stateno = [130,131]
Trigger1 = Time = 0
attr = A, NA			;Attribute: Standing, Normal Attack
damage = 50			;Damage that move inflicts, guard damage
animtype = back
air.animtype = Back			;Animation type: Light, Medium, Heavy, Back (def: Light)
hitflag = MAFP			;Flags of conditions that move can hit
priority = 6, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 10,35 			;Time attacker pauses, time opponent shakes
sparkno = -1;s9105				;Spark anim no (Def: set above)
sparkxy = -5, 0		;X-offset for the "hit spark" rel. to p2,
hitsound = s200, 50			;Sound to play on hit
ground.type = High		;Type: High, Low, Trip (def: Normal)
ground.slidetime = 10		;Time that the opponent slides back
ground.hittime  = 15		;Time opponent is in hit state
ground.velocity = -5 		;Velocity at which opponent is pushed
air.type = high
air.velocity = -5,-4		;X-velocity at which opponent is pushed,
air.hittime = 30
ground.cornerpush.veloff = 0
guard.cornerpush.veloff = 0
palfx.time = 15
palfx.mul = 250,0,0
palfx.sinadd = 55,0,85,10
palfx.add = 0,0,0
envshake.time = 16
envshake.ampl = 8
persistent = 1

[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 655, 1]
type = HitDef
triggerall = enemynear, movetype != A
Triggerall = enemynear, stateno != [130,131]
trigger1 = Time = 0
attr = A, NA			;Attribute: Standing, Normal Attack
damage = 105, 0			;Damage that move inflicts, guard damage
animtype = back			;Animation type: Light, Medium, Heavy, Back (def: Light)
guardflag = MA			;Flags on how move is to be guarded against
hitflag = MAFP			;Flags of conditions that move can hit
priority = 5, Hit			;Attack priority: 0 (least) to 7 (most), 4 default
pausetime = 7, 8			;Time attacker pauses, time opponent shakes
guard.pause = 20
sparkno = -1;s9103				;Spark anim no (Def: set above)
sparkxy = -5, 0		;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 = 10		;Time that the opponent slides back
ground.hittime  = 30		;Time opponent is in hit state
ground.velocity = -6,-5		;Velocity at which opponent is pushed
air.type = Low
Fall = 1
Air.Fall = 1
Air.recover = 1			;Type: High, Low, Trip (def: same as ground.type)
Air.recovertime = 60
air.velocity = -5,-4		;X-velocity at which opponent is pushed,
airguard.velocity = -3, -3	;Guard velocity in air (def: (air.xvel*1.5, air.yvel/2))
air.hittime = 30
ground.cornerpush.veloff = -3
guard.cornerpush.veloff = -3
envshake.time = 5
envshake.ampl = 4

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

[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA;,NA,SA,HA,NP,SP,HP,NT,ST,HT
time = 9999



[State 0, ChangeState]
type = ChangeState
trigger1 = animtime = 0; time = 97
value = 259
ctrl = 0

;---------------------------------------------------------------------------
; Pigeon Return
[Statedef 259]
type    = A
movetype = A
physics = N
anim = 257
sprpriority = 5


[State 0, posadd]
type = posadd
trigger1 = time = 0
x = -9


[State 0, VelSet]
type = posadd
trigger1 = vel y !=0
x = ifelse((parentdist x <= 30),-2,-5)

[State 0, Velset]
type = Posadd
triggerall = parentdist y < -50
trigger1 = parent, pos y < pos y
y = ifelse((parent, vel y < -2),-4.5,-8)


[State 0, Velset]
type = posadd
Triggerall = parentdist y >= 50;parent, pos y < 0
trigger1 = parent, pos y > pos y && parent, vel y > 2
trigger2 = parent, pos y > pos y && parent, pos y = 0 && pos y < -75
y = 5


[State 0, VelAdd]
type = posadd
trigger1 = parent, pos y = 0 && Pos y >= -55
trigger2 = parent, vel y = 0 && parent, pos Y < 0 && pos y <= -50;parentdist y = [-1,1]
y = 0


[State 0, DestroySelf]
type = DestroySelf
trigger1 = Parentdist X < 0 && parentdist X > -15




;---------------------------------------------------------------------------
; Pigeon at Rest - Air
[Statedef 260]
type    = S
physics = S
anim = 255
sprpriority = 5

[State 0, BindToParent]
type = BindToParent
trigger1 = 1
time = 200
facing = 1
pos = -20,-90


[State 0, DestroySelf]
type = DestroySelf
trigger1 = parent, anim = 651 || Parent, Movetype = H || Parent, pos y >= 0



;---------------------------------------------
;Pigeon Limit - Activate
[Statedef 290]
type    = A
movetype= A
physics = N
velset = 0,0  ;1,-2
ctrl = 0
anim = 1690
sprpriority = 3

[State 0, BindToParent]
type = BindToParent
trigger1 = 1
time = 9999
facing = 1
pos = 0,0



[State 0, DestroySelf]
type = DestroySelf
trigger1 = numhelper(291) = 0





