★解決済み★スキルの命中に対象の回避率依存レート

アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

★解決済み★スキルの命中に対象の回避率依存レート

投稿記事by トウカ » 2017年7月22日(土) 18:14

こんにちは。いつもお世話になります。

スキルのメモタグなどで
<回避依存:value> のように、スキル側に『対象の回避の反映度』を設定する方法、またはプラグインをご教授いただけませんでしょうか。

使用者の命中100 対象の回避50 だとして、
<回避依存:25> のタグをつけたスキルの命中が100% の場合、
最終的な命中率は100% 回避率は12.5 になるようなものです。

似たものとしましては、
viewtopic.php?f=49&t=3341
こちらで見かけた、まっつUP様のプラグインがありましたが、固定値を加算する処理でしたので少々理想とは違いました。
固定値での命中率追加システムは重宝しており大変感謝です!

システムを参考させていただき、なんとか追加要素で実装を試みたのですが上手くいかず手詰まったので助けを求めに参りました・・・
どなたかよろしくお願いします!
最後に編集したユーザー トウカ on 2017年7月22日(土) 22:51 [ 編集 1 回目 ]

アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: スキルの命中に対象の回避率依存レート

投稿記事by まっつUP » 2017年7月22日(土) 19:26

トウカ様
お世話になります。

拙作のプラグインのご利用ありがとうございます。
回避率だけノートタグの値を乗算させるようにしたい場合は
var text = 'HO追加回避';のあとに
if(this.isHOskip(rate)) return rate;
var value = Number(this.item().meta[text] || 0) / 100;
value *= rate;
return value;
を加えるとよいと思います。
追記:全部乗算にしたい場合は単純にvalue += rateをvalue *= rateにするとよいと思います。
RPGで笑顔を・・・

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

github
https://github.com/mattuup/RPGMakerMZ
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: スキルの命中に対象の回避率依存レート

投稿記事by トウカ » 2017年7月22日(土) 21:06

>>まっつUP様

アドバイスありがとうございます!
すみません、もう少し質問させてください・・・!

if (this.isPhysical()) {
var text = 'HO追加回避';
} else if (this.isMagical()) {
var text = 'HO追加魔法回避';
} else {
return rate;
}

の時点で『タグがあるかどうか』をチェックするに記述法を教えていただけませんでしょうか。
乗算の式にした時にあらゆるスキル、アイテムが判定されてしまい、タグのないものはすべて命中、回避が0の判断をされてしまいまして・・・

動作チェックでの原因判明に思いの外時間がかかり、ご連絡が遅れてすみません。
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: スキルの命中に対象の回避率依存レート

投稿記事by トウカ » 2017年7月22日(土) 21:11

追加です

Game_Action.prototype.HOscore = function(rate, text) {
if(this.isHOskip(rate)) return rate;
var value = Number(this.item().meta[text] || 0) / 100;
value *= rate;
return value;
};

の中で
if (該当するどれかのタグがある場合){
value *= rate;
}else{
value += rate;
};

て感じに、ここで判定でもいいかもです。。。?
関係ないタグには反応しないように、かつ、ちゃんと命中や回避のよりわけが出来るのか心配ですけど!
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: スキルの命中に対象の回避率依存レート

投稿記事by まっつUP » 2017年7月22日(土) 22:07

すみません、間違えてました。
value *= rate;の上に
if(!value) return rate;を追加すればいけると思います。
RPGで笑顔を・・・

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

github
https://github.com/mattuup/RPGMakerMZ
アバター
トウカ
記事: 22
登録日時: 2017年7月08日(土) 01:28

Re: スキルの命中に対象の回避率依存レート

投稿記事by トウカ » 2017年7月22日(土) 22:51

あぁー!なるほど!!

これでvalueに何もない場合はrateのみで返せるんですね。
動作確認完了しました。
ほんといつも助けてくださりありがとうございます!

“MV:質問” へ戻る