diff --git a/SOURCE/celebieventbattle/00-C000.asm b/SOURCE/celebieventbattle/00-C000.asm new file mode 100644 index 0000000..b6be37a --- /dev/null +++ b/SOURCE/celebieventbattle/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "icon.4bpp" +TicketPalette: ; 1604 + INCBIN "normal.gbapal" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $08,$08,$01,$01,$01,$01,$01 ; + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Ruby or \n" + db "Sapphire and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Ruby or\n" + db "Sapphire to begin sending the\n" + db "CELEBI EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "CELEBI EVENT delivery in Progress...\0" + +TicketDelivered: ; 1a2f + db "CELEBI EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/celebieventbattle/00-C000.raw b/SOURCE/celebieventbattle/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/celebieventbattle/00-C000.raw differ diff --git a/SOURCE/celebieventbattle/Makefile b/SOURCE/celebieventbattle/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/celebieventbattle/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/celebieventbattle/celebi.4bpp b/SOURCE/celebieventbattle/celebi.4bpp new file mode 100644 index 0000000..82db62f Binary files /dev/null and b/SOURCE/celebieventbattle/celebi.4bpp differ diff --git a/SOURCE/celebieventbattle/nedclib.dll b/SOURCE/celebieventbattle/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/celebieventbattle/nedclib.dll differ diff --git a/SOURCE/celebieventbattle/nedcmake b/SOURCE/celebieventbattle/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/celebieventbattle/nedcmake differ diff --git a/SOURCE/celebieventbattle/nevpk b/SOURCE/celebieventbattle/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/celebieventbattle/nevpk differ diff --git a/SOURCE/celebieventbattle/prologue.asm b/SOURCE/celebieventbattle/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/celebieventbattle/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/celebieventbattle/rgbasm b/SOURCE/celebieventbattle/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/celebieventbattle/rgbasm differ diff --git a/SOURCE/celebieventbattle/rgblink b/SOURCE/celebieventbattle/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/celebieventbattle/rgblink differ diff --git a/SOURCE/celebieventbattleunlocked/00-C000.asm b/SOURCE/celebieventbattleunlocked/00-C000.asm new file mode 100644 index 0000000..7db5afa --- /dev/null +++ b/SOURCE/celebieventbattleunlocked/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "celebis.bin" +TicketPalette: ; 1604 + INCBIN "celebispal.bin" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $07,$07,$01,$01,$01,$01,$01 ; 64 x 64 size + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Ruby or \n" + db "Sapphire and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Ruby or\n" + db "Sapphire to begin sending the\n" + db "UNLOCKED CELEBI EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "UNLOCKED EVENT delivery in Progress\0" + +TicketDelivered: ; 1a2f + db "UNLOCKED CELEBI EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/celebieventbattleunlocked/00-C000.raw b/SOURCE/celebieventbattleunlocked/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/00-C000.raw differ diff --git a/SOURCE/celebieventbattleunlocked/Makefile b/SOURCE/celebieventbattleunlocked/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/celebieventbattleunlocked/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/celebieventbattleunlocked/celebis.bin b/SOURCE/celebieventbattleunlocked/celebis.bin new file mode 100644 index 0000000..53287f3 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/celebis.bin differ diff --git a/SOURCE/celebieventbattleunlocked/celebis.png b/SOURCE/celebieventbattleunlocked/celebis.png new file mode 100644 index 0000000..9bd99c2 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/celebis.png differ diff --git a/SOURCE/celebieventbattleunlocked/celebispal.bin b/SOURCE/celebieventbattleunlocked/celebispal.bin new file mode 100644 index 0000000..9ce52a2 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/celebispal.bin differ diff --git a/SOURCE/celebieventbattleunlocked/eonticket.asm b/SOURCE/celebieventbattleunlocked/eonticket.asm new file mode 100644 index 0000000..18b80fe --- /dev/null +++ b/SOURCE/celebieventbattleunlocked/eonticket.asm @@ -0,0 +1,206 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/scriptcommandscelebibattleunlocked.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,11 ; petalburg gym + db 2 ; norman + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_EN "A bright flash was seen in\n" + Text_EN "PETALBURG WOODS!\p" + Text_EN "Ever since, a rare Pokemon has been\n" + Text_EN "seen healing thin trees.@" + + + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + virtualmsgbox Poor + waitmsg + db $6E, $17, $8 + release + + compare LASTRESULT, 0 + + virtualgotoif 1, Changemind + + virtualgotoif 5, CelebiEvent + + + TEMPCELEBI + STRUCTURETABLEG + STRUCTURETABLEA + STRUCTURETABLEE + STRUCTURETABLEM + LOADSTOREPARTYAMOUNT + COLORNG + MEMCPYSETUP + SUBSTRUCTURECPY + CHECKSUM + ENCRYPT + CALCSTATS + CAPTURECELEBI + CELEBICOPY1 + SRFIX + + + + +CelebiEvent: + db $43 + + compare LASTRESULT, 5 + + virtualgotoif 2, NoRoom + + copyvar $800B, $800D + + callasm $02028E9D + + callasm $02028EB1 + + callasm $02028F91 + + callasm $02028FA1 + + callasm $02028FD5 + + callasm $02028FED + + special $13D + + sound $13 + + waitstate + + playmoncry $FB, $0 + + virtualmsgbox Celebi + + waitmsg + + waitmoncry + + waitkeypress + + release + + special $138 + + playsong $0166, $0 + + waitmoncry + + waitstate + + db $43 + + comparevar LASTRESULT, $800B + + virtualgotoif 3, FlewAway + + virtualgotoif 2, Catch + + + + +Catch: + callasm $02028FB1 + killscript + + + +NoRoom: + virtualmsgbox NoSpace + waitmsg + waitkeypress + release + end + +Changemind: + virtualmsgbox Change + waitmsg + waitkeypress + release + end + + +NoRoomToGive: + virtualloadpointer PartyFull + setbyte 3 + killscript + +FlewAway: + db $97, $01 + db $97, $00 + virtualmsgbox Flew + waitmsg + waitkeypress + release + killscript + +PartyFull: + Text_EN "You need space in your party\n" + Text_EN "to play this MYSTERY EVENT!@" +Poor: + Text_EN "A Pokemon is rustling around\n" + Text_EN "in this tree.\p" + Text_EN "Would you like to investigate?@" +Change: + Text_EN "Maybe another time.@" +Flew: + Text_EN "The CELEBI flew away!@" + +NoSpace: + Text_EN "You need space in your party\n" + Text_EN "to capture CELEBI!@" + +Celebi: + Text_EN "CELEBI: Biyoo!@" + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + + db $43 + + compare LASTRESULT, 5 + + virtualgotoif 2, NoRoomToGive + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + + + + + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/celebieventbattleunlocked/eonticket.md5 b/SOURCE/celebieventbattleunlocked/eonticket.md5 new file mode 100644 index 0000000..cb426e5 --- /dev/null +++ b/SOURCE/celebieventbattleunlocked/eonticket.md5 @@ -0,0 +1 @@ +901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80 diff --git a/SOURCE/celebieventbattleunlocked/nedclib.dll b/SOURCE/celebieventbattleunlocked/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/nedclib.dll differ diff --git a/SOURCE/celebieventbattleunlocked/nedcmake b/SOURCE/celebieventbattleunlocked/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/nedcmake differ diff --git a/SOURCE/celebieventbattleunlocked/nevpk b/SOURCE/celebieventbattleunlocked/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/nevpk differ diff --git a/SOURCE/celebieventbattleunlocked/prologue.asm b/SOURCE/celebieventbattleunlocked/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/celebieventbattleunlocked/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/celebieventbattleunlocked/rgbasm b/SOURCE/celebieventbattleunlocked/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/rgbasm differ diff --git a/SOURCE/celebieventbattleunlocked/rgblink b/SOURCE/celebieventbattleunlocked/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/celebieventbattleunlocked/rgblink differ diff --git a/SOURCE/common/battle_e_transfer.asm b/SOURCE/common/battle_e_transfer.asm new file mode 100644 index 0000000..bc4f4e0 --- /dev/null +++ b/SOURCE/common/battle_e_transfer.asm @@ -0,0 +1,71 @@ +TransferData: + LD_IND_HL SomeVar2 + push de + ld hl, $BBBB + LD_IND_HL Space_1 ; Space_1 = $BBBB + EX_DE_HL + LD_IND_HL Space_2 ; store transfer length in Space_2, which is odd, + ; because we never refer to it again + API_0C7 Space_1 + + wait 1 + pop hl ; number of bytes to transfer + + ; calculate number of words to transfer: + ; de = (hl + 1) >> 1 + inc hl + ld b, 1 + call WordShiftRight + EX_DE_HL + +.asm_18FE + ld a, e + or d + ret z + ; while de > 0… + + ld hl, $8888 + LD_IND_HL Space_1 ; Space_1 = $8888 + ld a, $01 + LD_IND_A SomeVar1 ; SomeVar1 = 1 + +.asm_190C + LD_A_IND SomeVar1 ; a = SomeVar1 + cp $08 + jr nc, .asm_193B + + push de + LD_HL_IND SomeVar2 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar2 + ld hl, SomeVar1 + ld l, [hl] + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + dec de + ld a, e + or d + jr z, .asm_193B + + ld hl, SomeVar1 + ld a, $01 + add a, [hl] + ld [hl], a + jr .asm_190C + +.asm_193B ; if SomeVar1 > 8 + push de + API_0C7 Space_1 ; this must be the data transfer? it’s the only API function called + + wait 1 + pop de + jr .asm_18FE \ No newline at end of file diff --git a/SOURCE/common/mem_struct.asm b/SOURCE/common/mem_struct.asm new file mode 100644 index 0000000..148d021 --- /dev/null +++ b/SOURCE/common/mem_struct.asm @@ -0,0 +1,15 @@ +; what do these store? +Space_1: + db 0,0 +Space_2: + REPT 14 + db 0 + ENDR +Space_3: + REPT 32 + db 0 + ENDR +Space_4: + db 0,0 +Space_5: + db 0,0 \ No newline at end of file diff --git a/SOURCE/common/transfer_data.asm b/SOURCE/common/transfer_data.asm new file mode 100644 index 0000000..0276d7c --- /dev/null +++ b/SOURCE/common/transfer_data.asm @@ -0,0 +1,31 @@ + API_106 $0040, UNKNOWN_VALUE + +.asm_1bfe + waita $01 + + ld hl, Space_3 + API $0C8 + + or a + jr nz, .asm_1c18 + + IS_SOUND_PLAYING 1 ; return + +.asm_1c18 + LD_HL_IND Space_3 + LD_IND_HL Space_4 + ld a, l + cp $22 + jr nz, .asm_1bfe + + ld a, h + cp $22 + jr nz, .asm_1bfe + + ld de, 60 ; transfer length + ld hl, Prologue + call TransferData + + ld de, DATA_TRANSFER_LENGTH ; transfer length + ld hl, DataPacket + call TransferData \ No newline at end of file diff --git a/SOURCE/common/wait_for_link.asm b/SOURCE/common/wait_for_link.asm new file mode 100644 index 0000000..e317728 --- /dev/null +++ b/SOURCE/common/wait_for_link.asm @@ -0,0 +1,36 @@ + ret c + nop + wait 32 + ld l, $02 + push hl + ld bc, $B9A0 + ld de, $0076 + ld a, $08 + API $0C4 + pop bc +.asm_1b64 + API $0DB + + cp $01 + jr z, .asm_1b6f + API $0DB + or a + jr nz, .asm_1b76 +.asm_1b6f + waita $01 + API $0C5 + jr .asm_1b64 + +.asm_1b76 + waita $01 + LD_HL_IND $00C2 + ld a, l + and $02 + jr z, .asm_1b90 + + IS_SOUND_PLAYING 2 ; exit + +.asm_1b90 + API $0CA + cp $02 + jr c, .asm_1b76 \ No newline at end of file diff --git a/SOURCE/common/wait_for_ready.asm b/SOURCE/common/wait_for_ready.asm new file mode 100644 index 0000000..8344422 --- /dev/null +++ b/SOURCE/common/wait_for_ready.asm @@ -0,0 +1,30 @@ +.asm_1baf + waita $01 + API $0DB + + ld l, a + ld h, $00 + LD_IND_HL Space_5 + API $0CA + + cp $02 + jr nc, .asm_1bd4 + + ld hl, UNKNOWN_VALUE + SOUND_PAUSE + + IS_SOUND_PLAYING 1 ; return + +.asm_1bd4 + LD_HL_IND Space_5 + ld a, l + sub $04 + or h + jr z, .asm_1be6 + + LD_HL_IND Space_5 + ld a, l + sub $03 + or h + jr nz, .asm_1baf +.asm_1be6 \ No newline at end of file diff --git a/SOURCE/common/word_shift_right.asm b/SOURCE/common/word_shift_right.asm new file mode 100644 index 0000000..7a76280 --- /dev/null +++ b/SOURCE/common/word_shift_right.asm @@ -0,0 +1,15 @@ +WordShiftRight: + ; this function shifts HL by B bits to the right + inc b +.asm_1B93 + dec b + ret z + + and a + ld a, h + rra + ld h, a + ld a, l + rra + ld l, a + jp .asm_1B93 \ No newline at end of file diff --git a/SOURCE/common/wrap_up.asm b/SOURCE/common/wrap_up.asm new file mode 100644 index 0000000..157b6ef --- /dev/null +++ b/SOURCE/common/wrap_up.asm @@ -0,0 +1,29 @@ +.asm_1c60 + waita 1 + + LD_HL_IND $00C2 + ld a, l + and $01 + jr z, .asm_1c7c + + ; IS_SOUND_PLAYING 1 + API $08D + dec b ; was this supposed + nop ; to be ld b, $00? + ld e, $01 + ld hl, $0005 ; was this supposed to be $0006? + API $119 + ld a, $01 ; return + EXIT + + jr .asm_1c60 + +.asm_1c7c + LD_HL_IND $00C2 + ld a, l + and $02 + jr z, .asm_1c60 + + IS_SOUND_PLAYING 2 + + jr .asm_1c60 \ No newline at end of file diff --git a/SOURCE/constants/abilities.asm b/SOURCE/constants/abilities.asm new file mode 100644 index 0000000..633fe0c --- /dev/null +++ b/SOURCE/constants/abilities.asm @@ -0,0 +1,518 @@ +ABILITY1 EQU 0 +ABILITY2 EQU 1 +ABILITY3 EQU 2 +ABILITY_HIDDEN EQU ABILITY3 + +BULBASAUR_OVERGROW EQU 0 +IVYSAUR_OVERGROW EQU 0 +VENUSAUR_OVERGROW EQU 0 +CHARMANDER_BLAZE EQU 0 +CHARMELEON_BLAZE EQU 0 +CHARIZARD_BLAZE EQU 0 +SQUIRTLE_TORRENT EQU 0 +WARTORTLE_TORRENT EQU 0 +BLASTOISE_TORRENT EQU 0 +CATERPIE_SHIELD_DUST EQU 0 +METAPOD_SHED_SKIN EQU 0 +BUTTERFREE_COMPOUNDEYES EQU 0 +WEEDLE_SHIELD_DUST EQU 0 +KAKUNA_SHED_SKIN EQU 0 +BEEDRILL_SWARM EQU 0 +PIDGEY_KEEN_EYE EQU 0 +PIDGEOTTO_KEEN_EYE EQU 0 +PIDGEOT_KEEN_EYE EQU 0 +RATTATA_RUN_AWAY EQU 0 +RATTATA_GUTS EQU 1 +RATICATE_RUN_AWAY EQU 0 +RATICATE_GUTS EQU 1 +SPEAROW_KEEN_EYE EQU 0 +FEAROW_KEEN_EYE EQU 0 +EKANS_INTIMIDATE EQU 0 +EKANS_SHED_SKIN EQU 1 +ARBOK_INTIMIDATE EQU 0 +ARBOK_SHED_SKIN EQU 1 +PIKACHU_STATIC EQU 0 +RAICHU_STATIC EQU 0 +SANDSHREW_SAND_VEIL EQU 0 +SANDSLASH_SAND_VEIL EQU 0 +NIDORAN_F_POISON_POINT EQU 0 +NIDORINA_POISON_POINT EQU 0 +NIDOQUEEN_POISON_POINT EQU 0 +NIDORAN_M_POISON_POINT EQU 0 +NIDORINO_POISON_POINT EQU 0 +NIDOKING_POISON_POINT EQU 0 +CLEFAIRY_CUTE_CHARM EQU 0 +CLEFABLE_CUTE_CHARM EQU 0 +VULPIX_FLASH_FIRE EQU 0 +NINETALES_FLASH_FIRE EQU 0 +JIGGLYPUFF_CUTE_CHARM EQU 0 +WIGGLYTUFF_CUTE_CHARM EQU 0 +ZUBAT_INNER_FOCUS EQU 0 +GOLBAT_INNER_FOCUS EQU 0 +ODDISH_CHLOROPHYLL EQU 0 +GLOOM_CHLOROPHYLL EQU 0 +VILEPLUME_CHLOROPHYLL EQU 0 +PARAS_EFFECT_SPORE EQU 0 +PARASECT_EFFECT_SPORE EQU 0 +VENONAT_COMPOUNDEYES EQU 0 +VENOMOTH_SHIELD_DUST EQU 0 +DIGLETT_SAND_VEIL EQU 0 +DIGLETT_ARENA_TRAP EQU 1 +DUGTRIO_SAND_VEIL EQU 0 +DUGTRIO_ARENA_TRAP EQU 1 +MEOWTH_PICKUP EQU 0 +PERSIAN_LIMBER EQU 0 +PSYDUCK_DAMP EQU 0 +PSYDUCK_CLOUD_NINE EQU 1 +GOLDUCK_DAMP EQU 0 +GOLDUCK_CLOUD_NINE EQU 1 +MANKEY_VITAL_SPIRIT EQU 0 +PRIMEAPE_VITAL_SPIRIT EQU 0 +GROWLITHE_INTIMIDATE EQU 0 +GROWLITHE_FLASH_FIRE EQU 1 +ARCANINE_INTIMIDATE EQU 0 +ARCANINE_FLASH_FIRE EQU 1 +POLIWAG_WATER_ABSORB EQU 0 +POLIWAG_DAMP EQU 1 +POLIWHIRL_WATER_ABSORB EQU 0 +POLIWHIRL_DAMP EQU 1 +POLIWRATH_WATER_ABSORB EQU 0 +POLIWRATH_DAMP EQU 1 +ABRA_SYNCHRONIZE EQU 0 +ABRA_INNER_FOCUS EQU 1 +KADABRA_SYNCHRONIZE EQU 0 +KADABRA_INNER_FOCUS EQU 1 +ALAKAZAM_SYNCHRONIZE EQU 0 +ALAKAZAM_INNER_FOCUS EQU 1 +MACHOP_GUTS EQU 0 +MACHOKE_GUTS EQU 0 +MACHAMP_GUTS EQU 0 +BELLSPROUT_CHLOROPHYLL EQU 0 +WEEPINBELL_CHLOROPHYLL EQU 0 +VICTREEBEL_CHLOROPHYLL EQU 0 +TENTACOOL_CLEAR_BODY EQU 0 +TENTACOOL_LIQUID_OOZE EQU 1 +TENTACRUEL_CLEAR_BODY EQU 0 +TENTACRUEL_LIQUID_OOZE EQU 1 +GEODUDE_ROCK_HEAD EQU 0 +GEODUDE_STURDY EQU 1 +GRAVELER_ROCK_HEAD EQU 0 +GRAVELER_STURDY EQU 1 +GOLEM_ROCK_HEAD EQU 0 +GOLEM_STURDY EQU 1 +PONYTA_RUN_AWAY EQU 0 +PONYTA_FLASH_FIRE EQU 1 +RAPIDASH_RUN_AWAY EQU 0 +RAPIDASH_FLASH_FIRE EQU 1 +SLOWPOKE_OBLIVIOUS EQU 0 +SLOWPOKE_OWN_TEMPO EQU 1 +SLOWBRO_OBLIVIOUS EQU 0 +SLOWBRO_OWN_TEMPO EQU 1 +MAGNEMITE_MAGNET_PULL EQU 0 +MAGNEMITE_STURDY EQU 1 +MAGNETON_MAGNET_PULL EQU 0 +MAGNETON_STURDY EQU 1 +FARFETCH_D_KEEN_EYE EQU 0 +FARFETCH_D_INNER_FOCUS EQU 1 +DODUO_RUN_AWAY EQU 0 +DODUO_EARLY_BIRD EQU 1 +DODRIO_RUN_AWAY EQU 0 +DODRIO_EARLY_BIRD EQU 1 +SEEL_THICK_FAT EQU 0 +DEWGONG_THICK_FAT EQU 0 +GRIMER_STENCH EQU 0 +GRIMER_STICKY_HOLD EQU 1 +MUK_STENCH EQU 0 +MUK_STICKY_HOLD EQU 1 +SHELLDER_SHELL_ARMOR EQU 0 +CLOYSTER_SHELL_ARMOR EQU 1 +GASTLY_LEVITATE EQU 0 +HAUNTER_LEVITATE EQU 0 +GENGAR_LEVITATE EQU 0 +ONIX_ROCK_HEAD EQU 0 +ONIX_STURDY EQU 1 +DROWZEE_INSOMNIA EQU 0 +HYPNO_INSOMNIA EQU 0 +KRABBY_HYPER_CUTTER EQU 0 +KRABBY_SHELL_ARMOR EQU 1 +KINGLER_HYPER_CUTTER EQU 0 +KINGLER_SHELL_ARMOR EQU 1 +VOLTORB_SOUNDPROOF EQU 0 +VOLTORB_STATIC EQU 1 +ELECTRODE_SOUNDPROOF EQU 0 +ELECTRODE_STATIC EQU 1 +EXEGGCUTE_CHLOROPHYLL EQU 0 +EXEGGUTOR_CHLOROPHYLL EQU 1 +CUBONE_ROCK_HEAD EQU 0 +CUBONE_LIGHTNINGROD EQU 1 +MAROWAK_ROCK_HEAD EQU 0 +MAROWAK_LIGHTNINGROD EQU 1 +HITMONLEE_LIMBER EQU 0 +HITMONCHAN_KEEN_EYE EQU 0 +LICKITUNG_OWN_TEMPO EQU 0 +LICKITUNG_OBLIVIOUS EQU 1 +KOFFING_LEVITATE EQU 0 +WEEZING_LEVITATE EQU 0 +RHYHORN_LIGHTNINGROD EQU 0 +RHYHORN_ROCK_HEAD EQU 1 +RHYDON_LIGHTNINGROD EQU 0 +RHYDON_ROCK_HEAD EQU 1 +CHANSEY_NATURAL_CURE EQU 0 +CHANSEY_SERENE_GRACE EQU 1 +TANGELA_CHLOROPHYLL EQU 0 +KANGASKHAN_EARLY_BIRD EQU 0 +HORSEA_SWIFT_SWIM EQU 0 +SEADRA_POISON_POINT EQU 0 +GOLDEEN_SWIFT_SWIM EQU 0 +GOLDEEN_WATER_VEIL EQU 1 +SEAKING_SWIFT_SWIM EQU 0 +SEAKING_WATER_VEIL EQU 1 +STARYU_ILLUMINATE EQU 0 +STARYU_NATURAL_CURE EQU 1 +STARMIE_ILLUMINATE EQU 0 +STARMIE_NATURAL_CURE EQU 1 +MR_MIME_SOUNDPROOF EQU 0 +SCYTHER_SWARM EQU 0 +JYNX_OBLIVIOUS EQU 0 +ELECTABUZZ_STATIC EQU 0 +MAGMAR_FLAME_BODY EQU 0 +PINSIR_HYPER_CUTTER EQU 0 +TAUROS_INTIMIDATE EQU 0 +MAGIKARP_SWIFT_SWIM EQU 0 +GYARADOS_INTIMIDATE EQU 0 +LAPRAS_WATER_ABSORB EQU 0 +LAPRAS_SHELL_ARMOR EQU 1 +DITTO_LIMBER EQU 0 +EEVEE_RUN_AWAY EQU 0 +VAPOREON_WATER_ABSORB EQU 0 +JOLTEON_VOLT_ABSORB EQU 0 +FLAREON_FLASH_FIRE EQU 0 +PORYGON_TRACE EQU 0 +OMANYTE_SWIFT_SWIM EQU 0 +OMANYTE_SHELL_ARMOR EQU 1 +OMASTAR_SWIFT_SWIM EQU 0 +OMASTAR_SHELL_ARMOR EQU 1 +KABUTO_SWIFT_SWIM EQU 0 +KABUTO_BATTLE_ARMOR EQU 1 +KABUTOPS_SWIFT_SWIM EQU 0 +KABUTOPS_BATTLE_ARMOR EQU 1 +AERODACTYL_ROCK_HEAD EQU 0 +AERODACTYL_PRESSURE EQU 1 +SNORLAX_IMMUNITY EQU 0 +SNORLAX_THICK_FAT EQU 1 +ARTICUNO_PRESSURE EQU 0 +ZAPDOS_PRESSURE EQU 0 +MOLTRES_PRESSURE EQU 0 +DRATINI_SHED_SKIN EQU 0 +DRAGONAIR_SHED_SKIN EQU 0 +DRAGONITE_INNER_FOCUS EQU 0 +MEWTWO_PRESSURE EQU 0 +MEW_SYNCHRONIZE EQU 0 + +CHIKORITA_OVERGROW EQU 0 +BAYLEEF_OVERGROW EQU 0 +MEGANIUM_OVERGROW EQU 0 +CYNDAQUIL_BLAZE EQU 0 +QUILAVA_BLAZE EQU 0 +TYPHLOSION_BLAZE EQU 0 +TOTODILE_TORRENT EQU 0 +CROCONAW_TORRENT EQU 0 +FERALIGATR_TORRENT EQU 0 +SENTRET_RUN_AWAY EQU 0 +SENTRET_KEEN_EYE EQU 1 +FURRET_RUN_AWAY EQU 0 +FURRET_KEEN_EYE EQU 1 +HOOTHOOT_INSOMNIA EQU 0 +HOOTHOOT_KEEN_EYE EQU 1 +NOCTOWL_INSOMNIA EQU 0 +NOCTOWL_KEEN_EYE EQU 1 +LEDYBA_SWARM EQU 0 +LEDYBA_EARLY_BIRD EQU 1 +LEDIAN_SWARM EQU 0 +LEDIAN_EARLY_BIRD EQU 1 +SPINARAK_SWARM EQU 0 +SPINARAK_INSOMNIA EQU 1 +ARIADOS_SWARM EQU 0 +ARIADOS_INSOMNIA EQU 1 +CROBAT_INNER_FOCUS EQU 0 +CHINCHOU_VOLT_ABSORB EQU 0 +CHINCHOU_ILLUMINATE EQU 1 +LANTURN_VOLT_ABSORB EQU 0 +LANTURN_ILLUMINATE EQU 1 +PICHU_STATIC EQU 0 +CLEFFA_CUTE_CHARM EQU 0 +IGGLYBUFF_CUTE_CHARM EQU 0 +TOGEPI_HUSTLE EQU 0 +TOGEPI_SERENE_GRACE EQU 1 +TOGETIC_HUSTLE EQU 0 +TOGETIC_SERENE_GRACE EQU 1 +NATU_SYNCHRONIZE EQU 0 +NATU_EARLY_BIRD EQU 1 +XATU_SYNCHRONIZE EQU 0 +XATU_EARLY_BIRD EQU 1 +MAREEP_STATIC EQU 0 +FLAAFFY_STATIC EQU 0 +AMPHAROS_STATIC EQU 0 +BELLOSSOM_CHLOROPHYLL EQU 0 +MARILL_THICK_FAT EQU 0 +MARILL_HUGE_POWER EQU 1 +AZUMARILL_THICK_FAT EQU 0 +AZUMARILL_HUGE_POWER EQU 1 +SUDOWOODO_STURDY EQU 0 +SUDOWOODO_ROCK_HEAD EQU 1 +POLITOED_WATER_ABSORB EQU 0 +POLITOED_DAMP EQU 1 +HOPPIP_CHLOROPHYLL EQU 0 +SKIPLOOM_CHLOROPHYLL EQU 0 +JUMPLUFF_CHLOROPHYLL EQU 0 +AIPOM_RUN_AWAY EQU 0 +AIPOM_PICKUP EQU 1 +SUNKERN_CHLOROPHYLL EQU 0 +SUNFLORA_CHLOROPHYLL EQU 0 +YANMA_SPEED_BOOST EQU 0 +YANMA_COMPOUNDEYES EQU 1 +WOOPER_DAMP EQU 0 +WOOPER_WATER_ABSORB EQU 1 +QUAGSIRE_DAMP EQU 0 +QUAGSIRE_WATER_ABSORB EQU 1 +ESPEON_SYNCHRONIZE EQU 0 +UMBREON_SYNCHRONIZE EQU 0 +MURKROW_INSOMNIA EQU 0 +SLOWKING_OBLIVIOUS EQU 0 +SLOWKING_OWN_TEMPO EQU 1 +MISDREAVUS_LEVITATE EQU 0 +UNOWN_LEVITATE EQU 0 +WOBBUFFET_SHADOW_TAG EQU 0 +GIRAFARIG_INNER_FOCUS EQU 0 +GIRAFARIG_EARLY_BIRD EQU 1 +PINECO_STURDY EQU 0 +FORRETRESS_STURDY EQU 0 +DUNSPARCE_SERENE_GRACE EQU 0 +DUNSPARCE_RUN_AWAY EQU 1 +GLIGAR_HYPER_CUTTER EQU 0 +GLIGAR_SAND_VEIL EQU 1 +STEELIX_ROCK_HEAD EQU 0 +STEELIX_STURDY EQU 1 +SNUBBULL_INTIMIDATE EQU 0 +SNUBBULL_RUN_AWAY EQU 1 +GRANBULL_INTIMIDATE EQU 0 +QWILFISH_POISON_POINT EQU 0 +QWILFISH_SWIFT_SWIM EQU 1 +SCIZOR_SWARM EQU 0 +SHUCKLE_STURDY EQU 0 +HERACROSS_SWARM EQU 0 +HERACROSS_GUTS EQU 1 +SNEASEL_INNER_FOCUS EQU 0 +SNEASEL_KEEN_EYE EQU 1 +TEDDIURSA_PICKUP EQU 0 +URSARING_GUTS EQU 0 +SLUGMA_MAGMA_ARMOR EQU 0 +SLUGMA_FLAME_BODY EQU 1 +MAGCARGO_MAGMA_ARMOR EQU 0 +MAGCARGO_FLAME_BODY EQU 1 +SWINUB_OBLIVIOUS EQU 0 +PILOSWINE_OBLIVIOUS EQU 0 +CORSOLA_HUSTLE EQU 0 +CORSOLA_NATURAL_CURE EQU 1 +REMORAID_HUSTLE EQU 0 +OCTILLERY_SUCTION_CUPS EQU 0 +DELIBIRD_VITAL_SPIRIT EQU 0 +DELIBIRD_HUSTLE EQU 1 +MANTINE_SWIFT_SWIM EQU 0 +MANTINE_WATER_ABSORB EQU 1 +SKARMORY_KEEN_EYE EQU 0 +SKARMORY_STURDY EQU 1 +HOUNDOUR_EARLY_BIRD EQU 0 +HOUNDOUR_FLASH_FIRE EQU 1 +HOUNDOOM_EARLY_BIRD EQU 0 +HOUNDOOM_FLASH_FIRE EQU 1 +KINGDRA_SWIFT_SWIM EQU 0 +PHANPY_PICKUP EQU 0 +DONPHAN_STURDY EQU 0 +PORYGON2_TRACE EQU 0 +STANTLER_INTIMIDATE EQU 0 +SMEARGLE_OWN_TEMPO EQU 0 +TYROGUE_GUTS EQU 0 +HITMONTOP_INTIMIDATE EQU 0 +SMOOCHUM_OBLIVIOUS EQU 0 +ELEKID_STATIC EQU 0 +MAGBY_FLAME_BODY EQU 0 +MILTANK_THICK_FAT EQU 0 +BLISSEY_NATURAL_CURE EQU 0 +BLISSEY_SERENE_GRACE EQU 1 +RAIKOU_PRESSURE EQU 0 +ENTEI_PRESSURE EQU 0 +SUICUNE_PRESSURE EQU 0 +LARVITAR_GUTS EQU 0 +PUPITAR_SHED_SKIN EQU 0 +TYRANITAR_SAND_STREAM EQU 0 +LUGIA_PRESSURE EQU 0 +HO_OH_PRESSURE EQU 0 +CELEBI_NATURAL_CURE EQU 0 + +TREECKO_OVERGROW EQU 0 +GROVYLE_OVERGROW EQU 0 +SCEPTILE_OVERGROW EQU 0 +TORCHIC_BLAZE EQU 0 +COMBUSKEN_BLAZE EQU 0 +BLAZIKEN_BLAZE EQU 0 +MUDKIP_TORRENT EQU 0 +MARSHTOMP_TORRENT EQU 0 +SWAMPERT_TORRENT EQU 0 +POOCHYENA_RUN_AWAY EQU 0 +MIGHTYENA_INTIMIDATE EQU 0 +ZIGZAGOON_PICKUP EQU 0 +LINOONE_PICKUP EQU 0 +WURMPLE_SHIELD_DUST EQU 0 +SILCOON_SHED_SKIN EQU 0 +BEAUTIFLY_SWARM EQU 0 +CASCOON_SHED_SKIN EQU 0 +DUSTOX_SHIELD_DUST EQU 0 +LOTAD_SWIFT_SWIM EQU 0 +LOTAD_RAIN_DISH EQU 1 +LOMBRE_SWIFT_SWIM EQU 0 +LOMBRE_RAIN_DISH EQU 1 +LUDICOLO_SWIFT_SWIM EQU 0 +LUDICOLO_RAIN_DISH EQU 1 +SEEDOT_CHLOROPHYLL EQU 0 +SEEDOT_EARLY_BIRD EQU 1 +NUZLEAF_CHLOROPHYLL EQU 0 +NUZLEAF_EARLY_BIRD EQU 1 +SHIFTRY_CHLOROPHYLL EQU 0 +SHIFTRY_EARLY_BIRD EQU 1 +TAILLOW_GUTS EQU 0 +SWELLOW_GUTS EQU 0 +WINGULL_KEEN_EYE EQU 0 +PELIPPER_KEEN_EYE EQU 0 +RALTS_SYNCHRONIZE EQU 0 +RALTS_TRACE EQU 1 +KIRLIA_SYNCHRONIZE EQU 0 +KIRLIA_TRACE EQU 1 +GARDEVOIR_SYNCHRONIZE EQU 0 +GARDEVOIR_TRACE EQU 1 +SURSKIT_SWIFT_SWIM EQU 0 +MASQUERAIN_INTIMIDATE EQU 0 +SHROOMISH_EFFECT_SPORE EQU 0 +BRELOOM_EFFECT_SPORE EQU 0 +SLAKOTH_TRUANT EQU 0 +VIGOROTH_VITAL_SPIRIT EQU 0 +SLAKING_TRUANT EQU 0 +NINCADA_COMPOUNDEYES EQU 0 +NINJASK_SPEED_BOOST EQU 0 +SHEDINJA_WONDER_GUARD EQU 0 +WHISMUR_SOUNDPROOF EQU 0 +LOUDRED_SOUNDPROOF EQU 0 +EXPLOUD_SOUNDPROOF EQU 0 +MAKUHITA_THICK_FAT EQU 0 +MAKUHITA_GUTS EQU 1 +HARIYAMA_THICK_FAT EQU 0 +HARIYAMA_GUTS EQU 1 +AZURILL_THICK_FAT EQU 0 +AZURILL_HUGE_POWER EQU 1 +NOSEPASS_STURDY EQU 0 +NOSEPASS_MAGNET_PULL EQU 1 +SKITTY_CUTE_CHARM EQU 0 +DELCATTY_CUTE_CHARM EQU 0 +SABLEYE_KEEN_EYE EQU 0 +MAWILE_HYPER_CUTTER EQU 0 +MAWILE_INTIMIDATE EQU 1 +ARON_STURDY EQU 0 +ARON_ROCK_HEAD EQU 1 +LAIRON_STURDY EQU 0 +LAIRON_ROCK_HEAD EQU 1 +AGGRON_STURDY EQU 0 +AGGRON_ROCK_HEAD EQU 1 +MEDITITE_PURE_POWER EQU 0 +MEDICHAM_PURE_POWER EQU 0 +ELECTRIKE_STATIC EQU 0 +ELECTRIKE_LIGHTNINGROD EQU 1 +MANECTRIC_STATIC EQU 0 +MANECTRIC_LIGHTNINGROD EQU 1 +PLUSLE_PLUS EQU 0 +MINUN_MINUS EQU 0 +VOLBEAT_ILLUMINATE EQU 0 +VOLBEAT_SWARM EQU 1 +ILLUMISE_OBLIVIOUS EQU 0 +ROSELIA_NATURAL_CURE EQU 0 +ROSELIA_POISON_POINT EQU 1 +GULPIN_LIQUID_OOZE EQU 0 +GULIPN_STICKY_HOLD EQU 1 +SWALOT_LIQUID_OOZE EQU 0 +SWALOT_STICKY_HOLD EQU 1 +CARVANHA_ROUGH_SKIN EQU 0 +SHARPEDO_ROUGH_SKIN EQU 0 +WAILMER_WATER_VEIL EQU 0 +WAILMER_OBLIVIOUS EQU 1 +WAILORD_WATER_VEIL EQU 0 +WAILORD_OBLIVIOUS EQU 1 +NUMEL_OBLIVIOUS EQU 0 +CAMERUPT_MAGMA_ARMOR EQU 0 +TORKOAL_WHITE_SMOKE EQU 0 +SPOINK_THICK_FAT EQU 0 +SPOINK_OWN_TEMPO EQU 1 +GRUMPIG_THICK_FAT EQU 0 +GRUMPIG_OWN_TEMPO EQU 1 +SPINDA_OWN_TEMPO EQU 0 +TRAPINCH_HYPER_CUTTER EQU 0 +TRAPINCH_ARENA_TRAP EQU 1 +VIBRAVA_LEVITATE EQU 0 +FLYGON_LEVITATE EQU 0 +CACNEA_SAND_VEIL EQU 0 +CACTURNE_SAND_VEIL EQU 0 +SWABLU_NATURAL_CURE EQU 0 +ALTARIA_NATURAL_CURE EQU 0 +ZANGOOSE_IMMUNITY EQU 0 +SEVIPER_SHED_SKIN EQU 0 +LUNATONE_LEVITATE EQU 0 +SOLROCK_LEVITATE EQU 0 +BARBOACH_OBLIVIOUS EQU 0 +WHISCASH_OBLIVIOUS EQU 0 +CORPHISH_HYPER_CUTTER EQU 0 +CORPHISH_SHELL_ARMOR EQU 1 +CRAWDAUNT_HYPER_CUTTER EQU 0 +CRAWDAUNT_SHELL_ARMOR EQU 1 +BALTOY_LEVITATE EQU 0 +CLAYDOL_LEVITATE EQU 0 +LILEEP_SUCTION_CUPS EQU 0 +CRADILY_SUCTION_CUPS EQU 0 +ANORITH_BATTLE_ARMOR EQU 0 +ARMALDO_BATTLE_ARMOR EQU 0 +FEEBAS_SWIFT_SWIM EQU 0 +MILOTIC_MARVEL_SCALE EQU 0 +CASTFORM_FORECAST EQU 0 +KECLEON_COLOR_CHANGE EQU 0 +SHUPPET_INSOMNIA EQU 0 +BANETTE_INSOMNIA EQU 0 +DUSKULL_LEVITATE EQU 0 +DUSCLOPS_PRESSURE EQU 0 +TROPIUS_CHLOROPHYLL EQU 0 +CHIMECHO_LEVITATE EQU 0 +ABSOL_PRESSURE EQU 0 +WYNAUT_SHADOW_TAG EQU 0 +SNORUNT_INNER_FOCUS EQU 0 +GLALIE_INNER_FOCUS EQU 0 +SPHEAL_THICK_FAT EQU 0 +SEALEO_THICK_FAT EQU 0 +WALREIN_THICK_FAT EQU 0 +CLAMPERL_SHELL_ARMOR EQU 0 +HUNTAIL_SWIFT_SWIM EQU 0 +GOREBYSS_SWIFT_SWIM EQU 0 +RELICANTH_SWIFT_SWIM EQU 0 +RELICANTH_ROCK_HEAD EQU 1 +LUVDISC_SWIFT_SWIM EQU 0 +BAGON_ROCK_HEAD EQU 0 +SHELGON_ROCK_HEAD EQU 0 +SALAMENCE_INTIMIDATE EQU 0 +BELDUM_CLEAR_BODY EQU 0 +METANG_CLEAR_BODY EQU 0 +METAGROSS_CLEAR_BODY EQU 0 +REGIROCK_CLEAR_BODY EQU 0 +REGICE_CLEAR_BODY EQU 0 +REGISTEEL_CLEAR_BODY EQU 0 +LATIAS_LEVITATE EQU 0 +LATIOS_LEVITATE EQU 0 +KYOGRE_DRIZZLE EQU 0 +GROUDON_DROUGHT EQU 0 +RAYQUAZA_AIR_LOCK EQU 0 +JIRACHI_SERENE_GRACE EQU 0 +DEOXYS_PRESSURE EQU 0 diff --git a/SOURCE/constants/easychat.asm b/SOURCE/constants/easychat.asm new file mode 100644 index 0000000..b2bd144 --- /dev/null +++ b/SOURCE/constants/easychat.asm @@ -0,0 +1,1839 @@ +; POKéMON (Hoenn Pokédex) +_PIKACHU EQU $0019 +_RAICHU EQU $001A +_SANDSHREW EQU $001B +_SANDSLASH EQU $001C +_VULPIX EQU $0025 +_NINETALES EQU $0026 +_JIGGLYPUFF EQU $0027 +_WIGGLYTUFF EQU $0028 +_ZUBAT EQU $0029 +_GOLBAT EQU $002A +_ODDISH EQU $002B +_GLOOM EQU $002C +_VILEPLUME EQU $002D +_PSYDUCK EQU $0036 +_GOLDUCK EQU $0037 +_ABRA EQU $003F +_KADABRA EQU $0040 +_ALAKAZAM EQU $0041 +_MACHOP EQU $0042 +_MACHOKE EQU $0043 +_MACHAMP EQU $0044 +_TENTACOOL EQU $0048 +_TENTACRUEL EQU $0049 +_GEODUDE EQU $004A +_GRAVELER EQU $004B +_GOLEM EQU $004C +_MAGNEMITE EQU $0051 +_MAGNETON EQU $0052 +_DODUO EQU $0054 +_DODRIO EQU $0055 +_GRIMER EQU $0058 +_MUK EQU $0059 +_VOLTORB EQU $0064 +_ELECTRODE EQU $0065 +_KOFFING EQU $006D +_WEEZING EQU $006E +_RHYHORN EQU $006F +_RHYDON EQU $0070 +_HORSEA EQU $0074 +_SEADRA EQU $0075 +_GOLDEEN EQU $0076 +_SEAKING EQU $0077 +_STARYU EQU $0078 +_STARMIE EQU $0079 +_PINSIR EQU $007F +_MAGIKARP EQU $0081 +_GYARADOS EQU $0082 +_CROBAT EQU $00A9 +_CHINCHOU EQU $00AA +_LANTURN EQU $00AB +_PICHU EQU $00AC +_IGGLYBUFF EQU $00AE +_NATU EQU $00B1 +_XATU EQU $00B2 +_BELLOSSOM EQU $00B6 +_MARILL EQU $00B7 +_AZUMARILL EQU $00B8 +_WOBBUFFET EQU $00CA +_GIRAFARIG EQU $00CB +_HERACROSS EQU $00D6 +_SLUGMA EQU $00DA +_MAGCARGO EQU $00DB +_CORSOLA EQU $00DE +_SKARMORY EQU $00E3 +_KINGDRA EQU $00E6 +_PHANPY EQU $00E7 +_DONPHAN EQU $00E8 +_TREECKO EQU $0115 +_GROVYLE EQU $0116 +_SCEPTILE EQU $0117 +_TORCHIC EQU $0118 +_COMBUSKEN EQU $0119 +_BLAZIKEN EQU $011A +_MUDKIP EQU $011B +_MARSHTOMP EQU $011C +_SWAMPERT EQU $011D +_POOCHYENA EQU $011E +_MIGHTYENA EQU $011F +_ZIGZAGOON EQU $0120 +_LINOONE EQU $0121 +_WURMPLE EQU $0122 +_SILCOON EQU $0123 +_BEAUTIFLY EQU $0124 +_CASCOON EQU $0125 +_DUSTOX EQU $0126 +_LOTAD EQU $0127 +_LOMBRE EQU $0128 +_LUDICOLO EQU $0129 +_SEEDOT EQU $012A +_NUZLEAF EQU $012B +_SHIFTRY EQU $012C +_NINCADA EQU $012D +_NINJASK EQU $012E +_SHEDINJA EQU $012F +_TAILLOW EQU $0130 +_SWELLOW EQU $0131 +_SHROOMISH EQU $0132 +_BRELOOM EQU $0133 +_SPINDA EQU $0134 +_WINGULL EQU $0135 +_PELIPPER EQU $0136 +_SURSKIT EQU $0137 +_MASQUERAIN EQU $0138 +_WAILMER EQU $0139 +_WAILORD EQU $013A +_SKITTY EQU $013B +_DELCATTY EQU $013C +_KECLEON EQU $013D +_BALTOY EQU $013E +_CLAYDOL EQU $013F +_NOSEPASS EQU $0140 +_TORKOAL EQU $0141 +_SABLEYE EQU $0142 +_BARBOACH EQU $0143 +_WHISCASH EQU $0144 +_LUVDISC EQU $0145 +_CORPHISH EQU $0146 +_CRAWDAUNT EQU $0147 +_FEEBAS EQU $0148 +_MILOTIC EQU $0149 +_CARVANHA EQU $014A +_SHARPEDO EQU $014B +_TRAPINCH EQU $014C +_VIBRAVA EQU $014D +_FLYGON EQU $014E +_MAKUHITA EQU $014F +_HARIYAMA EQU $0150 +_ELECTRIKE EQU $0151 +_MANECTRIC EQU $0152 +_NUMEL EQU $0153 +_CAMERUPT EQU $0154 +_SPHEAL EQU $0155 +_SEALEO EQU $0156 +_WALREIN EQU $0157 +_CACNEA EQU $0158 +_CACTURNE EQU $0159 +_SNORUNT EQU $015A +_GLALIE EQU $015B +_LUNATONE EQU $015C +_SOLROCK EQU $015D +_AZURILL EQU $015E +_SPOINK EQU $015F +_GRUMPIG EQU $0160 +_PLUSLE EQU $0161 +_MINUN EQU $0162 +_MAWILE EQU $0163 +_MEDITITE EQU $0164 +_MEDICHAM EQU $0165 +_SWABLU EQU $0166 +_ALTARIA EQU $0167 +_WYNAUT EQU $0168 +_DUSKULL EQU $0169 +_DUSCLOPS EQU $016A +_ROSELIA EQU $016B +_SLAKOTH EQU $016C +_VIGOROTH EQU $016D +_SLAKING EQU $016E +_GULPIN EQU $016F +_SWALOT EQU $0170 +_TROPIUS EQU $0171 +_WHISMUR EQU $0172 +_LOUDRED EQU $0173 +_EXPLOUD EQU $0174 +_CLAMPERL EQU $0175 +_HUNTAIL EQU $0176 +_GOREBYSS EQU $0177 +_ABSOL EQU $0178 +_SHUPPET EQU $0179 +_BANETTE EQU $017A +_SEVIPER EQU $017B +_ZANGOOSE EQU $017C +_RELICANTH EQU $017D +_ARON EQU $017E +_LAIRON EQU $017F +_AGGRON EQU $0180 +_CASTFORM EQU $0181 +_VOLBEAT EQU $0182 +_ILLUMISE EQU $0183 +_LILEEP EQU $0184 +_CRADILY EQU $0185 +_ANORITH EQU $0186 +_ARMALDO EQU $0187 +_RALTS EQU $0188 +_KIRLIA EQU $0189 +_GARDEVOIR EQU $018A +_BAGON EQU $018B +_SHELGON EQU $018C +_SALAMENCE EQU $018D +_BELDUM EQU $018E +_METANG EQU $018F +_METAGROSS EQU $0190 +_REGIROCK EQU $0191 +_REGICE EQU $0192 +_REGISTEEL EQU $0193 +_KYOGRE EQU $0194 +_GROUDON EQU $0195 +_RAYQUAZA EQU $0196 +_LATIAS EQU $0197 +_LATIOS EQU $0198 +_JIRACHI EQU $0199 +_DEOXYS EQU $019A +_CHIMECHO EQU $019B + +; TRAINER +I_CHOOSE_YOU EQU $0200 +GOTCHA EQU $0201 +TRADE EQU $0202 +_SAPPHIRE EQU $0203 ; item +EVOLVE EQU $0204 +ENCYCLOPEDIA EQU $0205 +NATURE EQU $0206 +CENTER EQU $0207 +EGG EQU $0208 +LINK EQU $0209 +SP_ABILITY EQU $020A ; SP. ABILITY +TRAINER EQU $020B +VERSION EQU $020C +POKENAV EQU $020D ; POKéNAV +POKEMON EQU $020E ; POKéMON +GET EQU $020F +POKEDEX EQU $0210 ; POKéDEX +_RUBY EQU $0211 ; item +LEVEL EQU $0212 + +; STATUS +DARK EQU $0400 +STENCH EQU $0401 +THICK_FAT EQU $0402 +RAIN_DISH EQU $0403 +DRIZZLE EQU $0404 +ARENA_TRAP EQU $0405 +INTIMIDATE EQU $0406 +ROCK_HEAD EQU $0407 +COLOR EQU $0408 +ALT_COLOR EQU $0409 ; ALT. COLOR +ROCK EQU $040A +BEAUTIFUL EQU $040B +_BEAUTY EQU $040C ; trainer class +AIR_LOCK EQU $040D +_T_PSYCHIC EQU $040E ; trainer class AND move! +HYPER_CUTTER EQU $040F +FIGHTING EQU $0410 +SHADOW_TAG EQU $0411 +SMART EQU $0412 +SMARTNESS EQU $0413 +SPEED_BOOST EQU $0414 +COOL EQU $0415 +COOLNESS EQU $0416 +BATTLE_ARMOR EQU $0417 +CUTE EQU $0418 +CUTENESS EQU $0419 +STURDY EQU $041A +SUCTION_CUPS EQU $041B +GRASS EQU $041C +CLEAR_BODY EQU $041D +TORRENT EQU $041E +GHOST EQU $041F +ICE EQU $0420 +GUTS EQU $0421 +ROUGH_SKIN EQU $0422 +SHELL_ARMOR EQU $0423 +NATURAL_CURE EQU $0424 +DAMP EQU $0425 +GROUND EQU $0426 +LIMBER EQU $0427 +MAGNET_PULL EQU $0428 +WHITE_SMOKE EQU $0429 +SYNCHRONIZE EQU $042A +OVERGROW EQU $042B +SWIFT_SWIM EQU $042C +SAND_STREAM EQU $042D +SAND_VEIL EQU $042E +KEEN_EYE EQU $042F +INNER_FOCUS EQU $0430 +STATIC EQU $0431 +TYPE EQU $0432 +TOUGH EQU $0433 +TOUGHNESS EQU $0434 +SHED_SKIN EQU $0435 +HUGE_POWER EQU $0436 +VOLT_ABSORB EQU $0437 +WATER_ABSORB EQU $0438 +ELECTRIC EQU $0439 +FORECAST EQU $043A +SERENE_GRACE EQU $043B +POISON EQU $043C +POISON_POINT EQU $043D +DRAGON EQU $043E +TRACE EQU $043F +OBLIVIOUS EQU $0440 +TRUANT EQU $0441 +RUN_AWAY EQU $0442 +STICKY_HOLD EQU $0443 +CLOUD_NINE EQU $0444 +NORMAL EQU $0445 +STEEL EQU $0446 +ILLUMINATE EQU $0447 +EARLY_BIRD EQU $0448 +HUSTLE EQU $0449 +SHINE EQU $044A +FLYING EQU $044B +DROUGHT EQU $044C +LIGHTNINGROD EQU $044D +COMPOUNDEYES EQU $044E +MARVEL_SCALE EQU $044F +WONDER_GUARD EQU $0450 +INSOMNIA EQU $0451 +LEVITATE EQU $0452 +PLUS EQU $0453 +PRESSURE EQU $0454 +LIQUID_OOZE EQU $0455 +COLOR_CHANGE EQU $0456 +SOUNDPROOF EQU $0457 +EFFECT_SPORE EQU $0458 +PkRS EQU $0459 +FIRE EQU $045A +FLAME_BODY EQU $045B +MINUS EQU $045C +OWN_TEMPO EQU $045D +MAGMA_ARMOR EQU $045E +WATER EQU $045F +WATER_VEIL EQU $0460 +BUG EQU $0461 +SWARM EQU $0462 +CUTE_CHARM EQU $0463 +IMMUNITY EQU $0464 +BLAZE EQU $0465 +PICKUP EQU $0466 +PATTERN EQU $0467 +FLASH_FIRE EQU $0468 +VITAL_SPIRIT EQU $0469 +CHLOROPHYLL EQU $046A +PURE_POWER EQU $046B +SHIELD_DUST EQU $046C + +; BATTLE +MATCH_UP EQU $0600 +GO EQU $0601 +NO_1 EQU $0602 ; NO. 1 +DECIDE EQU $0603 +LET_ME_WIN EQU $0604 +WINS EQU $0605 +WIN EQU $0606 +WON EQU $0607 +IF_I_WIN EQU $0608 +WHEN_I_WIN EQU $0609 +CAN_T_WIN EQU $060A ; CAN’T WIN +CAN_WIN EQU $060B +NO_MATCH EQU $060C +SPIRIT EQU $060D +DECIDED EQU $060E +TRUMP_CARD EQU $060F +TAKE_THAT EQU $0610 +COME_ON EQU $0611 +ATTACK EQU $0612 +SURRENDER EQU $0613 +GUTSY EQU $0614 +TALENT EQU $0615 +STRATEGY EQU $0616 +SMITE EQU $0617 +MATCH EQU $0618 +VICTORY EQU $0619 +OFFENSIVE EQU $061A +SENSE EQU $061B +VERSUS EQU $061C +FIGHTS EQU $061D +POWER EQU $061E +CHALLENGE EQU $061F +STRONG EQU $0620 +TOO_STRONG EQU $0621 +GO_EASY EQU $0622 +FOE EQU $0623 +GENIUS EQU $0624 +LEGEND EQU $0625 +ESCAPE EQU $0626 +AIM EQU $0627 +BATTLE EQU $0628 +FIGHT EQU $0629 +RESUSCITATE EQU $062A +POINTS EQU $062B +SERIOUS EQU $062C +GIVE_UP EQU $062D +LOSS EQU $062E +IF_I_LOSE EQU $062F +LOST EQU $0630 +LOSE EQU $0631 +GUARD EQU $0632 +PARTNER EQU $0633 +REJECT EQU $0634 +ACCEPT EQU $0635 +INVINCIBLE EQU $0636 +RECEIVED EQU $0637 +EASY EQU $0638 +WEAK EQU $0639 +TOO_WEAK EQU $063A +PUSHOVER EQU $063B +_LEADER EQU $063C ; trainer class +RULE EQU $063D +MOVE EQU $063E + +; GREETINGS +THANKS EQU $0800 +YES EQU $0801 +HERE_GOES EQU $0802 +HERE_I_COME EQU $0803 +HERE_IT_IS EQU $0804 +YEAH EQU $0805 +WELCOME EQU $0806 +OI EQU $0807 +HOW_DO EQU $0808 +CONGRATS EQU $0809 +GIVE_ME EQU $080A +SORRY EQU $080B +APOLOGIZE EQU $080C +FORGIVE EQU $080D +HEY_THERE EQU $080E ; HEY, THERE +HELLO EQU $080F +GOOD_BYE EQU $0810 ; GOOD-BYE +THANK_YOU EQU $0811 +I_VE_ARRIVED EQU $0812 ; I’VE ARRIVED +PARDON EQU $0813 +EXCUSE EQU $0814 +SEE_YA EQU $0815 +EXCUSE_ME EQU $0816 +WELL_THEN EQU $0817 ; WELL, THEN +GO_AHEAD EQU $0818 +APPRECIATE EQU $0819 +HEY_ EQU $081A ; HEY? +WHAT_S_UP_ EQU $081B ; WHAT’S UP? +HUH_ EQU $081C ; HUH? +NO EQU $081D +HI EQU $081E +YEAH_YEAH EQU $081F ; YEAH, YEAH +BYE_BYE EQU $0820 ; BYE-BYE +MEET_YOU EQU $0821 +HEY EQU $0822 +SMELL EQU $0823 +LISTENING EQU $0824 +HOO_HAH EQU $0825 ; HOO-HAH +YAHOO EQU $0826 +YO EQU $0827 +COME_OVER EQU $0828 +COUNT_ON EQU $0829 + +; PEOPLE +OPPONENT EQU $0A00 +I EQU $0A01 +YOU EQU $0A02 +YOURS EQU $0A03 +SON EQU $0A04 +YOUR EQU $0A05 +YOU_RE EQU $0A06 ; YOU’RE +YOU_VE EQU $0A07 ; YOU’VE +MOTHER EQU $0A08 +GRANDFATHER EQU $0A09 +UNCLE EQU $0A0A +FATHER EQU $0A0B +BOY EQU $0A0C +ADULT EQU $0A0D +BROTHER EQU $0A0E +SISTER EQU $0A0F +GRANDMOTHER EQU $0A10 +AUNT EQU $0A11 +PARENT EQU $0A12 +MAN EQU $0A13 +ME EQU $0A14 +GIRL EQU $0A15 +BABE EQU $0A16 +FAMILY EQU $0A17 +HER EQU $0A18 +HIM EQU $0A19 +HE EQU $0A1A +PLACE EQU $0A1B +DAUGHTER EQU $0A1C +HIS EQU $0A1D +HE_S EQU $0A1E ; HE’S +AREN_T EQU $0A1F ; AREN’T +SIBLINGS EQU $0A20 +KID EQU $0A21 +CHILDREN EQU $0A22 +MR_ EQU $0A23 ; MR. +MRS_ EQU $0A24 ; MRS. +MYSELF EQU $0A25 +I_WAS EQU $0A26 +TO_ME EQU $0A27 +MY EQU $0A28 +I_AM EQU $0A29 +I_VE EQU $0A2A ; I’VE +WHO EQU $0A2B +SOMEONE EQU $0A2C +WHO_WAS EQU $0A2D +TO_WHOM EQU $0A2E +WHOSE EQU $0A2F +WHO_IS EQU $0A30 +IT_S EQU $0A31 ; IT’S +_LADY EQU $0A32 ; trainer class +FRIEND EQU $0A33 +ALLY EQU $0A34 +PERSON EQU $0A35 +DUDE EQU $0A36 +THEY EQU $0A37 +THEY_WERE EQU $0A38 +TO_THEM EQU $0A39 +THEIR EQU $0A3A +THEY_RE EQU $0A3B ; THEY’RE +THEY_VE EQU $0A3C ; THEY’VE +WE EQU $0A3D +BEEN EQU $0A3E +TO_US EQU $0A3F +OUR EQU $0A40 +WE_RE EQU $0A41 ; WE’RE +RIVAL EQU $0A42 +WE_VE EQU $0A43 ; WE’VE +WOMAN EQU $0A44 +SHE EQU $0A45 +SHE_WAS EQU $0A46 +TO_HER EQU $0A47 +HER_S EQU $0A48 ; HER’S +SHE_IS EQU $0A49 +SOME EQU $0A4A + +; VOICES +_EX EQU $0C00 ; ! +_EX_EX EQU $0C01 ; !! +_QU_EX EQU $0C02 ; ?! +_QU EQU $0C03 ; ? +_ELIP EQU $0C04 ; … +_ELIP_EX EQU $0C05 ; …! +_ELIP3 EQU $0C06 ; ……… +_HYPHEN EQU $0C07 ; - +_HYPHEN3 EQU $0C08 ; - - - +UH_OH EQU $0C09 ; UH-OH +WAAAH EQU $0C0A +AHAHA EQU $0C0B +OH_ EQU $0C0C ; OH? +NOPE EQU $0C0D +URGH EQU $0C0E +HMM EQU $0C0F +WHOAH EQU $0C10 +WROOOAAR_ EQU $0C11 ; WROOOAAR! +WOW EQU $0C12 +GIGGLE EQU $0C13 +SIGH EQU $0C14 +UNBELIEVABLE EQU $0C15 +CRIES EQU $0C16 +AGREE EQU $0C17 +EH_ EQU $0C18 ; EH? +CRY EQU $0C19 +EHEHE EQU $0C1A +OI_OI_OI EQU $0C1B ; OI, OI, OI +OH_YEAH EQU $0C1C ; OH, YEAH +OH EQU $0C1D +OOPS EQU $0C1E +SHOCKED EQU $0C1F +EEK EQU $0C20 +GRAAAH EQU $0C21 +GWAHAHAHA EQU $0C22 +WAY EQU $0C23 +TCH EQU $0C24 +HEHE EQU $0C25 +HAH EQU $0C26 +YUP EQU $0C27 +HAHAHA EQU $0C28 +AIYEEH EQU $0C29 +HIYAH EQU $0C2A +FUFUFU EQU $0C2B +LOL EQU $0C2C +SNORT EQU $0C2D +HUMPH EQU $0C2E +HEHEHE EQU $0C2F +HEH EQU $0C30 +HOHOHO EQU $0C31 +UH_HUH EQU $0C32 ; UH-HUH +OH_DEAR EQU $0C33 ; OH, DEAR +ARRGH EQU $0C34 +MUFUFU EQU $0C35 +MMM EQU $0C36 +OH_KAY EQU $0C37 ; OH-KAY +OKAY EQU $0C38 +LALALA EQU $0C39 +YAY EQU $0C3A +AWW EQU $0C3B +WOWEE EQU $0C3C +GWAH EQU $0C3D +WAHAHAHA EQU $0C3E + +; SPEECH +LISTEN EQU $0E00 +NOT_VERY EQU $0E01 +MEAN EQU $0E02 +LIE EQU $0E03 +LAY EQU $0E04 +RECOMMEND EQU $0E05 +NITWIT EQU $0E06 +QUITE EQU $0E07 +FROM EQU $0E08 +FEELING EQU $0E09 +BUT EQU $0E0A +HOWEVER EQU $0E0B +CASE EQU $0E0C +THE EQU $0E0D +MISS EQU $0E0E +HOW EQU $0E0F +HIT EQU $0E10 +ENOUGH EQU $0E11 +A_LOT EQU $0E12 +A_LITTLE EQU $0E13 +ABSOLUTELY EQU $0E14 +_AND EQU $0E15 ; rgbds keyword +ONLY EQU $0E16 +AROUND EQU $0E17 +PROBABLY EQU $0E18 +_IF EQU $0E19 ; rgbds keyword +VERY EQU $0E1A +A_TINY_BIT EQU $0E1B +WILD EQU $0E1C +THAT_S EQU $0E1D +JUST EQU $0E1E +EVEN_SO_ EQU $0E1F ; EVEN SO, +MUST_BE EQU $0E20 +NATURALLY EQU $0E21 +FOR_NOW_ EQU $0E22 ; FOR NOW, +UNDERSTOOD EQU $0E23 +JOKING EQU $0E24 +READY EQU $0E25 +SOMETHING EQU $0E26 +SOMEHOW EQU $0E27 +ALTHOUGH EQU $0E28 +ALSO EQU $0E29 +PERFECT EQU $0E2A +AS_MUCH_AS EQU $0E2B +REALLY EQU $0E2C +TRULY EQU $0E2D +SERIOUSLY EQU $0E2E +TOTALLY EQU $0E2F +UNTIL EQU $0E30 +AS_IF EQU $0E31 +MOOD EQU $0E32 +RATHER EQU $0E33 +AWFULLY EQU $0E34 +MODE EQU $0E35 +MORE EQU $0E36 +TOO_LATE EQU $0E37 +FINALLY EQU $0E38 +ANY EQU $0E39 +INSTEAD EQU $0E3A +FANTASTIC EQU $0E3B + +; ENDINGS +WILL EQU $1000 +WILL_BE_HERE EQU $1001 +_OR EQU $1002 ; rgbds keyword +TIMES EQU $1003 +WONDER EQU $1004 +IS_IT_ EQU $1005 ; IS IT? +BE EQU $1006 +GIMME EQU $1007 +COULD EQU $1008 +LIKELY_TO EQU $1009 +WOULD EQU $100A +IS EQU $100B +ISN_T_IT_ EQU $100C ; ISN’T IT? +LET_S EQU $100D ; LET’S +OTHER EQU $100E +ARE EQU $100F +WAS EQU $1010 +WERE EQU $1011 +THOSE EQU $1012 +ISN_T EQU $1013 ; ISN’T +WON_T EQU $1014 ; WON’T +CAN_T EQU $1015 ; CAN’T +CAN EQU $1016 +DON_T EQU $1017 ; DON’T +DO EQU $1018 +DOES EQU $1019 +WHOM EQU $101A +WHICH EQU $101B +WASN_T EQU $101C ; WASN’T +WEREN_T EQU $101D ; WEREN’T +HAVE EQU $101E +HAVEN_T EQU $101F ; HAVEN’T +_A EQU $1020 ; rgbds keyword +AN EQU $1021 +NOT EQU $1022 +THERE EQU $1023 +OK_ EQU $1024 ; OK? +SO EQU $1025 +MAYBE EQU $1026 +ABOUT EQU $1027 +OVER EQU $1028 +IT EQU $1029 +ALL EQU $102A +FOR EQU $102B +ON EQU $102C +OFF EQU $102D +AS EQU $102E +TO EQU $102F +WITH EQU $1030 +BETTER EQU $1031 +EVER EQU $1032 +SINCE EQU $1033 +OF EQU $1034 +BELONGS_TO EQU $1035 +AT EQU $1036 +IN EQU $1037 +OUT EQU $1038 +TOO EQU $1039 +LIKE EQU $103A +DID EQU $103B +DIDN_T EQU $103C ; DIDN’T +DOESN_T EQU $103D ; DOESN’T +WITHOUT EQU $103E +AFTER EQU $103F +BEFORE EQU $1040 +WHILE EQU $1041 +THAN EQU $1042 +ONCE EQU $1043 +ANYWHERE EQU $1044 + +; FEELINGS +MEET EQU $1200 +PLAY EQU $1201 +HURRIED EQU $1202 +GOES EQU $1203 +GIDDY EQU $1204 +HAPPY EQU $1205 +HAPPINESS EQU $1206 +EXCITE EQU $1207 +IMPORTANT EQU $1208 +FUNNY EQU $1209 +GOT EQU $120A +GO_HOME EQU $120B +DISAPPOINTED EQU $120C +DISAPPOINTS EQU $120D +SAD EQU $120E +TRY EQU $120F +TRIES EQU $1210 +HEARS EQU $1211 +THINK EQU $1212 +HEAR EQU $1213 +WANTS EQU $1214 +MISHEARD EQU $1215 +DISLIKE EQU $1216 +ANGRY EQU $1217 +ANGER EQU $1218 +SCARY EQU $1219 +LONESOME EQU $121A +DISAPPOINT EQU $121B +JOY EQU $121C +GETS EQU $121D +NEVER EQU $121E +DARN EQU $121F +DOWNCAST EQU $1220 +INCREDIBLE EQU $1221 +LIKES EQU $1222 +DISLIKES EQU $1223 +BORING EQU $1224 +CARE EQU $1225 +CARES EQU $1226 +ALL_RIGHT EQU $1227 +ADORE EQU $1228 +DISASTER EQU $1229 +ENJOY EQU $122A +ENJOYS EQU $122B +EAT EQU $122C +LACKING EQU $122D +BAD EQU $122E +HARD EQU $122F +TERRIBLE EQU $1230 +SHOULD EQU $1231 +NICE EQU $1232 +DRINK EQU $1233 +SURPRISE EQU $1234 +FEAR EQU $1235 +WANT EQU $1236 +WAIT EQU $1237 +SATISFIED EQU $1238 +SEE EQU $1239 +RARE EQU $123A +NEGATIVE EQU $123B +DONE EQU $123C +DANGER EQU $123D +DEFEATED EQU $123E +BEAT EQU $123F +GREAT EQU $1240 +ROMANTIC EQU $1241 +QUESTION EQU $1242 +UNDERSTAND EQU $1243 +UNDERSTANDS EQU $1244 + +; CONDITIONS +HOT EQU $1400 +EXISTS EQU $1401 +EXCESS EQU $1402 +APPROVED EQU $1403 +HAS EQU $1404 +GOOD EQU $1405 +LESS EQU $1406 +MOMENTUM EQU $1407 +GOING EQU $1408 +WEIRD EQU $1409 +BUSY EQU $140A +TOGETHER EQU $140B +FULL EQU $140C +ABSENT EQU $140D +BEING EQU $140E +NEED EQU $140F +TASTY EQU $1410 +SKILLED EQU $1411 +NOISY EQU $1412 +BIG EQU $1413 +LATE EQU $1414 +CLOSE EQU $1415 +DOCILE EQU $1416 +AMUSING EQU $1417 +ENTERTAINING EQU $1418 +PERFECTION EQU $1419 +PRETTY EQU $141A +HEALTHY EQU $141B +EXCELLENT EQU $141C +UPSIDE_DOWN EQU $141D +COLD EQU $141E +REFRESHING EQU $141F +UNAVOIDABLE EQU $1420 +MUCH EQU $1421 +OVERWHELMING EQU $1422 +FABULOUS EQU $1423 +_ELSE EQU $1424 ; rgbds keyword +EXPENSIVE EQU $1425 +CORRECT EQU $1426 +IMPOSSIBLE EQU $1427 +SMALL EQU $1428 +DIFFERENT EQU $1429 +TIRED EQU $142A +SKILL EQU $142B +TOP EQU $142C +NON_STOP EQU $142D ; NON-STOP +PREPOSTEROUS EQU $142E +NONE EQU $142F +NOTHING EQU $1430 +NATURAL EQU $1431 +BECOMES EQU $1432 +LUKEWARM EQU $1433 +FAST EQU $1434 +LOW EQU $1435 +AWFUL EQU $1436 +ALONE EQU $1437 +BORED EQU $1438 +SECRET EQU $1439 +MYSTERY EQU $143A +LACKS EQU $143B +BEST EQU $143C +LOUSY EQU $143D +MISTAKE EQU $143E +KIND EQU $143F +WELL EQU $1440 +WEAKENED EQU $1441 +SIMPLE EQU $1442 +SEEMS EQU $1443 +BADLY EQU $1444 + +; ACTIONS +MEETS EQU $1600 +CONCEDE EQU $1601 +GIVE EQU $1602 +GIVES EQU $1603 +PLAYED EQU $1604 +PLAYS EQU $1605 +COLLECT EQU $1606 +WALKING EQU $1607 +WALKS EQU $1608 +SAYS EQU $1609 +WENT EQU $160A +SAID EQU $160B +WAKE_UP EQU $160C +WAKES_UP EQU $160D +ANGERS EQU $160E +TEACH EQU $160F +TEACHES EQU $1610 +PLEASE EQU $1611 +LEARN EQU $1612 +CHANGE EQU $1613 +STORY EQU $1614 +TRUST EQU $1615 +LAVISH EQU $1616 +LISTENS EQU $1617 +HEARING EQU $1618 +TRAINS EQU $1619 +CHOOSE EQU $161A +COME EQU $161B +CAME EQU $161C +SEARCH EQU $161D +MAKE EQU $161E +CAUSE EQU $161F +KNOW EQU $1620 +KNOWS EQU $1621 +REFUSE EQU $1622 +STORES EQU $1623 +BRAG EQU $1624 +IGNORANT EQU $1625 +THINKS EQU $1626 +BELIEVE EQU $1627 +SLIDE EQU $1628 +EATS EQU $1629 +USE EQU $162A +USES EQU $162B +USING EQU $162C +COULDN_T EQU $162D ; COULDN’T +CAPABLE EQU $162E +DISAPPEAR EQU $162F +APPEAR EQU $1630 +THROW EQU $1631 +WORRY EQU $1632 +SLEPT EQU $1633 +SLEEP EQU $1634 +RELEASE EQU $1635 +DRINKS EQU $1636 +RUNS EQU $1637 +RUN EQU $1638 +WORKS EQU $1639 +WORKING EQU $163A +TALKING EQU $163B +TALK EQU $163C +SINK EQU $163D +SMACK EQU $163E +PRETEND EQU $163F +PRAISE EQU $1640 +OVERDO EQU $1641 +SHOW EQU $1642 +LOOKS EQU $1643 +SEES EQU $1644 +SEEK EQU $1645 +OWN EQU $1646 +TAKE EQU $1647 +ALLOW EQU $1648 +FORGET EQU $1649 +FORGETS EQU $164A +APPEARS EQU $164B +FAINT EQU $164C +FAINTED EQU $164D + +; LIFESTYLE +CHORES EQU $1800 +_HOME EQU $1801 ; rgbds keyword +MONEY EQU $1802 +ALLOWANCE EQU $1803 +BATH EQU $1804 +CONVERSATION EQU $1805 +SCHOOL EQU $1806 +COMMEMORATE EQU $1807 +HABIT EQU $1808 +GROUP EQU $1809 +WORD EQU $180A +STORE EQU $180B +SERVICE EQU $180C +WORK EQU $180D +SYSTEM EQU $180E +TRAIN EQU $180F +CLASS EQU $1810 +LESSONS EQU $1811 +INFORMATION EQU $1812 +LIVING EQU $1813 +TEACHER EQU $1814 +TOURNAMENT EQU $1815 +_LETTER EQU $1816 ; item +EVENT EQU $1817 +DIGITAL EQU $1818 +TEST EQU $1819 +DEPT_STORE EQU $181A ; DEPT. STORE +TELEVISION EQU $181B +PHONE EQU $181C +ITEM EQU $181D +NAME EQU $181E +NEWS EQU $181F +POPULAR EQU $1820 +PARTY EQU $1821 +STUDY EQU $1822 +MACHINE EQU $1823 +MAIL EQU $1824 +MESSAGE EQU $1825 +PROMISE EQU $1826 +DREAM EQU $1827 +KINDERGARTEN EQU $1828 +LIFE EQU $1829 +RADIO EQU $182A +RENTAL EQU $182B +WORLD EQU $182C + +; HOBBIES +IDOL EQU $1A00 +ANIME EQU $1A01 +SONG EQU $1A02 +MOVIE EQU $1A03 +SWEETS EQU $1A04 +CHAT EQU $1A05 +CHILD_S_PLAY EQU $1A06 +TOYS EQU $1A07 +MUSIC EQU $1A08 +CARDS EQU $1A09 +SHOPPING EQU $1A0A +CAMERA EQU $1A0B +VIEWING EQU $1A0C +SPECTATOR EQU $1A0D +GOURMET EQU $1A0E +GAME EQU $1A0F +RPG EQU $1A10 +COLLECTION EQU $1A11 +COMPLETE EQU $1A12 +MAGAZINE EQU $1A13 +WALK EQU $1A14 +BIKE EQU $1A15 +HOBBY EQU $1A16 +SPORTS EQU $1A17 +SOFTWARE EQU $1A18 +SONGS EQU $1A19 +DIET EQU $1A1A +TREASURE EQU $1A1B +TRAVEL EQU $1A1C +DANCE EQU $1A1D +CHANNEL EQU $1A1E +MAKING EQU $1A1F +FISHING EQU $1A20 +DATE EQU $1A21 +DESIGN EQU $1A22 +LOCOMOTIVE EQU $1A23 +PLUSH_DOLL EQU $1A24 +PC EQU $1A25 +FLOWERS EQU $1A26 +HERO EQU $1A27 +NAP EQU $1A28 +HEROINE EQU $1A29 +FASHION EQU $1A2A +ADVENTURE EQU $1A2B +BOARD EQU $1A2C +BALL EQU $1A2D +BOOK EQU $1A2E +FESTIVAL EQU $1A2F +COMICS EQU $1A30 +HOLIDAY EQU $1A31 +PLANS EQU $1A32 +TRENDY EQU $1A33 +VACATION EQU $1A34 +LOOK EQU $1A35 + +; TIME +FALL EQU $1C00 +MORNING EQU $1C01 +TOMORROW EQU $1C02 +LAST EQU $1C03 +DAY EQU $1C04 +SOMETIME EQU $1C05 +ALWAYS EQU $1C06 +CURRENT EQU $1C07 +FOREVER EQU $1C08 +DAYS EQU $1C09 +END EQU $1C0A +TUESDAY EQU $1C0B +YESTERDAY EQU $1C0C +TODAY EQU $1C0D +FRIDAY EQU $1C0E +MONDAY EQU $1C0F +LATER EQU $1C10 +EARLIER EQU $1C11 +ANOTHER EQU $1C12 +TIME EQU $1C13 +FINISH EQU $1C14 +WEDNESDAY EQU $1C15 +SOON EQU $1C16 +START EQU $1C17 +MONTH EQU $1C18 +_STOP EQU $1C19 ; rgbds keyword +NOW EQU $1C1A +FINAL EQU $1C1B +NEXT EQU $1C1C +AGE EQU $1C1D +SATURDAY EQU $1C1E +SUMMER EQU $1C1F +SUNDAY EQU $1C20 +BEGINNING EQU $1C21 +SPRING EQU $1C22 +DAYTIME EQU $1C23 +WINTER EQU $1C24 +DAILY EQU $1C25 +OLDEN EQU $1C26 +ALMOST EQU $1C27 +NEARLY EQU $1C28 +THURSDAY EQU $1C29 +NIGHTTIME EQU $1C2A +NIGHT EQU $1C2B +WEEK EQU $1C2C + +; MISC. +HIGHS EQU $1E00 +LOWS EQU $1E01 +UM EQU $1E02 +REAR EQU $1E03 +THINGS EQU $1E04 +THING EQU $1E05 +BELOW EQU $1E06 +ABOVE EQU $1E07 +BACK EQU $1E08 +HIGH EQU $1E09 +HERE EQU $1E0A +INSIDE EQU $1E0B +OUTSIDE EQU $1E0C +BESIDE EQU $1E0D +THIS_IS_IT_ EQU $1E0E ; THIS IS IT! +THIS EQU $1E0F +EVERY EQU $1E10 +THESE EQU $1E11 +THESE_WERE EQU $1E12 +DOWN EQU $1E13 +THAT EQU $1E14 +THOSE_ARE EQU $1E15 +THOSE_WERE EQU $1E16 +THAT_S_IT_ EQU $1E17 ; THAT’S IT! +AM EQU $1E18 +THAT_WAS EQU $1E19 +FRONT EQU $1E1A +UP EQU $1E1B +CHOICE EQU $1E1C +FAR EQU $1E1D +AWAY EQU $1E1E +NEAR EQU $1E1F +WHERE EQU $1E20 +WHEN EQU $1E21 +WHAT EQU $1E22 +DEEP EQU $1E23 +SHALLOW EQU $1E24 +WHY EQU $1E25 +CONFUSED EQU $1E26 +OPPOSITE EQU $1E27 +LEFT EQU $1E28 +RIGHT EQU $1E29 + +; ADJECTIVES +WANDERING EQU $2000 +RICKETY EQU $2001 +ROCK_SOLID EQU $2002 ; ROCK-SOLID +HUNGRY EQU $2003 +TIGHT EQU $2004 +TICKLISH EQU $2005 +TWIRLING EQU $2006 +SPIRALING EQU $2007 +THIRSTY EQU $2008 +LOLLING EQU $2009 +SILKY EQU $200A +SADLY EQU $200B +HOPELESS EQU $200C +USELESS EQU $200D +DROOLING EQU $200E +EXCITING EQU $200F +THICK EQU $2010 +SMOOTH EQU $2011 +SLIMY EQU $2012 +THIN EQU $2013 +BREAK EQU $2014 +VORACIOUS EQU $2015 +SCATTER EQU $2016 +AWESOME EQU $2017 +WIMPY EQU $2018 +WOBBLY EQU $2019 +SHAKY EQU $201A +RIPPED EQU $201B +SHREDDED EQU $201C +INCREASING EQU $201D +YET EQU $201E +DESTROYED EQU $201F +FIERY EQU $2020 +LOVEY_DOVEY EQU $2021 +HAPPILY EQU $2022 +ANTICIPATION EQU $2023 + +; EVENT +APPEAL EQU $2200 +EVENTS EQU $2201 +STAY_AT_HOME EQU $2202 ; STAY-AT-HOME +BERRY EQU $2203 +CONTEST EQU $2204 +MC EQU $2205 +JUDGE EQU $2206 +SUPER EQU $2207 +STAGE EQU $2208 +HALL_OF_FAME EQU $2209 +EVOLUTION EQU $220A +HYPER EQU $220B +BATTLE_TOWER EQU $220C +LEADERS EQU $220D +BATTLE_ROOM EQU $220E +HIDDEN EQU $220F +SECRET_BASE EQU $2210 +BLEND EQU $2211 +POKEBLOCK EQU $2212 ; \{POKéBLOCK} +MASTER EQU $2213 +RANK EQU $2214 +RIBBON EQU $2215 + +; MOVE 1 +_KARATE_CHOP EQU $2402 +_DOUBLESLAP EQU $2403 +_THUNDERPUNCH EQU $2409 +_RAZOR_WIND EQU $240D +_CUT EQU $240F +_GUST EQU $2410 +_FLY EQU $2413 +_BIND EQU $2414 +_SAND_ATTACK EQU $241C +_HEADBUTT EQU $241D +_THRASH EQU $2425 +_DOUBLE_EDGE EQU $2426 +_TAIL_WHIP EQU $2427 +_BITE EQU $242C +_SING EQU $242F +_SONICBOOM EQU $2431 +_DISABLE EQU $2432 +_FLAMETHROWER EQU $2435 +_MIST EQU $2436 +_PSYBEAM EQU $243C +_AURORA_BEAM EQU $243E +_SUBMISSION EQU $2442 +_LOW_KICK EQU $2443 +_COUNTER EQU $2444 +_STRENGTH EQU $2446 +_ABSORB EQU $2447 +_GROWTH EQU $244A +_SOLARBEAM EQU $244C +_STUN_SPORE EQU $244E +_STRING_SHOT EQU $2451 +_THUNDERBOLT EQU $2455 +_THUNDER EQU $2457 +_ROCK_THROW EQU $2458 +_EARTHQUAKE EQU $2459 +_FISSURE EQU $245A +_DIG EQU $245B +_PSYCHIC EQU $245E +_HYPNOSIS EQU $245F +_AGILITY EQU $2461 +_RAGE EQU $2463 +_SCREECH EQU $2467 +_DOUBLE_TEAM EQU $2468 +_RECOVER EQU $2469 +_HARDEN EQU $246A +_SMOKESCREEN EQU $246C +_CONFUSE_RAY EQU $246D +_WITHDRAW EQU $246E +_HAZE EQU $2472 +_FOCUS_ENERGY EQU $2474 +_BIDE EQU $2475 +_MIRROR_MOVE EQU $2477 +_SELFDESTRUCT EQU $2478 +_LICK EQU $247A +_SMOG EQU $247B +_CLAMP EQU $2480 +_SWIFT EQU $2481 +_CONSTRICT EQU $2484 +_KINESIS EQU $2486 +_LEECH_LIFE EQU $248D +_LOVELY_KISS EQU $248E +_SKY_ATTACK EQU $248F +_BUBBLE EQU $2491 +_SPORE EQU $2493 +_PSYWAVE EQU $2495 +_CRABHAMMER EQU $2498 +_ROCK_SLIDE EQU $249D +_SHARPEN EQU $249F +_SUPER_FANG EQU $24A2 +_SLASH EQU $24A3 +_SKETCH EQU $24A6 +_SPIDER_WEB EQU $24A9 +_MIND_READER EQU $24AA +_NIGHTMARE EQU $24AB +_FLAME_WHEEL EQU $24AC +_SNORE EQU $24AD +_FLAIL EQU $24AF +_AEROBLAST EQU $24B1 +_REVERSAL EQU $24B3 +_SPITE EQU $24B4 +_POWDER_SNOW EQU $24B5 +_SCARY_FACE EQU $24B8 +_OCTAZOOKA EQU $24BE +_ICY_WIND EQU $24C4 +_OUTRAGE EQU $24C8 +_SANDSTORM EQU $24C9 +_GIGA_DRAIN EQU $24CA +_ENDURE EQU $24CB +_CHARM EQU $24CC +_ROLLOUT EQU $24CD +_SWAGGER EQU $24CF +_SPARK EQU $24D1 +_MEAN_LOOK EQU $24D4 +_HEAL_BELL EQU $24D7 +_RETURN EQU $24D8 +_SAFEGUARD EQU $24DB +_PAIN_SPLIT EQU $24DC +_SACRED_FIRE EQU $24DD +_ENCORE EQU $24E3 +_PURSUIT EQU $24E4 +_RAPID_SPIN EQU $24E5 +_SWEET_SCENT EQU $24E6 +_IRON_TAIL EQU $24E7 +_VITAL_THROW EQU $24E9 +_MORNING_SUN EQU $24EA +_SYNTHESIS EQU $24EB +_CROSS_CHOP EQU $24EE +_RAIN_DANCE EQU $24F0 +_CRUNCH EQU $24F2 +_PSYCH_UP EQU $24F4 +_EXTREMESPEED EQU $24F5 +_ANCIENTPOWER EQU $24F6 +_SHADOW_BALL EQU $24F7 +_ROCK_SMASH EQU $24F9 +_WHIRLPOOL EQU $24FA +_UPROAR EQU $24FD +_HAIL EQU $2502 +_TORMENT EQU $2503 +_FLATTER EQU $2504 +_WILL_O_WISP EQU $2505 +_MEMENTO EQU $2506 +_FACADE EQU $2507 +_FOCUS_PUNCH EQU $2508 +_SMELLINGSALT EQU $2509 +_FOLLOW_ME EQU $250A +_NATURE_POWER EQU $250B +_CHARGE EQU $250C +_BRICK_BREAK EQU $2518 +_YAWN EQU $2519 +_ENDEAVOR EQU $251B +_SKILL_SWAP EQU $251D +_GRUDGE EQU $2520 +_ICE_BALL EQU $252D +_METEOR_MASH EQU $2535 +_ASTONISH EQU $2536 +_WEATHER_BALL EQU $2537 +_AROMATHERAPY EQU $2538 +_FAKE_TEARS EQU $2539 +_AIR_CUTTER EQU $253A +_OVERHEAT EQU $253B +_ODOR_SLEUTH EQU $253C +_ROCK_TOMB EQU $253D +_SILVER_WIND EQU $253E +_METAL_SOUND EQU $253F +_GRASSWHISTLE EQU $2540 +_TICKLE EQU $2541 +_COSMIC_POWER EQU $2542 +_WATER_SPOUT EQU $2543 +_SIGNAL_BEAM EQU $2544 +_SHADOW_PUNCH EQU $2545 +_EXTRASENSORY EQU $2546 +_SKY_UPPERCUT EQU $2547 +_SAND_TOMB EQU $2548 +_SHEER_COLD EQU $2549 + +; MOVE 2 +_POUND EQU $2601 +_COMET_PUNCH EQU $2604 +_MEGA_PUNCH EQU $2605 +_PAY_DAY EQU $2606 +_FIRE_PUNCH EQU $2607 +_ICE_PUNCH EQU $2608 +_SCRATCH EQU $260A +_VICEGRIP EQU $260B +_GUILLOTINE EQU $260C +_SWORDS_DANCE EQU $260E +_WING_ATTACK EQU $2611 +_WHIRLWIND EQU $2612 +_SLAM EQU $2615 +_VINE_WHIP EQU $2616 +_STOMP EQU $2617 +_DOUBLE_KICK EQU $2618 +_MEGA_KICK EQU $2619 +_JUMP_KICK EQU $261A +_ROLLING_KICK EQU $261B +_HORN_ATTACK EQU $261E +_FURY_ATTACK EQU $261F +_HORN_DRILL EQU $2620 +_TACKLE EQU $2621 +_BODY_SLAM EQU $2622 +_WRAP EQU $2623 +_TAKE_DOWN EQU $2624 +_POISON_STING EQU $2628 +_TWINEEDLE EQU $2629 +_PIN_MISSILE EQU $262A +_LEER EQU $262B +_GROWL EQU $262D +_ROAR EQU $262E +_SUPERSONIC EQU $2630 +_ACID EQU $2633 +_EMBER EQU $2634 +_WATER_GUN EQU $2637 +_HYDRO_PUMP EQU $2638 +_SURF EQU $2639 +_ICE_BEAM EQU $263A +_BLIZZARD EQU $263B +_BUBBLEBEAM EQU $263D +_HYPER_BEAM EQU $263F +_PECK EQU $2640 +_DRILL_PECK EQU $2641 +_SEISMIC_TOSS EQU $2645 +_MEGA_DRAIN EQU $2648 +_LEECH_SEED EQU $2649 +_RAZOR_LEAF EQU $264B +_POISONPOWDER EQU $264D +_SLEEP_POWDER EQU $264F +_PETAL_DANCE EQU $2650 +_DRAGON_RAGE EQU $2652 +_FIRE_SPIN EQU $2653 +_THUNDERSHOCK EQU $2654 +_THUNDER_WAVE EQU $2656 +_TOXIC EQU $265C +_CONFUSION EQU $265D +_MEDITATE EQU $2660 +_QUICK_ATTACK EQU $2662 +_TELEPORT EQU $2664 +_NIGHT_SHADE EQU $2665 +_MIMIC EQU $2666 +_MINIMIZE EQU $266B +_DEFENSE_CURL EQU $266F +_BARRIER EQU $2670 +_LIGHT_SCREEN EQU $2671 +_REFLECT EQU $2673 +_METRONOME EQU $2676 +_EGG_BOMB EQU $2679 +_SLUDGE EQU $267C +_BONE_CLUB EQU $267D +_FIRE_BLAST EQU $267E +_WATERFALL EQU $267F +_SKULL_BASH EQU $2682 +_SPIKE_CANNON EQU $2683 +_AMNESIA EQU $2685 +_SOFTBOILED EQU $2687 +_HI_JUMP_KICK EQU $2688 +_GLARE EQU $2689 +_DREAM_EATER EQU $268A +_POISON_GAS EQU $268B +_BARRAGE EQU $268C +_TRANSFORM EQU $2690 +_DIZZY_PUNCH EQU $2692 +_FLASH EQU $2694 +_SPLASH EQU $2696 +_ACID_ARMOR EQU $2697 +_EXPLOSION EQU $2699 +_FURY_SWIPES EQU $269A +_BONEMERANG EQU $269B +_REST EQU $269C +_HYPER_FANG EQU $269E +_CONVERSION EQU $26A0 +_TRI_ATTACK EQU $26A1 +_SUBSTITUTE EQU $26A4 +_STRUGGLE EQU $26A5 +_TRIPLE_KICK EQU $26A7 +_THIEF EQU $26A8 +_CURSE EQU $26AE +_CONVERSION_2 EQU $26B0 +_COTTON_SPORE EQU $26B2 +_PROTECT EQU $26B6 +_MACH_PUNCH EQU $26B7 +_FAINT_ATTACK EQU $26B9 +_SWEET_KISS EQU $26BA +_BELLY_DRUM EQU $26BB +_SLUDGE_BOMB EQU $26BC +_MUD_SLAP EQU $26BD +_SPIKES EQU $26BF +_ZAP_CANNON EQU $26C0 +_FORESIGHT EQU $26C1 +_DESTINY_BOND EQU $26C2 +_PERISH_SONG EQU $26C3 +_DETECT EQU $26C5 +_BONE_RUSH EQU $26C6 +_LOCK_ON EQU $26C7 +_FALSE_SWIPE EQU $26CE +_MILK_DRINK EQU $26D0 +_FURY_CUTTER EQU $26D2 +_STEEL_WING EQU $26D3 +_ATTRACT EQU $26D5 +_SLEEP_TALK EQU $26D6 +_PRESENT EQU $26D9 +_FRUSTRATION EQU $26DA +_MAGNITUDE EQU $26DE +_DYNAMICPUNCH EQU $26DF +_MEGAHORN EQU $26E0 +_DRAGONBREATH EQU $26E1 +_BATON_PASS EQU $26E2 +_METAL_CLAW EQU $26E8 +_MOONLIGHT EQU $26EC +_HIDDEN_POWER EQU $26ED +_TWISTER EQU $26EF +_SUNNY_DAY EQU $26F1 +_MIRROR_COAT EQU $26F3 +_FUTURE_SIGHT EQU $26F8 +_BEAT_UP EQU $26FB +_FAKE_OUT EQU $26FC +_STOCKPILE EQU $26FE +_SPIT_UP EQU $26FF +_SWALLOW EQU $2700 +_HEAT_WAVE EQU $2701 +_TAUNT EQU $270D +_HELPING_HAND EQU $270E +_TRICK EQU $270F +_ROLE_PLAY EQU $2710 +_WISH EQU $2711 +_ASSIST EQU $2712 +_INGRAIN EQU $2713 +_SUPERPOWER EQU $2714 +_MAGIC_COAT EQU $2715 +_RECYCLE EQU $2716 +_REVENGE EQU $2717 +_KNOCK_OFF EQU $271A +_ERUPTION EQU $271C +_IMPRISON EQU $271E +_REFRESH EQU $271F +_SNATCH EQU $2721 +_SECRET_POWER EQU $2722 +_DIVE EQU $2723 +_ARM_THRUST EQU $2724 +_CAMOUFLAGE EQU $2725 +_TAIL_GLOW EQU $2726 +_LUSTER_PURGE EQU $2727 +_MIST_BALL EQU $2728 +_FEATHERDANCE EQU $2729 +_TEETER_DANCE EQU $272A +_BLAZE_KICK EQU $272B +_MUD_SPORT EQU $272C +_NEEDLE_ARM EQU $272E +_SLACK_OFF EQU $272F +_HYPER_VOICE EQU $2730 +_POISON_FANG EQU $2731 +_CRUSH_CLAW EQU $2732 +_MUDDY_WATER EQU $274A +_BULLET_SEED EQU $274B +_AERIAL_ACE EQU $274C +_IRON_DEFENSE EQU $274E +_BLOCK EQU $274F +_HOWL EQU $2750 +_DRAGON_CLAW EQU $2751 +_BULK_UP EQU $2753 +_BOUNCE EQU $2754 +_MUD_SHOT EQU $2755 +_POISON_TAIL EQU $2756 +_COVET EQU $2757 +_MAGICAL_LEAF EQU $2759 +_WATER_SPORT EQU $275A +_CALM_MIND EQU $275B +_LEAF_BLADE EQU $275C +_DRAGON_DANCE EQU $275D +_ROCK_BLAST EQU $275E +_SHOCK_WAVE EQU $275F +_WATER_PULSE EQU $2760 + +; TRENDY SAYING +KTHX_BYE_ EQU $2800 ; KTHX, BYE. +YES_SIR_ EQU $2801 ; YES, SIR! +AVANT_GARDE EQU $2802 +COUPLE EQU $2803 +MUCH_OBLIGED EQU $2804 +YEEHAW_ EQU $2805 ; YEEHAW! +MEGA EQU $2806 +_1_HIT_KO_ EQU $2807 ; 1-HIT KO! +DESTINY EQU $2808 +CANCEL EQU $2809 +NEW EQU $280A +FLATTEN EQU $280B +KIDDING EQU $280C +LOSER EQU $280D +LOSING EQU $280E +HAPPENING EQU $280F +HIP_AND EQU $2810 +SHAKE EQU $2811 +SHADY EQU $2812 +UPBEAT EQU $2813 +MODERN EQU $2814 +SMELL_YA EQU $2815 +BANG EQU $2816 +KNOCKOUT EQU $2817 +HASSLE EQU $2818 +WINNER EQU $2819 +FEVER EQU $281A +WANNABE EQU $281B +BABY EQU $281C +HEART EQU $281D +OLD EQU $281E +YOUNG EQU $281F +UGLY EQU $2820 + +; POKéMON2 (Johto Pokédex) +; these have double underscores, because 67 of them are also in the Hoenn Pokédex +__BULBASAUR EQU $2A01 +__IVYSAUR EQU $2A02 +__VENUSAUR EQU $2A03 +__CHARMANDER EQU $2A04 +__CHARMELEON EQU $2A05 +__CHARIZARD EQU $2A06 +__SQUIRTLE EQU $2A07 +__WARTORTLE EQU $2A08 +__BLASTOISE EQU $2A09 +__CATERPIE EQU $2A0A +__METAPOD EQU $2A0B +__BUTTERFREE EQU $2A0C +__WEEDLE EQU $2A0D +__KAKUNA EQU $2A0E +__BEEDRILL EQU $2A0F +__PIDGEY EQU $2A10 +__PIDGEOTTO EQU $2A11 +__PIDGEOT EQU $2A12 +__RATTATA EQU $2A13 +__RATICATE EQU $2A14 +__SPEAROW EQU $2A15 +__FEAROW EQU $2A16 +__EKANS EQU $2A17 +__ARBOK EQU $2A18 +__PIKACHU EQU $2A19 +__RAICHU EQU $2A1A +__SANDSHREW EQU $2A1B +__SANDSLASH EQU $2A1C +__NIDORAN_F EQU $2A1D +__NIDORINA EQU $2A1E +__NIDOQUEEN EQU $2A1F +__NIDORAN_M EQU $2A20 +__NIDORINO EQU $2A21 +__NIDOKING EQU $2A22 +__CLEFAIRY EQU $2A23 +__CLEFABLE EQU $2A24 +__VULPIX EQU $2A25 +__NINETALES EQU $2A26 +__JIGGLYPUFF EQU $2A27 +__WIGGLYTUFF EQU $2A28 +__ZUBAT EQU $2A29 +__GOLBAT EQU $2A2A +__ODDISH EQU $2A2B +__GLOOM EQU $2A2C +__VILEPLUME EQU $2A2D +__PARAS EQU $2A2E +__PARASECT EQU $2A2F +__VENONAT EQU $2A30 +__VENOMOTH EQU $2A31 +__DIGLETT EQU $2A32 +__DUGTRIO EQU $2A33 +__MEOWTH EQU $2A34 +__PERSIAN EQU $2A35 +__PSYDUCK EQU $2A36 +__GOLDUCK EQU $2A37 +__MANKEY EQU $2A38 +__PRIMEAPE EQU $2A39 +__GROWLITHE EQU $2A3A +__ARCANINE EQU $2A3B +__POLIWAG EQU $2A3C +__POLIWHIRL EQU $2A3D +__POLIWRATH EQU $2A3E +__ABRA EQU $2A3F +__KADABRA EQU $2A40 +__ALAKAZAM EQU $2A41 +__MACHOP EQU $2A42 +__MACHOKE EQU $2A43 +__MACHAMP EQU $2A44 +__BELLSPROUT EQU $2A45 +__WEEPINBELL EQU $2A46 +__VICTREEBEL EQU $2A47 +__TENTACOOL EQU $2A48 +__TENTACRUEL EQU $2A49 +__GEODUDE EQU $2A4A +__GRAVELER EQU $2A4B +__GOLEM EQU $2A4C +__PONYTA EQU $2A4D +__RAPIDASH EQU $2A4E +__SLOWPOKE EQU $2A4F +__SLOWBRO EQU $2A50 +__MAGNEMITE EQU $2A51 +__MAGNETON EQU $2A52 +__FARFETCH_D EQU $2A53 +__DODUO EQU $2A54 +__DODRIO EQU $2A55 +__SEEL EQU $2A56 +__DEWGONG EQU $2A57 +__GRIMER EQU $2A58 +__MUK EQU $2A59 +__SHELLDER EQU $2A5A +__CLOYSTER EQU $2A5B +__GASTLY EQU $2A5C +__HAUNTER EQU $2A5D +__GENGAR EQU $2A5E +__ONIX EQU $2A5F +__DROWZEE EQU $2A60 +__HYPNO EQU $2A61 +__KRABBY EQU $2A62 +__KINGLER EQU $2A63 +__VOLTORB EQU $2A64 +__ELECTRODE EQU $2A65 +__EXEGGCUTE EQU $2A66 +__EXEGGUTOR EQU $2A67 +__CUBONE EQU $2A68 +__MAROWAK EQU $2A69 +__HITMONLEE EQU $2A6A +__HITMONCHAN EQU $2A6B +__LICKITUNG EQU $2A6C +__KOFFING EQU $2A6D +__WEEZING EQU $2A6E +__RHYHORN EQU $2A6F +__RHYDON EQU $2A70 +__CHANSEY EQU $2A71 +__TANGELA EQU $2A72 +__KANGASKHAN EQU $2A73 +__HORSEA EQU $2A74 +__SEADRA EQU $2A75 +__GOLDEEN EQU $2A76 +__SEAKING EQU $2A77 +__STARYU EQU $2A78 +__STARMIE EQU $2A79 +__MR_MIME EQU $2A7A +__SCYTHER EQU $2A7B +__JYNX EQU $2A7C +__ELECTABUZZ EQU $2A7D +__MAGMAR EQU $2A7E +__PINSIR EQU $2A7F +__TAUROS EQU $2A80 +__MAGIKARP EQU $2A81 +__GYARADOS EQU $2A82 +__LAPRAS EQU $2A83 +__DITTO EQU $2A84 +__EEVEE EQU $2A85 +__VAPOREON EQU $2A86 +__JOLTEON EQU $2A87 +__FLAREON EQU $2A88 +__PORYGON EQU $2A89 +__OMANYTE EQU $2A8A +__OMASTAR EQU $2A8B +__KABUTO EQU $2A8C +__KABUTOPS EQU $2A8D +__AERODACTYL EQU $2A8E +__SNORLAX EQU $2A8F +__ARTICUNO EQU $2A90 +__ZAPDOS EQU $2A91 +__MOLTRES EQU $2A92 +__DRATINI EQU $2A93 +__DRAGONAIR EQU $2A94 +__DRAGONITE EQU $2A95 +__MEWTWO EQU $2A96 +__MEW EQU $2A97 +__CHIKORITA EQU $2A98 +__BAYLEEF EQU $2A99 +__MEGANIUM EQU $2A9A +__CYNDAQUIL EQU $2A9B +__QUILAVA EQU $2A9C +__TYPHLOSION EQU $2A9D +__TOTODILE EQU $2A9E +__CROCONAW EQU $2A9F +__FERALIGATR EQU $2AA0 +__SENTRET EQU $2AA1 +__FURRET EQU $2AA2 +__HOOTHOOT EQU $2AA3 +__NOCTOWL EQU $2AA4 +__LEDYBA EQU $2AA5 +__LEDIAN EQU $2AA6 +__SPINARAK EQU $2AA7 +__ARIADOS EQU $2AA8 +__CROBAT EQU $2AA9 +__CHINCHOU EQU $2AAA +__LANTURN EQU $2AAB +__PICHU EQU $2AAC +__CLEFFA EQU $2AAD +__IGGLYBUFF EQU $2AAE +__TOGEPI EQU $2AAF +__TOGETIC EQU $2AB0 +__NATU EQU $2AB1 +__XATU EQU $2AB2 +__MAREEP EQU $2AB3 +__FLAAFFY EQU $2AB4 +__AMPHAROS EQU $2AB5 +__BELLOSSOM EQU $2AB6 +__MARILL EQU $2AB7 +__AZUMARILL EQU $2AB8 +__SUDOWOODO EQU $2AB9 +__POLITOED EQU $2ABA +__HOPPIP EQU $2ABB +__SKIPLOOM EQU $2ABC +__JUMPLUFF EQU $2ABD +__AIPOM EQU $2ABE +__SUNKERN EQU $2ABF +__SUNFLORA EQU $2AC0 +__YANMA EQU $2AC1 +__WOOPER EQU $2AC2 +__QUAGSIRE EQU $2AC3 +__ESPEON EQU $2AC4 +__UMBREON EQU $2AC5 +__MURKROW EQU $2AC6 +__SLOWKING EQU $2AC7 +__MISDREAVUS EQU $2AC8 +__UNOWN EQU $2AC9 +__WOBBUFFET EQU $2ACA +__GIRAFARIG EQU $2ACB +__PINECO EQU $2ACC +__FORRETRESS EQU $2ACD +__DUNSPARCE EQU $2ACE +__GLIGAR EQU $2ACF +__STEELIX EQU $2AD0 +__SNUBBULL EQU $2AD1 +__GRANBULL EQU $2AD2 +__QWILFISH EQU $2AD3 +__SCIZOR EQU $2AD4 +__SHUCKLE EQU $2AD5 +__HERACROSS EQU $2AD6 +__SNEASEL EQU $2AD7 +__TEDDIURSA EQU $2AD8 +__URSARING EQU $2AD9 +__SLUGMA EQU $2ADA +__MAGCARGO EQU $2ADB +__SWINUB EQU $2ADC +__PILOSWINE EQU $2ADD +__CORSOLA EQU $2ADE +__REMORAID EQU $2ADF +__OCTILLERY EQU $2AE0 +__DELIBIRD EQU $2AE1 +__MANTINE EQU $2AE2 +__SKARMORY EQU $2AE3 +__HOUNDOUR EQU $2AE4 +__HOUNDOOM EQU $2AE5 +__KINGDRA EQU $2AE6 +__PHANPY EQU $2AE7 +__DONPHAN EQU $2AE8 +__PORYGON2 EQU $2AE9 +__STANTLER EQU $2AEA +__SMEARGLE EQU $2AEB +__TYROGUE EQU $2AEC +__HITMONTOP EQU $2AED +__SMOOCHUM EQU $2AEE +__ELEKID EQU $2AEF +__MAGBY EQU $2AF0 +__MILTANK EQU $2AF1 +__BLISSEY EQU $2AF2 +__RAIKOU EQU $2AF3 +__ENTEI EQU $2AF4 +__SUICUNE EQU $2AF5 +__LARVITAR EQU $2AF6 +__PUPITAR EQU $2AF7 +__TYRANITAR EQU $2AF8 +__LUGIA EQU $2AF9 +__HO_OH EQU $2AFA +__CELEBI EQU $2AFB + +BLANK EQU $FFFF \ No newline at end of file diff --git a/SOURCE/constants/easychat.ods b/SOURCE/constants/easychat.ods new file mode 100644 index 0000000..9d7f7c6 Binary files /dev/null and b/SOURCE/constants/easychat.ods differ diff --git a/SOURCE/constants/items.asm b/SOURCE/constants/items.asm new file mode 100644 index 0000000..7e26f44 --- /dev/null +++ b/SOURCE/constants/items.asm @@ -0,0 +1,324 @@ +ITEM_NONE EQU $000 +MASTER_BALL EQU $001 +ULTRA_BALL EQU $002 +GREAT_BALL EQU $003 +POKE_BALL EQU $004 +SAFARI_BALL EQU $005 +NET_BALL EQU $006 +DIVE_BALL EQU $007 +NEST_BALL EQU $008 +REPEAT_BALL EQU $009 +TIMER_BALL EQU $00A +LUXURY_BALL EQU $00B +PREMIER_BALL EQU $00C +POTION EQU $00D +ANTIDOTE EQU $00E +BURN_HEAL EQU $00F +ICE_HEAL EQU $010 +AWAKENING EQU $011 +PARLYZ_HEAL EQU $012 +FULL_RESTORE EQU $013 +MAX_POTION EQU $014 +HYPER_POTION EQU $015 +SUPER_POTION EQU $016 +FULL_HEAL EQU $017 +REVIVE EQU $018 +MAX_REVIVE EQU $019 +FRESH_WATER EQU $01A +SODA_POP EQU $01B +LEMONADE EQU $01C +MOOMOO_MILK EQU $01D +ENERGYPOWDER EQU $01E +ENERGY_ROOT EQU $01F +HEAL_POWDER EQU $020 +REVIVAL_HERB EQU $021 +ETHER EQU $022 +MAX_ETHER EQU $023 +ELIXIR EQU $024 +MAX_ELIXIR EQU $025 +LAVA_COOKIE EQU $026 +BLUE_FLUTE EQU $027 +YELLOW_FLUTE EQU $028 +RED_FLUTE EQU $029 +BLACK_FLUTE EQU $02A +WHITE_FLUTE EQU $02B +BERRY_JUICE EQU $02C +SACRED_ASH EQU $02D +SHOAL_SALT EQU $02E +SHOAL_SHELL EQU $02F +RED_SHARD EQU $030 +BLUE_SHARD EQU $031 +YELLOW_SHARD EQU $032 +GREEN_SHARD EQU $033 + +HP_UP EQU $03F +PROTEIN EQU $040 +IRON EQU $041 +CARBOS EQU $042 +CALCIUM EQU $043 +RARE_CANDY EQU $044 +PP_UP EQU $045 +ZINC EQU $046 +PP_MAX EQU $047 + +GUARD_SPEC_ EQU $049 ; GUARD SPEC. +DIRE_HIT EQU $04A +X_ATTACK EQU $04B +X_DEFEND EQU $04C +X_SPEED EQU $04D +X_ACCURACY EQU $04E +X_SPECIAL EQU $04F +POKE_DOLL EQU $050 ; POKé DOLL +FLUFFY_TAIL EQU $051 + +SUPER_REPEL EQU $053 +MAX_REPEL EQU $054 +ESCAPE_ROPE EQU $055 +REPEL EQU $056 + +SUN_STONE EQU $05D +MOON_STONE EQU $05E +FIRE_STONE EQU $05F +THUNDERSTONE EQU $060 +WATER_STONE EQU $061 +LEAF_STONE EQU $062 + +TINYMUSHROOM EQU $067 +BIG_MUSHROOM EQU $068 + +PEARL EQU $06A +BIG_PEARL EQU $06B +STARDUST EQU $06C +STAR_PIECE EQU $06D +NUGGET EQU $06E +HEART_SCALE EQU $06F + +ORANGE_MAIL EQU $079 +HARBOR_MAIL EQU $07A +GLITTER_MAIL EQU $07B +MECH_MAIL EQU $07C +WOOD_MAIL EQU $07D +WAVE_MAIL EQU $07E +BEAD_MAIL EQU $07F +SHADOW_MAIL EQU $080 +TROPIC_MAIL EQU $081 +DREAM_MAIL EQU $082 +FAB_MAIL EQU $083 +RETRO_MAIL EQU $084 +CHERI_BERRY EQU $085 +CHESTO_BERRY EQU $086 +PECHA_BERRY EQU $087 +RAWST_BERRY EQU $088 +ASPEAR_BERRY EQU $089 +LEPPA_BERRY EQU $08A +ORAN_BERRY EQU $08B +PERSIM_BERRY EQU $08C +LUM_BERRY EQU $08D +SITRUS_BERRY EQU $08E +FIGY_BERRY EQU $08F +WIKI_BERRY EQU $090 +MAGO_BERRY EQU $091 +AGUAV_BERRY EQU $092 +IAPAPA_BERRY EQU $093 +RAZZ_BERRY EQU $094 +BLUK_BERRY EQU $095 +NANAB_BERRY EQU $096 +WEPEAR_BERRY EQU $097 +PINAP_BERRY EQU $098 +POMEG_BERRY EQU $099 +KELPSY_BERRY EQU $09A +QUALOT_BERRY EQU $09B +HONDEW_BERRY EQU $09C +GREPA_BERRY EQU $09D +TAMATO_BERRY EQU $09E +CORNN_BERRY EQU $09F +MAGOST_BERRY EQU $0A0 +RABUTA_BERRY EQU $0A1 +NOMEL_BERRY EQU $0A2 +SPELON_BERRY EQU $0A3 +PAMTRE_BERRY EQU $0A4 +WATMEL_BERRY EQU $0A5 +DURIN_BERRY EQU $0A6 +BELUE_BERRY EQU $0A7 +LIECHI_BERRY EQU $0A8 +GANLON_BERRY EQU $0A9 +SALAC_BERRY EQU $0AA +PETAYA_BERRY EQU $0AB +APICOT_BERRY EQU $0AC +LANSAT_BERRY EQU $0AD +STARF_BERRY EQU $0AE +ENIGMA_BERRY EQU $0AF + +BRIGHTPOWDER EQU $0B3 +WHITE_HERB EQU $0B4 +MACHO_BRACE EQU $0B5 +EXP_SHARE EQU $0B6 ; EXP. SHARE +QUICK_CLAW EQU $0B7 +SOOTHE_BELL EQU $0B8 +MENTAL_HERB EQU $0B9 +CHOICE_BAND EQU $0BA +KING_S_ROCK EQU $0BB ; KING’S ROCK +SILVERPOWDER EQU $0BC +AMULET_COIN EQU $0BD +CLEANSE_TAG EQU $0BE +SOUL_DEW EQU $0BF +DEEPSEATOOTH EQU $0C0 +DEEPSEASCALE EQU $0C1 +SMOKE_BALL EQU $0C2 +EVERSTONE EQU $0C3 +FOCUS_BAND EQU $0C4 +LUCKY_EGG EQU $0C5 +SCOPE_LENS EQU $0C6 +METAL_COAT EQU $0C7 +LEFTOVERS EQU $0C8 +DRAGON_SCALE EQU $0C9 +LIGHT_BALL EQU $0CA +SOFT_SAND EQU $0CB +HARD_STONE EQU $0CC +MIRACLE_SEED EQU $0CD +BLACKGLASSES EQU $0CE +BLACK_BELT EQU $0CF +MAGNET EQU $0D0 +MYSTIC_WATER EQU $0D1 +SHARP_BEAK EQU $0D2 +POISON_BARB EQU $0D3 +NEVERMELTICE EQU $0D4 +SPELL_TAG EQU $0D5 +TWISTEDSPOON EQU $0D6 +CHARCOAL EQU $0D7 +DRAGON_FANG EQU $0D8 +SILK_SCARF EQU $0D9 +UP_GRADE EQU $0DA ; UP-GRADE +SHELL_BELL EQU $0DB +SEA_INCENSE EQU $0DC +LAX_INCENSE EQU $0DD +LUCKY_PUNCH EQU $0DE +METAL_POWDER EQU $0DF +THICK_CLUB EQU $0E0 +STICK EQU $0E1 + +RED_SCARF EQU $0FE +BLUE_SCARF EQU $0FF +PINK_SCARF EQU $100 +GREEN_SCARF EQU $101 +YELLOW_SCARF EQU $102 +MACH_BIKE EQU $103 +COIN_CASE EQU $104 +ITEMFINDER EQU $105 +OLD_ROD EQU $106 +GOOD_ROD EQU $107 +SUPER_ROD EQU $108 +S_S_TICKET EQU $109 ; S.S. TICKET +CONTEST_PASS EQU $10A + +WAILMER_PAIL EQU $10C +DEVON_GOODS EQU $10D +SOOT_SACK EQU $10E +BASEMENT_KEY EQU $10F +ACRO_BIKE EQU $110 +POKEBLOCK_CASE EQU $111 ; \{POKéBLOCK} CASE +LETTER EQU $112 +EON_TICKET EQU $113 +RED_ORB EQU $114 +BLUE_ORB EQU $115 +SCANNER EQU $116 +GO_GOGGLES EQU $117 ; GO-GOGGLES +METEORITE EQU $118 +RM_1_KEY EQU $119 ; RM. 1 KEY +RM_2_KEY EQU $11A ; RM. 2 KEY +RM_4_KEY EQU $11B ; RM. 4 KEY +RM_6_KEY EQU $11C ; RM. 6 KEY +STORAGE_KEY EQU $11D +ROOT_FOSSIL EQU $11E +CLAW_FOSSIL EQU $11F +DEVON_SCOPE EQU $120 +TM01 EQU $121 +TM02 EQU $122 +TM03 EQU $123 +TM04 EQU $124 +TM05 EQU $125 +TM06 EQU $126 +TM07 EQU $127 +TM08 EQU $128 +TM09 EQU $129 +TM10 EQU $12A +TM11 EQU $12B +TM12 EQU $12C +TM13 EQU $12D +TM14 EQU $12E +TM15 EQU $12F +TM16 EQU $130 +TM17 EQU $131 +TM18 EQU $132 +TM19 EQU $133 +TM20 EQU $134 +TM21 EQU $135 +TM22 EQU $136 +TM23 EQU $137 +TM24 EQU $138 +TM25 EQU $139 +TM26 EQU $13A +TM27 EQU $13B +TM28 EQU $13C +TM29 EQU $13D +TM30 EQU $13E +TM31 EQU $13F +TM32 EQU $140 +TM33 EQU $141 +TM34 EQU $142 +TM35 EQU $143 +TM36 EQU $144 +TM37 EQU $145 +TM38 EQU $146 +TM39 EQU $147 +TM40 EQU $148 +TM41 EQU $149 +TM42 EQU $14A +TM43 EQU $14B +TM44 EQU $14C +TM45 EQU $14D +TM46 EQU $14E +TM47 EQU $14F +TM48 EQU $150 +TM49 EQU $151 +TM50 EQU $152 +HM01 EQU $153 +HM02 EQU $154 +HM03 EQU $155 +HM04 EQU $156 +HM05 EQU $157 +HM06 EQU $158 +HM07 EQU $159 +HM08 EQU $15A + +; FireRed/LeafGreen/Emerald +OAK_S_PARCEL EQU $15D ; OAK’S PARCEL +POKE_FLUTE EQU $15E ; POKé FLUTE +SECRET_KEY EQU $15F +BIKE_VOUCHER EQU $160 +GOLD_TEETH EQU $161 +OLD_AMBER EQU $162 +CARD_KEY EQU $163 +LIFT_KEY EQU $164 +DOME_FOSSIL EQU $165 +HELIX_FOSSIL EQU $166 +SILPH_SCOPE EQU $167 +BICYCLE EQU $168 +TOWN_MAP EQU $169 +VS_SEEKER EQU $16A ; VS. SEEKER +FAME_CHECKER EQU $16B +TM_CASE EQU $16C +BERRY_POUCH EQU $16D +TEACHY_TV EQU $16E +TRI_PASS EQU $16F ; TRI-PASS +RAINBOW_PASS EQU $170 +TEA EQU $171 +MYSTICTICKET EQU $172 +AURORATICKET EQU $173 +POWDER_JAR EQU $174 +RUBY EQU $175 +SAPPHIRE EQU $176 + +; Emerald +MAGMA_EMBLEM EQU $177 +OLD_SEA_MAP EQU $178 \ No newline at end of file diff --git a/SOURCE/constants/moves.asm b/SOURCE/constants/moves.asm new file mode 100644 index 0000000..c616f5b --- /dev/null +++ b/SOURCE/constants/moves.asm @@ -0,0 +1,356 @@ +POUND EQU $001 +KARATE_CHOP EQU $002 +DOUBLESLAP EQU $003 +COMET_PUNCH EQU $004 +MEGA_PUNCH EQU $005 +PAY_DAY EQU $006 +FIRE_PUNCH EQU $007 +ICE_PUNCH EQU $008 +THUNDERPUNCH EQU $009 +SCRATCH EQU $00A +VICEGRIP EQU $00B +GUILLOTINE EQU $00C +RAZOR_WIND EQU $00D +SWORDS_DANCE EQU $00E +CUT EQU $00F +GUST EQU $010 +WING_ATTACK EQU $011 +WHIRLWIND EQU $012 +FLY EQU $013 +BIND EQU $014 +SLAM EQU $015 +VINE_WHIP EQU $016 +STOMP EQU $017 +DOUBLE_KICK EQU $018 +MEGA_KICK EQU $019 +JUMP_KICK EQU $01A +ROLLING_KICK EQU $01B +SAND_ATTACK EQU $01C +HEADBUTT EQU $01D +HORN_ATTACK EQU $01E +FURY_ATTACK EQU $01F +HORN_DRILL EQU $020 +TACKLE EQU $021 +BODY_SLAM EQU $022 +WRAP EQU $023 +TAKE_DOWN EQU $024 +THRASH EQU $025 +DOUBLE_EDGE EQU $026 ; DOUBLE-EDGE +TAIL_WHIP EQU $027 +POISON_STING EQU $028 +TWINEEDLE EQU $029 +PIN_MISSILE EQU $02A +LEER EQU $02B +BITE EQU $02C +GROWL EQU $02D +ROAR EQU $02E +SING EQU $02F +SUPERSONIC EQU $030 +SONICBOOM EQU $031 +DISABLE EQU $032 +ACID EQU $033 +EMBER EQU $034 +FLAMETHROWER EQU $035 +MIST EQU $036 +WATER_GUN EQU $037 +HYDRO_PUMP EQU $038 +SURF EQU $039 +ICE_BEAM EQU $03A +BLIZZARD EQU $03B +PSYBEAM EQU $03C +BUBBLEBEAM EQU $03D +AURORA_BEAM EQU $03E +HYPER_BEAM EQU $03F +PECK EQU $040 +DRILL_PECK EQU $041 +SUBMISSION EQU $042 +LOW_KICK EQU $043 +COUNTER EQU $044 +SEISMIC_TOSS EQU $045 +STRENGTH EQU $046 +ABSORB EQU $047 +MEGA_DRAIN EQU $048 +LEECH_SEED EQU $049 +GROWTH EQU $04A +RAZOR_LEAF EQU $04B +SOLARBEAM EQU $04C +POISONPOWDER EQU $04D +STUN_SPORE EQU $04E +SLEEP_POWDER EQU $04F +PETAL_DANCE EQU $050 +STRING_SHOT EQU $051 +DRAGON_RAGE EQU $052 +FIRE_SPIN EQU $053 +THUNDERSHOCK EQU $054 +THUNDERBOLT EQU $055 +THUNDER_WAVE EQU $056 +THUNDER EQU $057 +ROCK_THROW EQU $058 +EARTHQUAKE EQU $059 +FISSURE EQU $05A +DIG EQU $05B +TOXIC EQU $05C +CONFUSION EQU $05D +PSYCHIC EQU $05E +HYPNOSIS EQU $05F +MEDITATE EQU $060 +AGILITY EQU $061 +QUICK_ATTACK EQU $062 +RAGE EQU $063 +TELEPORT EQU $064 +NIGHT_SHADE EQU $065 +MIMIC EQU $066 +SCREECH EQU $067 +DOUBLE_TEAM EQU $068 +RECOVER EQU $069 +HARDEN EQU $06A +MINIMIZE EQU $06B +SMOKESCREEN EQU $06C +CONFUSE_RAY EQU $06D +WITHDRAW EQU $06E +DEFENSE_CURL EQU $06F +BARRIER EQU $070 +LIGHT_SCREEN EQU $071 +HAZE EQU $072 +REFLECT EQU $073 +FOCUS_ENERGY EQU $074 +BIDE EQU $075 +METRONOME EQU $076 +MIRROR_MOVE EQU $077 +SELFDESTRUCT EQU $078 +EGG_BOMB EQU $079 +LICK EQU $07A +SMOG EQU $07B +SLUDGE EQU $07C +BONE_CLUB EQU $07D +FIRE_BLAST EQU $07E +WATERFALL EQU $07F +CLAMP EQU $080 +SWIFT EQU $081 +SKULL_BASH EQU $082 +SPIKE_CANNON EQU $083 +CONSTRICT EQU $084 +AMNESIA EQU $085 +KINESIS EQU $086 +SOFTBOILED EQU $087 +HI_JUMP_KICK EQU $088 +GLARE EQU $089 +DREAM_EATER EQU $08A +POISON_GAS EQU $08B +BARRAGE EQU $08C +LEECH_LIFE EQU $08D +LOVELY_KISS EQU $08E +SKY_ATTACK EQU $08F +TRANSFORM EQU $090 +BUBBLE EQU $091 +DIZZY_PUNCH EQU $092 +SPORE EQU $093 +FLASH EQU $094 +PSYWAVE EQU $095 +SPLASH EQU $096 +ACID_ARMOR EQU $097 +CRABHAMMER EQU $098 +EXPLOSION EQU $099 +FURY_SWIPES EQU $09A +BONEMERANG EQU $09B +REST EQU $09C +ROCK_SLIDE EQU $09D +HYPER_FANG EQU $09E +SHARPEN EQU $09F +CONVERSION EQU $0A0 +TRI_ATTACK EQU $0A1 +SUPER_FANG EQU $0A2 +SLASH EQU $0A3 +SUBSTITUTE EQU $0A4 +STRUGGLE EQU $0A5 + +SKETCH EQU $0A6 +TRIPLE_KICK EQU $0A7 +THIEF EQU $0A8 +SPIDER_WEB EQU $0A9 +MIND_READER EQU $0AA +NIGHTMARE EQU $0AB +FLAME_WHEEL EQU $0AC +SNORE EQU $0AD +CURSE EQU $0AE +FLAIL EQU $0AF +CONVERSION_2 EQU $0B0 +AEROBLAST EQU $0B1 +COTTON_SPORE EQU $0B2 +REVERSAL EQU $0B3 +SPITE EQU $0B4 +POWDER_SNOW EQU $0B5 +PROTECT EQU $0B6 +MACH_PUNCH EQU $0B7 +SCARY_FACE EQU $0B8 +FAINT_ATTACK EQU $0B9 +SWEET_KISS EQU $0BA +BELLY_DRUM EQU $0BB +SLUDGE_BOMB EQU $0BC +MUD_SLAP EQU $0BD ; MUD-SLAP +OCTAZOOKA EQU $0BE +SPIKES EQU $0BF +ZAP_CANNON EQU $0C0 +FORESIGHT EQU $0C1 +DESTINY_BOND EQU $0C2 +PERISH_SONG EQU $0C3 +ICY_WIND EQU $0C4 +DETECT EQU $0C5 +BONE_RUSH EQU $0C6 +LOCK_ON EQU $0C7 ; LOCK-ON +OUTRAGE EQU $0C8 +SANDSTORM EQU $0C9 +GIGA_DRAIN EQU $0CA +ENDURE EQU $0CB +CHARM EQU $0CC +ROLLOUT EQU $0CD +FALSE_SWIPE EQU $0CE +SWAGGER EQU $0CF +MILK_DRINK EQU $0D0 +SPARK EQU $0D1 +FURY_CUTTER EQU $0D2 +STEEL_WING EQU $0D3 +MEAN_LOOK EQU $0D4 +ATTRACT EQU $0D5 +SLEEP_TALK EQU $0D6 +HEAL_BELL EQU $0D7 +RETURN EQU $0D8 +PRESENT EQU $0D9 +FRUSTRATION EQU $0DA +SAFEGUARD EQU $0DB +PAIN_SPLIT EQU $0DC +SACRED_FIRE EQU $0DD +MAGNITUDE EQU $0DE +DYNAMICPUNCH EQU $0DF +MEGAHORN EQU $0E0 +DRAGONBREATH EQU $0E1 +BATON_PASS EQU $0E2 +ENCORE EQU $0E3 +PURSUIT EQU $0E4 +RAPID_SPIN EQU $0E5 +SWEET_SCENT EQU $0E6 +IRON_TAIL EQU $0E7 +METAL_CLAW EQU $0E8 +VITAL_THROW EQU $0E9 +MORNING_SUN EQU $0EA +SYNTHESIS EQU $0EB +MOONLIGHT EQU $0EC +HIDDEN_POWER EQU $0ED +CROSS_CHOP EQU $0EE +TWISTER EQU $0EF +RAIN_DANCE EQU $0F0 +SUNNY_DAY EQU $0F1 +CRUNCH EQU $0F2 +MIRROR_COAT EQU $0F3 +PSYCH_UP EQU $0F4 +EXTREMESPEED EQU $0F5 +ANCIENTPOWER EQU $0F6 +SHADOW_BALL EQU $0F7 +FUTURE_SIGHT EQU $0F8 +ROCK_SMASH EQU $0F9 +WHIRLPOOL EQU $0FA +BEAT_UP EQU $0FB + +FAKE_OUT EQU $0FC +UPROAR EQU $0FD +STOCKPILE EQU $0FE +SPIT_UP EQU $0FF +SWALLOW EQU $100 +HEAT_WAVE EQU $101 +HAIL EQU $102 +TORMENT EQU $103 +FLATTER EQU $104 +WILL_O_WISP EQU $105 ; WILL-O-WISP +MEMENTO EQU $106 +FACADE EQU $107 +FOCUS_PUNCH EQU $108 +SMELLINGSALT EQU $109 +FOLLOW_ME EQU $10A +NATURE_POWER EQU $10B +CHARGE EQU $10C +TAUNT EQU $10D +HELPING_HAND EQU $10E +TRICK EQU $10F +ROLE_PLAY EQU $110 +WISH EQU $111 +ASSIST EQU $112 +INGRAIN EQU $113 +SUPERPOWER EQU $114 +MAGIC_COAT EQU $115 +RECYCLE EQU $116 +REVENGE EQU $117 +BRICK_BREAK EQU $118 +YAWN EQU $119 +KNOCK_OFF EQU $11A +ENDEAVOR EQU $11B +ERUPTION EQU $11C +SKILL_SWAP EQU $11D +IMPRISON EQU $11E +REFRESH EQU $11F +GRUDGE EQU $120 +SNATCH EQU $121 +SECRET_POWER EQU $122 +DIVE EQU $123 +ARM_THRUST EQU $124 +CAMOUFLAGE EQU $125 +TAIL_GLOW EQU $126 +LUSTER_PURGE EQU $127 +MIST_BALL EQU $128 +FEATHERDANCE EQU $129 +TEETER_DANCE EQU $12A +BLAZE_KICK EQU $12B +MUD_SPORT EQU $12C +ICE_BALL EQU $12D +NEEDLE_ARM EQU $12E +SLACK_OFF EQU $12F +HYPER_VOICE EQU $130 +POISON_FANG EQU $131 +CRUSH_CLAW EQU $132 +BLAST_BURN EQU $133 +HYDRO_CANNON EQU $134 +METEOR_MASH EQU $135 +ASTONISH EQU $136 +WEATHER_BALL EQU $137 +AROMATHERAPY EQU $138 +FAKE_TEARS EQU $139 +AIR_CUTTER EQU $13A +OVERHEAT EQU $13B +ODOR_SLEUTH EQU $13C +ROCK_TOMB EQU $13D +SILVER_WIND EQU $13E +METAL_SOUND EQU $13F +GRASSWHISTLE EQU $140 +TICKLE EQU $141 +COSMIC_POWER EQU $142 +WATER_SPOUT EQU $143 +SIGNAL_BEAM EQU $144 +SHADOW_PUNCH EQU $145 +EXTRASENSORY EQU $146 +SKY_UPPERCUT EQU $147 +SAND_TOMB EQU $148 +SHEER_COLD EQU $149 +MUDDY_WATER EQU $14A +BULLET_SEED EQU $14B +AERIAL_ACE EQU $14C +ICICLE_SPEAR EQU $14D +IRON_DEFENSE EQU $14E +BLOCK EQU $14F +HOWL EQU $150 +DRAGON_CLAW EQU $151 +FRENZY_PLANT EQU $152 +BULK_UP EQU $153 +BOUNCE EQU $154 +MUD_SHOT EQU $155 +POISON_TAIL EQU $156 +COVET EQU $157 +VOLT_TACKLE EQU $158 +MAGICAL_LEAF EQU $159 +WATER_SPORT EQU $15A +CALM_MIND EQU $15B +LEAF_BLADE EQU $15C +DRAGON_DANCE EQU $15D +ROCK_BLAST EQU $15E +SHOCK_WAVE EQU $15F +WATER_PULSE EQU $160 +DOOM_DESIRE EQU $161 +PSYCHO_BOOST EQU $162 diff --git a/SOURCE/constants/natures.asm b/SOURCE/constants/natures.asm new file mode 100644 index 0000000..d2aade9 --- /dev/null +++ b/SOURCE/constants/natures.asm @@ -0,0 +1,107 @@ +;FEMALE +HARDY_FEMALE EQU $10000000 +LONELY_FEMALE EQU $10000001 +BRAVE_FEMALE EQU $10000001 +ADAMANT_FEMALE EQU $10000003 +NAUGHTY_FEMALE EQU $10000004 +BOLD_FEMALE EQU $10000005 +DOCILE_FEMALE EQU $10000006 +RELAXED_FEMALE EQU $10000007 +IMPISH_FEMALE EQU $00000008 +LAX_FEMALE EQU $00000009 +TIMID_FEMALE EQU $0000000A +HASTY_FEMALE EQU $0000000B +SERIOUS_FEMALE EQU $0000000C +JOLLY_FEMALE EQU $0000000D +NAIVE_FEMALE EQU $0000000E +MODEST_FEMALE EQU $0000000F +MILD_FEMALE EQU $00000010 +QUIET_FEMALE EQU $00000011 +BASHFUL_FEMALE EQU $00000012 +RASH_FEMALE EQU $00000013 +CALM_FEMALE EQU $00000014 +GENTLE_FEMALE EQU $00000015 +SASSY_FEMALE EQU $00000016 +CAREFUL_FEMALE EQU $00000017 +QUIRKY_FEMALE EQU $00000018 + +; MALE +HARDY_MALE EQU $000000E1 +LONELY_MALE EQU $000000E2 +BRAVE_MALE EQU $000000E3 +ADAMANT_MALE EQU $000000E4 +NAUGHTY_MALE EQU $000000E5 +BOLD_MALE EQU $000000E6 +DOCILE_MALE EQU $000000E7 +RELAXED_MALE EQU $000000E8 +IMPISH_MALE EQU $000000E9 +LAX_MALE EQU $000000EA +TIMID_MALE EQU $000000EB +HASTY_MALE EQU $000000EC +SERIOUS_MALE EQU $000000ED +JOLLY_MALE EQU $000000EE +NAIVE_MALE EQU $000000EF +MODEST_MALE EQU $000000F0 +QUIET_MALE EQU $000000F1 +BASHFUL_MALE EQU $000000F2 +RASH_MALE EQU $000000F3 +CALM_MALE EQU $000000F4 +GENTLE_MALE EQU $000000F5 +SASSY_MALE EQU $000000F6 +CAREFUL_MALE EQU $000000F7 +QUIRKY_MALE EQU $000000F8 + + + +;FEMALE +SHINY_HARDY_FEMALE EQU $00000000 +SHINY_LONELY_FEMALE EQU $00000001 +SHINY_BRAVE_FEMALE EQU $00000001 +SHINY_ADAMANT_FEMALE EQU $00000003 +SHINY_NAUGHTY_FEMALE EQU $00000004 +SHINY_BOLD_FEMALE EQU $00000005 +SHINY_DOCILE_FEMALE EQU $00000006 +SHINY_RELAXED_FEMALE EQU $00000007 +SHINY_IMPISH_FEMALE EQU $00080008 +SHINY_LAX_FEMALE EQU $00090009 +SHINY_TIMID_FEMALE EQU $000A000A +SHINY_HASTY_FEMALE EQU $000B000B +SHINY_SERIOUS_FEMALE EQU $000C000C +SHINY_JOLLY_FEMALE EQU $000D000D +SHINY_NAIVE_FEMALE EQU $000E000E +SHINY_MODEST_FEMALE EQU $000F000F +SHINY_MILD_FEMALE EQU $00100010 +SHINY_QUIET_FEMALE EQU $00110011 +SHINY_BASHFUL_FEMALE EQU $00120012 +SHINY_RASH_FEMALE EQU $00130013 +SHINY_CALM_FEMALE EQU $00140014 +SHINY_GENTLE_FEMALE EQU $00150015 +SHINY_SASSY_FEMALE EQU $00160016 +SHINY_CAREFUL_FEMALE EQU $00170017 +SHINY_QUIRKY_FEMALE EQU $00180018 + +; MALE +SHINY_HASTY_MALE EQU $00E400E4 +SHINY_SERIOUS_MALE EQU $00E500E5 +SHINY_JOLLY_MALE EQU $00E600E6 +SHINY_NAIVE_MALE EQU $00E700E7 +SHINY_MODEST_MALE EQU $00E800E8 +SHINY_QUIET_MALE EQU $00E900E9 +SHINY_BASHFUL_MALE EQU $00EA00EA +SHINY_RASH_MALE EQU $00EB00EB +SHINY_CALM_MALE EQU $00EC00EC +SHINY_GENTLE_MALE EQU $00ED00ED +SHINY_SASSY_MALE EQU $00EE00EE +SHINY_CAREFUL_MALE EQU $00EF00EF +SHINY_QUIRKY_MALE EQU $00F000F0 +SHINY_HARDY_MALE EQU $00F100F1 +SHINY_LONELY_MALE EQU $00F200F2 +SHINY_BRAVE_MALE EQU $00F300F3 +SHINY_ADAMANT_MALE EQU $00F400F4 +SHINY_NAUGHTY_MALE EQU $00F500F5 +SHINY_BOLD_MALE EQU $00F600F6 +SHINY_DOCILE_MALE EQU $00F700F7 +SHINY_RELAXED_MALE EQU $00F800F8 +SHINY_IMPISH_MALE EQU $00F900F9 +SHINY_LAX_MALE EQU $00FA00FA +SHINY_TIMID_MALE EQU $00FB00FB \ No newline at end of file diff --git a/SOURCE/constants/pokemon.asm b/SOURCE/constants/pokemon.asm new file mode 100644 index 0000000..93c75b8 --- /dev/null +++ b/SOURCE/constants/pokemon.asm @@ -0,0 +1,388 @@ +BULBASAUR EQU $001 +IVYSAUR EQU $002 +VENUSAUR EQU $003 +CHARMANDER EQU $004 +CHARMELEON EQU $005 +CHARIZARD EQU $006 +SQUIRTLE EQU $007 +WARTORTLE EQU $008 +BLASTOISE EQU $009 +CATERPIE EQU $00A +METAPOD EQU $00B +BUTTERFREE EQU $00C +WEEDLE EQU $00D +KAKUNA EQU $00E +BEEDRILL EQU $00F +PIDGEY EQU $010 +PIDGEOTTO EQU $011 +PIDGEOT EQU $012 +RATTATA EQU $013 +RATICATE EQU $014 +SPEAROW EQU $015 +FEAROW EQU $016 +EKANS EQU $017 +ARBOK EQU $018 +PIKACHU EQU $019 +RAICHU EQU $01A +SANDSHREW EQU $01B +SANDSLASH EQU $01C +NIDORAN_F EQU $01D ; NIDORAN♀ +NIDORINA EQU $01E +NIDOQUEEN EQU $01F +NIDORAN_M EQU $020 ; NIDORAN♂ +NIDORINO EQU $021 +NIDOKING EQU $022 +CLEFAIRY EQU $023 +CLEFABLE EQU $024 +VULPIX EQU $025 +NINETALES EQU $026 +JIGGLYPUFF EQU $027 +WIGGLYTUFF EQU $028 +ZUBAT EQU $029 +GOLBAT EQU $02A +ODDISH EQU $02B +GLOOM EQU $02C +VILEPLUME EQU $02D +PARAS EQU $02E +PARASECT EQU $02F +VENONAT EQU $030 +VENOMOTH EQU $031 +DIGLETT EQU $032 +DUGTRIO EQU $033 +MEOWTH EQU $034 +PERSIAN EQU $035 +PSYDUCK EQU $036 +GOLDUCK EQU $037 +MANKEY EQU $038 +PRIMEAPE EQU $039 +GROWLITHE EQU $03A +ARCANINE EQU $03B +POLIWAG EQU $03C +POLIWHIRL EQU $03D +POLIWRATH EQU $03E +ABRA EQU $03F +KADABRA EQU $040 +ALAKAZAM EQU $041 +MACHOP EQU $042 +MACHOKE EQU $043 +MACHAMP EQU $044 +BELLSPROUT EQU $045 +WEEPINBELL EQU $046 +VICTREEBEL EQU $047 +TENTACOOL EQU $048 +TENTACRUEL EQU $049 +GEODUDE EQU $04A +GRAVELER EQU $04B +GOLEM EQU $04C +PONYTA EQU $04D +RAPIDASH EQU $04E +SLOWPOKE EQU $04F +SLOWBRO EQU $050 +MAGNEMITE EQU $051 +MAGNETON EQU $052 +FARFETCH_D EQU $053 ; FARFETCH’D +DODUO EQU $054 +DODRIO EQU $055 +SEEL EQU $056 +DEWGONG EQU $057 +GRIMER EQU $058 +MUK EQU $059 +SHELLDER EQU $05A +CLOYSTER EQU $05B +GASTLY EQU $05C +HAUNTER EQU $05D +GENGAR EQU $05E +ONIX EQU $05F +DROWZEE EQU $060 +HYPNO EQU $061 +KRABBY EQU $062 +KINGLER EQU $063 +VOLTORB EQU $064 +ELECTRODE EQU $065 +EXEGGCUTE EQU $066 +EXEGGUTOR EQU $067 +CUBONE EQU $068 +MAROWAK EQU $069 +HITMONLEE EQU $06A +HITMONCHAN EQU $06B +LICKITUNG EQU $06C +KOFFING EQU $06D +WEEZING EQU $06E +RHYHORN EQU $06F +RHYDON EQU $070 +CHANSEY EQU $071 +TANGELA EQU $072 +KANGASKHAN EQU $073 +HORSEA EQU $074 +SEADRA EQU $075 +GOLDEEN EQU $076 +SEAKING EQU $077 +STARYU EQU $078 +STARMIE EQU $079 +MR_MIME EQU $07A ; MR. MIME +SCYTHER EQU $07B +JYNX EQU $07C +ELECTABUZZ EQU $07D +MAGMAR EQU $07E +PINSIR EQU $07F +TAUROS EQU $080 +MAGIKARP EQU $081 +GYARADOS EQU $082 +LAPRAS EQU $083 +DITTO EQU $084 +EEVEE EQU $085 +VAPOREON EQU $086 +JOLTEON EQU $087 +FLAREON EQU $088 +PORYGON EQU $089 +OMANYTE EQU $08A +OMASTAR EQU $08B +KABUTO EQU $08C +KABUTOPS EQU $08D +AERODACTYL EQU $08E +SNORLAX EQU $08F +ARTICUNO EQU $090 +ZAPDOS EQU $091 +MOLTRES EQU $092 +DRATINI EQU $093 +DRAGONAIR EQU $094 +DRAGONITE EQU $095 +MEWTWO EQU $096 +MEW EQU $097 + +CHIKORITA EQU $098 +BAYLEEF EQU $099 +MEGANIUM EQU $09A +CYNDAQUIL EQU $09B +QUILAVA EQU $09C +TYPHLOSION EQU $09D +TOTODILE EQU $09E +CROCONAW EQU $09F +FERALIGATR EQU $0A0 +SENTRET EQU $0A1 +FURRET EQU $0A2 +HOOTHOOT EQU $0A3 +NOCTOWL EQU $0A4 +LEDYBA EQU $0A5 +LEDIAN EQU $0A6 +SPINARAK EQU $0A7 +ARIADOS EQU $0A8 +CROBAT EQU $0A9 +CHINCHOU EQU $0AA +LANTURN EQU $0AB +PICHU EQU $0AC +CLEFFA EQU $0AD +IGGLYBUFF EQU $0AE +TOGEPI EQU $0AF +TOGETIC EQU $0B0 +NATU EQU $0B1 +XATU EQU $0B2 +MAREEP EQU $0B3 +FLAAFFY EQU $0B4 +AMPHAROS EQU $0B5 +BELLOSSOM EQU $0B6 +MARILL EQU $0B7 +AZUMARILL EQU $0B8 +SUDOWOODO EQU $0B9 +POLITOED EQU $0BA +HOPPIP EQU $0BB +SKIPLOOM EQU $0BC +JUMPLUFF EQU $0BD +AIPOM EQU $0BE +SUNKERN EQU $0BF +SUNFLORA EQU $0C0 +YANMA EQU $0C1 +WOOPER EQU $0C2 +QUAGSIRE EQU $0C3 +ESPEON EQU $0C4 +UMBREON EQU $0C5 +MURKROW EQU $0C6 +SLOWKING EQU $0C7 +MISDREAVUS EQU $0C8 +UNOWN EQU $0C9 +WOBBUFFET EQU $0CA +GIRAFARIG EQU $0CB +PINECO EQU $0CC +FORRETRESS EQU $0CD +DUNSPARCE EQU $0CE +GLIGAR EQU $0CF +STEELIX EQU $0D0 +SNUBBULL EQU $0D1 +GRANBULL EQU $0D2 +QWILFISH EQU $0D3 +SCIZOR EQU $0D4 +SHUCKLE EQU $0D5 +HERACROSS EQU $0D6 +SNEASEL EQU $0D7 +TEDDIURSA EQU $0D8 +URSARING EQU $0D9 +SLUGMA EQU $0DA +MAGCARGO EQU $0DB +SWINUB EQU $0DC +PILOSWINE EQU $0DD +CORSOLA EQU $0DE +REMORAID EQU $0DF +OCTILLERY EQU $0E0 +DELIBIRD EQU $0E1 +MANTINE EQU $0E2 +SKARMORY EQU $0E3 +HOUNDOUR EQU $0E4 +HOUNDOOM EQU $0E5 +KINGDRA EQU $0E6 +PHANPY EQU $0E7 +DONPHAN EQU $0E8 +PORYGON2 EQU $0E9 +STANTLER EQU $0EA +SMEARGLE EQU $0EB +TYROGUE EQU $0EC +HITMONTOP EQU $0ED +SMOOCHUM EQU $0EE +ELEKID EQU $0EF +MAGBY EQU $0F0 +MILTANK EQU $0F1 +BLISSEY EQU $0F2 +RAIKOU EQU $0F3 +ENTEI EQU $0F4 +SUICUNE EQU $0F5 +LARVITAR EQU $0F6 +PUPITAR EQU $0F7 +TYRANITAR EQU $0F8 +LUGIA EQU $0F9 +HO_OH EQU $0FA ; HO-OH +CELEBI EQU $0FB + +TREECKO EQU $115 +GROVYLE EQU $116 +SCEPTILE EQU $117 +TORCHIC EQU $118 +COMBUSKEN EQU $119 +BLAZIKEN EQU $11A +MUDKIP EQU $11B +MARSHTOMP EQU $11C +SWAMPERT EQU $11D +POOCHYENA EQU $11E +MIGHTYENA EQU $11F +ZIGZAGOON EQU $120 +LINOONE EQU $121 +WURMPLE EQU $122 +SILCOON EQU $123 +BEAUTIFLY EQU $124 +CASCOON EQU $125 +DUSTOX EQU $126 +LOTAD EQU $127 +LOMBRE EQU $128 +LUDICOLO EQU $129 +SEEDOT EQU $12A +NUZLEAF EQU $12B +SHIFTRY EQU $12C +NINCADA EQU $12D +NINJASK EQU $12E +SHEDINJA EQU $12F +TAILLOW EQU $130 +SWELLOW EQU $131 +SHROOMISH EQU $132 +BRELOOM EQU $133 +SPINDA EQU $134 +WINGULL EQU $135 +PELIPPER EQU $136 +SURSKIT EQU $137 +MASQUERAIN EQU $138 +WAILMER EQU $139 +WAILORD EQU $13A +SKITTY EQU $13B +DELCATTY EQU $13C +KECLEON EQU $13D +BALTOY EQU $13E +CLAYDOL EQU $13F +NOSEPASS EQU $140 +TORKOAL EQU $141 +SABLEYE EQU $142 +BARBOACH EQU $143 +WHISCASH EQU $144 +LUVDISC EQU $145 +CORPHISH EQU $146 +CRAWDAUNT EQU $147 +FEEBAS EQU $148 +MILOTIC EQU $149 +CARVANHA EQU $14A +SHARPEDO EQU $14B +TRAPINCH EQU $14C +VIBRAVA EQU $14D +FLYGON EQU $14E +MAKUHITA EQU $14F +HARIYAMA EQU $150 +ELECTRIKE EQU $151 +MANECTRIC EQU $152 +NUMEL EQU $153 +CAMERUPT EQU $154 +SPHEAL EQU $155 +SEALEO EQU $156 +WALREIN EQU $157 +CACNEA EQU $158 +CACTURNE EQU $159 +SNORUNT EQU $15A +GLALIE EQU $15B +LUNATONE EQU $15C +SOLROCK EQU $15D +AZURILL EQU $15E +SPOINK EQU $15F +GRUMPIG EQU $160 +PLUSLE EQU $161 +MINUN EQU $162 +MAWILE EQU $163 +MEDITITE EQU $164 +MEDICHAM EQU $165 +SWABLU EQU $166 +ALTARIA EQU $167 +WYNAUT EQU $168 +DUSKULL EQU $169 +DUSCLOPS EQU $16A +ROSELIA EQU $16B +SLAKOTH EQU $16C +VIGOROTH EQU $16D +SLAKING EQU $16E +GULPIN EQU $16F +SWALOT EQU $170 +TROPIUS EQU $171 +WHISMUR EQU $172 +LOUDRED EQU $173 +EXPLOUD EQU $174 +CLAMPERL EQU $175 +HUNTAIL EQU $176 +GOREBYSS EQU $177 +ABSOL EQU $178 +SHUPPET EQU $179 +BANETTE EQU $17A +SEVIPER EQU $17B +ZANGOOSE EQU $17C +RELICANTH EQU $17D +ARON EQU $17E +LAIRON EQU $17F +AGGRON EQU $180 +CASTFORM EQU $181 +VOLBEAT EQU $182 +ILLUMISE EQU $183 +LILEEP EQU $184 +CRADILY EQU $185 +ANORITH EQU $186 +ARMALDO EQU $187 +RALTS EQU $188 +KIRLIA EQU $189 +GARDEVOIR EQU $18A +BAGON EQU $18B +SHELGON EQU $18C +SALAMENCE EQU $18D +BELDUM EQU $18E +METANG EQU $18F +METAGROSS EQU $190 +REGIROCK EQU $191 +REGICE EQU $192 +REGISTEEL EQU $193 +KYOGRE EQU $194 +GROUDON EQU $195 +RAYQUAZA EQU $196 +LATIAS EQU $197 +LATIOS EQU $198 +JIRACHI EQU $199 +DEOXYS EQU $19A +CHIMECHO EQU $19B diff --git a/SOURCE/constants/ribbons.asm b/SOURCE/constants/ribbons.asm new file mode 100644 index 0000000..e2553cf --- /dev/null +++ b/SOURCE/constants/ribbons.asm @@ -0,0 +1,7 @@ +MARINE_RIBBON EQU $00 +LAND_RIBBON EQU $01 +SKY_RIBBON EQU $02 +COUNTRY_RIBBON EQU $03 +NATIONAL_RIBBON EQU $04 +EARTH_RIBBON EQU $05 +WORLD_RIBBON EQU $06 \ No newline at end of file diff --git a/SOURCE/constants/scriptcommands.asm b/SOURCE/constants/scriptcommands.asm new file mode 100644 index 0000000..13533c8 --- /dev/null +++ b/SOURCE/constants/scriptcommands.asm @@ -0,0 +1,559 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $D3 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandscelebi.asm b/SOURCE/constants/scriptcommandscelebi.asm new file mode 100644 index 0000000..2378b78 --- /dev/null +++ b/SOURCE/constants/scriptcommandscelebi.asm @@ -0,0 +1,897 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $D3 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +COLORNG: MACRO + db $13 + db $48 + db $01 + db $68 + db $13 + db $4A + db $02 + db $23 + db $13 + db $4D + db $69 + db $43 + db $13 + db $4D + db $29 + db $44 + db $0F + db $1C + db $3F + db $0C + db $17 + db $80 + db $02 + db $32 + db $01 + db $3B + db $F5 + db $D5 + db $10 + db $48 + db $0D + db $4D + db $69 + db $43 + db $0D + db $4D + db $29 + db $44 + db $0F + db $1C + db $3F + db $0C + db $0A + db $4D + db $69 + db $43 + db $0A + db $4D + db $29 + db $44 + db $0E + db $1C + db $36 + db $0C + db $78 + db $40 + db $70 + db $40 + db $07 + db $28 + db $EE + db $D9 + db $02 + db $32 + db $17 + db $80 + db $02 + db $32 + db $16 + db $80 + db $06 + db $4B + db $18 + db $47 + db $00 + db $00 + db $00 + db $00 + db $18 + db $48 + db $00 + db $03 + db $F4 + db $91 + db $02 + db $02 + db $FD + db $43 + db $03 + db $00 + db $C3 + db $9E + db $26 + db $00 + db $90 + db $79 + db $00 + db $00 + db $6D + db $8E + db $02 + db $02 + ENDM +CREATEMONSETUP: MACRO + db $00 + db $B5 + db $84 + db $B0 + db $01 + db $20 + db $00 + db $90 + db $00 + db $00 + db $08 + db $49 + db $08 + db $68 + db $01 + db $90 + db $07 + db $48 + db $03 + db $90 + db $00 + db $00 + db $07 + db $48 + db $FB + db $21 + db $0A + db $22 + db $20 + db $23 + db $06 + db $4F + db $7E + db $46 + db $05 + db $36 + db $B6 + db $46 + db $38 + db $47 + db $04 + db $B0 + db $00 + db $BD + db $FC + db $91 + db $02 + db $02 + db $91 + db $79 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $99 + db $A7 + db $03 + db $08 + ENDM +GIVEMONSETUP: MACRO + db $01 + db $48 + db $02 + db $49 + db $08 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $1d + db $d9 + db $03 + db $08 + ENDM +SEENFLAG: MACRO + db $FB + db $20 + db $02 + db $21 + db $00 + db $4A + db $10 + db $47 + db $91 + db $0d + db $09 + db $08 + ENDM +CAUGHTFLAG: MACRO + db $FB + db $20 + db $03 + db $21 + db $00 + db $4A + db $10 + db $47 + db $91 + db $0d + db $09 + db $08 + ENDM +DECRYPT: MACRO + db $04 + db $48 + db $64 + db $21 + db $04 + db $4B + db $1A + db $78 + db $51 + db $43 + db $08 + db $44 + db $03 + db $4B + db $04 + db $4A + db $10 + db $60 + db $18 + db $47 + db $60 + db $43 + db $00 + db $03 + db $DC + db $E8 + db $02 + db $02 + db $15 + db $C6 + db $03 + db $08 + db $00 + db $92 + db $02 + db $02 + ENDM +SETOTID: MACRO + db $02 + db $49 + db $08 + db $68 + db $01 + db $21 + db $03 + db $A2 + db $01 + db $4B + db $18 + db $47 + db $00 + db $92 + db $02 + db $02 + db $ED + db $D2 + db $03 + db $08 + db $91 + db $79 + db $00 + db $00 + ENDM +CHECKSUM: MACRO + db $01 + db $49 + db $08 + db $68 + db $01 + db $4B + db $18 + db $47 + db $00 + db $92 + db $02 + db $02 + db $25 + db $B1 + db $03 + db $08 + ENDM +ENCRYPT: MACRO + db $01 + db $49 + db $08 + db $68 + db $01 + db $4B + db $18 + db $47 + db $00 + db $92 + db $02 + db $02 + db $f1 + db $C5 + db $03 + db $08 + ENDM +CREATEMON: MACRO + db $05 + db $48 + db $FB + db $21 + db $0A + db $22 + db $00 + db $23 + db $01 + db $24 + db $01 + db $25 + db $05 + db $4F + db $C0 + db $45 + db $00 + db $03 + db $FA + db $91 + db $02 + db $02 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandscelebibattle.asm b/SOURCE/constants/scriptcommandscelebibattle.asm new file mode 100644 index 0000000..68dcf84 --- /dev/null +++ b/SOURCE/constants/scriptcommandscelebibattle.asm @@ -0,0 +1,940 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +comparevar: MACRO + db $22 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +TEMPCELEBI: MACRO + db $00 + db $00 + db $00 + db $00 + db $91 + db $79 + db $00 + db $00 + db $5E + db $7A + db $97 + db $80 + db $FF + db $00 + db $00 + db $00 + db $00 + db $00 + db $01 + db $02 + db $51 + db $8A + db $64 + db $FF + db $00 + db $00 + db $00 + db $00 + db $CB + db $18 + db $00 + db $00 + db $FB + db $00 + db $00 + db $00 + db $30 + db $02 + db $00 + db $00 + db $00 + db $46 + db $00 + db $00 + db $5D + db $00 + db $69 + db $00 + db $D7 + db $00 + db $DB + db $00 + db $19 + db $14 + db $05 + db $19 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $FF + db $0A + db $A1 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + ENDM +STRUCTURETABLEG: MACRO + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + ENDM +STRUCTURETABLEA: MACRO + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + ENDM +STRUCTURETABLEE: MACRO + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + ENDM +STRUCTURETABLEM: MACRO + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + ENDM +LOADSTOREPARTYAMOUNT: MACRO + db $02 + db $49 + db $08 + db $78 + db $02 + db $49 + db $08 + db $60 + db $70 + db $47 + db $00 + db $00 + db $DC + db $E8 + db $02 + db $02 + db $F4 + db $91 + db $02 + db $02 + ENDM +COLORNG: MACRO + db $10 + db $48 + db $01 + db $68 + db $10 + db $4A + db $11 + db $4B + db $11 + db $4F + db $59 + db $43 + db $39 + db $44 + db $48 + db $00 + db $40 + db $0C + db $59 + db $43 + db $39 + db $44 + db $4D + db $00 + db $6D + db $0C + db $ED + db $03 + db $28 + db $43 + db $90 + db $64 + db $59 + db $43 + db $39 + db $44 + db $0B + db $4E + db $59 + db $43 + db $39 + db $44 + db $08 + db $0C + db $59 + db $43 + db $39 + db $44 + db $0D + db $0C + db $46 + db $40 + db $6E + db $40 + db $07 + db $2E + db $F4 + db $D9 + db $50 + db $80 + db $15 + db $80 + db $06 + db $48 + db $00 + db $47 + db $00 + db $00 + db $18 + db $48 + db $00 + db $03 + db $EC + db $8D + db $02 + db $02 + db $FD + db $43 + db $03 + db $00 + db $C3 + db $9E + db $26 + db $00 + db $91 + db $79 + db $00 + db $00 + db $0D + db $8F + db $02 + db $02 + ENDM +MEMCPYSETUP: MACRO + db $00 + db $B5 + db $02 + db $48 + db $02 + db $49 + db $03 + db $4A + db $0B + db $DF + db $05 + db $E0 + db $EC + db $8D + db $02 + db $02 + db $C0 + db $45 + db $00 + db $03 + db $08 + db $00 + db $00 + db $04 + ENDM +SUBSTRUCTURECPY: MACRO + db $20 + db $38 + db $0D + db $4D + db $00 + db $68 + db $18 + db $21 + db $07 + db $00 + db $06 + db $DF + db $38 + db $00 + db $00 + db $28 + db $03 + db $D5 + db $10 + db $31 + db $00 + db $29 + db $00 + db $D5 + db $18 + db $31 + db $0D + db $44 + db $03 + db $27 + db $07 + db $48 + db $20 + db $30 + db $07 + db $49 + db $07 + db $4A + db $2E + db $78 + db $89 + db $19 + db $0B + db $DF + db $00 + db $30 + db $18 + db $35 + db $01 + db $3F + db $F6 + db $D5 + db $08 + db $E0 + db $00 + db $00 + db $3C + db $8E + db $02 + db $02 + db $EC + db $8D + db $02 + db $02 + db $E0 + db $45 + db $00 + db $03 + db $03 + db $00 + db $00 + db $04 + ENDM +CHECKSUM: MACRO + db $05 + db $48 + db $06 + db $49 + db $06 + db $4A + db $0E + db $68 + db $17 + db $68 + db $37 + db $44 + db $36 + db $0C + db $37 + db $44 + db $3F + db $04 + db $3F + db $0C + db $07 + db $80 + db $00 + db $BD + db $DC + db $45 + db $00 + db $03 + db $34 + db $8E + db $02 + db $02 + db $08 + db $8E + db $02 + db $02 + ENDM +ENCRYPT: MACRO + db $01 + db $48 + db $00 + db $00 + db $01 + db $4B + db $18 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $f1 + db $C5 + db $03 + db $08 + ENDM +CALCSTATS: MACRO + db $01 + db $48 + db $00 + db $00 + db $01 + db $4B + db $18 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $B9 + db $B1 + db $03 + db $08 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +CAPTURECELEBI: MACRO + db $04 + db $48 + db $05 + db $49 + db $05 + db $4A + db $64 + db $26 + db $05 + db $4B + db $1F + db $78 + db $77 + db $43 + db $39 + db $44 + db $0B + db $DF + db $70 + db $47 + db $EC + db $8D + db $02 + db $02 + db $60 + db $43 + db $00 + db $03 + db $14 + db $00 + db $00 + db $04 + db $DA + db $E8 + db $02 + db $02 + ENDM +CELEBICOPY1: MACRO + db $02 + db $48 + db $03 + db $49 + db $03 + db $4A + db $0B + db $DF + db $70 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $EC + db $8D + db $02 + db $02 + db $14 + db $00 + db $00 + db $04 + ENDM +SRTEST: MACRO + db $00 + db $DF + db $70 + db $47 + ENDM +SRFIX: MACRO + db $01 + db $4D + db $01 + db $4E + db $00 + db $27 + db $70 + db $47 + db $70 + db $17 + db $00 + db $03 + db $A9 + db $33 + db $00 + db $03 + ENDM \ No newline at end of file diff --git a/SOURCE/constants/scriptcommandscelebibattleunlocked.asm b/SOURCE/constants/scriptcommandscelebibattleunlocked.asm new file mode 100644 index 0000000..f0011b4 --- /dev/null +++ b/SOURCE/constants/scriptcommandscelebibattleunlocked.asm @@ -0,0 +1,940 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +comparevar: MACRO + db $22 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +TEMPCELEBI: MACRO + db $00 + db $00 + db $00 + db $00 + db $91 + db $79 + db $00 + db $00 + db $5E + db $7A + db $97 + db $80 + db $FF + db $00 + db $00 + db $00 + db $00 + db $00 + db $01 + db $02 + db $51 + db $8A + db $64 + db $FF + db $00 + db $00 + db $00 + db $00 + db $CB + db $18 + db $00 + db $00 + db $FB + db $00 + db $00 + db $00 + db $30 + db $02 + db $00 + db $00 + db $00 + db $46 + db $00 + db $00 + db $5D + db $00 + db $69 + db $00 + db $D7 + db $00 + db $DB + db $00 + db $19 + db $14 + db $05 + db $19 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $FF + db $0A + db $A1 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + ENDM +STRUCTURETABLEG: MACRO + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + ENDM +STRUCTURETABLEA: MACRO + db $0C + db $0C + db $18 + db $24 + db $18 + db $24 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + ENDM +STRUCTURETABLEE: MACRO + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $18 + db $24 + db $0C + db $0C + db $24 + db $18 + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + ENDM +STRUCTURETABLEM: MACRO + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $24 + db $18 + db $24 + db $18 + db $0C + db $0C + db $00 + db $00 + db $00 + db $00 + db $00 + db $00 + ENDM +LOADSTOREPARTYAMOUNT: MACRO + db $02 + db $49 + db $08 + db $78 + db $02 + db $49 + db $08 + db $60 + db $70 + db $47 + db $00 + db $00 + db $DC + db $E8 + db $02 + db $02 + db $F4 + db $91 + db $02 + db $02 + ENDM +COLORNG: MACRO + db $10 + db $48 + db $01 + db $68 + db $10 + db $4A + db $11 + db $4B + db $11 + db $4F + db $59 + db $43 + db $39 + db $44 + db $48 + db $00 + db $40 + db $0C + db $59 + db $43 + db $39 + db $44 + db $4D + db $00 + db $6D + db $0C + db $ED + db $03 + db $28 + db $43 + db $90 + db $64 + db $59 + db $43 + db $39 + db $44 + db $0B + db $4E + db $59 + db $43 + db $39 + db $44 + db $08 + db $0C + db $59 + db $43 + db $39 + db $44 + db $0D + db $0C + db $46 + db $40 + db $6E + db $40 + db $07 + db $2E + db $00 + db $00 + db $50 + db $80 + db $15 + db $80 + db $06 + db $48 + db $00 + db $47 + db $00 + db $00 + db $18 + db $48 + db $00 + db $03 + db $EC + db $8D + db $02 + db $02 + db $FD + db $43 + db $03 + db $00 + db $C3 + db $9E + db $26 + db $00 + db $91 + db $79 + db $00 + db $00 + db $0D + db $8F + db $02 + db $02 + ENDM +MEMCPYSETUP: MACRO + db $00 + db $B5 + db $02 + db $48 + db $02 + db $49 + db $03 + db $4A + db $0B + db $DF + db $05 + db $E0 + db $EC + db $8D + db $02 + db $02 + db $C0 + db $45 + db $00 + db $03 + db $08 + db $00 + db $00 + db $04 + ENDM +SUBSTRUCTURECPY: MACRO + db $20 + db $38 + db $0D + db $4D + db $00 + db $68 + db $18 + db $21 + db $07 + db $00 + db $06 + db $DF + db $38 + db $00 + db $00 + db $28 + db $03 + db $D5 + db $10 + db $31 + db $00 + db $29 + db $00 + db $D5 + db $18 + db $31 + db $0D + db $44 + db $03 + db $27 + db $07 + db $48 + db $20 + db $30 + db $07 + db $49 + db $07 + db $4A + db $2E + db $78 + db $89 + db $19 + db $0B + db $DF + db $00 + db $30 + db $18 + db $35 + db $01 + db $3F + db $F6 + db $D5 + db $08 + db $E0 + db $00 + db $00 + db $3C + db $8E + db $02 + db $02 + db $EC + db $8D + db $02 + db $02 + db $E0 + db $45 + db $00 + db $03 + db $03 + db $00 + db $00 + db $04 + ENDM +CHECKSUM: MACRO + db $05 + db $48 + db $06 + db $49 + db $06 + db $4A + db $0E + db $68 + db $17 + db $68 + db $37 + db $44 + db $36 + db $0C + db $37 + db $44 + db $3F + db $04 + db $3F + db $0C + db $07 + db $80 + db $00 + db $BD + db $DC + db $45 + db $00 + db $03 + db $34 + db $8E + db $02 + db $02 + db $08 + db $8E + db $02 + db $02 + ENDM +ENCRYPT: MACRO + db $01 + db $48 + db $00 + db $00 + db $01 + db $4B + db $18 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $f1 + db $C5 + db $03 + db $08 + ENDM +CALCSTATS: MACRO + db $01 + db $48 + db $00 + db $00 + db $01 + db $4B + db $18 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $B9 + db $B1 + db $03 + db $08 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +CAPTURECELEBI: MACRO + db $04 + db $48 + db $05 + db $49 + db $05 + db $4A + db $64 + db $26 + db $05 + db $4B + db $1F + db $78 + db $77 + db $43 + db $39 + db $44 + db $0B + db $DF + db $70 + db $47 + db $EC + db $8D + db $02 + db $02 + db $60 + db $43 + db $00 + db $03 + db $14 + db $00 + db $00 + db $04 + db $DA + db $E8 + db $02 + db $02 + ENDM +CELEBICOPY1: MACRO + db $02 + db $48 + db $03 + db $49 + db $03 + db $4A + db $0B + db $DF + db $70 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $EC + db $8D + db $02 + db $02 + db $14 + db $00 + db $00 + db $04 + ENDM +SRTEST: MACRO + db $00 + db $DF + db $70 + db $47 + ENDM +SRFIX: MACRO + db $01 + db $4D + db $01 + db $4E + db $00 + db $27 + db $70 + db $47 + db $70 + db $17 + db $00 + db $03 + db $A9 + db $33 + db $00 + db $03 + ENDM \ No newline at end of file diff --git a/SOURCE/constants/scriptcommandscelebiworking.asm b/SOURCE/constants/scriptcommandscelebiworking.asm new file mode 100644 index 0000000..eae1fd1 --- /dev/null +++ b/SOURCE/constants/scriptcommandscelebiworking.asm @@ -0,0 +1,594 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $D3 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +COLORNG: MACRO + db $00 + db $03 + db $48 + db $01 + db $68 + db $03 + db $4A + db $11 + db $60 + db $03 + db $4D + db $04 + db $4E + db $69 + db $43 + db $31 + db $44 + db $18 + db $48 + db $00 + db $03 + db $F4 + db $91 + db $02 + db $02 + db $FD + db $43 + db $03 + db $00 + db $C3 + db $9E + db $26 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandsdeoxys.asm b/SOURCE/constants/scriptcommandsdeoxys.asm new file mode 100644 index 0000000..620163a --- /dev/null +++ b/SOURCE/constants/scriptcommandsdeoxys.asm @@ -0,0 +1,559 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $C8 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandsgroudon.asm b/SOURCE/constants/scriptcommandsgroudon.asm new file mode 100644 index 0000000..213143c --- /dev/null +++ b/SOURCE/constants/scriptcommandsgroudon.asm @@ -0,0 +1,566 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +setweather: MACRO + db $A4 + db \1 + ENDM +doweather: MACRO + db $A5 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $CD + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandshooh.asm b/SOURCE/constants/scriptcommandshooh.asm new file mode 100644 index 0000000..ec36859 --- /dev/null +++ b/SOURCE/constants/scriptcommandshooh.asm @@ -0,0 +1,566 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +setweather: MACRO + db $A4 + db \1 + ENDM +doweather: MACRO + db $A5 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $4F + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $D3 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandskyogre.asm b/SOURCE/constants/scriptcommandskyogre.asm new file mode 100644 index 0000000..f602f67 --- /dev/null +++ b/SOURCE/constants/scriptcommandskyogre.asm @@ -0,0 +1,559 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $CB + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandslugia.asm b/SOURCE/constants/scriptcommandslugia.asm new file mode 100644 index 0000000..8577e5d --- /dev/null +++ b/SOURCE/constants/scriptcommandslugia.asm @@ -0,0 +1,557 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $02 + db $A2 + db $18 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $D3 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandsmew.asm b/SOURCE/constants/scriptcommandsmew.asm new file mode 100644 index 0000000..49a6d4a --- /dev/null +++ b/SOURCE/constants/scriptcommandsmew.asm @@ -0,0 +1,558 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $C9 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/scriptcommandstest.asm b/SOURCE/constants/scriptcommandstest.asm new file mode 100644 index 0000000..35ceba9 --- /dev/null +++ b/SOURCE/constants/scriptcommandstest.asm @@ -0,0 +1,559 @@ +LASTRESULT EQU $800D +end: MACRO + db $02 + ENDM +return: MACRO + db $03 + ENDM +goto: MACRO + db $05 + dd \1 + ENDM +goto_if: MACRO + db $06 + db \1 + dd \2 + ENDM +call_if: MACRO + db $07 + db \1 + dd \2 + ENDM +gotostd: MACRO + db $08 + db \1 + ENDM +callstd: MACRO + db $09, \1 + ENDM +gotostd_if: MACRO + db $0A + db \1 + db \2 + ENDM +callstd_if: MACRO + db $0B + db \3 + db \2 + ENDM +returnram: MACRO + db $0C + ENDM +killscript: MACRO + db $0D + ENDM +setbyte: MACRO + db $0E, \1 + ENDM +loadword: MACRO + db $0F + db \1 + dd \2 + ENDM +callasm: MACRO + db $23 + dd \1 + ENDM +loadbyte: MACRO + db $10 + db \1 + db \2 + ENDM +writebytetoaddr: MACRO + db $11 + db \1 + dd \2 + ENDM +loadbytefromaddr: MACRO + db $12 + db \1 + dd \2 + ENDM +setptrbyte: MACRO + db $13 + db \1 + dd \2 + ENDM +copylocal: MACRO + db $14 + db \1 + db \2 + ENDM +copybyte: MACRO + db $15 + dd \1 + dd \2 + ENDM +setvar: MACRO + db $16 + dw \1 + dw \2 + ENDM +addvar: MACRO + db $17 + dw \1 + dw \2 + ENDM +subvar: MACRO + db $18 + dw \1 + dw \2 + ENDM +copyvar: MACRO + db $19 + dw \1 + dw \2 + ENDM +copyvarifnotzero: MACRO + db $1A + dw \1, \2 + ENDM +compare: MACRO + db $21 + dw \1, \2 + ENDM +setflag: MACRO + db $29 + dw \1 + ENDM +clearflag: MACRO + db $2A + dw \1 + ENDM +checkflag: MACRO + db $2B + dw \1 + ENDM +playfanfare: MACRO + db $31 + dw \1 + ENDM +waitfanfare: MACRO + db $32 + ENDM +getpartysize: MACRO + db $43 + ENDM +fadeout: MACRO + db $37 + dw \1 + ENDM +additem: MACRO + db $44 + dw \1, \2 + ENDM +checkitemroom: MACRO + db $46 + dw \1, \2 + ENDM +checkitem: MACRO + db $47 + dw \1, \2 + ENDM +checkitemtype: MACRO + db $48 + dw \1 + ENDM +checkpcitem: MACRO + db $4A + dw \1, \2 + ENDM +adddecoration: MACRO + db $4b + dw \1 + ENDM +faceplayer: MACRO + db $5A + ENDM +waitmsg: MACRO + db $66 + ENDM +lock: MACRO + db $6A + ENDM +release: MACRO + db $6C + ENDM +waitkeypress: MACRO + db $6D + ENDM +showmonpic: MACRO + db $75 + dw \1 + db \2 + db \3 + ENDM +hidemonpic: MACRO + db $76 + ENDM +hidesprite: MACRO + db $53 + dw \1 + ENDM +showcontestpainting: MACRO + db $77 + db \1 + ENDM +braillemessage: MACRO + db $78 + dd \1 + ENDM +brailleformat: MACRO + db \1 + db \2 + db \3 + db \4 + db \5 + db \6 + ENDM +givemon: MACRO + db $79 + dw \1 + db \2 + dw \3 + dd \4 + dd \5 + db \6 + ENDM +giveegg: MACRO + db $7A + dw \1 + ENDM +setmonmove: MACRO + db $7b + db \1 + db \2 + dw \3 + ENDM +checkpartymove: MACRO + db $7c + dw \1 + ENDM +bufferspeciesname: MACRO + db $7d + db \1 + dw \2 + ENDM +bufferleadmonspeciesname: MACRO + db $7E + db \1 + ENDM +bufferpartymonnick: MACRO + db $7f + db \1 + dw \2 + ENDM +bufferitemname: MACRO + db $80 + db \1 + dw \2 + ENDM +bufferdecorationname: MACRO + db $81 + db \1 + dw \2 + ENDM +buffermovename: MACRO + db $82 + db \1 + dw \2 + ENDM +random: MACRO + db $8F + dw \1 + ENDM +sound: MACRO + db $2F + dw \1 + ENDM +special: MACRO + db $25 + dw \1 + ENDM +pause: MACRO + db $28 + dw \1 + ENDM +setrespawn: MACRO + db $9F + dw \1 + ENDM +checkplayergender: MACRO + db $A0 + ENDM +applymovement: MACRO + db $50 + db \1 + dw \2 + ENDM +waitmovement: MACRO + db $51 + db \1 + ENDM +playmoncry: MACRO + db $A1 + dw \1 + dw \2 + ENDM +playsong: MACRO + db $33 + dw \1 + db \2 + ENDM +setwildbattle: MACRO + db $B6 + dw \1 + db \2 + dw \3 + ENDM +dowildbattle: MACRO + db $B7 + ENDM +setvirtualaddress: MACRO + db $B8 + GBAPTR \1 + ENDM +waitstate: MACRO + db $27 + ENDM +virtualgotoif: MACRO + db $BB + db \1 + GBAPTR \2 + ENDM +virtualmsgbox: MACRO + db $BD + GBAPTR \1 + ENDM +virtualloadpointer: MACRO + db $BE + GBAPTR \1 + ENDM +waitmoncry: MACRO + db $C5 + ENDM +setmoneventlegal: MACRO + db $CD + dw \1 + ENDM +checkmoneventlegal: MACRO + db $CE + dw \1 + ENDM + +setmonmetlocation: MACRO + db $D2 + dw \1 + db \2 + ENDM +warp: MACRO + db $3F + db \1 + db \2 + db \3 + db \4 + db \5 + ENDM +buffernumber: MACRO + db $83 + db \1 + dw \2 + ENDM +closeonkeypress: MACRO + db $68 + ENDM +EVENTLEGAL: MACRO + db $02 + db $48 + db $4F + db $21 + db $03 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $70 + db $47 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +EVENTLEGAL2: MACRO + db $00 + db $02 + db $48 + db $4F + db $21 + db $02 + db $4B + db $03 + db $A2 + db $70 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $10 + db $00 + db $00 + db $00 + ENDM +METLOCATION: MACRO + db $02 + db $48 + db $23 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $C8 + db $00 + db $00 + db $00 + ENDM +GAMEORIGIN: MACRO + db $02 + db $48 + db $25 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $03 + db $00 + db $00 + db $00 + ENDM +GAMELANG: MACRO + db $02 + db $48 + db $03 + db $21 + db $02 + db $4B + db $03 + db $A2 + db $18 + db $47 + db $00 + db $00 + db $C0 + db $45 + db $00 + db $03 + db $ED + db $D2 + db $03 + db $08 + db $01 + db $00 + db $00 + db $00 + ENDM +TID: MACRO + db $00 + db $02 + db $49 + db $00 + db $20 + db $08 + db $80 + db $70 + db $47 + db $00 + db $00 + db $AE + db $4E + db $02 + db $02 + ENDM +fadescreen: MACRO + db $97 + db \1 + ENDM +doanimation: MACRO + db $9C + dw \1 + ENDM +SPRITE: MACRO + db $00 + db $06 + db $48 + db $07 + db $4D + db $03 + db $4E + db $00 + db $21 + db $00 + db $22 + db $00 + db $23 + db $02 + db $4F + db $18 + db $24 + db $38 + db $47 + db $00 + db $00 + db $44 + db $21 + db $37 + db $08 + db $DD + db $0B + db $00 + db $08 + db $98 + db $7D + db $00 + db $03 + db $0C + db $49 + db $00 + db $30 + ENDM diff --git a/SOURCE/constants/trainerclasses.asm b/SOURCE/constants/trainerclasses.asm new file mode 100644 index 0000000..d8c79a5 --- /dev/null +++ b/SOURCE/constants/trainerclasses.asm @@ -0,0 +1,89 @@ +AQUA_LEADER EQU $00 ; * +TEAM_AQUA_M EQU $01 ; TEAM AQUA* +TEAM_AQUA_F EQU $02 ; TEAM AQUA* +; no AQUA ADMIN +AROMA_LADY EQU $03 +RUIN_MANIAC EQU $04 +INTERVIEWER EQU $05 ; * +TUBER_F EQU $06 ; TUBER +TUBER_M EQU $07 ; TUBER +COOLTRAINER_M EQU $08 ; COOLTRAINER♂ +COOLTRAINER_F EQU $09 ; COOLTRAINER♀ +HEX_MANIAC EQU $0A +LADY EQU $0B +BEAUTY EQU $0C +RICH_BOY EQU $0D +POKEMANIAC EQU $0E ; POKéMANIAC +SWIMMER_M EQU $0F ; SWIMMER♂ +TC_BLACK_BELT EQU $10 ; item name +GUITARIST EQU $11 +KINDLER EQU $12 +CAMPER EQU $13 +BUG_MANIAC EQU $14 +PSYCHIC_M EQU $15 ; PSYCHIC +PSYCHIC_F EQU $16 ; PSYCHIC +GENTLEMAN EQU $17 +ELITE_FOUR_SIDNEY EQU $18 ; ELITE FOUR* +ELITE_FOUR_PHOEBE EQU $19 ; ELITE FOUR* +LEADER_ROXANNE EQU $1A ; LEADER* +LEADER_BRAWLY EQU $1B ; LEADER* +LEADER_TATE_LIZA EQU $1C ; LEADER* +SCHOOL_KID_M EQU $1D ; SCHOOL KID +SCHOOL_KID_F EQU $1E ; SCHOOL KID +SR_AND_JR EQU $1F ; SR. AND JR.* +; no WINSTRATE +POKEFAN_M EQU $20 ; POKéFAN +POKEFAN_F EQU $21 ; POKéFAN +EXPERT_M EQU $22 ; EXPERT +EXPERT_F EQU $23 ; EXPERT +YOUNGSTER EQU $24 +CHAMPION EQU $25 ; * +FISHERMAN EQU $26 +TRIATHLETE_M_BIKE EQU $27 ; TRIATHLETE +TRIATHLETE_F_BIKE EQU $28 ; TRIATHLETE +TRIATHLETE_M_RUN EQU $29 ; TRIATHLETE +TRIATHLETE_F_RUN EQU $2A ; TRIATHLETE +TRIATHLETE_M_SWIM EQU $2B ; TRIATHLETE +TRIATHLETE_F_SWIM EQU $2C ; TRIATHLETE +DRAGON_TAMER EQU $2D +BIRD_KEEPER EQU $2E +NINJA_BOY EQU $2F +BATTLE_GIRL EQU $30 +PARASOL_LADY EQU $31 +SWIMMER_F EQU $32 ; SWIMMER♀ +PICNICKER EQU $33 +TWINS EQU $34 ; * +SAILOR EQU $35 +BOARDER_1 EQU $36 ; * +BOARDER_2 EQU $37 ; * +COLLECTOR EQU $38 +PKMN_TRAINER_WALLY EQU $39 ; \{PKMN} TRAINER* +PKMN_TRAINER_BRENDAN_1 EQU $3A ; \{PKMN} TRAINER* +PKMN_TRAINER_BRENDAN_2 EQU $3B ; \{PKMN} TRAINER* +PKMN_TRAINER_BRENDAN_3 EQU $3C ; \{PKMN} TRAINER* +PKMN_TRAINER_MAY_1 EQU $3D ; \{PKMN} TRAINER* +PKMN_TRAINER_MAY_2 EQU $3E ; \{PKMN} TRAINER* +PKMN_TRAINER_MAY_3 EQU $3F ; \{PKMN} TRAINER* +PKMN_BREEDER_M EQU $40 ; \{PKMN} BREEDER +PKMN_BREEDER_F EQU $41 ; \{PKMN} BREEDER +PKMN_RANGER_M EQU $42 ; \{PKMN} RANGER +PKMN_RANGER_F EQU $43 ; \{PKMN} RANGER +MAGMA_LEADER EQU $44 ; * +TEAM_MAGMA_M EQU $45 ; * +TEAM_MAGMA_F EQU $46 ; * +; no MAGMA ADMIN +LASS EQU $47 +BUG_CATCHER EQU $48 +HIKER EQU $49 +YOUNG_COUPLE EQU $4A ; * +OLD_COUPLE EQU $4B ; * +SIS_AND_BRO EQU $4C ; * +; $4D: BLACK BELT with a Lass sprite +; $4E: PKMN TRAINER with a Youngster sprite +; $4F: GUITARIST with a Youngster sprite +; $8F: GENTLEMAN with a PKMN Breeder sprite +; $FB: TWINS with May’s sprite +; $FC: PKMN TRAINER with a Pokéfan (♂) sprite +; $FD: SAILOR with May’s sprite +; $FE: PKMN TRAINER with a Sis and Bro sprite +; $FF: BOARDER with May’s sprite \ No newline at end of file diff --git a/SOURCE/deoxysevent/00-C000.asm b/SOURCE/deoxysevent/00-C000.asm new file mode 100644 index 0000000..a617933 --- /dev/null +++ b/SOURCE/deoxysevent/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "testd.bin" +TicketPalette: ; 1604 + INCBIN "testd.pal" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $08,$08,$00,$01,$01,$01,$01 ; width 15, height 8 + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Ruby or \n" + db "Sapphire and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Ruby or\n" + db "Sapphire to begin sending the\n" + db "DEOXYS EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "DEOXYS EVENT delivery in Progress...\0" + +TicketDelivered: ; 1a2f + db "DEOXYS EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/deoxysevent/00-C000.raw b/SOURCE/deoxysevent/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/deoxysevent/00-C000.raw differ diff --git a/SOURCE/deoxysevent/Makefile b/SOURCE/deoxysevent/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/deoxysevent/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/deoxysevent/eonticket.asm b/SOURCE/deoxysevent/eonticket.asm new file mode 100644 index 0000000..340cd28 --- /dev/null +++ b/SOURCE/deoxysevent/eonticket.asm @@ -0,0 +1,180 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/scriptcommandsdeoxys.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,3 ; Meteor Falls BF2 + db 1 ; TM02 Item + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + + + db MIX_RECORDS_ITEM + db 1 ; ??? +IF REGION == REGION_DE + db 5 ; distribution limit from German debug ROM +ELSE + db 30 ; distribution limit from English release +ENDC + dw EON_TICKET + + + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "A Meteorite has crashed in METEOR FALLS.\n" + Text_EN "Something now lurks in the caverns below..@" + + + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + checkitemroom MOON_STONE, 1 + + compare LASTRESULT, 0 + + virtualgotoif 1, NoRoomToGive + + + + + setwildbattle $19A, $1E, $122 + + copyvarifnotzero $8000, MOON_STONE + + copyvarifnotzero $8001, 1 + + checkitemtype $0001 + + callstd 1 + + closeonkeypress + + fadeout $3 + + virtualmsgbox Rumbling + + waitmsg + + waitkeypress + + release + + setvar $8004, $000F + + setvar $8005, $000F + + setvar $8006, $0FF3 + + setvar $8007, $000F + + + + special $136 + + sound $58 + + sound $58 + + waitstate + + pause $28 + + special $136 + + waitstate + + pause $28 + + callasm $2028E49 + + callasm $2028E5F + + callasm $2028E77 + + playmoncry $19A, $0 + + waitmoncry + + special $138 + + playsong $01CF, $0 + + + + + + +.delete_script + killscript + + + + EVENTLEGAL2 + METLOCATION + GAMEORIGIN + +NoRoomToGive: + virtualmsgbox ItemsPocketIsFull + waitmsg + waitkeypress + release + end + + + +ItemsPocketIsFull: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "The Items Pocket in your Bag\n" + Text_EN "is full.@" + +Rumbling: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "What is that rumbling?@" + + + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + clearflag $0438 + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + + + + + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/deoxysevent/nedclib.dll b/SOURCE/deoxysevent/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/deoxysevent/nedclib.dll differ diff --git a/SOURCE/deoxysevent/nedcmake b/SOURCE/deoxysevent/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/deoxysevent/nedcmake differ diff --git a/SOURCE/deoxysevent/nevpk b/SOURCE/deoxysevent/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/deoxysevent/nevpk differ diff --git a/SOURCE/deoxysevent/prologue.asm b/SOURCE/deoxysevent/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/deoxysevent/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/deoxysevent/rgbasm b/SOURCE/deoxysevent/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/deoxysevent/rgbasm differ diff --git a/SOURCE/groudonevent/00-C000.asm b/SOURCE/groudonevent/00-C000.asm new file mode 100644 index 0000000..022d2a0 --- /dev/null +++ b/SOURCE/groudonevent/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "groudon.bin" +TicketPalette: ; 1604 + INCBIN "groudonpal.bin" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $6,$6,$01,$01,$01,$01,$01 ; width 15, height 8 + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Sapphire\n" + db "version and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Sapphire\n" + db "version to begin sending the\n" + db "GROUDON EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "GROUDON EVENT delivery in Progress..\0" + +TicketDelivered: ; 1a2f + db "GROUDON EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/groudonevent/00-C000.raw b/SOURCE/groudonevent/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/groudonevent/00-C000.raw differ diff --git a/SOURCE/groudonevent/Makefile b/SOURCE/groudonevent/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/groudonevent/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/groudonevent/eonticket.asm b/SOURCE/groudonevent/eonticket.asm new file mode 100644 index 0000000..73f599a --- /dev/null +++ b/SOURCE/groudonevent/eonticket.asm @@ -0,0 +1,237 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/scriptcommandsgroudon.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,13 ; Jagged Pass + db 3 ; burn heal + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + + + db MIX_RECORDS_ITEM + db 1 ; ??? +IF REGION == REGION_DE + db 5 ; distribution limit from German debug ROM +ELSE + db 30 ; distribution limit from English release +ENDC + dw EON_TICKET + + + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "Something ANCIENT on JAGGED PASS\n" + Text_EN "is disturbing the people of LAVARIDGE.@" + + + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + checkitemroom RED_ORB, 1 + + compare LASTRESULT, 0 + + virtualgotoif 1, NoRoomToGive + + + + setwildbattle $195, $46, $00CB + + copyvarifnotzero $8000, RED_ORB + + copyvarifnotzero $8001, 1 + + checkitemtype $0002 + + callstd 1 + + closeonkeypress + + fadeout $3 + + setweather $6 + + doweather + + setvar $8004, $000F + + setvar $8005, $000F + + setvar $8006, $0FF3 + + setvar $8007, $000F + + special $131 + + sound $27 + + pause $28 + + virtualmsgbox Ancient + + sound $27 + + waitmsg + + sound $27 + + waitkeypress + + sound $27 + + release + + special $136 + + callasm $2028E59 + + callasm $2028E71 + + playmoncry $195, $0 + + virtualmsgbox Groudon + + waitmsg + + waitmoncry + + waitkeypress + + release + + special $119 + + sound $6B + + waitstate + + pause $70 + + special $138 + + playsong $01CF, $0 + + + + + +.delete_script + killscript + + + + + METLOCATION + GAMEORIGIN + + +NoRoomToGive: + virtualmsgbox ItemsPocketIsFull + waitmsg + waitkeypress + release + end + + + +ItemsPocketIsFull: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "The KEY ITEMS Pocket in your Bag\n" + Text_EN "is full.@" + +Groudon: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "Groudon: Grrgggrrrrah!@" + +Ancient: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "A Super Ancient Pokémon is\n" + Text_EN "reacting with the RED ORB!@" + + + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + checkitem RED_ORB, 1 + + compare LASTRESULT, 1 + + virtualgotoif 1, .ineligible + + checkpcitem RED_ORB, 1 + + compare LASTRESULT, 1 + + virtualgotoif 1, .ineligible + + checkflag $123 + + virtualgotoif 0, .defeated + + + + clearflag $042E + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + +.ineligible + virtualloadpointer SapphireVersion + setbyte 3 + end + +.defeated + virtualloadpointer Elite4 + setbyte 3 + end + +SapphireVersion: + Text_EN "This event is only for Pokémon Saphire\n"" + Text_EN "and can only be played once.@"" + + Text_DE "Deine BASIS-TASCHE ist voll\n" + Text_DE "Deine BASIS-TASCHE ist voll.@" + +Elite4: + Text_EN "You must have defeated the\n" + Text_EN "Elite 4 to play this event.@" + + Text_DE "Deine BASIS-TASCHE ist voll\n" + Text_DE "Deine BASIS-TASCHE ist voll.@" + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/groudonevent/eonticket.md5 b/SOURCE/groudonevent/eonticket.md5 new file mode 100644 index 0000000..cb426e5 --- /dev/null +++ b/SOURCE/groudonevent/eonticket.md5 @@ -0,0 +1 @@ +901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80 diff --git a/SOURCE/groudonevent/groudon.bin b/SOURCE/groudonevent/groudon.bin new file mode 100644 index 0000000..9e1702f Binary files /dev/null and b/SOURCE/groudonevent/groudon.bin differ diff --git a/SOURCE/groudonevent/groudonpal.bin b/SOURCE/groudonevent/groudonpal.bin new file mode 100644 index 0000000..0207bb0 Binary files /dev/null and b/SOURCE/groudonevent/groudonpal.bin differ diff --git a/SOURCE/groudonevent/nedclib.dll b/SOURCE/groudonevent/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/groudonevent/nedclib.dll differ diff --git a/SOURCE/groudonevent/nedcmake b/SOURCE/groudonevent/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/groudonevent/nedcmake differ diff --git a/SOURCE/groudonevent/nevpk b/SOURCE/groudonevent/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/groudonevent/nevpk differ diff --git a/SOURCE/groudonevent/prologue.asm b/SOURCE/groudonevent/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/groudonevent/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/groudonevent/rgbasm b/SOURCE/groudonevent/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/groudonevent/rgbasm differ diff --git a/SOURCE/groudonevent/rgblink b/SOURCE/groudonevent/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/groudonevent/rgblink differ diff --git a/SOURCE/hoohevent/00-C000.asm b/SOURCE/hoohevent/00-C000.asm new file mode 100644 index 0000000..c8088e4 --- /dev/null +++ b/SOURCE/hoohevent/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "hoohtest.bin" +TicketPalette: ; 1604 + INCBIN "hoohtestpal.bin" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $06,$06,$00,$00,$01,$01,$01 ; width 15, height 8 + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Ruby or \n" + db "Sapphire and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Ruby or\n" + db "Sapphire to begin sending the\n" + db "Ho-Oh EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "Ho-Oh EVENT delivery in Progress...\0" + +TicketDelivered: ; 1a2f + db "Ho-Oh EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/hoohevent/00-C000.raw b/SOURCE/hoohevent/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/hoohevent/00-C000.raw differ diff --git a/SOURCE/hoohevent/Makefile b/SOURCE/hoohevent/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/hoohevent/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/hoohevent/eonticket.asm b/SOURCE/hoohevent/eonticket.asm new file mode 100644 index 0000000..4ba3de6 --- /dev/null +++ b/SOURCE/hoohevent/eonticket.asm @@ -0,0 +1,190 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/scriptcommandshooh.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,21 ; Abandoned Ship + db 1 ; item in bottom right room + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + + + db MIX_RECORDS_ITEM + db 1 ; ??? +IF REGION == REGION_DE + db 5 ; distribution limit from German debug ROM +ELSE + db 30 ; distribution limit from English release +ENDC + dw EON_TICKET + + + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "A magificent rainbow has been seen.\n" + Text_EN "above MT. PYRE.@" + + + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + checkitemroom SACRED_ASH, 1 + + compare LASTRESULT, 0 + + virtualgotoif 1, NoRoomToGive + + + + + setwildbattle $FA, $46, $00B3 + + copyvarifnotzero $8000, SACRED_ASH + + copyvarifnotzero $8001, 1 + + checkitemtype $0001 + + callstd 1 + + closeonkeypress + + fadeout $3 + + special $13D + + sound $50 + + waitstate + + special $13B + + sound $5E + + waitstate + + pause $28 + + special $13B + + waitstate + + pause $28 + + special $13B + + waitstate + + pause $28 + + callasm $2028E49 + + callasm $2028E5F + + callasm $2028E77 + + playmoncry $FA, $0 + + special $13D + + sound $50 + + virtualmsgbox Hooh + + waitmsg + + waitkeypress + + release + + waitmoncry + + pause $28 + + special $139 + + playsong $0166, $0 + + + + + + +.delete_script + killscript + + + + EVENTLEGAL2 + METLOCATION + GAMEORIGIN + + +NoRoomToGive: + virtualmsgbox ItemsPocketIsFull + waitmsg + waitkeypress + release + end + + + +ItemsPocketIsFull: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "The Items Pocket in your Bag\n" + Text_EN "is full.@" + +Hooh: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "Ho-Oh: Shaoooh!@" + + + + + + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + clearflag $0431 + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + + + + + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/hoohevent/eonticket.md5 b/SOURCE/hoohevent/eonticket.md5 new file mode 100644 index 0000000..cb426e5 --- /dev/null +++ b/SOURCE/hoohevent/eonticket.md5 @@ -0,0 +1 @@ +901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80 diff --git a/SOURCE/hoohevent/hoohtest.bin b/SOURCE/hoohevent/hoohtest.bin new file mode 100644 index 0000000..485c464 Binary files /dev/null and b/SOURCE/hoohevent/hoohtest.bin differ diff --git a/SOURCE/hoohevent/hoohtestpal.bin b/SOURCE/hoohevent/hoohtestpal.bin new file mode 100644 index 0000000..6b9dea3 Binary files /dev/null and b/SOURCE/hoohevent/hoohtestpal.bin differ diff --git a/SOURCE/hoohevent/nedclib.dll b/SOURCE/hoohevent/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/hoohevent/nedclib.dll differ diff --git a/SOURCE/hoohevent/nedcmake b/SOURCE/hoohevent/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/hoohevent/nedcmake differ diff --git a/SOURCE/hoohevent/nevpk b/SOURCE/hoohevent/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/hoohevent/nevpk differ diff --git a/SOURCE/hoohevent/prologue.asm b/SOURCE/hoohevent/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/hoohevent/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/hoohevent/rgbasm b/SOURCE/hoohevent/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/hoohevent/rgbasm differ diff --git a/SOURCE/hoohevent/rgblink b/SOURCE/hoohevent/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/hoohevent/rgblink differ diff --git a/SOURCE/kyogrevent/00-C000.asm b/SOURCE/kyogrevent/00-C000.asm new file mode 100644 index 0000000..594b781 --- /dev/null +++ b/SOURCE/kyogrevent/00-C000.asm @@ -0,0 +1,174 @@ +INCLUDE "../macros.asm" +SECTION "eonticket",ROM0[$100] +jp Start +db $00 + +TicketSprite: ; 104 + INCBIN "ogre.bin" +TicketPalette: ; 1604 + INCBIN "ogrepal.bin" + +Prologue: + INCBIN "prologue-{REGION_NAME}.bin" + +DataPacket: ; 164a + INCBIN "eonticket-{REGION_NAME}.mev" + db 0,0,0 ; padding + +INCLUDE "../common/mem_struct.asm" + +SpriteData: + dw TicketSprite,TicketPalette + db $6,$6,$01,$01,$01,$01,$01 ; width 15, height 8 + +Instructions1: ; 1921 + db "Link e-Reader to Pokémon Ruby\n" + db "version and select MYSTERY EVENTS\n" + db "on the game's main menu.\n" + db "Press the B Button to cancel.\0" + +Instructions2: ; 199d + db "Press the A Button on the Game Boy\n" + db "Advance containing Pokémon Ruby\n" + db "version to begin sending the\n" + db "KYOGRE EVENT.\0" + +DeliveryInProcess: ; 1a0d + db "KYOGRE EVENT delivery in Progress...\0" + +TicketDelivered: ; 1a2f + db "KYOGRE EVENT delivered!\n" + db "\n" + db "Press the A Button to resend.\n" + db "Press the B Button to cancel.\0" + +; this function is subtly different than the one +; on the Battle e cards, for no apparent reason +TransferData: + LD_IND_HL SomeVar1 + push de + ld hl, $bbbb + LD_IND_HL Space_1 + EX_DE_HL + LD_IND_HL Space_2 + API_0C7 Space_1 + + wait $01 + pop hl + inc hl + ld b, $01 + call WordShiftRight + + LD_IND_HL SomeVar2 +.asm_1aa1 + LD_HL_IND SomeVar2 + ld a, l + or h + ret z + + ld hl, $8888 + LD_IND_HL Space_1 + ld e, $01 + +.asm_1aaf + ld a, e + cp $08 + jr nc, .asm_1ad9 + + push de + LD_HL_IND SomeVar1 + ld c, [hl] + inc hl + ld b, [hl] + inc hl + LD_IND_HL SomeVar1 + ld l, e + ld h, $00 + add hl, hl + ld de, Space_1 + add hl, de + ld [hl], c + inc hl + ld [hl], b + pop de + LD_HL_IND SomeVar2 + dec hl + LD_IND_HL SomeVar2 + ld a, l + or h + jr z, .asm_1ad9 + + inc e + jr .asm_1aaf + +.asm_1ad9 + API_0C7 Space_1 + wait $01 + jr .asm_1aa1 + +Start: ; 1ae2 + API_121 + + CreateCustomSprite SpriteHandlePtr, $80, SpriteData + SetSpritePos SpriteHandlePtr, 120, 64 + SpriteHide SpriteHandlePtr + + CreateRegion RegionHandlePtr, 30, 6, 0, 14, 0, 4 + + ld h, a + ld l, $00 + SetTextSize + + API_09B RegionHandlePtr, $0102 + SetTextColor RegionHandlePtr, 2, 0 + SetRegionColor RegionHandlePtr, 0 + SetBackgroundPalette 16, $0040, TicketPalette + + FadeIn 16 + wait 16 + + API $0C6 + + DrawText RegionHandlePtr, Instructions1, 8, 4 + API $08D + +INCLUDE "../common/wait_for_link.asm" + + SpriteShow SpriteHandlePtr + + DrawText RegionHandlePtr, Instructions2, 8, 4 + API $08D + + ld a, b + nop + +UNKNOWN_VALUE EQU $0078 +INCLUDE "../common/wait_for_ready.asm" + + DrawText RegionHandlePtr, DeliveryInProcess, 8, 4 + +DATA_TRANSFER_LENGTH EQU 6144 +INCLUDE "../common/transfer_data.asm" + ld hl, $5fff + LD_IND_HL Space_1 + API_0C7 Space_1 + + wait $80 + + SpriteHide SpriteHandlePtr + + DrawText RegionHandlePtr, TicketDelivered, 8, 4 + + API $08D + ld c, a + nop + +INCLUDE "../common/wrap_up.asm" + +INCLUDE "../common/word_shift_right.asm" + +SomeVar1: ; 1CA2 + db $FF,0 ; mark EOF +RegionHandlePtr: db 0 ; 1CA4 +SpriteHandlePtr: db 0,0 ; 1CA5 +SomeVar2: db 0,0 ; 1CA7 \ No newline at end of file diff --git a/SOURCE/kyogrevent/00-C000.raw b/SOURCE/kyogrevent/00-C000.raw new file mode 100644 index 0000000..eb53c43 Binary files /dev/null and b/SOURCE/kyogrevent/00-C000.raw differ diff --git a/SOURCE/kyogrevent/Makefile b/SOURCE/kyogrevent/Makefile new file mode 100644 index 0000000..11d6e49 --- /dev/null +++ b/SOURCE/kyogrevent/Makefile @@ -0,0 +1,40 @@ +all: 00-C000-EN.raw verify +verify: + md5sum --check eonticket.md5 + + +eonticket-%.tx: eonticket.asm + python ../scripts/regionalize.py $< $@ $* $* +eonticket-%.o: eonticket-%.tx + ./rgbasm -o $@ $< +eonticket-%.gbc: eonticket-%.o + ./rgblink -o $@ $< +eonticket-%.bin: eonticket-%.gbc + python ../scripts/stripgbc.py $< $@ +eonticket-%.mev: eonticket-%.bin + python ../scripts/checksum.py $< $@ + +prologue-%.tx: prologue.asm + python ../scripts/regionalize.py $< $@ $* $* +prologue-%.o: prologue-%.tx + ./rgbasm -o $@ $< +prologue-%.gbc: prologue-%.o + ./rgblink -o $@ $< +prologue-%.bin: prologue-%.gbc + python ../scripts/stripgbc.py $< $@ + +00-C000-%.tx: 00-C000.asm eonticket-%.mev prologue-%.bin + python ../scripts/ereadertext.py $< $@ $* +00-C000-%.o: 00-C000-%.tx + ./rgbasm -o $@ $< +00-C000-%.gbc: 00-C000-%.o + ./rgblink -o $@ $< +00-C000-%.z80: 00-C000-%.gbc + python ../scripts/stripgbc.py $< $@ +00-C000-%.vpk: 00-C000-%.z80 + ./nevpk -c -i $< -o $@ +00-C000-%.raw: 00-C000-%.vpk + ./nedcmake -i $< -o $@ -type 1 -region 1 + +clean: + rm -f *.tx *.o *.gbc *.z80 *.bin *.mev *.vpk *.raw \ No newline at end of file diff --git a/SOURCE/kyogrevent/eonticket.asm b/SOURCE/kyogrevent/eonticket.asm new file mode 100644 index 0000000..b4f1173 --- /dev/null +++ b/SOURCE/kyogrevent/eonticket.asm @@ -0,0 +1,240 @@ +INCLUDE "../macros.asm" +INCLUDE "../constants/items.asm" +INCLUDE "../constants/scriptcommandskyogre.asm" + + Mystery_Event + + db CHECKSUM_CRC + dd 0 ; checksum placeholder + GBAPTR DataStart + GBAPTR DataEnd + +DataStart: + db IN_GAME_SCRIPT + db 24,26 ; Underwater + db 2 ; Middle of Submarine + GBAPTR NormanScriptStart + GBAPTR NormanScriptEnd + + + + db MIX_RECORDS_ITEM + db 1 ; ??? +IF REGION == REGION_DE + db 5 ; distribution limit from German debug ROM +ELSE + db 30 ; distribution limit from English release +ENDC + dw EON_TICKET + + + + db PRELOAD_SCRIPT + GBAPTR PreloadScriptStart + + db END_OF_CHUNKS + + +GoSeeYourFather: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "Something ANCIENT beneath the sea is\n" + Text_EN "disturbing the Sumbarine Explorer 1...@" + + + +NormanScriptStart: + setvirtualaddress NormanScriptStart + + checkitemroom BLUE_ORB, 1 + + compare LASTRESULT, 0 + + virtualgotoif 1, NoRoomToGive + + + + setwildbattle $194, $46, $00C6 + + copyvarifnotzero $8000, BLUE_ORB + + copyvarifnotzero $8001, 1 + + checkitemtype $0002 + + callstd 1 + + closeonkeypress + + fadeout $3 + + + setvar $8004, $000F + + setvar $8005, $000F + + setvar $8006, $0FF3 + + setvar $8007, $000F + + special $131 + + sound $D8 + + pause $28 + + sound $D8 + + virtualmsgbox Ancient + + sound $D8 + + + waitmsg + + sound $D8 + + waitkeypress + + release + + callasm $2028E59 + + callasm $2028E71 + + playmoncry $194, $0 + + virtualmsgbox Kyogre + + waitmsg + + waitmoncry + + waitkeypress + + release + + special $119 + + sound $6B + + waitstate + + pause $70 + + special $138 + + playsong $01CF, $0 + + + + + setflag $81 + + setflag $03D4 + + + + +.delete_script + killscript + + + + + METLOCATION + GAMEORIGIN + + +NoRoomToGive: + virtualmsgbox ItemsPocketIsFull + waitmsg + waitkeypress + release + end + + + +ItemsPocketIsFull: + Text_DE "Lauf und besuche deinen Vater in der\n" + Text_DE "ARENA von BLÜTENBURG CITY.@" + + Text_EN "The KEY ITEMS Pocket in your Bag\n" + Text_EN "is full.@" + +Kyogre: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "Kyogre: Gyararoooah!@" + +Ancient: + Text_DE "Lauf und besuche deinen Vater in der@" + + Text_EN "A Super Ancient Pokémon is\n" + Text_EN "reacting with the BLUE ORB!@" + + + + + +NormanScriptEnd: + + +PreloadScriptStart: + setvirtualaddress PreloadScriptStart + + checkitem BLUE_ORB, 1 + + compare LASTRESULT, 1 + + virtualgotoif 1, .ineligible + + checkpcitem BLUE_ORB, 1 + + compare LASTRESULT, 1 + + virtualgotoif 1, .ineligible + + checkflag $123 + + virtualgotoif 0, .defeated + + + clearflag $81 + + clearflag $03D4 + + virtualloadpointer GoSeeYourFather + + setbyte 2 + + end + +.ineligible + virtualloadpointer RubyVersion + setbyte 3 + end + +.defeated + virtualloadpointer Elite4 + setbyte 3 + end + +RubyVersion: + Text_EN "This event is only for Pokémon RUBY\n"" + Text_EN "and can only be played once.@"" + + Text_DE "Deine BASIS-TASCHE ist voll\n" + Text_DE "Deine BASIS-TASCHE ist voll.@" + +Elite4: + Text_EN "You must have defeated the\n" + Text_EN "Elite 4 to play this event.@" + + Text_DE "Deine BASIS-TASCHE ist voll\n" + Text_DE "Deine BASIS-TASCHE ist voll.@" + +DataEnd: + EOF + \ No newline at end of file diff --git a/SOURCE/kyogrevent/eonticket.md5 b/SOURCE/kyogrevent/eonticket.md5 new file mode 100644 index 0000000..cb426e5 --- /dev/null +++ b/SOURCE/kyogrevent/eonticket.md5 @@ -0,0 +1 @@ +901180e44767e19e5dc9d5df881fe123 00-C000-EN.z80 diff --git a/SOURCE/kyogrevent/nedclib.dll b/SOURCE/kyogrevent/nedclib.dll new file mode 100644 index 0000000..8a71160 Binary files /dev/null and b/SOURCE/kyogrevent/nedclib.dll differ diff --git a/SOURCE/kyogrevent/nedcmake b/SOURCE/kyogrevent/nedcmake new file mode 100644 index 0000000..45b06a3 Binary files /dev/null and b/SOURCE/kyogrevent/nedcmake differ diff --git a/SOURCE/kyogrevent/nevpk b/SOURCE/kyogrevent/nevpk new file mode 100644 index 0000000..12cf788 Binary files /dev/null and b/SOURCE/kyogrevent/nevpk differ diff --git a/SOURCE/kyogrevent/ogre.bin b/SOURCE/kyogrevent/ogre.bin new file mode 100644 index 0000000..8a61550 Binary files /dev/null and b/SOURCE/kyogrevent/ogre.bin differ diff --git a/SOURCE/kyogrevent/ogrepal.bin b/SOURCE/kyogrevent/ogrepal.bin new file mode 100644 index 0000000..7453ed4 Binary files /dev/null and b/SOURCE/kyogrevent/ogrepal.bin differ diff --git a/SOURCE/kyogrevent/prologue.asm b/SOURCE/kyogrevent/prologue.asm new file mode 100644 index 0000000..0db33e1 --- /dev/null +++ b/SOURCE/kyogrevent/prologue.asm @@ -0,0 +1,15 @@ +INCLUDE "../macros.asm" +SECTION "prologue", ROM0[$100] + + db "GameFreak inc." + db 0,0,0,0,0,0 + dd 0 + Text "e reader" ; no string terminator + db 0,0,0,0,$01,$55 + db 0,0,0,0 + db REGION + db 0 + db "GameFreak inc." + db 0,0 + + EOF \ No newline at end of file diff --git a/SOURCE/kyogrevent/rgbasm b/SOURCE/kyogrevent/rgbasm new file mode 100644 index 0000000..deb0f72 Binary files /dev/null and b/SOURCE/kyogrevent/rgbasm differ diff --git a/SOURCE/kyogrevent/rgblink b/SOURCE/kyogrevent/rgblink new file mode 100644 index 0000000..c38372b Binary files /dev/null and b/SOURCE/kyogrevent/rgblink differ