『mugenの謎仕様は仕様の数だけあるみたいです…』

MUGENのCNS仕様をまとめたいWIKIです。
主な目的はステートコントローラー一覧・トリガー一覧とかに載っていない
ステート内の細かい仕様・注意点などをまとめるためのwikiです。基本的なこともまとめたいです。
なお、凶悪系については専門外です。専門のwikiへどうぞ。
CNS以外のことについてはまとめない方向です。AIについては微妙。
SFF,SND,AIR系については補足程度。

  • 現在、編集はメンバー限定です
  • (2019-04-22)※積極的な更新は停止状態ですが、何か報告があれば対応しています。
  • (2023-03-11)※広告消し用の更新です

何かありましたら暫定会議室の方へどうぞ。


■2019-09-07 遅いですが一応の報告

アットウィキサービスが2019年7月19日からサービス全体のURLの変更処理を行ったとのことです。
以前はwww49.atwiki~から始まっていたのが、w.atwikiとなっています。
旧URLからでもリダイレクトによって閲覧可能ですが、リンク・ブックマークの変更等をお願いしますとのこと。



+ ■2015-05-02 メモ:HelperのGetPowerバグの対応策案・※実用性低め

■2015-05-02 メモ:HelperのGetPowerバグの対応策案・※実用性低め

同じスロットIDに一個前にいたHelperのチームサイドが自分側である、というのを確定させる方法。
  • 基本処理:ABを同時射出して、Aを消した直後にBからCを出してAのスロットに差し込む。
    • 処理対応1:全体のHelperの数を数えて、Aで確認させ処理を調整する。
    • 処理対応2:総数確認後、AからDを射出してT-/IDを確認しHelperの射出状況を監視する。
    • 処理対応3:Helperの数が変わっていたりIDが変動してたりする場合はEを射出し推定空白を埋める。
以下詳しい内容
  1. ヘルパーA・ヘルパーBを記述を連ねて同時に射出する。
  2. T-/NumHelperリダイレクトを用いて、本体全員のHelperの数を数える。
  3. ヘルパーAでも本体全員のNumHelperの数を数える。もし異なる場合はそれに対応する。
  4. その前にヘルパーAからヘルパーDを射出し、ヘルパーDのT-/IDを確認する。
  5. ヘルパーAとDのT-/IDの差がA+2=Dである場合とそうでない場合で分けて考える。
    1. T-/IDの差がA+2=Dである。
      1. 総ヘルパー数が減っていた場合、ヘルパーEを減少分射出して埋める。
      2. 総ヘルパー数が同数だった場合は射出しない。増えている場合は無い。
    2. T-/IDの差がA+2<Dである。
      1. 総ヘルパー数が減っていた場合、D-(A+2)にヘルパー減少分を足した数のヘルパーEを出す。
      2. 総ヘルパー数が同数だった場合はD-(A+2)の数値分ヘルパーEを出す。
      3. 総ヘルパー数が増えていた場合、D-(A+2)にヘルパー増加分を引いた数のヘルパーEを出す。
    3. ヘルパーEを出さなければいけない数が膨大な場合は射出を控えたほうが良い。失敗と考えても良い。
  6. ヘルパーAからヘルパーEを上記の数射出した後、ヘルパーAをSC-/DestroySelfで消す。
  7. ヘルパーBからヘルパーCを射出した後SC-/DestroySelfで消す。
  8. ヘルパーD・ヘルパーEは残す必要が無いのでSC-/DestroySelfで消す。
  9. ヘルパーCで処理を扱う。

実際に確認したわけではないので不備あるかもしれません。
かなりヘルパーを大漁に出し入れする関係上ヘルパー総数上限に達する危険があります。
同一の処理が重なってしまった場合は特にその状態が発生しやすく、他のバグを引き起こす可能性があります。
そのため、途中ヘルパーEの数が膨大になる場合は失敗とみなしてしまっても良い。
中断する可能性がある以上1F刻みに精確な処理を行わなければいけない処理には実用性に欠けます。

  • E射出数の内容
    • ヘルパーが減っている=その分空白が生まれている可能性がある。
    • ヘルパーが同数だがIDは増えている=ヘルパーが増えた後に減っていた場合、空白が生まれている可能性はある。
    • ヘルパーが増えている+IDが増えている=↑の方式で生まれる空白の数がヘルパーの増加分だけ減る。
  1. ■■■■ABD > A+2=D = 射出不要
  2. ■□□□ABD > A+2=D&ヘルパー減少 = ヘルパー減少と同数射出が必要。
    • ※消えたのがABよりも後ろ側のスロットIDのヘルパーで穴埋めが必要無い可能性も一応あるが確認はできない。
  3. ■■■■■AB■■■D > A+2<D&ヘルパー増加 = D-(A+2)-ヘルパー増加数が0なら不要。
  4. ■■□□■AB■■■D > A+2<D&ヘルパー増加 = D-(A+2)-ヘルパー増加数の数だけ射出が必要。
  5. ■□□□■AB■■■D > A+2<D%ヘルパー同数 = 同上=D-(A+2)の数射出が必要。
  6. □□□□■AB■■■D > A+2<D%ヘルパー減少 = D-(A+2)+ヘルパー減少分の数だけ射出が必要。
    • ※こちらも後ろのスロットIDが消えただけなら不要だが、確認はできない。
  • 要は「 D-(A+2)-(本体確認Helper数-A確認Helper数) 」の計算式でEを射出する。
  • 要は「 (本体確認Helper数-A確認Helper数)+(D-A-2) 」の数、Eを射出する。
    • ただし計算した数値が本体確認Helper数を上回っている場合は、本体確認Helper数を上限して引き下げる。
    • あ、D射出してる分があるからE射出は1個少なくていいのか。と言うよりA確認Helper数はD射出後でいいか。


■2015-04-30 重大な解説修正・Helperが受けた時のGivePowerバグ

Helperのゲージの紐付けの不具合による、攻撃のGetPower,GivePower、TargetPoweAddの対象異常バグと判明
SC-/HelperでのSC-/HitDefSC-/ReversalDefのGivePowerについて
再検証の結果、HelperのHelperTypeがPlayerであれば機能する場合があると判明。
ただしこちらもGetPowerの対象バグ同様に、GivePowerの対象は攻撃を受けたHelprの
「一個前に同じスロットIDにいたHelperのチームサイド側になる」というバグがあります。

下記(2年前)の検証での「受けれない」というのは上記仕様による勘違いでした。
また、どうやらSC-/TargetPowerAddも上記バグが存在している模様。
バグをどうしても回避するとなったらGivePowerを=0,0にし、TargetPowerAddで管理、
TargetPowerAddにTarget,Ishelper=0を入れヘルパー相手には発動しないようにする。

※ReversalDefによる判定は未調査です。
なお自身のゲージを変更するSC-/PowerAddSC-/PowerSetや、
StateDefのオプションPowerAdd、SC-/SuperPauseのPowerAddはHeleprであっても問題なく機能する模様。

■2013-04-25 報告

  • Winまでの基本的なステコン・トリガーのページを埋め終わりました
    • が、Helper技術やAI技術など細かいページはまだ未作成・作成中です。
    • 現在もまだ編集はメンバー限定(単独)です。
  • 突貫で埋めただけなので足りない情報や間違いなどは暫定会議室へお願いします。

方針メモ

  • とりあえず(Win版までの)ステコン・トリガーのページを埋めました。
    • 新規はSC-T-とかを参照。それぞれの下層ページとして作成する。
    • なお使用例は「実際に使われそうな記述例」で。通常使わないパラメーターは省略する。
    • あとページ右側の下部に新規ページの欄があります。
  • 作成途中のため、存在しないページへのリンクが多々あります。
  • 現状、Win版を基本として書いています。1.0(新mugen)やDos版は不十分かと。
  • CNSのことがメイン。キャラそのものの解説は不可の方向で。
  • 引用は最小限に。CNSシステム系の引用は参考元を明確にする。
  • 細かいことは暫定会議室へ。
  • 方針がガチガチっぽく見えるかもしれませんが、わりとゆるめです。ゆるくのんびりいきましょう。
    • 早いと確認しきれなくて困る。

■重要
  • 書かれている仕様の解説と実際の仕様が異なる疑いがある場合
    • 話し合ってしっかり検証しましょう。検証した上で説明を正す必要がある場合は正します。
    • 正すときにページの最上部に修正した日付と修正した箇所を明記しましょう。
  • 細かい情報の修正でも確認をとった上で修正したほうがいいです。意思疎通大事。
    • 特に他の場所でこう書かれていた~というのは怪しいです。検証しないと確定しません。
    • 可能な限り検証した上で情報を修正しましょう。

+ 情報修正の書式@予定
※解説修正情報※
日付:修正部分の概要
日付:修正部分の概要


何個か溜まってきた場合は、古い情報をページ下部へ移動しましょう。

※解説修正情報※古い履歴
日付:修正部分の概要



regionと押し出しについて
  • 「region」の格納と「:|」の押し出しは少し相性が悪いみたい。上手く折り合い付ける。
    • Regionの直後の行に:|を入れない。(1行以上開ける)
    • EndRegionは:|範囲に入れない。(1行以上、空白行で開ける。)


■基本の形式
  • ページの作成は「アットウィキモード」にすること。
  • 「**」見出し・「*」大見出し、「:|」のまとめ、「-」リストを駆使する。
    • 使い過ぎて見づらくならないように注意。
  • 情報に関してはLvを想定し、Lvごとに分けて記述する。
    • ■Lv0-基本的な使用に関する情報
    • ■Lv1-基本的な記述例・補足・注意点
    • ■Lv2-バグなどへの基本的な対処法。(Lv1~3とややごっちゃ)
    • ■Lv3-細かい複合応用について。(バグ回避とごっちゃになることも。)
    • ■Lv4-バグ応用(基本的なキャラでは利用しない技術)
      • Lv3~4についてはregionで情報を格納する。記述が長いならページ独立もあり。
      • なお凶悪系技術については通常のキャラで使い様がなければ概要だけの説明にとどめること。
  • Lv2-バグ回避について
    • 簡単なことならLv1の注意点に記述しても良い。
    • 煩雑になる回避法の場合はLv3で格納して管理する。Lv2には誘導を。
    • 一個のCNSシステムとして長くなりそうなら別にページを作るのもあり。
  • 細かくはすでにあるページを参考に、それらしく調整してください。

■基本の文体
  • 長い文章は避ける。
  • 無理そうなら長い文章でも構わない。改行についても環境に左右されることも踏まえて無理に改行せずキリがよさそうな改行を心がける。
  • このようにリストを駆使してある程度細かく分けていく。
  • 「:|」による文章の押し出しを活用し、わかりやすくまとめる。
    • ただし「:|」はプレビュー表示がうまくいかないので、確認はページを保存して確認する。
      なんなら砂場ページを利用する。
  • Cnsの記述は #aa() AA用のプラグインを使う。
  • まとめた条件式などがプラグイン感知でうまく表示されない場合は
    &nowiki() NoWiki(プラグイン処理抑制プラグイン)を使う。
  • 編集をしたら変更点を差分で再度確認。変なところをいじってないか確かめる。


『mugenの内部処理はカオスを煮詰めて圧縮して発酵させたような地獄だ。』



最終更新:2023年03月11日 04:10