ページ 1 / 1
レベル補正について
Posted: 2018年5月11日(金) 23:07
by モートン
いつもお世話になります。
敵にレベルをつけてレベル補正を実装したいです。
「自分のレベル-敵のレベル」で計算し出た数値によって補正(計算結果が5の場合は1.05倍とか)を
かける感じにしたいのですがどうすればいいのでしょう?
①敵にレベルをつける(スライムならレベル1とか)
②「自分のレベル-敵のレベル」を計算し値を出す
③値を参照して補正倍率を決める
といった工程になるでしょうか?
そもそも敵にレベルを入れるにはどうしたらいいかすら分かりません。
ご教授お願いします。
Re: レベル補正について
Posted: 2018年5月13日(日) 15:11
by ぼた餅
こんにちは、モートンさん
属性に「敵レベル」を作り、その有効度をレベルとして使う方法はいかがでしょうか?
たとえば有効度1%ならレベル1、80%ならレベル80…といった具合です。
計算式は
a.level - b.elementRate(属性ID) * 100
↑で「自分のレベル-敵のレベル」が取得できます。
なのでレベル補正だと
(スキルの基本計算式) * (a.level - b.elementRate(属性ID) * 100 >= 0 ? (1 + (a.level / 100 - b.elementRate(属性ID))) : 1)
↑みたいな感じになると思います。(試してないので動かなかったらご指摘ください)
Re: レベル補正について
Posted: 2018年5月13日(日) 20:29
by モートン
>ぼた餅さん
ありがとうございます。
属性を使ってレベルを表現するのは理解できました。
ですが、
a.level - b.elementRate(属性ID) * 100の値を参照して
倍率を決めたいのです。
値が1だから1%の補正ではなく以下の通りにしたいのです。
例
a.level - b.elementRate(属性ID) * 100の結果が6のとき+1%の補正、
a.level - b.elementRate(属性ID) * 100の結果が0~5のとき補正なし、
a.level - b.elementRate(属性ID) * 100の結果が-1のとき-4%の補正、
a.level - b.elementRate(属性ID) * 100の結果が-2のとき-7%の補正、
a.level - b.elementRate(属性ID) * 100の結果が-3のとき-10%の補正、
a.level - b.elementRate(属性ID) * 100の結果が-4のとき-13%の補正、
とレベル差の値ごとに補正を決めておきたいのです。レベル差表は添付ファイルにあります。
分かりにくくて申し訳ありません。
よろしくお願いします。
Re: レベル補正について
Posted: 2018年5月13日(日) 22:26
by ぼた餅
モートンさん
nが正の数なら
コード: 全て選択
(a.level - b.elementRate(属性ID) * 100 >= 15 ? 1.1 : (a.level - b.elementRate(属性ID) * 100 <= 5 ? 1 : (0.95 + (a.level / 100 - b.elementRate(属性ID)))))
こんな感じでしょうか。
こんな感じに負の数の場合も書いて、三項演算子の「正の数の場合」と「負の数の場合」にそれぞれ当てはめてみてください。
それをスキルの基本計算式の後ろに乗算で足せばレベル差による補正がかかると思います。
Re: レベル補正について
Posted: 2018年5月14日(月) 05:15
by しゃけいぬ
そんな分かり難いことしなくても
変数でレベル設定
ターン0で
レベル差判定
条件分岐で敵に全パラ105%とかのステートを付与
これで補正完了
Re: レベル補正について
Posted: 2018年5月14日(月) 20:05
by モートン
返信が遅れて申し訳ありません。
>ぼた餅さん
ご教授ありがとうございます。
早速使おうと思ったのですが通常攻撃ですら長い式となってしまい全部入れることができません。
レベル補正の式を直接入れるのではなく、プラグイン等で設定して入れるべきだと思いました。
>しゃけいぬさん
ご教授ありがとうございます。
変数で管理するのはいいですね。
でも全ての敵一体ずつにレベルを設定したいので自分がやりたいようなことができません。
申し訳ありません。
レベル補正はダメージ技だけでなくデバフをかける補助技にもその値を命中率として
追加したいので難しいところです。
現在プラグインを使って実装できるか模索中です。
Re: レベル補正について
Posted: 2018年5月15日(火) 02:45
by 奈々(なな)
はじめまして。横から失礼します。
手順としてはシンプルに
①敵レベルというパラメータを追加する
②戦闘計算部分を改造して、条件分岐して威力・命中率に補正を掛ける
という感じですかね。
難しくしているのは
・補正値が単純な計算式ではなく、条件式なこと
・レベルは個人vs個人で比べること
ですね。
上の理由でぼた餅さん、下の理由でしゃけいぬさんの案がNGなのかと。
なにより質問者さんの中で
独自の仕様・計算式が細かく決まって妥協できないようなので
(それ自体はとても良いことだと思いますが)
素直に1から作っていくしかないと思いますよ。