diff options
| -rw-r--r-- | event/move_deleter.asm | 168 | ||||
| -rw-r--r-- | main.asm | 169 | 
2 files changed, 169 insertions, 168 deletions
| diff --git a/event/move_deleter.asm b/event/move_deleter.asm new file mode 100644 index 000000000..b81006681 --- /dev/null +++ b/event/move_deleter.asm @@ -0,0 +1,168 @@ +Function2c547: ; 2c547 +	ld hl, UnknownText_0x2c5ef +	call PrintText +	call YesNoBox +	jr c, .asm_2c5c3 +	ld hl, UnknownText_0x2c5f4 +	call PrintText +	callba Function50000 +	jr c, .asm_2c5c3 +	ld a, [CurPartySpecies] +	cp EGG +	jr z, .asm_2c5bc +	ld a, [CurPartyMon] +	ld hl, PartyMon1Moves + 1 +	ld bc, PartyMon2 - PartyMon1 +	call AddNTimes +	ld a, [hl] +	and a +	jr z, .asm_2c5ca +	ld hl, UnknownText_0x2c5ea +	call PrintText +	call Function1d6e +	callba Function12f5b +	push af +	call Function2b74 +	pop af +	jr c, .asm_2c5c3 +	ld a, [wcfa9] +	push af +	ld a, [CurSpecies] +	ld [wd265], a +	call GetMoveName +	ld hl, UnknownText_0x2c5d6 +	call PrintText +	call YesNoBox +	pop bc +	jr c, .asm_2c5c3 +	call Function2c5f9 +	call WaitSFX +	ld de, SFX_MOVE_DELETED +	call PlaySFX +	call WaitSFX +	ld hl, UnknownText_0x2c5db +	call PrintText +	ret + +.asm_2c5bc +	ld hl, UnknownText_0x2c5e0 +	call PrintText +	ret + +.asm_2c5c3 +	ld hl, UnknownText_0x2c5e5 +	call PrintText +	ret + +.asm_2c5ca +	ld hl, UnknownText_0x2c5d1 +	call PrintText +	ret +; 2c5d1 + +UnknownText_0x2c5d1: ; 0x2c5d1 +	; That #MON knows only one move. +	text_jump UnknownText_0x1c5eba +	db "@" +; 0x2c5d6 + +UnknownText_0x2c5d6: ; 0x2c5d6 +	; Oh, make it forget @ ? +	text_jump UnknownText_0x1c5eda +	db "@" +; 0x2c5db + +UnknownText_0x2c5db: ; 0x2c5db +	; Done! Your #MON forgot the move. +	text_jump UnknownText_0x1c5ef5 +	db "@" +; 0x2c5e0 + +UnknownText_0x2c5e0: ; 0x2c5e0 +	; An EGG doesn't know any moves! +	text_jump UnknownText_0x1c5f17 +	db "@" +; 0x2c5e5 + +UnknownText_0x2c5e5: ; 0x2c5e5 +	; No? Come visit me again. +	text_jump UnknownText_0x1c5f36 +	db "@" +; 0x2c5ea + +UnknownText_0x2c5ea: ; 0x2c5ea +	; Which move should it forget, then? +	text_jump UnknownText_0x1c5f50 +	db "@" +; 0x2c5ef + +UnknownText_0x2c5ef: ; 0x2c5ef +	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget? +	text_jump UnknownText_0x1c5f74 +	db "@" +; 0x2c5f4 + +UnknownText_0x2c5f4: ; 0x2c5f4 +	; Which #MON? +	text_jump UnknownText_0x1c5fd1 +	db "@" +; 0x2c5f9 + +Function2c5f9: ; 2c5f9 +	ld a, b +	push bc +	dec a +	ld c, a +	ld b, 0 +	ld hl, PartyMon1Moves +	add hl, bc +	ld a, [CurPartyMon] +	ld bc, PartyMon2 - PartyMon1 +	call AddNTimes +	pop bc +	push bc +	inc b +.asm_2c60f +	ld a, b +	cp NUM_MOVES + 1 +	jr z, .asm_2c61b +	inc hl +	ld a, [hld] +	ld [hl], a +	inc hl +	inc b +	jr .asm_2c60f + +.asm_2c61b +	xor a +	ld [hl], a +	pop bc + +	ld a, b +	push bc +	dec a +	ld c, a +	ld b, 0 +	ld hl, PartyMon1PP +	add hl, bc +	ld a, [CurPartyMon] +	ld bc, PartyMon2 - PartyMon1 +	call AddNTimes +	pop bc +	inc b +.asm_2c633 +	ld a, b +	cp NUM_MOVES + 1 +	jr z, .asm_2c63f +	inc hl +	ld a, [hld] +	ld [hl], a +	inc hl +	inc b +	jr .asm_2c633 + +.asm_2c63f +	xor a +	ld [hl], a +	ret +; 2c642 @@ -41918,174 +41918,7 @@ AI_Redundant: ; 2c41a  	ret -Function2c547: ; 2c547 -	ld hl, UnknownText_0x2c5ef -	call PrintText -	call YesNoBox -	jr c, .asm_2c5c3 -	ld hl, UnknownText_0x2c5f4 -	call PrintText -	callba Function50000 -	jr c, .asm_2c5c3 -	ld a, [CurPartySpecies] -	cp EGG -	jr z, .asm_2c5bc -	ld a, [CurPartyMon] -	ld hl, PartyMon1Moves + 1 -	ld bc, PartyMon2 - PartyMon1 -	call AddNTimes -	ld a, [hl] -	and a -	jr z, .asm_2c5ca -	ld hl, UnknownText_0x2c5ea -	call PrintText -	call Function1d6e -	callba Function12f5b -	push af -	call Function2b74 -	pop af -	jr c, .asm_2c5c3 -	ld a, [wcfa9] -	push af -	ld a, [CurSpecies] -	ld [wd265], a -	call GetMoveName -	ld hl, UnknownText_0x2c5d6 -	call PrintText -	call YesNoBox -	pop bc -	jr c, .asm_2c5c3 -	call Function2c5f9 -	call WaitSFX -	ld de, SFX_MOVE_DELETED -	call PlaySFX -	call WaitSFX -	ld hl, UnknownText_0x2c5db -	call PrintText -	ret - -.asm_2c5bc -	ld hl, UnknownText_0x2c5e0 -	call PrintText -	ret - -.asm_2c5c3 -	ld hl, UnknownText_0x2c5e5 -	call PrintText -	ret - -.asm_2c5ca -	ld hl, UnknownText_0x2c5d1 -	call PrintText -	ret -; 2c5d1 - -UnknownText_0x2c5d1: ; 0x2c5d1 -	; That #MON knows only one move. -	text_jump UnknownText_0x1c5eba -	db "@" -; 0x2c5d6 - -UnknownText_0x2c5d6: ; 0x2c5d6 -	; Oh, make it forget @ ? -	text_jump UnknownText_0x1c5eda -	db "@" -; 0x2c5db - -UnknownText_0x2c5db: ; 0x2c5db -	; Done! Your #MON forgot the move. -	text_jump UnknownText_0x1c5ef5 -	db "@" -; 0x2c5e0 - -UnknownText_0x2c5e0: ; 0x2c5e0 -	; An EGG doesn't know any moves! -	text_jump UnknownText_0x1c5f17 -	db "@" -; 0x2c5e5 - -UnknownText_0x2c5e5: ; 0x2c5e5 -	; No? Come visit me again. -	text_jump UnknownText_0x1c5f36 -	db "@" -; 0x2c5ea - -UnknownText_0x2c5ea: ; 0x2c5ea -	; Which move should it forget, then? -	text_jump UnknownText_0x1c5f50 -	db "@" -; 0x2c5ef - -UnknownText_0x2c5ef: ; 0x2c5ef -	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget? -	text_jump UnknownText_0x1c5f74 -	db "@" -; 0x2c5f4 - -UnknownText_0x2c5f4: ; 0x2c5f4 -	; Which #MON? -	text_jump UnknownText_0x1c5fd1 -	db "@" -; 0x2c5f9 - -Function2c5f9: ; 2c5f9 -	ld a, b -	push bc -	dec a -	ld c, a -	ld b, 0 -	ld hl, PartyMon1Moves -	add hl, bc -	ld a, [CurPartyMon] -	ld bc, PartyMon2 - PartyMon1 -	call AddNTimes -	pop bc -	push bc -	inc b -.asm_2c60f -	ld a, b -	cp NUM_MOVES + 1 -	jr z, .asm_2c61b -	inc hl -	ld a, [hld] -	ld [hl], a -	inc hl -	inc b -	jr .asm_2c60f - -.asm_2c61b -	xor a -	ld [hl], a -	pop bc - -	ld a, b -	push bc -	dec a -	ld c, a -	ld b, 0 -	ld hl, PartyMon1PP -	add hl, bc -	ld a, [CurPartyMon] -	ld bc, PartyMon2 - PartyMon1 -	call AddNTimes -	pop bc -	inc b -.asm_2c633 -	ld a, b -	cp NUM_MOVES + 1 -	jr z, .asm_2c63f -	inc hl -	ld a, [hld] -	ld [hl], a -	inc hl -	inc b -	jr .asm_2c633 - -.asm_2c63f -	xor a -	ld [hl], a -	ret -; 2c642 +INCLUDE "event/move_deleter.asm"  Function2c642: ; 2c642 (b:4642) | 
