フォロワーに魔力の弓を使わせる

2017-03-19Skyrim,Tips

CKを使用してフォロワーに魔力の弓を使わせるためのTipsです。

魔力の剣はSpellListに追加するだけで使ってくれますが、魔力の弓は内部処理がちょっと特殊なので工夫が必要です。
拙作フォロワー・Artemionには諸問題を回避して魔力の弓を使わせる仕組みがございますので、そちらで使っている方法をご紹介します。

 

MagicEffectの作成

 
CKでespを作成して一度保存。その後検索フォームにBoundBowFFSelfと入力。
ヒットした"BoundBowFFSelf"を右クリックで複製、IDと名前は適当に変更。

複製したデータを開き、Effect ArcheTypeをScriptに変更。
右下のPapyrus Scripts欄にある"BoundBowEffectSctript"のプロパティをすべてクリアしてから、スクリプト自体も削除。
また、今回は魔力の収束(Mystic Binding)に対応させるつもりはないので、上方にあるTarget Conditionsの1行も削除して空欄にしました。

 

Scriptの作成とプロパティの設定

 
スクリプトを設定します。
過去にはSKSE関数を使って強制装備とかいろいろ試したんですが、安定動作が難しく頓挫したのでシンプルな仕組みに作り直してます。
内容を要約すると、「戦闘開始時にインベントリに特定の弓と矢を追加し、戦闘終了時に取り上げる」といった感じです。

ソース

scriptName aaaBoundBowScriptSample extends activemagiceffect

magiceffect property BoundBowFFSelf auto
weapon property boundweapon auto
ammo property boundArrow auto

function OnEffectStart(actor Target, actor Caster)
Caster.additem(boundArrow as form, 200, true)
Caster.additem(boundweapon as form, 1, true)
endFunction

function onLoad()
if !self.getCasterActor().hasMagicEffect(BoundBowFFSelf)
self.dispel()
endIf
endFunction

function OnEffectFinish(actor Target, actor Caster)
Caster.removeitem(boundArrow as form, Caster.getItemCount(boundArrow as form), true, none)
Caster.removeitem(boundweapon as form, Caster.getItemCount(boundweapon as form), true, none)
endFunction

スクリプトを追加したらその上で右クリックし、プロパティの設定画面に移行します。
“BoundBowFFSelf"は前の手順で作成したMagic Effectを指定。続いて呼び出す弓を"boundweapon"、呼び出す矢を"boundarrow"で指定。
(オリジナルの弓矢を使わせたい場合は別途作成しておいてください)

vanillaのものをそっくり流用してもよいですが、このスクリプトには強制装備の処理が含まれないため、より攻撃力の高い武器を所持していると仕様上そちらを優先的に使うことに注意が必要です。
確実に使用させるためには、呼び出す弓矢の攻撃力を高いものにする、他の武器を持たせない、スクリプトを追記して強制装備させる等のいずれかの対策が必要になります。

 

トリガーの作成

 
Magic Effectを発動させるためのトリガーを作ります。
魔法でもシャウトでもいいんですが、今回はアビリティに設定(戦闘が始まると自動発動するように)します。詠唱がいらない分高速かつ確実に発動しますので、とにかく魔力の弓だけ使ってほしいならアビリティにするのがおすすめです。

左メニューからMagic→Spellとツリーを展開し、右から適当な項目を右クリックして"New"を選択。
↓の画面が出ます。

右の"Effects"のリスト上で右クリックして"New"を選択。

Effectはさっき作成したMagic Effectを指定。
種別がAbilityだとDurationは無視されるはず(たぶん)なので適当に。
Conditionsには戦闘中のみ効果を発揮するよう条件式を設定します。
(画像ではIsinCombat = 1 になってますが、索敵中も含まれるように =! 0 にした方がいいと思います)
設定が終わったらOKを選択。

元の画面に戻るのでいろいろ入力していきます。

IDとNameを入力します。適当で大丈夫ですが、強いて言うなら頭が数字以外の管理しやすい名前がいいと思います。
Equip Typeはアビリティの場合は無関係なのでデフォルトで大丈夫です。

設定が終わったらOKを選択。トリガー完成です。
 

フォロワーのSpellListへの追加

 
アビリティに設定した場合はこのトリガーをフォロワーのSpellListに追加して完了。

スポンサーリンク

Skyrim,Tips

Posted by hacca