//=============================================================================
// Yanfly Engine Plugins - Debugger
// YEP_Debugger.js
//=============================================================================
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
var Imported = Imported || {};
Imported.YEP_Debugger = true;
var Yanfly = Yanfly || {};
Yanfly.Debug = Yanfly.Debug || {};
Yanfly.Debug.version = 2.07;
//=============================================================================
/*:
* @plugindesc v2.07 This is Yanfly's debugger plugin tool given to
* faithful supporters to help you testplay your game better!
* @author Yanfly Engine Plugins
*
* @param ---Startup---
* @default
*
* @param Auto New Game
* @parent ---Startup---
* @type boolean
* @on Auto-New Game
* @off Normal
* @desc Automatically start a new game upon test play.
* ON - true OFF - false
* @default false
*
* @param Auto Show FPS
* @parent ---Startup---
* @type boolean
* @on Show FPS
* @off Hide FPS
* @desc Automatically show FPS at the start of test play?
* ON - true OFF - false
* @default false
*
* @param Auto Full Screen
* @parent ---Startup---
* @type boolean
* @on Auto-Full Screen
* @off Normal
* @desc Automatically switch to full screen during test play?
* ON - true OFF - false
* @default false
*
* @param Auto Console
* @parent ---Startup---
* @type boolean
* @on Auto-Console
* @off Normal
* @desc Launch Console Window whenever an error occurs?
* ON - true OFF - false
* @default false
*
* @param ---Visual---
* @default
*
* @param Debug Window Tone
* @parent ---Visual---
* @desc This is the tone color used for debug windows.
* @default 50, 50, 50, 0
*
* @param Console Messages
* @type boolean
* @on Display Errors
* @off Don't Dispaly
* @desc Display messages on the console when you're accessing the
* debug menu? YES - true NO - false
* @default true
*
* @param ---Field---
* @default
*
* @param Field Debug
* @parent ---Field---
* @type boolean
* @on Field Debug
* @off No Debug
* @desc Enable field debug menu when clicking on events?
* NO - false YES - true
* @default true
*
* @param Debug Menu Icon
* @parent ---Field---
* @type number
* @min 0
* @desc The icon used for the debug menu that will appear in the
* upper right corner for the map. Use 0 to disable this.
* @default 225
*
* @param ---Battle---
* @default
*
* @param Battle Test TP Start
* @parent ---Battle---
* @desc This is the amount of TP to start test battles with.
* 'value' is the amount of HP.
* @default value = user.maxTp()
*
* @param Damage CTRL Modifier
* @parent ---Battle---
* @desc While holding down CTRL, alter damage like such:
* 'value' is the damage amount.
* @default value *= -1
*
* @param Damage SHIFT Modifier
* @parent ---Battle---
* @desc While holding down SHIFT, alter damage like such:
* 'value' is the damage amount.
* @default value *= 10
*
* @param EXP CTRL Modifier
* @parent ---Battle---
* @desc While holding down CTRL, alter EXP like such:
* 'rate' is the exp rate.
* @default rate *= 100
*
* @param EXP SHIFT Modifier
* @parent ---Battle---
* @desc While holding down SHIFT, alter EXP like such:
* 'rate' is the exp rate.
* @default rate *= 10
*
* @param Warning Message
* @parent ---Battle---
* @type boolean
* @on Show Warnings
* @off Hide Warnings
* @desc Enable warning messages to be displayed in case Lunatic Mode
* code goes wrong for HP/MP/TP. YES - true NO - false
* @default true
*
* @param Disable Variance
* @parent ---Battle---
* @type boolean
* @on Enable Variance
* @off Disable Variance
* @desc Disable damage variance by default?
* YES - true NO - false
* @default false
*
* @param 100% State Rate
* @parent ---Battle---
* @type boolean
* @on 100% Rates
* @off Normal Rates
* @desc Enable 100% status proc rate by default?
* YES - true NO - false
* @default false
*
* @param ---Spawn Options---
* @default
*
* @param Spawn at Boat
* @parent ---Spawn Options---
* @type boolean
* @on Add Option
* @off Hide Option
* @desc Add an option to the title command window to spawn
* at the boat location. YES - true NO - false
* @default true
*
* @param Spawn at Ship
* @parent ---Spawn Options---
* @type boolean
* @on Add Option
* @off Hide Option
* @desc Add an option to the title command window to spawn
* at the ship location. YES - true NO - false
* @default true
*
* @param Spawn at Airship
* @parent ---Spawn Options---
* @type boolean
* @on Add Option
* @off Hide Option
* @desc Add an option to the title command window to spawn
* at the airship location. YES - true NO - false
* @default true
*
* @help
* ============================================================================
* Introduction
* ============================================================================
*
* This is the revamped version of the YEP Debugger to offer a larger degree of
* flexibility in helping you testplay your games. Chances are, if you have
* this plugin, are you most likely contributing to Yanfly's Patreon & helping
* to support Yanfly's works for RPG Maker MV. Thank you very much as it is
* highly appreciated for you to provide support!
*
* This plugin is made to help you test your game more efficiently by providing
* extra debugging tools that don't normally come with RPG Maker MV. Note that
* all of these features added by this plugin are disabled when the game is not
* being played in Play Test or Battle Test mode.
*
* ============================================================================
* Features
* ============================================================================
*
* The following is a list of the features that you'll find added to the
* Debugger that are only available through Testplay.
*
* ----------------------------------------------------------------------------
* F9 - Debug Menu
* ----------------------------------------------------------------------------
*
* By default, pressing the F9 key while on a map will open up a mini debug
* menu that lets you alter switches and variables. This plugin extends the F9
* key to almost all scenes and provides a huge variety of options. You can
* access quick commands, alter switches and variables in a more efficient
* manner, teleport to various maps, launch common events, enter battles of
* your choice, modify actors and enemies, quickly apply states and buffs,
* reach the main menu, or quickly alter the quantity of items, weapons, and/or
* armors any time the menu is open.
*
* ----------------------------------------------------------------------------
* Automatic New Game, FPS, Full Screen, and Console
* ----------------------------------------------------------------------------
*
* Want to skip the title screen? You can do so by simply enabling it from the
* plugin parameters. Every second of test-playing is important and sometimes
* skipping straight to the map scene will save on that time.
*
* Alternatively, you can save yourself a few keypresses as well by turning on
* the FPS counter, Full Screen, and Console Window (whenever an error occurs).
* This way, you can monitor your game closely, quickly, and efficiently.
*
* ----------------------------------------------------------------------------
* Field Debug
* ----------------------------------------------------------------------------
*
* Quick a few debug options have been added to the debugger that function
* while on the map.
*
* If you hold down the 'control' button and left click on the map, your player
* character will be instantly teleported to that location to save travel time.
* This will be used mostly to bypass unnecessary areas and save more time for
* testing your game.
*
* The Field Debug menu will appear when you right click on the map. Instead of
* instantly taking you to the main menu when you right click, depending on
* where you right click, a different set of options will appear. If you right
* click on open ground, you are given the option to warp to that spot. If you
* right click on an event, you are given some options to alter that event.
*
* The Debug Menu Icon will appear in the upper right corner of the map if you
* have it enabled. Clicking it will prompt open a new set of quick options for
* you to utilize to quickly debug your game and save on testing time.
*
* ----------------------------------------------------------------------------
* Battle Debug
* ----------------------------------------------------------------------------
*
* While in battle, pressing F9 and accessing the 'Quick' menu will allow you
* to quickly choose whether or not to win a battle, lose a battle, or to
* recover everything for the party.
*
* You can also quickly set the amount of TP to start with for the battle using
* the plugin parameters in a formulaic manner, too. Starting from 0 TP each
* battle test can make things rather slow. This will help speed things up.
*
* Other new debugging functions involve holding down 'control' or 'shift' as
* damage calculations are made. You can alter them via a formula any way you
* wish through the plugin parameters, but by default, holding down shift will
* inflate the damage dealt by 10x while 'control' will change it to healing.
* This is to quickly get through battles quickly or to shift things into favor
* of a certain side quickly. On that note, holding down 'control' or 'shift'
* while EXP is being gained can also alter the amount of EXP earned, too, to
* reduce the need for grinding.
*
* -------------------
* Version 2.02 Update
* -------------------
* There are now options to enable/disable variance for damage formulas inside
* the Debug menu's 'Quick' menu while in battle. They will do exactly as they
* are named. Disabling damage variance will allow you to accurately judge how
* much damage a skill will actually do without all the
* random variable interference.
*
* There are now options to enable 100% state rates or apply normal state rates
* in the Debug menu's 'Quick' menu while in battle. Doing so will make all
* states applied through skills using traits will have a 100% success rate,
* removing the frustration of having to keep casting the skill over and over
* again to test the effects of a state.
*
* ----------------------------------------------------------------------------
* Spawn Options
* ----------------------------------------------------------------------------
*
* A large portion of games have their own debug rooms. However, it's a bit of
* a tedious work each time to set the starting location of the player to the
* debug room each time and return it back. This plugin adds a new solution to
* reduce that tedious work.
*
* What this plugin does is add to your title screen's command window extra
* options that appear only in debug menu. These options are linked to where
* you have placed your vehicles in the editor and will allow you to start a
* new game in that vehicle's default location. If a vehicle does not have a
* starting location, the option will not appear in the window to select.
*
* The purpose of this feature is to allow you to teleport to your debug room
* quickly without the need to constantly switch the player's start location.
* As vehicles see very little use (and when they do, their start location in
* the game is usually changed by an event), having a vehicle as a secondary
* anchor point makes for a nice shortcut to your debug room.
*
* ============================================================================
* Special Thanks
* ============================================================================
*
* I just wanted to say, thank you, to soome very special people:
*
* Archeia - Thank you for letting me into beta for RPG Maker MV. Always
* keeping me updated and figuring things out together to make this the best
* RPG Maker yet. Let's walk together towards success.
*
* FlyingDream - Thank you for all you've done to me. You have a very special
* place in my heart and I'll never be able to get as far as I did without you
* supporting me from behind like always. When it comes to support, you're
* second to none. We had a lot of wonderful moments together that I'll never
* ever forget for the rest of my life. Thank you.
*
* Rukaroa - Thank you for always staying a wonderful friend and giving me so
* many ideas to work with. It's always a blast to work together with you.
*
* And to all my supporters - I'm happy you're all faithful users of mine and
* had it not been for you believing in my work these past years, I probably
* wouldn't even be here right now.
*
* ============================================================================
* Changelog
* ============================================================================
*
* Version 2.04:
* v2.00 - First ever v2 release!
* v2.01 - Updated buff/debuff turns to last 5 turns minimum.
* v2.02 - Added 'Disable Variance' and '100% State Rate' plugin parameters.
* v2.03 - Added level changing options to 'Quick', 'Actor', and 'Enemy' menus.
* v2.04 - Added skill learning options to 'Quick' and 'Actor' menus.
* v2.05 - Fixed an error with item adding.
* v2.06 - Updated for MV 1.5.0
* v2.07 - Updated for MV 1.6.1
*
* Version 1.31:
* - Last v1 release.
*
* Version 1.00:
* - Finished Plugin
*
*/
//=============================================================================
//=============================================================================
// Parameter Variables
//=============================================================================
Yanfly.SetupParameters = function () {
Yanfly.Max = Yanfly.Max || {};
Yanfly.Param = Yanfly.Param || {};
Yanfly.Icon = Yanfly.Icon || {};
var params = PluginManager.parameters('YEP_Debugger');
// General
Yanfly.Param.DebugAutoNewGame = eval(String(params['Auto New Game']));
Yanfly.Param.DebugAutoFPS = eval(String(params['Auto Show FPS']));
Yanfly.Param.DebugAutoFS = eval(String(params['Auto Full Screen']));
Yanfly.Param.DebugAutoConsole = eval(String(params['Auto Console']));
// Visual
Yanfly.Param.DebugWindowTone = String(params['Debug Window Tone']);
Yanfly.Param.DebugWindowTone = this.Param.DebugWindowTone.split(',');
var length = Yanfly.Param.DebugWindowTone.length;
for (var i = 0; i < length; ++i) {
Yanfly.Param.DebugWindowTone[i] =
parseInt(Yanfly.Param.DebugWindowTone[i].trim());
}
Yanfly.Param.DebugConsoleMsg = eval(String(params['Console Messages']));
// Field
Yanfly.Param.DebugFieldDebug = eval(String(params['Field Debug']));
Yanfly.Param.DebugMapIcon = Number(params['Debug Menu Icon']);
// Battle
Yanfly.Param.DebugTestTpStart = String(params['Battle Test TP Start']);
Yanfly.Param.DebugModCtrl = String(params['Damage CTRL Modifier']);
Yanfly.Param.DebugModShift = String(params['Damage SHIFT Modifier']);
Yanfly.Param.DebugExpCtrl = String(params['EXP CTRL Modifier']);
Yanfly.Param.DebugExpShift = String(params['EXP SHIFT Modifier']);
Yanfly.Param.DebugWarning = eval(String(params['Warning Message']))
Yanfly.Param.DebugVariance = eval(String(params['Disable Variance']))
Yanfly.Param.DebugStateRate = eval(String(params['100% State Rate']))
// Spawn Options
Yanfly.Param.DebugSpawnBoat = eval(String(params['Spawn at Boat']));
Yanfly.Param.DebugSpawnShip = eval(String(params['Spawn at Ship']));
Yanfly.Param.DebugSpawnAirship = eval(String(params['Spawn at Airship']));
};
Yanfly.SetupParameters();
//=============================================================================
// DataManager
//=============================================================================
Yanfly.Debug.DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function () {
if (!Yanfly.Debug.DataManager_isDatabaseLoaded.call(this)) return false;
if (!Yanfly._loaded_YEP_Debugger) {
Yanfly.Max = Yanfly.Max || {};
Yanfly.Max.Actors = $dataActors.length;
Yanfly.Max.Items = $dataItems.length;
Yanfly.Max.Weapons = $dataWeapons.length;
Yanfly.Max.Armors = $dataArmors.length;
Yanfly._loaded_YEP_Debugger = true;
}
return true;
};
DataManager.loadTeleportMapData = function (mapId) {
if (mapId > 0) {
var filename = 'Map%1.json'.format(mapId.padZero(3));
this.loadDataFile('$dataTeleportMap', filename);
} else {
this.makeEmptyMap();
}
};
DataManager.debugStart = function (vehicle) {
DataManager._debugStart = true;
this.createGameObjects();
this.selectSavefileForNewGame();
$gameParty.setupStartingMembers();
$gamePlayer.reserveTransfer(vehicle.startMapId,
vehicle.startX, vehicle.startY);
Graphics.frameCount = 0;
};
//=============================================================================
// SceneManager
//=============================================================================
Yanfly.Debug.SceneManager_onSceneCreate = SceneManager.onSceneCreate;
SceneManager.onSceneCreate = function () {
Yanfly.Debug.SceneManager_onSceneCreate.call(this);
if ($gameSystem) this._scene.createDebugWindows();
};
if (Yanfly.Param.DebugAutoConsole) {
Yanfly.Debug.Graphics_printError = Graphics.printError;
Graphics.printError = function (name, message) {
var _debugWindow = require('nw.gui').window.showDevTools();
_debugWindow.moveTo(0, 0);
window.focus();
Yanfly.Debug.Graphics_printError.call(this, name, message);
};
}; // Yanfly.Param.DebugAutoConsole
var log = function (v) {
var _debugWindow = require('nw.gui').window.showDevTools();
_debugWindow.moveTo(0, 0);
console.log(v);
};
Yanfly.Debug.SceneManager_onKeyDown = SceneManager.onKeyDown;
SceneManager.onKeyDown = function (event) {
if (!event.ctrlKey && !event.altKey && event.keyCode === 116) {
if (Utils.isNwjs() && Utils.isOptionValid('test')) {
var win = require('nw.gui').window;
win.closeDevTools();
}
}
Yanfly.Debug.SceneManager_onKeyDown.call(this, event);
};
//=============================================================================
// BattleManager
//=============================================================================
BattleManager.closeWindowsForDebugAction = function () {
var scene = SceneManager._scene;
var length = scene.children.length;
for (var i = 0; i < length; ++i) {
var child = scene.children[i];
if (child && child.windowskin) {
child.deactivate();
child.close();
}
}
var length = scene._windowLayer.children.length;
for (var i = 0; i < length; ++i) {
var child = scene._windowLayer.children[i];
if (child && child.windowskin) {
child.deactivate();
child.close();
}
}
this.startTurn();
this.update();
};
//=============================================================================
// Game_Temp
//=============================================================================
Game_Temp.prototype.isDisableDamageVariance = function () {
if (this._debugDisableDamageVariance === undefined) {
this._debugDisableDamageVariance = Yanfly.Param.DebugVariance;
}
return this._debugDisableDamageVariance;
};
Game_Temp.prototype.setDisableDamageVariance = function (value) {
this._debugDisableDamageVariance = value;
};
Game_Temp.prototype.isPerfectStateRate = function () {
if (this._debugPerfectStateRate === undefined) {
this._debugPerfectStateRate = Yanfly.Param.DebugStateRate;
}
return this._debugPerfectStateRate;
};
Game_Temp.prototype.setPerfectStateRate = function (value) {
this._debugPerfectStateRate = value;
};
Game_Temp.prototype.addAllSkills = function () {
var group = $gameParty.members();
var length = group.length;
var skillLength = $dataSkills.length;
while (length--) {
var member = group.shift();
if (member) {
for (var i = 1; i < skillLength; ++i) {
var skill = $dataSkills[i];
if (skill) member.learnSkill(i);
}
}
}
};
Game_Temp.prototype.addAllNamedSkills = function () {
var group = $gameParty.members();
var length = group.length;
var skillLength = $dataSkills.length;
while (length--) {
var member = group.shift();
if (member) {
for (var i = 1; i < skillLength; ++i) {
var skill = $dataSkills[i];
if (!skill) continue;
if (skill.name === '') continue;
if (skill.stypeId < 1) continue;
member.learnSkill(i);
}
}
}
};
Game_Temp.prototype.removeAllSkills = function () {
var group = $gameParty.members();
var length = group.length;
while (length--) {
var member = group.shift();
if (member) {
member._skills = [];
}
}
};
//=============================================================================
// Game_Enemy
//=============================================================================
if (Imported.YEP_EnemyLevels) {
Game_Enemy.prototype.maxLevel = function () {
return this.enemy().maxLevel;
};
} // Imported.YEP_EnemyLevels
//=============================================================================
// Game_Action
//=============================================================================
Yanfly.Debug.Game_Action_makeDamageValue =
Game_Action.prototype.makeDamageValue;
Game_Action.prototype.makeDamageValue = function (target, cri) {
value = Yanfly.Debug.Game_Action_makeDamageValue.call(this, target, cri);
if (Input.isPressed('shift')) eval(Yanfly.Param.DebugModShift);
if (Input.isPressed('control')) eval(Yanfly.Param.DebugModCtrl);
return value;
};
Yanfly.Debug.Game_Action_applyVariance = Game_Action.prototype.applyVariance;
Game_Action.prototype.applyVariance = function (damage, variance) {
if ($gameTemp.isDisableDamageVariance()) variance = 0;
return Yanfly.Debug.Game_Action_applyVariance.call(this, damage, variance);
};
Yanfly.Debug.Game_Action_itemEffectAddState =
Game_Action.prototype.itemEffectAddState;
Game_Action.prototype.itemEffectAddState = function (target, effect) {
if ($gameTemp.isPerfectStateRate() && effect) {
if (effect.dataId === 0) {
this.perfectEffectAddAttackState(target, effect);
} else {
this.perfectAddNormalState(target, effect);
}
} else {
Yanfly.Debug.Game_Action_itemEffectAddState.call(this, target, effect);
}
};
Game_Action.prototype.perfectEffectAddAttackState = function (target, effect) {
this.subject().attackStates().forEach(function (stateId) {
target.addState(stateId);
this.makeSuccess(target);
}.bind(this), target);
};
Game_Action.prototype.perfectAddNormalState = function (target, effect) {
target.addState(effect.dataId);
this.makeSuccess(target);
};
//=============================================================================
// Game_BattlerBase
//=============================================================================
if (Yanfly.Param.DebugWarning) {
Game_BattlerBase.prototype.issueWarningNaN = function (value, type) {
if (Yanfly.Param.DebugAutoConsole) {
var _debugWindow = require('nw.gui').window.showDevTools();
_debugWindow.moveTo(0, 0);
}
console.log('---WARNING---')
console.log('You just tried to change ' + type + ' into an illegal value: '
+ value);
SoundManager.playBuzzer();
};
Yanfly.Debug.Game_BattlerBase_setHp = Game_BattlerBase.prototype.setHp;
Game_BattlerBase.prototype.setHp = function (hp) {
if (isNaN(Number(hp))) return this.issueWarningNaN(hp, 'HP');
Yanfly.Debug.Game_BattlerBase_setHp.call(this, hp);
};
Yanfly.Debug.Game_BattlerBase_setMp = Game_BattlerBase.prototype.setMp;
Game_BattlerBase.prototype.setMp = function (mp) {
if (isNaN(Number(mp))) return this.issueWarningNaN(mp, 'MP');
Yanfly.Debug.Game_BattlerBase_setMp.call(this, mp);
};
Yanfly.Debug.Game_BattlerBase_setTp = Game_BattlerBase.prototype.setTp;
Game_BattlerBase.prototype.setTp = function (tp) {
if (isNaN(Number(tp))) return this.issueWarningNaN(tp, 'TP');
Yanfly.Debug.Game_BattlerBase_setTp.call(this, tp);
};
}; // Yanfly.Param.DebugWarning
//=============================================================================
// Game_Battler
//=============================================================================
Yanfly.Debug.Game_Battler_onBattleStart = Game_Battler.prototype.onBattleStart;
Game_Battler.prototype.onBattleStart = function () {
Yanfly.Debug.Game_Battler_onBattleStart.call(this);
if (!BattleManager.isBattleTest()) return;
var value = 0;
var user = this;
var target = this;
var a = this;
var b = this;
var subject = this;
var s = $gameSwitches._data;
var v = $gameVariables._data;
eval(Yanfly.Param.DebugTestTpStart);
this.gainTp(value);
};
//=============================================================================
// Game_Actor
//=============================================================================
Yanfly.Debug.Game_Actor_finalExpRate = Game_Actor.prototype.finalExpRate;
Game_Actor.prototype.finalExpRate = function () {
var rate = Yanfly.Debug.Game_Actor_finalExpRate.call(this);
if (Input.isPressed('shift')) eval(Yanfly.Param.DebugExpCtrl);
if (Input.isPressed('control')) eval(Yanfly.Param.DebugExpShift);
return rate;
};
//=============================================================================
// Game_Unit
//=============================================================================
Yanfly.Debug.Game_Unit_onBattleStart = Game_Unit.prototype.onBattleStart;
Game_Unit.prototype.onBattleStart = function () {
if ($gameTemp._debugBattle) return;
Yanfly.Debug.Game_Unit_onBattleStart.call(this);
};
Yanfly.Debug.Game_Unit_onBattleEnd = Game_Unit.prototype.onBattleEnd;
Game_Unit.prototype.onBattleEnd = function () {
if ($gameTemp._debugBattle) return;
Yanfly.Debug.Game_Unit_onBattleEnd.call(this);
};
//=============================================================================
// Game_Vehicle
//=============================================================================
Yanfly.Debug.Game_Vehicle_loadSystemSettings =
Game_Vehicle.prototype.loadSystemSettings;
Game_Vehicle.prototype.loadSystemSettings = function () {
if (DataManager._debugStart) {
var vehicle = this.vehicle();
this._mapId = 0;
this.setPosition(0, 0);
this.setImage(vehicle.characterName, vehicle.characterIndex);
} else {
Yanfly.Debug.Game_Vehicle_loadSystemSettings.call(this);
}
};
//=============================================================================
// Scene_Base
//=============================================================================
Yanfly.Debug.Scene_Base_initialize = Scene_Base.prototype.initialize;
Scene_Base.prototype.initialize = function () {
Yanfly.Debug.Scene_Base_initialize.call(this);
this._debugActive = false;
this._debugChildren = [];
};
Scene_Base.prototype.addDebugWindow = function (window) {
this._debugChildren.push(window);
this.addChild(window);
};
Scene_Base.prototype.createDebugWindows = function () {
this._debugWindowHelp = new Window_Help();
this._debugWindowHelp.setDebug();
this.addDebugWindow(this._debugWindowHelp);
this._debugWindowMenu = new Window_DebugMenu(this._debugWindowHelp);
this.addDebugWindow(this._debugWindowMenu);
this._debugWindowMenu.setHandler('cancel', this.debugClose.bind(this));
this._debugWindowAction = new Window_DebugAction(this._debugWindowHelp);
this.addDebugWindow(this._debugWindowAction);
this._debugWindowMenu.setActionWindow(this._debugWindowAction);
this._debugWindowAction.setHandler('cancel', this.debugActClose.bind(this));
};
Yanfly.Debug.Scene_Base_update = Scene_Base.prototype.update;
Scene_Base.prototype.update = function () {
Yanfly.Debug.Scene_Base_update.call(this);
if (this.isDebugCalled()) this.callDebug();
};
Scene_Base.prototype.updateDebugChildren = function () {
this._debugChildren.forEach(function (child) {
if (child.update) child.update();
});
};
Yanfly.Debug.Scene_Base_updateChildren = Scene_Base.prototype.updateChildren;
Scene_Base.prototype.updateChildren = function () {
if (this._debugActive) {
this.updateDebugChildren();
} else {
Yanfly.Debug.Scene_Base_updateChildren.call(this);
}
};
Scene_Base.prototype.isDebugCalled = function () {
return Input.isTriggered('debug') && $gameTemp.isPlaytest() && $gameSystem;
};
Scene_Base.prototype.debugStop = function () {
this._active = false;
this._debugActive = true;
};
Scene_Base.prototype.debugResume = function () {
this._active = true;
this._debugActive = false;
};
Scene_Base.prototype.callDebug = function () {
if (this._debugWindowHelp.isOpen()) {
this.debugClose();
} else {
this.debugOpen();
}
};
Scene_Base.prototype.debugOpen = function () {
this.debugStop();
this._debugWindowHelp.open();
this._debugWindowMenu.open();
this._debugWindowMenu.activate();
this.onDebugOpen();
};
Scene_Base.prototype.debugMain = function () {
this._debugWindowMenu.open();
this._debugWindowMenu.activate();
this._debugWindowAction.close();
this._debugWindowAction.deactivate();
};
Scene_Base.prototype.onDebugOpen = function () {
if (Yanfly.Param.DebugConsoleMsg) {
console.log('--------------------------------------');
console.log('Opening Yanfly Engine Plugins Debugger');
console.log('--------------------------------------');
}
Input.keyMapper['prevEnd'] = Input.keyMapper[35];
Input.keyMapper['prevHome'] = Input.keyMapper[36];
Input.keyMapper[35] = 'end';
Input.keyMapper[36] = 'home';
if (Imported.YEP_ItemCore) $gameTemp.enableVarianceStock();
};
Scene_Base.prototype.debugClose = function () {
this._debugWindowHelp.close();
this._debugWindowMenu.close();
this._debugWindowMenu.deactivate();
this._debugWindowAction.close();
this._debugWindowAction.deactivate();
this.debugRefreshAllWindows();
this.onDebugClose();
this.debugResume();
};
Scene_Base.prototype.onDebugClose = function () {
if (Yanfly.Param.DebugConsoleMsg) {
console.log('--------------------------------------');
console.log('Closing Yanfly Engine Plugins Debugger');
console.log('--------------------------------------');
}
Input.keyMapper[35] = Input.keyMapper['prevEnd'];
Input.keyMapper[36] = Input.keyMapper['prevHome'];
Input.keyMapper['prevEnd'] = undefined;
Input.keyMapper['prevHome'] = undefined;
if (Imported.YEP_ItemCore) $gameTemp.disableVarianceStock();
};
Scene_Base.prototype.debugRefreshAllWindows = function () {
var length = this.children.length;
for (var i = 0; i < length; ++i) {
var child = this.children[i];
if (this.isChildValid(child)) child.refresh();
}
var length = this._windowLayer.children.length;
for (var i = 0; i < length; ++i) {
var child = this._windowLayer.children[i];
if (this.isChildValid(child)) child.refresh();
}
};
Scene_Base.prototype.isChildValid = function (child) {
if (!child) return false;
if (!child.windowskin) return false;
if (typeof child.refresh !== 'function') return false;
if (Imported.YEP_MessageCore) {
if (child instanceof Window_NameBox) return false;
}
if (Imported.YEP_ItemSynthesis) {
if (child instanceof Window_SynthesisIngredients) return false;
}
if (Imported.YEP_VictoryAftermath) {
if (child instanceof Window_VictoryTitle) return false;
}
if (Imported.YEP_GabWindow) {
if (child instanceof Window_Gab) return false;
}
return true;
};
Scene_Base.prototype.debugActClose = function () {
if (this._debugWindowAction._battler) {
this._debugWindowAction.removeBattler();
} else {
this.debugMain();
}
};
//=============================================================================
// Scene_Boot
//=============================================================================
if (Yanfly.Param.DebugAutoNewGame) {
Scene_Boot.prototype.start = function () {
Scene_Base.prototype.start.call(this);
SoundManager.preloadImportantSounds();
if (DataManager.isBattleTest()) {
DataManager.setupBattleTest();
SceneManager.goto(Scene_Battle);
} else if (DataManager.isEventTest()) {
DataManager.setupEventTest();
SceneManager.goto(Scene_Map);
} else {
this.newGame();
}
this.updateDocumentTitle();
};
Scene_Boot.prototype.newGame = function () {
this.checkPlayerLocation();
DataManager.setupNewGame();
SceneManager.goto(Scene_Map);
};
}; // Yanfly.Param.DebugAutoNewGame
Yanfly.Debug.Scene_Boot_start = Scene_Boot.prototype.start;
Scene_Boot.prototype.start = function () {
Yanfly.Debug.Scene_Boot_start.call(this);
if (Yanfly.Param.DebugAutoFPS) Graphics._switchFPSMeter();
if (Yanfly.Param.DebugAutoFS) Graphics._requestFullScreen();
};
//=============================================================================
// Scene_Title
//=============================================================================
Yanfly.Debug.Scene_Title_createCommandWindow =
Scene_Title.prototype.createCommandWindow;
Scene_Title.prototype.createCommandWindow = function () {
Yanfly.Debug.Scene_Title_createCommandWindow.call(this);
DataManager._debugStart = false;
this._commandWindow.setHandler('startBoat', this.debugBoat.bind(this));
this._commandWindow.setHandler('startShip', this.debugShip.bind(this));
this._commandWindow.setHandler('startAirship', this.debugAirship.bind(this));
};
Scene_Title.prototype.debugBoat = function () {
DataManager.debugStart($dataSystem.boat);
SceneManager.goto(Scene_Map);
};
Scene_Title.prototype.debugShip = function () {
DataManager.debugStart($dataSystem.ship);
SceneManager.goto(Scene_Map);
};
Scene_Title.prototype.debugAirship = function () {
DataManager.debugStart($dataSystem.airship);
SceneManager.goto(Scene_Map);
};
//=============================================================================
// Scene_Menu
//=============================================================================
Scene_Menu.prototype.commandDebug = function () {
this.callDebug();
this._commandWindow.activate();
};
//=============================================================================
// Scene_Map
//=============================================================================
Scene_Base.prototype.isMap = function () {
return false;
};
Scene_Map.prototype.isMap = function () {
return true;
};
Yanfly.Debug.Scene_Map_createDisplayObjects =
Scene_Map.prototype.createDisplayObjects;
Scene_Map.prototype.createDisplayObjects = function () {
Yanfly.Debug.Scene_Map_createDisplayObjects.call(this);
Scene_Base.prototype.createDebugWindows.call(this);
};
Yanfly.Debug.Scene_Map_updateMain = Scene_Map.prototype.updateMain;
Scene_Map.prototype.updateMain = function () {
if (this._debugActive) {
$gameScreen.update();
} else {
Yanfly.Debug.Scene_Map_updateMain.call(this);
}
};
Scene_Map.prototype.updateCallDebug = function () {
};
Scene_Map.prototype.debugOpen = function () {
Scene_Base.prototype.debugOpen.call(this);
};
//=============================================================================
// Game_Map // From Debugger v1
//=============================================================================
Game_Map.prototype.getEventAtPos = function (x, y) {
for (var i = 0; i < this.events().length; ++i) {
var ev = this.events()[i];
if (!ev) continue;
if (ev.x === x && ev.y === y) return ev;
}
return null;
};
//=============================================================================
// Scene_Map // From Debugger v1
//=============================================================================
Yanfly.Debug.Scene_Map_createAllWindows = Scene_Map.prototype.createAllWindows;
Scene_Map.prototype.createAllWindows = function () {
Yanfly.Debug.Scene_Map_createAllWindows.call(this);
this.createFieldDebugWindow();
this.createDebugMapIconWindow();
};
Yanfly.Debug.Scene_Map_processMapTouch = Scene_Map.prototype.processMapTouch;
Scene_Map.prototype.processMapTouch = function () {
if (Yanfly.Param.DebugMapIcon && TouchInput.isTriggered()) {
if (this._debugMapIconWindow &&
this._debugMapIconWindow.isTouchedInsideFrame()) {
$gameTemp._forcePlayerDebug = true;
this.processFieldDebug();
$gameTemp._forcePlayerDebug = undefined;
return;
}
}
if (Yanfly.Param.DebugFieldDebug) {
if (this.isProcessFieldDebug()) return this.processFieldDebug();
}
if (this._fieldDebugWindow.isOpen()) return;
Yanfly.Debug.Scene_Map_processMapTouch.call(this);
if (TouchInput.isTriggered() && Input.isPressed('control')) {
$gamePlayer.locate($gameTemp.destinationX(), $gameTemp.destinationY());
}
};
Scene_Map.prototype.isProcessFieldDebug = function () {
if (TouchInput.isCancelled()) return true;
return false;
};
Scene_Map.prototype.processFieldDebug = function () {
this._fieldDebugWindow.openness = 0;
this._fieldDebugWindow.setup();
};
Scene_Map.prototype.closeFieldDebug = function () {
this._fieldDebugWindow.close();
this._fieldDebugWindow.deactivate();
};
Yanfly.Debug.Scene_Map_isMenuCalled = Scene_Map.prototype.isMenuCalled;
Scene_Map.prototype.isMenuCalled = function () {
if (Yanfly.Param.DebugFieldDebug && TouchInput.isCancelled()) return false;
return Yanfly.Debug.Scene_Map_isMenuCalled.call(this);
};
Scene_Map.prototype.createFieldDebugWindow = function () {
this._fieldDebugWindow = new Window_FieldDebugCommand();
this.addChild(this._fieldDebugWindow);
var win = this._fieldDebugWindow
win.setHandler('warp', this.debugWarp.bind(this));
win.setHandler('main menu', this.debugMainMenu.bind(this));
win.setHandler('call event', this.debugCallEvent.bind(this));
win.setHandler('self switch', this.debugSelfSwitch.bind(this));
win.setHandler('erase event', this.debugEraseEvent.bind(this));
win.setHandler('menuToggle', this.debugToggleMenu.bind(this));
win.setHandler('randomEncounter', this.debugRandomEncounter.bind(this));
win.setHandler('encounterToggle', this.debugToggleEncounter.bind(this));
win.setHandler('quickSave', this.debugQuickSave.bind(this));
win.setHandler('quickLoad', this.debugQuickLoad.bind(this));
win.setHandler('saveToggle', this.debugToggleSave.bind(this));
win.setHandler('recoverAll', this.debugRecoverAll.bind(this));
win.setHandler('fillTp', this.debugFillTp.bind(this));
win.setHandler('hideDebugIcon', this.debugHideDebugIcon.bind(this));
win.setHandler('showDebugIcon', this.debugShowDebugIcon.bind(this));
};
Scene_Map.prototype.createDebugMapIconWindow = function () {
this._debugMapIconWindow = new Window_DebugMapIcon();
this.addChild(this._debugMapIconWindow);
};
Scene_Map.prototype.debugWarp = function () {
var x = $gameMap.canvasToMapX(this._fieldDebugWindow._clickedX);
var y = $gameMap.canvasToMapY(this._fieldDebugWindow._clickedY);
$gameTemp.setDestination(x, y);
$gamePlayer.locate($gameTemp.destinationX(), $gameTemp.destinationY());
};
Scene_Map.prototype.debugMainMenu = function () {
this._fieldDebugWindow.hide();
this.callMenu();
};
Scene_Map.prototype.debugCallEvent = function () {
var ev = this._fieldDebugWindow.getEventData();
if (ev) ev.start();
};
Scene_Map.prototype.debugSelfSwitch = function () {
var ev = this._fieldDebugWindow._clickedEvent;
if (!ev) return;
var key = [ev._mapId, ev._eventId, this._fieldDebugWindow.currentExt()];
$gameSelfSwitches.setValue(key, !$gameSelfSwitches.value(key));
this._fieldDebugWindow.open();
this._fieldDebugWindow.activate();
this._fieldDebugWindow.refresh();
};
Scene_Map.prototype.debugEraseEvent = function () {
var ev = this._fieldDebugWindow._clickedEvent;
if (!ev) return;
$gameMap.eraseEvent(ev._eventId);
};
Scene_Map.prototype.debugToggleMenu = function () {
if ($gameSystem.isMenuEnabled()) {
$gameSystem.disableMenu();
} else {
$gameSystem.enableMenu();
}
};
Scene_Map.prototype.debugRandomEncounter = function () {
$gamePlayer._encounterCount = 0;
this.updateEncounter();
};
Scene_Map.prototype.debugToggleEncounter = function () {
if ($gameSystem.isEncounterEnabled()) {
$gameSystem.disableEncounter();
} else {
$gameSystem.enableEncounter();
}
};
Scene_Map.prototype.debugQuickSave = function () {
SceneManager.push(Scene_Save);
};
Scene_Map.prototype.debugQuickLoad = function () {
SceneManager.push(Scene_Load);
};
Scene_Map.prototype.debugToggleSave = function () {
if ($gameSystem.isSaveEnabled()) {
$gameSystem.disableSave();
} else {
$gameSystem.enableSave();
}
};
Scene_Map.prototype.debugRecoverAll = function () {
SoundManager.playRecovery();
var length = $gameParty.members().length;
for (var i = 0; i < length; ++i) {
var member = $gameParty.members()[i];
if (member) member.recoverAll();
}
};
Scene_Map.prototype.debugFillTp = function () {
SoundManager.playRecovery();
var length = $gameParty.members().length;
for (var i = 0; i < length; ++i) {
var member = $gameParty.members()[i];
if (member) member.gainTp(member.maxTp());
}
};
Scene_Map.prototype.debugHideDebugIcon = function () {
$gameTemp._debugHideIcon = true;
};
Scene_Map.prototype.debugShowDebugIcon = function () {
$gameTemp._debugHideIcon = false;
};
//=============================================================================
// Window_FieldDebugCommand // From Debugger v1
//=============================================================================
function Window_FieldDebugCommand() {
this.initialize.apply(this, arguments);
}
Window_FieldDebugCommand.prototype = Object.create(Window_Command.prototype);
Window_FieldDebugCommand.prototype.constructor = Window_FieldDebugCommand;
Window_FieldDebugCommand.prototype.initialize = function () {
Window_Command.prototype.initialize.call(this, 0, 0);
this.openness = 0;
this.deactivate();
};
Window_FieldDebugCommand.prototype.windowWidth = function () {
return this._maxWidth || 240;
};
Window_FieldDebugCommand.prototype.numVisibleRows = function () {
return this.maxItems();
};
Window_FieldDebugCommand.prototype.itemTextAlign = function () {
return 'center';
};
Window_FieldDebugCommand.prototype.makeCommandList = function () {
this._maxWidth = 0;
this.addWarpTo();
this.addCommand('Main Menu', 'main menu');
this.makeEventCommands();
this.makePlayerCommands();
if ($gameTemp._debugHideIcon) {
var text = 'Show Debug Icon';
this.addCommand(text, 'showDebugIcon');
}
this._maxWidth += this.standardPadding() * 4;
};
Window_FieldDebugCommand.prototype.makeEventCommands = function () {
if (!this._clickedEvent) return;
if ($gameTemp._forcePlayerDebug) return;
this.addCommand(this._clickedEvent.event().name, 'call event');
var key = [this._clickedEvent._mapId, this._clickedEvent._eventId, 'A'];
var text = $gameSelfSwitches.value(key) ? ' ON' : 'OFF';
this.addCommand('Self Switch A: ' + text, 'self switch', true, 'A');
var key = [this._clickedEvent._mapId, this._clickedEvent._eventId, 'B'];
var text = $gameSelfSwitches.value(key) ? ' ON' : 'OFF';
this.addCommand('Self Switch B: ' + text, 'self switch', true, 'B');
var key = [this._clickedEvent._mapId, this._clickedEvent._eventId, 'C'];
var text = $gameSelfSwitches.value(key) ? ' ON' : 'OFF';
this.addCommand('Self Switch C: ' + text, 'self switch', true, 'C');
var key = [this._clickedEvent._mapId, this._clickedEvent._eventId, 'D'];
var text = $gameSelfSwitches.value(key) ? ' ON' : 'OFF';
this.addCommand('Self Switch D: ' + text, 'self switch', true, 'D');
this.addCommand('Erase Event', 'erase event');
};
Window_FieldDebugCommand.prototype.makePlayerCommands = function () {
var x = $gameMap.canvasToMapX(this._clickedX);
var y = $gameMap.canvasToMapY(this._clickedY);
if (!$gameTemp._forcePlayerDebug) {
if (x !== $gamePlayer.x) return;
if (y !== $gamePlayer.y) return;
}
// Menu Toggle
if ($gameSystem.isMenuEnabled()) {
var text = 'Disable Menu';
} else {
var text = 'Enable Menu';
}
this.addCommand(text, 'menuToggle');
// Recover All
this.addCommand('Recover All', 'recoverAll');
this.addCommand('Fill TP', 'fillTp');
// Random Encounter
var text = 'Random Encounter';
var enabled = $gamePlayer.makeEncounterTroopId();
this.addCommand(text, 'randomEncounter', enabled);
// Encounter Toggle
if ($gameSystem.isEncounterEnabled()) {
var text = 'Disable Encounters';
} else {
var text = 'Enable Encounters';
}
this.addCommand(text, 'encounterToggle');
// Save Menu
var text = 'Access Save Menu';
this.addCommand(text, 'quickSave');
// Load Menu
var text = 'Access Load Menu';
this.addCommand(text, 'quickLoad');
// Save Toggle
if ($gameSystem.isSaveEnabled()) {
var text = 'Disable Save';
} else {
var text = 'Enable Save';
}
this.addCommand(text, 'saveToggle');
// Corner Debug Menu
if ($gameTemp._forcePlayerDebug) {
var text = 'Hide Debug Icon';
this.addCommand(text, 'hideDebugIcon');
}
};
Window_FieldDebugCommand.prototype.addWarpTo = function () {
if ($gameTemp._forcePlayerDebug) return;
var x = $gameMap.canvasToMapX(this._clickedX);
var y = $gameMap.canvasToMapY(this._clickedY);
var text = 'Warp (X:' + x + ', Y:' + y + ')';
this.addCommand(text, 'warp');
};
Window_FieldDebugCommand.prototype.addCommand = function (name, symbol, enabled,
ext) {
Window_Command.prototype.addCommand.call(this, name, symbol, enabled, ext);
if (!this._widthCalcEnabled) return;
this._maxWidth = Math.max(this._maxWidth, this.textWidth(name));
this._maxWidth = this._maxWidth.clamp(0, Graphics.boxWidth);
};
Window_FieldDebugCommand.prototype.setup = function () {
SoundManager.playCursor();
this._widthCalcEnabled = true;
this._clickedX = TouchInput.x;
this._clickedY = TouchInput.y;
this.makeEventData();
this.clearCommandList();
this.makeCommandList();
this.width = this.windowWidth();
this.height = this.windowHeight();
this.createContents();
this.refresh();
this.select(0);
this.activate();
this.open();
this.show();
this.updatePosition();
};
Window_FieldDebugCommand.prototype.makeEventData = function () {
var x = $gameMap.canvasToMapX(this._clickedX);
var y = $gameMap.canvasToMapY(this._clickedY);
this._clickedEvent = $gameMap.getEventAtPos(x, y);
if (this._clickedEvent) this._clickedEvent._balloonId = 1;
};
Window_FieldDebugCommand.prototype.getEventData = function () {
return this._clickedEvent;
};
Window_FieldDebugCommand.prototype.updatePosition = function () {
var x = TouchInput.x;
var y = TouchInput.y;
if ($gameTemp._forcePlayerDebug) {
x = Graphics.boxWidth;
y = 0;
}
this.x = x.clamp(0, Graphics.boxWidth - this.width);
this.y = y.clamp(0, Graphics.boxHeight - this.height);
};
Window_FieldDebugCommand.prototype.processOk = function () {
if (this.isCurrentItemEnabled()) this.processClose();
Window_Selectable.prototype.processOk.call(this);
};
Window_FieldDebugCommand.prototype.processClose = function () {
this.close();
this.deactivate();
};
Window_FieldDebugCommand.prototype.processTouch = function () {
if (!this.isOpenAndActive()) return;
if (TouchInput.isTriggered() && !this.isTouchedInsideFrame()) {
this.processClose();
} else {
Window_Selectable.prototype.processTouch.call(this);
}
};
//=============================================================================
// Window_DebugMapIcon // From Debugger v1
//=============================================================================
function Window_DebugMapIcon() {
this.initialize.apply(this, arguments);
}
Window_DebugMapIcon.prototype = Object.create(Window_Base.prototype);
Window_DebugMapIcon.prototype.constructor = Window_DebugMapIcon;
Window_DebugMapIcon.prototype.initialize = function () {
var ww = Window_Base._iconWidth + this.standardPadding() * 2;
var wh = Window_Base._iconHeight + this.standardPadding() * 2;
var wx = Graphics.boxWidth - ww + this.standardPadding() / 2;
var wy = 0 - this.standardPadding() / 2;
Window_Base.prototype.initialize.call(this, wx, wy, ww, wh);
this.refresh();
this.opacity = 0;
};
Window_DebugMapIcon.prototype.refresh = function () {
this.contents.clear();
this.drawIcon(Yanfly.Param.DebugMapIcon, 2, 2);
};
Window_DebugMapIcon.prototype.update = function () {
Window_Base.prototype.update.call(this);
this.visible = !$gameTemp._debugHideIcon;
};
Window_DebugMapIcon.prototype.isTouchedInsideFrame = function () {
if ($gameTemp._debugHideIcon) return false;
var x = this.canvasToLocalX(TouchInput.x);
var y = this.canvasToLocalY(TouchInput.y);
return x >= 0 && y >= 0 && x < this.width && y < this.height;
};
//=============================================================================
// Scene_MapTeleport
//=============================================================================
function Scene_MapTeleport() {
this.initialize.apply(this, arguments);
}
Scene_MapTeleport.prototype = Object.create(Scene_Map.prototype);
Scene_MapTeleport.prototype.constructor = Scene_MapTeleport;
Scene_MapTeleport.prototype.createDisplayObjects = function () {
Scene_Map.prototype.createDisplayObjects.call(this);
this.relocatePlayerToCenter();
this.createRegionDisplayWindow();
this.createCoordinatesWindow();
};
Scene_MapTeleport.prototype.createRegionDisplayWindow = function () {
this._regionDisplayWindow = new Window_DebugRegionDisplay();
this.addChild(this._regionDisplayWindow);
};
Scene_MapTeleport.prototype.createCoordinatesWindow = function () {
this._coordinatesWindow = new Window_DebugCoordinates();
this.addChild(this._coordinatesWindow);
};
Scene_MapTeleport.prototype.relocatePlayerToCenter = function () {
var x = Math.floor($dataMap.width / 2);
var y = Math.floor($dataMap.height / 2);
$gamePlayer.locate(x, y);
};
Scene_MapTeleport.prototype.update = function () {
Scene_Base.prototype.update.call(this);
this.updateTouchInputControls();
this.updateKeyInputControls();
};
Scene_MapTeleport.prototype.updateTouchInputControls = function () {
if (!TouchInput.isTriggered()) return;
var x = $gameMap.canvasToMapX(TouchInput.x);
var y = $gameMap.canvasToMapY(TouchInput.y);
if (x === $gamePlayer.x && y === $gamePlayer.y) {
this.confirmAcceptLocation()
} else {
$gamePlayer.locate(x, y);
}
};
Scene_MapTeleport.prototype.updateKeyInputControls = function () {
if (Input.isRepeated('down')) this.updateLocation(0, 1);
if (Input.isRepeated('left')) this.updateLocation(-1, 0);
if (Input.isRepeated('right')) this.updateLocation(1, 0);
if (Input.isRepeated('up')) this.updateLocation(0, -1);
if (Input.isTriggered('ok')) this.confirmAcceptLocation();
if (Input.isTriggered('cancel')) this.cancelLocation();
};
Scene_MapTeleport.prototype.updateLocation = function (x, y) {
var dx = ($gamePlayer.x + x).clamp(0, $dataMap.width - 1);
var dy = ($gamePlayer.y + y).clamp(0, $dataMap.height - 1);
$gamePlayer.locate(dx, dy);
};
Scene_MapTeleport.prototype.confirmAcceptLocation = function () {
SoundManager.playOk();
SceneManager.push(Scene_Map);
};
Scene_MapTeleport.prototype.cancelLocation = function () {
SoundManager.playCancel();
var x = $gameTemp._preDebugTeleportX;
var y = $gameTemp._preDebugTeleportY;
var mapId = $gameTemp._preDebugTeleportMap;
$gamePlayer.reserveTransfer(mapId, x, y, 2, 0);
SceneManager.push(Scene_Map);
};
Scene_MapTeleport.prototype.debugOpen = function () {
};
Scene_MapTeleport.prototype.isMap = function () {
return false;
};
//=============================================================================
// Window
//=============================================================================
Yanfly.Debug.Window_initialize = Window.prototype.initialize;
Window.prototype.initialize = function () {
Yanfly.Debug.Window_initialize.call(this);
this._isDebugWindow = false;
};
Window.prototype.setDebug = function () {
this._isDebugWindow = true;
this.opacity = 0;
this.backOpacity = 0;
this.contentsOpacity = 0;
this.openness = 255;
};
Window.prototype.isDebug = function () {
return this._isDebugWindow;
};
Yanfly.Debug.Window_isOpen = Window.prototype.isOpen;
Window.prototype.isOpen = function () {
if (this.isDebug()) return this.opacity >= 255;
return Yanfly.Debug.Window_isOpen.call(this);
};
Yanfly.Debug.Window_isClosed = Window.prototype.isClosed;
Window.prototype.isClosed = function () {
if (this.isDebug()) return this.opacity <= 0;
return Yanfly.Debug.Window_isClosed.call(this);
};
//=============================================================================
// Window_Base
//=============================================================================
Yanfly.Debug.Window_Base_updateOpen = Window_Base.prototype.updateOpen;
Window_Base.prototype.updateOpen = function () {
if (this.isDebug() && this._opening) {
this.opacity += 32;
this.backOpacity += 24;
this.contentsOpacity += 32;
if (this.isOpen()) this._opening = false;
} else {
Yanfly.Debug.Window_Base_updateOpen.call(this);
}
};
Yanfly.Debug.Window_Base_updateClose = Window_Base.prototype.updateClose;
Window_Base.prototype.updateClose = function () {
if (this.isDebug() && this._closing) {
this.opacity -= 32;
this.backOpacity -= 24;
this.contentsOpacity -= 32;
if (this.isClosed()) this._closing = false;
} else {
Yanfly.Debug.Window_Base_updateClose.call(this);
}
};
Yanfly.Debug.Window_Base_updateTone = Window_Base.prototype.updateTone;
Window_Base.prototype.updateTone = function () {
if (this.isDebug()) {
var tone = Yanfly.Param.DebugWindowTone;
this.setTone(tone[0], tone[1], tone[2]);
} else {
Yanfly.Debug.Window_Base_updateTone.call(this);
}
};
//=============================================================================
// Window_TitleCommand
//=============================================================================
Yanfly.Debug.Window_TitleCommand_makeCommandList =
Window_TitleCommand.prototype.makeCommandList;
Window_TitleCommand.prototype.makeCommandList = function () {
Yanfly.Debug.Window_TitleCommand_makeCommandList.call(this);
this.addDebugCommands();
};
Window_TitleCommand.prototype.addDebugCommands = function () {
if (Yanfly.Param.DebugSpawnBoat && $dataSystem.boat.startMapId > 0) {
this.addCommand('Start:Boat', 'startBoat');
}
if (Yanfly.Param.DebugSpawnShip && $dataSystem.ship.startMapId > 0) {
this.addCommand('Start:Ship', 'startShip');
}
if (Yanfly.Param.DebugSpawnAirship && $dataSystem.airship.startMapId > 0) {
this.addCommand('Start:Airship', 'startAirship');
}
};
//=============================================================================
// Window_DebugCoordinates
//=============================================================================
function Window_DebugCoordinates() {
this.initialize.apply(this, arguments);
}
Window_DebugCoordinates.prototype = Object.create(Window_Base.prototype);
Window_DebugCoordinates.prototype.constructor = Window_DebugCoordinates;
Window_DebugCoordinates.prototype.initialize = function () {
var width = Graphics.boxWidth;
var height = this.fittingHeight(2);
Window_Base.prototype.initialize.call(this, 0, 0, width, height);
this._opacityCounter = 60;
this._x = 0;
this._y = 0;
};
Window_DebugCoordinates.prototype.refresh = function () {
this.contents.clear();
this._x = $gamePlayer.x;
this._y = $gamePlayer.y;
SoundManager.playCursor();
this._opacityCounter = 60;
this.opacity = 255;
this.contentsOpacity = 255;
var text = $dataMapInfos[$gameMap.mapId()].name;
this.drawText(text, 0, 0, this.contents.width, 'center');
text = this.getCoordinates();
this.drawText(text, 0, this.lineHeight(), this.contents.width, 'center');
};
Window_DebugCoordinates.prototype.getCoordinates = function () {
var text = 'X: ' + this._x;
text += ', Y: ' + this._y;
return text;
};
Window_DebugCoordinates.prototype.update = function () {
Window_Base.prototype.update.call(this);
this.updateOpacity();
if (this._x !== $gamePlayer.x) {
this.refresh();
} else if (this._y !== $gamePlayer.y) {
this.refresh();
}
};
Window_DebugCoordinates.prototype.updateOpacity = function () {
if (--this._opacityCounter < 0) {
this.opacity -= 2;
this.contentsOpacity -= 2;
}
};
//=============================================================================
// Window_DebugRegionDisplay
//=============================================================================
function Window_DebugRegionDisplay() {
this.initialize.apply(this, arguments);
}
Window_DebugRegionDisplay.prototype = Object.create(Window_Base.prototype);
Window_DebugRegionDisplay.prototype.constructor = Window_DebugRegionDisplay;
Window_DebugRegionDisplay.prototype.initialize = function () {
var width = $gameMap.width() * $gameMap.tileWidth();
var height = $gameMap.height() * $gameMap.tileHeight();
width += this.standardPadding() * 2;
height += this.standardPadding() * 2;
var offset = this.standardPadding() * -1;
Window_Base.prototype.initialize.call(this, -width, -height, width, height);
this.x = 0;
this.y = 0;
this.opacity = 0;
this.contentsOpacity = 128
this._opacityCounter = 60;
this._x = 0;
this._y = 0;
this.refresh();
};
Window_DebugRegionDisplay.prototype.update = function () {
Window_Base.prototype.update.call(this);
this.updateOpacity();
if (this._x !== $gamePlayer.x) {
this.updatePosition();
} else if (this._y !== $gamePlayer.y) {
this.updatePosition();
}
};
Window_DebugRegionDisplay.prototype.updateOpacity = function () {
if (--this._opacityCounter < 0) {
this.contentsOpacity -= 1;
}
};
Window_DebugRegionDisplay.prototype.updatePosition = function () {
this.contentsOpacity = 128;
this._opacityCounter = 60;
this._x = $gamePlayer.x;
this._y = $gamePlayer.y;
var offset = this.standardPadding();
this.x = -1 * ($gameMap.displayX() * $gameMap.tileWidth()) - offset;
this.y = -1 * ($gameMap.displayY() * $gameMap.tileHeight()) - offset;
};
Window_DebugRegionDisplay.prototype.refresh = function () {
this.contents.clear();
for (var x = 0; x < $gameMap.width(); ++x) {
for (var y = 0; y < $gameMap.height(); ++y) {
if ($gameMap.regionId(x, y) > 0) this.drawRegion(x, y);
}
}
};
Window_DebugRegionDisplay.prototype.drawRegion = function (x, y) {
var regionId = $gameMap.regionId(x, y);
var rect = this.regionRect(x, y);
this.drawRegionColor(regionId, rect);
this.contents.drawText(regionId, rect.x, rect.y, rect.width, rect.height,
'center');
};
Window_DebugRegionDisplay.prototype.regionRect = function (dx, dy) {
return {
x: dx * $gameMap.tileWidth(),
y: dy * $gameMap.tileHeight(),
width: $gameMap.tileWidth(),
height: $gameMap.tileHeight()
}
};
Window_DebugRegionDisplay.prototype.drawRegionColor = function (id, rect) {
var color = '#ed145b';
switch (id % 12) {
case 0:
color = '#ed145b';
break;
case 1:
color = '#ed1c24';
break;
case 2:
color = '#f7941d';
break;
case 3:
color = '#fff200';
break;
case 4:
color = '#a3d39c';
break;
case 5:
color = '#00a651';
break;
case 6:
color = '#00a99d';
break;
case 7:
color = '#00bff3';
break;
case 8:
color = '#0072bc';
break;
case 9:
color = '#0054a6';
break;
case 10:
color = '#a864a8';
break;
case 11:
color = '#f06eaa';
break;
}
this.contents.fillRect(rect.x, rect.y, rect.width, rect.height, color);
};
//=============================================================================
// Window_DebugCommand
//=============================================================================
function Window_DebugCommand() {
this.initialize.apply(this, arguments);
};
Window_DebugCommand.prototype = Object.create(Window_Command.prototype);
Window_DebugCommand.prototype.constructor = Window_DebugCommand;
Window_DebugCommand.prototype.initialize = function (x, y, width, height) {
this._windowWidth = width;
this._windowHeight = height;
Window_Command.prototype.initialize.call(this, x, y);
this.setDebug();
this.deactivate();
this.opacity = 0;
this.backOpacity = 0;
this.contentsOpacity = 0;
};
Window_DebugCommand.prototype.windowWidth = function () {
return this._windowWidth;
};
Window_DebugCommand.prototype.windowHeight = function () {
return this._windowHeight;
};
Window_DebugCommand.prototype.addEmptyCommand = function () {
this.addCommand('', 'none', false);
};
Window_DebugCommand.prototype.textWidthEx = function (text) {
return this.drawTextEx(text, 0, this.contents.height + this.lineHeight());
};
Window_DebugCommand.prototype.drawItem = function (index) {
var rect = this.itemRectForText(index);
var align = this.itemTextAlign();
this.resetTextColor();
this.changePaintOpacity(this.isCommandEnabled(index));
var text = this.commandName(index);
if (text.match('
')) {
text = text.replace('', '');
var tw = this.textWidthEx(text);
rect.x += (rect.width - tw) / 2;
}
this.drawTextEx(text, rect.x, rect.y);
};
Window_DebugCommand.prototype.processCursorMove = function () {
if (this.isCursorMovable()) {
var lastIndex = this.index();
if (Input.isRepeated('down')) {
this.cursorDown(Input.isTriggered('down'));
}
if (Input.isRepeated('up')) {
this.cursorUp(Input.isTriggered('up'));
}
if (Input.isRepeated('right')) {
this.cursorRight(Input.isTriggered('right'));
}
if (Input.isRepeated('left')) {
this.cursorLeft(Input.isTriggered('left'));
}
if (!this.isHandled('pagedown') && Input.isRepeated('pagedown')) {
this.cursorPagedown();
}
if (!this.isHandled('end') && Input.isRepeated('end')) {
this.select(this.maxItems() - 1);
};
if (!this.isHandled('pageup') && Input.isRepeated('pageup')) {
this.cursorPageup();
}
if (!this.isHandled('end') && Input.isRepeated('home')) {
this.select(0);
};
if (this.index() !== lastIndex) {
SoundManager.playCursor();
}
}
};
Window_DebugCommand.prototype.updateDebugHelp = function (symbol) {
if (this._helpWindow) {
var text = '';
switch (symbol) {
case 'actors':
text = 'Modify the actors for your game.';
break;
case 'armors':
text = 'Modify armor quantities.';
break;
case 'battle':
text = 'Enter a battle of your choice.';
break;
case 'buffs':
text = 'Apply buffs to actors and/or enemies.';
break;
case 'enemies':
text = 'Modify the current set of enemies.';
break;
case 'events':
text = 'Play a common event of your choice.';
break;
case 'exit':
text = 'Exit the debug menu.'
break;
case 'items':
text = 'Modify item quantities.';
break;
case 'menu':
text = 'Access the main menu.'
break;
case 'quick':
text = 'A set of quick debug actions.';
break;
case 'states':
text = 'Apply states to actors and/or enemies.';
break;
case 'switch':
text = 'Lets you manually adjust switches.';
break;
case 'teleport':
text = 'Quickly teleport to a map you like.';
break;
case 'variable':
text = 'Lets you manually adjust variables.';
break;
case 'weapons':
text = 'Modify weapon quantities.';
break;
}
this._helpWindow.setText(text)
}
};
//=============================================================================
// Window_DebugMenu
//=============================================================================
function Window_DebugMenu() {
this.initialize.apply(this, arguments);
};
Window_DebugMenu.prototype = Object.create(Window_DebugCommand.prototype);
Window_DebugMenu.prototype.constructor = Window_DebugMenu;
Window_DebugMenu.prototype.initialize = function (helpWindow) {
var x = 0;
var y = helpWindow.height;
var width = Graphics.boxWidth;
var height = Graphics.boxHeight - helpWindow.height;
Window_DebugCommand.prototype.initialize.call(this, x, y, width, height);
this.setHelpWindow(helpWindow);
};
Window_DebugMenu.prototype.setActionWindow = function (win) {
this._actionWindow = win;
};
Window_DebugMenu.prototype.maxCols = function () {
return 3;
};
Window_DebugMenu.prototype.spacing = function () {
return 0;
};
Window_DebugMenu.prototype.itemHeight = function () {
if (this._itemHeight) return this._itemHeight;
this._itemHeight = Math.floor(this.contents.height / 5)
return this._itemHeight;
};
Window_DebugMenu.prototype.makeCommandList = function () {
// Row 1
this.addCommand('Quick', 'quick', this.isEnabled('quick'));
this.addCommand('Battle', 'battle', this.isEnabled('battle'));
this.addCommand('Main Menu', 'menu', this.isEnabled('menu'));
// Row 2
this.addCommand('Switches', 'switch', this.isEnabled('switch'));
this.addCommand('Actors', 'actors', this.isEnabled('actors'));
this.addCommand('Items', 'items', this.isEnabled('items'));
// Row 3
this.addCommand('Variables', 'variable', this.isEnabled('variable'));
this.addCommand('Enemies', 'enemies', this.isEnabled('enemies'));
this.addCommand('Weapons', 'weapons', this.isEnabled('weapons'));
// Row 4
this.addCommand('Teleport', 'teleport', this.isEnabled('teleport'));
this.addCommand('States', 'states', this.isEnabled('states'));
this.addCommand('Armors', 'armors', this.isEnabled('armors'));
// Row 5
this.addCommand('Common Event', 'events', this.isEnabled('events'));
this.addCommand('Buffs', 'buffs', this.isEnabled('buffs'));
this.addCommand('Exit', 'cancel', this.isEnabled('exit'));
};
Window_DebugMenu.prototype.isEnabled = function (symbol) {
if (symbol === 'exit') return true;
if (SceneManager._scene instanceof Scene_Title) return false;
if (SceneManager._scene instanceof Scene_File) return false;
if (SceneManager._scene instanceof Scene_Options) return false;
if (SceneManager._scene instanceof Scene_GameEnd) return false;
switch (symbol) {
case 'battle':
if (SceneManager._scene instanceof Scene_Battle) return false;
return true;
break;
case 'menu':
if (SceneManager._scene instanceof Scene_Map) return true;
break;
case 'teleport':
return !DataManager.isBattleTest();
break;
case 'enemies':
return (SceneManager._scene instanceof Scene_Battle);
break;
default:
return true;
}
return false;
};
Window_DebugMenu.prototype.drawItem = function (index) {
var rect = this.itemRectForText(index);
var align = 'center';
this.resetTextColor();
this.changePaintOpacity(this.isCommandEnabled(index));
var y = rect.y + Math.floor((rect.height - this.lineHeight()) / 2);
this.drawText(this.commandName(index), rect.x, y, rect.width, align);
};
Window_DebugMenu.prototype.updateHelp = function () {
this.updateDebugHelp(this.currentSymbol());
};
Window_DebugMenu.prototype.isHandled = function (symbol) {
return true;
};
Window_DebugMenu.prototype.callHandler = function (symbol) {
switch (symbol) {
case 'cancel':
Window_DebugCommand.prototype.callHandler.call(this, symbol);
break;
case 'menu':
SceneManager._scene.debugClose();
SceneManager.push(Scene_Menu);
Window_MenuCommand.initCommandPosition();
break;
case 'pagedown':
this.activate();
this.selectSymbol('cancel');
break;
case 'pageup':
this.activate();
this.selectSymbol('quick');
break;
default:
this.activateActionWindow(symbol);
break;
}
};
Window_DebugMenu.prototype.activateActionWindow = function (symbol) {
this.deactivate();
this.close();
this._actionWindow.setSymbol(symbol);
this._actionWindow.activate();
this._actionWindow.open();
};
Window_DebugMenu.prototype.cursorDown = function (wrap) {
this._index += this.maxCols();
if (this._index >= 15) this._index -= 15;
this.select(this._index);
};
Window_DebugMenu.prototype.cursorUp = function (wrap) {
this._index -= this.maxCols();
if (this._index < 0) this._index += 15;
this.select(this._index);
};
Window_DebugMenu.prototype.cursorRight = function (wrap) {
if (this._index % 3 < 2) {
this._index++;
} else {
this._index -= 2;
}
this.select(this._index);
};
Window_DebugMenu.prototype.cursorLeft = function (wrap) {
if (this._index % 3 > 0) {
this._index--;
} else {
this._index += 2;
}
this.select(this._index);
};
//=============================================================================
// Window_DebugAction
//=============================================================================
function Window_DebugAction() {
this.initialize.apply(this, arguments);
};
Window_DebugAction.prototype = Object.create(Window_DebugCommand.prototype);
Window_DebugAction.prototype.constructor = Window_DebugAction;
Window_DebugAction.prototype.initialize = function (helpWindow) {
var x = 0;
var y = helpWindow.height;
var width = Graphics.boxWidth;
var height = Graphics.boxHeight - helpWindow.height;
this._symbol = 'none';
Window_DebugCommand.prototype.initialize.call(this, x, y, width, height);
this.setHelpWindow(helpWindow);
};
Window_DebugAction.prototype.maxCols = function () {
if (this._battler) {
switch (this._battlerType) {
case 'main':
return 1;
break;
default:
return 1;
break;
}
}
switch (this._symbol) {
case 'quick':
case 'switch':
case 'battle':
return 3;
break;
case 'variable':
case 'items':
case 'weapons':
case 'armors':
return 7;
break;
case 'actors':
case 'enemies':
case 'states':
case 'buffs':
return 2;
break;
};
return 1;
};
Window_DebugAction.prototype.spacing = function () {
return 0;
};
Window_DebugAction.prototype.playOkSound = function () {
};
Window_DebugAction.prototype.itemHeight = function () {
return this.lineHeight();
};
Window_DebugAction.prototype.itemRect = function (index) {
var rect = Window_Selectable.prototype.itemRect.call(this, index);
if (this._miniWidth === undefined) {
this._miniWidth = Math.ceil(this.textWidth('+100+'));
}
if (this._cwidth === undefined) {
this._cwidth = this.contents.width;
}
var miniWidth = this._miniWidth;
switch (this._symbol) {
case 'switch':
case 'battle':
if (index % 3 === 0) {
rect.width = Math.floor(this._cwidth / 2);
} else if (index % 3 === 1) {
rect.width = Math.floor(this._cwidth / 4);
rect.x = Math.floor(this._cwidth * 2 / 4);
} else if (index % 3 === 2) {
rect.width = Math.floor(this._cwidth / 4);
rect.x = Math.floor(this._cwidth * 3 / 4);
}
break;
case 'variable':
case 'items':
case 'weapons':
case 'armors':
if (index % 7 === 0 || index % 7 === 1 || index % 7 === 2) {
rect.width = miniWidth;
rect.x = index % 7 * rect.width;
} else if (index % 7 === 4 || index % 7 === 5 || index % 7 === 6) {
rect.width = miniWidth;
rect.x = this._cwidth - (7 - index % 7) * rect.width;
} else if (index % 7 === 3) {
rect.width = this._cwidth - miniWidth * 6;
rect.x = miniWidth * 3;
}
break;
};
return rect;
};
Window_DebugAction.prototype.setSymbol = function (symbol) {
this.resetScroll();
this._symbol = symbol;
this._cachedKeyConfig = JsonEx.makeDeepCopy(Input.keyMapper);
this.setupVariableKeyboard();
switch (symbol) {
case 'variable':
case 'items':
case 'weapons':
case 'armors':
this.clearCachedItemList();
this.select(3);
break;
case 'actors':
case 'enemies':
case 'states':
case 'buffs':
this.select(2);
break;
default:
this.select(0);
break;
}
this.refresh();
};
Window_DebugAction.prototype.clearCachedItemList = function () {
this._cachedItems = undefined;
this._cachedWeapons = undefined;
this._cachedArmors = undefined;
};
Window_DebugAction.prototype.close = function () {
Window_DebugCommand.prototype.close.call(this);
if (this._cachedKeyConfig) {
Input.keyMapper = this._cachedKeyConfig;
this._cachedKeyConfig = undefined;
}
};
Window_DebugAction.prototype.setupVariableKeyboard = function () {
Input.keyMapper[8] = 'backspace';
Input.keyMapper[46] = 'delete';
Input.keyMapper[48] = '0'; Input.keyMapper[96] = '0';
Input.keyMapper[49] = '1'; Input.keyMapper[97] = '1';
Input.keyMapper[50] = '2'; Input.keyMapper[98] = '2';
Input.keyMapper[51] = '3'; Input.keyMapper[99] = '3';
Input.keyMapper[52] = '4'; Input.keyMapper[100] = '4';
Input.keyMapper[53] = '5'; Input.keyMapper[101] = '5';
Input.keyMapper[54] = '6'; Input.keyMapper[102] = '6';
Input.keyMapper[55] = '7'; Input.keyMapper[103] = '7';
Input.keyMapper[56] = '8'; Input.keyMapper[104] = '8';
Input.keyMapper[57] = '9'; Input.keyMapper[105] = '9';
Input.keyMapper[107] = '+'; Input.keyMapper[187] = '+';
Input.keyMapper[109] = '-'; Input.keyMapper[189] = '-';
Input.keyMapper[192] = 'tilde';
};
Window_DebugAction.prototype.makeCommandList = function () {
if (this._battler) return this.makeBattlerCommandList();
switch (this._symbol) {
case 'quick':
this.makeQuickList();
break;
case 'switch':
this.makeSwitchList();
break;
case 'variable':
this.makeVariableList();
break;
case 'teleport':
this.makeTeleportList();
break;
case 'events':
this.makeCommonEventList();
break;
case 'battle':
this.makeBattleList();
break;
case 'actors':
this.makeActorList();
break;
case 'enemies':
this.makeEnemyList();
break;
case 'states':
case 'buffs':
this.makeBattlerList();
break;
case 'items':
this.makeItemList();
break;
case 'weapons':
this.makeWeaponList();
break;
case 'armors':
this.makeArmorList();
break;
}
};
Window_DebugAction.prototype.makeBattlerCommandList = function () {
switch (this._battlerType) {
case 'main':
this.makeBattlerMainList();
break;
case 'states':
this.makeBattlerStatesList();
break;
case 'buffs':
this.makeBattlerBuffsList();
break;
}
};
Window_DebugAction.prototype.addFillerCommands = function () {
while (this._list.length % this.maxCols() !== 0) {
this.addCommand('', 'nothing');
}
};
Window_DebugAction.prototype.addFillerLineBreak = function () {
this.addFillerCommands();
this.addCommand('', 'nothing');
this.addFillerCommands();
};
Window_DebugAction.prototype.makeQuickList = function () {
var text = '';
if ($gameParty.inBattle()) {
// 1st Row
this.addCommand('\\i[32]Quick Win', 'quickWin');
this.addCommand('\\i[1]Quick Lose', 'quickLose');
this.addCommand('\\i[72]Recover All', 'quickRecoverAll');
this.addCommand('\\i[78]Disable Variance', 'quickDisableVariance');
this.addCommand('\\i[78]Enable Variance', 'quickEnableVariance');
this.addCommand('\\i[78]Toggle Variance', 'quickToggleVariance');
this.addCommand('\\i[18]Normal State Rate', 'quickDisablePerfectStateRate');
this.addCommand('\\i[18]100% State Rate', 'quickEnablePerfectStateRate');
this.addCommand('\\i[18]Toggle State Rate', 'quickToggleStateRate');
this.addFillerLineBreak();
}
// Skill Resources
text = 'Refill ' + TextManager.hp;
text = '\\i[' + (Yanfly.Icon.Hp || 0) + ']' + text;
this.addCommand(text, 'quickRefillHp');
text = 'Refill ' + TextManager.mp;
text = '\\i[' + (Yanfly.Icon.Mp || 0) + ']' + text;
this.addCommand(text, 'quickRefillMp');
text = 'Refill ' + TextManager.tp;
text = '\\i[' + (Yanfly.Icon.Tp || 0) + ']' + text;
this.addCommand(text, 'quickRefillTp');
this.addCommand('\\i[2]Clear States', 'quickClearStates');
if (Imported.YEP_X_LimitedSkillUses) {
text = 'Refill Uses';
text = '\\i[' + (Yanfly.Icon.LimitedUse || 0) + ']' + text;
this.addCommand(text, 'quickRefillUses');
}
if (Imported.YEP_X_SkillCooldowns) {
text = 'Reset Cooldowns';
text = '\\i[' + (Yanfly.Icon.Cooldown || 0) + ']' + text;
this.addCommand(text, 'quickResetCooldowns');
}
this.addFillerLineBreak();
// Gold
var icon = Yanfly.Icon.Gold || 0;
text = Yanfly.Util.toGroup($gameParty.gold());
this.addCommand(text, 'currentGold');
text = '\\i[' + icon + ']Current ' + TextManager.currencyUnit;
this.addCommand(text, 'nothing');
text = '\\i[' + icon + ']Clear ' + TextManager.currencyUnit;
this.addCommand(text, 'quickClearGold');
text = '\\i[' + icon + ']' + '-1,000';
this.addCommand(text, 'quickGold-1000');
text = '\\i[' + icon + ']' + '=1,000';
this.addCommand(text, 'quickGold=1000');
text = '\\i[' + icon + ']' + '+1,000';
this.addCommand(text, 'quickGold+1000');
text = '\\i[' + icon + ']' + '-1,000,000';
this.addCommand(text, 'quickGold-1000000');
text = '\\i[' + icon + ']' + '=1,000,000';
this.addCommand(text, 'quickGold=1000000');
text = '\\i[' + icon + ']' + '+1,000,000';
this.addCommand(text, 'quickGold+1000000');
this.addFillerLineBreak();
// Items
var icon = $dataItems[1].iconIndex;
text = '\\i[' + icon + ']All Items +1';
this.addCommand(text, 'quickItems+1');
text = '\\i[' + icon + ']All Items +10';
this.addCommand(text, 'quickItems+10');
text = '\\i[' + icon + ']All Items +MAX';
this.addCommand(text, 'quickItems+MAX');
// Weapons
var icon = $dataWeapons[1].iconIndex;
text = '\\i[' + icon + ']All Weapons +1';
this.addCommand(text, 'quickWeapons+1');
text = '\\i[' + icon + ']All Weapons +10';
this.addCommand(text, 'quickWeapons+10');
text = '\\i[' + icon + ']All Weapons +MAX';
this.addCommand(text, 'quickWeapons+MAX');
// Armors
var icon = $dataArmors[1].iconIndex;
text = '\\i[' + icon + ']All Armors +1';
this.addCommand(text, 'quickArmors+1');
text = '\\i[' + icon + ']All Armors +10';
this.addCommand(text, 'quickArmors+10');
text = '\\i[' + icon + ']All Armors +MAX';
this.addCommand(text, 'quickArmors+MAX');
// Levels
this.addFillerLineBreak();
var icon = 32;
text = '\\i[' + icon + ']Party Level +1';
this.addCommand(text, 'quickPartyLevel+1');
text = '\\i[' + icon + ']Party Level +10';
this.addCommand(text, 'quickPartyLevel+10');
text = '\\i[' + icon + ']Party Level +MAX';
this.addCommand(text, 'quickPartyLevel+MAX');
var icon = 48;
text = '\\i[' + icon + ']Party Level -1';
this.addCommand(text, 'quickPartyLevel-1');
text = '\\i[' + icon + ']Party Level -10';
this.addCommand(text, 'quickPartyLevel-10');
text = '\\i[' + icon + ']Party Level to 1';
this.addCommand(text, 'quickPartyLevelto1');
// Skills
this.addFillerLineBreak();
var icon = 79;
text = '\\i[' + icon + ']Add All Skills';
this.addCommand(text, 'quickAddAllSkills');
text = '\\i[' + icon + ']Add All Named Skills';
this.addCommand(text, 'quickAddAllNamedSkills');
text = '\\i[' + icon + ']Remove All Skills';
this.addCommand(text, 'quickRemoveAllSkills');
};
Window_DebugAction.prototype.makeSwitchList = function () {
var switches = $dataSystem.switches;
var length = switches.length;
for (var i = 1; i < length; ++i) {
var switchId = i;
var switchName = $dataSystem.switches[i];
// Switch Name
if ($gameSwitches.value(i)) {
if (switchName.length === 0) {
switchName = '\\C[18]' + '! ATTENTION !';
} else {
switchName = '\\C[17]' + switchName;
}
} else {
if (switchName.length === 0) {
switchName = '\\C[8]' + '';
} else {
switchName = '\\C[8]' + switchName;
}
}
var fmt = '\\c[4]S%1:\\c[0]%2';
var text = fmt.format(switchId.padZero(4), switchName);
this.addCommand(text, 'switchToggle', true, switchId);
// [ON]
if ($gameSwitches.value(i)) {
text = '\\C[0]' + '[ON]';
} else {
text = '\\C[8]' + '[ON]';
}
this.addCommand(text, 'switchOn', true, switchId);
// [ON]
if ($gameSwitches.value(i)) {
text = '\\C[8]' + '[OFF]';
} else {
text = '\\C[0]' + '[OFF]';
}
this.addCommand(text, 'switchOff', true, switchId);
}
};
Window_DebugAction.prototype.makeVariableList = function () {
var variables = $dataSystem.variables;
var length = variables.length;
for (var i = 1; i < length; ++i) {
var varId = i;
var varName = $dataSystem.variables[i];
var enabled = typeof $gameVariables.value(varId) === 'number';
this.addCommand('-100', 'var-100', enabled, varId);
this.addCommand('-10', 'var-10', enabled, varId);
this.addCommand('-1', 'var-1', enabled, varId);
// Variable Name
if ($gameVariables.value(i)) {
if (varName.length === 0) {
varName = '\\C[18]' + '! ATTENTION !';
} else {
varName = '\\C[17]' + varName;
}
} else {
if (varName.length === 0) {
varName = '\\C[8]' + '';
} else {
varName = '\\C[8]' + varName;
}
}
var fmt = '\\c[4]V%1:\\c[0]%2';
var text = fmt.format(varId.padZero(4), varName);
this.addCommand(text, 'variableSet', true, varId);
this.addCommand('+1', 'var+1', enabled, varId);
this.addCommand('+10', 'var+10', enabled, varId);
this.addCommand('+100', 'var+100', enabled, varId);
}
};
Window_DebugAction.prototype.makeTeleportList = function () {
var length = $dataMapInfos.length;
for (var i = 1; i < length; ++i) {
var mapId = i;
if ($dataMapInfos[mapId] === null) continue;
var mapName = $dataMapInfos[mapId].name;
if (mapName.match(//i)) continue;
var fmt = '\\c[4]M%1:\\c[0]%2';
var text = fmt.format(mapId.padZero(3), mapName);
this.addCommand(text, 'teleportMapId', true, mapId);
}
};
Window_DebugAction.prototype.makeCommonEventList = function () {
var length = $dataCommonEvents.length;
for (var i = 1; i < length; ++i) {
var eventId = i;
if ($dataCommonEvents[eventId] === null) continue;
var name = $dataCommonEvents[eventId].name;
if (name === '') continue;
var fmt = '\\c[4]C%1:\\c[0]%2';
var text = fmt.format(eventId.padZero(4), name);
this.addCommand(text, 'commonEvent', true, eventId);
}
};
Window_DebugAction.prototype.makeBattleList = function () {
var length = $dataTroops.length;
for (var i = 1; i < length; ++i) {
var troopId = i;
if ($dataTroops[troopId] === null) continue;
var name = $dataTroops[troopId].name;
if (name === '') continue;
var fmt = '\\c[4]B%1:\\c[0]%2';
var text = fmt.format(troopId.padZero(4), name);
var enabled = $dataTroops[troopId].members.length > 0;
this.addCommand(text, 'battleNormal', enabled, troopId);
var preemptive = '\\c[17]Preemptive';
this.addCommand(preemptive, 'battleParty', enabled, troopId);
var surprise = '\\c[18]Surprise';
this.addCommand(surprise, 'battleTroop', enabled, troopId);
}
};
Window_DebugAction.prototype.makeActorList = function () {
var column1 = ['\\c[17]Actor List'];
var column2 = [];
// Create Column 1
for (var i = 1; i < Yanfly.Max.Actors; ++i) {
var actor = $gameActors.actor(i);
if (actor) column1.push(actor);
}
// Create Column 2
var bmembers = $gameParty.battleMembers();
if (bmembers.length > 0) {
column2.push('\\c[17]Battle Members');
var length = bmembers.length;
for (var i = 0; i < length; ++i) {
var actor = bmembers[i];
if (actor) column2.push(actor);
}
}
var amembers = $gameParty.allMembers();
if (amembers.length > 0 && amembers.length > bmembers.length) {
column2.push('\\c[17]Reserve Members');
var length = amembers.length;
for (var i = 0; i < length; ++i) {
var actor = amembers[i];
if (actor && !bmembers.contains(actor)) column2.push(actor);
}
}
// Add Commands
var length = Math.max(column1.length, column2.length);
for (var i = 0; i < length; ++i) {
var member = column1[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = '\\c[4]A%1:\\c[0]%2';
var text = fmt.format(member.actorId().padZero(4), name);
this.addCommand(text, 'battlerMain', true, member);
} else {
this.addCommand('', 'none', true);
}
var member = column2[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = '\\c[4]A%1:\\c[0]%2';
var text = fmt.format(member.actorId().padZero(4), name);
this.addCommand(text, 'battlerMain', true, member);
} else {
this.addCommand('', 'none', true);
}
}
};
Window_DebugAction.prototype.makeEnemyList = function () {
var column1 = ['\\c[17]Enemy List'];
var column2 = [];
// Create Column 1
var members = $gameTroop.allMembers();
var length = members.length;
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column1.push(member);
}
// Create Column 2
var members = $gameTroop.aliveMembers();
var length = members.length;
if (length > 0) {
column2.push('\\c[17]Alive Enemies');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column2.push(member);
}
}
var members = $gameTroop.deadMembers();
var length = members.length;
if (length > 0) {
column2.push('\\c[17]Dead Enemies');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column2.push(member);
}
}
// Add Commands
var length = Math.max(column1.length, column2.length);
for (var i = 0; i < length; ++i) {
var member = column1[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = '\\c[4]E%1:\\c[0]%2';
var text = fmt.format(member.enemyId().padZero(4), name);
this.addCommand(text, 'battlerMain', true, member);
} else {
this.addCommand('', 'none', true);
}
var member = column2[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = '\\c[4]E%1:\\c[0]%2';
var text = fmt.format(member.enemyId().padZero(4), name);
this.addCommand(text, 'battlerMain', true, member);
} else {
this.addCommand('', 'none', true);
}
}
};
Window_DebugAction.prototype.makeBattlerList = function () {
var column1 = [];
var column2 = [];
if ($gameParty.inBattle()) {
// In Battle
var members = $gameParty.battleMembers();
var length = members.length;
if (length > 0) {
column1.push('\\c[17]Battle Actors');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column1.push(member);
}
}
var members = $gameParty.allMembers();
var length = members.length;
if ((length - $gameParty.battleMembers().length) > 0) {
column1.push('\\c[17]Reserve Actors');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member && !column1.contains(member)) column1.push(member);
}
}
var members = $gameTroop.aliveMembers();
var length = members.length;
if (length > 0) {
column2.push('\\c[17]Alive Enemies');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column2.push(member);
}
}
var members = $gameTroop.deadMembers();
var length = members.length;
if (length > 0) {
column2.push('\\c[17]Dead Enemies');
for (var i = 0; i < length; ++i) {
var member = members[i];
if (member) column2.push(member);
}
}
} else {
// Not In Battle
column1.push('\\c[17]Actor List');
for (var i = 1; i < Yanfly.Max.Actors; ++i) {
var actor = $gameActors.actor(i);
if (actor) column1.push(actor);
}
var bmembers = $gameParty.battleMembers();
if (bmembers.length > 0) {
column2.push('\\c[17]Battle Members');
var length = bmembers.length;
for (var i = 0; i < length; ++i) {
var actor = bmembers[i];
if (actor) column2.push(actor);
}
}
var amembers = $gameParty.allMembers();
if (amembers.length > 0 && amembers.length > bmembers.length) {
column2.push('\\c[17]Reserve Members');
var length = amembers.length;
for (var i = 0; i < length; ++i) {
var actor = amembers[i];
if (actor && !bmembers.contains(actor)) column2.push(actor);
}
}
}
// Add Commands
var length = Math.max(column1.length, column2.length);
for (var i = 0; i < length; ++i) {
var member = column1[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = member.isActor() ? '\\c[4]A%1:\\c[0]%2' : '\\c[4]E%1:\\c[0]%2';
var id = member.isActor() ? member.actorId() : member.enemyId();
var text = fmt.format(id.padZero(4), name);
this.addCommand(text, 'battlerList', true, member);
} else {
this.addCommand('', 'none', true);
}
var member = column2[i];
if (typeof member === 'string') {
this.addCommand(member, 'none', true);
} else if (member) {
var name = member.name();
var fmt = member.isActor() ? '\\c[4]A%1:\\c[0]%2' : '\\c[4]E%1:\\c[0]%2';
var id = member.isActor() ? member.actorId() : member.enemyId();
var text = fmt.format(id.padZero(4), name);
this.addCommand(text, 'battlerList', true, member);
} else {
this.addCommand('', 'none', true);
}
}
};
Window_DebugAction.prototype.setBattler = function (battler, type) {
this._battler = battler;
this._battlerType = type;
this.select(0);
};
Window_DebugAction.prototype.removeBattler = function () {
var ext = this._battler;
this._battler = undefined;
this._battlerType = undefined;
this.refresh();
this.selectExt(ext);
this.activate();
};
Window_DebugAction.prototype.makeBattlerMainList = function () {
this.addCommand('\\c[17]' + this._battler.name(), 'none');
if (this._battler.isActor() && !$gameParty.inBattle()) {
var inParty = $gameParty.allMembers().contains(this._battler);
this.addCommand('Add to Party', 'battlerAddParty', !inParty);
this.addCommand('Remove from Party', 'battlerRemoveParty', inParty);
} else if (this._battler.isEnemy()) {
var hidden = this._battler.isHidden();
this.addCommand('Show Enemy', 'battlerShowEnemy', hidden);
this.addCommand('Hide Enemy', 'battlerHideEnemy', !hidden);
}
// Parameters
this.addCommand('\\c[17]Main Parameters', 'none');
this.addCommand('Recover ' + TextManager.hp, 'battlerRecoverHp');
this.addCommand('Recover ' + TextManager.mp, 'battlerRecoverMp');
this.addCommand('Recover ' + TextManager.tp, 'battlerRecoverTp');
this.addCommand('Clear States', 'battlerClearStates');
this.addCommand('\\c[17]Base Parameters', 'none');
if (this.battlerAddLevelOption()) {
this.addCommand(TextManager.level, 'battlerBaseLevel');
}
for (var i = 0; i < 8; ++i) {
var text = TextManager.param(i);
this.addCommand(text, 'battlerBaseParam', true, i);
}
// Skills
if (this._battler.isActor() && !$gameParty.inBattle()) {
this.addCommand('\\c[17]Skills', 'none');
this.addCommand('Add All Skills', 'battlerAddAllSkills');
this.addCommand('Add All Named Skills', 'battlerAddAllNamedSkills');
this.addCommand('Remove All Skills', 'battlerRemoveAllSkills');
};
};
Window_DebugAction.prototype.battlerAddLevelOption = function () {
if (this._battler.isActor()) return true;
if (this._battler.isEnemy()) {
if (Imported.YEP_EnemyLevels) return true;
}
return false;
};
Window_DebugAction.prototype.makeBattlerStatesList = function () {
this.addCommand('\\c[17]' + this._battler.name(), 'none');
this.addCommand('Clear States', 'battlerClearStates');
this.addCommand('\\c[17]Sort States', 'none');
this._sortStates = this._sortStates || 'id1';
this.addCommand('Sort by ID', 'battlerStatesSortID');
this.addCommand('Sort by Priority', 'battlerStatesSortPriority');
this.addCommand('Sort by Name', 'battlerStatesSortName');
this.addCommand('\\c[17]States List', 'none');
var states = this.getSortDebugStates();
var battlerStates = this._battler.states();
var length = states.length;
for (var i = 0; i < length; ++i) {
var state = states[i];
if (!state) continue;
if (state.name === '') continue;
var fmt = '\\c[4]T%1:\\i[%2]\\c[%3]%4';
var id = state.id;
var icon = state.iconIndex;
var name = state.name;
var color = battlerStates.contains($dataStates[state.id]) ? 0 : 8;
var text = fmt.format(id.padZero(4), icon, color, name);
this.addCommand(text, 'battlerState', true, state);
}
};
Window_DebugAction.prototype.getSortDebugStates = function () {
if (this._cachedStates) return this._cachedStates;
var group = JsonEx.makeDeepCopy($dataStates);
group.shift();
if (this._sortStates === 'id1') {
group.sort(function (a, b) {
var t1 = a.id;
var t2 = b.id;
if (t1 !== t2) return t1 - t2;
return a.name === b.name ? 0 : +(a.name > b.name) || -1;
});
} else if (this._sortStates === 'id2') {
group.sort(function (a, b) {
var t1 = a.id;
var t2 = b.id;
if (t1 !== t2) return t2 - t1;
return a.name === b.name ? 0 : +(a.name > b.name) || -1;
});
} else if (this._sortStates === 'priority1') {
group.sort(function (a, b) {
var t1 = a.priority;
var t2 = b.priority;
if (t1 !== t2) return t1 - t2;
return a.name === b.name ? 0 : +(a.name > b.name) || -1;
});
} else if (this._sortStates === 'priority2') {
group.sort(function (a, b) {
var t1 = a.priority;
var t2 = b.priority;
if (t1 !== t2) return t2 - t1;
return a.name === b.name ? 0 : +(a.name > b.name) || -1;
});
} else if (this._sortStates === 'name1') {
group.sort(function (a, b) {
return a.name === b.name ? 0 : +(a.name > b.name) || -1;
});
} else if (this._sortStates === 'name2') {
group.sort(function (a, b) {
return a.name === b.name ? 0 : +(a.name < b.name) || -1;
});
}
this._cachedStates = group;
return this._cachedStates;
};
Window_DebugAction.prototype.makeBattlerBuffsList = function () {
this.addCommand('\\c[17]' + this._battler.name(), 'none');
this.addCommand('Clear Buffs', 'battlerClearBuffs');
this.addCommand('Clear Debuffs', 'battlerClearDebuffs');
this.addCommand('Clear Buffs & Debuffs', 'battlerClearBuffsDebuffs');
this.addCommand('\\c[17]Main Parameters', 'none');
for (var i = 0; i < 8; ++i) {
var level = this._battler._buffs[i] || 1;
var icon = this._battler.buffIconIndex(level, i);
var name = TextManager.param(i);
var fmt = '\\i[%1]\\c[4]%2';
var text = fmt.format(icon, name);
this.addCommand(text, 'battlerBuff', true, i);
}
};
Window_DebugAction.prototype.addDebugItem = function (item) {
if (!item) return;
if (item.name === '') return;
var enabled = true;
if (Imported.YEP_ItemCore && item.baseItemId) {
this.addCommand('', 'none');
this.addCommand('\\}Delete', 'item-delete', enabled, item);
this.addCommand('', 'none');
} else if (Imported.YEP_ItemCore && DataManager.isIndependent(item)) {
this.addCommand('', 'none');
this.addCommand('\\}Clear', 'item-clear', enabled, item);
this.addCommand('', 'none');
} else {
this.addCommand('Zero', 'item-max', enabled, item);
this.addCommand('-10', 'item-10', enabled, item);
this.addCommand('-1', 'item-1', enabled, item);
}
var fmt = '\\c[%5]%4%1\\i[%2]\\c[0]%3';
var id = item.id;
var icon = item.iconIndex;
var name = item.name;
if (DataManager.isItem(item)) {
var type = 'I';
} else if (DataManager.isWeapon(item)) {
var type = 'W';
} else {
var type = 'A';
}
if (Imported.YEP_ItemCore && item.baseItemId) {
var color = 5;
} else {
var color = 4;
}
var text = fmt.format(id.padZero(4), icon, name, type, color);
this.addCommand(text, 'item', enabled, item);
if (Imported.YEP_ItemCore && item.baseItemId) {
this.addCommand('', 'none');
this.addCommand('\\}Add', 'item-dupe', enabled, item);
this.addCommand('', 'none');
} else if (Imported.YEP_ItemCore && DataManager.isIndependent(item)) {
this.addCommand('', 'none');
this.addCommand('\\}Make', 'item-make', enabled, item);
this.addCommand('', 'none');
} else {
this.addCommand('+1', 'item+1', enabled, item);
this.addCommand('+10', 'item+10', enabled, item);
this.addCommand('+MAX', 'item+max', enabled, item);
}
};
Window_DebugAction.prototype.makeItemList = function () {
var items = this.getDataItems();
var length = items.length;
for (var i = 0; i < length; ++i) {
var id = items[i].id;
var item = $dataItems[id];
this.addDebugItem(item);
}
};
Window_DebugAction.prototype.getDataItems = function () {
if (this._cachedItems) return this._cachedItems;
this._cachedItems = [];
var length = $dataItems.length;
for (var i = 0; i < length; ++i) {
var item = $dataItems[i];
if (item && item.name !== '') this._cachedItems.push(item);
}
return this._cachedItems;
};
Window_DebugAction.prototype.makeWeaponList = function () {
var items = this.getDataWeapons();
var length = items.length;
for (var i = 0; i < length; ++i) {
var id = items[i].id;
var item = $dataWeapons[id];
this.addDebugItem(item);
}
};
Window_DebugAction.prototype.getDataWeapons = function () {
if (this._cachedWeapons) return this._cachedWeapons;
this._cachedWeapons = [];
var length = $dataWeapons.length;
for (var i = 0; i < length; ++i) {
var item = $dataWeapons[i];
if (item && item.name !== '') this._cachedWeapons.push(item);
}
return this._cachedWeapons;
};
Window_DebugAction.prototype.makeArmorList = function () {
var items = this.getDataArmors();
var length = items.length;
for (var i = 0; i < length; ++i) {
var id = items[i].id;
var item = $dataArmors[id];
this.addDebugItem(item);
}
};
Window_DebugAction.prototype.getDataArmors = function () {
if (this._cachedArmors) return this._cachedArmors;
this._cachedArmors = [];
var length = $dataArmors.length;
for (var i = 0; i < length; ++i) {
var item = $dataArmors[i];
if (item && item.name !== '') this._cachedArmors.push(item);
}
return this._cachedArmors;
};
Window_DebugAction.prototype.drawItem = function (index) {
var symbol = this._list[index].symbol;
var ext = this._list[index].ext;
var rect = this.itemRect(index);
switch (symbol) {
case 'currentGold':
rect.width -= this.textPadding();
this.drawText(this.commandName(index), rect.x, rect.y, rect.width, 'right');
return;
break;
};
Window_DebugCommand.prototype.drawItem.call(this, index);
switch (symbol) {
case 'variableSet':
var value = Yanfly.Util.toGroup($gameVariables.value(ext));
this.resetFontSettings();
rect.width -= this.textPadding();
this.drawText(value, rect.x, rect.y, rect.width, 'right');
break;
case 'battlerRecoverHp':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorHp(this._battler, x, y, w);
break;
case 'battlerRecoverMp':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorMp(this._battler, x, y, w);
break;
case 'battlerRecoverTp':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorTp(this._battler, x, y, w);
break;
case 'battlerClearStates':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorIcons(this._battler, x, y, w);
break;
case 'battlerBaseLevel':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorLevel(this._battler, x, y, w, ext);
break;
case 'battlerBaseParam':
var x = Math.floor(rect.x + rect.width / 3);
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawActorParam(this._battler, x, y, w, ext);
break;
case 'battlerState':
var states = this._battler.states();
var state = $dataStates[ext.id];
var stateId = state.id;
this.resetFontSettings();
var x = Math.ceil(rect.width / 2);
var y = rect.y;
var w = Math.ceil(rect.width / 4);
this.changePaintOpacity(states.contains(state));
var text = states.contains(state) ? 'Affected' : 'Unaffected';
this.drawText(text, x, y, w, 'center');
x += w;
var turns = this._battler._stateTurns[stateId] || 0;
text = 'Turns: ' + turns;
this.drawText(text, x, y, w, 'center');
break;
case 'battlerStatesSortID':
if (this._sortStates === 'id2') {
var text = 'High to Low';
this.changeTextColor(this.textColor(17));
} else if (this._sortStates === 'id1') {
var text = 'Low to High';
this.changeTextColor(this.textColor(17));
} else {
var text = 'Low to High';
this.changeTextColor(this.textColor(0));
}
var x = rect.x;
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawText(text, x, y, w, 'right');
break;
case 'battlerStatesSortPriority':
if (this._sortStates === 'priority2') {
var text = 'High to Low';
this.changeTextColor(this.textColor(17));
} else if (this._sortStates === 'priority1') {
var text = 'Low to High';
this.changeTextColor(this.textColor(17));
} else {
var text = 'Low to High';
this.changeTextColor(this.textColor(0));
}
var x = rect.x;
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawText(text, x, y, w, 'right');
break;
case 'battlerStatesSortName':
if (this._sortStates === 'name2') {
var text = 'Z to A';
this.changeTextColor(this.textColor(17));
} else if (this._sortStates === 'name1') {
var text = 'A to Z';
this.changeTextColor(this.textColor(17));
} else {
var text = 'A to Z';
this.changeTextColor(this.textColor(0));
}
var x = rect.x;
var y = rect.y;
var w = rect.width - x - this.textPadding();
this.drawText(text, x, y, w, 'right');
break;
case 'battlerBuff':
var x = rect.x;
var y = rect.y;
var w = Math.ceil(rect.width / 2);
var value = Yanfly.Util.toGroup(this._battler.param(ext));
var stacks = this._battler._buffs[ext] || 0;
var text = value;
if (stacks > 0) {
this.changeTextColor(this.powerUpColor());
} else if (stacks < 0) {
this.changeTextColor(this.powerDownColor());
} else {
this.changeTextColor(this.normalColor());
}
this.drawText(text, x, y, w - this.textPadding(), 'right');
x += w + this.textPadding();
w = Math.ceil(rect.width / 4);
var rate = Math.floor(this._battler.paramBuffRate(ext) * 100);
text = '(' + rate + '%)';
this.drawText(text, x, y, w - this.textPadding(), 'left');
x += w;
this.resetFontSettings();
text = 'Stacks: ' + Yanfly.Util.toGroup(stacks);
this.drawText(text, x, y, w - this.textPadding(), 'center');
break;
case 'item':
var x = rect.x;
var y = rect.y;
var w = rect.width - this.textPadding();
Window_ItemList.prototype.drawItemNumber.call(this, ext, x, y, w);
break;
};
};
Window_DebugAction.prototype.needsNumber = function () {
return true;
};
Window_DebugAction.prototype.drawItemCarryNumber = function (item, dx, dy, dw) {
var text = '';
if (item.baseItemId) {
text = 'Independent';
} else if (DataManager.isIndependent(item)) {
text = 'Template';
}
if (text === '') return;
this.resetFontSettings();
this.makeFontSmaller();
dw -= this.textPadding();
this.drawText(text, dx, dy, dw, 'right');
};
Window_DebugAction.prototype.drawActorLevel = function (battler, x, y, w, id) {
var rate = battler.level / battler.maxLevel();
var color1 = this.textColor(30);
var color2 = this.textColor(31);
this.drawGauge(x, y, w, rate, color1, color2);
var text = Yanfly.Util.toGroup(battler.level);
this.drawText(text, x, y, w, 'right');
};
Window_DebugAction.prototype.drawActorParam = function (battler, x, y, w, id) {
var rate = battler.param(id) / battler.paramMax(id);
var color1 = this.textColor(30);
var color2 = this.textColor(31);
this.drawGauge(x, y, w, rate, color1, color2);
var text = Yanfly.Util.toGroup(battler.param(id));
if (battler._paramPlus[id] !== 0) {
var add = '(';
add += (battler._paramPlus[id] > 0) ? '+' : '';
add += Yanfly.Util.toGroup(battler._paramPlus[id]) + ') ';
text = add + text;
}
this.drawText(text, x, y, w, 'right');
};
Window_DebugAction.prototype.updateHelp = function () {
this.updateDebugHelp(this._symbol);
};
Window_DebugAction.prototype.update = function () {
Window_DebugCommand.prototype.update.call(this);
this.processExtraKeys();
};
Window_DebugAction.prototype.processExtraKeys = function () {
if (!this.isOpenAndActive()) return;
if (this._battler) return this.processBattlerKeys();
var symbol = this._symbol;
switch (symbol) {
case 'quick':
this.processQuickKeys();
break;
case 'switch':
case 'battle':
case 'events':
this.processQuickSelectKeys();
break;
case 'variable':
this.processVariableKeys();
break;
}
};
Window_DebugAction.prototype.processVariableKeys = function () {
if (this.currentSymbol() !== 'variableSet') return;
var varId = this.currentExt();
var value = Number($gameVariables.value(varId));
if (value === NaN) value = 0;
if (Input.isTriggered('delete')) {
value = 0;
} else if (Input.isRepeated('backspace')) {
value = String(value);
value = value.substring(0, value.length - 1);
value = Number(value);
} else if (Input.isRepeated('0')) {
value = Number(String(value) + '0');
} else if (Input.isRepeated('1')) {
value = Number(String(value) + '1');
} else if (Input.isRepeated('2')) {
value = Number(String(value) + '2');
} else if (Input.isRepeated('3')) {
value = Number(String(value) + '3');
} else if (Input.isRepeated('4')) {
value = Number(String(value) + '4');
} else if (Input.isRepeated('5')) {
value = Number(String(value) + '5');
} else if (Input.isRepeated('6')) {
value = Number(String(value) + '6');
} else if (Input.isRepeated('7')) {
value = Number(String(value) + '7');
} else if (Input.isRepeated('8')) {
value = Number(String(value) + '8');
} else if (Input.isRepeated('9')) {
value = Number(String(value) + '9');
} else if (Input.isTriggered('-')) {
value = -1 * Math.abs(value);
} else if (Input.isTriggered('+')) {
value = Math.abs(value);
} else {
return;
}
SoundManager.playCursor();
$gameVariables.setValue(varId, value);
this.refresh();
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + varId.padZero(4) + ': ' +
($dataSystem.variables[varId] || '') +
' set to ' + Yanfly.Util.toGroup($gameVariables.value(varId)));
}
};
Window_DebugAction.prototype.processQuickKeys = function () {
if (this.currentSymbol() !== 'currentGold') return;
var value = $gameParty.gold();
if (value === NaN) value = 0;
if (Input.isTriggered('delete')) {
value = 0;
} else if (Input.isRepeated('backspace')) {
value = String(value);
value = value.substring(0, value.length - 1);
value = Number(value);
} else if (Input.isRepeated('0')) {
value = Number(String(value) + '0');
} else if (Input.isRepeated('1')) {
value = Number(String(value) + '1');
} else if (Input.isRepeated('2')) {
value = Number(String(value) + '2');
} else if (Input.isRepeated('3')) {
value = Number(String(value) + '3');
} else if (Input.isRepeated('4')) {
value = Number(String(value) + '4');
} else if (Input.isRepeated('5')) {
value = Number(String(value) + '5');
} else if (Input.isRepeated('6')) {
value = Number(String(value) + '6');
} else if (Input.isRepeated('7')) {
value = Number(String(value) + '7');
} else if (Input.isRepeated('8')) {
value = Number(String(value) + '8');
} else if (Input.isRepeated('9')) {
value = Number(String(value) + '9');
} else {
return;
}
SoundManager.playCursor();
$gameParty._gold = value.clamp(0, $gameParty.maxGold());
this.refresh();
if (Yanfly.Param.DebugConsoleMsg) {
var text = 'Quick: Set ' + TextManager.currencyUnit;
text += ' to ' + Yanfly.Util.toGroup($gameParty.gold());
console.log(text);
}
};
Window_DebugAction.prototype.processQuickSelectKeys = function () {
if (Input.isTriggered('tilde')) {
SoundManager.playCursor();
this.select(0);
} else if (Input.isTriggered('0')) {
SoundManager.playCursor();
this.select(this.maxItems() - 1);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('1')) {
SoundManager.playCursor();
this.selectExt(100);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('2')) {
SoundManager.playCursor();
this.selectExt(200);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('3')) {
SoundManager.playCursor();
this.selectExt(300);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('4')) {
SoundManager.playCursor();
this.selectExt(400);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('5')) {
SoundManager.playCursor();
this.selectExt(500);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('6')) {
SoundManager.playCursor();
this.selectExt(600);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('7')) {
SoundManager.playCursor();
this.selectExt(700);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('8')) {
SoundManager.playCursor();
this.selectExt(800);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
} else if (Input.isTriggered('9')) {
SoundManager.playCursor();
this.selectExt(900);
this.setTopRow(Math.floor(this.index() / this.maxCols()));
}
};
Window_DebugAction.prototype.processBattlerKeys = function () {
var value = undefined;
var ext = this.currentExt();
switch (this.currentSymbol()) {
case 'battlerRecoverHp':
value = this._battler.hp;
break;
case 'battlerRecoverMp':
value = this._battler.mp;
break;
case 'battlerRecoverTp':
value = this._battler.tp;
break;
case 'battlerBaseLevel':
value = this._battler.level;
break;
case 'battlerBaseParam':
value = this._battler._paramPlus[ext];
break;
case 'battlerState':
value = this._battler._stateTurns[ext.id] || 0;
break;
case 'battlerBuff':
value = this._battler._buffs[ext] || 0;
break;
}
if (value === undefined) return;
if (value === NaN) value = 0;
if (Input.isTriggered('delete')) {
value = 0;
} else if (Input.isRepeated('backspace')) {
value = String(value);
value = value.substring(0, value.length - 1);
if (value === '-') value = 0;
value = Number(value);
} else if (Input.isRepeated('0')) {
value = Number(String(value) + '0');
} else if (Input.isRepeated('1')) {
value = Number(String(value) + '1');
} else if (Input.isRepeated('2')) {
value = Number(String(value) + '2');
} else if (Input.isRepeated('3')) {
value = Number(String(value) + '3');
} else if (Input.isRepeated('4')) {
value = Number(String(value) + '4');
} else if (Input.isRepeated('5')) {
value = Number(String(value) + '5');
} else if (Input.isRepeated('6')) {
value = Number(String(value) + '6');
} else if (Input.isRepeated('7')) {
value = Number(String(value) + '7');
} else if (Input.isRepeated('8')) {
value = Number(String(value) + '8');
} else if (Input.isRepeated('9')) {
value = Number(String(value) + '9');
} else if (Input.isTriggered('-')) {
value = -1 * Math.abs(value);
} else if (Input.isTriggered('+')) {
value = Math.abs(value);
} else if (Input.isRepeated('left')) {
var mod = 1;
if (Input.isPressed('shift')) mod *= 10;
if (Input.isPressed('control')) mod *= 100;
value -= mod;
} else if (Input.isRepeated('right')) {
var mod = 1;
if (Input.isPressed('shift')) mod *= 10;
if (Input.isPressed('control')) mod *= 100;
value += mod;
} else {
return;
}
SoundManager.playCursor();
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
};
switch (this.currentSymbol()) {
case 'battlerRecoverHp':
this._battler.setHp(value);
text += ' - Changed ' + TextManager.hp + ' to ' + this._battler.hp;
break;
case 'battlerRecoverMp':
this._battler.setMp(value);
text += ' - Changed ' + TextManager.mp + ' to ' + this._battler.mp;
break;
case 'battlerRecoverTp':
this._battler.setTp(value);
text += ' - Changed ' + TextManager.tp + ' to ' + this._battler.tp;
break;
case 'battlerBaseLevel':
value = value.clamp(1, this._battler.maxLevel());
this._battler.changeLevel(value);
this._battler.refresh();
break;
case 'battlerBaseParam':
value = value.clamp(-999999999999999, 999999999999999);
this._battler._paramPlus[this.currentExt()] = value;
this._battler.refresh();
break;
case 'battlerState':
this._battler._stateTurns[ext.id] = Math.max(0, value);
text += ' - Changed ' + ext.name + ' turns to ' + value;
var affected = this._battler.states().contains($dataStates[ext.id]);
if (this._battler._stateTurns[ext.id] > 0 && !affected) {
this._battler.addState(ext.id);
this._battler._stateTurns[ext.id] = Math.max(0, value);
} else if (this._battler._stateTurns[ext.id] <= 0 && affected) {
this._battler.removeState(ext.id);
}
this._battler.clearResult();
break;
case 'battlerBuff':
if (Imported.YEP_BuffsStatesCore) {
var max = this._battler.maxBuffLimit(ext);
var min = -1 * this._battler.maxBuffLimit(ext);
} else {
var max = 2;
var min = -2;
}
this._battler._buffs[ext] = value.clamp(min, max);
this._battler._buffTurns[ext] = Math.max(this._battler._buffTurns[ext], 5);
this._battler.refresh();
text += ' - ' + TextManager.param(ext) + ' Stacks changed to ';
text += this._battler._buffs[ext];
break;
}
this._battler.clearResult();
this.refresh();
if (Yanfly.Param.DebugConsoleMsg) console.log(text);
};
Window_DebugAction.prototype.callOkHandler = function () {
this.activate();
var symbol = this.currentSymbol();
var ext = this.currentExt();
switch (symbol) {
case 'quickWin':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Win Battle');
SceneManager._scene.debugClose();
$gameTroop.members().forEach(function (enemy) {
enemy.setHp(0);
enemy.performCollapse();
});
BattleManager.closeWindowsForDebugAction();
break;
case 'quickLose':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Lose Battle');
SceneManager._scene.debugClose();
$gameParty.battleMembers().forEach(function (actor) {
actor.setHp(0);
actor.performCollapse();
actor.requestMotion('dead');
});
BattleManager.closeWindowsForDebugAction();
break;
case 'quickRecoverAll':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Recover All');
$gameParty.battleMembers().forEach(function (actor) {
actor.recoverAll();
});
break;
case 'quickDisableVariance':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Disable Variance');
$gameTemp.setDisableDamageVariance(true);
break;
case 'quickEnableVariance':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Enable Variance');
$gameTemp.setDisableDamageVariance(false);
break;
case 'quickToggleVariance':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Toggle Variance');
var value = !$gameTemp.isDisableDamageVariance();
$gameTemp.setDisableDamageVariance(false);
break;
case 'quickDisablePerfectStateRate':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Normal State Rates');
$gameTemp.setPerfectStateRate(false);
break;
case 'quickEnablePerfectStateRate':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: 100% State Rates');
$gameTemp.setPerfectStateRate(true);
break;
case 'quickToggleStateRate':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Toggle State Rates');
var value = !$gameTemp.isPerfectStateRate();
$gameTemp.setPerfectStateRate(false);
break;
case 'quickRefillHp':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Refill ' + TextManager.hp);
}
$gameParty.battleMembers().forEach(function (actor) {
actor.setHp(actor.mhp);
});
break;
case 'quickRefillMp':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Refill ' + TextManager.mp);
}
$gameParty.battleMembers().forEach(function (actor) {
actor.setMp(actor.mmp);
});
break;
case 'quickRefillTp':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Refill ' + TextManager.tp);
}
$gameParty.battleMembers().forEach(function (actor) {
actor.setTp(actor.maxTp());
});
break;
case 'quickClearStates':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Clear States');
$gameParty.battleMembers().forEach(function (actor) {
actor.clearStates();
});
break;
case 'quickRefillUses':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Refill Uses');
$gameParty.battleMembers().forEach(function (actor) {
actor.initSkillLimitedUses();
});
break;
case 'quickResetCooldowns':
if (Yanfly.Param.DebugConsoleMsg) console.log('Quick: Reset Cooldowns');
$gameParty.battleMembers().forEach(function (actor) {
actor.clearCooldowns();
actor.clearWarmups();
});
break;
case 'switchToggle':
var value = $gameSwitches.value(ext);
$gameSwitches.setValue(ext, !value);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('S' + ext.padZero(4) + ': ' +
($dataSystem.switches[ext] || '') +
' set to ' + ($gameSwitches.value(ext) ? 'ON' : 'OFF'));
}
break;
case 'quickClearGold':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Clear All ' + TextManager.currencyUnit);
}
$gameParty._gold = 0;
break;
case 'quickGold-1000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Lose 1,000 ' + TextManager.currencyUnit);
}
$gameParty.loseGold(1000);
break;
case 'quickGold=1000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Set 1,000 ' + TextManager.currencyUnit);
}
$gameParty._gold = 1000;
break;
case 'quickGold+1000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Gain 1,000 ' + TextManager.currencyUnit);
}
$gameParty.gainGold(1000);
break;
case 'quickGold-1000000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Lose 1,000,000 ' + TextManager.currencyUnit);
}
$gameParty.loseGold(1000000);
break;
case 'quickGold=1000000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Set 1,000,000 ' + TextManager.currencyUnit);
}
$gameParty._gold = 1000000;
break;
case 'quickGold+1000000':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Gain 1,000,000 ' + TextManager.currencyUnit);
}
$gameParty.gainGold(1000000);
break;
case 'quickItems+1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Items +1');
}
var length = $dataItems.length;
length = Math.min(length, Yanfly.Max.Items);
for (var i = 1; i < length; ++i) {
var item = $dataItems[i];
if (item && item.name) $gameParty.gainItem(item, 1);
}
break;
case 'quickItems+10':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Items +10');
}
var length = $dataItems.length;
length = Math.min(length, Yanfly.Max.Items);
for (var i = 1; i < length; ++i) {
var item = $dataItems[i];
if (item && item.name) $gameParty.gainItem(item, 10);
}
break;
case 'quickItems+MAX':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Items +MAX');
}
var length = $dataItems.length;
length = Math.min(length, Yanfly.Max.Items);
for (var i = 1; i < length; ++i) {
var item = $dataItems[i];
if (item && item.name) {
var max = $gameParty.maxItems(item);
$gameParty.gainItem(item, max);
}
}
break;
case 'quickWeapons+1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Weapons +1');
}
var length = $dataWeapons.length;
length = Math.min(length, Yanfly.Max.Weapons);
for (var i = 1; i < length; ++i) {
var item = $dataWeapons[i];
if (item && item.name) $gameParty.gainItem(item, 1);
}
break;
case 'quickWeapons+10':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Weapons +10');
}
var length = $dataWeapons.length;
length = Math.min(length, Yanfly.Max.Weapons);
for (var i = 1; i < length; ++i) {
var item = $dataWeapons[i];
if (item && item.name) $gameParty.gainItem(item, 10);
}
break;
case 'quickWeapons+MAX':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Weapons +MAX');
}
var length = $dataWeapons.length;
length = Math.min(length, Yanfly.Max.Weapons);
for (var i = 1; i < length; ++i) {
var item = $dataWeapons[i];
if (item && item.name) {
var max = $gameParty.maxItems(item);
$gameParty.gainItem(item, max);
}
}
break;
case 'quickArmors+1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Armors +1');
}
var length = $dataArmors.length;
length = Math.min(length, Yanfly.Max.Armors);
for (var i = 1; i < length; ++i) {
var item = $dataArmors[i];
if (item && item.name) $gameParty.gainItem(item, 1);
}
break;
case 'quickArmors+10':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Armors +10');
}
var length = $dataArmors.length;
length = Math.min(length, Yanfly.Max.Armors);
for (var i = 1; i < length; ++i) {
var item = $dataArmors[i];
if (item && item.name) $gameParty.gainItem(item, 10);
}
break;
case 'quickArmors+MAX':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: All Armors +MAX');
}
var length = $dataArmors.length;
length = Math.min(length, Yanfly.Max.Armors);
for (var i = 1; i < length; ++i) {
var item = $dataArmors[i];
if (item && item.name) {
var max = $gameParty.maxItems(item);
$gameParty.gainItem(item, max);
}
}
break;
case 'quickPartyLevel+1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level +1');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(member.level + 1, false);
}
break;
case 'quickPartyLevel+10':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level +10');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(member.level + 10, false);
}
break;
case 'quickPartyLevel+MAX':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level +MAX');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(member.maxLevel(), false);
}
break;
case 'quickPartyLevel-1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level -1');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(member.level - 1, false);
}
break;
case 'quickPartyLevel-10':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level -10');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(member.level - 10, false);
}
break;
case 'quickPartyLevelto1':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Party Level to 1');
}
var group = $gameParty.members();
var length = group.length;
for (var i = 0; i < length; ++i) {
var member = group[i];
if (member) member.changeLevel(1, false);
}
break;
case 'quickAddAllSkills':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Add All Skills');
}
$gameTemp.addAllSkills();
break;
case 'quickAddAllNamedSkills':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Add All Named Skills');
}
$gameTemp.addAllNamedSkills();
break;
case 'quickRemoveAllSkills':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Quick: Removal All Skills');
}
$gameTemp.removeAllSkills();
break;
case 'switchOn':
$gameSwitches.setValue(ext, true);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('S' + ext.padZero(4) + ': ' +
($dataSystem.switches[ext] || '') +
' set to ' + ($gameSwitches.value(ext) ? 'ON' : 'OFF'));
}
break;
case 'switchOff':
$gameSwitches.setValue(ext, false);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('S' + ext.padZero(4) + ': ' +
($dataSystem.switches[ext] || '') +
' set to ' + ($gameSwitches.value(ext) ? 'ON' : 'OFF'));
}
break;
case 'var-1':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value - 1);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' - 1 = ' + $gameVariables.value(ext));
}
break;
case 'var-10':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value - 10);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' - 10 = ' + $gameVariables.value(ext));
}
break;
case 'var-100':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value - 100);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' - 100 = ' + $gameVariables.value(ext));
}
break;
case 'var+1':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value + 1);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' + 1 = ' + $gameVariables.value(ext));
}
break;
case 'var+10':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value + 10);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' + 10 = ' + $gameVariables.value(ext));
}
break;
case 'var+100':
if (typeof $gameVariables.value(ext) !== 'number') return;
var value = $gameVariables.value(ext);
$gameVariables.setValue(ext, value + 100);
if (Yanfly.Param.DebugConsoleMsg) {
console.log('V' + ext.padZero(4) + ': ' +
($dataSystem.variables[ext] || '') +
' + 100 = ' + $gameVariables.value(ext));
}
break;
case 'teleportMapId':
var mapId = this.currentExt();
if (Yanfly.Param.DebugConsoleMsg) {
console.log('Teleporting to Map ' + mapId + '! Loading Teleporter.');
console.log('...Please be patient as Teleporter loads.');
};
$gameTemp._preDebugTeleportX = $gamePlayer.x;
$gameTemp._preDebugTeleportY = $gamePlayer.y;
$gameTemp._preDebugTeleportMap = $gameMap.mapId();
SceneManager._scene.debugClose();
SceneManager.push(Scene_MapTeleport);
$gamePlayer.reserveTransfer(mapId, 0, 0, 2, 0);
break;
case 'commonEvent':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('C' + ext.padZero(4) + ': ' +
($dataCommonEvents[ext].name || '') +
' - Reserving Common Event');
console.log('NOTE: Common Event will launch when possible!')
};
if (SceneManager._scene instanceof Scene_Map) {
$gameTemp.reserveCommonEvent(ext);
} else if (SceneManager._scene instanceof Scene_Battle) {
$gameTemp.reserveCommonEvent(ext);
} else {
SceneManager.push(Scene_Map);
$gameTemp.reserveCommonEvent(ext);
}
SceneManager._scene.debugClose();
break;
case 'battleNormal':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('B' + ext.padZero(4) + ': ' +
($dataTroops[ext].name || '') +
' - Engaged! Normal Battle!');
};
SceneManager._scene.debugClose();
SoundManager.playBattleStart();
BattleManager.setup(ext, true, true);
$gamePlayer.makeEncounterCount();
SceneManager.push(Scene_Battle);
break;
case 'battleParty':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('B' + ext.padZero(4) + ': ' +
($dataTroops[ext].name || '') +
' - Engaged! Party Advantage!');
};
SceneManager._scene.debugClose();
SoundManager.playBattleStart();
BattleManager.setup(ext, true, true);
BattleManager._preemptive = true;
$gamePlayer.makeEncounterCount();
SceneManager.push(Scene_Battle);
break;
case 'battleTroop':
if (Yanfly.Param.DebugConsoleMsg) {
console.log('B' + ext.padZero(4) + ': ' +
($dataTroops[ext].name || '') +
' - Engaged! Enemy Advantage!');
};
SceneManager._scene.debugClose();
SoundManager.playBattleStart();
BattleManager.setup(ext, true, true);
BattleManager._surprise = true;
$gamePlayer.makeEncounterCount();
SceneManager.push(Scene_Battle);
break;
case 'battlerMain':
if (Yanfly.Param.DebugConsoleMsg) {
var member = ext;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
console.log(text + ' - Battler Parameters Modification')
};
this.setBattler(member, 'main');
break;
case 'battlerAddParty':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = 'A%1: %2';
var text = fmt.format(this._battler.actorId().padZero(4), name);
console.log(text + ' - Added to Party');
};
$gameParty.addActor(this._battler.actorId());
break;
case 'battlerRemoveParty':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = 'A%1: %2';
var text = fmt.format(this._battler.actorId().padZero(4), name);
console.log(text + ' - Removed from Party');
};
$gameParty.removeActor(this._battler.actorId());
break;
case 'battlerRecoverHp':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Recovered Full ' + TextManager.hp);
};
this._battler.setHp(this._battler.mhp);
break;
case 'battlerRecoverMp':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Recovered Full ' + TextManager.mp);
};
this._battler.setMp(this._battler.mmp);
break;
case 'battlerRecoverTp':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Recovered Full ' + TextManager.tp);
};
this._battler.setTp(this._battler.maxTp());
break;
case 'battlerClearStates':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Cleared All Possible States');
};
this._battler.clearStates();
this._battler.clearResult();
break;
case 'battlerShowEnemy':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Is now Shown');
};
this._battler.appear();
this._battler.refresh();
break;
case 'battlerHideEnemy':
if (Yanfly.Param.DebugConsoleMsg) {
var name = this._battler.name();
var fmt = this._battler.isActor() ? 'A%1: %2' : 'E%1: %2';
var id = this._battler.isActor() ?
this._battler.actorId() : this._battler.enemyId();
var text = fmt.format(id.padZero(4), name);
console.log(text + ' - Is now Shown');
};
this._battler.hide();
this._battler.refresh();
break;
case 'battlerList':
if (Yanfly.Param.DebugConsoleMsg) {
var member = ext;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Battler ' + (this._symbol === 'states' ? 'States' : 'Buffs');
text += ' Modification';
console.log(text);
};
this.setBattler(member, this._symbol);
break;
case 'battlerStatesSortID':
this._sortStates = (this._sortStates === 'id1') ?
'id2' : 'id1';
if (Yanfly.Param.DebugConsoleMsg) {
var text = 'Sort States: ID';
console.log(text);
}
this._cachedStates = undefined;
break;
case 'battlerStatesSortPriority':
this._sortStates = (this._sortStates === 'priority1') ?
'priority2' : 'priority1';
if (Yanfly.Param.DebugConsoleMsg) {
var text = 'Sort States: Priority';
console.log(text);
}
this._cachedStates = undefined;
break;
case 'battlerStatesSortName':
this._sortStates = (this._sortStates === 'name1') ?
'name2' : 'name1';
if (Yanfly.Param.DebugConsoleMsg) {
var text = 'Sort States: Name';
console.log(text);
}
this._cachedStates = undefined;
break;
case 'battlerState':
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
};
var state = ext;
var states = member.states();
var affected = states.contains($dataStates[state.id]);
if (affected) {
member.removeState(state.id);
} else {
member.addState(state.id);
}
member.clearResult();
if (Yanfly.Param.DebugConsoleMsg) {
states = member.states();
if (states.contains($dataStates[state.id])) {
text += ' - Applied State ' + state.name;
} else {
text += ' - Removed State ' + state.name;
}
console.log(text);
};
break;
case 'battlerClearBuffs':
for (var i = 0; i < 8; ++i) {
var stacks = this._battler._buffs[i] || 0;
if (stacks > 0) this._battler.removeBuff(i);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Cleared All Buffs';
console.log(text);
};
break;
case 'battlerClearDebuffs':
for (var i = 0; i < 8; ++i) {
var stacks = this._battler._buffs[i] || 0;
if (stacks < 0) this._battler.removeBuff(i);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Cleared All Debuffs';
console.log(text);
};
break;
case 'battlerClearBuffsDebuffs':
for (var i = 0; i < 8; ++i) {
this._battler.removeBuff(i);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Cleared All Buffs & Debuffs';
console.log(text);
};
break;
case 'battlerBuff':
if (this._battler.isBuffOrDebuffAffected(ext)) {
this._battler.removeBuff(ext);
} else {
this._battler.addBuff(ext, 5);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Toggle ' + TextManager.param(ext) + ' Buff!';
console.log(text);
};
break;
case 'battlerAddAllSkills':
var skillLength = $dataSkills.length;
for (var i = 1; i < skillLength; ++i) {
var skill = $dataSkills[i];
if (skill) this._battler.learnSkill(i);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Add All Skills';
console.log(text);
};
break;
case 'battlerAddAllNamedSkills':
var skillLength = $dataSkills.length;
for (var i = 1; i < skillLength; ++i) {
var skill = $dataSkills[i];
if (!skill) continue;
if (skill.name === '') continue;
if (skill.stypeId < 1) continue;
this._battler.learnSkill(i);
}
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Add All Skills';
console.log(text);
};
break;
case 'battlerRemoveAllSkills':
this._battler._skills = [];
if (Yanfly.Param.DebugConsoleMsg) {
var member = this._battler;
if (!member) return;
if (member.isActor()) {
var name = member.name();
var fmt = 'A%1: %2';
var text = fmt.format(member.actorId().padZero(4), name);
} else {
var name = member.name();
var fmt = 'E%1: %2';
var text = fmt.format(member.enemyId().padZero(4), name);
}
text += ' - Add All Skills';
console.log(text);
};
break;
case 'item-max':
var item = ext;
if (Imported.YEP_ItemCore && DataManager.isIndependent(item)) {
var num = 1;
} else {
var num = $gameParty.maxItems(item);
}
$gameParty.gainItem(item, -num);
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Set to zero in quantity';
console.log(text);
}
break;
case 'item-10':
var item = ext;
$gameParty.gainItem(item, -10);
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Reduced -10 in quantity';
console.log(text);
}
break;
case 'item-1':
var item = ext;
$gameParty.gainItem(item, -1);
this.clearCachedItemList();
var item = ext;
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Reduced -1 in quantity';
console.log(text);
}
break;
case 'item+1':
var item = ext;
$gameParty.gainItem(item, 1);
this.clearCachedItemList();
var item = ext;
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Added +1 in quantity';
console.log(text);
}
break;
case 'item+10':
var item = ext;
$gameParty.gainItem(item, 10);
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Added +10 in quantity';
console.log(text);
}
break;
case 'item+max':
var item = ext;
if (Imported.YEP_ItemCore && DataManager.isIndependent(item)) {
var num = 1;
} else {
var num = $gameParty.maxItems(item);
}
$gameParty.gainItem(item, num);
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Set to maximum in quantity';
console.log(text);
}
break;
case 'item-make':
var item = ext;
$gameTemp.enableVarianceStock();
$gameParty.gainItem(item, 1);
$gameTemp.disableVarianceStock();
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Made independent ' + name + ' from template';
console.log(text);
}
break;
case 'item-clear':
var item = ext;
$gameParty.clearAllMatchingBaseItems(item, false);
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Cleared all un-equipped copies of ' + name;
console.log(text);
}
break;
case 'item-dupe':
var itemId = ext.baseItemId;
var group = DataManager.getDatabase(ext);
var item = group[itemId];
$gameTemp.enableVarianceStock();
$gameParty.gainItem(item, 1);
$gameTemp.disableVarianceStock();
this.clearCachedItemList();
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
text += ' - Made independent ' + name + ' from template';
console.log(text);
}
break;
case 'item-delete':
var item = ext;
if (Yanfly.Param.DebugConsoleMsg) {
if (DataManager.isItem(item)) {
var fmt = 'I%1: %2';
} else if (DataManager.isWeapon(item)) {
var fmt = 'W%1: %2';
} else {
var fmt = 'A%1: %2';
}
var id = item.id;
var name = item.name;
var text = fmt.format(id.padZero(4), name);
if ($gameParty.checkItemIsEquipped(item)) {
text += ' - Is currently equipped and cannot be removed';
} else {
text += ' - Removed ' + name;
}
console.log(text);
}
$gameParty.removeIndependentItem(item, false);
DataManager.removeIndependentItem(item);
this.clearCachedItemList();
break;
default:
return;
};
SoundManager.playOk();
this.refresh();
};
//=============================================================================
// Utilities
//=============================================================================
Yanfly.Util = Yanfly.Util || {};
if (!Yanfly.Util.toGroup) {
Yanfly.Util.toGroup = function (inVal) {
return inVal;
}
};
//=============================================================================
// End of File
//=============================================================================
};