[state -2,]
type = Helper
triggerall = numhelper(10015) = 0
trigger1 = stateno !=[120,159]
id = 10015
name = "armor"
sprpriority = -3
pos = 0,0
postype = p1
stateno = 10015
helpertype = normal
pausemovetime = 9999999999999
supermovetime = 9999999999999
bindtime = -1
keyctrl = 0
ownpal = 1
[State -2]
Type = NotHitBy
Trigger1 = NumHelper(10015) > 0 ;If the superarmor helper is active, the character cannot be hit by anything.
Trigger2 = NumHelper(10016) > 0
value = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
ignorehitpause = 1
supermovetime = 2147483647
pausemovetime = 2147483647
[State -2]
Type = NotHitBy
Trigger1 = NumHelper(10015) > 0
Trigger2 = NumHelper(10016) > 0
value2 = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT ;This is for safety, as another Nothitby might override the first one, so better be safe and apply it to both slots.
ignorehitpause = 1
supermovetime = 2147483647
pausemovetime = 2147483647
[State -2]
type = LifeAdd
trigger1 = NumHelper(10015)
trigger1 = Helper(10015),gethitvar(hitcount) = 1 ;Cannot be on the same line as the 1st trigger1 for some odd reason...
value = -Helper(10015),GetHitVar(Damage) ;This gives damage that the helper bodyguard takes to YOU
kill = 1 ;This controls whether you can be killed when above helper is active
And here's the rest that isn't State -2:;---------------------------------------------------------------------------
[Statedef 10015]
Type = U
MoveType = I
Physics = N
ctrl=0
[State a]
type=selfstate
trigger1=!ishelper
value=0
[State 1825]
type = assertspecial
trigger1 = 1
flag = invisible
[State a]
Type = Turn
trigger1 = Facing*(Parent,Facing) < 0
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999
[State a]
type = posset
trigger1 = 1
x = root,pos x
y = root,pos y
ignorehitpause = 1
[State a]
type = changeanim
trigger1 = 1
value = root,anim
elem = root,animelemno(0)
ignorehitpause = 1
[State a]
type = PlayerPush
trigger1 = 1
value = 0
ignorehitpause = 1
[State a]
type = HitOverride
trigger1 = 1
attr = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
stateno = 10016
time = 1
ignorehitpause = 1
[State a]
type = destroyself
trigger1 = root,stateno=[120,159]
trigger2 = root,MoveType=H
;---------------------------------------------------------------------------
[Statedef 10016]
Type = S
VelSet = 0,0
Sprpriority = 2
ctrl=0
[State a]
type=selfstate
trigger1=!ishelper
value=0
[State 1825]
type = assertspecial
trigger1 = 1
flag = invisible
[State a]
type = parentvarset
trigger1 = time = 0
var(55) = GetHitVar(damage)
ignorehitpause = 1
[State a]
Type = Turn
trigger1 = Facing*(Parent,Facing) < 0
IgnoreHitPause = 1
SuperMoveTime = 9999
PauseMoveTime = 9999
[State a]
type = posset
trigger1 = 1
x = root,pos x
y = root,pos y
ignorehitpause = 1
[State a]
type = changeanim
trigger1 = 1
value = root,anim
elem = root,animelemno(0)
ignorehitpause = 1
[State a]
type = HitOverride
trigger1 = 1
attr = SCA,NA,SA,HA,NP,SP,HP,NT,ST,HT
stateno = 10016
time = 1
ignorehitpause = 1
[State a]
type = ChangeState
trigger1 = time = 1
value = 10015
ctrl = 0
[State a]
type = destroyself
trigger1 = root,stateno=[120,159]
trigger2 = root,MoveType=H