Project1

标题: 伤害公式写法更简化点? [打印本页]

作者: shengfeng    时间: 2021-2-4 19:44
标题: 伤害公式写法更简化点?
太长了写不了!
一个技能中伤害公式有两种:1- 30%无视防御的伤害公式   2- 30%无视防御加上判断暴击伤害增加10%的伤害公式
作者: alexncf125    时间: 2021-2-4 20:02
本帖最后由 alexncf125 于 2021-2-5 13:24 编辑
此层作废, 原文已使用AES密码加密

作者: soulsaga    时间: 2021-2-4 20:48
楼主公式怎么写的..
作者: KB.Driver    时间: 2021-2-5 00:02
之前好像详细回复过这个问题。
既然是无视防御,那就假设你的技能是物理的吧
RUBY 代码复制
  1. a.atk * 4 - b.def * 1.4 * (@critical ? 1.1 : 1)

之所以是1.4,是因为正常计算是2倍,无视30%防御就是乘以0.7,2*0.7=1.4
作者: shengfeng    时间: 2021-2-5 12:09
这不是30%几率无视防御,你这是减伤30%!成功时不计算敌人防御,失败时计算敌人防御。还有当暴击时伤害再增加10%。      
作者: shengfeng    时间: 2021-2-5 12:35
这是纠正错误,竟然扯到态度上!那你该怎么说? 你好,这公式不是我想要的。
alexncf125是不是在Q群对我有意见,到底得罪谁了,连问过问题都被说的里外不是人。
花钱写脚本成了被大家厌恶的对象是吧?


作者: KB.Driver    时间: 2021-2-5 20:55
先截个图。做题之前审题还是很有必要的。



虽然没有达到你要的结果,不过并不是有意为之,而是没有理解你的意思。
哪怕是提问,也是有技巧的,这个不是重点所以不多讲了。

30%的概率可以用rand(10) < 3作为条件,rand(10)代表从0到9取随机数
结合暴击增伤10%,结果就是这样
RUBY 代码复制
  1. (a.atk * 4 - (rand(10) < 3 ? 0 : b.def * 2)) * (@critical ? 1.1 : 1)

注意这里的任何括号都不能省略。
作者: shengfeng    时间: 2021-2-6 00:54
我的公式比较长用到了幸运和魔攻,不过照你的方法也可以写下了。
作者: shengfeng    时间: 2021-2-6 00:54
我的公式比较长用到了幸运和魔攻,不过照你的方法也可以写下了。
作者: shengfeng    时间: 2021-2-6 01:11
伤害公式教程中用到了rand(100) < 30,应该和rand(10) < 3是一样吧?
作者: KB.Driver    时间: 2021-2-6 11:15
shengfeng 发表于 2021-2-6 01:11
伤害公式教程中用到了rand(100) < 30,应该和rand(10) < 3是一样吧?

其中的差别可以忽略不计,用rand(10) < 3不是比rand(100) < 30少打两个0吗。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1