Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tutorial] Adding new evolution methods [FR]

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #51    
Old August 2nd, 2014 (04:29 AM). Edited August 2nd, 2014 by anonyboy.
anonyboy's Avatar
anonyboy anonyboy is offline
Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-Creator
 
Join Date: Sep 2013
Location: Israel
Gender: Male
Nature: Adamant
Posts: 242
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?
__________________



Reply With Quote
  #52    
Old August 2nd, 2014 (10:11 AM). Edited August 2nd, 2014 by KDS.
KDS's Avatar
KDS KDS is online now
 
Join Date: Jul 2013
Age: 20
Gender: Male
Posts: 210
Quote originally posted by anonyboy:
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.
Reply With Quote
  #53    
Old August 2nd, 2014 (04:09 PM).
anonyboy's Avatar
anonyboy anonyboy is offline
Pokemon Aerial Emerald Creator&Pokemon Hybrid Co-Creator
 
Join Date: Sep 2013
Location: Israel
Gender: Male
Nature: Adamant
Posts: 242
Quote originally posted by KDS:
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?
Reply With Quote
  #54    
Old August 2nd, 2014 (11:25 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by PurpleOrange:
i've found a bug regarding the level up with item in the night/day, when evolving if you cancel the evolution, the item used still disappears, is there any way to fix that?
Aaaaah nope, dammit sorry.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #55    
Old August 4th, 2014 (01:59 AM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by PurpleOrange:
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!
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #56    
Old August 6th, 2014 (06:57 AM). Edited August 6th, 2014 by Mustachemon.
Mustachemon's Avatar
Mustachemon Mustachemon is offline
 
Join Date: Aug 2014
Gender: Male
Posts: 6
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!
Reply With Quote
  #57    
Old August 18th, 2014 (10:11 AM).
Evil Goku's Avatar
Evil Goku Evil Goku is offline
 
Join Date: Apr 2014
Location: Earth
Gender: Female
Nature: Naughty
Posts: 15
Thanks for information bro Now I will Evol with Day And Night Like Pokemon PPD HGSS
__________________
Pokemon Mystery Dungeon Explorers of Sky Anime Episodes???
Reply With Quote
  #58    
Old August 19th, 2014 (04:16 AM).
daniilS's Avatar
daniilS daniilS is offline
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 15
Gender: Male
Posts: 393
Quote originally posted by kearnseyboy6:
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.
__________________
This signature has been disabled.
Signature stretches some forum styles.
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #59    
Old August 28th, 2014 (02:26 AM).
persian_17's Avatar
persian_17 persian_17 is offline
Trainer
 
Join Date: Jun 2007
Location: far away island
Gender:
Nature: Adamant
Posts: 29
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... ^_^
__________________
=(^.^)=
Reply With Quote
  #60    
Old August 28th, 2014 (02:35 AM).
daniilS's Avatar
daniilS daniilS is offline
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 15
Gender: Male
Posts: 393
Quote originally posted by persian_17:
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.
__________________
This signature has been disabled.
Signature stretches some forum styles.
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #61    
Old August 28th, 2014 (02:49 AM). Edited August 28th, 2014 by Christos.
persian_17's Avatar
persian_17 persian_17 is offline
Trainer
 
Join Date: Jun 2007
Location: far away island
Gender:
Nature: Adamant
Posts: 29
Quote originally posted by daniilS:
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.
my idea is to have only 1 universal stone that will serve as a mega stone for all, and will be given only one in-game, ithink it is alright for a pokemon to stay mega evolved out of the battle, but i dont know what to do for x and y variants of charizard and mewtwo :(

i have another idea, what about a reverse type of nincada's evolution,
e.g. Slowpoke will evolve to slowbro if you have a shellder in the team. but shellder will be removed to the team after slowpoke evolved.
__________________
=(^.^)=
Reply With Quote
  #62    
Old August 28th, 2014 (03:29 AM).
daniilS's Avatar
daniilS daniilS is offline
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 15
Gender: Male
Posts: 393
Quote originally posted by persian_17:
i have another idea, what about a reverse type of nincada's evolution,
e.g. Slowpoke will evolve to slowbro if you have a shellder in the team. but shellder will be removed to the team after slowpoke evolved.
I think it would be easier to edit the Mantyke-Mantine evo for that.
__________________
This signature has been disabled.
Signature stretches some forum styles.
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #63    
Old August 28th, 2014 (08:59 AM).
persian_17's Avatar
persian_17 persian_17 is offline
Trainer
 
Join Date: Jun 2007
Location: far away island
Gender:
Nature: Adamant
Posts: 29
Quote originally posted by daniilS:
I think it would be easier to edit the Mantyke-Mantine evo for that.
But the remoraid stays in the party right? its better if shellder and slowpoke will be joined like what should happen
__________________
=(^.^)=
Reply With Quote
  #64    
Old August 28th, 2014 (09:44 AM).
daniilS's Avatar
daniilS daniilS is offline
busy trying to do stuff not done yet
 
Join Date: Aug 2013
Age: 15
Gender: Male
Posts: 393
Quote originally posted by persian_17:
But the remoraid stays in the party right? its better if shellder and slowpoke will be joined like what should happen
That's why I said edit. randomfillertoreachcharacterminimum
__________________
This signature has been disabled.
Signature stretches some forum styles.
Please review and fix the issues by reading the signature rules.

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.
Reply With Quote
  #65    
Old August 28th, 2014 (07:08 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by persian_17:
But the remoraid stays in the party right? its better if shellder and slowpoke will be joined like what should happen
In the last section I explain how to make it compatible with G3HS, simply for KK552's convention and you can make any pokemon evolve with any pokemon. If you want the pokemon to disappear after evolution, well that's a whole kettle of fish.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #66    
Old September 1st, 2014 (06:37 PM).
Lance32497's Avatar
Lance32497 Lance32497 is offline
LanceKoijer of Pokemon_Addicts
 
Join Date: Aug 2014
Location: Criscanto town-Ginoa Region xD
Gender: Male
Nature: Adamant
Posts: 577
Quote originally posted by kearnseyboy6:
Step 2 (Creating evolution routines; ASM needed)
[SPOILER]That table we pointed to contains the pointers to each evolution method, so if we write our own we can have a new evolution.

However writing a method can be quite difficult to explain. I'll try my best. Here is a working* script I wrote for Goodra's evolution (raining in the overworld)
Spoiler:
.text
.align 2
.thumb
.thumb_func
.global weatherevo

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, currentweather
ldrb r6, [r6, #0x0]
cmp r6, #0x3
beq rain
cmp r6, #0x5
beq rain
cmp r6, #0xD
beq rain
pop {r0-r7}
ldr r0, noevo
bx r0
rain:
mov r10, r3
pop {r0-r7}
mov r1, r10
add r1, #0x2
ldr r0, levelcheckloc
bx r0

.align
levelcheckloc: .word 0x08043017
noevo: .word 0x08043111
currentweather: .word 0x02036E12[/B]
How can I insert this routine in my rom, because it is not he same in the tutorial given by other here..... He/She says that to call that routine in a rom, I must call that using XSE..... Just a noob question...xD
Quote:
Once you are done assemble the .asm file and place it in your ROM somewhere. Now go to your table and add another entry pointing to the assembled code (you do NOT need +1).
I dont get that, so after I wrote THE RAIN EVO METHOD in THUMB assembler, I need to right that again inTHUMB ASSEMBLER? then after what will I do? Do I need to edit hex or something....sorry for the questions, I just want to know how to compile that and make it works.

Quote:
Step 3 (Making the routine work in the game)
[SPOILER]To make this compatible with G3HS open up the .ini file and navigate to these lines:

Add in a name for your method, and for properties add either Level, Item, None.
Note: Follow KK552's syntax for the ini file.
another that confuses my mind.... I tried to edit that in G#HS but nothing happened... and Will you give me a link for KK552's syntax for the ini file . another one, will you give me a clearer example of what will I edit in the ini file... for example in evomethod blah blah blah, I just replace the offset of offset I placed my asm or something........


sorry for the questions
Reply With Quote
  #67    
Old September 2nd, 2014 (02:16 AM).
Lance32497's Avatar
Lance32497 Lance32497 is offline
LanceKoijer of Pokemon_Addicts
 
Join Date: Aug 2014
Location: Criscanto town-Ginoa Region xD
Gender: Male
Nature: Adamant
Posts: 577
Quote originally posted by kearnseyboy6:
bl decrypt
decrypt: push {r0-r7}
mov r1, #0x ##
ldr r2, decryptpoke
bx r2
decryptpoke: .word 0x0803FBE9
also, I dont know what do you mean in #0x ## is that a variable for a certain byte, example #0x16 that refers to a fairy or something,

How should I insert that in a Rom? Is that necessary to write? and Is that seperated in the first asm?
__________________
My Threads

Reply With Quote
  #68    
Old September 2nd, 2014 (08:52 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by Lance32497:
How can I insert this routine in my rom, because it is not he same in the tutorial given by other here..... He/She says that to call that routine in a rom, I must call that using XSE..... Just a noob question...xD

I dont get that, so after I wrote THE RAIN EVO METHOD in THUMB assembler, I need to right that again inTHUMB ASSEMBLER? then after what will I do? Do I need to edit hex or something....sorry for the questions, I just want to know how to compile that and make it works.


another that confuses my mind.... I tried to edit that in G#HS but nothing happened... and Will you give me a link for KK552's syntax for the ini file . another one, will you give me a clearer example of what will I edit in the ini file... for example in evomethod blah blah blah, I just replace the offset of offset I placed my asm or something........


sorry for the questions
Firstly all routines you compile you must put anywhere in the ROM with free space that ends in either 0,4,8,C. You then take that location and put it in the next entry of the table you repointed in step 1. No SXE is needed.

Then open up the ini, and follow the format for G3HS (there is only 'level','item','trade') to add your own entries.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #69    
Old September 3rd, 2014 (01:40 AM).
Lance32497's Avatar
Lance32497 Lance32497 is offline
LanceKoijer of Pokemon_Addicts
 
Join Date: Aug 2014
Location: Criscanto town-Ginoa Region xD
Gender: Male
Nature: Adamant
Posts: 577
Quote originally posted by kearnseyboy6:
Firstly all routines you compile you must put anywhere in the ROM with free space that ends in either 0,4,8,C. You then take that location and put it in the next entry of the table you repointed in step 1. No SXE is needed.

Then open up the ini, and follow the format for G3HS (there is only 'level','item','trade') to add your own entries.
sorry, but can you give the link on how to edit .ini file?
and my second question...How can I perform bl routine

TIA
Reply With Quote
  #70    
Old October 6th, 2014 (02:44 PM). Edited October 6th, 2014 by Projectwolfie.
Projectwolfie's Avatar
Projectwolfie Projectwolfie is offline
I play for keeps!
 
Join Date: Jan 2011
Gender: Male
Posts: 408
Question, I'm curious if anyone's tried this.

Let's say I used the methods here to introduce leveling up as male only, and made Kirlia level-up as a male in to evolve into Gallade. But I leave Gardevoir's evolution at plain level-up as any gender, except at a higher level. Let's say Gallade is at 25 and Gardevoir is at 30.

Will the world explode if I left things like this? What happens if someone wants to raise a Male Gardevoir under these conditions?

Oh, and do I need to change an item into an evolutionary stone in order to use it for leveling-up while holding an item?
Reply With Quote
  #71    
Old October 6th, 2014 (06:59 PM).
MrDollSteak's Avatar
MrDollSteak MrDollSteak is offline
Formerly known as 11bayerf1
 
Join Date: Dec 2008
Location: Hong Kong
Age: 20
Gender: Male
Posts: 567
Quote originally posted by Projectwolfie:
Question, I'm curious if anyone's tried this.

Let's say I used the methods here to introduce leveling up as male only, and made Kirlia level-up as a male in to evolve into Gallade. But I leave Gardevoir's evolution at plain level-up as any gender, except at a higher level. Let's say Gallade is at 25 and Gardevoir is at 30.

Will the world explode if I left things like this? What happens if someone wants to raise a Male Gardevoir under these conditions?

Oh, and do I need to change an item into an evolutionary stone in order to use it for leveling-up while holding an item?
It wouldn't work, Gardevoir would need to be female. You can't have Level Up and Friendship evolutions for the same reason. I'm pretty sure that the game doesn't know how to differentiate between the two evolutions if they activate at the same time (if you had a lvl 29 male kirlia that hit 30)
__________________
Reply With Quote
  #72    
Old October 6th, 2014 (10:05 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by MrDollSteak:
It wouldn't work, Gardevoir would need to be female. You can't have Level Up and Friendship evolutions for the same reason. I'm pretty sure that the game doesn't know how to differentiate between the two evolutions if they activate at the same time (if you had a lvl 29 male kirlia that hit 30)
Not exactly, the game can use 1 variable argument (visible in G3HS) which can be a level, hold item, map name, weather, move etc.

There are two branching locations as well:

Check for appropriate level: levelcheckloc: .word 0x08043017
Go straight to the evolution (no levelcheck): evolutionloc: .word 0x0804310D

Also specifics relating to the properties of the pokemon ie: gender, stats, happiness etc can all be decrypted from the pokemon. So yes you can decrypt happiness and then compare it and send it to the levelcheck location.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #73    
Old October 7th, 2014 (02:25 AM).
laflacapkm's Avatar
laflacapkm laflacapkm is offline
 
Join Date: Jul 2014
Location: Italia
Gender: Female
Nature: Naughty
Posts: 8
when i apply the .ips in my rom, the rom crashs,
why?
i've installed the patch of jonkane with 870pkm,
cold u tell me what new types of evolution are included in this new patch?
__________________
Reply With Quote
  #74    
Old October 7th, 2014 (02:47 PM).
kearnseyboy6's Avatar
kearnseyboy6 kearnseyboy6 is offline
Aussie's Toughest Mudder
 
Join Date: Dec 2008
Posts: 294
Quote originally posted by laflacapkm:
when i apply the .ips in my rom, the rom crashs,
why?
i've installed the patch of jonkane with 870pkm,
cold u tell me what new types of evolution are included in this new patch?
No idea, you will have to discuss that with jonkane and ask where he repointed everything in his patch.
__________________
HOLIDAYING CURRENTLY!!
Reply With Quote
  #75    
Old October 15th, 2014 (10:55 PM).
Lance32497's Avatar
Lance32497 Lance32497 is offline
LanceKoijer of Pokemon_Addicts
 
Join Date: Aug 2014
Location: Criscanto town-Ginoa Region xD
Gender: Male
Nature: Adamant
Posts: 577
Hey the other routines can now import to rom? or I need to put bl code?
__________________
My Threads

Reply With Quote
Reply
Quick Reply

Sponsored Links

You may also like.. (Beta)
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 11:31 PM.