YesNoOk
avatar

Character misplacement bug (Read 615 times)

Started by Diek Stiekem, August 03, 2021, 07:00:31 pm
Share this topic:
Character misplacement bug
#1  August 03, 2021, 07:00:31 pm
  • ***
    • Netherlands
I have released a character some time ago and got this feedback:



When throw clash, sometimes Ogre flies of screen (this does not happen everytime).
I'm kinda lost, since debug doesn't give me any error messages.

Same thing happens when Ogre uses his Owl's Hunt special move and gets grabbed during the startup.
Once again, the same story as the former.

Could anyone help me out please?
Thanks ahead for your time and effort.

Code to everything throw related:
Quote

;---------------------------------------------------------------------------
;Throw - Attempt
; CNS difficulty: medium-advanced
[Statedef 800]
type    = S
movetype= A
physics = S
juggle  = 0
velset = 0,0
ctrl = 0
anim = 800
facep2 = 1

[State 800, Button Detect]
type = VarSet
trigger1 = !Time
var(10) = (command = "pp")

[State 800, Throw Escape Reset]
type = VarSet
trigger1 = 1
var(19) = 0

[State 800, Escape]
type = VarSet
trigger1 = NumEnemy
trigger1 = (EnemyNear, StateNo = [0,899]) && (EnemyNear, StateNo != [100,104]) && (EnemyNear, StateNo != [600,799])
var(19) = 7

[State 800, AttackDist]
type = AttackDist
trigger1 = 1
value = 0

[State 800, Throw 1]
type = Hitdef
trigger1 = AnimElem = 1
trigger1 = !var(38)
attr = S, NT
priority = 3,Miss
getpower = 35 * !var(20)
givepower = 0
hitflag = M-
numhits = 0
sparkno = -1
p1stateno = ifelse (command = "holdback", 805,810)
hitsound = s800, 0
fall = 1
fall.recover = 0

[State 800, Throw 2]
type = Hitdef
trigger1 = AnimElem = 1 && var(10)
trigger1 = !var(38)
attr = S, NT
priority = 3,Miss
getpower = 35 * !var(20)
givepower = 0
hitflag = M-
numhits = 0
sparkno = -1
p1stateno = ifelse (command = "holdback", 805,830)
hitsound = s800, 0
fall = 1
fall.recover = 0

[State 800, Miss Voice]
type = PlaySnd
trigger1 = AnimElem = 4
value = 800,1
channel = 0

[State 800, Swing Snd]
type = PlaySnd
trigger1 = AnimElem = 2
value = 1,0
channel = 1

[State 800, StateTypeSet: Idle]
type = StateTypeSet
trigger1 = AnimElemTime(2) >= 0
moveType = I

[State 800, End]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1

;Thrwo Switching Sides
[StateDef 805]
type = S
moveType = A
physics = S
anim = 805
ctrl = 0
sprPriority = 0

[State 805, TargetState]
type = TargetState
trigger1 = !Time && NumTarget
value = 806

[State 805, TargetFacing]
type = TargetFacing
trigger1 = !Time && NumTarget
value = -1

[State 805, Width]
type = Width
trigger1 = 1
edge = 24,24

[State 805, Turn]
type = Turn
trigger1 = AnimElem = 3

[State 805, Facing]
type = TargetFacing
trigger1 = 1
value = -1

[State 805, Throw Escape]
type = ChangeState
trigger1 = NumTarget && var(19)
trigger1 = (Target, command = "holdfwd" || Target, command = "holdback")
trigger1 = (Target, command = "b" || Target, command = "c" || Target, command = "y" || Target, command = "z")
value = 890

[State 805, Throw Escape Countdown]
type = VarAdd
trigger1 = var(19) > 0
var(19) = -1

[State 805, TargetBind 1]
type = TargetBind
trigger1 = AnimElemTime(2) < 0
pos = ceil(58 * const(size.xScale)), 0

[State 805, TargetBind 2]
type = TargetBind
trigger1 = AnimElemTime(2) >= 0
pos = ceil(31 * const(size.xScale)), 0

[State 805, SprPriority -1]
type = SprPriority
trigger1 = AnimElemTime(2) >= 0
value = -1

[State 805, End]
type = ChangeState
trigger1 = !NumTarget
value = 0
ctrl = 1

[State 805, End]
type = ChangeState
trigger1 = AnimElemTime(3) > 0
value = ifelse(var(10),830,810)

;Throw Switching Sides (Target)
[StateDef 806]
type = A
moveType = H
physics = N
velSet = 0,0
sprPriority = 0

[State 806, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

[State 806, ChangeAnim2]
type = ChangeAnim2
trigger1 = !Time
value = 806

[State 806, ScreenBound]
type = ScreenBound
trigger1 = 1
value = 0
moveCamera = 1,1

[State 806, SelfState]
type = SelfState
trigger1 = Time >= 60
value = ifElse(pos y < 0, 5040, 0)
ctrl = 1

;---------------------------------------------------------------------------
;Double Face Kick
[Statedef 810]
type = S
movetype = A
physics = S
anim = 810
velset = 0, 0
poweradd = 0
sprpriority = 2

[State 810, Safety]
type = ChangeState
trigger1 = !Time && !NumTarget
value = 0
ctrl = 1

[State 810, More Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 810, Throw Escape]
type = ChangeState
trigger1 = NumTarget && var(19)
trigger1 = (Target, command = "holdfwd" || Target, command = "holdback")
trigger1 = (Target, command = "b" || Target, command = "c" || Target, command = "y" || Target, command = "z")
value = 890

[State 810, Throw Escape]
type = VarAdd
trigger1 = var(19) > 0
var(19) = -1

[State 810, TargetState]
type = TargetState
trigger1 = !Time && NumTarget
value = 820

[State 810, ChangeAnim]
type = ChangeAnim
trigger1 = PrevStateNo = 805 && !Time
value = 810
elem = 1;1

[State 810, Target Facing]
type = TargetFacing
trigger1 = Time <= 1
value = -1

[State 810, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 810, Voice]
type = PlaySnd
trigger1 = AnimElem = 9
value = 0, 1
channel = 0

[State 810, hit Sound]
type = PlaySnd
trigger1 = AnimElem = 3
trigger2 = Animelem = 8
value = 1, 5
channel = 1

[State 810, hit Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 2, 0
channel = 1

[State 810, hit Sound]
type = PlaySnd
trigger1 = Animelem = 9
value = 2, 1
channel = 1

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =1
value = 2

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
pos = 50, 0

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =2
value = 2

[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
pos = 50, 0

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =3
value = 2

[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 3
pos = 50, 0

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =4
value = 2

[State 810, Bind 4]
type = TargetBind
trigger1 = AnimElem = 4
pos = 50, 0

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =5
value = 2

[State 810, Bind 5]
type = TargetBind
trigger1 = AnimElem = 5
pos = 50, 0

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =6
value = 0

[State 810, Bind 6]
type = TargetBind
trigger1 = AnimElem = 6
pos = 50, 0

[State 810, Bind 7]
type = TargetBind
trigger1 = AnimElem = 7
pos = 50, 0

[State 810, Bind 8]
type = TargetBind
trigger1 = AnimElem = 8
pos = 50, 0

[State 810, Bind 9]
type = TargetBind
trigger1 = AnimElem = 9
pos = 62, 0

[State 810, Damage 11]
type = TargetLifeAdd
trigger1 = animelem = 5 || animelem = 9
value = floor(ifElse(60 * fvar(11) < 7, -7, -60 * fvar(11)))

[State 821, Hit Spark]
type = Helper
trigger1 = animelem = 4 || animelem = 9
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(70 * const(size.xscale)), ceil(-90 * const(size.yscale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 810, Throw]
type = TargetState
trigger1 = AnimElem = 10
value = 821

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 4
trigger2 = animelem = 9
time = 8
freq = 70
ampl = -3
phase = 90

[State 810, TargetPowerAdd]
type = TargetPowerAdd
trigger1 = NumTarget && AnimElem = 11
value = 35

[State 810, PowerAdd]
type = PowerAdd
trigger1 = NumTarget && AnimElem = 11 && !var(20)
value = 70

[State 810, HitAdd]
type = HitAdd
trigger1 = NumTarget && AnimElem = 11
value = 1

[State 810, VarAdd]
type = VarAdd
trigger1 = NumTarget && AnimElem = 11
var(13) = 1

[State 810, Juggle]
type = VarAdd
trigger1 = NumTarget && AnimElem = 11
var(15) = 1
ignoreHitPause = 1

[State 810, Juggle]
type = VarSet
trigger1 = NumTarget && AnimElem = 11
var(16) = 1
ignoreHitPause = 1

[State 810, State End]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Thrown by Double Face Kick
;---------------------------------------------------------------------------
[Statedef 820]
type = A
movetype = H
physics = N
velset = 0,0
sprpriority = 1

[State 820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 820

;----------------------------------------------------------------------
[Statedef 821]
type = A
movetype = H
physics = N
velset = -7,-1.2
poweradd = 40

[State 821, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .2

[State 821, 2] ; Recover near ground (use ChangeState)
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 821, 3] ; Recover in mid air (use SelfState)
type = SelfState
triggerall = Vel Y > 0
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5110 ;Hit ground

;---------------------------------------------------------------------------
; Acute Pain
[Statedef 830]
type = S
movetype = A
physics = S
anim = 830
velset = 0, 0
poweradd = 0
sprpriority = 2

[State 810, Safety]
type = ChangeState
trigger1 = !Time && !NumTarget
value = 0
ctrl = 1

[State 810, More Safety]
type = NotHitBy
trigger1 = 1
value = SCA

[State 810, Throw Escape]
type = ChangeState
trigger1 = NumTarget && var(19)
trigger1 = (Target, command = "holdfwd" || Target, command = "holdback")
trigger1 = (Target, command = "b" || Target, command = "c" || Target, command = "y" || Target, command = "z")
value = 890

[State 810, Throw Escape]
type = VarAdd
trigger1 = var(19) > 0
var(19) = -1

[State 810, TargetState]
type = TargetState
trigger1 = !Time && NumTarget
value = 840

[State 810, ChangeAnim]
type = ChangeAnim
trigger1 = PrevStateNo = 805 && !Time
value = 830
elem = 1;1

[State 810, Target Facing]
type = TargetFacing
trigger1 = Time <= 1
value = -1

[State 810, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = NoAutoTurn

[State 210, Voice]
type = Playsnd
trigger1 = Animelem = 1 && Random < 400
value = 0, 0
channel = 0

[State 210, Swing Snd]
type = Playsnd
trigger1 = AnimElem = 5
value = 1,2
channel = 1

[State 210, Swing Snd]
type = Playsnd
trigger1 = AnimElem = 7
value = 1,2
channel = 1

[State 210, Swing Snd]
type = Playsnd
trigger1 = AnimElem = 9
value = 1,2
channel = 1

[State 210, Hit Snd]
type = Playsnd
trigger1 = AnimElem = 6
value = 2,2
channel = 2

[State 210, Hit Snd]
type = Playsnd
trigger1 = AnimElem = 8
value = 2,2
channel = 2

[State 210, Hit Snd]
type = Playsnd
trigger1 = AnimElem = 10
value = 2,2
channel = 2

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =1
value = 2

[State 810, Bind 1]
type = TargetBind
trigger1 = AnimElem = 1
pos = 15, -15

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =2
value = 2

[State 810, Bind 2]
type = TargetBind
trigger1 = AnimElem = 2
pos = 40, -25

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =3
value = 2

[State 810, Bind 3]
type = TargetBind
trigger1 = AnimElem = 3
pos = 65, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =4
value = 2

[State 810, Bind 4]
type = TargetBind
trigger1 = AnimElem = 4
pos = 95, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =5
value = 2

[State 810, Bind 5]
type = TargetBind
trigger1 = AnimElem = 5
pos = 115, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =6
value = 2

[State 810, Bind 6]
type = TargetBind
trigger1 = AnimElem = 6
pos = 95, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =7
value = 2

[State 810, Bind 7]
type = TargetBind
trigger1 = AnimElem = 7
pos = 115, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =8
value = 2

[State 810, Bind 8]
type = TargetBind
trigger1 = AnimElem = 8
pos = 95, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =9
value = 2

[State 810, Bind 7]
type = TargetBind
trigger1 = AnimElem = 9
pos = 115, -35

[State 810, SprPriority]
type = SprPriority
trigger1 = AnimElem =10
value = 2

[State 810, Bind 8]
type = TargetBind
trigger1 = AnimElem =10
pos = 115, -35


[State 810, Damage 11]
type = TargetLifeAdd
trigger1 = animelem = 6 || animelem = 10
value = floor(ifElse(60 * fvar(11) < 7, -7, -60 * fvar(11)))

[State 821, Hit Spark]
type = Helper
trigger1 = animelem = 6
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(115 * const(size.xscale)), ceil(-110 * const(size.yscale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 821, Hit Spark]
type = Helper
trigger1 = animelem = 8
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(115 * const(size.xscale)), ceil(-90 * const(size.yscale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 821, Hit Spark]
type = Helper
trigger1 = animelem = 10
helperType = Normal
stateNo = 8012
ID = 8000
name = "Spark"
posType = P1
pos = ceil(115 * const(size.xscale)), ceil(-110 * const(size.yscale))
ownPal = 1
pauseMoveTime = 65535
superMoveTime = 65535
ignoreHitPause = 1

[State 810, Throw]
type = TargetState
trigger1 = AnimElem = 11
value = 841

[State 0, EnvShake]
type = EnvShake
trigger1 = animelem = 6 || animelem = 8 || animelem = 10
time = 8
freq = 120
ampl = 4
phase = 90

[State 810, TargetPowerAdd]
type = TargetPowerAdd
trigger1 = NumTarget && AnimElem = 4
trigger1 = NumTarget && AnimElem = 8
trigger2 = NumTarget && AnimElem = 10
value = 17

[State 810, PowerAdd]
type = PowerAdd
trigger1 = NumTarget && AnimElem = 4
trigger2 = NumTarget && AnimElem = 10
value = 35

[State 810, HitAdd]
type = HitAdd
trigger1 = NumTarget && AnimElem = 4
trigger1 = NumTarget && AnimElem = 8
trigger2 = NumTarget && AnimElem = 10
value = 1

[State 810, VarAdd]
type = VarAdd
trigger1 = NumTarget && AnimElem = 4
trigger1 = NumTarget && AnimElem = 8
trigger2 = NumTarget && AnimElem = 10
var(13) = 1

[State 810, Juggle]
type = VarAdd
trigger1 = NumTarget && AnimElem = 4
trigger1 = NumTarget && AnimElem = 8
trigger2 = NumTarget && AnimElem = 10
var(15) = 1
ignoreHitPause = 1

[State 810, Juggle]
type = VarSet
trigger1 = NumTarget && AnimElem = 4
trigger1 = NumTarget && AnimElem = 8
trigger2 = NumTarget && AnimElem = 10
var(16) = 1
ignoreHitPause = 1

[State 810, State End]
type = ChangeState
trigger1 = !AnimTime
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Thrown by Acute Pain
;---------------------------------------------------------------------------
[Statedef 840]
type = A
movetype = H
physics = N
velset = 0,0
sprpriority = 1

[State 820, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 840

[State 820, 1]
type = ChangeAnim
Trigger1 = Time = 28
trigger1 = selfanimexist(5070)
value = 5017


;----------------------------------------------------------------------
[Statedef 841]
type = A
movetype = H
physics = N
velset = -1.5,-6
poweradd = 40

[State 821, 1] ;Gravity
type = VelAdd
Trigger1 = 1
y = .58

[State 821, 2] ; Recover near ground (use ChangeState)
type = ChangeState
triggerall = Vel Y > 0
triggerall = Pos Y >= -20
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5200 ;HITFALL_RECOVER

[State 821, 3] ; Recover in mid air (use SelfState)
type = SelfState
triggerall = Vel Y > 0
triggerall = alive
triggerall = CanRecover
trigger1 = Command = "recovery"
value = 5210 ;HITFALL_AIRRECOVER

[State 821, 4] ;Hit ground
type = SelfState
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100 ;Hit ground

;===========<THROW ESC'D>==========
[StateDef 890]
type = S
physics = N
movetype = I
anim = 5945
ctrl = 0
velset = 0,0
sprPriority = 1

[State 890, TargetBind]
type = TargetBind
trigger1 = !Time && NumTarget
pos = 40,0

[State 890, TargetState]
type = TargetState
trigger1 = !Time && NumTarget
value = 895

[State 890, TargetFacing]
type = TargetFacing
trigger1 = !Time && NumTarget
value = -1

[State 890, PosAdd]
type = PosAdd
trigger1 = !Time
x = 24

[State 890, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

[State 890, PlayerPush]
type = PlayerPush
trigger1 = 1
value = 5

[State 890, SprPriority 1]
type = SprPriority
trigger1 = AnimElemTime(6) >= 0
value = 1

[State 890, SprPriority -1]
type = SprPriority
trigger1 = AnimElemTime(2) <= 0
value = -1

[State 890, PosSet]
type = PosSet
trigger1 = !Time
y = 0

[State 890, VelSet]
type = VelSet
trigger1 = 1
x = 6
y = 6

[State 890, Voice]
type = PlaySnd
trigger1 = AnimElem = 2
value = 800,1
channel = 0

[State 890, Escape Sound]
type = PlaySnd
trigger1= !Time
value = 130,0

[State 890, Throw Escape FX]
type = Helper
trigger1 = !Time
helperType = Normal
stateNo = 8000
ID = 8000
name = "Spark"
PosType = P1
pos = 0, -54
facing = -1
ownPal = 1
size.xScale = 0.5
size.yScale = 0.5
pauseMoveTime = 65535
superMoveTime = 65535

[State 890, End]
type = ChangeState
trigger1 = Time >= 27
value = 0
ctrl = 1

;Target Escape
[StateDef 895]
type = S
physics = N
moveType = I
ctrl = 0
velSet = 0,0
sprPriority = 1

[State 895, ChangeAnim]
type = ChangeAnim
trigger1= !Time
value = ifElse(SelfAnimExist(5940), 5940, 130)

[State 895, ChangeAnim]
type = ChangeAnim
trigger1 = !Time && !SelfAnimExist(5945) && SelfAnimExist(5940)
value = 5940

[State 895, ChangeAnim]
type = ChangeAnim
trigger1= !Time && !SelfAnimExist(5945) && !SelfAnimExist(5940) && SelfAnimExist(5910)
value = 5910

[State 895, ChangeAnim]
type = ChangeAnim
trigger1 = Time >= 20 && Anim = 130
value = 140

[State 895, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
time = 1

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

[State 895, PosSet]
type = PosSet
trigger1 = !Time
y = 0

[State 895, VelSet]
type = VelSet
trigger1 = 1
x = -1.425
y = 0

[State 895, End]
type = SelfState
trigger1 = Time >= 27
value = 0
ctrl = 1




EVERYTHING CODE RELATED TO OWL's HUNT:

Quote

;---------------------------------------------------------------------------
;Owl´s Hunter
[Statedef 1500]
type    = S
movetype = A
physics = S
juggle = 8
velset = 0,0
ctrl = 0
anim = 1500

[State 220, Position]
type = PosSet
trigger1 = Time = 0
y = 0



[State 170, 1]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 65



[State 906, ScreenBound]
type = ScreenBound
trigger1 = AnimElemTime(4) >= 0
value = 0

[State 900, 0]
type = PosAdd
trigger1 = AnimElem = 4
x = (P2dist X)-20
y = -210

[State 1100, Velocity]
type = VelSet
trigger1 = AnimElem = 5
y = 15

[State 1100, StateType]
type = StateTypeSet
trigger1 = AnimElem = 4
StateType = A
physics = N

[State 1100, Velocity]
type = playerpush
trigger1 = 1
value = 0



[State 52, Effect]
type = PlaySnd
trigger1 = AnimTime = 0
value = 40,0
channel = 20

[State 1100, 2]
type = HitDef
trigger1 = Time = 0
attr = S, SA
animtype  = diagup
priority  = 5
guardflag = MA
pausetime = 0,1;4,8
guard.pausetime = 13,13
sparkNo = -1 + 0 * (var(33) := 8013)
guard.sparkNo = -1 + 0 * (var(34) := 8001)
sparkxy = -10, -25
hitsound = s10,21
guardsound = 6,0
damage    = 100,10
ground.type = high
ground.slidetime = 15
ground.hittime  = 18
ground.velocity = -1,-7.5
guard.velocity = -6
air.velocity = -2,-6
airguard.velocity = -4,-4.5
air.cornerpush.veloff=0
p2facing = 1
fall = 1
fall.recover = 0
yaccel = .4
envshake.time = 18
envshake.ampl = 5
palfx.color = 256
palfx.add = ifelse(var(14),256,192),ifelse(var(14),256,64),ifelse(var(14),256,0)
palfx.sinadd = -192,-64,0,ifelse(var(14),0,3)
palfx.mul = ifelse(var(14),128,256),ifelse(var(14),128,256),ifelse(var(14),128,256)
palfx.time = ifelse(var(14),10,60)
envshake.time = 12
envshake.ampl = 6; or 7
fall.envshake.time = 20
fall.envshake.ampl = 8

[State 1000, Spark]
type = Explod
trigger1 = Time = 33
Anim = 8700
pos = 0, 0
postype = p1
ownpal = 1
bindtime = 1
pausemovetime = -1
supermove = 1
ignorehitpause = 1
scale = 1.5,1.5
sprpriority = 2

[State 1050, 1]
type = PlaySnd
trigger1 = AnimElem = 5
value = 1,3

[State 1050, 1]
type = PlaySnd
trigger1 = AnimElem = 1
value = 1,5

[State 200]
type = PlaySnd
trigger1 = movehit=1 && numtarget
trigger1 = target,time=0
value = 2,8
channel = 30
ignorehitpause=1

[State 1605, Helper]
type = Helper
trigger1 = !Time
ID = 3605
stateno = 3605
postype = p1
pos = 0,0
name = "Fade 1"

[State 1605, Helper]
type = Helper
trigger1 = !Time
ID = 3606
stateno = 3605
postype = p1
pos = 0,0
name = "Fade 2"

;[State 1100, ChangeState]
;type = ChangeState
;triggerall = var(36) = 1 && numtarget
;trigger1 = Pos Y >= 0 && Vel Y > 0
;value = 1502

[State 1100, ChangeState]
type = ChangeState
trigger1 = Pos Y >= 0 && Vel Y > 0
value = 1501



;---------------------------------------------------------------------------
;Owl's Hunter miss
[Statedef 1501]
type    = S
physics = S
ctrl = 0
anim = 1501
velset = 0,0

[State 52, 2]
type = PosSet
trigger1 = Time = 0
y = 0



[State 52, Effect]
type = PlaySnd
trigger1 = Time = 1
value = 100,0
channel = 20

[State 52, Effect]
type = PlaySnd
trigger1 = AnimElem = 1
value = 2, 7

[State 903, EnvShake]
type = EnvShake
trigger1 = Time = 1
time = 20

[State 52, 4]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
;Owl's Hunter Hit
[Statedef 1502]
type    = S
physics = S
ctrl = 0
anim = 1502
velset = 0,0

[State 52, 2]
type = PosSet
trigger1 = Time = 0
y = 0



[State 52, Effect]
type = PlaySnd
trigger1 = Time = 1
value = 100,0
channel = 20

[State 450, Voice]
type = PlaySnd
trigger1 = AnimElem = 1
value = 3400,4

[State 52, Effect]
type = PlaySnd
trigger1 = AnimElem = 1
value = 3400, 0

[State 52, Effect]
type = PlaySnd
trigger1 = AnimElem = 1
value = 5100, 1

[State 903, EnvShake]
type = EnvShake
trigger1 = Time = 1
time = 25
ampl = 8





If needed the entire character can be found here:

https://www.mediafire.com/file/jewbbbl8zmq89py/Ogre.rar/file
"Such Heroic Nonsense!"