manip TID 07ff - faster but no options set: crystal_gfskip_wait70_newgame: TID = 0x07FF (02047), LID = 0x7460 (29792), Offset (wait): 15.667, Offset (NG): 15.72 - slower but options set: crystal_intro0_backout4_wait74(setopt)_backout4_newgame: TID = 0x07FF (02047), LID = 0x6CDA (27866), Offset (wait): 30.698, Offset (NG): 39.59 SET TIME TO MORNING (9 am is fastest) probably pick boy player name A or MAT (whichever is faster) get chikorita, name V, (V then comma) take off berry, optional r29 manip mr pokemon. fight rival, AIM TO LOSE growl if about to die go to elm, name rival A catch any mon, don't name more justification yoloball, chikorita at L5 does fuck all yoloball is ~33.594% depending on damage dealt and enemy's hp, 1 tackle can range from ~50%-60% (+-1.0%) BUY POKE BALLS UNTIL YOU HAVE 8 TALK TO BOX FROM BOTTOM save with move mon w/o mail clone chikorita (deposit, then change box) friendly clone chikorita walk down 2, flash start menu, walk 2 left, 3 up, 1 right sets cd70 to $50, terminates friendly clone name a lot sooner if sentret, deposit sentret otherwise, deposit chikorita == WITHDRAW MENU == withdraw menu will have clicks, depending on pokemon caught have different clicks. TODO figure this out sometimes game will crash anyway or corruption won't happen (because of bad DVs) mash A/B and scroll to 4th slot of box (friendly clone will corrupt box) withdraw this mon then mash A/B and scroll to 2nd slot of box withdraw this mon go to player's PC go to deposit menu deposit 7 poke balls go to move mon menu do the following steps 1. slot1 chikorita box1 -> slot1 party 2. slot2 undepositedmon (chikorita if sentret, otherwise caughtmon) party -> slot1 box1 3. slot1 chikorita party -> slot2 box1 4. slot1 kingdra party -> slot3 box1 5. slot2 chikorita box1 -> slot1 box1 6. slot3 kingdra box1 -> slot1 party 7. slot1 chikorita box1 -> slot2 box 8. slot2 kingdra party -> slot3 box 9. slot2 chikorita box1 -> slot1 box 10. slot3 kingdra box1 -> slot1 box2 11. slot3 bad clone (sentret or chikorita) (L0) -> slot2 box2 12. slot1 chikorita box1 -> slot1 party go to deposit menu deposit chikorita clone withdraw cloned chikorita do not look at friendly clone name or crash take off bicycles go to key items pocket register the bicycle swap bicycle in slot 1 with bicycle in slot 2 switch to balls pocket, toss 248 master balls go to item pc withdraw 7 poke balls go to deposit item deposit bicycle in key items pocket deposit bicycle in 2ND SLOT in balls pocket exit pc items menu in key items pocket, swap teru-sama with teru-sama down below ? ITEM DESCRIPTION CRASHES THE GAME, YOU AVOID THIS BY SWAPPING ITEMS swap poke ball x7 with bicycle toss poke ball x10 to get poke ball x245 scroll 1 down, use hm03 three times (gives you bad clones) toss poke ball x202 to get poke ball x43 use max repel select max repel scroll up to third ? item from the master ball and press select visual guide: ? x0 <- press select here ? x0 ? x1 master ball x6 press select on max repel scroll down to master ball x6 cancel select press select on master ball scroll to ? below max repel press select to swap master ball do the same thing you did with master ball for teru-sama goal is to get 4 non-? items in those specific slots last item will be tm01 generated later press select on teru-sama scroll down to master ball x7 cancel select press select on master ball x7 press down 6 (overshooting is fine as long as you swap below the cancels) press select to swap press select again scroll up to poke ball x255 cancel select toss poke ball x64 to get poke ball x191 press select on tm01 x255 scroll up, press select on max repel exit menu go to item deposit deposit tm01 x43 go to item withdraw withdraw tm01 x43 go to move mon w/o mail move kingdra in box 2 to slot 1 of party move bad clone to slot 1 of party exit bill's pc go to party menu do the following swaps: 2 (kingdra L5) <> 7 (hex00) 5 (V,) <> 1 (bad clone) 1 (V,) <> 7 (kingdra L5) take off HM02 from V, (now ?) 7 (chikorita) <> 1 (kingdra L5) 3 (?????? chikorita) <> 6 (hex00 L120) 7 (kingdra, might have cut) <> 3 (hex00 L120) 5 (bad clone) <> 2 (hex00 L120) 2 (bad clone) <> 8 (dragonite) 6 (?????? chikorita) <> 1 (chikorita) 1 (?????? chikorita) <> 8 (hexFF) final party should be: - hexFF fainted - dragonite fainted - kingdra L76 (anything >L51 is fine) - kingdra L1 - hex00 L120 - chikorita L1 - hex00 - hex00 three dragon sprites are necessary because of hex00's type reads from 0:8091, which is party mon sprites in the current context the dragon sprite is the only sprite with no characters that can crash (, , , ), no click control characters (, , <_CONT>, ) and four terminator characters (specifically ) empirical unscientific testing suggests 3 dragon sprites will almost never crash (has never crashed once in testing) 2 dragon sprites is possible but crashes can occur 1 dragon sprite will almost certainly crash 1st two pokemon have to be fainted later, oob move swaps are used to set party count to 2 this is much easier than needing to faint all 8 pokemon (and almost definitely faster) 3rd pokemon must be a dragon sprite and must be L52 or greater with morning time, highest level mon is L51 golbat in the last silver cave room dragonite is used because it's the only mon with id corresponding to a nicknameable character and can learn fly, which means it can be put in slot 2 (which is also good to reduce hex00's type lag) also means no longer need to exclusively catch pidgey, can catch rattata or hoppip exit pokemon center use bike, enter guide gent's house (the one with a sign) sets wDigWarpNumber to 04, adjacent to wVisitedSpawns, we swap this into byte that contains mt. silver fly flag bike to route 29 go immediately down to bottom left corner of route 29 in grass sets wYCoord to 15/$0f we swap this into wMapGroup goal is to set map to $0f 14 this is equivalent to hall of fame room due to out of bounds array access see: data/maps/maps.asm#L341 open party menu open move menu of slot 8 mash right, scroll through pokemon moves move hexFF (bunch of junk tiles as move name) need click to pass through if you crash that means you got insanely unlucky with vram timing (RNG) pay attention to mon with: - cut PP 0/30 - pound PP 0/30 keep going, look for mon with: - spikes PP 0/20 - leer PP 0/30 - pound PP 0/35 - pay day PP 0/20 these moves might be slightly different depending on how you shuffled around items in key items pocket scroll left 3 pokemon swap move 2 with 4 (gives you fly badge) go back right, look for mon with: - doubleslap PP 0/10 - doubleslap PP 8/10 - doubleslap PP 63/16 - mega punch PP 21/28 the moves may be slightly different, important thing is the PP 0 followed by PP 8 scroll left 1 swap move 3 with move 4 (sets mt. silver fly flag) scroll right 11 pokemon (10 from doubleslap mon) there will be hexFF moves here, press A/B to advance swap move 2 with move 4 (sets map group to 15) if you aren't able to scroll to move 4, switch back and forth between previous mon until 4 moves show up if moves change to -- after swap, that means swap might not have happened? how to determine this conclusively? exit move and party menu if you did this right fast ship should show up and player sprite should disappear go up 4, right 4 wYCoord was set to 24/$18 in first map swap up 4 sets wYCoord to 20/$14, the map number we want right 4 sets the last byte of wScreenSave to 02 which is adjacent to party count so we can swap that into party count to efficiently clear out party, no need to set all party member hp to 0 and deal with 9th pokemon being alive with high level for repel open party menu go to slot 8, open move menu AGAIN scroll until mon with following moves: - dragon rage PP 2/10 - razor leaf PP 8/25 - thunder PP 63/16 - mimic PP 21/28 moves might be different (maybe?), important part is PP 2 and PP 8 swap move 1 with move 2 (sets party count to 2) scroll right 10 pokemon there will be hexFF moves here, press A/B to advance swap move 3 with move 4 (sets map number to 20) if you aren't able to scroll to move 4, switch back and forth between previous mon until 4 moves show up if done correctly you should have 2 party pokemon left exit party menu go to item menu move to tm/hm pocket (right 1) teach fly to dragonite (slot 2) save and quit if done correctly you should now be in the HoF room, lance should be talking to you this is the fastest way to set red's flag. all attempts at memory corruption for it failed soft reset the moment saving textbox disappears (you can soft reset before it actually saves) fly to mt. silver (down 1 in fly menu) get owned by prof. elm (pokegear call) bike to red win