You are not logged in.
I know how to edit Pikachu's sprite, and there's a tool for editing which starter pokemon you get in Yellow.
But how can I change it so I get a different starter pokemon yet it still connects to Pikachu's sprite, follow me script, and emotion script?
Ex. You get Meowth as a starter pokemon, but you still see Pikachu's sprite following you even though it's really Meowth. Meowth still has the same emotions after the same events as Pikachu, etc.
Sorry if I posted this in the wrong place or if I shouldn't ask this, I've tried on other forums but gotten no response.
Well, honestly I don't know if this has ever been done before, but it would be cool. I don't know myself, but there are some people here who could probably check out the scripts for pikachu's events and see what it would take.
Check them out on Github
Well, honestly I don't know if this has ever been done before
I've seen at least one person comment somewhere with stuff like "I didn't know how to do it before, but I figured it out", except asking them how to do it/how they figured it out is useless because they've all abandoned whatever forum they posted on by years (didn't stop me from asking, but I've got no replies).
If you know anyone who might be able to figure it out, I'd really appreciate it if you could ask them about it.
To edit correctly which pokemon you receive at the beginning, you have to edit the text-script at $1CB3F:
;1CB3F: db $08 ld a,$54 3E 54 ;Pikachu ID (internal order) ld [$d716],a EA 16 D7 ;RAM for Hiro's starter ld [$d11d],a EA 1D D1 ;variable allocating needed for the next function call $2e93 CD 93 2E ;write pokemon name in RAM:$cd6b ; ... ;1CB60: ld a,$05 3E 05 ;level of received pokemon ld [$d126],a EA 26 D1 ld a,$54 3E 54 ;this actually ld [$d11d],a EA 1D D1 ;adds pikachu ld [$cf90],a EA 90 CF ;to your party call $391c CD 1C 39 ;using "function $391c"
Then you'll have to edit the function that checks if you have pikachu in your party (if true->following pokemon is visible):
;$FCDB8: ld hl,$d163 21 63 D1 ;RAM location for 1st pokemon in party ld de,$d176 11 76 D1 ld bc,$d272 01 72 D2 push hl E5 pop hl E1 ld a,[hli] 2A ;get 1st pokemon ID push hl E5 inc a 3C jr z,$4e0a 28 42 ;end-of-list controller cp a,$55 FE 55 ;compare value with 55 (pikachuID + 1) ; ...
So, editing the byte at $FCDC9 ($55) allows you to change which pokemon is required in party to display the "following pokemon" overworld behind Hiro.
About graphics, you can find pikachu's overworlds starting at $FE7EF, gameboy format(!) (TLP is your friend here), so its pointer is $EF67 (bank 3F). There's free space at the end of bank 3F, so you could draw your overworlds starting at FF26F. Remember to edit the pointer at $14399 (little-endian). You can also put the new overworlds in a new bank since the pointer contains also the information byte for the bank (this information byte is at $1439C).
And this should be all, if I did not forget somenthing.
Last edited by Sawakita (2011-03-20 13:41:57)