したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

個人制作ゲームのネタ帳★12

102名無しさん:2024/11/19(火) 13:37:46
/*:
* @target MZ
* @plugindesc 身代わりを無条件化し、単体攻撃・全体攻撃をすべて引き受けるプラグイン
* @author あなたの名前
* @help
* このプラグインは以下の2つの機能を統合しています:
* 1. 身代わりを無条件化(すべてのアクターが身代わり可能)。
* 2. 単体攻撃・全体攻撃問わず、すべての攻撃を身代わりアクターが引き受ける。
*
* 利用方法:
* - プラグインを導入するだけで有効になります。
*
* 注意:
* - 複数の身代わりアクターがいる場合、最初に見つかったアクターが攻撃を引き受けます。
*/

(() => {
// 無条件で身代わりを発動するように設定
Game_Battler.prototype.isSubstitute = function() {
return true; // 無条件で身代わりを発動
};

// 攻撃処理を変更して、全体攻撃も含めて身代わりが発動するように
const _Game_Action_apply = Game_Action.prototype.apply;
Game_Action.prototype.apply = function(target) {
// 身代わりが可能かどうか判定
const substitute = this.findSubstitute(target);

// 単体攻撃や全体攻撃問わず、身代わりアクターがいれば置き換える
if (substitute) {
target = substitute;
}

// 元の処理を実行
_Game_Action_apply.call(this, target);
};

// 身代わり対象を見つけるロジック
Game_Action.prototype.findSubstitute = function(originalTarget) {
if (!originalTarget.isAlive()) return null;

// アクターの味方全員を対象にチェック
const group = originalTarget.friendsUnit().members();
for (const member of group) {
if (member !== originalTarget && member.isSubstitute()) {
return member; // 身代わりを持つアクターを返す
}
}
return null; // 身代わりがいない場合
};
})();


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板