shithub: pokecrystal

Download patch

ref: 94e9a3f7649b95eff276d8a42b820b74bad5c199
parent: c01c2ad3c4d7cdcc2989fcc4319a4be0612a0f94
author: yenatch <[email protected]>
date: Fri Aug 9 12:24:58 EDT 2013

specials cleanup

--- a/main.asm
+++ b/main.asm
@@ -11511,7 +11511,7 @@
 ; 389c
 
 
-GetCurNick; 389c
+GetCurNick: ; 389c
 	ld a, [CurPartyMon]
 	ld hl, PartyMonNicknames
 
@@ -19798,7 +19798,7 @@
 	dec a
 	ld hl, PartyMon1Nickname
 	call SkipNames
-	ld de, .Shuckie
+	ld de, SpecialShuckleNick
 	call CopyName2
 
 ; OT.
@@ -19806,7 +19806,7 @@
 	dec a
 	ld hl, PartyMon1OT
 	call SkipNames
-	ld de, .Mania
+	ld de, SpecialShuckleOT
 	call CopyName2
 
 ; Bittable2 flag for this event.
@@ -19822,15 +19822,165 @@
 	ld [ScriptVar], a
 	ret
 
-.Mania
+SpecialShuckleOT:
 	db "MANIA@"
-.Shuckie
+SpecialShuckleNick:
 	db "SHUCKIE@"
 ; 737e
 
 
-INCBIN "baserom.gbc", $737e, $746e - $737e
+SpecialReturnShuckle: ; 737e
+	callba Function50000
+	jr c, .asm_73e6
 
+	ld a, [CurPartySpecies]
+	cp SHUCKLE
+	jr nz, .DontReturn
+
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1ID
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+
+; OT ID
+	ld a, [hli]
+	cp $2
+	jr nz, .DontReturn
+	ld a, [hl]
+	cp $6
+	jr nz, .DontReturn
+
+; OT
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1OT
+	call SkipNames
+	ld de, SpecialShuckleOT
+.CheckOT
+	ld a, [de]
+	cp [hl]
+	jr nz, .DontReturn
+	cp "@"
+	jr z, .asm_73bb
+	inc de
+	inc hl
+	jr .CheckOT
+
+.asm_73bb
+	callba Functione538
+	jr c, .asm_73f1
+	ld a, [CurPartyMon]
+	ld hl, PartyMon1Happiness
+	ld bc, PartyMon2 - PartyMon1
+	call AddNTimes
+	ld a, [hl]
+	cp 150
+	ld a, $3
+	jr nc, .asm_73e2
+	xor a
+	ld [$d10b], a
+	callab Functione039
+	ld a, $2
+
+.asm_73e2
+	ld [ScriptVar], a
+	ret
+
+.asm_73e6
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.DontReturn
+	xor a
+	ld [ScriptVar], a
+	ret
+
+.asm_73f1
+	ld a, $4
+	ld [ScriptVar], a
+	ret
+; 73f7
+
+Function73f7: ; 73f7
+	callba Function50000
+	jr c, .asm_740e
+	ld a, [CurPartySpecies]
+	ld [ScriptVar], a
+	ld [$d265], a
+	call GetPokemonName
+	jp Function746e
+
+.asm_740e
+	xor a
+	ld [ScriptVar], a
+	ret
+; 7413
+
+Function7413: ; 7413
+	ld hl, Data7459
+	jr Function7420
+
+Function7418: ; 7418
+	ld hl, Data7462
+	jr Function7420
+
+Function741d: ; 741d
+	ld hl, Data746b
+
+Function7420: ; 7420
+	push hl
+	callba Function50000
+	pop hl
+	jr c, .asm_744e
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr z, .asm_7453
+	push hl
+	call GetCurNick
+	call Function746e
+	pop hl
+	call RNG
+.next
+	sub [hl]
+	jr c, .asm_7444
+	inc hl
+	inc hl
+	inc hl
+	jr .next
+
+.asm_7444
+	inc hl
+	ld a, [hli]
+	ld [ScriptVar], a
+	ld c, [hl]
+	call ChangeHappiness
+	ret
+
+.asm_744e
+	xor a
+	ld [ScriptVar], a
+	ret
+
+.asm_7453
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+; 7459
+
+Data7459: ; 7459
+	db $4c, $02, $09
+	db $80, $03, $0a
+	db $ff, $04, $0b
+
+Data7462: ; 7462
+	db $9a, $02, $0c
+	db $4c, $03, $0d
+	db $ff, $04, $0e
+
+Data746b: ; 746b
+	db $ff, $02, $12
+; 746e
+
 Function746e: ; 746e
 	ld hl, StringBuffer1
 	ld de, StringBuffer3
@@ -19838,7 +19988,9 @@
 	jp CopyBytes
 ; 747a
 
-INCBIN "baserom.gbc", $747a, $747b - $747a
+Function747a: ; 747a
+	ret
+; 747b
 
 
 SECTION "bank2",DATA,BANK[$2]
@@ -19851,7 +20003,7 @@
 	call ClearSprites
 	ld hl, TileMap
 	ld bc, $0168
-	ld a, $7f
+	ld a, " "
 	call ByteFill
 	ld hl, AttrMap
 	ld bc, $0168
@@ -21049,7 +21201,7 @@
 	dbw $09, $6feb
 	dbw $09, $7043
 	dbw BANK(SpecialGiveShuckle), SpecialGiveShuckle
-	dbw $01, $737e
+	dbw BANK(SpecialReturnShuckle), SpecialReturnShuckle
 	dbw $01, $73f7
 	dbw BANK(SpecialCheckPokerus),SpecialCheckPokerus
 	dbw BANK(Function24b25), Function24b25
@@ -26227,7 +26379,7 @@
 	ld a, $9
 	ld hl, $4d19
 	rst FarCall
-	call $389c
+	call GetCurNick
 	ld a, [MenuSelection]
 	ld hl, .Actions
 	ld de, 3
@@ -26346,7 +26498,7 @@
 	call Function1c07
 	jr c, .asm_12ba6
 
-	call $389c
+	call GetCurNick
 	ld hl, StringBuffer1
 	ld de, $d050
 	ld bc, $b
@@ -26669,7 +26821,7 @@
 	jr nc, .asm_12dbe
 	call GetPartyItemLocation
 	ld [hl], $0
-	call $389c
+	call GetCurNick
 	ld hl, $6de7
 	call Function1d67
 	jr .asm_12dc6
@@ -52738,7 +52890,19 @@
 
 SECTION "bank14",DATA,BANK[$14]
 
-INCBIN "baserom.gbc", $50000, $5001d - $50000
+Function50000: ; 50000
+	call Function2ed3
+	xor a
+	ld [PartyMenuActionText], a
+	call WhiteBGMap
+	call Function5003f
+	call WaitBGMap
+	call Function32f9
+	call DelayFrame
+	call PartyMenuSelect
+	call Function2b74
+	ret
+; 5001d
 
 
 Function5001d: ; 5001d