【解決済み】ダメージ計算式

返信する
パンダパン
記事: 15
登録日時: 2019年8月08日(木) 13:14

【解決済み】ダメージ計算式

投稿記事 by パンダパン »

初歩的な質問ですが、意図した挙動を起こせないのでアドバイスや解決策をいただきたいです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * 20
[20]の部分はスキルの威力を表したものです。
このダメージ計算式を基本とし、使用者の 防御 & 魔法力 & 魔法防御 & 敏捷性 & 運 のステータスを合算し
スキルの威力(20の部分)に加算して計算する式を試みて以下のような式を書きましたが、ダメージが0になってしまいます。
例えば合算値が[500]なら / 32 で 15.6...となり、スキル威力が加算されて20→35.6...になるイメージです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk / 32 ) )
どの部分の順序が誤っているなどの問題点や、正しく動作する書き方をご存じの方がいらっしゃいましたら教えてくださると幸いです。
最後に編集したユーザー パンダパン [ 2024年12月11日(水) 01:36 ], 累計 1 回
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: ダメージ計算式

投稿記事 by WTR »

合計を 32 で割りたいなら

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk) / 32 )
こうだと思うんですが
もとのままでも a.atk / 2 > b.def / 4 なら 0 にはならない気がします。
なんででしょう…

新規 PJ でやってみた限りは上記の式でもちゃんとダメージが通りました。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
ecf5DTTzl6h6lJj02
記事: 715
登録日時: 2018年12月23日(日) 13:55

Re: ダメージ計算式

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
パンダパン さんが書きました:初歩的な質問ですが、意図した挙動を起こせないのでアドバイスや解決策をいただきたいです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * 20
[20]の部分はスキルの威力を表したものです。
このダメージ計算式を基本とし、使用者の 防御 & 魔法力 & 魔法防御 & 敏捷性 & 運 のステータスを合算し
スキルの威力(20の部分)に加算して計算する式を試みて以下のような式を書きましたが、ダメージが0になってしまいます。
例えば合算値が[500]なら / 32 で 15.6...となり、スキル威力が加算されて20→35.6...になるイメージです。

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk / 32 ) )
どの部分の順序が誤っているなどの問題点や、正しく動作する書き方をご存じの方がいらっしゃいましたら教えてくださると幸いです。
WTR さんが書きました:合計を 32 で割りたいなら

コード: 全て選択

(a.atk / 2 - b.def / 4 ) / 6 * ( 20 + (a.def + a.mat + a.mdf + a.agi + a.luk) / 32 )
こうだと思うんですが
もとのままでも a.atk / 2 > b.def / 4 なら 0 にはならない気がします。
なんででしょう…

新規 PJ でやってみた限りは上記の式でもちゃんとダメージが通りました。
WTR さんのおっしゃっている通りで、
上がっているコードをそのまま入力する限りは、
ダメージが 0 になることはまずないと思うんです( (a.atk / 2 - b.def / 4) / 6 が 1 / 威力 未満になるなら別です)が、
実際にダメージ計算式に入力されているコードにどこか打ち間違いとかないでしょうか?
ダメージ計算式でエラーが発生する場合、 計算結果が 0 になってしまいます。
パンダパン
記事: 15
登録日時: 2019年8月08日(木) 13:14

Re: ダメージ計算式

投稿記事 by パンダパン »

こんばんは。
WTR さん
ecf5DTTzl6h6lJj02 さん

ご回答ありがとうございます。
WTRさんの記載していただいた計算式で無事意図している挙動を確認できました。
再度使用していた式の方を確認しましたが、 atk > def も問題なくエラーの原因が結局わからないままですが……括弧の数が足りてなかったくらいしか思いつかないですね。

ともあれ非常に助かりました。ありがとうございました!
返信する

“MZ:質問”に戻る