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

Development: Forms and Formes

PurpleOrange

still don't know what I'm doing
367
Posts
10
Years
The first routine, burmytransformjump:
Code:
.thumb

main:
	ldr r3, burmytransform
	mov pc, r3

burmytransform:	.word 0x________	@address of burmytransform.asm here

continue:
	str r0, [sp]

/*insert at 08030D40*/

so i'm doing this for emerald, but i can't seem to find any equivalent of the offset 08030D40, so does anyone know where I would insert this routine in emerald?

also how far off am I with these?
Code:
        pokemon_getattr:			.word 0x0806A518
	species_to_pokedex_index:		.word 0x02022FE0
	idx_for_battle_screen_elements_by_env:	.word 0x0806D4A4
	area_to_burmy_cloak_table:		.word 0x091CB5A8
	pokemon_setattr:			.word 0x0806ACAC
	return:					.word 0x08059FAC
	burmy_dex:				.word 412
 
Last edited:

Touched

Resident ASMAGICIAN
625
Posts
9
Years
  • Age 122
  • Seen Feb 1, 2018
so i'm doing this for emerald, but i can't seem to find any equivalent of the offset 08030D40, so does anyone know where I would insert this routine in emerald?

also how far off am I with these?
Code:
        pokemon_getattr:			.word 0x0806A518
	species_to_pokedex_index:		.word 0x02022FE0
	idx_for_battle_screen_elements_by_env:	.word 0x0806D4A4
	area_to_burmy_cloak_table:		.word 0x091CB5A8
	pokemon_setattr:			.word 0x0806ACAC
	return:					.word 0x08059FAC
	burmy_dex:				.word 412

Use these (otherwise nice job)

Code:
species_to_pokedex_index: .word 0x0806D4A4
idx_for_battle_screen_elements_by_env: .word 0x02022FF0

Also, 08059FA4 is the location of 08030D40 in Emerald. It's just 8 bytes behind the return location (08059FAC), so you were close.
 
457
Posts
10
Years
  • Age 29
  • Seen Apr 9, 2024
Can you example a script for that? That's one last thing I'm confused about it. I was testing a Swampert magic into Mewtwo.
Code:
'---------------
#org 0xE50000
lock
faceplayer
setvar 0x8004 0x11D
setvar 0x8005 0x96
callasm 0x8E40001
compare 0x8004 0x11D
if 0x0 goto 0x8E50028
msgbox 0x8E50034 MSG_KEEPOPEN '"LOL"
closeonkeypress
release
end

'---------------
#org 0xE50028
msgbox 0x8E5003A MSG_KEEPOPEN '"NO"
closeonkeypress
release
end


'---------
' Strings
'---------
#org 0xE50034
= LOL

#org 0xE5003A
= NO
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
Can you example a script for that? That's one last thing I'm confused about it. I was testing a Swampert magic into Mewtwo.
Code:
'---------------
#org 0xE50000
lock
faceplayer
setvar 0x8004 0x11D
setvar 0x8005 0x96
callasm 0x8E40001
compare 0x8004 0x11D
if 0x0 goto 0x8E50028
msgbox 0x8E50034 MSG_KEEPOPEN '"LOL"
closeonkeypress
release
end

'---------------
#org 0xE50028
msgbox 0x8E5003A MSG_KEEPOPEN '"NO"
closeonkeypress
release
end


'---------
' Strings
'---------
#org 0xE50034
= LOL

#org 0xE5003A
= NO

set var 0x8004 to the desired pokemon's slot and 0x8005 to the new index number, then callasm this routine+1

0x8004 needs to be the slot in your party containing the Swampert, 0x8005 the index number of Mewtwo. And it's worth noting that after the routine finishes, both vars will remain unaltered.
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
Ok I think I found a way to have an almost legit form for Giratina and Arceus.
Use Darthatron's routine to run a script by using an item, the script has to contain the changing script form and it works fine
I created a Green orb that can mega evolve/devolve my rayquaza, so it's not very legit for this one, but for Arceus/Giratina it's not bad. This makes them slightly overpowered because this way they can care any item instead of the normally needed Griseous orb/plates but anyway, if someone is interested, it works just fine :)

Perhaps it can help for the judgment move, something like :

........
gettypepokemon
makeattackmatchwithtype
........

Or using the hidden power effect, now we know how to fix its power, perhaps if the type is taken from the user rather than its IV it would be a Judgment-like :)

Don't know if it's possible with BSP though, I suppose it would require some ASM

Oh, another idea. We know how to manipulate IV with descryption/encryption, why don't manipulate ID when arceus changes of form ? This way we'll just have to generate IV to make hidden power the type we want. It wouldn't be bad to having fix IV since the gen 6 has introduces 3 IV max for legendary pokemon anyway

But I'm getting out of subject I guess... x)
By the name of Arceus: EWWWWW
I have already stated that I got Arceus and Giratina working using hold items, they just don't work yet from the pc, I know why, but somehow I still never have had the time to sit down and no-life port the routine to four different places.

Neither will I use any kind of IV cheating for judgement, getting it to have variable type shouldn't be that hard.
 
16
Posts
9
Years
I have already stated that I got Arceus and Giratina working using hold items, they just don't work yet from the pc

Didd you manage to figure out male/female form changes? I think it would be somewhat easier in that you only need to change sprite and not the index number or stats of the poke
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
Didd you manage to figure out male/female form changes? I think it would be somewhat easier in that you only need to change sprite and not the index number or stats of the poke
Where does a male/female form change exist in the games?
And no, it isn't. Not at all. Changing the index number is the easiest thing to do.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
Hello, I tried to insert the burmy routine but it doesn't work

plant plant sandy 0000 0000 0000 sandy sandy trash plant

What does those mean?

Should I insert the index number of Plant burmy, Sand Burmy and Trash burmmy in reverse hex? And I just leave those 0's or vice versa?
 

PurpleOrange

still don't know what I'm doing
367
Posts
10
Years
Hello, I tried to insert the burmy routine but it doesn't work

plant plant sandy 0000 0000 0000 sandy sandy trash plant

What does those mean?

Should I insert the index number of Plant burmy, Sand Burmy and Trash burmmy in reverse hex? And I just leave those 0's or vice versa?

yes, you do put the index number in reverse hex, and don't touch those zeros
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
This might be a noob question, but does this code
Spoiler:
can be modifiedso that, not only burmy can be used but also Vivilion..

*Just asking*
 

daniilS

busy trying to do stuff not done yet
409
Posts
10
Years
  • Age 24
  • Seen Jan 29, 2024
This might be a noob question, but does this code
Spoiler:
can be modifiedso that, not only burmy can be used but also Vivilion..

*Just asking*

This code is the hook for the form changing routine. Vivillon only has different patterns. Also, the GBA doesn't know what region you're in.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
This code is the hook for the form changing routine. Vivillon only has different patterns. Also, the GBA doesn't know what region you're in.

oohhh, I have a question, about the burmy's evolution, what if I have Sandy Burmy then I make Sandy Wormadam as its evolution, does it register the index number in National Dex?
 
Back
Top