Wiki

Clone wiki

CardWirthPy Reboot / Wsn.2

Wsn.2の新機能

そもそもWSNシナリオとは?

「WSNシナリオ」(または「WSN形式」のシナリオ)とは、CardWirthPyが再生できる独自形式のCardWirthシナリオです。拡張子.wsnを持つ単一のファイルの中に必要なデータが全て格納されており、展開せずにそのままプレイする事ができます。

WSN形式にはいくつかのバージョンがあり、このページで紹介されているのは2つ目のバージョンである「Wsn.2」です。前バージョンである「Wsn.1」よりもできる事が増えており、特に外見やカード効果の制御に関する機能が強化されています。

「Wsn.2」のシナリオは、CWXEditor 5以降で作成・編集する事ができます。

WSNシナリオを取り扱うにあたっては、いくつか注意すべき点があります。

  • Wsn.2のシナリオは、今のところ、CardWirthPy 2以外のCardWirthでプレイする事はできません。
    • Wsn.2のシナリオをCWXEditorを使ってWsn.1やCardWirth形式に変換する事は可能ですが、変換先に存在しない機能を使っている部分は変換の際に取り除かれます。
  • WSN形式独自の機能を使用しているカードは、CardWirthのデータへ逆変換する事ができません。
    • WSN独自機能を使ったカードが宿にあったりキャラクターが所持している場合は、逆変換中に取り除かれます(パーティやカードの所持者が取り除かれる事はありません)。

Adventurer's GUILDへのシナリオ登録について

groupAsk official fansiteAdventurer's GUILD(通称「ギルド」)は、CardWirthのシナリオの情報を集約・紹介する投稿型のWebサイトです。CardWirth界においては、ギルドに登録していないシナリオを特に「プライベートシナリオ」と呼ぶほど、公開したシナリオをここに登録する事が一般的でした。現在は「プライベート」側の数がだいぶ増えていたり、「ギルド」的機能を持つサイトが他にも存在しているなど、状況が変わっていますが、それでも「ギルド」は主要なシナリオ投稿サイトであり続けています。

運営者であるCardWirth愛護協会のご厚意により、Wsn.2形式のシナリオはAdventurer's GUILDに投稿・登録する事が可能です。作ったシナリオを実際に登録してみようという方は、以下の点に注意して投稿してください。

  • 投稿の際には対応エンジンタグが必須です。「PY仕様:wsn.2」という検索タグをつけてください。大文字・小文字の区別と、だけ全角である事に注意してください。
  • 作者コメントに、対応するエンジンの情報を記す事をお薦めします。具体的にはhttps://bitbucket.org/k4nagatsuki/cardwirthpy-rebootのURLを入れるとよいでしょう。

他の注意事項は、groupAsk official fansiteの投稿前の指差し確認を参照してください。


以下に、「Wsn.2」で追加されたWSN形式の機能を紹介します。


目次

外観

イベント処理

各種イベントコンテントの追加・強化

メッセージ関係

その他


スケーリングされたイメージファイルの使用(高解像度対応)

issue #397

シナリオ側でこの機能をオンにすると、例えばimage.bmpというファイルのイメージを表示する時、表示サイズが縦横2倍であれば、image.x2.bmpを探して代わりに読み込むようになります。

スケーリングされたイメージを使用すると上のスクリーンショットのような表示になります。スケーリングされていないものと見比べてみてください。

一部分を切り出して並べれば、さらに一目瞭然です。

CardWirthPy 2以降に付属しているスキン「BloodWirth」では、ほぼ全てのイメージで縦横2倍のスケーリングが行われています。プレイ環境に「BloodWirth」を選ぶ事で、この新しい機能を充分に活かした画面で遊ぶ事ができます。

シナリオ「六号室の幽霊船」の高解像度に対応したデモ版をダウンロードして試す事もできます。

>> 目次へ戻る

※ 上記スクリーンショットのカード台紙・ライフバーを除くイメージは、シナリオ「六号室の幽霊船」で使用されているもので、ライセンスはCC0です。

※ カード台紙・ライフバーはスキン「BloodWirth」に付属しているもので、ライセンスはこのページ末尾のgroupAsk作のリソースのものに準じます。


カードイメージの配置方式の指定

issue #336

CardWirthでは、キャストサイズのカードのイメージはカード台紙に対して中央寄せ、一般サイズのカードのイメージは左上寄せ+一定のパディングで配置されますが、これを任意に指定できるようになりました。

>> 目次へ戻る


背景セルでイメージの拡大・縮小時に滑らかにするかを指定する

issue #397

背景セルでイメージがリサイズされた時の処理方法を指定できるようになりました。未指定の場合は、エンジン側の設定に従って処理されます。

>> 目次へ戻る


Wsn.2のシナリオであれば必ず使用できる標準音声

issue #435

各種音声が標準で使用できるようになりました。l_で始まる音声はスムーズにループ再生する事ができます。

以下の音声はBGMと効果音のどちらでも使用する事ができます。

  • l_chirr.ogg…… 虫の合唱
  • l_rain.ogg …… 雨
  • l_sing.ogg …… 鳥の囀り
  • l_waterfall.ogg …… 滝
  • l_windstorm.ogg …… 嵐
  • l_wind_1.ogg …… 籠った風
  • l_wind_2.ogg …… 野外の風

以下の音声は効果音として使用する事ができます。

  • l_church_bell.ogg …… 教会の鐘
  • l_walk_on_sand.ogg …… 砂上を歩く
  • l_wooden_clappers.ogg …… 拍子木
  • s_attack_1.ogg …… 攻撃(叩きつける1)
  • s_attack_2.ogg …… 攻撃(撃つ)
  • s_attack_3.ogg …… 攻撃(爆発)
  • s_attack_4.ogg …… 攻撃(叩きつける2)
  • s_bell_of_buddhist_altar.ogg …… 仏壇の鈴
  • s_breath_a.ogg …… ブレス音(あ)
  • s_breath_e.ogg …… ブレス音(え)
  • s_breath_i.ogg …… ブレス音(い)
  • s_breath_o.ogg …… ブレス音(お)
  • s_breath_u.ogg …… ブレス音(う)
  • s_chime_of_store.ogg …… 入店チャイム
  • s_decide_1.ogg …… 決定(電子音)
  • s_decide_2.ogg …… 決定(和風)
  • s_hand_drum.ogg …… 鼓
  • s_hitting_tennis_ball.ogg …… テニスボール
  • s_idea.ogg …… 閃き
  • s_information_end.ogg …… お知らせ終了
  • s_information_start.ogg …… お知らせ開始
  • s_koto.ogg …… 和琴
  • s_metal_bat.ogg …… 金属バット
  • s_question.ogg …… 疑問
  • s_sliding_cornice.ogg …… カカン
  • s_soft.ogg …… 柔らかい音

>> 目次へ戻る


システムクーポン「@使用者」「@イベント対象」「@効果対象」「@効果対象外」を追加

issue #303

※ 上記スクリーンショットにおける背景イメージはPetr Kratochvil様、「Lv3フレア」のカードイメージはLynn Greyling様、エネミーカードのカードイメージはPaul Sherma様によってPublic Domainで提供されているものです。

@使用者

カードの使用によって一連のイベントが発生した時、そのカードの使用者に一時的に付与されます。

@イベント対象

死亡イベントやキーコードイベントが発生した時、そのイベントの所有者に一時的に付与されます。

@効果対象

カードの効果対象に一時的に付与され、効果が実際に適用された直後に剥奪されます。このクーポンはシナリオ側での付与・剥奪が可能で、操作の結果は効果対象に反映されます。

つまり、カードの本来の効果対象であってもキーコードイベントなどで@効果対象を剥奪すると対象から外れ、無関係の者であっても@効果対象が付与されれば対象に入ります。

@効果対象外

実際に対象に効果が適用されはじめた段階で@効果対象を剥奪されたメンバに付与されます。このクーポンを持つメンバには@効果対象をつける事ができなくなります。

これはターゲットの変更が複雑な状況下で無限ループに陥らないようにするためのもので、通常はこのクーポンを意識する必要はありません。

>> 目次へ戻る


プレイヤーカードのキーコード・死亡時イベント

issue #426

エリアやバトルで、プレイヤーキャラクターのキーコード・死亡時イベントを設定する事ができるようになりました。

どのキャラクターを対象としてイベントが発火したかは、クーポン@イベント対象によって調べる事ができます。

※ 上記スクリーンショットの「シベル」のイメージは、シナリオ「六号室の幽霊船」で使用されているもので、ライセンスはCC0です。

>> 目次へ戻る


ランダム多岐分岐コンテント

issue #449

複数の分岐先を作り、それぞれに等確率でランダム分岐させる事ができるランダム多岐分岐コンテントを追加しました。

>> 目次へ戻る


クーポン多岐分岐コンテント

issue #444

ステップ多岐分岐やエリア分岐のように、1つのコンテントから多数のクーポンで分岐するコンテントを追加しました。

>> 目次へ戻る


クーポン分岐の複数称号対応化

issue #448

クーポン分岐で複数のクーポンを指定し、「全て所有している」または「どれか一つを所有している」のいずれかの条件で判定を行えるようにしました。

>> 目次へ戻る


キーコード所持分岐の拡張

issue #436

  • キーコード所持分岐の検索対象となるカードの種類に「戦闘時の手札」を追加しました。
  • 検索対象に、カード種別の任意の組み合わせを選択できるようにしました。例えば「アイテムと召喚獣」や「特殊技能と手札」といった組み合わせが可能になります。

CardWirth 1.50では、キーコード所持分岐の検索対象に「アイテム」を選択すると、戦闘時の手札が検索対象になる事が知られていますが、検索対象に「アイテム」と「手札」を指定する事でその挙動の再現も可能です。

※ CardWirthPy 2では、クラシックなシナリオで「アイテム」が検索対象になっている時には自動的に「手札」も検索対象となります。Wsn.1のシナリオは、CardWirthPy 1と同様にアイテムのみが検索対象となります。

>> 目次へ戻る


ステップ代入やメッセージなどで使用できる特殊ステップ「選択メンバ番号」を追加

issue #472

ステップ代入コンテントで利用でき、プレイヤーキャラクターが選択されている時は、選択されているキャラクターの番号を左から順に1~6としてステップ値に代入します。パーティ内に選択メンバがいない場合は0になります。

$??SelectedPlayer$という名前でメッセージなどの特殊文字としても使用でき、該当する番号(0~6)を表示します。

>> 目次へ戻る


加入したキャストの戦闘行動開始タイミングを選択

issue #410

キャスト加入コンテントで、加入したキャストの戦闘行動開始タイミングを以下のいずれかから選択できるようになりました。

  • すぐに行動。キーコードイベントや使用時イベントなど、戦闘行動中に発生したイベント内で加入した場合でも、そのラウンドから行動します。
  • 加入ラウンドから行動。ラウンドイベントで加入した場合に限り、そのラウンドから行動します。
  • 次のラウンドから行動。加入したラウンドの次のラウンドから行動します。クラシックなシナリオでの挙動と同じです。

>> 目次へ戻る


効果コンテントの強化

issue #405, #428, #432, #437, #429

  • 効果コンテントによってキャラクターが生存状態から死亡状態へ変化した時の死亡イベントの発火有無を選択できるようになりました。
  • 効果コンテントにキーコードを設定できるようになりました。
  • 効果コンテントの適用範囲に、任意の称号の所有者を指定できるようになりました。
  • 効果コンテントの適用範囲に、「カードの使用対象」を指定できるようになりました。
  • 効果コンテントの成功率と効果値の計算に選択中のメンバのレベルと能力を使用できるようになりました。

これまでのCardWirthでは、「使用時イベント内で効果コンテントを使用して敵を攻撃する」というようなカードを作成すると、シナリオ側でイベント発火が正しく行われず、バグの原因となっていました。

効果コンテントによるイベント発火をオンにし、キーコードを適切に設定する事で、その問題を解決する事ができます。

また、効果コンテントの命中率や効果値を計算する際に、選択中のメンバのレベルや能力値を参照する事ができるようになりました。

任意の対象に効果を適用したい場合、これまでは対象を「選択中のメンバ」にする事で実現できましたが、能力値参照のためにメンバ選択を行っていると、その方法が使えません。そうした場合は、新しい適用範囲の指定方法が利用できます。例えば使用時イベント内で称号@効果対象を所有する対象に効果を適用する事ができます。

メニューカードに対してキーコードを発火させたい場合は、「カードの使用対象」が利用できます。

>> 目次へ戻る


メッセージ・セリフコンテントで禁則処理を行う

issue #148

  • メッセージ・セリフコンテントに、メッセージが折り返された時に禁則処理が行われるか否かのオプションを追加しました。
  • メッセージ・セリフコンテントにオプション「縦方向に中央寄せ」を追加しました。

禁則処理とは、例えば行頭にが来ないようにしたり、行末にが来ないようにしたりして、折り返しによって文章が不自然な形にならないようにする処理です。英文ワードラップ(単語の途中で折り返しが入らないようにする)も行います。

禁則処理には完璧な回答が無いため、結果は将来変化するかもしれません。禁則処理を使用する場合は、メッセージの行数に余裕を持たせておく事をお勧めします。

>> 目次へ戻る


メッセージ・セリフコンテントで中央寄せを行う

issue #445

特殊文字を含むメッセージで自動折り返しを行うなどした場合、メッセージの行数が定まらない場合があり、縦方向の中央寄せが上手くいかないかもしれません。その場合は、縦の中央寄せを行う新しいオプションが使用できます。

また、これまで#Mなどの特殊文字を含む文章の行ごとの中央寄せは非常に困難でしたが、それもサポートされました。

>> 目次へ戻る


メッセージなどに使用できる特殊文字「$??Player1$」~「$??Player6$」を追加

issue #472

左から順に1~6番目のプレイヤーキャラクターの名前を表示します。該当するキャラクターがいない場合は空文字列になります。

>> 目次へ戻る


状態変数に「特殊文字を展開する」オプションを追加

issue #471

特殊文字の展開とは、メッセージなどで#Mと書くと選択中のメンバの名前に変更されるような処理の事です。

このオプションがオンになっている状態変数は、なんらかの形でその値を表示した時に、この展開処理が適用されます。

>> 目次へ戻る


「効果無し」効果

issue #442

「何も効果が無い」という効果を、カード効果や効果コンテントで指定できるようになりました。

これまで、効果コンテントでカードの振動などの視覚効果だけを得たい場合には、何もしない状態にすると失敗扱いとなっていわゆる無効音が鳴ってしまうため、「暴露」「暴露解除」を入れて擬似的に効果が無いような設定にする必要がありました。しかし、この方法には元々暴露されているキャラクターの状態を変えてしまうといった欠点があります。

「効果無し」効果を適用した場合、何も起こらずに結果が成功扱いになるため、確実に目的を果たす事ができます。

また、キャラクターは一切効果の無いカードは使用しようとしませんが、「効果無し」効果を持つカードは使おうとするため、キーコードによるイベント発火だけを目的としたカードなどに使用できるかもしれません。

>> 目次へ戻る


システムクーポン「@Wsn.2」を追加

issue #438

称号所持判定分岐コンテントでシステムクーポン@Wsn.2の所持判定を行った時は必ず成功するようにしました。

プレイヤーの使用しているエンジンがWsn.2に対応しているかシナリオ側から調べたい時に利用できます。

>> 目次へ戻る


このページのスクリーンショットに表示されているシナリオのリソースは、特に注記がない限り、groupAsk様によって作成され、CardWirth愛護協会様によって配布されている「CardWirth ver1.50 Fullpack」に入っているものです(シナリオ「モンスター図鑑+」及びその他のリソース)。ReadMe_1st_Full.txt内の「● 著作権/免責/転載に関して」節の内容に基づいてスクリーンショット内に使用しています。

Updated