三国志9吧 关注:111,711贴子:5,322,260

详解统帅、士气、士兵数在普攻伤害中的作用(原创高调求精)

只看楼主收藏回复

一楼百度,勿插楼。


IP属地:河北1楼2011-10-25 20:29回复

    前两天有人问“城池里有守将和无守将对敌人的伤害一样么?有加成么”http://tieba.baidu.com/p/1256376564
    这是关于普攻伤害的问题,因为城内的守兵的阵形是按照“正阵”的参数取的,而普攻伤害的公式异常复杂,可爱的大米哥也希望弄个明白,因此本小女子想做件好事,用具体例子加上详细运算把普攻伤害的算法讲清楚。


    IP属地:河北2楼2011-10-25 20:30
    回复
      广告
      立即查看

      首现介绍部队攻防基数的概念
      部队攻防基数 = (sqrt(c/d)/6 + 30 + 2*大将统率)*e/10*5/(d+4)*(100+士气)/200
      其中,c = min((大将统率*2.5)^2, 士兵数)
      d = 攻击程度 : 1=激烈,2=轻微
      e = 攻击效果 : 10=状态正常,8=状态混乱,6=状态溃败
      正阵的攻击防御系数都是10.
      我们来分析C,当大奖统帅为100的时候,(大将统率*2.5)^2的值为250*250=62500,即使是最大的带兵数也是达不到的,可见此项更多的是士兵数的值成为该项最终选取值,我们假设带兵数为25000.那sqrt(c/d)/6是多少呢?假设d=1,25000开平方再除以6,等于26.攻防基数第二项是30,因为在城内没有大将的时候城内守兵还是有攻击力的,这个攻防系数就是基础值30。
      关键是第三项 2*大将统率,当大将统帅是100的时候,2*100=200,所以得到结论:
      对于攻击程度激烈,攻击效果正常的时候,如果城内有25000的守兵,士气为100,没有大将的攻防基数是30;而当有了统帅为100的大将的时候,攻防基数是26+30+200=256.是没有大将时的8倍。你说大将重要不重要?所以15921343289给了这样一个例子:“刚刚打三9我和孙策这厮在乌林港开战..用了S/L,第一次,乌林两万人无守将在孙的三万水师手里打了俩回合就失守了,但第二次有武将坚持了三回合加半...”
      统率、士气和士兵数对部队攻防基数的作用约为65%、25%和10%。


      IP属地:河北3楼2011-10-25 20:30
      回复

        有了部队攻防基数的概念,就可以计算部队攻击力与防御力了:
        部队攻击力 = 部队攻防基数*2*阵型对部队(或者对守兵)/25
        部队防御力 = 部队攻防基数*2*阵型守备力/15 + (部队为都设守军 ? 都设耐久*0.4 : 0)
        还是上面的例子,守兵阵形是正阵,攻防系数都是10.
        所以守城部队攻击力是:256*2*10/25=204.
        假设都设耐久为0,部队防御力为256*2*10/15=341.
        假设都设耐久为1000,部队防御力为341+1000*0.4=741.翻了一番
        可见耐久还是相当有用的,为了更接近历史真相:攻城难而攻城器械作用大,优化伴侣对此进行了优化:
        “加倍耐久的普防系数”选项 : 耐久的普防系数0.4=>0.8这样就成了
        341+1000*0.8=1141.
        以前的攻城熟练度没什么用,优化后则不同:
        if (源部队阵型==攻城阵型) 源部队对守兵 *= 1 + (源部队最高攻城熟练度-600)/2000如果最高攻城熟练度小于600,将会打折扣,如果最高熟练度是1000,攻击力将变成原来的1.2倍。


        IP属地:河北4楼2011-10-25 20:31
        回复

          有了部队攻击力与防御力了,就可以求普攻伤害了
          普攻伤害 = damage(源部队, 目标部队) = min(a*b/1200, 目标部队的士兵数)*(c+100)/100
          其中,a = max(1, (源部队攻击力 - 目标部队防御力 + 900)^2/2000)
          b = (源部队士兵数 + 目标部队士兵数)/70 + 400
          c = 强度系数 = (源部队所属电脑势力 && 目标部队所属玩家势力 ? 电脑强度 : 0)
          这里的目标部队的士兵数的设定很有意思,不知道是不是因为对方人越多所以受伤的越多。
          总的来看,min(a*b/1200, 目标部队的士兵数),如果两个数中目标部队的士兵数更小,则取目标部队的士兵数,可以说当目标部队人数越少,伤害越小。
          当两只25000的部队互相攻击的时候,b=(25000+25000)/70+400=1114
          这里关键是a的值,还是上面的例子,当两只部队攻打的时候,攻击力204,防御力341
          (204-341+900)的平方再除以2000是远远大于1的。
          但是攻城的时候,就变得困难了,上面的例子中防御力为741时
          (204-741+900)平方后除以2000得到65,已经很小了,但是我们有多少统帅是100的武将呢?
          这里需要说明的是:部队A与部队B交战时,每天发生两次普通攻击:
          A攻击B:A对B的伤害=damage(A,_B_),B对A的伤害=damage(B,A)
          B攻击A:B对A的伤害=damage(B,A),A对B的伤害=damage(A,_B_)
          因此,普攻伤害只与部队的战斗力有关,而与部队的攻防关系无关。


          IP属地:河北5楼2011-10-25 20:31
          收起回复


            IP属地:河北6楼2011-10-25 20:32
            回复


              IP属地:浙江7楼2011-10-25 21:48
              回复
                技术贴一定要收藏滴


                IP属地:浙江8楼2011-10-25 21:48
                回复
                  广告
                  立即查看
                  大婶,不要在标题里总插着申精的字眼,很碍眼的,让人觉得你是为了精品去的


                  来自掌上百度9楼2011-10-25 21:50
                  回复


                    IP属地:四川来自手机贴吧10楼2011-10-25 22:04
                    回复
                      酱油。刚发现周瑜对孙坚的忠诚度似乎比较低。


                      IP属地:河北12楼2011-10-25 22:39
                      回复
                        技术贴


                        来自掌上百度13楼2011-10-26 11:35
                        回复
                          不错,可以**。


                          IP属地:浙江14楼2011-10-26 11:35
                          回复


                            15楼2011-10-26 13:40
                            回复