一.技能 技能可分为主动技能和被动技能。 先讨论下主动技能。对于主动技能,我们首先要清楚以下这些东西。 1.技能释放的流程: 1.1发出施放请求。 1.2验证是否满足使用技能条件。 1.3返回失败结果或者选择目标。 1.4对目标开始执行技能同时开始动作、特效播放。 1.5执行该技能需要表现的各项效果。 1.6如需伤害判定则进行判断并反馈结果。
2.技能涉及的要素: 2.1类型(主动,被动,时触发,被击时触发)。 2.2***距离,作用范围。 2.3作用目标数量,筛选目标类型。 2.4技能cd,硬直。 2.5伤害类型(物理,魔法***)。 2.6伤害系数(根据什么属性计算伤害)。 2.7技能乘因子。 2.8技能加因子。 2.9***者特效,受击者特效。***者动作。 2.10***者buff,受击者buff。 2.11额外效果(冲锋,击退)。
3.伤害的计算可以分为以下几个部分(每一部分或与技能的配置关联,或与实体的属性关联): 3.1先计算闪避成功率。 3.2技能伤害系数。 3.3基本伤害。 3.4技能伤害。 3.5暴击伤害。 3.6致命伤害。 3.7职业伤害。 3.8波动系数。 3.9追加伤害。 3.10内功伤害。 3.11最终伤害。
有了以上的基础,主动技能可以设计为上述2中多个元素的排列组合,从而实现足够多的技能效果。例如:在表现上,可以是每个技能有不同的动作,然后在自身和目标上面挂载不同的特效。在伤害判定上,一般是造成***力k+b的的伤害(不同技能等级的k和b不同)。每个技能还可以加不同的buff,等等。
下面再讨论下被动技能。 被动技能一般可有三种效果: 1.永久的改变实体的属性。 2.永久的改变某个主动技能的属性(k,b,作用范围,作用目标数量,加buff,技能cd等)。 3.加某个buff。 在实现方式上,一般主动技能身上,要保存一个被动技能影响的字典,便于被动技能升级或者被移除时可以把旧的效果去掉。
二.Buff buff一般用来: 1.临时改变实体的某种属性。例如,buff效果可以是在10秒内暴击率100%。 2.一定时间内每隔一段时间作用一次。这种一般用于加血或减血。 要实现buff,一般每个实体身上要有一个秒定时器,每次添加buff或者移除buff的时候,都会重新计算所有buff(被动)影响的实体每个属性的乘因子和加因子和判断是否应该执行分段式的作用。
完。
















