こんばんは。
先日は複数属性の平均値をフォーラムにて解決して頂きました、ありがとうございました。
今度は乗算の場合の計算式をご教示頂きたいです。
以下、質問文となります。
初期状態では武器に複数属性を設定した場合、
一番効果の高い属性が反映されます。
これをスクリプトで、複数属性の有効度の乗算を反映するように変更したいです。
例
攻撃側→武器属性[斬,火]
防御側属性有効度→斬[120%]火[120%]
この場合、1.2 * 1.2 = 1.44
の乗算で1.44倍のダメージ補正が反映されるようになってほしい。
#--------------------------------------------------------------------------
● 属性の最大修正値を取得する場合
def elements_max_rate(elements)
elements.inject([0.0]) {|r, i| r.push(element_rate(i)) }.max
end
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
● 属性の平均値を取得する場合
def elements_max_rate(elements)
elements.inject(0.0) {|r, i| r + element_rate(i)} / elements.size
end
#--------------------------------------------------------------------------
上記二つのスクリプトを例に、自分でも調べながら色々と弄ってみましたが思い通りになりません。
連日の質問となってしまいすみませんが、よろしくお願い致します。
【解決済み】Vx Ace 複数属性使用時の属性有効度について(乗算の場合)
【解決済み】Vx Ace 複数属性使用時の属性有効度について(乗算の場合)
最後に編集したユーザー pommpommB [ 2019年5月20日(月) 00:05 ], 累計 1 回
Re: Vx Ace 複数属性使用時の属性有効度について(乗算の場合)
pommpommBさん、こんにちは。
乗算ならこれで求めることができます。
乗算ならこれで求めることができます。
コード: 全て選択
elements.inject(1.0) {|r, i| r * element_rate(i) }
Re: Vx Ace 複数属性使用時の属性有効度について(乗算の場合)
ぽんぽこねるそんさん、こんにちは。
やりたかった通りにスクリプトが変更できました!
昨日に引き続きご回答いただき、誠にありがとうございました<(_ _*)>
やりたかった通りにスクリプトが変更できました!
昨日に引き続きご回答いただき、誠にありがとうございました<(_ _*)>