更新履歴
- 2025/5/6
- エンチャントを調整しました。
- エンチャントを付与するタイミングを着替え時から死亡時に変更しました。
- 宝箱の装備にもエンチャントを付与するようにしました。
- 宝箱をActorにしました。
- 2025/4/23
- エンチャントを調整しました。
- 2025/3/20
- Hepsy School Days SMP CBBESMPに対応しました。
- TIWOBA Fur – The Incremented World of Bikini Armorに対応しました。
- 2025/1/26
- Rustic clothes SMPに対応しました。
- Narukami – hdt SMP (CBBE 3BA – BHUNP)のDLCに対応しました。
これより古い履歴はEnemy Equipmentの更新履歴にあります。
おことわり
Immersive Armorsは独自の配布システムを持っており、本Modと機能がぶつかります。NPCを着替えさせ合っておかしなことになるので、Immersive Armors側の配布機能をオフにするか、SSEEditを使って防具に関係のないレコードを削除することをオススメします。
TIWOBA Fur – The Incremented World of Bikini ArmorはSPIDによる配布に対応しており、本Modと機能がぶつかります。出現率が高くなりすぎるため、TIWOBA側の配布をオフにすることをオススメします。
TEWOBAとTIWOBAを同時に有効にすると、TEWOBAの中にTIWOBAが組み込まれます。
必要な環境
- SKSE64
- SkyUI
- PapyrusUtil SE
- powerofthree’s Papyrus Extender for SSE
- 装備Mod(MCMを見てください)
概要
Modで装備をいろいろ追加しても、そのままではNPCが着てくれません。Leveled Listに追加すればとりあえずは着てくれるようになります。でも、ModでNPCが追加されたり装備が追加されるたびにLeveled Listを修正していくのは面倒です。
そこで、サポートされている装備Modを自動的に検出し、スクリプトを使って周りのNPCに動的に配布するModを作ってみました。
このModのコンセプトはEnemy Equipment Overhaulと同じです。私もLEではEnemy Equipment Overhaulを使っていました。Enemy Equipment OverhaulはSKSE用のDLLプラグインなので高速に動作します。espに含まれる装備を認識してNPCに追加するので、ものすごく楽です。少し問題もあって、装備がたまに統一性がなかったり、性別がおかしかったりすることもありました。全自動で処理させる分、装備側が想定したデータになっていないとうまくいかないようです。それでもLeveled Listのメンテナンスから開放されるのは素晴らしく、お世話になりました。残念ながらSE版はありません。
本ModはPapyrusベースなので動作速度の面ではEnemy Equipment Overhaulに劣りますが、自分なりにこだわってみました。
装備の条件
装備は完全ランダムではなく、装備セットという概念があり、コーディネイトを意識しました。例えばビキニアーマーであれば、上が鉄なのに下がドワーフになる、ということはありません。また、部位がランダムにあったりなかったりするようにしました。胴や靴はないとおかしいので必ず身につけますが、ネックレスや肩当てなどのオプションパーツはあったりなかったりします。
対象を条件で細かく指定できるようにしてみました。名前無しの敵キャラだけ(無名の山賊など)に限定したりできます。性別や職業にも配慮し、男がビキニアーマーを着たり、戦士系なのにローブを着たりはしません。
戦闘装備
戦闘向けの防具を装備させます。敵が主な対象となります。
おすすめの条件は「敵対検査なし」「ユニークなし」「内戦関係者なし」です。これで山賊やフォースウォーンといった敵対NPC、冒険者やトレジャーハンターといった友好的NPCが対象となります。固有名詞を持つNPCや衛兵は対象外となるので、街の雰囲気もそれほど損なわれないと思います。
ロアフレンドリ
この機能を有効にすると、派閥に応じて選択される防具が固定されます。
- 山賊は材質がドワーフまでとなり、黒檀のビキニを着ることがなくなります。
- フォースウォーンは材質が革と皮のみになります。
- サルモールは材質が
サルモールとエルフのみになります。 - シルバーハンドは近接固定となり、材質はドワーフまでとなります。
- ドーンガード兵は対応のビキニアーマーのみとなります。
- 帝国軍兵士は帝国軍のビキニアーマーのみとなります。
- ストームクローク軍兵士は対応のビキニアーマーのみとなります。
現在は以下の装備のみに対応しています。有効化されていないと着替えません。気が向いたら追加していく予定です。
- TEWOBA
- TIWOBA Fur – The Incremented World of Bikini Armor
- Tribal Hunter
- Dawnguard Bikini armor 3BA HDT-SMP – Tawoba Standalone Add-on
- Stormcloaks Bikini armor 3BA HDT-SMP – Tawoba Standalone add-on
戦闘装備にカジュアル装備を組み合わせる
戦闘装備のオプションにカジュアル装備を追加する確率を設定できます。
当選すると戦闘装備にカジュアル装備を強引に組み合わせます。
- スカート ([Caenarvon] Cosplay Pack)
- 制服の上着 ([Caenarvon] Cosplay Pack)
- 体操着の上下 ([Caenarvon] Cosplay Pack)
スカートは特別で、制服や体操着に合わせることが可能です。
胴装備が脱げて上半身か下半身のどちらかが丸出しになってしまう場合は組み合わせません。主にバニラのローブなどが該当します。
ボス装備
ダンジョンなどにいるボス専用の装備になります。
ボスを倒して出現した宝箱にも入っていることがあります。
カジュアル装備
カジュアルな衣装を装備させます。戦闘装備の対象にならなかったNPCがカジュアル装備の対象になります。
おすすめの条件は「内戦関係者なし」「職業検査あり」で確率を低めに設定です。これで街にいるNPCがたまにかわった服を着ているようになります。
職業検査をありに設定すると、浮浪者は対象外となり、宿屋でサービスを行うNPCにはメイド服やバニースーツといった特別な衣装が選択されます。
カジュアル装備はMCMのスライダーオプションで数値を動かすことで配布割合を、デフォルトを押すことで配布先をNPC、Wardrobe、両方から選べます。
服をリプレースする
着替えの対象外になった場合に、着ているバニラの服をリプレーサー版に入れ替えます。
現在はRemodeled Armorのスタンドアロン版に含まれる服の一部に対応しています。
バニラ服のリプレーサーを普通に導入すると年配者の服まで置き換わってしまいますが、この機能を使うことで年配者を除外することができます。
宝箱
NPCが死んだ時に宝箱が出現します。宝箱の中身は戦闘用装備もしくはカジュアル装備です。
NPCが持っていたものを宝箱に移動することもできます。Death Trap Chestで罠が仕掛けられるようにすると、さながらWizardryのような雰囲気になります。
ボスやドラゴンは宝箱の出現確率が大幅に上昇します。ボス装備が入っています。
ダンジョンに宝箱が配置されます。屋内限定です。戦闘用装備もしくはカジュアル装備がはいっています。
宝箱は内部的にActorになっており、水に浮いたり、動く床に追従し、掴んで動かすことができます。
ニューゲーム後の確定宝箱
ニューゲーム後にヘルゲン砦に入った直後やSkyrim Unboundで屋内に移動した直後に出現します。
戦闘装備はTAWOBAのレザーのビキニセットと鉄のビキニセットになります。
カジュアル装備は配布先がWardrobeになっているものからランダムに選ばれます。
実装の詳細は、以下の条件をすべて満たした際に発生します。
- ニューゲーム時の宝箱を配置する設定がオンになっている
- プレイヤーのレベルが1である
- 本Modが稼働を始めてからセル移動を行い、初めて屋内セルに移動した
- セルがダンジョンではない(LocTypeDungeonキーワードを持っていない)
Wardrobe
ダンジョンのWardrobeにカジュアル装備が入っています。
屋外のダンジョン扱いの区域も対象になります。
エンチャント
着替えの対象になったActorが装備している防具にエンチャントが付与されます。
本Modに付属のEnemyEquipment – Requiem.espを有効にすると、Requiem仕様のエンチャントが追加されます。
防具1つにつき、通常の敵が5%、ボスは15%の確率で付与されます。
エンチャントの性能はランダムに決定され、Actorのレベルによって上限が決まります。レベルが100で上限が最大となり、ボスはレベルが2倍で計算されます。
出現確率のボーナスにActorValueのVariable10を使用しています。
名称 | 効果 | 必要Mod |
---|---|---|
Status | ステータス値が増加する。 ステータスの自然回復速度が上昇する。 ステータスの自然回復値が上昇する。 | |
Skill | スキル値が増加する。 スキルの威力が上昇する。 | |
Resist | 耐性が上昇する。 | |
Speed | 移動速度が上昇する。 | |
Magic Find | エンチャントが付与される確率が上昇する。 | |
Reduce Exertion Stress (Attacking) | 攻撃時のスタミナ消費を軽減する。 | Requiem |
Reduce Exertion Stress (Blocking) | 防御時のスタミナ消費を軽減する。 | Requiem |
Armor Penetration | 物理耐性を無視してダメージを与える。 | Requiem |
Indestructible | 破壊されない。 | Equipment Manager |
Undegradable | 劣化しない。 | Equipment Manager |
下着
パンツ
下着を必ず着けさせる方法についてにて解説している「下着パンツ」「下着パンツを表示させない方法」が必要となります。
下着パンツをMCMで登録しておくことで、NPCに配布されます。
表示を正しくするために、ゲーム起動時にビキニの下の自動脱着が行われます。
従来の下着上下動的脱着、パンツの動的脱着はスクリプト負荷軽減のために廃止しました。
ブラ
ブラの装備スロットは32番が前提です。裸の上に何かを着るが、それぞれのメッシュが合わない場合に、合うようにするために胴に着る防具がブラになります。
ブラが必要な装備にキーワードを付けておきます。
キーワード | 用途 |
---|---|
NeedBra | 通常のブラが必要 (寄せて上げる) |
NeedBikini | ビキニ仕様のブラが必要 (寄せるだけ) |
ブラを用意して、MCMで登録します。
Outfitモード
2020/8/3版からOutfitモードが用意されました。有効にするにはMCMで「Outfitを使う」をオンにします。
内部的に1000個のOutfitを用意しており、NPCのDefault Outfitを順次切り替えながら割り当てていきます。
従来の動作は言うなればインベントリモードで、Default Outfitには手を付けず所持品に装備を追加して強制的に装備させていました。
Outfitモードの特徴として、動作が格段に速く、ロードを挟んでも勝手に脱げることがありません。そのかわり、アンインストールができなくなります。アンインストールすると、着替えたNPCは裸になります。
実装に関してはSimple NPC Outfit Managerを参考にさせていただきました。
キーワード
SPIDを使ってNPCにキーワードを付与することで、動作を変更できます。
eeIgnoreChangeOutfit
着替えの対象外にします。
; eeIgnoreChangeOutfit ; DraugrFaction Keyword = 0x38B0A~EnemyEquipment.esp|NONE|0x2430D~Skyrim.esm
eeForceChangeOutfit
NONEを無視して必ず着替えるようにします。
; eeForceChangeOutfit Keyword = 0x38B0B~EnemyEquipment.esp|CamillaValerius Keyword = 0x38B0B~EnemyEquipment.esp|Saadia
eeForceChangeOutfitCombat
戦闘装備の設定がオフでも着替えます。
; eeForceChangeOutfitCombat
Keyword = 0x38B0C~EnemyEquipment.esp|dunDarklightIllia
eeForceChangeOutfitCasual
カジュアル装備の設定がオフでも着替えます。
; eeForceChangeOutfitCasual Keyword = 0x38B0D~EnemyEquipment.esp|CamillaValerius Keyword = 0x38B0D~EnemyEquipment.esp|Saadia
Faction
SPIDを使ってNPCにFactionを付与することで、動作を変更できます。
eeFactionElder
老人です。
eeFactionVampire
吸血鬼です。
eeFactionCivilWar
内戦関係者です。
eeFactionRanged
遠隔武器で戦うNPCです。軽装になります。
eeFactionCaster
魔法で戦うNPCです。服になります。
eeFactionWench
酒場の関係者です。
eeFactionNoCasual
カジュアル装備を着ません。
メンテナンス用スペル
MCMで有効にすると自動的に習得します。
Refresh Outfit
対象の着替えを再抽選します。
クロスヘアで対象を捉えていない場合はセル内にいる全員を対象にします。
Change Outfit
対象の衣装をカスタマイズします。
取引画面が表示されるので、着せたい装備を渡します。
Outfitとして登録されるため、脱げません。
Fix Body
まれに胴体が透明のNPCが出現することがあります。原因は不明です。負荷が高いと起こるようです。胴装備を脱着するとなおるようです。
このスペルを唱えると、周囲にいる全員を対象に胴装備を脱着させることで修正を行います。
あとがき
NPCの装備を動的に入れ替えるのがこれほど難しいとは思いませんでした。最初は単純にPapyrusの関数を眺めてコードを書いて出来上がりだったのです。ところが、Skyrimの仕様によるさまざまな問題が出てきて、考慮しなければならないことが結構あることを知りました。また、他のModとの兼ね合いによる問題もあって、これがますます状況を複雑なものにしていました。
Mod作りをしていくうちにスキルもあがり、新しい手法を発見したりするたびに設計から見直してリファクタリングしています。何回やったかもう忘れたくらいです。
衣装の動作確認をするテストセルがあります。コンソールで以下のコマンドを実行すると移動できます。
coc eecelltesthall
ボタンを押すと衣装を着たNPCが出現します。現在はNinirim Collection 6.0のみです。