1. Welcome to Smogon! Check out the Smogon Starters Hangout for everything you need to know about starting out in the community. Don't forget to introduce yourself in the Introduction and Hangout Thread, too!
  2. Welcome to Smogon Forums! Please take a minute to read the rules.
  3. Welcome to Wi-Fi! Please remember to read the rules and do NOT create a new thread for simple trades or Friend Safari codes.

Past Gen RNG Research

Discussion in 'Wi-Fi' started by mingot, Sep 12, 2009.

  1. chiizu

    chiizu PPPPPPPPPPPPPPPPP RNG
    is a Programmeris a Pokemon Researcher

    Joined:
    Nov 12, 2010
    Messages:
    424
    Actually just sent you a PM about this before seeing this post. I've got a volunteer for the German games lined up.
  2. Hazey

    Hazey

    Joined:
    Aug 30, 2011
    Messages:
    46
    I can buy some different language games or consoles. What do you guys need. I am going to be super bored this winter.
  3. Njb013

    Njb013

    Joined:
    Apr 19, 2010
    Messages:
    143
    Just wanted to throw a quick note of thanks to all involved in researching for your hard work.

    Also, my shiny Misdreavus in a Battle CD in Pokemon XD doesn't provide any revelations in regards to shinies, does it?

    I was going to volunteer to take a snapshot, but I believe that the data on my GC memory cards was all lost. I'll check tomorrow when I can, but I'm pretty sure it's gone =(
  4. chiizu

    chiizu PPPPPPPPPPPPPPPPP RNG
    is a Programmeris a Pokemon Researcher

    Joined:
    Nov 12, 2010
    Messages:
    424
    German DSi/3DS Parameters.
    Show Hide

    Code:
    German Black on EU 3DS:
    Nazo: 0x027602f0
    Timer0: 1165
    VCount: 86
    VFrame: 8
    
    German White on EU 3DS (same hardware):
    Nazo: 0x027602f0 (same as Black)
    Timer0: 1260
    VCount: 8D
    VFrame: 8
    


    Thank you to Kokoromori for doing the leg work to get the seeds. This guy was super consistent on his timing!

    We still need volunteers for:
    French
    Italian
    Korean
    Spanish
  5. Tux

    Tux

    Joined:
    Dec 1, 2011
    Messages:
    11
    I don't know if the two following routines have been already analyzed by somebody, but I'll post them

    Feebas tiles determination in R/S/E

    An unsigned 16bits number, called "feebas seed" is generated everyday, or when changing the "trendy phrase" in Dewford city. It is used to determine the feebas tiles.

    The tiles are arranged like this : from left to right, then from up to down.
    From tile #133, the order is modified : the row is in fact : #133, #134 etc ...
    However, I cannot locate tiles #296 to #299 (included)

    Show Hide
    [​IMG]
    [​IMG]
    [​IMG]


    Oh, I have made some CBA codes to retreive the seed (and replacing the first party Pokémon's Attack stat), but I can't get them to work.

    CBA Codes that don't work (open)
    Code:
    RS (U) 
    88084AB4 2864
    88084B78 4901
    88084B7A 8008
    88084B80 43BA
    88084B82 0300
    
    E (U)
    880B49F6 2864
    880B4ABC 4901
    880B4ABE 8008
    880B4AC4 4546
    880B4AC6 0202
    RS (J)
    88081970 2864
    88081A34 4901
    88081A36 8008
    88081A3C 56CC
    88081A3E 0202
    
    E(J) 
    880B414E 2864
    880B4214 4901
    880B4216 8008
    880B421C 5972
    880B421E 0202
    
    RS (FR)
    88084FF0 2864
    880850B4 4901
    880850B6 8008
    880850BC 59C6
    880850BE 0202
    
    E (FR)
    880B4A0A 2864
    880B4AD0 4901
    880B4AD2 8008
    880B4AD8 4546
    880B4ADA 0202


    Code:
    08084AB0 0400     lsl     r0,r0,10h     ; this is at 0x080B49F2 in Emerald (U), 0x0808196C in R/S (J), 0x080B414A E (J), 0x08084FEC R/S (FR), 0x080B4A06 Emerald (FR)
    08084AB2 0C00     lsr     r0,r0,10h
    08084AB4 2831     cmp     r0,31h        ; see post #749
    08084AB6 D907     bls     8084AC8h      
    08084AB8 E03E     b       8084B38h      ; if the calculated slot is not feebas's ([0;49]), skip the feebas tile determination routine
    08084ABE 0202     lsl     r2,r0,8h                                
    08084AC0 DC00     bgt     8084AC4h       ; DIFFERENT ON R/S JAP and FR                         
    08084AC2 0839     lsr     r1,r7,20h                               
    08084AC4 2001     mov     r0,1h         ; feebas = true                           
    08084AC6 E038     b       8084B3Ah
                                    
    08084AC8 481F     ldr     r0,=2025734h  ; r0 = 0x03005D8C (pointer) in Emerald (U)                          
    08084ACA 4B20     ldr     r3,=2DD6h     ; 0x2E6A in Emerald.                          
    08084ACC 18C0     add     r0,r0,r3      ; 0x0202850A in R/S (U and FR), 0x02028896 E (U), 0x0202826A R/S (J), 0x02028542 E (J), 0x02028882 E (FR)                      
    08084ACE 8800     ldrh    r0,[r0]		; load feebas seed on r0                                 
    08084AD0 F000F850 bl      8084B74h      
    
    	08084B74 0400     lsl     r0,r0,10h                               
    	08084B76 0C00     lsr     r0,r0,10h                               
    	08084B78 4901     ldr     r1,=202FF80h ; store r0 in 0x202FF80 (R/S U)                            
    	08084B7A 6008     str     r0,[r1]  
    	08084B7C 4770     bx      r14  
                         
    08084AD4 2500     mov     r5,0h         ; r5 (loop counter) = 0;                          
    08084AD6 4E1E     ldr     r6,=1BFh      ; r6 = 0x1BF                          
    08084AD8 F000F83C bl      8084B54h 
    
    	08084B54 4A04     ldr     r2,=202FF80h                             
    	08084B56 6811     ldr     r1,[r2]       ; load full seed                          
    	08084B58 4804     ldr     r0,=41C64E6Dh                           
    	08084B5A 4348     mul     r0,r1                                   
    	08084B5C 4904     ldr     r1,=3039h     ; 0x3039 [B]NOT[/B] 0x6073 !                          
    	08084B5E 1840     add     r0,r0,r1                                
    	08084B60 6010     str     r0,[r2]		; store full (u32) result of (0x41C64E6D * seed + 0x3039) at 0x202FF80                        
    	08084B62 0C00     lsr     r0,r0,10h     ; r0 (output) >>= 16                           
    	08084B64 4770     bx      r14
                                   
    08084ADC 0069     lsl     r1,r5,1h		; r1 = 0                                
    08084ADE 466A     mov     r2,r13        ; r2 = sp                          
    08084AE0 1854     add     r4,r2,r1      ; r4 = r2 + 0                          
    08084AE2 0400     lsl     r0,r0,10h                               
    08084AE4 0C00     lsr     r0,r0,10h                               
    08084AE6 1C31     mov     r1,r6         ; r1 = 0x1BF                          
    08084AE8 F15CFA0E bl      81E0F08h      ; r0 = r0 mod r1                          
    08084AEC 8020     strh    r0,[r4]       ; store r0 ( tile ) on the stack                          
    08084AEE 0400     lsl     r0,r0,10h                               
    08084AF0 2800     cmp     r0,0h         ; if r0 is null                          
    08084AF2 D100     bne     8084AF6h                 
    08084AF4 8026     strh    r6,[r4]       ; store 0x1BF instead                          
    08084AF6 8820     ldrh    r0,[r4]       ; load calculated feebas tile                          
    08084AF8 3801     sub     r0,1h                                   
    08084AFA 0400     lsl     r0,r0,10h                               
    08084AFC 0C00     lsr     r0,r0,10h                               
    08084AFE 2802     cmp     r0,2h         ; if tile is either 1,2, or 3, (unacessible) don't increment the loop, so generate new tiles number to be checked with                          
    08084B00 D902     bls     8084B08h                                
    08084B02 1C68     add     r0,r5,1                                 
    08084B04 0600     lsl     r0,r0,18h                               
    08084B06 0E05     lsr     r5,r0,18h     ; increment r5 by 1.                          
    08084B08 2D06     cmp     r5,6h         ; if r5 < 6;                          
    08084B0A D1E5     bne     8084AD8h      ; calculate another feebas tile to check with.                          
    08084B0C 464B     mov     r3,r9                                 
    08084B0E 2100     mov     r1,0h                                   
    08084B10 5E58     ldsh    r0,[r3,r1]    ; r0 = rod->map.x                          
    08084B12 4642     mov     r2,r8                                   
    08084B14 2300     mov     r3,0h                                   
    08084B16 5ED1     ldsh    r1,[r2,r3]    ; r1 = rod->map.y                          
    08084B18 1C3A     mov     r2,r7                                   
    08084B1A F7FFFF33 bl      8084984h      ; from (fishing) coordinates return current tile in r0            
                  
    08084B1E 0400     lsl     r0,r0,10h                               
    08084B20 0C01     lsr     r1,r0,10h                               
    08084B22 2500     mov     r5,0h                                   
    08084B24 0068     lsl     r0,r5,1h                                
    08084B26 4468     add     r0,r13        ; r0 = sp                           
    08084B28 8800     ldrh    r0,[r0]                                 
    08084B2A 4281     cmp     r1,r0         ; is the current tile a feebas tile ?  SET A BREAKPOINT THERE TO SEE THE CURRENT TILE AND ALL YOUR FEEBAS TILES.
    										; in emerald, this opcode is located at 0x080B4A6C (U)                        
    08084B2C D0CA     beq     8084AC4h		; if so, feebas = true                          
    08084B2E 1C68     add     r0,r5,1       ; increment r5                          
    08084B30 0600     lsl     r0,r0,18h                               
    08084B32 0E05     lsr     r5,r0,18h                               
    08084B34 2D05     cmp     r5,5h                                   
    08084B36 D9F5     bls     8084B24h      ; if r5 <= 5 increment                        
    08084B38 2000     mov     r0,0h         ; The current tile is not a feebas tile (feebas = false)                         
    08084B3A B004     add     sp,10h                                  
    08084B3C BC18     pop     r3,r4                                   
    08084B3E 4698     mov     r8,r3                                   
    08084B40 46A1     mov     r9,r4                                   
    08084B42 BCF0     pop     r4-r7                                   
    08084B44 BC02     pop     r1                                      
    08084B46 4708     bx      r1                                      
    
    In other words :
    Code:
    inline u32 RNG(u32 seed){
        return (0x41C64E6D * seed + 0x3039)
    }
    
    bool isFeebasTile(u16 feebasSeed, u16 currentTile){
        u32 fullRNGResult = (u32) feebasSeed, i = 0;
        u16 tile = 0;
        while(i <=5){ // Not exactly done this way, but equivalent
            fullRNGResult = RNG(fullRNGResult);
            tile = ((fullRNGResult >> 16) & 0xFFFF % 0x1BF);
            if (tile >= 4) i++;
            if (tile == currentTile) return true;
        }
        return false;
    }
    

    Munchlax trees determination

    Code:
    021F5138 B5F8     push    r3-r7,r14		                               
    021F513A 1C0C     mov     r4,r1         ; r4 = current slathered tree                          
    021F513C 0E02     lsr     r2,r0,18h		; r0 = SIDTID. For example r0 = 0x78CA5E96 when TID = 0x5E96 and SID = 0x78CA                      
    021F513E A900     add     r1,sp,0h      ; r1 = sp                          
    021F5140 700A     strb    r2,[r1]       ; set (SID >> 16) & 0xFF on the stack                          
    021F5142 0C02     lsr     r2,r0,10h                               
    021F5144 704A     strb    r2,[r1,1h]    ; set SID & 0xFF on the stack (+1)                          
    021F5146 0A02     lsr     r2,r0,8h                                
    021F5148 708A     strb    r2,[r1,2h]    ; set (TID >> 16) & 0xFF on the stack (+2)                          
    021F514A 70C8     strb    r0,[r1,3h]    ; set TID & 0xFF on the stack (+3)
                              
    021F514C 7808     ldrb    r0,[r1]       ; for each byte of the SID then the TID (byte #0)                         
    021F514E 2115     mov     r1,15h                                  
    021F5150 F6F6ED96 blx     20EBC80h		                               
    021F5154 A800     add     r0,sp,0h                                
    021F5156 7001     strb    r1,[r0]       ; store : byte mod 0x15 (=21). It corresponds to a tree number.                       
    021F5158 7840     ldrb    r0,[r0,1h]    ; same order than precedently (byte #1)                         
    021F515A 2115     mov     r1,15h                                  
    021F515C F6F6ED90 blx     20EBC80h                                
    021F5160 A800     add     r0,sp,0h                                
    021F5162 7041     strb    r1,[r0,1h]                              
    021F5164 7880     ldrb    r0,[r0,2h]    ; byte #2                          
    021F5166 2115     mov     r1,15h                                  
    021F5168 F6F6ED8A blx     20EBC80h                                
    021F516C A800     add     r0,sp,0h                                
    021F516E 7081     strb    r1,[r0,2h]                              
    021F5170 78C0     ldrb    r0,[r0,3h]    ; byte #3                          
    021F5172 2115     mov     r1,15h                                  
    021F5174 F6F6ED84 blx     20EBC80h                                
    021F5178 A800     add     r0,sp,0h                                
    021F517A 70C1     strb    r1,[r0,3h]    
                              
    021F517C 2000     mov     r0,0h         ; r0 = 0                          
    021F517E 2301     mov     r3,1h         ; r3 = 1                          
    021F5180 A900     add     r1,sp,0h      ; r1 = sp                          
    021F5182 1C02     mov     r2,r0         ; r2 = 0                          
    021F5184 1C15     mov     r5,r2         ; r5 = 0                          
    021F5186 2B00     cmp     r3,0h         ; if r3 <= 0, r3++                           
    021F5188 D90E     bls     21F51A8h                                
    021F518A 5D4F     ldrb    r7,[r1,r5]                              
    021F518C 5CCE     ldrb    r6,[r1,r3]    ; load two tree IDs                          
    021F518E 42B7     cmp     r7,r6         ; if a same tree is chosen two times                         
    021F5190 D105     bne     21F519Eh                                
    021F5192 1C76     add     r6,r6,1       ; increment the second one                          
    021F5194 54CE     strb    r6,[r1,r3]    ; store it                          
    021F5196 5CCE     ldrb    r6,[r1,r3]    ; reload it                          
    021F5198 2E15     cmp     r6,15h        ; if the chosen tree, r6, has an ID >= 21 (tree #21 doesn't exist)                          
    021F519A D300     bcc     21F519Eh                                
    021F519C 54C8     strb    r0,[r1,r3]    ; store 0 instead                          
    021F519E 1C6D     add     r5,r5,1       ; r5++                          
    021F51A0 062D     lsl     r5,r5,18h                               
    021F51A2 0E2D     lsr     r5,r5,18h                               
    021F51A4 429D     cmp     r5,r3         ; if r5 >= r3                          
    021F51A6 D3F0     bcc     21F518Ah                                
    021F51A8 1C5B     add     r3,r3,1       ; r3 ++                           
    021F51AA 061B     lsl     r3,r3,18h                               
    021F51AC 0E1B     lsr     r3,r3,18h                               
    021F51AE 2B04     cmp     r3,4h         ; (if r3 >= 4, stop comparing trees)                          
    021F51B0 D3E8     bcc     21F5184h      ; r5 = 0
    										; r5 will take the following values : 0 0 1 0 1 2
    										; r3 will take the following ones   : 1 2 2 3 3 3                          
    021F51B2 2200     mov     r2,0h         ; r2 = 0                          
    021F51B4 A900     add     r1,sp,0h      ; r1 = sp                          
    021F51B6 5C88     ldrb    r0,[r1,r2]    ; load each tree ID                          
    021F51B8 4284     cmp     r4,r0         ; is the tree being slathered a Munchlax one ?                          
    021F51BA D101     bne     21F51C0h      ; if not ...                          
    021F51BC 2001     mov     r0,1h         ; if the tree being slathered is a Munchlax tree, stop comparing, and return 1                          
    021F51BE BDF8     pop     r3-r7,r15                               
    021F51C0 1C50     add     r0,r2,1                                 
    021F51C2 0600     lsl     r0,r0,18h                               
    021F51C4 0E02     lsr     r2,r0,18h     ; ... increment r2                           
    021F51C6 2A04     cmp     r2,4h         ; if r2 >= 4 stop comparing                          
    021F51C8 D3F5     bcc     21F51B6h                                
    021F51CA 2000     mov     r0,0h         ; and return 0                          
    021F51CC BDF8     pop     r3-r7,r15                                                                   
    
    In other words :

    Code:
    bool isMunchlaxTree(u8 currentTree, u16 TID, u16 SID) //Not done this way, but equivalent      
            u8 trees[4];
    	for(u8 num = 0;num < 2; num++){
    		trees[num]= ((sid >> ((1-num) * 8)) & 0xFF) % 0x15;
    		trees[num+2]= ( (tid >> ( (1-num) * 8)) & 0xFF) % 0x15; 
    	}
    	u8 i = 0, j = 1, k = 0;
    	while(j < 4){
    		if(trees[i] == trees[j])
    			if(++trees[j] == 21) trees[j] = 0;
    		if(++i == j){
    			i = 0;
    			j++;
    		}
    	}
            while(k < 4){
                    if(currentTree == trees[k]) return true;
                    k++;
            }
            return false;
    }
  6. AdroMaster

    AdroMaster

    Joined:
    Nov 29, 2011
    Messages:
    12
    Hi! I can help you to add DSi Spanish support. I understand basic english. Tell me the steps and I will give you the results as soon as possible.
  7. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    I can't believe I didn't think of this sooner. We don't need to give ourselves a headache by messing around with a New Game and multiple trainer ID possibilities in order to calculate an initial seed for DSi research.

    We just need to get people to catch just two wild Pokemon on sequential PIDRNG frames, that have the IVs of the initial IVRNG seed. That is all we need to calculate the initial seed, and we know both Pokemon come from the same timer0 because of the IVs.

    New procedure:
  8. AdroMaster

    AdroMaster

    Joined:
    Nov 29, 2011
    Messages:
    12
    Hi OmegaDonut. Here are the Pokémon:

    WHITE

    First Pokémon (open)

    Second Pokémon (After a Chatot Call) (open)


    Characteristics:

    • Spanish DSi --> MAC Address: 0024F3FCE2C2
    • Pokémon White Version (Spanish)
    • Giant Chasm (Inner Cave)
    • Pressing A button in DSi menu to run the game at December 11th ,2011 at 10:15:25 (maybe 10:15:26, but I do not think so)
    • I transferred Pokémon to computer using IR-GTS-BW.
    BLACK


    First Pokémon (open)

    Second Pokémon (After a Chatot Call) (open)


    Characteristics:


    • Spanish DSi --> MAC Address: 0024F3FCE2C2
    • Pokémon Black Version (Spanish)
    • Mistralton Cave (Guidance Chamber)
    • Pressing A button in DSi menu to run the game at December 11th 2011, 10:15:25 (maybe 10:15:26, but I do not think so)
    • I transferred Pokémon to computer using Pokécheck.
  9. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    That's perfect! Yes, it would be great if you could do the same for Black, because Black and White could RNG differently.

    chiizu:
    AdroMaster's initial seed for Spanish White is 83FA39C71957E373.
    For Spanish Black it's 29F0C5F9E14ED208.
  10. AdroMaster

    AdroMaster

    Joined:
    Nov 29, 2011
    Messages:
    12
    I added Black Spanish Pokémon in my previous post. I hope that serves for all Spanish community.
  11. chiizu

    chiizu PPPPPPPPPPPPPPPPP RNG
    is a Programmeris a Pokemon Researcher

    Joined:
    Nov 12, 2010
    Messages:
    424
    My Internet connection has been kind of flaky for the last day, but anyway just confirming that the search is started. I don't have time to babysit it, so I set it to search a wider than usual search space. I expect there will be some results when I get home this evening (Japan time).

    Edit:
    Nothing found yet in the close range of other known values for seconds 25, 26, or 27, though still plenty to cover. I just wanted to check regarding the seeds, since I'm assuming you're using the PIDs in this process. Is the wild encounter PID modification is being accounted for?
  12. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    Yeah. I took the PIDs, XOR'd both by 0x10000, then tested all possible combinations with the PIDs XOR'd by 0x80000000 and not.

    Example with Boldore (PID 4466412A) and Axew (PID CF77155F)
    Code:
    Set 1 = a & b
    4467412A4B4F0374
    4467412AC22843FD
    Set 2 = a & b (XOR'd)
    4467412A18D16D07 <- seed, when rolled back matches the IVs obtained
    Set 3 = a (XOR'd) & b
    C467412A18D16D07
    Set 4 = a (XOR'd) & b (XOR'd)
    C467412A4B4F0374
    C467412AC22843FD
    
  13. chiizu

    chiizu PPPPPPPPPPPPPPPPP RNG
    is a Programmeris a Pokemon Researcher

    Joined:
    Nov 12, 2010
    Messages:
    424
    Seeds matched on second 28, a longer delay than I would expect for a start on 25 on a DSi.

    Spanish Dsi Parameters (open)
    Code:
    White
    Nazo: 0x027601f0
    Timer0: 1277
    VCount: 8e
    VFrame: 8
    
    Black
    Nazo: 0x027601f0
    Timer0: 127a
    VCount: 8e
    VFrame: 8
    
  14. AdroMaster

    AdroMaster

    Joined:
    Nov 29, 2011
    Messages:
    12
    My friend will borrow me a 3DS to make the procedure. When I finish it, I will post the results in the same way that DSi. Probably tomorrow (Saturday).
  15. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    That is not necessary. Since you gave us DSi information, that will work for a 3DS as well.
  16. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    Entralink PID Calculation

    As Bond showed us earlier, the PIDs of Entralink Pokémon have the lower byte zeroed out and replaced with an unknown random value that forces a Pokémon to be either male or female, depending on the Pokémon caught in the Dream World. Bond and I did some debugging yesterday and uncovered more of the mystery:

    (Gender threshold comes from the table of gender values listed here.)

    Code:
    For genderless Pokémon:
    0 Initial
    1 PID
    5 Nature
    No other modifications.
    
    For all-male Pokémon such as Tyrogue:
    0 Initial
    1 PID
    2 PID lower byte ((u32 * 0xF6 >> 32) + 8)
    6 Nature
    
    For all-female Pokémon such as Kangaskhan:
    0 Initial
    1 PID
    2 PID lower byte ((u32 * 0x8 >> 32) + 1)
    6 Nature
    
    For all other males:
    0 Initial
    1 PID
    2 PID lower byte ((u32 * (0xFE - gender threshold) >> 32) + gender threshold
    6 Nature
    
    For all other females:
    0 Initial
    1 PID
    2 PID lower byte ((u32 * (gender threshold - 1) >> 32) + 1
    6 Nature
    
    
    We still don't know how the game determines whether an EL PID is XOR'd with 0x10000 or not. The game ANDs the PID with 0x10000. If the result is 0x10000, it XORs it with 0x10000.

    Relevant ASM (open)

    Code:
    RAM_ARM9:02018796 00 04    LSLS    R0, R0, #0x10  	#creates 0x10000
    RAM_ARM9:02018798 22 1C    MOVS    R2, R4
    RAM_ARM9:0201879A 02 40    ANDS    R2, R0  		#ANDs 0x10000 with the PID
    RAM_ARM9:0201879C 09 04    LSLS    R1, R1, #0x10  	#blanks R1
    RAM_ARM9:0201879E 8A 42    CMP     R2, R1  		#if R2 = 0...
    RAM_ARM9:020187A0 00 D0    BEQ     loc_20187A4  	#skip ahead, else
    RAM_ARM9:020187A2
    RAM_ARM9:020187A2                                  @ CODE XREF: createPKM__+9Aj
    RAM_ARM9:020187A2 44 40    EORS    R4, R0		#XOR the PID with the result in R0, which is 0x10000
    RAM_ARM9:020187A4
    RAM_ARM9:020187A4                                  @ CODE XREF: createPKM__+70j
    


    EDIT: It looks like the PID calculation is still incorrect for species that don't have a 50\50 gender ratio. Fixed. I didn't notice the 254 - gender value part.
  17. ΩDonut

    ΩDonut don't glaze me bro
    is a Pokemon Researcheris a Programmer Alumnusis a Forum Moderator Alumnusis a Contributor Alumnus

    Joined:
    Aug 23, 2006
    Messages:
    3,727
    Kaphotics was testing the 3rd Gen Shiny Egg feature in (the yet unreleased) RNG Reporter 9.93, but found that none of the spreads he saw matched the IV inheritance he saw here. This really shouldn't come as a surprise to anyone by now, but Ruby\Sapphire also has a "split" breeding method like Emerald does. For split egg frames, the base IVs come from a Method 4 frame (which was what was programmed into RNG Reporter), while Kaphotics only saw Method 1 frames.
  18. Kaphotics

    Kaphotics Remodeling Kitchens
    is a Pokemon Researcheris a Contributor to Smogon

    Joined:
    Apr 25, 2009
    Messages:
    781
    RuSa Inheritance Spreads (Reference)

    Split Spreads (open)
    Code:
    Frame	Time	U16	Spread
    1876	0:31.26	CE14	30 / [color="white"]0[/color]6 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    3469	0:57.81	948F	30 / 14 / 30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]A[/color]
    3617	1:00.28	C157	30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / [u]31[/u] / 30 / [color="RoyalBlue"]B[/color]
    3710	1:01.83	CAC8	 [color="RoyalBlue"]A[/color] / [color="white"]0[/color]6 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / 30 / [u]31[/u]
    4100	1:08.33	9A6B	30 / [color="white"]0[/color]7 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    4389	1:13.15	A30C	 [color="RoyalBlue"]B[/color] / [color="white"]0[/color]7 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30
    6324	1:45.40	B045	 [color="RoyalBlue"]A[/color] / 30 / 30 /  [color="RoyalBlue"]A[/color] / 30 / [color="RoyalBlue"]A[/color]
    6672	1:51.20	C100	 [color="RoyalBlue"]A[/color] / 14 / 30 /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    6772	1:52.86	8F25	 [color="RoyalBlue"]A[/color] / [color="white"]0[/color]7 / [u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    6929	1:55.48	5E47	 [color="RoyalBlue"]B[/color] / 23 / 30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / 30
    7200	2:00.00	F597	 [color="RoyalBlue"]A[/color] / 18 / [u]31[/u] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    8174	2:16.23	083D	30 / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    8632	2:23.86	13F2	 [color="RoyalBlue"]A[/color] / [u]31[/u] / 30 /  [color="RoyalBlue"]B[/color] / 30 / [color="RoyalBlue"]A[/color]
    10059	2:47.65	4080	30 / [color="white"]0[/color]6 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u]
    11181	3:06.35	188D	30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 /  [color="RoyalBlue"]A[/color] / [u]31[/u]
    13316	3:41.93	03AD	 [color="RoyalBlue"]A[/color] / 30 / 30 /  [color="RoyalBlue"]B[/color] / 30 / [color="RoyalBlue"]B[/color]
    14102	3:55.03	3056	 [color="RoyalBlue"]B[/color] / 26 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u]
    14871	4:07.85	202F	 [color="RoyalBlue"]A[/color] / 23 / [u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    15743	4:22.38	D380	[u]31[/u] / 22 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    16248	4:30.80	13C3	 [color="RoyalBlue"]B[/color] / 11 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    16560	4:36.00	7D0B	[u]31[/u] / 22 /  [color="RoyalBlue"]B[/color] / 30 /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]B[/color]
    17733	4:55.55	C216	 [color="RoyalBlue"]B[/color] / 19 / 30 /  [color="RoyalBlue"]B[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    18825	5:13.75	72F9	 [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [u]31[/u] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    20343	5:39.05	5E2A	[u]31[/u] / 14 / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    21929	6:05.48	74DC	 [color="RoyalBlue"]A[/color] / 26 / [u]31[/u] / 30 /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    25728	7:08.80	7643	 [color="RoyalBlue"]B[/color] / [u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / 30 / [color="RoyalBlue"]A[/color]
    26498	7:21.63	8985	 [color="RoyalBlue"]B[/color] / 15 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 / 30
    27749	7:42.48	585E	 [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [u]31[/u]
    28509	7:55.15	9FE5	[u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / 30 / [color="RoyalBlue"]B[/color]
    30230	8:23.83	BC1F	[u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / 30
    30564	8:29.40	AD57	30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / 30 / [u]31[/u] / [color="RoyalBlue"]A[/color]
    30665	8:31.08	CADA	[u]31[/u] / 22 / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    32099	8:54.98	A64E	 [color="RoyalBlue"]A[/color] / 19 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 / [u]31[/u]
    33028	9:10.46	A468	30 / 23 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [u]31[/u] / [color="RoyalBlue"]A[/color]
    Non-Split Spreads (open)

    Code:
    Frame	Time	U16	Spread		
    1876	0:31.26	CE14	30 / [color="white"]0[/color]6 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    2693	0:44.88	2D7F	 [color="RoyalBlue"]A[/color] / [color="white"]0[/color]7 /  [color="RoyalBlue"]B[/color] / 30 / [u]31[/u] / [color="RoyalBlue"]A[/color]
    3282	0:54.70	34EE	[u]31[/u] / [color="white"]0[/color]3 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [color="RoyalBlue"]A[/color]
    3324	0:55.40	F1C9	30 / 30 /  [color="RoyalBlue"]B[/color] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]B[/color]
    3469	0:57.81	948F	30 / 14 / 30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]A[/color]
    3865	1:04.41	0DB0	[u]31[/u] / 23 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    4100	1:08.33	9A6B	30 / [color="white"]0[/color]7 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    5660	1:34.33	722D	[u]31[/u] / [color="white"]0[/color]6 /  [color="RoyalBlue"]B[/color] / 30 /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]A[/color]
    6600	1:50.00	626B	 [color="RoyalBlue"]B[/color] / 27 /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    6957	1:55.95	39C2	[u]31[/u] / 23 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]A[/color]
    8070	2:14.50	ED4F	 [color="RoyalBlue"]B[/color] / 26 /  [color="RoyalBlue"]B[/color] / [u]31[/u] / [u]31[/u] / [color="RoyalBlue"]A[/color]
    8889	2:28.15	E47A	 [color="RoyalBlue"]B[/color] / 18 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / 30 / 30
    8998	2:29.96	A8B4	 [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]A[/color] / 30 / 30 / [color="RoyalBlue"]B[/color]
    9357	2:35.95	C649	 [color="RoyalBlue"]B[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30 / 30 / [color="RoyalBlue"]B[/color]
    10655	2:57.58	C69A	 [color="RoyalBlue"]A[/color] / 23 /  [color="RoyalBlue"]B[/color] / [u]31[/u] / 30 / [color="RoyalBlue"]B[/color]
    10748	2:59.13	1B69	 [color="RoyalBlue"]A[/color] / [color="white"]0[/color]6 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / 30 / 30
    11182	3:06.36	881E	 [color="RoyalBlue"]B[/color] / 18 /  [color="RoyalBlue"]B[/color] / 30 /  [color="RoyalBlue"]A[/color] / [u]31[/u]
    11520	3:12.00	C651	30 / 26 /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    12904	3:35.06	4D73	[u]31[/u] / 23 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 / [color="RoyalBlue"]A[/color]
    13951	3:52.51	AE1C	 [color="RoyalBlue"]A[/color] / 14 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    14540	4:02.33	0E07	 [color="RoyalBlue"]B[/color] / 18 / [u]31[/u] / 30 /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    14633	4:03.88	10C9	 [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30
    16199	4:29.98	499A	 [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    16352	4:32.53	C405	 [color="RoyalBlue"]A[/color] / 27 / 30 / 30 /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]B[/color]
    18621	5:10.35	9AC0	 [color="RoyalBlue"]A[/color] / 19 / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u]
    19999	5:33.31	3F37	 [color="RoyalBlue"]A[/color] / [color="white"]0[/color]7 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 / 30
    20228	5:37.13	1671	30 / 26 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    20343	5:39.05	5E2A	[u]31[/u] / 14 / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]A[/color]
    20499	5:41.65	ADF7	[u]31[/u] / 19 /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]A[/color]
    20649	5:44.15	7391	 [color="RoyalBlue"]A[/color] / 11 /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]A[/color] / 30
    21251	5:54.18	280D	30 / [color="white"]0[/color]3 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / 30
    22360	6:12.66	22BD	 [color="RoyalBlue"]B[/color] / 10 /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / [u]31[/u]
    23039	6:23.98	2F20	30 / 14 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30
    25911	7:11.85	E6C0	[u]31[/u] / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [color="RoyalBlue"]B[/color]
    26173	7:16.21	7A04	[u]31[/u] /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] /  [color="RoyalBlue"]B[/color] / 30
    30538	8:28.96	7586	 [color="RoyalBlue"]B[/color] / [color="white"]0[/color]7 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / 30 / 30
    30665	8:31.08	CADA	[u]31[/u] / 22 / 30 /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [color="RoyalBlue"]B[/color]
    31073	8:37.88	51FC	 [color="RoyalBlue"]A[/color] / 19 /  [color="RoyalBlue"]B[/color] / [u]31[/u] / 30 / [color="RoyalBlue"]A[/color]
    31730	8:48.83	C7C0	 [color="RoyalBlue"]A[/color] / 15 /  [color="RoyalBlue"]A[/color] / 30 /  [color="RoyalBlue"]A[/color] / 30
    33143	9:12.38	788B	30 / 14 / 30 /  [color="RoyalBlue"]A[/color] /  [color="RoyalBlue"]B[/color] / [color="RoyalBlue"]B[/color]


    Alternate spread was recently added to RNG Reporter; don't feel like making another list.
    There's only one flawless spread for Alternate Inheritance in the first 10 minutes.

    Flawless Spreads:

    Code:
    18825	5:13.75    72F9	 [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color] / [u]31[/u] / [u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]B[/color]
    Note: Split Spread
    
    23746	06:35.8    F0DB	 [color="RoyalBlue"]A[/color] / [u]31[/u] / [u]31[/u] / [u]31[/u] /  [color="RoyalBlue"]B[/color] /  [color="RoyalBlue"]A[/color]
    Note: Alternate Spread
    
  19. GoldenBanana

    GoldenBanana

    Joined:
    Apr 10, 2010
    Messages:
    137
    I've RNG bred several pokemon on my retail Ruby cart, and most of the spreads I've seen use the inheritance from HGSS breeding 3 frames (not 4) after the Method 1 frame the base IVs come from. I have also seen spreads like the non-split ones Kaphotics listed.
    I think the base IVs I've been seeing may have come from Method 2. I'm not experienced with Emerald egg abuse, but is this similar to its Alternate Inheritance?
  20. Bruno Magno

    Bruno Magno

    Joined:
    May 15, 2011
    Messages:
    744
    Well, i'll (if i can) do that, during holidays :)
  21. Kaphotics

    Kaphotics Remodeling Kitchens
    is a Pokemon Researcheris a Contributor to Smogon

    Joined:
    Apr 25, 2009
    Messages:
    781
    If people are looking to help research, you can chip in observations or data from gen3/4/5. We forgot about these abilities and their generation effects.

    Code:
    [s]Cute Charm		66.7% chance to encounter opposite gender[/s] - done 100%!
    Vital Spirit		50% chance for Higher Level Pokemon to be summoned.
    Intimidate/Keen Eye	decreases the chance of encountering a lower-level wild Pokémon by 50%. 
    Magnet Pull		50%+ Chance for Steel Type
    Static			50%+ Chance for Electric Type
    Possible Theories:

    Cute Charm -- Might reinitiate the PID routine again, either ignoring the predefined Nature or not. Or, it can modify the PID (unlikely).
    Vital Spirit -- Either Inflates the default levels, or Selects higher level slots. Probably inflates levels.
    Intimidate/Keen Eye -- See above.
    u16%(maxlevel-minlevel)+minlevel - - - base calc

    Magnet Pull -- Replaces certain slots with a different table, or only selects from valid slots if the calc passes. Probably the latter.
    Static -- Same as above.

    Open for research, this may allow different spreads to be hit in the same effect of a synchronizer. Emerald (no RSFRLG) onward.
  22. Hozu

    Hozu RNGenius
    is a Contributor to Smogon

    Joined:
    Feb 10, 2011
    Messages:
    1,423
    Some results with encounters in Emerald with an Intimidate pokemon in the lead slot :
    Picture (open)
    [​IMG]

    I know 50 results is extremely low but if not a single pokemon is lower than the range given in the encounter slot info I'm willing to bet that Intimidate doesn't simply lower the levels of the encounters when it kicks in.

    This was done on a retail cart btw so I can't tell what method was used for the encounters btw. Tomorrow I will take a look at Petalburg Woods on an emulator for some more information.
  23. Kaphotics

    Kaphotics Remodeling Kitchens
    is a Pokemon Researcheris a Contributor to Smogon

    Joined:
    Apr 25, 2009
    Messages:
    781
    Petalburg Woods with Vigoroth (Vital Spirit)

    Data Examples (open)
    Code:
    PETALBURG WOODS	
    POOCHYENA	5	0	
    WURMPLE		5	1
    SHROOMISH	5	2
    POOCHYENA	6	3
    SILCOON		5	4
    CASCOON		5	5
    WURMPLE		6	6
    SHROOMISH	6	7
    TAILLOW		5	8
    SLAKOTH		5	9
    TAILLOW		6	10
    SLAKOTH		6	11
    
    Frame	Occidentary	Time	Slot	PID		Nature	Ability	HP	Atk	Def	SpA	SpD	Spe
    1120	1124		0:18.66	4	2A07B5D6	Quirky	0	29	5	11	6	25	13
    
    Slot7 received (6 Shroomish)
    Slot4 is normal (5 Silcoon)
    
    Frame	Occidentary	Time	Slot	PID		Nature	Ability	HP	Atk	Def	SpA	SpD	Spe
    1121	1127		0:18.68	1	64CD2CBD	Impish	1	3	17	17	3	27	8	
    
    Slot4 received (5 Wurmple)
    Slot1 is normal (5 Wurmple)
    
    Frame	Occidentary	Time	Slot	PID		Nature	Ability	HP	Atk	Def	SpA	SpD	Spe
    1122	1138		0:18.70	11	C124057D	Naive	1	8	14	28	10	9	27
    
    Slot1 received (5 Wurmple)
    Slot11 is normal (6 Slakoth)
    
    Frame	Occidentary	Time	Slot	PID		Nature	Ability	HP	Atk	Def	SpA	SpD	Spe
    1123	1151		0:18.71	0	D6F4F7B9	Hardy	1	17	12	26	15	18	31
    
    Slot11 received (6 Slakoth)
    Slot0  is normal (5 Poochyena)
    Wow, Method H works like a charm. With an emulator I got 4 sequential H-2 frames observed, no problem at all.

    With these frames I don't see any preference on levels. Upon analysis of these 4 frames, you can see that the Slot of the next frame is what is received.

    How is this done? The level calc (in between ESV and Nature) takes an extra calc, most likely. This calc may just amplify the determined level by a small amount, but at these small levels, there won't be any difference if the multiplication is *1.05 etc. Or maybe it doesn't work because of bad programming. We'll see!

    It DEFINITELY changes slot / spread options, which REALLY makes this advantageous. Think of it as "changing" the possible slots of a spread!

    Code:
    n     - Initial
    n + 1 - Battle
    n + 2 - ESV
    n + 3 - Level/Buffer
    n + 4 - Buffer/Level
    n + 5 - Nature
    
    PIDloop
    IV
    IV
    


    Basically another calc in between ESV and Nature, but there's still a level calc involved. Here's my guess - pass 50% to bias the level calc to higher numbers; kinda like sync. For now we don't care what the calc is, but we just need to know it operates with another calc in between ESV/Nature.
  24. Dark Ray

    Dark Ray Collector of the highly improbable.
    is a Pre-Contributor

    Joined:
    Sep 27, 2010
    Messages:
    933
    I've been meaning to test Cute Charm for awhile (mainly to see if I can use my female adamant spread to catch a male ralts) so when I saw Reject's post I leapt into action.

    English (US) HG rom used.
    Memory viewer used to find my seed (40160205)
    Pokemon were caught in Ilex Forest while riding the bike.
    Female CC Igglybuff, standard Oddish SweetScenter and a boring Skiploom were used.
    The Zubats are available below as PKM. files if anyone more knowledgable wants to look at them under different programs.

    Zubat caught with Skiploom lead.
    Zubat caught with CC Iggly lead.
    Another zubat caught with Iggly Lead. (1 irwin call used to advance frame)

    Note that Legal.exe lists the CCed Zubats as unknown/hacked, i'll be testing some more later (getting late here) but it looks to me like Cute Charm modifies the PID, not just causes a re-roll.
  25. Kaphotics

    Kaphotics Remodeling Kitchens
    is a Pokemon Researcheris a Contributor to Smogon

    Joined:
    Apr 25, 2009
    Messages:
    781
    0x000000A3 first CC zubat,
    IVs appeared Method 1 frame 2.
    0x000000A5 second CC zubat
    IVs appeared as Method 1 frame 3.

    what the @$*# is this &*@%? Those are the most grotesque PID's I've ever seen.

    Either way, it's a PID method akin to Chain Shiny. When it's convenient, can you keep going until you find a fail? So far all dem zubats have passed. Cool stuff!

Users Viewing Thread (Users: 0, Guests: 0)