查看: 3241|回复: 7

[有事请教] 关于如何实现正常“-1”的强制伤害

[复制链接]
梦石
0
星屑
1206
在线时间
129 小时
注册时间
2017-1-5
回帖
9
发表于 2018-4-21 16:10:12 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
问题如上···

我想让怪物在攻击我方或我方攻击怪物时,即便目标防御力再高,
也能打出强制性的1点伤害 而并非 0。

我试过自己摸索  通过 效果 恢复HP-1 来实现强制伤害,
额 虽然伤害没错,但哪怕一下打死了上万HP的目标也只会显示 -1
没错就是表现伤害数值的显示不对···

用计算公式1+(攻击力-防御力),好吧完全是错的,而且伤害都负数了

使用强制战斗行动···整体看起来像 二连击 感觉很奇怪

以上就是昨天一晚上的结果,现在发帖试胆问问,可能这问题有点没必要
因为我完全可以无视这点,只需要提高所有攻击力 HP数值(无论如何都能打出伤害)

如果有大佬能帮我解决问题再好不过了
梦石
0
星屑
1410
在线时间
183 小时
注册时间
2017-1-29
回帖
70
发表于 2018-4-21 16:13:43 | 显示全部楼层
1+(伤害公式)  这样打不出强制1伤害吗?
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-4-21 16:20:17 | 显示全部楼层
找到
Game_Action.prototype.executeDamage = function(target, value) {

在下面第一行加上一行
if (value == 0) {var value = 1}
回复 1 0

使用道具 举报

梦石
0
星屑
1206
在线时间
129 小时
注册时间
2017-1-5
回帖
9
 楼主| 发表于 2018-4-21 16:40:21 | 显示全部楼层
风之竹 发表于 2018-4-21 16:13
1+(伤害公式)  这样打不出强制1伤害吗?

假如1+(a.5 - b.10)
1+ -5= -5
结果还是0伤害
回复

使用道具 举报

梦石
0
星屑
1206
在线时间
129 小时
注册时间
2017-1-5
回帖
9
 楼主| 发表于 2018-4-21 17:07:10 | 显示全部楼层
yang1zhi 发表于 2018-4-21 16:20
找到
Game_Action.prototype.executeDamage = function(target, value) {

感谢大佬,照做之后真的能实现强制伤害了
(果然会脚本的就是能为所欲为233)
回复

使用道具 举报

梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2018-4-21 17:12:58 | 显示全部楼层
FOGGG 发表于 2018-4-21 17:07
感谢大佬,照做之后真的能实现强制伤害了
(果然会脚本的就是能为所欲为233) ...

不过这样应该会造成无伤技能也会减一血
应该再加个判断。
比如加个命中类型的判断
if (this.item().hitType == 0 && value == 0) {var value = 1 }
回复

使用道具 举报

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
回帖
566
发表于 2018-4-21 19:30:07 | 显示全部楼层
建议你重新设计伤害公式吧,默认的那个公式有可能出现负数的,所以即使你固定加1了也还是有可能无效。
我的做法是在伤害公式中去除目标防御力的因素,根据公式计算出的值永远是正数。而目标的防御力,则搭配YEP_X_ArmorScaling插件,赋予其按比例减伤的功能。
回复

使用道具 举报

梦石
0
星屑
22879
在线时间
8598 小时
注册时间
2011-12-31
回帖
3270
发表于 2018-4-22 09:04:48 | 显示全部楼层
本帖最后由 tseyik 于 2018-4-22 09:11 编辑

Math.max(m,1)
m為傷害計算式,最低傷害指定為不小於1
如
Math.max((a攻击力-b防御力),1)
max改成min, 則為最高傷害指定
如
Math.min(m,50)
最高傷害指定不超過50
回复 1 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部