【解決済み】女神転生の「貫通属性」を作成したい

返信する
deal
記事: 10
登録日時: 2021年11月07日(日) 11:37

【解決済み】女神転生の「貫通属性」を作成したい

投稿記事 by deal »

お疲れ様です。
色々考えてみたのですが、うまくできなかったので相談させてください。
(RX_T_IgnoreAttributeDefenses.jsがそれっぽいのですが動作せずよくわかりませんでした)

女神転生における貫通属性ですが…
例えば炎属性であれば炎耐性を持っている相手には軽減されてしまいます。
しかし、貫通炎属性は相手が炎属性の弱点を持っている場合はそのまま弱点時の高い倍率でダメージを与え、
炎耐性を持っている相手には軽減されずにそのまま100%のダメージを与える、という完全上位互換の属性になります。

実現ですが、例えば炎属性と貫通炎属性の2つを作ることを考えていました。
敵の作成で、貫通炎耐性について弱点なら150%、それ以外は全て100%で設定すればいいのですが、
敵から味方が攻撃される場合だと成立しない場合があることに気づきました。
炎属性が150%の弱点を持っているアクターがいるとして、炎耐性を装備などで上げて仮に50%になったとき、貫通属性が150%で炎耐性は50%のようになってしまいます。かといって、貫通炎耐性も炎耐性に比例して同じように上げてしまうと必ず耐性が100%を下回ってしまうケースが出てきます。

何かい良い方法はないでしょうか。宜しくお願い致します。
最後に編集したユーザー deal [ 2024年11月02日(土) 14:12 ], 累計 1 回
アバター
剣崎 宗二
記事: 742
登録日時: 2016年11月12日(土) 20:36
連絡する:

Re: 女神転生の「貫通属性」作成したい

投稿記事 by 剣崎 宗二 »

要件を整理すると

「貫通属性を持っているスキルは、属性有効度計算に於いて必ず100%以上の有効度が保証される」

と私は理解しましたが、宜しいでしょうか?

若しもそうであれば、以下を新規プラグインとして入れてみてください。

コード: 全て選択

(() => {
    const tst_Game_Action_prototype_calcElementRate = Game_Action.prototype.calcElementRate;
    Game_Action.prototype.calcElementRate = function (target) {
        const baseRate = tst_Game_Action_prototype_calcElementRate.call(this, target);
        if (this.item().meta.pierce_element) {
            return Math.max(baseRate, 1);
        } else {
            return baseRate;
        }
    };
})();
貫通属性とするスキルは通常の属性を設定した上で、メモ欄に
<pierce_element>
としてみてください。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
deal
記事: 10
登録日時: 2021年11月07日(日) 11:37

Re: 女神転生の「貫通属性」作成したい

投稿記事 by deal »

剣崎 宗二 様

お疲れ様です。
わざわざプラグインを作成していただいて恐縮です。
仕様・動作ともに問題ありませんでした。

ありがとうございました。非常に助かりました!
返信する

“MZ:質問”に戻る