The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary Hack Tutorials (https://www.pokecommunity.com/forumdisplay.php?f=66)
-   -   Adding new evolution methods [FR] (https://www.pokecommunity.com/showthread.php?t=329357)

kearnseyboy6 July 9th, 2014 5:30 AM

Quote:

Originally Posted by mrtienduc1999 (Post 8338535)
Uk... I think we can write a asm code to replace evolution stones into evolution items. I viewed a topic, it show to me how to create a new evolution stones, but i dont understand it. If we create a method: evolution items: items use out of battle: potions, stones, ..etc..., we will not create a new stone. I Think it's simpler.

Creating new stones can be done here:

http://www.pokecommunity.com/showthread.php?t=296729

If you want the gender check for gallade and froslass... I haven't broken down the stone routine yet so I can't do it! And it seems really difficult to accopmlish! I'll try it soon!

stephenbrook July 9th, 2014 9:56 AM

Quote:

Originally Posted by Ollie11 (Post 8337469)
You mean held items? You can use any item editor to replace "?????????" items with held item. Follow (icant post urls yet) but not the last part (doing item to do something), we don't need it. Then open G3HS, and set held item evolution method on Pokemon that you want to evolve with it, and also choose your newly created item.

I was meaning, for example, is there a way I can make it so for onix to evolve it needs to level up holding metal coat?

STikER July 9th, 2014 11:36 AM

Quote:

Originally Posted by stephenbrook (Post 8339298)
I was meaning, for example, is there a way I can make it so for onix to evolve it needs to level up holding metal coat?

Then, in G3HS simply set evolution by level-up holding an item for Onix.

Quote:

Originally Posted by kearnseyboy6 (Post 8338908)
If you want the gender check for gallade and froslass... I haven't broken down the stone routine yet so I can't do it! And it seems really difficult to accopmlish! I'll try it soon!

You might make evolution method such as Burmy's (females to Wormadam, males to Mothim), because you already made routines with level check, so it might be simplier for you.

mrtienduc1999 July 9th, 2014 9:56 PM

Quote:

Originally Posted by kearnseyboy6 (Post 8338899)
Nearly, if the PID has a value less than the gender value in the pokemon stats table, then it's female or male I think. So doing a compare is quite achievable and I'll have it written up in a day or so.

^^ Thanks you so much. it help me very much :)

stephenbrook July 12th, 2014 12:06 PM

I'm completely lost by this. Starting from scratch how do I make it so that if Onix is holding the metal coat and levels up he evolves to steelix?

I can just about get my head around hex but this ASM lark? I'm lost, I know its doable as I have seen it on heartgold hacks

STikER July 12th, 2014 1:05 PM

Quote:

Originally Posted by stephenbrook (Post 8345403)
I'm completely lost by this. Starting from scratch how do I make it so that if Onix is holding the metal coat and levels up he evolves to steelix?

I can just about get my head around hex but this ASM lark? I'm lost, I know its doable as I have seen it on heartgold hacks

Okay, so now I will explain all. First, compile 4th (for night evolution) or 5th (for day evolution) ASM routine in kearnseyboy6's list in first post. Then, to make these routines work, you must follow tutorial (finding evolution routine, repointing it changing limiters and setting new evolution method in G3HS's ini). Because they need day and night system, implement it to rom (the best for begginers is primedialga's DNS). And then, in G3HS, set evolution to Onix. And only after all of this evolution will work.
Besides, this tutorial is really simple. Idk why you getting it so hard.
P.S. If you don't know how to compile and insert ASM routine, find tutorial somewhere. I'm not going to teach you this.

mrtienduc1999 July 12th, 2014 1:39 PM

Quote:

Originally Posted by kearnseyboy6 (Post 8338908)
Creating new stones can be done here:

http://www.pokecommunity.com/showthread.php?t=296729

If you want the gender check for gallade and froslass... I haven't broken down the stone routine yet so I can't do it! And it seems really difficult to accopmlish! I'll try it soon!

Thank so much again! :) now, i can create new stones, if i want!

stephenbrook July 13th, 2014 1:03 AM

So frustrating, I have tried it but now I can't open my ROM in . I guess I'll have to hope for a program that can do this as I clearly have no chance

STikER July 13th, 2014 1:26 AM

Quote:

Originally Posted by stephenbrook (Post 8346455)
So frustrating, I have tried it but now I can't open my ROM in . I guess I'll have to hope for a program that can do this as I clearly have no chance

Okay, I hope you made backup or copy of your rom. Send me PM with your ips patch for rom (if you don't know what is that, simply PM me). And also send me your G3HS ini, so I can include all new evolution methods. Then, I will send you ips patch with all evolution methods. Simple.

anonyboy July 13th, 2014 3:39 AM

Quote:

Originally Posted by Ollie11 (Post 8346470)
Okay, I hope you made backup or copy of your rom. Send me PM with your ips patch for rom (if you don't know what is that, simply PM me). And also send me your G3HS ini, so I can include all new evolution methods. Then, I will send you ips patch with all evolution methods. Simple.

May You please publish the ips with all the evo methods here? just thought it'll ease up for many people

STikER July 13th, 2014 6:22 AM

1 Attachment(s)
Quote:

Originally Posted by anonyboy (Post 8346613)
May You please publish the ips with all the evo methods here? just thought it'll ease up for many people

Okay, I'll publish it here.

EDIT: There is archive in attachments with patch and G3HS ini (made it from fresh, because stephenbrook's rom was broken)

STikER July 13th, 2014 10:44 AM

Quote:

Originally Posted by PurpleOrange (Post 8347227)
errr is this supposed to have two mains?

Simply remove second main and it will work.

kearnseyboy6 July 14th, 2014 1:16 AM

Quote:

Originally Posted by Ollie11 (Post 8347234)
Simply remove second main and it will work.

Thanks! I will remove that main... Silly me :)

jirachiwishmaker July 14th, 2014 2:30 AM

Quote:

Originally Posted by kearnseyboy6 (Post 8348385)
Thanks! I will remove that main... Silly me :)

I have tried the Day time Item Hold Induced Evolution routine, it won't works anymore. The "main" no need to remove, it must be change to "loop". Like the following:

Spoiler:
.text
.align 2
.thumb
.thumb_func
.global dayevoitemhold

main:
push {r0-r7}
ldr r5, time
ldrb r5, [r5, #0x0]
cmp r5, #0x15
bge exit
cmp r5, #0x6
blt exit
loop:
add r0, r6, r7
lsl r0, r0, #0x3
add r0, r2, r0
add r3, r0, r3
ldrh r2, [r3, #0x2]
mov r0, r8
mov r1, #0xC
bl decrypt
mov r11, r0
pop {r0-r7}
mov r1, r11
cmp r1, r2
bne exit
mov r1, #0xC
mov r0, r8
bl encrypt
pop {r0-r7}
mov r9, r3
pop {r0-r7}
mov r1, r9
ldr r0, levelcheckloc
bx r0
decrypt:
push {r0-r7}
ldr r2, decryptpoke
bx r2
encrypt:
push {r0-r7}
ldr r2, blank
ldr r5, encryptpoke
bx r5
exit:
pop {r0-r7}
ldr r0, noevo
bx r0

.align
levelcheckloc: .word 0x0804310D
noevo: .word 0x08043111
time: .word 0x03005542
blank: .word 0x020242A2
decryptpoke: .word 0x0803FBE9
encryptpoke: .word 0x0804037D

kearnseyboy6 July 14th, 2014 3:15 AM

Quote:

Originally Posted by jirachiwishmaker (Post 8348435)
I have tried the Day time Item Hold Induced Evolution routine, it won't works anymore. The "main" no need to remove, it must be change to "loop".

There should be no need to change that, I left the main in by accident. because the code doesn't even reference 'main' anywhere means that it isn't necessary. IIRC the 'main' at the start is just convention and good habitat; if you were to loop back there then it's necessary.

Your error might be the evolution expander in G3HS, as Doesn't slightly altered the game's routine I use, so just follow the instructions in the OP :)

Trainer 781 July 14th, 2014 3:28 AM

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 July 14th, 2014 5:49 AM

Quote:

Originally Posted by KDS (Post 8348469)
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



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 July 14th, 2014 7:12 AM

Sure, use it. And thank you for telling the right offset

Trainer 781 July 27th, 2014 7:30 AM

^- 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 July 27th, 2014 8:12 AM

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

GoGoJJTech July 27th, 2014 8:26 PM

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 July 27th, 2014 11:49 PM

Quote:

Originally Posted by GoGoJJTech (Post 8372645)
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 ;)

jirachiwishmaker July 27th, 2014 11:52 PM

Quote:

Originally Posted by KDS (Post 8371658)
Yes, but not necessary. Remove it because now it has no use.

Do you know the RAM Map or RAM Map Name of Emerald?

Trainer 781 July 28th, 2014 7:56 AM

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

GoGoJJTech July 28th, 2014 8:13 AM

Quote:

Originally Posted by kearnseyboy6 (Post 8372876)
It's covered already in the tutorial ;)

o rlly
>.<
Derp moment there, continue on :D


All times are GMT -8. The time now is 8:50 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.