; Luigi Super Moves
;---------------------------------------------------------------------------
; Power Fireball Object
[Statedef 330]
type    = A
movetype= A
physics = N
juggle  = 5
sprpriority = 2
velset = 5,0
anim = 330
ctrl = 0

[State 330, HitBy]
type = HitBy
trigger1 = 1
value = SCA, AP
time = 1

[State 330, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA, AP
stateno = 326
time = 1

[State 330, VarSet]
type = VarSet
trigger1 = Time <= 0
var(1) = 0

[State 330, VarSet]
type = VarSet
trigger1 = MoveContact
ignorehitpause = 1
var(1) = 1

[State 330, Explod]
type = Explod
trigger1 = Time <= 0
id = 40
anim = F40
pos = 20,-10
vel = -2.5,0
ownpal = 1
facing = -1
postype = p1
sprpriority = 5

[State 330, PalFX]
type = PalFX
trigger1 = AnimElem = 4, < 0
add = 50,-50,-150
sinadd = 50,50,0,10
invertall = 1
color = 100
time = 1

[State 330, AfterImage]
type = AfterImage
triggerall = PrevStateNo != 331
trigger1 = Time <= 0
time = 0
TimeGap  = 1
FrameGap = 1
length = 5
PalBright   = 240,100,0
PalContrast = 240,100,0
Trans = Add

[State 330, AfterImage]
type = AfterImageTime
trigger1 = 1
time = 20

[State 330, VelSet]
type = VelSet
trigger1 = MoveContact
ignorehitpause = 1
x = 0

[State 330, VelSet]
type = VelSet
trigger1 = AnimTime = 0
x = 5

[State 330, Flash]
type = EnvColor
trigger1 = MoveHit
value = 240,240,240
ignorehitpause = 1
under = 1
time = 1

[State 330, Explod]
type = Explod
triggerall = MoveHit
trigger1 = P2MoveType = H
ignorehtpause = 1
sprpriority = 10
random = 50,50
pos = 0,-50
postype = p2
anim = F2

[State 330, Explod]
type = Explod
triggerall = MoveHit
trigger1 = P2MoveType = H
ignorehtpause = 1
sprpriority = 8
random = 50,50
pos = 0,-50
postype = p2
anim = F3

[State 330, 1]
type = EnvShake
trigger1 = MoveHit = 0
trigger1 = MoveContact
trigger1 = MoveGuarded
time = 5
freq = 100
ampl = -5
phase = 10

[State 330, 1]
type = PlaySnd
trigger1 = MoveHit = 0
trigger1 = MoveContact
trigger1 = MoveGuarded
value = 6, 5
channel = 0

[State 330, 1]
type = PlaySnd
trigger1 = MoveHit
value = 6, 6
channel = 0

[State 330, Reset]
type = MoveHitReset
trigger1 = MoveContact
ignorehitpause = 1

[State 330, HitDef]
type = HitDef
trigger1 = MoveContact = 0
attr = A, HP
getpower = 0
damage    = 300,50
animtype  = DiagUp
getpower  = 10
givepower = 20
guardflag = MA
hitflag = MAFD
pausetime = 0,10
sparkno = 1
sparkxy = 0, -20
hitsound   = S5,1
guardsound = S2,0
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -6,-8
airguard.velocity = -3,-4   
air.type = High
air.velocity = -6,-8
air.juggle = 1
forcestand = 1
envshake.time = 10
envshake.freq = 100
envshake.ampl = -5
envshake.phase = 10
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100
air.fall = 1
fall = 1

[State 330, State]
type = ChangeState
trigger1 = MoveContact
trigger2 = Var(1) > 0
ignorehitpause = 1
value = 326

[State 330, State]
type = ChangeState
trigger1 = Var(1) <= 0
trigger1 = AnimTime = 0
value = 331

[State 330, Destroy]
type = DestroySelf
trigger1 = BackEdgeBodyDist <= -100
trigger2 = FrontEdgeBodyDist <= -100

;---------------------------------------------------------------------------
; Flaming Fireball Object
[Statedef 331]
type    = A
movetype= A
physics = N
juggle  = 5
sprpriority = 2
velset = 5,0
anim = 330
ctrl = 0

[State 330, HitBy]
type = HitBy
trigger1 = 1
value = SCA, AP
time = 1

[State 330, HitOverride]
type = HitOverride
trigger1 = 1
attr = SCA, AP
stateno = 326
time = 1

[State 330, VarSet]
type = VarSet
trigger1 = Time <= 0
var(0) = 0

[State 330, VarSet]
type = VarSet
trigger1 = Time <= 0
var(1) = 0

[State 330, VarSet]
type = VarSet
trigger1 = MoveContact
ignorehitpause = 1
var(1) = 1

[State 330, PalFX]
type = PalFX
trigger1 = AnimElem = 4, >= 0
add = 50,-50,-150
sinadd = 50,50,0,10
invertall = 1
color = 100
time = 1

[State 330, AfterImage]
type = AfterImage
triggerall = PrevStateNo != 330
trigger1 = Time <= 0
time = 0
TimeGap  = 1
FrameGap = 1
length = 5
PalBright   = 240,100,0
PalContrast = 240,100,0
Trans = Add

[State 330, AfterImage]
type = AfterImageTime
trigger1 = 1
time = 20

[State 330, VarAdd]
type = VarAdd
trigger1 = MoveContact
ignorehitpause = 1
var(0) = 1

[State 330, HitDef]
type = HitDef
trigger1 = Var(0) < 4
trigger1 = TimeMod = 2,1
attr = A, HP
getpower = 0
damage    = 60,10
animtype  = Medium
getpower  = 10
givepower = 20
guardflag = MA
hitflag = MAFD
pausetime = 5,10
sparkno = 1
sparkxy = 0, -10
hitsound   = S5,1
guardsound = S2,0
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -4,-4
airguard.velocity = -2,-2   
air.type = High
fall.animtype  = Medium
air.velocity = -4,-4
down.velocity = -4,0
air.juggle = 1
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100
forcestand = 1

[State 330, HitDef]
type = HitDef
trigger1 = Var(0) < 4
trigger1 = TimeMod = 2,0
attr = A, HP
getpower = 0
damage    = 60,10
animtype  = Medium
getpower  = 10
givepower = 20
guardflag = MA
hitflag = MAFD
pausetime = 5,10
sparkno = 1
sparkxy = 0, -10
hitsound   = S5,1
guardsound = S2,0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -4,-4
airguard.velocity = -2,-2   
air.type = Low
fall.animtype  = Medium
air.velocity = -4,-4
down.velocity = -4,0
air.juggle = 1
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100
forcestand = 1

[State 330, HitDef]
type = HitDef
trigger1 = Var(0) >= 4
attr = A, HP
getpower = 0
damage    = 60,10
animtype  = DiagUp
getpower  = 10
givepower = 20
guardflag = MA
hitflag = MAFD
pausetime = 0,5
sparkno = 1
sparkxy = 0, -10
hitsound   = S5,1
guardsound = S2,0
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -4,-4
airguard.velocity = -2,-2   
air.type = High
air.velocity = -4,-4
air.juggle = 1
forcestand = 1
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100
air.fall = 1
fall = 1

[State 330, VelSet]
type = VelSet
trigger1 = MoveContact
ignorehitpause = 1
x = 0

[State 330, VelSet]
type = VelSet
trigger1 = AnimTime = 0
x = 5

[State 330, Flash]
type = EnvColor
trigger1 = MoveHit
value = 240,240,240
ignorehitpause = 1
under = 1
time = 1

[State 330, Explod]
type = Explod
triggerall = MoveHit
trigger1 = P2MoveType = H
ignorehtpause = 1
sprpriority = 10
random = 50,50
pos = 0,-50
postype = p2
anim = F2

[State 330, Explod]
type = Explod
triggerall = MoveHit
trigger1 = P2MoveType = H
ignorehtpause = 1
sprpriority = 8
random = 50,50
pos = 0,-50
postype = p2
anim = F3

[State 330, Reset]
type = MoveHitReset
trigger1 = MoveContact
ignorehitpause = 1

[State 330, State]
type = ChangeState
trigger1 = Var(1) <= 0
trigger1 = AnimTime = 0
value = 330

[State 330, State]
type = ChangeState
trigger1 = Var(0) >= 5
value = 326

[State 330, Destroy]
type = DestroySelf
trigger1 = BackEdgeBodyDist <= -100
trigger2 = FrontEdgeBodyDist <= -100

;---------------------------------------------------------------------------
; Flaming Fireball
[Statedef 340]
type    = S
movetype= A
physics = S
juggle  = 5
sprpriority = 4
velset = 0,0
anim = 320
ctrl = 0

[State 340, NotHitBy]
type = NotHitBy
trigger1 = AnimElem = 3, < 0
value = SCA
time = 1

[State 340, Explod]
type = Explod
trigger1 = Time = 4
shadow = 100,100,100
sprpriority = 5
removetime = 30
bindtime = -1
postype = p1
facing = 1
anim = 905
pos = 0,0
id = 905

[State 340, Explod]
type = Explod
trigger1 = Time = 4
shadow = 100,100,100
sprpriority = 5
removetime = 30
bindtime = -1
postype = p1
facing = -1
anim = 905
pos = 0,0
id = 905

[State 340, SuperPause]
type = SuperPause
trigger1 = Time = 4
pos = -15, -30
anim = 102
time = 0
movetime = 0
sound = 20, 0
poweradd = -1000
darken = 0

[State 340, AfterImage]
type = AfterImage
trigger1 = AnimElem = 2
palcontrast = 100,100,100
palbright = 0,0,0
paladd = 0,0,0
palmul = 1,1,1
trans = Add1
time = 1

[State 340, AfterImageTime]
type = AfterImageTime
trigger1 = AnimElem = 2, >= 0
time = 2

[State 340, Anim]
type = ChangeAnim
trigger1 = Time <= 35
trigger1 = AnimElem = 2, >= 0
value = 320
elem = 2

[State 340, PalFX]
type = PalFX
trigger1 = AnimElem = 3,3
time = 2
add = 100,100,100

[State 340, Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 11,7
channel = 0

[State 340, Sound]
type = PlaySnd
trigger1 = AnimElem = 4
value = 5,0
channel = 1

[State 340, Helper]
type = Helper
trigger1 = AnimElem = 4
helpertype = normal
ignorehitpause = 1
name = "Flaming Fireball"
size.ground.back = 5
size.ground.front = 5
size.air.back = 5
size.air.front = 5
size.xscale = 1
size.yscale = 1
id = 330
facing = 1
pos = 25,-15
postype = P1
stateno = 330
keyctrl = 0
ownpal = 1

[State 340, State]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

;---------------------------------------------------------------------------
; Flaming Fiery Punch
[Statedef 350]
type    = S
movetype= A
physics = N
juggle  = 5
velset = 0,0
anim = 350
ctrl = 0

[State 350, VarSet]
type = VarSet
trigger1 = Time <= 0
v = 1
value = 0

[State 350, NotHitBy]
type = NotHitBy
trigger1 = AnimElem = 4, < 0
value = SCA
time = 1

[State 350, Sound]
type = PlaySnd
trigger1 = Anim = 350
trigger1 = AnimElem = 3
value = 11,8
;freqmul = 1.1
channel = 0

[State 350, Explod]
type = Explod
trigger1 = Anim = 350
trigger1 = AnimElem = 3
shadow = 100,100,100
sprpriority = 5
removetime = 30
bindtime = -1
postype = p1
facing = 1
anim = 905
pos = 0,0
id = 905

[State 350, Explod]
type = Explod
trigger1 = Anim = 350
trigger1 = AnimElem = 3
shadow = 100,100,100
sprpriority = 5
removetime = 30
bindtime = -1
postype = p1
facing = -1
anim = 905
pos = 0,0
id = 905

[State 350, SuperPause]
type = SuperPause
trigger1 = Anim = 350
trigger1 = AnimElem = 3
pos = 5, -15
anim = 102
time = 0
movetime = 0
sound = 20, 0
poweradd = -1000
darken = 0

[State 350, AfterImage]
type = AfterImage
trigger1 = Anim = 350
trigger1 = AnimElem = 3
palcontrast = 100,100,100
palbright = 0,0,0
paladd = 0,0,0
palmul = 1,1,1
trans = Add1
time = 1

[State 350, AfterImageTime]
type = AfterImageTime
trigger1 = Anim = 350
trigger1 = AnimElem = 3, >= 0
time = 2

[State 350, Push]
type = PlayerPush
trigger1 = Anim = 350
trigger1 = AnimElem = 4, >= 0
value = 0

[State 350, VarRandom]
type = VarRandom
triggerall = Anim = 350
trigger1 = AnimElem = 7
v = 0
range = 0,1

;[State 350, Sound]
;type = PlaySnd
;triggerall = Var(0) <= 0
;triggerall = Anim = 350
;trigger1 = AnimElem = 7
;value = 6, 0
;channel = 1

[State 350, Sound]
type = PlaySnd
;triggerall = Var(0) >= 1
triggerall = Anim = 350
trigger1 = AnimElem = 7
value = 6, 0
channel = 1

[State 350, PalFX]
type = PalFX
triggerall = TimeMod = 2,0
trigger1 = AnimElem = 7, >= 0
trigger1 = AnimElem = 16, <= 0
add = 50,-50,-150
sinadd = 50,50,0,10
color = 100
time = 1

[State 350, 2]
type = VelSet
triggerall = Anim = 350
trigger1 = AnimElem = 7
y = -10

[State 350, StateType]
type = StateTypeSet
triggerall = Anim = 350
trigger1 = AnimElem = 7
statetype = A
physics = A

[State 350, 2]
type = VelAdd
triggerall = Anim = 350
trigger1 = AnimElem = 7, >= 0
trigger1 = AnimElem = 17, < 0
y = .25

[State 350, Flash]
type = EnvColor
trigger1 = MoveHit
value = 240,240,240
ignorehitpause = 1
under = 1
time = 1

[State 350, VarSet]
type = VarSet
trigger1 = MoveContact
trigger1 = AnimElem = 7, < 0
ignorehitpause = 1
v = 1
value = 1

[State 350, Explod]
type = Explod
triggerall = MoveHit
trigger1 = AnimElem = 7, < 0
trigger1 = P2MoveType = H
ignorehitpause = 1
sprpriority = 10
persistent = 0
random = 25,25
pos = 0,-50
postype = p2
anim = F2

[State 350, Explod]
type = Explod
triggerall = MoveHit
trigger1 = AnimElem = 7, < 0
trigger1 = P2MoveType = H
ignorehitpause = 1
sprpriority = 8
persistent = 0
random = 25,25
pos = 0,-50
postype = p2
anim = F3

[State 350, Reset]
type = MoveHitReset
trigger1 = MoveHit
ignorehitpause = 1

[State 350, Explod]
type = Explod
trigger1 = AnimElem = 7, >= 0
trigger1 = AnimElem = 14, <= 0
trigger1 = TimeMod = 4,0
id = 60
anim = F60
pos = 0,-50
vel = 0,5
ownpal = 1
facing = -1
postype = p1
sprpriority = 5

[State 300, HitDef]
type = HitDef
triggerall = Anim = 350
trigger1 = AnimElem = 6
attr = S, HA
damage = 325, 50
animtype = Up
guardflag = MA
hitflag = MAFD
priority = 3, Hit
pausetime = 10, 10
sparkno = 1
sparkxy = -10, -20
hitsound = S6, 6
guardsound = S2, 0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 18
ground.velocity = -2,-15
airguard.velocity = -1,-10
air.type = Low
air.velocity = -2,-15
air.hittime = 18
air.fall = 1
fall = 1
envshake.time = 10
envshake.freq = 100
envshake.ampl = -5
envshake.phase = 10
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100

[State 350, HitDef]
type = HitDef
triggerall = Var(1) <= 0
triggerall = Anim = 350
trigger1 = AnimElem = 7
trigger2 = AnimElem = 8
trigger3 = AnimElem = 9
trigger4 = AnimElem = 10
trigger5 = AnimElem = 11
trigger6 = AnimElem = 12
trigger7 = AnimElem = 13
trigger8 = AnimElem = 14
trigger9 = AnimElem = 15
attr = A, HA
getpower = 0
damage = 25, 10
animtype = Up
hitflag = MAFD
guardflag = MA
priority = 3, Hit
pausetime = 5, 5
sparkno = 0
sparkxy = -10, -50
hitsound = S5,1
guardsound = S2,0
ground.type = High
ground.slidetime = 20
ground.hittime = 20
ground.velocity = 0,-6
airguard.velocity = 0,-3
air.type = High
air.velocity = 0,-6
air.hittime = 20
air.fall = 1
fall = 1
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100

[State 350, HitDef]
type = HitDef
triggerall = Var(1) <= 0
triggerall = Anim = 350
trigger1 = AnimElem = 16
attr = A, HA
getpower = 0
damage = 100, 10
animtype = Up
hitflag = MAFD
guardflag = MA
priority = 3, Hit
pausetime = 10, 10
sparkno = 0
sparkxy = -10, -50
hitsound = S5,1
guardsound = S2,0
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -2,-6
airguard.velocity = -1,-3
air.type = High
air.velocity = -2,-6
air.hittime = 20
air.fall = 1
fall = 1
palfx.time = 40
palfx.add = 40,-50,-130
palfx.sinadd = 40,30,0,10
palfx.invertall = 1
palfx.color = 100

;---------------------------------------------------------------------------
; Spinning Tornado
[Statedef 360]
type    = S
movetype= A
physics = N
juggle  = 5
velset = 0,0
anim = 360
ctrl = 0

[State 360, NotHitBy]
type = NotHitBy
trigger1 = Anim = 360
trigger1 = AnimElem = 3 < 0
value = SCA
time = 1

[State 360, Sound]
type = PlaySnd
trigger1 = Anim = 360
trigger1 = AnimElem = 1
value = 10, 30
channel = 0

[State 360, Explod]
type = Explod
trigger1 = Anim = 360
trigger1 = AnimElem = 2
shadow = 100,100,100
sprpriority = 5
removetime = 70
bindtime = -1
postype = p1
facing = 1
anim = 905
pos = 0,0
id = 905

[State 360, Explod]
type = Explod
trigger1 = Anim = 360
trigger1 = AnimElem = 2
shadow = 100,100,100
sprpriority = 5
removetime = 70
bindtime = -1
postype = p1
facing = -1
anim = 905
pos = 0,0
id = 905

[State 360, SuperPause]
type = SuperPause
trigger1 = Anim = 360
trigger1 = AnimElem = 2
pos = 5, -20
anim = 102
time = 0
movetime = 0
sound = 20, 0
poweradd = -1000
darken = 0

[State 360, AfterImage]
type = AfterImage
trigger1 = Anim = 360
trigger1 = AnimElem = 2
palcontrast = 100,100,100
palbright = 0,0,0
paladd = 0,0,0
palmul = 1,1,1
trans = Add1
time = 1

[State 360, AfterImageTime]
type = AfterImageTime
trigger1 = Anim = 360
trigger1 = AnimElem = 2, >= 0
trigger2 = Anim = 310
time = 2

[State 360, VarRandom]
type = VarRandom
trigger1 = Anim = 360
trigger1 = AnimTime = 0
v = 0
range = 0,1

;[State 360, Sound]
;type = PlaySnd
;triggerall = Var(0) <= 0
;trigger1 = Anim = 360
;trigger1 = AnimTime = 0
;value = 10,21
;channel = 0

;[State 360, Sound]
;type = PlaySnd
;triggerall = Var(0) >= 1
;trigger1 = Anim = 360
;trigger1 = AnimTime = 0
;value = 10,23
;channel = 0

[State 360, Anim]
type = ChangeAnim
trigger1 = Anim = 360
trigger1 = AnimTime = 0
value = 310

;[State 360, Sound]
;type = PlaySnd
;triggerall = Anim = 310
;trigger1 = AnimElem = 2
;trigger2 = AnimElem = 5
;value = 0, 0

[State 360, Flash]
type = EnvColor
trigger1 = MoveHit
trigger1 = Time < 170 
value = 240,240,240
ignorehitpause = 1
under = 1
time = 1

[State 360, Reset]
type = MoveHitReset
trigger1 = MoveContact
trigger1 = Time < 170 
ignorehitpause = 1

[State 360, Flash]
type = EnvColor
trigger1 = MoveHit
trigger1 = Time >= 170 
value = 240,240,240
ignorehitpause = 1
persistent = 0
under = 1
time = 1

[State 360, 2]
type = HitDef
trigger1 = Time < 170
trigger1 = Anim = 310
trigger1 = TimeMod = 10,5
attr = S, HA
getpower = 0
damage = 20, 10
animtype = Medium
guardflag = MA
hitflag = MAFD
priority = 3, Hit
pausetime = 0, 0
sparkno = 1
sparkxy = -10, -25
hitsound = S1, 3
guardsound = S2, 0
ground.type = High
ground.slidetime = 20
ground.hittime  = 16
ground.velocity = 1,0
airguard.velocity = -4,-2
air.type = High
down.velocity = 0,0
air.velocity = 1,0
air.hittime = 16
air.fall = 1

[State 360, 2]
type = HitDef
trigger1 = Time < 170
trigger1 = Anim = 310
trigger1 = TimeMod = 10,0
attr = S, HA
getpower = 0
damage = 20, 10
animtype = Medium
guardflag = MA
hitflag = MAFD
priority = 3, Hit
pausetime = 0, 0
sparkno = 1
sparkxy = -10, -25
hitsound = S1, 3
guardsound = S2, 0
ground.type = Low
ground.slidetime = 20
ground.hittime  = 16
ground.velocity = 1,0
airguard.velocity = -4,-2
air.type = High
down.velocity = 0,0
air.velocity = 1,0
air.hittime = 16
air.fall = 1

[State 360, Anim]
type = ChangeAnim
trigger1 = Time >= 170
trigger1 = Anim = 310
trigger1 = AnimTime = 0
value = 315

[State 360, 2]
type = HitDef
trigger1 = Anim = 315
trigger1 = AnimElem = 4
attr = S, HA
damage = 20, 10
animtype = Up
guardflag = MA
hitflag = MAFD
priority = 3, Hit
pausetime = 10, 10
sparkno = 2
sparkxy = -10, -20
hitsound = S1, 5
guardsound = S2, 0
ground.type = High
ground.slidetime = 20
ground.hittime  = 20
ground.velocity = -2,-15
airguard.velocity = -1,-10
guard.velocity = -10
air.type = High
air.velocity = -2,-15
air.hittime = 20
air.fall = 1
fall = 1

[State 360, State]
type = ChangeState
trigger1 = Anim = 315
trigger1 = AnimTime = 0
value = 11
ctrl = 1

;---------------------------------------------------------------------------
