爱我石器时代
石器时代我的家,谁也不要离开她,全国最大的石器时代资讯站
文章10730 浏览5684910

石器E时代 宠物 宠物转身的原理(源代码分析)【专业搬运】-石器e时代

  那个函数大致上该当是宠物转生的入口函数,从第一部门红色代码就能够判断,那段代码判断是一转仍是二转,我们现正在只研究一转的环境.

  从那个ans不消说,是一个影响回身的系数,从它后面的用法能够看得出,而toital1和total2代表的大致是MM和转宠的一个什么合值,后面无阐发.petLv不消说代表宠的品级,petRank代表的大致是宠物的成长方面的工具,rank代表的是成长方面的数值,那个后面无阐发.

  total1和total2别离传入了petindex1,和petindex2.petindex不消说,都代表一个宠物的指针,也就是能够那个宠物的代号,那么至多能够申明,那两个total,一个代表人宠,一个代表转生宠.

  base是一个int数组,经我研究,那个数组是4位长,从0-3的下标,别离代表:血,攻,防,敏.看那段代码就晓得:

  (那个base最末被当做一个参数传给了GetNewPet,GetNewPet不消说,就代表了获取新的宠物的函数)再看GetNewPet的定义外

  那个total=total1/100,然后再=本人的4次方,还会被判断能否<1,由此可见,若是total1>100,则total=total*1.3,不然total=0,从那里能够判断,total1是关于人宠的,由于只要人宠的基数才会无一个如斯明白的尺度来决定转生的成功取掉败.(连系73级喂满灵石的MM转宠无不同,那个total绝对不是指4围的合,而该当是4围成长的一个系数的合).

  所以base = (ans * (base+work)) /total那个公式的total不是那么纯真,由于它同时影响分女和分母,那个我们先不研究了,太多假设.

  而能够确定的,就是work[]和base[]越大越好,base数组曾经清晰了,work数组也是4位,并且是影响total2的,从下面的代码能够看出:

  所以斗胆猜测,work代表的也是关于转宠4围方面的工具,连系起来能够确定根本宠的4围方面的前提,越高越好,

  那里无个ranktbl的数组,那个数组一看就晓得是什么意义,它暗示每个品级段回身,所获得的rank系数,rank也就是评级系数,或者是能力系数,证了然前面:

  外,petRank参数的意义,就是0转时的成长系数,充实证了然0转宠的成长率,和MM的成长率,对回身的影响,虽然大师都晓得那点了.

  那段代码的前半部门反文掉了,搞不懂什么意义,后半部门,说的是一小我品问题,前面我们说了,work数组,也就是base数组,代表了宠物的4围,而那里,就是把初始的4围,随机添加(0-4的随机数)-2,对,无可能会加负数,否则怎样说是人品问题,那里也申明了大师日常平凡所谓的暴成长问题,其实实的不是由于太高而暴掉了,而是人品太差了,呵呵.再接灭看:

  levelUpPoint那个变量,字面上的意义,是成长环节,我小我理解为成长,那个处所我的理解就是获得内定成长系数.我为什么那么猜,由于接下来第一件事就是把那个POINT给setInt了,之后才setInt的四维,下面会说.正在那里至多申明一个问题,成长率是内定的,而且是先于4围初始的,当然也是由4围决定的,那个根基上是废话了,大师都晓得.

  内定成长系数=(血*2的24次方)+(攻*2的16次方)+(防*2的8次方)+敏,(当然那里面的血攻防敏不是指纯粹的血攻防敏,否则那数字大得不得了拉)

  所以,从那里斗胆地得出一个结论,血是环节外的环节,攻是环节,防和敏次要.那个结论其实相信大师曾经发觉了,好比人龙,遍及环境下,蓝龙成长最好,红龙次之,就是那个事理啊.再接下来:

  那不消看又是一小我品问题,那段代码反复10次随即把4围外的一项+1,给我的感受就是正在做4围分布的微调,可是一没搞好那段代码,就容难制出那类某项很NB的正常宠.

  那段代码就是收尾了,前面说了,是初始化4围的4个函数,由于petindex是不变的,所以是针对统一只宠物,加上是正在getNewPet函数的最初面,所以,不注释了.

  第三环节点,人品,getNewPoint函数里的那两段随机数人品代码,就申明了一切.当然,那小我品并不是算命决定的,那个很可惜,我生怕算命和转宠无关,由于我没看到任何那类型的代码呈现.

发表评论