返回列表 发帖

[历史] 过低魔伤被属性抗性削弱到1伤以下,被判断为0伤的进位界限到底在哪里?

我原本以为,当MATK远小于MDEF所造成的伤害恒为1的情况下,当再算上各种抗性而降伤害乘算到0.5以下的时候,由于四舍五入就变成0了
但是下午看下来似乎不对

用冰箭术打穿着风衣的人,按照属性相克应该正好是0.5的进位点,但结果却还是出现了无伤。

想不通这是怎么回事啊……

原帖由 银色的永眠 于 2008-10-19 12:37 发表


将魔法伤害公式分为四段
dmg0=skill(matk)

dmg1=dmg0*(1-mdef/100)

dmg2=dmg1-vmdef

dmg3=dmg2*(1-属性%)*(1-种族%)*(1-防御性技能%)

在dmg1的阶段,mdef=100是否会导致dmg1=0,在这里暂时不讨论
但是从现实经验判断,当dmg1<vmdef的时候,是不会出现dmg2=0,而是强制输出1的
然后将dmg2=1带入dmg3,才可能会出现0伤。
这里有两种说法,第一种是不论后面减伤有多少,因为始终小于1,所以dmg3也始终小于1,小数舍去,则输出0。但是我有做过测试,当被攻击者仅使用一个HW盾,也就是说dmg3在取整前的实际值为0.7的时候,还是会输出1,所以我认为无条件舍去这个说法是不正确的。
另一种说法是普通的四舍五入,0.5进位为1,小于0.5的时候取整为0.但是同样测试,用冰箭术去打风1属性的对象,根据属性加成应该正好减为0.5。照例说应该进位为1,但实际输出却是0
所以我就是想知道的,到底当将1乘算为多少的时候,才是0到1的进位点。

[ 本帖最后由 银色的永眠 于 2008-10-19 14:33 编辑 ]

=<0.5取0
〉0.5取1
业余算命人士

TOP

原帖由 らёгαρん 于 2008-10-19 00:16 发表
{int,round}(dmg*(1-mdef)/mdef-vmdef)*(1-属性%)*(1-种族%)*(1-防御性技能%)


将这个公式分为四段
dmg0=skill(matk)

dmg1=dmg0*(1-mdef/100)

dmg2=dmg1-vmdef

dmg3=dmg2*(1-属性%)*(1-种族%)*(1-防御性技能%)

在dmg1的阶段,mdef=100是否会导致dmg1=0,在这里暂时不讨论
但是从现实经验判断,当dmg1<vmdef的时候,是不会出现dmg2=0,而是强制输出1的
然后将dmg2=1带入dmg3,才可能会出现0伤。
这里有两种说法,第一种是不论后面减伤有多少,因为始终小于1,所以dmg3也始终小于1,小数舍去,则输出0。但是我有做过测试,当被攻击者仅使用一个HW盾,也就是说dmg3在取整前的实际值为0.7的时候,还是会输出1,所以我认为无条件舍去这个说法是不正确的。
另一种说法是普通的四舍五入,0.5进位为1,小于0.5的时候取整为0.但是同样测试,用冰箭术去打风1属性的对象,根据属性加成应该正好减为0.5。照例说应该进位为1,但实际输出却是0
所以我就是想知道的,到底当将1乘算为多少的时候,才是0到1的进位点。

dmg3既非floor{dmg2*(1-属性%)*(1-种族%)*(1-防御性技能%)},也非round{dmg2*(1-属性%)*(1-种族%)*(1-防御性技能%)},那到底是什么,这是问题所在……

[ 本帖最后由 银色的永眠 于 2008-10-19 14:36 编辑 ]

TOP

原帖由 恋雨 于 2008-10-19 01:01 发表
头  巨大芙蓉花15+鬼娃树卡片5+红框5=25
衣  丝质10+魔羌卡片5=15
披  羊毛围巾4+钓鱼河童卡片8=12
鞋  只能抗魔5+邪恶摩艾卡片7=12
盾  镜盾5+搜索者卡片10=15
装饰  2幸运10  
霸体10


数学不好…… ...

+10bjl盾

TOP

你穿着水铠让会冰箭术的打你一下就知道什么叫魔法无伤害了

TOP

头  巨大芙蓉花15+鬼娃树卡片5+红框5=25
衣  丝质10+魔羌卡片5=15
披  羊毛围巾4+钓鱼河童卡片8=12
鞋  只能抗魔5+邪恶摩艾卡片7=12
盾  镜盾5+搜索者卡片10=15
装饰  2幸运10  
霸体10


数学不好………郁闷

还是不对……凉鞋骑士穿不了……
从套装方面考虑有可能100吗?

[ 本帖最后由 恋雨 于 2008-10-19 01:06 编辑 ]

TOP

MDEF为99。。。。。。

TOP

这个最小值1存在么?
且不论对方是什么状态
被攻击方的状态是不会影响攻击方输出的

假设对方造成的伤害是dmg
那么针对魔法防御力而言
{int,round}(dmg*(1-mdef)/mdef-vmdef)*(1-属性%)*(1-种族%)*(1-防御性技能%)
这个所谓强制最小1在哪里的?
取整函数的括号括在哪里?
嘛,不测试的话怎么说得清楚?
条件不是我们主观说说就成的
真想知道应该就像测试双刀刺客输出加成一样去实际测试
虽然matk诡异一点
把签名改回来~

TOP

高I牧师穿魔装加个SQ就可以让魔法MISS了,应该是直接舍弃小数点的
红蛙盾的算法估计是公式的位置问题吧

TOP

提示: 作者被禁止或删除 内容自动屏蔽
“这游戏不再是复制西方、韩国游戏的产物,而百分之百是中国人自己的创意和文化。”陈天桥说

TOP

原帖由 迷糊的安安 于 2008-10-18 22:08 发表
RO好像很多计算都是直接舍小数点,而不是四舍五入……

银娘……一点小小的争吵何必较真呢……还真的不开主号了。。


如果直接舍小数点,那只拿个HW盾应该就可以从1伤变到0伤,但是实际上还是1伤,所以肯定不是舍小数……

其实,我主号真的是密码和提问都忘了……之前还找猫头解决来着。。=-=

TOP

RO好像很多计算都是直接舍小数点,而不是四舍五入……

银娘……一点小小的争吵何必较真呢……还真的不开主号了。。


你能够得到幸福的 因为努力克服过那么多苦难 即使在被不安所击溃的孤单一人的夜里 你也没有认输

TOP

……楼上几位都理解错误了吧 - -

TOP

mdef 到90 或者以上 足够让98%以上的魔法伤害不到你
你可以翻阅下魔防装介绍 战士类可以达到95 甚至超过

TOP

楼主的名字+旁边的注解从字面上很容易让人误会

TOP

返回列表