ページ 11

【解決済み】特徴のパラメータの倍率について

Posted: 2018年12月12日(水) 17:54
by るーるー
お世話になっております。

[パラメータ補正の仕様について]
viewtopic.php?t=3777
上記トピックの改造を行ったのですが、特徴のパラメータを使用しての能力値減少が実装できずに困っております。

やりたいこととしては、
・一部装備での能力値割合減少
・ステートによる能力値デバフ
を実装したいと考えております。
上記トピックの仕様を変更せずに特徴のパラメータで能力値減少を行うことは可能でしょうか?
もしくはプラグインの改造方法を教えていただけないでしょうか?

どなたか助言をいただけるとありがたいです。
よろしくお願いいたします。

Re: 特徴のパラメータの倍率について

Posted: 2018年12月14日(金) 20:21
by フトコロ
こんにちは。

そのトピックで回答をしましたが
あの記述のままですと減らす処理は難しいです。

こんな感じにすれば、実現できると思います。
データベースで100と入力した時に、計算上では 0% とみなして
100以上で増加、100未満で減少します。

コード: 全て選択

(function(){
Game_BattlerBase.prototype.paramRate = function(paramId) {
    return 1 + this.traitsSumB(Game_BattlerBase.TRAIT_PARAM, paramId);
};

Game_BattlerBase.prototype.traitsSumB = function(code, id) {
    return this.traitsWithId(code, id).reduce(function(r, trait) {
        return r + trait.value - 1;
    }, 0);
};
}());

【解決済】Re: 特徴のパラメータの倍率について

Posted: 2018年12月15日(土) 10:12
by るーるー
フトコロさん
回答有り難うございます!
特徴のパラメータでステータスを減算することができました。

Game_BattlerBase.TRAIT_PARAMが1以上の時は
1 + this.traitsSum(Game_BattlerBase.TRAIT_PARAM, paramId);
Game_BattlerBase.TRAIT_PARAMが1未満の時は
1 - this.traitsSum(Game_BattlerBase.TRAIT_PARAM, paramId);
と記述していたのですが、
2個目の装備から1以上の値が帰ってきて完全にお手上げ状態でした。

ありがとうございました!