【解決済み】最終ダメージ量をn倍したい

kaizu
記事: 7
登録日時: 2020年8月01日(土) 21:42

【解決済み】最終ダメージ量をn倍したい

投稿記事by kaizu » 2020年8月03日(月) 22:42

はじめまして。表題の件での質問です。このようなステートを追加したいです。
自分なりに調べてみたのですが結局わからずじまいで考え方を教えてほしいです。
以下に詳しい仕様を示します。

ステート【ダメージアップ状態】(適当なステートアイコンを表示。)
3ターンの間、相手にあたえる最終ダメージ量が25%増加する。
重ねがけ時、残りターン数が3になる。増加量は変更なし。

ステート【ダメージカット状態】(適当なステートアイコンを表示。)
3ターンの間、自分が受けるダメージが20%減少する。
重ねがけ時、残りターン数が3になる。減少量は変更なし。


スキルのダメージ計算に攻撃力と防御力を使用してダメージ量を出しているのですが、
それとは別に最終的に自分があたえるダメージ(=相手が受けるダメージ)量に0.8または1.25をかけ算する
ようなステートを実装したいです。
つまり自分がダメージアップ状態でダメージカット状態の敵に攻撃すると威力は等倍になるという仕様です。

(ダメージ計算式)×分散×Da×Dc
Da→攻撃する者がダメージアップ状態の時、1.25。それ以外は1
Dc→攻撃を受ける者がダメージカット状態の時は0.8、それ以外は1

この定数かけ算処理はツクールの分散度計算(乱数)の前でも後でも構いません。
どのように実現すればよいか、教えていただきたいです。よろしくお願いします。
最後に編集したユーザー kaizu on 2020年8月07日(金) 22:33 [ 編集 1 回目 ]

sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: 最終ダメージ量をn倍したい

投稿記事by sally » 2020年8月05日(水) 18:08

簡単な方法ですと、全てのスキルに属性:ダメージ倍率を設定し、
そちらをステートで変動させる方法があります。
ただしこの場合、攻撃時属性が二つ以上あると属性有効度の高い方が優先されてしまうので、
この計算を変更するプラグインとの併用が必要となる場合があります。

もしくは戦闘計算式にステート / 耐性有効度を入れることが可能ですので、
たとえば「ダメージ倍率(ID:10)」という計算式でのみ使う属性を設定し、
ステート:ダメージアップではこの有効度を125%、カットでは80%と設定し、計算式を
【通常ダメージ計算】 *(a.element_rate(10) * b.element_rate(10))
とすればOKなはずです。
欠点としては全てのスキルに入れる必要があるため、多少面倒です。

有効度は
element_rate(x):属性IDxの有効度
state_rate(x):ステートIDxの有効度

となります。

また、重ね掛けについては該当ステートの効果を3ターンにし、
付与スキルで解除→付与の順番で使用効果に設定すれば可能なはずです。
kaizu
記事: 7
登録日時: 2020年8月01日(土) 21:42

Re: 最終ダメージ量をn倍したい

投稿記事by kaizu » 2020年8月07日(金) 21:56

ありがとうございます!これを参考にしてほとんど近い形で実装できました!
途中かなりてこずりましたが...ともかく、本当にありがとうございます!

“MV:質問” へ戻る