设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 429|回复: 2
打印 上一主题 下一主题

[原创发布] 一点小功能:依据状态的强制行动

[复制链接]

Lv1.梦旅人

梦石
0
星屑
205
在线时间
42 小时
注册时间
2025-10-23
帖子
8
跳转到指定楼层
1
发表于 2026-3-29 19:11:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
该插件最初是我为了解决使用Yep的Atb系统时使用无法行动类效果时出现的问题而想出的解决方法——我将行动强制变为空技能不就好了吗?
如你所见,会在行动时将拥有指定状态的对象最终输出技能强制修改为指定技能
假设有一技能92
我给某状态附加上<Force Skill: 92>
那么它就会将最后的行动输出结果强制变为92号技能

代码很简单,就是一个简单的检测+修改:
JAVASCRIPT 代码复制
  1. /*:
  2.  * @plugindesc 基于状态的强制行动
  3.  * @author X_R
  4.  * @help 对状态使用<Force Skill: X>(X为技能ID)使其在拥有状态时只能使用固定技能
  5.  * /
  6.  
  7. (function() {
  8.  
  9. function getForcedSkill(battler) {
  10.     var states = battler.states();
  11.     for (var i = 0; i < states.length; i++) {
  12.         var state = states[i];
  13.         if (state.meta["Force Skill"]) {
  14.             return Number(state.meta["Force Skill"]);
  15.         }
  16.     }
  17.     return null;
  18. }
  19.  
  20. var _startAction = BattleManager.startAction;
  21. BattleManager.startAction = function() {
  22.  
  23.     var subject = this._subject;
  24.  
  25.     if (subject) {
  26.  
  27.         var skillId = getForcedSkill(subject);
  28.  
  29.         if (skillId && !subject._forceLock) {
  30.  
  31.             subject._forceLock = true;
  32.  
  33.             var action = new Game_Action(subject);
  34.             action.setSkill(skillId);
  35.  
  36.             // 目标(自己)
  37.             action.setTarget(subject.index());
  38.  
  39.             subject._actions[0] = action;
  40.  
  41.             subject._forceLock = false;
  42.         }
  43.     }
  44.  
  45.     _startAction.call(this);
  46. };
  47.  
  48.  
  49. })();
  50.  

Lv4.逐梦者

梦石
0
星屑
5349
在线时间
707 小时
注册时间
2022-11-26
帖子
306
2
发表于 2026-3-30 11:35:34 | 只看该作者
更好的方法是把状态持续做成时间值,再定义一个回合时间
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
205
在线时间
42 小时
注册时间
2025-10-23
帖子
8
3
 楼主| 发表于 2026-3-30 20:20:29 | 只看该作者
余杭 发表于 2026-3-30 11:35
更好的方法是把状态持续做成时间值,再定义一个回合时间

确实,不过其实本人也是由于懒得微调具体回合数所以才直接用的这个方法搭配自动行动实现233.........
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2026-6-4 17:04

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表