堕落街道まっしぐら。

現在のゲームプレイ状況: アリスギア = ウマ娘 > DMMブラゲ > Crossout >> それ以外

MUGEN/忘れ物

そういえば(判定が設定されているものは性能改変にあたるので)削除しましたが、
bsk用の汎用式アラドアーマー記述とか書くだけ書いたので張っておきます。

※1
開始時間/終了時間はやられ判定の状況を見て設定したので自己調整してください。

※2
キャラ本体にやられ判定がないとアーマーではなく無敵になってしまうのでちゃんと設定してください。


;-------------------------------------------------------------------------------
; アーマー処理
;-------------------------------------------------------------------------------
[State -2, アーマーヘルパー呼び出し]
type = Helper
triggerall = !NumHelper(9000) && MoveType != H
trigger1 = StateNo = 800 && Time = 1 ;血波斬
trigger2 = StateNo = 1000 && Time = 1 ;アッパースラッシュ
trigger3 = StateNo = 3120 && Time = 1 ;崩山撃
trigger4 = StateNo = 3502 && Time = 1 ;ブラッディーレイブ・フィニッシュ
trigger5 = StateNo = 3605 && AnimElem = 4,0 ;アウトレージブレイク
name = "Armor"
stateno = 9000
ID = 9000
size.xscale = 1
size.yscale = 1
postype = p1
pos = 0,0
ownpal = 1
supermovetime = 99999
pausemovetime = 99999
ignorehitpause = 1

[State -2, アーマー中の投げ以外無敵]
type = NotHitBy
trigger1 = NumHelper(9000)
value2 = ,AA,AP
time = 2

[State -2, アーマー中に被弾した時の無敵時間延長(2重被弾抑制処置)]
type = NotHitBy
trigger1 = NumHelper(9000)
trigger1 = Helper(9000),GetHitVar(damage)
value = SCA
time = Helper(9000),GetHitVar(hitshaketime)+5

[State -2, アーマー受けした時のライフ減少]
type = LifeAdd
trigger1 = NumHelper(9000)
trigger1 = Helper(9000),GetHitVar(damage)
value = -1*Helper(9000),GetHitVar(damage)
absolute = 1
ignorehitpause = 1

;-------------------------------------------------------------------------------
[Statedef 9000]; アーマー判定ヘルパー
;-------------------------------------------------------------------------------
type = A
movetype = I
physics = N
sprpriority = -1

[State 9000, 0/CHs]; 不具合対策
type = ChangeState
trigger1 = !IsHelper
value = 0
ctrl = 1

[State 9000, 0/Ass]; 開始時だけ透明/親とアニメが違っていたら透明
type = AssertSpecial
trigger1 = Time = 0 || Anim != Parent,Anim
flag = Invisible

[State 9000, 0/NHB]; 開始時だけ無敵(重複被弾防止)
type = NotHitBy
trigger1 = Time = 0
value = SCA
time = 1

[State 9000, -1/NHB]; 投げ無敵
type = NotHitBy
trigger1 = 1
value2 = ,AT
time = 2

[State 9000, -1/Tra]; 透過処理
type = Trans
trigger1 = 1
trans = addalpha
alpha = 256,130

[State 9000, -1/Ass]; 影消し
type = AssertSpecial
trigger1 = 1
flag = NoShadow

[State 9000, -1/Pos]; 本体に追従
type = BindToParent
trigger1 = 1
time = 1
facing = 1
pos = 0,0

[State 9000, -1/CHa]; 判定を揃える
type = ChangeAnim
trigger1 = SelfAnimExist(Parent,Anim)
value = Parent,Anim
elem = Parent,AnimElemNo(0)

[State 9000, -1/Var]; アーマーエフェクト用の拡縮変数
type = VarAdd
trigger1 = fvar(0) < 30
fvar(0) = 3

[State 9000, -1/Agl]; アーマーエフェクト用の拡縮
type = AngleDraw
trigger1 = 1
scale = (134-fvar(0))*0.01,(132-fvar(0))*0.01

[State 9000, -1/Var]; アーマーエフェクト発光用の被弾変数
type = VarSet
trigger1 = 1
fvar(1) = IfElse(GetHitVar(damage),1,IfElse(Time<20,fvar(1),0))

[State 9000, -1/Pal]; アーマーエフェクト発光:黄
type = PalFX
trigger1 = fvar(1) = 0 && Time%20 = 0
trigger2 = fvar(1) = 1 && Time%4 = 0
time = IfElse(fvar(1)=1,2,10)
add = 256,256,0
mul = 256,256,0

[State 9000, -1/Pal]; アーマーエフェクト発光:赤
type = PalFX
trigger1 = fvar(1) = 0 && Time%20 = 10
trigger2 = fvar(1) = 1 && Time%4 = 2
time = IfElse(fvar(1)=1,2,10)
add = 256,0,0
mul = 256,0,0

[State 9000, 0]; 打撃/飛び道具を受けたらステートを繰り返す
type = HitOverRide
trigger1 = IsHelper(9000)
attr = SCA,AA,AP
stateno = 9000

[State 9000, 0]; 本体がアーマーパートを過ぎたら消滅
type = DestroySelf
trigger1 = Parent,StateNo != 800 || (Parent,StateNo = 800 && Parent,AnimElem = 5,>0) ;血波斬
trigger1 = (Parent,StateNo != [1000,1010]) || (Parent,StateNo = 1010 && Parent,AnimElem = 4,>0) ;アッパースラッシュ
trigger1 = Parent,StateNo != [3120,3122] ;崩山撃
trigger1 = Parent,StateNo != 3502 ;ブラッディーレイブ・フィニッシュ
trigger1 = Parent,StateNo != 3605 ;アウトレージブレイク
trigger2 = Parent,MoveType = H



アーマー処理項は-2ステートに、9000番は適当なcns内にコピペ。