简易技能后继续行动
本帖最后由 烁灵 于 2024-7-15 11:07 编辑简单设置技能选中后继续选择该角色的其他行动
在【技能】的备注栏填写
<SLMULTICAST>即可,这个效果一回合只能使用一次。
脚本:保存为 SimpleSkillMulticast.js
/*:
* @target MZ
* @plugindesc 简易技能连续行动
* 更多插件请访问 www.hknmtt.com
* @author 烁灵
*
* @help SimpleSkillMulticast.js
*
* 在【技能】的备注栏中填写备注:
* <SLMULTICAST>
* 可以使得选中该技能后,可以继续选择该角色的其他行动
* 这个效果一回合只能使用一次
*
*/
(function() {
var Imported = Imported || {};
Imported.Soulbaka_Multicast = true;
var soulbaka = soulbaka || {};
soulbaka.Multicast = soulbaka.Multicast || {};
soulbaka.Multicast.skills = {};
soulbaka.Multicast.multiActors = {}
soulbaka.Multicast.multiskill_DataManager_isDatabaseLoaded = DataManager.isDatabaseLoaded;
DataManager.isDatabaseLoaded = function() {
if (!soulbaka.Multicast.multiskill_DataManager_isDatabaseLoaded.call(this)) return false;
if (!soulbaka.Multicast._loaded) {
this.process_Multicast_notetags($dataSkills);
soulbaka.Multicast._loaded = true;
}
return true;
};
DataManager.process_Multicast_notetags = function(group) {
let regex = [
/\<SLMULTICAST\>/i,
];
for (var n = 1; n < group.length; n++) {
let obj = group;
let notedata = obj.note.split(/[\r\n]+/);
for (var i = 0; i < notedata.length; i++) {
let result;
if ([, ...result] = notedata.match(regex) || '') {
soulbaka.Multicast.skills = true;
}
}
}
};
Game_Actor.prototype.selectNextCommand = function() {
if (this._actionInputIndex < this.numActions() - 1) {
this._actionInputIndex++;
return true;
} else {
// 判断上个行动是否是连续行动技能
if (this.inputtingAction() &&
this.inputtingAction()._item &&
soulbaka.Multicast.skills &&
!soulbaka.Multicast.multiActors) {
this._actionInputIndex++;
this._actions.push(new Game_Action(this));
soulbaka.Multicast.multiActors = true;
return true;
}
return false;
}
};
soulbaka.Multicast.multiskill_BattleManager_startActorInput = BattleManager.startActorInput;
BattleManager.startActorInput = function() {
soulbaka.Multicast.multiskill_BattleManager_startActorInput.call(this);
if (this._currentActor) {
// 取消连续行动标记
if (soulbaka.Multicast.multiActors) {
soulbaka.Multicast.multiActors = false;
this._currentActor.makeActions(); // 重新初始化行动
}
}
};
soulbaka.Multicast.multiskill_BattleManager_startBattle = BattleManager.startBattle;
BattleManager.startBattle = function() {
// 初始化连续行动标记
soulbaka.Multicast.multiActors = {};
soulbaka.Multicast.multiskill_BattleManager_startBattle.call(this);
};
})();
MZ 在哪插入插件,我不会了 久久 发表于 2024-8-29 22:16
MZ 在哪插入插件,我不会了
在plugins里新建js文件,然后在插件管理器里开启
页:
[1]