RPGMakerMV探秘17-YEP_X_BattleSysCTB
YEP_X_BattleSysCTB插件是YEP引擎插件的一个扩展插件,除了CTB插件,还有类似功能的ATB、STB插件。
在YEP的战斗引擎核心插件(YEP_BattleEngineCore)中,已经内置了不同战斗系统的选项(dtb、atb、ctb、stb)。dtb是默认战斗系统,其他三个都是YEP的战斗系统。

默认战斗系统也就是系统自带的战斗模式,我方依次选择出手方式(攻击、技能、物品、防御等)及攻击目标,系统根据敏捷计算出手顺序,然后根据计算所得依次出手,回合结束。个人感觉这样的战斗系统略显僵硬,所以加上YEP_X_BattleSysCTB插件试了一下。战斗方式发生了改变,当轮到角色出手时,选择出手方式及目标后,角色将立即行动,而不像默认系统需要一次性选择完所有角色的出手方式和目标。
从界面上来看,右上角多了一个行动槽,能够直观的看出战斗顺序。当然这个是否可见可以在插件参数中设置。

如果你有在游戏过程中改变战斗系统的需求,可以使用下面的插件命令:
setBattleSys CTB //设置为CTB
setBattleSys DTB //设置为DTB
插件提供了丰富的注释命令:
Actor and Enemy Notetags(玩家角色和敌人注释命令)
<CTB Icon: x> //设置角色或敌人在CTB排位槽中的头像图标
<CTB Border Color: x> //设置角色或敌人在CTB排位槽中边框线条颜色
<CTB Background Color: x> //设置角色或敌人在CTB排位槽的边框背景颜色.
Actor only Notetags(玩家角色专用)
<Class x CTB Icon: y> //给不同职业定义不同的头像图标,x为职业ID,y为头像ID
Skill and Item Notetags(技能和道具注释命令)
<CTB Help>
text
text
</CTB Help> //有时候你会在游戏中使用多个战斗系统,这个注释可以为技能和道具添加一个属于CTB系统的说明信息,这个信息只在CTB系统启用的时候显示。
<CTB Speed: x> //把目标的当前排位位置设置为x,类似于ATB的speed值。
<CTB Speed: x%> //把目标的当前排位值设置x%,100%就是直接行动
<CTB Speed: +x>
<CTB Speed: -x> //把目标的当前排位值增加或减少x +/- 起到快速行动或延迟行动的目的 ,±x也可以换成±x%,以百分比表示
<CTB Order: +x>
<CTB Order: -x> //使用这个命令按照x参数改变当前目标的综合排序,+x会使目标需要等待更长的时间。这个命令的效果微小,并且只会持续到当前回合的循环结束
Actor, Class, Enemy, Weapon, Armor, and State Notetags(角色,职业,敌人,武器,护甲和状态命令)
<CTB Start: +x>
<CTB Start: +x%> //在CTB模式中,定义角色开始时的排序槽值,第一次行动后从0开始排位。
<CTB Turn: +x>
<CTB Turn: +x%> //每回合开始时目标的排序槽值,行动后依然从x或x%处开始排位。
如果有一些JS基础的,可以用更加独特的方式来控制CTB的speed。
Skill and Item Notetags(技能、物品备注)
<Target CTB Speed Eval>
speed = target.hp / target.mhp * max;
charge = target.hp / target.mhp * max;
</Target CTB Speed Eval> //speed受到当前血量百分比影响
<Target CTB Order Eval>
if (target.hp > 1000) {
order = 3;
} else {
order = -1;
}
</Target CTB Order Eval> //如果还有超过1000血量,至少要等三个回合才能出手,否则少于一个回合即可。
接下来看下插件参数:
Per Tick:每次获得的speed,默认是敏捷度
Initial Speed:初始speed
Full Gauge:行动槽总的speed,默认公式Math.max(7000, BattleManager.highestBaseAgi() * 120)
Pre-Emptive Bonuses、Surprise Bonuses:先手率,提高sped,一个针对角色、一个针对敌人
Escape Ratio:逃跑率,默认公式:0.5 * $gameParty.agility() / $gameTroop.agility()
Fail Escape Boost:逃跑失败,偏移参数,每次逃跑失败递增,使逃跑概率逐渐增大
Enable Rubberband、Minimum Speed、Maximum Speed:自动平衡器,如果开启,通过设置的最大、最小speed,控制speed的平衡。
---Turn Order---
关于进度槽的一些设置,这里就不展开了,可以自行修改设置,看战斗场景的变化。
国际惯例,舔一下代码,发现舔不动。。。粗看了下,战斗管理器、战斗场景、战斗对象的敌我双方基本都被改了,只有一声叹服。