Packageがうまく動かない

Modを作ろう

NPCにPackageを適用したいのにうまく動かない例をまとめます。

優先順位がある

Packageは上から順に条件が評価されます。

これはPlayerがNPCを魅了してペットにする魔法を作った時のPackageです。PetAttackが攻撃するために対象に近づくPackageで、PetFollowPlayerがPlayerに追従するPackageです。普段は追従させますが、攻撃命令が出た時だけ攻撃させたいので、PetAttackの方が上になります。

戦闘フラグ

Actorには戦闘フラグというのがあります。通常時、索敵中、戦闘中の3つです。PapyrusではGetCombatState関数で取得できます。Packageは通常時とその他でPackageが切り替わります。

Alias Package Data(青い枠)が通常時のPackageになります。Actorが戦闘状態になると適用されなくなります。例外があって、Ignore Combatフラグにチェックが入っていると戦闘状態を無視します。

Combat Override Package List(赤い枠)が戦闘時のPackageになります。こちらで指定したPackageは戦闘時限定になります。

Ignore Combatフラグは戦闘中であろうと適用されるので、Conditionsをうまく設定しないと、絶対にCombat Override Package Listを実行しないActorというのができてしまいます。

タイトルとURLをコピーしました