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

アバター
はせがわ
記事: 51
登録日時: 2019年9月04日(水) 14:40

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

投稿記事by はせがわ » 2023年11月21日(火) 17:16

お世話になっております。

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

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

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

それでも、スキルでそのままダメージにつなげられれば表示もスマートなので、
出来ればスキルからダメージを与えたいです。
アドバイスいただければ幸いです。
添付ファイル
revenge_D.png
revenge_C.png
revenge_B.png
revenge_A.png
最後に編集したユーザー はせがわ on 2023年11月21日(火) 19:05 [ 編集 1 回目 ]

名無し蛙
記事: 304
登録日時: 2015年11月23日(月) 02:46

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

投稿記事by 名無し蛙 » 2023年11月21日(火) 18:54

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

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

コード: 全て選択

$gameParty.members().reduce((total, actor) => total + (actor.mhp - actor.hp), 0)
アバター
はせがわ
記事: 51
登録日時: 2019年9月04日(水) 14:40

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

投稿記事by はせがわ » 2023年11月21日(火) 19:04

.名無し蛙 さま
早速のリプライありがとうございます。
たったいまリトライしたところ、無事に差分ダメージを叩くことが出来ました!

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

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

“MZ:質問” へ戻る