BallMaking:: pushhalfword PokeballTable writehalfword PokeballMenu jump BallMakingMain BallMakingBasement:: pushhalfword PokeballBasementTable writehalfword PokeballBasementMenu BallMakingMain: opentext callasm _LoadFontsBattleExtra writetext ChoosePokeballText loadscrollingmenudata -1 .ballMakingLoop scrollingmenu %10 sif false, then pophalfwordvar closewindow closetext end sendif pullhalfwordvar addvar -1 loadarray -1, PokeballTableEntrySizeEnd - PokeballTable readarray 1 comparevartobyte BallMakingLevel sif false, then readarray 1 writetext LowBallLevelText selse readarray 2 itemtotext 0, 0 copyvartobyte wCurItem takeitem ITEM_FROM_MEM sif false, then readarray 0 writetext NotEnoughApricornsText selse readarray 1 sif >, 49, then copybytetovar BallMakingLevel addvar -49 copyvartobyte wScriptBuffer random comparevartobyte wScriptBuffer iftrue .madeSpecialBall ; basically a goto writetext BallFailText selse .madeSpecialBall readarray 0 sif =, MASTER_BALL setevent EVENT_CRAFTED_MASTER_BALL verbosegiveitem ITEM_FROM_MEM, 1 sif false, then readarray 2 giveitem ITEM_FROM_MEM selse readarray 1 divideop 0, 10 giveballmakingEXP 0 waitbutton sendif sendif sendif sendif jump .ballMakingLoop PokeballTable: db POKE_BALL, 0, ORNGAPRICORN PokeballTableEntrySizeEnd: db GREAT_BALL, 4, CYANAPRICORN db ULTRA_BALL, 7, GREYAPRICORN db QUICK_BALL, 10, YLW_APRICORN db DUSK_BALL, 14, BLK_APRICORN db FAST_BALL, 18, RED_APRICORN db DIVE_BALL, 22, BLU_APRICORN db REPEAT_BALL, 26, PNK_APRICORN db TIMER_BALL, 30, WHT_APRICORN db FRIEND_BALL, 35, GRN_APRICORN db $ff