venusblood吧 关注:41,972贴子:405,145
  • 13回复贴,共1

VBHI 自爆哑炮补丁(的故事)

只看楼主收藏回复

今天重拾炼金挨打坐大牢的时候,又双叒叕碰到了无敌滴神阿萨竟然在摆烂演我这回事



吓得我赶紧掏GARbro拆脚本看看代码怎么回事
一开始代码长这样

我一看眉清目秀的还行啊,为啥有问题呢
然而经裙友提醒才发现
自爆的效果判定是在阵型、全力、反击耐性的上方
这意味着什么呢?
这代表着判断自爆效果是否触发的逻辑在阵型、全力生效之前
这就导致了受阵型、全力增伤的伤害没有计算进去
举个例子,我们滴无敌阿萨(满血:4000)受到反击,还没算全力的时候有1300左右
这时先判断自爆是否发生
逻辑:当前生命值 减去 受到的伤害 (1300)是否小于 1 ?(生命值减受到的伤害小于1不就死了嘛)
4000 - 1300 = 2700 > 1
显然自爆 不 生 效
然而代码接着往下走,算到全力的时候乘以10.99 伤害达到了13000
最终判定阿萨受到反伤1w3,阿萨被反死了,但是 没 有 自 爆
明白了这一点修复就很简单咯
直接把自爆的判定放到最后,然后在自爆的伤害里补全倍率即可
使用前:



使用后:


咳咳拿错了
实际上应该是


伤害正常多了 (阿萨我滴超人~)
当然,VB的bug简直是藏龙卧虎,不敢说就这就能彻底修完自爆,不过大概会改善很多吧~


IP属地:山东1楼2022-03-22 18:47回复
    链接:https://pan.baidu.com/s/13IPTjqYbJLNEtpmPo0TNfQ?pwd=2333
    提取码:2333
    --来自百度网盘超级会员V5的分享


    IP属地:山东2楼2022-03-22 18:51
    收起回复
      原来如此!正好遇到相同问题。
      怪不得最近配队加上阿萨开始逐步打宝的时候常常遇到阿萨一头装在格挡上然后敌人受伤为0,阿萨自己被反死。
      还以为是自爆有什么奇怪判定。
      查其他帖子找不到的原因大概是更高难度下阿萨受到的反伤更高达到了不计全力被反死的条件,以至于高难图里没有这方面的问题……


      IP属地:广东3楼2022-03-22 18:52
      回复
        使用时记得把patch后面的编号顺着自己根目录其他的patch改
        比如根目录有patch、patch2,就改成patch3
        总之放最后()


        IP属地:山东4楼2022-03-22 18:54
        收起回复
          好家伙


          IP属地:山东来自Android客户端5楼2022-03-22 20:03
          回复
            楼主链接炸了


            IP属地:辽宁来自Android客户端6楼2022-03-22 21:53
            回复
              厉害👍


              IP属地:安徽来自Android客户端7楼2022-03-22 23:59
              回复
                好家伙,我帮程序员修bug系列()


                来自Android客户端8楼2022-03-23 11:56
                回复


                  IP属地:重庆来自Android客户端9楼2022-03-23 15:12
                  回复
                    好家伙,玩这个游戏的人均程序员


                    IP属地:上海来自Android客户端10楼2022-03-23 17:36
                    回复