浆糊论坛-RO小站's Archiver

银色的永眠 发表于 2008-10-18 16:59

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

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

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

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

[quote]原帖由 [i]银色的永眠[/i] 于 2008-10-19 12:37 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9783902&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]


将魔法伤害公式分为四段
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的进位点。 [/quote]

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

7777777777 发表于 2008-10-18 17:30

[quote]原帖由 [i]银色的永眠[/i] 于 2008-10-18 16:59 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9780926&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
我原本以为,当MATK远小于MDEF所造成的伤害恒为1的情况下,当再算上各种抗性而降伤害乘算到0.5以下的时候,由于四舍五入就变成0了
但是下午看下来似乎不对

用冰箭术打穿着风衣的人,按照属性相克应该正好是 ... [/quote]
把1Z的东西卖NPC试试,很显然是舍尾。

路西法家的猫 发表于 2008-10-18 17:30

黄金小强卡...

看客 发表于 2008-10-18 17:32

[quote]原帖由 [i]银色的永眠[/i] 于 2008-10-18 16:59 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9780926&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
我原本以为,当MATK远小于MDEF所造成的伤害恒为1的情况下,当再算上各种抗性而降伤害乘算到0.5以下的时候,由于四舍五入[color=Red]就变成0了[/color]
但是下午看下来似乎不对

用冰箭术打穿着风衣的人,按照属性相克应该正好是 [color=Red]但结果却还是出现了无伤。[/color]

想不通这是怎么回事啊…… [/quote]
是不是表达错误了?

银色的永眠 发表于 2008-10-18 17:34

[quote]原帖由 [i]看客[/i] 于 2008-10-18 17:32 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9781038&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]

是不是表达错误了? [/quote]
唔,简单来说原本伤害为1
由于属性相克的关系,此时伤害应该减少为了0.5
按照四舍五入,0.5应该进位为1,也就是有伤害
但是我看到的情况却是伤害为0,无伤害。

看客 发表于 2008-10-18 17:39

[quote]原帖由 [i]银色的永眠[/i] 于 2008-10-18 17:34 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9781045&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]

唔,简单来说原本伤害为1
由于属性相克的关系,此时伤害应该减少为了0.5
按照四舍五入,0.5应该进位为1,也就是有伤害
但是我看到的情况却是伤害为0,无伤害。 [/quote]
这个算法谁知道他的语句是怎么写的
反正的确会因为atk/matk过低,vdef,imdef过高导致伤害为0的

银色的永眠 发表于 2008-10-18 17:53

不过这个界限应该也不会超过60%吧……
有人能告诉我HW+大便+战斗,也就是40%减伤可以在PVP里实现0伤么?

亚雷特 发表于 2008-10-18 19:41

MDEF 100的话。我用计算器算的如果对方的MATK无敌高的话还是有1%的伤害打出来, 和MDEF 99是一样的,实际不知道。。毕竟做不到

不过现在免费服最高也就99还只是暂时99.。。。。GVG里就算你大便HW战斗也没用的。这是乘算的

但是我不知道,有个想法。。因为金刚在无名2练级的时候。给个套子经常所有物理攻击全MISS了。。这里应该就是V的减算作用了

所以如果想象当MDEF99的时候  你的I也是99+XXX(比如审判十字军是最好的例子),估计就有可能造成CM不魔增全部攻击MISS,  魔增后100血

米蘭的小鐵匠 发表于 2008-10-18 19:46

话说我的CC金刚之后 GVG里大部分CM也是全MISS...连爆雪的强制冰冻也无视...

肉质大绵羊 发表于 2008-10-18 19:50

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

fxfx888 发表于 2008-10-18 20:29

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

银色的永眠 发表于 2008-10-18 21:28

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

迷糊的安安 发表于 2008-10-18 22:08

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

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

银色的永眠 发表于 2008-10-18 22:21

[quote]原帖由 [i]迷糊的安安[/i] 于 2008-10-18 22:08 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9782241&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
RO好像很多计算都是直接舍小数点,而不是四舍五入……

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

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

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

a 发表于 2008-10-18 23:21

**** 作者被禁止或删除 内容自动屏蔽 ****

hgf 发表于 2008-10-18 23:37

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

らёгαρん 发表于 2008-10-19 00:16

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

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

·樱羽亭· 发表于 2008-10-19 00:18

MDEF为99。。。。。。

恋雨 发表于 2008-10-19 01:01

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


数学不好………郁闷

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

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

646124864 发表于 2008-10-19 01:52

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

老灯 发表于 2008-10-19 03:52

[quote]原帖由 [i]恋雨[/i] 于 2008-10-19 01:01 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9782949&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
头  巨大芙蓉花15+鬼娃树卡片5+红框5=25
衣  丝质10+魔羌卡片5=15
披  羊毛围巾4+钓鱼河童卡片8=12
鞋  只能抗魔5+邪恶摩艾卡片7=12
盾  镜盾5+搜索者卡片10=15
装饰  2幸运10  
霸体10


数学不好…… ... [/quote]
+10bjl盾

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

[quote]原帖由 [i]らёгαρん[/i] 于 2008-10-19 00:16 发表 [url=http://bbs.rohome.net/redirect.php?goto=findpost&pid=9782817&ptid=931149][img]http://bbs.rohome.net/images/common/back.gif[/img][/url]
{int,round}(dmg*(1-mdef)/mdef-vmdef)*(1-属性%)*(1-种族%)*(1-防御性技能%)
[/quote]

将这个公式分为四段
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-防御性技能%)},那到底是什么,这是问题所在……

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

九曜 发表于 2008-10-19 12:50

=<0.5取0
〉0.5取1

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.