I am editing Jirougaki's Super Mechagodzilla, you can hit a command to make this spaceship helper called "GARUDA" comeoff his back and they become seperate. Then you can hit the same command again and wherever you are, teh helper: "GARUDA" will follow wherever your position is and come back. This is broken in 1.1, it follows in the air but never comes down to reattach. It's gotta be something simple like some change in syntax between versions.

But another big issue is, sometimes it randomly doesnt detach either, the sprite will detach but get stuck on the screen, and it wont go into the air. If you try to hit the command again to return it, it stays on the screen but then the players sprites go back to also having the GARUDA on his back, so there are 2 of them now.

Here are the codes in question:

For GARUDA returning back to the players position, works in 1.0

Spoiler, click to toggle visibilty

;Garuda(‡‘Ì)

[Statedef 20002]

type = S

physics = N

sprpriority = 1

velset = 0,0

ctrl = 0

[State -2, ƒNƒŠƒbƒvƒ{[ƒh]

type = DisplayToClipboard

trigger1 = 1

text = "Body-Distance X=%d,Y=%d, Velocity X=%f,Y=%f, Hit=%d \n"

params = floor(RootDist X),floor(RootDist Y),(Vel X),(Vel Y),(MoveHit)

[State 10000]

type = Width

trigger1 = 1

value = 0,0

[State 10000]

type = NotHitBy

trigger1 = 1

value = SCA

[state -2]

type = AssertSpecial

trigger1 = 1

flag = noshadow

ignorehitpause = 1

[State 800, •ÏX]

type = ChangeAnim

trigger1 = AnimTime = 0

value = 20000

ignorehitpause = 1

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = vel y = 0

trigger1 = pos y <= ceil(-55*root,const(size.yscale))

trigger1 = rootdist x != 0

x = ifelse((rootdist x)=0, 0, ifelse((rootdist x)>0, 3.2, -3.2))

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = vel x = 0

trigger1 = rootdist x = 0

trigger1 = pos y < 0

y = 3.2

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = rootdist x < 4 && rootdist x > -4

x = 0

[State 10000]

type = BindToParent

trigger1 = rootdist x < 4 && rootdist x > -4

trigger1 = rootdist x != 0

pos = 0,ceil(-55*root,const(size.yscale))

time = 1

ignorehitpause = 1

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = pos y < ceil(-55*root,const(size.yscale))

trigger2 = pos y >= 0

y = 0

[State 700, ‘¬“x‚ÌŽw’è]

type = PosSet

trigger1 = pos y < ceil(-55*root,const(size.yscale))

y = ceil(-55*root,const(size.yscale))

[State 10000]

type = Turn

trigger1 = p2dist x < 0

trigger1 = rootdist x != 0

trigger2 = facing != root,facing

trigger2 = pos y > ceil(-55*root,const(size.yscale))

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = S

statetype = S

ignorehitpause = 1

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = A

statetype = A

ignorehitpause = 1

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = C

statetype = C

ignorehitpause = 1

[State 10000]

type = ChangeState

trigger1 = root,var(0)

value = 20001

[State 10000]

type = ChangeState

trigger1 = root,stateno != 20900

value = 20000

Garuda detaching state, it detaches but sometimes it doesnt fly up into the air like it should, it just gets stuck on screen:

Spoiler, click to toggle visibilty

;Garuda

[Statedef 20000]

type = S

movetype = I

physics = N

sprpriority = 1

anim = 20000

velset = 0,0

ctrl = 0

[State -2, ƒNƒŠƒbƒvƒ{[ƒh]

type = DisplayToClipboard

trigger1 = 1

text = "Body-Distance X=%d,Y=%d, Velocity X=%f,Y=%f, Hit=%d \n"

params = floor(RootDist X),floor(RootDist Y),(Vel X),(Vel Y),(MoveHit)

[State 10000]

type = Width

trigger1 = 1

value = 0,0

[State 10000]

type = NotHitBy

trigger1 = 1

value = SCA

[state -2]

type = AssertSpecial

trigger1 = 1

flag = noshadow

ignorehitpause = 1

[State 800, •ÏX]

type = ChangeAnim

trigger1 = AnimTime = 0

value = 20000

ignorehitpause = 1

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = vel y = 0

trigger1 = pos y <= ceil(-55*root,const(size.yscale))

trigger1 = rootdist x != 0

x = ifelse((rootdist x)=0, 0, ifelse((rootdist x)>0, .5, -0.5))

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = vel x = 0

trigger1 = rootdist x = 0

trigger1 = pos y > ceil(-55*root,const(size.yscale))

y = -3.2

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = rootdist x = 0

x = 0

[State 700, ‘¬“x‚ÌŽw’è]

type = VelSet

trigger1 = pos y <= ceil(-55*root,const(size.yscale))

y = 0

[State 700, ‘¬“x‚ÌŽw’è]

type = PosSet

trigger1 = pos y < ceil(-55*root,const(size.yscale))

y = ceil(-55*root,const(size.yscale))

[State 10000]

type = Turn

trigger1 = p2dist x < 0

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = S

statetype = S

ignorehitpause = 1

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = A

statetype = A

ignorehitpause = 1

[State 10000]

type = StateTypeSet

trigger1 = root,statetype = C

statetype = C

ignorehitpause = 1

[State 10000]

type = ChangeState

trigger1 = root,stateno = 20900

value = 20002

;-------------------------------------------------------;UŒ‚—p

[State 10000]

type = ChangeState

triggerall = root,time = 1

trigger1 = root,stateno = 1050

trigger2 = root,stateno = 1060

value = 21050

[State 10000]

type = ChangeState

trigger1 = root,stateno = 1100

value = 21100

[State 10000]

type = ChangeState

trigger1 = root,stateno = 1110

value = 21110

Garuda's state when hes not detached and still attached to the player:

Spoiler, click to toggle visibilty

;Garuda

[Statedef 20001]

type = S

movetype = I

physics = N

anim = 99999

velset = 0,0

ctrl = 0

[State 10000]

type = BindToParent

trigger1 = 1

pos = 0,0

time = 1

ignorehitpause = 1

[State 10000]

type = Turn

trigger1 = facing != root,facing

[State 10200]

type = ChangeState

triggerall = !root,var(0)

trigger1 = root,stateno = 20905

value = 20000

I've attached images to show an example of this as well!

https://imgur.com/a/DldGVjD

And to be clear again, this all works correctly in version 1.0! But I want it working in 1.1! THank you!