Just, what the title says. I started to code a system for that (using on muteki's Millia):
[Statedef 193]
type = S
ctrl = 0
anim = 192
velset = 0,0
[State a]
type = assertspecial
trigger1 = 1
flag = nomusic
[State 191, 2]
type = varset
trigger1 = AnimTime = 0
trigger1 = Anim = 192
fvar(10) = pos x
[State -2]
type = posadd
trigger1 = time = 0
x = 40
persistent = 0
[State -2]
type = posadd
triggerall = time = 0
triggerall = numpartner
trigger1 = facing = -1
trigger1 = partner,pos x < pos x
trigger2 = facing = 1
trigger2 = partner,pos x > pos x
x = 30
persistent = 0
[State -2]
type = velset
trigger1 = animelem = 19
x = -2.5
y = -8
[State -2]
type = veladd
trigger1 = animelemtime(19) >= 0
trigger1 = animelemtime(22) < 0
y = 0.55
[State -2]
type = velset
trigger1 = animelem = 22
y = 0
[State 200, 1]
type = velmul
trigger1 = Vel X != 0
trigger1 = animelemtime(22) >= 0
trigger1 = animelemtime(24) < 0
x = 0.90
[State 200]
type = PlaySnd
trigger1 = Animelem = 18
value = 150, 4
[State 200]
type = PlaySnd
trigger1 = Animelem = 22
value = 101, 0
[State -2]
type = velset
trigger1 = animelem = 24
x = 0
[State 191, 1] ;Freeze animation until PreIntro is over
type = ChangeAnim
trigger1 = RoundState = 0
trigger1 = anim !=192
value = 194
[State -2]
type = varrandom
trigger1 = animelem = 16
trigger2 = Animelemtime(25) = 21
v = 0
range = 0,2
[State 200]
type = PlaySnd
trigger1 = animelem = 16
value = 0, 3+var(0)
channel = 0
[State 200]
type = PlaySnd
trigger1 = Animelemtime(25) = 21
value = 192, 0+var(0)
channel = 0
[State 191, 2] ;Assert this until you want "round 1, fight" to begin
type = AssertSpecial
trigger1 = 1
flag = Intro
;[State 191, 2]
;type = AssertSpecial
;trigger1 = 1
;flag = NoMusic
[State 191, 3] ;Change to stand state when done
type = ChangeState
trigger1 = AnimTime = 0
value = 0
[Statedef 0]
type = S
physics = S
sprpriority = 0
[State -2]
type = destroyself
trigger1 = ishelper
[State -2]
type = posset
trigger1 = roundstate = 2
trigger1 = prevstateno = 193
trigger1 = fvar(10) != 0
trigger1 = 1
x = fvar(10)
persistent = 0
[State -2]
type = varset
trigger1 = roundstate = 2
trigger1 = prevstateno = 193
trigger1 = fvar(10) != 0
fvar(10) = 0
persistent = 0
;[state -2]
;type = selfstate
;value = 5090
;triggerall = fvar(33) >= 1.5
;triggerall = var(39) >= 1
;trigger1 = time = 0
;trigger1 = prevstateno = 5120
[State 0, 1]
type = ChangeAnim
trigger1 = Anim != [0,5]
trigger2 = Anim = 5 && AnimTime = 0 ;Turn anim over
value = 0
[State 0, 2]
type = velset
trigger1 = Time = 0
y = 0
[State 0, 3] ;Stop moving if low velocity or 4 ticks pass
type = velset
trigger1 = abs(vel x) < 2 && !var(15)
trigger2 = Time = 4 && !var(15)
trigger3 = palno = 11
trigger3 = Time = 0
trigger3 = prevstateno = 20
x = 0
[State 0, 4] ;Are you dead?
type = ChangeState
trigger1 = !alive
value = 5050
[state StillInTheDark]
type = Helper
triggerall = ishelper = 0
trigger1 = numhelper(9999) = 0
trigger1 = p2name = "eddie"||p4name = "eddie"
id = 9999
name = "music"
sprpriority = 5
pos = 0,0
postype = p1
stateno = 9999
helpertype = normal
pausemovetime = 0
ignorehitpause = 1
persistent = 0
keyctrl = 0
ownpal = 1
;Still in the Dark
[Statedef 9999]
type = S
movetype = I
ctrl = 0
anim = 9999
velset = 0,0
physics = N
sprpriority = 0
[state a]
type = AssertSpecial
trigger1 = 1
flag = nomusic
[State a]
type = PlaySnd
trigger1 = time = 0
value = 9999, 99
channel = 5
loop = 1
It works fine so far, but it doesn't respawn in the next round. How do I do it? Thanks in advance!