76 lines
2.3 KiB
JavaScript
76 lines
2.3 KiB
JavaScript
// StopSelfMovementWithPlayer.js (ver 1.02)
|
|
/*:
|
|
* @plugindesc
|
|
* @author Sasuke KANNAZUKI
|
|
*
|
|
* @param Varidate Switch ID
|
|
* @desc It works only when the id's switch is on. If set 0, always works.
|
|
* @default 0
|
|
*
|
|
* @help
|
|
*/
|
|
/*:ja
|
|
* @plugindesc
|
|
* @author 神無月サスケ
|
|
*
|
|
* @param Varidate Switch ID
|
|
* @desc このIDのスイッチがONの時に有効になります。0を指定すると常に有効です。
|
|
* @default 0
|
|
*
|
|
* @help
|
|
*/
|
|
(function() {
|
|
var parameters = PluginManager.parameters('JsScript201Set');
|
|
var validateSwitchId = Number(parameters['Varidate Switch ID'] || 0);
|
|
var _Game_Interpreter_pluginCommand =
|
|
Game_Interpreter.prototype.pluginCommand;
|
|
Game_Interpreter.prototype.pluginCommand = function(command, args) {
|
|
_Game_Interpreter_pluginCommand.call(this, command, args);
|
|
if (command === 'JsScript201Set') {
|
|
switch (args[0]) {
|
|
case 'on':
|
|
case 'ON':
|
|
$gameSystem.forceStopEvent = true;
|
|
break;
|
|
case 'off':
|
|
case 'OFF':
|
|
$gameSystem.forceStopEvent = false;
|
|
break;
|
|
}
|
|
}
|
|
};
|
|
var _Game_System_initialize = Game_System.prototype.initialize;
|
|
Game_System.prototype.initialize = function () {
|
|
_Game_System_initialize.call(this);
|
|
this.forceStopEvent = false;
|
|
};
|
|
var isStopWithPlayerMode = function () {
|
|
return validateSwitchId === 0 || !$gameSwitches.value(validateSwitchId);
|
|
};
|
|
var shouldStopWithPlayer = function () {
|
|
if ($gameSystem.forceStopEvent) {
|
|
return true;
|
|
}
|
|
if (isStopWithPlayerMode()) {
|
|
var mw;
|
|
if ($gameMap.isEventRunning()) {
|
|
return true;
|
|
} else if ((mw = SceneManager._scene._messageWindow) && mw.isOpen()) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
};
|
|
var _Game_CharacterBase_updateStop = Game_CharacterBase.prototype.updateStop;
|
|
Game_CharacterBase.prototype.updateStop = function() {
|
|
if (!shouldStopWithPlayer()) {
|
|
_Game_CharacterBase_updateStop.call(this);
|
|
}
|
|
};
|
|
var _Game_Event_updateSelfMovement = Game_Event.prototype.updateSelfMovement;
|
|
Game_Event.prototype.updateSelfMovement = function() {
|
|
if (!shouldStopWithPlayer()) {
|
|
_Game_Event_updateSelfMovement.call(this);
|
|
}
|
|
};
|
|
})();
|