Free supporter

Unknown Island
Seen 3 Days Ago
Posted December 17th, 2019
1,910 posts
7.4 Years
Well i didnt meant especially like in bw when i wrote my post, because i didnt play bw and thus didnt know that it had such a exp system. I now looked the bw system up and yes, it comes close to what i want, even though i would like it to be a bit more radical.
Um i searched for a thread were this port is explained and if such a thread exist, i couldnt find it.
I would be really thankful if you could send me a link to the port!
I don't know where it is either. Perhaps you can ask daniilS via VM or something.

I was writing you some ideas when I lost all the text I had wrote... Very frustrating xD

Well, I have 3 ideas to show up, here we go!

1.- Forced evolution For some points it would be great to have this, like for example give your starter a final evolutionary stage really powerful, or for some plot twists (like when on the manga, Red's Poliwhirl evolves to Poliwrath).

2.- Keeping TM like on BW: This was done before, but it doesn't work properly. I don't usually leave comments here so I can't put any link yet, but if you want I can send you them by Profile Message or Private Message.

3.- Skip Prof. Oak's introduction: In my opinion this introducion is okay for the original games, but not everyone likes it, and it's bad for people who look for a really inmersive story, cause it has to start always more or less the same. It is possible to skip it (I don't know how it's done, but I guess you just have to branch instead of the direction of the intro, the direction of where the game itself starts) and to give preset names to both the player and the rival, but again, I'm not as good to do it yet xD.

Well, I hope I don't bother you with these ideas xD. Thanks in advanced an really nice work here :D
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:

.align 2

	cmp r5, #0x0
	bne end
	ldr r3, =(0x8131EFE +1)
	bx r3

	mov r0, r7
	mov r1, #0x8
	mov r2, r4
	ldr r6, =(0x81335B0 +1)
	bl link
	ldr r3, =(0x8131EFE +1)
	bx r3

	bx r6

.align 2

Here's a compiled version:
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:
00 48 00 47 XX XX XX 08
Where XX XX XX is the pointer to where you assembled the routine +1

Now navigate to 0x131EA5 and change the byte to E0

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