/*:
* @plugindesc 基于状态的强制行动
* @author X_R
* @help 对状态使用<Force Skill: X>(X为技能ID)使其在拥有状态时只能使用固定技能
* /
(function() {
function getForcedSkill(battler) {
var states = battler.states();
for (var i = 0; i < states.length; i++) {
var state = states[i];
if (state.meta["Force Skill"]) {
return Number(state.meta["Force Skill"]);
}
}
return null;
}
var _startAction = BattleManager.startAction;
BattleManager.startAction = function() {
var subject = this._subject;
if (subject) {
var skillId = getForcedSkill(subject);
if (skillId && !subject._forceLock) {
subject._forceLock = true;
var action = new Game_Action(subject);
action.setSkill(skillId);
// 目标(自己)
action.setTarget(subject.index());
subject._actions[0] = action;
subject._forceLock = false;
}
}
_startAction.call(this);
};
})();