找回密码
 点一下
查看: 908|回复: 2

如何据人数动态修改伤害?

[复制链接]
发表于 2014-2-13 21:43:38 | 显示全部楼层 |阅读模式
1、受到多人同时攻击时,根据攻击的人数减伤。比如3人同时攻击1个单位,则只受到80%的伤害,4人同时攻击则只受到60%伤害等。
我想的是获取攻击同一个单位的人数,上不同buff就好了。不过不懂怎么获得攻击人数,而且还要动态改变。


2、范围伤害时,根据人数进行伤害。比如3人时,每人50伤害,4人时,每人45伤害等。


做30个验证器和30个对应伤害?如果范围大点再按小狗的体积那不是要做上百个验证器。而且不方便大规模使用(就是让每个范围伤害都有这个效果)
发表于 2014-2-13 21:58:23 | 显示全部楼层
1、“受到多个人攻击”这种事情是很难说的……因为从物理上来说不可能有多于一次的攻击在“同时”发生,而从程序的角度而言单位被攻击都是用队列一个一个结算的,也不会有“同时”的情况发生。
四夕水个人推荐的模拟方法是被攻击的单位响应每次攻击给自己一个持续0.0625秒(最小运算间隔)的减伤Buff,可叠加,重置所有层持续时间。(未经验证可行性)

2、伤害效果原生态支持分摊伤害,只要设定最大伤害就可以了。可以在一定程度上解决问题……
嘛,最大伤害不等的情况还是得用减伤Buff,每个单位都有个让周围单位(不包括自己)免伤的光环,可叠加。这样同样范围内聚团单位越多免伤Buff层数越高伤害越低。

以上是纯数据的处理方案。
通过各种考虑,四夕水还是推荐楼主使用触发器来处理如此动态的东西。
回复

使用道具 举报

 楼主| 发表于 2014-2-13 22:22:30 | 显示全部楼层
四夕水好快,感谢
这也是刚想的
1、0.0625最小循环,但是如果攻击的单位攻击间隔都很长怎么办,如风暴。应该是我没说清楚,我的本意是判断一个单位成为多少个单位的目标,并不是伤害的那一瞬间。触发器是有“事件:单位 -任意单位获得一个目标“,和  ”条件: (获得的目标)=?“,来判断一个单位成为了多少个单位的共同目标,这个不知道可行否,而且我怕负荷过大。
2、总伤害量肯定是不同的,同的话就很简单了。全图减伤buff会不会出现范围外的单位给范围内的单位减伤了,或者大范围的伤害因为距离过远减伤不叠加了。这个触发器还是比较容易的,检查目标点范围内人数,给相应buff就成了,持续到技能结束。突然想到技能重叠好像也不行。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-24 09:19 , Processed in 0.127815 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表