- 5,256
- Posts
- 17
- Years
- Age 27
- Leicester, UK
- Seen Mar 31, 2025
I don't know where it is either. Perhaps you can ask daniilS via VM or something.
1) For forced evolution, I don't know what you're really talking about. You mean just make a Pokemon evolve without giving the player time to hit the "b" button? I'll look into Pokemon evolution sure.
2) I haven't seen it so VMing me it would be nice. Anyways this is rather easy, I've done it before. I'll post the results at the bottom of this post.
3) Skipping the introduction was already done by Knizz. There's a post in the research and development section's quick research thread.
Preventing TMs from being consumed on use
Quick research:
TMs are deleted in two places. The first place is in their own function. When called from the bag, after use the TM has it's own deletion mechanism. The second way is from the bag, after you use a TM the bag attempts to delete it as well. Well, the solution is quite simple. There's two ways to do this, either go to 0809A1D8 call your own function there which checks if the item is a TM, and if it is, just jump to the end. Or much more simply you just remove the parts from the bag and tm function that deletes the TM (Which is what I did). The former way is a way you can make another item you have unconsumable.
To insert:
Do the byte changes below
0x124F78: 00 00 00 00
0x125C80: 00 00 00 00
Make it Ungivable:
insert that at 0x1326B8: 00 00 17 E0
Make it consumable after animation:
Insert: 00 00 00 00 at 0x124F78
To remove the quantities showing up in the bag:
Compile and insert into free space:
Spoiler:
Code:.text .align 2 .thumb .thumb_func main: cmp r5, #0x0 bne end ldr r3, =(0x8131EFE +1) bx r3 end: mov r0, r7 mov r1, #0x8 mov r2, r4 ldr r6, =(0x81335B0 +1) bl link ldr r3, =(0x8131EFE +1) bx r3 link: bx r6 .align 2
Here's a compiled version:
Code:00 2D 01 D1 05 4B 18 47 38 1C 08 21 22 1C 04 4E 00 F0 02 F8 01 4B 18 47 30 47 C0 46 FF 1E 13 08 B1 35 13 08
Now navigate to 0x131EF4 and insert:
Where XX XX XX is the pointer to where you assembled the routine +1Code:00 48 00 47 XX XX XX 08
Now navigate to 0x131EA5 and change the byte to E0
Unsellable:
Basically for the TMs, you can still sell them to vendors. To change this, you need to modify each TM individually. It's unfortunate, but the game checks if an item can be sold my comparing it's market price to zero. If it's strictly greater than zero, then you can sell it to a vendor, seems to be the rule. So to make TMs unsellable you need to set their market prices individually to zero.
I can't use my own checks to disguise the TMs as unique because the sell routine in shops are used for ALL items including potions, berries, TMs, and other items like nuggets.
Present :3
![]()
To make TMs ungivable when chosen through the Pokémon -> Give menu, navigate to 0x13288D and change the byte to E0.