Can you post the "var method" code of your super armor? The description you gave is pretty vague...
For the second problem, you will also have to post the code you are using. We need to understand how you are attempting to do the superarmor
Ok. Since I'm posting my code let me explain in more detail:
I (attempted to) created 3 levels of Super Armor for my character.
LV 1 are attacks That are resilient to Normal attacks
LV 2 are attacks resilient to Normal & Special attacks
LV 3 are attacks resilient to All attacks
here's the -3 Stuff
Spoiler, click to toggle visibilty
;---------------------------------------------
;SUPER ARMOR
;---------------------------------------------
[State -3, Save LV1 ]
type = VarSet
triggerall = (MoveType != H) && (StateNo != 8999)
trigger1 = StateNo = 221
trigger2 = StateNo = 222
trigger3 = StateNo = 250
trigger4 = StateNo = 1600
var(0) = StateNo
[State -3, Save LV2]
type = VarSet
triggerall = (MoveType != H) && (StateNo != 9000)
trigger1 = StateNo = 1101
trigger2 = StateNo = 1102
trigger3 = StateNo = 1103
trigger4 = StateNo = 1201
trigger5 = StateNo = 1202
trigger6 = StateNo = 1204
trigger7 = StateNo = 1205
var(21) = StateNo
[State -3, Save LV3]
type = VarSet
triggerall = (MoveType != H) && (StateNo != 9001)
trigger1 = StateNo = 2000
var(38) = StateNo
[State -3, Armor1]
type = HitOverride
triggerall = (MoveType != H) && (StateNo != 8999)
trigger1 = StateNo = 221
trigger2 = StateNo = 222
trigger3 = StateNo = 250
trigger4 = StateNo = 1600
time = 1
slot = 2
attr = SCA, NA, NP
stateno = 8999
[State -3, Armor2]
type = HitOverride
triggerall = (MoveType != H) && (StateNo != 9000)
trigger1 = StateNo = 1101
trigger2 = StateNo = 1102
trigger3 = StateNo = 1103
trigger4 = StateNo = 1201
trigger5 = StateNo = 1204
time = 1
slot = 2
attr = SCA, NA, NP, NT, SA, SP
stateno = 9000
[State -3, Armor3]
type = HitOverride
triggerall = (MoveType != H) && (StateNo != 9001)
trigger1 = StateNo = 2000
time = 1
slot = 2
attr = SCA, AA
stateno = 9001
Here's the Custom state Each hitoverride sends my player to:
Spoiler, click to toggle visibilty
;-----------------------------------------
; SUPER ARMOR LV1
;-----------------------------------------
[Statedef 8999]
Type = U
Physics = N
MoveType = H
[State 9000, PosFreeze]
type = PosFreeze
trigger1 = 1
value = 1
[State 9000, HitBy]
type = NotHitBy
trigger1 = 1
value = SCA, NA, NP
time = 1
[State 0, PalFXWiz]
type = PalFX
trigger1 = Alive
trigger1 = !Time
trigger2 = Time = 1
time = 2
add = 0,-200,-200
mul = 256,256,256
sinadd = 40,80,40,10
invertall = 0
color = 0
ignorehitpause = 1
[State 9000, b]
type = VarSet
trigger1 = time <= 0
v = 23
value = AnimElemNo(0)
[State 9000, LifeAdd]
type = LifeAdd
trigger1 = Time = 0
value = - floor(gethitvar(damage) / 2)
[State 9000, ChangeAnim]
type = ChangeAnim
trigger1 = Time < floor(gethitvar(hittime) * 0.8)
value = Anim
elem = var(23)
[State 9000, ChangeState];Dead
type = ChangeState
trigger1 = Life <= 0
value = ifelse(StateType = A, 5030,5000)
[State 9000, End]
type = ChangeState
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
value = Var(0)
;-----------------------------------------
; SUPER ARMOR LV2
;-----------------------------------------
[Statedef 9000]
Type = U
Physics = N
MoveType = H
[State 9000, PosFreeze]
type = PosFreeze
trigger1 = 1
value = 1
[State 9000, HitBy]
type = HitBy
trigger1 = 1
value = SCA, HA, HP, HT
time = 1
[State 0, PalFXWiz]
type = PalFX
trigger1 = Alive
trigger1 = !Time
trigger2 = Time = 1
time = 2
add = 0,-200,-200
mul = 256,256,256
sinadd = 40,80,40,10
invertall = 0
color = 0
ignorehitpause = 1
[State 9000, b]
type = VarSet
trigger1 = time <= 0
v = 23
value = AnimElemNo(0)
[State 9000, LifeAdd]
type = LifeAdd
trigger1 = Time = 0
value = - floor(gethitvar(damage) / 2)
[State 9000, ChangeAnim]
type = ChangeAnim
trigger1 = Time < floor(gethitvar(hittime) * 0.8)
value = Anim
elem = var(23)
[State 9000, ChangeState];Dead
type = ChangeState
trigger1 = Life <= 0
value = ifelse(StateType = A, 5030,5000)
[State 9000, End]
type = ChangeState
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
value = Var(21)
;-----------------------------------------
; SUPER ARMOR LV3
;-----------------------------------------
[Statedef 9001]
Type = U
Physics = N
MoveType = H
[State 9000, PosFreeze]
type = PosFreeze
trigger1 = 1
value = 1
[State 9000, HitBy]
type = NotHitBy
trigger1 = 1
value = SCA, AA
time = 1
[State 0, PalFXWiz]
type = PalFX
trigger1 = Alive
trigger1 = !Time
trigger2 = Time = 1
time = 2
add = 0,-200,-200
mul = 256,256,256
sinadd = 40,80,40,10
invertall = 0
color = 0
ignorehitpause = 1
[State 9000, b]
type = VarSet
trigger1 = time <= 0
v = 23
value = AnimElemNo(0)
[State 9000, LifeAdd]
type = LifeAdd
trigger1 = Time = 0
value = - floor(gethitvar(damage) / 2)
[State 9000, ChangeAnim]
type = ChangeAnim
trigger1 = Time < floor(gethitvar(hittime) * 0.8)
value = Anim
elem = var(23)
[State 9000, ChangeState];Dead
type = ChangeState
trigger1 = Life <= 0
value = ifelse(StateType = A, 5030,5000)
[State 9000, End]
type = ChangeState
trigger1 = Time >= floor(gethitvar(hittime) * 0.8)
value = Var(38)
and each attack state I wanted Armor on I applied in statedef
velset = (prevstateno = [whateverarmorstateno])* 0,(prevstateno = [whateverarmorstateno])* 0
facep2 = !(prevstateno = [whateverarmorstateno])
took out anim and used changeanim
[State 701, ChangeAnim]
type = ChangeAnim
trigger1 = animelemtime (0) = 0 && anim != [currentstateno]
value = [desiredanim]
and used animelemtime instead of time everywhere needed.
Annnd....here's the Focus:
Spoiler, click to toggle visibilty
;===========================================================================
; <<<<< FOCUS ATTACK >>>>>
;===========================================================================
;This state covers the charging aspect of the Focus Strike attack at the start.
;Focus Charge
[Statedef 700]
type = S
movetype = I
physics = S
juggle = 10
anim = 700
ctrl = 0
poweradd = 0
velset = 0,0
[State 0, Grunt PlaySnd]
type = PlaySnd
trigger1 = time = 31
value = S1001,78
channel = 0
[State 0, Charge up PlaySnd]
type = PlaySnd
trigger1 = time = 31
value = S1003,9
channel = 1
[State 100, electric surge]
type = Explod
trigger1 = time = [ 31, 57]
trigger1 = (time % 4) = 1
ID = 2225
anim = 2225
postype = p1
pos = 10, -55
bindtime = 1
removetime = -2
ownpal = 1
random = 35, 60
sprpriority = 2
scale = .5,.5
; These next two sctrls cover initial charge value and building it up
[State 700, starting value]
type = VarSet
trigger1 = time = 1 && var(20)
fvar(9) = 0
[State 700, adding to value]
type = VarAdd
trigger1 = time >= 1
fv = 9
value = 1
persistent = 1
; This PalFX sctrl emulates the temporary darkening of the character while charging near the start
[state 701, dark flash]
type = PalFx
trigger1 = time = 10
add = 0,0,0
sinadd = -100,-100,-100,40
time = 16
; These change states control dash cancels and moving into the attack portion
[State 700, dash cancel back]
type = ChangeState
trigger1 = time >= 8 && command = "BB"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&(enemynear,vel x>1)
value = 105
[State 700, dash cancel forward]
type = ChangeState
trigger1 = time >= 8 && command = "FF"
value = 100
[State 700, stopping early]
type = ChangeState
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
value = 702
[State 0, StopSnd]
type = StopSnd
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
trigger3 = time >= 8 && command = "BB"
trigger4 = time >= 8 && command = "FF"
channel = 0
[State 0, StopSnd]
type = StopSnd
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
trigger3 = time >= 8 && command = "BB"
trigger4 = time >= 8 && command = "FF"
channel = 1
[State 700, fully charged]
type = ChangeState
trigger1 = fvar(9)>=57
value = 702
;---------------------------------------------
;Focus Strike - charge state 2
;Focus if Hit
[Statedef 701]
type = S
movetype = I
physics = S
juggle = 10
ctrl = 0
poweradd = 0
velset = 0,0
; This part covers the after effects of getting hit from earlier.
[state 701, no more saving hit]
type = varset
trigger1 = time = 1
var(20) = 0
[state 701, white flash]
type = PalFx
trigger1 = time = 1
sinadd = 128,128,128,16
time = 8
[State 100, Focus Shield]
type = Explod
trigger1 = time = 1
ID = 7721
anim = 7721
postype = p1
pos = 10, -50
bindtime = 0
removetime = -2
ownpal = 1
sprpriority = 2
scale = .45,.45
[State 701, life removal]
type = LifeAdd
trigger1 = time = 1 && !var(20)
value = -(gethitvar(damage))
kill = 1
; This ctrl changes the animframe back to the last active one
[State 701, ChangeAnim]
type = ChangeAnim
trigger1 = time = 0
value = 700
elem = var(23)
; This varset is the continuation of charging
[State 701, adding to charge]
type = VarAdd
trigger1 = time >= 1
fv = 9
value = 1
persistent = 1
; These change states control dash cancels and moving into the attack portion
[State 701, dash cancel]
type = ChangeState
trigger1 = time >= 8 && command = "BB"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&(enemynear,vel x>1)
value = 105
[State 701, dash cancel forward]
type = ChangeState
trigger1 = time >= 8 && command = "FF"
value = 100
[State 701, early release]
type = ChangeState
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
value = 702
[State 0, StopSnd]
type = StopSnd
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
trigger3 = time >= 8 && command = "BB"
trigger4 = time >= 8 && command = "FF"
channel = 0
[State 0, StopSnd]
type = StopSnd
trigger1 = time >= 8 && command != "hold_b" && command !="hold_y"
trigger2 = Ailevel>=1&&numenemy&&(enemynear,inguarddist)&&Movetype=A
trigger3 = time >= 8 && command = "BB"
trigger4 = time >= 8 && command = "FF"
channel = 1
[State 701, fully charged]
type = ChangeState
trigger1 = fvar(9)>=57
value = 702
;----------------------------------------
;Focus Attack
[Statedef 702]
type = S
movetype = A
physics = N
juggle = 10
anim = 701
ctrl = 0
velset = 0,0
[State 0, Grunt PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S1002,64
channel = 0
[State 0, lightning PlaySnd]
type = PlaySnd
trigger1 = time = 0
value = S1004,7
channel = 1
;PalFX sctrls; the first removes any earlier stuff, and the second the white flash
;that appears if you have maxed out focus
[state 901, cancel earlier fx flash]
type = PalFx
trigger1 = time = 0
add = 0,0,0
time = 0
[State 100, electric surge]
type = Explod
triggerall = (FVar(9) = [31,57])
trigger1 = time = [ 0, 25]
trigger1 = (time % 4) = 1
ID = 2225
anim = 2225
postype = p1
pos = 30, -55
bindtime = -1
removetime = -2
ownpal = 1
random = 25, 60
sprpriority = 2
scale = .5,.5
[State 0, VelSet]
type = VelSet
triggerall = anim = 701 && (FVar(9) = [0,29])
trigger1 = animelem = 3
x = 65
[State 0, VelSet]
type = VelSet
triggerall = anim = 701 && (FVar(9) = [31,56])
trigger1 = animelem = 3
x = 80
[State 0, VelSet]
type = VelSet
triggerall = anim = 701 && FVar(9) = 57
trigger1 = animelem = 3
x = 220
[State 0, ChangeAnim]
type = ChangeAnim
triggerall = anim = 701
trigger1 = time >= 10
value = 702
[State 0, VelSet]
type = VelSet
triggerall = anim = 701
trigger1 = time >= 10
x = 0
[State 0, Turn]
type = Turn
trigger1 = anim = 702 && animelem = 1
;ignorehitpause =
;persistent =
[State 0, RemoveExplod]
type = RemoveExplod
trigger1 = anim = 702
id = 2222
[State 41, Train]
type = AfterImage
triggerall = FVar(9) = 57
trigger1 = Time =0
time = 35
length = 12
timegap = 1
framegap = 1
paladd = 0,0,0
palbright = 50, 50, 50
palcontrast = 128,128,128
paladd = 0, 0, 0
palmul = 1,1,1
trans = add
[State 0, PalFXWiz]
type = PalFX
triggerall = FVar(9) = 57
trigger1 = time = 0
time = 15
add = 100,100,180
mul = 256,256,256
sinadd = -80,-80,-80,6
invertall = 0
color = 256
[State 100, Blur Effect]
type = Explod
triggerall = anim = 701
trigger1 = time = 3
ID = 99
anim = 99
postype = p1
pos = -15, -50
bindtime = -1
removetime = -2
ownpal = 1
sprpriority = 3
scale = 1.5,1.3
[State 100, Dust Spark]
type = Explod
triggerall = anim = 701
trigger1 = time = 0
ID = 102
anim = 102
postype = p1
pos = 5, -1
bindtime = 0
removetime = -2
ownpal = 1
sprpriority = 2
scale = .4,.4
[State 100, Dash Spark]
type = Explod
triggerall = anim = 701
trigger1 = time >= 3
trigger1 = (time % 4) = 2
ID = 2222
anim = 2222
postype = p1
pos = 50, -70
bindtime = -1
removetime = -2
ownpal = 1
random = 5, 10
sprpriority = 2
scale = .6,.4
[State 100, Dash Spark]
type = Explod
triggerall = anim = 701
trigger1 = time >= 3
trigger1 = (time % 4) = 2
ID = 2222
anim = 2222
postype = p1
pos = 40, -60
bindtime = -1
removetime = -2
ownpal = 1
random = 10, 20
sprpriority = 0
scale = .7,.4
[State 100, Dash Spark]
type = Explod
triggerall = anim = 701
trigger1 = time >= 3
trigger1 = (time % 4) = 2
ID = 2222
anim = 2222
postype = p1
pos = 30, -54
bindtime = -1
removetime = -2
ownpal = 1
random = 5, 20
sprpriority = 2
scale = .7,.4
[State 100, Dash Spark]
type = Explod
triggerall = anim = 701
trigger1 = time >= 3
trigger1 = (time % 4) = 2
ID = 2222
anim = 2222
postype = p1
pos = 20, -34
bindtime = -1
removetime = -2
ownpal = 1
random = 5, 20
sprpriority = 0
scale = .7,.4
[State 100, Dash Spark]
type = Explod
triggerall = anim = 701
trigger1 = time >= 3
trigger1 = (time % 4) = 2
ID = 2222
anim = 2222
postype = p1
pos = 30, -5
bindtime = -1
removetime = -2
ownpal = 1
random = 5, 10
sprpriority = 2
scale = .5,.4
[State 100, Dust Spark]
type = Explod
triggerall = anim = 702
trigger1 = time = 4
ID = 102
anim = 102
postype = p1
pos = 15, -1
bindtime = 0
removetime = -2
ownpal = 1
sprpriority = 2
scale = .4,.4
[State 0, PlayerPush]
type = PlayerPush
trigger1 = time >= 3
value = 0
;ignorehitpause =
;persistent =
; The hitdef used depends on the how long you've been charging.
; In case you are wondering why there are 2 versions of each lvl's
; hitdef, the second one has been refined to compensate for hitting
; air opponents.
;lvl 1
[State 702, 0-30]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
trigger1 = AnimElem = 3 && (FVar(9) = [0,29])
attr = S, NA
damage = ceil(ifElse(fvar(11) * 40 < 7, 7, fvar(11) * 40)), 0
animtype = Hard
air.animtype = back
guardflag = M
hitflag = M
priority = 4, Hit
pausetime = 0, 0
sparkno = S7725
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,124
guardsound = 6, 0
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -8.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
p2stateno = 15018 ;p2 special GH state
[State 702, 0-30]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
triggerall = p2statetype = A
trigger1 = AnimElem = 3 && (FVar(9) = [0,29])
attr = S, NA
damage = ceil(ifElse(fvar(11) * 40 < 7, 7, fvar(11) * 40)), 0
animtype = Hard
air.animtype = back
guardflag = A
hitflag = A
priority = 4, Hit
pausetime = 0, 0
sparkno = S7725
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,124
guardsound = 6, 0
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -6.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
; Counter version of lvl 1: If you counterhit when at this early stage, crumple is possible it seems.
[State 902, 0-30 counter ver]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
trigger1 = AnimElem = 3 && (FVar(9) = [0,29])
trigger1 = p2movetype = A && p2statetype !=A
attr = S, NA
damage = ceil(ifElse(fvar(11) * 40 < 7, 7, fvar(11) * 40)), 0
animtype = Hard
air.animtype = back
guardflag = M
hitflag = M
priority = 6, Hit
pausetime = 0, 0
sparkno = S7725
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,124
guardsound = 6, 0
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -6.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
p2stateno = 15013 ;<-- This is the p2 crumple state
;lvl 2
[State 902, 31-59]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
trigger1 = AnimElem = 3 && (FVar(9) = [31,56])
attr = S, NA
damage = ceil(ifElse(fvar(11) * 55 < 7, 7, fvar(11) * 55)), 0
animtype = Hard
air.animtype = back
guardflag = M
hitflag = M
priority = 4, Hit
pausetime = 0,0
sparkno = S7726
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,125
guardsound = 6, 0
ground.type = Low
ground.slidetime = 16
ground.hittime = 16
ground.velocity = -8.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
p2stateno = 15013 ;<-- This is the p2 crumple state
[State 702, 31-59 b]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
triggerall = p2statetype = A
trigger1 = AnimElem = 3 && (FVar(9) = [30,56])
attr = S, NA
damage = ceil(ifElse(fvar(11) * 55 < 7, 7, fvar(11) * 55)), 0
animtype = Hard
air.animtype = back
guardflag = A
hitflag = A
priority = 5, Hit
pausetime = 0, 0
sparkno = S7726
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,125
guardsound = 6, 0
ground.type = Low
ground.slidetime = 16
ground.hittime = 16
ground.velocity = -4.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
[State 702, 31-59 counter]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
trigger1 = p2movetype = A && p2statetype !=A
trigger1 = AnimElem = 3 && (FVar(9) = [30,56])
attr = S, NA
damage = ceil(ifElse(fvar(11) * 55 < 7, 7, fvar(11) * 55)), 0
animtype = Hard
air.animtype = back
hitflag = M
priority = 5, Hit
pausetime = 0, 0
sparkno = S7726
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,125
guardsound = 6, 0
ground.type = Low
ground.slidetime = 16
ground.hittime = 16
ground.velocity = -4.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
p2stateno = 15013 ;<-- This is the p2 crumple state
;lvl 3 MAX
[State 702, max-charge]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
trigger1 = AnimElem = 3 && FVar(9) = 57
attr = S, NA
damage = ceil(ifElse(fvar(11) * 70 < 7, 7, fvar(11) * 70)), 0
animtype = Hard
air.animtype = back
;guardflag = MA ;<-- Commented out as you will not be blocking this. This will hurt, and you will fall!
hitflag = MAF
priority = 4, Hit
pausetime = 0, 0
sparkno = -1
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,127
guardsound = 6, 0
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -4.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
p2stateno = 15013 ;<-- This is the p2 crumple state
envshake.time = 8
envshake.ampl = -4
[State 702, max-charge]
type = HitDef
triggerall = P2stateno != [5020,5040]
triggerall = p2stateno != [154,155]
triggerall = p2statetype = A
trigger1 = AnimElem = 3 && FVar(9) = 57
attr = S, NA
damage = ceil(ifElse(fvar(11) * 70 < 7, 7, fvar(11) * 70)), 0
animtype = Hard
air.animtype = back
hitflag = A
priority = 6, Hit
pausetime = 0, 0
sparkno = -1
guard.sparkno = S7717
sparkxy = -5, -58
hitsound = S1002,127
guardsound = 6, 0
ground.type = Low
ground.slidetime = 14
ground.hittime = 14
ground.velocity = -4.95
guard.slidetime = 18
guard.hittime = 18
guard.ctrltime = 12
airguard.velocity = -3.5,-4
air.type = High
air.velocity = -3.5,-6
air.hittime = 9
getpower = 101,101
givepower = 21,21
ground.cornerpush.veloff = -7.25
air.cornerpush.veloff = 0
yaccel = .55
air.fall = 1
air.juggle = 15
envshake.time = 8
envshake.ampl = -4
[State 100, Max Damage Hitspark]
type = Explod
triggerall = FVar(9) = 57
trigger1 = movehit = 1
ID = 7727
anim = 7727
postype = p2
pos = 0, -50
bindtime = -1
removetime = -2
ownpal = 1
sprpriority = 3
scale = .5,.5
[State 702, fvar reset]
type = VarSet
trigger1 = !AnimTime
fvar(9) = 0
;Dash Cancels upon movecontact
[State 702, dash cancel]
type = ChangeState
trigger1 = Movecontact && command = "FF"
value = 100
[State 702, dash cancel]
type = ChangeState
trigger1 = Movecontact && command = "BB"
value = 105
[State 702, end]
type = ChangeState
triggerall = anim = 702
trigger1 = AnimTime = 0
value = 0
ctrl = 1
;----------------------------------------
;Negative States:
;Statedef -2 stuff
; Focus attack / Saving Strike code (Part A)
;The later half of this negative coding can be found under statedef -3
[State -2, Focus Attack meter reset when no longer charging]
type = VarSet
trigger1 = (stateno !=[700,701]) && ((stateno=[5000,5099]) && prevstateno != 700)
trigger2 = stateno = [100,105]
fv = 9
value = 0
[State -2, life return removed if hit while refilling]
type = VarSet
trigger1 = var(21) && stateno !=701 && movetype = H
var(21) = 0
[State -2, Life return if left alone]
type = LifeAdd
trigger1 = (stateno != [701,702]) && var(21) && (Gametime%6)=1
value = 1
absolute = 0
[State -2, life return if left alone]
type = VarAdd
trigger1 = (stateno != [701,702]) && var(21) && (Gametime%6)=1
v = 21
value = -1
;Statedef -3 stuff
; Focus attack / Saving Strike code (Part B)
;-----------------------------
[state -3, animelem set frame 1]
type = varset
trigger1 = stateno = 700 && time = 1
var(23) = 1
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 2
var(23) = 2
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 3
var(23) = 3
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 4
var(23) = 4
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 5
var(23) = 5
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 6
var(23) = 6
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 7
var(23) = 7
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 8
var(23) = 8
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 9
var(23) = 9
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 10
var(23) = 10
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 11
var(23) = 11
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 12
var(23) = 12
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 13
var(23) = 13
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 14
var(23) = 14
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 15
var(23) = 15
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 16
var(23) = 16
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 17
var(23) = 17
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 18
var(23) = 18
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 19
var(23) = 19
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 20
var(23) = 20
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 21
var(23) = 21
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 22
var(23) = 22
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 23
var(23) = 23
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 24
var(23) = 24
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 25
var(23) = 25
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 26
var(23) = 26
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 27
var(23) = 27
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 28
var(23) = 28
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 29
var(23) = 29
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 30
var(23) = 30
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 31
var(23) = 31
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 32
var(23) = 32
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 33
var(23) = 33
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 34
var(23) = 34
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 35
var(23) = 35
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 36
var(23) = 36
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 37
var(23) = 37
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 38
var(23) = 38
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 39
var(23) = 39
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 40
var(23) = 40
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 41
var(23) = 41
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 42
var(23) = 42
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 43
var(23) = 43
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 44
var(23) = 44
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 45
var(23) = 45
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 46
var(23) = 46
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 47
var(23) = 47
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 48
var(23) = 48
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 49
var(23) = 49
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 50
var(23) = 50
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 51
var(23) = 51
[state -3, animelem set frame 2]
type = varset
trigger1 = stateno = 700 && animelem = 52
var(23) = 52
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 53
var(23) = 53
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 54
var(23) = 54
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 55
var(23) = 55
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 56
var(23) = 56
[state -3, animelem set frame 3]
type = varset
trigger1 = stateno = 700 && animelem = 57
var(23) = 57
[state -3, animelem set frame 3]
type = null;varset
trigger1 = stateno = 700 && animelem = 58
var(23) = 58
[state -3, animelem set frame 3]
type = null;varset
trigger1 = stateno = 700 && animelem = 59
var(23) = 59
[state -3, animelem set frame 3]
type = null;varset
trigger1 = stateno = 700 && animelem = 60
var(23) = 60
[State -3, Change to second state]
type = HitOverride
trigger1 = stateno = 700
attr = SCA,NA,SA,HA,NP,SP,HP
slot = 0
stateno = 701
time = 1
forceair = 0
ignorehitpause = 1
persistent = 1
[state -3, varset for first state]
type = varset
trigger1 = stateno = 700
var(20) = 1
[state -3, varset for second state]
type = varset
trigger1 = stateno = 701
var(20) = 0
[state -3, lost health tally in second state]
type = null; varset
trigger1 = stateno = 701 && time = 0
var(21) = (gethitvar(damage))
[State -3, health removal in second state]
type = LifeAdd
trigger1 = stateno = 701
value = -(gethitvar(damage))
kill = 1
If you spot anything else that might be off aside from my complaint let me know. It may work fine now, and then later a new issue may arrive out of nowhere.