Initial Commit
This commit is contained in:
commit
ec5c71b3ac
1712 changed files with 1767257 additions and 0 deletions
187
www/js/plugins/YEP_StopMapMovement.js
Normal file
187
www/js/plugins/YEP_StopMapMovement.js
Normal file
|
@ -0,0 +1,187 @@
|
|||
//=============================================================================
|
||||
// Yanfly Engine Plugins - Stop Map Movement
|
||||
// YEP_StopMapMovement.js
|
||||
//=============================================================================
|
||||
|
||||
var Imported = Imported || {};
|
||||
Imported.YEP_StopMapMovement = true;
|
||||
|
||||
var Yanfly = Yanfly || {};
|
||||
Yanfly.Stop = Yanfly.Stop || {};
|
||||
Yanfly.Stop.version = 1.02
|
||||
|
||||
//=============================================================================
|
||||
/*:
|
||||
* @plugindesc v1.02 A utility plugin to stop events from automatically
|
||||
* moving by themselves all across your map.
|
||||
* @author Yanfly Engine Plugins
|
||||
*
|
||||
* @param Stop During Events
|
||||
* @type boolean
|
||||
* @on YES
|
||||
* @off NO
|
||||
* @desc Stop automatic movement during events?
|
||||
* NO - false YES - true
|
||||
* @default true
|
||||
*
|
||||
* @param Stop During Message
|
||||
* @type boolean
|
||||
* @on YES
|
||||
* @off NO
|
||||
* @desc Stop automatic movement during message displaying?
|
||||
* NO - false YES - true
|
||||
* @default true
|
||||
*
|
||||
* @help
|
||||
* ============================================================================
|
||||
* Introduction
|
||||
* ============================================================================
|
||||
*
|
||||
* A feature that was removed from RPG Maker 2000 and RPG Maker 2003 was the
|
||||
* Stop Event Movement event. This event prevented events from automatically
|
||||
* moving by themselves, so they don't intrude on cutscenes, catch up to the
|
||||
* player during messages, etc.
|
||||
*
|
||||
* This plugin recreates that feature in the form of a plugin command for you
|
||||
* to use with RPG Maker MV!
|
||||
*
|
||||
* ============================================================================
|
||||
* Plugin Commands
|
||||
* ============================================================================
|
||||
*
|
||||
* You can use the following plugin commands to produce the following effects:
|
||||
*
|
||||
* Plugin Command
|
||||
*
|
||||
* StopEventMovement
|
||||
* Stops events from automatically moving by themselves. You can still move
|
||||
* events through movement routes set by your active event.
|
||||
*
|
||||
* AllowEventMovement
|
||||
* Allows events to move automatically by themselves again. If you have any
|
||||
* of the plugin parameters disabling events from moving during either events
|
||||
* or messages, this will not bypass it.
|
||||
*
|
||||
* StopPlayerMovement
|
||||
* Stops player from being able to move via input. You can still move the
|
||||
* player through movement routes set by your active event.
|
||||
*
|
||||
* AllowPlayerMovement
|
||||
* Allows player to move again via input.
|
||||
*
|
||||
* ============================================================================
|
||||
* Changelog
|
||||
* ============================================================================
|
||||
*
|
||||
* Version 1.02:
|
||||
* - Updated for RPG Maker MV version 1.5.0.
|
||||
*
|
||||
* Version 1.01:
|
||||
* - Optimized updating performance to reduce lag on maps with many events.
|
||||
*
|
||||
* Version 1.00:
|
||||
* - Finished Plugin!
|
||||
*/
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Parameter Variables
|
||||
//=============================================================================
|
||||
|
||||
Yanfly.Parameters = PluginManager.parameters('YEP_StopMapMovement');
|
||||
Yanfly.Param = Yanfly.Param || {};
|
||||
|
||||
Yanfly.Param.StopEvent = eval(String(Yanfly.Parameters['Stop During Events']));
|
||||
Yanfly.Param.StopMsg = eval(String(Yanfly.Parameters['Stop During Message']));
|
||||
|
||||
//=============================================================================
|
||||
// Game_Temp
|
||||
//=============================================================================
|
||||
|
||||
Game_Temp.prototype.stopMapEventMovement = function() {
|
||||
this._stopMapEvents = true;
|
||||
};
|
||||
|
||||
Game_Temp.prototype.stopMapPlayerMovement = function() {
|
||||
this._stopMapPlayer = true;
|
||||
};
|
||||
|
||||
Game_Temp.prototype.allowMapEventMovement = function() {
|
||||
this._stopMapEvents = false;
|
||||
};
|
||||
|
||||
Game_Temp.prototype.allowMapPlayerMovement = function() {
|
||||
this._stopMapPlayer = false;
|
||||
};
|
||||
|
||||
Game_Temp.prototype.isStopMapEventMovement = function() {
|
||||
return this._stopMapEvents;
|
||||
};
|
||||
|
||||
Game_Temp.prototype.isStopMapPlayerMovement = function() {
|
||||
return this._stopMapPlayer;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Game_Player
|
||||
//=============================================================================
|
||||
|
||||
Yanfly.Stop.Game_Player_canMove = Game_Player.prototype.canMove;
|
||||
Game_Player.prototype.canMove = function() {
|
||||
if ($gameTemp.isStopMapPlayerMovement()) return false;
|
||||
return Yanfly.Stop.Game_Player_canMove.call(this);
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Game_Event
|
||||
//=============================================================================
|
||||
|
||||
Yanfly.Stop.Game_Event_updateSelfMovement =
|
||||
Game_Event.prototype.updateSelfMovement;
|
||||
Game_Event.prototype.updateSelfMovement = function() {
|
||||
if (this.preventSelfMovement()) return;
|
||||
Yanfly.Stop.Game_Event_updateSelfMovement.call(this);
|
||||
};
|
||||
|
||||
Game_Event.prototype.preventSelfMovement = function() {
|
||||
if (this._moveType === 0) return true;
|
||||
if ($gameTemp.isStopMapEventMovement()) return true;
|
||||
if (Yanfly.Param.StopMsg && $gameMessage.isBusy()) return true;
|
||||
if (Yanfly.Param.StopEvent && $gameMap.isEventRunQuick()) return true;
|
||||
return false;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Game_Map
|
||||
//=============================================================================
|
||||
|
||||
Game_Map.prototype.isEventRunQuick = function() {
|
||||
return this._interpreter.isRunning() || this.isAnyEventStartingQuick();
|
||||
};
|
||||
|
||||
Game_Map.prototype.isAnyEventStartingQuick = function() {
|
||||
var max = this._events.length;
|
||||
for (var i = 0; i < max; ++i) {
|
||||
var ev = this._events[i];
|
||||
if (ev && ev.isStarting()) return true;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// Game_Interpreter
|
||||
//=============================================================================
|
||||
|
||||
Yanfly.Stop.Game_Interpreter_pluginCommand =
|
||||
Game_Interpreter.prototype.pluginCommand;
|
||||
Game_Interpreter.prototype.pluginCommand = function(command, args) {
|
||||
Yanfly.Stop.Game_Interpreter_pluginCommand.call(this, command, args)
|
||||
if (command === 'StopEventMovement') $gameTemp.stopMapEventMovement();
|
||||
if (command === 'AllowEventMovement') $gameTemp.allowMapEventMovement();
|
||||
if (command === 'StopPlayerMovement') $gameTemp.stopMapPlayerMovement();
|
||||
if (command === 'AllowPlayerMovement') $gameTemp.allowMapPlayerMovement();
|
||||
};
|
||||
|
||||
//=============================================================================
|
||||
// End of File
|
||||
//=============================================================================
|
Loading…
Add table
Add a link
Reference in a new issue