1. このサイトではcookie (クッキー) を使用しています。サイトの利用を継続した場合、cookieの使用に同意したものとみなさせていただきます。 詳しくはこちらをご覧ください。

装備による属性やステート耐性上昇を%ではなく固定値にしたいのですが。

そこぬけ。2019-04-19に開始した「ツクールMV」の中の討論

    タグ:
  1. そこぬけ。

    そこぬけ。 ユーザー

    例えば『炎耐性100%のアクター』が『炎属性の威力を10%(設定では90%)下げる防具』を『2つ装備』したら『炎耐性81%』になります。
    『炎耐性150%のアクター』に『同じ防具を1つ装備』したとき『炎耐性135%』になります。

    これを基の数字が何であろうと、いくつ装備しようと10%なら10%だけ強化される装備にしたいのですが可能でしょうか?
    よろしくお願いします。
     
    #1
    ワタベ, リンクスこまどり乳酸菌 がいいね!しています
  2. 神無月サスケ

    神無月サスケ ユーザー

    これはプラグインを作れば可能でしょうが、ひとつ仕様上の問題があります。
    耐性を増減させる装備を複数装備した時、どの耐性の値が優先されるのか、分かりません。

    よって、どういう目的でこのような装備が必要なのか、詳しく教えてくれませんか。
    もしかしたら、お力になれるかもしれません。
     
    #2
    ワタベこまどり乳酸菌 がいいね!しています
  3. そこぬけ。

    そこぬけ。 ユーザー

    返信ありがとうございます。

    目的としては、属性やステートに耐性のある名前の似た防具一式(例えば炎の盾、炎の鎧のようなもの)があって、それを複数装備することで防具の効果を分かりやすくし、戦闘中にどれほどの影響力があるのかを視認しやすくしたいと考えていました。
    装備するアクターによってその影響力が違うというのは、プレイヤーからしたら分かりづらく不親切だと思い相談させていただきました。
     
    #3
    リンクス がいいね!しました
  4. 神無月サスケ

    神無月サスケ ユーザー

    早速作成いたしました。以下をコピー&ペーストしてプラグインを作ってください。
    PHP:
    (function() {
      
    Game_BattlerBase.prototype.elementRate = function(elementId) {
        return 
    this.traitsSum2(Game_BattlerBase.TRAIT_ELEMENT_RATEelementId);
      };

      
    Game_BattlerBase.prototype.traitsSum2 = function(codeid) {
        return 
    this.traitsWithId(codeid).reduce(function(r, trait) {
          return 
    + trait.value 1;
        }, 
    1);
      };
    })();
    これなら、例えば、80%の耐性がふたつあると、-20%×2となり、60%の耐性になります。
    これがあなたのお望みのものであることを願います。
     
    #4
    プハリコ, U-D, アストラル他2人がいいね!しています
  5. そこぬけ。

    そこぬけ。 ユーザー

    おお、ありがとうございます。
    そうです。こういうのが欲しかったんです。
    迅速な対応ありがとうございました。
     
    #5
    神無月サスケリンクス がいいね!しています

このページを共有