あきまり さんが書きました:と書くとゲームが起動せずエラーが起きてしまいます。
あれっマジっすか。
単品起動が出来るのは勿論の事、競合する可能性も低いと踏んだんですが。
エラー文章見る限り特徴配列が存在しないメモ欄に<属性MP消費率:5, 200%>を書いたって事に…ってそうか
すみません。誤解を与える説明をしていたと思うので補足します。
名無し蛙 さんが書きました:オブジェクト(職業、武器、防具、ステート、パッシブスキル等)のメモ欄に以下のタグ付けを行う
ここでいうパッシブスキルとは既存のパッシブスキルプラグインとの併用を想定した発言であり
スキルのメモ欄に直接タグ付けしてもパッシブスキル化する訳ではありません。
自分のプラグインはあくまでも新しい特徴効果を付与するものに過ぎません。
なぴぃ氏のプラグインで今回の件は十分だと思うんですけど
せっかくなのでついでにパッシブスキルプラグインも投下しておきます。
これと併用すれば間接的にパッシブスキルとして運用可能だと思います。
①以下のプラグインをコピって以下略
コード: 全て選択
(() => {
'use strict'
const _Game_Actor_initSkills = Game_Actor.prototype.initSkills;
Game_Actor.prototype.initSkills = function() {
this._passiveSkills = [];
_Game_Actor_initSkills.apply(this, arguments);
};
const _Game_Actor_learnSkill = Game_Actor.prototype.learnSkill;
Game_Actor.prototype.learnSkill = function(skillId) {
_Game_Actor_learnSkill.apply(this, arguments);
if ($dataSkills[skillId].meta["パッシブ"] && !this._passiveSkills.includes(skillId)) {
this._passiveSkills.push(skillId);
}
};
const _Game_Actor_forgetSkill = Game_Actor.prototype.forgetSkill;
Game_Actor.prototype.forgetSkill = function(skillId) {
_Game_Actor_forgetSkill.apply(this, arguments);
if ($dataSkills[skillId].meta["パッシブ"] && this._passiveSkills.includes(skillId)) {
this._passiveSkills = this._passiveSkills.filter(_skillId => _skillId !== skillId);
}
};
Game_Actor.prototype.passiveSkills = function() {
return this._passiveSkills.map(skillId => $dataWeapons[Number($dataSkills[skillId].meta["パッシブ"])]);
}
const _Game_Actor_traitObjects = Game_Actor.prototype.traitObjects;
Game_Actor.prototype.traitObjects = function() {
return _Game_Actor_traitObjects.apply(this, arguments).concat(this.passiveSkills());
};
})();
②パッシブ化したいスキルのメモ欄に以下のタグ付けを行う
<パッシブ:武器ID>
例:<パッシブ:4> // スキルを習得している間、武器ID4に設定された全ての特徴がアクターに適用されます。
注意点としては装備品やステート等の特徴を利用した
パッシブスキルの一時追加まではサポートしていません(循環参照が発生するので実装が面倒)
初期習得、レベルアップ、イベントコマンド「スキルの増減」等の通常習得、及び忘却のみ対応しています。
③パッシブスキルの紐づけ武器のメモ欄に<属性MP消費率:5, 200%>のタグ付けを行う