ページ 11

【解決済】変数を使ったダメージ計算式について

Posted: 2023年11月21日(火) 17:16
by はせがわ
お世話になっております。

リベンジ風のダメージ魔法を導入しようと(画像revenge_B.png)、
画像revenge_A.pngおよびrevenge_C.pngのようにしてみたところ、
変数を求めるところまではうまくいったのですが、実際にスキルを発動させた際、
ダメージは0表示になってしまいました(発生はしたが、変数の値になりませんでした)。

スキルの計算式に変数を置いただけではダメージが発生しないのでしょうか?

次善策として、revenge_D.png のようにしてみたところ、
こちらはきちんと変数の値で敵にダメージ(HP減)を与えることが出来ました。

それでも、スキルでそのままダメージにつなげられれば表示もスマートなので、
出来ればスキルからダメージを与えたいです。
アドバイスいただければ幸いです。

Re: 変数を使ったダメージ計算式について

Posted: 2023年11月21日(火) 18:54
by 名無し蛙
変数の表記の仕方が違う、んですけどそういえばMV/MZのヘルプにはどこにも書いていませんね。
VXAceから続く仕様ですがダメージ計算式中に変数を参照する場合は\V[index]ではなくv[index]と書きます。
勿論$gameVariables.value(index)でも構いません。

あとはまぁ重箱みたいですけど一時的に変数に代入せずとも1行に短縮可能なのが気になりますね
アロー関数式を活用する・計算式の都合上0未満になるのは有り得ないし
マイナスになってもツクール本体側のダメージ計算処理で修正されるのでカット等)

コード: 全て選択

$gameParty.members().reduce((total, actor) => total + (actor.mhp - actor.hp), 0)

Re: 変数を使ったダメージ計算式について

Posted: 2023年11月21日(火) 19:04
by はせがわ
.名無し蛙 さま
早速のリプライありがとうございます。
たったいまリトライしたところ、無事に差分ダメージを叩くことが出来ました!

>ダメージ計算式中に変数を参照する場合は\V[index]ではなくv[index]と書きます。
そういうことだったんですね…。教えていただいて、本当にありがとうございました…!
トピックは解決済みとさせてもらいます!

蛇足のようですが、別の方が立てていた、
「【解決】アクターが行動不能でも戦闘行動の強制を行いたい」のトピックでも、名無し蛙さんの
回答に助けてもらいました。横レスになりますが、ありがとうございました。