使用するたびに属性威力が強化/弱体するプラグイン

ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

使用するたびに属性威力が強化/弱体するプラグイン

投稿記事by ころあ » 2018年1月06日(土) 22:32

いつもお世話になっております。

現在制作しているゲームで
「使用するたびに同属性の威力が強化され、反対属性の威力が弱体する」
スキルを作りたくてリクエストさせていただきました。

次の内容を盛り込むことできればと思っております。

・属性ID1のスキルを使用した際に
 属性ID1のスキル全体の威力を〇%上昇させ、
 属性ID2のスキル全体の威力を〇%減少させたい。
 (例:ファイアⅠを使用すると火属性スキルの威力が上がり、氷属性スキルの威力が下がる)
・上昇または減少する数値をスキルごとに決定したい。
 (例:ファイアⅠ使用時は1%の上昇/減少幅だが、ファイアⅣ使用時は10%の上昇/減少幅となる)
・アクターごとに管理させたい。
 (例:アクターID1は属性ID1の威力が25%上がっているが、
    アクターID2は属性ID2の威力が10%上がっている)
・属性威力の上昇率に最大値/最小値を設定させたい
 (-50%未満にはならない/+50%を超えて上がらない、というイメージ)
・可能であればステータス画面に各属性の上昇率/減少率を表示させたい
 (他のプラグインとの関係もあると思いますのでこちらは難しいかもしれませんが・・・)

セルフ変数のプラグインなどを使って自身でやってみてはいるのですが、
当方がセルフ変数に不慣れであり、
アクター個別管理や最大値の設定などでつまづいてしまっております。

どうぞよろしくお願い致します。

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 使用するたびに属性威力が強化/弱体するプラグイン

投稿記事by フトコロ » 2018年1月07日(日) 00:40

こんにちは。

試してはいないのですが、以下のプラグインを組み合わせて実現できるかもしれません。
ただし、少々面倒です。

●FTKR_ItemSelfVariables.js(セルフ変数プラグイン)
https://github.com/futokoro/RPGMaker/bl ... bles.ja.md

●FTKR_ExVariablesChange.js(スキル使用時にセルフ変数を増減させるプラグイン)
https://github.com/futokoro/RPGMaker/bl ... ange.ja.md


1 各属性威力の増減値をセルフ変数で設定
各アクターのメモ欄に記載、とりあえず 0 を炎、1 を氷とする
<ISV セルフ変数[0]: 100>
<ISV セルフ変数[1]: 100>

2 炎スキルや氷スキルのダメージ計算式にセルフ変数を記載
例)炎スキルの場合
(a.atk * 4 - b.def * 2) * av[0] / 100

3 スキル使用時にセルフ変数を増減させる記述
各スキルのメモ欄に記載、炎スキルで、1%増減させる場合
<EVC 使用時>
av[0] += 1
av[1] -= 1
if (av[0] > 150) av[0] = 150
if (av[1] < 50) av[1] = 50
</EVC 使用時>

これで、炎の倍率が 150 を超えない(+50%を超えない)ようになり
氷の倍率が 50 を下回らない(-50%を下回らない)ようになると思います。


あと、以下のプラグインでアクターのFTKR_ItemSelfVariables.jsで導入したセルフ変数を
ステータス画面で表示可能です。

●FTKR_CustomSimpleActorStatus.js
https://github.com/futokoro/RPGMaker/bl ... atus.ja.md

●FTKR_CSS_DetailedStatus.js
https://github.com/futokoro/RPGMaker/bl ... atus.ja.md

1 FTKR_CustomSimpleActorStatus.jsのプラグインパラメータで
  カスタムパラメータにセルフ変数を設定
例)カスタムパラメータ5に炎の倍率、パラメータ6に氷の倍率を設定する場合
Custom 5 References に av[0] を入力
Custom 6 References に av[1] を入力

2 ステータス画面に上記パラメータを表示させる設定
FTKR_CSS_DetailedStatus.jsのDS Line2 Statusを以下に修正

param(2),param(3),param(4),param(5),param(6),param(7);custom(5),custom(6);equip(0),equip(1),equip(2),equip(3),equip(4)

このままだと、表示がつぶれると思うのでDS Space2の値で指定している空欄の広さを調整してみてください。
最後に編集したユーザー フトコロ on 2018年1月08日(月) 02:10 [ 編集 1 回目 ]
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

Re: 使用するたびに属性威力が強化/弱体するプラグイン

投稿記事by ころあ » 2018年1月08日(月) 00:55

>フトコロ様

ご返信、有難うございます。

ご教授いただいた内容とプラグインを試してみたところ、
セルフ変数の増減やステータス画面の反映はできたのですが

( a.mat * 12 - b.mdf * 2 ) * av[2] / 100
※セルフ変数のIDを2にしているのは属性威力調整を行う最初の属性IDが2であるという理由からです。
 (属性ID1は物理属性になっており、属性調整を行わない予定でおります)

と入力したところ、ダメージが0になってしまう現象に遭遇してしまいました。


プラグインのヘルプに
「<'iv[x]'と入力すると、必ずダメージを与えられなくなる場合>」
という内容があったので、これに関連するかもしれないと思い、

av[2] を aData._selfVariables._data[2] に置き換えても結果は一緒でした。

何か他の所に問題があるのでしょうか?
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: 使用するたびに属性威力が強化/弱体するプラグイン

投稿記事by フトコロ » 2018年1月08日(月) 01:43

av[2]の替わりに、以下の様に入力してもだめか確認してもらえますか?

(a.isActor() ? a.actor()._selfVariables._data[2] : 100)


ちなみに、競合している場合は、aData ではNGです。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
ころあ
記事: 51
登録日時: 2017年8月16日(水) 08:55

Re: 使用するたびに属性威力が強化/弱体するプラグイン

投稿記事by ころあ » 2018年1月08日(月) 02:02

フトコロ さんが書きました:av[2]の替わりに、以下の様に入力してもだめか確認してもらえますか?

(a.isActor() ? a.actor()._selfVariables._data[2] : 100)


ちなみに、競合している場合は、aData ではNGです。



ご助言のように設定したところ、無事にダメージ反映されるようになりました。
これで各キャラクターごとに得意属性の設定ができ、個性がつけられそうです。
本当に有難うございました。

“MV:プラグイン素材のリクエスト” へ戻る