39 lines
1.7 KiB
JavaScript
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);
|
|
};
|
|
})();
|