原创
原版流血这个技能伤害太低,自己做的流血不可叠加又太没意思,能叠加又会导致伤害无限叠加没有上限了。如何像dota2的哈斯卡的火矛一样每层独立持续时间和伤害的持续伤害技能呢。
首先分析流血伤害这个概念,每秒造成一个变量值的伤害,在游戏中就是HealthChangeOT减少一个变量的值。
然后要分析每层独立持续时间和伤害的特点和实现方法:
1、新的流血会重置流血时间。且剩余的流血时间不会大于某个值。所以buff只要设定为replace就好了。
2、变量会定时减少。且持续时间内因为有之前的buff到期,持续时间内每一秒的伤害可能都不一样。
既然每一秒的伤害都不一样且具备前面的继承后面的特性,那我们就用不同的变量去记录每一秒的伤害。假如流血持续5秒,那我们添加流血变量时,不再仅add一个变量的值,而是5个变量都给他add一个值。然后每过去一秒前一秒的值会变成后一秒的值,最后一秒的值会变成0。所以我们设定这几个变量名称为流血第1秒、流血第2秒、流血第3秒、流血第4秒、流血第5秒。攻击敌人时给对面添加buff的同时给这几个变量添加2。
然后是buff中每过去一秒就让流血第1秒等于流血第2跳、流血第2跳等于流血第3跳…..然后如果第一秒流血都为0那就删除buff
最后写上流血效果,要在计算之前
为了方便检测我们也写一个输出文本来记录每秒的变量变化
进游戏检测,点一级技能,有间隔的攻击三次,发现输出的数字两端低中间高,且总和为30,是符合我们要求的。
再看血量163-三次拳头24-30=109与实际血量差了1点,因为游戏持续伤害为0.5秒结算一次,如果添加buff的时间在下半秒就会差半秒的伤害,误差可以接受。利用这个方式也可以制作独立持续时间的攻速buff和叠甲buff。
文件放下面有需要的下载:
这个逼装的我给82分,剩下的用666的方式打给你!感谢大佬的付出,赞一个!
q群 550180643
感谢大佬的付出,赞一个!
七日杀爱好者
七日杀爱好者
从前就很好
支持楼主的思路。。。支持楼主的分享。
接MOD定制内容,聊天灌水QQ群813179963
谢谢大佬的分享!
好,我来研究研究