世界征服者4吧 关注:84,880贴子:2,734,027
  • 3回复贴,共1

是不是BUG?斯图卡乘胜追击和威廉的自行火炮不能叠加?

取消只看楼主收藏回复

如题,满级的斯图卡能连续攻击3次。威廉自行火炮攻击成功连击后,再次移动后,歼敌虽然可以连击,但是已经无法移动了。
验证场景为,移动前连击消灭3个步兵,移动后再歼灭敌军单位后,无法移动。
而且,如果有敌兵再城内,先破城再歼敌时,发现破城的那个攻击也消耗乘胜攻击次数。


IP属地:河南1楼2024-08-15 11:45回复
    @火狼爱上雨天 让测试测一下,推送给开发加入修复issue吧,这个bug修一下。
    正常的判定是自行火炮先生效,然后再判定乘胜追击,最后再判定杰出勋章。


    IP属地:河南来自Android客户端5楼2024-08-17 13:16
    收起回复
      2025-08-16 15:47:30
      广告
      不感兴趣
      开通SVIP免广告
      逻辑不复杂
      总体逻辑应该按如下优先级判断:
      1.有自行火炮,杀敌前没有移动,不扣减乘胜追击和触发杰出
      2.有乘胜追击次数(不管有没有自行火炮),杀敌前移动,扣减乘胜追击次数并且将让部队可以继续移动
      3.无自行火炮有乘胜追击次数,杀敌不管移动不移动,都扣减乘胜追击,部队设为可以移动
      4.无自行火炮乘数追击次数有杰出,攻击不管杀不杀敌人触发杰出(触发杰出不是触发连击,按照80%是触发连击判定)
      5.啥都没有,攻击后不管杀没杀敌,攻击后不能连击。
      //炮兵歼敌伪代码处理
      boolean 连击处理杀操作标志位flag = false; //后伪代码简称flag,该flag的作用是击杀后,
      //是否已经处理连击逻辑
      if (击杀){
      if(有自行火炮 and 击杀前没有移动){ //对应 1.
      可继续攻击();
      flag = true;
      }
      if(not(flag) and 有乘胜追击 and 击杀前移动)// 对应2. 第一个逻辑子项not(flag)是指如果1.处理过了,
      //这个判断就不处理,后续if同理
      {
      可继续攻击();
      乘胜攻击次数--;
      是否可以移动=ture
      flag = true;
      }
      if(not(flag) and 有乘胜追击次数 and 无自行火炮)// 对应3,
      {
      可继续攻击();
      乘胜攻击次数--;
      是否可以移动=ture
      flag = true;
      }
      }
      if(not(flag) and 没有击杀 and有杰出)// 对应4,
      {
      触发杰出();//调用杰出功能
      flag = true;
      }
      if(not(flag) and 没有杰出)// 对应5
      {
      不可移动();
      不可攻击();
      flag = true;
      }


      IP属地:河南6楼2024-08-18 12:08
      收起回复
        我最近一直忙工作不方便,我觉得比较合适的方法是,录一小段视频。
        第一确保安装的是最新版本的14.0。版本
        然后呢找一个地图场景,让威廉上满级别斯图卡,先用空军把步兵血魔的非常低,确保一击毙命。然后呢,现在原地不动歼灭两个敌军,然后再移动歼灭几个敌军,只要发现这个次数不达到三次,就说明乘胜追击在之前的不移动歼敌时被消耗了, Bug证明存在


        IP属地:河南来自Android客户端11楼2024-08-20 21:16
        收起回复