"""Helper for SP Screen in Super Atk state"""
[State 3000, SP Screen]
type = Helper
trigger1 = Time = 0
name = "Special"
ID = 20000
stateno = 20000
pos = 4,-26
postype = p1
ownpal = 1
pausemovetime = 9999
supermovetime = 9999
ignorehitpause = 1
size.ground.back = 7510
"""SP Screen states"""
; Special Screen - Flare (Origin)
;------------------------------------------------------------------------------
[Statedef 20000]
anim = 7500
sprpriority = 20
;====================
; Create
;====================
[State 20000, Screen Rates]
type = VarSet
trigger1 = !time
fvar(5) = GameHeight/240.0
[State 20000, Special Screen Effect]
type = Explod
trigger1 = !time
anim = 7505
postype = left
pos = floor(root,screenpos x+pos x-root,pos x), floor(root,screenpos y+pos y-root,pos y)
pausemovetime = 9999
supermovetime = 9999
scale = 0.5,0.5
sprpriority = 0
ontop = 1
ownpal = 1
[State 20000, Moving to the Origin]
type = PosSet
trigger1 = !time
x = 0
y = 0
[State 20000, Dark Screen]
type = Explod
trigger1 = !time
anim = 7501
ID = 7501
pos = 160,-floor(screenpos y)
postype = left
bindtime = 9
removetime = 9
pausemovetime = 9999
supermovetime = 9999
scale = 4,2
sprpriority = -5
ownpal = 1
[State 20000, Dark Screen Control]
type = ModifyExplod
trigger1 = numexplod(7501)>0
ID = 7501
trans = addalpha
alpha = 0,256-time*26
[State 20000, Foreground Control]
type = BGPalFX
trigger1 = numexplod(7501)>0
time = 1
mul = 256-time*26,256-time*26,256-time*26
[State 20000, Position Reset]
type = PosSet
trigger1 = 1
x = 70*facing
y = 0
[State 20000, Position Set]
type = PosSet
trigger1 = 1
y = -screenpos y+70
[State 20000, Size]
type = VarSet
trigger1 = !time
v = 0
value = -20
[State 20000, Angle]
type = VarSet
trigger1 = !time
fv = 1
value = 35
[State 20000, Time B]
type = VarSet
trigger1 = !time
v = 2
value = 0
;====================
; Destory
;====================
[State 20000, DestroySelf]
type = DestroySelf
trigger1 = var(0)>=200
;====================
; Step
;====================
[State 20000, Increase Time B]
type = VarAdd
trigger1 = var(0)=[10,160]
v = 2
value = 100
[State 20000, Increase Size]
type = VarAdd
trigger1 = 1
v = 0
value = 3+(var(0)=-3)
[State 20000, Angle Control]
type = VarSet
trigger1 = var(0)<=160
fv = 1
value = fvar(1)-ifelse(var(0)<=10,25.0/(var(0)+20.0),0.02)
[State 20000, Image X Scale]
type = VarSet
trigger1 = var(0)<=10
fv = 10
value = ifelse(var(0)<0,1.0/var(0),var(0))
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)<10
fv = 11
value = ifelse(var(0)<0,var(0),1.0/var(0))
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)=[10,160]
fv = 11
value = (1.0/10.0)-log(0.82,var(0)-9)
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)>=160
fv = 11
value = 0.001+fvar(11)/2.0
;====================
; Helpers
;====================
[State 20000, Background 1]
type = Helper
trigger1 = time = 9
stateno = 20005
supermovetime = 9999
pausemovetime = 9999
size.air.back = 1
size.air.front = 0+512
[State 20000, Background 2]
type = Helper
trigger1 = time = 9
stateno = 20005
supermovetime = 9999
pausemovetime = 9999
size.air.back = -1
size.air.front = 1024+512;1806+15
[State 20000, Shadow]
type = Helper
trigger1 = time = 9
stateno = 20004
supermovetime = 9999
pausemovetime = 9999
ownpal = 1
[State 20000, Portrait]
type = Helper
trigger1 = time = 9
stateno = 20003
supermovetime = 9999
pausemovetime = 9999
[State 20000, Foreground]
type = Helper
trigger1 = time = 9
stateno = 20006
supermovetime = 9999
pausemovetime = 9999
[State 20000, Mask]
type = Helper
trigger1 = time = 9
stateno = 20007
supermovetime = 9999
pausemovetime = 9999
[State 20000, Lower Bourdary]
type = Helper
trigger1 = time = 9
stateno = 20001
supermovetime = 9999
pausemovetime = 9999
[State 20000, Upper Bourdary]
type = Helper
trigger1 = time = 9
stateno = 20002
supermovetime = 9999
pausemovetime = 9999
;====================
; Draw
;====================
[State 20000, No Shadow Flag]
type = AssertSpecial
trigger1 = var(0)=[10,160]
flag = globalnoshadow
[State 20000, No Shadow Flag]
type = AssertSpecial
trigger1 = var(0)!=[10,160]
flag = noshadow
[State 20000, Invisible Flag]
type = AssertSpecial
trigger1 = var(0)=[11,159]
flag = invisible
flag2 = noFG
[State 20000, Foreground Control]
type = BGPalFX
trigger1 = var(0)=[156,166]
time = 1
mul = 256+1024/(var(0)-155)**2,256+1024/(var(0)-155)**2,256+1024/(var(0)-155)**2
[State 20000, Draw]
type = AngleDraw
trigger1 = var(0)!=[11,159]
value = fvar(1)
scale = fvar(10),fvar(11)
[State 20000, Blend Mode]
type = Trans
trigger1 = var(0)!=[11,159]
trans = add
; Special Screen - Lower Bourdary
;------------------------------------------------------------------------------
[Statedef 20001]
anim = 7501
sprpriority = -10
[State 20001, Position Control]
type = BindToParent
trigger1 = 1
pos = 0,4.5*parent,fvar(11)*parent,fvar(5)
[State 20001, Draw]
type = AngleDraw
trigger1 = 1
value = (parent,fvar(1))*(0.3+0.7/(time*0.5+1))
scale = 5,1
[State 20001, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Upper Bourdary
;------------------------------------------------------------------------------
[Statedef 20002]
anim = 7501
sprpriority = -10
[State 20002, Position Control]
type = BindToParent
trigger1 = 1
pos = 0,-3*parent,fvar(11)*parent,fvar(5)
[State 20002, Draw]
type = AngleDraw
trigger1 = 1
value = 180+(parent,fvar(1))*1.2
scale = 5,1
[State 20002, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Portrait
;------------------------------------------------------------------------------
[Statedef 20003]
anim = 9999
sprpriority = -13
[State 20003, To Portrait Anim]
type = ChangeAnim
trigger1 = !time
value = parent,const(size.ground.back)
[State 20003, Position Control]
type = BindToParent
trigger1 = 1
pos = -160-(parent,pos x)*facing+0.5*(parent,var(2))**0.55,-0.1*(parent,var(2))**0.1
[State 20003, To HiRes]
type = AngleDraw
trigger1 = 1
scale = 0.5+time*0.0005,0.5+time*0.0005
[State 20003, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Portrait s Shadow
;------------------------------------------------------------------------------
[Statedef 20004]
anim = 9999
sprpriority = -14
[State 20004, To Portrait Anim]
type = ChangeAnim
trigger1 = !time
value = parent,const(size.ground.back)
[State 20004, Full Black FX]
type = PalFX
trigger1 = 1
time = 5
mul = 0,0,0
[State 20004, Half-Trans FX]
type = Trans
trigger1 = 1
trans = add1
[State 20004, Position Control]
type = BindToParent
trigger1 = 1
pos = -160-(parent,pos x)*facing-0.01*0.5*(parent,var(2)-5000),-0.1*(parent,var(2))**0.55+30
[State 20004, To HiRes]
type = AngleDraw
trigger1 = 1
scale = 0.5-time*0.001,0.5-time*0.001
[State 20004, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Background
;------------------------------------------------------------------------------
[Statedef 20005]
anim = 7503
sprpriority = -15
;size.air.back - X Scale
;size.air.front - Position
[State 20005, Angle Set]
type = VarSet
trigger1 = 1
fv = 0
value = (parent,fvar(1)/1.5)*pi/180.0
[State 20005, Position]
type = VarSet
trigger1 = 1
v = 0
value = floor(-1024+(const(size.air.front)+10*(parent,var(0)))%(2040))
[State 20005, Actual Position Set]
type = Offset
trigger1 = 1
x = -var(0)*cos(fvar(0))*facing
y = var(0)*sin(fvar(0))
[State 20005, Position Bind]
type = BindToParent
trigger1 = 1
pos = 0,0
[State 20005, Draw]
type = AngleDraw
trigger1 = 1
value = (parent,fvar(1))/1.5
scale = const(size.air.back),1.3
[State 20005, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Foreground
;------------------------------------------------------------------------------
[Statedef 20006]
anim = 7504
sprpriority = -11
[State 20006, Position]
type = VarSet
trigger1 = 1
v = 0
value = floor(16*parent,var(0)-1450)
[State 20005, Actual Position Set]
type = Offset
trigger1 = 1
x = -var(0)*cos(parent,fvar(1)*pi/180.0)*facing
y = var(0)*sin(parent,fvar(1)*pi/180.0)
[State 20006, Position Control]
type = BindToParent
trigger1 = 1
pos = 0,0;-var(0)*cos(parent,fvar(1)*pi/180.0),var(0)*sin(parent,fvar(1)*pi/180.0)
[State 20006, Draw]
type = AngleDraw
trigger1 = 1
value = (parent,fvar(1))+90
scale = 1,1
[State 20006, Blend Mode]
type = Trans
trigger1 = 1
trans = add
[State 20006, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Mask
;------------------------------------------------------------------------------
[Statedef 20007]
anim = 7502
sprpriority = -11
;draw_sprite_ext(spr_mask,0,x,y+20,640,image_yscale/7,image_angle,c_white,max(0,2-size*0.02))
[State 20007, Position Control]
type = BindToParent
trigger1 = 1
pos = 0,10
[State 20007, Draw]
type = AngleDraw
trigger1 = 1
value = parent,fvar(1)
scale = 4,(parent,fvar(11)/17.0)
[State 20007, Blend Mode]
type = Trans
trigger1 = 1
trans = addalpha
alpha = floor(256*(2-parent,var(0)*0.02)),256
[State 20007, DestroySelf]
type = DestroySelf
trigger1 = 2-parent,var(0)*0.02<=0
"""Helper for SP Screen in Super Atk state"""
[State 1080, SP Screen]
type = Helper
trigger1 = time = 0
name = "Special"
ID = 20000
stateno = 20000
pos = 4,-26
postype = p1
ownpal = 1
pausemovetime = 9999
supermovetime = 9999
ignorehitpause = 1
size.ground.back = 7510
"""SP Screen states"""
; Special Screen - Flare (Origin)
;��������������������������������������������������������������������������---
[Statedef 20000]
anim = 9999
;====================
; Create
;====================
[State 20000, Own Explod]
type = Explod
trigger1 = !time
anim = 7500
ID = 666
space = screen
pos = (screenWidth*0.5+70*facing), 70
facing = 1
bindtime = -1
removetime = -1
pausemovetime = 9999
supermovetime = 9999
sprpriority = 20
ownpal = 0
[State 20000, Special Screen Sound]
type = PlaySnd
trigger1 = !time
value = S1,22
[State 20000, Special Screen Effect]
type = Explod
trigger1 = !time
anim = 7505
space = screen
pos = (root,screenpos x+pos x-root,pos x) * cameraZoom, (root,screenpos y+pos y-root,pos y) * cameraZoom
pausemovetime = 9999
supermovetime = 9999
scale = 0.5,0.5
sprpriority = 0
ontop = 1
ownpal = 1
[State 20000, Moving to the Origin]
type = PosSet
trigger1 = !time
x = 0
y = 0
[State 20000, Dark Screen]
type = Explod
trigger1 = !time
anim = 7501
ID = 7501
pos = 160,0
space = screen
bindtime = 9
removetime = 9
pausemovetime = 9999
supermovetime = 9999
scale = 4,2
sprpriority = -5
ownpal = 1
[State 20000, Dark Screen Control]
type = ModifyExplod
trigger1 = numexplod(7501)>0
ID = 7501
trans = addalpha
alpha = 0,256-time*26
[State 20000, Foreground Control]
type = BGPalFX
trigger1 = numexplod(7501)>0
time = 1
mul = 256-time*26,256-time*26,256-time*26
[State 20000, Position Reset]
type = PosSet
trigger1 = 1
x = 70*facing
y = 0
[State 20000, Position Set]
type = PosSet
trigger1 = 1
y = -screenpos y+70
[State 20000, Size]
type = VarSet
trigger1 = !time
v = 0
value = -20
[State 20000, Angle]
type = VarSet
trigger1 = !time
fv = 1
value = 35
[State 20000, Time B]
type = VarSet
trigger1 = !time
v = 2
value = 0
;====================
; Destory
;====================
[State 20000, DestroySelf]
type = DestroySelf
trigger1 = var(0)>=200
recursive = 1
removeexplods = 1
;====================
; Step
;====================
[State 20000, Increase Time B]
type = VarAdd
trigger1 = var(0)=[10,160]
v = 2
value = 100
[State 20000, Increase Size]
type = VarAdd
trigger1 = 1
v = 0
value = 3+(var(0)=-3)
[State 20000, Angle Control]
type = VarSet
trigger1 = var(0)<=160
fv = 1
value = fvar(1)-ifelse(var(0)<=10,25.0/(var(0)+20.0),0.02)
[State 20000, Image X Scale]
type = VarSet
trigger1 = var(0)<=10
fv = 10
value = ifelse(var(0)<0,1.0/var(0),var(0))
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)<10
fv = 11
value = ifelse(var(0)<0,var(0),1.0/var(0))
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)=[10,160]
fv = 11
value = (1.0/10.0)-log(0.82,var(0)-9)
[State 20000, Image Y Scale]
type = VarSet
trigger1 = var(0)>=160
fv = 11
value = 0.001+fvar(11)/2.0
;====================
; Helpers
;====================
[State 20000, Background 1]
type = Helper
trigger1 = time = 9
stateno = 20005
supermovetime = 9999
pausemovetime = 9999
size.air.back = 1
size.air.front = 0+512
[State 20000, Background 2]
type = Helper
trigger1 = time = 9
stateno = 20005
supermovetime = 9999
pausemovetime = 9999
size.air.back = -1
size.air.front = 1024+512;1806+15
[State 20000, Shadow]
type = Helper
trigger1 = time = 9
stateno = 20004
supermovetime = 9999
pausemovetime = 9999
ownpal = 1
[State 20000, Portrait]
type = Helper
trigger1 = time = 9
stateno = 20003
supermovetime = 9999
pausemovetime = 9999
[State 20000, Foreground]
type = Helper
trigger1 = time = 9
stateno = 20006
supermovetime = 9999
pausemovetime = 9999
[State 20000, Mask]
type = Helper
trigger1 = time = 9
stateno = 20007
supermovetime = 9999
pausemovetime = 9999
[State 20000, Lower Bourdary]
type = Helper
trigger1 = time = 9
stateno = 20001
supermovetime = 9999
pausemovetime = 9999
[State 20000, Upper Bourdary]
type = Helper
trigger1 = time = 9
stateno = 20002
supermovetime = 9999
pausemovetime = 9999
;====================
; Draw
;====================
[State 20000, No Shadow Flag]
type = AssertSpecial
trigger1 = var(0)=[10,160]
flag = globalnoshadow
[State 20000, Invisible Flag]
type = AssertSpecial
trigger1 = var(0)=[11,159]
flag = invisible
flag2 = noFG
[State 20000, Foreground Control]
type = BGPalFX
trigger1 = var(0)=[156,166]
time = 1
mul = 256+1024/(var(0)-155)**2,256+1024/(var(0)-155)**2,256+1024/(var(0)-155)**2
[State 20000, Own Explod Control]
type = ModifyExplod
trigger1 = var(0)!=[11,159]
ID = 666
scale = fvar(10),fvar(11)
angle = fvar(1)*facing
trans = add
alpha = 256,256
[State 20000, Own Explod Control]
type = ModifyExplod
trigger1 = var(0)=[11,159]
ID = 666
trans = add
alpha = 0,256
; Special Screen - Lower Bourdary
;��������������������������������������������������������������������������---
[Statedef 20001]
anim = 9999
[State 20001, Self]
type = Explod
trigger1 = 1
anim = 7501
ID = 1
space = screen
pos = (screenWidth*0.5+70*facing), (70+4.5*parent,fvar(11))
scale = 6,1
angle = (parent,fvar(1))*(0.3+0.7/(time*0.5+1))*facing
facing = 1
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -10
ownpal = 0
[State 20001, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
removeexplods = 1
; Special Screen - Upper Bourdary
;��������������������������������������������������������������������������---
[Statedef 20002]
anim = 9999
[State 20002, Self]
type = Explod
trigger1 = 1
anim = 7501
ID = 1
space = screen
pos = (screenWidth*0.5+70*facing), (70-3*parent,fvar(11))
scale = 8,1
angle = 180+(parent,fvar(1))*1.2*facing
facing = 1
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -10
ownpal = 0
[State 20002, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
removeexplods = 1
; Special Screen - Portrait
;��������������������������������������������������������������������������---
[Statedef 20003]
anim = 9999
sprpriority = -13
[State 20003, Portrait Anim]
type = VarSet
trigger1 = !time
v = 0
value = parent,const(size.ground.back)
[State 20003, Handle Offset]
type = null
trigger1 = time%3 = 0
trigger1 = (fvar(0) := fvar(2))||1
trigger1 = (fvar(1) := fvar(3))||1
trigger1 = fvar(2) := -floor((time*0.3)**2.5)%10
trigger1 = fvar(3) := floor((time*0.3)**1.5)%10
trigger2 = 1
trigger2 = (fvar(6) :=(time%3)/2.0)||1
trigger2 = fvar(4) := fvar(2) * fvar(6) + fvar(0) * (1 - fvar(6))
trigger2 = fvar(5) := fvar(3) * fvar(6) + fvar(1) * (1 - fvar(6))
[State 20003, Self]
type = Explod
trigger1 = 1
anim = var(0)
ID = 1
space = screen
pos = (ScreenWidth*0.5) + (0.5*(parent,var(2))**0.55 - ScreenWidth*0.5)*facing, (ScreenHeight*0.5)-0.1*(parent,var(5))**0.1
scale = (0.5+time*0.0005)*facing,0.5+time*0.0005
facing = 1
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -13
ownpal = 1
[State 20003, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Portrait s Shadow
;��������������������������������������������������������������������������---
[Statedef 20004]
anim = 9999
sprpriority = -14
[State 20004, Portrait Anim]
type = VarSet
trigger1 = !time
v = 0
value = parent,const(size.ground.back)
[State 20004, Self]
type = Explod
trigger1 = 1
anim = var(0)
ID = 1
space = screen
pos = (ScreenWidth*0.5) - (ScreenWidth*0.5 + 0.01*0.5*(parent,var(2)-5000))*facing, (ScreenHeight*0.5)-0.1*(parent,var(2))**0.55+30
scale = (0.5-time*0.001)*facing,0.5-time*0.001
facing = 1
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -14
ownpal = 1
trans = add
alpha = 0, 128
[State 20004, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Background
;��������������������������������������������������������������������������---
[Statedef 20005]
anim = 9999
sprpriority = -15
;size.air.back - X Scale
;size.air.front - Position
[State 20005, Angle Set]
type = VarSet
trigger1 = 1
fv = 0
value = (parent,fvar(1)/1.5)*pi/180.0
[State 20005, Position]
type = VarSet
trigger1 = 1
v = 0
value = floor(-1024+(const(size.air.front)+10*(parent,var(0)))%(2040))
[State 20005, Self]
type = Explod
trigger1 = 1
anim = 7503
ID = 1
space = screen
pos = (ScreenWidth*0.5) - (ScreenWidth*0.5 + var(0)*cos(fvar(0)))*facing, (ScreenHeight*0.5)+var(0)*sin(fvar(0))
scale = const(size.air.back),1.3
angle = (parent,fvar(1))/1.5
facing = facing
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -15
ownpal = 1
[State 20005, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Foreground
;��������������������������������������������������������������������������---
[Statedef 20006]
anim = 9999
sprpriority = -11
[State 20006, Position]
type = VarSet
trigger1 = 1
v = 0
value = floor(16*parent,var(0)-1450)
[State 20006, Self]
type = Explod
trigger1 = 1
anim = 7504
ID = 1
space = screen
pos = (ScreenWidth*0.5) - (ScreenWidth*0.5 +var(0)*cos(parent,fvar(1)*pi/180.0))*facing, (ScreenHeight*0.5)+var(0)*sin(parent,fvar(1)*pi/180.0)
scale = 1,1
angle = (parent,fvar(1))+90
facing = facing
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -11
ownpal = 1
trans = add
alpha = 256, 256
[State 20006, DestroySelf]
type = DestroySelf
trigger1 = parent,var(0)>=160
; Special Screen - Mask
;��������������������������������������������������������������������������---
[Statedef 20007]
anim = 9999
sprpriority = -11
[State 20007, Self]
type = Explod
trigger1 = 1
anim = 7502
ID = 1
space = screen
pos = (ScreenWidth*0.5+70*facing), (70)+10
scale = 8,(parent,fvar(11)/17.0)
angle = parent,fvar(1)
facing = facing
removetime = 1
pausemovetime = 9999
supermovetime = 9999
sprpriority = -11
ownpal = 1
trans = add
alpha = floor(256*(2-parent,var(0)*0.02)),256
[State 20007, DestroySelf]
type = DestroySelf
trigger1 = 2-parent,var(0)*0.02<=0