• 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.

Adding new evolution methods [FR]

Trainer 781

Guest
0
Posts
I am trying to attempt to create a routine for Evolution During Day From Certain Level (i.e. Tyrunt) by looking at routines for other evolution methods.
The pokemon by this method is evolved in day due to level up and does not evolve in night, but is unable to check the required level in the argument. (i.e. evolves at any level during day on levelling up). Can somebody tell me what I am missing>

Code:
.text
.align 2
.thumb
.thumb_func
.global daylevelup

main:
push {r0-r7}
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
ldrb r2, [r3, #0x2]
mov r0, r8
ldr r6, time
ldrb r6, [r6, #0x0]
cmp r6, #0x15
bge exit
cmp r6, #0x6
blt exit
mov r10, r3
pop {r0-r7}
mov r1, r10
ldr r0, levelcheckloc
bx r0
exit:
pop {r0-r7}
ldr r0, noevo
bx r0

.align
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
time: .word 0x03005542
 

kearnseyboy6

Aussie's Toughest Mudder
300
Posts
15
Years
  • Seen Jun 22, 2019
I am trying to attempt to create a routine for Evolution During Day From Certain Level (i.e. Tyrunt) by looking at routines for other evolution methods.
The pokemon by this method is evolved in day due to level up and does not evolve in night, but is unable to check the required level in the argument. (i.e. evolves at any level during day on levelling up). Can somebody tell me what I am missing>

Code:
.text
.align 2
.thumb
.thumb_func
.global daylevelup

main:
push {r0-r7}
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
[B]ldrb r2, [r3, #0x2][/B]
mov r0, r8
ldr r6, time
ldrb r6, [r6, #0x0]
cmp r6, #0x15
bge exit
cmp r6, #0x6
blt exit
mov r10, r3
pop {r0-r7}
mov r1, r10
ldr r0, levelcheckloc
bx r0
exit:
pop {r0-r7}
ldr r0, noevo
bx r0

.align
levelcheckloc: .word [B]0x0804310D[/B]
noevo: .word 0x08043111
time: .word 0x03005542

0x0804310D: That location will jump straight to the evolution, ie: no check. If you want to go to the level check routine you need 0x08043017.

Now, you can either change that or do your own level check. You loaded the level into r2 with this code:

ldrb r2, [r3, #0x2]

You can decrypt your level with the decrypt function and compare, or just use the level check already in the game stated above.

PS. Can I use and credit your routine in the OP? It works on my rom :)
 

Trainer 781

Guest
0
Posts
^- Just remove these lines in the night time item hold evolution then you are set:

Code:
ldr r5, time
ldrb r5, [r5, #0x0]
cmp r5, #0x15
bge test
cmp r5, #0x6
blt test
b exit
test:
 

Trainer 781

Guest
0
Posts
Yes, but not necessary. Remove it because now it has no use.
 

GoGoJJTech

(☞゚ヮ゚)☞ http://GoGoJJTech.com ☜(゚ヮ゚☜)
2,475
Posts
11
Years
I really hope you understand that there are lines you need to change based on how many evolutions per pokemon you have. Without those changes, people will have errors.
 

kearnseyboy6

Aussie's Toughest Mudder
300
Posts
15
Years
  • Seen Jun 22, 2019
I really hope you understand that there are lines you need to change based on how many evolutions per pokemon you have. Without those changes, people will have errors.

It's covered already in the tutorial ;)
 

Trainer 781

Guest
0
Posts
^ -Well no, because I have not hacked emerald yet. So I don't have much info about emerald offsets.
 

anonyboy

Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
286
Posts
10
Years
I've Added move induced Evoultion To the rom, but how do i make it display on g3hs, And should i put freespace in place of the table that's repointed in the beginning of the tut?

EDIT: It Shows up In G3HS But uses the item table and A Ton of garbage after it, How do i Make it Show moves?
 
Last edited:

Trainer 781

Guest
0
Posts
I've Added move induced Evoultion To the rom, but how do i make it display on g3hs, And should i put freespace in place of the table that's repointed in the beginning of the tut?

EDIT: It Shows up In G3HS But uses the item table and A Ton of garbage after it, How do i Make it Show moves?

You have to cross-reference the move id with item id, i.e. in G3HS suppose you want to evolve by learning the move pound, gets its move_id which is 0x1, now search the item which has the same item_id of 0x1 (say masterball for example, don't remember the item with id 0x1), set the item with the id 0x1 in G3hs, then the pokemon will evolve by learning pound. This is a bit inconvenient, but this only the way you can set the evo method for now. (The future versions of G3HS are expected to add the dropdown list for moves and mapnames).

As for filling the original table with freespace is not neccessary, but generally, it is a good practice while relocating tables as the data there is practically useless, and if big tables are repointed then you can also get some extra amount of freespace.
 
Last edited:

anonyboy

Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-C
286
Posts
10
Years
You have to cross-reference the move id with item id, i.e. in G3HS suppose you want to evolve by learning the move pound, gets its move_id which is 0x1, now search the item which has the same item_id of 0x1 (say masterball for example, don't remember the item with id 0x1), set the item with the id 0x1 in G3hs, then the pokemon will evolve by learning pound. This is a bit inconvenient, but this only the way you can set the evo method for now. (The future versions of G3HS are expected to add the dropdown list for moves and mapnames).

As for filling the original table with freespace is not neccessary, but generally, it is a good practice while relocating tables as the data there is practically useless, and if big tables are repointed then you can also get some extra amount of freespace.

Actually It eventually showed me The move list but wasn't working in the game.
BTW, What exactly do i need to edit in the Pokemon BST Table to make The gender Evolutions work?
 

kearnseyboy6

Aussie's Toughest Mudder
300
Posts
15
Years
  • Seen Jun 22, 2019
is there any way to make it so you cannot cancel the evolution? or not get rid of the item at all? they're not ideal but they'd fix the problem

yes you can actually sorry! I'll do some research on the evolution stone as that's where you can't press the B button. I'm super busy at the moment but I'll try to have it done by the end of the week!
 
7
Posts
9
Years
  • Age 28
  • Seen Jan 28, 2019
The patch someone posted does not work with MrDollSteak's rombase. Could someone please add a patch that works with the rombase?

Edit: It probably has to do with the .ini, I'll investigate.

Edit 2: Fixed it. Just a quick .ini change and I got it to work! :)
 
Last edited:

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
yes you can actually sorry! I'll do some research on the evolution stone as that's where you can't press the B button. I'm super busy at the moment but I'll try to have it done by the end of the week!

Hmm, new issue. I will also look into it.
 

persian_17

Trainer
31
Posts
16
Years
Could you do an evolution which a pokemon will evolve just by holding an item, and evolve back if you remove the held item? it could be a good alternative for mega evolution... ^_^
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
Could you do an evolution which a pokemon will evolve just by holding an item, and evolve back if you remove the held item? it could be a good alternative for mega evolution... ^_^

Yeah, it would just always be mega evolved, even in the overworld. Also it would allow players to have 6 mega evolved pokemon on their team, wouldn't require a mega ring, and probably would have to be a simple asm routine to change the index number based on a hold item (which I have made and still need to clean up before publishing) rather than an evolution routine.

I think we'd need more than that.
 
Back
Top