shithub: pokecrystal

Download patch

ref: 18124d0a5d6790bc42cf12320557e997cdb31a7a
parent: 4d1091f8d914efeae0b3834d2f67d031bde79625
author: yenatch <[email protected]>
date: Sun Dec 22 12:19:54 EST 2013

split out poke seer special into event/poke_seer.asm

--- /dev/null
+++ b/event/poke_seer.asm
@@ -1,0 +1,452 @@
+SEER_INTRO      EQU 0
+SEER_CANT_TELL  EQU 1
+SEER_MET_AT     EQU 2
+SEER_TIME_LEVEL EQU 3
+SEER_TRADED     EQU 4
+SEER_CANCEL     EQU 5
+SEER_EGG        EQU 6
+SEER_LEVEL_ONLY EQU 7
+
+
+SpecialPokeSeer: ; 4f0bc
+	ld a, SEER_INTRO
+	call PrintSeerText
+	call Functiona36
+
+	ld b, $6
+	callba Function50000
+	jr c, .cancel
+
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr z, .egg
+
+	call IsAPokemon
+	jr c, .no_mon
+
+	call ReadCaughtData
+	call SeerAction
+	ret
+
+.cancel
+	ld a, SEER_CANCEL
+	call PrintSeerText
+	ret
+
+.no_mon
+	ret
+
+.egg
+	ld a, SEER_EGG
+	call PrintSeerText
+	ret
+; 4f0ee
+
+
+SeerAction: ; 4f0ee
+	ld a, [$d002]
+	ld hl, SeerActions
+	rst JumpTable
+	ret
+; 4f0f6
+
+SeerActions: ; 4f0f6
+	dw SeerAction0
+	dw SeerAction1
+	dw SeerAction2
+	dw SeerAction3
+	dw SeerAction4
+; 4f100
+
+SeerAction0: ; 4f100
+	ld a, SEER_MET_AT
+	call PrintSeerText
+	ld a, SEER_TIME_LEVEL
+	call PrintSeerText
+	call SeerAdvice
+	ret
+; 4f10e
+
+SeerAction1: ; 4f10e
+	call GetCaughtOT
+	ld a, SEER_TRADED
+	call PrintSeerText
+	ld a, SEER_TIME_LEVEL
+	call PrintSeerText
+	call SeerAdvice
+	ret
+; 4f11f
+
+SeerAction2: ; 4f11f
+	ld a, SEER_CANT_TELL
+	call PrintSeerText
+	ret
+; 4f125
+
+SeerAction3: ; 4f125
+	ld a, SEER_CANT_TELL
+	call PrintSeerText
+	ret
+; 4f12b
+
+SeerAction4: ; 4f12b
+	ld a, SEER_LEVEL_ONLY
+	call PrintSeerText
+	call SeerAdvice
+	ret
+; 4f134
+
+ReadCaughtData: ; 4f134
+	ld a, PartyMon1CaughtData - PartyMon1
+	call GetPartyParamLocation
+	ld a, [hli]
+	ld [$d03b], a
+	ld a, [hld]
+	ld [$d03c], a
+	or [hl]
+	jr z, .asm_4f170
+
+	ld a, 1
+	ld [$d002], a
+
+	ld a, PartyMon1ID - PartyMon1
+	call GetPartyParamLocation
+	ld a, [PlayerID]
+	cp [hl]
+	jr nz, .asm_4f15f
+
+	inc hl
+	ld a, [$d47c]
+	jr nz, .asm_4f15f
+
+	ld a, 0
+	ld [$d002], a
+
+.asm_4f15f
+	call GetCaughtLevel
+	call GetCaughtOT
+	call GetCaughtName
+	call GetCaughtTime
+	call GetCaughtLocation
+	and a
+	ret
+
+.asm_4f170
+	ld a, 2
+	ld [$d002], a
+	ret
+; 4f176
+
+GetCaughtName: ; 4f176
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1Nickname
+	ld bc, PKMN_NAME_LENGTH
+	call AddNTimes
+	ld de, $d003
+	ld bc, PKMN_NAME_LENGTH
+	call CopyBytes
+	ret
+; 4f18c
+
+GetCaughtLevel: ; 4f18c
+	ld a, "@"
+	ld hl, $d036
+	ld bc, 4
+	call ByteFill
+
+	; caught level
+	ld a, [$d03b]
+	and $3f
+	jr z, .unknown
+	cp 1 ; hatched from an egg
+	jr nz, .print
+	ld a, 5 ; egg hatch level
+
+.print
+	ld [$d03a], a
+	ld hl, $d036
+	ld de, $d03a
+	ld bc, $4103
+	call PrintNum
+	ret
+
+.unknown
+	ld de, $d036
+	ld hl, .unknown_level
+	ld bc, 4
+	call CopyBytes
+	ret
+; 4f1c1
+
+.unknown_level ; 4f1c1
+	db "???@"
+; 4f1c5
+
+GetCaughtTime: ; 4f1c5
+	ld a, [$d03b]
+	and $c0
+	jr z, .none
+
+	rlca
+	rlca
+	dec a
+	ld hl, .times
+	call GetNthString
+	ld d, h
+	ld e, l
+	ld hl, $d01f
+	call CopyName2
+	and a
+	ret
+
+.none
+	ld de, $d01f
+	call UnknownCaughtData
+	ret
+; 4f1e6
+
+.times ; 4f1e6
+	db "Morning@"
+	db "Day@"
+	db "Night@"
+; 4f1f8
+
+UnknownCaughtData: ; 4f1f8
+	ld hl, .unknown
+	ld bc, $000b
+	call CopyBytes
+	ret
+; 4f202
+
+.unknown ; 4f202
+	db "Unknown@"
+; 4f20a
+
+GetCaughtLocation: ; 4f20a
+	ld a, [$d03c]
+	and $7f
+	jr z, .asm_4f22e
+	cp $7f
+	jr z, .asm_4f234
+	cp $7e
+	jr z, .asm_4f23b
+	ld e, a
+	callba GetLandmarkName
+	ld hl, StringBuffer1
+	ld de, $d00e
+	ld bc, $0011
+	call CopyBytes
+	and a
+	ret
+
+.asm_4f22e
+	ld de, $d00e
+	jp UnknownCaughtData
+
+.asm_4f234
+	ld a, $4
+	ld [$d002], a
+	scf
+	ret
+
+.asm_4f23b
+	ld a, $3
+	ld [$d002], a
+	scf
+	ret
+; 4f242
+
+GetCaughtOT: ; 4f242
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1OT
+	ld bc, $000b
+	call AddNTimes
+	ld de, $d02a
+	ld bc, $000b
+	call CopyBytes
+	ld hl, .male
+	ld a, [$d03c]
+	bit 7, a
+	jr z, .asm_4f264
+	ld hl, .female
+
+.asm_4f264
+	ld de, $d035
+	ld a, "@"
+	ld [de], a
+	ret
+; 4f26b
+
+.male ; 4f26b
+	db "@"
+.female ; 4f26c
+	db "@"
+; 4f26d
+
+PrintSeerText: ; 4f26d
+	ld e, a
+	ld d, 0
+	ld hl, SeerTexts
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call PrintText
+	ret
+; 4f27c
+
+SeerTexts: ; 4f27c
+	dw SeerIntroText
+	dw SeerCantTellText
+	dw SeerMetAtText
+	dw SeerTimeLevelText
+	dw SeerTradedText
+	dw SeerCancelText
+	dw SeerEggText
+	dw SeerLevelOnlyText
+; 4f28c
+
+SeerIntroText: ; 0x4f28c
+	; I see all. I know all… Certainly, I know of your #MON!
+	text_jump UnknownText_0x1c475f
+	db "@"
+; 0x4f291
+
+SeerCantTellText: ; 0x4f291
+	; Whaaaat? I can't tell a thing! How could I not know of this?
+	text_jump UnknownText_0x1c4797
+	db "@"
+; 0x4f296
+
+SeerMetAtText: ; 0x4f296
+	; Hm… I see you met @  here: @ !
+	text_jump UnknownText_0x1c47d4
+	db "@"
+; 0x4f29b
+
+SeerTimeLevelText: ; 0x4f29b
+	; The time was @ ! Its level was @ ! Am I good or what?
+	text_jump UnknownText_0x1c47fa
+	db "@"
+; 0x4f2a0
+
+SeerTradedText: ; 0x4f2a0
+	; Hm… @ came from @ in a trade? @ was where @ met @ !
+	text_jump UnknownText_0x1c4837
+	db "@"
+; 0x4f2a5
+
+SeerLevelOnlyText: ; 0x4f2a5
+	; What!? Incredible! I don't understand how, but it is incredible! You are special. I can't tell where you met it, but it was at level @ . Am I good or what?
+	text_jump UnknownText_0x1c487f
+	db "@"
+; 0x4f2aa
+
+SeerEggText: ; 0x4f2aa
+	; Hey! That's an EGG! You can't say that you've met it yet…
+	text_jump UnknownText_0x1c491d
+	db "@"
+; 0x4f2af
+
+SeerCancelText: ; 0x4f2af
+	; Fufufu! I saw that you'd do nothing!
+	text_jump UnknownText_0x1c4955
+	db "@"
+; 0x4f2b4
+
+
+SeerAdvice: ; 4f2b4
+	ld a, PartyMon1Level - PartyMon1
+	call GetPartyParamLocation
+	ld a, [$d03a]
+	ld c, a
+	ld a, [hl]
+	sub c
+	ld c, a
+
+	ld hl, SeerAdviceTexts
+	ld de, 3
+.next
+	cp [hl]
+	jr c, .print
+	jr z, .print
+	add hl, de
+	jr .next
+
+.print
+	inc hl
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call PrintText
+	ret
+; 4f2d6
+
+SeerAdviceTexts: ; 4f2d6
+; level, text
+	dbw 9,   SeerAdvice1
+	dbw 29,  SeerAdvice2
+	dbw 59,  SeerAdvice3
+	dbw 89,  SeerAdvice4
+	dbw 100, SeerAdvice5
+	dbw 255, SeerAdvice1
+; 4f2e8
+
+SeerAdvice1: ; 0x4f2e8
+	; Incidentally… It would be wise to raise your #MON with a little more care.
+	text_jump UnknownText_0x1c497a
+	db "@"
+; 0x4f2ed
+
+SeerAdvice2: ; 0x4f2ed
+	; Incidentally… It seems to have grown a little. @  seems to be becoming more confident.
+	text_jump UnknownText_0x1c49c6
+	db "@"
+; 0x4f2f2
+
+SeerAdvice3: ; 0x4f2f2
+	; Incidentally… @  has grown. It's gained much strength.
+	text_jump UnknownText_0x1c4a21
+	db "@"
+; 0x4f2f7
+
+SeerAdvice4: ; 0x4f2f7
+	; Incidentally… It certainly has grown mighty! This @ must have come through numerous #MON battles. It looks brimming with confidence.
+	text_jump UnknownText_0x1c4a5b
+	db "@"
+; 0x4f2fc
+
+SeerAdvice5: ; 0x4f2fc
+	; Incidentally… I'm impressed by your dedication. It's been a long time since I've seen a #MON as mighty as this @ . I'm sure that seeing @ in battle would excite anyone.
+	text_jump UnknownText_0x1c4ae5
+	db "@"
+; 0x4f301
+
+
+GetCaughtGender: ; 4f301
+	ld hl, PartyMon1CaughtGender - PartyMon1
+	add hl, bc
+
+	ld a, [hl]
+	and $7f
+	jr z, .genderless
+	cp $7f
+	jr z, .genderless
+
+	ld a, [hl]
+	and $80
+	jr nz, .male
+	ld c, 1
+	ret
+
+.male
+	ld c, 2
+	ret
+
+.genderless
+	ld c, 0
+	ret
+; 4f31c
+
+
--- a/main.asm
+++ b/main.asm
@@ -50437,457 +50437,7 @@
 
 INCLUDE "misc/gbc_only.asm"
 
-
-SEER_INTRO      EQU 0
-SEER_CANT_TELL  EQU 1
-SEER_MET_AT     EQU 2
-SEER_TIME_LEVEL EQU 3
-SEER_TRADED     EQU 4
-SEER_CANCEL     EQU 5
-SEER_EGG        EQU 6
-SEER_LEVEL_ONLY EQU 7
-
-SpecialPokeSeer: ; 4f0bc
-	ld a, SEER_INTRO
-	call PrintSeerText
-	call Functiona36
-
-	ld b, $6
-	callba Function50000
-	jr c, .cancel
-
-	ld a, [CurPartySpecies]
-	cp EGG
-	jr z, .egg
-
-	call IsAPokemon
-	jr c, .no_mon
-
-	call ReadCaughtData
-	call SeerAction
-	ret
-
-.cancel
-	ld a, SEER_CANCEL
-	call PrintSeerText
-	ret
-
-.no_mon
-	ret
-
-.egg
-	ld a, SEER_EGG
-	call PrintSeerText
-	ret
-; 4f0ee
-
-
-SeerAction: ; 4f0ee
-	ld a, [$d002]
-	ld hl, SeerActions
-	rst JumpTable
-	ret
-; 4f0f6
-
-SeerActions: ; 4f0f6
-	dw SeerAction0
-	dw SeerAction1
-	dw SeerAction2
-	dw SeerAction3
-	dw SeerAction4
-; 4f100
-
-SeerAction0: ; 4f100
-	ld a, SEER_MET_AT
-	call PrintSeerText
-	ld a, SEER_TIME_LEVEL
-	call PrintSeerText
-	call SeerAdvice
-	ret
-; 4f10e
-
-SeerAction1: ; 4f10e
-	call GetCaughtOT
-	ld a, SEER_TRADED
-	call PrintSeerText
-	ld a, SEER_TIME_LEVEL
-	call PrintSeerText
-	call SeerAdvice
-	ret
-; 4f11f
-
-SeerAction2: ; 4f11f
-	ld a, SEER_CANT_TELL
-	call PrintSeerText
-	ret
-; 4f125
-
-SeerAction3: ; 4f125
-	ld a, SEER_CANT_TELL
-	call PrintSeerText
-	ret
-; 4f12b
-
-SeerAction4: ; 4f12b
-	ld a, SEER_LEVEL_ONLY
-	call PrintSeerText
-	call SeerAdvice
-	ret
-; 4f134
-
-ReadCaughtData: ; 4f134
-	ld a, PartyMon1CaughtData - PartyMon1
-	call GetPartyParamLocation
-	ld a, [hli]
-	ld [$d03b], a
-	ld a, [hld]
-	ld [$d03c], a
-	or [hl]
-	jr z, .asm_4f170
-
-	ld a, 1
-	ld [$d002], a
-
-	ld a, PartyMon1ID - PartyMon1
-	call GetPartyParamLocation
-	ld a, [PlayerID]
-	cp [hl]
-	jr nz, .asm_4f15f
-
-	inc hl
-	ld a, [$d47c]
-	jr nz, .asm_4f15f
-
-	ld a, 0
-	ld [$d002], a
-
-.asm_4f15f
-	call GetCaughtLevel
-	call GetCaughtOT
-	call GetCaughtName
-	call GetCaughtTime
-	call GetCaughtLocation
-	and a
-	ret
-
-.asm_4f170
-	ld a, 2
-	ld [$d002], a
-	ret
-; 4f176
-
-GetCaughtName: ; 4f176
-	ld a, [CurPartyMon]
-	ld hl, PartyMon1Nickname
-	ld bc, PKMN_NAME_LENGTH
-	call AddNTimes
-	ld de, $d003
-	ld bc, PKMN_NAME_LENGTH
-	call CopyBytes
-	ret
-; 4f18c
-
-GetCaughtLevel: ; 4f18c
-	ld a, "@"
-	ld hl, $d036
-	ld bc, 4
-	call ByteFill
-
-	; caught level
-	ld a, [$d03b]
-	and $3f
-	jr z, .unknown
-	cp 1 ; hatched from an egg
-	jr nz, .print
-	ld a, 5 ; egg hatch level
-
-.print
-	ld [$d03a], a
-	ld hl, $d036
-	ld de, $d03a
-	ld bc, $4103
-	call PrintNum
-	ret
-
-.unknown
-	ld de, $d036
-	ld hl, .unknown_level
-	ld bc, 4
-	call CopyBytes
-	ret
-; 4f1c1
-
-.unknown_level ; 4f1c1
-	db "???@"
-; 4f1c5
-
-GetCaughtTime: ; 4f1c5
-	ld a, [$d03b]
-	and $c0
-	jr z, .none
-
-	rlca
-	rlca
-	dec a
-	ld hl, .times
-	call GetNthString
-	ld d, h
-	ld e, l
-	ld hl, $d01f
-	call CopyName2
-	and a
-	ret
-
-.none
-	ld de, $d01f
-	call UnknownCaughtData
-	ret
-; 4f1e6
-
-.times ; 4f1e6
-	db "Morning@"
-	db "Day@"
-	db "Night@"
-; 4f1f8
-
-UnknownCaughtData: ; 4f1f8
-	ld hl, .unknown
-	ld bc, $000b
-	call CopyBytes
-	ret
-; 4f202
-
-.unknown ; 4f202
-	db "Unknown@"
-; 4f20a
-
-GetCaughtLocation: ; 4f20a
-	ld a, [$d03c]
-	and $7f
-	jr z, .asm_4f22e
-	cp $7f
-	jr z, .asm_4f234
-	cp $7e
-	jr z, .asm_4f23b
-	ld e, a
-	callba GetLandmarkName
-	ld hl, StringBuffer1
-	ld de, $d00e
-	ld bc, $0011
-	call CopyBytes
-	and a
-	ret
-
-.asm_4f22e
-	ld de, $d00e
-	jp UnknownCaughtData
-
-.asm_4f234
-	ld a, $4
-	ld [$d002], a
-	scf
-	ret
-
-.asm_4f23b
-	ld a, $3
-	ld [$d002], a
-	scf
-	ret
-; 4f242
-
-GetCaughtOT: ; 4f242
-	ld a, [CurPartyMon]
-	ld hl, PartyMon1OT
-	ld bc, $000b
-	call AddNTimes
-	ld de, $d02a
-	ld bc, $000b
-	call CopyBytes
-	ld hl, .male
-	ld a, [$d03c]
-	bit 7, a
-	jr z, .asm_4f264
-	ld hl, .female
-
-.asm_4f264
-	ld de, $d035
-	ld a, "@"
-	ld [de], a
-	ret
-; 4f26b
-
-.male ; 4f26b
-	db "@"
-.female ; 4f26c
-	db "@"
-; 4f26d
-
-PrintSeerText: ; 4f26d
-	ld e, a
-	ld d, 0
-	ld hl, SeerTexts
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call PrintText
-	ret
-; 4f27c
-
-SeerTexts: ; 4f27c
-	dw SeerIntroText
-	dw SeerCantTellText
-	dw SeerMetAtText
-	dw SeerTimeLevelText
-	dw SeerTradedText
-	dw SeerCancelText
-	dw SeerEggText
-	dw SeerLevelOnlyText
-; 4f28c
-
-SeerIntroText: ; 0x4f28c
-	; I see all. I know all… Certainly, I know of your #MON!
-	text_jump UnknownText_0x1c475f
-	db "@"
-; 0x4f291
-
-SeerCantTellText: ; 0x4f291
-	; Whaaaat? I can't tell a thing! How could I not know of this?
-	text_jump UnknownText_0x1c4797
-	db "@"
-; 0x4f296
-
-SeerMetAtText: ; 0x4f296
-	; Hm… I see you met @  here: @ !
-	text_jump UnknownText_0x1c47d4
-	db "@"
-; 0x4f29b
-
-SeerTimeLevelText: ; 0x4f29b
-	; The time was @ ! Its level was @ ! Am I good or what?
-	text_jump UnknownText_0x1c47fa
-	db "@"
-; 0x4f2a0
-
-SeerTradedText: ; 0x4f2a0
-	; Hm… @ came from @ in a trade? @ was where @ met @ !
-	text_jump UnknownText_0x1c4837
-	db "@"
-; 0x4f2a5
-
-SeerLevelOnlyText: ; 0x4f2a5
-	; What!? Incredible! I don't understand how, but it is incredible! You are special. I can't tell where you met it, but it was at level @ . Am I good or what?
-	text_jump UnknownText_0x1c487f
-	db "@"
-; 0x4f2aa
-
-SeerEggText: ; 0x4f2aa
-	; Hey! That's an EGG! You can't say that you've met it yet…
-	text_jump UnknownText_0x1c491d
-	db "@"
-; 0x4f2af
-
-SeerCancelText: ; 0x4f2af
-	; Fufufu! I saw that you'd do nothing!
-	text_jump UnknownText_0x1c4955
-	db "@"
-; 0x4f2b4
-
-
-SeerAdvice: ; 4f2b4
-	ld a, PartyMon1Level - PartyMon1
-	call GetPartyParamLocation
-	ld a, [$d03a]
-	ld c, a
-	ld a, [hl]
-	sub c
-	ld c, a
-
-	ld hl, SeerAdviceTexts
-	ld de, 3
-.next
-	cp [hl]
-	jr c, .print
-	jr z, .print
-	add hl, de
-	jr .next
-
-.print
-	inc hl
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call PrintText
-	ret
-; 4f2d6
-
-SeerAdviceTexts: ; 4f2d6
-; level, text
-	dbw 9,   SeerAdvice1
-	dbw 29,  SeerAdvice2
-	dbw 59,  SeerAdvice3
-	dbw 89,  SeerAdvice4
-	dbw 100, SeerAdvice5
-	dbw 255, SeerAdvice1
-; 4f2e8
-
-SeerAdvice1: ; 0x4f2e8
-	; Incidentally… It would be wise to raise your #MON with a little more care.
-	text_jump UnknownText_0x1c497a
-	db "@"
-; 0x4f2ed
-
-SeerAdvice2: ; 0x4f2ed
-	; Incidentally… It seems to have grown a little. @  seems to be becoming more confident.
-	text_jump UnknownText_0x1c49c6
-	db "@"
-; 0x4f2f2
-
-SeerAdvice3: ; 0x4f2f2
-	; Incidentally… @  has grown. It's gained much strength.
-	text_jump UnknownText_0x1c4a21
-	db "@"
-; 0x4f2f7
-
-SeerAdvice4: ; 0x4f2f7
-	; Incidentally… It certainly has grown mighty! This @ must have come through numerous #MON battles. It looks brimming with confidence.
-	text_jump UnknownText_0x1c4a5b
-	db "@"
-; 0x4f2fc
-
-SeerAdvice5: ; 0x4f2fc
-	; Incidentally… I'm impressed by your dedication. It's been a long time since I've seen a #MON as mighty as this @ . I'm sure that seeing @ in battle would excite anyone.
-	text_jump UnknownText_0x1c4ae5
-	db "@"
-; 0x4f301
-
-
-GetCaughtGender: ; 4f301
-	ld hl, PartyMon1CaughtGender - PartyMon1
-	add hl, bc
-
-	ld a, [hl]
-	and $7f
-	jr z, .genderless
-	cp $7f
-	jr z, .genderless
-
-	ld a, [hl]
-	and $80
-	jr nz, .male
-	ld c, 1
-	ret
-
-.male
-	ld c, 2
-	ret
-
-.genderless
-	ld c, 0
-	ret
-; 4f31c
-
+INCLUDE "event/poke_seer.asm"
 
 
 SECTION "bank14", ROMX, BANK[$14]