- ※解説修正情報※
- ●2015-04-30:GivePowerの不具合を再検証。HelperのPower管理の不具合と判明。
- ●2014-12-04:Guard.Distは省略時「変更しない」。初期値としてCNS設定が入っている。
- ●2014-11-04:HitFlagについて。省略しても一応命中する。指定内約は不明。
- …
- ●2013-06-02:GetPower,GivePowerの不具合を再検証。GetPowerの不具合と判明。
- これより古い情報については最下部に。
■HitDef【通常攻撃判定定義】
- ▼概要
- 自分の攻撃判定枠と相手のくらい判定枠が重なった時にヒットさせる攻撃判定定義。
- 攻撃の各種パラメータが相手の状態へ当たる設定の場合ヒットする。
- 仕様上SC-/ReversalDefとは併用できない。
- ステートが移動するか、ReversalDefなどが実行されるまで定義は持続する。
- T-/MoveTypeはI以外でなければ機能せず、また基本的にAでなければならない。
- HitDefの定義をもった攻撃判定へヒットするのがSC-/ReversalDefである。
- 攻撃定義
- 通常攻撃定義:SC-/HitDef
- 当て身投げ用定義:SC-/ReversalDef
- 飛び道具射出:SC-/Projectile
- SC-/Projectileは全て?、SC-/ReversalDefは一部、HitDefと同じパラメータを使用出来る。
- 関連:T-/GetHitVar()
- ▼必須記述
- Attr = (Attr文字列型) ;攻撃属性の指定
- HitFlag = (文字列) ;命中する状態指定(省略時MA?、検証不足)
- ※複数指定可、指定以外の状態には命中しない。
- H:High、T-/StateTypeがSの相手
- L:Low、StateTypeがCの相手
- M:Medium、StateTypeがSかCの相手。「HL」指定と同じ
- A:Air、StatetypeがAの相手(空中)。
- F:Fall、T-/HitFallが1でくらい状態にある相手(AかD必須)
- D:Down、StatetypeがLの相手。(Fと組み合わせる必要がある)
- P:Projectile、SC-/Projectileへ当たる。Win版以降用。
- 該当する項目が抜けている場合、その相手には当たらない。
- 指定例:MAF(ダウン追撃以外可能)、DF(ダウン追撃専用)
- +:くらい状態の相手にのみ当たる
- -:くらい状態の相手には当たらない。
- 「命中判定時点で」のため移動した時点のフレームでも命中する。
- 例:「-」指定でものけぞりから戻った時点から当てることができる。
- つまり:相手の行動が不能なタイミングで繋ぐ事が可能。
- 投げ技などで制限する場合はトリガーでも制御すること。
- ▼オプション
- 文字列指定は、複数指定以外、頭文字で判定。
- ▼HitID
- ID = (Int型) ;ヒットID。「TargetID」を決定する要素。省略時:0
- Target系の処理などを行う際、相手を区別するためのもの。
- ただしTarget自体は自分側管理だが、Target用のID自体は相手側管理。
- ChainID = (Int型) ;固定連続技指定
- NoChainID = (Int型) ;連続不可技指定「,」から2番目を指定可能。
- 省略時:-1(全ての攻撃に有効)
- 特定のIDの後にしか命中しないのがChainID指定
- 特定のIDの後では命中しないのがNoChainID指定
- ただし一部挙動が未解明に不安定のようなので注意。
使用するなら検証しつつ行うこと。
- NoChainは2つまで指定可能だが3つ以上は指定できない。ChainIDの方は1つのみ。
- ▼攻撃対象・属性系
- GuardFlag = (文字列) ;ガードが可能な体勢。複数指定可
- ※基本HitFlagと同様で、指定以外の状態ではガードできない。
- H:High、T-/StateTypeがSの相手
- L:Low、StateTypeがCの相手
- M:Medium、StateTypeがSかCの相手。「HL」指定と同じ
- A:Air、StatetypeがAの相手(空中)。
- 省略時:指定無し(ガード不可)
- なお数値を入れるとエラーが流れる。
- AffectTeam = (文字列) ;対象のチーム。省略時:E(敵のみ)
- E:Enemy、敵のみ
- F:Friend、味方のみ
- B:Both、敵味方両方の無差別。
- Priority = (優先度Int型), (相打ち時文字列) ;省略時:4 ,H
- 優先度は基本1~7の数値が望ましいが、一応それ以上・以下でも機能する。
- 攻撃判定とくらい判定が互いに重なり同じタイミングで攻撃を受ける場合、
優先度の高い方が一方的にヒットする
- ※無敵などで片方が命中しない場合は命中する方が一方的に当たる。
- 優先度が同一で相打ちする場合、相打ち時の指定に従う。(省略可)
- H:Hit、ヒット。相打ちする相手がDogeでなければ、攻撃が命中する。
- M:Miss、ミス。相打ちする相手に、自分側の攻撃が命中しない。
- D:Dodge、Doubleミス。互いに攻撃が命中しない。
- P1StateNo指定する場合Missでなければならない。
- またP2StateNo,P2GetP1Stateでステート奪取する場合もMissが望ましい。
- HitOnce = (bool型) ;単一ヒットフラグ
- 省略時、通常0だが、Attr(攻撃属性)がT(投げ)の場合1に。
- 1の場合は複数の相手に重なっても一人にしか当たらない。
- HitOnce=1の攻撃を当てると、当てた相手以外のTargetを放棄する。
- 0の場合、相手が複数だとTarget限度の8人まで同時ヒット可能。
- 攻撃判定が持続してるならフレーム経過しても複数相手にヒット可能。
- 細かくはTargetのページを参照
- ▼攻撃威力系
- Guard.Dist = (Int型) ;攻撃予定範囲の指定
- Damage = (ヒットInt型), (ガードInt型) ;ダメージの数値、省略0,0
- ヒットには攻撃力の補正がかかる。命中した場合のダメージ量は相手の防御力で減衰する。
- 威力はHitDef実行時点の数値・攻撃力が使われる。
- 例:攻撃力2倍でHitDefを実行し、攻撃力0.5倍で命中した場合、
相手に与えるダメージは2倍側の数値で決定される。
- ダメージ値についてはダメージのページを参照。
- Kill = (bool型) ;KOフラグ 省略時:1(KOできる)
- Guard.Kill = (bool型) ;ガード・削り時
- PauseTime = (自分Int型), (相手Int型) ;HitPauseの時間
- Guard.PauseTime = (自分Int型), (相手Int型) ;ガードされた場合の。
- PauseTimeの省略時は0,0。Guard.PauseTime省略時はPauseTimeの設定値に。
- 命中した後の停止時間、ヒットポーズ時間。
- ヒットポーズ中は基本的な処理が一時的に停止する。
- IgnoreHitPause=0(省略含む)のステートコントローラーは無視
- アニメ処理も停止中は進まず、同じアニメを表示する
- SC-/PauseSC-/SuperPauseのMoveTimeをPauseTime分得る?
- Pause中に攻撃を受けた場合、PauseTime分だけ動ける。そのためPauseTime=*,1以上ではダメージ処理が行われる。
- *,0の場合Pause中はダメージ処理が行われず、ダメージは保存蓄積され、キャラが動き始める時点でダメージ処理が行われる。
- Ground.HitTime = (Int型) ;相手ヒットのけぞり硬直時間 省略時0
- Air.HitTime = (Int型) ;空中時 省略時20
- Down.HitlTime = (Int型) ;倒れ時 省略時?不明
- ヒット時、PauseTimeに加えて硬直時間分、相手は行動不能となる。
- 空中硬直はFallが0の場合、着地でも行動可能になる。
- 空中硬直はFallが1の場合、Fall.Recoverが硬直時間に相当するる
- Down.HitTimeは「ダウンのけぞり」に限る。
- ダウンのけぞりは倒れ中に受ける浮き上がらないくらい状態のこと。
- つまりDown.VelocityのY速度が0で無いなら適応されない。
- ダウンのけぞりではDown.HitTime分、起き上がれない。
- Guard.HitTime = (Int型) ;ガードのけぞり時間 省略時0?
- Guard.CtrlTime = (Int型) ;ガードのけぞり硬直時間
- AirGuard.CtrlTime = (Int型) ;空中時の硬直時間
- CtrlTime省略時はGuard.SlideTimeと同じ値になる。
- ガード時ののけぞり時間と硬直時間。ヒットと違い別々
- CtrlTimeとHitTimeのどちらかを終えた時点でCtrlが戻る。
- CtrlTime>HitTimeの場合、のけぞり終了時点で行動可能に。
- CtrlTime<HitTimeの場合、のけぞり終了前に、行動可能に。
- つまりその場合→Movetype=H&&Ctrl=1の状態となる。
- ※Dos版の場合、Guard.HitTimeの反映値が半減する。
- Dos版でもCtrlTime自体は指定値と同じ分になる。
- Ground.SlideTime = (Int型) ;地上ヒットバックの時間 省略時0
- Guard.SlideTime = (Int型) ;ガード時。省略時Ground.SlideTimeと同じ値
- 指定時間の分、地上でのノックバックが残り続ける。空中には影響なし。
- ただし、元々摩擦が発生しているため、確実ではない。
- なおヒット時の指定時間後は毎フレーム0.6倍、ガード時はX速度が0になる。
- またHitTime分が0になった場合もノックバックは停止する。
- 「硬直時間の差」の基本は
- ヒット時:PauseTimeの差+HitTimeがのけぞり硬直時間~
- ガード時:PauseTimeの差+HitTimeかCtrlTimeのどちらか短い方~
- そこに攻撃後の動作時間で、有利不利がおおよそ決定する。
- なお持続する時間で有利不利を一定にしたい場合
- ▼ノックバック・ふっとび関係
- Ground.Velocity = (X速度Float型) ,(Y速度Float型) ;ノックバック速度(地上)
- Air.Velocity = (X速度Float型) ,(Y速度Float型) ;ノックバック速度(空中)
- Down.Velocity = (X速度Float型) ,(Y速度Float型) ;ノックバック速度(倒れ)
- Guard.Velocity = (X速度Float型) ;地上・ガード時 ※,を入れるとエラー
- AirGuard.Velocity = (X速度Float型) ,(Y速度Float型) ;空中・ガード時
- それぞれでSC-/HitVelSetで適応される、ノックバックの初速量。
- Ground.Velocityと、Air.Velocityは省略時どちらも0,0
- Down.Velocityは省略時Air.Velocityと同一値
- Guard.Velocityは省略時Guround.VelocityのX速度と同じ値に。
- AirGuard.Velocityは省略時Air.Velocityの、X*1.5、Y/2の値に。
- Yaccel = (Float型) ;相手ふっとび中の重力加速度
- 省略時:0.35 ※一覧では相手の重力依存とあるがWin以降で異なる?
- くらいふっとび中、毎フレームこの値が加算される。
- 処理の関係上、ステートが変動した時二重以上適応される。
- この値が高いとすぐ落下する。低いとゆっくりと落下する。正数推奨。
- P1Facing = (Int型);向き変更(自分)省略時:無効
- -1設定にした場合、攻撃をヒットした時点で自身の向きを反転。
- P1getP2Facing = (Int型);向き変更(相手基準)省略時:0(無効)
- 1にするとヒットさせた相手と同じ方向、-1で相手とは反対向きにする。
- P2Facing = (Int型);相手向き変更)省略時:無効
- 1で相手を自分と反対向き(向き合うよう)に、-1で同じ向きに。
- Fall倒れ関係
- Fall = (bool型);倒れフラグ 省略時:0?
- Air.Fall = (bool型);空中倒れフラグ 省略時:Fallと同じ値
- 与えた攻撃がFall=1の場合、相手のT-/HitFallは1となる。
- HitFallが1の状態では、Fall=0の攻撃を受けても1のまま。
- HitFall=1だとくらいステートでは、何もしないとダウンする。
- Fall.Recover = (bool型);受け身可能フラグ 省略時:1(可能)
- HitFall=1吹っ飛び中、5050番ステートで受け身が可能かどうか。
- Fall.RecoverTime = (Int型);受け身不能時間 省略時:4
- Fall.Recoverが1でもPauseTimeの後、指定時間分経過まで受け身不能。
- Fall.Recoverが1でFall.RecoverTimeが経過するとT-/CanRecoverが1に
- その状態+5050番ステート内で、受け身コマンド入力で受け身を取る。
- Fall.Recoverが1でも、Fall.RecoverTimeが非常に長い場合、
倒れる前に受け身可能にならないため実質受身不可。
- Fall.XVelocity = (Float型) ;倒れバウンドX速度・省略時無効
- Fall.YVelocity = (Float型) ;倒れバウンドY速度・省略-4.5
- Fall.Damage = (Int型) ;ダウン時のダメージ量
- Fall.Kill = (bool型);Fall.Damageによる殺害フラグだが…
- Down.Bounce = (bool型) ;再度バウンドフラグ 省略時0
- 通常、ダウン状態からの追い打ちで浮かんだ場合はダウンバウンドしない。
- これはDown.Bounceが0のためで、1にすると
- ダウン状態への追い打ちで浮かんだ後、ダウン着地時にバウンドする。
- なお、一覧にdown.velocityのY速度が0の場合のみと書かれているが
実際は0以外でないと適応されない模様?
- ▼ステート移動
- P1StateNo = (Int型);自分ステート移動 省略時:無効
- P2StateNo = (Int型);相手ステート移動 省略時:無効
- P2GetP1State = (bool型);ステート奪取フラグ
- P2Get~省略時:P2StateNoがあるなら1(ステート奪取)、無いなら0
- 攻撃がヒットした場合、相手のステートを変更・奪取する。
- ※使用する場合、なるべくPriority設定をMissかDodgeにすること
- ステート奪取のページも参照。
- ▼相手壁際時の自身のノックバック
- Ground.CornerPush.Veloff = (Float型) ;地上時
- Air.CornerPush.Veloff = (Float型) ;空中時 省略時Groundと同一?
- Down.CornerPush.Veloff = (Float型) ;倒れ時 省略時Groundと同一?
- Guard.CornerPush.Veloff = (Float型) ;地上ガード 省略時Groundと同一?
- AirGuard.CornerPush.Veloff = (Float型) ;空中ガード 省略時Groundと同一?
- Groundの省略時は
- Attr(攻撃属性)のStateType属性がA(空中)の場合? 0。
- Attrがそれ以外の場合は、Guard.Velocity*1.3、とのこと。
- 相手の背後が壁の場合、自分側のPauseTime終了時点で速度に加算される?
- ※相手が壁へ向いている場合は無効。
- 永久制限として用いたい場合は、P2Facing必須。
前進するタイプの技の場合、その前進量より多くすること。
- ▼表示相手アニメ系
- AnimType = (文字列) ;相手ののけぞりの強さ・吹っ飛び方の指定(地上用)
- Air.AnimType = (文字列) ;空中時の指定
- Fall.AnimType = (文字列) ;Fall時(T-/HitFallが1の場合)の指定
- L:Light、弱(AnimType省略時)
- M:Medium、中
- H:Hard、強
- B:Back、ふっとび系(地上のけぞりの場合はHardと同義)
- U:Up、オプション:真上ふっとび(詳しくはFile-/Airファイル参照)
- D:Diagup、オプション:斜めふっとび(※安定した指定ではないため非推奨)
- Up、Diagupは必ず浮かせるタイプの攻撃で用いる事。
地上のけぞりでは表示に不具合が発生する。
- 基本的にのけぞりの「強さ」の設定。Commonステートで呼び出される。
- Air.AnimTypeは省略時、AnimTypeと同じ。
- Fall.AnimTypeは省略時Airがupならup、up以外ならbackに。
- Ground.Type = (文字列) ;のけぞりタイプ(地上用)
- Air.Type = (文字列) ;空中でののけぞりタイプ
- H:High、上のけぞり
- L:Low、下のけぞり
- T:Trip、転倒属性を持ち、専用のくらいステートを使う。
- n:non、無し※非推奨
- 屈みくらい、AnimtypeがB,U,D(空中吹っ飛び系)の場合は関係ない。
- ForceStand = (bool型) ;立たせフラグ
- 屈んでいる相手にヒットした場合、相手を立たせるかどうか。
- 省略時、Ground.VelocityのY速度値が0なら0、0以外なら1(立たせる)
- ▼エフェクト
- SparkNo = (Int型);ヒットエフェクトの番号
- Guard.SparkNo = (Int型);ガードされた場合の。
- 省略時、File-/CNSファイルの設定が適応される。-1指定で無表示。
- 通常File-/fightfxファイルのアニメを使用。詳しくは該当ページ参照。
- 指定を「S(Int値)」とすると自分(Self)のアニメをエフェクトとして代用できる。
- ちなみにステコン一覧ではS2000,0という例が出ているが、,0指定は不可のはず?
- SparkXY = (X座標Int型),(Y座標Int型);ヒットエフェクトの位置指定
- 省略時0,0 XとYで座標の基準が異なる。
- X座標は相手の座標+相手のキャラ幅基準・Y座標は自分の座標
- HitSound = (グループInt型),(アイテムInt型);ヒット音の番号
- GuardSound = (グループInt型),(アイテムInt型);ガードされた場合の
- 省略時?。通常指定の場合File-/Common.Sndの音声を指定。
- 基本「5,0(弱ヒット)~5,4(大打撃音)」と「6,0(ガード音)」。
- 指定を「S(グループInt型),(アイテムInt型)」にすれば自身の音声を使用。
- ▼ヒット時?の相手のSC-/PalFX
- PalFX.Time = (Int型);PalFXのTIme値 省略時:0
- PalFX.Mul = (Int型),(Int型),(Int型);PalFXのMul値
- PalFX.Add = (Int型),(Int型),(Int型);PalFXのAdd値
- 以下3種もステコン一覧に記述はないが使用可能(SC-/PalFXのパラメーターは全て使える)
- PalFX.color = (Int型);PalFXのColor値
- PalFX.InvertAll = (bool型);PalFXのInvertAll値
- PalFX.sinAdd = (Int型),(Int型),(Int型) ,(Int型);PalFXのsinAdd値
- ▼ヒット時?のSC-/EnvShake
- EnvShake.Time = (Int型);EnvShakeのTIme値 省略時0?
- EnvShake.Freq = (Float型);EnvShakeのFreq値
- EnvShake.Ampl = (Int型);EnvShakeのAmpl値
- EnvShake.Phase = (Float型);EnvShakeのPhase値
- ▼相手の倒れ時用のSC-/EnvShake
- Fall.EnvShake.Time = (Int型);EnvShakeのTIme値 省略時0?
- Fall.EnvShake.Freq = (Float型);EnvShakeのFreq値
- Fall.EnvShake.Ampl = (Int型);EnvShakeのAmpl値
- Fall.EnvShake.Phase = (Float型);EnvShakeのPhase値
- ▼その他
- Air.Juggle = (Int型);攻撃Juggle値上乗せ?値指定ではない
- SprPriority = (Int型);画像の表示優先度?
- 省略時:1、自身を相手の手前に。-1で相手の奥側になる?
- MinDist = (X座標Int型), (Y座標Int型);相手座標制限、最小
- MaxDist = (X座標Int型), (Y座標Int型);相手座標制限、最大
- Snap = (X座標Int型), (Y座標Int型);相手座標固定
- NumHits = (Int型);加算するヒット数 省略時1
- T-/Hitcountの増加する量・表示ヒット数を調節する。
- 0に設定した場合、Hitocunt・表示ヒット数は増加しない。
- GetPower = (ヒットInt型), (ガードInt型);命中時、自分が得るT-/Power
- GivePower = (ヒットInt型), (ガードInt型);命中時、相手が得るT-/Power
- 省略時mugen.cfgの設定値割合分取得する。
- 省略時の値は相手に与えるダメージ量×設定値で、ガード時はその半分。
- 省略で0にならないため注意。
- GivePowerはプレイヤーキャラが受けた場合のみ適応される。
- ※SC-/HelperではGetPowerを0,0にし、使用しないこと。
- ※GetPowerの対象がHelper自体ではなく、同じスロットIDで一つ前に存在していたHelperのサイド側。
一度も使われていないスロットIDだった場合はGetPower分はどちらにも加算されない。
- ※検証の結果、間違っていたみたい→-
※SC-/Helperで使う場合、ラウンド中最初にSC-/DestroySelfが行われるまでGetPower,GivePoweerがズレるバグがあるとのこと。
- 一応SC-/HelperではHelperType=Playerの場合もGivePowerは反応しているが…
- 上記と同じバグを抱えており、GivePowerの対象が攻撃を受けたHelper自体ではなく、
攻撃を受けたHelperの同じスロットIDで一つ前に存在していたHelperのサイド側。
一度も使われていないスロットIDだった場合はGivePower分はどちらにも加算されない。
- なおSC-/TargetPowerAddについても全く同じバグを抱えている。
- つまり自他がHelperの場合はまともに機能していないと言っていい。
- ▼Z軸
- Attack.Width = (z1Int型), (z2nt型);通常使用不可
■Lv1-記述例・補足・注意点
- 記述例
- [State a, a]
- Type = xxxx
- Trigger1 = !Time ;ChangeStateなどをしてきた最初のみ
- Value = xxxx
- 補足
- 必要な補足が多すぎる。
- 記入するのは必要最低限で良い。
- と言ってもその最低限でもそこそこの量になるが。
- テンプレート化して基本を使いまわせるようにしておくと楽。
- 発動するタイミングは適当なタイミングにする
- ヒットとガードで異なるパラメータの適応について
- ヒット・ガード同時の場合についてはリダイレクトのページを参照。
- 該当する方のパラメータのみ適応される。
- 一度実行されるとステートが変更されるか、
SC-/HitDefかSC-/ReversalDefが新たに実行されるまで持続。- 一度の実行では一人の相手には一回しか命中しない。
- HitOnceが0の場合、別々の相手であれば同時でなくても複数回命中する。
- 注意点
- 吹っ飛び中のアニメによる挙動変動についてとその対応策
- Commonステートの吹っ飛びステートは一部「アニメ終了時」でステートを変更する。
- その時SC-/VelAddによって【複数回重力加速度を加算する】などのバグが発生する。
- この辺りはT-/HitOverでもステート変更を誘発させることができるので、
Fall=1、倒れ属性の場合はAir.HitTime=0にしてしまう方が良いかもしれない。
- なお空中受け身は5050番ステートにいないと出来ないのだがそのステートに移動するには
- T-/HitOverする
- 硬直のアニメ終了で5035ステート移動→更にアニメ終了(もしくは5035アニメ無い)
- このどちらかの処理が必要でAir.HitTimeがFall.RecoverTimeより長い場合、
相手によって受け身可能になるまでの時間が異なる可能性が出てくる。
- そのためFall=1の場合はAir.HitTimeは0が望ましい、らしい。
- HelperのGetPowerのバグについて
- 再検証により判明
- SC-/HelperはSC-/HitDefSc-/ReversalDef両方でGetPowerは0,0と設定し、+-値どちらでも使用しないこと
- バグの状態
- GetPowerでゲージを増やすのが「同じスロットIDで一つ前に存在していたHelperのサイド側」
- 同じスロットIDにいた一個前が自分側のHelperだったら、GetPowerで自分側のゲージが増える。
- 同じスロットIDにいた一個前が相手側のHelperだったら、Giveに加えてGetPower分も相手ゲージが増える。
- そのスロットIDに初めて割り当てられたHelperの場合、GetPower分はどちらにも加算されない。
なおGivePowerはHelper相手だと増えないが、GetPowerバグは関係なく上記仕様で増える。
- Helperに当てた場合のGivePowerのバグについて
- 再調査により判明
- こちらについては対応策が見当たらない。状況自体が限定的なので気にしなくてもいい。
- バグの状態
- Helperに対するGivePowerは「攻撃を受けるHelperがHelperType=Playerの場合」に適応される。
- ゲージが増えるのは攻撃を受けたHpelerの「同じスロットIDで一つ前に存在していたHelperのサイド側」
- 状態としては概ねGetPowerと同様。Getする自分が、Giveされる相手に変わっているだけ。
- この【HelperのPowerの紐付けのバグ】は、SC-/TargetPowerAddでも起きている。
- 自分のPowerを変更するSC-/PowerAddSC-/PowerSetは問題なく動く。
- ※解説修正情報※古い履歴
- 新しい修正情報はページ上部に
- ●2014-10-17:Fall.Xvelocityについての間違いを修正。変更なし☓→3/4○
- ●2014-10-11:PalFX.sinAddのパラメータ修正。int型が3つ→4つ。
- ●2014-10-11:HitOnceはTargetDropを発生させる
- ●2014-09-29:GerPowerの脱字を修正。☓GetPwer→GetPower
- ●2014-09-29:Guard.Velocityのパラメータの誤りを修正。,は不要
- …
- ●2013-05-16:追記:PalFXについて
- ●2013-04-14:Air.Juggleのスペルミス。×Air.Juiggle→○Air.Juggle
最終更新:2016年03月03日 00:15