找回密码
 点一下
查看: 1313|回复: 7

技能伤害怎么关联普攻伤害(武器伤害)?

[复制链接]
发表于 2018-9-3 17:51:13 | 显示全部楼层 |阅读模式
类似于
对一个单位造成(100+物理攻击(武器伤害)*50%)
假设武器伤害100
那么最后伤害就是100+(100*50%)=150
如果是200就是100+(200*50%)=200
这样子随着攻击增加而增加的技能伤害。

文本里面也是,怎么插入可以动态变化的伤害数值?
发表于 2018-9-4 20:46:57 | 显示全部楼层
如果要完美实现,必须制作自定义伤害系统,原理就是用一个行为完全抵消伤害,然后根据抵消的伤害来进行计算,并通过触发器事实伤害。
如果不追求完美,也可以直接设置技能的伤害值等于武器的伤害值的多少,并使其保持相同的伤害类型,如果有必要,也可以用触发器来设置数据模板,以修正技能伤害。

点评

那个完美实现的有例图吗?我不是很理解,能再讲一下什么意思吗。  详情 回复 发表于 2018-9-4 21:44
回复

使用道具 举报

发表于 2018-9-4 21:32:35 来自手机 | 显示全部楼层
关于文本,会有个引用 下拉菜单里的数据直接插入后,可以在括号内的英文后面(前面也行)内输入 + - * /和实数
回复

使用道具 举报

 楼主| 发表于 2018-9-4 21:43:59 | 显示全部楼层
yxxiaobin 发表于 2018-9-4 20:46
如果要完美实现,必须制作自定义伤害系统,原理就是用一个行为完全抵消伤害,然后根据抵消的伤害来进行计算 ...

那个完美实现的有例图吗?我不是很理解
回复

使用道具 举报

 楼主| 发表于 2018-9-4 21:44:37 | 显示全部楼层
yxxiaobin 发表于 2018-9-4 20:46
如果要完美实现,必须制作自定义伤害系统,原理就是用一个行为完全抵消伤害,然后根据抵消的伤害来进行计算 ...

那个完美实现的有例图吗?我不是很理解,能再讲一下什么意思吗。
回复

使用道具 举报

发表于 2018-9-4 22:48:26 | 显示全部楼层
本帖最后由 nutari 于 2018-9-4 23:29 编辑

伤害的作法,给与目标1个行为,按需求比例增加或者减少目标受到的普通攻击的伤害,然后再造成一次攻击伤害的效果。
按钮文本基本上没什么好办法,你的需求只有枚举所有可能影响攻击力的BUFF并计算结果写入按钮文本
slash.SC2Map (10.03 KB, 下载次数: 7)
一个简单的例子,隐刀第一个技能造成100+50%普攻的伤害,第二个技能可以给自己+100攻。技能按钮会跟随攻击力增加变动。当然这个例子里只有这1个BUFF会影响攻击力,如果有其他增加攻击力的BUFF,也要一并在技能按钮的文本里列举进去
回复

使用道具 举报

发表于 2018-9-4 22:53:30 | 显示全部楼层
用一个行为抵消所有伤害,这样这个单位就不会受到任何伤害了。不过要另外定义一个伤害效果E1,让行为忽略它,一会儿会用到。
然后在触发器中注册一个任意单位受到伤害的事件,过滤出符合条件的单位,可以用函数获取原始伤害,被行为抵消的伤害,剩余伤害(这里剩余伤害肯定是0)等。你可以利用这些值来自己计算伤害。
计算出伤害值后,利用修改数据模板动作来填写伤害值到伤害效果E1中,然后让伤害源给目标应用一次E1,这样就能实现完全自主的控制伤害了。

大致思路就是这样,具体可以自己去完善。
回复

使用道具 举报

发表于 2018-9-4 22:59:21 | 显示全部楼层
其实我个人推荐使用方案2,只要你的增益buff不包括增加固定值的伤害,实际效果依旧是完美的。这种情况应该让技能伤害和武器伤害的类型保持一致,以便增益buff能自动作用到技能伤害上。
如果包含固定值,也可以用触发器探测buff的修改事件,然后计算出伤害,并修改到技能的伤害效果上。这种情况建议让技能伤害和武器伤害不同,可以更方便计算和修改。不过如果buff比较多的话,代码容易bug,需要小心。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 13:16 , Processed in 0.405899 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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