pure-full-lily/js/plugins/MAT_NeedAutorunFade_Ext.js
2025-09-16 10:12:44 -05:00

39 lines
1.7 KiB
JavaScript

(() => {
// 元のメソッドを退避
const _Scene_Map_NAFfadeInForTransfer = Scene_Map.prototype.NAFfadeInForTransfer;
Scene_Map.prototype.NAFfadeInForTransfer = function() {
// マップ上のイベントのうち、
// 1) メモ欄に <NoFadeIn> が含まれている
// 2) 現在有効なページのトリガーが「自動実行(3)」
// この2つの条件を両方満たすイベントが存在するかどうかを判定
const shouldSkipFadeIn = $gameMap.events().some(event => {
// イベントが有効かどうかチェック
if (!event || !event.event()) {
return false;
}
// メモ欄に <NoFadeIn> が含まれているか
const isNoFadeInNote = event.event().note && event.event().note.includes("<NoFadeIn>");
// 現在アクティブなイベントページを取得し、自動実行(3)かどうか確認
const page = event.page(); // 今の有効ページデータを取得
const isAutoRun = page && page.trigger === 3;
// 両方の条件を満たすイベントがあるか
return isNoFadeInNote && isAutoRun;
});
if (shouldSkipFadeIn) {
// スイッチ11をONにする
$gameSwitches.setValue(11, true);
// このままフェードインを実行せず処理を終える
// つまりフェードインしないまま画面は暗転状態をキープ
return;
}
// 条件を満たさない場合は、本来のフェードインメソッドを呼び出す
_Scene_Map_NAFfadeInForTransfer.call(this);
};
})();