Fallout箱庭DIY

「箱庭DIY」Fallout分室

【Fallout4】『The new settlers a plus Overhaul vanilla』と『Orphans of the Commonwealth』は競合する?

スポンサーリンク


レベルドリスト
バニラの入植者はバリエーションに乏しく、数が増えると見覚えのある顔がダブってきます。そこでThe new settlers a plus Overhaul vanilla(以下、Newface Settlersと呼称)の出番。バリエーション豊かな入植者達がやってきます。
更にバリエーションを増やすなら、入植者に子供NPCを加えるOrphans of the Commonwealthもありますね。
この両者の併用に、問題が有るのか無いのかを調べます。

Newface SettlersとOrphansは競合するのか?

以前に、なんかお互いに悪さする等の疑惑を見た気がします。例によって『競合だ、干渉だ!』と騒ぎ立てる割に、FAを見た覚えは無いのですけど・・・。

ちなみにOrphansのDescriptionには、

Incompatible

  • Anything that modifies the LCharWorkshopNPC file
  • Anything not listed that modifies settlers

の文言があります。まあこれは当然の話でして。
LCharWorkshopNPCは、ビーコンでやってくる入植者のLeveled Listです。入植者のバリエーションを増やすには変更が不可欠な為、どちらのMODもこれを変更しています。これがキモなので、普通ならどちらか機能しなくなる筈です。
二行目は、Descriptionに書いてある互換MODリストのことですね。


結論から先に言っちゃいます。この両者の併用は、Orphansをロードオーダー後方にすることで、

レコード上は競合するけど、動作上は全く支障無い

です。
 

・・・何言ってんの?って感じですが、この2つ、面白い関係にあるんです。

入植者用のLeveled Listを確認

前述の入植者NPC用のLeveled List、LCharWorkshopNPC(00113341)を見ます。競合レコードはこれ1個のみ。Newface Settlersはプラグイン以外のassetを持たないので、Orphansのba2ファイルには競合リスク有りません。
入植者用レベルドリスト
詳細を見るまでもなく、LLCT(Leveled ListのEntry数)を見れば一目瞭然。Newface Settlersで抽選対象NPCが58(男女29人ずつ)に追加されますが、その後でOrphansに上書きで潰されてます10になっちゃいました。

ただしOrphansでの10は、NPC10人ではなくLeveled List10個。Leveled ListからLeveled Listを呼ぶ、よくある手法です。

内訳を見ると、

  • LCharWorkshopNPCFemale(001243CD)x4個
  • LCharWorkshopNPCMale(001243CC)x4個
  • LCharWorkshopNPCFemaleChild(xx006AE2)x1個
  • LCharWorkshopNPCMaleChild(xx006AE3)x1個


これはEditor ID名の通り、

  • 女性入植者4/10 = 40%
  • 男性入植者4/10 = 40%
  • 女性入植者(子供)1/10 = 10%
  • 男性入植者(子供)1/10 = 10%

という確率設定をしています。複数並べて確率調整するのは、Leveled List運用のお約束です。子供20%のespなので想定通り。

さて、子供用の2つは置いときまして(バニラに無いから競合対象外)、前2つの大人用Leveled Listが気になります。どんな中身なのやら?

男女分けされたLeveled Listを確認

まず女性用、LCharWorkshopNPCFemale。Newface Settlersで上書きされてますね。29個あります。
女性入植者のレベルドリスト

男性用、LCharWorkshopNPCMale。同じく上書きされており、こちらも29個
男性入植者のレベルドリスト
合わせると58個ですね。最初に見た、潰される前のLCharWorkshopNPCも58個でした。

Leveled Listを比較

これまで3つのLeveled Listが出てきました。

  • LCharWorkshopNPC(入植者Leveled List 、Orphansに潰される)
  • LCharWorkshopNPCFemale(入植者女性用Leveled List、 最終レコード)
  • LCharWorkshopNPCMale(入植者男性用Leveled List、 最終レコード)

この3つを比較します。LCharWorkshopNPCは、Orphansに潰される前の58個の方を対象とします(つまりNewface Settlersのレコード)。一杯ありますが、マスの埋まり方だけ見ればOK。


LCharWorkshopNPC LCharWorkshopNPCFemale LCharWorkshopNPCMale
EncWorkshopNPCMaleFarmer01Template
"Settler"
[NPC_:00113340]
EncWorkshopNPCMaleFarmer01Template
"Settler"
[NPC_:00113340]
EncWorkshopNPCMaleFarmer02
[NPC_:00113343]
EncWorkshopNPCMaleFarmer02
[NPC_:00113343] 
EncWorkshopNPCMaleFarmer03
[NPC_:00113344]
EncWorkshopNPCMaleFarmer03
[NPC_:00113344]
EncWorkshopNPCMaleFarmer04
[NPC_:00113345]
EncWorkshopNPCMaleFarmer04
[NPC_:00113345]
EncWorkshopNPCFemaleFarmer01
[NPC_:00113346]
EncWorkshopNPCFemaleFarmer01
[NPC_:00113346]
EncWorkshopNPCFemaleFarmer02
[NPC_:00113347]
EncWorkshopNPCFemaleFarmer02
[NPC_:00113347]
EncWorkshopNPCFemaleFarmer03
[NPC_:00113348]
EncWorkshopNPCFemaleFarmer03
[NPC_:00113348]
EncWorkshopNPCFemaleFarmer04
[NPC_:00113349]
EncWorkshopNPCFemaleFarmer04
[NPC_:00113349]
EncWorkshopNPCFemaleFarmer05
[NPC_:001C2689]
EncWorkshopNPCFemaleFarmer05
[NPC_:001C2689]
EncWorkshopNPCFemaleFarmer06
[NPC_:001C268A]
EncWorkshopNPCFemaleFarmer06
[NPC_:001C268A]
EncWorkshopNPCFemaleFarmer07
[NPC_:001C268B]
EncWorkshopNPCFemaleFarmer07
[NPC_:001C268B]
EncWorkshopNPCFemaleFarmer08
[NPC_:001C268C]
EncWorkshopNPCFemaleFarmer08
[NPC_:001C268C]
EncWorkshopNPCMaleFarmer05
[NPC_:001C268F]
EncWorkshopNPCMaleFarmer05
[NPC_:001C268F]
EncWorkshopNPCMaleFarmer06
[NPC_:001C2690]
EncWorkshopNPCMaleFarmer06
[NPC_:001C2690]
EncWorkshopNPCMaleFarmer07
[NPC_:001C2691]
EncWorkshopNPCMaleFarmer07
[NPC_:001C2691]
EncWorkshopNPCMaleFarmer08
[NPC_:001C2692]
EncWorkshopNPCMaleFarmer08
[NPC_:001C2692]
EncWorkshopNPCMaleFarmer09
[NPC_:00237B66]
EncWorkshopNPCMaleFarmer09
[NPC_:00237B66]
EncWorkshopNPCFemaleFarmer09
[NPC_:00237B67]
EncWorkshopNPCFemaleFarmer09
[NPC_:00237B67]
aaaWorkshopNPCFemaleSelyanka13
[NPC_:0100082A]
aaaWorkshopNPCFemaleSelyanka13
[NPC_:0100082A]
aaaWorkshopNPCFemaleSelyanka14
[NPC_:0100082D]
aaaWorkshopNPCFemaleSelyanka14
[NPC_:0100082D]
aaaWorkshopNPCFemaleSelyanka15
[NPC_:0100082E]
aaaWorkshopNPCFemaleSelyanka15
[NPC_:0100082E]
aaaWorkshopNPCMaleSelyanin12
[NPC_:010008C6]
aaaWorkshopNPCMaleSelyanin12
[NPC_:010008C6]
aaaWorkshopNPCMaleSelyanin13
[NPC_:010008C7]
aaaWorkshopNPCMaleSelyanin13
[NPC_:010008C7]
aaaWorkshopNPCMaleSelyanin14
[NPC_:010008C8]
aaaWorkshopNPCMaleSelyanin14
[NPC_:010008C8]
aaaWorkshopNPCMaleSelyanin15
[NPC_:010008C9]
aaaWorkshopNPCMaleSelyanin15
[NPC_:010008C9]
aaaWorkshopNPCFemaleSelyanka16
[NPC_:01001802]
aaaWorkshopNPCFemaleSelyanka16
[NPC_:01001802]
aaaWorkshopNPCFemaleSelyanka17
[NPC_:01001803]
aaaWorkshopNPCFemaleSelyanka17
[NPC_:01001803]
aaaWorkshopNPCFemaleSelyanka18
[NPC_:01001804]
aaaWorkshopNPCFemaleSelyanka18
[NPC_:01001804]
aaaWorkshopNPCFemaleSelyanka19
[NPC_:01001805]
aaaWorkshopNPCFemaleSelyanka19
[NPC_:01001805]
aaaWorkshopNPCFemaleSelyanka20
[NPC_:01001806]
aaaWorkshopNPCFemaleSelyanka20
[NPC_:01001806]
aaaWorkshopNPCMaleSelyanin16
[NPC_:01001809]
aaaWorkshopNPCMaleSelyanin16
[NPC_:01001809]
aaaWorkshopNPCMaleSelyanin17
[NPC_:0100180A]
aaaWorkshopNPCMaleSelyanin17
[NPC_:0100180A]
aaaWorkshopNPCMaleSelyanin18
[NPC_:0100180B]
aaaWorkshopNPCMaleSelyanin18
[NPC_:0100180B]
aaaWorkshopNPCMaleSelyanin19
[NPC_:0100180C]
aaaWorkshopNPCMaleSelyanin19
[NPC_:0100180C
aaaWorkshopNPCMaleSelyanin20
[NPC_:0100180D]
aaaWorkshopNPCMaleSelyanin20
[NPC_:0100180D]
aaaWorkshopNPCMaleSelyanin01
[NPC_:01026F37]
aaaWorkshopNPCMaleSelyanin01
[NPC_:01026F37]
aaaWorkshopNPCFemaleSelyanka03
[NPC_:01026F38]
aaaWorkshopNPCFemaleSelyanka03
[NPC_:01026F38]
aaaWorkshopNPCFemaleSelyanka04
[NPC_:01026F39]
aaaWorkshopNPCFemaleSelyanka04
[NPC_:01026F39]
aaaWorkshopNPCMaleSelyanin02
[NPC_:01026F3D]
aaaWorkshopNPCMaleSelyanin02
[NPC_:01026F3D]
aaaWorkshopNPCMaleSelyanin03
[NPC_:01026F44]
aaaWorkshopNPCMaleSelyanin03
[NPC_:01026F44]
aaaWorkshopNPCMaleSelyanin04
[NPC_:0103BDAF]
aaaWorkshopNPCMaleSelyanin04
[NPC_:0103BDAF]
aaaWorkshopNPCFemaleSelyanka05
[NPC_:0103BDB1]
aaaWorkshopNPCFemaleSelyanka05
[NPC_:0103BDB1]
aaaWorkshopNPCMaleSelyanin05
[NPC_:0103BDB3]
aaaWorkshopNPCMaleSelyanin05
[NPC_:0103BDB3]
aaaWorkshopNPCMaleSelyanin06
[NPC_:0103BDB5]
aaaWorkshopNPCMaleSelyanin06
[NPC_:0103BDB5]
aaaWorkshopNPCFemaleSelyanka06
[NPC_:0103BDB7]
aaaWorkshopNPCFemaleSelyanka06
[NPC_:0103BDB7]
aaaWorkshopNPCMaleSelyanin07
[NPC_:010566BB]
aaaWorkshopNPCMaleSelyanin07
[NPC_:010566BB]
aaaWorkshopNPCFemaleSelyanka02
[NPC_:010566BC]
aaaWorkshopNPCFemaleSelyanka02
[NPC_:010566BC]
aaaWorkshopNPCFemaleSelyanka01
[NPC_:01060CA5]
aaaWorkshopNPCFemaleSelyanka01
[NPC_:01060CA5]
aaaWorkshopNPCMaleSelyanin08
[NPC_:010ABF9E]
aaaWorkshopNPCMaleSelyanin08
[NPC_:010ABF9E]
aaaWorkshopNPCMaleSelyanin11
[NPC_:010D388B]
aaaWorkshopNPCMaleSelyanin11
[NPC_:010D388B]
aaaWorkshopNPCMaleSelyanin10
[NPC_:010D3892]
aaaWorkshopNPCMaleSelyanin10
[NPC_:010D3892]
aaaWorkshopNPCFemaleSelyanka07
[NPC_:0111E356]
aaaWorkshopNPCFemaleSelyanka07
[NPC_:0111E356]
aaaWorkshopNPCMaleSelyanin09
[NPC_:011CF00D]
aaaWorkshopNPCMaleSelyanin09
[NPC_:011CF00D]
aaaWorkshopNPCFemaleSelyanka12
[NPC_:01225B68]
aaaWorkshopNPCFemaleSelyanka12
[NPC_:01225B68]
aaaWorkshopNPCFemaleSelyanka11
[NPC_:01231349]
aaaWorkshopNPCFemaleSelyanka11
[NPC_:01231349]
aaaWorkshopNPCFemaleSelyanka09
[NPC_:0123134A]
aaaWorkshopNPCFemaleSelyanka09
[NPC_:0123134A]
aaaWorkshopNPCFemaleSelyanka10
[NPC_:0123134B]
aaaWorkshopNPCFemaleSelyanka10
[NPC_:0123134B]
aaaWorkshopNPCFemaleSelyanka08
[NPC_:0138B5F3]
aaaWorkshopNPCFemaleSelyanka08
[NPC_:0138B5F3]

マスの埋まり方に注目すると、面白いことが見えてきます。LCharWorkshopNPCFemaleとLCharWorkshopNPCMaleを合わせれば、Orphansに潰された、Newface SettlersによるLCharWorkshopNPCの変更が復元されます

つまり、Orphansの上書きで潰されたかに見えたLCharWorkshopNPCの最終レコードは、

  • LCharWorkshopNPCFemale(Newface Settlers女性29人)x4個
  • LCharWorkshopNPCMale(Newface Settlers男性29人)x4個
  • LCharWorkshopNPCFemaleChild(Orphans女性(子供)23人)x1個
  • LCharWorkshopNPCMaleChild(Orphans男性(子供)21人)x1個

という抽選になってます。共存できてますね。

Newface SettlersとOrphansとの互換性

流れとしては、

  • Orphansに、Newface SettlerのLCharWorkshopNPCの変更が潰される
  • Newface Settlersによる、男女別Leveled Listの変更は有効
  • Orphansは、男女別Leveled Listを使ってLCharWorkshopNPCを上書き

Orphansが男女別Leveled Listで上書きしたのは、子供NPCの確率設定をする為でしたね。その結果、

両MODのNPCが、漏れなく全て抽選対象に納まった

という顛末です。

Leveled Listのレコードだけを見ると競合してるんですが、最終的には共存できてるという訳です。動作も問題ありません、少なくとも僕の環境では。こういうケースはレアですが(というか初めて見たかも)、競合回避手段としても使えそうですね。3つ以上の競合には通じないですが・・・。

最後に念のため。Newface Settlersをロードオーダー後方に置いてしまうと、Orphansが一方的に潰されます。子供NPCがスポーンしなくなる筈です。理由は、LCharWorkshopNPCのロードオーダーを入れ替えて検討してみれば、分かる筈。
 

以上、おしまいです!

 

Copyright © 2015 Fallout Hakoniwa DIY All rights reserved .

S.kutsumiya@gmail.com