I don't think Fighter Factory Classic can open SFFv2. You should download FF3.
Okay, I got the character to open, how do I get the blood hitsparks out of the sprites?
Open her in FF3 as well as your destination project. In your destination project, go to Sprites > Import from another project, and this window should pop up:
https://i.imgur.com/DoFnfzX.png
Select everything on the left from 8700,0 to 8790,12 and click "Add from source" on the right. Leave everything else the same and click OK.
Finally, paste this .AIR code into your .AIR file (open your .AIR in notepad) to use the animations:
; Angle 1 light
[Begin Action 8700]
8700,0, 0,0, 2
8700,1, 0,0, 2
8700,2, 0,0, 2
8700,3, 0,0, 2
8700,4, 0,0, 2
8700,5, 0,0, 2
8700,6, 0,0, 2
; Angle 1 sub
[Begin Action 8701]
8700,7, 0,0, 2
8700,8, 10,2, 2
8700,9, 34,4, -1
; Angle 1 heavy
[Begin Action 8710]
8701,0, 0,0, 2
8701,1, 0,0, 2
8701,2, 0,0, 2
8701,3, 0,0, 2
8701,4, 0,0, 2
8701,5, 0,0, 2
8701,6, 0,0, 2
;
[Begin Action 8711]
8701,7, 0,0, 2
8701,8, 14,4, 2
8701,9, 34,4, -1
; Angle 2 light
[Begin Action 8720]
8702,0, 0,0, 2
8702,1, 0,0, 2
8702,2, 0,0, 2
8702,3, 0,0, 2
8702,4, 0,0, 2
8702,5, 0,0, 2
8702,6, 0,0, 2
;
[Begin Action 8721]
8702,7, 0,0, 2
8702,8, 30,30, 2
8702,9, 47,42, -1
; Angle 2 heavy
[Begin Action 8730]
8703,0, 0,0, 2
8703,1, 0,0, 2
8703,2, 0,0, 2
8703,3, 0,0, 2
8703,4, 0,0, 2
8703,5, 0,0, 2
8703,6, 0,0, 2
;
[Begin Action 8731]
8703,7, 0,0, 2
8703,8, 12,10, 2
8703,9, 12,11, -1
; Angle 3 light
[Begin Action 8740]
8700,0, 0,0, 2, V
8700,1, 0,0, 2, V
8700,2, 0,0, 2, V
8700,3, 0,0, 2, V
8700,4, 0,0, 2, V
8700,5, 0,0, 2, V
8700,6, 0,0, 2, V
;
[Begin Action 8741]
8700,7, 0,0, 2, V
8700,8, 10,-2, 2, V
8700,9, 34,-4, -1, V
; Angle 3 heavy
[Begin Action 8750]
8701,0, 0,0, 2, V
8701,1, 0,0, 2, V
8701,2, 0,0, 2, V
8701,3, 0,0, 2, V
8701,4, 0,0, 2, V
8701,5, 0,0, 2, V
8701,6, 0,0, 2, V
;
[Begin Action 8751]
8701,7, 0,0, 2, V
8701,8, 14,-4, 2, V
8701,9, 34,-4, -1, V
; Angle 4 light
[Begin Action 8760]
8702,0, 0,0, 2, V
8702,1, 0,0, 2, V
8702,2, 0,0, 2, V
8702,3, 0,0, 2, V
8702,4, 0,0, 2, V
8702,5, 0,0, 2, V
8702,6, 0,0, 2, V
;
[Begin Action 8761]
8702,7, 0,0, 2, V
8702,8, 30,-30, 2, V
8702,9, 47,-42, -1, V
; Angle 4 heavy
[Begin Action 8770]
8703,0, 0,0, 2, V
8703,1, 0,0, 2, V
8703,2, 0,0, 2, V
8703,3, 0,0, 2, V
8703,4, 0,0, 2, V
8703,5, 0,0, 2, V
8703,6, 0,0, 2, V
;
[Begin Action 8771]
8703,7, 0,0, 2, V
8703,8, 12,-10, 2, V
8703,9, 12,-11, -1, V
; Puddle
[Begin Action 8790]
8790,0, 0,0, 2
8790,1, 0,0, 2
8790,2, 0,0, 2
8790,3, 0,0, 2
8790,4, 0,0, 2
8790,5, 0,0, 2
8790,6, 0,0, 2
8790,7, 0,0, 2
8790,8, 0,0, 2
8790,9, 0,0, 2
8790,10, 0,0, 2
8790,11, 0,0, 2
8790,12, 0,0, 2
And you'll also need the helper code:
;----------------------------------------------------------------------------------
; BLOOD SPARK 1 (light)
[Statedef 8700]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = -2.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= 14
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 1 (heavy)
[Statedef 8710]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = -4
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= 14
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 2 (light)
[Statedef 8720]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -4
y = -6.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= 0
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 2 (heavy)
[Statedef 8730]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = -6.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= 14
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 3 (light)
[Statedef 8740]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -6
y = 2.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= -30
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 3 (heavy)
[Statedef 8750]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = 4
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= -30
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 4 (light)
[Statedef 8760]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = 6.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= -30
value = 8790
;----------------------------------------------------------------------------------
; BLOOD SPARK 4 (heavy)
[Statedef 8770]
type = A
movetype= I
physics = N
velset = 0,0
ctrl = 0
sprpriority = 9000
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 0, Explod]
type = Explod
trigger1 = !Time
anim = stateNo
ID = 8700
pos = 0,0
postype = p1
removetime = -2
scale = const(Size.Xscale),const(Size.Xscale)
ontop = 1
shadow = 0,0,0
ownpal = 1
removeongethit = 0
[State 8700, Anim]
type = ChangeAnim
trigger1 = !Time
value = stateNo+1
[State 0, VelSet]
type = VelSet
trigger1 = !Time
x = -5
y = 6.5
[State 0, VelSet]
type = VelAdd
trigger1 = Time > 0
y = .5
[State 1150, ChangeState]
type = ChangeState
triggerall = Time
trigger1 = Vel Y >= 0 && Pos Y >= -50
value = 8790
;----------------------------------------------------------------------------------
; PUDDLE
[Statedef 8790]
type = A
movetype= I
physics = N
anim = 8790
velset = 0,0
ctrl = 0
sprpriority = 0
[State 0, PosSet]
type = PosAdd
triggerall = !Time
trigger1 = PrevStateNo=8700
trigger2 = PrevStateNo=8740
x = -50
[State 0, PosSet]
type = PosAdd
triggerall = !Time
trigger1 = PrevStateNo=8750
x = -62
[State 0, PosSet]
type = PosAdd
triggerall = !Time
trigger1 = PrevStateNo=8710
x = -78
[State 0, PosSet]
type = PosAdd
triggerall = !Time
trigger1 = PrevStateNo=8720
trigger2 = PrevStateNo=8760
trigger3 = PrevStateNo=8770
x = -28
[State 0, PosSet]
type = PosAdd
trigger1 = !Time && PrevStateNo=8730
x = -42
[State 0, PosSet]
type = PosSet
trigger1 = !Time
y = 0
[State 0, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = noShadow
[State 0, NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA
[State 1150, ChangeState]
type = DestroySelf
trigger1 = !AnimTime
To spawn a blood spark, check Felicia_Y.cns, State -2; the helper's name is called "BLOOD". It looks like a lot but there really isn't much; you just need 4 free variables (one for sparkno (var(5) in my system), one for spark X position (var(26) in my system), one for spark Y position (var(27) in my system), and another for a "one-tick" detection so multiple copies aren't spawned (this one is var(6) in my system).