//============================================================================= // Yanfly Engine Plugins - Test Play Assist // YEP_TestPlayAssist.js //============================================================================= var Imported = Imported || {}; Imported.YEP_TestPlayAssist = true; var Yanfly = Yanfly || {}; Yanfly.TPA = Yanfly.TPA || {}; Yanfly.TPA.version = 1.00; //============================================================================= /*: * @plugindesc v1.00 Test playing can become a chore. This plugin offers new * features that would help make your test playing more flexible and efficient. * @author Yanfly Engine Plugins * * @help * ============================================================================ * Introduction * ============================================================================ * * Test playing your game can be quite time consuming. Each second you spend on * the title screen, each time you accidentally picked Continue instead of * New Game, the time it takes to turn on the FPS counter, and more. While each * of these take little time on their own, the amount of extra time wasted adds * up fast. This plugin will give you access to various features that will aim * to help you save more time when it comes to test playing your game. These * features will only occur during test play and will not run in finalized * versions of the game. * * All of the following are optional and can be turned on/off: * * Auto New Game * - This will automatically start a new game each time you hit test play. That * way, you can avoid selecting the Continue option by accident, go immediately * to where you've placed your Start Player position, and test whatever you * need to do. * * On Switches * - This is a list of switches that will automatically turn on each time a new * game starts during Test Play. This can be helpful for activating/bypassing * certain events, starting parallel common events, etc. * * Common event * - Run a specific common event each time a new game starts in test play. This * can be used for just about anything ranging from adding party members, giving * the party certain weapons, leveling up the party, etc. * * Startup Code * - For those that know JavaScript, this code will be ran at the start of a * new game during test play. By default, the code included with this plugin * will add 10x of each item in the database that isn't a key item or hidden * item for better testing. * * Show FPS * - Normally, one would press F2 to show the FPS meter. Enabling this plugin * parameter will turn it on automatically with each time to save you time. * * Full Screen * - This will automatically full screen the game upon starting up during test * play to speed up any time you have to test the game in full screen without * needing to press the F4 key. * * ============================================================================ * Changelog * ============================================================================ * * Version 1.00: * - Finished Plugin! * * ============================================================================ * End of Helpfile * ============================================================================ * * @param AutoStart * @text Test Play - Auto New Game * @type boolean * @on YES * @off NO * @desc Automatically start a new game on test play? * @default false * * @param OnSwitches * @text Test Play - On Switches * @type switch[] * @desc Turns all of the following switches when a new game is * started during test play. * @default [] * * @param CommonEvent * @text Test Play - Common Event * @type common_event * @desc Plays this common event whenever New Game is started during * test play. Leave this at zero to not use this function. * @default 0 * * @param StartCode * @text Test Play - Startup Code * @type note * @desc Runs the following code upon starting up a new game during * test play. Remove all the code inside if you want. * @default "// Get 10x of each regular item. Exclude key/hidden items.\nfor (var i = 1; i < $dataItems.length; ++i) {\n var item = $dataItems[i];\n if (!item) continue;\n if (item.itypeId !== 1) continue;\n if (item.name.trim().length <= 0) continue;\n $gameParty.gainItem(item, 10);\n}" * * @param AutoFPS * @text Test Play - Show FPS * @type boolean * @on YES * @off NO * @desc Show FPS when you launch the test play client. * @default false * * @param AutoFullScr * @text Test Play - Full Screen * @type boolean * @on YES * @off NO * @desc Automatically full screen the game client during test play. * @default false * */ //============================================================================= //============================================================================= // Parameter Variables //============================================================================= Yanfly.Parameters = PluginManager.parameters('YEP_TestPlayAssist'); Yanfly.Param = Yanfly.Param || {}; Yanfly.Param.DSUAAutoNewGame = eval(Yanfly.Parameters['AutoStart']) || false; Yanfly.Param.DSUAOnSwitches = JSON.parse(Yanfly.Parameters['OnSwitches']) || ""; Yanfly.Param.DSUACommonEvent = Number(Yanfly.Parameters['CommonEvent']) || 0; Yanfly.Param.DSUAStartCode = JSON.parse(Yanfly.Parameters['StartCode']) || ""; Yanfly.Param.DSUAAutoFPS = eval(Yanfly.Parameters['AutoFPS']) || false; Yanfly.Param.DSUAAutoFullScr = eval(Yanfly.Parameters['AutoFullScr']) || false; if (Utils.isNwjs() && Utils.isOptionValid('test')) { //============================================================================= // DataManager //============================================================================= Yanfly.TPA.DataManager_setupNewGame = DataManager.setupNewGame; DataManager.setupNewGame = function() { Yanfly.TPA.DataManager_setupNewGame.call(this); this.setupNewGameTestPlayAssist(); }; DataManager.setupNewGameTestPlayAssist = function() { // Switch On for (var i = 0; i < Yanfly.Param.DSUAOnSwitches.length; ++i) { var switchId = Number(Yanfly.Param.DSUAOnSwitches[i]); if (switchId > 0) { $gameSwitches.setValue(switchId, true); } } // Common Event if (Yanfly.Param.DSUACommonEvent > 0) { $gameTemp.reserveCommonEvent(Yanfly.Param.DSUACommonEvent); } // Startup Code eval(Yanfly.Param.DSUAStartCode); }; //============================================================================= // Scene_Boot //============================================================================= Yanfly.TPA.Scene_Boot_start = Scene_Boot.prototype.start; Scene_Boot.prototype.start = function() { if (this.isAutoStartNewGame()) { this.checkPlayerLocation(); DataManager.setupNewGame(); SceneManager.goto(Scene_Map); } else { Yanfly.TPA.Scene_Boot_start.call(this); } //if (Yanfly.Param.DSUAAutoFPS) Graphics._switchFPSMeter(); if (Yanfly.Param.DSUAAutoFullScr) Graphics._requestFullScreen(); }; Scene_Boot.prototype.isAutoStartNewGame = function() { return Yanfly.Param.DSUAAutoNewGame && !DataManager.isBattleTest() && !DataManager.isEventTest(); }; }; // (Utils.isNwjs() && Utils.isOptionValid('test')) //============================================================================= // End of File //=============================================================================