Hi Cyanide! The armor state is an adaptation of Zvitor's Colossus:
; Armor
[Statedef 5310]
;type = U
movetype = H
[State 5310]
type = PalFX
trigger1 = time = 1
trigger2 = time = 5
time = 3
add = 32,16,0
sinadd = 64,32,0,3
ignorehitpause = 1
[State 5310]
type = PosFreeze
trigger1 = 1
value = 1
[State 5310]
type = ChangeState
trigger1 = life <= 0
value = ifelse (statetype = A, 5020, 5000)
[State 5310]
type = ChangeAnim
trigger1 = 1
value = anim
elem = var(5)
[State 5310]
type = ChangeState
triggerall = life > 0
trigger1 = time >= floor(gethitvar(hittime) * 0.8)
value = var(6)
ctrl = var(7)
[State 5310]
type = ChangeState
triggerall = life > 0
trigger1 = time > 15
value = 0
ctrl = 1
The automatic states are these below. If var(9) exists, the armor activates when the char goes on-hit states:
[State -3, Armor]
type = ChangeState
triggerall = stateno = 5000 || stateno = 5010
triggerall = life > 0
trigger1 = (time = 0) && (var(9))
value = 5310
[State -3, Armor]
type = VarSet
trigger1 = (movetype != H) && (stateno != 5310)
var(5) = animelemno(0)
[State -3, Armor]
type = VarSet
trigger1 = (movetype != H) && (stateno != 5310)
var(6) = stateno
[State -3, Armor]
type = VarSet
trigger1 = (movetype != H) && (stateno != 5310)
var(7) = ctrl
[State -3, Armor]
type = VarAdd
trigger1 = var(9) > 0
var(9) = -1
[State -3, Armor]
type = VarSet
triggerall = var(9) > 0
trigger1 = life <= 0
trigger2 = roundstate = 3
var(9) = 0