检查精灵是否合法

Gender必须在合法域
AbilityIndex在[0,2],且Form.Data.GetAbility(AbilityIndex) != null
所有Iv在[0,31]
所有Ev在[0,255],所有Ev之和必须小于等于510
因为部分野生精灵的原因,精灵最低等级限制暂时不考虑?(一说按梦世界数据来)

技能共存与精灵邂逅

对技能共存排查的过程是不断删除技能,如果在某个邂逅步骤中所有技能全部删空了那么精灵合法。
如果找不到可能的邂逅,则精灵不合法。
  1. 假设进化链:A-->B-->C,ABC均为形态,待验证精灵为C
  2. 假设Gen5邂逅
    1. 假设邂逅时形态C
      1. 删去第五世代后天技能:技能机、秘笈机、升级、教学技能,升级技能最高查到Lv
      2. 在Gen5特殊精灵(包括梦世界、礼物、NPC赠送)中排查(特定性别/性格/特性/个体etc),如果比对成功直接成功
    2. 假设邂逅时形态B
      1. 如果B进化到C需要升级,Lv--(注意Lv--和删技能不同是可回滚的,假设Gen4邂逅后等级又会重置)
      2. 删去后天技能
      3. 在特殊精灵中排查
    3. 假设邂逅时形态A
      1. 如果A进化到B需要升级,Lv--
      2. 删去后天技能
      3. 在特殊精灵中排查
      4. 如果剩下的技能全部是遗传技能与当代升级技能,假设蛋出
        1. 枚举可能的技能方与母方,依据生蛋组别,考虑各种进化形态,萤虫和尼多家族,百变怪,必须是当代或前代精灵
        2. 对于技能方,按照上文方法继续排查技能
        3. 排查过程中不能重复查找,对于精灵X和技能集合Y只应查找一遍,第二遍找到则是此搜索路径失败
        4. 无论经过多少次遗传,一个技能的最终获得途径只能是当代或前代后天技能
  3. 假设Gen4邂逅
    1. 如果AbilityIndex == 2(隐藏特性),直接不合法
    2. 其他雷同Gen5
      1. 特别的,鬼蝉的技能
  4. 假设Gen3邂逅
    1. 如果Ability是第三代不存在的Ability,直接不合法
      1. 但Gen3的精灵传送到后世代进化可以得到新特性
    2. 其他雷同Gen5
      1. 特别的,XD净化出来的pm,因为技能总是固定的4个,作为特殊精灵处理

虽然现在还未实装精灵球系统,如果一个精灵是礼物精灵,则必须是珍贵球;如果一个精灵是蛋出,则必须是红白球;NPC赠送精灵同样限制精灵球。
礼物精灵的名称可以通过乱数Id修改,故不做限制。

Last edited Nov 8, 2012 at 4:12 AM by Snowy, version 5

Comments

liuxinyu970226 May 26, 2014 at 10:31 AM 
gen6邂逅又是神马情况

Snowy Sep 21, 2013 at 1:23 PM 
野生黑暗精灵 --> 净化学会技能 --> 升级/教学学会技能 --> 传送到G3

Snowy Sep 21, 2013 at 1:14 PM 
XD净化出来的精灵技能不是固定的4个

Snowy Mar 22, 2013 at 11:52 AM 
没有考虑第N代的精灵传到第N+1代后生蛋