![]() |
![]() |
#1 |
黄金会员
![]() ![]() ![]() ![]() 注册: 07年11月28日
来自: 川崎
帖子: 447
声望力: 22
声望:
52
![]() 积分:19
精华:3
现金:23两梁山币
资产:117616两梁山币
致谢数: 3
获感谢文章数:2
获会员感谢数:2 |
关于溢出(主要是dodge)
据震某说wiz已经把/3挪到前面了,即[ power = level*level/3*level ] 有效等级>1860 会出现溢出。 除了dodge以外,攻击技能也比较容易溢出(老妖怪太多...) 计算攻击技能power的时候,会在有效等级基础上+[apply/attack]的,然后在计算power 即level=有效等级+[apply/attack] ([apply/attack]并不体现在enable数值里,比如:exert powerup以后enable没变化) 加[apply/attack]的perform比较多 dragonforce\zhenshen +(dragonforce lvl)/50 上限:50 tonsillitis\powerup +(tonsillitis lvl)/50 上限:50 snowsword\diezhang +(双方baihua-zhang lvl之和)/16 snowsword\wuxue -(enable sword)(00%,10%~50%) <-snowsword越低越好的原因 wzg\hammer,staff +(enable sword)/3 总之: [攻击技能有效等级+apply/attack]=1860是最好的。 这些都是看的xyj2000老代码,现在的zz可能有改动。 突然觉得perform hammer是个好技能阿,加的命中好多阿,而且mark也不冲突,而且也不用enable zhenyuan-force,而且busy最多一秒,而且剑的攻击也高,而且还加damage! longgong的id如果千手丢了,可以perform wuxue,bianfu,perform hammer,然后学hammer,huntian-hammer拿着锤子到处砸多爽阿!不比千手差多少阿!(因为用千手没parry,很好理解:用手parry武器不找死么...)huntian-hammer还可以打断对方兵器!(开山锤不行) 当然,学基本hammer要用点潜能的。 nnd!我之前为什么要放弃阿!!! 考虑要不要再叛一圈ing... 关于锤法: kaishan-chui: 每招都有个hitagain方法,在这个方法里只要对方parry了,就会追加一次攻击(追加的攻击被parry,继续追加一次...) 结论:开山锤能削弱对方parry的作用(并不是忽略对方parry,因为在追加的攻击中还要判断dodge+parry) huntian-hammer: 一共6招,其中3招有bash_weapon方法, 在bash_weapon里对方parry了的话,会根据武器的重量随即判断是不是能打断对方的兵器,判断方法在这个帖子里 砸兵器啦!「啪」! 打断怪的兵器后好处多多 1。怪就不能parry,玩家的命中率会很高 2。怪攻击的时候,玩家容易parry(空手攻击时,被攻击对象的parry_power*2) 3。除了jinghun-zhang,不会被打伤(安全,省药) ↓溢出原因 ----------------------------------------------------------- 现在基本都会wuxue+bianfu,还能骑天马,穿踏云靴 dodge多少会溢出呢? enable>1290 原因如下: int最大值=2^31=2,147,483,647 战斗中计算dodge power方法如下 power = (level*level*level) / 3 ※level:dodge有效等级 根据上面的计算方法,[(level*level*level) >int最大值]就会发生溢出 (由于是一步一步计算,所以没到/3就已经溢出) 1290的立方:2,146,689,000 1291的立方:2,151,685,171 即,dodge有效等级如果=1290时效果最好,计算结果 1290*1290*1290/3:715,563,000 (实际上要在上面的基础上加上wx,wx上的溢出连bbx都不用考虑) dodge有效等级如果=1291则会溢出,计算结果 1291*1291*1291/3:-714,427,375 战斗效果:不能躲过敌人的攻击,后面就完全靠parry了。 dodge有效等级>1290就会溢出,但并不是说计算结果一定<0 比如 1800*1800*1800/3:512,344,234 2000*2000*2000/3:-196,644,864 2200*2200*2200/3:686,021,802 都是32位的错~什么时候更新成64位阿~ (^-^) parry,攻击技能的算法与上面类似 现在老妖怪太多,溢出无处不在。 又看了一下,发现下面还有一段代码 if ( power > 100000 ) power = power / status * (int)ob->query("sen"); else power = power * (int)ob->query("sen") / status; 如果power原来是+值,则不必担心(先除后乘) 但是如果power溢出以后为-值,由于在这里还要乘以[精神] 可能会出现2次溢出,这次溢出以后本来是-值的power有可能咸鱼大翻身变成+值! 更复杂了。。。 不知道zz什么情况。 如果多试验几次的话,多少enable会溢出应该是可以试验出来的。(dodge power溢出的话完全不能躲避。) 此帖于 2011-05-13 16:39 被 kimmina 编辑. |
![]() |
+30 两梁山币
![]() |