Buff叠加
Creating a Stacking Buff System - Yanfly.moe Wiki
前言
这次来做一个叠加层数,并通过技能来清空这些层数的效果。
我们这次的目标大概分为两块:
- 制作一个角色使用技能时叠层的系统
- 制作一个清空叠层并造成各种各样效果的技能
叠层技能
设置状态
首先,新建一个叫做“加热(Heat)”的状态(不用设置回合数限制),并且包含1-5个等级,也就是要从lv1开始到lv5,每一级都要单独做一个状态。
同时每一级状态都会提升10%的基础属性和5%的暴击率,且不断叠加,如图,到了lv5,状态所有者就会得到30%的基础属性和25%的暴击率提升
![]()
设置事件
写好状态后,创建一个新的公共事件,叫做“Heat等级管理”。通过这个事件来管理Heat等级的变量,同时根据变量来判断角色的Heat等级
创建变量名为“Heat Level”,然后创建几个条件分歧事件,分别判断这个变量从0到5的数值,并根据数值来改变角色的Heat等级。例如0级时,就移除所有等级的状态,3级时,就移除前两级的状态,并附加3级的Heat状态,如图所示。
(当然直接移除其他4级的状态也行,依你的系统复杂程度而定)
![]()
现在这个管理器完成后,把它加入技能中。在技能最后,通过变量操作让Heat等级+1,然后用条件分歧来判断变量是否已经大于五,如是,则将其重新设回五级。然后调用刚才设置的等级管理,来让角色拥有正确的状态
![]()
在Enflame、Flame Aura、Gale Blade(前两篇中创建的技能)加入这个,然后开始测试
![]()
可以看到Heat等级确实提升了(这里他用的是visu的State Tooltips ,收费的)
清空叠层
技能设置
先前的技能都是设置为魔法类,这次的新技能设置为特技来和前面的技能区分开,并让它消耗TP,其余设置如图
![]()
到公共事件创建一个新的动作序列,把经典setup,action,animation,effect,finish五连放进去
创建一系列条件分歧,来分别判断角色当前的Heat等级,并根据等级来增加技能的伤害倍率。从lv1的1.50开始,到lv5的3.50为止
![]()
然后在事件底部,移除角色的所有Heat等级,并将变量清零
![]()
把这个公共事件放进新技能中,开始测试
![]()
没有加热等级时的伤害
![]()
叠满lv5的伤害