第三代精灵数据子结构
Love Poke,Wiki Poke
跳到导航跳到搜索
| 这篇文章属于半成品,目前尚未完成。你可以帮助我们扩充完善它。 |
第三代精灵数据子结构为第三代游戏(《精灵宝可梦 红宝石·蓝宝石》、《精灵宝可梦 绿宝石》和《精灵宝可梦 火红·叶绿》)精灵数据结构中相对独立的一部分,记录了精灵个体相关的数据。
格式
精灵数据子结构要比精灵数据结构其他部分复杂。它以4个比较独立的数据块组成,每数据块12个字节。
| 成长数据 | ||
|---|---|---|
| 大小 | 偏移量 | |
| 种族 | 2字节 | 0 |
| 携带道具 | 2字节 | 2 |
| 经验值 | 4字节 | 4 |
| PP值增幅 | 1字节 | 8 |
| 亲密度 | 1字节 | 9 |
| ??? | 2字节 | 10 |
| 技能数据 | ||
|---|---|---|
| 大小 | 偏移量 | |
| 技能1 | 2字节 | 0 |
| 技能2 | 2字节 | 2 |
| 技能3 | 2字节 | 4 |
| 技能4 | 2字节 | 6 |
| PP值1 | 1字节 | 8 |
| PP值2 | 1字节 | 9 |
| PP值3 | 1字节 | 10 |
| PP值4 | 1字节 | 11 |
| 努力值数据 | ||
|---|---|---|
| 大小 | 偏移量 | |
| HP努力值 | 1字节 | 0 |
| 物攻努力值 | 1字节 | 1 |
| 物防努力值 | 1字节 | 2 |
| 速度努力值 | 1字节 | 3 |
| 特攻努力值 | 1字节 | 4 |
| 特防努力值 | 1字节 | 5 |
| 帅气度 | 1字节 | 6 |
| 漂亮度 | 1字节 | 7 |
| 可爱度 | 1字节 | 8 |
| 聪明度 | 1字节 | 9 |
| 强壮度 | 1字节 | 10 |
| 口味 | 1字节 | 11 |
| 杂项数据 | ||
|---|---|---|
| 大小 | 偏移量 | |
| 精灵病毒状态 | 1字节 | 0 |
| 捕获地 | 1字节 | 1 |
| 捕获等级 | 1字节 | 2 |
| 精灵球及 训练家性别 |
1字节 | 3 |
| 个体值 | 4字节 | 4 |
| 缎带 | 4字节 | 8 |
排列顺序
4个数据块的排列顺序并非固定,而是由性格值所决定。将性格值对24求余,然后按照下表进行对照。
| 00. 成技努杂 | 06. 技成努杂 | 12. 努成技杂 | 18. 杂成技努 |
| 01. 成技杂努 | 07. 技成杂努 | 13. 努成杂技 | 19. 杂成努技 |
| 02. 成努技杂 | 08. 技努成杂 | 14. 努技成杂 | 20. 杂技成努 |
| 03. 成努杂技 | 09. 技努杂成 | 15. 努技杂成 | 21. 杂技努成 |
| 04. 成杂技努 | 10. 技杂成努 | 16. 努杂成技 | 22. 杂努成技 |
| 05. 成杂努技 | 11. 技杂努成 | 17. 努杂技成 | 23. 杂努技成 |
注:成、技、努、杂分别代表成长数据、技能数据、努力值数据、杂项数据。
加密
加密时,首先将训练家ID与性格值进行异或运算,得到一4字节数值;将实际数据每4个字节为一整体值,依次与刚才计算所得值进行求余运算。类似的过程也用在解密中。对于校验和的计算,是针对原始数据进行的,而非加密后的数据。
注解
PP值增幅
PP值增幅记录了每一个技能所使用的PP值增幅道具的数量,每一个技能使用2位,最低2位对应第1个技能,依次至最高2位对应第4个技能。
精灵病毒状态
精灵病毒状态以单字节形式存储。低4位记录了距离病毒消除所剩余的时间单位。当高4位中任何一位被设为1,该精灵便处于对精灵病毒免疫状态。两部分数据在精灵捕获时是完全随机的,这也就意味着并不是所有精灵的病毒感染持续时间都相同,并且有一些可以再次感染。
捕获等级
捕获等级实际上是一个7位数据,而不是8位(1字节),这与精灵数据结构之中的等级数据不同,因此大小范围为1-127。该范围并不包括0,因为当该值为0时,该精灵会被当做从精灵蛋中孵化出来,而不是在某个等级时与该精灵相遇的信息。
精灵球及训练家性别
捕获训练家的性别存储于最高位,第3到6位存储了精灵球的种类。
个体值
从最低位开始,从HP到速度到特防,每项占用5位,最高2位始终为0。
参考资料
| |||||||||||||||||
