KYEのパッチ作成作業を改善する

環境構築

無駄を省いて効率化します。

こちらはzEdit 254 plugin limit workaround tutorial for KYE TUS Engarde and othersを使う場合の解説になります。現在このModは公開が停止しており、かわりとなるzEdit UPF Plugin Loader Generatorの利用を勧めているようです。

Add_Masters_By_Signature_KYE.pas

パッチ作成時に必要なプラグインを選別してくれるxEdit用スクリプトです。

このスクリプトの問題として、armorパッチとenemyパッチで共通なので、無駄があります。

さらに、プラグインの数が255個を越えてしまうとマージ作業が必要になってしまい、工数が増えます。

armor用とenemy用で2つにわけるとプラグイン数を減らせます。

Add_Masters_By_Signature_KYE_Armor.pas

必要なのはArmorとNPCです。NPCはSPIDで代用できるので、Armorだけでよいことになります。

InitializeメソッドのSignatureListをArmorだけにします。

SignatureList.CommaText := 'ARMO';

Processメソッドは以下のようにします。

    for i := 0 to Pred(FileCount) do begin
        CurrentFile := FileByIndex(i);

        if (CompareText(GetFileName(CurrentFile), GetFileName(OutputFile)) = 0) then
            Continue;

        /* ここから追記する */
        if (GetFileName(CurrentFile) = 'know_your_enemy.esp') then begin
            AddMasterIfMissing(OutputFile, GetFileName(CurrentFile));
            Continue;
        end;
        /* ここまで追記する */

        for j := 0 to Pred(SignatureList.Count) do begin
            if (GroupBySignature(CurrentFile, SignatureList[j]) <> nil) then begin
                AddMasterIfMissing(OutputFile, GetFileName(CurrentFile));
                Break;
            end;
        end;
    end;

Add_Masters_By_Signature_KYE_Enemy.pas

必要なのはSpell、Perk、NPCです。NPCは細かく調べてたくさんのPerkを割り振るため、SPIDへの移行は面倒なのでしません。

InitializeメソッドのSignatureListをNPC、Spell、Perkだけにします。

SignatureList.CommaText := 'NPC_, SPEL, PERK';

ProcessメソッドはAdd_Masters_By_Signature_KYE_Armor.pasと同様に変更します。

KnowYourEnemyPatcher

zEditのmoduleに変更を加えます。

編集するのはKYE側ではなくてzEdit側なので注意してください。KYE側はインストール前のファイルです。

zEdit/modules/KnowYourArmorPatcher/index.js

registerPatcherのexecuteにあるprocessメソッドからNPCに関する処理をコメントアウトします。

zEdit/modules/KnowYourEnemyPatcher/index.js

特に手を入れる必要はありません。

Spell Perk Item Distributor

Perk配布用の設定ファイルを用意します。

Perk = 0x000B6D0D - know_your_enemy.esp

ちなみにYASH2のPerkもSPIDで配布できます。

Perk = 0x00B513C2 - YASH2.esp

プレイヤーはSPIDの対象外のようです。別途パッチを用意して持たせるようにします。

KYEパッチ作成時の注意

KnowYourArmorPatcherは文字通りArmorにたいするパッチとなりますので、KnowYourEnemyPatcherとレコードが一切被りません。

よって、KnowYourArmorPatcherを動かすときはAdd_Masters_By_Signature_KYE_Armor.pasで作ったespを、KnowYourEnemyPatcherを動かすときはAdd_Masters_By_Signature_KYE_Enemy.pasで作ったespを使います。

KnowYourEnemyPatcherにKnowYourArmorPatcherで作ったパッチは不要です。

検証

SSEEditで目視確認した限りでは、想定通りの内容になっています。

しばらくプレイをしてみましたが、問題なさそうです。

zEdit UPF Plugin Loader Generator

こちらは元からArmor用とEnemy用にわかれています。

ただし、Armor用はARMOとNPC_が対象なのでNPC_を除外すれば同じことができると思います。

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