This is the end of a move where p1 (anim 3303) bounces off of p2, and recovers. It works perfect if the move is performed by p1 on the left side of the screen. However if performed on the right side it still jumps off in the wrong direction as if the move was preformed on the left. I have used the code on other stuff and it works correctly, but here it wont. It's in state 3212, anybody see something I am missing?
;------------------------------------------------------------------
[statedef 3210]
type = A
movetype= A
physics = N
ctrl = 0
anim = 8730
[state 0]
type = velset
trigger1 = time = 1
y = 17
x = 0
[State 0, PosAdd]
type = PosAdd
trigger1 = !time
x = -40
[state 0]
type = envcolor
trigger1 = movehit
value = 255,255,255
time = 1
ignorehitpause = 1
persistent = 0
[state 0]
type = hitdef
trigger1 = !time
attr = A, HA
animtype = High
damage = 10,15
priority = 7
guarDFlag = MA
pausetime = 0,0
sparkno = s3350
guard.sparkno = s679
sparkxy = -10,-150
hitsound = s5,2
guardsound = 6,0
ground.type = low
ground.slidetime = 30
ground.hittime = 50
ground.velocity = 4,20
guard.velocity = -2
airguard.velocity = -2
air.velocity = 2,20
fall = 1
fall.recover = 0
p1stateno = 3211
p2stateno = 3213
kill = 0
[state 0]
type = screenbound
trigger1 = 1
value = 0
movecamera = 0,0
persistent = 1
[State 0, ChangeState]
type = ChangeState
trigger1 = Pos Y >=0
value = 3212
ctrl = 0
;------------------------------------------------------------------
; Grab
[Statedef 3211]
type = A
movetype = A
physics = N
anim = 3300
[State 0, Turn]
type = Turn
trigger1 = facing = 1
[State 0, PosAdd]
type = PosAdd
trigger1 = time = 0
x = -40
y = 0
[State 0, Explod] ;hitspark
type = Explod
trigger1 = time = 0
anim =350
pos = 0,-50
postype = p1
facing = 1
vfacing = 1
bindtime = 1
sprpriority = 3
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 1
[State 3116, PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S3000,4
volume = 255
channel = 2
[state 3300, velset]
type = velset
trigger1 = time >= 0
x = 1
y = -3
[state 3515, 1]
type = velset
trigger1 = time >= 20
x = 2
y = 15
[State 3515, 2]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 100
[State 3515, 3]
type = PlayerPush
trigger1 = Time >= 0
value = 0
[State 3515, 4]
type = TargetBind
trigger1 = 1; AnimElemTime(1) >= 0 && AnimElemTime(4) < 0
pos =ceil(const(size.xscale)+5),ceil(const(size.yscale)-40)
[State 3302, TargetLifeAdd]
type = TargetLifeAdd
trigger1 = Pos Y >= 0
value = -120
ID = -1
kill = 1
absolute = 0
[State 0, TargetDrop]
type = TargetDrop
trigger1 = Pos Y >= 00
[State 0, ChangeState]
type = ChangeState
trigger1 = Pos Y >=0
value = 3212
;------------------------------------------------------------------
[statedef 3212]
type = A
movetype= A
physics = N
ctrl = 0
anim = 3303
velset = 0,0
sprpriority = -2
[State 0, PosSet]
type = PosSet
trigger1 = !time
y = 0
[State 0,Envshake]
type = envshake
trigger1 = !time
freq = 100
ampl = -40
time = 20
[State 0, TargetBind]
type = TargetBind
trigger1 = AnimElem = 1
time = 20
pos = 0,0
[State 0, TargetState]
type = TargetState
trigger1 = AnimElem = 1
value = 3214
[State 0, TargetLifeAdd]
type = TargetLifeAdd
trigger1 = !time
value = -50
kill = 1
[State 0, VelSet]
type = VelSet
trigger1 = AnimElem = 2
x = -6
y = -10
[State 0, StateTypeSet]
type = StateTypeSet
trigger1 = AnimElem = 4
physics = A
;------------------------------------------------------------------
;
[statedef 3213]
type = A
movetype = H
physics = N
ctrl = 0
[State 0, Turn]
type = null; Turn
trigger1 = facing = 1
[State 3302, 1]
type = ChangeAnim2
trigger1 = Time = 0
value = 33302
[State 3302, 2]
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 100
[State 3302, SelfState]
type = changeState
trigger1 = AnimElemTime(4) > 0
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 3304
;=================================================================================
[Statedef 3304]
type = A
movetype= H
physics = N
velset = 0,0
[State 0, Turn]
type = null; Turn
trigger1 = facing = 1
[State 3304, 1]
type = ChangeAnim2
Trigger1 = Time = 0
value = 3304
[State 820, Vel]
type = VelSet
trigger1 = time = 0
x = 9
y = -6
[State 3304, Vel]
type = veladd
trigger1 = AnimElemTime(3) >= 0
y = 0.49
[State 3304, EnvShake]
type = null;EnvShake
trigger1 = time = 0
freq = 150
ampl = 30
phase = 200
time = 10
[State 3304, SelfState]
type = SelfState
trigger1 = AnimElemTime(5) > 0
trigger1 = Vel Y > 0
trigger1 = Pos Y >= 0
value = 5100
;------------------------------------------------------------------
[statedef 3214]
type = A
movetype= H
physics = N
ctrl = 0
[State 0, ChangeAnim2]
type = ChangeAnim2
trigger1 = !time
value = 8746
[State 0, SelfState]
type = SelfState
trigger1 = !AnimTime
value = 5100