【ウディタ】仕立屋のあんちゃんのウディタ戦闘コモン改造講座【ふえるわかめちゃん】

いさましいオレンヂの仕立屋のあんちゃん様による、ウルフエディタの基本戦闘システム改造講座  ・先制攻撃(敵味方とも)の実装  ・ちょっと変わった敵の特殊技などに応用できる戦闘コモン改造  ・ダメージ床制作  ・ユーザーいじめのための小ネタ 続きを読む
3

カウンター等、敵の特殊能力など様々な応用のできるコモン改造

いさましいオレンヂの仕立屋 @didus_ineptus

おはようございます。今回もウディタ基本システム戦闘の簡単改造講座を始めたいと思います(いつのまにそんなことに

2016-04-14 14:12:46
いさましいオレンヂの仕立屋 @didus_ineptus

よく見た目からして触ると反撃してきそうな敵とかいますが、そいつに反撃技を持たせようと思うとAIで技能を使用してその状態になるように設定しなければなりません。これは最初の一回の行動が無駄になりますし演出的にそぐわない場合もあるでしょう pic.twitter.com/44xTJ7lLpc

2016-04-14 14:19:57
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

はい! そんなわけでまずはデータの下ごしらえからです。ユーザーデータベースの「敵キャラ個体データ」の項目につけたい状態とターン数(デフォターンしか使わないなら不要)を追加していきます。今回は一つですが複数あってもよろしいでしょう。 pic.twitter.com/blAgM6Ykcy

2016-04-14 14:32:58
拡大
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

@didus_ineptus このとき指定する状態の初期値を「0」のままにしておくと「戦闘不能」になってしまうので、うっかりするとあらゆる敵が出現時即死という面白い事態になってしまうので注意しましょう pic.twitter.com/KbyKesc8D2

2016-04-14 14:37:48
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

そしてコモンイベントの改造。改造するのは144番「X[戦]敵DB→戦闘DBコピー」 前回と同じように後ろの番号にコピペしてオリジナルをバックアップとして残しておきましょう pic.twitter.com/Ne3aIPPv2C

2016-04-14 14:43:05
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

簡単な改造なのでべつにつけなくてもいいのですが後から見たとき混乱するので、まずコモンにベントの「セルフ変数使用状況」を開いて使う変数にあらかじめ名前を付けておきましょう。使うのは空いているところならどこでも構いませんたぶん pic.twitter.com/V51epWeJrK

2016-04-14 14:49:47
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

ここからの改造はどちゃくそ簡単ですコモンイベントの37~54行目あたりで読み込んでいるユーザーデータベースに先ほど指定した状態とターン数の指定の分を追加しましょう。すぐ上の命令をコピペ改変すれば楽ちんですたぶん。 pic.twitter.com/1VXDDqIW0A

2016-04-14 14:56:42
拡大
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

その後ろ90行目あたりにある「属性耐性をコピー」のコメントの上あたりに可変データベース「状態リスト」への書き込みを追加しておきましょう。これも直前の命令をコピペ改変で簡単にできます。 pic.twitter.com/zJps7ixZJH

2016-04-14 15:09:37
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

以上で敵キャラが戦闘開始時から指定した状態で出現することになります(直接データベースの書き換えなので状態変化時のポップアップなどは無し)・・・ただしこのままでは落とし穴があり pic.twitter.com/vRsZ3yQVYz

2016-04-14 15:14:08
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

「状態を指定していない敵」が出現するとエラーをはいてゲーム進行に滞りが出ます(送ってそのまま進めることは可能 pic.twitter.com/DGCVjLLY5N

2016-04-14 15:15:49
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

解決策としては状態を読み込んだ変数を条件に0以上で条件分岐させておいて可変データベースに書き込むようにしましょう。さらにこの条件を「0より大きい」にした場合はデフォで0番の「戦闘不能」もはぶくため即死事故を回避できます pic.twitter.com/qTMnlGtXSh

2016-04-14 15:22:23
拡大
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

敵個体データで指定する「ターン数」は「-1」にすることによって永続になります。これを指定せずに状態デフォのターン数を読み込んで指定する方法もありますがかえってめんどくさいのでやりたい人は自分で考えましょう。

2016-04-14 15:30:21
いさましいオレンヂの仕立屋 @didus_ineptus

以上で出来上がりです。使用例としてはおもにセルフバーニングなどのカウンター系やHP再生などの超回復力。出現時に眠っている敵(与ダメで起きると猛攻)などですが応用すれば思いがけない使い道があるかもしれません?(召喚コモンや変身時なども状態は読み込まれます)

2016-04-14 15:31:46
いさましいオレンヂの仕立屋 @didus_ineptus

ボク基本システム簡単改造の解説頑張ったよ!

2016-04-14 15:33:12

うでぃたでのダメージ床制作

RPGによくある毒沼やマグマ地帯などのダメージ床ですね

いさましいオレンヂの仕立屋 @didus_ineptus

はい、寝る前におじさんのウディタ講座聞こうね。今回はダメージ床の処理です。

2016-05-07 03:26:34
いさましいオレンヂの仕立屋 @didus_ineptus

ダメージ床はイベントの接触範囲を床の大きさに広げればいいだけですが画像のような入り組んだ地形や別れた地形だと受ける場所と受けない場所での設定がめんどくさくなります。そこで、とりあえずイベントの範囲を移動できる全体に設定してしまいます pic.twitter.com/qJTof5J3Hl

2016-05-07 03:28:52
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

このイベントは戦闘にランダムエンカウントを使っているなら同じものを使ってしまって構いません。そのイベントに主人公の現在の座標とその座標のタイルのIDを読み込む処理を組み込み、分岐でダメージ処理をします(前回の脱出用イベント参照) pic.twitter.com/2MWPgpcnBu

2016-05-07 03:33:01
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

このやりかたでダメージ床っぽいものになりますが一歩ごとにダメージを受けるため突っ切ろうとすると「ボボボボボ」という昔懐かしいFC版FFみたいな感じになってしまいます。そこでちょっと手を加えてみましょう

2016-05-07 03:35:42
いさましいオレンヂの仕立屋 @didus_ineptus

というわけで床を踏んだ時「セルフ変数4が0ならダメージ」とし、一歩歩くごとにセルフ変数が0→1となるような処理を入れます。これで二歩移動ごとのダメージになります(該当の床以外を踏んだ時は0に戻るので最初は必ずダメージを受けます pic.twitter.com/7LklaUWVzM

2016-05-07 03:43:54
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

この処理の場合変数の剰余を求める式(%=)の数値を変えればダメージを受ける歩数を変更できます。画像の場合は4歩ごとになります。 pic.twitter.com/FdmmeK126R

2016-05-07 03:48:14
拡大
いさましいオレンヂの仕立屋 @didus_ineptus

さらに応用としてこのイベントを「並列処理」にすると「ダメージ床の上にいるだけでどんどんダメージを受ける処理」にできます。好みの用法を用いてプレイヤーをリョナりましょう! いじょうです。ハイ寝ていいよ。

2016-05-07 03:51:31
いさましいオレンヂの仕立屋 @didus_ineptus

あっ先日のダメージ床の処理は応用すればフィールドマップなんかのランダムエンカウントで「森でだけ出る敵」「道沿いに歩いていれば敵は出ない」みたいな処理ができます。これもそのうち作ろう(フィールドでランダムエンカウントするのがめんどくさいので基本的に実装しないおじさん

2016-05-09 04:58:57
いさましいオレンヂの仕立屋 @didus_ineptus

このタグ設定を使えば複数種類のタイルでも設定しやすくなるのだがまだ使ったことはない pic.twitter.com/Dn3r5dvnIB

2016-05-09 05:03:23
拡大
拡大