[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
1-
101-
201-
301-
401-
501-
この機能を使うにはJavaScriptを有効にしてください
|
個人制作ゲームのネタ帳★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
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板