パーティー全体に影響を及ぼすパッシブスキル

ゆきねこ
記事: 3
登録日時: 2021年3月07日(日) 17:38

パーティー全体に影響を及ぼすパッシブスキル

投稿記事by ゆきねこ » 2021年3月07日(日) 17:55

「パーティー全員の攻撃力〇%アップ」や、「パーティー全員の属性耐性〇%アップ」などのパッシブスキルを作りたいです。
作ろうとしているゲームではキャラ数が多く、自分で自由にパーティー編成出来るようにしようと考えています。
それなのでちゃんとパーティーにそのキャラがいる時のみパッシブスキルが発動するようにしたいです。
まだ始めたばかりで分からないことが多いので事細かく教えてくれると嬉しいです。

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

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by sally » 2021年3月16日(火) 13:40

ざっくり探した限りですと、MZ のみならずMVでもその機能を再現したプラグインはありませんでした。
海外は探していませんが、おそらく同様かと思います。

何故無いのか、についてはおそらく習得アクター以外に影響を及ぼすという点がネックなのだとは思いますが、詳細は不明です。

ステートを利用したものであれば…と思いましたが、ツクールでは戦闘不能ですべてのステートが強制解除されるため、これもデフォルト機能だけだと不可能です。
プラグインコマンド以外で絶対に解除されないステートを指定できるプラグインがあれば可能ですが、現状、MZにはそのようなプラグインはありません。

結論、もし必要な場合はプラグインの作成依頼をされた方がよいかと思います。
アバター
Plasma Dark
記事: 668
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by Plasma Dark » 2021年3月16日(火) 15:53

何故無いのか、についてはおそらく習得アクター以外に影響を及ぼすという点がネックなのだとは思いますが、詳細は不明です。


単純に汎用的にするのが面倒なだけじゃないかなあと思います。
各ステータスを固定値で上昇させるか割合で上昇させるか、だけでも組み合わせで結構な数になりますし。

参考までに、パーティ全員の最大HPが10上がるスキルを実現するサンプルプラグインを置いておきます。

コード: 全て選択

(() => {
  'use strict';
  const SKILL_ID = 10;

  const _Game_Actor_param = Game_Actor.prototype.param;
  Game_Actor.prototype.param = function (paramId) {
    return _Game_Actor_param.call(this, paramId) + this.skillParam(paramId);
  };

  Game_Actor.prototype.skillParam = function (paramId) {
    if (paramId === 0) return $gameParty.allMembers().filter(actor => actor.hasSkill(SKILL_ID)).length * 10;
    return 0;
  };

})();
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by ムノクラ » 2021年3月16日(火) 16:20

この要望に近そうなのが下記プラグインかなー(初心者が使いこなすのは難しいと思います)と思います。

▼動的データベース(トリアコンタン様作) - DynamicDatabase.js
https://plugin-mz.fungamemake.com/archives/1270
データベースの各項目を動的な値に変更するプラグインです。

実験的にアクターが居るかどうかで他のアクターの特徴が変化するか試したらエラーになってしまいました。
メモの記述ミスでしょうか?

メモ内容(アクター2に設定。アクター1がパーティに居る時最大HPが110%になる…つもり)

コード: 全て選択

<DD特徴21_タイプ:$gameParty._actors.indexOf(1) !== -1>
<DD特徴21_内容:110>


「起動時は最大HPが110%になっているようですが」
追記<反映されていませんでした…
メモを下記にしても同様でした。

コード: 全て選択

<DD特徴21_内容:110>


メニューからステータス画面を開く時に下記エラーが出ました。

コード: 全て選択

rmmz_managers.js:2030 ReferenceError: f is not defined
    at eval (eval at get (DynamicDatabase.js:365), <anonymous>:1:1)
    at Array.get (DynamicDatabase.js:365)
    at Game_Actor.paramPlus (rmmz_objects.js:4466)
    at Game_Actor.Game_BattlerBase.paramBasePlus (rmmz_objects.js:2840)
    at Game_Actor.Game_BattlerBase.param (rmmz_objects.js:2865)
    at Window_StatusParams.drawItem (rmmz_windows.js:2923)
    at Window_StatusParams.Window_Selectable.drawAllItems (rmmz_windows.js:1361)
    at Window_StatusParams.Window_Selectable.paint (rmmz_windows.js:1412)
    at Window_StatusParams.Window_Selectable.refresh (rmmz_windows.js:1405)
    at Window_StatusParams.Window_StatusBase.refresh (rmmz_windows.js:1694)
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
ゆきねこ
記事: 3
登録日時: 2021年3月07日(日) 17:38

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by ゆきねこ » 2021年3月16日(火) 20:05

もし説明が上手くいってなかったら、と思ったのでもう1回説明させていただきます。すみません!
私が欲しいのはよくゲームであるリーダースキルのようなものです。それをリーダーでなくても発動するようなスキルです。
なのでもちろん自分にもかかるようなものにしたいです。
MVも持っているのでMVでも構いません。
説明下手で申し訳ないです…
sally
記事: 119
登録日時: 2019年8月06日(火) 05:11

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by sally » 2021年3月16日(火) 22:48

>Plasma Dark さん

汎用性の問題だったのですね。
効果の対象が習得アクター以外の場合、効果の影響条件の指定が戦闘メンバーなのか否かなど多岐に渡るので、そのような部分での問題で難しいと思っていました。

素人考えで勘違いしていたようです。
ご指摘、サンプルプログラムのご教示ありがとうございます。

>ゆきねこ さん

補足のご説明ありがとうございます。
頂いた条件については理解していますが、私の言葉足らずで失礼しました。

通常のパッシブスキルですと習得アクターのみに影響を及ぼすことが前提ですので、
習得アクターを含むかに関わらず、習得者以外にも効果を発揮するパッシブスキルという意味で、
習得アクター以外に影響を及ぼす、という言葉を使っております。

ざっと探した程度はありますが、現状ではお望みのリーダースキルの挙動をするプラグインは存在していません。

ゆえに、結論、作成依頼をされた方がよいかと思います。
アバター
くろうど
記事: 259
登録日時: 2016年1月22日(金) 20:52
お住まい: 東京都
連絡を取る:

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by くろうど » 2021年4月10日(土) 13:19

こんにちは。
自分用の別件で以下の処理を作った際に応用できそうだったので、ご連絡します。

いくらか手間がかかりますが、
MZ付属のSimplePassiveSkillMZプラグインを使うことで出来ます。
(MZをインストールしたフォルダの中のdlcフォルダの中にあります)

まず、SimplePassiveSkillMZプラグインを利用して「パッシブスキル」を作成します。
それとは別に「特に効果のないスキル」を作ります。

バトル開始時に、「特に効果のないスキル」を習得していることを条件にして
「パッシブスキル」をパーティ全員に習得させます。

バトル終了時にパーティ全員の「パッシブスキル」を忘れさせます。

手順は以上です。
毎バトル開始時に処理を実行する事と、バトル終了時に不要になった「パッシブスキル」を忘れさせる必要がありますが、これで実現可能です。

ステートと違って戦闘不能による解除を考慮しなくてすみます。

以下の画像は例です。
この例では「乙女の構え」を条件にして「HP3倍」というパッシブスキルを習得しています。
WS000110.png
WS000110.png (12.68 KiB) 閲覧数: 2803 回

WS000109.png

WS000111.png
WS000111.png (9.52 KiB) 閲覧数: 2803 回

WS000107.png

↑わかりにくいですが、「HP3倍」が発動して最大HPが増えたのでゲージが満タンではなくなっています。
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
ゆきねこ
記事: 3
登録日時: 2021年3月07日(日) 17:38

Re: パーティー全体に影響を及ぼすパッシブスキル

投稿記事by ゆきねこ » 2021年4月14日(水) 13:12

とても分かりやすい説明で助かりました!
ありがとうございます!

“MZ:質問” へ戻る