石器时代宠物成长研究4,石器时代发布网,石器技术交流站!
石器时代宠物成长研究4
-------------------------------------------------------公式推导部分--------------------------------------------------首先讲一下宠物升级是如何增加点数的宠物每升一级增加点数公式为单项能力增加值=单项成长变数*档次补正乱数/100
单项成长变数和成长档二中说的单项初始变数的构成方法一样,也是在成长档的基础上+10个随机档。比如说若红人的成长档为24/38/16/20,那它的单项成长变数可能是26/40/19/23也有可能是27/41/18/22。甚至有可能是24/48/16/20。单项成长变数可以是各种样式,但随机加的总和一定是10单项成长变数每级升级时随机决定,每次升级都会变。所以可以给它取个平均单项成长变数,即在成长档的基础上各+2.5,变成26.5/40.5/18.5/22.5
档次补正乱数是这样的档次补正乱数=4.5~5.0(当宠物平均总成长档不低于100;或转生后的宠物总成长档不低于130)4.7~5.2(当宠物平均总成长档在95~99间;或转生后的宠物总成长档在100~129间)4.9~5.4(当宠物平均总成长档在90~94间;或转生后的宠物总成长档在95~99间)5.1~5.6(当宠物平均总成长档或转生后的宠物总成长档在在85~89间)5.3~5.8(当宠物平均总成长档或转生后的宠物总成长档在在80~84间)5.5~6(当宠物平均总成长档或转生后的宠物总成长档小于80)
档次补正系数即由(档次随机最大值+档次随机最小值)/2算出来
从公式可以看出来,一些逆天成长的变态宠理论上来说确实是可以练出来的(比如说档次补正乱数在4.5~5.0之间,每次都运气超好被他挑到5,那样成长就会高出一个档次,但是概率很小很小,如果一个人的运气真的能好到每次都能给他挑中5,那他光靠抽奖就能变成亿万富翁了),但更多的时候,宠物升的等级越高,平均档次补正乱数应该越接近于档次补正系数,即范围的中间值-------------------------------------------------------华丽的分割线--------------------------------------------------
讲到这裡我估计绝大部分的人还是听不懂我在讲什麽,没关系,我继续来举例说明一下成长率计算方法,依然以已经被我举的烂得不能再烂的红人为例
我们根据公式平均单项成长率=(单项成长档+2.5)*档次补正系数/100算出各项成长率。因为红人的平均成长档为24/38/16/20,算出来的总成长档为98,查帖子开头提到的档次补正系数,98在95~99这个范围,所以对应的档次补正系数为4.95
极限极品的0转红人成长档为26/40/18/22,则体力成长率=28.5*4.95/100=1.41(不四捨五入保留两位小数)腕力成长率=42.5*4.95/100=2.10耐力成长率=20.5*4.95/100=1.01速度成长率=24.5*4.95/100=1.21
血成长率=1.41*4+2.10+1.01+1.21=9.96攻成长率=1.41*0.1+2.10+1.01*0.1+1.21*0.05=2.4025防成长率=1.41*0.1+2.10*0.1+1.01+1.21*0.05=1.4215敏成长率=1.21三围成长率=2.4025+1.4215+1.21=5.034这就是极限极品的红人的平均成长
再举一下满石女宠的例子,女宠的平均成长档为25/25/25/25,算出来的总成长档为100,查帖子开头提到的档次补正系数,100属于第一档次的,所以对应的档次补正系数为4.75。满石女宠的成长档为50/50/50/50所以体力成长率=52.5*4.75/100=2.49腕力成长率=52.5*4.75/100=2.49耐力成长率=52.5*4.75/100=2.49速度成长率=52.5*4.75/100=2.49
血成长率=2.49*4+2.49+2.49+2.49=17.43攻成长率=2.49*0.1+2.49+2.49*0.1+2.49*0.05=3.1125防成长率=2.49*0.1+2.49*0.1+2.49+2.49*0.05=3.1125敏成长率=2.49三围成长率=3.1125+3.1125+2.49=8.715和我们知道的满石女宠成长率基本一致

接下来我要讲一些颠覆常识的东西了,各位读者要有心理准备请看这两隻机暴28/40/29/30 总:12731/40/29/30 总:130
这两隻都是一转机暴,只看成长档的话,后面那只多3体力,按理来说成长不会比前面那只低,但是计算出来的实际成长率是怎样的呢?
我们先看第一隻机暴,28/40/29/30,总127,查档次补正系数为4.95
那麽体力成长率=30.5*4.95/100=1.50腕力成长率=42.5*4.95/100=2.10耐力成长率=31.5*4.95/100=1.55速度成长率=32.5*4.95/100=1.60
血成长率=1.50*4+2.10+1.55+1.60=11.25攻成长率=1.50*0.1+2.10+1.55*0.1+1.60*0.05=2.485防成长率=1.50*0.1+2.10*0.1+1.55+1.60*0.05=1.99敏成长率=1.60三围成长率=2.485+1.99+1.60=6.075




再看第二隻机暴,31/40/29/30,总130,查档次补正系数为4.75那麽体力成长率=33.5*4.75/100=1.59腕力成长率=42.5*4.75/100=2.01耐力成长率=31.5*4.75/100=1.49速度成长率=32.5*4.75/100=1.54
血成长率=1.59*4+2.01+1.49+1.54=11.4攻成长率=1.50*0.1+2.10+1.55*0.1+1.60*0.05=2.395防成长率=1.50*0.1+2.10*0.1+1.55+1.60*0.05=1.927敏成长率=1.54三围成长率=2.395+1.927+1.54=5.862



看到问题了吗??明明第2隻机暴成长档比第1双多3体力档,但是实际成长率却是前者要高0.2,究竟是为什麽?


罪魁祸首是档次补正系数,因为大于130成长档的宠,和100~129成长档的宠,它的档次补正系数不一样。这样的话是不是说转生后成长档不要太高比较好?不是的,且听我跟你慢慢解释


关键是现在这两隻机暴都是1转,也就是说,还可以2转,而2只机暴的成长档一个是127一个是130,2转以后只要女宠没问题,它们的成长档都将必定超过130。所以2转以后,它们的档次补正系数也肯定是一样的,都是最低的4.75! 所以说把两隻机暴都拿去二转的话,转后平均成长第2只不会低于第一隻!



档次补正系数可以解决我们以前想破脑袋都想不通的事情,例如为什麽绿人特别容易神转?我把5色人龙的平均成长档都列出给大家看一下红人(邦奇诺):24/38/16/20 总98蓝人(扬奇洛斯):27/36/16/20 总99黄人(布鲁顿):25/35/14/24 总98绿人(利泽诺顿):27/37/19/17 总100灰人(邦浦洛斯):25/37/15/21 总98
聪明的同学肯定很快就明白问题出在哪裡了,没错,5色人龙裡面,只有绿人的平均总成长档达到了100,而达到100或以上,就意味著它的成长要被打折扣,其他四色人龙的档次补正系数都是4.95,就只有它的是4.75,所以0转时绿人的成长很难超过4.8,就是这个原因
而一转的时候,无论是哪一色人龙成长档大多都落在100~129这个区间(有可能达到130或以上,但很难),他们的成长补正系数都将会是4.95,这就是为什麽绿人转前成长比其他的人龙都差一个档次,转后却和其他人龙到达同个档次的原因了。

国际惯例给大家来个Q&A问答:Q:成长档越高,成长率越高A: 未必,对于0转宠来说,这个结论是正确的。但如果是1转的宠,有可能成长档高成长率反而低。2转的宠如果总成长档会出现低于130的情况,也有可能成长档 高成长率反而低(130成长档是个分界线,129成长档的宠成长率会比130的宠高0.2左右,但140成长档的宠的成长就肯定比129成长档的宠要高
Q:一转成长率低的宠,二转成长率也会低A:未必,主要还是看宠物是不是在130成长档分界线那裡,如果成长档达到130或以上,档次补正系数会降低从而导致整体成长降低,让我们看不清它的真实成长档而受到迷惑。但只要把它拿去2转马上就能体现出它的威力。5.85的机暴,未必会比6.05的机暴要差!把它们拿去2转,如果那隻5.85的机暴是因为成长档太高而降低了档次补正系数的话,5.85的机暴转出来的成长反而会被6.05的机暴更高
Q:是否可以由成长率反推出成长档A:可以,我先不告诉大家方法,晚点再公佈,我想如果有人真的读懂了这篇文,肯定是懂得怎麽反推回去的
Q:我如何得知宠物的成长档A:大部分旧宠的成长档TZ是没改过的,我在成长档论二那篇文裡面有放出成长档库,大家可以去下载自己查。改过成长档的宠就没办法了,只能是靠大家统计来做个估算。
Q:萨首算命相关的N问A:游戏裡的运气,即算命算出的运气,以及萨首等可以改变游戏裡运气的道具,从我看到的源码来看,无论是拿宠、练宠、转宠,通通与之无关,即萨首既无害也无利,带上也行,不带上也无所谓,随便。算命也一样,算不算都一样。
暂时先写这麽多,想到别的再补充关于宠物的一转和二转深入的讨论,我会把它们放在我的下一个帖子成长档论(四)——深度剖析宠物转生裡面,大家敬请期待。
附录:常见旧宠的平均成长档,格式按 体力成长档,腕力成长档,耐力成长档,速度成长档来红人(邦奇诺):24,38,16,20蓝人(扬奇洛斯):27,36,16,20黄人(布鲁顿):25,35,14,24绿人(利泽诺顿):27,37,19,17灰人(邦浦洛斯):25,37,15,21机暴(帖拉所伊朵):23,35,25,21红暴(巴朵兰恩):23,37,20,25蓝暴(左迪洛斯):28,30,22,22
源代码部分,懂C语言的朋友可以看一看解说:宠物升级完整函数int CHAR_PetLevelUp( int petindex ){    struct _RankRandTbl{        int min;        int max;    }RankRandTbl[] = {        { 450, 500 },        { 470, 520 },        { 490, 540 },        { 510, 560 },        { 530, 580 },        { 550, 600 },    };    解说:档次补正乱数    float Param[4] = { 0.0, 0.0, 0.0, 0.0 };    int LevelUpPoint, petrank;    float str, vital, dex, tgh, fRand, i;#ifdef _TEACHER_SYSTEM    int iGetFame = 0;#endif        // 引数チェック    if( CHAR_CHECKINDEX( petindex ) == FALSE )    return -1;    if( CHAR_getInt( petindex, CHAR_WHICHTYPE ) != CHAR_TYPEPET )return -1;        LevelUpPoint = CHAR_getInt( petindex, CHAR_ALLOCPOINT );        // ペットのランク    petrank = CHAR_getInt( petindex, CHAR_PETRANK );    if( petrank < 0 || petrank > 5 ) petrank = 0;解说:petrank是决定档次补正乱数范围的重要参数    // 取得    vital = (float)(( LevelUpPoint >> 24 ) & 0xFF);    str = (float)(( LevelUpPoint >> 16 ) & 0xFF);    tgh = (float)(( LevelUpPoint >> 8 ) & 0xFF);    dex = (float)(( LevelUpPoint >> 0 ) & 0xFF);解说:读取宠物成长档    // 10回4面体サイコロを振って各项目に1足す    for( i = 0; i < 10; i ++ ){        Param[RAND( 0, 3 )] += 1.0;    }解说:+10随机档    // ランクによる范囲のランダム    fRand = (float)RAND( RankRandTbl[petrank].min, RankRandTbl[petrank].max )        * 0.01;        // 割り振りポイントより计算    vital = (float)vital * fRand + Param[0] * fRand;    str = (float)str   * fRand + Param[1] * fRand;    tgh = (float)tgh   * fRand + Param[2] * fRand;    dex = (float)dex   * fRand + Param[3] * fRand;解说:公式(单项能力增加值=单项成长变数*档次补正乱数/100)    // 计算    CHAR_setInt( petindex, CHAR_VITAL,        CHAR_getInt( petindex, CHAR_VITAL ) + (int)vital );    CHAR_setInt( petindex, CHAR_STR,        CHAR_getInt( petindex, CHAR_STR ) + (int)str );    CHAR_setInt( petindex, CHAR_TOUGH,        CHAR_getInt( petindex, CHAR_TOUGH ) + (int)tgh );    CHAR_setInt( petindex, CHAR_DEX,        CHAR_getInt( petindex, CHAR_DEX ) + (int)dex );解说:更新宠物的新四围}注1:这篇会涉及较多的计算,如果看数字头晕,可以直接看Q&A问答部分的结论注2:想完全读懂这篇文章,请务必看完前置帖(成长档论一、二、三)注3:为了简化公式,本文所有讨论都建立在用暴女转宠、宠物已达最佳转生等级的前提上;关于残转的讨论会放在下一篇文0转种族(平均)成长档,or转后总成长档 档次补正系数 最佳转生等级 转生增幅系数>=100,>=130 4.75 达到122或以上 1195~99,100~129 4.95 达到127或以上 1290~94,95~99 5.15 达到124或以上 1285~89,85~94 5.35 达到128或以上 1380~84 5.55 达到130或以上 14<80 5.75 达到130或以上 15这裡再次强调一下,0转宠看的是种族(平均)总成长档、与个体无关1转or2转宠看的是种族总成长档、与个体有关

宠物转生公式:平均转后单项档=(转生增幅系数+转前总成长档)*(50+4*单项档)/(150+4*转前总成长档)....(无条件去小数点)转后单项成长档=平均转后成长档+随机-2~+2一转时,转生增幅系数+转前总成长档若超过150,则按150计算二转时,转生增幅系数+转前总成长档若超过200,则按200计算转后
---------------------------------------------宠物顶级成长计算方法示例---------------------------------------------OK,现在本篇计算需要用到的表格,以及公式已经全部列出。关于成长档和成长率互相转换的方法、查成长档的方法,前文已经交代,本篇就不再重複
下面举例给大家计算一下理论2转顶级机暴、红人、克克洛斯(应版友要求)的成长档以及成长率
######2转顶级机暴翻看成长档库,可知0转顶级机暴成长档分别为25,37,27,21,总成长档112,种族成长档104查表格,可知104对应的转生增幅系数为11则转后平均体力档=(112+11)*(50+4*25)/(150+4*112)=30.85→去小数点得到30平均腕力档=(112+11)*(50+4*37)/(150+4*112)=40.72→去小数点得到40同理可算出平均耐力档、平均速度档为32、29
则极限成长档即转后平均档的基础上各+2,可以得到32/42/34/31,总139来计算一下成长率,查表可知转后139成长档对应的档次补正系数为4.75,可以算出血攻防敏成长率大概为:11.944/2.531/2.189/1.591;总6.311
继续套用公式计算2转顶级成长,139档对应的转生增幅系数是11,所以转后平均体力档=(139+11)*(50+4*32)/(150+4*112)=37同理算出平均腕力档、耐力档、速度档分别为:46、39、36
顶级成长档即在这基础上各+2、得到39,48,41,38换算为成长率即14.274/2.9/2.6/1.924总7.424
######2转顶级红人查成长档库可得知顶级红人成长档:26,40,18,22,总106;种族成长档98,所以增幅系数为12用同样的方法算出1转后平均成长档:31,43,25,28;则顶级1转红人成长档为33,45,27,30总135对应成长率:11.946/2.642/1.873/1.544 总6.059(一转顶成长档不代表一转顶成长率,后面我会解释原因)用同样的方法继续可以计算出2转顶级成长档:40,50,35,37换算成成长率即14.226/2.968/2.326/1.876总7.17
######2转顶级克克洛斯查成长档库可知顶级克克洛斯成长档:20,24,12,37,总93;种族成长档85,所以转生增幅系数为13可以算出1转顶级成长档:28,31,21,42,总122;换算成成长率为11.063/2.036/1.59/2.203 总5.829继续可算出2转顶级成长档:36,38,30,47,总151换算成成长率为13.134/2.379/2.037/2.351总6.767更多的转后成长计算示例,可以看我前面发的实战贴:成长档论实际应用:五隻转宠实战分析
上面说的成长率只是理论最高,实际上是很难达到的可以简单的计算一下,0转挑到顶级档次宠的概率是1/625,在这基础上,如果还要转出顶级档次的宠,那就要再乘上1/625;这样已经是万中无一了如果再算上2转,还要再这基础上再乘以1/625算出来结果是0.0000004096%的概率可以拿到一隻顶级2转宠,去抽奖都更实际一点...
----------------------是什麽原因造成一些宠一转容易神转,二转容易转烂?------------------------------我为了说明成长档与成长率的映射关系,特别画了一幅图:【外部图片】(图表只是用来说明成长档与成长率的关系,其中对应数据和线的斜率等不一定准确,大家看看就好)
以这类宠的典型代表,机暴为例,机暴转前平均成长档为104,所以对应图中成长档在100以后的蓝线。因为机暴的平均成长档即代表可能性最大的情况,我就用104平均档的机暴来给大家做计算机暴平均成长档为23,35,25,21 转前成长率用4.75系数算出结果为:9.049/2.089/1.661/1.116,总4.866把这双机暴拿去1转,平均转出来会是怎麽样呢,我们可以用公式计算以后可以得到转后平均成长档28,38,30,27,总123,对应档次补正系数为4.95,计算出成长率为11.113/2.39/2.033/1.46,总5.883。很多宠物神转才有+1的加成,但是为什麽机暴平均就可以+1?罪魁祸首就是档次补正系数,档次补正系数高,相当于整体拔高了成长率1转以后,因为总成长档落在100~129这个区间,所有对应成长率和成长档的关系就会由图中的蓝色线变成红色线,成长率自然会高一些
那为什麽2转又容易转烂呢?我们继续拿这隻5.883的机暴做分析成长档为28,38,30,27,算出来的转后平均成长档为33,42,35,32,总142,对应档次补正系数为4.75,计算出成长率为12.279/2.542/2.243/1.639,总6.4246.424-5.883=0.541为什麽1转平均可以加1、但2转平均只能加0.54?原因还是档次补正系数在搞鬼,1转的时候,总成长档为123,落在100~129这个区间,所以档次补正系数是4.95;但2转的时候成长档为142,落在>=130这个区间,所以档次补正系数变回了4.75;如果从图表看的话,那就是由100~129区间的红线转到了>=130的红线,也就是说,增加了成长档,但是平均成长率被档次补正系数拖垮了
总结:造成一部分宠1转容易神转,2转容易转烂的原因,是因为档次补正系数经历了4.75→4.95→4.75的变化,让我们有了一种1转神转的错觉,其实他们的转生规律和其他宠是一致的拿2转(6.424-4.866)/2算一下2次转生平均加点就知道,平均加点是0.779;也就是说,0转到一转神转可以说是透支了1转到2转的一部分转生点数,然后1转进行2转的话,效果就不那麽明显了
会有这种现象的宠物为种族成长档在100出头的宠,例如红暴、机暴、绿人龙
----------------------我明明想让它转生后攻加多一点,它给我加那麽多防做什麽?---------------------相信大家都有这样的经历,宠物转生想突出某一项能力,红人就想它攻加多一点,大舌头、石龟就想它防加多一点,但结果往往是事与愿违,红人防往往比攻加的多很多;石龟除了防什麽都加了,但防就是&^%##的不加,到底是什麽原因造成的??
我们再回过头去看下公式:平均转后单项档=(转生增幅系数+转前总成长档)*(50+4*单项档)/(150+4*转前总成长档)
可以得到推论:转后单项平均增幅=平均转后单项档-转前单项成长档=(50*(转生增幅系数+转前总成长档)-(4*转生增幅系数-150)*转前单项成长档)/(150+4*转前总成长档)
转生增幅系数肯定是定值,如果我们把转前总成长档也看作是定值,那上述式子就可以化为转后单项平均增幅=(A-B*转前单项成长档)/C的形式了,其中A,B,C都是定值
这是什麽意思呢,也就是说,如果转前总成长档固定,然后某一项单项值越突出,那这一项转生得到的增幅就会越少;反之则越多
举例说明,比如说一隻红人龙,它攻特别高,但是血、防、敏都很低,那它转生的时候点数就更容易加到血、防、敏上,加到攻上的机会会更少。
那应该怎样才能转出攻加得特别多的宠?那就要不仅攻高,整体成长档也必须高,这样攻佔整体成长档的比重才不会太大,从而导致转生后攻成长增幅小
暂时先这样吧,大家有问题问,或者想到什麽我再补充……公式的推导部分晚点我会放在帖子的附录裡面,写的我自己都头晕了,想研究残转的朋友可以根据我附录裡放出的完整转生公式自己推出来……
国际惯例给大家来个Q&A问答Q:如何解决某些宠1转神转、2转转烂的问题A: 没有根本解决方法,公式规律决定就是如此。如果想2转也转好,请挑0转基础就很好的宠去转。例如5.1的机暴,1转神转可以达到6.2~6.3,但这个神 转是有两种可能的。第一种是成长档大于130,这个是真正的神转,拿去2转一般效果不会差;第2种情况是假神转,也就是说虽然成长率也有6.2,但它对应 的成长档小于130,拿去2转不会加太多的点数。但如果是4.9的机暴,1转"神转"达到6.1甚至是6.2,基本上可以确定2转肯定会转烂了,一切都是 公式决定的。
想真正转极品2转机暴,没有窍门,只能是拿0转基础就很好的机暴(4.9X以上,最好能有5.0以上)。像那种0转4.7拿去转出6.0的一转机暴、再拿去2转,基本上都是悲剧
Q:转生如何才能突出某一项,比如说突出红人的攻、机暴的攻A:机暴的腕力档、红人的腕力档本来就佔总成长档比重大,也就是说,总成长率裡面攻成长率所佔的比重是最大的,自然不会加太多攻。如果真的想让它的攻加多点,请拿不仅攻成长率高、总成长率也高的宠去转,这样它的攻不会佔总成长率比重太大,就有机会加到更多的攻
Q:关于宠物档次的分佈概率A: 无论是拿宠、转宠,排除掉其他所有的外在因素影响,一共会得到17个档次的宠。如果把16档作为最高档,0档作为最低档的话、挑中16档和0档的概率都是 最低的1/625;挑中15档和1档的概率是4/625;其他的情况,因为涉及到複杂的排列组合计算,我现在实在是头晕所以不想算了,还请其他有爱人士作 出个档次分佈概率表出来,让大家清楚一下以什麽档次的宠为目标更符合实际,更经济划算

附录:(宠物转生源码太多太冗长,在这裡就不再列出)
完整转生公式(想进一步研究残转的朋友可以看一下):total1=女宠总成长档,若超过150则按150算total=(total1/100)的5次方 (也就是说暴女的total1值是1.5的5次方)算出来的total值如果小于1,则total置0,否则total变成1.3倍暴女的total即为7.59375乘以1.3,去小数点后得到9;残女的total值为0
Fix=((5-rank)*1.2)+5rank值由总成长档决定,我简单点说,4.75档次补正系数对应0,4.95对应1,5.15对应2……一直到5.75对应5转前等级,若高于130,则按130算
转生增幅系数=total(无条件捨去小数点)  + (转前等级-100)/fix (无条件捨去小数点)
平均转后单项档=(转生增幅系数+转前总成长档)*(女宠对应单项档+4*单项档)/(total1+4*转前总成长档)
上一篇;石器时代解決身上金錢過多问题
下一篇;石器时代宠物成长研究3