Freeslot
SPR_JMSC
SPR_JMSA
SPR_JMSE
SPR_JMSS
SPR2_CHRG
SPR2_CJMP
SPR2_JMBA
SPR2_JMBB
S_PLAY_CHRGJMP
S_PLAY_CHRGTHK
S_PLAY_POSTMOVE
S_PLAY_DASHREADY
S_PLAY_JMSDEAD
S_LAUNCHEFF
S_JETMETBSTERA
S_JETMETBSTERB
S_CHRGEFF1
S_CHRGEFF2
S_CHRGEFF3
S_CHRGEFF4
S_CHRGEFF5
S_CHRGEFF6
S_CHRGEFF7
S_2NDCHRGEFF
S_SUPERCRACKLE

# --Player states--

State S_PLAY_CHRGJMP
SpriteName = SPR_PLAY
SpriteFrame = SPR2_CJMP|FF_ANIMATE
Duration = -1
Var1 = 7
Var2 = 1
Next = S_PLAY_ROLL

State S_PLAY_CHRGTHK
SpriteName = SPR_PLAY
SpriteFrame = SPR2_DASH|A
Duration = 14
Next = S_PLAY_ROLL

State S_PLAY_POSTMOVE
SpriteName = SPR_PLAY
SpriteFrame = SPR2_SPNG|A
Duration = 14
Next = S_PLAY_ROLL

State S_PLAY_DASHREADY
SpriteName = SPR_PLAY
SpriteFrame = SPR2_CHRG|A
Duration = 1
Next = S_PLAY_DASHREADY

State S_PLAY_JMSDEAD
SpriteName = SPR_PLAY
SpriteFrame = SPR2_CNT1|A
Duration = 1
Next = S_PLAY_JMSDEAD

# --Object states--

State S_LAUNCHEFF
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_FULLBRIGHT|FF_ANIMATE
Duration = 7
Var1 = 6
Var2 = 1
Next = S_NULL

State S_JETMETBSTERA
SpriteName = SPR_PLAY
SpriteFrame = A
Action = A_BoosterThink
Var1 = 40<<FRACBITS
Var2 = -10<<FRACBITS-20
Duration = 1
Next = S_JETMETBSTERA

State S_JETMETBSTERB
SpriteName = SPR_PLAY
SpriteFrame = A
Action = A_BoosterThink
Var1 = 40<<FRACBITS
Var2 = -10<<FRACBITS-20
Duration = 1
Next = S_JETMETBSTERB

State S_CHRGEFF1
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|G
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF2

State S_CHRGEFF2
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|F
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF3

State S_CHRGEFF3
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|E
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF4

State S_CHRGEFF4
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|D
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF5

State S_CHRGEFF5
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|C
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF6

State S_CHRGEFF6
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|B
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_CHRGEFF7

State S_CHRGEFF7
SpriteName = SPR_JMSC
SpriteFrame = FF_TRANS50|FF_PAPERSPRITE|FF_FULLBRIGHT|A
Action = A_ChargeThink
Var1 = 48<<FRACBITS+1
Var2 = -40<<FRACBITS
Duration = 1
Next = S_NULL

State S_2NDCHRGEFF
SpriteName = SPR_JMSE
SpriteFrame = FF_FULLBRIGHT|FF_TRANS30|A
Action = A_2ndChargeThink
Var1 = 8
Var2 = 4
Duration = 1
Next = S_2NDCHRGEFF

State S_SUPERCRACKLE
SpriteName = SPR_JMSS
SpriteFrame = FF_ANIMATE|FF_PAPERSPRITE|FF_FULLBRIGHT|FF_TRANS60
Var1 = 3
Var2 = 1
Duration = 20
Next = S_NULL