ページ 11

【解決済】ダメージが思ったとおりの数値になりません

Posted: 2019年4月04日(木) 21:07
by Hatu10700
こんにちは!

件名のとおりですが、ダメージが想定通りの数値になりません。

状況は……
アクター(攻撃力58、職業と武器の特徴に両方「攻撃時属性:物理(IDは1)」)が、
敵キャラ(防御力10、属性有効度:氷50% 炎150%)に通常攻撃をしました。
通常攻撃用のスキルは「HPダメージ、属性:通常攻撃」、
計算式は「( a.atk * 10 - b.def * 8 ) * b.elementRate(1)、分散度10%」です。
この場合ダメージは450~550になると考え、この条件で攻撃をしてみたところ、与えたダメージは463~531でした。
データの数が少ないので正確かはわかりませんが、だいたいあってると言えると思います。

そして、スキル(ステート)によってアクターに「攻撃時属性:炎」を付与すると、
1.5倍の675~825になると考えて、同じように試してみたところ、684~812でした。
これもだいたいあってると言えると思います。

しかし、同じくスキル(ステート)によってアクターに「攻撃時属性:氷」を付与すると、
ダメージは半分の225~275になると思ったのですが、出たダメージは458~525でした。
属性を付与せずに攻撃した時と変わりません。
他の「属性:通常攻撃」のスキルでも試してみたのですが、どれも属性を付与してないときと同じダメージしか出ませんでした。

できれば予測通り、属性有効度によって半減したダメージを与えられるようにしたいのですが……
どうすればできるのでしょうか?
また、どうしてこういうことが起こったのでしょうか?

必要そうな情報はすべて書いたつもりですが、不足があればご指摘ください!

Re: ダメージが思ったとおりの数値になりません

Posted: 2019年4月04日(木) 23:23
by 剣崎 宗二
お疲れ様です。

攻撃属性「通常攻撃」の場合、扱いが他の技とは少し異なります。
属性「通常攻撃」は、「自身に付与されている攻撃時属性の内、相手に最も有効な属性(=有効度が最も高い属性)」を攻撃属性として適用するのが、ツクールMVのデフォルト動作です。
なので、ご提示いただいたケースは、単に本体に付与されている「攻撃時属性:物理」が適用されている物かと思われます。

行われている事を観察するにご希望の動作は恐らく「ステート>装備>本体」の優先度で攻撃時属性を適用したいとの事でしょうが、これをやるにはプラグイン改造が必要となります。
(Game_BattlerBase.prototype.attackElements 或いはGame_Actor.prototype.attackElements等)

Re: ダメージが思ったとおりの数値になりません

Posted: 2019年4月04日(木) 23:24
by 剣崎 宗二
すみません。少し読み間違えていたので訂正です。
b.elementRate(1)が既に攻撃式内にあるので、
職業と武器の特徴に両方「攻撃時属性:物理(IDは1)
こちらを消去すれば問題ないかと考えます。

Re: ダメージが思ったとおりの数値になりません

Posted: 2019年4月05日(金) 09:51
by Hatu10700
試してみたところちゃんとダメージが減りました!
通常攻撃の場合はもっとも有効な属性が適用されるんですね。覚えておきます!

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