prison-brave/js/plugins/IM_CustomTitle.js
2025-08-28 10:38:20 -05:00

92 lines
4 KiB
JavaScript

//=============================================================================
// RPG Maker MZ - IM_CustomTitle
//
// Copyright 2025 I'm moralist/min-pub.com All rights reserved.
// This source code or any portion thereof must not be
// reproduced or used without licensed in any manner whatsoever.
//=============================================================================
/*:
* @target MZ
* @plugindesc タイトルに回想を追加する
* @author 四号戦車
*
* @help
*
* タイトルコマンドを変更します
* 現状回想の追加のみです。
*
*/
(() => {
"use strict";
//========================================================================
// プラグイン定義
//========================================================================
const pluginName = "IM_CustomTitle";
const script = document.currentScript;
const param = PluginManagerEx.createParameter(script);
//========================================================================
// 定数定義
//========================================================================
const TEXT_ALBUM = "0900-062-n062-0";
//========================================================================
// コアスクリプト変更部 (Window_TitleCommand)
//========================================================================
const _Window_TitleCommand_prototype_makeCommandList = Window_TitleCommand.prototype.makeCommandList;
Window_TitleCommand.prototype.makeCommandList = function() {
const continueEnabled = this.isContinueEnabled();
this.addCommand(TextManager.newGame, "newGame");
this.addCommand(TextManager.continue_, "continue", continueEnabled);
this.addCommand(TextResource.getText(TEXT_ALBUM), "album");
this.addCommand(TextManager.options, "options");
};
//========================================================================
// コアスクリプト変更部 (Scene_Title)
//========================================================================
const _Scene_Title_prototype_commandWindowRect = Scene_Title.prototype.commandWindowRect;
Scene_Title.prototype.commandWindowRect = function() {
const rect = _Scene_Title_prototype_commandWindowRect.apply(this, arguments);
rect.height = this.calcWindowHeight(4, true);
return rect;
};
Scene_Title.prototype.commandAlbum = function() {
DataManager.setupNewGame();
// 回想部屋移動用フラグを立てておく
$gameSwitches.setValue(9, true);
// 後はNEW GAMEと同じ
this._commandWindow.close();
this.fadeOutAll();
SceneManager.goto(Scene_Map);
};
const _Scene_Title_prototype_createCommandWindow = Scene_Title.prototype.createCommandWindow;
Scene_Title.prototype.createCommandWindow = function() {
_Scene_Title_prototype_createCommandWindow.apply(this, arguments);
this._commandWindow.setHandler("album", this.commandAlbum.bind(this));
}
// タッチUI削除
//========================================================================
// コアスクリプト変更部 (Window_Options)
//========================================================================
const _Window_Options_prototype_addGeneralOptions = Window_Options.prototype.addGeneralOptions;
Window_Options.prototype.addGeneralOptions = function() {
this.addCommand(TextManager.alwaysDash, "alwaysDash");
this.addCommand(TextManager.commandRemember, "commandRemember");
};
//========================================================================
// コアスクリプト変更部 (Scene_Options)
//========================================================================
const _Scene_Options_prototype_maxCommands = Scene_Options.prototype.maxCommands;
Scene_Options.prototype.maxCommands = function() {
return 6;
};
})();