guide: note: when referring to an item quantity, numbers in [] refer to the amount to toss to get the desired item quantity - have coin case, x accuracy, 6 to 10 items total, 3 useless items, bicycle recommended - get 255 x accuracies - go to celadon city - put x acc in third, useless in first and second, useless as last item, toss first or second (doesn't matter) - sell x accuracy x254 FROM THE TOPMOST STACK (down 2 after pressing A on x accuracy) - buy: tm33 x2 (1000*2 = 2000) tm01 xany (1) (3000*1 = 3000) tm17 x2 (3000*2 = 6000) antidote x62 (100*62 = 6200) burn heal x34 (250*34 = 8500) parlyz heal x62 (200*62 = 12400) thunderstone x1 (2100*1 = 2100) water stone x2 (2100*2 = 4200) hp up x2 (9800*2 = 19600) protein x2 (9800*2 = 19600) x speed x34 (350*43 = 11900) - also recommended to buy to max inventory - general idea: - acquire -gm (0x6a) and Q r 4 h I (0x9e) somehow - if no fly: - go to 1F, walk to the right exit (on the mat) - can save a bit of time by exiting through left exit and entering the right door from the outside - dry underflow, the toss before the swap should be to x accuracy x174 (so the swap gives 79) - optional: after dry underflow, exit and enter item menu (to reset max menu item) - todo how to describe getting instant text - swap palette ultras with warping, toss 249 to get 7 - exit and warp to fuchsia - enter fuchsia gym - scroll down a few items to NEW NAME - (DO NOT PRESS A ON NEW NAME OR YOU WILL CRASH) press SELECT on NEW NAME - swap NEW NAME with Q r 4 h I below ultra ball x0 and above HM04 - scroll down to Q r 4 h I (where NEW NAME was before), swap with useless item in inventory - exit fuchsia city gym - go to fuchsia city poke center, open start menu without moving (if you move, exit and enter the center again) - press select on useless item in inventory - scroll down until you see -gm below card key and above v t m - press select on -gm to swap it in your inventory - scroll a bit up until you see master ball x7 below great ball x1 and above potion x6 - toss 1 from master ball x7 to get master ball x6 - exit item menu and exit fuchsia center to warp to celadon - note: do not try to scroll up back to your main inventory yet, might have unterminated tmtrainer item in rival name/TID/money which would cause major clicks in this part of celadon - acquire enough coins to buy abra (lowest price mon) - go to prize shop - safety save before prize vendor - scroll up to Q r 4 h I - press A on Q r 4 h I, but don't actually use it (safe to use though, acts as an escape rope which requires backing out to use) - name abra MMA♀[pk symbol]p (if you exceed 6 characters while typing, you must reset, overwrites leftover buffer memory set by loading Q r 4 h I's name - go to daycare, deposit abra - arrange inventory as follows (someone please find optimal swaps) [any item, probably want -gm here] thunderstone x1 tm17 x2 x accuracy x79 protein x2 antidote x62 hp up x2 water stone x2 burn heal x34 parlyz heal x62 tm33 x2 x speed x34 tm01 xany - use -gm, -gm now will jump to the third item in your inventory to set up "get any item" code: - toss 19 from antidote x62 to get antidote x43 - toss 12 from paralyz heal x62 to get paralyz heal x50 - arrange inventory as follows [any item, -gm preferred] [item to set quantity to zero] antidote x43 water stone x2 tm01 xany - now use the "set second item quantity to zero" code to acquire the following item quantities (in any order): - x speed x70 [186] - burn heal x112 [144] - arrange inventory as follows antidote x43 x speed x70 parlyz heal x50 burn heal x112 tm01 xany - this gives you a code that will set the second item to the second item quantity, and the second item quantity to zero - but we can do better - create the following items - 9F [162] x50 [206] (id: 0x5e/94) - ;MP- [141] x201 [55] (id: 0x73/115) (note: crashes on "USE", be careful) - "get any item" code is now antidote x43 9F x50 ;MP- x201 - but again, we can still do better (although it is acceptable to stop here)! - create a rare candy [216] x38 [218] - swap the "get any item" code into rival name - note: there should be one of the following item/quantities below the "get any item" code (terminators): - []j. xany - ether xany - 2F xany - 10F xany - any* x0 - any* x80 - any* x87 - any* x95 - note 2: the following item/quantities CANNOT be in rival name (prints rival name, i.e. stack overflow): - max elixer xany - any** x83 - note 3: the following item/quantities are not desired to be in rival name (as they cause clicks when it is displayed): - exp. all xany - max ether xany - B1F xany - 3F xany - any** x75 - any** x81 - any** x85 - any** x88 - * any item that isn't undesirable (i.e. isn't mentioned below) - ** other than a non-terminator character. note that 3F/x88 are technically terminators, but they force a button press and thus are not desired - "get any item" code is now rare candy x38 asm: set -gm to jump to d322 af - 0080 bc - 8c8c de - 8c01 hl - d320 sp - dff5 ld hl, $d901 ld [bc], a ; filler ld l, $4f inc h ; hl = $da4f ld [bc], a ; filler dec bc ; filler ld a, $23 ; hex value of "inc hl" ld [bc], a ; filler ld [hli], a ld [bc], a ; filler inc c ; filler ld [hli], a ; filler rrca ; filler ld a, $e9 ; hex value of "jp hl" ld [bc], a ; filler ld b, e ; filler ld [hli], a ret without filler: ld hl, $d901 ld l, $4f inc h ; hl = $da4f ld a, $23 ; hex value of "inc hl" ld [hli], a ld [hli], a ; filler ld a, $e9 ; hex value of "jp hl" ld [hli], a ret set second item quantity to zero: initial registers (also for all subsequent setups): af - 0080 bc - 8c8c de - 0001 hl - d322 sp - dff5 dec bc ; filler dec hl ; hl = second item quantity ld [hli], a ; write zero to second item quantity ld [bc], a ; filler ret get any item #1: dec bc ; filler dec hl ld b, e ; filler ld b, [hl] rrca ; filler ld [hld], a inc c ; filler ld [hl], b ret without filler: dec hl ld b, [hl] ld [hld], a ld [hl], b ret get any item #2: dec bc ; filler dec hl ld e, [hl] ld [hld], a ld [hl], e ret get any item #3: jr z, $d34a ; jump to rival name, zero flag is always set with -gm due to the p in the daycare mon's name ; at $d34a dec bc ; filler dec hl ld e, [hl] ld [hld], a ld [hl], e ret FAQ: Q: why doesn't the create item code complement the quantity so that tosses don't need to be inverted? A: to get used to inverted tosses, you need to do them anyway to set the quantity Q: Why hasn't this setup come sooner? A: [TODO, read this for a general gist https://pastebin.com/FCLREBZJ, also ask me in the GCLF Discord]