忍者ブログ

方向音痴のSkyrim

PCゲーム「Skyrim」の雑多なCKいじり日記

CombatOverride作成【任意の魔法を使わせる】

前回02~04に渡って、プレイヤーに加え他のフォロワーも回復できるヒーラー用の戦闘AI Packageを作りました。
今回もヒーラーネタですが、より簡単なAIで特定の状況下だけ任意の魔法を使わせてみます。


 
用意した魔法はこちら。
マント系の魔法で、「治癒のマント」なるものを作ってみました。近くにいる味方を継続的に回復してくれます。アーケイの加護も受けているということで、近くにアンデッドがいたら燃やすようにもしています。



近づくだけで周りの人が光に包まれるので、ティンカーベルにでもなった気分が味わえる癒し魔法。

NPCが自発的に魔法を使うかどうかは、一番目のEffectになにが設定されているかで決まっているようです。なかでも防御値を上げる魔法とマント系魔法は、戦闘開始直後、もしくは効果が切れたときに使いたがる傾向にあります。
なのでこの魔法もNPCに覚えさせてやれば勝手に使ってくれます。しかし周りの人間をことごとく癒すので、便利すぎといえば便利すぎるのが難点。この魔法を使えるフォロワー(きれいなお姉さんかキュートな小動物を希望)を二人くらい作って、戦闘中仲間の間を駆け回らせてみたい気もするんですけど。
しかしここは堅実に、特別な戦闘=敵にアンデッドがいる時だけ使うよう制限を設けてみます。AI PackageのConditionsにて簡単に設定することができます。



魔法はごくシンプルにキャストしてもらえばいいので、デフォルトのAI Package Template「UseMagic」を使ってCombat Override Packageとして作ります。

  • Location:魔法を使う場所。この場所まで移動してから魔法を使います。
  • SPELL:使う魔法の指定。
  • target:誰に魔法を使うか。魔法のタイプに合わせて、自分自身や相手NPCを指定します。SpellのDeriveryによっては、手前の障害物に魔法が当たることも。
  • HoldWhenBloked:射線上にほかのNPCがいると魔法を使わないかどうか。柱などの障害物は認識できないようです。場合にもよりますが今回はFalseで。自分自身を的にしてるのであまり関係ないかもしれません。
  • CastTimeMin/Max:この値の間で魔法の溜め時間(秒)をランダム化できます。二つともゼロにすると、魔法側で設定されている溜め時間が使われるようです。「治癒の手」のようにキャストし続けるタイプの魔法は、時間設定が必要です。
  • CooldownTimeMin/Max:小休止。複数回魔法を使うときに有効。
  • NumToCastMin/Max:何回魔法を使うかをランダムに決められます。クールダウン時間をはさんで魔法を撃ち終わればPackageも終了
  • DualCast:デュアルキャストするかどうか。



Conditionsタブで、魔法を使ってもらいたい状況を設定。
フォロワーになっていなくてもこの行動を行って欲しいので、設定する条件はこれだけで十分です。

上3行で、「治癒のマントの効果がないとき」「回復スキルが50レベル以上のとき」「残りマジカが150以上のとき」を決めています。UseMagicは残りマジカが使わせる魔法の消費マジカ以下だとうまく動かないと思っていたのですが、どうも関係ないようです。消費マジカ10000の魔法でも普通に使えました(スキル100、パークありで実際には必要マジカ3000弱になっていたとしても)。これではあまりにチートなので、せめて残りマジカ150以上のときだけしか使えないようにしています。スキルレベルを設定しているのは、「治癒のマント」は回復魔法の中でも高度そうだから見習いレベルには使えないだろうと思っただけで、単なる気分の問題です。
本当に必要な条件は最初の一行だけになります。

下2行は、Run onを"Combat Target"というのにしています。これはNPCが現在ターゲットをとっている敵のことです。敵が「アンデッド種族である」もしくは「死霊術で蘇った死体である」状況を限定しています。


できたら前々回同様にして、新規FormListにこのPackageを登録。
優先度100のクエストにAliasをつくり、Combat Override ListにFormListを設定すればフォロワーにしたときでもこのAIが動いてくれます。



癒しの妖精さんになれる魔法は、こちらのダンディなアーケイ司祭に使用させます。キナレス聖堂にいる侍者イェンセンがよく見ると整った顔立ちをしていたので、ブレトンで似たようなのを作ってみたNPCです。



AI Packageの起動はなぜか少し遅いです。UseMagicの下位に登録したヒーラー用Packageが先に起動します。Conditionsに設定した条件のうち、判定に時間がかかるものがあるのかもしれません。
戦闘開始後数秒して、治癒のマントを使ってくれました。まあそれほど急いで使ってくれなくてもいいでしょう。



生き物は癒し、生ける屍は燃やす。対アンデッド戦にちょうどいいNPCになりました。
AI Packageを使って特別なときに特別な魔法を使わせることで、特化型フォロワーを作ってみるのも楽しいです。

ただ「UseMagic」は魔法を使った後、数秒間は魔法を構えたまま立ちんぼうになってしまいます。恐らくAI Packageの切り替わりに時間がかかっていると思われます。2、3秒だけのときもあれば10秒くらいのときもあります。
魔法を連発させるよう設定していれば連発している間にAI Packageが終了してくれるのであまり目立ちはしないのですが、今回のように1回使えばそれでいい魔法だと、棒立ちは不自然かもしれません。


 
AI Package切り替わりまでの間を埋めたい場合は、Package Templateを"NONE"にしてProcedure Treeに変更を加えます。
Sequenceのところで右クリックして「Procedure: HoldPosition」を加えるだけでいけます。魔法を使った後、HoldPositionが実行されるので棒立ちになりません。



もっとも「守護のサークル」を使わせるのであれば、AI Package切り替わりの遅延が逆に好都合だったりして。使った後数秒その場にとどまるので、敵がサークル内に誘い込まれるし本人の体力もある程度回復できます。
AIの切り替わりが遅いからダメと、一概に言えないのが面白いです。



守護のサークルを作るだけ作って、プレイヤーを一人残しそそくさと岩陰に隠れたアーケイ司祭。
テストプレイでドラウグル・デス・オーバーロード10体を召還しているため、逃げたくなる気持ちも分かります。後で挑発を彼に打ち込み、戦線に復帰させました。

前へ | 次へ
PR

コメント

1. 新ヒーラー

新タイプのヒーラー、誕生ですね!!
ヒーラーが対象に魔法を当てに行くのではなく、治癒してほしい人がヒーラーの傍へ近づくことで回復できる仕組みが…すごく斬新です!(ヒーラーはいつも尽くす側だったので…フォロワー自身の性格にも反映できそうで…さらに◎)

UNIさんのPackageのConditionsの付け方を見て、いつも感動してしまうのですが…自分はいつも2~3個を付けるのがやっとです。
(A and B)or(C and D)のような条件付けに未だに苦戦しております…(汗)←このパターンはwikiに乗っていたのですが、最初のカッコ内にもう一つ(A and B or/and C)と追加したような条件になってくると…もう何が何だか分からない状況です。(そういうのは作れないので必然的に回避する方向性に…汗×2)

回復魔法といえば…補助系魔法が中心だったので、回復と同時に魔物にダメージを与えるのは、ヒーラーのイメージを損なわない素晴らしい「攻撃方法」ですね。ヴァーニスさんは、旅路が墓地や死者の間など『生と死』を連想するような場所が多かったので…その道のプロだと予想していましたが、アンデットの大軍を…成仏させている(笑) アーケイ司祭の本領発揮ですね!!
そして岩陰に逃げている姿が…かわいい(^u^;) でも、守護のサークルの応用は……すごい。「この円は治癒師の領域だ!!」とか…言っている姿を妄想してしまいます。罠魔法のように、「置き逃げ式」で効果を発揮しそうで…面白いです!

追伸
アシスのCloak魔法を製作していて気付いたことがありました。DmgでないCloakの方のSpellのMagnitudeは、術者を中心に「見えない当たり判定」を決定していました。炎のマントでいう「マント」の大きさ自体は、MagicEffectのHitEffectArtで指定したnifファイルのサイズのままなので気付かなかったのですが、Magnitudeを大きくすると…当たり判定の半径が大きくなるみたいで、おおよそマントが当たるはずのない遠くの敵が燃えたりしていました。思い返せば…弟子の銀魔法の時も発射体の大きさをNifskopeで変えたりしましたが…当たり判定はCKの方で決められているようで…CK上とNifskope上の位置関係を調整するのがとても大変でした…(仕様の壁がここにも…)。

UNIさんのAIPackageと当たる範囲を上手く調整した「治癒のマント」を設定できれば、フォロワーに持たせても良いバランスになるかもしれないですよね!SLF、次回のヴァーニスさんのバージョンアップに期待が高まります(^^)

Re:新ヒーラー

ありがとうございます~!
調整がうまくいったら、次の更新で彼をパワーアップしてあげられそうです。

Magic Effectをいろいろ見ていると、時々Magnitudeが魔法の威力を決めてるのか、あんまり関係ないのか、よく分からないものがありますね。まだ使いこなしていないからかと思うのですが、個人的にマント魔法のMagnitudeが効果範囲を決めていたのが意外でした。CKwikiにも説明がありましたけど、Areaじゃなかったんですね。
マント魔法は効果範囲にいる対象に連続ヒットするようで、改造版炎のマントのCondition設定をミスした時、ほんの1秒そばにいただけで周囲の全フォロワーに敵対されたことがあります。文字通りの袋叩きにあいました。
Condition設定はかなり慎重にやらないと致命的な結果を引き起こしますね;

(A and B) or C であればまだ何とかなりますが、さすがに(A and B) or (C and D)になってくると設定するだけでもたいへんです。私も最初はこんな事態がないことを祈るばかりでしたが、意外とこの手の分解しなきゃいけない条件式には出くわさない気がします。andやorだけで条件を設定できる場合も多いですし、orが優先されることでかえって簡単な条件式になったりすることが多いです。
どうしても(A and B) or (C and D)を使わなきゃいけないときは、(A and B)と(C and D)の条件を使った同じPackageを2つ用意してます。(A and B) or (C and D)を分解して長いConditionを作っても、どこかで絶対間違えそうだし、しばらくたってから見直したときも解読に苦労します(^-^;

Author

UNI
Skyrimで遊ぶのも、CKで改造するのも好きなファンタジー好きです。
戦闘苦手で難易度は基本EASY、慣れてもNORMAL程度。 アンデッド恐怖症なので、ノルド遺跡探索が辛い……。

ブログ内検索

最新コメント

[05/16 NONAME]
[05/14 感染者の巡回者]
[05/08 NONAME]
[05/06 らいじゅ]
[04/30 NONAME]