Bond697 icon

Em Inheritance- Broken, Fix Included

Bond697 | PRO | 08/05/12 02:20:37 AM UTC | 0 ⭐ | 1113 👁️ | Never ⏰ | []
C |

1.76 KB

|

None

|

0 👍

/

0 👎

***to fix the emerald iv inheritance bug, open emerald in a hex editor, go to 0x702A4, and change it to "21 78" from "29 1C".***    
 
 
#define PARENTS 2
    #define IV_INHERIT 3
    #define IV_TOTAL 6
     
     
    u8 iv_array[IV_TOTAL];
    u8 parent_inherit[IV_INHERIT];
     
     
     
    inheritance(iv_array, parent_inherit);
     
     
    void inheritance(u8* inheritance_array, u8* p_array)
    {
            int inheritedIV;
     
            int i;
            for(i = 0, i < IV_TOTAL; ++i)
            {
                    inheritance_array[i] = i;
            }
     
     
            for(i = 0; i < IV_INHERIT; ++i)
            {
                    inheritedIV = rand() % (IV_TOTAL - i);
     
                    doInheritanceCheck(inheritance_array, i); //bug is here- i should be inheritedIV
            }
     
     
            for(i = 0; i < IV_INHERIT; ++i)
            {
                    p_array[i] = (rand() & 1);
            }
           
    }
     
     
     
     
    void doInheritanceCheck(u8* original_inheritance_array, int inheritance)
    {
            original_inheritance_array[inheritance] = 0xFF;
     
            u8 copy_inheritance_array[IV_TOTAL];
     
            for(i = 0; i < IV_TOTAL; ++i)
            {
     
                    copy_inheritance_array[i] = original_inheritance_array[i];
     
            }
     
     
            int j = 0;
     
            for(i = 0; i < IV_TOTAL; ++i)
            {
                    if(copy_inheritance_array[i] != 0xFF)
                    {
                            original_inheritance_array[j] = copy_inheritance_array[i];
                            j++;
                    }
            }
     
    }
 
 
setIVsToEgg();

Comments