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