heroes5吧 关注:37,361贴子:878,778

回复:【H5禁书目录】之亡灵超生魔法深究

取消只看楼主收藏回复

当然细心的童鞋肯定注意到了 tmd这ls3楼的图片完全就是一样的 是同一张图 这里只是懒得再去截图 但是可以肯定的是完全超生2 3 4 次之后肯定是所有生物死亡的
但是下面我们超生5次的时候 事情有点不太一样了:


IP属地:中国香港通过百度相册上传27楼2015-01-18 11:47
回复
    有42个红盾生存下来了…………
    其实这个结果非常的恐怖啊 要知道 战斗中我们满员的盾卫挨了5次秒杀 也就是说 战斗中 我们死掉了500个红盾 结果战斗结束的时候 就死掉了58个 剩下的442个被亡灵超生完全被复活起来了 也就是说 现在亡灵超生这个魔法的描述有问题 超生也能复活非亡灵生物 而且是真复活!
    这个就是这贴的主题 关于5次超生之后生物如何保留的问题


    IP属地:中国香港本楼含有高级字体28楼2015-01-18 11:50
    收起回复
      那么这个现象其实非常诡异 测试起来也很复杂 这里就不上具体测试内容了 没啥太大意义 只说点大致原理和结果 同时要注意的是 h5源代码谁也没有 所以任何通过表面来猜测的东西都有可能不是实际的情况 这里咱就随便用一种很简单的方式去理解 不排除其他人有其他解释和算法


      IP属地:中国香港31楼2015-01-19 17:56
      回复
        针对超生的bug 咱对这个现象的理解就是
        3.1的亡灵复生这个魔法 使用5次之后对非亡灵生物实现的是真复活 而且是100%的真复活
        那有童鞋要说了 你看你看 你之前28L还说死掉了58个 怎么这里说完全复活呢 别急 让咱继续把话说完
        这个就是游戏机理中取整算法出现了点问题 导致本来应该完全复活的生物 会死掉一些 这个算法后面的篇幅会详细介绍
        所以3.1超生的bug其实是由两个bug组合而成的
        1. 超生5次的时候生物被真正复活
        2. 但是超生5次的时候因为取整有些生物会死掉

        lx稍微说说为啥有些生物会死掉


        IP属地:中国香港本楼含有高级字体32楼2015-01-19 18:04
        回复
          让我们把之前24l超生盾卫的每一步的细节都贴出来 这个时候蜂群女32咒力专家召唤 刚好可以复活100个红盾 也就是1200的hp
          第一次超生 一切正常 复活1200点

          但是第二次的时候就有点意思了,999点 12*0.8=9.6 四舍五入之后应该是10点 也就是说100个红盾这时候应该1000的hp 但是现在只算999的hp总量

          第三次的时候也是如此

          而且我们可以看到 少了一点超生量 但是并没有导致最后一个红盾少掉1点hp 依然是满的

          最后一次超生 奇怪的取整依然存在:


          IP属地:中国香港33楼2015-01-19 18:12
          回复
            不过在继续之前 想让我们小插曲一下补充一点基础知识


            IP属地:中国香港通过百度相册上传34楼2015-01-19 18:12
            收起回复
              下面就是很简单的一点小知识
              h5里面超生每次降低20%的原始生命上限 因此超生5次之后理论上来说这个生物的hp会被降到0点
              但是实际上的情况却不是这样子的 当超生5次之后 h5自动取整把0%取整为1% 所以下面的一个算法的1%也是这么推测了的 但是这个不是关键 关键是很多新手总觉得好像超生5次之后生命值会变成1 这是不对的 生命值变成1%后四舍五入 所以高级兵可能出现超生5次之后hp2点 甚至3点的情况 150点以上的hp超生后为2点 250点以上为3点 以此类推
              下面举几个例子 多头 老树 红龙 一看就明白




              IP属地:中国香港本楼含有高级字体36楼2015-01-19 20:52
              回复
                这样子现在我们就有召唤流的新玩法啦!
                超生5次 直接各种无损 但是之前也说了 这个打法的问题在于 超生5次之后还是会损失掉一些兵力的 那么这个兵力是怎么损失的算法就很重要了 实际上咱知道这个打法之后超生大德去mf结果最后死光光 这里面的损失算法很重要
                那么下面就公布一下这个损失的算法
                超生5次之后死亡生物的个数 =
                (第一次超生总量*1% + 第二次超生总量*1% + 第三次超生总量*1% + 第四次超生总量*1% + 第五次超生总量*1%)/超生5次后的生命值上限


                IP属地:中国香港本楼含有高级字体38楼2015-01-20 12:29
                收起回复
                  这里解释一下 ls计算公式中的超生总量 指的是折算成原始hp的超生总量
                  比如你第五次超生起来100个红盾 hp都是1 看起来好像只有200的超生量 但是实际上的超生量应该是1200 折算成没超生过hp总量的
                  另外 实际上的超生总量不等于英雄咒力计算出来的结果 比如你死掉了一个农民 然后超生 那么超生总量这个情况下就是3 只算复活起来的生物的数量
                  举个例子 之前我们使用红盾对吧 那么怎么计算红盾的损失呢? 红盾每次都是被满员超生的 所以每次超生生命值为1200 然后红盾5次超生后生命值上限为1 那么计算方法就是
                  (1200*1%)*5 / 1 = 60个
                  这么一看 损失了58个 这个计算方法不准确嘛! 事实上咱也没说过这个公式绝对准确 具体原因是因为取整算法 可能后续的某几次超生的hp总量不是1200而是1199然后被折算成了11个结果少损1个等等情况 实际上的问题太复杂这里不做深入研究 不过公式本身还是没有问题的 下面我们就可以各种验证


                  IP属地:中国香港本楼含有高级字体39楼2015-01-20 12:43
                  回复
                    让我们再来测试下这个公式的问题 下面我们找100个黑tt 让对手的死神摸死两个之后 超生 重复这个过程5次
                    看看最后能剩下多少


                    IP属地:中国香港43楼2015-01-21 12:35
                    回复
                      使用我们之前的公式 黑tt每次被摸死2个 超生的复活量就是380 黑tt生命值190 超生5次之后应该是2
                      (380*0.01*5)/2 = 9.5 是9个或者10个的样子
                      结果果不其然


                      IP属地:中国香港44楼2015-01-21 12:38
                      回复
                        那么有了这个公式 虽然在每次超生取整算法上的细节还不是很清楚 但是咱也说了 谁也不可能拿着计算器玩h5 关键在于从这个公式中我们能得到啥有用的信息 可以看到这么一点
                        损失生物的个数 只与每次的治疗量有关
                        这句话很重要 想想吧 我们每次英雄用超生 尤其是非召唤的英雄用超生 治疗量都是固定的 往往都很低 只能治疗一定生命值的生物 这时候损失的个数就已经固定了 这是个很有意思的话题 具体怎么样 下面上图说话
                        我们找来hp总量为600的农民 红盾 妖姬和翡翠龙做实验 看看是什么结果


                        IP属地:中国香港本楼含有高级字体45楼2015-01-21 12:41
                        回复
                          600点hp 每次被完全放倒 然后再超生
                          600点hp 折算成农民就是200个 根据之前的公式 600*0.01*5/1= 30
                          结果也正常 32个 取整问题这里不重复


                          IP属地:中国香港46楼2015-01-21 12:50
                          回复
                            红盾 12hp 600hp总量的话就是50个
                            按照之前的算法 还是应该损失30个
                            结果也正确


                            IP属地:中国香港47楼2015-01-21 12:51
                            回复
                              妖姬一个20hp 600点hp 就是30个
                              之前计算方法 应该是损失30个 结果也正常


                              IP属地:中国香港48楼2015-01-21 12:52
                              回复