初めまして、ご教授いただければと思い質問させていただきます。
「HPが少ないほど攻撃力が上がる」ステートを作成したいのですが
何か良い方法がありましたら教えてください。
よろしくお願いいたします。
HP量で効果が変動するステートについて
Re: HP量で効果が変動するステートについて
こんにちは、シャッチョさん。
私も似たようなものを作っていたので、よろしければ参考にどうぞ^^
<用意するもの>
・PNDK_FloatingPointVariables
・MultiStackState
・MeetsConditionsByComment
・FTKR_ExVariablesChange(必須ではないがあったほうが楽)
・YEP_BaseTroopEvents(必須ではないがあったほうが楽)
<手順> ※上記プラグイン全て使用した場合です
1、「HPが少ないほど攻撃力が上がる」ステートを作成
→特徴に攻撃力の上昇値を設定(110%くらいが無難)
→「戦闘終了時に解除」のボックスにチェックを入れる
→メモ欄に「<maxstack:10>」と記入
2、わかりやすい名前のコモンイベントを作成
→「現在HPが最大値の何割か」の分岐の数字は、HPが何割以下になったら発動するかを指定
※必ず発動割合が大きいほうを上に書くこと
→付加するステートの数を増やせば増やすほど効果が重複して大きくなる
3、敵グループのバトルイベントを設定
→ID0001のバトルイベント1ページ目を「条件:ターン0 スパン:バトル」に設定
→ID0001のバトルイベント2ページ目を「条件:実行しない スパン:モーメント」に設定
→ID0001のバトルイベント3ページ目を「条件:実行しない スパン:モーメント」に設定
4、3で作成したバトルイベントを全バトルで適用させる
→「YEP_BaseTroopEvents」のパラメータで3で作成したバトルイベントを指定
5、味方/敵の攻撃時に変数を操作させる
→「FTKR_ExVariablesChange」のパラメータで「--アイテム・スキル使用時--」の
「Use」に「v[5] = 1」と記入
※v[5]は変数5「行動済み」のこと
<注意点>
・コモンイベントで設定するステートはコモンイベントごとに独立させること
※コモンイベント1で使ったステートをコモンイベント2で使ってはいけない、ということ
パッと見複雑ですが、一度なにやってるか理解すれば様々な応用が利きます。
こんな感じでどうでしょうか?
プラグインを作れず力押しの解決でごめんなさい。
私も似たようなものを作っていたので、よろしければ参考にどうぞ^^
<用意するもの>
・PNDK_FloatingPointVariables
・MultiStackState
・MeetsConditionsByComment
・FTKR_ExVariablesChange(必須ではないがあったほうが楽)
・YEP_BaseTroopEvents(必須ではないがあったほうが楽)
<手順> ※上記プラグイン全て使用した場合です
1、「HPが少ないほど攻撃力が上がる」ステートを作成
→特徴に攻撃力の上昇値を設定(110%くらいが無難)
→「戦闘終了時に解除」のボックスにチェックを入れる
→メモ欄に「<maxstack:10>」と記入
2、わかりやすい名前のコモンイベントを作成
コード: 全て選択
◆条件分岐:(アクター名)が(ステート名)になっている
◆変数の操作:#0001 最大HP = (アクター名)の最大HP
◆変数の操作:#0002 最大HPの一割 = $gameVariables.value(1) / 10
◆変数の操作:#0003 現在のHP = (アクター名)のHP
◆変数の操作:#0004 現在HPが最大値の何割か = $gameVariables.value(3) / $gameVariables.value(2)
◆条件分岐:現在HPが最大値の何割か ≤ 5
◆ステートの変更:(アクター名), - (ステート名)
◆ステートの変更:(アクター名), + (ステート名)
◆
:分岐終了
◆条件分岐:現在HPが最大値の何割か ≤ 2
◆ステートの変更:(アクター名), - (ステート名)
◆ステートの変更:(アクター名), + (ステート名)
◆ステートの変更:(アクター名), + (ステート名)
◆
:分岐終了
◆
:分岐終了
→「現在HPが最大値の何割か」の分岐の数字は、HPが何割以下になったら発動するかを指定
※必ず発動割合が大きいほうを上に書くこと
→付加するステートの数を増やせば増やすほど効果が重複して大きくなる
3、敵グループのバトルイベントを設定
→ID0001のバトルイベント1ページ目を「条件:ターン0 スパン:バトル」に設定
コード: 全て選択
◆コモンイベント:(2で作ったコモンイベント)
→ID0001のバトルイベント2ページ目を「条件:実行しない スパン:モーメント」に設定
コード: 全て選択
◆注釈:BattleManager._action
: :&& BattleManager._action._subjectActorId === 0
: :&& BattleManager._action._item._dataClass == "skill"
: :&& $gameVariables.value(5) === 1
◆コモンイベント:(2で作ったコモンイベント)
◆変数の操作:#0005 行動済み = 0
→ID0001のバトルイベント3ページ目を「条件:実行しない スパン:モーメント」に設定
コード: 全て選択
◆注釈:BattleManager._action
: :&& BattleManager._action._subjectActorId != 0
: :&& BattleManager._action._item._dataClass == "skill"
: :&& $gameVariables.value(5) === 1
◆コモンイベント:(2で作ったコモンイベント)
◆変数の操作:#0005 行動済み = 0
4、3で作成したバトルイベントを全バトルで適用させる
→「YEP_BaseTroopEvents」のパラメータで3で作成したバトルイベントを指定
5、味方/敵の攻撃時に変数を操作させる
→「FTKR_ExVariablesChange」のパラメータで「--アイテム・スキル使用時--」の
「Use」に「v[5] = 1」と記入
※v[5]は変数5「行動済み」のこと
<注意点>
・コモンイベントで設定するステートはコモンイベントごとに独立させること
※コモンイベント1で使ったステートをコモンイベント2で使ってはいけない、ということ
パッと見複雑ですが、一度なにやってるか理解すれば様々な応用が利きます。
こんな感じでどうでしょうか?
プラグインを作れず力押しの解決でごめんなさい。
Re: HP量で効果が変動するステートについて
ぼた餅様 ありがとうございます!
ツクールMVを始めて、まだ日が浅いので
導入に時間がかかりそうですが
ご教授いただいた方法で完成にこぎつけたいと思います。
お忙しい中、本当にありがとうございました!
ツクールMVを始めて、まだ日が浅いので
導入に時間がかかりそうですが
ご教授いただいた方法で完成にこぎつけたいと思います。
お忙しい中、本当にありがとうございました!
Re: HP量で効果が変動するステートについて
こんにちは。
プラグインを試作してみました。
●FTKR_ExTraitSetting.js
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_ExTraitSetting.js
ステートの特徴の1行目に「通常能力値、攻撃力、数値はなんでもOK」を設定し
メモ欄に以下の記述を追加してください。
これで、減少したHPの%分の数値の攻撃力を上昇させるステートになります。
例えば、残りHPが 60% の場合、攻撃力が 40 上昇します。
なお、特徴:0の「0」は、特徴欄の1行目を0とした並び順の数字です。
a.hpRate() はそのステートを受けているキャラの残りHPの比率を意味します。
なお、計算の部分で プラスを設定しているので、40が加算しますが
これを掛け算 (*) にすると、掛け算で計算されます。(上記の計算式の場合、40倍になります)
掛け算ならこんな感じですね。
これで、減ったHPの%分攻撃力を積算して上昇させます。
例えば、10%HPが減れば、攻撃力が 110%になります。
追記
プラグインに不具合があったので、v1.0.1に上げています。
プラグインを試作してみました。
●FTKR_ExTraitSetting.js
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_ExTraitSetting.js
ステートの特徴の1行目に「通常能力値、攻撃力、数値はなんでもOK」を設定し
メモ欄に以下の記述を追加してください。
コード: 全て選択
<ETS_特徴:0>
数値:Math.floor((1 - a.hpRate()) * 100)
計算:+
</ETS_特徴>
これで、減少したHPの%分の数値の攻撃力を上昇させるステートになります。
例えば、残りHPが 60% の場合、攻撃力が 40 上昇します。
なお、特徴:0の「0」は、特徴欄の1行目を0とした並び順の数字です。
a.hpRate() はそのステートを受けているキャラの残りHPの比率を意味します。
なお、計算の部分で プラスを設定しているので、40が加算しますが
これを掛け算 (*) にすると、掛け算で計算されます。(上記の計算式の場合、40倍になります)
掛け算ならこんな感じですね。
コード: 全て選択
<ETS_特徴:0>
数値:1 - a.hpRate()
計算:*
</ETS_特徴>
これで、減ったHPの%分攻撃力を積算して上昇させます。
例えば、10%HPが減れば、攻撃力が 110%になります。
追記
プラグインに不具合があったので、v1.0.1に上げています。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md
検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
Re: HP量で効果が変動するステートについて
>フトコロ様
素晴らしいプラグインを作成いただき、本当にありがとうございます!
ぜひ使わせていただきます!!
素晴らしいプラグインを作成いただき、本当にありがとうございます!
ぜひ使わせていただきます!!