Remove Mobile, Battle Tower, Mystery Gift, and Odd Egg (#1)
18
Makefile
@ -21,9 +21,7 @@ rom_obj := \
|
||||
gfx/misc.o \
|
||||
gfx/pics.o \
|
||||
gfx/sprites.o \
|
||||
gfx/tilesets.o \
|
||||
lib/mobile/main.o \
|
||||
lib/mobile/mail.o
|
||||
gfx/tilesets.o
|
||||
|
||||
pokecrystal_obj := $(rom_obj:.o=.o)
|
||||
pokecrystal11_obj := $(rom_obj:.o=11.o)
|
||||
@ -233,8 +231,6 @@ gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/pokegear/pokegear.2bpp: rgbgfx += -x2
|
||||
gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace
|
||||
|
||||
gfx/mystery_gift/mystery_gift.2bpp: tools/gfx += --trim-whitespace
|
||||
|
||||
gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$<
|
||||
gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$<
|
||||
gfx/title/logo.2bpp: rgbgfx += -x 4
|
||||
@ -289,18 +285,6 @@ gfx/font/unused_bold_font.1bpp: tools/gfx += --trim-whitespace
|
||||
gfx/sgb/sgb_border.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/sgb/sgb_border.sgb.tilemap: gfx/sgb/sgb_border.bin ; tr < $< -d '\000' > $@
|
||||
|
||||
gfx/mobile/ascii_font.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/dialpad.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/dialpad_cursor.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/electro_ball.2bpp: tools/gfx += --remove-duplicates --remove-xflip --preserve=0x39
|
||||
gfx/mobile/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip
|
||||
gfx/mobile/card.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/card_2.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/card_folder.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/phone_tiles.2bpp: tools/gfx += --remove-whitespace
|
||||
gfx/mobile/pichu_animated.2bpp: tools/gfx += --trim-whitespace
|
||||
gfx/mobile/stadium2_n64.2bpp: tools/gfx += --trim-whitespace
|
||||
|
||||
|
||||
### Catch-all graphics rules
|
||||
|
||||
|
@ -86,7 +86,6 @@ DEF HMENURETURN_ASM EQU %11111111
|
||||
const PARTYMENUACTION_GIVE_MON
|
||||
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
|
||||
const PARTYMENUACTION_GIVE_ITEM
|
||||
const PARTYMENUACTION_MOBILE ; mobile
|
||||
DEF NUM_PARTYMENUACTIONS EQU const_value
|
||||
; PrintPartyMenuActionText arguments (see engine/pokemon/party_menu.asm)
|
||||
const_next $f0
|
||||
|
@ -1,73 +0,0 @@
|
||||
; MobileAPI calls (see lib/mobile/main.asm:_MobileAPI)
|
||||
const_def 0, 2
|
||||
const MOBILEAPI_00
|
||||
const MOBILEAPI_01
|
||||
const MOBILEAPI_02
|
||||
const MOBILEAPI_03
|
||||
const MOBILEAPI_04
|
||||
const MOBILEAPI_05
|
||||
const MOBILEAPI_06
|
||||
const MOBILEAPI_07
|
||||
const MOBILEAPI_08
|
||||
const MOBILEAPI_09
|
||||
const MOBILEAPI_0A
|
||||
const MOBILEAPI_0B
|
||||
const MOBILEAPI_0C
|
||||
const MOBILEAPI_0D
|
||||
const MOBILEAPI_0E
|
||||
const MOBILEAPI_0F
|
||||
const MOBILEAPI_10
|
||||
const MOBILEAPI_11
|
||||
const MOBILEAPI_12
|
||||
const MOBILEAPI_13
|
||||
const MOBILEAPI_14
|
||||
const MOBILEAPI_15
|
||||
const MOBILEAPI_16
|
||||
const MOBILEAPI_17
|
||||
const MOBILEAPI_SETTIMER
|
||||
const MOBILEAPI_TELEPHONESTATUS
|
||||
const MOBILEAPI_1A
|
||||
const MOBILEAPI_1B
|
||||
const MOBILEAPI_1C
|
||||
const MOBILEAPI_1D
|
||||
const MOBILEAPI_1E
|
||||
const MOBILEAPI_1F
|
||||
const MOBILEAPI_20
|
||||
const MOBILEAPI_21
|
||||
|
||||
; MobileEZChatCategoryPointers indexes (see mobile/fixed_words.asm)
|
||||
const_def
|
||||
const EZCHAT_POKEMON
|
||||
const EZCHAT_TYPES
|
||||
const EZCHAT_GREETINGS
|
||||
const EZCHAT_PEOPLE
|
||||
const EZCHAT_BATTLE
|
||||
const EZCHAT_EXCLAMATIONS
|
||||
const EZCHAT_CONVERSATION
|
||||
const EZCHAT_FEELINGS
|
||||
const EZCHAT_CONDITIONS
|
||||
const EZCHAT_LIFE
|
||||
const EZCHAT_HOBBIES
|
||||
const EZCHAT_ACTIONS
|
||||
const EZCHAT_TIME
|
||||
const EZCHAT_FAREWELLS
|
||||
const EZCHAT_THISANDTHAT
|
||||
|
||||
DEF NUM_KANA EQU 45 ; length of SortedPokemon table (see mobile/fixed_words.asm)
|
||||
|
||||
DEF MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
|
||||
DEF MOBILE_PHONE_NUMBER_LENGTH EQU 20
|
||||
|
||||
; Maximum amount of time allowed for mobile battles each day
|
||||
DEF MOBILE_BATTLE_ALLOWED_SECONDS EQU 0
|
||||
DEF MOBILE_BATTLE_ALLOWED_MINUTES EQU 10
|
||||
|
||||
; Trade corner request size
|
||||
; DION addr $1e + request $8 + Name $5
|
||||
; + party struct $30 + OT $5 + NICK $5
|
||||
; + JP Mail struct $2a
|
||||
DEF MOBILE_EMAIL_LENGTH EQU $1e
|
||||
DEF TRADE_CORNER_REQUEST_LENGTH EQU $8f
|
||||
|
||||
DEF EASY_CHAT_MESSAGE_WORD_COUNT EQU 6
|
||||
DEF EASY_CHAT_MESSAGE_LENGTH EQU EASY_CHAT_MESSAGE_WORD_COUNT * 2 ; every word uses 2 bytes
|
@ -30,8 +30,7 @@
|
||||
const SCGB_PLAYER_OR_MON_FRONTPIC_PALS
|
||||
const SCGB_TRADE_TUBE
|
||||
const SCGB_TRAINER_OR_MON_FRONTPIC_PALS
|
||||
const SCGB_MYSTERY_GIFT
|
||||
const SCGB_1E
|
||||
const SCGB_1D
|
||||
DEF NUM_SCGB_LAYOUTS EQU const_value
|
||||
|
||||
DEF SCGB_PARTY_MENU_HP_BARS EQU $fc
|
||||
|
@ -66,12 +66,11 @@ DEF STRING_BUFFER_LENGTH EQU 19
|
||||
const VAR_XCOORD ; 12
|
||||
const VAR_YCOORD ; 13
|
||||
const VAR_SPECIALPHONECALL ; 14
|
||||
const VAR_BT_WIN_STREAK ; 15
|
||||
const VAR_KURT_APRICORNS ; 16
|
||||
const VAR_CALLERID ; 17
|
||||
const VAR_BLUECARDBALANCE ; 18
|
||||
const VAR_BUENASPASSWORD ; 19
|
||||
const VAR_KENJI_BREAK ; 1a
|
||||
const VAR_KURT_APRICORNS ; 15
|
||||
const VAR_CALLERID ; 16
|
||||
const VAR_BLUECARDBALANCE ; 17
|
||||
const VAR_BUENASPASSWORD ; 18
|
||||
const VAR_KENJI_BREAK ; 19
|
||||
DEF NUM_VARS EQU const_value
|
||||
|
||||
; variable action types
|
||||
|
@ -1,79 +0,0 @@
|
||||
BattleTowerTrainers:
|
||||
; The trainer class is not used in Crystal 1.0 due to a bug.
|
||||
; Instead, the sixth character in the trainer's name is used.
|
||||
; See BattleTowerText in engine/events/battle_tower/trainer_text.asm.
|
||||
table_width (NAME_LENGTH - 1) + 1, BattleTowerTrainers
|
||||
; name, class
|
||||
db "HANSON@@@@", FISHER
|
||||
db "SAWYER@@@@", POKEMANIAC
|
||||
db "MASUDA@@@@", GUITARIST
|
||||
db "NICKEL@@@@", SCIENTIST
|
||||
db "OLSON@@@@@", POKEFANM
|
||||
db "ZABOROWSKI", LASS
|
||||
db "WRIGHT@@@@", YOUNGSTER
|
||||
db "ALEXANDER@", HIKER
|
||||
db "KAWAKAMI@@", TEACHER
|
||||
db "BICKETT@@@", POKEFANM
|
||||
db "SAITO@@@@@", KIMONO_GIRL
|
||||
db "CRAWFORD@@", BOARDER
|
||||
db "DIAZ@@@@@@", PICNICKER
|
||||
db "ERICKSON@@", BIKER
|
||||
db "FAIRFIELD@", JUGGLER
|
||||
db "HUNTER@@@@", POKEFANF
|
||||
db "HILL@@@@@@", FIREBREATHER
|
||||
db "JAVIER@@@@", SWIMMERF
|
||||
db "KAUFMAN@@@", SWIMMERM
|
||||
db "LANCASTER@", SKIER
|
||||
db "McMAHILL@@", CAMPER
|
||||
assert_table_length BATTLETOWER_NUM_UNIQUE_MON
|
||||
; The following can only be sampled in Crystal 1.1.
|
||||
db "OBRIEN@@@@", GENTLEMAN
|
||||
db "FROST@@@@@", BEAUTY
|
||||
db "MORSE@@@@@", SUPER_NERD
|
||||
db "YUFUNE@@@@", BLACKBELT_T
|
||||
db "RAJAN@@@@@", COOLTRAINERF
|
||||
db "RODRIGUEZ@", OFFICER
|
||||
db "SANTIAGO@@", PSYCHIC_T
|
||||
db "STOCK@@@@@", POKEFANM
|
||||
db "THURMAN@@@", SCIENTIST
|
||||
db "VALENTINO@", BEAUTY
|
||||
db "WAGNER@@@@", CAMPER
|
||||
db "YATES@@@@@", BIRD_KEEPER
|
||||
db "ANDREWS@@@", PICNICKER
|
||||
db "BAHN@@@@@@", POKEMANIAC
|
||||
db "MORI@@@@@@", SCIENTIST
|
||||
db "BUCKMAN@@@", SAGE
|
||||
db "COBB@@@@@@", SCHOOLBOY
|
||||
db "HUGHES@@@@", FISHER
|
||||
db "ARITA@@@@@", KIMONO_GIRL
|
||||
db "EASTON@@@@", PSYCHIC_T
|
||||
db "FREEMAN@@@", CAMPER
|
||||
db "GIESE@@@@@", LASS
|
||||
db "HATCHER@@@", GENTLEMAN
|
||||
db "JACKSON@@@", POKEFANF
|
||||
db "KAHN@@@@@@", POKEMANIAC
|
||||
db "LEONG@@@@@", YOUNGSTER
|
||||
db "MARINO@@@@", TEACHER
|
||||
db "NEWMAN@@@@", SAILOR
|
||||
db "NGUYEN@@@@", BLACKBELT_T
|
||||
db "OGDEN@@@@@", SUPER_NERD
|
||||
db "PARK@@@@@@", COOLTRAINERF
|
||||
db "RAINE@@@@@", SWIMMERM
|
||||
db "SELLS@@@@@", BIRD_KEEPER
|
||||
db "ROCKWELL@@", BOARDER
|
||||
db "THORNTON@@", LASS
|
||||
db "TURNER@@@@", OFFICER
|
||||
db "VAN DYKE@@", SKIER
|
||||
db "WALKER@@@@", SCHOOLBOY
|
||||
db "MEYER@@@@@", SWIMMERF
|
||||
db "JOHNSON@@@", YOUNGSTER
|
||||
db "ADAMS@@@@@", GUITARIST
|
||||
db "SMITH@@@@@", BUG_CATCHER
|
||||
db "TAJIRI@@@@", BUG_CATCHER
|
||||
db "BAKER@@@@@", POKEMANIAC
|
||||
db "COLLINS@@@", SCIENTIST
|
||||
db "SMART@@@@@", SUPER_NERD
|
||||
db "DYKSTRA@@@", SWIMMERF
|
||||
db "EATON@@@@@", BIKER
|
||||
db "WONG@@@@@@", FIREBREATHER
|
||||
assert_table_length BATTLETOWER_NUM_UNIQUE_TRAINERS
|
@ -1,623 +0,0 @@
|
||||
_BTGreetingM1Text:
|
||||
text "Hello, glad to"
|
||||
line "meet you!"
|
||||
|
||||
para "I do hope we have"
|
||||
line "a good battle."
|
||||
done
|
||||
|
||||
_BTLossM1Text:
|
||||
text "Thank you! A most"
|
||||
line "enjoyable battle!"
|
||||
done
|
||||
|
||||
_BTWinM1Text:
|
||||
text "Thank you. You are"
|
||||
line "formidable."
|
||||
done
|
||||
|
||||
_BTGreetingM2Text:
|
||||
text "Work, work, work…"
|
||||
line "I'm always busy!"
|
||||
done
|
||||
|
||||
_BTLossM2Text:
|
||||
text "But, I work hard"
|
||||
line "in battle too!"
|
||||
done
|
||||
|
||||
_BTWinM2Text:
|
||||
text "I'm too busy to be"
|
||||
line "battling!"
|
||||
done
|
||||
|
||||
_BTGreetingM3Text:
|
||||
text "Brace yourself for"
|
||||
line "my all-out attack!"
|
||||
done
|
||||
|
||||
_BTLossM3Text:
|
||||
text "What a cakewalk!"
|
||||
line "You're too easy!"
|
||||
done
|
||||
|
||||
_BTWinM3Text:
|
||||
text "I won't lose next"
|
||||
line "time, all right?"
|
||||
done
|
||||
|
||||
_BTGreetingM4Text:
|
||||
text "Heh, your #MON"
|
||||
line "look pretty cool."
|
||||
done
|
||||
|
||||
_BTLossM4Text:
|
||||
text "Hey, hey, no way!"
|
||||
line "You won't win!"
|
||||
done
|
||||
|
||||
_BTWinM4Text:
|
||||
text "You serious?"
|
||||
line "This is brutal!"
|
||||
done
|
||||
|
||||
_BTGreetingM5Text:
|
||||
text "#MON every day!"
|
||||
line "I love battling!"
|
||||
done
|
||||
|
||||
_BTLossM5Text:
|
||||
text "I'm on top of my"
|
||||
line "game, but not you!"
|
||||
done
|
||||
|
||||
_BTWinM5Text:
|
||||
text "I don't care that"
|
||||
line "I lost, really!"
|
||||
done
|
||||
|
||||
_BTGreetingM6Text:
|
||||
text "Hi, there! Let's"
|
||||
line "keep this clean!"
|
||||
done
|
||||
|
||||
_BTLossM6Text:
|
||||
text "Whoops, sorry for"
|
||||
line "that wipeout!"
|
||||
done
|
||||
|
||||
_BTWinM6Text:
|
||||
text "Whoops! Come on,"
|
||||
line "let me win one!"
|
||||
done
|
||||
|
||||
_BTGreetingM7Text:
|
||||
text "Do you want to see"
|
||||
line "my battle level?"
|
||||
done
|
||||
|
||||
_BTLossM7Text:
|
||||
text "Hehehe, I know"
|
||||
line "your level now!"
|
||||
done
|
||||
|
||||
_BTWinM7Text:
|
||||
text "Ouch… I'm just too"
|
||||
line "weak…"
|
||||
done
|
||||
|
||||
_BTGreetingM8Text:
|
||||
text "Hey, let's battle."
|
||||
line "I'm your opponent."
|
||||
done
|
||||
|
||||
_BTLossM8Text:
|
||||
text "Wow, you're not"
|
||||
line "serious about it!"
|
||||
done
|
||||
|
||||
_BTWinM8Text:
|
||||
text "…Urgh… Nothing"
|
||||
line "positive here…"
|
||||
done
|
||||
|
||||
_BTGreetingM9Text:
|
||||
text "I'm your"
|
||||
line "opponent."
|
||||
|
||||
para "Get ready to be"
|
||||
line "hammered."
|
||||
done
|
||||
|
||||
_BTLossM9Text:
|
||||
text "Hahah! That was a"
|
||||
line "pushover!"
|
||||
done
|
||||
|
||||
_BTWinM9Text:
|
||||
text "No way! There has"
|
||||
line "to be a mistake!"
|
||||
done
|
||||
|
||||
_BTGreetingM10Text:
|
||||
text "Hah!"
|
||||
line "Let's get rolling!"
|
||||
done
|
||||
|
||||
_BTLossM10Text:
|
||||
text "Wahahaha! Didn't"
|
||||
line "break a sweat!"
|
||||
done
|
||||
|
||||
_BTWinM10Text:
|
||||
text "Tough! I'm no"
|
||||
line "match for you!"
|
||||
done
|
||||
|
||||
_BTGreetingM11Text:
|
||||
text "<……><……><……>"
|
||||
line "<……><……>Battle?"
|
||||
done
|
||||
|
||||
_BTLossM11Text:
|
||||
text "<……><……><……>"
|
||||
line "<……><……>I won?"
|
||||
done
|
||||
|
||||
_BTWinM11Text:
|
||||
text "<……><……><……>"
|
||||
line "<……><……>I lost?"
|
||||
done
|
||||
|
||||
_BTGreetingM12Text:
|
||||
text "You want to be a"
|
||||
line "leader?"
|
||||
|
||||
para "Let me battle you,"
|
||||
line "then!"
|
||||
done
|
||||
|
||||
_BTLossM12Text:
|
||||
text "You need another"
|
||||
line "ten years of"
|
||||
|
||||
para "training to get"
|
||||
line "better, I'd say."
|
||||
done
|
||||
|
||||
_BTWinM12Text:
|
||||
text "You're incredibly"
|
||||
line "talented."
|
||||
|
||||
para "No one can touch"
|
||||
line "you now!"
|
||||
done
|
||||
|
||||
_BTGreetingM13Text:
|
||||
text "Today, I'm going"
|
||||
line "to whomp you."
|
||||
done
|
||||
|
||||
_BTLossM13Text:
|
||||
text "I knew I'd win."
|
||||
line "I'm so great!"
|
||||
done
|
||||
|
||||
_BTWinM13Text:
|
||||
text "Uh? My plans are"
|
||||
line "out of whack…"
|
||||
done
|
||||
|
||||
_BTGreetingM14Text:
|
||||
text "I bet you can't"
|
||||
line "beat me!"
|
||||
done
|
||||
|
||||
_BTLossM14Text:
|
||||
text "Those #MON"
|
||||
line "aren't enough!"
|
||||
done
|
||||
|
||||
_BTWinM14Text:
|
||||
text "I want your"
|
||||
line "#MON. Please?"
|
||||
done
|
||||
|
||||
_BTGreetingM15Text:
|
||||
text "I'll show you a"
|
||||
line "real battle!"
|
||||
done
|
||||
|
||||
_BTLossM15Text:
|
||||
text "This battle…"
|
||||
line "I'm bored!"
|
||||
done
|
||||
|
||||
_BTWinM15Text:
|
||||
text "…I won't turn tail"
|
||||
line "in battle!"
|
||||
done
|
||||
|
||||
_BTGreetingM16Text:
|
||||
text "Let's go!"
|
||||
line "No holds barred!"
|
||||
done
|
||||
|
||||
_BTLossM16Text:
|
||||
text "Sorry! I wanted"
|
||||
line "the win more!"
|
||||
done
|
||||
|
||||
_BTWinM16Text:
|
||||
text "Wahah! Congrats!"
|
||||
line "I can't do better!"
|
||||
done
|
||||
|
||||
_BTGreetingM17Text:
|
||||
text "My #MON skills"
|
||||
line "are phenomenal!"
|
||||
done
|
||||
|
||||
_BTLossM17Text:
|
||||
text "You've got a long"
|
||||
line "way to go."
|
||||
|
||||
para "Well, keep trying!"
|
||||
line "Best of luck!"
|
||||
done
|
||||
|
||||
_BTWinM17Text:
|
||||
text "Aww… Don't lose"
|
||||
line "after beating me."
|
||||
done
|
||||
|
||||
_BTGreetingM18Text:
|
||||
text "Who are you?"
|
||||
line "I don't know you…"
|
||||
done
|
||||
|
||||
_BTLossM18Text:
|
||||
text "I must've imagined"
|
||||
line "that."
|
||||
|
||||
para "There seems to be"
|
||||
line "no one here…"
|
||||
done
|
||||
|
||||
_BTWinM18Text:
|
||||
text "Who am I?"
|
||||
line "I don't know…"
|
||||
done
|
||||
|
||||
_BTGreetingM19Text:
|
||||
text "Um… Are you that…"
|
||||
line "um…person?"
|
||||
done
|
||||
|
||||
_BTLossM19Text:
|
||||
text "It doesn't appear"
|
||||
line "to be you…"
|
||||
done
|
||||
|
||||
_BTWinM19Text:
|
||||
text "Then you really"
|
||||
line "are the legendary…"
|
||||
done
|
||||
|
||||
_BTGreetingM20Text:
|
||||
text "I heard that"
|
||||
line "you're hot!"
|
||||
done
|
||||
|
||||
_BTLossM20Text:
|
||||
text "Not bad. I was"
|
||||
line "just a bit better."
|
||||
done
|
||||
|
||||
_BTWinM20Text:
|
||||
text "Eh, you're not"
|
||||
line "that special."
|
||||
done
|
||||
|
||||
_BTGreetingM21Text:
|
||||
text "I'm scared about"
|
||||
line "what might happen."
|
||||
|
||||
para "My #MON are way"
|
||||
line "too strong."
|
||||
done
|
||||
|
||||
_BTLossM21Text:
|
||||
text "See? My #MON"
|
||||
line "were too strong."
|
||||
done
|
||||
|
||||
_BTWinM21Text:
|
||||
text "Graa! My #MON"
|
||||
line "were total wimps!"
|
||||
done
|
||||
|
||||
_BTGreetingM22Text:
|
||||
text "Hey, there!"
|
||||
line "I'll take you on!"
|
||||
done
|
||||
|
||||
_BTLossM22Text:
|
||||
text "Don't you have a"
|
||||
line "better strategy?"
|
||||
done
|
||||
|
||||
_BTWinM22Text:
|
||||
text "You've got decent"
|
||||
line "style!"
|
||||
done
|
||||
|
||||
_BTGreetingM23Text:
|
||||
text "I wonder if I can"
|
||||
line "battle properly…"
|
||||
done
|
||||
|
||||
_BTLossM23Text:
|
||||
text "Um… Sorry…"
|
||||
line "I think I won."
|
||||
done
|
||||
|
||||
_BTWinM23Text:
|
||||
text "I guess I'm not"
|
||||
line "good enough yet…"
|
||||
done
|
||||
|
||||
_BTGreetingM24Text:
|
||||
text "Wrrooar!"
|
||||
line "I won't lose!"
|
||||
done
|
||||
|
||||
_BTLossM24Text:
|
||||
text "Wrrooar! I knew"
|
||||
line "I was a genius!"
|
||||
done
|
||||
|
||||
_BTWinM24Text:
|
||||
text "Arrooh! I hate it"
|
||||
line "when I lose!"
|
||||
done
|
||||
|
||||
_BTGreetingM25Text:
|
||||
text "Sorry, but I'm"
|
||||
line "going to win."
|
||||
done
|
||||
|
||||
_BTLossM25Text:
|
||||
text "Yeah! My #MON"
|
||||
line "rule!"
|
||||
done
|
||||
|
||||
_BTWinM25Text:
|
||||
text "Oh, close! I lost"
|
||||
line "by just a bit!"
|
||||
done
|
||||
|
||||
_BTGreetingF1Text:
|
||||
text "OK, I'm not"
|
||||
line "fooling around!"
|
||||
done
|
||||
|
||||
_BTLossF1Text:
|
||||
text "Yay! Too easy!"
|
||||
line "Like, no way!"
|
||||
done
|
||||
|
||||
_BTWinF1Text:
|
||||
text "No!"
|
||||
line "Like, no way!"
|
||||
done
|
||||
|
||||
_BTGreetingF2Text:
|
||||
text "Look! My #MON"
|
||||
line "are really cute!"
|
||||
done
|
||||
|
||||
_BTLossF2Text:
|
||||
text "Aren't they really"
|
||||
line "adorable?"
|
||||
done
|
||||
|
||||
_BTWinF2Text:
|
||||
text "I'm sorry, it's"
|
||||
line "all my fault!"
|
||||
done
|
||||
|
||||
_BTGreetingF3Text:
|
||||
text "Let's get our"
|
||||
line "battle started!"
|
||||
done
|
||||
|
||||
_BTLossF3Text:
|
||||
text "Was I too strong"
|
||||
line "for you?"
|
||||
done
|
||||
|
||||
_BTWinF3Text:
|
||||
text "Ooh, you're in a"
|
||||
line "different class."
|
||||
done
|
||||
|
||||
_BTGreetingF4Text:
|
||||
text "Are we going to"
|
||||
line "battle? Let's!"
|
||||
done
|
||||
|
||||
_BTLossF4Text:
|
||||
text "Oh, you're too"
|
||||
line "weak. Shame."
|
||||
done
|
||||
|
||||
_BTWinF4Text:
|
||||
text "Wow! Are you quite"
|
||||
line "satisfied?"
|
||||
done
|
||||
|
||||
_BTGreetingF5Text:
|
||||
text "Oh, you have some"
|
||||
line "rare #MON."
|
||||
done
|
||||
|
||||
_BTLossF5Text:
|
||||
text "May I have one of"
|
||||
line "your #MON?"
|
||||
done
|
||||
|
||||
_BTWinF5Text:
|
||||
text "…I want one of"
|
||||
line "your #MON."
|
||||
done
|
||||
|
||||
_BTGreetingF6Text:
|
||||
text "Want to hear about"
|
||||
line "my cute #MON?"
|
||||
done
|
||||
|
||||
_BTLossF6Text:
|
||||
text "What do you think"
|
||||
line "about my cuties?"
|
||||
done
|
||||
|
||||
_BTWinF6Text:
|
||||
text "Oh! My! You're a"
|
||||
line "dreadful trainer!"
|
||||
done
|
||||
|
||||
_BTGreetingF7Text:
|
||||
text "Battle? Sure!"
|
||||
line "Right now!"
|
||||
done
|
||||
|
||||
_BTLossF7Text:
|
||||
text "Oh, I love it!"
|
||||
line "Battling is wild!"
|
||||
done
|
||||
|
||||
_BTWinF7Text:
|
||||
text "Oh, how rude! Wait"
|
||||
line "till next time!"
|
||||
done
|
||||
|
||||
_BTGreetingF8Text:
|
||||
text "Please let me win!"
|
||||
line "Please?"
|
||||
done
|
||||
|
||||
_BTLossF8Text:
|
||||
text "Wow, thank you!"
|
||||
line "You're so nice!"
|
||||
done
|
||||
|
||||
_BTWinF8Text:
|
||||
text "You're mean!"
|
||||
line "I hate meanies!"
|
||||
done
|
||||
|
||||
_BTGreetingF9Text:
|
||||
text "Well, can we"
|
||||
line "begin?"
|
||||
done
|
||||
|
||||
_BTLossF9Text:
|
||||
text "Well, I beg your"
|
||||
line "pardon…"
|
||||
done
|
||||
|
||||
_BTWinF9Text:
|
||||
text "Sob… That's not"
|
||||
line "fair!"
|
||||
done
|
||||
|
||||
_BTGreetingF10Text:
|
||||
text "I'm good!"
|
||||
line "You can't win."
|
||||
done
|
||||
|
||||
_BTLossF10Text:
|
||||
text "Giving up? You're"
|
||||
line "pretty weak!"
|
||||
done
|
||||
|
||||
_BTWinF10Text:
|
||||
text "I won't accept"
|
||||
line "this… No way!"
|
||||
done
|
||||
|
||||
_BTGreetingF11Text:
|
||||
text "Are you treating"
|
||||
line "this seriously?"
|
||||
done
|
||||
|
||||
_BTLossF11Text:
|
||||
text "Oh, sorry! Looks"
|
||||
line "like I won!"
|
||||
done
|
||||
|
||||
_BTWinF11Text:
|
||||
text "Oh, how nasty!"
|
||||
line "You were serious!"
|
||||
done
|
||||
|
||||
_BTGreetingF12Text:
|
||||
text "Ahahah! I'll take"
|
||||
line "it easy on you!"
|
||||
done
|
||||
|
||||
_BTLossF12Text:
|
||||
text "Oops, sorry! But"
|
||||
line "I'm happy too!"
|
||||
done
|
||||
|
||||
_BTWinF12Text:
|
||||
text "Oh, oh, I lost!"
|
||||
line "Thanks. Bye!"
|
||||
done
|
||||
|
||||
_BTGreetingF13Text:
|
||||
text "BATTLE TOWER is a"
|
||||
line "tough place!"
|
||||
done
|
||||
|
||||
_BTLossF13Text:
|
||||
text "You might have a"
|
||||
line "hard time."
|
||||
done
|
||||
|
||||
_BTWinF13Text:
|
||||
text "Ooh, you might"
|
||||
line "make a run here!"
|
||||
done
|
||||
|
||||
_BTGreetingF14Text:
|
||||
text "I want to see your"
|
||||
line "style in action!"
|
||||
done
|
||||
|
||||
_BTLossF14Text:
|
||||
text "Every battle is a"
|
||||
line "drama!"
|
||||
done
|
||||
|
||||
_BTWinF14Text:
|
||||
text "Oh… Want to trade"
|
||||
line "something?"
|
||||
done
|
||||
|
||||
_BTGreetingF15Text:
|
||||
text "OK, here goes!"
|
||||
line "I have momentum!"
|
||||
done
|
||||
|
||||
_BTLossF15Text:
|
||||
text "See, I rolled"
|
||||
line "right over you!"
|
||||
done
|
||||
|
||||
_BTWinF15Text:
|
||||
text "No! This did not"
|
||||
line "happen!"
|
||||
done
|
@ -1,36 +0,0 @@
|
||||
Unknown_170470:
|
||||
db $12
|
||||
db $24
|
||||
db $45
|
||||
db $45
|
||||
db $42
|
||||
db $42
|
||||
db $45
|
||||
db $42
|
||||
db $27
|
||||
db $27
|
||||
db $45
|
||||
db $27
|
||||
db $42
|
||||
db $24
|
||||
.end
|
||||
|
||||
Unknown_17047e:
|
||||
db $03, 4
|
||||
db $05, 8
|
||||
db $03, 5
|
||||
db $0e, 6
|
||||
db $03, 2
|
||||
db $00, 0
|
||||
db $39, 7
|
||||
db $07, 4
|
||||
db $00, 5
|
||||
db $04, 7
|
||||
db $01, 5
|
||||
db $00, 0
|
||||
db $0f, 5
|
||||
db $14, 7
|
||||
db $05, 5
|
||||
db $11, 12
|
||||
db $0c, 6
|
||||
db $06, 4
|
@ -1,39 +0,0 @@
|
||||
MysteryGiftDecos:
|
||||
db DECOFLAG_PIKACHU_DOLL
|
||||
db DECOFLAG_BULBASAUR_DOLL
|
||||
db DECOFLAG_CHARMANDER_DOLL
|
||||
db DECOFLAG_SQUIRTLE_DOLL
|
||||
db DECOFLAG_POLIWAG_DOLL
|
||||
db DECOFLAG_DIGLETT_DOLL
|
||||
db DECOFLAG_STARMIE_DOLL
|
||||
db DECOFLAG_MAGIKARP_DOLL
|
||||
db DECOFLAG_ODDISH_DOLL
|
||||
db DECOFLAG_GENGAR_DOLL
|
||||
db DECOFLAG_CLEFAIRY_POSTER
|
||||
db DECOFLAG_JIGGLYPUFF_POSTER
|
||||
db DECOFLAG_SNES
|
||||
db DECOFLAG_SHELLDER_DOLL
|
||||
db DECOFLAG_VOLTORB_DOLL
|
||||
db DECOFLAG_WEEDLE_DOLL
|
||||
db DECOFLAG_MAGNAPLANT
|
||||
db DECOFLAG_TROPICPLANT
|
||||
db DECOFLAG_FAMICOM
|
||||
db DECOFLAG_N64
|
||||
db DECOFLAG_SURF_PIKACHU_DOLL
|
||||
db DECOFLAG_JIGGLYPUFF_DOLL
|
||||
db DECOFLAG_PINK_BED
|
||||
db DECOFLAG_POLKADOT_BED
|
||||
db DECOFLAG_RED_CARPET
|
||||
db DECOFLAG_BLUE_CARPET
|
||||
db DECOFLAG_YELLOW_CARPET
|
||||
db DECOFLAG_GREEN_CARPET
|
||||
db DECOFLAG_JUMBOPLANT
|
||||
db DECOFLAG_VIRTUAL_BOY
|
||||
db DECOFLAG_MACHOP_DOLL
|
||||
db DECOFLAG_PIKACHU_POSTER
|
||||
db DECOFLAG_TENTACOOL_DOLL
|
||||
db DECOFLAG_BIG_ONIX_DOLL
|
||||
db DECOFLAG_PIKACHU_BED
|
||||
db DECOFLAG_GRIMER_DOLL
|
||||
db DECOFLAG_UNOWN_DOLL
|
||||
.End
|
@ -1,403 +0,0 @@
|
||||
DEF NUM_ODD_EGGS EQU 14
|
||||
|
||||
MACRO prob
|
||||
DEF prob_total += \1
|
||||
dw prob_total * $ffff / 100
|
||||
ENDM
|
||||
|
||||
OddEggProbabilities:
|
||||
; entries correspond to OddEggs (below)
|
||||
table_width 2, OddEggProbabilities
|
||||
DEF prob_total = 0
|
||||
; Pichu
|
||||
prob 8
|
||||
prob 1
|
||||
; Cleffa
|
||||
prob 16
|
||||
prob 3
|
||||
; Igglybuff
|
||||
prob 16
|
||||
prob 3
|
||||
; Smoochum
|
||||
prob 14
|
||||
prob 2
|
||||
; Magby
|
||||
prob 10
|
||||
prob 2
|
||||
; Elekid
|
||||
prob 12
|
||||
prob 2
|
||||
; Tyrogue
|
||||
prob 10
|
||||
prob 1
|
||||
assert_table_length NUM_ODD_EGGS
|
||||
assert prob_total == 100, "OddEggProbabilities do not sum to 100%!"
|
||||
|
||||
OddEggs:
|
||||
table_width NICKNAMED_MON_STRUCT_LENGTH, OddEggs
|
||||
|
||||
db PICHU
|
||||
db NO_ITEM
|
||||
db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
|
||||
dw 02048 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 30, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 17 ; Max HP
|
||||
bigdw 9 ; Atk
|
||||
bigdw 6 ; Def
|
||||
bigdw 11 ; Spd
|
||||
bigdw 8 ; SAtk
|
||||
bigdw 8 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db PICHU
|
||||
db NO_ITEM
|
||||
db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
|
||||
dw 00256 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 30, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 17 ; Max HP
|
||||
bigdw 9 ; Atk
|
||||
bigdw 7 ; Def
|
||||
bigdw 12 ; Spd
|
||||
bigdw 9 ; SAtk
|
||||
bigdw 9 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db CLEFFA
|
||||
db NO_ITEM
|
||||
db POUND, CHARM, DIZZY_PUNCH, 0
|
||||
dw 04096 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 35, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 20 ; Max HP
|
||||
bigdw 7 ; Atk
|
||||
bigdw 7 ; Def
|
||||
bigdw 6 ; Spd
|
||||
bigdw 9 ; SAtk
|
||||
bigdw 10 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db CLEFFA
|
||||
db NO_ITEM
|
||||
db POUND, CHARM, DIZZY_PUNCH, 0
|
||||
dw 00768 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 35, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 20 ; Max HP
|
||||
bigdw 7 ; Atk
|
||||
bigdw 8 ; Def
|
||||
bigdw 7 ; Spd
|
||||
bigdw 10 ; SAtk
|
||||
bigdw 11 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db IGGLYBUFF
|
||||
db NO_ITEM
|
||||
db SING, CHARM, DIZZY_PUNCH, 0
|
||||
dw 04096 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 15, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 24 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 6 ; Def
|
||||
bigdw 6 ; Spd
|
||||
bigdw 9 ; SAtk
|
||||
bigdw 7 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db IGGLYBUFF
|
||||
db NO_ITEM
|
||||
db SING, CHARM, DIZZY_PUNCH, 0
|
||||
dw 00768 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 15, 20, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 24 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 7 ; Def
|
||||
bigdw 7 ; Spd
|
||||
bigdw 10 ; SAtk
|
||||
bigdw 8 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db SMOOCHUM
|
||||
db NO_ITEM
|
||||
db POUND, LICK, DIZZY_PUNCH, 0
|
||||
dw 03584 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 35, 30, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 6 ; Def
|
||||
bigdw 11 ; Spd
|
||||
bigdw 13 ; SAtk
|
||||
bigdw 11 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db SMOOCHUM
|
||||
db NO_ITEM
|
||||
db POUND, LICK, DIZZY_PUNCH, 0
|
||||
dw 00512 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 35, 30, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 7 ; Def
|
||||
bigdw 12 ; Spd
|
||||
bigdw 14 ; SAtk
|
||||
bigdw 12 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db MAGBY
|
||||
db NO_ITEM
|
||||
db EMBER, DIZZY_PUNCH, 0, 0
|
||||
dw 02560 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 25, 10, 0, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 12 ; Atk
|
||||
bigdw 8 ; Def
|
||||
bigdw 13 ; Spd
|
||||
bigdw 12 ; SAtk
|
||||
bigdw 10 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db MAGBY
|
||||
db NO_ITEM
|
||||
db EMBER, DIZZY_PUNCH, 0, 0
|
||||
dw 00512 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 25, 10, 0, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 12 ; Atk
|
||||
bigdw 9 ; Def
|
||||
bigdw 14 ; Spd
|
||||
bigdw 13 ; SAtk
|
||||
bigdw 11 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db ELEKID
|
||||
db NO_ITEM
|
||||
db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
|
||||
dw 03072 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 30, 30, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 11 ; Atk
|
||||
bigdw 8 ; Def
|
||||
bigdw 14 ; Spd
|
||||
bigdw 11 ; SAtk
|
||||
bigdw 10 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db ELEKID
|
||||
db NO_ITEM
|
||||
db QUICK_ATTACK, LEER, DIZZY_PUNCH, 0
|
||||
dw 00512 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 30, 30, 10, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 19 ; Max HP
|
||||
bigdw 11 ; Atk
|
||||
bigdw 9 ; Def
|
||||
bigdw 15 ; Spd
|
||||
bigdw 12 ; SAtk
|
||||
bigdw 11 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db TYROGUE
|
||||
db NO_ITEM
|
||||
db TACKLE, DIZZY_PUNCH, 0, 0
|
||||
dw 02560 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 0, 0, 0, 0 ; DVs
|
||||
db 35, 10, 0, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 18 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 8 ; Def
|
||||
bigdw 8 ; Spd
|
||||
bigdw 8 ; SAtk
|
||||
bigdw 8 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
db TYROGUE
|
||||
db NO_ITEM
|
||||
db TACKLE, DIZZY_PUNCH, 0, 0
|
||||
dw 00256 ; OT ID
|
||||
dt 125 ; Exp
|
||||
; Stat exp
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
bigdw 0
|
||||
dn 2, 10, 10, 10 ; DVs
|
||||
db 35, 10, 0, 0 ; PP
|
||||
db 20 ; Step cycles to hatch
|
||||
db 0, 0, 0 ; Pokerus, Caught data
|
||||
db 5 ; Level
|
||||
db 0, 0 ; Status
|
||||
bigdw 0 ; HP
|
||||
bigdw 18 ; Max HP
|
||||
bigdw 8 ; Atk
|
||||
bigdw 9 ; Def
|
||||
bigdw 9 ; Spd
|
||||
bigdw 9 ; SAtk
|
||||
bigdw 9 ; SDef
|
||||
db "EGG@@@@@@@@"
|
||||
|
||||
assert_table_length NUM_ODD_EGGS
|
@ -26,9 +26,6 @@ SpecialsPointers::
|
||||
add_special Colosseum
|
||||
add_special TimeCapsule
|
||||
add_special CableClubCheckWhichChris
|
||||
add_special CheckMysteryGift
|
||||
add_special GetMysteryGiftItem
|
||||
add_special UnlockMysteryGift
|
||||
|
||||
; Map events
|
||||
add_special BugContestJudging
|
||||
@ -114,7 +111,6 @@ SpecialsPointers::
|
||||
add_special PlayCurMonCry
|
||||
add_special ProfOaksPCBoot
|
||||
add_special GameboyCheck
|
||||
add_special TrainerHouse
|
||||
add_special PhotoStudio
|
||||
add_special InitRoamMons
|
||||
add_special FadeOutMusic
|
||||
@ -122,40 +118,11 @@ SpecialsPointers::
|
||||
add_special PrintDiploma
|
||||
|
||||
; Crystal only
|
||||
add_special Function11ac3e
|
||||
add_special TradeCornerHoldMon
|
||||
add_special Function11b5e8
|
||||
add_special Function11b7e5
|
||||
add_special Function11b879
|
||||
add_special Function11b920
|
||||
add_special Function11b93b
|
||||
add_special BattleTowerRoomMenu
|
||||
add_special Function1700ba
|
||||
add_special Function170114
|
||||
add_special BattleTowerBattle
|
||||
add_special Function1704e1
|
||||
add_special UnusedBattleTowerDummySpecial1
|
||||
add_special LoadOpponentTrainerAndPokemonWithOTSprite
|
||||
add_special Function11ba38
|
||||
add_special CheckForBattleTowerRules
|
||||
add_special GiveOddEgg
|
||||
add_special Reset ; bank 0
|
||||
add_special Function1011f1
|
||||
add_special Function101220
|
||||
add_special Function101225
|
||||
add_special Function101231
|
||||
add_special MoveTutor
|
||||
add_special OmanyteChamber
|
||||
add_special Function11c1ab
|
||||
add_special BattleTowerAction
|
||||
add_special DisplayUnownWords
|
||||
add_special Menu_ChallengeExplanationCancel
|
||||
add_special Function17d2b6
|
||||
add_special Function17d2ce
|
||||
add_special BattleTowerMobileError
|
||||
add_special AskMobileOrCable
|
||||
add_special HoOhChamber
|
||||
add_special Function102142
|
||||
add_special CelebiShrineEvent
|
||||
add_special CheckCaughtCelebi
|
||||
add_special PokeSeer
|
||||
@ -166,19 +133,9 @@ SpecialsPointers::
|
||||
add_special BeastsCheck
|
||||
add_special MonCheck
|
||||
add_special SetPlayerPalette
|
||||
add_special UnusedBattleTowerDummySpecial2
|
||||
add_special Mobile_SelectThreeMons
|
||||
add_special Function1037eb
|
||||
add_special Function10383c
|
||||
add_special StubbedTrainerRankings_Healings
|
||||
add_special RefreshSprites
|
||||
add_special Function1037c2
|
||||
add_special Mobile_DummyReturnFalse
|
||||
add_special Function103780
|
||||
add_special Function10387b
|
||||
add_special AskRememberPassword
|
||||
add_special LoadMapPalettes
|
||||
add_special UnusedFindItemInPCOrBag
|
||||
|
||||
add_special InitialSetDSTFlag
|
||||
add_special InitialClearDSTFlag
|
||||
|
@ -1,39 +0,0 @@
|
||||
MysteryGiftItems:
|
||||
db BERRY
|
||||
db PRZCUREBERRY
|
||||
db MINT_BERRY
|
||||
db ICE_BERRY
|
||||
db BURNT_BERRY
|
||||
db PSNCUREBERRY
|
||||
db GUARD_SPEC
|
||||
db X_DEFEND
|
||||
db X_ATTACK
|
||||
db BITTER_BERRY
|
||||
db DIRE_HIT
|
||||
db X_SPECIAL
|
||||
db X_ACCURACY
|
||||
db EON_MAIL
|
||||
db MORPH_MAIL
|
||||
db MUSIC_MAIL
|
||||
db MIRACLEBERRY
|
||||
db GOLD_BERRY
|
||||
db REVIVE
|
||||
db GREAT_BALL
|
||||
db SUPER_REPEL
|
||||
db MAX_REPEL
|
||||
db ELIXER
|
||||
db ETHER
|
||||
db WATER_STONE
|
||||
db FIRE_STONE
|
||||
db LEAF_STONE
|
||||
db THUNDERSTONE
|
||||
db MAX_ETHER
|
||||
db MAX_ELIXER
|
||||
db MAX_REVIVE
|
||||
db SCOPE_LENS
|
||||
db HP_UP
|
||||
db PP_UP
|
||||
db RARE_CANDY
|
||||
db BLUESKY_MAIL
|
||||
db MIRAGE_MAIL
|
||||
.End
|
@ -8,7 +8,6 @@
|
||||
const PARTYMENUQUALITY_TMHM_COMPAT
|
||||
const PARTYMENUQUALITY_EVO_STONE_COMPAT
|
||||
const PARTYMENUQUALITY_GENDER
|
||||
const PARTYMENUQUALITY_MOBILE_SELECTION
|
||||
|
||||
MACRO partymenuqualities
|
||||
rept _NARG
|
||||
@ -30,11 +29,9 @@ PartyMenuQualityPointers:
|
||||
dw .Gender ; PARTYMENUACTION_GIVE_MON
|
||||
dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE
|
||||
dw .Default ; PARTYMENUACTION_GIVE_ITEM
|
||||
dw .Mobile ; PARTYMENUACTION_MOBILE
|
||||
assert_table_length NUM_PARTYMENUACTIONS
|
||||
|
||||
.Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS
|
||||
.TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS
|
||||
.EvoStone: partymenuqualities NICKNAMES, EVO_STONE_COMPAT, LEVEL, STATUS
|
||||
.Gender: partymenuqualities NICKNAMES, GENDER, LEVEL, STATUS
|
||||
.Mobile: partymenuqualities NICKNAMES, MOBILE_SELECTION, LEVEL, STATUS
|
||||
|
@ -213,85 +213,6 @@ _ReceivedTMHMText::
|
||||
text "!"
|
||||
prompt
|
||||
|
||||
_MysteryGiftCanceledText::
|
||||
text "The link has been"
|
||||
line "cancelled."
|
||||
prompt
|
||||
|
||||
_MysteryGiftCommErrorText::
|
||||
text "Communication"
|
||||
line "error."
|
||||
prompt
|
||||
|
||||
_RetrieveMysteryGiftText::
|
||||
text "Must retrieve GIFT"
|
||||
line "at #MON CENTER."
|
||||
prompt
|
||||
|
||||
_YourFriendIsNotReadyText::
|
||||
text "Your friend isn't"
|
||||
line "ready."
|
||||
prompt
|
||||
|
||||
_MysteryGiftFiveADayText::
|
||||
text "Sorry--only five"
|
||||
line "GIFTS a day."
|
||||
prompt
|
||||
|
||||
_MysteryGiftOneADayText::
|
||||
text "Sorry. One GIFT"
|
||||
line "a day per person."
|
||||
prompt
|
||||
|
||||
_MysteryGiftSentText::
|
||||
text_ram wMysteryGiftPartnerName
|
||||
text " sent"
|
||||
line "@"
|
||||
text_ram wStringBuffer1
|
||||
text "."
|
||||
prompt
|
||||
|
||||
_MysteryGiftSentHomeText::
|
||||
text_ram wMysteryGiftPartnerName
|
||||
text " sent"
|
||||
line "@"
|
||||
text_ram wStringBuffer1
|
||||
text_start
|
||||
cont "to @"
|
||||
text_ram wMysteryGiftPlayerName
|
||||
text "'s home."
|
||||
prompt
|
||||
|
||||
_NameCardReceivedCardText::
|
||||
text "Received"
|
||||
line "@"
|
||||
text_ram wMysteryGiftCardHolderName
|
||||
text "'s CARD."
|
||||
prompt
|
||||
|
||||
_NameCardListedCardText::
|
||||
text_ram wMysteryGiftCardHolderName
|
||||
text "'s CARD was"
|
||||
line "listed as no.@"
|
||||
text_decimal wTextDecimalByte, 1, 2
|
||||
text "."
|
||||
prompt
|
||||
|
||||
_NameCardNotRegisteredCardText::
|
||||
text "The CARD was not"
|
||||
line "registered."
|
||||
prompt
|
||||
|
||||
_NameCardLinkCancelledText::
|
||||
text "The link has been"
|
||||
line "cancelled."
|
||||
prompt
|
||||
|
||||
_NameCardLinkCommErrorText::
|
||||
text "Communication"
|
||||
line "error."
|
||||
prompt
|
||||
|
||||
_BadgeRequiredText::
|
||||
text "Sorry! A new BADGE"
|
||||
line "is required."
|
||||
@ -890,29 +811,6 @@ _MailMovedFromBoxText::
|
||||
line "from the MAILBOX."
|
||||
prompt
|
||||
|
||||
_YesPromptText:: ; unreferenced
|
||||
text "Yes"
|
||||
prompt
|
||||
|
||||
_NoPromptText:: ; unreferenced
|
||||
text "No"
|
||||
prompt
|
||||
|
||||
_AnimationTypeText:: ; unreferenced
|
||||
text_decimal wcf64, 1, 3
|
||||
text " @"
|
||||
text_ram wStringBuffer1
|
||||
text_start
|
||||
line "Animation type @"
|
||||
text_ram wStringBuffer2
|
||||
text_end
|
||||
|
||||
text_end ; unreferenced
|
||||
|
||||
_MonNumberText:: ; unreferenced
|
||||
text "#MON number?"
|
||||
done
|
||||
|
||||
_WasSentToBillsPCText::
|
||||
text_ram wStringBuffer1
|
||||
text " was"
|
||||
|
@ -79,111 +79,6 @@ _LinkAskTradeForText::
|
||||
text "?"
|
||||
done
|
||||
|
||||
_MobileBattleMustPickThreeMonText::
|
||||
text "To enter a mobile"
|
||||
line "battle, you must"
|
||||
|
||||
para "pick a team of"
|
||||
line "three #MON."
|
||||
|
||||
para "Is that OK?"
|
||||
done
|
||||
|
||||
_MobileBattleMoreInfoText::
|
||||
text "Need more info on"
|
||||
line "mobile battles?"
|
||||
done
|
||||
|
||||
_MobileBattleRulesText::
|
||||
text "For a mobile"
|
||||
line "battle, choose"
|
||||
cont "three #MON."
|
||||
|
||||
para "The maximum daily"
|
||||
line "play time is ten"
|
||||
|
||||
para "minutes for each"
|
||||
line "linked player."
|
||||
|
||||
para "If a battle isn't"
|
||||
line "finished within"
|
||||
|
||||
para "the time limit,"
|
||||
line "the player with"
|
||||
|
||||
para "the fewest fainted"
|
||||
line "#MON wins."
|
||||
|
||||
para "If tied, the team"
|
||||
line "that lost the"
|
||||
|
||||
para "least amount of HP"
|
||||
line "wins."
|
||||
done
|
||||
|
||||
_WouldYouLikeToMobileBattleText::
|
||||
text "Today's remaining"
|
||||
line "time is @"
|
||||
text_decimal wStringBuffer2, 1, 2
|
||||
text " min."
|
||||
|
||||
para "Would you like to"
|
||||
line "battle?"
|
||||
done
|
||||
|
||||
_WantAQuickMobileBattleText::
|
||||
text "There are only @"
|
||||
text_decimal wStringBuffer2, 1, 2
|
||||
text_start
|
||||
line "min. left today."
|
||||
|
||||
para "Want a quick"
|
||||
line "battle?"
|
||||
done
|
||||
|
||||
_WantToRushThroughAMobileBattleText::
|
||||
text "There is only"
|
||||
line "1 min. left today!"
|
||||
|
||||
para "Want to rush"
|
||||
line "through a battle?"
|
||||
done
|
||||
|
||||
_PleaseTryAgainTomorrowText::
|
||||
text "There is less than"
|
||||
line "1 min. left today!"
|
||||
|
||||
para "Please try again"
|
||||
line "tomorrow."
|
||||
done
|
||||
|
||||
_TryAgainUsingSameSettingsText::
|
||||
text "Try again using"
|
||||
line "the same settings?"
|
||||
done
|
||||
|
||||
_MobileBattleLessThanOneMinuteLeftText::
|
||||
text "There is less than"
|
||||
line "1 min. left today!"
|
||||
done
|
||||
|
||||
_MobileBattleNoTimeLeftForLinkingText::
|
||||
text "No time left for"
|
||||
line "linking today."
|
||||
done
|
||||
|
||||
_PickThreeMonForMobileBattleText::
|
||||
text "Pick three #MON"
|
||||
line "for battle."
|
||||
done
|
||||
|
||||
_MobileBattleRemainingTimeText::
|
||||
text "Today's remaining"
|
||||
line "time is @"
|
||||
text_decimal wStringBuffer2, 1, 2
|
||||
text " min."
|
||||
done
|
||||
|
||||
_WouldYouLikeToSaveTheGameText::
|
||||
text "Would you like to"
|
||||
line "save the game?"
|
||||
@ -715,30 +610,6 @@ _SlotsDarnText::
|
||||
text "Darn!"
|
||||
done
|
||||
|
||||
_MobileStadiumEntryText::
|
||||
text "Data for use in"
|
||||
line "the MOBILE STADIUM"
|
||||
|
||||
para "of the N64 #MON"
|
||||
line "STADIUM 2 can be"
|
||||
cont "read here."
|
||||
|
||||
para "Read the data?"
|
||||
done
|
||||
|
||||
_MobileStadiumSuccessText::
|
||||
text "Data transfer is"
|
||||
line "complete."
|
||||
|
||||
para "We hope you enjoy"
|
||||
line "MOBILE STADIUM"
|
||||
|
||||
para "battles in the N64"
|
||||
line "#MON STADIUM 2."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MainMenuTimeUnknownText::
|
||||
text "Clock time unknown"
|
||||
done
|
||||
@ -753,131 +624,6 @@ _DeletedTheLoginPasswordText::
|
||||
line "PASSWORD."
|
||||
done
|
||||
|
||||
_MobilePickThreeMonForBattleText::
|
||||
text "Pick three #MON"
|
||||
line "for battle."
|
||||
prompt
|
||||
|
||||
_MobileUseTheseThreeMonText::
|
||||
text_ram wMobileParticipant1Nickname
|
||||
text ","
|
||||
line "@"
|
||||
text_ram wMobileParticipant2Nickname
|
||||
text " and"
|
||||
cont "@"
|
||||
text_ram wMobileParticipant3Nickname
|
||||
text "."
|
||||
|
||||
para "Use these three?"
|
||||
done
|
||||
|
||||
_MobileOnlyThreeMonMayEnterText::
|
||||
text "Only three #MON"
|
||||
line "may enter."
|
||||
prompt
|
||||
|
||||
_MobileCardFolderIntro1Text::
|
||||
text "The CARD FOLDER"
|
||||
line "stores your and"
|
||||
|
||||
para "your friends'"
|
||||
line "CARDS."
|
||||
|
||||
para "A CARD contains"
|
||||
line "information like"
|
||||
|
||||
para "the person's name,"
|
||||
line "phone number and"
|
||||
cont "profile."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MobileCardFolderIntro2Text::
|
||||
text "This is your CARD."
|
||||
|
||||
para "Once you've"
|
||||
line "entered your phone"
|
||||
|
||||
para "number, you can"
|
||||
line "trade CARDS with"
|
||||
cont "your friends."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MobileCardFolderIntro3Text::
|
||||
text "If you have your"
|
||||
line "friend's CARD, you"
|
||||
|
||||
para "can use it to make"
|
||||
line "a call from a"
|
||||
|
||||
para "mobile phone on"
|
||||
line "the 2nd floor of a"
|
||||
cont "#MON CENTER."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MobileCardFolderIntro4Text::
|
||||
text "To safely store"
|
||||
line "your collection of"
|
||||
|
||||
para "CARDS, you must"
|
||||
line "set a PASSCODE for"
|
||||
cont "your CARD FOLDER."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MobileCardFolderAskDeleteText::
|
||||
text "If the CARD FOLDER"
|
||||
line "is deleted, all"
|
||||
|
||||
para "its CARDS and the"
|
||||
line "PASSCODE will also"
|
||||
cont "be deleted."
|
||||
|
||||
para "Beware--a deleted"
|
||||
line "CARD FOLDER can't"
|
||||
cont "be restored."
|
||||
|
||||
para "Want to delete"
|
||||
line "your CARD FOLDER?"
|
||||
done
|
||||
|
||||
_MobileCardFolderDeleteAreYouSureText::
|
||||
text "Are you sure you"
|
||||
line "want to delete it?"
|
||||
done
|
||||
|
||||
_MobileCardFolderDeletedText::
|
||||
text "The CARD FOLDER"
|
||||
line "has been deleted."
|
||||
|
||||
para ""
|
||||
done
|
||||
|
||||
_MobileCardFolderAskOpenOldText::
|
||||
text "There is an older"
|
||||
line "CARD FOLDER from a"
|
||||
cont "previous journey."
|
||||
|
||||
para "Do you want to"
|
||||
line "open it?"
|
||||
done
|
||||
|
||||
_MobileCardFolderAskDeleteOldText::
|
||||
text "Delete the old"
|
||||
line "CARD FOLDER?"
|
||||
done
|
||||
|
||||
_MobileCardFolderFinishRegisteringCardsText::
|
||||
text "Finish registering"
|
||||
line "CARDS?"
|
||||
done
|
||||
|
||||
_PhoneWrongNumberText::
|
||||
text "Huh? Sorry, wrong"
|
||||
line "number!"
|
||||
|
@ -65,20 +65,11 @@ DoBattleTransition:
|
||||
ret
|
||||
|
||||
.InitGFX:
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jr z, .mobile
|
||||
farcall ReanchorBGMap_NoOAMUpdate
|
||||
call UpdateSprites
|
||||
call DelayFrame
|
||||
call .NonMobile_LoadPokeballTiles
|
||||
call .LoadPokeballTiles
|
||||
call BattleStart_CopyTilemapAtOnce
|
||||
jr .resume
|
||||
|
||||
.mobile
|
||||
call LoadTrainerBattlePokeballTiles
|
||||
|
||||
.resume
|
||||
ld a, SCREEN_HEIGHT_PX
|
||||
ldh [hWY], a
|
||||
call DelayFrame
|
||||
@ -92,7 +83,7 @@ DoBattleTransition:
|
||||
call WipeLYOverrides
|
||||
ret
|
||||
|
||||
.NonMobile_LoadPokeballTiles:
|
||||
.LoadPokeballTiles:
|
||||
call LoadTrainerBattlePokeballTiles
|
||||
hlbgcoord 0, 0
|
||||
call ConvertTrainerBattlePokeballTilesTo2bpp
|
||||
|
@ -1,12 +1,5 @@
|
||||
CheckBattleScene:
|
||||
; Return carry if battle scene is turned off.
|
||||
|
||||
ld a, BANK(wLinkMode)
|
||||
ld hl, wLinkMode
|
||||
call GetFarWRAMByte
|
||||
cp LINK_MOBILE
|
||||
jr z, .mobile
|
||||
|
||||
ld a, [wOptions]
|
||||
bit BATTLE_SCENE, a
|
||||
jr nz, .off
|
||||
@ -14,34 +7,6 @@ CheckBattleScene:
|
||||
and a
|
||||
ret
|
||||
|
||||
.mobile
|
||||
ld a, [wcd2f]
|
||||
and a
|
||||
jr nz, .from_wram
|
||||
|
||||
ld a, BANK(s4_a60c) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
ld a, [s4_a60c]
|
||||
ld c, a
|
||||
call CloseSRAM
|
||||
|
||||
ld a, c
|
||||
bit 0, c
|
||||
jr z, .off
|
||||
|
||||
and a
|
||||
ret
|
||||
|
||||
.from_wram
|
||||
ld a, BANK(w5_dc00)
|
||||
ld hl, w5_dc00
|
||||
call GetFarWRAMByte
|
||||
bit 0, a
|
||||
jr z, .off
|
||||
|
||||
and a
|
||||
ret
|
||||
|
||||
.off
|
||||
scf
|
||||
ret
|
||||
|
@ -130,23 +130,12 @@ WildFled_EnemyFled_LinkBattleCanceled:
|
||||
and BATTLERESULT_BITMASK
|
||||
ld [wBattleResult], a ; WIN
|
||||
ld hl, BattleText_EnemyFled
|
||||
call CheckMobileBattleError
|
||||
jr nc, .print_text
|
||||
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .skip_text
|
||||
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
|
||||
.print_text
|
||||
call StdBattleTextbox
|
||||
|
||||
.skip_text
|
||||
call StopDangerSound
|
||||
call CheckMobileBattleError
|
||||
jr c, .skip_sfx
|
||||
|
||||
ld de, SFX_RUN
|
||||
call PlaySFX
|
||||
|
||||
@ -158,7 +147,6 @@ WildFled_EnemyFled_LinkBattleCanceled:
|
||||
|
||||
BattleTurn:
|
||||
.loop
|
||||
call Stubbed_Increments5_a89a
|
||||
call CheckContestBattleOver
|
||||
jp c, .quit
|
||||
|
||||
@ -175,14 +163,6 @@ BattleTurn:
|
||||
call UpdateBattleMonInParty
|
||||
farcall AIChooseMove
|
||||
|
||||
call IsMobileBattle
|
||||
jr nz, .not_disconnected
|
||||
farcall Function100da5
|
||||
farcall StartMobileInactivityTimer
|
||||
farcall Function100dd8
|
||||
jp c, .quit
|
||||
.not_disconnected
|
||||
|
||||
call CheckPlayerLockedIn
|
||||
jr c, .skip_iteration
|
||||
.loop1
|
||||
@ -208,9 +188,6 @@ BattleTurn:
|
||||
.false
|
||||
call Battle_PlayerFirst
|
||||
.proceed
|
||||
call CheckMobileBattleError
|
||||
jr c, .quit
|
||||
|
||||
ld a, [wForcedSwitch]
|
||||
and a
|
||||
jr nz, .quit
|
||||
@ -228,24 +205,6 @@ BattleTurn:
|
||||
.quit
|
||||
ret
|
||||
|
||||
Stubbed_Increments5_a89a:
|
||||
ret
|
||||
ld a, BANK(s5_a89a) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
ld hl, s5_a89a + 1 ; address of MBC30 bank
|
||||
inc [hl]
|
||||
jr nz, .finish
|
||||
dec hl
|
||||
inc [hl]
|
||||
jr nz, .finish
|
||||
dec [hl]
|
||||
inc hl
|
||||
dec [hl]
|
||||
|
||||
.finish
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
HandleBetweenTurnEffects:
|
||||
ldh a, [hSerialConnectionStatus]
|
||||
cp USING_EXTERNAL_CLOCK
|
||||
@ -874,8 +833,6 @@ Battle_EnemyFirst:
|
||||
callfar AI_SwitchOrTryItem
|
||||
jr c, .switch_item
|
||||
call EnemyTurn_EndOpponentProtectEndureDestinyBond
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
ld a, [wForcedSwitch]
|
||||
and a
|
||||
ret nz
|
||||
@ -890,8 +847,6 @@ Battle_EnemyFirst:
|
||||
jp z, HandleEnemyMonFaint
|
||||
call RefreshBattleHuds
|
||||
call PlayerTurn_EndOpponentProtectEndureDestinyBond
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
ld a, [wForcedSwitch]
|
||||
and a
|
||||
ret nz
|
||||
@ -918,8 +873,6 @@ Battle_PlayerFirst:
|
||||
ld a, [wForcedSwitch]
|
||||
and a
|
||||
ret nz
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
call HasEnemyFainted
|
||||
jp z, HandleEnemyMonFaint
|
||||
call HasPlayerFainted
|
||||
@ -937,8 +890,6 @@ Battle_PlayerFirst:
|
||||
call TryEnemyFlee
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
call EnemyTurn_EndOpponentProtectEndureDestinyBond
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
ld a, [wForcedSwitch]
|
||||
and a
|
||||
ret nz
|
||||
@ -2048,8 +1999,6 @@ HandleEnemyMonFaint:
|
||||
|
||||
.dont_flee
|
||||
call ForcePlayerMonChoice
|
||||
call CheckMobileBattleError
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
|
||||
ld a, BATTLEPLAYERACTION_USEITEM
|
||||
ld [wBattlePlayerAction], a
|
||||
@ -2356,16 +2305,10 @@ WinTrainerBattle:
|
||||
ld hl, BattleText_EnemyWasDefeated
|
||||
call StdBattleTextbox
|
||||
|
||||
call IsMobileBattle
|
||||
jr z, .mobile
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
jr nz, .battle_tower
|
||||
|
||||
call BattleWinSlideInEnemyTrainerFrontpic
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
@ -2384,32 +2327,6 @@ WinTrainerBattle:
|
||||
|
||||
jp .give_money
|
||||
|
||||
.mobile
|
||||
call BattleWinSlideInEnemyTrainerFrontpic
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
ld c, $4 ; win
|
||||
farcall Mobile_PrintOpponentBattleMessage
|
||||
ret
|
||||
|
||||
.battle_tower
|
||||
call BattleWinSlideInEnemyTrainerFrontpic
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
call EmptyBattleTextbox
|
||||
ld c, BATTLETOWERTEXT_LOSS_TEXT
|
||||
farcall BattleTowerText
|
||||
call WaitPressAorB_BlinkCursor
|
||||
ld hl, wPayDayMoney
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
inc hl
|
||||
or [hl]
|
||||
ret nz
|
||||
call ClearTilemap
|
||||
call ClearBGPalettes
|
||||
ret
|
||||
|
||||
.give_money
|
||||
ld a, [wAmuletCoin]
|
||||
and a
|
||||
@ -2521,7 +2438,6 @@ AddBattleMoneyToAccount:
|
||||
push bc
|
||||
ld b, h
|
||||
ld c, l
|
||||
farcall StubbedTrainerRankings_AddToBattlePayouts
|
||||
pop bc
|
||||
pop hl
|
||||
.loop
|
||||
@ -2636,8 +2552,6 @@ HandlePlayerMonFaint:
|
||||
|
||||
.switch
|
||||
call ForcePlayerMonChoice
|
||||
call CheckMobileBattleError
|
||||
jp c, WildFled_EnemyFled_LinkBattleCanceled
|
||||
ld a, c
|
||||
and a
|
||||
ret nz
|
||||
@ -2729,14 +2643,11 @@ ForcePlayerMonChoice:
|
||||
.skip_link
|
||||
xor a ; BATTLEPLAYERACTION_USEMOVE
|
||||
ld [wBattlePlayerAction], a
|
||||
call CheckMobileBattleError
|
||||
jr c, .enemy_fainted_mobile_error
|
||||
ld hl, wEnemyMonHP
|
||||
ld a, [hli]
|
||||
or [hl]
|
||||
jr nz, .send_out_pokemon
|
||||
|
||||
.enemy_fainted_mobile_error
|
||||
call ClearSprites
|
||||
call ClearBGPalettes
|
||||
call _LoadHPBar
|
||||
@ -2794,28 +2705,6 @@ PlayerPartyMonEntrance:
|
||||
call SetPlayerTurn
|
||||
jp SpikesDamage
|
||||
|
||||
CheckMobileBattleError:
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jr nz, .not_mobile ; It's not a mobile battle
|
||||
|
||||
ld a, [wcd2b]
|
||||
and a
|
||||
jr z, .not_mobile
|
||||
|
||||
; We have a mobile battle and something else happened
|
||||
scf
|
||||
ret
|
||||
|
||||
.not_mobile
|
||||
xor a
|
||||
ret
|
||||
|
||||
IsMobileBattle:
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
ret
|
||||
|
||||
SetUpBattlePartyMenu:
|
||||
call ClearBGPalettes
|
||||
SetUpBattlePartyMenu_Loop: ; switch to fullscreen menu?
|
||||
@ -2834,15 +2723,9 @@ JumpToPartyMenuAndPrintText:
|
||||
ret
|
||||
|
||||
SelectBattleMon:
|
||||
call IsMobileBattle
|
||||
jr z, .mobile
|
||||
farcall PartyMenuSelect
|
||||
ret
|
||||
|
||||
.mobile
|
||||
farcall Mobile_PartyMenuSelect
|
||||
ret
|
||||
|
||||
PickPartyMonInBattle:
|
||||
.loop
|
||||
ld a, PARTYMENUACTION_SWITCH ; Which PKMN?
|
||||
@ -2876,8 +2759,6 @@ ForcePickPartyMonInBattle:
|
||||
.pick
|
||||
call PickPartyMonInBattle
|
||||
ret nc
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
|
||||
ld de, SFX_WRONG
|
||||
call PlaySFX
|
||||
@ -2898,8 +2779,6 @@ ForcePickSwitchMonInBattle:
|
||||
|
||||
.pick
|
||||
call ForcePickPartyMonInBattle
|
||||
call CheckMobileBattleError
|
||||
ret c
|
||||
call SwitchMonAlreadyOut
|
||||
jr c, .pick
|
||||
|
||||
@ -2910,10 +2789,6 @@ LostBattle:
|
||||
ld a, 1
|
||||
ld [wBattleEnded], a
|
||||
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
jr nz, .battle_tower
|
||||
|
||||
ld a, [wBattleType]
|
||||
cp BATTLETYPE_CANLOSE
|
||||
jr nz, .not_canlose
|
||||
@ -2934,24 +2809,6 @@ LostBattle:
|
||||
.skip_win_loss_text
|
||||
ret
|
||||
|
||||
.battle_tower
|
||||
; Remove the enemy from the screen.
|
||||
hlcoord 0, 0
|
||||
lb bc, 8, 21
|
||||
call ClearBox
|
||||
call BattleWinSlideInEnemyTrainerFrontpic
|
||||
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
|
||||
call EmptyBattleTextbox
|
||||
ld c, BATTLETOWERTEXT_WIN_TEXT
|
||||
farcall BattleTowerText
|
||||
call WaitPressAorB_BlinkCursor
|
||||
call ClearTilemap
|
||||
call ClearBGPalettes
|
||||
ret
|
||||
|
||||
.not_canlose
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
@ -2976,8 +2833,6 @@ LostBattle:
|
||||
|
||||
.not_tied
|
||||
ld hl, LostAgainstText
|
||||
call IsMobileBattle
|
||||
jr z, .mobile
|
||||
|
||||
.text
|
||||
call StdBattleTextbox
|
||||
@ -2986,21 +2841,6 @@ LostBattle:
|
||||
scf
|
||||
ret
|
||||
|
||||
.mobile
|
||||
; Remove the enemy from the screen.
|
||||
hlcoord 0, 0
|
||||
lb bc, 8, 21
|
||||
call ClearBox
|
||||
call BattleWinSlideInEnemyTrainerFrontpic
|
||||
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
|
||||
ld c, $3 ; lost
|
||||
farcall Mobile_PrintOpponentBattleMessage
|
||||
scf
|
||||
ret
|
||||
|
||||
EnemyMonFaintedAnimation:
|
||||
hlcoord 12, 5
|
||||
decoord 12, 6
|
||||
@ -3817,8 +3657,6 @@ TryToRunAwayFromBattle:
|
||||
ld [wCurPlayerMove], a
|
||||
call LinkBattleSendReceiveAction
|
||||
call SafeLoadTempTilemapToTilemap
|
||||
call CheckMobileBattleError
|
||||
jr c, .mobile
|
||||
|
||||
; Got away safely
|
||||
ld a, [wBattleAction]
|
||||
@ -3845,20 +3683,6 @@ TryToRunAwayFromBattle:
|
||||
scf
|
||||
ret
|
||||
|
||||
.mobile
|
||||
call StopDangerSound
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .skip_link_error
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
call StdBattleTextbox
|
||||
|
||||
.skip_link_error
|
||||
call WaitSFX
|
||||
call LoadTilemapToTempTilemap
|
||||
scf
|
||||
ret
|
||||
|
||||
InitBattleMon:
|
||||
ld a, MON_SPECIES
|
||||
call GetPartyParamLocation
|
||||
@ -4924,39 +4748,16 @@ BattleMenu_Fight:
|
||||
ret
|
||||
|
||||
LoadBattleMenu2:
|
||||
call IsMobileBattle
|
||||
jr z, .mobile
|
||||
|
||||
farcall LoadBattleMenu
|
||||
and a
|
||||
ret
|
||||
|
||||
.mobile
|
||||
farcall Mobile_LoadBattleMenu
|
||||
ld a, [wcd2b]
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr nz, .error
|
||||
ld hl, BattleText_LinkErrorBattleCanceled
|
||||
call StdBattleTextbox
|
||||
ld c, 60
|
||||
call DelayFrames
|
||||
.error
|
||||
scf
|
||||
ret
|
||||
|
||||
BattleMenu_Pack:
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
jp nz, .ItemsCantBeUsed
|
||||
|
||||
ld a, [wInBattleTowerBattle]
|
||||
and a
|
||||
jp nz, .ItemsCantBeUsed
|
||||
|
||||
call LoadStandardMenuHeader
|
||||
|
||||
ld a, [wBattleType]
|
||||
@ -5076,14 +4877,10 @@ BattleMenuPKMN_Loop:
|
||||
jr .loop
|
||||
|
||||
.PressedB:
|
||||
call CheckMobileBattleError
|
||||
jr c, .Cancel
|
||||
jr BattleMenuPKMN_Loop
|
||||
|
||||
.Stats:
|
||||
call Battle_StatsScreen
|
||||
call CheckMobileBattleError
|
||||
jr c, .Cancel
|
||||
jp BattleMenuPKMN_ReturnFromStats
|
||||
|
||||
.Cancel:
|
||||
@ -5098,15 +4895,9 @@ BattleMenuPKMN_Loop:
|
||||
jp BattleMenu
|
||||
|
||||
.GetMenu:
|
||||
call IsMobileBattle
|
||||
jr z, .mobile
|
||||
farcall BattleMonMenu
|
||||
ret
|
||||
|
||||
.mobile
|
||||
farcall MobileBattleMonMenu
|
||||
ret
|
||||
|
||||
Battle_StatsScreen:
|
||||
call DisableLCD
|
||||
|
||||
@ -5321,12 +5112,6 @@ CheckAmuletCoin:
|
||||
ret
|
||||
|
||||
MoveSelectionScreen:
|
||||
call IsMobileBattle
|
||||
jr nz, .not_mobile
|
||||
farcall Mobile_MoveSelectionScreen
|
||||
ret
|
||||
|
||||
.not_mobile
|
||||
ld hl, wEnemyMonMoves
|
||||
ld a, [wMoveSelectionMenuType]
|
||||
dec a
|
||||
@ -5639,7 +5424,6 @@ MoveInfoBox:
|
||||
ld b, 3
|
||||
ld c, 9
|
||||
call Textbox
|
||||
call MobileTextBorder
|
||||
|
||||
ld a, [wPlayerDisableCount]
|
||||
and a
|
||||
@ -5709,11 +5493,6 @@ MoveInfoBox:
|
||||
|
||||
.PrintPP:
|
||||
hlcoord 5, 11
|
||||
ld a, [wLinkMode] ; What's the point of this check?
|
||||
cp LINK_MOBILE
|
||||
jr c, .ok
|
||||
hlcoord 5, 11
|
||||
.ok
|
||||
push hl
|
||||
ld de, wStringBuffer1
|
||||
lb bc, 1, 2
|
||||
@ -5948,7 +5727,79 @@ CheckEnemyLockedIn:
|
||||
ret
|
||||
|
||||
LinkBattleSendReceiveAction:
|
||||
farcall _LinkBattleSendReceiveAction
|
||||
call .StageForSend
|
||||
ld [wLinkBattleSentAction], a
|
||||
farcall PlaceWaitingText
|
||||
call .LinkBattle_SendReceiveAction
|
||||
ret
|
||||
|
||||
.StageForSend:
|
||||
ld a, [wBattlePlayerAction]
|
||||
and a ; BATTLEPLAYERACTION_USEMOVE?
|
||||
jr nz, .switch
|
||||
ld a, [wCurPlayerMove]
|
||||
ld b, BATTLEACTION_STRUGGLE
|
||||
cp STRUGGLE
|
||||
jr z, .struggle
|
||||
ld b, BATTLEACTION_SKIPTURN
|
||||
cp $ff
|
||||
jr z, .struggle
|
||||
ld a, [wCurMoveNum]
|
||||
jr .use_move
|
||||
|
||||
.switch
|
||||
ld a, [wCurPartyMon]
|
||||
add BATTLEACTION_SWITCH1
|
||||
jr .use_move
|
||||
|
||||
.struggle
|
||||
ld a, b
|
||||
|
||||
.use_move
|
||||
and $0f
|
||||
ret
|
||||
|
||||
.LinkBattle_SendReceiveAction:
|
||||
ld a, [wLinkBattleSentAction]
|
||||
ld [wPlayerLinkAction], a
|
||||
ld a, $ff
|
||||
ld [wOtherPlayerLinkAction], a
|
||||
.waiting
|
||||
call LinkTransfer
|
||||
call DelayFrame
|
||||
ld a, [wOtherPlayerLinkAction]
|
||||
inc a
|
||||
jr z, .waiting
|
||||
|
||||
vc_hook Wireless_end_exchange
|
||||
vc_patch Wireless_net_delay_3
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
ld b, 26
|
||||
else
|
||||
ld b, 10
|
||||
endc
|
||||
vc_patch_end
|
||||
.receive
|
||||
call DelayFrame
|
||||
call LinkTransfer
|
||||
dec b
|
||||
jr nz, .receive
|
||||
|
||||
if DEF(_CRYSTAL11_VC)
|
||||
ld b, 26
|
||||
else
|
||||
ld b, 10
|
||||
endc
|
||||
vc_patch_end
|
||||
.acknowledge
|
||||
call DelayFrame
|
||||
call LinkDataReceived
|
||||
dec b
|
||||
jr nz, .acknowledge
|
||||
|
||||
vc_hook Wireless_end_send_zero_bytes
|
||||
ld a, [wOtherPlayerLinkAction]
|
||||
ld [wBattleAction], a
|
||||
ret
|
||||
|
||||
LoadEnemyMon:
|
||||
@ -5969,11 +5820,6 @@ LoadEnemyMon:
|
||||
and a
|
||||
jp nz, InitEnemyMon
|
||||
|
||||
; and also not in a BattleTower-Battle
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
jp nz, InitEnemyMon
|
||||
|
||||
; Make sure everything knows what species we're working with
|
||||
ld a, [wTempEnemyMonSpecies]
|
||||
ld [wEnemyMonSpecies], a
|
||||
@ -6773,10 +6619,6 @@ BadgeStatBoosts:
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wInBattleTowerBattle]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wJohtoBadges]
|
||||
|
||||
; Swap badges 3 (PlainBadge) and 5 (MineralBadge).
|
||||
@ -6972,15 +6814,11 @@ FinishBattleAnim:
|
||||
|
||||
GiveExperiencePoints:
|
||||
; Give experience.
|
||||
; Don't give experience if linked or in the Battle Tower.
|
||||
; Don't give experience if linked.
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
||||
call .EvenlyDivideExpAmongParticipants
|
||||
xor a
|
||||
ld [wCurPartyMon], a
|
||||
@ -8036,7 +7874,6 @@ CallDoBattle: ; unreferenced
|
||||
ret
|
||||
|
||||
BattleIntro:
|
||||
farcall StubbedTrainerRankings_Battles ; mobile
|
||||
call LoadTrainerOrWildMonPic
|
||||
xor a
|
||||
ld [wTempBattleMonSpecies], a
|
||||
@ -8117,7 +7954,6 @@ BackUpBGMap2:
|
||||
|
||||
InitEnemyTrainer:
|
||||
ld [wTrainerClass], a
|
||||
farcall StubbedTrainerRankings_TrainerBattles
|
||||
xor a
|
||||
ld [wTempEnemyMonSpecies], a
|
||||
callfar GetTrainerAttributes
|
||||
@ -8173,7 +8009,6 @@ InitEnemyTrainer:
|
||||
InitEnemyWildmon:
|
||||
ld a, WILD_BATTLE
|
||||
ld [wBattleMode], a
|
||||
farcall StubbedTrainerRankings_WildBattles
|
||||
call LoadEnemyMon
|
||||
ld hl, wEnemyMonMoves
|
||||
ld de, wWildMonMoves
|
||||
@ -8341,16 +8176,9 @@ CheckPayDay:
|
||||
call AddBattleMoneyToAccount
|
||||
ld hl, BattleText_PlayerPickedUpPayDayMoney
|
||||
call StdBattleTextbox
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret z
|
||||
call ClearTilemap
|
||||
call ClearBGPalettes
|
||||
ret
|
||||
|
||||
ShowLinkBattleParticipantsAfterEnd:
|
||||
farcall StubbedTrainerRankings_LinkBattles
|
||||
farcall BackupMobileEventIndex
|
||||
ld a, [wCurOTMon]
|
||||
ld hl, wOTPartyMon1Status
|
||||
call GetPartyLocation
|
||||
@ -8361,42 +8189,26 @@ ShowLinkBattleParticipantsAfterEnd:
|
||||
ret
|
||||
|
||||
DisplayLinkBattleResult:
|
||||
farcall CheckMobileBattleError
|
||||
jp c, .Mobile_InvalidBattle
|
||||
call IsMobileBattle2
|
||||
jr nz, .proceed
|
||||
|
||||
ld hl, wcd2a
|
||||
bit 4, [hl]
|
||||
jr z, .proceed
|
||||
|
||||
farcall DetermineLinkBattleResult
|
||||
|
||||
.proceed
|
||||
ld a, [wBattleResult]
|
||||
and $f
|
||||
cp LOSE
|
||||
jr c, .win ; WIN
|
||||
jr z, .lose ; LOSE
|
||||
; DRAW
|
||||
farcall StubbedTrainerRankings_ColosseumDraws
|
||||
ld de, .Draw
|
||||
jr .store_result
|
||||
|
||||
.win
|
||||
farcall StubbedTrainerRankings_ColosseumWins
|
||||
ld de, .YouWin
|
||||
jr .store_result
|
||||
|
||||
.lose
|
||||
farcall StubbedTrainerRankings_ColosseumLosses
|
||||
ld de, .YouLose
|
||||
jr .store_result
|
||||
|
||||
.store_result
|
||||
hlcoord 6, 8
|
||||
call PlaceString
|
||||
farcall BackupMobileEventIndex
|
||||
ld c, 200
|
||||
call DelayFrames
|
||||
|
||||
@ -8408,18 +8220,10 @@ DisplayLinkBattleResult:
|
||||
|
||||
call CloseSRAM
|
||||
|
||||
call IsMobileBattle2
|
||||
jr z, .mobile
|
||||
call WaitPressAorB_BlinkCursor
|
||||
call ClearTilemap
|
||||
ret
|
||||
|
||||
.mobile
|
||||
ld c, 200
|
||||
call DelayFrames
|
||||
call ClearTilemap
|
||||
ret
|
||||
|
||||
.YouWin:
|
||||
db "YOU WIN@"
|
||||
.YouLose:
|
||||
@ -8427,23 +8231,6 @@ DisplayLinkBattleResult:
|
||||
.Draw:
|
||||
db " DRAW@"
|
||||
|
||||
.Mobile_InvalidBattle:
|
||||
hlcoord 6, 8
|
||||
ld de, .InvalidBattle
|
||||
call PlaceString
|
||||
ld c, 200
|
||||
call DelayFrames
|
||||
call ClearTilemap
|
||||
ret
|
||||
|
||||
.InvalidBattle:
|
||||
db "INVALID BATTLE@"
|
||||
|
||||
IsMobileBattle2:
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
ret
|
||||
|
||||
_DisplayLinkRecord:
|
||||
ld a, BANK(sLinkBattleStats)
|
||||
call OpenSRAM
|
||||
@ -8907,7 +8694,6 @@ InitBattleDisplay:
|
||||
ld b, 4
|
||||
ld c, 18
|
||||
call Textbox
|
||||
farcall MobileTextBorder
|
||||
hlcoord 1, 5
|
||||
lb bc, 3, 7
|
||||
call ClearBox
|
||||
@ -9114,8 +8900,6 @@ BattleStartMessage:
|
||||
cp BATTLETYPE_FISH
|
||||
jr nz, .NotFishing
|
||||
|
||||
farcall StubbedTrainerRankings_HookedEncounters
|
||||
|
||||
ld hl, HookedPokemonAttackedText
|
||||
jr .PlaceBattleStartText
|
||||
|
||||
@ -9133,11 +8917,4 @@ BattleStartMessage:
|
||||
farcall BattleStart_TrainerHuds
|
||||
pop hl
|
||||
call StdBattleTextbox
|
||||
|
||||
call IsMobileBattle2
|
||||
ret nz
|
||||
|
||||
ld c, $2 ; start
|
||||
farcall Mobile_PrintOpponentBattleMessage
|
||||
|
||||
ret
|
||||
|
@ -32,10 +32,6 @@ BattleCommand_BatonPass:
|
||||
call SetPalettes
|
||||
call BatonPass_LinkPlayerSwitch
|
||||
|
||||
; Mobile link battles handle entrances differently
|
||||
farcall CheckMobileBattleError
|
||||
jp c, EndMoveEffect
|
||||
|
||||
ld hl, PassedBattleMonEntrance
|
||||
call CallBattleCore
|
||||
|
||||
@ -55,10 +51,6 @@ BattleCommand_BatonPass:
|
||||
call AnimateCurrentMove
|
||||
call BatonPass_LinkEnemySwitch
|
||||
|
||||
; Mobile link battles handle entrances differently
|
||||
farcall CheckMobileBattleError
|
||||
jp c, EndMoveEffect
|
||||
|
||||
; Passed enemy PartyMon entrance
|
||||
xor a
|
||||
ld [wEnemySwitchMonIndex], a
|
||||
|
@ -1,5 +1,4 @@
|
||||
BattleCommand_Selfdestruct:
|
||||
farcall StubbedTrainerRankings_Selfdestruct
|
||||
ld a, BATTLEANIM_PLAYER_DAMAGE
|
||||
ld [wNumHits], a
|
||||
ld c, 3
|
||||
|
@ -1,4 +1,3 @@
|
||||
BattleCommand_Splash:
|
||||
call AnimateCurrentMove
|
||||
farcall StubbedTrainerRankings_Splash
|
||||
jp PrintNothingHappened
|
||||
|
@ -1,8 +1,4 @@
|
||||
ReadTrainerParty:
|
||||
ld a, [wInBattleTowerBattle]
|
||||
bit 0, a
|
||||
ret nz
|
||||
|
||||
ld a, [wLinkMode]
|
||||
and a
|
||||
ret nz
|
||||
@ -19,14 +15,6 @@ ReadTrainerParty:
|
||||
call ByteFill
|
||||
|
||||
ld a, [wOtherTrainerClass]
|
||||
cp CAL
|
||||
jr nz, .not_cal2
|
||||
ld a, [wOtherTrainerID]
|
||||
cp CAL2
|
||||
jr z, .cal2
|
||||
ld a, [wOtherTrainerClass]
|
||||
.not_cal2
|
||||
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
@ -72,14 +60,6 @@ ReadTrainerParty:
|
||||
.done
|
||||
jp ComputeTrainerReward
|
||||
|
||||
.cal2
|
||||
ld a, BANK(sMysteryGiftTrainer)
|
||||
call OpenSRAM
|
||||
ld de, sMysteryGiftTrainer
|
||||
call TrainerType2
|
||||
call CloseSRAM
|
||||
jr .done
|
||||
|
||||
TrainerTypes:
|
||||
; entries correspond to TRAINERTYPE_* constants
|
||||
dw TrainerType1 ; level, species
|
||||
@ -333,24 +313,6 @@ Battle_GetTrainerName::
|
||||
ld c, a
|
||||
|
||||
GetTrainerName::
|
||||
ld a, c
|
||||
cp CAL
|
||||
jr nz, .not_cal2
|
||||
|
||||
ld a, BANK(sMysteryGiftTrainerHouseFlag)
|
||||
call OpenSRAM
|
||||
ld a, [sMysteryGiftTrainerHouseFlag]
|
||||
and a
|
||||
call CloseSRAM
|
||||
jr z, .not_cal2
|
||||
|
||||
ld a, BANK(sMysteryGiftPartnerName)
|
||||
call OpenSRAM
|
||||
ld hl, sMysteryGiftPartnerName
|
||||
call CopyTrainerName
|
||||
jp CloseSRAM
|
||||
|
||||
.not_cal2
|
||||
dec c
|
||||
push bc
|
||||
ld b, 0
|
||||
|
@ -1,46 +0,0 @@
|
||||
GetMobileOTTrainerClass: ; mobile function
|
||||
ld h, b
|
||||
ld l, c
|
||||
call .GetMobileOTTrainerClass
|
||||
ld c, a
|
||||
ret
|
||||
|
||||
.GetMobileOTTrainerClass:
|
||||
ld a, [hli]
|
||||
xor [hl]
|
||||
ld c, a
|
||||
jr z, .skip_male_trainers
|
||||
srl c
|
||||
srl c
|
||||
.male_trainer_loop
|
||||
srl c
|
||||
ld a, c
|
||||
cp MaleTrainers.End - MaleTrainers - 1
|
||||
jr nc, .male_trainer_loop
|
||||
inc c
|
||||
|
||||
.skip_male_trainers
|
||||
ld a, [de]
|
||||
cp FEMALE
|
||||
ld hl, MaleTrainers
|
||||
jr nz, .finished
|
||||
|
||||
ld hl, FemaleTrainers
|
||||
ld a, c
|
||||
and a
|
||||
jr z, .finished
|
||||
|
||||
.female_trainer_loop
|
||||
srl c
|
||||
ld a, c
|
||||
cp FemaleTrainers.End - FemaleTrainers - 1
|
||||
jr nc, .female_trainer_loop
|
||||
inc c
|
||||
|
||||
.finished
|
||||
ld b, $0
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ret
|
||||
|
||||
INCLUDE "data/trainers/gendered_trainers.asm"
|
@ -1,212 +0,0 @@
|
||||
LoadOpponentTrainerAndPokemon:
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBT_OTTrainer)
|
||||
ldh [rSVBK], a
|
||||
|
||||
; Fill wBT_OTTrainer with zeros
|
||||
xor a
|
||||
ld hl, wBT_OTTrainer
|
||||
ld bc, BATTLE_TOWER_STRUCT_LENGTH
|
||||
call ByteFill
|
||||
|
||||
; Write $ff into the Item-Slots
|
||||
ld a, $ff
|
||||
ld [wBT_OTMon1Item], a
|
||||
ld [wBT_OTMon2Item], a
|
||||
ld [wBT_OTMon3Item], a
|
||||
|
||||
; Set wBT_OTTrainer as start address to write the following data to
|
||||
ld de, wBT_OTTrainer
|
||||
|
||||
ldh a, [hRandomAdd]
|
||||
ld b, a
|
||||
.resample ; loop to find a random trainer
|
||||
call Random
|
||||
ldh a, [hRandomAdd]
|
||||
add b
|
||||
ld b, a ; b contains the nr of the trainer
|
||||
if DEF(_CRYSTAL11)
|
||||
maskbits BATTLETOWER_NUM_UNIQUE_TRAINERS
|
||||
cp BATTLETOWER_NUM_UNIQUE_TRAINERS
|
||||
else
|
||||
; BUG: Crystal 1.0 used the wrong constant here, so only the first
|
||||
; 21 trainers in BattleTowerTrainers can be sampled.
|
||||
maskbits BATTLETOWER_NUM_UNIQUE_MON
|
||||
cp BATTLETOWER_NUM_UNIQUE_MON
|
||||
endc
|
||||
jr nc, .resample
|
||||
ld b, a
|
||||
|
||||
ld a, BANK(sBTTrainers)
|
||||
call OpenSRAM
|
||||
|
||||
ld c, BATTLETOWER_STREAK_LENGTH
|
||||
ld hl, sBTTrainers
|
||||
.next_trainer
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .resample
|
||||
dec c
|
||||
jr nz, .next_trainer ; c <= 7 initialise all 7 trainers?
|
||||
|
||||
ld hl, sBTTrainers
|
||||
ld a, [sNrOfBeatenBattleTowerTrainers]
|
||||
ld c, a
|
||||
ld a, b
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
|
||||
call CloseSRAM
|
||||
|
||||
push af
|
||||
; Copy name (10 bytes) and class (1 byte) of trainer
|
||||
ld hl, BattleTowerTrainers
|
||||
ld bc, NAME_LENGTH
|
||||
call AddNTimes
|
||||
ld bc, NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
call LoadRandomBattleTowerMon
|
||||
pop af
|
||||
|
||||
ld hl, BattleTowerTrainerData
|
||||
ld bc, BATTLETOWER_TRAINERDATALENGTH
|
||||
call AddNTimes
|
||||
ld bc, BATTLETOWER_TRAINERDATALENGTH
|
||||
.copy_bt_trainer_data_loop
|
||||
ld a, BANK(BattleTowerTrainerData)
|
||||
call GetFarByte
|
||||
ld [de], a
|
||||
inc hl
|
||||
inc de
|
||||
dec bc
|
||||
ld a, b
|
||||
or c
|
||||
jr nz, .copy_bt_trainer_data_loop
|
||||
|
||||
pop af
|
||||
ldh [rSVBK], a
|
||||
|
||||
ret
|
||||
|
||||
LoadRandomBattleTowerMon:
|
||||
ld c, BATTLETOWER_PARTY_LENGTH
|
||||
.loop
|
||||
push bc
|
||||
ld a, BANK(sBTMonOfTrainers)
|
||||
call OpenSRAM
|
||||
|
||||
.FindARandomBattleTowerMon:
|
||||
; From Which LevelGroup are the mon loaded
|
||||
; a = 1..10
|
||||
ld a, [wBTChoiceOfLvlGroup]
|
||||
dec a
|
||||
ld hl, BattleTowerMons
|
||||
ld bc, BATTLETOWER_NUM_UNIQUE_MON * NICKNAMED_MON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
|
||||
ldh a, [hRandomAdd]
|
||||
ld b, a
|
||||
.resample
|
||||
call Random
|
||||
ldh a, [hRandomAdd]
|
||||
add b
|
||||
ld b, a
|
||||
maskbits BATTLETOWER_NUM_UNIQUE_MON
|
||||
cp BATTLETOWER_NUM_UNIQUE_MON
|
||||
jr nc, .resample
|
||||
; in register 'a' is the chosen mon of the LevelGroup
|
||||
|
||||
; Check if mon was already loaded before
|
||||
; Check current and the 2 previous teams
|
||||
; includes check if item is double at the current team
|
||||
ld bc, NICKNAMED_MON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
ld a, [hli]
|
||||
ld b, a
|
||||
ld a, [hld]
|
||||
ld c, a
|
||||
ld a, [wBT_OTMon1]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [wBT_OTMon1Item]
|
||||
cp c
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [wBT_OTMon2]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [wBT_OTMon2Item]
|
||||
cp c
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [wBT_OTMon3]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [wBT_OTMon3Item]
|
||||
cp c
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevTrainer1]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevTrainer2]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevTrainer3]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevPrevTrainer1]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevPrevTrainer2]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
ld a, [sBTMonPrevPrevTrainer3]
|
||||
cp b
|
||||
jr z, .FindARandomBattleTowerMon
|
||||
|
||||
ld bc, NICKNAMED_MON_STRUCT_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
ld a, [wNamedObjectIndex]
|
||||
push af
|
||||
push de
|
||||
ld hl, -NICKNAMED_MON_STRUCT_LENGTH
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
ld [wNamedObjectIndex], a
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
add hl, bc
|
||||
push hl
|
||||
call GetPokemonName
|
||||
ld h, d
|
||||
ld l, e
|
||||
pop de
|
||||
ld bc, MON_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
pop de
|
||||
pop af
|
||||
ld [wNamedObjectIndex], a
|
||||
pop bc
|
||||
dec c
|
||||
jp nz, .loop
|
||||
|
||||
ld a, [sBTMonPrevTrainer1]
|
||||
ld [sBTMonPrevPrevTrainer1], a
|
||||
ld a, [sBTMonPrevTrainer2]
|
||||
ld [sBTMonPrevPrevTrainer2], a
|
||||
ld a, [sBTMonPrevTrainer3]
|
||||
ld [sBTMonPrevPrevTrainer3], a
|
||||
ld a, [wBT_OTMon1]
|
||||
ld [sBTMonPrevTrainer1], a
|
||||
ld a, [wBT_OTMon2]
|
||||
ld [sBTMonPrevTrainer2], a
|
||||
ld a, [wBT_OTMon3]
|
||||
ld [sBTMonPrevTrainer3], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
INCLUDE "data/battle_tower/classes.asm"
|
||||
|
||||
INCLUDE "data/battle_tower/parties.asm"
|
@ -1,299 +0,0 @@
|
||||
CheckForMobileBattleRules:
|
||||
ld de, .PointerTables
|
||||
call BattleTower_ExecuteJumptable
|
||||
ret z
|
||||
call BattleTower_PleaseReturnWhenReady
|
||||
scf
|
||||
ret
|
||||
|
||||
.PointerTables:
|
||||
db 2
|
||||
dw .Functions
|
||||
dw .TextPointers
|
||||
|
||||
.Functions:
|
||||
dw BattleTower_CheckPartyLengthIs3
|
||||
dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs
|
||||
|
||||
.TextPointers:
|
||||
dw .BTExcuseMeText
|
||||
dw NeedAtLeastThreeMonText
|
||||
dw EggDoesNotQualifyText
|
||||
|
||||
.BTExcuseMeText:
|
||||
text_far _BTExcuseMeText
|
||||
text_end
|
||||
|
||||
_CheckForBattleTowerRules:
|
||||
ld hl, wStringBuffer2
|
||||
ld [hl], "3"
|
||||
inc hl
|
||||
ld [hl], "@"
|
||||
ld de, .PointerTables
|
||||
call BattleTower_ExecuteJumptable
|
||||
ret z
|
||||
call BattleTower_PleaseReturnWhenReady
|
||||
scf
|
||||
ret
|
||||
|
||||
.PointerTables:
|
||||
db 4
|
||||
dw .Functions
|
||||
dw .TextPointers
|
||||
|
||||
.Functions:
|
||||
dw CheckBTRule_PartyCountEq3
|
||||
dw CheckBTRule_PartySpeciesAreUnique
|
||||
dw CheckBTRule_PartyItemsAreUnique
|
||||
dw CheckBTRule_HasPartyAnEgg
|
||||
|
||||
.TextPointers:
|
||||
dw ExcuseMeYoureNotReadyText
|
||||
dw OnlyThreeMonMayBeEnteredText
|
||||
dw TheMonMustAllBeDifferentKindsText
|
||||
dw TheMonMustNotHoldTheSameItemsText
|
||||
dw YouCantTakeAnEggText
|
||||
|
||||
ExcuseMeYoureNotReadyText:
|
||||
text_far _ExcuseMeYoureNotReadyText
|
||||
text_end
|
||||
|
||||
BattleTower_PleaseReturnWhenReady:
|
||||
ld hl, .BattleTowerReturnWhenReadyText
|
||||
call PrintText
|
||||
ret
|
||||
|
||||
.BattleTowerReturnWhenReadyText:
|
||||
text_far _BattleTowerReturnWhenReadyText
|
||||
text_end
|
||||
|
||||
NeedAtLeastThreeMonText:
|
||||
text_far _NeedAtLeastThreeMonText
|
||||
text_end
|
||||
|
||||
EggDoesNotQualifyText:
|
||||
text_far _EggDoesNotQualifyText
|
||||
text_end
|
||||
|
||||
OnlyThreeMonMayBeEnteredText:
|
||||
text_far _OnlyThreeMonMayBeEnteredText
|
||||
text_end
|
||||
|
||||
TheMonMustAllBeDifferentKindsText:
|
||||
text_far _TheMonMustAllBeDifferentKindsText
|
||||
text_end
|
||||
|
||||
TheMonMustNotHoldTheSameItemsText:
|
||||
text_far _TheMonMustNotHoldTheSameItemsText
|
||||
text_end
|
||||
|
||||
YouCantTakeAnEggText:
|
||||
text_far _YouCantTakeAnEggText
|
||||
text_end
|
||||
|
||||
BattleTower_ExecuteJumptable:
|
||||
ld bc, 0
|
||||
.loop
|
||||
call .DoJumptableFunction
|
||||
call c, .PrintFailureText
|
||||
call .Next_CheckReachedEnd
|
||||
jr nz, .loop
|
||||
ld a, b
|
||||
and a
|
||||
ret
|
||||
|
||||
.DoJumptableFunction:
|
||||
push de
|
||||
push bc
|
||||
call .GetFunctionPointer
|
||||
ld a, c
|
||||
rst JumpTable
|
||||
pop bc
|
||||
pop de
|
||||
ret
|
||||
|
||||
.Next_CheckReachedEnd:
|
||||
inc c
|
||||
ld a, [de]
|
||||
cp c
|
||||
ret
|
||||
|
||||
.GetFunctionPointer:
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld l, a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld h, a
|
||||
ret
|
||||
|
||||
.GetTextPointers:
|
||||
inc de
|
||||
inc de
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld l, a
|
||||
inc de
|
||||
ld a, [de]
|
||||
ld h, a
|
||||
ret
|
||||
|
||||
.LoadTextPointer:
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ret
|
||||
|
||||
.PrintFailureText:
|
||||
push de
|
||||
push bc
|
||||
ld a, b
|
||||
and a
|
||||
call z, .PrintFirstText
|
||||
pop bc
|
||||
call .PrintNthText
|
||||
ld b, 1
|
||||
pop de
|
||||
ret
|
||||
|
||||
.PrintFirstText:
|
||||
push de
|
||||
call .GetTextPointers
|
||||
call .LoadTextPointer
|
||||
call PrintText
|
||||
pop de
|
||||
ret
|
||||
|
||||
.PrintNthText:
|
||||
push bc
|
||||
call .GetTextPointers
|
||||
inc hl
|
||||
inc hl
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
call .LoadTextPointer
|
||||
call PrintText
|
||||
pop bc
|
||||
ret
|
||||
|
||||
BattleTower_CheckPartyLengthIs3:
|
||||
ld a, [wPartyCount]
|
||||
cp BATTLETOWER_PARTY_LENGTH
|
||||
ret
|
||||
|
||||
BattleTower_CheckPartyHasThreeMonsThatAreNotEggs:
|
||||
ld hl, wPartyCount
|
||||
ld a, [hli]
|
||||
ld b, 0
|
||||
ld c, a
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp EGG
|
||||
jr z, .egg
|
||||
inc b
|
||||
|
||||
.egg
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ld a, [wPartyCount]
|
||||
cp b
|
||||
ret z
|
||||
ld a, b
|
||||
cp BATTLETOWER_PARTY_LENGTH
|
||||
ret
|
||||
|
||||
CheckBTRule_PartyCountEq3:
|
||||
ld a, [wPartyCount]
|
||||
cp BATTLETOWER_PARTY_LENGTH
|
||||
ret z
|
||||
scf
|
||||
ret
|
||||
|
||||
CheckBTRule_PartySpeciesAreUnique:
|
||||
ld hl, wPartyMon1Species
|
||||
call CheckPartyValueIsUnique
|
||||
ret
|
||||
|
||||
CheckPartyValueIsUnique:
|
||||
ld de, wPartyCount
|
||||
ld a, [de]
|
||||
inc de
|
||||
dec a
|
||||
jr z, .done
|
||||
ld b, a
|
||||
.loop
|
||||
push hl
|
||||
push de
|
||||
ld c, b
|
||||
call .isegg
|
||||
jr z, .next
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .next
|
||||
.loop2
|
||||
call .nextmon
|
||||
call .isegg
|
||||
jr z, .next2
|
||||
cp [hl]
|
||||
jr z, .gotcha
|
||||
|
||||
.next2
|
||||
dec c
|
||||
jr nz, .loop2
|
||||
|
||||
.next
|
||||
pop de
|
||||
pop hl
|
||||
call .nextmon
|
||||
dec b
|
||||
jr nz, .loop
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
|
||||
.gotcha
|
||||
pop de
|
||||
pop hl
|
||||
scf
|
||||
ret
|
||||
|
||||
.nextmon
|
||||
push bc
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
add hl, bc
|
||||
inc de
|
||||
pop bc
|
||||
ret
|
||||
|
||||
.isegg
|
||||
push bc
|
||||
ld b, a
|
||||
ld a, [de]
|
||||
cp EGG
|
||||
ld a, b
|
||||
pop bc
|
||||
ret
|
||||
|
||||
CheckBTRule_PartyItemsAreUnique:
|
||||
ld hl, wPartyMon1Item
|
||||
call CheckPartyValueIsUnique
|
||||
ret
|
||||
|
||||
CheckBTRule_HasPartyAnEgg:
|
||||
ld hl, wPartyCount
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp EGG
|
||||
jr z, .found
|
||||
dec c
|
||||
jr nz, .loop
|
||||
and a
|
||||
ret
|
||||
|
||||
.found
|
||||
scf
|
||||
ret
|
@ -1,710 +0,0 @@
|
||||
BattleTowerText::
|
||||
; Print text c for trainer [wBT_OTTrainerClass]
|
||||
; 1: Intro text
|
||||
; 2: Player lost
|
||||
; 3: Player won
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBT_OTTrainerClass)
|
||||
ldh [rSVBK], a
|
||||
if DEF(_CRYSTAL11)
|
||||
ld hl, wBT_OTTrainerClass
|
||||
else
|
||||
; BUG: Instead of loading the trainer class,
|
||||
; Crystal 1.0 loads the 6th character in the trainer's
|
||||
; name, then uses it to get the trainer's gender.
|
||||
; As a consequence, the enemy trainer's dialog will
|
||||
; always be sampled from the female array.
|
||||
ld hl, wBT_OTName + NAME_LENGTH_JAPANESE - 1
|
||||
endc
|
||||
ld a, [hl]
|
||||
dec a
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, BTTrainerClassGenders
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr nz, .female
|
||||
; generate a random number between 0 and 24
|
||||
ldh a, [hRandomAdd]
|
||||
and $1f
|
||||
cp 25
|
||||
jr c, .okay0
|
||||
sub 25
|
||||
|
||||
.okay0
|
||||
ld hl, BTMaleTrainerTexts
|
||||
jr .proceed
|
||||
|
||||
.female
|
||||
; generate a random number between 0 and 14
|
||||
ldh a, [hRandomAdd]
|
||||
and $f
|
||||
cp 15
|
||||
jr c, .okay1
|
||||
sub 15
|
||||
|
||||
.okay1
|
||||
ld hl, BTFemaleTrainerTexts
|
||||
|
||||
.proceed
|
||||
ld b, 0
|
||||
dec c
|
||||
jr nz, .restore
|
||||
ld [wBT_TrainerTextIndex], a
|
||||
jr .okay2
|
||||
|
||||
.restore
|
||||
ld a, [wBT_TrainerTextIndex]
|
||||
|
||||
.okay2
|
||||
push af
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
ld a, [hl]
|
||||
ld h, a
|
||||
ld l, c
|
||||
pop af
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld c, a
|
||||
ld a, [hl]
|
||||
ld l, c
|
||||
ld h, a
|
||||
bccoord 1, 14
|
||||
pop af
|
||||
ldh [rSVBK], a
|
||||
call PlaceHLTextAtBC
|
||||
ret
|
||||
|
||||
INCLUDE "mobile/fixed_words.asm"
|
||||
|
||||
INCLUDE "data/trainers/genders.asm"
|
||||
|
||||
BTMaleTrainerTexts:
|
||||
dw .Greetings
|
||||
dw .PlayerLost
|
||||
dw .PlayerWon
|
||||
|
||||
.Greetings:
|
||||
dw BTGreetingM1Text
|
||||
dw BTGreetingM2Text
|
||||
dw BTGreetingM3Text
|
||||
dw BTGreetingM4Text
|
||||
dw BTGreetingM5Text
|
||||
dw BTGreetingM6Text
|
||||
dw BTGreetingM7Text
|
||||
dw BTGreetingM8Text
|
||||
dw BTGreetingM9Text
|
||||
dw BTGreetingM10Text
|
||||
dw BTGreetingM11Text
|
||||
dw BTGreetingM12Text
|
||||
dw BTGreetingM13Text
|
||||
dw BTGreetingM14Text
|
||||
dw BTGreetingM15Text
|
||||
dw BTGreetingM16Text
|
||||
dw BTGreetingM17Text
|
||||
dw BTGreetingM18Text
|
||||
dw BTGreetingM19Text
|
||||
dw BTGreetingM20Text
|
||||
dw BTGreetingM21Text
|
||||
dw BTGreetingM22Text
|
||||
dw BTGreetingM23Text
|
||||
dw BTGreetingM24Text
|
||||
dw BTGreetingM25Text
|
||||
|
||||
.PlayerLost:
|
||||
dw BTLossM1Text
|
||||
dw BTLossM2Text
|
||||
dw BTLossM3Text
|
||||
dw BTLossM4Text
|
||||
dw BTLossM5Text
|
||||
dw BTLossM6Text
|
||||
dw BTLossM7Text
|
||||
dw BTLossM8Text
|
||||
dw BTLossM9Text
|
||||
dw BTLossM10Text
|
||||
dw BTLossM11Text
|
||||
dw BTLossM12Text
|
||||
dw BTLossM13Text
|
||||
dw BTLossM14Text
|
||||
dw BTLossM15Text
|
||||
dw BTLossM16Text
|
||||
dw BTLossM17Text
|
||||
dw BTLossM18Text
|
||||
dw BTLossM19Text
|
||||
dw BTLossM20Text
|
||||
dw BTLossM21Text
|
||||
dw BTLossM22Text
|
||||
dw BTLossM23Text
|
||||
dw BTLossM24Text
|
||||
dw BTLossM25Text
|
||||
|
||||
.PlayerWon:
|
||||
dw BTWinM1Text
|
||||
dw BTWinM2Text
|
||||
dw BTWinM3Text
|
||||
dw BTWinM4Text
|
||||
dw BTWinM5Text
|
||||
dw BTWinM6Text
|
||||
dw BTWinM7Text
|
||||
dw BTWinM8Text
|
||||
dw BTWinM9Text
|
||||
dw BTWinM10Text
|
||||
dw BTWinM11Text
|
||||
dw BTWinM12Text
|
||||
dw BTWinM13Text
|
||||
dw BTWinM14Text
|
||||
dw BTWinM15Text
|
||||
dw BTWinM16Text
|
||||
dw BTWinM17Text
|
||||
dw BTWinM18Text
|
||||
dw BTWinM19Text
|
||||
dw BTWinM20Text
|
||||
dw BTWinM21Text
|
||||
dw BTWinM22Text
|
||||
dw BTWinM23Text
|
||||
dw BTWinM24Text
|
||||
dw BTWinM25Text
|
||||
|
||||
BTFemaleTrainerTexts:
|
||||
dw .Greetings
|
||||
dw .PlayerLost
|
||||
dw .PlayerWon
|
||||
|
||||
.Greetings:
|
||||
dw BTGreetingF1Text
|
||||
dw BTGreetingF2Text
|
||||
dw BTGreetingF3Text
|
||||
dw BTGreetingF4Text
|
||||
dw BTGreetingF5Text
|
||||
dw BTGreetingF6Text
|
||||
dw BTGreetingF7Text
|
||||
dw BTGreetingF8Text
|
||||
dw BTGreetingF9Text
|
||||
dw BTGreetingF10Text
|
||||
dw BTGreetingF11Text
|
||||
dw BTGreetingF12Text
|
||||
dw BTGreetingF13Text
|
||||
dw BTGreetingF14Text
|
||||
dw BTGreetingF15Text
|
||||
|
||||
.PlayerLost:
|
||||
dw BTLossF1Text
|
||||
dw BTLossF2Text
|
||||
dw BTLossF3Text
|
||||
dw BTLossF4Text
|
||||
dw BTLossF5Text
|
||||
dw BTLossF6Text
|
||||
dw BTLossF7Text
|
||||
dw BTLossF8Text
|
||||
dw BTLossF9Text
|
||||
dw BTLossF10Text
|
||||
dw BTLossF11Text
|
||||
dw BTLossF12Text
|
||||
dw BTLossF13Text
|
||||
dw BTLossF14Text
|
||||
dw BTLossF15Text
|
||||
|
||||
.PlayerWon:
|
||||
dw BTWinF1Text
|
||||
dw BTWinF2Text
|
||||
dw BTWinF3Text
|
||||
dw BTWinF4Text
|
||||
dw BTWinF5Text
|
||||
dw BTWinF6Text
|
||||
dw BTWinF7Text
|
||||
dw BTWinF8Text
|
||||
dw BTWinF9Text
|
||||
dw BTWinF10Text
|
||||
dw BTWinF11Text
|
||||
dw BTWinF12Text
|
||||
dw BTWinF13Text
|
||||
dw BTWinF14Text
|
||||
dw BTWinF15Text
|
||||
|
||||
BTGreetingM1Text:
|
||||
text_far _BTGreetingM1Text
|
||||
text_end
|
||||
|
||||
BTLossM1Text:
|
||||
text_far _BTLossM1Text
|
||||
text_end
|
||||
|
||||
BTWinM1Text:
|
||||
text_far _BTWinM1Text
|
||||
text_end
|
||||
|
||||
BTGreetingM2Text:
|
||||
text_far _BTGreetingM2Text
|
||||
text_end
|
||||
|
||||
BTLossM2Text:
|
||||
text_far _BTLossM2Text
|
||||
text_end
|
||||
|
||||
BTWinM2Text:
|
||||
text_far _BTWinM2Text
|
||||
text_end
|
||||
|
||||
BTGreetingM3Text:
|
||||
text_far _BTGreetingM3Text
|
||||
text_end
|
||||
|
||||
BTLossM3Text:
|
||||
text_far _BTLossM3Text
|
||||
text_end
|
||||
|
||||
BTWinM3Text:
|
||||
text_far _BTWinM3Text
|
||||
text_end
|
||||
|
||||
BTGreetingM4Text:
|
||||
text_far _BTGreetingM4Text
|
||||
text_end
|
||||
|
||||
BTLossM4Text:
|
||||
text_far _BTLossM4Text
|
||||
text_end
|
||||
|
||||
BTWinM4Text:
|
||||
text_far _BTWinM4Text
|
||||
text_end
|
||||
|
||||
BTGreetingM5Text:
|
||||
text_far _BTGreetingM5Text
|
||||
text_end
|
||||
|
||||
BTLossM5Text:
|
||||
text_far _BTLossM5Text
|
||||
text_end
|
||||
|
||||
BTWinM5Text:
|
||||
text_far _BTWinM5Text
|
||||
text_end
|
||||
|
||||
BTGreetingM6Text:
|
||||
text_far _BTGreetingM6Text
|
||||
text_end
|
||||
|
||||
BTLossM6Text:
|
||||
text_far _BTLossM6Text
|
||||
text_end
|
||||
|
||||
BTWinM6Text:
|
||||
text_far _BTWinM6Text
|
||||
text_end
|
||||
|
||||
BTGreetingM7Text:
|
||||
text_far _BTGreetingM7Text
|
||||
text_end
|
||||
|
||||
BTLossM7Text:
|
||||
text_far _BTLossM7Text
|
||||
text_end
|
||||
|
||||
BTWinM7Text:
|
||||
text_far _BTWinM7Text
|
||||
text_end
|
||||
|
||||
BTGreetingM8Text:
|
||||
text_far _BTGreetingM8Text
|
||||
text_end
|
||||
|
||||
BTLossM8Text:
|
||||
text_far _BTLossM8Text
|
||||
text_end
|
||||
|
||||
BTWinM8Text:
|
||||
text_far _BTWinM8Text
|
||||
text_end
|
||||
|
||||
BTGreetingM9Text:
|
||||
text_far _BTGreetingM9Text
|
||||
text_end
|
||||
|
||||
BTLossM9Text:
|
||||
text_far _BTLossM9Text
|
||||
text_end
|
||||
|
||||
BTWinM9Text:
|
||||
text_far _BTWinM9Text
|
||||
text_end
|
||||
|
||||
BTGreetingM10Text:
|
||||
text_far _BTGreetingM10Text
|
||||
text_end
|
||||
|
||||
BTLossM10Text:
|
||||
text_far _BTLossM10Text
|
||||
text_end
|
||||
|
||||
BTWinM10Text:
|
||||
text_far _BTWinM10Text
|
||||
text_end
|
||||
|
||||
BTGreetingM11Text:
|
||||
text_far _BTGreetingM11Text
|
||||
text_end
|
||||
|
||||
BTLossM11Text:
|
||||
text_far _BTLossM11Text
|
||||
text_end
|
||||
|
||||
BTWinM11Text:
|
||||
text_far _BTWinM11Text
|
||||
text_end
|
||||
|
||||
BTGreetingM12Text:
|
||||
text_far _BTGreetingM12Text
|
||||
text_end
|
||||
|
||||
BTLossM12Text:
|
||||
text_far _BTLossM12Text
|
||||
text_end
|
||||
|
||||
BTWinM12Text:
|
||||
text_far _BTWinM12Text
|
||||
text_end
|
||||
|
||||
BTGreetingM13Text:
|
||||
text_far _BTGreetingM13Text
|
||||
text_end
|
||||
|
||||
BTLossM13Text:
|
||||
text_far _BTLossM13Text
|
||||
text_end
|
||||
|
||||
BTWinM13Text:
|
||||
text_far _BTWinM13Text
|
||||
text_end
|
||||
|
||||
BTGreetingM14Text:
|
||||
text_far _BTGreetingM14Text
|
||||
text_end
|
||||
|
||||
BTLossM14Text:
|
||||
text_far _BTLossM14Text
|
||||
text_end
|
||||
|
||||
BTWinM14Text:
|
||||
text_far _BTWinM14Text
|
||||
text_end
|
||||
|
||||
BTGreetingM15Text:
|
||||
text_far _BTGreetingM15Text
|
||||
text_end
|
||||
|
||||
BTLossM15Text:
|
||||
text_far _BTLossM15Text
|
||||
text_end
|
||||
|
||||
BTWinM15Text:
|
||||
text_far _BTWinM15Text
|
||||
text_end
|
||||
|
||||
BTGreetingM16Text:
|
||||
text_far _BTGreetingM16Text
|
||||
text_end
|
||||
|
||||
BTLossM16Text:
|
||||
text_far _BTLossM16Text
|
||||
text_end
|
||||
|
||||
BTWinM16Text:
|
||||
text_far _BTWinM16Text
|
||||
text_end
|
||||
|
||||
BTGreetingM17Text:
|
||||
text_far _BTGreetingM17Text
|
||||
text_end
|
||||
|
||||
BTLossM17Text:
|
||||
text_far _BTLossM17Text
|
||||
text_end
|
||||
|
||||
BTWinM17Text:
|
||||
text_far _BTWinM17Text
|
||||
text_end
|
||||
|
||||
BTGreetingM18Text:
|
||||
text_far _BTGreetingM18Text
|
||||
text_end
|
||||
|
||||
BTLossM18Text:
|
||||
text_far _BTLossM18Text
|
||||
text_end
|
||||
|
||||
BTWinM18Text:
|
||||
text_far _BTWinM18Text
|
||||
text_end
|
||||
|
||||
BTGreetingM19Text:
|
||||
text_far _BTGreetingM19Text
|
||||
text_end
|
||||
|
||||
BTLossM19Text:
|
||||
text_far _BTLossM19Text
|
||||
text_end
|
||||
|
||||
BTWinM19Text:
|
||||
text_far _BTWinM19Text
|
||||
text_end
|
||||
|
||||
BTGreetingM20Text:
|
||||
text_far _BTGreetingM20Text
|
||||
text_end
|
||||
|
||||
BTLossM20Text:
|
||||
text_far _BTLossM20Text
|
||||
text_end
|
||||
|
||||
BTWinM20Text:
|
||||
text_far _BTWinM20Text
|
||||
text_end
|
||||
|
||||
BTGreetingM21Text:
|
||||
text_far _BTGreetingM21Text
|
||||
text_end
|
||||
|
||||
BTLossM21Text:
|
||||
text_far _BTLossM21Text
|
||||
text_end
|
||||
|
||||
BTWinM21Text:
|
||||
text_far _BTWinM21Text
|
||||
text_end
|
||||
|
||||
BTGreetingM22Text:
|
||||
text_far _BTGreetingM22Text
|
||||
text_end
|
||||
|
||||
BTLossM22Text:
|
||||
text_far _BTLossM22Text
|
||||
text_end
|
||||
|
||||
BTWinM22Text:
|
||||
text_far _BTWinM22Text
|
||||
text_end
|
||||
|
||||
BTGreetingM23Text:
|
||||
text_far _BTGreetingM23Text
|
||||
text_end
|
||||
|
||||
BTLossM23Text:
|
||||
text_far _BTLossM23Text
|
||||
text_end
|
||||
|
||||
BTWinM23Text:
|
||||
text_far _BTWinM23Text
|
||||
text_end
|
||||
|
||||
BTGreetingM24Text:
|
||||
text_far _BTGreetingM24Text
|
||||
text_end
|
||||
|
||||
BTLossM24Text:
|
||||
text_far _BTLossM24Text
|
||||
text_end
|
||||
|
||||
BTWinM24Text:
|
||||
text_far _BTWinM24Text
|
||||
text_end
|
||||
|
||||
BTGreetingM25Text:
|
||||
text_far _BTGreetingM25Text
|
||||
text_end
|
||||
|
||||
BTLossM25Text:
|
||||
text_far _BTLossM25Text
|
||||
text_end
|
||||
|
||||
BTWinM25Text:
|
||||
text_far _BTWinM25Text
|
||||
text_end
|
||||
|
||||
BTGreetingF1Text:
|
||||
text_far _BTGreetingF1Text
|
||||
text_end
|
||||
|
||||
BTLossF1Text:
|
||||
text_far _BTLossF1Text
|
||||
text_end
|
||||
|
||||
BTWinF1Text:
|
||||
text_far _BTWinF1Text
|
||||
text_end
|
||||
|
||||
BTGreetingF2Text:
|
||||
text_far _BTGreetingF2Text
|
||||
text_end
|
||||
|
||||
BTLossF2Text:
|
||||
text_far _BTLossF2Text
|
||||
text_end
|
||||
|
||||
BTWinF2Text:
|
||||
text_far _BTWinF2Text
|
||||
text_end
|
||||
|
||||
BTGreetingF3Text:
|
||||
text_far _BTGreetingF3Text
|
||||
text_end
|
||||
|
||||
BTLossF3Text:
|
||||
text_far _BTLossF3Text
|
||||
text_end
|
||||
|
||||
BTWinF3Text:
|
||||
text_far _BTWinF3Text
|
||||
text_end
|
||||
|
||||
BTGreetingF4Text:
|
||||
text_far _BTGreetingF4Text
|
||||
text_end
|
||||
|
||||
BTLossF4Text:
|
||||
text_far _BTLossF4Text
|
||||
text_end
|
||||
|
||||
BTWinF4Text:
|
||||
text_far _BTWinF4Text
|
||||
text_end
|
||||
|
||||
BTGreetingF5Text:
|
||||
text_far _BTGreetingF5Text
|
||||
text_end
|
||||
|
||||
BTLossF5Text:
|
||||
text_far _BTLossF5Text
|
||||
text_end
|
||||
|
||||
BTWinF5Text:
|
||||
text_far _BTWinF5Text
|
||||
text_end
|
||||
|
||||
BTGreetingF6Text:
|
||||
text_far _BTGreetingF6Text
|
||||
text_end
|
||||
|
||||
BTLossF6Text:
|
||||
text_far _BTLossF6Text
|
||||
text_end
|
||||
|
||||
BTWinF6Text:
|
||||
text_far _BTWinF6Text
|
||||
text_end
|
||||
|
||||
BTGreetingF7Text:
|
||||
text_far _BTGreetingF7Text
|
||||
text_end
|
||||
|
||||
BTLossF7Text:
|
||||
text_far _BTLossF7Text
|
||||
text_end
|
||||
|
||||
BTWinF7Text:
|
||||
text_far _BTWinF7Text
|
||||
text_end
|
||||
|
||||
BTGreetingF8Text:
|
||||
text_far _BTGreetingF8Text
|
||||
text_end
|
||||
|
||||
BTLossF8Text:
|
||||
text_far _BTLossF8Text
|
||||
text_end
|
||||
|
||||
BTWinF8Text:
|
||||
text_far _BTWinF8Text
|
||||
text_end
|
||||
|
||||
BTGreetingF9Text:
|
||||
text_far _BTGreetingF9Text
|
||||
text_end
|
||||
|
||||
BTLossF9Text:
|
||||
text_far _BTLossF9Text
|
||||
text_end
|
||||
|
||||
BTWinF9Text:
|
||||
text_far _BTWinF9Text
|
||||
text_end
|
||||
|
||||
BTGreetingF10Text:
|
||||
text_far _BTGreetingF10Text
|
||||
text_end
|
||||
|
||||
BTLossF10Text:
|
||||
text_far _BTLossF10Text
|
||||
text_end
|
||||
|
||||
BTWinF10Text:
|
||||
text_far _BTWinF10Text
|
||||
text_end
|
||||
|
||||
BTGreetingF11Text:
|
||||
text_far _BTGreetingF11Text
|
||||
text_end
|
||||
|
||||
BTLossF11Text:
|
||||
text_far _BTLossF11Text
|
||||
text_end
|
||||
|
||||
BTWinF11Text:
|
||||
text_far _BTWinF11Text
|
||||
text_end
|
||||
|
||||
BTGreetingF12Text:
|
||||
text_far _BTGreetingF12Text
|
||||
text_end
|
||||
|
||||
BTLossF12Text:
|
||||
text_far _BTLossF12Text
|
||||
text_end
|
||||
|
||||
BTWinF12Text:
|
||||
text_far _BTWinF12Text
|
||||
text_end
|
||||
|
||||
BTGreetingF13Text:
|
||||
text_far _BTGreetingF13Text
|
||||
text_end
|
||||
|
||||
BTLossF13Text:
|
||||
text_far _BTLossF13Text
|
||||
text_end
|
||||
|
||||
BTWinF13Text:
|
||||
text_far _BTWinF13Text
|
||||
text_end
|
||||
|
||||
BTGreetingF14Text:
|
||||
text_far _BTGreetingF14Text
|
||||
text_end
|
||||
|
||||
BTLossF14Text:
|
||||
text_far _BTLossF14Text
|
||||
text_end
|
||||
|
||||
BTWinF14Text:
|
||||
text_far _BTWinF14Text
|
||||
text_end
|
||||
|
||||
BTGreetingF15Text:
|
||||
text_far _BTGreetingF15Text
|
||||
text_end
|
||||
|
||||
BTLossF15Text:
|
||||
text_far _BTLossF15Text
|
||||
text_end
|
||||
|
||||
BTWinF15Text:
|
||||
text_far _BTWinF15Text
|
||||
text_end
|
@ -1,6 +1,5 @@
|
||||
_BugContestJudging:
|
||||
call ContestScore
|
||||
farcall StubbedTrainerRankings_BugContestScore
|
||||
call BugContest_JudgeContestants
|
||||
ld a, [wBugContestThirdPlaceWinnerID]
|
||||
call LoadContestantName
|
||||
|
@ -54,7 +54,6 @@ CheckFruitTree:
|
||||
ret
|
||||
|
||||
PickedFruitTree:
|
||||
farcall StubbedTrainerRankings_FruitPicked
|
||||
ld b, 1
|
||||
jp GetFruitTreeFlag
|
||||
|
||||
|
@ -104,7 +104,6 @@ CheckForLuckyNumberWinners:
|
||||
and a
|
||||
ret z ; found nothing
|
||||
|
||||
farcall StubbedTrainerRankings_LuckyNumberShow
|
||||
ld a, [wTempByteValue]
|
||||
and a
|
||||
push af
|
||||
|
@ -28,7 +28,6 @@ CheckMagikarpLength:
|
||||
ld c, l
|
||||
call CalcMagikarpLength
|
||||
call PrintMagikarpLength
|
||||
farcall StubbedTrainerRankings_MagikarpLength
|
||||
ld hl, .MagikarpGuruMeasureText
|
||||
call PrintText
|
||||
|
||||
|
@ -1,96 +0,0 @@
|
||||
_GiveOddEgg:
|
||||
; Figure out which egg to give.
|
||||
|
||||
; Compare a random word to probabilities out of $ffff.
|
||||
call Random
|
||||
ld hl, OddEggProbabilities
|
||||
ld c, 0
|
||||
ld b, c
|
||||
.loop
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
|
||||
; Break on $ffff.
|
||||
ld a, d
|
||||
cp HIGH($ffff)
|
||||
jr nz, .not_done
|
||||
ld a, e
|
||||
cp LOW($ffff)
|
||||
jr z, .done
|
||||
.not_done
|
||||
|
||||
; Break when the random word <= the next probability in de.
|
||||
ldh a, [hRandomSub]
|
||||
cp d
|
||||
jr c, .done
|
||||
jr z, .ok
|
||||
jr .next
|
||||
.ok
|
||||
ldh a, [hRandomAdd]
|
||||
cp e
|
||||
jr c, .done
|
||||
jr z, .done
|
||||
.next
|
||||
inc bc
|
||||
jr .loop
|
||||
.done
|
||||
|
||||
ld hl, OddEggs
|
||||
ld a, NICKNAMED_MON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
|
||||
; Writes to wOddEgg, wOddEggName, and wOddEggOT,
|
||||
; even though OddEggs does not have data for wOddEggOT
|
||||
ld de, wOddEgg
|
||||
ld bc, NICKNAMED_MON_STRUCT_LENGTH + NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
ld a, EGG_TICKET
|
||||
ld [wCurItem], a
|
||||
ld a, 1
|
||||
ld [wItemQuantityChange], a
|
||||
ld a, -1
|
||||
ld [wCurItemQuantity], a
|
||||
ld hl, wNumItems
|
||||
call TossItem
|
||||
|
||||
; load species in wMobileMonSpecies
|
||||
ld a, EGG
|
||||
ld [wMobileMonMiscSpecies], a
|
||||
|
||||
; load pointer to (wMobileMonSpecies - 1) in wMobileMonSpeciesPointer
|
||||
ld a, LOW(wMobileMonMiscSpecies - 1)
|
||||
ld [wMobileMonSpeciesPointer], a
|
||||
ld a, HIGH(wMobileMonMiscSpecies - 1)
|
||||
ld [wMobileMonSpeciesPointer + 1], a
|
||||
; load pointer to wOddEgg in wMobileMonStructPointer
|
||||
ld a, LOW(wOddEgg)
|
||||
ld [wMobileMonStructPointer], a
|
||||
ld a, HIGH(wOddEgg)
|
||||
ld [wMobileMonStructPointer + 1], a
|
||||
|
||||
; load Odd Egg Name in wTempOddEggNickname
|
||||
ld hl, .Odd
|
||||
ld de, wTempOddEggNickname
|
||||
ld bc, MON_NAME_LENGTH
|
||||
call CopyBytes
|
||||
|
||||
; load pointer to wTempOddEggNickname in wMobileMonOTPointer
|
||||
ld a, LOW(wTempOddEggNickname)
|
||||
ld [wMobileMonOTPointer], a
|
||||
ld a, HIGH(wTempOddEggNickname)
|
||||
ld [wMobileMonOTPointer + 1], a
|
||||
; load pointer to wOddEggName in wMobileMonNicknamePointer
|
||||
ld a, LOW(wOddEggName)
|
||||
ld [wMobileMonNicknamePointer], a
|
||||
ld a, HIGH(wOddEggName)
|
||||
ld [wMobileMonNicknamePointer + 1], a
|
||||
farcall AddMobileMonToParty
|
||||
ret
|
||||
|
||||
.Odd:
|
||||
db "ODD@@@@@@@@@"
|
||||
|
||||
INCLUDE "data/events/odd_eggs.asm"
|
@ -405,8 +405,6 @@ UsedSurfScript:
|
||||
waitbutton
|
||||
closetext
|
||||
|
||||
callasm .stubbed_fn
|
||||
|
||||
readmem wSurfingPlayerState
|
||||
writevar VAR_MOVEMENT
|
||||
|
||||
@ -417,10 +415,6 @@ UsedSurfScript:
|
||||
applymovement PLAYER, wMovementBuffer
|
||||
end
|
||||
|
||||
.stubbed_fn
|
||||
farcall StubbedTrainerRankings_Surf
|
||||
ret
|
||||
|
||||
UsedSurfText:
|
||||
text_far _UsedSurfText
|
||||
text_end
|
||||
@ -689,7 +683,6 @@ Script_UsedWaterfall:
|
||||
ld a, [wPlayerTile]
|
||||
call CheckWaterfallTile
|
||||
ret z
|
||||
farcall StubbedTrainerRankings_Waterfall
|
||||
ld a, $1
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
@ -125,51 +125,6 @@ PlayersHousePC:
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
CheckMysteryGift:
|
||||
ld a, BANK(sMysteryGiftItem)
|
||||
call OpenSRAM
|
||||
ld a, [sMysteryGiftItem]
|
||||
and a
|
||||
jr z, .no
|
||||
inc a
|
||||
|
||||
.no
|
||||
ld [wScriptVar], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
GetMysteryGiftItem:
|
||||
ld a, BANK(sMysteryGiftItem)
|
||||
call OpenSRAM
|
||||
ld a, [sMysteryGiftItem]
|
||||
ld [wCurItem], a
|
||||
ld a, 1
|
||||
ld [wItemQuantityChange], a
|
||||
ld hl, wNumItems
|
||||
call ReceiveItem
|
||||
jr nc, .no_room
|
||||
xor a
|
||||
ld [sMysteryGiftItem], a
|
||||
call CloseSRAM
|
||||
ld a, [wCurItem]
|
||||
ld [wNamedObjectIndex], a
|
||||
call GetItemName
|
||||
ld hl, .ReceiveItemText
|
||||
call PrintText
|
||||
ld a, TRUE
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.no_room
|
||||
call CloseSRAM
|
||||
xor a
|
||||
ld [wScriptVar], a
|
||||
ret
|
||||
|
||||
.ReceiveItemText:
|
||||
text_far _ReceiveItemText
|
||||
text_end
|
||||
|
||||
BugContestJudging:
|
||||
farcall _BugContestJudging
|
||||
ld a, b
|
||||
@ -415,11 +370,4 @@ PrintDiploma:
|
||||
call FadeToMenu
|
||||
farcall _PrintDiploma
|
||||
call ExitAllMenus
|
||||
ret
|
||||
|
||||
TrainerHouse:
|
||||
ld a, BANK(sMysteryGiftTrainerHouseFlag)
|
||||
call OpenSRAM
|
||||
ld a, [sMysteryGiftTrainerHouseFlag]
|
||||
ld [wScriptVar], a
|
||||
jp CloseSRAM
|
||||
ret
|
@ -112,7 +112,6 @@ PokecenterNurseScript:
|
||||
|
||||
farwritetext NurseTakePokemonText
|
||||
pause 20
|
||||
special StubbedTrainerRankings_Healings
|
||||
turnobject LAST_TALKED, LEFT
|
||||
pause 10
|
||||
special HealParty
|
||||
|
@ -1,6 +1,4 @@
|
||||
TreeMonEncounter:
|
||||
farcall StubbedTrainerRankings_TreeEncounters
|
||||
|
||||
xor a
|
||||
ld [wTempWildMonSpecies], a
|
||||
ld [wCurPartyLevel], a
|
||||
|
@ -43,8 +43,6 @@ BattleBGMap:
|
||||
ret
|
||||
|
||||
HalveMoney:
|
||||
farcall StubbedTrainerRankings_WhiteOuts
|
||||
|
||||
; Halve the player's money.
|
||||
ld hl, wMoney
|
||||
ld a, [hl]
|
||||
|
@ -93,7 +93,6 @@ _SlotMachine:
|
||||
call PlaySFX
|
||||
call WaitSFX
|
||||
call ClearBGPalettes
|
||||
farcall StubbedTrainerRankings_EndSlotsWinStreak
|
||||
ld hl, wOptions
|
||||
res NO_TEXT_SCROLL, [hl]
|
||||
ld hl, rLCDC
|
||||
@ -1839,7 +1838,6 @@ Slots_GetPayout:
|
||||
ld a, [hl]
|
||||
ld [wPayout], a
|
||||
ld d, a
|
||||
farcall StubbedTrainerRankings_AddToSlotsPayouts
|
||||
ret
|
||||
|
||||
.PayoutTable:
|
||||
@ -1865,7 +1863,6 @@ Slots_PayoutText:
|
||||
jr nz, .MatchedSomething
|
||||
ld hl, .SlotsDarnText
|
||||
call PrintText
|
||||
farcall StubbedTrainerRankings_EndSlotsWinStreak
|
||||
ret
|
||||
|
||||
.MatchedSomething:
|
||||
@ -1889,7 +1886,6 @@ Slots_PayoutText:
|
||||
.return
|
||||
ld hl, .Text_PrintPayout
|
||||
call PrintText
|
||||
farcall StubbedTrainerRankings_AddToSlotsWinStreak
|
||||
ret
|
||||
|
||||
.PayoutStrings:
|
||||
|
@ -59,8 +59,7 @@ CGBLayoutJumptable:
|
||||
dw _CGB_PlayerOrMonFrontpicPals
|
||||
dw _CGB_TradeTube
|
||||
dw _CGB_TrainerOrMonFrontpicPals
|
||||
dw _CGB_MysteryGift
|
||||
dw _CGB_Unused1E
|
||||
dw _CGB_Unused1D
|
||||
assert_table_length NUM_SCGB_LAYOUTS
|
||||
|
||||
_CGB_BattleGrayscale:
|
||||
@ -151,12 +150,7 @@ _CGB_FinishBattleScreenLayout:
|
||||
ret
|
||||
|
||||
InitPartyMenuBGPal7:
|
||||
farcall Function100dc0
|
||||
Mobile_InitPartyMenuBGPal7:
|
||||
ld hl, PartyMenuBGPalette
|
||||
jr nc, .not_mobile
|
||||
ld hl, PartyMenuBGMobilePalette
|
||||
.not_mobile
|
||||
ld de, wBGPals1 palette 7
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
@ -164,11 +158,7 @@ Mobile_InitPartyMenuBGPal7:
|
||||
ret
|
||||
|
||||
InitPartyMenuBGPal0:
|
||||
farcall Function100dc0
|
||||
ld hl, PartyMenuBGPalette
|
||||
jr nc, .not_mobile
|
||||
ld hl, PartyMenuBGMobilePalette
|
||||
.not_mobile
|
||||
ld de, wBGPals1 palette 0
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
@ -901,7 +891,7 @@ _CGB_PlayerOrMonFrontpicPals:
|
||||
call ApplyPals
|
||||
ret
|
||||
|
||||
_CGB_Unused1E:
|
||||
_CGB_Unused1D:
|
||||
ld de, wBGPals1
|
||||
ld a, [wCurPartySpecies]
|
||||
call GetMonPalettePointer
|
||||
@ -935,51 +925,3 @@ _CGB_TrainerOrMonFrontpicPals:
|
||||
call ApplyAttrmap
|
||||
call ApplyPals
|
||||
ret
|
||||
|
||||
_CGB_MysteryGift:
|
||||
ld hl, .MysteryGiftPalettes
|
||||
ld de, wBGPals1
|
||||
ld bc, 2 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
call ApplyPals
|
||||
call WipeAttrmap
|
||||
hlcoord 3, 7, wAttrmap
|
||||
lb bc, 8, 14
|
||||
ld a, $1
|
||||
call FillBoxCGB
|
||||
hlcoord 1, 5, wAttrmap
|
||||
lb bc, 1, 18
|
||||
ld a, $1
|
||||
call FillBoxCGB
|
||||
hlcoord 1, 16, wAttrmap
|
||||
lb bc, 1, 18
|
||||
ld a, $1
|
||||
call FillBoxCGB
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 17, 2
|
||||
ld a, $1
|
||||
call FillBoxCGB
|
||||
hlcoord 18, 5, wAttrmap
|
||||
lb bc, 12, 1
|
||||
ld a, $1
|
||||
call FillBoxCGB
|
||||
call ApplyAttrmap
|
||||
ret
|
||||
|
||||
.MysteryGiftPalettes:
|
||||
INCLUDE "gfx/mystery_gift/mystery_gift.pal"
|
||||
|
||||
GS_CGB_MysteryGift: ; unreferenced
|
||||
ld hl, .MysteryGiftPalette
|
||||
ld de, wBGPals1
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
call ApplyPals
|
||||
call WipeAttrmap
|
||||
call ApplyAttrmap
|
||||
ret
|
||||
|
||||
.MysteryGiftPalette:
|
||||
INCLUDE "gfx/mystery_gift/gs_mystery_gift.pal"
|
||||
|
@ -1,117 +1,3 @@
|
||||
GetCrystalCGBLayout:
|
||||
ld a, b
|
||||
cp SCGB_DEFAULT
|
||||
jr nz, .not_default
|
||||
ld a, [wDefaultSGBLayout]
|
||||
.not_default
|
||||
push af
|
||||
farcall ResetBGPals
|
||||
pop af
|
||||
ld l, a
|
||||
ld h, 0
|
||||
add hl, hl
|
||||
ld de, .Jumptable
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld de, .done
|
||||
push de
|
||||
jp hl
|
||||
.done:
|
||||
ret
|
||||
|
||||
.Jumptable:
|
||||
dw _CrystalCGB_MobileLayout0
|
||||
dw _CrystalCGB_MobileLayout1
|
||||
dw _CrystalCGB_NameCard
|
||||
|
||||
Crystal_FillBoxCGB:
|
||||
; This is a copy of FillBoxCGB.
|
||||
.row
|
||||
push bc
|
||||
push hl
|
||||
.col
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .col
|
||||
pop hl
|
||||
ld bc, SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .row
|
||||
ret
|
||||
|
||||
Crystal_WipeAttrmap:
|
||||
; This is a copy of WipeAttrmap.
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
xor a
|
||||
call ByteFill
|
||||
ret
|
||||
|
||||
MG_Mobile_Layout_LoadPals:
|
||||
ld de, wBGPals1
|
||||
ld hl, Palette_MysteryGiftMobile
|
||||
ld bc, 5 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
ld de, wBGPals1 palette PAL_BG_TEXT
|
||||
ld hl, Palette_TextBG7
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
_CrystalCGB_MobileLayout0:
|
||||
call MG_Mobile_Layout_LoadPals
|
||||
call Crystal_WipeAttrmap
|
||||
call MG_Mobile_Layout_CreatePalBoxes
|
||||
farcall ApplyAttrmap
|
||||
farcall ApplyPals
|
||||
ret
|
||||
|
||||
MG_Mobile_Layout_CreatePalBoxes:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 4, 1
|
||||
ld a, $1
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 2, 1
|
||||
ld a, $2
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 6, 1
|
||||
ld a, $3
|
||||
call Crystal_FillBoxCGB
|
||||
hlcoord 1, 0, wAttrmap
|
||||
ld a, $1
|
||||
lb bc, 3, 18
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 2, 18
|
||||
ld a, $2
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 12, 18
|
||||
ld a, $3
|
||||
call Crystal_FillBoxCGB
|
||||
hlcoord 19, 0, wAttrmap
|
||||
lb bc, 4, 1
|
||||
ld a, $1
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 2, 1
|
||||
ld a, $2
|
||||
call Crystal_FillBoxCGB
|
||||
lb bc, 6, 1
|
||||
ld a, $3
|
||||
call Crystal_FillBoxCGB
|
||||
hlcoord 0, 12, wAttrmap
|
||||
ld bc, 6 * SCREEN_WIDTH
|
||||
ld a, $7
|
||||
call ByteFill
|
||||
ret
|
||||
|
||||
Palette_MysteryGiftMobile:
|
||||
INCLUDE "gfx/mystery_gift/mg_mobile.pal"
|
||||
|
||||
LoadOW_BGPal7::
|
||||
ld hl, Palette_TextBG7
|
||||
ld de, wBGPals1 palette PAL_BG_TEXT
|
||||
@ -123,144 +9,44 @@ LoadOW_BGPal7::
|
||||
Palette_TextBG7:
|
||||
INCLUDE "gfx/font/bg_text.pal"
|
||||
|
||||
Function49420::
|
||||
ld hl, MansionPalette1 + 8 palettes
|
||||
ld de, wBGPals1 palette PAL_BG_ROOF
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
_CrystalCGB_MobileLayout1:
|
||||
call MG_Mobile_Layout_LoadPals
|
||||
ld de, wBGPals1 palette PAL_BG_TEXT
|
||||
ld hl, .TextPalette
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
call Crystal_WipeAttrmap
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
xor a
|
||||
call ByteFill
|
||||
hlcoord 0, 14, wAttrmap
|
||||
ld bc, 4 * SCREEN_WIDTH
|
||||
ld a, $7
|
||||
call ByteFill
|
||||
ld a, [wd002]
|
||||
bit 6, a
|
||||
jr z, .asm_49464
|
||||
call .Function49480
|
||||
jr .done
|
||||
|
||||
.asm_49464
|
||||
call .Function49496
|
||||
.done
|
||||
farcall ApplyAttrmap
|
||||
farcall ApplyPals
|
||||
ld a, TRUE
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.TextPalette:
|
||||
INCLUDE "gfx/mystery_gift/mobile_text.pal"
|
||||
|
||||
.Function49480:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 4, SCREEN_WIDTH
|
||||
ld a, $7
|
||||
call Crystal_FillBoxCGB
|
||||
hlcoord 0, 2, wAttrmap
|
||||
ld a, $4
|
||||
ld [hl], a
|
||||
hlcoord 19, 2, wAttrmap
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
.Function49496:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 2, SCREEN_WIDTH
|
||||
ld a, $7
|
||||
call Crystal_FillBoxCGB
|
||||
hlcoord 0, 1, wAttrmap
|
||||
ld a, $4
|
||||
ld [hl], a
|
||||
hlcoord 19, 1, wAttrmap
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
INCLUDE "engine/tilesets/tileset_palettes.asm"
|
||||
|
||||
_CrystalCGB_NameCard:
|
||||
ld hl, .BGPalette
|
||||
ld de, wBGPals1
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
farcall ApplyPals
|
||||
call Crystal_WipeAttrmap
|
||||
farcall ApplyAttrmap
|
||||
ld hl, .OBPalette
|
||||
ld de, wOBPals1
|
||||
ld bc, 1 palettes
|
||||
ld a, BANK(wOBPals1)
|
||||
call FarCopyWRAM
|
||||
ret
|
||||
|
||||
.BGPalette:
|
||||
INCLUDE "gfx/mystery_gift/name_card_bg.pal"
|
||||
|
||||
.OBPalette:
|
||||
INCLUDE "gfx/mystery_gift/name_card_ob.pal"
|
||||
|
||||
Function49742:
|
||||
ld hl, .MobileBorderPalettes
|
||||
ld de, wBGPals1
|
||||
ld bc, 8 palettes
|
||||
ld a, BANK(wBGPals1)
|
||||
call FarCopyWRAM
|
||||
farcall ApplyPals
|
||||
ret
|
||||
|
||||
.MobileBorderPalettes:
|
||||
INCLUDE "gfx/trade/mobile_border.pal"
|
||||
|
||||
_InitMG_Mobile_LinkTradePalMap:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
lb bc, 16, 2
|
||||
ld a, $4
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $3
|
||||
ldcoord_a 0, 1, wAttrmap
|
||||
ldcoord_a 0, 14, wAttrmap
|
||||
hlcoord 2, 0, wAttrmap
|
||||
lb bc, 8, 18
|
||||
ld a, $5
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
hlcoord 2, 8, wAttrmap
|
||||
lb bc, 8, 18
|
||||
ld a, $6
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
hlcoord 0, 16, wAttrmap
|
||||
lb bc, 2, SCREEN_WIDTH
|
||||
ld a, $4
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $3
|
||||
lb bc, 6, 1
|
||||
hlcoord 6, 1, wAttrmap
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $3
|
||||
lb bc, 6, 1
|
||||
hlcoord 17, 1, wAttrmap
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $3
|
||||
lb bc, 6, 1
|
||||
hlcoord 6, 9, wAttrmap
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $3
|
||||
lb bc, 6, 1
|
||||
hlcoord 17, 9, wAttrmap
|
||||
call Crystal_FillBoxCGB
|
||||
call FillBoxCGB
|
||||
ld a, $2
|
||||
hlcoord 2, 16, wAttrmap
|
||||
ld [hli], a
|
||||
|
@ -77,73 +77,6 @@ ReloadMapPart::
|
||||
|
||||
ret
|
||||
|
||||
Mobile_ReloadMapPart:
|
||||
ld hl, ReloadMapPart ; useless
|
||||
ld hl, .Function
|
||||
jp CallInSafeGFXMode
|
||||
|
||||
.Function:
|
||||
decoord 0, 0, wAttrmap
|
||||
ld hl, wScratchAttrmap
|
||||
call PadAttrmapForHDMATransfer
|
||||
decoord 0, 0
|
||||
ld hl, wScratchTilemap
|
||||
call PadTilemapForHDMATransfer
|
||||
call DelayFrame
|
||||
|
||||
di
|
||||
ldh a, [rVBK]
|
||||
push af
|
||||
ld a, $1
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrmap
|
||||
call HDMATransfer_NoDI
|
||||
ld a, $0
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTilemap
|
||||
call HDMATransfer_NoDI
|
||||
pop af
|
||||
ldh [rVBK], a
|
||||
ei
|
||||
|
||||
ret
|
||||
|
||||
Function1040d4: ; unreferenced
|
||||
ld hl, .Function
|
||||
jp CallInSafeGFXMode
|
||||
|
||||
.Function
|
||||
ld a, $1
|
||||
ldh [rVBK], a
|
||||
ld a, BANK(w3_d800)
|
||||
ldh [rSVBK], a
|
||||
ld de, w3_d800
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
ldh [rHDMA1], a
|
||||
ldh a, [hBGMapAddress]
|
||||
ldh [rHDMA2], a
|
||||
ld a, d
|
||||
ldh [rHDMA3], a
|
||||
ld a, e
|
||||
ldh [rHDMA4], a
|
||||
ld a, $23
|
||||
ldh [hDMATransfer], a
|
||||
call WaitDMATransfer
|
||||
ret
|
||||
|
||||
Function1040fb: ; unreferenced
|
||||
ld hl, .Function
|
||||
jp CallInSafeGFXMode
|
||||
|
||||
.Function
|
||||
ld a, $1
|
||||
ldh [rVBK], a
|
||||
ld a, BANK(w3_d800)
|
||||
ldh [rSVBK], a
|
||||
ld hl, w3_d800
|
||||
call HDMATransferToWRAMBank3
|
||||
ret
|
||||
|
||||
OpenAndCloseMenu_HDMATransferTilemapAndAttrmap::
|
||||
; OpenText
|
||||
ld hl, .Function
|
||||
|
@ -112,10 +112,6 @@ LoadHPBar:
|
||||
ld hl, vTiles2 tile $55
|
||||
lb bc, BANK(ExpBarGFX), 9
|
||||
call Get2bppViaHDMA
|
||||
ld de, MobilePhoneTilesGFX + 7 tiles ; mobile phone icon
|
||||
ld hl, vTiles2 tile $5e
|
||||
lb bc, BANK(MobilePhoneTilesGFX), 2
|
||||
call Get2bppViaHDMA
|
||||
ret
|
||||
|
||||
StatsScreen_LoadFont:
|
||||
|
@ -52,8 +52,7 @@ SGBLayoutJumptable:
|
||||
dw .SGB_PlayerOrMonFrontpicPals
|
||||
dw .SGB_TradeTube
|
||||
dw .SGB_TrainerOrMonFrontpicPals
|
||||
dw .SGB_MysteryGift
|
||||
dw .SGB_Unused1E
|
||||
dw .SGB_Unused1D
|
||||
assert_table_length NUM_SCGB_LAYOUTS
|
||||
|
||||
.SGB_BattleGrayscale:
|
||||
@ -291,7 +290,6 @@ SGBLayoutJumptable:
|
||||
ret
|
||||
|
||||
.SGB_Diploma:
|
||||
.SGB_MysteryGift:
|
||||
ld hl, PalPacket_Diploma
|
||||
ld de, BlkPacket_AllPal0
|
||||
ret
|
||||
@ -439,7 +437,7 @@ endr
|
||||
ld de, wSGBPals + PALPACKET_LENGTH
|
||||
ret
|
||||
|
||||
.SGB_Unused1E:
|
||||
.SGB_Unused1D:
|
||||
ld hl, PalPacket_Pal01
|
||||
ld de, wSGBPals
|
||||
ld bc, PALPACKET_LENGTH
|
||||
|
@ -740,11 +740,9 @@ AnimSeq_FlyTo:
|
||||
ret
|
||||
|
||||
AnimSeq_MobileTradeSentPulse:
|
||||
farcall MobileTradeAnim_AnimateSentPulse
|
||||
ret
|
||||
|
||||
AnimSeq_MobileTradeOTPulse:
|
||||
farcall MobileTradeAnim_AnimateOTPulse
|
||||
ret
|
||||
|
||||
AnimSeq_IntroSuicune:
|
||||
@ -837,7 +835,6 @@ AnimSeq_IntroSuicuneAway:
|
||||
ret
|
||||
|
||||
AnimSeq_EZChatCursor:
|
||||
farcall AnimateEZChatCursor
|
||||
ret
|
||||
|
||||
AnimSeq_Celebi:
|
||||
|
@ -502,8 +502,6 @@ PokeBallEffect:
|
||||
cp BATTLETYPE_TUTORIAL
|
||||
jp z, .FinishTutorial
|
||||
|
||||
farcall StubbedTrainerRankings_WildMonsCaught
|
||||
|
||||
ld hl, Text_GotchaMonWasCaught
|
||||
call PrintText
|
||||
|
||||
|
@ -145,7 +145,6 @@ TeachTMHM:
|
||||
and a
|
||||
jr z, .nope
|
||||
|
||||
farcall StubbedTrainerRankings_TMsHMsTaught
|
||||
ld a, [wCurItem]
|
||||
call IsHM
|
||||
ret c
|
||||
|
@ -2033,8 +2033,6 @@ LinkTrade:
|
||||
|
||||
.save
|
||||
farcall SaveAfterLinkTrade
|
||||
farcall StubbedTrainerRankings_Trades
|
||||
farcall BackupMobileEventIndex
|
||||
ld c, 40
|
||||
call DelayFrames
|
||||
hlcoord 0, 12
|
||||
|
@ -1,150 +0,0 @@
|
||||
StageDataForMysteryGift:
|
||||
ld de, wMysteryGiftStaging
|
||||
ld a, GS_VERSION + 1
|
||||
ld [de], a
|
||||
inc de ; wMysteryGiftStaging+1
|
||||
ld a, BANK(sGameData)
|
||||
call OpenSRAM
|
||||
ld hl, sPlayerData + wPlayerID - wPlayerData
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
ld b, a
|
||||
inc de ; wMysteryGiftStaging+2
|
||||
ld a, [hl]
|
||||
ld [de], a
|
||||
ld c, a
|
||||
inc de ; wMysteryGiftStaging+3
|
||||
push bc
|
||||
ld hl, sPlayerData + wPlayerName - wPlayerData
|
||||
ld bc, NAME_LENGTH
|
||||
call CopyBytes
|
||||
push de ; wMysteryGiftStaging+14
|
||||
ld hl, sPokemonData + wPokedexCaught - wPokemonData
|
||||
ld b, wEndPokedexCaught - wPokedexCaught
|
||||
call CountSetBits
|
||||
pop de
|
||||
pop bc
|
||||
ld a, [wNumSetBits]
|
||||
ld [de], a
|
||||
inc de ; wMysteryGiftStaging+15
|
||||
call CloseSRAM
|
||||
call Random
|
||||
and 1
|
||||
ld [de], a
|
||||
inc de ; wMysteryGiftStaging+16
|
||||
call .RandomSample
|
||||
ld [de], a
|
||||
inc de ; wMysteryGiftStaging+17
|
||||
ld a, c
|
||||
ld c, b
|
||||
ld b, a
|
||||
call .RandomSample
|
||||
ld [de], a
|
||||
inc de ; wMysteryGiftStaging+18
|
||||
ld a, BANK(sBackupMysteryGiftItem)
|
||||
call OpenSRAM
|
||||
ld a, [sBackupMysteryGiftItem]
|
||||
ld [de], a
|
||||
inc de
|
||||
ld a, [sNumDailyMysteryGiftPartnerIDs]
|
||||
ld [de], a
|
||||
ld a, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData
|
||||
ld [wUnusedMysteryGiftStagedDataLength], a
|
||||
call CloseSRAM
|
||||
ld hl, wMysteryGiftStaging
|
||||
ld de, wMysteryGiftPlayerData
|
||||
ld bc, wMysteryGiftPlayerDataEnd - wMysteryGiftPlayerData
|
||||
jp CopyBytes
|
||||
|
||||
.RandomSample:
|
||||
push de
|
||||
call Random
|
||||
cp 10 percent
|
||||
jr c, .tenpercent
|
||||
call Random
|
||||
and %111
|
||||
ld d, a
|
||||
rl d
|
||||
ld e, $80
|
||||
.loop
|
||||
rlc e
|
||||
dec a
|
||||
jr nz, .loop
|
||||
ld a, e
|
||||
and c
|
||||
jr z, .skip
|
||||
ld a, $1
|
||||
.skip
|
||||
add d
|
||||
jr .done
|
||||
|
||||
.tenpercent
|
||||
call Random
|
||||
cp 20 percent - 1
|
||||
jr c, .twopercent
|
||||
call Random
|
||||
and %011
|
||||
ld d, a
|
||||
rl d
|
||||
ld e, $80
|
||||
.loop2
|
||||
rlc e
|
||||
dec a
|
||||
jr nz, .loop2
|
||||
ld a, e
|
||||
and b
|
||||
jr z, .skip2
|
||||
ld a, $1
|
||||
.skip2
|
||||
add d
|
||||
add $10
|
||||
jr .done
|
||||
|
||||
.twopercent
|
||||
call Random
|
||||
cp 20 percent - 1
|
||||
jr c, .pointfourpercent
|
||||
ld a, b
|
||||
swap a
|
||||
and $7
|
||||
add $18
|
||||
jr .done
|
||||
|
||||
.pointfourpercent
|
||||
ld a, b
|
||||
and $80
|
||||
ld a, $20
|
||||
jr z, .done
|
||||
ld a, $21
|
||||
|
||||
.done
|
||||
pop de
|
||||
ret
|
||||
|
||||
MysteryGiftGetItem:
|
||||
ld a, c
|
||||
cp MysteryGiftItems.End - MysteryGiftItems
|
||||
jr nc, MysteryGiftFallbackItem
|
||||
ld hl, MysteryGiftItems
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld c, [hl]
|
||||
ret
|
||||
|
||||
MysteryGiftGetDecoration:
|
||||
ld a, c
|
||||
cp MysteryGiftDecos.End - MysteryGiftDecos
|
||||
jr nc, MysteryGiftFallbackItem
|
||||
ld hl, MysteryGiftDecos
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
ld c, [hl]
|
||||
ret
|
||||
|
||||
MysteryGiftFallbackItem:
|
||||
ld c, DECO_POLKADOT_BED ; GREAT_BALL
|
||||
ret
|
||||
|
||||
INCLUDE "data/items/mystery_gift_items.asm"
|
||||
|
||||
INCLUDE "data/decorations/mystery_gift_decos.asm"
|
@ -8,8 +8,6 @@ InitCrystalData:
|
||||
ld [wd476], a
|
||||
ld [wd477], a
|
||||
ld [wd478], a
|
||||
ld [wd002], a
|
||||
ld [wd003], a
|
||||
ld a, [wd479]
|
||||
res 0, a ; ???
|
||||
ld [wd479], a
|
||||
@ -18,8 +16,6 @@ InitCrystalData:
|
||||
ld [wd479], a
|
||||
ret
|
||||
|
||||
INCLUDE "mobile/mobile_12.asm"
|
||||
|
||||
InitGender:
|
||||
call InitGenderScreen
|
||||
call LoadGenderScreenPal
|
||||
|
@ -48,12 +48,6 @@ NewGame_ClearTilemapEtc:
|
||||
call ClearWindowData
|
||||
ret
|
||||
|
||||
MysteryGift:
|
||||
call UpdateTime
|
||||
farcall DoMysteryGiftIfDayHasPassed
|
||||
farcall DoMysteryGift
|
||||
ret
|
||||
|
||||
Option:
|
||||
farcall _Option
|
||||
ret
|
||||
@ -78,16 +72,9 @@ NewGame:
|
||||
jp FinishContinueFunction
|
||||
|
||||
AreYouABoyOrAreYouAGirl:
|
||||
farcall Mobile_AlwaysReturnNotCarry ; mobile
|
||||
jr c, .ok
|
||||
farcall InitGender
|
||||
ret
|
||||
|
||||
.ok
|
||||
ld c, 0
|
||||
farcall InitMobileProfile ; mobile
|
||||
ret
|
||||
|
||||
if DEF(_DEBUG)
|
||||
DebugRoom: ; unreferenced
|
||||
farcall _DebugRoom
|
||||
@ -173,16 +160,6 @@ _ResetWRAM:
|
||||
ld [wRoamMon2MapNumber], a
|
||||
ld [wRoamMon3MapNumber], a
|
||||
|
||||
ld a, BANK(sMysteryGiftItem) ; aka BANK(sMysteryGiftUnlocked)
|
||||
call OpenSRAM
|
||||
ld hl, sMysteryGiftItem
|
||||
xor a
|
||||
ld [hli], a
|
||||
assert sMysteryGiftItem + 1 == sMysteryGiftUnlocked
|
||||
dec a ; -1
|
||||
ld [hl], a
|
||||
call CloseSRAM
|
||||
|
||||
call LoadOrRegenerateLuckyIDNumber
|
||||
call InitializeMagikarpHouse
|
||||
|
||||
@ -220,8 +197,6 @@ endc
|
||||
|
||||
farcall DeletePartyMonMail
|
||||
|
||||
farcall DeleteMobileEventIndex
|
||||
|
||||
call ResetGameTime
|
||||
ret
|
||||
|
||||
@ -365,13 +340,11 @@ Continue:
|
||||
ld a, HIGH(MUSIC_NONE)
|
||||
ld [wMusicFadeID + 1], a
|
||||
call ClearBGPalettes
|
||||
call Continue_MobileAdapterMenu
|
||||
call CloseWindow
|
||||
call ClearTilemap
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
farcall JumpRoamMons
|
||||
farcall CopyMysteryGiftReceivedDecorationsToPC
|
||||
farcall ClockContinue
|
||||
ld a, [wSpawnAfterChampion]
|
||||
cp SPAWN_LANCE
|
||||
@ -400,36 +373,6 @@ PostCreditsSpawn:
|
||||
ldh [hMapEntryMethod], a
|
||||
ret
|
||||
|
||||
Continue_MobileAdapterMenu:
|
||||
farcall Mobile_AlwaysReturnNotCarry ; mobile check
|
||||
ret nc
|
||||
|
||||
; the rest of this stuff is never reached because
|
||||
; the previous function returns with carry not set
|
||||
ld hl, wd479
|
||||
bit 1, [hl]
|
||||
ret nz
|
||||
ld a, 5
|
||||
ld [wMusicFade], a
|
||||
ld a, LOW(MUSIC_MOBILE_ADAPTER_MENU)
|
||||
ld [wMusicFadeID], a
|
||||
ld a, HIGH(MUSIC_MOBILE_ADAPTER_MENU)
|
||||
ld [wMusicFadeID + 1], a
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
ld c, $1
|
||||
farcall InitMobileProfile ; mobile
|
||||
farcall _SaveData
|
||||
ld a, 8
|
||||
ld [wMusicFade], a
|
||||
ld a, LOW(MUSIC_NONE)
|
||||
ld [wMusicFadeID], a
|
||||
ld a, HIGH(MUSIC_NONE)
|
||||
ld [wMusicFadeID + 1], a
|
||||
ld c, 35
|
||||
call DelayFrames
|
||||
ret
|
||||
|
||||
ConfirmContinue:
|
||||
.loop
|
||||
call DelayFrame
|
||||
|
@ -2,26 +2,13 @@
|
||||
const_def
|
||||
const MAINMENU_NEW_GAME ; 0
|
||||
const MAINMENU_CONTINUE ; 1
|
||||
const MAINMENU_MOBILE_MYSTERY ; 2
|
||||
const MAINMENU_MOBILE ; 3
|
||||
const MAINMENU_MOBILE_STUDIUM ; 4
|
||||
const MAINMENU_MYSTERY_MOBILE_STUDIUM ; 5
|
||||
const MAINMENU_MYSTERY ; 6
|
||||
const MAINMENU_MYSTERY_STUDIUM ; 7
|
||||
const MAINMENU_STUDIUM ; 8
|
||||
|
||||
; MainMenu.Strings and MainMenu.Jumptable indexes
|
||||
const_def
|
||||
const MAINMENUITEM_CONTINUE ; 0
|
||||
const MAINMENUITEM_NEW_GAME ; 1
|
||||
const MAINMENUITEM_OPTION ; 2
|
||||
const MAINMENUITEM_MYSTERY_GIFT ; 3
|
||||
const MAINMENUITEM_MOBILE ; 4
|
||||
const MAINMENUITEM_MOBILE_STUDIUM ; 5
|
||||
const MAINMENUITEM_DEBUG_ROOM ; 6
|
||||
|
||||
MobileMenuGFX:
|
||||
INCBIN "gfx/mobile/mobile_menu.2bpp"
|
||||
const MAINMENUITEM_DEBUG_ROOM ; 3
|
||||
|
||||
MainMenu:
|
||||
.loop
|
||||
@ -80,9 +67,6 @@ endc
|
||||
dw MainMenu_Continue
|
||||
dw MainMenu_NewGame
|
||||
dw MainMenu_Option
|
||||
dw MainMenu_MysteryGift
|
||||
dw MainMenu_Mobile
|
||||
dw MainMenu_MobileStudium
|
||||
if DEF(_DEBUG)
|
||||
dw MainMenu_DebugRoom
|
||||
endc
|
||||
@ -106,88 +90,6 @@ if DEF(_DEBUG)
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE_MYSTERY
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MOBILE_STUDIUM
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY_MOBILE_STUDIUM
|
||||
db 6 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_MYSTERY_STUDIUM
|
||||
db 5 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MYSTERY_GIFT
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
; MAINMENU_STUDIUM
|
||||
db 4 + DEF(_DEBUG)
|
||||
db MAINMENUITEM_CONTINUE
|
||||
db MAINMENUITEM_NEW_GAME
|
||||
db MAINMENUITEM_OPTION
|
||||
db MAINMENUITEM_MOBILE_STUDIUM
|
||||
if DEF(_DEBUG)
|
||||
db MAINMENUITEM_DEBUG_ROOM
|
||||
endc
|
||||
db -1
|
||||
|
||||
MainMenu_GetWhichMenu:
|
||||
nop
|
||||
nop
|
||||
@ -199,42 +101,7 @@ MainMenu_GetWhichMenu:
|
||||
ret
|
||||
|
||||
.next
|
||||
ldh a, [hCGB]
|
||||
cp TRUE
|
||||
ld a, MAINMENU_CONTINUE
|
||||
ret nz
|
||||
ld a, BANK(sNumDailyMysteryGiftPartnerIDs)
|
||||
call OpenSRAM
|
||||
ld a, [sNumDailyMysteryGiftPartnerIDs]
|
||||
cp -1 ; locked?
|
||||
call CloseSRAM
|
||||
jr nz, .mystery_gift
|
||||
; This check makes no difference.
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
||||
ld a, MAINMENU_CONTINUE
|
||||
jr z, .ok
|
||||
jr .ok
|
||||
|
||||
.ok
|
||||
jr .ok2
|
||||
|
||||
.ok2
|
||||
ld a, MAINMENU_CONTINUE
|
||||
ret
|
||||
|
||||
.mystery_gift
|
||||
; This check makes no difference.
|
||||
ld a, [wStatusFlags]
|
||||
bit STATUSFLAGS_MAIN_MENU_MOBILE_CHOICES_F, a
|
||||
jr z, .ok3
|
||||
jr .ok3
|
||||
|
||||
.ok3
|
||||
jr .ok4
|
||||
|
||||
.ok4
|
||||
ld a, MAINMENU_MYSTERY
|
||||
ret
|
||||
|
||||
MainMenuJoypadLoop:
|
||||
@ -378,7 +245,3 @@ MainMenu_Option:
|
||||
MainMenu_Continue:
|
||||
farcall Continue
|
||||
ret
|
||||
|
||||
MainMenu_MysteryGift:
|
||||
farcall MysteryGift
|
||||
ret
|
||||
|
@ -15,37 +15,11 @@ _InterpretBattleMenu::
|
||||
rst FarCall
|
||||
|
||||
call Draw2DMenu
|
||||
farcall MobileTextBorder
|
||||
call UpdateSprites
|
||||
call ApplyTilemap
|
||||
call Get2DMenuSelection
|
||||
ret
|
||||
|
||||
_InterpretMobileMenu::
|
||||
ld hl, CopyMenuData
|
||||
ld a, [wMenuData_2DMenuItemStringsBank]
|
||||
rst FarCall
|
||||
|
||||
call Draw2DMenu
|
||||
farcall MobileTextBorder
|
||||
call UpdateSprites
|
||||
call ApplyTilemap
|
||||
call Init2DMenuCursorPosition
|
||||
ld hl, w2DMenuFlags1
|
||||
set 7, [hl]
|
||||
.loop
|
||||
call DelayFrame
|
||||
farcall Function10032e
|
||||
ld a, [wcd2b]
|
||||
and a
|
||||
jr nz, .quit
|
||||
call MobileMenuJoypad
|
||||
ld a, [wMenuJoypadFilter]
|
||||
and c
|
||||
jr z, .loop
|
||||
call Mobile_GetMenuSelection
|
||||
ret
|
||||
|
||||
.quit
|
||||
ld a, [w2DMenuNumCols]
|
||||
ld c, a
|
||||
@ -66,7 +40,6 @@ Get2DMenuSelection:
|
||||
call Init2DMenuCursorPosition
|
||||
call StaticMenuJoypad
|
||||
call MenuClickSound
|
||||
Mobile_GetMenuSelection:
|
||||
ld a, [wMenuDataFlags]
|
||||
bit 1, a
|
||||
jr z, .skip
|
||||
@ -256,58 +229,6 @@ _ScrollingMenuJoypad::
|
||||
ldh [hBGMapMode], a
|
||||
ret
|
||||
|
||||
MobileMenuJoypad:
|
||||
ld hl, w2DMenuFlags2
|
||||
res 7, [hl]
|
||||
ldh a, [hBGMapMode]
|
||||
push af
|
||||
call Move2DMenuCursor
|
||||
call Do2DMenuRTCJoypad
|
||||
jr nc, .skip_joypad
|
||||
call _2DMenuInterpretJoypad
|
||||
.skip_joypad
|
||||
pop af
|
||||
ldh [hBGMapMode], a
|
||||
call GetMenuJoypad
|
||||
ld c, a
|
||||
ret
|
||||
|
||||
Function241d5: ; unreferenced
|
||||
call Place2DMenuCursor
|
||||
.loop
|
||||
call Move2DMenuCursor
|
||||
call HDMATransferTilemapToWRAMBank3 ; should be farcall
|
||||
call .loop2
|
||||
jr nc, .done
|
||||
call _2DMenuInterpretJoypad
|
||||
jr c, .done
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr nz, .done
|
||||
call GetMenuJoypad
|
||||
ld c, a
|
||||
ld a, [wMenuJoypadFilter]
|
||||
and c
|
||||
jr z, .loop
|
||||
|
||||
.done
|
||||
ret
|
||||
|
||||
.loop2
|
||||
call Menu_WasButtonPressed
|
||||
ret c
|
||||
ld c, 1
|
||||
ld b, 3
|
||||
call AdvanceMobileInactivityTimerAndCheckExpired ; should be farcall
|
||||
ret c
|
||||
farcall Function100337
|
||||
ret c
|
||||
ld a, [w2DMenuFlags1]
|
||||
bit 7, a
|
||||
jr z, .loop2
|
||||
and a
|
||||
ret
|
||||
|
||||
MenuJoypadLoop:
|
||||
.loop
|
||||
call Move2DMenuCursor
|
||||
|
@ -26,7 +26,6 @@ SaveMenu:
|
||||
SaveAfterLinkTrade:
|
||||
call PauseGameLogic
|
||||
farcall StageRTCTimeForSave
|
||||
farcall BackupMysteryGift
|
||||
call SavePokemonData
|
||||
call SaveChecksum
|
||||
call SaveBackupPokemonData
|
||||
@ -92,7 +91,6 @@ MoveMonWOMail_InsertMon_SaveGame:
|
||||
ld a, TRUE
|
||||
ld [wSaveFileExists], a
|
||||
farcall StageRTCTimeForSave
|
||||
farcall BackupMysteryGift
|
||||
call ValidateSave
|
||||
call SaveOptions
|
||||
call SavePlayerData
|
||||
@ -104,7 +102,6 @@ MoveMonWOMail_InsertMon_SaveGame:
|
||||
call SaveBackupPokemonData
|
||||
call SaveBackupChecksum
|
||||
farcall BackupPartyMonMail
|
||||
farcall BackupMobileEventIndex
|
||||
farcall SaveRTC
|
||||
call LoadBox
|
||||
call ResumeGameLogic
|
||||
@ -267,7 +264,6 @@ _SaveGameData:
|
||||
ld a, TRUE
|
||||
ld [wSaveFileExists], a
|
||||
farcall StageRTCTimeForSave
|
||||
farcall BackupMysteryGift
|
||||
call ValidateSave
|
||||
call SaveOptions
|
||||
call SavePlayerData
|
||||
@ -281,7 +277,6 @@ _SaveGameData:
|
||||
call SaveBackupChecksum
|
||||
call UpdateStackTop
|
||||
farcall BackupPartyMonMail
|
||||
farcall BackupMobileEventIndex
|
||||
farcall SaveRTC
|
||||
ld a, BANK(sBattleTowerChallengeState)
|
||||
call OpenSRAM
|
||||
@ -361,9 +356,7 @@ ErasePreviousSave:
|
||||
call EraseBoxes
|
||||
call EraseHallOfFame
|
||||
call EraseLinkBattleStats
|
||||
call EraseMysteryGift
|
||||
call SaveData
|
||||
call EraseBattleTowerStatus
|
||||
ld a, BANK(sStackTop)
|
||||
call OpenSRAM
|
||||
xor a
|
||||
@ -383,15 +376,6 @@ EraseLinkBattleStats:
|
||||
call ByteFill
|
||||
jp CloseSRAM
|
||||
|
||||
EraseMysteryGift:
|
||||
ld a, BANK(sBackupMysteryGiftItem)
|
||||
call OpenSRAM
|
||||
ld hl, sBackupMysteryGiftItem
|
||||
ld bc, sBackupMysteryGiftItemEnd - sBackupMysteryGiftItem
|
||||
xor a
|
||||
call ByteFill
|
||||
jp CloseSRAM
|
||||
|
||||
EraseHallOfFame:
|
||||
ld a, BANK(sHallOfFame)
|
||||
call OpenSRAM
|
||||
@ -401,72 +385,10 @@ EraseHallOfFame:
|
||||
call ByteFill
|
||||
jp CloseSRAM
|
||||
|
||||
InitDefaultEZChatMsgs: ; unreferenced
|
||||
ld a, BANK(sEZChatMessages) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
ld hl, .Data
|
||||
ld de, sEZChatMessages
|
||||
ld bc, EASY_CHAT_MESSAGE_LENGTH * 4
|
||||
call CopyBytes
|
||||
jp CloseSRAM
|
||||
|
||||
.Data:
|
||||
; introduction
|
||||
db $0d, EZCHAT_GREETINGS, $00, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
|
||||
db $22, EZCHAT_GREETINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
|
||||
; begin battle
|
||||
db $03, EZCHAT_BATTLE, $05, EZCHAT_CONDITIONS, $03, EZCHAT_EXCLAMATIONS
|
||||
db $0e, EZCHAT_CONVERSATION, $03, EZCHAT_GREETINGS, $00, EZCHAT_POKEMON
|
||||
; win battle
|
||||
db $39, EZCHAT_FEELINGS, $07, EZCHAT_BATTLE, $00, EZCHAT_EXCLAMATIONS
|
||||
db $04, EZCHAT_FEELINGS, $01, EZCHAT_EXCLAMATIONS, $00, EZCHAT_POKEMON
|
||||
; lose battle
|
||||
db $0f, EZCHAT_EXCLAMATIONS, $14, EZCHAT_FEELINGS, $05, EZCHAT_EXCLAMATIONS
|
||||
db $11, EZCHAT_TIME, $0c, EZCHAT_CONVERSATION, $06, EZCHAT_BATTLE
|
||||
|
||||
EraseBattleTowerStatus:
|
||||
ld a, BANK(sBattleTowerChallengeState)
|
||||
call OpenSRAM
|
||||
xor a
|
||||
ld [sBattleTowerChallengeState], a
|
||||
jp CloseSRAM
|
||||
|
||||
SaveData:
|
||||
call _SaveData
|
||||
ret
|
||||
|
||||
Function14d6c: ; unreferenced
|
||||
ld a, BANK(s4_a60b) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
ld a, [s4_a60b] ; address of MBC30 bank
|
||||
ld b, $0
|
||||
and a
|
||||
jr z, .ok
|
||||
ld b, $2
|
||||
|
||||
.ok
|
||||
ld a, b
|
||||
ld [s4_a60b], a ; address of MBC30 bank
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function14d83: ; unreferenced
|
||||
ld a, BANK(s4_a60c) ; aka BANK(s4_a60d) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
xor a
|
||||
ld [s4_a60c], a ; address of MBC30 bank
|
||||
ld [s4_a60d], a ; address of MBC30 bank
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
Function14d93: ; unreferenced
|
||||
ld a, BANK(s7_a000) ; MBC30 bank used by JP Crystal; inaccessible by MBC3
|
||||
call OpenSRAM
|
||||
xor a
|
||||
ld [s7_a000], a ; address of MBC30 bank
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
HallOfFame_InitSaveIfNeeded:
|
||||
ld a, [wSavedAtLeastOnce]
|
||||
and a
|
||||
@ -600,8 +522,6 @@ TryLoadSaveFile:
|
||||
call LoadPokemonData
|
||||
call LoadBox
|
||||
farcall RestorePartyMonMail
|
||||
farcall RestoreMobileEventIndex
|
||||
farcall RestoreMysteryGift
|
||||
call ValidateBackupSave
|
||||
call SaveBackupOptions
|
||||
call SaveBackupPlayerData
|
||||
@ -617,8 +537,6 @@ TryLoadSaveFile:
|
||||
call LoadBackupPokemonData
|
||||
call LoadBox
|
||||
farcall RestorePartyMonMail
|
||||
farcall RestoreMobileEventIndex
|
||||
farcall RestoreMysteryGift
|
||||
call ValidateSave
|
||||
call SaveOptions
|
||||
call SavePlayerData
|
||||
@ -839,17 +757,6 @@ _SaveData:
|
||||
ld bc, wCrystalDataEnd - wCrystalData
|
||||
call CopyBytes
|
||||
|
||||
; This block originally had some mobile functionality, but since we're still in
|
||||
; BANK(sCrystalData), it instead overwrites the sixteen wEventFlags starting at 1:s4_a60e with
|
||||
; garbage from wd479. This isn't an issue, since ErasePreviousSave is followed by a regular
|
||||
; save that unwrites the garbage.
|
||||
|
||||
ld hl, wd479
|
||||
ld a, [hli]
|
||||
ld [s4_a60e + 0], a
|
||||
ld a, [hli]
|
||||
ld [s4_a60e + 1], a
|
||||
|
||||
jp CloseSRAM
|
||||
|
||||
_LoadData:
|
||||
@ -860,15 +767,6 @@ _LoadData:
|
||||
ld bc, wCrystalDataEnd - wCrystalData
|
||||
call CopyBytes
|
||||
|
||||
; This block originally had some mobile functionality to mirror _SaveData above, but instead it
|
||||
; (harmlessly) writes the aforementioned wEventFlags to the unused wd479.
|
||||
|
||||
ld hl, wd479
|
||||
ld a, [s4_a60e + 0]
|
||||
ld [hli], a
|
||||
ld a, [s4_a60e + 1]
|
||||
ld [hli], a
|
||||
|
||||
jp CloseSRAM
|
||||
|
||||
GetBoxAddress:
|
||||
|
@ -76,7 +76,6 @@ HandlePlayerStep:
|
||||
ret
|
||||
|
||||
.mobile
|
||||
farcall StubbedTrainerRankings_StepCount
|
||||
ret
|
||||
|
||||
.fail2
|
||||
|
@ -447,8 +447,6 @@ Script__2dmenu:
|
||||
Script_battletowertext:
|
||||
call SetUpTextbox
|
||||
call GetScriptByte
|
||||
ld c, a
|
||||
farcall BattleTowerText
|
||||
ret
|
||||
|
||||
Script_verbosegiveitem:
|
||||
@ -2317,8 +2315,6 @@ Script_endall:
|
||||
Script_halloffame:
|
||||
ld hl, wGameTimerPaused
|
||||
res GAME_TIMER_PAUSED_F, [hl]
|
||||
farcall StubbedTrainerRankings_HallOfFame
|
||||
farcall StubbedTrainerRankings_HallOfFame2
|
||||
farcall HallOfFame
|
||||
ld hl, wGameTimerPaused
|
||||
set GAME_TIMER_PAUSED_F, [hl]
|
||||
|
@ -256,35 +256,6 @@ _CheckLuckyNumberShowFlag:
|
||||
ld hl, wLuckyNumberDayTimer
|
||||
jp CheckDayDependentEventHL
|
||||
|
||||
DoMysteryGiftIfDayHasPassed:
|
||||
ld a, BANK(sMysteryGiftTimer)
|
||||
call OpenSRAM
|
||||
ld hl, sMysteryGiftTimer
|
||||
ld a, [hli]
|
||||
ld [wTempMysteryGiftTimer], a
|
||||
ld a, [hl]
|
||||
ld [wTempMysteryGiftTimer + 1], a
|
||||
call CloseSRAM
|
||||
|
||||
ld hl, wTempMysteryGiftTimer
|
||||
call CheckDayDependentEventHL
|
||||
jr nc, .not_timed_out
|
||||
ld hl, wTempMysteryGiftTimer
|
||||
call InitOneDayCountdown
|
||||
call CloseSRAM
|
||||
farcall ResetDailyMysteryGiftLimitIfUnlocked
|
||||
|
||||
.not_timed_out
|
||||
ld a, BANK(sMysteryGiftTimer)
|
||||
call OpenSRAM
|
||||
ld hl, wTempMysteryGiftTimer
|
||||
ld a, [hli]
|
||||
ld [sMysteryGiftTimer], a
|
||||
ld a, [hl]
|
||||
ld [sMysteryGiftTimer + 1], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
UpdateTimeRemaining:
|
||||
; If the amount of time elapsed exceeds the capacity of its
|
||||
; unit, skip this part.
|
||||
|
@ -59,7 +59,6 @@ _GetVarAction::
|
||||
dwb wXCoord, RETVAR_STRBUF2
|
||||
dwb wYCoord, RETVAR_STRBUF2
|
||||
dwb wSpecialPhoneCallID, RETVAR_STRBUF2
|
||||
dwb wNrOfBeatenBattleTowerTrainers, RETVAR_STRBUF2
|
||||
dwb wKurtApricornQuantity, RETVAR_STRBUF2
|
||||
dwb wCurCaller, RETVAR_ADDR_DE
|
||||
dwb wBlueCardBalance, RETVAR_ADDR_DE
|
||||
|
@ -451,7 +451,6 @@ Script_SpecialElmCall: ; unreferenced
|
||||
RingTwice_StartCall:
|
||||
call .Ring
|
||||
call .Ring
|
||||
farcall StubbedTrainerRankings_PhoneCalls
|
||||
ret
|
||||
|
||||
.Ring:
|
||||
@ -479,7 +478,6 @@ PhoneCall::
|
||||
ld [wPhoneCaller + 1], a
|
||||
call .Ring
|
||||
call .Ring
|
||||
farcall StubbedTrainerRankings_PhoneCalls
|
||||
ret
|
||||
|
||||
.Ring:
|
||||
|
@ -226,7 +226,6 @@ HatchEggs:
|
||||
push de
|
||||
|
||||
farcall SetEggMonCaughtData
|
||||
farcall StubbedTrainerRankings_EggsHatched
|
||||
ld a, [wCurPartyMon]
|
||||
ld hl, wPartyMon1Species
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
|
@ -1,226 +0,0 @@
|
||||
CorrectPartyErrors: ; unreferenced
|
||||
ld hl, wPartyCount
|
||||
ld a, [hl]
|
||||
and a
|
||||
ret z
|
||||
|
||||
cp PARTY_LENGTH + 1
|
||||
jr c, .party_length_okay
|
||||
ld a, PARTY_LENGTH
|
||||
ld [hl], a
|
||||
.party_length_okay
|
||||
inc hl
|
||||
|
||||
ld b, a
|
||||
ld c, 0
|
||||
.loop1
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .invalid_species
|
||||
cp NUM_POKEMON + 1
|
||||
jr z, .invalid_species
|
||||
cp EGG + 1
|
||||
jr c, .next_species
|
||||
|
||||
.invalid_species
|
||||
ld [hl], SMEARGLE
|
||||
push hl
|
||||
push bc
|
||||
ld a, c
|
||||
ld hl, wPartyMon1Species
|
||||
call GetPartyLocation
|
||||
ld [hl], SMEARGLE
|
||||
pop bc
|
||||
pop hl
|
||||
|
||||
.next_species
|
||||
inc hl
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .loop1
|
||||
ld [hl], $ff
|
||||
|
||||
ld hl, wPartyMon1
|
||||
ld a, [wPartyCount]
|
||||
ld d, a
|
||||
ld e, 0
|
||||
.loop2
|
||||
push de
|
||||
push hl
|
||||
ld b, h
|
||||
ld c, l
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .invalid_species_2
|
||||
cp NUM_POKEMON + 1
|
||||
jr c, .check_level
|
||||
|
||||
.invalid_species_2
|
||||
ld [hl], SMEARGLE
|
||||
push de
|
||||
ld d, 0
|
||||
ld hl, wPartySpecies
|
||||
add hl, de
|
||||
pop de
|
||||
ld a, SMEARGLE
|
||||
ld [hl], a
|
||||
|
||||
.check_level
|
||||
ld [wCurSpecies], a
|
||||
call GetBaseData
|
||||
ld hl, MON_LEVEL
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp MIN_LEVEL
|
||||
ld a, MIN_LEVEL
|
||||
jr c, .invalid_level
|
||||
ld a, [hl]
|
||||
cp MAX_LEVEL
|
||||
jr c, .load_level
|
||||
ld a, MAX_LEVEL
|
||||
.invalid_level
|
||||
ld [hl], a
|
||||
.load_level
|
||||
ld [wCurPartyLevel], a
|
||||
|
||||
ld hl, MON_MAXHP
|
||||
add hl, bc
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, MON_STAT_EXP - 1
|
||||
add hl, bc
|
||||
ld b, TRUE
|
||||
predef CalcMonStats
|
||||
pop hl
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
add hl, bc
|
||||
pop de
|
||||
inc e
|
||||
dec d
|
||||
jr nz, .loop2
|
||||
|
||||
ld de, wPartyMonNicknames
|
||||
ld a, [wPartyCount]
|
||||
ld b, a
|
||||
ld c, 0
|
||||
.loop3
|
||||
push bc
|
||||
call .GetLengthOfStringWith6CharCap
|
||||
push de
|
||||
farcall CheckStringForErrors
|
||||
pop hl
|
||||
pop bc
|
||||
jr nc, .valid_nickname
|
||||
|
||||
push bc
|
||||
push hl
|
||||
ld hl, wPartySpecies
|
||||
push bc
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
pop bc
|
||||
ld a, [hl]
|
||||
cp EGG
|
||||
ld hl, .TAMAGO
|
||||
jr z, .got_nickname
|
||||
ld [wNamedObjectIndex], a
|
||||
call GetPokemonName
|
||||
ld hl, wStringBuffer1
|
||||
.got_nickname
|
||||
pop de
|
||||
ld bc, MON_NAME_LENGTH
|
||||
call CopyBytes
|
||||
pop bc
|
||||
|
||||
.valid_nickname
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .loop3
|
||||
|
||||
ld de, wPartyMonOTs
|
||||
ld a, [wPartyCount]
|
||||
ld b, a
|
||||
ld c, 0
|
||||
.loop4
|
||||
push bc
|
||||
call .GetLengthOfStringWith6CharCap
|
||||
push de
|
||||
farcall CheckStringForErrors
|
||||
pop hl
|
||||
jr nc, .valid_ot_name
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, wPlayerName
|
||||
ld bc, NAME_LENGTH
|
||||
call CopyBytes
|
||||
.valid_ot_name
|
||||
pop bc
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .loop4
|
||||
|
||||
ld hl, wPartyMon1Moves
|
||||
ld a, [wPartyCount]
|
||||
ld b, a
|
||||
.loop5
|
||||
push hl
|
||||
ld c, NUM_MOVES
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .invalid_move
|
||||
cp NUM_ATTACKS + 1
|
||||
jr c, .moves_loop
|
||||
.invalid_move
|
||||
ld [hl], POUND
|
||||
|
||||
.moves_loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .fill_invalid_moves
|
||||
cp NUM_ATTACKS + 1
|
||||
jr c, .next_move
|
||||
|
||||
.fill_invalid_moves
|
||||
xor a
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .fill_invalid_moves
|
||||
jr .next_pokemon
|
||||
|
||||
.next_move
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .moves_loop
|
||||
|
||||
.next_pokemon
|
||||
pop hl
|
||||
push bc
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
jr nz, .loop5
|
||||
ret
|
||||
|
||||
.TAMAGO:
|
||||
db "タマゴ@@@"
|
||||
|
||||
.GetLengthOfStringWith6CharCap:
|
||||
push de
|
||||
ld c, 1
|
||||
ld b, NAME_LENGTH_JAPANESE
|
||||
.search_loop
|
||||
ld a, [de]
|
||||
cp "@"
|
||||
jr z, .done
|
||||
inc de
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .search_loop
|
||||
dec c
|
||||
dec de
|
||||
ld a, "@"
|
||||
ld [de], a
|
||||
.done
|
||||
pop de
|
||||
ret
|
@ -242,7 +242,6 @@ EvolveAfterBattle_MasterLoop:
|
||||
push hl
|
||||
ld hl, EvolvedIntoText
|
||||
call PrintTextboxText
|
||||
farcall StubbedTrainerRankings_MonsEvolved
|
||||
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
|
@ -613,7 +613,6 @@ MonMenu_Fly:
|
||||
jr z, .Fail
|
||||
cp $0
|
||||
jr z, .Error
|
||||
farcall StubbedTrainerRankings_Fly
|
||||
ld b, $4
|
||||
ld a, $2
|
||||
ret
|
||||
|
@ -76,7 +76,6 @@ WritePartyMenuTilemap:
|
||||
dw PlacePartyMonTMHMCompatibility
|
||||
dw PlacePartyMonEvoStoneCompatibility
|
||||
dw PlacePartyMonGender
|
||||
dw PlacePartyMonMobileBattleSelection
|
||||
|
||||
PlacePartyNicknames:
|
||||
hlcoord 3, 1
|
||||
@ -475,83 +474,6 @@ PlacePartyMonGender:
|
||||
.unknown
|
||||
db "…UNKNOWN@"
|
||||
|
||||
PlacePartyMonMobileBattleSelection:
|
||||
ld a, [wPartyCount]
|
||||
and a
|
||||
ret z
|
||||
ld c, a
|
||||
ld b, 0
|
||||
hlcoord 12, 1
|
||||
.loop
|
||||
push bc
|
||||
push hl
|
||||
ld de, .String_Sanka_Shinai
|
||||
call PlaceString
|
||||
pop hl
|
||||
ld de, 2 * SCREEN_WIDTH
|
||||
add hl, de
|
||||
pop bc
|
||||
inc b
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ld a, l
|
||||
ld e, MON_NAME_LENGTH
|
||||
sub e
|
||||
ld l, a
|
||||
ld a, h
|
||||
sbc $0
|
||||
ld h, a
|
||||
ld de, .String_Kettei_Yameru
|
||||
call PlaceString
|
||||
ld b, $3
|
||||
ld c, $0
|
||||
ld hl, wd002
|
||||
ld a, [hl]
|
||||
.loop2
|
||||
push hl
|
||||
push bc
|
||||
hlcoord 12, 1
|
||||
.loop3
|
||||
and a
|
||||
jr z, .done
|
||||
ld de, 2 * SCREEN_WIDTH
|
||||
add hl, de
|
||||
dec a
|
||||
jr .loop3
|
||||
|
||||
.done
|
||||
ld de, .String_Banme
|
||||
push hl
|
||||
call PlaceString
|
||||
pop hl
|
||||
pop bc
|
||||
push bc
|
||||
push hl
|
||||
ld a, c
|
||||
ld hl, .Strings_1_2_3
|
||||
call GetNthString
|
||||
ld d, h
|
||||
ld e, l
|
||||
pop hl
|
||||
call PlaceString
|
||||
pop bc
|
||||
pop hl
|
||||
inc hl
|
||||
ld a, [hl]
|
||||
inc c
|
||||
dec b
|
||||
ret z
|
||||
jr .loop2
|
||||
|
||||
.String_Banme:
|
||||
db " ばんめ @" ; Place
|
||||
.String_Sanka_Shinai:
|
||||
db "さんかしない@" ; Cancel
|
||||
.String_Kettei_Yameru:
|
||||
db "けってい やめる@" ; Quit
|
||||
.Strings_1_2_3:
|
||||
db "1@", "2@", "3@" ; 1st, 2nd, 3rd
|
||||
|
||||
PartyMenuCheckEgg:
|
||||
ld a, LOW(wPartySpecies)
|
||||
add b
|
||||
|
@ -7,24 +7,10 @@ DEF NUM_STAT_PAGES EQU const_value - 1
|
||||
DEF STAT_PAGE_MASK EQU %00000011
|
||||
|
||||
BattleStatsScreenInit:
|
||||
ld a, [wLinkMode]
|
||||
cp LINK_MOBILE
|
||||
jr nz, StatsScreenInit
|
||||
|
||||
ld a, [wBattleMode]
|
||||
and a
|
||||
jr z, StatsScreenInit
|
||||
jr _MobileStatsScreenInit
|
||||
; fallthrough
|
||||
|
||||
StatsScreenInit:
|
||||
ld hl, StatsScreenMain
|
||||
jr StatsScreenInit_gotaddress
|
||||
|
||||
_MobileStatsScreenInit:
|
||||
ld hl, StatsScreenMobile
|
||||
jr StatsScreenInit_gotaddress
|
||||
|
||||
StatsScreenInit_gotaddress:
|
||||
ldh a, [hMapAnims]
|
||||
push af
|
||||
xor a
|
||||
@ -79,31 +65,6 @@ StatsScreenMain:
|
||||
jr z, .loop
|
||||
ret
|
||||
|
||||
StatsScreenMobile:
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
; ???
|
||||
ld [wStatsScreenFlags], a
|
||||
ld a, [wStatsScreenFlags]
|
||||
and ~STAT_PAGE_MASK
|
||||
or PINK_PAGE ; first_page
|
||||
ld [wStatsScreenFlags], a
|
||||
.loop
|
||||
farcall Mobile_SetOverworldDelay
|
||||
ld a, [wJumptableIndex]
|
||||
and $7f
|
||||
ld hl, StatsScreenPointerTable
|
||||
rst JumpTable
|
||||
call StatsScreen_WaitAnim
|
||||
farcall MobileComms_CheckInactivityTimer
|
||||
jr c, .exit
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr z, .loop
|
||||
|
||||
.exit
|
||||
ret
|
||||
|
||||
StatsScreenPointerTable:
|
||||
dw MonStatsInit ; regular pokémon
|
||||
dw EggStatsInit ; egg
|
||||
|
@ -135,16 +135,6 @@ ClockContinue:
|
||||
|
||||
.time_overflow
|
||||
farcall ClearDailyTimers
|
||||
farcall Function170923
|
||||
ld a, BANK(s5_aa8c) ; aka BANK(s5_b2fa)
|
||||
call OpenSRAM
|
||||
ld a, [s5_aa8c]
|
||||
inc a
|
||||
ld [s5_aa8c], a
|
||||
ld a, [s5_b2fa]
|
||||
inc a
|
||||
ld [s5_b2fa], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
.dont_update
|
||||
|
@ -54,9 +54,6 @@ INCBIN "gfx/font/black.1bpp"
|
||||
UnusedUpArrowGFX: ; unreferenced
|
||||
INCBIN "gfx/font/unused_up_arrow.1bpp"
|
||||
|
||||
MobilePhoneTilesGFX:
|
||||
INCBIN "gfx/mobile/phone_tiles.2bpp"
|
||||
|
||||
MapEntryFrameGFX:
|
||||
INCBIN "gfx/frames/map_entry_sign.2bpp"
|
||||
|
||||
|
Before Width: | Height: | Size: 762 B |
Before Width: | Height: | Size: 335 B |
Before Width: | Height: | Size: 306 B |
Before Width: | Height: | Size: 567 B |
Before Width: | Height: | Size: 137 B |
Before Width: | Height: | Size: 235 B |
Before Width: | Height: | Size: 103 B |
Before Width: | Height: | Size: 250 B |
Before Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 695 B |
Before Width: | Height: | Size: 78 B |
Before Width: | Height: | Size: 968 B |
Before Width: | Height: | Size: 264 B |
@ -1,8 +0,0 @@
|
||||
RGB 18,31,15, 04,13,31, 00,00,31, 00,00,00 ; blue
|
||||
RGB 18,31,15, 31,31,00, 31,15,00, 00,00,00 ; yellow
|
||||
RGB 18,31,15, 09,24,00, 02,16,00, 00,00,00 ; green
|
||||
RGB 18,31,15, 31,07,09, 18,00,01, 00,00,00 ; red
|
||||
RGB 18,31,15, 28,05,31, 17,00,17, 00,00,00 ; purple
|
||||
RGB 18,31,15, 09,09,09, 04,04,04, 00,00,00 ; black
|
||||
RGB 18,31,15, 31,13,21, 27,07,12, 00,00,00 ; pink
|
||||
RGB 18,31,15, 21,20,20, 14,14,31, 00,00,00 ; gray
|
Before Width: | Height: | Size: 181 B |
Before Width: | Height: | Size: 196 B |
Before Width: | Height: | Size: 177 B |
@ -1,39 +0,0 @@
|
||||
RGB 0, 0, 0
|
||||
RGB 3, 0, 0
|
||||
RGB 5, 0, 0
|
||||
RGB 31, 31, 29
|
||||
|
||||
RGB 0, 2, 10
|
||||
RGB 2, 10, 21
|
||||
RGB 0, 0, 0
|
||||
RGB 10, 26, 31
|
||||
|
||||
RGB 0, 0, 0
|
||||
RGB 0, 7, 8
|
||||
RGB 31, 8, 0
|
||||
RGB 1, 17, 15
|
||||
|
||||
RGB 31, 16, 0
|
||||
RGB 31, 22, 0
|
||||
RGB 31, 27, 0
|
||||
RGB 31, 31, 0
|
||||
|
||||
RGB 31, 18, 6
|
||||
RGB 0, 3, 0
|
||||
RGB 0, 9, 0
|
||||
RGB 0, 12, 0
|
||||
|
||||
RGB 0, 16, 0
|
||||
RGB 0, 22, 0
|
||||
RGB 0, 25, 0
|
||||
RGB 0, 27, 0
|
||||
|
||||
RGB 5, 5, 16
|
||||
RGB 8, 19, 28
|
||||
RGB 0, 0, 0
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 29
|
||||
RGB 21, 21, 20
|
||||
RGB 11, 11, 10
|
||||
RGB 0, 0, 0
|
@ -1,39 +0,0 @@
|
||||
RGB 31, 31, 31
|
||||
RGB 04, 10, 20
|
||||
RGB 16, 19, 25
|
||||
RGB 25, 27, 29
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
||||
RGB 31, 31, 31
|
Before Width: | Height: | Size: 767 B |