• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Research: PokéRide in Gen 3

Blah

Free supporter
1,924
Posts
11
Years
  • FBI, I've updated the OP with a video (https://streamable.com/8u23z).

    I like it. That's a creative way to combine all of those hacks together. Something you should consider is making the Pokemon appear in the overworld and do something. I've seen fan game creators experiment with this, but it would a pretty impressive feature to have in your implementation. It becomes feasible since Pokeride is only limited to a certain number of Pokemon.

    Wish you luck, and good work so far.
     

    thedarkdragon11

    New World Pirate
    530
    Posts
    14
    Years
  • Any chance of the following HMs:
    • Whirlpool
    • Dive
    • Defog
    • Rock Climb

    And the following Rides:
    • Tauros Charge (Mach Bike?)
    • Stoutland Search (Dowsing Machine)
    • Mudsdale Gallop (Acro Bike?)
    • Sharpedo Jet (Running Shoes on Water?)
    • Mantine Surf (Surf on Current?)
     
    Last edited:
    51
    Posts
    9
    Years
    • Seen Nov 18, 2023
    After figuring out how to keep the Pokemon from being registered as being seen/caught (thanks to Burtle), I have ported the routine from Skeli's ROMbase to vanilla FireRed. Just got to do a myriad of checks for Lapras and Machamp. Then I'll work on Charizard Glide.

    Insert this code into free space:
    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    
    main:
    sub r1, #0x01
    lsl r1, r1, #0x01
    add r1, r1, r0
    ldrh r0, [r1]
    push {r0}
    ldr r0, flag200
    bl flagcheck
    mov r3, r0
    pop {r0}
    cmp r3, #0x01
    beq laprascheck
    push {r0}
    ldr r0, flag201
    bl flagcheck
    mov r3, r0
    pop {r0}
    cmp r3, #0x01
    beq machampcheck
    end:
    ldr r3, =(0x080432b7)
    bx r3
    
    flagcheck:
    ldr r3, flagget
    bx r3
    
    laprascheck:
    cmp r0, #0x83
    beq uncatch
    b end
    
    machampcheck:
    cmp r0, #0x44
    beq uncatch
    b end
    
    uncatch:
    mov r0, #0x00
    mov r5, #0x00
    b end
    
    .align 2
    flag200: .word 0x00000200
    flag201: .word 0x00000201
    flagget: .word 0x0806e6d1

    then compile this and insert it at 0x080432A4

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    
    ldr r3, =(0x08XXXXXX)
    bx r3

    where 0x08XXXXXX is the offset you inserted the first routine at +1

    You'll notice my method uses givepokemon. Set the relevant flag (0x200 for Lapras, 0x201 for Machamp) before giving the pokemon. Afterwards, clear the flag.


    You could simplify your routine in this way. In practice, if the 200 flag is set, no pokemon will be registered. It saves space and a lot of time, in case a lot of pokemon are added.

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    
    main:
    sub r1, #0x01
    lsl r1, r1, #0x01
    add r1, r1, r0
    ldrh r0, [r1]
    push {r0}
    ldr r0, flag200
    bl flagcheck
    mov r3, r0
    pop {r0}
    cmp r3, #0x01
    beq disattiva
    
    end:
    ldr r3, =(0x080432b7)
    bx r3
    
    flagcheck:
    ldr r3, flagget
    bx r3
    
    disattiva:
    mov r0, #0x00
    mov r5, #0x00
    b end
    
    .align 2
    flag200: .word 0x00000200
    flagget: .word 0x0806e6d1
     

    sylingga

    Red Everywhere
    86
    Posts
    10
    Years
    • Seen Apr 30, 2024
    You could simplify your routine in this way. In practice, if the 200 flag is set, no pokemon will be registered. It saves space and a lot of time, in case a lot of pokemon are added.

    Code:
    .text
    .align 2
    .thumb
    .thumb_func
    
    main:
    sub r1, #0x01
    lsl r1, r1, #0x01
    add r1, r1, r0
    ldrh r0, [r1]
    push {r0}
    ldr r0, flag200
    bl flagcheck
    mov r3, r0
    pop {r0}
    cmp r3, #0x01
    beq disattiva
    
    end:
    ldr r3, =(0x080432b7)
    bx r3
    
    flagcheck:
    ldr r3, flagget
    bx r3
    
    disattiva:
    mov r0, #0x00
    mov r5, #0x00
    b end
    
    .align 2
    flag200: .word 0x00000200
    flagget: .word 0x0806e6d1

    Sorry for replying old post.
    I dont find how to make the item pokeride, only routine for that.
    what offset for the item?
     

    Dr. Seuss

    Will finish GS Chronicles, I swear!
    523
    Posts
    10
    Years
  • Sorry for replying old post.
    I dont find how to make the item pokeride, only routine for that.
    what offset for the item?

    It appears the user who posted the tutorial was deleted since there are no records of their messages or a notice showing it was deleted by a mod/admin. With the current information the tutorial is useless since it is missing important information. Maybe someone did a backup of the tutorial and can repost it.
     

    sylingga

    Red Everywhere
    86
    Posts
    10
    Years
    • Seen Apr 30, 2024
    It appears the user who posted the tutorial was deleted since there are no records of their messages or a notice showing it was deleted by a mod/admin. With the current information the tutorial is useless since it is missing important information. Maybe someone did a backup of the tutorial and can repost it.

    Thank you for the respond.
    Yeah, i made my one kind PokeRide for Cut, Rocksmash, Strengh and Surf just using those script and flag.
     
    Back
    Top