|| 「踊る金狼亭」TOPメモ箱私家版エンジン関連情報>私家版の識別



Next、Pyの識別にも対応した「エンジン識別サンプル」シナリオも準備しております。
良かったらご利用ください。

私家版エンジンの種類とバージョンを見分ける

敢えて正規版のバグを利用したシナリオを作りたい、正規版とは仕様が異なる部分に触れるため注意書きを出したい、といった限られた状況下で使えると思います。
見分けポイントは、以下の通りです。
識別のために、専用称号を持たせた識別用のキャストカード1枚を準備しておきます。

識別は、以下のような流れで行います。
(パッケージ内に下記イベントを作成し(※1)、CW1.50相当の機能を持ったエンジンである事を確認してからリンク/コール(※2))

▼私家版判定
└◆<キャスト離脱>その時点で加入しているNPCを全て離脱させる
 └◆<キャスト加入>判定用キャストカードを加入させる
  └◆<クーポン分岐>フィールド全体の誰か1人が、識別用キャスト専用称号を所持?
   ├[成功]
   │└◆<効果>味方全員に必中・無属性で睡眠→HP吸収の順で効果付与
   │ └◆<状態判定分岐>全員が睡眠?
   │  ├[成功] →CWPy0.21.1→回復後、判定用キャストを離脱させて終了
   │  └[失敗]
   │   └◆<状態判定分岐>全員が中毒?(←CW1.20互換として動作中のPy0.21.1を見分ける)
   │    ├[成功] →CWPy0.21.1→回復後、判定用キャストを離脱させて終了
   │    └[失敗] →CWPy0.21.2(開発版)→回復後、判定用キャストを離脱させて終了
   └[失敗]
    └◆<クーポン分岐>誰かが「@CardWirthPy Version.0.12.2」所持?
     ├[成功]
     │└◆<クーポン分岐>誰かが「@CardWirthPy Version.0.12.2 Only」所持?
     │ ├[成功] →CWPy0.21.2(正式版)→判定用キャストを離脱させて終了
     │ └[失敗] →CWPy0.21.3以降─(※3)→判定用キャストを離脱させて終了
     └[失敗]
      └◆<ランダム選択>対象=NPC全体
       ├[失敗] →CW1.30以前?→判定用キャストを離脱させて終了
       └[成功]
        └◆<効果>選択中メンバを対象消去(絶対成功するようにしておく)
         └◆<ランダム選択>対象=NPC全体
          ├[成功] →CW1.50 →判定用キャストを離脱させて終了
          └[失敗] →CWNext1.60 →判定用キャストを離脱させて終了


(※1)なぜパッケージ内か?
(※2)なぜCW1.50相当か確認するのか?
(※3)Pyの0.12.2より新しいバージョンが公開された場合、ここにカスケード状にバージョン固有の仮想クーポン検出を追加していけばOK。

[▲上へ]

CardWirthNextの識別可能なバージョンと注意点

Nextの識別はNPC対象消去バグが修正された結果を利用しているため、今後もそれなりに長く使えるものと思います。
[▲上へ]

CardWirthPy(Reboot)の識別可能なバージョンと注意点

v.0.12.2(正式版)以降は、エンジンバージョン識別用の仮想クーポンによって見分けます。
それより前は、CW1.50との挙動の差やバグによって見分けます。

CardWirthPyの互換モードについて

CardWirthPyには「互換モード」という動作モードがあり、CW1.20(?)〜1.30に相当する環境でシナリオをプレイできるとされています。
ただし、互換モードでも、全てにおいて互換指定したエンジンと同じ動きをするわけではありません。
上で紹介した方法では、互換モードでもPyはPyと判定されます。
[▲上へ]