diff options
-rw-r--r-- | extras/gbz80disasm.py | 8 | ||||
-rw-r--r-- | extras/parse_consecutive_strings.py | 25 | ||||
-rw-r--r-- | main.asm | 1454 | ||||
-rw-r--r-- | text/battle.asm | 1104 | ||||
-rw-r--r-- | wram.asm | 8 |
5 files changed, 1489 insertions, 1110 deletions
diff --git a/extras/gbz80disasm.py b/extras/gbz80disasm.py index efb4689ab..d57a1905a 100644 --- a/extras/gbz80disasm.py +++ b/extras/gbz80disasm.py @@ -861,4 +861,10 @@ def all_outstanding_labels_are_reverse(byte_labels, offset): if __name__ == "__main__": - print output_bank_opcodes(int(sys.argv[1], 16))[0] + addr = sys.argv[1] + if ":" in addr: + addr = addr.split(":") + addr = int(addr[0], 16)*0x4000+(int(addr[1], 16)%0x4000) + else: + addr = int(addr, 16) + print output_bank_opcodes(addr)[0] diff --git a/extras/parse_consecutive_strings.py b/extras/parse_consecutive_strings.py new file mode 100644 index 000000000..4c864ba65 --- /dev/null +++ b/extras/parse_consecutive_strings.py @@ -0,0 +1,25 @@ +import sys + +import crystal + +rom = crystal.load_rom() + +addr = int(sys.argv[1], 16) +count = int(sys.argv[2]) if len(sys.argv) > 2 else 256 +label_prefix = sys.argv[3] if len(sys.argv) > 3 else "UnknownString" + +ex = None + +for i in range(count): + try: + string = crystal.PokedexText(addr) + asm = string.to_asm() + except Exception as ex: + break + print label_prefix+str(i)+": ; "+hex(addr) + print "\t"+asm + print + addr = string.last_address + +print "; "+hex(addr) +if ex: raise ex @@ -2108,7 +2108,50 @@ GetTileType: ; 185d ret ; 1875 -INCBIN "baserom.gbc", $1875, $2063 - $1875 +INCBIN "baserom.gbc", $1875, $1e70 - $1875 + +SetUpMenu: ; 1e70 + call MenuFunc_1e7f ; ??? + call MenuWriteText + call $1eff ; set up selection pointer + ld hl, $cfa5 + set 7, [hl] + ret + +MenuFunc_1e7f: ; 0x1e7f + call $1c66 + call $1ebd + call $1ea6 + call $1cbb + ret + +MenuWriteText: ; 0x1e8c + xor a + ld [hBGMapMode], a + call $1ebd ; sort out the text + call $1eda ; actually write it + call $2e31 + ld a, [hOAMUpdate] + push af + ld a, $1 + ld [hOAMUpdate], a + call $321c + pop af + ld [hOAMUpdate], a + ret +; 0x1ea6 + +INCBIN "baserom.gbc", $1ea6, $2009 - $1ea6 + +PlayClickSFX: ; $2009 + push de + ld de, SFX_READ_TEXT_2 + call StartSFX + pop de + ret +; 0x2012 + +INCBIN "baserom.gbc", $2012, $2063 - $2012 AskSerial: ; 2063 ; send out a handshake while serial int is off @@ -6207,7 +6250,305 @@ BoxNameInputUpper: db "- ? ! ♂ ♀ / . , &" db "lower DEL END " -INCBIN "baserom.gbc", $11e5d, $12976 - $11e5d +INCBIN "baserom.gbc", $11e5d, $125cd - $11e5d + +OpenMenu: ; 0x125cd + call $1fbf + ld de, SFX_MENU + call StartSFX + ld a, $1 + ld hl, $6454 + rst FarCall + ld hl, $d84d + bit 2, [hl] + ld hl, $66d3 + jr z, .asm_125e9 + ld hl, $66db ; draw the menu a little lower +.asm_125e9 + call $1d35 + call SetUpMenuItems + ld a, [$d0d2] + ld [$cf88], a + call DrawMenuAccount_ + call $1e7f + call $68d1 + call $2e31 + call $2e20 + ld a, $1 + ld hl, $64bf + rst $8 + call $68de + call $0485 + jr .wait +.reopen + call $1ad2 + call $0485 + call $6829 + ld a, [$d0d2] + ld [$cf88], a +.wait + call MenuWait + jr c, .exit + call DrawMenuAccount + ld a, [$cf88] + ld [$d0d2], a + call PlayClickSFX + call $1bee + call $67e5 +; code when you return from a submenu. some submenus force you to quit +; the menu, like save. option forces it to redraw completely. + ld hl, .MenuReturnPointerTable + ld e, a + ld d, $0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp [hl] + +.MenuReturnPointerTable: ; $6644 + dw .reopen + dw .exit + dw $66a2 ; invalid? + dw $6699 ; invalid? + dw $6691 ; invalid? + dw .end + dw $66b1 ; redraw + +.exit + ld a, [$ffd8] + push af + ld a, $1 + ld [hOAMUpdate], a + call $0e5f + pop af + ld [hOAMUpdate], a +.end + call $1c07 + call $2dcf + call $0485 + ret + +MenuWait: ; 0x12669 +; returns nc if A was pressed, c if B. + xor a + ld [hBGMapMode], a + call DrawMenuAccount + call SetUpMenu + ld a, $ff + ld [MenuSelection], a +.loop + call PrintMenuAccount + call $1f1a + ld a, [$cf73] + cp BUTTON_B + jr z, .b_button + cp BUTTON_A + jr z, .a_button + jr .loop +.a_button + call PlayClickSFX + and a + ret +.b_button + scf + ret +; 0x12691 + + +INCBIN "baserom.gbc", $12691, $12721 - $12691 + +MenuStringDex: ; 0x12721 + db "#DEX@" + +MenuStringMon: ; 0x12726 + db "#MON@" + +MenuStringPack: ; 0x1272b + db "PACK@" + +MenuStringProfile: ; 0x12730 + db $52, "@" + +MenuStringSave: ; 0x12732 + db "SAVE@" + +MenuStringOption: ; 0x12737 + db "OPTION@" + +MenuStringExit: ; 0x1273e + db "EXIT@" + +MenuStringGear: ; 0x12743 + db $24, "GEAR@" + +MenuStringQuit: ; 0x12749 + db "QUIT@" + +MenuStringDescDex: ; 0x1274e + db "#MON", $4e, "database@" + +MenuStringDescParty: ; 0x1275c + db "Party ", $4a, $4e, "status@" + +MenuStringDescPack: ; 0x1276b + db "Contains", $4e, "items@" + +MenuStringDescGear: ; 0x1277a + db "Trainer's", $4e, "key device@" + +MenuStringDescProfile: ; 0x1278e + db "Your own", $4e, "status@" + +MenuStringDescSave: ; 0x1279e + db "Save your", $4e, "progress@" + +MenuStringDescOption: ; 0x127b1 + db "Change", $4e, "settings@" + +MenuStringDescExit: ; 0x127c1 + db "Close this", $4e, "menu@" + +MenuStringDescRetire: ; 0x127d1 + db "Quit and", $4e, "be judged.@" + +; 0x127e5 + +INCBIN "baserom.gbc", $127e5, $12800 - $127e5 + +WriteMenuAccount: + push de + ld a, [MenuSelection] + cp $ff + jr z, .none + call GetMenuAccountTextPointer + inc hl + inc hl + inc hl + inc hl + ld a, [hli] + ld d, [hl] + ld e, a + pop hl + call PlaceString + ret +.none + pop de + ret + +GetMenuAccountTextPointer: ; 0x12819 + ld e, a + ld d, $0 + ld hl, $cf97 ; table is dynamic and stored in memory + ld a, [hli] + ld h, [hl] + ld l, a + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + add hl, de + ret + +SetUpMenuItems: ; 4:6829 = 0x12829 + xor a + ld [$cf76], a + call $688d + ld hl, $d84c + bit 0, [hl] + jr z, .no_pokedex + ld a, $0 + call AppendMenuList +.no_pokedex + ld a, [PartyCount] + and a + jr z, .no_pokemon + ld a, $1 + call AppendMenuList +.no_pokemon + ld a, [InLinkBattle] + and a + jr nz, .no_pack + ld hl, $d84d + bit 2, [hl] + jr nz, .no_pack + ld a, $2 + call AppendMenuList +.no_pack + ld hl, $d957 + bit 7, [hl] + jr z, .no_exit + ld a, $7 + call AppendMenuList +.no_exit + ld a, $3 + call AppendMenuList + ld a, [InLinkBattle] + and a + jr nz, .no_save + ld hl, $d84d + bit 2, [hl] + ld a, $8 + jr nz, .write + ld a, $4 +.write + call AppendMenuList +.no_save + ld a, $5 + call AppendMenuList + ld a, $6 + call AppendMenuList + ld a, c + ld [MenuItemsList], a + ret + +FillMenuList: ; 0x1288d + xor a + ld hl, MenuItemsList + ld [hli], a + ld a, $ff + ld bc, $000f + call ByteFill + ld de, MenuItemsList+1 + ld c, 0 + ret + +AppendMenuList: ; 0x128a0 + ld [de], a + inc de + inc c + ret + +DrawMenuAccount_:; 0x128a4 + jp DrawMenuAccount + +PrintMenuAccount: ; 4:68a7 0x128a7 + call IsMenuAccountOn + ret z + call DrawMenuAccount + decoord 0, 14 ; $c5b8 + jp $6800 + +DrawMenuAccount: ; 4:68b4 0x128b4 + call IsMenuAccountOn + ret z + hlcoord 0, 13 ; $c5a4 + ld bc, $050a + call ClearBox + hlcoord 0, 13 ; $c5a4 + ld b, $3 + ld c, $8 + jp TextBoxPalette + +IsMenuAccountOn: ; 0x128cb + ld a, [Options2] + and $1 + ret +; 0x128d1 + +INCBIN "baserom.gbc", $128d1, $12976 - $128d1 OpenPartyMenu: ; $12976 ld a, [PartyCount] @@ -6273,7 +6614,7 @@ PokemonActionSubmenu ; 0x12a88 ld hl, $4d19 rst FarCall call $389c - ld a, [$cf74] ; menu selection? + ld a, [MenuSelection] ld hl, PokemonSubmenuActionPointerTable ld de, $0003 ; skip 3 bytes each time call IsInArray @@ -10520,1110 +10861,7 @@ INCLUDE "bittable2.asm" INCBIN "baserom.gbc", $80648, $80730-$80648 -BattleText_0x80730: ; 0x80730 - db $0, $52, " picked up", $4f - db "¥@" - deciram $c6ec, $36 - db $0, "!", $58 -; 0x80746 - -WildPokemonAppearedText: ; 0x80746 - db $0, "Wild @" - text_from_ram $c616 - db $0, $4f - db "appeared!", $58 -; 0x8075c - -HookedPokemonAttackedText: ; 0x8075c - db $0, "The hooked", $4f - db "@" - text_from_ram $c616 - db $0, $55 - db "attacked!", $58 -; 0x80778 - -PokemonFellFromTreeText: ; 0x80778 - text_from_ram $c616 - db $0, " fell", $4f - db "out of the tree!", $58 -; 0x80793 - -WildPokemonAppearedText2: ; 0x80793 - db $0, "Wild @" - text_from_ram $c616 - db $0, $4f - db "appeared!", $58 -; 0x807a9 - -WantsToBattleText: ; 0x807a9 - db $0, $3f, $4f - db "wants to battle!", $58 -; 0x807bd - -BattleText_0x807bd: ; 0x807bd - db $0, "Wild @" - text_from_ram $c616 - db $0, $4f - db "fled!", $58 -; 0x807cf - -BattleText_0x807cf: ; 0x807cf - db $0, "Enemy @" - text_from_ram $c616 - db $0, $4f - db "fled!", $58 -; 0x807e2 - -BattleText_0x807e2: ; 0x807e2 - db $0, $5a, $4f - db "is hurt by poison!", $58 -; 0x807f8 - -BattleText_0x807f8: ; 0x807f8 - db $0, $5a, "'s", $4f - db "hurt by its burn!", $58 -; 0x8080e - -BattleText_0x8080e: ; 0x8080e - db $0, "LEECH SEED saps", $4f - db $5a, "!", $58 -; 0x80822 - -BattleText_0x80822: ; 0x80822 - db $0, $5a, $4f - db "has a NIGHTMARE!", $58 -; 0x80836 - -BattleText_0x80836: ; 0x80836 - db $0, $5a, "'s", $4f - db "hurt by the CURSE!", $58 -; 0x8084d - -BattleText_0x8084d: ; 0x8084d - db $0, "The SANDSTORM hits", $4f - db $5a, "!", $58 -; 0x80864 - -BattleText_0x80864: ; 0x80864 - db $0, $5a, "'s", $4f - db "PERISH count is @" - deciram $d265, $11 - db $0, "!", $58 -; 0x80880 - -BattleText_0x80880: ; 0x80880 - db $0, $59, $4f - db "recovered with", $55 - db "@" - text_from_ram StringBuffer1 - db $0, ".", $58 -; 0x80899 - -BattleText_0x80899: ; 0x80899 - db $0, $5a, $4f - db "recovered PP using", $55 - db "@" - text_from_ram StringBuffer1 - db $0, ".", $58 -; 0x808b6 - -BattleText_0x808b6: ; 0x808b6 - db $0, $59, $4f - db "was hit by FUTURE", $55 - db "SIGHT!", $58 -; 0x808d2 - -BattleText_0x808d2: ; 0x808d2 - db $0, $5a, "'s", $4f - db "SAFEGUARD faded!", $58 -; 0x808e7 - -BattleText_0x808e7: ; 0x808e7 - text_from_ram StringBuffer1 - db $0, " #MON's", $4f - db "LIGHT SCREEN fell!", $58 -; 0x80905 - -BattleText_0x80905: ; 0x80905 - text_from_ram StringBuffer1 - db $0, " #MON's", $4f - db "REFLECT faded!", $58 -; 0x8091f - -BattleText_0x8091f: ; 0x8091f - db $0, "Rain continues to", $4f - db "fall.", $58 -; 0x80938 - -BattleText_0x80938: ; 0x80938 - db $0, "The sunlight is", $4f - db "strong.", $58 -; 0x80951 - -BattleText_0x80951: ; 0x80951 - db $0, "The SANDSTORM", $4f - db "rages.", $58 -; 0x80967 - -BattleText_0x80967: ; 0x80967 - db $0, "The rain stopped.", $58 -; 0x8097a - -BattleText_0x8097a: ; 0x8097a - db $0, "The sunlight", $4f - db "faded.", $58 -; 0x8098f - -BattleText_0x8098f: ; 0x8098f - db $0, "The SANDSTORM", $4f - db "subsided.", $58 -; 0x809a8 - -BattleText_0x809a8: ; 0x809a8 - db $0, "Enemy @" - text_from_ram $c616 - db $0, $4f - db "fainted!", $58 -; 0x809be - -BattleText_0x809be: ; 0x809be - db $0, $52, " got ¥@" - deciram $c686, $36 - db $0, $4f - db "for winning!", $58 -; 0x809da - -BattleText_0x809da: ; 0x809da - db $0, $3f, $4f - db "was defeated!", $58 -; 0x809eb - -BattleText_0x809eb: ; 0x809eb - db $0, "Tied against", $4f - db $3f, "!", $58 -; 0x809fc - -BattleText_0x809fc: ; 0x809fc - db $0, $52, " got ¥@" - deciram $c686, $36 - db $0, $4f - db "for winning!", $55 - db "Sent some to MOM!", $58 -; 0x80a2a - -BattleText_0x80a2a: ; 0x80a2a - db $0, "Sent half to MOM!", $58 -; 0x80a3d - -BattleText_0x80a3d: ; 0x80a3d - db $0, "Sent all to MOM!", $58 -; 0x80a4f - -BattleText_0x80a4f: ; 0x80a4f - db $0, $53, ": Huh? I", $4f - db "should've chosen", $55 - db "your #MON!", $58 -; 0x80a75 - -BattleText_0x80a75: ; 0x80a75 - text_from_ram $c621 - db $0, $4f - db "fainted!", $58 -; 0x80a83 - -BattleText_0x80a83: ; 0x80a83 - db $0, "Use next #MON?", $57 -; 0x80a93 - -BattleText_0x80a93: ; 0x80a93 - db $0, $53, ": Yes!", $4f - db "I guess I chose a", $55 - db "good #MON!", $58 -; 0x80ab9 - -BattleText_0x80ab9: ; 0x80ab9 - db $0, "Lost against", $4f - db $3f, "!", $58 -; 0x80aca - -BattleText_0x80aca: ; 0x80aca - db $0, $3f, $4f - db "is about to use", $55 - db "@" - text_from_ram $c616 - db $0, ".", $51 - db "Will ", $52, $4f - db "change #MON?", $57 -; 0x80af8 - -BattleText_0x80af8: ; 0x80af8 - db $0, $3f, $4f - db "sent out", $55 - db "@" - text_from_ram $c616 - db $0, "!", $57 -; 0x80b0b - -BattleText_0x80b0b: ; 0x80b0b - db $0, "There's no will to", $4f - db "battle!", $58 -; 0x80b26 - -BattleText_0x80b26: ; 0x80b26 - db $0, "An EGG can't", $4f - db "battle!", $58 -; 0x80b3b - -BattleText_0x80b3b: ; 0x80b3b - db $0, "Can't escape!", $58 -; 0x80b49 - -BattleText_0x80b49: ; 0x80b49 - db $0, "No! There's no", $4f - db "running from a", $55 - db "trainer battle!", $58 -; 0x80b77 - -BattleText_0x80b77: ; 0x80b77 - db $0, "Got away safely!", $58 -; 0x80b89 - -BattleText_0x80b89: ; 0x80b89 - db $0, $5a, $4f - db "fled using a", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x80ba0 - -BattleText_0x80ba0: ; 0x80ba0 - db $0, "Can't escape!", $58 -; 0x80bae - -BattleText_0x80bae: ; 0x80bae - db $0, $5a, "'s", $4f - db "hurt by SPIKES!", $58 -; 0x80bc2 - -RecoveredUsingText: ; 0x80bc2 - db $0, $59, $4f - db "recovered using a", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x80bde - -BattleText_0x80bde: ; 0x80bde - db $0, $5a, "'s", $4f - db "@" - text_from_ram StringBuffer1 - db $0, $55 - db "activated!", $58 -; 0x80bf3 - -BattleText_0x80bf3: ; 0x80bf3 - db $0, "Items can't be", $4f - db "used here.", $58 -; 0x80c0d - -BattleText_0x80c0d: ; 0x80c0d - text_from_ram $c621 - db $0, $4f - db "is already out.", $58 -; 0x80c22 - -BattleText_0x80c22: ; 0x80c22 - text_from_ram $c621 - db $0, $4f - db "can't be recalled!", $58 -; 0x80c39 - -BattleText_0x80c39: ; 0x80c39 - db $0, "There's no PP left", $4f - db "for this move!", $58 -; 0x80c5b - -BattleText_0x80c5b: ; 0x80c5b - db $0, "The move is", $4f - db "DISABLED!", $58 -; 0x80c72 - -BattleText_0x80c72: ; 0x80c72 - text_from_ram $c621 - db $0, $4f - db "has no moves left!", $57 -; 0x80c8a - -BattleText_0x80c8a: ; 0x80c8a - db $0, $59, "'s", $4f - db "ENCORE ended!", $58 -; 0x80c9c - -BattleText_0x80c9c: ; 0x80c9c - text_from_ram StringBuffer1 - db $0, " grew to", $4f - db "level @" - deciram $d143, $13 - db $0, "!@" - sound0 - db $50 -; 0x80cb9 - -BattleText_0x80cb9: ; 0x80cb9 - db $50 -; 0x80cba - -BattleText_0x80cba: ; 0x80cba - db $0, "Wild @" - text_from_ram $c616 - db $0, $4f - db "is eating!", $58 -; 0x80cd1 - -BattleText_0x80cd1: ; 0x80cd1 - db $0, "Wild @" - text_from_ram $c616 - db $0, $4f - db "is angry!", $58 -; 0x80ce7 - -FastAsleepText: ; 0x80ce7 - db $0, $5a, $4f - db "is fast asleep!", $58 -; 0x80cfa - -WokeUpText: ; 0x80cfa - db $0, $5a, $4f - db "woke up!", $58 -; 0x80d06 - -FrozenSolidText: ; 0x80d06 - db $0, $5a, $4f - db "is frozen solid!", $58 -; 0x80d1a - -FlinchedText: ; 0x80d1a - db $0, $5a, $4f - db "flinched!", $58 -; 0x80d27 - -MustRechargeText: ; 0x80d27 - db $0, $5a, $4f - db "must recharge!", $58 -; 0x80d39 - -DisabledNoMoreText: ; 0x80d39 - db $0, $5a, "'s", $4f - db "disabled no more!", $58 -; 0x80d4f - -IsConfusedText: ; 0x80d4f - db $0, $5a, $4f - db "is confused!", $58 -; 0x80d5f - -HurtItselfText: ; 0x80d5f - db $0, "It hurt itself in", $4f - db "its confusion!", $58 -; 0x80d81 - -ConfusedNoMoreText: ; 0x80d81 - db $0, $5a, "'s", $4f - db "confused no more!", $58 -; 0x80d97 - -BecameConfusedText: ; 0x80d97 - db $0, $59, $4f - db "became confused!", $58 -; 0x80dab - -BattleText_0x80dab: ; 0x80dab - db $0, "A @" - text_from_ram StringBuffer1 - db $0, " rid", $4f - db $59, $55 - db "of its confusion.", $58 -; 0x80dcc - -AlreadyConfusedText: ; 0x80dcc - db $0, $59, "'s", $4f - db "already confused!", $58 -; 0x80de2 - -BattleText_0x80de2: ; 0x80de2 - db $0, $5a, "'s", $4f - db "hurt by", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x80df5 - -BattleText_0x80df5: ; 0x80df5 - db $0, $5a, $4f - db "was released from", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x80e11 - -UsedBindText: ; 0x80e11 - db $0, $5a, $4f - db "used BIND on", $55 - db $59, "!", $58 -; 0x80e24 - -WhirlpoolTrapText: ; 0x80e24 - db $0, $59, $4f - db "was trapped!", $58 -; 0x80e34 - -FireSpinTrapText: ; 0x80e34 - db $0, $59, $4f - db "was trapped!", $58 -; 0x80e44 - -WrappedByText: ; 0x80e44 - db $0, $59, $4f - db "was WRAPPED by", $55 - db $5a, "!", $58 -; 0x80e59 - -ClampedByText: ; 0x80e59 - db $0, $59, $4f - db "was CLAMPED by", $55 - db $5a, "!", $58 -; 0x80e6e - -StoringEnergyText: ; 0x80e6e - db $0, $5a, $4f - db "is storing energy!", $58 -; 0x80e84 - -UnleashedEnergyText: ; 0x80e84 - db $0, $5a, $4f - db "unleashed energy!", $58 -; 0x80e99 - -HungOnText: ; 0x80e99 - db $0, $59, $4f - db "hung on with", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x80eb0 - -EnduredText: ; 0x80eb0 - db $0, $59, $4f - db "ENDURED the hit!", $58 -; 0x80ec4 - -InLoveWithText: ; 0x80ec4 - db $0, $5a, $4f - db "is in love with", $55 - db $59, "!", $58 -; 0x80eda - -InfatuationText: ; 0x80eda - db $0, $5a, "'s", $4f - db "infatuation kept", $55 - db "it from attacking!", $58 -; 0x80f02 - -DisabledMoveText: ; 0x80f02 - db $0, $5a, "'s", $4f - db "@" - text_from_ram StringBuffer1 - db $0, " is", $55 - db "DISABLED!", $58 -; 0x80f19 - -LoafingAroundText: ; 0x80f19 - text_from_ram $c621 - db $0, " is", $4f - db "loafing around.", $58 -; 0x80f31 - -BeganToNapText: ; 0x80f31 - text_from_ram $c621 - db $0, " began", $4f - db "to nap!", $58 -; 0x80f44 - -WontObeyText: ; 0x80f44 - text_from_ram $c621 - db $0, " won't", $4f - db "obey!", $58 -; 0x80f54 - -TurnedAwayText: ; 0x80f54 - text_from_ram $c621 - db $0, " turned", $4f - db "away!", $58 -; 0x80f66 - -IgnoredOrdersText: ; 0x80f66 - text_from_ram $c621 - db $0, " ignored", $4f - db "orders!", $58 -; 0x80f7b - -IgnoredSleepingText: ; 0x80f7b - text_from_ram $c621 - db $0, " ignored", $4f - db "orders…sleeping!", $58 -; 0x80f99 - -NoPPLeftText: ; 0x80f99 - db $0, "But no PP is left", $4f - db "for the move!", $58 -; 0x80fba - -HasNoPPLeftText: ; 0x80fba - db $0, $5a, $4f - db "has no PP left for", $55 - db "@" - text_from_ram $d086 - db $0, "!", $58 -; 0x80fd7 - -WentToSleepText: ; 0x80fd7 - db $0, $5a, $4f - db "went to sleep!", $57 -; 0x80fe9 - -RestedText: ; 0x80fe9 - db $0, $5a, $4f - db "fell asleep and", $55 - db "became healthy!", $57 -; 0x8100c - -RegainedHealthText: ; 0x8100c - db $0, $5a, $4f - db "regained health!", $58 -; 0x81020 - -AttackMissedText: ; 0x81020 - db $0, $5a, "'s", $4f - db "attack missed!", $58 -; 0x81033 - -AttackMissed2Text: ; 0x81033 - db $0, $5a, "'s", $4f - db "attack missed!", $58 -; 0x81046 - -CrashedText: ; 0x81046 - db $0, $5a, $4f - db "kept going and", $55 - db "crashed!", $58 -; 0x81061 - -UnaffectedText: ; 0x81061 - db $0, $59, "'s", $4f - db "unaffected!", $58 -; 0x81071 - -DoesntAffectText: ; 0x81071 - db $0, "It doesn't affect", $4f - db $59, "!", $58 -; 0x81086 - -CriticalHitText: ; 0x81086 - db $0, "A critical hit!", $58 -; 0x81097 - -OneHitKOText: ; 0x81097 - db $0, "It's a one-hit KO!", $58 -; 0x810aa - -SuperEffectiveText: ; 0x810aa - db $0, "It's super-", $4f - db "effective!", $58 -; 0x810c1 - -NotVeryEffectiveText: ; 0x810c1 - db $0, "It's not very", $4f - db "effective…", $58 -; 0x810da - -TookDownWithItText: ; 0x810da - db $0, $59, $4f - db "took down with it,", $55 - db $5a, "!", $58 -; 0x810f3 - -RageBuildingText: ; 0x810f3 - db $0, $5a, "'s", $4f - db "RAGE is building!", $58 -; 0x81109 - -GotAnEncoreText: ; 0x81109 - db $0, $59, $4f - db "got an ENCORE!", $58 -; 0x8111b - -SharedPainText: ; 0x8111b - db $0, "The battlers", $4f - db "shared pain!", $58 -; 0x81136 - -TookAimText: ; 0x81136 - db $0, $5a, $4f - db "took aim!", $58 -; 0x81143 - -SketchedText: ; 0x81143 - db $0, $5a, $4f - db "SKETCHED", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x81156 - -DestinyBondEffectText: ; 0x81156 - db $0, $5a, "'s", $4f - db "trying to take its", $55 - db "opponent with it!", $58 -; 0x8117f - -SpiteEffectText: ; 0x8117f - db $0, $59, "'s", $4f - db "@" - text_from_ram StringBuffer1 - db $0, " was", $55 - db "reduced by @" - deciram $d265, $11 - db $0, "!", $58 -; 0x811a0 - -BellChimedText: ; 0x811a0 - db $0, "A bell chimed!", $4f - db $58 -; 0x811b1 - -FellAsleepText: ; 0x811b1 - db $0, $59, $4f - db "fell asleep!", $58 -; 0x811c1 - -AlreadyAsleepText: ; 0x811c1 - db $0, $59, "'s", $4f - db "already asleep!", $58 -; 0x811d5 - -WasPoisonedText: ; 0x811d5 - db $0, $59, $4f - db "was poisoned!", $58 -; 0x811e6 - -BadlyPoisonedText: ; 0x811e6 - db $0, $59, "'s", $4f - db "badly poisoned!", $58 -; 0x811fa - -AlreadyPoisonedText: ; 0x811fa - db $0, $59, "'s", $4f - db "already poisoned!", $58 -; 0x81210 - -SuckedHealthText: ; 0x81210 - db $0, "Sucked health from", $4f - db $59, "!", $58 -; 0x81227 - -DreamEatenText: ; 0x81227 - db $0, $59, "'s", $4f - db "dream was eaten!", $58 -; 0x8123c - -WasBurnedText: ; 0x8123c - db $0, $59, $4f - db "was burned!", $58 -; 0x8124b - -DefrostedOpponentText: ; 0x8124b - db $0, $59, $4f - db "was defrosted!", $58 -; 0x8125d - -WasFrozenText: ; 0x8125d - db $0, $59, $4f - db "was frozen solid!", $58 -; 0x81272 - -WontRiseAnymoreText: ; 0x81272 - db $0, $5a, "'s", $4f - db "@" - text_from_ram $d086 - db $0, " won't", $55 - db "rise anymore!", $58 -; 0x8128f - -WontDropAnymoreText: ; 0x8128f - db $0, $59, "'s", $4f - db "@" - text_from_ram $d086 - db $0, " won't", $55 - db "drop anymore!", $58 -; 0x812ac - -FledFromBattleText: ; 0x812ac - db $0, $5a, $4f - db "fled from battle!", $58 -; 0x812c1 - -FledInFearText: ; 0x812c1 - db $0, $59, $4f - db "fled in fear!", $58 -; 0x812d2 - -BlownAwayText: ; 0x812d2 - db $0, $59, $4f - db "was blown away!", $58 -; 0x812e5 - -PlayerHitTimesText: ; 0x812e5 - db $0, "Hit @" - deciram $c682, $11 - db $0, " times!", $58 -; 0x812f8 - -EnemyHitTimesText: ; 0x812f8 - db $0, "Hit @" - deciram $c684, $11 - db $0, " times!", $58 -; 0x8130b - -MistText: ; 0x8130b - db $0, $5a, "'s", $4f - db "shrouded in MIST!", $58 -; 0x81321 - -ProtectedByMistText: ; 0x81321 - db $0, $59, "'s", $4f - db "protected by MIST.", $58 -; 0x81338 - -GettingPumpedText: ; 0x81338 - interpret_data - db $0, $5a, "'s", $4f - db "getting pumped!", $58 -; 0x8134d - -RecoilText: ; 0x8134d - db $0, $5a, "'s", $4f - db "hit with recoil!", $58 -; 0x81362 - -MadeSubstituteText: ; 0x81362 - db $0, $5a, $4f - db "made a SUBSTITUTE!", $58 -; 0x81378 - -HasSubstituteText: ; 0x81378 - db $0, $5a, $4f - db "has a SUBSTITUTE!", $58 -; 0x8138d - -TooWeakSubText: ; 0x8138d - db $0, "Too weak to make", $4f - db "a SUBSTITUTE!", $58 -; 0x813ad - -SubTookDamageText: ; 0x813ad - db $0, "The SUBSTITUTE", $4f - db "took damage for", $55 - db $59, "!", $58 -; 0x813d0 - -SubFadedText: ; 0x813d0 - db $0, $59, "'s", $4f - db "SUBSTITUTE faded!", $58 -; 0x813e6 - -LearnedMoveText: ; 0x813e6 - db $0, $5a, $4f - db "learned", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x813f8 - -WasSeededText: ; 0x813f8 - db $0, $59, $4f - db "was seeded!", $58 -; 0x81407 - -EvadedText: ; 0x81407 - db $0, $59, $4f - db "evaded the attack!", $58 -; 0x8141d - -WasDisabledText: ; 0x8141d - db $0, $59, "'s", $4f - db "@" - text_from_ram StringBuffer1 - db $0, " was", $55 - db "DISABLED!", $58 -; 0x81435 - -CoinsScatteredText: ; 0x81435 - db $0, "Coins scattered", $4f - db "everywhere!", $58 -; 0x81452 - -TransformedTypeText: ; 0x81452 - db $0, $5a, $4f - db "transformed into", $55 - db "the @" - text_from_ram StringBuffer1 - db $0, "-type!", $58 -; 0x81476 - -EliminatedStatsText: ; 0x81476 - db $0, "All stat changes", $4f - db "were eliminated!", $58 -; 0x81499 - -TransformedText: ; 0x81499 - db $0, $5a, $4f - db "TRANSFORMED into", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x814b4 - -LightScreenEffectText: ; 0x814b4 - db $0, $5a, "'s", $4f - db "SPCL.DEF rose!", $58 -; 0x814c7 - -ReflectEffectText: ; 0x814c7 - db $0, $5a, "'s", $4f - db "DEFENSE rose!", $58 -; 0x814d9 - -NothingHappenedText: ; 0x814d9 - db $0, "But nothing", $4f - db "happened.", $58 -; 0x814f0 - -ButItFailedText: ; 0x814f0 - db $0, "But it failed!", $58 -; 0x81500 - -ItFailedText: ; 0x81500 - db $0, "It failed!", $58 -; 0x8150c - -DidntAffect1Text: ; 0x8150c - db $0, "It didn't affect", $4f - db $59, "!", $58 -; 0x81520 - -DidntAffect2Text: ; 0x81520 - db $0, "It didn't affect", $4f - db $59, "!", $58 -; 0x81534 - -HPIsFullText: ; 0x81534 - db $0, $5a, "'s", $4f - db "HP is full!", $58 -; 0x81544 - -DraggedOutText: ; 0x81544 - db $0, $5a, $4f - db "was dragged out!", $58 -; 0x81558 - -ParalyzedText: ; 0x81558 - db $0, $59, "'s", $4f - db "paralyzed! Maybe", $55 - db "it can't attack!", $58 -; 0x8157d - -FullyParalyzedText: ; 0x8157d - db $0, $5a, "'s", $4f - db "fully paralyzed!", $58 -; 0x81592 - -AlreadyParalyzedText: ; 0x81592 - db $0, $59, "'s", $4f - db "already paralyzed!", $58 -; 0x815a9 - -ProtectedByText: ; 0x815a9 - db $0, $59, "'s", $4f - db "protected by", $55 - db "@" - text_from_ram StringBuffer1 - db $0, "!", $58 -; 0x815c1 - -MirrorMoveFailedText: ; 0x815c1 - db $0, "The MIRROR MOVE", $4e, "failed!", $58 -; 0x815da - -StoleText: ; 0x815da - db $0, $5a, $4f - db "stole @" - text_from_ram StringBuffer1 - db $0, $55 - db "from its foe!", $58 -; 0x815f7 - -CantEscapeNowText: ; 0x815f7 - db $0, $59, $4f - db "can't escape now!", $58 -; 0x8160b - -StartedNightmareText: ; 0x8160b - db $0, $59, $4f - db "started to have a", $55 - db "NIGHTMARE!", $58 -; 0x8162b - -WasDefrostedText: ; 0x8162b - db $0, $5a, $4f - db "was defrosted!", $58 -; 0x8163d - -PutACurseText: ; 0x8163d - db $0, $5a, $4f - db "cut its own HP and", $51 - db "put a CURSE on", $4f - db $59, "!", $58 -; 0x81665 - -ProtectedItselfText: ; 0x81665 - db $0, $5a, $4f - db "PROTECTED itself!", $58 -; 0x8167a - -ProtectingItselfText: ; 0x8167a - db $0, $59, "'s", $4f - db "PROTECTING itself!", $57 -; 0x81691 - -SpikesText: ; 0x81691 - db $0, "SPIKES scattered", $4f - db "all around", $55 - db $59, "!", $58 -; 0x816b1 - -IdentifiedText: ; 0x816b1 - db $0, $5a, $4f - db "identified", $55 - db $59, "!", $58 -; 0x816c2 - -StartPerishText: ; 0x816c2 - db $0, "Both #MON will", $4f - db "faint in 3 turns!", $58 -; 0x816e4 - -SandstormBrewedText: ; 0x816e4 - db $0, "A SANDSTORM", $4f - db "brewed!", $58 -; 0x816f9 - -BracedItselfText: ; 0x816f9 - db $0, $5a, $4f - db "braced itself!", $58 -; 0x8170b - -FellInLoveText: ; 0x8170b - db $0, $59, $4f - db "fell in love!", $58 -; 0x8171c - -CoveredByVeilText: ; 0x8171c - db $0, $5a, "'s", $4f - db "covered by a veil!", $58 -; 0x81733 - -SafeguardProtectText: ; 0x81733 - db $0, $59, $4f - db "is protected by", $55 - db "SAFEGUARD!", $58 -; 0x81751 - -MagnitudeText: ; 0x81751 - db $0, "Magnitude @" - deciram $d265, $11 - db $0, "!", $58 -; 0x81764 - -ReleasedByText: ; 0x81764 - db $0, $5a, $4f - db "was released by", $55 - db $59, "!", $58 -; 0x8177a - -ShedLeechSeedText: ; 0x8177a - db $0, $5a, $4f - db "shed LEECH SEED!", $58 -; 0x8178e - -BlewSpikesText: ; 0x8178e - db $0, $5a, $4f - db "blew away SPIKES!", $58 -; 0x817a3 - -DownpourText: ; 0x817a3 - db $0, "A downpour", $4f - db "started!", $58 -; 0x817b8 - -SunGotBrightText: ; 0x817b8 - db $0, "The sunlight got", $4f - db "bright!", $58 -; 0x817d2 - -BellyDrumText: ; 0x817d2 - db $0, $5a, $4f - db "cut its HP and", $55 - db "maximized ATTACK!", $58 -; 0x817f6 - -CopiedStatsText: ; 0x817f6 - db $0, $5a, $4f - db "copied the stat", $51 - db "changes of", $4f - db $59, "!", $58 -; 0x81817 - -ForesawAttackText: ; 0x81817 - db $0, $5a, $4f - db "foresaw an attack!", $58 -; 0x8182d - -BeatUpAttackText: ; 0x8182d - text_from_ram StringBuffer1 - db $0, "'s", $4f - db "attack!", $57 -; 0x8183b - -RefusedGiftText: ; 0x8183b - db $0, $59, $4f - db "refused the gift!", $58 -; 0x81850 - -IgnoredOrders2Text: ; 0x81850 - db $0, $5a, $4f - db "ignored orders!", $58 -; 0x81863 - -BattleText_0x81863: ; 0x81863 - db $0, "Link error…", $51 - db "The battle has", $4f - db "been canceled…", $58 -; 0x8188e - -BattleText_0x8188e: ; 0x8188e - db $0, "There is no time", $4f - db "left today!", $57 -; 0x818ac +INCLUDE "text/battle.asm" INCBIN "baserom.gbc", $818ac, $81fe3-$818ac @@ -17796,7 +17034,7 @@ Function117b4f: ld [hl], a ret .asm_117b8c - call $2009 + call PlayClickSFX ld a, [$cf64] and a jr nz, .asm_117ba4 ; 0x117b93 $f diff --git a/text/battle.asm b/text/battle.asm new file mode 100644 index 000000000..cab8fc4a2 --- /dev/null +++ b/text/battle.asm @@ -0,0 +1,1104 @@ +BattleText_0x80730: ; 0x80730 + db $0, $52, " picked up", $4f + db "¥@" + deciram $c6ec, $36 + db $0, "!", $58 +; 0x80746 + +WildPokemonAppearedText: ; 0x80746 + db $0, "Wild @" + text_from_ram $c616 + db $0, $4f + db "appeared!", $58 +; 0x8075c + +HookedPokemonAttackedText: ; 0x8075c + db $0, "The hooked", $4f + db "@" + text_from_ram $c616 + db $0, $55 + db "attacked!", $58 +; 0x80778 + +PokemonFellFromTreeText: ; 0x80778 + text_from_ram $c616 + db $0, " fell", $4f + db "out of the tree!", $58 +; 0x80793 + +WildPokemonAppearedText2: ; 0x80793 + db $0, "Wild @" + text_from_ram $c616 + db $0, $4f + db "appeared!", $58 +; 0x807a9 + +WantsToBattleText: ; 0x807a9 + db $0, $3f, $4f + db "wants to battle!", $58 +; 0x807bd + +BattleText_0x807bd: ; 0x807bd + db $0, "Wild @" + text_from_ram $c616 + db $0, $4f + db "fled!", $58 +; 0x807cf + +BattleText_0x807cf: ; 0x807cf + db $0, "Enemy @" + text_from_ram $c616 + db $0, $4f + db "fled!", $58 +; 0x807e2 + +BattleText_0x807e2: ; 0x807e2 + db $0, $5a, $4f + db "is hurt by poison!", $58 +; 0x807f8 + +BattleText_0x807f8: ; 0x807f8 + db $0, $5a, "'s", $4f + db "hurt by its burn!", $58 +; 0x8080e + +BattleText_0x8080e: ; 0x8080e + db $0, "LEECH SEED saps", $4f + db $5a, "!", $58 +; 0x80822 + +BattleText_0x80822: ; 0x80822 + db $0, $5a, $4f + db "has a NIGHTMARE!", $58 +; 0x80836 + +BattleText_0x80836: ; 0x80836 + db $0, $5a, "'s", $4f + db "hurt by the CURSE!", $58 +; 0x8084d + +BattleText_0x8084d: ; 0x8084d + db $0, "The SANDSTORM hits", $4f + db $5a, "!", $58 +; 0x80864 + +BattleText_0x80864: ; 0x80864 + db $0, $5a, "'s", $4f + db "PERISH count is @" + deciram $d265, $11 + db $0, "!", $58 +; 0x80880 + +BattleText_0x80880: ; 0x80880 + db $0, $59, $4f + db "recovered with", $55 + db "@" + text_from_ram StringBuffer1 + db $0, ".", $58 +; 0x80899 + +BattleText_0x80899: ; 0x80899 + db $0, $5a, $4f + db "recovered PP using", $55 + db "@" + text_from_ram StringBuffer1 + db $0, ".", $58 +; 0x808b6 + +BattleText_0x808b6: ; 0x808b6 + db $0, $59, $4f + db "was hit by FUTURE", $55 + db "SIGHT!", $58 +; 0x808d2 + +BattleText_0x808d2: ; 0x808d2 + db $0, $5a, "'s", $4f + db "SAFEGUARD faded!", $58 +; 0x808e7 + +BattleText_0x808e7: ; 0x808e7 + text_from_ram StringBuffer1 + db $0, " #MON's", $4f + db "LIGHT SCREEN fell!", $58 +; 0x80905 + +BattleText_0x80905: ; 0x80905 + text_from_ram StringBuffer1 + db $0, " #MON's", $4f + db "REFLECT faded!", $58 +; 0x8091f + +BattleText_0x8091f: ; 0x8091f + db $0, "Rain continues to", $4f + db "fall.", $58 +; 0x80938 + +BattleText_0x80938: ; 0x80938 + db $0, "The sunlight is", $4f + db "strong.", $58 +; 0x80951 + +BattleText_0x80951: ; 0x80951 + db $0, "The SANDSTORM", $4f + db "rages.", $58 +; 0x80967 + +BattleText_0x80967: ; 0x80967 + db $0, "The rain stopped.", $58 +; 0x8097a + +BattleText_0x8097a: ; 0x8097a + db $0, "The sunlight", $4f + db "faded.", $58 +; 0x8098f + +BattleText_0x8098f: ; 0x8098f + db $0, "The SANDSTORM", $4f + db "subsided.", $58 +; 0x809a8 + +BattleText_0x809a8: ; 0x809a8 + db $0, "Enemy @" + text_from_ram $c616 + db $0, $4f + db "fainted!", $58 +; 0x809be + +BattleText_0x809be: ; 0x809be + db $0, $52, " got ¥@" + deciram $c686, $36 + db $0, $4f + db "for winning!", $58 +; 0x809da + +BattleText_0x809da: ; 0x809da + db $0, $3f, $4f + db "was defeated!", $58 +; 0x809eb + +BattleText_0x809eb: ; 0x809eb + db $0, "Tied against", $4f + db $3f, "!", $58 +; 0x809fc + +BattleText_0x809fc: ; 0x809fc + db $0, $52, " got ¥@" + deciram $c686, $36 + db $0, $4f + db "for winning!", $55 + db "Sent some to MOM!", $58 +; 0x80a2a + +BattleText_0x80a2a: ; 0x80a2a + db $0, "Sent half to MOM!", $58 +; 0x80a3d + +BattleText_0x80a3d: ; 0x80a3d + db $0, "Sent all to MOM!", $58 +; 0x80a4f + +BattleText_0x80a4f: ; 0x80a4f + db $0, $53, ": Huh? I", $4f + db "should've chosen", $55 + db "your #MON!", $58 +; 0x80a75 + +BattleText_0x80a75: ; 0x80a75 + text_from_ram $c621 + db $0, $4f + db "fainted!", $58 +; 0x80a83 + +BattleText_0x80a83: ; 0x80a83 + db $0, "Use next #MON?", $57 +; 0x80a93 + +BattleText_0x80a93: ; 0x80a93 + db $0, $53, ": Yes!", $4f + db "I guess I chose a", $55 + db "good #MON!", $58 +; 0x80ab9 + +BattleText_0x80ab9: ; 0x80ab9 + db $0, "Lost against", $4f + db $3f, "!", $58 +; 0x80aca + +BattleText_0x80aca: ; 0x80aca + db $0, $3f, $4f + db "is about to use", $55 + db "@" + text_from_ram $c616 + db $0, ".", $51 + db "Will ", $52, $4f + db "change #MON?", $57 +; 0x80af8 + +BattleText_0x80af8: ; 0x80af8 + db $0, $3f, $4f + db "sent out", $55 + db "@" + text_from_ram $c616 + db $0, "!", $57 +; 0x80b0b + +BattleText_0x80b0b: ; 0x80b0b + db $0, "There's no will to", $4f + db "battle!", $58 +; 0x80b26 + +BattleText_0x80b26: ; 0x80b26 + db $0, "An EGG can't", $4f + db "battle!", $58 +; 0x80b3b + +BattleText_0x80b3b: ; 0x80b3b + db $0, "Can't escape!", $58 +; 0x80b49 + +BattleText_0x80b49: ; 0x80b49 + db $0, "No! There's no", $4f + db "running from a", $55 + db "trainer battle!", $58 +; 0x80b77 + +BattleText_0x80b77: ; 0x80b77 + db $0, "Got away safely!", $58 +; 0x80b89 + +BattleText_0x80b89: ; 0x80b89 + db $0, $5a, $4f + db "fled using a", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x80ba0 + +BattleText_0x80ba0: ; 0x80ba0 + db $0, "Can't escape!", $58 +; 0x80bae + +BattleText_0x80bae: ; 0x80bae + db $0, $5a, "'s", $4f + db "hurt by SPIKES!", $58 +; 0x80bc2 + +RecoveredUsingText: ; 0x80bc2 + db $0, $59, $4f + db "recovered using a", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x80bde + +BattleText_0x80bde: ; 0x80bde + db $0, $5a, "'s", $4f + db "@" + text_from_ram StringBuffer1 + db $0, $55 + db "activated!", $58 +; 0x80bf3 + +BattleText_0x80bf3: ; 0x80bf3 + db $0, "Items can't be", $4f + db "used here.", $58 +; 0x80c0d + +BattleText_0x80c0d: ; 0x80c0d + text_from_ram $c621 + db $0, $4f + db "is already out.", $58 +; 0x80c22 + +BattleText_0x80c22: ; 0x80c22 + text_from_ram $c621 + db $0, $4f + db "can't be recalled!", $58 +; 0x80c39 + +BattleText_0x80c39: ; 0x80c39 + db $0, "There's no PP left", $4f + db "for this move!", $58 +; 0x80c5b + +BattleText_0x80c5b: ; 0x80c5b + db $0, "The move is", $4f + db "DISABLED!", $58 +; 0x80c72 + +BattleText_0x80c72: ; 0x80c72 + text_from_ram $c621 + db $0, $4f + db "has no moves left!", $57 +; 0x80c8a + +BattleText_0x80c8a: ; 0x80c8a + db $0, $59, "'s", $4f + db "ENCORE ended!", $58 +; 0x80c9c + +BattleText_0x80c9c: ; 0x80c9c + text_from_ram StringBuffer1 + db $0, " grew to", $4f + db "level @" + deciram $d143, $13 + db $0, "!@" + sound0 + db $50 +; 0x80cb9 + +BattleText_0x80cb9: ; 0x80cb9 + db $50 +; 0x80cba + +BattleText_0x80cba: ; 0x80cba + db $0, "Wild @" + text_from_ram $c616 + db $0, $4f + db "is eating!", $58 +; 0x80cd1 + +BattleText_0x80cd1: ; 0x80cd1 + db $0, "Wild @" + text_from_ram $c616 + db $0, $4f + db "is angry!", $58 +; 0x80ce7 + +FastAsleepText: ; 0x80ce7 + db $0, $5a, $4f + db "is fast asleep!", $58 +; 0x80cfa + +WokeUpText: ; 0x80cfa + db $0, $5a, $4f + db "woke up!", $58 +; 0x80d06 + +FrozenSolidText: ; 0x80d06 + db $0, $5a, $4f + db "is frozen solid!", $58 +; 0x80d1a + +FlinchedText: ; 0x80d1a + db $0, $5a, $4f + db "flinched!", $58 +; 0x80d27 + +MustRechargeText: ; 0x80d27 + db $0, $5a, $4f + db "must recharge!", $58 +; 0x80d39 + +DisabledNoMoreText: ; 0x80d39 + db $0, $5a, "'s", $4f + db "disabled no more!", $58 +; 0x80d4f + +IsConfusedText: ; 0x80d4f + db $0, $5a, $4f + db "is confused!", $58 +; 0x80d5f + +HurtItselfText: ; 0x80d5f + db $0, "It hurt itself in", $4f + db "its confusion!", $58 +; 0x80d81 + +ConfusedNoMoreText: ; 0x80d81 + db $0, $5a, "'s", $4f + db "confused no more!", $58 +; 0x80d97 + +BecameConfusedText: ; 0x80d97 + db $0, $59, $4f + db "became confused!", $58 +; 0x80dab + +BattleText_0x80dab: ; 0x80dab + db $0, "A @" + text_from_ram StringBuffer1 + db $0, " rid", $4f + db $59, $55 + db "of its confusion.", $58 +; 0x80dcc + +AlreadyConfusedText: ; 0x80dcc + db $0, $59, "'s", $4f + db "already confused!", $58 +; 0x80de2 + +BattleText_0x80de2: ; 0x80de2 + db $0, $5a, "'s", $4f + db "hurt by", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x80df5 + +BattleText_0x80df5: ; 0x80df5 + db $0, $5a, $4f + db "was released from", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x80e11 + +UsedBindText: ; 0x80e11 + db $0, $5a, $4f + db "used BIND on", $55 + db $59, "!", $58 +; 0x80e24 + +WhirlpoolTrapText: ; 0x80e24 + db $0, $59, $4f + db "was trapped!", $58 +; 0x80e34 + +FireSpinTrapText: ; 0x80e34 + db $0, $59, $4f + db "was trapped!", $58 +; 0x80e44 + +WrappedByText: ; 0x80e44 + db $0, $59, $4f + db "was WRAPPED by", $55 + db $5a, "!", $58 +; 0x80e59 + +ClampedByText: ; 0x80e59 + db $0, $59, $4f + db "was CLAMPED by", $55 + db $5a, "!", $58 +; 0x80e6e + +StoringEnergyText: ; 0x80e6e + db $0, $5a, $4f + db "is storing energy!", $58 +; 0x80e84 + +UnleashedEnergyText: ; 0x80e84 + db $0, $5a, $4f + db "unleashed energy!", $58 +; 0x80e99 + +HungOnText: ; 0x80e99 + db $0, $59, $4f + db "hung on with", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x80eb0 + +EnduredText: ; 0x80eb0 + db $0, $59, $4f + db "ENDURED the hit!", $58 +; 0x80ec4 + +InLoveWithText: ; 0x80ec4 + db $0, $5a, $4f + db "is in love with", $55 + db $59, "!", $58 +; 0x80eda + +InfatuationText: ; 0x80eda + db $0, $5a, "'s", $4f + db "infatuation kept", $55 + db "it from attacking!", $58 +; 0x80f02 + +DisabledMoveText: ; 0x80f02 + db $0, $5a, "'s", $4f + db "@" + text_from_ram StringBuffer1 + db $0, " is", $55 + db "DISABLED!", $58 +; 0x80f19 + +LoafingAroundText: ; 0x80f19 + text_from_ram $c621 + db $0, " is", $4f + db "loafing around.", $58 +; 0x80f31 + +BeganToNapText: ; 0x80f31 + text_from_ram $c621 + db $0, " began", $4f + db "to nap!", $58 +; 0x80f44 + +WontObeyText: ; 0x80f44 + text_from_ram $c621 + db $0, " won't", $4f + db "obey!", $58 +; 0x80f54 + +TurnedAwayText: ; 0x80f54 + text_from_ram $c621 + db $0, " turned", $4f + db "away!", $58 +; 0x80f66 + +IgnoredOrdersText: ; 0x80f66 + text_from_ram $c621 + db $0, " ignored", $4f + db "orders!", $58 +; 0x80f7b + +IgnoredSleepingText: ; 0x80f7b + text_from_ram $c621 + db $0, " ignored", $4f + db "orders…sleeping!", $58 +; 0x80f99 + +NoPPLeftText: ; 0x80f99 + db $0, "But no PP is left", $4f + db "for the move!", $58 +; 0x80fba + +HasNoPPLeftText: ; 0x80fba + db $0, $5a, $4f + db "has no PP left for", $55 + db "@" + text_from_ram $d086 + db $0, "!", $58 +; 0x80fd7 + +WentToSleepText: ; 0x80fd7 + db $0, $5a, $4f + db "went to sleep!", $57 +; 0x80fe9 + +RestedText: ; 0x80fe9 + db $0, $5a, $4f + db "fell asleep and", $55 + db "became healthy!", $57 +; 0x8100c + +RegainedHealthText: ; 0x8100c + db $0, $5a, $4f + db "regained health!", $58 +; 0x81020 + +AttackMissedText: ; 0x81020 + db $0, $5a, "'s", $4f + db "attack missed!", $58 +; 0x81033 + +AttackMissed2Text: ; 0x81033 + db $0, $5a, "'s", $4f + db "attack missed!", $58 +; 0x81046 + +CrashedText: ; 0x81046 + db $0, $5a, $4f + db "kept going and", $55 + db "crashed!", $58 +; 0x81061 + +UnaffectedText: ; 0x81061 + db $0, $59, "'s", $4f + db "unaffected!", $58 +; 0x81071 + +DoesntAffectText: ; 0x81071 + db $0, "It doesn't affect", $4f + db $59, "!", $58 +; 0x81086 + +CriticalHitText: ; 0x81086 + db $0, "A critical hit!", $58 +; 0x81097 + +OneHitKOText: ; 0x81097 + db $0, "It's a one-hit KO!", $58 +; 0x810aa + +SuperEffectiveText: ; 0x810aa + db $0, "It's super-", $4f + db "effective!", $58 +; 0x810c1 + +NotVeryEffectiveText: ; 0x810c1 + db $0, "It's not very", $4f + db "effective…", $58 +; 0x810da + +TookDownWithItText: ; 0x810da + db $0, $59, $4f + db "took down with it,", $55 + db $5a, "!", $58 +; 0x810f3 + +RageBuildingText: ; 0x810f3 + db $0, $5a, "'s", $4f + db "RAGE is building!", $58 +; 0x81109 + +GotAnEncoreText: ; 0x81109 + db $0, $59, $4f + db "got an ENCORE!", $58 +; 0x8111b + +SharedPainText: ; 0x8111b + db $0, "The battlers", $4f + db "shared pain!", $58 +; 0x81136 + +TookAimText: ; 0x81136 + db $0, $5a, $4f + db "took aim!", $58 +; 0x81143 + +SketchedText: ; 0x81143 + db $0, $5a, $4f + db "SKETCHED", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x81156 + +DestinyBondEffectText: ; 0x81156 + db $0, $5a, "'s", $4f + db "trying to take its", $55 + db "opponent with it!", $58 +; 0x8117f + +SpiteEffectText: ; 0x8117f + db $0, $59, "'s", $4f + db "@" + text_from_ram StringBuffer1 + db $0, " was", $55 + db "reduced by @" + deciram $d265, $11 + db $0, "!", $58 +; 0x811a0 + +BellChimedText: ; 0x811a0 + db $0, "A bell chimed!", $4f + db $58 +; 0x811b1 + +FellAsleepText: ; 0x811b1 + db $0, $59, $4f + db "fell asleep!", $58 +; 0x811c1 + +AlreadyAsleepText: ; 0x811c1 + db $0, $59, "'s", $4f + db "already asleep!", $58 +; 0x811d5 + +WasPoisonedText: ; 0x811d5 + db $0, $59, $4f + db "was poisoned!", $58 +; 0x811e6 + +BadlyPoisonedText: ; 0x811e6 + db $0, $59, "'s", $4f + db "badly poisoned!", $58 +; 0x811fa + +AlreadyPoisonedText: ; 0x811fa + db $0, $59, "'s", $4f + db "already poisoned!", $58 +; 0x81210 + +SuckedHealthText: ; 0x81210 + db $0, "Sucked health from", $4f + db $59, "!", $58 +; 0x81227 + +DreamEatenText: ; 0x81227 + db $0, $59, "'s", $4f + db "dream was eaten!", $58 +; 0x8123c + +WasBurnedText: ; 0x8123c + db $0, $59, $4f + db "was burned!", $58 +; 0x8124b + +DefrostedOpponentText: ; 0x8124b + db $0, $59, $4f + db "was defrosted!", $58 +; 0x8125d + +WasFrozenText: ; 0x8125d + db $0, $59, $4f + db "was frozen solid!", $58 +; 0x81272 + +WontRiseAnymoreText: ; 0x81272 + db $0, $5a, "'s", $4f + db "@" + text_from_ram $d086 + db $0, " won't", $55 + db "rise anymore!", $58 +; 0x8128f + +WontDropAnymoreText: ; 0x8128f + db $0, $59, "'s", $4f + db "@" + text_from_ram $d086 + db $0, " won't", $55 + db "drop anymore!", $58 +; 0x812ac + +FledFromBattleText: ; 0x812ac + db $0, $5a, $4f + db "fled from battle!", $58 +; 0x812c1 + +FledInFearText: ; 0x812c1 + db $0, $59, $4f + db "fled in fear!", $58 +; 0x812d2 + +BlownAwayText: ; 0x812d2 + db $0, $59, $4f + db "was blown away!", $58 +; 0x812e5 + +PlayerHitTimesText: ; 0x812e5 + db $0, "Hit @" + deciram $c682, $11 + db $0, " times!", $58 +; 0x812f8 + +EnemyHitTimesText: ; 0x812f8 + db $0, "Hit @" + deciram $c684, $11 + db $0, " times!", $58 +; 0x8130b + +MistText: ; 0x8130b + db $0, $5a, "'s", $4f + db "shrouded in MIST!", $58 +; 0x81321 + +ProtectedByMistText: ; 0x81321 + db $0, $59, "'s", $4f + db "protected by MIST.", $58 +; 0x81338 + +GettingPumpedText: ; 0x81338 + interpret_data + db $0, $5a, "'s", $4f + db "getting pumped!", $58 +; 0x8134d + +RecoilText: ; 0x8134d + db $0, $5a, "'s", $4f + db "hit with recoil!", $58 +; 0x81362 + +MadeSubstituteText: ; 0x81362 + db $0, $5a, $4f + db "made a SUBSTITUTE!", $58 +; 0x81378 + +HasSubstituteText: ; 0x81378 + db $0, $5a, $4f + db "has a SUBSTITUTE!", $58 +; 0x8138d + +TooWeakSubText: ; 0x8138d + db $0, "Too weak to make", $4f + db "a SUBSTITUTE!", $58 +; 0x813ad + +SubTookDamageText: ; 0x813ad + db $0, "The SUBSTITUTE", $4f + db "took damage for", $55 + db $59, "!", $58 +; 0x813d0 + +SubFadedText: ; 0x813d0 + db $0, $59, "'s", $4f + db "SUBSTITUTE faded!", $58 +; 0x813e6 + +LearnedMoveText: ; 0x813e6 + db $0, $5a, $4f + db "learned", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x813f8 + +WasSeededText: ; 0x813f8 + db $0, $59, $4f + db "was seeded!", $58 +; 0x81407 + +EvadedText: ; 0x81407 + db $0, $59, $4f + db "evaded the attack!", $58 +; 0x8141d + +WasDisabledText: ; 0x8141d + db $0, $59, "'s", $4f + db "@" + text_from_ram StringBuffer1 + db $0, " was", $55 + db "DISABLED!", $58 +; 0x81435 + +CoinsScatteredText: ; 0x81435 + db $0, "Coins scattered", $4f + db "everywhere!", $58 +; 0x81452 + +TransformedTypeText: ; 0x81452 + db $0, $5a, $4f + db "transformed into", $55 + db "the @" + text_from_ram StringBuffer1 + db $0, "-type!", $58 +; 0x81476 + +EliminatedStatsText: ; 0x81476 + db $0, "All stat changes", $4f + db "were eliminated!", $58 +; 0x81499 + +TransformedText: ; 0x81499 + db $0, $5a, $4f + db "TRANSFORMED into", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x814b4 + +LightScreenEffectText: ; 0x814b4 + db $0, $5a, "'s", $4f + db "SPCL.DEF rose!", $58 +; 0x814c7 + +ReflectEffectText: ; 0x814c7 + db $0, $5a, "'s", $4f + db "DEFENSE rose!", $58 +; 0x814d9 + +NothingHappenedText: ; 0x814d9 + db $0, "But nothing", $4f + db "happened.", $58 +; 0x814f0 + +ButItFailedText: ; 0x814f0 + db $0, "But it failed!", $58 +; 0x81500 + +ItFailedText: ; 0x81500 + db $0, "It failed!", $58 +; 0x8150c + +DidntAffect1Text: ; 0x8150c + db $0, "It didn't affect", $4f + db $59, "!", $58 +; 0x81520 + +DidntAffect2Text: ; 0x81520 + db $0, "It didn't affect", $4f + db $59, "!", $58 +; 0x81534 + +HPIsFullText: ; 0x81534 + db $0, $5a, "'s", $4f + db "HP is full!", $58 +; 0x81544 + +DraggedOutText: ; 0x81544 + db $0, $5a, $4f + db "was dragged out!", $58 +; 0x81558 + +ParalyzedText: ; 0x81558 + db $0, $59, "'s", $4f + db "paralyzed! Maybe", $55 + db "it can't attack!", $58 +; 0x8157d + +FullyParalyzedText: ; 0x8157d + db $0, $5a, "'s", $4f + db "fully paralyzed!", $58 +; 0x81592 + +AlreadyParalyzedText: ; 0x81592 + db $0, $59, "'s", $4f + db "already paralyzed!", $58 +; 0x815a9 + +ProtectedByText: ; 0x815a9 + db $0, $59, "'s", $4f + db "protected by", $55 + db "@" + text_from_ram StringBuffer1 + db $0, "!", $58 +; 0x815c1 + +MirrorMoveFailedText: ; 0x815c1 + db $0, "The MIRROR MOVE", $4e, "failed!", $58 +; 0x815da + +StoleText: ; 0x815da + db $0, $5a, $4f + db "stole @" + text_from_ram StringBuffer1 + db $0, $55 + db "from its foe!", $58 +; 0x815f7 + +CantEscapeNowText: ; 0x815f7 + db $0, $59, $4f + db "can't escape now!", $58 +; 0x8160b + +StartedNightmareText: ; 0x8160b + db $0, $59, $4f + db "started to have a", $55 + db "NIGHTMARE!", $58 +; 0x8162b + +WasDefrostedText: ; 0x8162b + db $0, $5a, $4f + db "was defrosted!", $58 +; 0x8163d + +PutACurseText: ; 0x8163d + db $0, $5a, $4f + db "cut its own HP and", $51 + db "put a CURSE on", $4f + db $59, "!", $58 +; 0x81665 + +ProtectedItselfText: ; 0x81665 + db $0, $5a, $4f + db "PROTECTED itself!", $58 +; 0x8167a + +ProtectingItselfText: ; 0x8167a + db $0, $59, "'s", $4f + db "PROTECTING itself!", $57 +; 0x81691 + +SpikesText: ; 0x81691 + db $0, "SPIKES scattered", $4f + db "all around", $55 + db $59, "!", $58 +; 0x816b1 + +IdentifiedText: ; 0x816b1 + db $0, $5a, $4f + db "identified", $55 + db $59, "!", $58 +; 0x816c2 + +StartPerishText: ; 0x816c2 + db $0, "Both #MON will", $4f + db "faint in 3 turns!", $58 +; 0x816e4 + +SandstormBrewedText: ; 0x816e4 + db $0, "A SANDSTORM", $4f + db "brewed!", $58 +; 0x816f9 + +BracedItselfText: ; 0x816f9 + db $0, $5a, $4f + db "braced itself!", $58 +; 0x8170b + +FellInLoveText: ; 0x8170b + db $0, $59, $4f + db "fell in love!", $58 +; 0x8171c + +CoveredByVeilText: ; 0x8171c + db $0, $5a, "'s", $4f + db "covered by a veil!", $58 +; 0x81733 + +SafeguardProtectText: ; 0x81733 + db $0, $59, $4f + db "is protected by", $55 + db "SAFEGUARD!", $58 +; 0x81751 + +MagnitudeText: ; 0x81751 + db $0, "Magnitude @" + deciram $d265, $11 + db $0, "!", $58 +; 0x81764 + +ReleasedByText: ; 0x81764 + db $0, $5a, $4f + db "was released by", $55 + db $59, "!", $58 +; 0x8177a + +ShedLeechSeedText: ; 0x8177a + db $0, $5a, $4f + db "shed LEECH SEED!", $58 +; 0x8178e + +BlewSpikesText: ; 0x8178e + db $0, $5a, $4f + db "blew away SPIKES!", $58 +; 0x817a3 + +DownpourText: ; 0x817a3 + db $0, "A downpour", $4f + db "started!", $58 +; 0x817b8 + +SunGotBrightText: ; 0x817b8 + db $0, "The sunlight got", $4f + db "bright!", $58 +; 0x817d2 + +BellyDrumText: ; 0x817d2 + db $0, $5a, $4f + db "cut its HP and", $55 + db "maximized ATTACK!", $58 +; 0x817f6 + +CopiedStatsText: ; 0x817f6 + db $0, $5a, $4f + db "copied the stat", $51 + db "changes of", $4f + db $59, "!", $58 +; 0x81817 + +ForesawAttackText: ; 0x81817 + db $0, $5a, $4f + db "foresaw an attack!", $58 +; 0x8182d + +BeatUpAttackText: ; 0x8182d + text_from_ram StringBuffer1 + db $0, "'s", $4f + db "attack!", $57 +; 0x8183b + +RefusedGiftText: ; 0x8183b + db $0, $59, $4f + db "refused the gift!", $58 +; 0x81850 + +IgnoredOrders2Text: ; 0x81850 + db $0, $5a, $4f + db "ignored orders!", $58 +; 0x81863 + +BattleText_0x81863: ; 0x81863 + db $0, "Link error…", $51 + db "The battle has", $4f + db "been canceled…", $58 +; 0x8188e + +BattleText_0x8188e: ; 0x8188e + db $0, "There is no time", $4f + db "left today!", $57 +; 0x818ac @@ -815,7 +815,12 @@ MonType: ; cf5f CurSpecies: ; cf60 ds 1 - ds 33 + ds $13 + +MenuSelection:; cf74 + ds 1 + + ds $cf82-$cf74 TileY: ; cf82 ds 1 @@ -899,6 +904,7 @@ EndFlypoint: ; d006 ds 55 +MenuItemsList: CurFruitTree: ; d03e ds 1 CurFruit: ; d03f |