Remove Mobile, Battle Tower, Mystery Gift, and Odd Egg (#1)

This commit is contained in:
xCrystal 2023-07-24 21:13:11 +02:00
parent 74b8214272
commit fc7f2d4e0e
201 changed files with 101 additions and 73760 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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!"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,4 @@
BattleCommand_Selfdestruct:
farcall StubbedTrainerRankings_Selfdestruct
ld a, BATTLEANIM_PLAYER_DAMAGE
ld [wNumHits], a
ld c, 3

View File

@ -1,4 +1,3 @@
BattleCommand_Splash:
call AnimateCurrentMove
farcall StubbedTrainerRankings_Splash
jp PrintNothingHappened

View File

@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -1,6 +1,5 @@
_BugContestJudging:
call ContestScore
farcall StubbedTrainerRankings_BugContestScore
call BugContest_JudgeContestants
ld a, [wBugContestThirdPlaceWinnerID]
call LoadContestantName

View File

@ -54,7 +54,6 @@ CheckFruitTree:
ret
PickedFruitTree:
farcall StubbedTrainerRankings_FruitPicked
ld b, 1
jp GetFruitTreeFlag

View File

@ -104,7 +104,6 @@ CheckForLuckyNumberWinners:
and a
ret z ; found nothing
farcall StubbedTrainerRankings_LuckyNumberShow
ld a, [wTempByteValue]
and a
push af

View File

@ -28,7 +28,6 @@ CheckMagikarpLength:
ld c, l
call CalcMagikarpLength
call PrintMagikarpLength
farcall StubbedTrainerRankings_MagikarpLength
ld hl, .MagikarpGuruMeasureText
call PrintText

View File

@ -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"

View File

@ -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

View File

@ -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
@ -416,10 +371,3 @@ PrintDiploma:
farcall _PrintDiploma
call ExitAllMenus
ret
TrainerHouse:
ld a, BANK(sMysteryGiftTrainerHouseFlag)
call OpenSRAM
ld a, [sMysteryGiftTrainerHouseFlag]
ld [wScriptVar], a
jp CloseSRAM

View File

@ -112,7 +112,6 @@ PokecenterNurseScript:
farwritetext NurseTakePokemonText
pause 20
special StubbedTrainerRankings_Healings
turnobject LAST_TALKED, LEFT
pause 10
special HealParty

View File

@ -1,6 +1,4 @@
TreeMonEncounter:
farcall StubbedTrainerRankings_TreeEncounters
xor a
ld [wTempWildMonSpecies], a
ld [wCurPartyLevel], a

View File

@ -43,8 +43,6 @@ BattleBGMap:
ret
HalveMoney:
farcall StubbedTrainerRankings_WhiteOuts
; Halve the player's money.
ld hl, wMoney
ld a, [hl]

View File

@ -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:

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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:

View File

@ -502,8 +502,6 @@ PokeBallEffect:
cp BATTLETYPE_TUTORIAL
jp z, .FinishTutorial
farcall StubbedTrainerRankings_WildMonsCaught
ld hl, Text_GotchaMonWasCaught
call PrintText

View File

@ -145,7 +145,6 @@ TeachTMHM:
and a
jr z, .nope
farcall StubbedTrainerRankings_TMsHMsTaught
ld a, [wCurItem]
call IsHM
ret c

View File

@ -2033,8 +2033,6 @@ LinkTrade:
.save
farcall SaveAfterLinkTrade
farcall StubbedTrainerRankings_Trades
farcall BackupMobileEventIndex
ld c, 40
call DelayFrames
hlcoord 0, 12

File diff suppressed because it is too large Load Diff

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -76,7 +76,6 @@ HandlePlayerStep:
ret
.mobile
farcall StubbedTrainerRankings_StepCount
ret
.fail2

View File

@ -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]

View File

@ -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.

View File

@ -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

View File

@ -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:

View File

@ -226,7 +226,6 @@ HatchEggs:
push de
farcall SetEggMonCaughtData
farcall StubbedTrainerRankings_EggsHatched
ld a, [wCurPartyMon]
ld hl, wPartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH

View File

@ -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

View File

@ -242,7 +242,6 @@ EvolveAfterBattle_MasterLoop:
push hl
ld hl, EvolvedIntoText
call PrintTextboxText
farcall StubbedTrainerRankings_MonsEvolved
ld de, MUSIC_NONE
call PlayMusic

View File

@ -613,7 +613,6 @@ MonMenu_Fly:
jr z, .Fail
cp $0
jr z, .Error
farcall StubbedTrainerRankings_Fly
ld b, $4
ld a, $2
ret

View File

@ -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 "@", "@", "@" ; 1st, 2nd, 3rd
PartyMenuCheckEgg:
ld a, LOW(wPartySpecies)
add b

View File

@ -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

View File

@ -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

View File

@ -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"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 250 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 631 B

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 135 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 B

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 177 B

View File

@ -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

Binary file not shown.

View File

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More