// MLC_BypassActorWindow.js
/*:
@plugindesc 跳过角色选择.v11-01-2016
@author 在野月光族
@param UsableKey_Q
@desc 是否开启 Q 键切换本功能。0、不使用; 1、开启。默认为 0.
@default 0
@help
插件指令(非必需)。
---------------------------
指令 参数
---------------------------
角色窗口 还原 | 跳过
---------------------------
默认:
角色窗口 跳过
按键切换 关闭
注※ 为免参数接收错乱,请勿同时开启按键和指令。
*/
/*-------------------------------------------------------------------------*/
(function() {
/*
=============================================================================
◆ 自定义变量
=============================================================================
*/
var MLC = {};
MLC.Q = false;
MLC.ActorWin = false;
MLC.update = Window_Base.prototype.update;
MLC.PC = Game_Interpreter.prototype.pluginCommand;
/*
=============================================================================
◆ 自定义插件参数
=============================================================================
*/
MLC.Paras = PluginManager.parameters('MLC_BypassActorWindow');
MLC.UsableQ = Number(MLC.Paras['UsableKey_Q']) || 0;
/*
=============================================================================
◆ 自定义插件指令
=============================================================================
*/
Game_Interpreter.prototype.pluginCommand = function(command, args) {
MLC.PC.call(this);
var C = /角色|窗口|ACT|WIN|555/g.test(command.toUpperCase() );
if(C){
var A = /还原|开|ON|1/g.test(args[0].toUpperCase() );
if(A) {MLC.ActorWin = true} else{ MLC.ActorWin = false;};
};
};
/*
=============================================================================
◆ 自定义按键触发(默认为Q键)
=============================================================================
*/
Window_Base.prototype.update = function() {
MLC.update.call(this);
if(MLC.UsableQ){
if(Input.isRepeated('pageup') ) MLC.Q = !MLC.Q;
};
};
/*
=============================================================================
◆ 关联-确定与取消
=============================================================================
*/
Scene_Menu.prototype.commandPersonal = function() {
if(MLC.ActorWin || MLC.Q){ /*<<<*/
this._statusWindow.setFormationMode(false);
this._statusWindow.selectLast();
this._statusWindow.activate();
this._statusWindow.setHandler('ok', this.onPersonalOk.bind(this));
this._statusWindow.setHandler('cancel', this.onPersonalCancel.bind(this));
}else{
this.onPersonalOk(); /*<<<*/
};
};
/*
=============================================================================
◆ 关联-物品与角色
=============================================================================
*/
Scene_ItemBase.prototype.applyItem = function() {
var action = new Game_Action(this.user());
action.setItemObject(this.item());
if(MLC.ActorWin || MLC.Q){ /*<<<*/
this.itemTargetActors().forEach(function(target) {
for (var i = 0; i < action.numRepeats(); i++) {
action.apply(target);
}
}, this);
}else{
action.apply($gameParty.members()[0]); /*<<<*/
};
action.applyGlobal();
};
/*
=============================================================================
◆ 物品确定(点击时)
=============================================================================
*/
Scene_Item.prototype.onItemOk = function() {
$gameParty.setLastItem(this.item());
if(MLC.ActorWin || MLC.Q){ /*<<<*/
this.determineItem();
}else{
this.useItem(); /*<<<*/
this._itemWindow.activate(); /*<<<*/
};
};
/*-------------------------------------------------------------------------*/
})();