跳到主要内容

Buff叠加

Creating a Stacking Buff System - Yanfly.moe Wiki

前言

这次来做一个叠加层数,并通过技能来清空这些层数的效果。

我们这次的目标大概分为两块:

  • 制作一个角色使用技能时叠层的系统
  • 制作一个清空叠层并造成各种各样效果的技能

叠层技能

设置状态

首先,新建一个叫做“加热(Heat)”的状态(不用设置回合数限制),并且包含1-5个等级,也就是要从lv1开始到lv5,每一级都要单独做一个状态。

同时每一级状态都会提升10%的基础属性和5%的暴击率,且不断叠加,如图,到了lv5,状态所有者就会得到30%的基础属性和25%的暴击率提升

MirageV ActSeqTut3 01.png

设置事件

写好状态后,创建一个新的公共事件,叫做“Heat等级管理”。通过这个事件来管理Heat等级的变量,同时根据变量来判断角色的Heat等级

创建变量名为“Heat Level”,然后创建几个条件分歧事件,分别判断这个变量从0到5的数值,并根据数值来改变角色的Heat等级。例如0级时,就移除所有等级的状态,3级时,就移除前两级的状态,并附加3级的Heat状态,如图所示。

(当然直接移除其他4级的状态也行,依你的系统复杂程度而定)

MirageV ActSeqTut3 02.png

现在这个管理器完成后,把它加入技能中。在技能最后,通过变量操作让Heat等级+1,然后用条件分歧来判断变量是否已经大于五,如是,则将其重新设回五级。然后调用刚才设置的等级管理,来让角色拥有正确的状态

MirageV ActSeqTut3 03.png

在Enflame、Flame Aura、Gale Blade(前两篇中创建的技能)加入这个,然后开始测试

MirageV ActSeqTut3 04.png

可以看到Heat等级确实提升了(这里他用的是visu的State Tooltips ,收费的)

清空叠层

技能设置

先前的技能都是设置为魔法类,这次的新技能设置为特技来和前面的技能区分开,并让它消耗TP,其余设置如图

MirageV ActSeqTut3 05.png

到公共事件创建一个新的动作序列,把经典setup,action,animation,effect,finish五连放进去

创建一系列条件分歧,来分别判断角色当前的Heat等级,并根据等级来增加技能的伤害倍率。从lv1的1.50开始,到lv5的3.50为止

MirageV ActSeqTut3 06.png

然后在事件底部,移除角色的所有Heat等级,并将变量清零

MirageV ActSeqTut3 07.png

把这个公共事件放进新技能中,开始测试

MirageV ActSeqTut3 08.png

没有加热等级时的伤害

MirageV ActSeqTut3 09.png

叠满lv5的伤害