赞 | 17 |
VIP | 0 |
好人卡 | 0 |
积分 | 33 |
经验 | 0 |
最后登录 | 2025-3-13 |
在线时间 | 145 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 3271
- 在线时间
- 145 小时
- 注册时间
- 2018-1-22
- 帖子
- 141
|
本帖最后由 526396987 于 2025-3-7 20:05 编辑
如果还是回合制的话 就覆写一下meetsSkillConditions()
这是当前行动对象处于A状态下才可使用:
- Game_Actor.prototype.meetsSkillConditions = function(skill) {
- return Game_Battler.prototype.meetsSkillConditions.call(this, skill) && (skill.id !== B技能id || this.isStateAffected(A状态id));
- };
复制代码
如果要敌对目标处于A状态下 会更复杂一些,还要加上目标选择的处理:
- Game_Actor.prototype.meetsSkillConditions = function(skill) {
- return Game_Battler.prototype.meetsSkillConditions.call(this, skill) && (skill.id !== B技能id || $gameTroop.members().some(e => e.isStateAffected(A状态id)));
- };
- Window_BattleEnemy.prototype.isCurrentItemEnabled = function() {
- var canUseSkillB = true;
- const action = BattleManager.inputtingAction();
- if (action.isSkill() && action.item().id === B技能id) canUseSkillB = this.enemy().isStatusAffected(A状态id);
- return Window_Selectable.prototype.isCurrentItemEnabled.call(this) && canUseSkillB;
- };
复制代码 |
|