261 lines
No EOL
9.7 KiB
JavaScript
261 lines
No EOL
9.7 KiB
JavaScript
//=============================================================================
|
|
// Yanfly Engine Plugins - Utility Common Events
|
|
// YEP_UtilityCommonEvents.js
|
|
//=============================================================================
|
|
|
|
var Imported = Imported || {};
|
|
Imported.YEP_UtilityCommonEvents = true;
|
|
|
|
var Yanfly = Yanfly || {};
|
|
Yanfly.UCE = Yanfly.UCE || {};
|
|
Yanfly.UCE.version = 1.01;
|
|
|
|
//=============================================================================
|
|
/*:
|
|
* @plugindesc v1.01 Make common events occur at specific gameplay points
|
|
* such as on loading, after battles, etc.
|
|
* @author Yanfly Engine Plugins
|
|
*
|
|
* @param ---General---
|
|
* @default
|
|
*
|
|
* @param Load Game Event
|
|
* @parent ---General---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player loads a game.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Battle Won Event
|
|
* @parent ---General---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player wins a battle.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Escape Battle Event
|
|
* @parent ---General---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player wins a battle.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Close Menu Event
|
|
* @parent ---General---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player closes main menu.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
|
|
* @param ---Vehicles---
|
|
* @default
|
|
*
|
|
* @param Boat Enter Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player enters a boat.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Boat Exit Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player exits a boat.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Ship Enter Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player enters a ship.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Ship Exit Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player exits a ship.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Airship Enter Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player enters airship.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @param Airship Exit Event
|
|
* @parent ---Vehicles---
|
|
* @type common_event
|
|
* @desc Run this common event each time the player exits airship.
|
|
* Set as 0 if you do not wish to run a common event.
|
|
* @default 0
|
|
*
|
|
* @help
|
|
* ============================================================================
|
|
* Introduction
|
|
* ============================================================================
|
|
*
|
|
* Sometimes, we'd like a little bit more control over the kinds of things that
|
|
* occur during certain aspects of our RPG Maker projects. What could have been
|
|
* easily done through common events is made more difficult because there are
|
|
* no proper triggers to activate those common events. This plugin enables
|
|
* certain triggers to occur from loading a game, winning a battle, escaping a
|
|
* battle, and more.
|
|
*
|
|
* ============================================================================
|
|
* Instructions
|
|
* ============================================================================
|
|
*
|
|
* Change the plugin parameters for each of the triggers you want tied to a
|
|
* common event to reflect the ID of that common event. The triggers will be
|
|
* the following along with some examples of how they can be used:
|
|
*
|
|
* - Load Game -
|
|
* Will occur whenever the game is loaded. This can be used for things like
|
|
* story recaps, adjusting in-game timers, or checking for updates.
|
|
*
|
|
* - Battle Won -
|
|
* Will proc whenever a battle is won and the player returns to the map. Can be
|
|
* used for things like updating certain variables or statistics after battle.
|
|
*
|
|
* - Escape Battle -
|
|
* Like the previous but will occur whenever the player escapes battle instead.
|
|
* This can be used for things such as events where the player would have to be
|
|
* on a stealth mission or whatever and escaping can bring them back into a
|
|
* certain spot.
|
|
*
|
|
* - Close Menu -
|
|
* Occurs when the player exits the main menu and returns to the map scene. Can
|
|
* be used for recalibrating equipment, making checks, custom events, and more.
|
|
*
|
|
* - Vehicle Enter -
|
|
* - Vehicle Exit -
|
|
* These events will occur whenever the player will enter/exit the specific
|
|
* vehicle. This can be used to enable/disable certain HUD's while in specific
|
|
* vehicles to give a more immersive feeling.
|
|
*
|
|
* ============================================================================
|
|
* Changelog
|
|
* ============================================================================
|
|
*
|
|
* Version 1.01:
|
|
* - Updated for RPG Maker MV version 1.5.0.
|
|
*
|
|
* Version 1.00:
|
|
* - Finished Plugin!
|
|
*/
|
|
//=============================================================================
|
|
|
|
//=============================================================================
|
|
// Parameter Variables
|
|
//=============================================================================
|
|
|
|
Yanfly.Parameters = PluginManager.parameters('YEP_UtilityCommonEvents');
|
|
Yanfly.Param = Yanfly.Param || {};
|
|
|
|
Yanfly.Param.UtilCommonEvents = {
|
|
load: Number(Yanfly.Parameters['Load Game Event']) || 0,
|
|
battleWon: Number(Yanfly.Parameters['Battle Won Event']) || 0,
|
|
battleEscape: Number(Yanfly.Parameters['Battle Escape Event']) || 0,
|
|
closeMenu: Number(Yanfly.Parameters['Close Menu Event']) || 0,
|
|
|
|
boatEnter: Number(Yanfly.Parameters['Boat Enter Event']) || 0,
|
|
boatExit: Number(Yanfly.Parameters['Boat Exit Event']) || 0,
|
|
shipEnter: Number(Yanfly.Parameters['Ship Enter Event']) || 0,
|
|
shipExit: Number(Yanfly.Parameters['Ship Exit Event']) || 0,
|
|
airshipEnter: Number(Yanfly.Parameters['Airship Enter Event']) || 0,
|
|
airshipExit: Number(Yanfly.Parameters['Airship Exit Event']) || 0,
|
|
};
|
|
|
|
//=============================================================================
|
|
// DataManager
|
|
//=============================================================================
|
|
|
|
Yanfly.UCE.DataManager_loadGame = DataManager.loadGame;
|
|
DataManager.loadGame = function(savefileId) {
|
|
var flag = Yanfly.UCE.DataManager_loadGame.call(this, savefileId);
|
|
if (flag && Yanfly.Param.UtilCommonEvents['load'] > 0) {
|
|
setTimeout(() => $gameTemp.reserveCommonEvent(Yanfly.Param.UtilCommonEvents['load']),2000);
|
|
}
|
|
return flag;
|
|
};
|
|
|
|
//=============================================================================
|
|
// Game_System
|
|
//=============================================================================
|
|
|
|
Yanfly.UCE.Game_System_onBattleWin = Game_System.prototype.onBattleWin;
|
|
Game_System.prototype.onBattleWin = function() {
|
|
Yanfly.UCE.Game_System_onBattleWin.call(this);
|
|
if (Yanfly.Param.UtilCommonEvents['battleWon'] > 0) {
|
|
$gameTemp.reserveCommonEvent(Yanfly.Param.UtilCommonEvents['battleWon']);
|
|
}
|
|
};
|
|
|
|
Yanfly.UCE.Game_System_onBattleEscape = Game_System.prototype.onBattleEscape;
|
|
Game_System.prototype.onBattleEscape = function() {
|
|
Yanfly.UCE.Game_System_onBattleEscape.call(this);
|
|
if (Yanfly.Param.UtilCommonEvents['battleEscape'] > 0) {
|
|
$gameTemp.reserveCommonEvent(Yanfly.Param.UtilCommonEvents['battleEscape']);
|
|
}
|
|
};
|
|
|
|
//=============================================================================
|
|
// Game_Player
|
|
//=============================================================================
|
|
|
|
Yanfly.UCE.Game_Player_getOnVehicle = Game_Player.prototype.getOnVehicle;
|
|
Game_Player.prototype.getOnVehicle = function() {
|
|
var success = Yanfly.UCE.Game_Player_getOnVehicle.call(this);
|
|
if (success) {
|
|
var events = Yanfly.Param.UtilCommonEvents;
|
|
if (this._vehicleType === 'airship' && events.airshipEnter > 0) {
|
|
$gameTemp.reserveCommonEvent(events.airshipEnter);
|
|
} else if (this._vehicleType === 'ship' && events.shipEnter > 0) {
|
|
$gameTemp.reserveCommonEvent(events.shipEnter);
|
|
} else if (this._vehicleType === 'boat' && events.boatEnter > 0) {
|
|
$gameTemp.reserveCommonEvent(events.boatEnter);
|
|
}
|
|
}
|
|
return success;
|
|
};
|
|
|
|
Yanfly.UCE.Game_Player_getOffVehicle = Game_Player.prototype.getOffVehicle;
|
|
Game_Player.prototype.getOffVehicle = function() {
|
|
var success = Yanfly.UCE.Game_Player_getOffVehicle.call(this);
|
|
if (success) {
|
|
var events = Yanfly.Param.UtilCommonEvents;
|
|
if (this._vehicleType === 'airship' && events.airshipExit > 0) {
|
|
$gameTemp.reserveCommonEvent(events.airshipExit);
|
|
} else if (this._vehicleType === 'ship' && events.shipExit > 0) {
|
|
$gameTemp.reserveCommonEvent(events.shipExit);
|
|
} else if (this._vehicleType === 'boat' && events.boatExit > 0) {
|
|
$gameTemp.reserveCommonEvent(events.boatExit);
|
|
}
|
|
}
|
|
return success;
|
|
};
|
|
|
|
//=============================================================================
|
|
// Scene_Menu
|
|
//=============================================================================
|
|
|
|
Yanfly.UCE.Scene_Menu_createCommandWindow =
|
|
Scene_Menu.prototype.createCommandWindow;
|
|
Scene_Menu.prototype.createCommandWindow = function() {
|
|
Yanfly.UCE.Scene_Menu_createCommandWindow.call(this);
|
|
this._commandWindow.setHandler('cancel', this.closeMainMenu.bind(this));
|
|
};
|
|
|
|
Scene_Menu.prototype.closeMainMenu = function() {
|
|
this.popScene();
|
|
if (Yanfly.Param.UtilCommonEvents['closeMenu'] > 0) {
|
|
$gameTemp.reserveCommonEvent(Yanfly.Param.UtilCommonEvents['closeMenu']);
|
|
}
|
|
};
|
|
|
|
//=============================================================================
|
|
// End of File
|
|
//=============================================================================
|