OMORI_Android/www.sc/js/plugins/Omori Main Menu.js
2024-09-23 01:10:28 +03:00

1892 lines
80 KiB
JavaScript

//=============================================================================
// TDS Omori Main Menu
// Version: 1.6
//=============================================================================
// Add to Imported List
var Imported = Imported || {} ; Imported.TDS_OmoriMainMenu = true;
// Initialize Alias Object
var _TDS_ = _TDS_ || {} ; _TDS_.OmoriMainMenu = _TDS_.OmoriMainMenu || {};
//=============================================================================
/*:
* @plugindesc
* Main Menu for Omori.
*
* @author TDS
*
*/
//=============================================================================
//=============================================================================
// ** Scene_Menu
//-----------------------------------------------------------------------------
// The scene class of the menu screen.
//=============================================================================
// * Object Initialization
//=============================================================================
Scene_Menu.prototype.initialize = function() {
// Set Reservation ID
this._imageReservationId = 'mainmenu'
// Super Call
Scene_MenuBase.prototype.initialize.call(this);
};
//=============================================================================
// * Initialize Atlas Lists
//=============================================================================
Scene_Menu.prototype.initAtlastLists = function() {
// Run Original Function
Scene_MenuBase.prototype.initAtlastLists.call(this);
};
//=============================================================================
// * Load Reserved Bitmaps
//=============================================================================
Scene_Menu.prototype.loadReservedBitmaps = function() {
// Run Original Function
Scene_MenuBase.prototype.loadReservedBitmaps.call(this);
// Reserve System Images
ImageManager.reserveSystem('newtagmenud', 0, this._imageReservationId);
};
//=============================================================================
// * Create
//=============================================================================
Scene_Menu.prototype.create = function() {
Scene_MenuBase.prototype.create.call(this);
// this._center = new Sprite(new Bitmap(Graphics.width, Graphics.height))
// var spacing = 10;
// this._center.bitmap.fillRect(0, 0, spacing, Graphics.height, 'rgba(255, 0, 0, 1)')
// this._center.bitmap.fillRect(this._center.width - spacing, 0, spacing, Graphics.height, 'rgba(255, 0, 0, 1)')
// this.addChild(this._center)
// Create Windows
this.createCommandWindow();
this.createStatusWindows();
this.createGoldWindow();
//AudioManager.playSe({name: "sys_menu2", pan: 0, pitch: 100, volume: 90});
};
//=============================================================================
// * Determine if Busy
//=============================================================================
Scene_Menu.prototype.isBusy = function() {
if (this._goldWindow && this._goldWindow.isClosing()) { return true; }
return Scene_Base.prototype.isBusy.call(this);
};
//=============================================================================
// * Start
//=============================================================================
Scene_Menu.prototype.start = function() {
// Super Call
Scene_MenuBase.prototype.start.call(this);
// //TEST
// this._commandWindow.select(2);
// // this._statusWindow.select(3);
// this._commandWindow.deactivate();
// this.onPersonalOk();
};
//=============================================================================
// * Set Command Window
//=============================================================================
Scene_Menu.prototype.setCommandWindow = function(win) {
this._commandWindow = win;
};
//=============================================================================
// * Set Status Window
//=============================================================================
Scene_Menu.prototype.setStatusWindow = function(win) {
this._statusWindow = win
};
//=============================================================================
// * Create Command Window
//=============================================================================
Scene_Menu.prototype.createCommandWindow = function() {
// If Command Window Does Not Exist
if (!this._commandWindow) {
// Create Command Window
this._commandWindow = new Window_MenuCommand(10, 10);
} else {
this._commandWindow.refresh();
};
this._commandWindow.activate();
this._commandWindow.setHandler('talk', this.commandTalk.bind(this));
this._commandWindow.setHandler('item', this.onPersonalOk.bind(this));
this._commandWindow.setHandler('skill', this.commandPersonal.bind(this));
this._commandWindow.setHandler('equip', this.commandPersonal.bind(this));
this._commandWindow.setHandler('options', this.commandOptions.bind(this));
this._commandWindow.setHandler('cancel', this.popScene.bind(this));
this.addWindow(this._commandWindow);
};
//=============================================================================
// * Status Windows
//=============================================================================
Scene_Menu.prototype.createStatusWindows = function() {
// Create Status Window
if (!this._statusWindow) {
// Create Status Window
this._statusWindow = new Window_OmoMainMenuPartyStatus();
};
this._statusWindow._okSoundEnabled = true;
this._statusWindow.y = Graphics.height;
this._statusWindow.setHandler('ok', this.onPersonalOk.bind(this));
this._statusWindow.setHandler('cancel', this.onPersonalCancel.bind(this));
this._statusWindow.setCursorText(LanguageManager.getPluginText('mainMenu', 'status').select);
this.addChild(this._statusWindow);
};
//=============================================================================
// * Create Gold Window
//=============================================================================
Scene_Menu.prototype.createGoldWindow = function() {
this._goldWindow = new Window_Gold(0, 0);
this._goldWindow.x = (Graphics.boxWidth - this._goldWindow.width) - 10;
this._goldWindow.y = (this._commandWindow.y + this._commandWindow.height) + 8;
this._goldWindow.openness = 0;
this._goldWindow.open();
this.addWindow(this._goldWindow);
};
//=============================================================================
// * Command Window - Ok
//=============================================================================
Scene_Menu.prototype.commandTalk = function() {
// If Stab switch is on
if ($gameSwitches.value(4)) {
this._statusWindow.setCursorText(LanguageManager.getPluginText('mainMenu', 'status').stab);
} else {
this._statusWindow.setCursorText(LanguageManager.getPluginText('mainMenu', 'status').tag);
};
this._commandWindow.deactivate();
this._statusWindow.select(0);
this._statusWindow.activate();
};
//=============================================================================
// * Command Window - Personal
//=============================================================================
Scene_Menu.prototype.commandPersonal = function() {
this._statusWindow.setCursorText(LanguageManager.getPluginText('mainMenu', 'status').select);
this._commandWindow.deactivate();
this._statusWindow.select(0);
this._statusWindow.activate();
};
//=============================================================================
// * Status Window - Cancel
//=============================================================================
Scene_Menu.prototype.onPersonalCancel = function() {
this._statusWindow.deselect();
this._commandWindow.activate();
};
//=============================================================================
// * Status Window - Ok
//=============================================================================
Scene_Menu.prototype.onPersonalOk = function() {
this._goldWindow.close();
switch (this._commandWindow.currentSymbol()) {
case 'talk': return this.processTag() ;break;
case 'item': SceneManager.push(Scene_OmoMenuItem) ;break;
case 'skill': SceneManager.push(Scene_OmoMenuSkill) ;break;
case 'equip': SceneManager.push(Scene_OmoMenuEquip) ;break;
};
// Transfer Command and Status Window to new Scene
SceneManager._nextScene.setCommandWindow(this._commandWindow)
SceneManager._nextScene.setStatusWindow(this._statusWindow);
};
//=============================================================================
// * Command Window - Options
//=============================================================================
Scene_Menu.prototype.commandOptions = function() {
// Go to Option Scene
SceneManager.push(Scene_OmoMenuOptions)
// Transfer Command and Status Window to new Scene
SceneManager._nextScene.setCommandWindow(this._commandWindow)
SceneManager._nextScene.setStatusWindow(this._statusWindow);
};
//=============================================================================
// * Process Tag
//=============================================================================
Scene_Menu.prototype.processTag = function() {
// Get Index
var index = this._statusWindow.index();
// If Stab switch is on
if ($gameSwitches.value(4)) {
if (index === 0) {
// Reserve Common Event
$gameTemp.reserveCommonEvent(34);
// Go to Scene Map
SceneManager.goto(Scene_Map);
} else {
// Play Buzzer
SoundManager.playBuzzer();
// this._commandWindow.activate();
this._statusWindow.activate();
}
return;
};
// If Index is more than 0
if (index > 0) {
// Reopen Gold Window
this._goldWindow.open()
// Get Actor ID
var actorId = $gameParty.members()[index].actorId();
// Set Actor ID Variable
$gameVariables.setValue(_TDS_.MapCharacterTag.params.selectedVariableID, actorId);
// Reserve Common Event
$gameTemp.reserveCommonEvent(_TDS_.MapCharacterTag.params.commonEventID);
} else {
// Play Buzzer
SoundManager.playBuzzer();
// Reopen Gold Window
this._goldWindow.open()
// this._commandWindow.activate();
this._statusWindow.activate();
// this._statusWindow.deselect();
return;
};
// Go to Scene Map
SceneManager.goto(Scene_Map);
};
//=============================================================================
// ** Window_MenuCommand
//-----------------------------------------------------------------------------
// The window for selecting a command on the menu screen.
//=============================================================================
// * Settings
//=============================================================================
Window_MenuCommand.prototype.isUsingCustomCursorRectSprite = function() { return true; };
Window_MenuCommand.prototype.lineHeight = function () { return 24; };
Window_MenuCommand.prototype.standardFontSize = function () { return LanguageManager.getMessageData("XX_BLUE.Window_MenuCommand").standardFontSize; };
Window_MenuCommand.prototype.windowWidth = function () { return Graphics.width - 20; };
Window_MenuCommand.prototype.spacing = function () { return 12; };
Window_MenuCommand.prototype.standardPadding = function () { return 15; };
Window_MenuCommand.prototype.numVisibleRows = function () { return 1; };
Window_MenuCommand.prototype.maxCols = function () { return this.maxItems(); };
Window_MenuCommand.prototype.customCursorRectYOffset = function() { return 1; }
Window_MenuCommand.prototype.customCursorRectTextXOffset = function() { return 20; }
//=============================================================================
// * Item Rect For Text
//=============================================================================
Window_MenuCommand.prototype.itemRectForText = function (index) {
var rect = Window_Command.prototype.itemRectForText.call(this, index);
rect.y -= 3;
return rect;
};
//=============================================================================
// * Make Command List
//=============================================================================
Window_MenuCommand.prototype.makeCommandList = function () {
// Get Command Text
var text = LanguageManager.getPluginText('mainMenu', 'commands');
// Get Tag Text
var tagText = text[0][0];
const unlockedTag = $gameSwitches.value(17);
const stabSwitch = $gameSwitches.value(4);
const disableSwitch = $gameSwitches.value(5);
if (unlockedTag) { tagText = text[0][1]; };
if (stabSwitch === true) { tagText = text[0][2]; };
this.addCommand(tagText, 'talk', disableSwitch);
this.addCommand(text[1], 'equip', $gameParty.members().length > 0);
this.addCommand(text[2], 'item', $gameParty.hasValidPocketItems());
this.addCommand(text[3], 'skill', $gameParty.members().length > 0);
this.addCommand(text[4], 'options');
};
Window_MenuCommand.prototype.drawItem = function(index) {
const stabSwitch = $gameSwitches.value(4);
if (stabSwitch == true && index == 0){
// this.resetTextColor();
this.changeTextColor(this.textColor(9));
}
else {
this.resetTextColor();
}
var rect = this.itemRectForText(index);
var align = this.itemTextAlign();
this.changePaintOpacity(this.isCommandEnabled(index));
this.drawText(this.commandName(index), rect.x, rect.y, rect.width, align);
};
//=============================================================================
// ** Window_Gold
//-----------------------------------------------------------------------------
// The window for displaying the party's gold.
//=============================================================================
// * Settings
//=============================================================================
Window_Gold.prototype.windowWidth = function() { return 108 + 20; };
Window_Gold.prototype.windowHeight = function() { return 40; };
Window_Gold.prototype.standardPadding = function() { return 0; };
Window_Gold.prototype.lineHeight = function() { return 28; };
//=============================================================================
// * Refresh
//=============================================================================
Window_Gold.prototype.refresh = function() {
var x = this.textPadding();
var width = this.contents.width - this.textPadding() * 2;
this.contents.clear();
// this.contents.fontSize = value
const loc_position = LanguageManager.getMessageData("XX_BLUE.Window_Gold").drawCurrencyValue_position
this.drawCurrencyValue(this.value(), this.currencyUnit(), eval(loc_position[0]), loc_position[1] + 3, width);
};
//=============================================================================
// ** Window_OmoMainMenuPartyStatus
//-----------------------------------------------------------------------------
// The window for showing Menu Party Status and for selection.
//=============================================================================
function Window_OmoMainMenuPartyStatus() { this.initialize.apply(this, arguments); }
Window_OmoMainMenuPartyStatus.prototype = Object.create(Window_Selectable.prototype);
Window_OmoMainMenuPartyStatus.prototype.constructor = Window_OmoMainMenuPartyStatus;
//=============================================================================
// * Object Initialization
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.initialize = function() {
// Super Call
Window_Selectable.prototype.initialize.call(this, 0, 0, 1, 1);
// Enable Ok Sound
this._okSoundEnabled = true;
// Create Status Windows
this.createStatusWindows();
// Create Cursor
this.createCursor();
};
//=============================================================================
// * Settings
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.standardPadding = function() { return 0; }
Window_OmoMainMenuPartyStatus.prototype.windowWidth = function () { return 143; };
Window_OmoMainMenuPartyStatus.prototype.windowHeight = function() { return 109; }
Window_OmoMainMenuPartyStatus.prototype.maxItems = function() { return $gameParty.size();};
Window_OmoMainMenuPartyStatus.prototype.maxCols = function() { return $gameParty.size();};
//=============================================================================
// * Actor
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.actor = function(index) {
// Set Default Index
if (index === undefined) { index = this.index(); };
return this._statusWindows[index].actor();
};
//=============================================================================
// * Play Ok Sound
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.playOkSound = function() {
// Play Ok Sound
if (this._okSoundEnabled) { Window_Selectable.prototype.playOkSound.call(this); };
};
//=============================================================================
// * Get Party (Considers rearrangement)
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.party = function() {
// Initialize List
var list = [];
// Go Through List
for (var i = 0; i < this._statusWindows.length; i++) {
// Add Actor
list.push(this._statusWindows[i].actor())
}
// Return List
return list;
};
//=============================================================================
// * Update Arrow
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype._updateArrows = function() {
this._downArrowSprite.visible = false;
this._upArrowSprite.visible = false;
};
//=============================================================================
// * Create Status Windows
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.createStatusWindows = function() {
// Initialize Status Windows Array
this._statusWindows = [];
// Go Through Party Size
for (var i = 0; i < $gameParty.size(); i++) {
// Create Window
var win = new Window_OmoMainMenuActorStatus(i);
win.x = 10 + (i * (win.width + 0));
win.y = -win.height;
win._originX = win.x;
this._statusWindows[i] = win;
this.addChild(win);
};
};
//=============================================================================
// * Sort Status Window
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.sortStatusWindows = function(pos) {
// Set Position Flag
if (pos === undefined) { pos = true; }
// Sort Status Windows by original actor index
this._statusWindows.sort(function(a, b) { return a._actorIndex - b._actorIndex; });
// If Reset position flag
if (pos) {
for (var i = 0; i < this._statusWindows.length; i++) {
var win = this._statusWindows[i]
win.x = 10 + (i * (win.width + 0));
};
};
};
//=============================================================================
// * Reorder Status Window
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.reorderStatusWindows = function(from, to) {
this._statusWindows.splice(to, 0, this._statusWindows.splice(from, 1)[0]);
for (var i = 0; i < this._statusWindows.length; i++) {
var win = this._statusWindows[i]
win.x = 10 + (i * (win.width + 0));
};
};
//=============================================================================
// * Create Cursor
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.createCursor = function() {
this._cursorWindow = new Window_OmoWindowIndexCursor();
this._cursorWindow.visible = false;
this._cursorWindow.setText(LanguageManager.getMessageData("XX_BLUE.Map_Character_Tag").select_who);
this._cursorWindow.y = -285;
this.addChild(this._cursorWindow);
};
//=============================================================================
// * Set Cursor Text
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.setCursorText = function(text) {
// Set Cursor Text
this._cursorWindow.setText(text);
};
//=============================================================================
// * Update Cursor
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.updateCursor = function() {
// Get Index
var index = this.index();
// If Status Windows Exist
if (this._statusWindows) {
// If Cursor for all
if (this._cursorAll) {
for (var i = 0; i < this._statusWindows.length; i++) {
this._statusWindows[i].animateFace(true);
};
// Set Position to center
this._cursorWindow.x = ((Graphics.width - this._cursorWindow.width) / 2);
this._cursorWindow.y = -279;
this._cursorWindow.visible = true;
} else if (this.isCursorVisible()) {
for (var i = 0; i < this._statusWindows.length; i++) {
this._statusWindows[i].animateFace(i === index);
};
var win = this._statusWindows[index]
this._cursorWindow.x = win.x + ((win.width - this._cursorWindow.width) / 2);
this._cursorWindow.y = win.y - 170;
this._cursorWindow.visible = true;
} else {
for (var i = 0; i < this._statusWindows.length; i++) {
this._statusWindows[i].animateFace(false);
};
this._cursorWindow.visible = false;
};
};
};
//=============================================================================
// * Refresh
//=============================================================================
Window_OmoMainMenuPartyStatus.prototype.refresh = function() {
// Go through all windows and refresh their contents
for (var i = 0; i < this._statusWindows.length; i++) { this._statusWindows[i].refresh(); };
};
//=============================================================================
// ** Window_OmoMainMenuActorStatus
//-----------------------------------------------------------------------------
// The window for showing the main status in status menus.
//=============================================================================
function Window_OmoMainMenuActorStatus() { this.initialize.apply(this, arguments); }
Window_OmoMainMenuActorStatus.prototype = Object.create(Window_Base.prototype);
Window_OmoMainMenuActorStatus.prototype.constructor = Window_OmoMainMenuActorStatus;
//=============================================================================
// * Object Initialization
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.initialize = function(index) {
// Set Actor Index
this._actorIndex = index;
// Super Call
Window_Base.prototype.initialize.call(this, 0, 0, this.windowWidth(), this.windowHeight());
// Create Back Sprite
this.createBackSprite();
// Create Face Sprite
this.createFaceSprite();
// Refresh
this.refresh();
// Set Opacity to 0
this.opacity = 0;
};
//=============================================================================
// * Settings
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.standardPadding = function() { return 0; }
Window_OmoMainMenuActorStatus.prototype.windowWidth = function () { return 155; };
Window_OmoMainMenuActorStatus.prototype.windowHeight = function() { return 109; }
//=============================================================================
// * Contents Opacity
//=============================================================================
Object.defineProperty(Window_OmoMainMenuActorStatus.prototype, 'contentsOpacity', {
get: function() { return this._windowContentsSprite.alpha * 255; },
set: function(value) {
value = value.clamp(0, 255)
this._windowContentsSprite.alpha = value / 255;
// Set Opacity for back sprites
if (this._faceSprite) { this._faceSprite.opacity = value; };
if (this._backSprite) { this._backSprite.opacity = value; }
},
configurable: true
});
//=============================================================================
// * Actor
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.actor = function() { return $gameParty.allMembers()[this._actorIndex]; };
//=============================================================================
// * Create Back Sprite
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.createBackSprite = function() {
// Create Back Sprite
this._backSprite = new Sprite(ImageManager.loadSystem('newtagmenud'));
this._backSprite.setFrame(0, 0, this.windowWidth(), 109);
this.addChildToBack(this._backSprite);
};
//=============================================================================
// * Create Face Sprite
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.createFaceSprite = function() {
// Create Face Sprite
this._faceSprite = new Sprite_OmoMenuStatusFace();
this._faceSprite.y = -this._faceSprite.height;
this._faceSprite.x = 143;
this._faceSprite.deactivate();
this._faceSprite._inMenu = true;
this._faceSprite.anchor.x = 0.5;
this.addChild(this._faceSprite);
};
//=============================================================================
// * Create Face Sprite
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.animateFace = function(bool) {
// Set Face Sprite Animation
this._faceSprite._active = bool;
};
//=============================================================================
// * Refresh
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.refresh = function() {
// Clear Contents
this.contents.clear();
// Get Actor
var actor = this.actor();
// If Actor Exists
if (actor) {
// Get World Index
let worldIndex = SceneManager.currentWorldIndex();
// Set Face Sprite Actor
this._faceSprite.actor = actor;
this._faceSprite.y = -this._faceSprite.height;
this._faceSprite.x = Math.floor(143 / 2);
this.contents.textColor = 'rgba(0, 0, 0, 1)';
this.contents.outlineWidth = 0;
this.contents.fontSize = LanguageManager.getMessageData("XX_BLUE.Window_OmoMainMenuActorStatus").refresh_contents_fontsize;
let loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoMainMenuActorStatus").refresh_drawText_position;
this.drawText(actor.name(), loc_position[0], loc_position[1], this.contents.width);
this.contents.fontSize = LanguageManager.getMessageData("XX_BLUE.Window_OmoMainMenuActorStatus").refresh_contents_fontsize2;
this.contents.textColor = 'rgba(255, 255, 255, 1)';
// If world index is not 2
if (worldIndex !== 2) {
// Get Exp Rate parts
let exp = actor.currentLevelExp();
let currentExp = actor.currentExp() - exp;
let nextExp = actor.nextLevelExp() - exp;
// Set Rate
let rate = currentExp / nextExp;
rate = Math.min(rate, 1);
this.contents.gradientFillRect(2, 30, 151 * rate, 15, 'rgba(51, 0, 196, 1)', 'rgba(254, 145, 246, 1)');
this.drawText("%1 %2".format(LanguageManager.getMessageData("XX_BLUE.Omori_Mainmenu").lvl, actor._level), 12, 18, this.contents.width);
};
// Get Bar Bitmap
var bitmap = ImageManager.loadSystem('newtagmenud');
// Draw HP Bar & HP
this.contents.blt(bitmap, 0, 109, 116 * actor.hpRate(), 14, 29, 56);
loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoMainMenuActorStatus").refresh_drawTextHP_position;
this.drawText(actor.hp + '/' + actor.mhp, loc_position[0], loc_position[1], this.contents.width - 26, 'right');
// Draw MP Bar & MP
loc_position = LanguageManager.getMessageData("XX_BLUE.Window_OmoMainMenuActorStatus").refresh_drawTextMP_position;
this.contents.blt(bitmap, 0, 123, 116 * actor.mpRate(), 14, 29, 84 );
this.drawText(actor.mp + '/' + actor.mmp, loc_position[0], loc_position[1], this.contents.width - 26, 'right');
};
};
//=============================================================================
// * Frame Update
//=============================================================================
Window_OmoMainMenuActorStatus.prototype.update = function() {
// Super Call
Window_Base.prototype.update.call(this);
};
//=============================================================================
// ** Scene_BaseEX
//-----------------------------------------------------------------------------
// The superclass of all scenes within the game.
//=============================================================================
function Scene_BaseEX() { this.initialize.apply(this, arguments); }
Scene_BaseEX.prototype = Object.create(Scene_Base.prototype);
Scene_BaseEX.prototype.constructor = Scene_BaseEX;
//=============================================================================
// * Initialize Object
//=============================================================================
Scene_BaseEX.prototype.initialize = function() {
// Super Call
Scene_Base.prototype.initialize.call(this);
// Initialize Queue Function List
this._queueFunctionList = [];
// Function List Index if not null it will begin adding functions from that index
this._queueFunctionListIndex = null;
// Set Wait to 0
this._waitCount = 0;
// Set Wait function
this._waitFunction = null;
// Create Movement Object
this.move = new Object_Movement();
};
//=============================================================================
// * Frame Update
//=============================================================================
Scene_BaseEX.prototype.update = function() {
// Super Call
Scene_Base.prototype.update.call(this);
// Update Queue Processing
this.updateQueueProcessing();
// Update Movement Object
this.move.update();
};
//=============================================================================
// * Wait
//=============================================================================
Scene_BaseEX.prototype.wait = function(amount) { this._waitCount = amount; };
//=============================================================================
// * Set Wait Mode
//=============================================================================
Scene_BaseEX.prototype.setWaitMode = function(waitMode) { this._waitMode = waitMode; };
//=============================================================================
// * Start Function Wait
//=============================================================================
Scene_BaseEX.prototype.startFunctionWait = function(funct) { this.setWaitMode('function'); this._waitFunction = funct; };
//=============================================================================
// * Set Function List Index
//=============================================================================
Scene_BaseEX.prototype.setFunctionListIndex = function(index) { this._queueFunctionListIndex = 0; };
//=============================================================================
// * Clear Function List Index
//=============================================================================
Scene_BaseEX.prototype.clearFunctionListIndex = function() { this._queueFunctionListIndex = null; };
//=============================================================================
// * Clear Function List
//=============================================================================
Scene_BaseEX.prototype.clearFunctionList = function() { this._queueFunctionList = []; };
//=============================================================================
// * Queue
//=============================================================================
Scene_BaseEX.prototype.queue = function(method) {
// Initialize Object for list
var obj;
// If Method is a function
if (typeof method === 'function') {
// Set Object to function
obj = method;
} else {
// Get Arguments
var methodArgs = Array.prototype.slice.call(arguments, 1);
// Set Object
obj = { name: method, params: methodArgs };
};
// If Function List Index is null
if (this._functionListIndex !== null) {
// Add Object onto queue function index
this._queueFunctionList.splice(this._queueFunctionListIndex, 0, obj);
// Increase Queue List index
this._queueFunctionListIndex++;
} else {
// Add Object to Queue Function List
this._queueFunctionList.push(obj);
};
};
//=============================================================================
// * Call Next Queue Function
//=============================================================================
Scene_BaseEX.prototype.callNextQueueFunction = function() {
// If Function List Length is more than 0
if (this._queueFunctionList.length > 0) {
// Get Function Data
var funct = this._queueFunctionList.shift();
// Function Data is a function call it
if (funct instanceof Function) { return funct.call(); }
// If Function Name and function exist
if (funct.name && this[funct.name]) {
// Call Function
this[funct.name].apply(this, funct.params);
} else {
throw new Error('Method not found: ' + funct.name);
};
};
};
//=============================================================================
// * Update Queue Processing
//=============================================================================
Scene_BaseEX.prototype.updateQueueProcessing = function() {
// If Waiting
if (this.updateWait()) { return true; }
// Call Next Function
this.callNextQueueFunction();
// Return if Function list is more than 0
if (this._queueFunctionList.length > 0) { return true; }
// Return false (No function is running)
return false;
};
//=============================================================================
// * Phase Updates
//=============================================================================
Scene_BaseEX.prototype.updateWait = function() {
// Return State of update wait count and update wait mode
return this.updateWaitCount() || this.updateWaitMode();
};
//=============================================================================
// * Update Wait Count
//=============================================================================
Scene_BaseEX.prototype.updateWaitCount = function() {
// If Wait count is more than 0
if (this._waitCount > 0) {
// Decrease Wait Count
this._waitCount--;
// If Wait count is less than 0 reset it to 0
if (this._waitCount < 0) { this._waitCount = 0; }
// Return true (waiting)
return true;
}
// Return false (not waiting)
return false;
};
//=============================================================================
// * Update Wait Mode
//=============================================================================
Scene_BaseEX.prototype.updateWaitMode = function() {
// Set Waiting to false
var waiting = false;
// Wait mode case
switch (this._waitMode) {
case 'message':
waiting = $gameMessage.isBusy();
break;
case 'movement':
waiting = this.move.isMoving();
break;
case 'function':
// If wait function is not null set waiting flag to wait function result
if (this._waitFunction !== null) { waiting = this._waitFunction(); };
// If Not waiting set the wait function to null
if (!waiting) { this._waitFunction = null; }
break;
};
// If not waiting set wait mode to nothing
if (!waiting) { this._waitMode = ''; }
// Return waiting flag
return waiting;
};
//=============================================================================
// ** Scene_OmoMenuBase
//-----------------------------------------------------------------------------
// Base Class for Omori Menu Scenes
//=============================================================================
function Scene_OmoMenuBase() { this.initialize.apply(this, arguments); }
Scene_OmoMenuBase.prototype = Object.create(Scene_BaseEX.prototype);
Scene_OmoMenuBase.prototype.constructor = Scene_OmoMenuBase;
//=============================================================================
// * Object Initialization
//=============================================================================
Scene_OmoMenuBase.prototype.initialize = function() {
// Super Call
Scene_BaseEX.prototype.initialize.call(this);
// Set Background Bitmap to null
this._backgroundBitmap = null;
};
//=============================================================================
// * Set Background Bitmap
//=============================================================================
Scene_OmoMenuBase.prototype.setBackgroundBitmap = function(bitmap) {
this._backgroundBitmap = bitmap
};
//=============================================================================
// * Create
//=============================================================================
Scene_OmoMenuBase.prototype.create = function() {
// Create Command Window
this.createCommandWindow();
// Super Call
Scene_BaseEX.prototype.create.call(this);
// Create Status Window
this.createStatusWindow();
};
//=============================================================================
// * Set Command Window
//=============================================================================
Scene_OmoMenuBase.prototype.setCommandWindow = function(win) {
this._commandWindow = win;
};
//=============================================================================
// * Set Status Window
//=============================================================================
Scene_OmoMenuBase.prototype.setStatusWindow = function(win) {
this._statusWindow = win
};
//=============================================================================
// * Create Command Window
//=============================================================================
Scene_OmoMenuBase.prototype.createCommandWindow = function() {
// If Command Window Does Not Exist
if (!this._commandWindow) {
// Create Command Window
this._commandWindow = new Window_MenuCommand(10, 10);
};
// Deactivate
this._commandWindow.deactivate();
// Add Child
this.addChild(this._commandWindow);
};
//=============================================================================
// * Status Windows
//=============================================================================
Scene_OmoMenuBase.prototype.createStatusWindows = function() {
// Create Status Window
if (!this._statusWindow) {
// Create Status Window
this._statusWindow = new Window_OmoMainMenuPartyStatus();
};
this._statusWindow.y = Graphics.height;
this.addChild(this._statusWindow);
};
//=============================================================================
// * Create
//=============================================================================
Scene_OmoMenuBase.prototype.create = function() {
// Super Call
Scene_BaseEX.prototype.create.call(this);
// Create Background
this.createBackground();
// // Create Windows
// this.createHelpWindow();
};
//=============================================================================
// * Create Help Window
//=============================================================================
Scene_OmoMenuBase.prototype.createHelpWindow = function() {
// Create Help Window
this._helpWindow = new Window_OmoMenuHelp();
this._helpWindow.x = 11;
this._helpWindow.y = (Graphics.height - this._helpWindow.height) - 11
this.addChild(this._helpWindow);
};
//=============================================================================
// * Create Background
//=============================================================================
Scene_OmoMenuBase.prototype.createBackground = function() {
this._backgroundSprite = new Sprite();
this._backgroundSprite.bitmap = SceneManager.backgroundBitmap();
this.addChild(this._backgroundSprite);
};
//=============================================================================
// * Create Actor Equip Window
//=============================================================================
Scene_OmoMenuBase.prototype.hideActorStatus = function(index, duration) {
// Set Default Duration
if (duration === undefined) { duration = 15; };
var obj = this._statusWindow._statusWindows[index];
var data = { obj: obj, properties: ['y', 'contentsOpacity'], from: {y: obj.y, contentsOpacity: obj.contentsOpacity}, to: {y: 110, contentsOpacity: 0}, durations: {y: duration, contentsOpacity: duration}}
data.easing = Object_Movement.easeInCirc;
this.move.startMove(data);
};
//=============================================================================
// * Show Actor Status
//=============================================================================
Scene_OmoMenuBase.prototype.showActorStatus = function(index, duration) {
// Set Default Duration
if (duration === undefined) { duration = 15; };
var obj = this._statusWindow._statusWindows[index];
var data = { obj: obj, properties: ['y', 'contentsOpacity'], from: {y: obj.y, contentsOpacity: obj.contentsOpacity}, to: {y: -obj.height, contentsOpacity: 255}, durations: {y: duration, contentsOpacity: duration}}
data.easing = Object_Movement.easeOutCirc;
this.move.startMove(data);
};
//=============================================================================
// * Show Information Window (Help, Items)
//=============================================================================
Scene_OmoMenuBase.prototype.showInfoWindow = function(obj, duration) {
// Create Movement Data
var data = {
obj: obj,
properties: ['x', 'width'],
from: {x: obj.x, width: obj.width},
to: {x: 165, width: Graphics.width - 175},
speeds: {},
};
data.speeds.x = Math.abs(data.from.x - data.to.x) / duration;
data.speeds.width = Math.abs(data.from.width - data.to.width) / duration;
// Start Move
this.move.startMove(data);
};
//=============================================================================
// * Hide Information Window (Help, Items)
//=============================================================================
Scene_OmoMenuBase.prototype.hideInfoWindow = function(obj, duration) {
// Create Movement Data
let win_x = 10
var data = {
obj: obj,
properties: ['x', 'width'],
from: {x: obj.x, width: obj.width},
to: {x: win_x, width: 0},
speeds: {},
};
data.speeds.x = Math.abs(data.from.x - data.to.x) / duration;
data.speeds.width = Math.abs(data.from.width - data.to.width) / duration;
// Start Move
this.move.startMove(data);
};
//=============================================================================
// * Show Help Window
//=============================================================================
Scene_OmoMenuBase.prototype.showHelpWindow = function(duration) {
// Set Default Duration
if (duration === undefined) { duration = 15; };
// Show Help Window
this.showInfoWindow(this._helpWindow, duration);
};
//=============================================================================
// * Hide Help Window
//=============================================================================
Scene_OmoMenuBase.prototype.hideHelpWindow = function(duration) {
// Set Default Duration
if (duration === undefined) { duration = 15; };
// Show Help Window
this.hideInfoWindow(this._helpWindow, duration);
};
//=============================================================================
// * Item
//=============================================================================
Scene_OmoMenuBase.prototype.item = function() { return this._itemWindow.item(); };
//=============================================================================
// * User
//=============================================================================
Scene_OmoMenuBase.prototype.user = function() { return null; };
//=============================================================================
// * Use Item
//=============================================================================
Scene_OmoMenuBase.prototype.useItem = function() {
this.playSeForItem();
this.user().useItem(this.item());
this.applyItem();
this._statusWindow.refresh();
this.checkCommonEvent();
this.checkGameover();
};
//=============================================================================
// * Determine if Item is for all
//=============================================================================
Scene_OmoMenuBase.prototype.isItemForAll = function() {
var action = new Game_Action(this.user());
action.setItemObject(this.item());
return action.isForAll();
};
//=============================================================================
// * Item Target Actors
//=============================================================================
Scene_OmoMenuBase.prototype.itemTargetActors = function() {
var action = new Game_Action(this.user());
action.setItemObject(this.item());
// Get Party from status window
var party = this._statusWindow.party();
// If Action is not for friend
if (!action.isForFriend()) {
return [];
} else if (action.isForAll()) {
return party;
} else {
return [this._statusWindow.actor()];
};
};
//=============================================================================
// * Determine if Item can be used
//=============================================================================
Scene_OmoMenuBase.prototype.canUse = function(targets) {
if(!this.user()) {return false}
return this.user().canUse(this.item()) && this.isItemEffectsValid(targets);
};
//=============================================================================
// * Determine if item effects are valid
//=============================================================================
Scene_OmoMenuBase.prototype.isItemEffectsValid = function(targets) {
var action = new Game_Action(this.user());
action.setItemObject(this.item());
// If Targets is undefined
if (targets === undefined) { targets = this.itemTargetActors(); };
return targets.some(function(target) { return action.testApply(target); }, this);
};
//=============================================================================
// * Apply Item
//=============================================================================
Scene_OmoMenuBase.prototype.applyItem = function() {
var action = new Game_Action(this.user());
action.setItemObject(this.item());
this.itemTargetActors().forEach(function(target) {
for (var i = 0; i < action.numRepeats(); i++) {
action.apply(target);
}
}, this);
action.applyGlobal();
};
//=============================================================================
// * Check Common Event
//=============================================================================
Scene_OmoMenuBase.prototype.checkCommonEvent = function () {
// If Common Event is reserved
if ($gameTemp.isCommonEventReserved()) {
// Get Common Event Name
var commonEvent = $gameTemp.reservedCommonEvent()
// If common event name has BATTLEONLY tag
if ($gameTemp.isCommonEventForBattleOnly()) {
// Clear Common Event
$gameTemp.clearCommonEvent();
} else {
// Go to Scene Map
SceneManager.goto(Scene_Map);
};
};
};
// //=============================================================================
// // ** Scene_OmoMenuItem
// //-----------------------------------------------------------------------------
// // The scene class of the item menu.
// //=============================================================================
// function Scene_OmoMenuItem() { this.initialize.apply(this, arguments); }
// Scene_OmoMenuItem.prototype = Object.create(Scene_OmoMenuBase.prototype);
// Scene_OmoMenuItem.prototype.constructor = Scene_OmoMenuItem;
// //=============================================================================
// // * Create
// //=============================================================================
// Scene_OmoMenuItem.prototype.create = function() {
// // Super Call
// Scene_OmoMenuBase.prototype.create.call(this);
// // Create Windows
// this.createCategoryWindow();
// this.createItemListWindow();
// this.createItemConfirmationWindow();
// this.createItemTrashPromptWindow();
// this.createPartyStatusWindow();
// // Close Help Window
// this._helpWindow.openness = 0;
// };
// //=============================================================================
// // * Create Category Window
// //=============================================================================
// Scene_OmoMenuItem.prototype.createCategoryWindow = function() {
// // Create Item Category Window
// this._itemCategoryWindow = new Window_OmoMenuItemCategory();
// this._itemCategoryWindow.x = (Graphics.width - this._itemCategoryWindow.width) - 11;
// this._itemCategoryWindow.y = 65;
// this._itemCategoryWindow.setHandler('ok', this.onItemCategoryOk.bind(this));
// this._itemCategoryWindow.setHandler('cancel', this.popScene.bind(this));
// this.addChild(this._itemCategoryWindow);
// };
// //=============================================================================
// // * Create Item List Window
// //=============================================================================
// Scene_OmoMenuItem.prototype.createItemListWindow = function() {
// // Create Item List Window
// this._itemListWindow = new Window_OmoMenuItemList();
// this._itemListWindow.x = (Graphics.width - this._itemListWindow.width) - 11;
// this._itemListWindow.y = (this._itemCategoryWindow.y + this._itemCategoryWindow.height)
// this._itemListWindow.setHandler('ok', this.onItemListOk.bind(this));
// this._itemListWindow.setHandler('cancel', this.onItemListCancel.bind(this));
// this._itemListWindow.setHelpWindow(this._helpWindow);
// this._itemCategoryWindow._itemWindow = this._itemListWindow;
// this._itemCategoryWindow.callUpdateHelp();
// this.addChild(this._itemListWindow);
// };
// //=============================================================================
// // * Create Item Confirmation Window
// //=============================================================================
// Scene_OmoMenuItem.prototype.createItemConfirmationWindow = function() {
// // Create Item Confirmation Window
// this._itemComfirmationWindow = new Window_OmoMenuItemConfirmation();
// this._itemComfirmationWindow.x = (this._itemListWindow.x - this._itemComfirmationWindow.width);
// this._itemComfirmationWindow.y = this._itemCategoryWindow.y
// this._itemComfirmationWindow.setHandler('use', this.onItemConfirmationUse.bind(this));
// this._itemComfirmationWindow.setHandler('trash', this.onItemConfirmationTrash.bind(this));
// this._itemComfirmationWindow.setHandler('cancel', this.onItemConfirmationCancel.bind(this));
// this.addChild(this._itemComfirmationWindow);
// };
// //=============================================================================
// // * Create Item Trash Prompt Window
// //=============================================================================
// Scene_OmoMenuItem.prototype.createItemTrashPromptWindow = function() {
// // Create Item Trash Prompt Window
// this._itemTrashPromptWindow = new Window_OmoMenuItemTrashPromptWindow();
// this._itemTrashPromptWindow.x = this._itemComfirmationWindow.x;
// this._itemTrashPromptWindow.y = (this._itemComfirmationWindow.y + this._itemComfirmationWindow.height);
// this._itemTrashPromptWindow.setHandler('ok', this.onItemTrashPromptOk.bind(this));
// this._itemTrashPromptWindow.setHandler('cancel', this.onItemTrashPromptCancel.bind(this));
// this.addChild(this._itemTrashPromptWindow);
// };
// //=============================================================================
// // * Create Party Status Window
// //=============================================================================
// Scene_OmoMenuItem.prototype.createPartyStatusWindow = function() {
// // Create Party Status Window
// this._partyStatusWindow = new Window_OmoMenuItemPartyStatus();
// this._partyStatusWindow.x = this._itemListWindow.x - this._partyStatusWindow.width;
// this._partyStatusWindow.y = (this._itemComfirmationWindow.y + this._itemComfirmationWindow.height);
// this._partyStatusWindow.setHandler('ok', this.onItemUseOk.bind(this));
// this._partyStatusWindow.setHandler('cancel', this.onItemUseCancel.bind(this));
// this.addChild(this._partyStatusWindow);
// };
// //=============================================================================
// // * Get Item
// //=============================================================================
// Scene_OmoMenuItem.prototype.item = function() { return this._itemListWindow.item(); };
// //=============================================================================
// // * Get Item User
// //=============================================================================
// Scene_OmoMenuItem.prototype.user = function() {
// var members = $gameParty.movableMembers();
// var bestActor = members[0];
// var bestPha = 0;
// for (var i = 0; i < members.length; i++) {
// if (members[i].pha > bestPha) {
// bestPha = members[i].pha;
// bestActor = members[i];
// };
// };
// // Return best actor
// return bestActor;
// };
// //=============================================================================
// // * Get Item Target Items
// //=============================================================================
// Scene_OmoMenuItem.prototype.itemTargetActors = function() {
// var action = new Game_Action(this.user());
// action.setItemObject(this.item());
// if (!action.isForFriend()) {
// return [];
// } else if (action.isForAll()) {
// return $gameParty.members();
// } else {
// return [this._partyStatusWindow.actor()];
// }
// };
// //=============================================================================
// // * Item Category - Ok
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemCategoryOk = function() {
// this._itemListWindow.open();
// this._itemListWindow.activate();
// this._itemListWindow.select(0)
// this._helpWindow.open();
// };
// //=============================================================================
// // * Item List - Ok
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemListOk = function() {
// this._itemComfirmationWindow.open();
// this._itemComfirmationWindow.select(0);
// this._itemComfirmationWindow.setItem(this._itemListWindow.item());
// this._itemComfirmationWindow.activate();
// };
// //=============================================================================
// // * Item List - Cancel
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemListCancel = function() {
// this._itemListWindow.close();
// this._helpWindow.close();
// this._itemCategoryWindow.activate();
// this._itemCategoryWindow.refresh();
// };
// //=============================================================================
// // * Item Confirmation - Use
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemConfirmationUse = function() {
// this._partyStatusWindow.open();
// this._partyStatusWindow.refresh();
// this._partyStatusWindow.select(0)
// this._partyStatusWindow.activate();
// };
// //=============================================================================
// // * Item Confirmation - Trash
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemConfirmationTrash = function() {
// this._itemTrashPromptWindow.open();
// this._itemTrashPromptWindow.select(1);
// this._itemTrashPromptWindow.activate();
// };
// //=============================================================================
// // * Item Confirmation - Cancel
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemConfirmationCancel = function() {
// this._itemComfirmationWindow.close();
// this._itemListWindow.refresh();
// // Get Item Count
// var itemCount = this._itemListWindow.maxItems();
// // If Item count is more than 0
// if (itemCount > 0) {
// this._itemListWindow.activate();
// this._itemListWindow.selectAvailable();
// } else {
// this._itemTrashPromptWindow.close();
// this._itemComfirmationWindow.close();
// this._itemListWindow.close();
// this._itemCategoryWindow.refresh();
// this._itemCategoryWindow.activate();
// this._helpWindow.close();
// };
// };
// //=============================================================================
// // * Item Trash Prompt - Ok
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemTrashPromptOk = function() {
// // Get Item
// var item = this.item();
// // Lose Item
// $gameParty.loseItem(item, 1, false);
// // If there's no items left
// if ($gameParty.numItems(item) <= 0) {
// this._itemTrashPromptWindow.close();
// this._itemComfirmationWindow.close();
// this._itemListWindow.refresh()
// // Get Item Count
// var itemCount = this._itemListWindow.maxItems();
// // If Item count is more than 0
// if (itemCount > 0) {
// this._itemListWindow.activate();
// this._itemListWindow.selectAvailable()
// } else {
// this._itemTrashPromptWindow.close();
// this._itemComfirmationWindow.close();
// this._itemListWindow.close();
// this._itemCategoryWindow.refresh();
// this._itemCategoryWindow.activate();
// this._helpWindow.close();
// };
// } else {
// this._itemListWindow.redrawCurrentItem();
// this._itemTrashPromptWindow.close();
// this._itemComfirmationWindow.activate();
// };
// };
// //=============================================================================
// // * Item Trash Prompt - Cancel
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemTrashPromptCancel = function() {
// this._itemTrashPromptWindow.close();
// this._itemComfirmationWindow.activate();
// };
// //=============================================================================
// // * On Item Use OK
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemUseOk = function() {
// // Get Item
// var item = this.item();
// // If Player Can use Item
// if (this.canUse()) {
// // Use Item
// this.useItem();
// this._itemListWindow.redrawCurrentItem();
// } else {
// SoundManager.playBuzzer();
// };
// // $gameParty.setLastItem(this.item());
// // this.determineItem();
// this._partyStatusWindow.activate();
// };
// //=============================================================================
// // * On Item Use Cancel
// //=============================================================================
// Scene_OmoMenuItem.prototype.onItemUseCancel = function() {
// this._partyStatusWindow.close();
// this._itemComfirmationWindow.activate()
// };
// //=============================================================================
// // * Determine item
// //=============================================================================
// Scene_OmoMenuItem.prototype.determineItem = function() {
// var action = new Game_Action(this.user());
// var item = this.item();
// action.setItemObject(item);
// if (action.needsSelection()) {
// };
// if (action.isForFriend()) {
// this.showSubWindow(this._actorWindow);
// this._actorWindow.selectForItem(this.item());
// } else {
// this.useItem();
// this.activateItemWindow();
// }
// };
// //=============================================================================
// // * Determine if item can be used
// //=============================================================================
// Scene_OmoMenuItem.prototype.canUse = function() {
// return this.user().canUse(this.item()) && this.isItemEffectsValid();
// };
// //=============================================================================
// // * Determine if item effects are valid
// //=============================================================================
// Scene_OmoMenuItem.prototype.isItemEffectsValid = function() {
// var action = new Game_Action(this.user());
// action.setItemObject(this.item());
// return this.itemTargetActors().some(function(target) {
// return action.testApply(target);
// }, this);
// };
// //=============================================================================
// // * Use Item
// //=============================================================================
// Scene_OmoMenuItem.prototype.useItem = function() {
// SoundManager.playUseItem();
// this.user().useItem(this.item());
// this.applyItem();
// this.checkCommonEvent();
// this.checkGameover();
// this._partyStatusWindow.refresh();
// };
// //=============================================================================
// // * Apply Item
// //=============================================================================
// Scene_OmoMenuItem.prototype.applyItem = function() {
// var action = new Game_Action(this.user());
// action.setItemObject(this.item());
// this.itemTargetActors().forEach(function(target) {
// for (var i = 0; i < action.numRepeats(); i++) {
// action.apply(target);
// }
// }, this);
// action.applyGlobal();
// };
// //=============================================================================
// // * Check Common Event
// //=============================================================================
// Scene_OmoMenuItem.prototype.checkCommonEvent = function() {
// if ($gameTemp.isCommonEventReserved()) {
// SceneManager.goto(Scene_Map);
// }
// };
// //=============================================================================
// // ** Window_OmoMenuItemCategory
// //-----------------------------------------------------------------------------
// // The window for selecting item categories in the item menu
// //=============================================================================
// function Window_OmoMenuItemCategory() { this.initialize.apply(this, arguments); }
// Window_OmoMenuItemCategory.prototype = Object.create(Window_Command.prototype);
// Window_OmoMenuItemCategory.prototype.constructor = Window_OmoMenuItemCategory;
// //=============================================================================
// // * Settings
// //=============================================================================
// Window_OmoMenuItemCategory.prototype.isUsingCustomCursorRectSprite = function() { return true; };
// Window_OmoMenuItemCategory.prototype.standardPadding = function() { return 10; }
// Window_OmoMenuItemCategory.prototype.windowWidth = function() { return 383; }
// Window_OmoMenuItemCategory.prototype.maxCols = function() { return 3; };
// Window_OmoMenuItemCategory.prototype.lineHeight = function() { return 24; };
// Window_OmoMenuItemCategory.prototype.standardFontSize = function() { return 20; };
// Window_OmoMenuItemCategory.prototype.textPadding = function () { return 14; };
// Window_OmoMenuItemCategory.prototype.spacing = function() { return 0; };
// //=============================================================================
// // * Make Command List
// //=============================================================================
// Window_OmoMenuItemCategory.prototype.makeCommandList = function() {
// this.addCommand('CONSUMABLES', 'consumables', $gameParty.hasConsumableItems());
// this.addCommand('TOYS', 'toys', $gameParty.hasToyItems());
// this.addCommand('IMPORTANT', 'important', $gameParty.hasKeyItems());
// };
// //=============================================================================
// // * Item Rect
// //=============================================================================
// Window_OmoMenuItemCategory.prototype.itemRect = function(index) {
// // Get rect
// var rect = Window_Command.prototype.itemRect.call(this, index);
// rect.width += 20;
// // If Index 1 (For Visual centering)
// if (index === 1) { rect.x += 20 };
// // Return Rect
// return rect;
// };
// //=============================================================================
// // * Call Update Help
// //=============================================================================
// Window_OmoMenuItemCategory.prototype.callUpdateHelp = function() {
// // Run Original Function
// Window_Command.prototype.callUpdateHelp.call(this);
// if (this.active && this._itemWindow) {
// // Set Item Window Category
// this._itemWindow.setCategory(this.currentSymbol());
// };
// };
// //=============================================================================
// // ** Window_OmoMenuItemConfirmation
// //-----------------------------------------------------------------------------
// // The window for selection actions to perform for items in the item menu.
// //=============================================================================
// function Window_OmoMenuItemConfirmation() { this.initialize.apply(this, arguments); }
// Window_OmoMenuItemConfirmation.prototype = Object.create(Window_Command.prototype);
// Window_OmoMenuItemConfirmation.prototype.constructor = Window_OmoMenuItemConfirmation;
// //=============================================================================
// // * Object Initialization
// //=============================================================================
// Window_OmoMenuItemConfirmation.prototype.initialize = function() {
// // Super Call
// Window_Command.prototype.initialize.call(this, 0, 0);
// this.deactivate();
// this.openness = 0;
// // Set Item to null
// this.setItem(null);
// };
// //=============================================================================
// // * Settings
// //=============================================================================
// Window_OmoMenuItemConfirmation.prototype.isUsingCustomCursorRectSprite = function() { return true; };
// Window_OmoMenuItemConfirmation.prototype.standardPadding = function() { return 10; }
// Window_OmoMenuItemConfirmation.prototype.windowWidth = function() { return 125; }
// Window_OmoMenuItemConfirmation.prototype.lineHeight = function() { return 24; };
// Window_OmoMenuItemConfirmation.prototype.standardFontSize = function() { return 20; };
// Window_OmoMenuItemConfirmation.prototype.textPadding = function () { return 14; };
// Window_OmoMenuItemConfirmation.prototype.spacing = function() { return 0; };
// //=============================================================================
// // * Set Item
// //=============================================================================
// Window_OmoMenuItemConfirmation.prototype.setItem = function(item) {
// // Set Item
// if (item !== this._item) { this._item = item; this.refresh(); }
// };
// //=============================================================================
// // * Make Command List
// //=============================================================================
// Window_OmoMenuItemConfirmation.prototype.makeCommandList = function() {
// // Get Item
// var item = this._item;
// var enableUse = item ? $gameParty.canUse(item) : false;
// var enableTrash = item ? !DataManager.isKeyItem(item) : false;
// this.addCommand('USE', 'use', enableUse);
// this.addCommand('TRASH', 'trash', enableTrash);
// };
// //=============================================================================
// // ** Window_OmoMenuItemTrashPromptWindow
// //-----------------------------------------------------------------------------
// // This Window is used to show a prompt for trashing items
// //=============================================================================
// function Window_OmoMenuItemTrashPromptWindow() { this.initialize.apply(this, arguments); }
// Window_OmoMenuItemTrashPromptWindow.prototype = Object.create(Window_Command.prototype);
// Window_OmoMenuItemTrashPromptWindow.prototype.constructor = Window_OmoMenuItemTrashPromptWindow;
// //=============================================================================
// // * Initialize Object
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.initialize = function() {
// // Super Call
// Window_Command.prototype.initialize.call(this, 0, 0);
// // Prompt Text
// this._promptText = 'ARE YOU SURE?';
// // Refresh Contents
// this.refresh();
// this.openness = 0;
// this.deactivate();
// };
// //=============================================================================
// // * Settings
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.isUsingCustomCursorRectSprite = function() { return true; };
// Window_OmoMenuItemTrashPromptWindow.prototype.windowHeight = function() { return 84; };
// Window_OmoMenuItemTrashPromptWindow.prototype.windowWidth = function() { return 125; };
// Window_OmoMenuItemTrashPromptWindow.prototype.maxCols = function() { return 1; };
// Window_OmoMenuItemTrashPromptWindow.prototype.spacing = function() { return 0; };
// Window_OmoMenuItemTrashPromptWindow.prototype.standardPadding = function() { return 0; };
// Window_OmoMenuItemTrashPromptWindow.prototype.itemHeight = function() { return 20; };
// Window_OmoMenuItemTrashPromptWindow.prototype.standardFontSize = function() { return 20; };
// //=============================================================================
// // * Make Command List
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.makeCommandList = function() {
// this.addCommand('YES', 'yes');
// this.addCommand('NO', 'cancel');
// };
// //=============================================================================
// // * Refresh
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.refresh = function() {
// // Super Call
// Window_Command.prototype.refresh.call(this);
// this.drawText(this._promptText, 0, 0, this.contents.width, 'center');
// };
// //=============================================================================
// // * Get Item Rect
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.itemRect = function(index) {
// var rect = Window_Command.prototype.itemRect.call(this, index);
// rect.x += 10;
// rect.y += this.lineHeight() - 5;
// return rect;
// };
// //=============================================================================
// // * Get Item Rect For Text
// //=============================================================================
// Window_OmoMenuItemTrashPromptWindow.prototype.itemRectForText = function(index) {
// var rect = this.itemRect(index);
// rect.x += this.textPadding() + 40;
// rect.y -= 10;
// rect.width -= this.textPadding() * 2;
// return rect;
// };
// //=============================================================================
// // ** Window_OmoMenuItemPartyStatus
// //-----------------------------------------------------------------------------
// // The window is for selecting party members in the item scene.
// //=============================================================================
// function Window_OmoMenuItemPartyStatus() { this.initialize.apply(this, arguments); }
// Window_OmoMenuItemPartyStatus.prototype = Object.create(Window_Selectable.prototype);
// Window_OmoMenuItemPartyStatus.prototype.constructor = Window_OmoMenuItemPartyStatus;
// //=============================================================================
// // * Object Initialization
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.initialize = function() {
// // Header Text
// this._headerText = 'USE ON WHO?';
// // Super Call
// Window_Selectable.prototype.initialize.call(this, 0, 0, this.windowWidth(), this.windowHeight());
// // Refresh
// this.refresh();
// this.deselect()
// this.deactivate();
// this.openness = 0;
// };
// //=============================================================================
// // * Settings
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.isUsingCustomCursorRectSprite = function() { return true; };
// Window_OmoMenuItemPartyStatus.prototype.standardPadding = function() { return 0 }
// Window_OmoMenuItemPartyStatus.prototype.windowWidth = function() { return 224 }
// Window_OmoMenuItemPartyStatus.prototype.windowHeight = function() { return 38 + (this.maxItems() * this.itemHeight()); }
// Window_OmoMenuItemPartyStatus.prototype.maxItems = function() { return $gameParty.members().length; }
// Window_OmoMenuItemPartyStatus.prototype.maxCols = function() { return 1; };
// Window_OmoMenuItemPartyStatus.prototype.itemHeight = function() { return 24; };
// Window_OmoMenuItemPartyStatus.prototype.spacing = function() { return 0; };
// Window_OmoMenuItemPartyStatus.prototype.textPadding = function() { return 22; };
// Window_OmoMenuItemPartyStatus.prototype.customCursorRectYOffset = function() { return 2; }
// Window_OmoMenuItemPartyStatus.prototype.playOkSound = function() { };
// //=============================================================================
// // * Get Item Rect
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.itemRect = function(index) {
// // Get Item Rect
// var rect = Window_Selectable.prototype.itemRect.call(this, index);
// rect.y += 24
// // Return rect
// return rect;
// };
// //=============================================================================
// // * Get Actor At index
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.actor = function(index) {
// // Get Index
// if (index === undefined) { index = this.index(); };
// // Return Party Member
// return $gameParty.members()[index];
// };
// //=============================================================================
// // * Refresh
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.refresh = function() {
// // Run Original Function
// Window_Selectable.prototype.refresh.call(this);
// // Draw Headers
// this.contents.fontSize = 18;
// this.drawText(this._headerText, 8, -5, 200);
// };
// //=============================================================================
// // * Draw Item
// //=============================================================================
// Window_OmoMenuItemPartyStatus.prototype.drawItem = function(index) {
// // Get Rect
// var rect = this.itemRectForText(index);
// // Get Actor
// var actor = this.actor(index);
// // If Actor Exists
// if (actor) {
// // Set Font Size
// this.contents.fontSize = 24;
// // Draw Text
// this.contents.drawText(actor.name(), rect.x, rect.y, rect.width, rect.height);
// this.drawShortActorHP(actor, rect.x + 75, rect.y + 7)
// this.drawShortActorMP(actor, rect.x + 125, rect.y + 7)
// };
// };
// //=============================================================================
// // ** Window_OmoMenuItemList
// //-----------------------------------------------------------------------------
// // The window for selecting equipment for an actor
// //=============================================================================
// function Window_OmoMenuItemList() { this.initialize.apply(this, arguments); }
// Window_OmoMenuItemList.prototype = Object.create(Window_ItemList.prototype);
// Window_OmoMenuItemList.prototype.constructor = Window_OmoMenuItemList;
// //=============================================================================
// // * Object Initialization
// //=============================================================================
// Window_OmoMenuItemList.prototype.initialize = function() {
// // Super Call
// Window_ItemList.prototype.initialize.call(this, 0, 0, this.windowWidth(), this.windowHeight());
// // Set Category
// this.setCategory('consumables');
// this.deselect(0)
// this.deactivate()
// this.openness = 0;
// };
// //=============================================================================
// // * Settings
// //=============================================================================
// Window_OmoMenuItemList.prototype.isUsingCustomCursorRectSprite = function() { return true; };
// Window_OmoMenuItemList.prototype.standardPadding = function() { return 4;}
// Window_OmoMenuItemList.prototype.windowWidth = function() { return 383; }
// Window_OmoMenuItemList.prototype.windowHeight = function() { return 144; }
// Window_OmoMenuItemList.prototype.maxCols = function() { return 2; };
// Window_OmoMenuItemList.prototype.itemHeight = function() { return 28; };
// Window_OmoMenuItemList.prototype.itemWidth = function() { return 165; };
// Window_OmoMenuItemList.prototype.spacing = function() { return 14; };
// Window_OmoMenuItemList.prototype.customCursorRectXOffset = function() { return -2; }
// Window_OmoMenuItemList.prototype.isEnabled = function() { return true; };
// //=============================================================================
// // * Set Category
// //=============================================================================
// Window_OmoMenuItemList.prototype.setCategory = function(category) {
// // If
// if (this._category !== category) {
// this._category = category;
// this.refresh();
// };
// };
// //=============================================================================
// // * Determine if item should be included
// //=============================================================================
// Window_OmoMenuItemList.prototype.includes = function(item) {
// // If Item Exists and it's an item
// if (item && DataManager.isItem(item)) {
// switch (this._category) {
// case 'consumables': return DataManager.isConsumableItem(item);
// case 'toys': return DataManager.isToyItem(item);
// case 'important': return DataManager.isKeyItem(item);
// };
// };
// return false;
// };
// //=============================================================================
// // * Get Item Rect
// //=============================================================================
// Window_OmoMenuItemList.prototype.itemRect = function(index) {
// // Get Item Rect
// var rect = Window_ItemList.prototype.itemRect.call(this, index);
// // Adjust Rect
// rect.x += 12;
// rect.y += 8;
// // Return rect
// return rect;
// };
// //=============================================================================
// // * Refresh Arrows
// //=============================================================================
// Window_OmoMenuItemList.prototype._refreshArrows = function() {
// // Super Call
// Window_ItemList.prototype._refreshArrows.call(this);
// var w = this._width;
// var h = this._height;
// var p = 24;
// var q = p/2;
// this._downArrowSprite.move(w - q, h - q);
// this._upArrowSprite.move(w - q, q);
// };
// //=============================================================================
// // * Clear Item
// //=============================================================================
// Window_OmoMenuItemList.prototype.clearItem = function(index) {
// var rect = this.itemRect(index);
// this.contents.clearRect(rect.x, rect.y, rect.width + 5, rect.height);
// };
// //=============================================================================
// // * Draw Item
// //=============================================================================
// Window_OmoMenuItemList.prototype.drawItem = function(index) {
// // Get Rect
// var rect = this.itemRectForText(index);
// // Get Item
// var item = this._data[index]
// // If Item
// if (item) {
// // Set Font Size
// this.contents.fontSize = 20;
// rect.width -= 20;
// // Draw Text
// this.contents.drawText(item.name, rect.x, rect.y, rect.width, rect.height);
// rect.width += 20
// this.contents.drawText('x' + $gameParty.numItems(item), rect.x + rect.width - 18, rect.y, rect.width, rect.height);
// };
// };