ステートで絶対値のDOTダメージを設定する方法

トピックの投稿

返信へ
篠突く雨
記事: 9
登録日時: 2017年3月18日(土) 21:29

ステートで絶対値のDOTダメージを設定する方法

投稿記事 by 篠突く雨 »

こんにちは、お世話になります。
ツクールMVのステートでは、HP再生率の%設定しかできない為、絶対値でダメージを与える事ができないように思います。
自分のゲームでは、じわじわと時間をかけてダメージを与えるDOTダメージを与えるスキルを多数作りたいと思っていますが、HP再生率の%設定でこれを行うと、%の合計が33を超えたら3ターンで倒せるとか、そのような認識になってしまい、大味になってしまうような気がします。

説明が下手くそで、わかりにくいかも知れず申し訳ありませんが、
自分のやりたい事としては、対象の最大HPに関係なく、毎ターン〇〇ダメージを△ターンの間与えるスキルを作ることです。
デフォルトのスキル計算式のように代入でき、属性が設定できるのが望ましいです。
ですが、あまりにも色々望みすぎで、難しそうなので、絶対値でDOTが実装できれば、属性や計算式はなしで、固定値でもいいと思っています。

例1】ファイア…対象に、300ダメージを与え、追加効果火傷で5ターンの間20ダメージ
例2】サンダー…対象に、200ダメージを与え、追加効果電撃で5ターンの間50ダメージ
例3】ポイズン…対象に、猛毒効果で15ターンの間50ダメージ
この三種を受けている状態では、毎ターン120ダメージを受けることになり、同種のスキルのDOTダメージは効果時間中にさらに受けた場合、上乗せではなく上書きという形が望ましいです。

長くなってしまいましたが、このようなDOTダメージを実装するにはどうすれば良いかお知恵を拝借したいと思います。
やはり、このような高度な事をするには、プラグインを作っていただくしかないのでしょうか?
私自身、このようなプラグイン他何か方法がないかは、可能な限り探しましたが、見つかりませんでした。
何か方法がわかる方がいらっしゃいましたら、ご助力お願いいたします。

返信 2 / 2ページ

篠突く雨
記事: 9
登録日時: 2017年3月18日(土) 21:29

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by 篠突く雨 »

まっつUP様

何度もごめんなさい。ヘルプの説明と、返信を何度も見つつ試しているのですが、どうしても2種類以上のDOTダメージを同一エネミーに入れられません。ステートアイコンはつくのですが、1種類分のダメージ表記です。
以下のようにやっていますが間違っていますか?

プラグインパラメータのdamageHPの項目を36に設定。(これでどのステートIDでダメージを決定するか決める)
エネミーAの特徴でステートID36のステート有効度を500に設定。(これでエネミーAのDOTダメージが1つ500に決定される)
ステートID36に特徴でHP再生率+0%を設定。(必要ないかもしれませんが、36がDOT設定だという意味も込めて設定)
ステートID37に特徴でHP再生率+0%を設定。(DOT1 として利用)
ステートID38に特徴でHP再生率+0%を設定。(DOT2 として利用)
スキルAにステートID37を付与する効果を設定。
スキルB にステートID38を付与する効果を設定。
この状態でエネミーAにスキルA,Bを使っても、アイコンはステートA,Bともに表示されますが、
実際のダメージは500となり、表記だけでなく実際にそのダメージで計算されているようです(エネミーAのHPを1500にして確認 )

最初は固定ダメージとなるのがステートID36だけなのかと思ってましたが、
ダメージの参照にするIDだと理解したので、このような形にしました。
読解力がなく、何度も質問して申し訳ありません。
アバター
まっつUP
記事: 1149
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国
投稿素材

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by まっつUP »

「エネミーAの特徴でステートID36のステート有効度を500に設定」
の部分より下でステート有効度の操作が行われないので
再生時のタイミングで受ける固定ダメージは500ですね。
恐らくステートID37に特徴ステートID36のステート有効度 * 500%を入れたり
恐らくステートID38に特徴ステートID36のステート有効度 * 200%を入れたりすると
期待している動作になるんじゃないかとおもいますがどうでしょうか。

ちなみに、バトラーのステート有効度は特徴による指定がなければ本来100%ですが
パラメータで指定したIDのステート有効度は特徴による指定がなければ0です。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
篠突く雨
記事: 9
登録日時: 2017年3月18日(土) 21:29

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by 篠突く雨 »

まっつUP様

なるほど!ステートに指定IDの有効度を設定するという事だったんですね!
ご指摘の通り操作したところ、望んだとおりの挙動になりました。
この方法なら威力の違う複数のDOTスキルが制作できますし、
実際3種類のスキルでも合算してくれることを確認しました。
これで自分の思った通りのスキルが実装できます。

このたびは、素晴らしいプラグインと、迅速で的確な受け答えをありがとうございました。
こちらの理解力のなさで、何度もお手間をかけさせてしまい申し訳ありません。
作っていただいたプラグインは大切に使わせて頂きます。
そして、このプラグインは他の製作者様にも役立つと確信しております。
本当にありがとうございました!!
また何かわからない事や、ほかの質問などでお世話になることがあるかも知れませんが、
その際はまた、よろしくお願いします!!
カトウ
記事: 8
登録日時: 2017年8月31日(木) 20:41

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by カトウ »

スペースお借りします。
こちらのプラグインを是非お借りしたいのですが、
設定方法についてわからないことがありましたので質問をさせてください。
HPダメージ、MPダメージについてはうまく動作させることができたのですが、
HP再生の設定をしようとするとMPもいっしょに同じ固定値で回復してしまい、
MP再生はうまく動作させることができませんでした。
こちらのプラグイン以外のものはすべてオフで試験しております。
以下設定のスクリーンショットですが、もし間違っている部分があればご指摘願えましたら幸いです。
ステートで絶対値のDOTダメージを設定する方法 スクリーンショット2.png
ステートで絶対値のDOTダメージを設定する方法 スクリーンショット 1.png
アバター
Plasma Dark
記事: 740
登録日時: 2020年2月08日(土) 02:29
投稿素材
連絡する:

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by Plasma Dark »

プラグインのバグです。

コード: 全て選択

var RFregenemp = Number(parameters['regenehp'] || 31);
56行目がこうなってしまっていて、HPと同じ設定を参照しています。
以下のように直せば意図通りに動くんじゃないかと思います。

コード: 全て選択

var RFregenemp = Number(parameters['regenemp'] || 31);
カトウ
記事: 8
登録日時: 2017年8月31日(木) 20:41

Re: ステートで絶対値のDOTダメージを設定する方法

投稿記事 by カトウ »

Plasma Dark様

教えていただいた個所を修正しましたら、無事動作しました!
自分でもプラグインの内容を確認したのに気づかずお恥ずかしいです。
助けていただき、誠にありがとうございました!
返信する

“MV:質問”に戻る