Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define CURRENTLEVEL 0x8001
- #define TOTALSCORE 0x8003
- #define HAS_POKEMON FR_POKEMON
- #define PLAYER_PKMN 0x4000
- #define HIGH_SCORE 0x4001
- #define TIMES_PLAYED 0x4002
- #define BULBASAUR_MAX 10
- #define CHARMANDER_MAX 20
- #define SQUIRTLE_MAX 30
- #define CHIKORITA_MAX 40
- #define CYNDAQUIL_MAX 50
- #define TOTODILE_MAX 60
- #define TREECKO_MAX 70
- #define TORCHIC_MAX 80
- #define NUMLEVELS 10
- #define TOTALSCORE_B 0x03
- #define VARBANK_A_1 0x0203F4D8
- #define TOTALSCORE_A 0x80
- #define VARBANK_A_2 0x0203F4D9
- #define LASTRESULT_B 0x0D
- #define VARBANK_B_1 0x0203F4DA
- #define LASTRESULT_A 0x80
- #define VARBANK_B_2 0x0203F4DB
- '@main <-> 0x740001 (0x7A bytes)
- '-> :loop-top <-> 0x74002A
- '-> :end <-> 0x74003F
- '-> :true-end <-> 0x740079
- '@set_hs_to_zero <-> 0x74007B (0x6 bytes)
- '@new_highscore <-> 0x740081 (0x20 bytes)
- '@set_starter_var <-> 0x81BC49 (0xAE bytes)
- '-> :check-char <-> 0x81BC5E
- '-> :check-squi <-> 0x81BC73
- '-> :check-chik <-> 0x81BC88
- '-> :check-cynd <-> 0x81BC9D
- '-> :check-toto <-> 0x81BCB2
- '-> :check-tree <-> 0x81BCC7
- '-> :check-torch <-> 0x81BCDC
- '-> :set_mudkip <-> 0x81BCF1
- '-> :ssend <-> 0x81BCF6
- '@play_level <-> 0x81BCF7 (0x34 bytes)
- '@playing_level <-> 0x81BD36 (0x26 bytes)
- '@finished <-> 0x81BD5C (0x20 bytes)
- '@want_play <-> 0x81BD7C (0x26 bytes)
- #dyn 0x740000
- #org @main
- lock
- msgbox @want_play
- callstd MSG_YESNO
- compare LASTRESULT NO
- if == jump :true-end
- compare TIMES_PLAYED 1
- if < call @set_hs_to_zero
- setvar CURRENTLEVEL 1
- setvar TOTALSCORE 0
- :loop-top
- call @play_level
- compare CURRENTLEVEL NUMLEVELS
- if == jump :end
- jump :loop-top
- :end
- addvar TIMES_PLAYED 1
- storevar 0 TOTALSCORE
- msgbox @finished
- callstd MSG_NORMAL
- checkflag HAS_POKEMON
- if 0x1 call @set_starter_var
- comparevars2 TOTALSCORE HIGH_SCORE
- if <= jump :true-end
- storevar 0 HIGH_SCORE
- storevar 1 TOTALSCORE
- msgbox @new_highscore
- callstd MSG_NORMAL
- copyvar HIGH_SCORE TOTALSCORE
- :true-end
- release
- end
- #org @set_hs_to_zero
- setvar HIGH_SCORE 0
- return
- #org @new_highscore
- = My high-score of \v\h02\n is now \v\h03!
- #org @set_starter_var
- compare TOTALSCORE BULBASAUR_MAX
- if > jump :check-char
- setvar PLAYER_PKMN BULBASAUR
- jump :ssend
- '-----------------------
- :check-char
- compare TOTALSCORE CHARMANDER_MAX
- if > jump :check-squi
- setvar PLAYER_PKMN CHARMANDER
- jump :ssend
- '-----------------------
- :check-squi
- compare TOTALSCORE SQUIRTLE_MAX
- if > jump :check-chik
- setvar PLAYER_PKMN SQUIRTLE
- jump :ssend
- '-----------------------
- :check-chik
- compare TOTALSCORE CHIKORITA_MAX
- if > jump :check-cynd
- setvar PLAYER_PKMN CHIKORITA
- jump :ssend
- '-----------------------
- :check-cynd
- compare TOTALSCORE CYNDAQUIL_MAX
- if > jump :check-toto
- setvar PLAYER_PKMN CYNDAQUIL
- jump :ssend
- '-----------------------
- :check-toto
- compare TOTALSCORE TOTODILE_MAX
- if > jump :check-tree
- setvar PLAYER_PKMN TOTODILE
- jump :ssend
- '-----------------------
- :check-tree
- compare TOTALSCORE TREECKO_MAX
- if > jump :check-torch
- setvar PLAYER_PKMN TREECKO
- jump :ssend
- '-----------------------
- :check-torch
- compare TOTALSCORE TORCHIC_MAX
- if > jump :set_mudkip
- setvar PLAYER_PKMN TORCHIC
- jump :ssend
- '-----------------------
- :set_mudkip
- setvar PLAYER_PKMN MUDKIP
- :ssend
- return
- #org @play_level
- random 0xA
- writebytetooffset TOTALSCORE_B VARBANK_A_1
- writebytetooffset TOTALSCORE_A VARBANK_A_2
- writebytetooffset LASTRESULT_B VARBANK_B_1
- writebytetooffset LASTRESULT_A VARBANK_B_2
- special 0x3e
- storevar 0 CURRENTLEVEL
- storevar 1 LASTRESULT
- msgbox @playing_level
- callstd MSG_NORMAL
- addvar CURRENTLEVEL 1
- return
- #org @playing_level
- = I'm playing level \v\h02!\nMy score is \v\h03.
- #org @finished
- = Awesome, my final score was \v\h02!
- #org @want_play
- = Hey, it's my SNES, do I want to play?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement