蛋名,设置此字节的时候和上面相比有所不同了,上面讲的那些都是通过直接修改成整个值来达成效果,而蛋名我们必须按位来修改,我会详细讲解下,后面再次出现便不会赘述。
首先我前面说过所有的数据在内存中都是以二进制形式存储的,即 11101010 这种形式,这个数字一共有 8 位,从右往左看,我们规定最低位为 “第 0 位” ,最高位为 “第 7 位” 。
而蛋名就需要我们按位修改,我们用 1 来表示开启,用 0 来表示关闭,把每一位都改成我们想要的结果(0 或 1)后再转换成十六进制写入。其中的每一位都有特殊的含义,不能乱改。如下图所示:

下面我来解释下每一位的含义:
位 0:设置此标志后,宝可梦会被视为坏蛋。如果宝可梦的校验和错误,则会自动设置此标志,标记为坏蛋的宝可梦不可用。
位 1:宝可梦种类不为 0 时,就会自动设置此标志,任何宝可梦此标志位都为 1。任何没有此标志的宝可梦都无法繁殖,并且在选择时将消失。
位 2:设置此标志后,游戏将忽略宝可梦的昵称并显示对应游戏语言的“蛋”。只有蛋才应该有这个标志。
位 3-7:未使用,请设置为 0。
蛋名(内存中的样子):

我来解释下,首先把 0x02 这个值换算成二进制位 00000010:
位 0 设置成 0,因为是个合法的宝可梦。
位 1 设置成 1,因为所有的宝可梦这个位必须为 1。
位 2 设置成 0,因为这个宝可梦不是个蛋。
位 3-7 设置成 0,因为这些位未使用。