Advertisement
Guest User

Untitled

a guest
Oct 15th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 20.02 KB | None | 0 0
  1. @ECHO OFF
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3.  
  4. REM Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
  5. REM --
  6. REM Bill Gates
  7.  
  8. REM startup code
  9. :INIT
  10.     cls
  11.     color 0f
  12.     SET LOC=INIT
  13.     SET /A "SAVE=1" & REM TEMP CHANGE TO FIX LACK OF LOADSAVE ERROR LEVELS
  14.     ECHO New game (1)
  15.     IF EXIST dta\tmp\sav\name.txt ECHO Continue (2)
  16.     SET /p TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  17.     IF %TMP_MOVE% EQU 1 (
  18.         GOTO opening_sequence
  19.     ) ELSE (
  20.         IF %TMP_MOVE% EQU 2 (
  21.             CALL :LOADSAVE
  22.         ) ELSE (
  23.             GOTO INIT
  24.         )
  25.     )
  26. ::END
  27.  
  28. :opening_sequence
  29.     REM DELETE TEMP FILIES
  30.     DEL /Q dta\tmp\*
  31.     DEL /Q dta\tmp\sav\*
  32.     REM SET STATE VARIABLES
  33.     SET /A "OT=((%RANDOM%)%%65536)"
  34.     SET TMP_MOVE=""
  35.     SET TMP_PROMPT=""
  36.     SET /A "POKE=0"
  37.     SET /A "STARTER=0"
  38.     SET /A "STARTERDIA=0"
  39.     SET /A "OAKRBAT=0"
  40.     SET /A "DEX=0"
  41.     SET /A "EFOUR=0"
  42.     SET LOC="INIT"
  43.  
  44.     CLS
  45.     COLOR 0f
  46.     SET LOC=opening_sequence
  47.  
  48.     ECHO Hello there^^! Welcome to the world of POKÉMON^^!
  49.     ECHO My name is OAK^^! People call me the POKÉMON PROF^^!
  50.     PAUSE >NUL
  51.     ECHO This world is inhabited by creatures called POKÉMON^^!
  52.     ECHO For some people, POKÉMON are pets. Others use them for fights.
  53.     ECHO Myself... I study POKÉMON as a profession.
  54.     PAUSE >NUL
  55.     ECHO First, what is your name?
  56.     SET /P PLAYER=":" || SET PLAYER=GREEN
  57.     ECHO Right^^! So your name is %PLAYER%^^!
  58.     PAUSE >NUL
  59.     ECHO This is my grandson. He's been your rival since you were a baby.
  60.     ECHO ...Erm, what is his name again?
  61.     SET /P RIVAL=":" || Set RIVAL=BLUE
  62.     ECHO That's right^^! I remember now^^! His name is %RIVAL%^^!
  63.     PAUSE >NUL
  64.     CLS
  65.     ECHO %PLAYER%^^!
  66.     ECHO Your very own POKÉMON legend is about to unfold^^!
  67.     ECHO A world of dreams and adventures with POKÉMON awaits^^! Let's go^^!
  68.     PAUSE >NUL
  69.  
  70.     GOTO 1f-player_house
  71. ::END
  72.  
  73. ::PalletTown
  74.     :pallet_town
  75.         IF %DEX% EQU 0 (
  76.             GOTO pre-dex-pallet_town
  77.         ) ELSE (
  78.             GOTO post-dex-pallet_town
  79.         )
  80.         :pre-dex-pallet_town
  81.             CLS
  82.             COLOR 0D
  83.             SET LOC=pre-dex-pallet_town
  84.  
  85.             TYPE ast\map\pallet_town00.txt
  86.             ECHO(
  87.             ECHO              %PLAYER%'s House                    %RIVAL%'s House
  88.             ECHO(
  89.             TYPE ast\map\pallet_town01.txt
  90.             ECHO(
  91.             ECHO                                           Oak Pokemon Research Lab
  92.             ECHO(
  93.             ECHO                         Pallet Town
  94.             ECHO                 Shades of your journey await^^!
  95.             ECHO(
  96.  
  97.             ECHO OPTIONS
  98.             ECHO i.   Go to Route 1
  99.             ECHO ii.  Go to your House
  100.             ECHO iii. Go to %rival%'s House
  101.             ECHO iv.  Go to Oak Pokemon Research Lab
  102.             ECHO v.   Talk to Girl
  103.             ECHO vi.  Talk to Man
  104.             SET /A "TMP_MOVE=0"
  105.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  106.             IF %TMP_MOVE% EQU 1 (
  107.                 GOTO route_one
  108.             ) ELSE (
  109.                 IF %TMP_MOVE% EQU 2 (
  110.                     GOTO gf-player_house
  111.                 ) ELSE (
  112.                     IF %TMP_MOVE% EQU 3 (
  113.                         GOTO gf-rival_house
  114.                     ) ELSE (
  115.                         IF %TMP_MOVE% EQU 4 (
  116.                             GOTO oak_lab
  117.                         ) ELSE (
  118.                             IF %TMP_MOVE% EQU 5 (
  119.                                 ECHO GIRL: I'm raising POKÉMON too^^! When they get strong, they can protect me^^!
  120.                                 PAUSE >NUL
  121.                                 GOTO pallet_town
  122.                             ) ELSE (
  123.                                 IF %TMP_MOVE% EQU 6 (
  124.                                     ECHO MAN: Technology is incredible^^!
  125.                                     ECHO You can now store and recall items and POKÉMON as data via PC^^!
  126.                                     PAUSE >NUL
  127.                                     GOTO pallet_town
  128.                                 ) ELSE (
  129.                                     IF /I %TMP_MOVE% == X (
  130.                                         CALL :SAVEGAME
  131.                                         GOTO pallet_town
  132.                                     ) ELSE (
  133.                                         GOTO pallet_town
  134.                                     )
  135.                                 )
  136.                             )
  137.                         )
  138.                     )
  139.                 )
  140.             )
  141.         ::END
  142.         :post-dex-pallet_town
  143.             SET LOC=post-dex-pallet_town
  144.         ::END
  145.     ::END
  146.  
  147.     :gf-player_house
  148.         IF %POKE% EQU 0 (
  149.             GOTO pre-poke-gf-player_house
  150.         ) ELSE (
  151.             GOTO post-poke-gf-player_house
  152.         )
  153.         :pre-poke-gf-player_house
  154.             CLS
  155.             COLOR 09
  156.             SET LOC=pre-poke-gf-player_house
  157.  
  158.             TYPE ast\map\player_house.txt
  159.             ECHO(
  160.             ECHO %PLAYER%'s House GF
  161.             ECHO(
  162.             ECHO MUM: Right. All boys leave home someday. It said so on TV.
  163.             ECHO Prof.Oak, next door, is looking for you.
  164.             PAUSE >NUL
  165.  
  166.             ECHO OPTIONS
  167.             ECHO i.   Go outside
  168.             ECHO ii.  Go upstairs
  169.             ECHO iii. Watch TV
  170.             SET /A "TMP_MOVE=0"
  171.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  172.             IF %TMP_MOVE% EQU 1 (
  173.                 GOTO pallet_town
  174.             ) ELSE (
  175.                 IF %TMP_MOVE% EQU 2 (
  176.                     GOTO 1f-player_house
  177.                 ) ELSE (
  178.                     IF %TMP_MOVE% EQU 3 (
  179.                         ECHO There's a movie on TV.
  180.                         ECHO Four boys are walking on railroad tracks.
  181.                         ECHO I better go too.
  182.                         PAUSE >NUL
  183.                         GOTO gf-player_house
  184.                     ) ELSE (
  185.                         IF /I %TMP_MOVE% == X (
  186.                             CALL :SAVEGAME
  187.                             GOTO gf-player_house
  188.                         ) ELSE (
  189.                             GOTO gf-player_house
  190.                         )
  191.                     )
  192.                 )
  193.             )
  194.         ::END
  195.         :post-poke-gf-player_house
  196.             CLS
  197.             COLOR 09
  198.             SET LOC=pre-poke-gf-player_house
  199.  
  200.             TYPE ast\map\player_house.txt
  201.             ECHO(
  202.             ECHO %PLAYER%'s House GF
  203.             ECHO(
  204.  
  205.             ECHO OPTIONS
  206.             ECHO i.   Go outside
  207.             ECHO ii.  Go upstairs
  208.             ECHO iii. Watch TV
  209.             ECHO iv.  Talk to Mum
  210.             SET /A "TMP_MOVE=0"
  211.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  212.             IF %TMP_MOVE% EQU 1 (
  213.                 GOTO pallet_town
  214.             ) ELSE (
  215.                 IF %TMP_MOVE% EQU 2 (
  216.                     GOTO 1f-player_house
  217.                 ) ELSE (
  218.                     IF %TMP_MOVE% EQU 3 (
  219.                         ECHO There's a movie on TV.
  220.                         ECHO Four boys are walking on railroad tracks.
  221.                         ECHO I better go too.
  222.                         PAUSE >NUL
  223.                         GOTO gf-player_house
  224.                     ) ELSE (
  225.                         IF %TMP_MOVE% EQU 4 (
  226.                             ECHO MUM: %PLAYER%^^! You should take a quick rest.
  227.                             REM CALL Heal-Pokemon
  228.                             ECHO Oh good^^! You and your POKÉMON are looking great^^! Take care now^^!
  229.                             PAUSE >NUL
  230.                         )
  231.                             IF /I %TMP_MOVE% == X (
  232.                                 CALL :SAVEGAME
  233.                                 GOTO gf-player_house
  234.                             ) ELSE (
  235.                                 GOTO gf-player_house
  236.                             )
  237.                         )
  238.                     )
  239.                 )
  240.             )
  241.         ::END
  242.     ::END
  243.  
  244.     :1f-player_house
  245.         CLS
  246.         COLOR 09
  247.         SET LOC=1f-player_house
  248.  
  249.         TYPE ast\map\player_house.txt
  250.         ECHO(
  251.         ECHO %PLAYER%'s House 1F
  252.         ECHO(
  253.  
  254.         ECHO OPTIONS
  255.         ECHO i.  Go downstairs
  256.         ECHO ii. Play the SNES
  257.         SET /A "TMP_MOVE=0"
  258.         SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  259.         IF %TMP_MOVE% EQU 1 (
  260.             GOTO gf-player_house
  261.         ) ELSE (
  262.             IF %TMP_MOVE% EQU 2 (
  263.                 ECHO %PLAYER% is playing the SNES^^!
  264.                 ECHO ...Okay^^! It's time to go^^!
  265.                 PAUSE >NUL
  266.                 GOTO 1f-player_house
  267.             ) ELSE (
  268.                 IF /I %TMP_MOVE% == X (
  269.                     CALL :SAVEGAME
  270.                     GOTO 1f-player_house
  271.                 ) ELSE (
  272.                     GOTO 1f-player_house
  273.                 )
  274.             )
  275.         )
  276.     ::END
  277.  
  278.     :gf-rival_house
  279.      IF %POKE% EQU 0 (
  280.             GOTO pre-poke-gf-rival_house
  281.         ) ELSE (
  282.             GOTO post-poke-gf-rival_house
  283.         )
  284.         :pre-poke-gf-rival_house
  285.             CLS
  286.             COLOR 09
  287.             SET LOC=pre-poke-gf-rival_house
  288.  
  289.             TYPE ast\map\player_house.txt
  290.             ECHO(
  291.             ECHO %RIVAL%'s House GF
  292.             ECHO(
  293.  
  294.             ECHO OPTIONS
  295.             ECHO i.   Go outside
  296.             ECHO ii.  Go upstairs
  297.             ECHO iii. Check out the map
  298.             ECHO iv.  Talk to %RIVAL%'s sister
  299.             SET /A "TMP_MOVE=0"
  300.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  301.             IF %TMP_MOVE% EQU 1 (
  302.                 GOTO pallet_town
  303.             ) ELSE (
  304.                 IF %TMP_MOVE% EQU 2 (
  305.                     GOTO 1f-rival_house
  306.                 ) ELSE (
  307.                     IF %TMP_MOVE% EQU 3 (
  308.                         ECHO It's a big map^^! This is useful^^!
  309.                         PAUSE >NUL
  310.                         GOTO gf-rival_house
  311.                     ) ELSE (
  312.                         IF %TMP_MOVE% EQU 4 (
  313.                             ECHO %RIVAL%'s SIS: Hi %PLAYER%^^! %RIVAL% is out at Grandpa's lab.
  314.                             PAUSE >NUL
  315.                             GOTO gf-rival_house
  316.                         ) ELSE (
  317.                             IF /I %TMP_MOVE% == X (
  318.                                 CALL :SAVEGAME
  319.                                 GOTO gf-rival_house
  320.                             ) ELSE (
  321.                                 GOTO gf-rival_house
  322.                             )
  323.                         )
  324.                     )
  325.                 )
  326.             )
  327.         ::END
  328.         :post-poke-gf-rival_house
  329.             CLS
  330.             COLOR 09
  331.             SET LOC=pre-poke-gf-rival_house
  332.  
  333.             TYPE ast\map\player_house.txt
  334.             ECHO(
  335.             ECHO %player%'s House GF
  336.             ECHO(
  337.         ::END
  338.     ::END
  339.  
  340.     :1f-rival_house
  341.         CLS
  342.         COLOR 0E
  343.         SET LOC=1f-rival_house
  344.  
  345.         TYPE ast\map\player_house.txt
  346.         ECHO(
  347.         ECHO %RIVAL%'s House 1F
  348.         ECHO(
  349.  
  350.         ECHO OPTIONS
  351.         ECHO i. Go downstairs
  352.         SET /A "TMP_MOVE=0"
  353.         SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  354.         IF %TMP_MOVE% EQU 1 (
  355.             GOTO gf-rival_house
  356.         ) ELSE (
  357.             IF /I %TMP_MOVE% == X (
  358.                 CALL :SAVEGAME
  359.                 GOTO 1f-rival_house
  360.             ) ELSE (
  361.                 GOTO 1f-rival_house
  362.             )
  363.         )
  364.     ::END
  365.  
  366.     :oak_lab
  367.         IF %EFOUR% EQU 1 (
  368.             GOTO post-efour-oak_lab
  369.         ) ELSE (
  370.             IF %DEX% EQU 1 (
  371.                 GOTO post-dex-oak_lab
  372.             ) ELSE (
  373.                 IF %POKE% EQU 1 (
  374.                     GOTO post-poke-oak_lab
  375.                 ) ELSE (
  376.                     IF %OAKRBAT% EQU 1 (
  377.                         GOTO post-starter-oak_lab
  378.                     ) ELSE (
  379.                         IF %STARTER% EQU 1 (
  380.                             GOTO pre-starter-oak_lab
  381.                         ) ELSE (
  382.                             GOTO pre-poke-oak_lab
  383.                         )
  384.                     )
  385.                 )
  386.             )
  387.         )
  388.         :pre-poke-oak_lab
  389.             CLS
  390.             COLOR 0E
  391.             SET LOC=pre-poke-oak_lab
  392.  
  393.             TYPE ast\map\oak_lab.txt
  394.             ECHO(
  395.             ECHO Oak POKÉMON Research Lab
  396.             ECHO(
  397.  
  398.             ECHO OPTIONS
  399.             ECHO i.    Go outside
  400.             ECHO ii.   Talk to %RIVAL%
  401.             ECHO iii.  Turn on the computer
  402.             ECHO iv.   Check out the book
  403.             ECHO v.    Read the posters
  404.             ECHO vi.   Check out the POKÉ BALLS
  405.             ECHO vii.  Talk to AIDE one
  406.             ECHO viii. Talk to AIDE two
  407.             ECHO ix.   Talk to AIDE three
  408.             SET /A "TMP_MOVE=0"
  409.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  410.             IF %TMP_MOVE% EQU 1 (
  411.                 GOTO pallet_town
  412.             ) ELSE (
  413.                 IF %TMP_MOVE% EQU 2 (
  414.                     ECHO %RIVAL%: Yo %PLAYER%^^! Gramps isn't around^^!
  415.                     PAUSE >NUL
  416.                     GOTO oak_lab
  417.                 ) ELSE (
  418.                     IF %TMP_MOVE% EQU 3 (
  419.                         ECHO There's an e-mail message here^^!...
  420.                         PAUSE >NUL
  421.                         ECHO Calling all POKÉMON trainers^^!
  422.                         ECHO The elite trainers of POKÉMON LEAGUE are ready to take on all comers^^!
  423.                         ECHO Bring your best POKÉMON and see how you rate as a trainer^^!
  424.                         ECHO(
  425.                         ECHO POKÉMON LEAGUE HQ INDIGO PLATEAU
  426.                         ECHO PS: PROF.OAK, please visit us! ...
  427.                         PAUSE >NUL
  428.                         GOTO oak_lab
  429.                     ) ELSE (
  430.                         IF %TMP_MOVE% EQU 4 (
  431.                             ECHO It's encyclopedia-like, but the pages are blank^^!
  432.                             PAUSE >NUL
  433.                             GOTO oak_lab
  434.                         ) ELSE (
  435.                             IF %TMP_MOVE% EQU 5 (
  436.                                 ECHO POSTER 1: Push START to open the MENU!
  437.                                 ECHO POSTER 2: The SAVE option is on the MENU screen.
  438.                                 PAUSE >NUL
  439.                                 GOTO oak_lab
  440.                             ) ELSE (
  441.                                 IF %TMP_MOVE% EQU 6 (
  442.                                     ECHO Those are POKÉ BALLS. They contain POKÉMON^^!
  443.                                     PAUSE >NUL
  444.                                     GOTO oak_lab
  445.                                 ) ELSE (
  446.                                     IF %TMP_MOVE% EQU 7 (
  447.                                         ECHO AIDE: I study POKÉMON as PROF. OAK'S AIDE.
  448.                                         PAUSE >NUL
  449.                                         GOTO oak_lab
  450.                                     ) ELSE (
  451.                                         IF %TMP_MOVE% EQU 8 (
  452.                                             ECHO AIDE: I study POKÉMON as PROF. OAK'S AIDE.
  453.                                             PAUSE >NUL
  454.                                             GOTO oak_lab
  455.                                         ) ELSE (
  456.                                             IF %TMP_MOVE% EQU 9 (
  457.                                                 ECHO AIDE: PROF. OAK is the authority on POKÉMON^^! Many POKÉMON trainers hold him in high regard^^!.
  458.                                                 PAUSE >NUL
  459.                                                 GOTO oak_lab
  460.                                             ) ELSE (
  461.                                                 IF /I %TMP_MOVE% == X (
  462.                                                     CALL :SAVEGAME
  463.                                                     GOTO oak_lab
  464.                                                 ) ELSE (
  465.                                                     GOTO oak_lab
  466.                                                 )
  467.                                             )
  468.                                         )
  469.                                     )
  470.                                 )
  471.                             )
  472.                         )
  473.                     )
  474.                 )
  475.             )
  476.         ::END
  477.  
  478.         :pre-starter-oak_lab
  479.             CLS
  480.             COLOR 0E
  481.             SET LOC=pre-starter-oak_lab
  482.  
  483.             TYPE ast\map\oak_lab.txt
  484.             ECHO(
  485.             ECHO Oak POKÉMON Research Lab
  486.             ECHO(
  487.             IF %STARTERDIA% NEQ 1 (
  488.                 ECHO %RIVAL%: Gramps^^! I'm fed up with waiting^^!
  489.                 ECHO PROF. OAK: %RIVAL%? Let me think... Oh, that's right, I told you to come^^!
  490.                 ECHO Just wait^^!
  491.                 PAUSE >NUL
  492.                 ECHO PROF. OAK: Here, %PLAYER%^^! There are 3 POKÉMON here^^! Haha^^! They are inside the POKÉ BALLS.
  493.                 ECHO When I was young, I was a serious POKÉMON trainer. In my old age, I have only 3 left, but you can have one^^!
  494.                 ECHO Choose!
  495.                 ECHO %RIVAL%: Hey^^! Gramps^^! What about me?
  496.                 ECHO PROF. OAK: Be patient^^! %RIVAL%, you can have one too^!
  497.                 PAUSE >NUL
  498.                 SET /A "STARTERDIA=1"
  499.                 GOTO oak_lab
  500.             ) ELSE (
  501.                 ECHO OPTIONS
  502.                 ECHO i.   Go outside
  503.                 ECHO ii.  Talk to PROF. OAK
  504.                 ECHO iii. Talk to %RIVAL%
  505.                 ECHO iv.  Check out POKÉ BALL one
  506.                 ECHO v.   Check out POKÉ BALL two
  507.                 ECHO vi.  Check out POKÉ BALL three
  508.                 SET /A "TMP_MOVE=0"
  509.                 SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  510.                 IF !TMP_MOVE! EQU 1 (
  511.                     ECHO PROF. OAK: Hey^^! Don't go away yet^^!
  512.                     PAUSE >NUL
  513.                     GOTO oak_lab
  514.                 ) ELSE (
  515.                     IF !TMP_MOVE! EQU 2 (
  516.                         ECHO PROF. OAK: Now, %RIVAL%, which POKÉMON do you want?
  517.                         PAUSE >NUL
  518.                         GOTO oak_lab
  519.                     ) ELSE (
  520.                         IF !TMP_MOVE! EQU 3 (
  521.                             ECHO %RIVAL%: Heh, I don't need to be greedy like you^^! Go ahead and choose, %PLAYER%^^!
  522.                             PAUSE >NUL
  523.                             GOTO oak_lab
  524.                         ) ELSE (
  525.                             IF !TMP_MOVE! EQU 4 (
  526.                                 ECHO PROF. OAK: So^^! You want the plant POKÉMON, BULBASAUR ^^^(Y/N^^^)?
  527.                                 SET /P TMP_PROMPT=":" || SET TMP_PROMPT=N
  528.                                 IF /I !TMP_PROMPT! == Y (
  529.                                     ECHO PROF. OAK: This POKÉMON is really energetic^^!
  530.                                     CALL src\GIVEPKMN %OT% 0 1 5
  531.                                     ECHO %RIVAL%: I'll take this one, then^^!
  532.                                     CALL src\GIVEPKMN 0 1 4 5
  533.                                     PAUSE >NUL
  534.                                     SET /A "OAKRBAT=1"
  535.                                     GOTO oak_lab
  536.                                 ) ELSE (
  537.                                     GOTO oak_lab
  538.                                 )
  539.                             ) ELSE (
  540.                                 IF !TMP_MOVE! EQU 5 (
  541.                                     ECHO PROF. OAK: So^^! You want the fire POKÉMON, CHARMANDER ^^^(Y/N^^^)?
  542.                                     SET /P TMP_PROMPT=":" || SET TMP_PROMPT=N
  543.                                     IF /I !TMP_PROMPT! == Y (
  544.                                         ECHO PROF. OAK: This POKÉMON is really energetic^^!
  545.                                         CALL src\GIVEPKMN %OT% 0 4 5
  546.                                         ECHO %RIVAL%: I'll take this one, then^^!
  547.                                         CALL src\GIVEPKMN 0 1 7 5
  548.                                         PAUSE >NUL
  549.                                         SET /A "OAKRBAT=1"
  550.                                         GOTO oak_lab
  551.                                     ) ELSE (
  552.                                         GOTO oak_lab
  553.                                     )
  554.                                 ) ELSE (
  555.                                     IF !TMP_MOVE! EQU 6 (
  556.                                         ECHO PROF. OAK: So^^! You want the water POKÉMON, SQUIRTLE ^^^(Y/N^^^)?
  557.                                         SET /P TMP_PROMPT=":" || SET TMP_PROMPT=N
  558.                                         IF /I !TMP_PROMPT! == Y (
  559.                                             ECHO PROF. OAK: This POKÉMON is really energetic!
  560.                                             CALL src\GIVEPKMN %OT% 0 7 5
  561.                                             ECHO %RIVAL%: I'll take this one, then^^!
  562.                                             CALL src\GIVEPKMN 0 1 1 5
  563.                                             PAUSE >NUL
  564.                                             SET /A "OAKRBAT=1"
  565.                                             GOTO oak_lab
  566.                                         ) ELSE (
  567.                                             GOTO oak_lab
  568.                                         )
  569.                                     ) ELSE (
  570.                                         IF /I !TMP_MOVE! == X (
  571.                                             CALL :SAVEGAME
  572.                                             GOTO oak_lab
  573.                                         ) ELSE (
  574.                                             GOTO oak_lab
  575.                                         )
  576.                                     )
  577.                                 )
  578.                             )
  579.                         )
  580.                     )
  581.                 )
  582.             )
  583.         ::END
  584.  
  585.         :post-starter-oak_lab
  586.             CLS
  587.             COLOR 0E
  588.             SET LOC=post-starter-oak_lab
  589.  
  590.             TYPE ast\map\oak_lab.txt
  591.             ECHO(
  592.             ECHO Oak POKÉMON Research Lab
  593.             ECHO(
  594.  
  595.             ECHO OPTIONS
  596.             ECHO i.    Go outside
  597.             ECHO ii.   Talk to %RIVAL%
  598.             ECHO iii.  Check out the computer
  599.             ECHO iv.   Check out the book
  600.             ECHO v.    Read the posters
  601.             ECHO vi.   Check out the POKÉ BALL
  602.             ECHO vii.  Talk to OAK
  603.             SET /A "TMP_MOVE=0"
  604.             SET /P TMP_MOVE=":" || SET /A "TMP_MOVE=0"
  605.             IF %TMP_MOVE% EQU 1 (
  606.                 ECHO %RIVAL%: Wait %PLAYER%^^! Let's check out our POKÉMON^^! Come on, I'll take you on^^!
  607.                 PAUSE >NUL
  608.                 REM INITIATE RIVAL BATTLE
  609.                 CALL TBATTLE 0 1
  610.                 SET /A "POKE=1"
  611.                 GOTO oak_lab
  612.             ) ELSE (
  613.                 IF %TMP_MOVE% EQU 2 (
  614.                     ECHO %RIVAL%: My POKEMON looks a lot stronger.
  615.                     PAUSE >NUL
  616.                     GOTO oak_lab
  617.                 ) ELSE (
  618.                     IF %TMP_MOVE% EQU 3 (
  619.                         ECHO There's an e-mail message here^^!...
  620.                         PAUSE >NUL
  621.                         ECHO Calling all POKÉMON trainers^^!
  622.                         ECHO The elite trainers of POKÉMON LEAGUE are ready to take on all comers^^!
  623.                         ECHO Bring your best POKÉMON and see how you rate as a trainer^^!
  624.                         ECHO(
  625.                         ECHO POKÉMON LEAGUE HQ INDIGO PLATEAU
  626.                         ECHO PS: PROF.OAK, please visit us! ...
  627.                         PAUSE >NUL
  628.                         GOTO oak_lab
  629.                     ) ELSE (
  630.                         IF %TMP_MOVE% EQU 4 (
  631.                             ECHO It's encyclopedia-like, but the pages are blank^^!
  632.                             PAUSE >NUL
  633.                             GOTO oak_lab
  634.                         ) ELSE (
  635.                             IF %TMP_MOVE% EQU 5 (
  636.                                 ECHO POSTER 1: Push START to open the MENU!
  637.                                 ECHO POSTER 2: The SAVE option is on the MENU screen.
  638.                                 PAUSE >NUL
  639.                                 GOTO oak_lab
  640.                             ) ELSE (
  641.                                 IF %TMP_MOVE% EQU 6 (
  642.                                     ECHO That's PROF.OAK's last POKÉMON^^!
  643.                                     PAUSE >NUL
  644.                                     GOTO oak_lab
  645.                                 ) ELSE (
  646.                                     IF %TMP_MOVE% EQU 7 (
  647.                                         ECHO OAK: If a wild POKÉMON appears, your POKÉMON can fight against it^^!
  648.                                         PAUSE >NUL
  649.                                         GOTO oak_lab
  650.                                     ) ELSE (
  651.                                         IF /I %TMP_MOVE% == X (
  652.                                             CALL :SAVEGAME
  653.                                             GOTO oak_lab
  654.                                         ) ELSE (
  655.                                             GOTO oak_lab
  656.                                         )
  657.                                     )
  658.                                 )
  659.                             )
  660.                         )
  661.                     )
  662.                 )
  663.             )
  664.         ::END
  665.  
  666.         :post-poke-oak_lab
  667.             CLS
  668.             COLOR 0E
  669.             SET LOC=post-poke-oak_lab
  670.  
  671.             ECHO GOOD ONE MATE YOU GOT A POKEMON
  672.             PAUSE >NUL
  673.         ::END
  674.  
  675.         :post-dex-oak_lab
  676.             CLS
  677.             COLOR 0E
  678.             SET LOC=post-dex-oak_lab
  679.         ::END
  680.  
  681.         :post-efour-oak_lab
  682.             CLS
  683.             COLOR 0E
  684.             SET LOC=post-efour-oak_lab
  685.         ::END
  686.     ::END
  687. ::END
  688.  
  689. ::RouteOne
  690.     :route_one
  691.         IF %POKE% EQU 0 (
  692.             GOTO pre-poke-route_one
  693.         ) ELSE (
  694.             GOTO post-poke-route_one
  695.         )
  696.         :pre-poke-route_one
  697.             CLS
  698.             COLOR 0a
  699.             SET LOC=pre-poke-route_one
  700.  
  701.             TYPE ast\map\route_one.txt
  702.             ECHO(
  703.             ECHO ROUTE 1
  704.             ECHO(
  705.  
  706.             ECHO PROF. OAK: Hey^^!
  707.             ECHO Wait^^!
  708.             ECHO Don't go out^^!
  709.             PAUSE >NUL
  710.             ECHO PROF. OAK: It's unsafe^^! Wild POKÉMON live in tall grass^^!
  711.             ECHO You need your own POKÉMON for your protection.
  712.             ECHO I know^^! Here, come with me^^!
  713.             PAUSE >NUL
  714.             set /A "STARTER=1"
  715.             GOTO oak_lab
  716.  
  717.  
  718.         ::END
  719.  
  720.         :post-poke-route_one
  721.         ::END
  722.     ::END
  723. ::END
  724.  
  725. REM FUNCTIONS
  726. :SAVEGAME
  727.     CLS
  728.     COLOR 0F
  729.  
  730.     IF EXIST dta\tmp\sav\name.txt DEL /q dta\tmp\sav\name.txt
  731.     IF EXIST dta\tmp\sav\bool.txt DEL /q dta\tmp\sav\bool.txt
  732.     ECHO Saving game
  733.     ECHO Do not turn of the power
  734.     TIMEOUT 1 >NUL
  735.     CLS
  736.     ECHO Saving game .
  737.     ECHO Do not turn of the power
  738.     TIMEOUT 1 >NUL
  739.     CLS
  740.     ECHO Saving game ..
  741.     ECHO Do not turn of the power
  742.     TIMEOUT 1 >NUL
  743.     CLS
  744.     ECHO Saving game ...
  745.     ECHO Do not turn of the power
  746.     TIMEOUT 1 >NUL
  747.     CLS
  748.     ECHO Saving game .
  749.     ECHO Do not turn of the power
  750.     TIMEOUT 1 >NUL
  751.     ECHO %OT%,%PLAYER%,%RIVAL%,%LOC%>dta\tmp\sav\name.txt
  752.     ECHO %STARTER%.%STARTERDIA%.%POKE%.%DEX%.%EFOUR%>dta\tmp\sav\bool.txt
  753.     FOR %%A IN (dta\tmp\*_PARTY.TXT) DO (
  754.         SET "PARAM=%%A"
  755.         COPY %PARAM% %PARAM:dta\tmp=dta\tmp\sav% >NUL
  756.     )
  757.     FOR %%A IN (dta\tmp\*_BOX*.TXT) DO (
  758.         SET "PARAM=%%A"
  759.         COPY %PARAM% %PARAM:dta\tmp=dta\tmp\sav% >NUL
  760.     )
  761.  
  762.     CLS
  763.     ECHO Game Saved
  764.     TIMEOUT 1 >NUL
  765.     GOTO :EOF
  766. ::END
  767.  
  768. :LOADSAVE
  769.     DEL /Q dta\tmp\*
  770.     SET /A "SAVE=1"
  771.     IF NOT EXIST dta\tmp\sav\name.txt SET /A "SAVE=0"
  772.     IF NOT EXIST dta\tmp\sav\bool.txt SET /A "SAVE=0"
  773.     FOR /F "TOKENS=1 DELIMS=," %%A IN (dta\tmp\sav\name.txt) DO (SET OT=%%A) || SET /A "SAVE=0"
  774.     IF [%OT%] == [] SET /A "SAVE=0"
  775.     FOR /F "TOKENS=2 DELIMS=," %%A IN (dta\tmp\sav\name.txt) DO (SET PLAYER=%%A) || SET /A "SAVE=0"
  776.     IF [%PLAYER%] == [] SET /A "SAVE=0"
  777.     FOR /F "TOKENS=3 DELIMS=," %%A IN (dta\tmp\sav\name.txt) DO (SET RIVAL=%%A) || SET /A "SAVE=0"
  778.     IF [%RIVAL%] == [] SET /A "SAVE=0"
  779.     FOR /F "TOKENS=4 DELIMS=," %%A IN (dta\tmp\sav\name.txt) DO (SET LOC=%%A) || SET /A "SAVE=0"
  780.     IF [%LOC%] == [] SET /A "SAVE=0"
  781.  
  782.     FOR /F "TOKENS=1 DELIMS=." %%A IN (dta\tmp\sav\bool.txt) DO (SET STARTER=%%A) || SET /A "SAVE=0"
  783.     IF [%STARTER%] == [] SET /A "SAVE=0"
  784.     FOR /F "TOKENS=2 DELIMS=." %%A IN (dta\tmp\sav\bool.txt) DO (SET STARTERDIA=%%A) || SET /A "SAVE=0"
  785.     IF [%STARTERDIA%] == [] SET /A "SAVE=0"
  786.     FOR /F "TOKENS=3 DELIMS=." %%A IN (dta\tmp\sav\bool.txt) DO (SET POKE=%%A) || SET /A "SAVE=0"
  787.     IF [%POKE%] == [] SET /A "SAVE=0"
  788.     FOR /F "TOKENS=4 DELIMS=." %%A IN (dta\tmp\sav\bool.txt) DO (SET DEX=%%A) || SET /A "SAVE=0"
  789.     IF [%DEX%] == [] SET /A "SAVE=0"
  790.     FOR /F "TOKENS=5 DELIMS=." %%A IN (dta\tmp\sav\bool.txt) DO (SET EFOUR=%%A) || SET /A "SAVE=0"
  791.     IF [%EFOUR%] == [] SET /A "SAVE=0"
  792.     IF %SAVE% NEQ 0 (
  793.         FOR %%A IN (dta\tmp\sav\*_PARTY.TXT) DO (
  794.             SET "PARAM=%%A"
  795.             COPY %PARAM% %PARAM:dta\tmp\sav=dta\tmp% >NUL
  796.         )
  797.         FOR %%A IN (dta\tmp\sav\*_BOX*.TXT) DO (
  798.             SET "PARAM=%%A"
  799.             COPY %PARAM% %PARAM:dta\tmp\sav=dta\tmp% >NUL
  800.         )
  801.         GOTO %LOC%
  802.     ) ELSE (
  803.         ECHO Save file missing or corrupted.
  804.         PAUSE >NUL
  805.         GOTO OpeningSequence
  806.     )
  807. ::END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement