ウチのキャラで実装している方法です。-2だけでできます。
;------------------------------------------------------------------------------; ; GetHitVar(hitcount) ;------------------------------------------------------------------------------; [State -2: Hit Count Reset] type = VarSet triggerall = !IsHelper trigger1 = MoveType != H trigger2 = StateNo = [120, 159] v = 33 value = 0 ignorehitpause = 1 [State -2: Hit Count] type = VarSet triggerall = !IsHelper trigger1 = MoveType = H trigger1 = StateNo != [120, 159] v = 33 value = GetHitVar(HitCount) ignorehitpause = 1 ;------------------------------------------------------------------------------; ; 一撃目補正 ; ; fvar(6) : モードによる防御 (被ダメージ) 補正値。1より大きいとダメージが増える。 ; fvar(7) : ライフ残量 (根性値) による補正。 ;------------------------------------------------------------------------------; [State -2: Calc First Get Hit Damage] type = LifeAdd triggerall = Alive triggerall = var(33) = 1 triggerall = var(31) := GetHitVar(Damage) ; ダメージを取得 trigger1 = var(30) := Floor(var(31) * (1.0 - (fvar(6) * fvar(7)))) ; 補正後ダメージとの差を取得 value = var(30) absolute = 1 persistent = 0 ignorehitpause = 1
HitCountを変数に入れているのは、GetHitVarトリガーが最後の食らい状態 (MoveType = H) の値を返してくるから。