reddit大佬扒源代码扒出来的继承规律
原贴:https://www.reddit.com/r/Palworld/comments/1af9in7/passive_skill_inheritance_mechanics_in_breeding/
机翻润色了一下,下面是原文:
尚未得到 100% 验证,但很可能是在 Palworld 中繁殖帕鲁时用于被动技能继承的机制。
继承概率:
- 4词条:10%
- 3词条:20%(累计30%,不含随机词条12%)
- 2词条:30%(累计60%,不含随机词条24%)
- 1词条:40%(累计100%,不含随机词条40%)
注意点:
- 如果父母总共拥有超过四种词条,继承所需的机会将随着技能数量的增加而线性减少(例如,4/6 = ~66% * 10% = ~6.6%)。
- 由于上述原因,最好只培育同时具有四种所需被动技能而没有其他技能的帕鲁(2 + 2、3 + 1、4 + 0)。
- 当传递少于四个被动技能时,获得所需组合的机会进一步减少 40% 机会不获得任何额外的随机技能(例如,1 + 1 = 60% 机会继承这两个属性,减少到 0.6 x 0.4 = 24%(未获得任何额外随机技能)。
- 试图从父母那里继承组合技能的特定子集总是次优的。 正如预期的那样,几率随着技能数量的增加而线性下降。 在此基础上乘以 40% 的几率不增加任何随机词条,影响会更为显著。
- 当你拥有一个拥有完美词条的帕鲁时,你应该能够以 10% 的几率将这些被动技能传递给其他帕鲁。 你可以通过将完美帕鲁与另一个没有词条的不同帕鲁交配来做到这一点。
- 词条不能多次选择,即不会因为重复选择而损失词条。
- 父母双方拥有和只有一方拥有某个词条,继承的概率是相同的。
- 随机出来的非继承词条似乎都具有相同的稀有度。正如人们所预料的那样,继承的被动技能也是如此。
- 随机出来的词条也可能是父母拥有但未被继承到子代的词条。 这将稍微增加获得特定词条组合的几率,不过增幅不大。
- 对于mod制作者:UPalGameSetting的属性 Combi_PassiveInheritNum 和 Combi_PassiveRandomAddNum 是控制继承一定数量被动技能的机会的加权随机数组。
代码:
懒得贴了,小黑盒好像也不方便贴代码。能看懂代码的人应该都有能力自己出去看吧……
---原文结束分割线---
我自己理解的流程(不一定对,懂代码的最好自己出去看一看):
第一大步,遗传部分:
- 确认继承词条数目(四条10%,三条20%,两条30%,一条40%)n
- 取父母词条的并集,重复的只算一次。
- 从并集中不重复地抽取n条词条作为子代词条,如果父母不重复词条不够n条,就继承父母全部词条。
第二大步,变异部分:
- 确认随机词条数目(三条10%,两条20%,一条30%,零条70%)m
- 如果m加上遗传得到的词条数超过4,重新把m设为4-遗传得到的词条数
- 从没有继承到的词条里选出m个词条,加入子代帕鲁的词条。
省流:
父亲和母亲有且仅有目标四词条出货的概率最大(10%加一点点随机出货的概率),有没有重复都无所谓。