将军的荣耀吧 关注:64,419贴子:724,763

将荣数据研究

只看楼主收藏回复

经过数日对将荣so文件的解析研究,我得出了将荣伤害数值逻辑及修改方式
伤害公式和一些数值很早之前有大佬提出过,大概是兵种攻击平均值的四倍,比如步兵攻击2-6,平均值为4,没有其他任何加成的情况下他的伤害会在16附近浮动。
那么关键点来了,加成都有那些呢?怎么修改呢?
下面我一一解密
修改方式较复杂,整理后再发出


IP属地:湖南来自Android客户端1楼2022-09-01 18:29回复
    1.将领加成:分四个等级,一到四星,加成为1 2.2 3.5 5 这个是直接加在攻击上的,比如步兵伤害1-6,上一个步兵四星将,他的攻击就成了6-11,那么伤害值就会在34附近浮动


    IP属地:湖南来自Android客户端2楼2022-09-01 18:33
    回复
      2.士气加成及兵种防御,士气上升攻+1防+1,士气下降攻-1防-1,大降攻-2防-2,等级0-4的部队防御分别为0 1 1 2 2,这些都是直接作用在攻击力上的,比如步兵攻击力2-6,士气上升后攻击力就是3-7,然后他去打一个防御力为1的部队,那么他的攻击力又会被防御抵消成2-6


      IP属地:湖南来自Android客户端3楼2022-09-01 18:38
      回复
        3.武器护甲类型。枪打硬甲系数为0.6,打软甲系数为1,打复合甲系数为0.8,意思是用枪的部队(轻步兵)打装甲(硬甲)的伤害要打六折,只有打步兵伤害的60%,打炮兵(复合甲)伤害只有打步兵的80%
        同样的,炮打硬甲和复合甲伤害系数为1,打软甲伤害系数为0.75
        机炮(guns)打所有的护甲,伤害系数都为1
        这个和之前有些人公布数据可能有一些小差距,之前有人认为炮打复合甲也会有削弱,实际上是没有,炮轰炮的伤害和炮轰装甲一样疼(游戏里也确实是差不多),解包显示的数据就是这样


        IP属地:湖南来自Android客户端4楼2022-09-01 18:46
        收起回复
          4.地形减伤,之前有大佬有详细介绍,基本上是正确的,壕沟20%减伤最高,其他什么15%,10%,8%都有。
          但是这里要修正一个,城市减伤4%的数据是可以叠加的,即一级城市减伤4%,五级城市减伤就是4%×5=20%减伤,和壕沟一样了(所以你感觉打大城市里面的部队,伤害会低好多),工厂和机场也一样,一级是3%,三级是9%减伤


          IP属地:湖南来自Android客户端5楼2022-09-01 18:52
          收起回复
            5.设施加成,之前只是知道要塞炮打军舰,装甲疼,堡垒打步兵疼,但是没有具体数据,现在我公布一下,这两不是百分比伤害加成,而是直接增加部队攻击力。
            要塞炮,部队对军舰的攻击力+3,对装甲火炮部队攻击+2,比如一个大炮攻击力2-10,那么他在要塞炮里打军舰,他的攻击就成了5-13(真疼)
            堡垒: 打步兵攻击力+2,打装甲攻击力+1
            (所以平时感觉堡垒打装甲好像提升很小,因为只加了一点攻击力,那么伤害大概加个4的样子)
            防空炮: 空军伤害-80%(真tm强)


            IP属地:湖南来自Android客户端6楼2022-09-01 18:58
            回复
              最强加成的来了,潜艇打巡洋舰战列舰航母,伤害+100%,直接翻倍(军舰杀手


              IP属地:湖南来自Android客户端7楼2022-09-01 19:00
              回复
                下水惩罚:将太独有,陆军部队下水,伤害减30%


                IP属地:湖南来自Android客户端8楼2022-09-01 19:04
                回复
                  以上的数据,都可以在so文件里修改
                  提醒(需要hex十六进制编辑器,mt管理器勉强也行)


                  IP属地:湖南来自Android客户端9楼2022-09-01 19:38
                  回复
                    继续可精


                    IP属地:北京来自Android客户端10楼2022-09-01 19:55
                    回复
                      首先要明白一个重要的东西:也是基本的程序语言
                      so文件中数据的储存并不是直接明了的数,他很多汇编成指令,需要进行转化才知道怎么改


                      IP属地:湖南来自Android客户端11楼2022-09-01 21:46
                      回复
                        因此我们需要工具把so中汇编的语言转化成我们看得明白的语言,比如ida之类的工具。
                        再就是两个网址,一个是armconvert,它能把so中的arm架构转hex16进制,一个是iee754浮点数转化器,so中一些数据是以16进制浮点数形式储存,比如1.0它会用3f800000来储存,我们如果要把它改成2,就得改成2对应的16进制浮点数400000


                        IP属地:湖南来自Android客户端12楼2022-09-01 21:53
                        回复
                          比如这两张图,第一张是浮点数转化器网站,可以把1,2,3这些游戏里的数据转化为so文件里面储存的数据,第二张是armconvert网站,可以知道16进制对应的汇编语言是什么,这两个网址用浏览器搜”浮点数转化器”,”armconvert”就行



                          IP属地:湖南来自Android客户端13楼2022-09-01 22:09
                          回复
                            知道这些后,首先我就拿将领攻击加成的来举例,我们在ida中搜getcommanderkattack,可以搜到这个图例


                            IP属地:湖南来自Android客户端14楼2022-09-01 22:14
                            回复
                              上图中,红色箭头指的1,2,3分别指得是判断将领是一星还是二星还是三星,橙色线划出来的是加成,用的是16进制浮点数表示的,我们需要转化一下,3f800000就是1,400ccccd就是2.2,40600000就是3.5,最后那个5.0就是四星将领的加成


                              IP属地:湖南来自Android客户端15楼2022-09-01 22:19
                              回复