Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //=============================================================================
- // Can Lose
- // by Tairo
- // Last Updated: 2016.8.17
- //=============================================================================
- /*:
- * @plugindesc Allows player to lose all battles, including random battles, with no game over.
- * @author Tairo
- *
- * @param Lose Common Event
- * @desc The ID of the common event you want to run after each lost battle.
- * @default 0
- *
- * @param Allow Game Over Switch
- * @desc Switch ID to turn on and allow a game over (on = default RPG Maker behavior).
- * @default 0
- *
- * @help
- * ============================================================================
- * How To Use
- * ============================================================================
- *
- * This plugin causes all battles (random or event) to not cause a game over
- * event after a loss, by default. No commands or parameters needed for the
- * basic function, they're just for more control.
- *
- * The plugin is designed for those who wish to allow the player to lose a
- * random encounter, just like an event battle.
- *
- * The first parameter also allows you to run a common event after a loss, or use
- * a value of 0 to have no common event run.
- *
- * The second parameter is a switch for if you want to control the default
- * behavior. Off for no game over default, on for normal RPG Maker behavior.
- * Use 0 if you don't want to use a switch, so it always allow losses.
- *
- * The plugin commands are for when you want to change whether or not a game
- * over will occur upon a loss in the middle of a battle, or to make certain
- * troops/encounters (like bosses) cause a game over if lost to.
- *
- * Plugin Command:
- * CanLose false # Makes it so a loss causes the game over event
- * CanLose true # Makes it so a loss does not cause a game over
- * CanLose eventID 2 # Sets the event ID to 2, and prints in the console
- * CanLose checkSwitch # Returns ID of the switch & prints it in the console
- *
- * ============================================================================
- * Terms Of Use
- * ============================================================================
- * Free to use and modify for commercial and noncommercial games, with credit.
- * ============================================================================
- * Credits
- * ============================================================================
- * Tairo
- */
- (function() {
- var parameters = PluginManager.parameters('CanLose');
- var loseEvent = Number(parameters['Lose Common Event'] || 0);
- var allowSwitch = Number(parameters['Allow Game Over Switch'] || 0);
- var _BattleManager_setup = BattleManager.setup;
- BattleManager.setup = function(troopId, canEscape, canLose) {
- if(allowSwitch == 0 || $gameSwitches.value(allowSwitch) == false) {
- _BattleManager_setup.call(this, troopId, canEscape, true);
- }
- else {
- _BattleManager_setup.call(this, troopId, canEscape, canLose);
- }
- /*this.initMembers();
- this._canEscape = canEscape;*/
- //this._canLose = true;//canLose;
- /*$gameTroop.setup(troopId);
- $gameScreen.onBattleStart();
- this.makeEscapeRatio();*/
- };
- var _BattleManager_processDefeat = BattleManager.processDefeat;
- BattleManager.processDefeat = function() {
- _BattleManager_processDefeat.call(this);
- if (loseEvent !== 0) {
- $gameTemp.reserveCommonEvent(loseEvent);
- }
- };
- var _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
- Game_Interpreter.prototype.pluginCommand = function(command, args) {
- _Game_Interpreter_pluginCommand.call(this, command, args);
- if (command === 'CanLose') {
- switch (args[0]) {
- case 'false':
- BattleManager._canLose = false;
- console.log("Current fight will cause game-over if lost.");
- break;
- case 'true':
- BattleManager._canLose = true;
- console.log("Current fight will not cause a game-over if lost.");
- break;
- case 'eventID':
- loseEvent = Number(args[1]);
- parameters['Lose Common Event'] = Number(args[1]);
- console.log("Event in Parameter: " + parameters['Lose Common Event'] + " & Event in code: " + loseEvent);
- break;
- case 'checkSwitch':
- return allowSwitch;
- console.log("Switch " + allowSwitch + " is " + $gameSwitches.value(Number(parameters['Allow Game Over Switch'])) + " " + $gameSwitches.value(allowSwitch));
- break;
- }
- }
- };
- /* This function can be found in rpg_managers.js
- BattleManager.setup = function(troopId, canEscape, canLose) {
- this.initMembers();
- this._canEscape = canEscape;
- this._canLose = canLose;
- $gameTroop.setup(troopId);
- $gameScreen.onBattleStart();
- this.makeEscapeRatio();
- };
- */
- })();
RAW Paste Data