diff options
Diffstat (limited to 'engine')
| -rw-r--r-- | engine/buena_phone_scripts.asm | 52 | ||||
| -rw-r--r-- | engine/color.asm | 88 | ||||
| -rw-r--r-- | engine/credits.asm | 17 | ||||
| -rw-r--r-- | engine/engine_flags.asm | 44 | ||||
| -rw-r--r-- | engine/events.asm | 266 | ||||
| -rw-r--r-- | engine/events_2.asm | 70 | ||||
| -rw-r--r-- | engine/fruit_trees.asm | 8 | ||||
| -rw-r--r-- | engine/landmarks.asm | 6 | ||||
| -rw-r--r-- | engine/map_objects.asm | 1114 | ||||
| -rw-r--r-- | engine/map_setup.asm | 195 | ||||
| -rw-r--r-- | engine/more_phone_scripts.asm | 34 | ||||
| -rw-r--r-- | engine/movement.asm | 12 | ||||
| -rw-r--r-- | engine/pack.asm | 46 | ||||
| -rw-r--r-- | engine/phone_scripts.asm | 951 | ||||
| -rw-r--r-- | engine/pokedex.asm | 23 | ||||
| -rw-r--r-- | engine/predef.asm | 108 | ||||
| -rw-r--r-- | engine/radio.asm | 2115 | ||||
| -rw-r--r-- | engine/scripting.asm | 506 | ||||
| -rw-r--r-- | engine/spawn_points.asm | 39 | ||||
| -rw-r--r-- | engine/specials.asm | 207 | ||||
| -rw-r--r-- | engine/std_scripts.asm | 1014 | ||||
| -rw-r--r-- | engine/title.asm | 7 | 
22 files changed, 4609 insertions, 2313 deletions
| diff --git a/engine/buena_phone_scripts.asm b/engine/buena_phone_scripts.asm index 9d4f73e4f..0a278ca03 100644 --- a/engine/buena_phone_scripts.asm +++ b/engine/buena_phone_scripts.asm @@ -1,13 +1,13 @@  UnknownScript_0xa0b14: -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xa0b73 -	checkcode $a -	if_greater_than $11, UnknownScript_0xa0b4b +	checkcode VAR_HOUR +	if_greater_than 17, UnknownScript_0xa0b4b  	scall UnknownScript_0xa0b32  	jump UnknownScript_0xa0c0e  UnknownScript_0xa0b26: -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xa0b73  	scall UnknownScript_0xa0b4f  	jump UnknownScript_0xa0b77 @@ -36,8 +36,8 @@ UnknownScript_0xa0b4b:  	end  UnknownScript_0xa0b4f: -	checkcode $a -	if_greater_than $11, UnknownScript_0xa0b6e +	checkcode VAR_HOUR +	if_greater_than 17, UnknownScript_0xa0b6e  	checkmorn  	iftrue UnknownScript_0xa0b64  	checkday @@ -68,27 +68,27 @@ UnknownScript_0xa0b73:  UnknownScript_0xa0b77:  	checkevent EVENT_BEAT_ELITE_FOUR  	iftrue UnknownScript_0xa0b82 -	random $b +	random 11  	jump UnknownScript_0xa0b84  UnknownScript_0xa0b82: -	random $e +	random 14  UnknownScript_0xa0b84: -	if_equal $0, UnknownScript_0xa0bbc -	if_equal $1, UnknownScript_0xa0bc2 -	if_equal $2, UnknownScript_0xa0bc8 -	if_equal $3, UnknownScript_0xa0bce -	if_equal $4, UnknownScript_0xa0bd4 -	if_equal $5, UnknownScript_0xa0bda -	if_equal $6, UnknownScript_0xa0be0 -	if_equal $7, UnknownScript_0xa0be6 -	if_equal $8, UnknownScript_0xa0bec -	if_equal $9, UnknownScript_0xa0bf2 -	if_equal $a, UnknownScript_0xa0bf8 -	if_equal $b, UnknownScript_0xa0bfe -	if_equal $c, UnknownScript_0xa0c04 -	if_equal $d, UnknownScript_0xa0c0a +	if_equal 0, UnknownScript_0xa0bbc +	if_equal 1, UnknownScript_0xa0bc2 +	if_equal 2, UnknownScript_0xa0bc8 +	if_equal 3, UnknownScript_0xa0bce +	if_equal 4, UnknownScript_0xa0bd4 +	if_equal 5, UnknownScript_0xa0bda +	if_equal 6, UnknownScript_0xa0be0 +	if_equal 7, UnknownScript_0xa0be6 +	if_equal 8, UnknownScript_0xa0bec +	if_equal 9, UnknownScript_0xa0bf2 +	if_equal 10, UnknownScript_0xa0bf8 +	if_equal 11, UnknownScript_0xa0bfe +	if_equal 12, UnknownScript_0xa0c04 +	if_equal 13, UnknownScript_0xa0c0a  UnknownScript_0xa0bbc:  	writetext UnknownText_0xa0efb @@ -149,10 +149,10 @@ UnknownScript_0xa0c0d:  	end  UnknownScript_0xa0c0e: -	random $3 -	if_equal $0, UnknownScript_0xa0c1c -	if_equal $1, UnknownScript_0xa0c20 -	if_equal $2, UnknownScript_0xa0c24 +	random 3 +	if_equal 0, UnknownScript_0xa0c1c +	if_equal 1, UnknownScript_0xa0c20 +	if_equal 2, UnknownScript_0xa0c24  UnknownScript_0xa0c1c:  	writetext UnknownText_0xa1c88 diff --git a/engine/color.asm b/engine/color.asm index 314bf2981..1a28e1104 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -262,10 +262,9 @@ Function8bc6:  	bit 7, a  	jr z, .asm_8bd7  	and $7f +rept 4  	inc hl -	inc hl -	inc hl -	inc hl +endr  .asm_8bd7  asm_8bd7 @@ -361,8 +360,9 @@ Function8c43: ; 8c43  .asm_8c5a  	ld l, c  	ld h, $0 +rept 2  	add hl, hl -	add hl, hl +endr  	ld bc, Palettes_a8be  	add hl, bc  	ld bc, $0004 @@ -398,8 +398,9 @@ Function8c8a: ; 8c8a  	ld hl, Unknown_8f6a  	ld b, 0  	dec c +rept 2  	add hl, bc -	add hl, bc +endr  	ld a, [rSVBK]  	push af  	ld a, $5 @@ -420,9 +421,9 @@ Function8c8a: ; 8c8a  Function8cb4: ; 8cb4  	ld l, e  	ld h, 0 +rept 3  	add hl, hl -	add hl, hl -	add hl, hl +endr  	ld de, Palettes_8d05  	add hl, de  	call CheckCGB @@ -433,8 +434,9 @@ Function8cb4: ; 8cb4  	ld bc, $0010  	call CopyBytes  	pop hl +rept 2  	inc hl -	inc hl +endr  	ld a, [hli]  	ld [wcda9 + 3], a  	ld a, [hli] @@ -556,9 +558,9 @@ Function9615: ; 9615  Function9625: ; 9625  	ld l, a  	ld h, $0 +rept 3  	add hl, hl -	add hl, hl -	add hl, hl +endr  	ld bc, Palettes_9df6  	add hl, bc  	ret @@ -639,15 +641,13 @@ Function9673: ; 9673  	ld c, $8  .asm_9683  	ld a, $ff +rept 4  	ld [hli], a -	ld [hli], a -	ld [hli], a -	ld [hli], a +endr  	xor a +rept 4  	ld [hli], a -	ld [hli], a -	ld [hli], a -	ld [hli], a +endr  	dec c  	jr nz, .asm_9683  	pop af @@ -806,8 +806,9 @@ Function9764: ; 9764  Function976b: ; 976b  	ld l, a  	ld h, 0 -	add hl, hl -	add hl, hl +rept 2 +	add hl,hl +endr  	ld bc, TrainerPalettes  	add hl, bc  	ret @@ -896,9 +897,9 @@ Function97e5: ; 97e5  Function97ee: ; 97ee  	ld l, a  	ld h, $0 +rept 3  	add hl, hl -	add hl, hl -	add hl, hl +endr  	ld bc, PokemonPalettes  	add hl, bc  	ret @@ -912,10 +913,9 @@ Function97f9: ; 97f9  	call CheckShininess  	pop hl  	ret nc +rept 4  	inc hl -	inc hl -	inc hl -	inc hl +endr  	ret  ; 9809 @@ -1139,8 +1139,9 @@ Function994a: ; 994a  	jr nz, .asm_99a6  	ld a, $20  	ld [rJOYP], a +rept 2  	ld a, [rJOYP] -	ld a, [rJOYP] +endr  	call Function9a7a  	call Function9a7a  	ld a, $30 @@ -1149,19 +1150,16 @@ Function994a: ; 994a  	call Function9a7a  	ld a, $10  	ld [rJOYP], a +rept 6  	ld a, [rJOYP] -	ld a, [rJOYP] -	ld a, [rJOYP] -	ld a, [rJOYP] -	ld a, [rJOYP] -	ld a, [rJOYP] +endr  	call Function9a7a  	call Function9a7a  	ld a, $30  	ld [rJOYP], a +rept 3  	ld a, [rJOYP] -	ld a, [rJOYP] -	ld a, [rJOYP] +endr  	call Function9a7a  	call Function9a7a  	ld a, [rJOYP] @@ -1943,21 +1941,22 @@ Functionb1de: ; b1de  	callba Function494ac  	jr c, .asm_b230 -	ld a, [wd19a] +	ld a, [wPermission]  	and 7  	ld e, a  	ld d, 0  	ld hl, Unknown_b279 +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a  	ld a, [TimeOfDayPal]  	and 3 +rept 3  	add a -	add a -	add a +endr  	ld e, a  	ld d, 0  	add hl, de @@ -1975,9 +1974,9 @@ Functionb1de: ; b1de  	push hl  	ld l, a  	ld h, 0 -	add hl, hl -	add hl, hl -	add hl, hl +rept 3 +	add hl,hl +endr  	ld de, TilesetBGPalette  	add hl, de  	ld e, l @@ -2008,7 +2007,7 @@ Functionb1de: ; b1de  	ld a, $5 ; BANK(Unkn2Pals)  	call FarCopyWRAM -	ld a, [wd19a] +	ld a, [wPermission]  	cp 1  	jr z, .asm_b253  	cp 2 @@ -2017,19 +2016,18 @@ Functionb1de: ; b1de  	ld a, [MapGroup]  	ld l, a  	ld h, 0 -	add hl, hl -	add hl, hl -	add hl, hl +rept 3 +	add hl,hl +endr  	ld de, RoofPals  	add hl, de  	ld a, [TimeOfDayPal]  	and 3  	cp NITE  	jr c, .asm_b26d +rept 4  	inc hl -	inc hl -	inc hl -	inc hl +endr  .asm_b26d  	ld de, Unkn1Pals + 8 * 6 + 2  	ld bc, 4 diff --git a/engine/credits.asm b/engine/credits.asm index 5a6cf94fa..940d44ef8 100644 --- a/engine/credits.asm +++ b/engine/credits.asm @@ -260,8 +260,9 @@ Function109926: ; 109926  	ld e, a  	ld d, 0  	ld hl, Jumptable_109937 +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a @@ -326,8 +327,9 @@ Function109986: ; 109986 (42:5986)  	cp $30  	jr c, Function109986  	ld a, [wcf66] +rept 2  	dec a -	dec a +endr  	ld [wcf66], a  	ld hl, LYOverrides + $1f  	call Function1099a3 @@ -397,8 +399,9 @@ ParseCredits: ; 1099aa  	ld e, a  	ld d, 0  	ld hl, CreditsStrings +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld d, [hl]  	ld e, a @@ -582,10 +585,9 @@ Function109aff: ; 109aff (42:5aff)  	dec c  	jr nz, .asm_109b08  	pop hl +rept 4  	inc hl -	inc hl -	inc hl -	inc hl +endr  	dec b  	jr nz, .asm_109b01  	ret @@ -735,8 +737,9 @@ Function109bca: ; 109bca (42:5bca)  	ld [hl], a  	ld a, [wcf65]  	and 3 +rept 2  	add a -	add a +endr  	add e  	add a  	ld e, a diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 414604661..87fbd987d 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -100,26 +100,26 @@  	dwb wdc9d, %00000001 ; lucky number show  	dwb StatusFlags2, %00001000 -	dwb wdc1e, %00000001 ; kurt making balls  ; $50 -	dwb wdc1e, %00000010 -	dwb wdc1e, %00000100 ; special wilddata? -	dwb wdc1e, %00001000 ; time capsule (24h wait) -	dwb wdc1e, %00010000 ; all fruit trees -	dwb wdc1e, %00100000 ; shuckle given -	dwb wdc1e, %01000000 ; goldenrod underground merchant closed -	dwb wdc1e, %10000000 ; fought in trainer hall today - -	dwb wdc1f, %00000001 ; mt moon square clefairy  ; $58 -	dwb wdc1f, %00000010 ; union cave lapras -	dwb wdc1f, %00000100 ; goldenrod underground haircut used -	dwb wdc1f, %00001000 ; goldenrod mall happiness event floor05 person07 -	dwb wdc1f, %00010000 ; tea in blues house -	dwb wdc1f, %00100000 ; indigo plateau rival fight -	dwb wdc1f, %01000000 -	dwb wdc1f, %10000000 - -	dwb wdc20, %00000001 ; $60 -	dwb wdc20, %00000010 ; goldenrod dept store sale is on +	dwb DailyFlags, %00000001 ; kurt making balls  ; $50 +	dwb DailyFlags, %00000010 +	dwb DailyFlags, %00000100 ; special wilddata? +	dwb DailyFlags, %00001000 ; time capsule (24h wait) +	dwb DailyFlags, %00010000 ; all fruit trees +	dwb DailyFlags, %00100000 ; shuckle given +	dwb DailyFlags, %01000000 ; goldenrod underground merchant closed +	dwb DailyFlags, %10000000 ; fought in trainer hall today + +	dwb WeeklyFlags, %00000001 ; mt moon square clefairy  ; $58 +	dwb WeeklyFlags, %00000010 ; union cave lapras +	dwb WeeklyFlags, %00000100 ; goldenrod underground haircut used +	dwb WeeklyFlags, %00001000 ; goldenrod mall happiness event floor05 person07 +	dwb WeeklyFlags, %00010000 ; tea in blues house +	dwb WeeklyFlags, %00100000 ; indigo plateau rival fight +	dwb WeeklyFlags, %01000000 +	dwb WeeklyFlags, %10000000 + +	dwb SwarmFlags, %00000001 ; $60 +	dwb SwarmFlags, %00000010 ; goldenrod dept store sale is on  	dwb GameTimerPause, %10000000 ; $62 @@ -194,5 +194,5 @@  	dwb wd45b, %00000100 ; female player has been transformed into male -	dwb wdc20, %00000100 ; dunsparce swarm   ; $a0 -	dwb wdc20, %00001000 ; yanma swarm +	dwb SwarmFlags, %00000100 ; dunsparce swarm   ; $a0 +	dwb SwarmFlags, %00001000 ; yanma swarm diff --git a/engine/events.asm b/engine/events.asm index cf2d4f3e4..5849d6774 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -24,91 +24,91 @@ OverworldLoop:: ; 966b0  ; 966cb -Function966cb: ; 966cb +ClearAllScriptFlags3: ; 966cb  	xor a  	ld [ScriptFlags3], a  	ret  ; 966d0 -Function966d0:: ; 966d0 +SetAll_ScriptFlags3:: ; 966d0  	ld a, $ff  	ld [ScriptFlags3], a  	ret  ; 966d6 -Function966d6: ; 966d6 +CheckBit5_ScriptFlags3: ; 966d6  	ld hl, ScriptFlags3  	bit 5, [hl]  	ret  ; 966dc -Function966dc: ; 966dc +ResetBit2_ScriptFlags3: ; 966dc  	ld hl, ScriptFlags3  	res 2, [hl]  	ret  ; 966e2 -Function966e2: ; 966e2 +ResetBit1_ScriptFlags3: ; 966e2  	ld hl, ScriptFlags3  	res 1, [hl]  	ret  ; 966e8 -Function966e8: ; 966e8 +ResetBit0_ScriptFlags3: ; 966e8  	ld hl, ScriptFlags3  	res 0, [hl]  	ret  ; 966ee -Function966ee: ; 966ee +ResetBit4_ScriptFlags3: ; 966ee  	ld hl, ScriptFlags3  	res 4, [hl]  	ret  ; 966f4 -Function966f4: ; 966f4 +SetBit2_ScriptFlags3: ; 966f4  	ld hl, ScriptFlags3  	set 2, [hl]  	ret  ; 966fa -Function966fa: ; 966fa +SetBit1_ScriptFlags3: ; 966fa  	ld hl, ScriptFlags3  	set 1, [hl]  	ret  ; 96700 -Function96700: ; 96700 +SetBit0_ScriptFlags3: ; 96700  	ld hl, ScriptFlags3  	set 0, [hl]  	ret  ; 96706 -Function96706: ; 96706 +SetBit4_ScriptFlags3: ; 96706  	ld hl, ScriptFlags3  	set 4, [hl]  	ret  ; 9670c -Function9670c: ; 9670c +CheckBit2_ScriptFlags3: ; 9670c  	ld hl, ScriptFlags3  	bit 2, [hl]  	ret  ; 96712 -Function96712: ; 96712 +CheckBit1_ScriptFlags3: ; 96712  	ld hl, ScriptFlags3  	bit 1, [hl]  	ret  ; 96718 -Function96718: ; 96718 +CheckBit0_ScriptFlags3: ; 96718  	ld hl, ScriptFlags3  	bit 0, [hl]  	ret  ; 9671e -Function9671e: ; 9671e +CheckBit4_ScriptFlags3: ; 9671e  	ld hl, ScriptFlags3  	bit 4, [hl]  	ret @@ -135,20 +135,20 @@ EnterMap: ; 9673e  	ld [wd454], a  	call Function968d1  	callba RunMapSetupScript -	call Function966cb +	call ClearAllScriptFlags3  	ld a, [$ff9f]  	cp $f7 -	jr nz, .asm_9675a -	call Function966d0 -.asm_9675a +	jr nz, .dontset +	call SetAll_ScriptFlags3 +.dontset  	ld a, [$ff9f]  	cp $f3 -	jr nz, .asm_96764 +	jr nz, .dontresetpoison  	xor a  	ld [PoisonStepCount], a -.asm_96764 +.dontresetpoison  	xor a  	ld [$ff9f], a @@ -197,7 +197,7 @@ MapEvents: ; 96795  .events ; 967a1  	call PlayerEvents -	call Function966cb +	call ClearAllScriptFlags3  	callba ScriptEvents  	ret  ; 967ae @@ -245,7 +245,7 @@ Function967d1: ; 967d1  ; 967e1  Function967e1: ; 967e1 -	callba Function5920 +	callba RefreshMapAppearDisappear  	callba Functiond4d2  	callba Functionb8098  	ret @@ -254,19 +254,19 @@ Function967e1: ; 967e1  Function967f4: ; 967f4  	ld a, [wd150]  	bit 5, a -	jr z, .asm_96806 +	jr z, .events  	bit 6, a -	jr z, .asm_9680c +	jr z, .noevents  	bit 4, a -	jr nz, .asm_9680c -	call Function966d0 +	jr nz, .noevents +	call SetAll_ScriptFlags3 -.asm_96806 +.events  	ld a, 0 ; events  	ld [MapEventStatus], a  	ret -.asm_9680c +.noevents  	ld a, 1 ; no events  	ld [MapEventStatus], a  	ret @@ -293,44 +293,44 @@ PlayerEvents: ; 9681f  	call Function968e4  	call CheckTrainerBattle3 -	jr c, .asm_96848 +	jr c, .ok  	call CheckTileEvent -	jr c, .asm_96848 +	jr c, .ok  	call Function97c30 -	jr c, .asm_96848 +	jr c, .ok  	call Function968ec -	jr c, .asm_96848 +	jr c, .ok  	call Function9693a -	jr c, .asm_96848 +	jr c, .ok  	call OWPlayerInput -	jr c, .asm_96848 +	jr c, .ok  	xor a  	ret -.asm_96848 +.ok  	push af -	callba Function96c56 +	callba EnableScriptMode  	pop af  	ld [ScriptRunning], a  	call Function96beb  	ld a, [ScriptRunning]  	cp 4 -	jr z, .asm_96865 +	jr z, .ok2  	cp 9 -	jr z, .asm_96865 +	jr z, .ok2  	xor a  	ld [wc2da], a -.asm_96865 +.ok2  	scf  	ret  ; 96867 @@ -340,13 +340,13 @@ CheckTrainerBattle3: ; 96867  	nop  	nop  	call CheckTrainerBattle2 -	jr nc, .asm_96872 +	jr nc, .nope  	ld a, 1  	scf  	ret -.asm_96872 +.nope  	xor a  	ret  ; 96874 @@ -355,60 +355,60 @@ CheckTrainerBattle3: ; 96867  CheckTileEvent: ; 96874  ; Check for warps, tile triggers or wild battles. -	call Function9670c -	jr z, .asm_96886 +	call CheckBit2_ScriptFlags3 +	jr z, .bit2 -	callba Function104820 -	jr c, .asm_968a6 +	callba CheckMovingOffEdgeOfMap +	jr c, .return4  	call Function2238 -	jr c, .asm_968aa +	jr c, .return6 -.asm_96886 -	call Function96712 -	jr z, .asm_96890 +.bit2 +	call CheckBit1_ScriptFlags3 +	jr z, .bit1 -	call Function2ad4 -	jr c, .asm_968ba +	call CheckCurrentMapXYTriggers +	jr c, .movement -.asm_96890 -	call Function96718 -	jr z, .asm_96899 +.bit1 +	call CheckBit0_ScriptFlags3 +	jr z, .bit0  	call CountStep  	ret c -.asm_96899 -	call Function9671e -	jr z, .asm_968a4 +.bit0 +	call CheckBit4_ScriptFlags3 +	jr z, .ok  	call Function97cc0  	ret c -	jr .asm_968a4 +	jr .ok -.asm_968a4 +.ok  	xor a  	ret -.asm_968a6 +.return4  	ld a, 4  	scf  	ret -.asm_968aa +.return6  	ld a, [StandingTile]  	call CheckPitTile -	jr nz, .asm_968b6 +	jr nz, .pittile  	ld a, 6  	scf  	ret -.asm_968b6 +.pittile  	ld a, 5  	scf  	ret -.asm_968ba +.movement  	ld hl, MovementAnimation  	ld a, [hli]  	ld h, [hl] @@ -450,7 +450,7 @@ Function968d8: ; 968d8  ; 968e4  Function968e4: ; 968e4 -	call Function966d6 +	call CheckBit5_ScriptFlags3  	ret z  	call Function2f3e  	ret @@ -459,12 +459,12 @@ Function968e4: ; 968e4  Function968ec: ; 968ec  	ld a, [wdc07]  	and a -	jr z, .asm_96938 +	jr z, .nope  	ld c, a -	call Function211b +	call CheckTriggers  	cp c -	jr nc, .asm_96938 +	jr nc, .nope  	ld e, a  	ld d, 0 @@ -472,11 +472,10 @@ Function968ec: ; 968ec  	ld a, [hli]  	ld h, [hl]  	ld l, a -	add hl, de -	add hl, de -	add hl, de -	add hl, de - +rept 4 +	add hl,de +endr +	  	call GetMapScriptHeaderBank  	call GetFarHalfword  	call GetMapScriptHeaderBank @@ -485,12 +484,12 @@ Function968ec: ; 968ec  	ld hl, ScriptFlags  	res 3, [hl] -	callba Function96c56 +	callba EnableScriptMode  	callba ScriptEvents  	ld hl, ScriptFlags  	bit 3, [hl] -	jr z, .asm_96938 +	jr z, .nope  	ld hl, ScriptDelay + 2  	ld a, [hli] @@ -501,7 +500,7 @@ Function968ec: ; 968ec  	scf  	ret -.asm_96938 +.nope  	xor a  	ret  ; 9693a @@ -531,8 +530,8 @@ Function9693a: ; 9693a  	ret  .elevator -	ld a, BANK(UnknownScript_0x135f8) -	ld hl, UnknownScript_0x135f8 +	ld a, BANK(BugCatchingContestOverScript) +	ld hl, BugCatchingContestOverScript  	call CallScript  	scf  	ret @@ -608,25 +607,25 @@ TryObjectEvent: ; 969b5  .IsObject  	call PlayTalkObject  	ld a, [hConnectedMapWidth] -	call Function1ae5 -	ld hl, $0001 +	call GetObjectStruct +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl]  	ld [$ffe0], a  	ld a, [$ffe0]  	call GetMapObject -	ld hl, $0008 +	ld hl, MAPOBJECT_COLOR  	add hl, bc  	ld a, [hl] -	and $f +	and %00001111  ; Bug: If IsInArray returns nc, data at bc will be executed as code.  	push bc  	ld de, 3 -	ld hl, .data_969ee +	ld hl, .pointers  	call IsInArray -	jr nc, .asm_969ec +	jr nc, .nope_bugged  	pop bc  	inc hl @@ -635,11 +634,11 @@ TryObjectEvent: ; 969b5  	ld l, a  	jp [hl] -.asm_969ec +.nope_bugged  	xor a  	ret -.data_969ee +.pointers  	dbw 0, .zero  	dbw 1, .one  	dbw 2, .two @@ -647,11 +646,11 @@ TryObjectEvent: ; 969b5  	dbw 4, .four  	dbw 5, .five  	dbw 6, .six -	db $ff +	db -1  ; 96a04  .zero ; 96a04 -	ld hl, $000a +	ld hl, MAPOBJECT_SCRIPT_POINTER  	add hl, bc  	ld a, [hli]  	ld h, [hl] @@ -663,7 +662,7 @@ TryObjectEvent: ; 969b5  ; 96a12  .one ; 96a12 -	ld hl, $000a +	ld hl, MAPOBJECT_SCRIPT_POINTER  	add hl, bc  	ld a, [hli]  	ld h, [hl] @@ -712,7 +711,7 @@ TryReadSign: ; 96a38  	ret  .IsSign -	ld a, [MartPointer] +	ld a, [wd040]  	ld hl, .signs  	rst JumpTable  	ret @@ -726,7 +725,7 @@ TryReadSign: ; 96a38  	dw .ifset  	dw .ifnotset  	dw .itemifset -	dw .asm_96aa2 +	dw .copy  ; 96a59  .up @@ -767,13 +766,13 @@ TryReadSign: ; 96a38  	ld de, EngineBuffer1  	ld bc, 3  	call FarCopyBytes -	ld a, BANK(UnknownScript_0x13625) -	ld hl, UnknownScript_0x13625 +	ld a, BANK(SignpostItemScript) +	ld hl, SignpostItemScript  	call CallScript  	scf  	ret -.asm_96aa2 +.copy  	call CheckSignFlag  	jr nz, .dontread  	call GetMapScriptHeaderBank @@ -785,18 +784,19 @@ TryReadSign: ; 96a38  .ifset  	call CheckSignFlag  	jr z, .dontread -	jr .asm_96ac1 +	jr .thenread  .ifnotset  	call CheckSignFlag  	jr nz, .dontread -.asm_96ac1 +.thenread  	push hl  	call PlayTalkObject  	pop hl +rept 2  	inc hl -	inc hl +endr  	call GetMapScriptHeaderBank  	call GetFarHalfword  	call GetMapScriptHeaderBank @@ -820,7 +820,7 @@ CheckSignFlag: ; 96ad8  	call GetFarHalfword  	ld e, l  	ld d, h -	ld b, $2 +	ld b, $2 ; check  	call EventFlagAction  	ld a, c  	and a @@ -878,8 +878,8 @@ PlayerMovement: ; 96af0  .three ; 96b20  ; force the player to move in some direction -	ld a, BANK(UnknownScript_0x1253d) -	ld hl, UnknownScript_0x1253d +	ld a, BANK(Script_ForcedMovement) +	ld hl, Script_ForcedMovement  	call CallScript  ;	ld a, -1  	ld c, a @@ -941,8 +941,8 @@ SelectMenuScript: ; 96b5f  StartMenuCallback:  SelectMenuCallback: ; 96b66  	copybytetovar $ffa0 -	if_equal $80, .Script -	if_equal $ff, .Asm +	if_equal %10000000, .Script +	if_equal -1, .Asm  	end  ; 96b72 @@ -959,13 +959,13 @@ SelectMenuCallback: ; 96b66  CountStep: ; 96b79  	ld a, [InLinkBattle]  	and a -	jr nz, .asm_96bc9 +	jr nz, .done  	callba Function90136 -	jr c, .asm_96bcb +	jr c, .setminus1  	call Function96bd7 -	jr c, .asm_96bcb +	jr c, .setminus1  	ld hl, PoisonStepCount  	inc [hl] @@ -981,7 +981,7 @@ CountStep: ; 96b79  	jr nz, .asm_96bab  	callba Function16f3e -	jr nz, .asm_96bcf +	jr nz, .set8  .asm_96bab  	callba DaycareStep @@ -989,25 +989,25 @@ CountStep: ; 96b79  	ld hl, PoisonStepCount  	ld a, [hl]  	cp 4 -	jr c, .asm_96bc3 +	jr c, .poisoned  	ld [hl], 0  	callba Function505da -	jr c, .asm_96bcb +	jr c, .setminus1 -.asm_96bc3 +.poisoned  	callba Function97db3 -.asm_96bc9 +.done  	xor a  	ret -.asm_96bcb +.setminus1  	ld a, -1  	scf  	ret -.asm_96bcf +.set8  	ld a, 8  	scf  	ret @@ -1015,7 +1015,7 @@ CountStep: ; 96b79  Function96bd3: ; 96bd3 -	ld a, $7 +	ld a, 7  	scf  	ret  ; 96bd7 @@ -1027,8 +1027,8 @@ Function96bd7: ; 96bd7  	dec a  	ld [wdca1], a  	ret nz -	ld a, BANK(UnknownScript_0x13619) -	ld hl, UnknownScript_0x13619 +	ld a, BANK(RepelWoreOffScript) +	ld hl, RepelWoreOffScript  	call CallScript  	scf  	ret @@ -1038,17 +1038,17 @@ Function96beb: ; 96beb  	ld a, [ScriptRunning]  	and a  	ret z -	cp $ff +	cp -1  	ret z -	cp $a +	cp 10  	ret nc  	ld c, a  	ld b, 0  	ld hl, ScriptPointers96c0c -	add hl, bc -	add hl, bc -	add hl, bc +rept 3 +	add hl,bc +endr  	ld a, [hli]  	ld [ScriptBank], a  	ld a, [hli] @@ -1059,20 +1059,20 @@ Function96beb: ; 96beb  ; 96c0c  ScriptPointers96c0c: ; 96c0c -	dbw BANK(UnknownScript_0x96c2d), UnknownScript_0x96c2d -	dbw BANK(UnknownScript_0xbe675), UnknownScript_0xbe675 -	dbw BANK(UnknownScript_0xbe66a), UnknownScript_0xbe66a -	dbw BANK(UnknownScript_0x122ce), UnknownScript_0x122ce +	dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d +	dbw BANK(SeenByTrainerScript), SeenByTrainerScript +	dbw BANK(TalkToTrainerScript), TalkToTrainerScript +	dbw BANK(FindItemInBallScript), FindItemInBallScript  	dbw BANK(UnknownScript_0x96c4d), UnknownScript_0x96c4d -	dbw BANK(UnknownScript_0x96c34), UnknownScript_0x96c34 +	dbw BANK(WarpToNewMapScript), WarpToNewMapScript  	dbw BANK(FallIntoMapScript), FallIntoMapScript  	dbw BANK(UnknownScript_0x124c8), UnknownScript_0x124c8 -	dbw BANK(UnknownScript_0x96c2f), UnknownScript_0x96c2f +	dbw BANK(HatchEggScript), HatchEggScript  	dbw BANK(UnknownScript_0x96c4f), UnknownScript_0x96c4f -	dbw BANK(UnknownScript_0x96c2d), UnknownScript_0x96c2d +	dbw BANK(Invalid_0x96c2d), Invalid_0x96c2d  ; 96c2d -UnknownScript_0x96c2d: ; 96c2d +Invalid_0x96c2d: ; 96c2d  	end  ; 96c2e @@ -1080,12 +1080,12 @@ UnknownScript_0x96c2e: ; 96c2e  	end  ; 96c2f -UnknownScript_0x96c2f: ; 96c2f -	callasm Function16f5e +HatchEggScript: ; 96c2f +	callasm OverworldHatchEgg  	end  ; 96c34 -UnknownScript_0x96c34: ; 96c34 +WarpToNewMapScript: ; 96c34  	warpsound  	newloadmap $f5  	end @@ -1116,7 +1116,7 @@ UnknownScript_0x96c4d: ; 96c4d  UnknownScript_0x96c4f: ; 96c4f  	deactivatefacing $3 -	callasm Function96706 +	callasm SetBit4_ScriptFlags3  	end  ; 96c56 diff --git a/engine/events_2.asm b/engine/events_2.asm index 433c7caea..bca1ec27b 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -1,7 +1,7 @@  ; More overworld event handling. -Function97c28:: ; 97c28 +WarpToSpawnPoint:: ; 97c28  	ld hl, StatusFlags2  	res 1, [hl]  	res 2, [hl] @@ -48,46 +48,46 @@ Function97c5f:: ; 97c5f  	call GetFacingTileCoord  	ld [EngineBuffer1], a  	ld c, a -	callba Function1365b -	jr c, .asm_97cb9 +	callba CheckFacingTileForStd +	jr c, .done  	call CheckCutTreeTile  	jr nz, .whirlpool  	callba TryCutOW -	jr .asm_97cb9 +	jr .done  .whirlpool  	ld a, [EngineBuffer1]  	call CheckWhirlpoolTile  	jr nz, .waterfall  	callba TryWhirlpoolOW -	jr .asm_97cb9 +	jr .done  .waterfall  	ld a, [EngineBuffer1]  	call CheckWaterfallTile  	jr nz, .headbutt  	callba TryWaterfallOW -	jr .asm_97cb9 +	jr .done  .headbutt  	ld a, [EngineBuffer1]  	call CheckHeadbuttTreeTile  	jr nz, .surf  	callba TryHeadbuttOW -	jr c, .asm_97cb9 -	jr .asm_97cb7 +	jr c, .done +	jr .noevent  .surf  	callba TrySurfOW -	jr nc, .asm_97cb7 -	jr .asm_97cb9 +	jr nc, .noevent +	jr .done -.asm_97cb7 +.noevent  	xor a  	ret -.asm_97cb9 +.done  	call PlayClickSFX  	ld a, $ff  	scf @@ -125,8 +125,8 @@ Function97cc0:: ; 97cc0  	jr .asm_97cf4  .asm_97ced -	ld a, BANK(UnknownScript_0x135eb) -	ld hl, UnknownScript_0x135eb +	ld a, BANK(BugCatchingContestBattleScript) +	ld hl, BugCatchingContestBattleScript  	jr .asm_97cf4  .asm_97cf4 @@ -146,7 +146,7 @@ Function97cfd:: ; 97cfd  	ld hl, StatusFlags  	bit 5, [hl]  	jr nz, .asm_97d21 -	ld a, [wd19a] +	ld a, [wPermission]  	cp $4  	jr z, .asm_97d17  	cp $7 @@ -271,21 +271,21 @@ Function97db3:: ; 97db3  Function97db5: ; 97db5  	ld hl, StatusFlags2  	bit 4, [hl] -	jr z, .asm_97df7 +	jr z, .NoCall  	ld a, [PlayerState] -	cp $1 -	jr nz, .asm_97df7 -	call Function2d05 +	cp 1 +	jr nz, .NoCall +	call GetMapHeaderPhoneServiceNybble  	and a -	jr nz, .asm_97df7 +	jr nz, .NoCall  	ld hl, wdca1 + 1  	ld a, [hli]  	ld d, a  	ld e, [hl] -	cp $ff +	cp -1  	jr nz, .asm_97dd8  	ld a, e -	cp $ff +	cp -1  	jr z, .asm_97ddc  .asm_97dd8 @@ -297,34 +297,34 @@ Function97db5: ; 97db5  .asm_97ddc  	ld a, d  	cp $4 -	jr c, .asm_97df7 -	ld a, [wdc31] +	jr c, .NoCall +	ld a, [wSpecialPhoneCallID]  	and a -	jr nz, .asm_97df7 -	ld a, $6 -	ld [wdc31], a +	jr nz, .NoCall +	ld a, 6 +	ld [wSpecialPhoneCallID], a  	xor a -	ld [wdc31 + 1], a +	ld [wSpecialPhoneCallID + 1], a  	ld hl, StatusFlags2  	res 4, [hl]  	scf  	ret -.asm_97df7 +.NoCall  	xor a  	ret  ; 97df9  Function97df9:: ; 97df9  	ld hl, wd6de -	ld de, $0006 -	ld c, $4 +	ld de, 6 +	ld c, 4  	xor a -.asm_97e02 +.loop  	ld [hl], a  	add hl, de  	dec c -	jr nz, .asm_97e02 +	jr nz, .loop  	ret  ; 97e08 @@ -439,9 +439,9 @@ Function97e79: ; 97e79  	ld e, a  	ld d, 0  	ld hl, Table97e94 +rept 3  	add hl, de -	add hl, de -	add hl, de +endr  	ld a, [hli]  	push af  	ld a, [hli] diff --git a/engine/fruit_trees.asm b/engine/fruit_trees.asm index 26002641a..9404a5564 100644 --- a/engine/fruit_trees.asm +++ b/engine/fruit_trees.asm @@ -43,7 +43,7 @@ GetCurTreeFruit: ; 44041  ; 4404c  TryResetFruitTrees: ; 4404c -	ld hl, wdc1e +	ld hl, DailyFlags  	bit 4, [hl]  	ret nz  	jp ResetFruitTrees @@ -66,11 +66,11 @@ PickedFruitTree: ; 4405f  ResetFruitTrees: ; 4406a  	xor a  	ld hl, FruitTreeFlags +rept 3  	ld [hli], a -	ld [hli], a -	ld [hli], a +endr  	ld [hl], a -	ld hl, wdc1e +	ld hl, DailyFlags  	set 4, [hl]  	ret  ; 44078 diff --git a/engine/landmarks.asm b/engine/landmarks.asm index 831709514..e9b1c3668 100644 --- a/engine/landmarks.asm +++ b/engine/landmarks.asm @@ -3,8 +3,9 @@ GetLandmarkCoords: ; 0x1ca896  	push hl  	ld l, e  	ld h, 0 +rept 2  	add hl, hl -	add hl, hl +endr  	ld de, Landmarks  	add hl, de  	ld a, [hli] @@ -23,8 +24,9 @@ GetLandmarkName:: ; 0x1ca8a5  	ld l, e  	ld h, 0 +rept 2  	add hl, hl -	add hl, hl +endr  	ld de, Landmarks + 2  	add hl, de  	ld a, [hli] diff --git a/engine/map_objects.asm b/engine/map_objects.asm index d7c1b6581..6cbdc87aa 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -1,7 +1,7 @@  INCLUDE "engine/facings.asm" -Data4273:: ; 4273 +ObjectStruct3_Data:: ; 4273  	db $00, $00, $01, $02, $00, $00  	db $06, $00, $01, $0c, $00, $00  	db $03, $00, $01, $00, $00, $00 @@ -45,26 +45,26 @@ Data4273:: ; 4273  Function4357:: ; 4357  	push bc -	ld hl, OBJECT_01 +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl]  	push af  	ld h, b  	ld l, c -	ld bc, ObjectStruct2 - ObjectStruct1 +	ld bc, OBJECT_STRUCT_LENGTH  	xor a  	call ByteFill  	pop af -	cp $ff -	jr z, .asm_4379 +	cp -1 +	jr z, .ok  	bit 7, a -	jr nz, .asm_4379 +	jr nz, .ok  	call GetMapObject -	ld hl, OBJECT_00 +	ld hl, OBJECT_SPRITE  	add hl, bc -	ld [hl], $ff +	ld [hl], -1 -.asm_4379 +.ok  	pop bc  	ret  ; 437b @@ -86,24 +86,24 @@ Function4386: ; 4386  	ld hl, OBJECT_MAP_X  	add hl, bc  	ld a, [hl] -	add $1 +	add 1  	sub e -	jr c, .asm_43b2 -	cp $c -	jr nc, .asm_43b2 +	jr c, .ok +	cp MAPOBJECT_SCREEN_WIDTH +	jr nc, .ok  	ld a, [YCoord]  	ld e, a  	ld hl, OBJECT_MAP_Y  	add hl, bc  	ld a, [hl] -	add $1 +	add 1  	sub e -	jr c, .asm_43b2 -	cp $b -	jr nc, .asm_43b2 -	jr .asm_43dc +	jr c, .ok +	cp MAPOBJECT_SCREEN_HEIGHT +	jr nc, .ok +	jr .yes -.asm_43b2 +.ok  	ld hl, OBJECT_FLAGS  	add hl, bc  	set 6, [hl] @@ -112,36 +112,36 @@ Function4386: ; 4386  	ld hl, OBJECT_20  	add hl, bc  	ld a, [hl] -	add $1 +	add 1  	sub e -	jr c, .asm_43de -	cp $c -	jr nc, .asm_43de +	jr c, .ok2 +	cp MAPOBJECT_SCREEN_WIDTH +	jr nc, .ok2  	ld a, [YCoord]  	ld e, a  	ld hl, OBJECT_21  	add hl, bc  	ld a, [hl] -	add $1 +	add 1  	sub e -	jr c, .asm_43de -	cp $b -	jr nc, .asm_43de +	jr c, .ok2 +	cp MAPOBJECT_SCREEN_HEIGHT +	jr nc, .ok2 -.asm_43dc +.yes  	and a  	ret -.asm_43de +.ok2  	ld hl, OBJECT_04  	add hl, bc  	bit 1, [hl] -	jr nz, .asm_43eb +	jr nz, .yes2  	call Function4357  	scf  	ret -.asm_43eb +.yes2  	ld hl, OBJECT_FLAGS  	add hl, bc  	set 6, [hl] @@ -154,38 +154,38 @@ Function43f3: ; 43f3  	add hl, bc  	ld a, [hl]  	and a -	jr z, .asm_4409 +	jr z, .zero  	ld hl, OBJECT_FLAGS  	add hl, bc  	bit 5, [hl] -	jr nz, .asm_4426 -	cp $1 -	jr z, .asm_4414 -	jr .asm_4421 +	jr nz, .not_bit5 +	cp 1 +	jr z, .one +	jr .ok -.asm_4409 +.zero  	call Function47bc  	ld hl, OBJECT_FLAGS  	add hl, bc  	bit 5, [hl] -	jr nz, .asm_4426 +	jr nz, .not_bit5 -.asm_4414 +.one  	call Function47dd  	ld hl, OBJECT_09  	add hl, bc  	ld a, [hl]  	and a  	ret z -	cp $1 +	cp 1  	ret z -.asm_4421 +.ok  	ld hl, Pointers4b45  	rst JumpTable  	ret -.asm_4426 +.not_bit5  	ret  ; 4427 @@ -226,8 +226,9 @@ Function444d: ; 444d  	ld a, [hl]  	ld l, a  	ld h, 0 -	add hl, hl -	add hl, hl +rept 2 +	add hl,hl +endr  	add hl, de  	ld a, [hli]  	ld h, [hl] @@ -274,26 +275,26 @@ Pointers445f: ; 445f  ; 44a3  Function44a3: ; 44a3 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], $ff +	ld [hl], -1  	ret  ; 44aa  Function44aa: ; 44aa  	call GetSpriteDirection -	or $0 -	ld hl, OBJECT_FACING +	or 0 +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 44b5  Function44b5: ; 44b5 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld a, [hl] -	and $1 +	and 1  	jr nz, Function44c1  	jp Function44aa  ; 44c1 @@ -307,16 +308,16 @@ Function44c1: ; 44c1  	add hl, bc  	ld a, [hl]  	inc a -	and $f +	and %00001111  	ld [hl], a  	rrca  	rrca -	and $3 +	and %00000011  	ld d, a  	call GetSpriteDirection -	or $0 +	or 0  	or d -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret @@ -330,17 +331,17 @@ Function44e4: ; 44e4  	ld hl, OBJECT_12  	add hl, bc  	ld a, [hl] -	add $2 -	and $f +	add 2 +	and %00001111  	ld [hl], a  	rrca  	rrca -	and $3 +	and %00000011  	ld d, a  	call GetSpriteDirection -	or $0 +	or 0  	or d -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret @@ -358,12 +359,12 @@ Function4508: ; 4508  	rrca  	rrca  	rrca -	and $3 +	and %00000011  	ld d, a  	call GetSpriteDirection -	or $0 +	or 0  	or d -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret @@ -371,11 +372,11 @@ Function4508: ; 4508  Function4529: ; 4529  	call Function453f -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld a, [hl] -	or $0 -	ld hl, OBJECT_FACING +	or 0 +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret @@ -390,21 +391,21 @@ Function453f: ; 453f  	ld hl, OBJECT_12  	add hl, bc  	ld a, [hl] -	and $f0 +	and %11110000  	ld e, a  	ld a, [hl]  	inc a -	and $f +	and %00001111  	ld d, a -	cp $4 -	jr c, .asm_4558 +	cp 4 +	jr c, .ok  	ld d, 0  	ld a, e  	add $10 -	and $30 +	and %00110000  	ld e, a -.asm_4558 +.ok  	ld a, d  	or e  	ld [hl], a @@ -413,14 +414,14 @@ Function453f: ; 453f  	ld hl, .Directions  	add hl, de  	ld a, [hl] -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld [hl], a  	ret  ; 456a  .Directions ; 456a -	db $00, $0c, $04, $08 +	db DOWN << 2, RIGHT << 2, UP << 2, LEFT << 2  ; 456e  Function456e: ; 456e @@ -428,28 +429,28 @@ Function456e: ; 456e  	rrca  	rrca  	add $10 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 457b  Function457b: ; 457b -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], $15  	ret  ; 4582  Function4582: ; 4582 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], $14  	ret  ; 4589  Function4589: ; 4589 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], $17  	ret @@ -460,20 +461,20 @@ Function4590: ; 4590  	add hl, bc  	ld a, [hl]  	inc a -	and $f +	and %00001111  	ld [hl], a -	and $8 +	and %00001000  	jr z, Function45a4 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], $4  	ret  ; 45a4  Function45a4: ; 45a4 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ret  ; 45ab @@ -483,34 +484,34 @@ Function45ab: ; 45ab  	ld a, [hl]  	inc a  	ld [hl], a -	and $c +	and %00001100  	rrca  	rrca  	add $18 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], a  	ret  ; 45be  Function45be: ; 45be -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], $16  	ret  ; 45c5  Function45c5: ; 45c5 -	ld a, [VariableSprites + 3] +	ld a, [VariableSprites + SPRITE_BIG_DOLL - SPRITE_VARS]  	ld d, $17 -	cp $33 -	jr z, .asm_45d4 -	cp $47 -	jr z, .asm_45d4 +	cp SPRITE_BIG_SNORLAX +	jr z, .ok +	cp SPRITE_BIG_LAPRAS +	jr z, .ok  	ld d, $16 -.asm_45d4 -	ld hl, OBJECT_FACING +.ok +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld [hl], d  	ret @@ -522,13 +523,13 @@ Function45da: ; 45da  	inc [hl]  	ld a, [hl] -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	and 2  	ld a, $1c -	jr z, .asm_45eb +	jr z, .ok  	inc a -.asm_45eb +.ok  	ld [hl], a  	ret  ; 45ed @@ -538,14 +539,14 @@ Function45ed: ; 45ed  	add hl, bc  	inc [hl]  	ld a, [hl] -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	and 4  	ld a, $1e -	jr z, .asm_45fe +	jr z, .ok  	inc a -.asm_45fe +.ok  	ld [hl], a  	ret  ; 4600 @@ -605,13 +606,13 @@ Function463f: ; 463f  	ld hl, OBJECT_FLAGS  	add hl, bc  	bit 3, [hl] -	jr z, .asm_464f +	jr z, .ok  	ld hl, OBJECT_STANDING_TILE  	add hl, bc  	ld a, [hl]  	call Function4661 -.asm_464f +.ok  	ld hl, OBJECT_STANDING_TILE  	add hl, bc  	ld a, [hl] @@ -626,17 +627,17 @@ Function463f: ; 463f  Function4661: ; 4661  	call Function188e -	jr z, .asm_466b +	jr z, .set  	call Function1875 -	jr c, .asm_4672 +	jr c, .reset -.asm_466b +.set  	ld hl, OBJECT_FLAGS  	add hl, bc  	set 3, [hl]  	ret -.asm_4672 +.reset  	ld hl, OBJECT_FLAGS  	add hl, bc  	res 3, [hl] @@ -655,33 +656,34 @@ Function467b: ; 467b  	ld [hl], a  	ld hl, OBJECT_27  	add hl, bc +rept 3  	ld [hli], a -	ld [hli], a -	ld [hli], a +endr  	ld [hl], a -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ret  ; 4690  Function4690: ; 4690 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc  	ld [hl], a  	ld hl, OBJECT_04  	add hl, bc  	bit 2, [hl] -	jr nz, .asm_46a6 +	jr nz, .ok +rept 2  	add a -	add a -	and $c -	ld hl, OBJECT_08 +endr +	and %00001100 +	ld hl, OBJECT_FACING  	add hl, bc  	ld [hl], a -.asm_46a6 +.ok  	; fallthrough  ; 46a6 @@ -745,12 +747,13 @@ Function46d7: ; 46d7  GetStepVector: ; 46e9  ; Return (x, y, duration, speed) in (d, e, a, h). -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc  	ld a, [hl] -	and $f -	add a +	and %00001111 +rept 2  	add a +endr  	ld l, a  	ld h, 0  	ld de, StepVectors @@ -793,10 +796,10 @@ Function4730: ; 4730  ; 4738  Function4738: ; 4738 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc  	ld a, [hl] -	and $3 +	and %00000011  	ld [wd151], a  	call Function46d7  	ld a, [wd14e] @@ -814,7 +817,7 @@ Function4759: ; 4759  	push bc  	ld e, a  	ld d, 0 -	ld hl, OBJECT_01 +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl]  	call GetMapObject @@ -825,46 +828,46 @@ Function4759: ; 4759  ; 4769  Function4769: ; 4769 -	ld hl, OBJECT_01 +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl] -	cp $ff -	jr z, .asm_477d +	cp -1 +	jr z, .ok  	push bc  	call GetMapObject -	ld hl, $0004 +	ld hl, MAPOBJECT_FACING  	add hl, bc  	ld a, [hl]  	pop bc  	ret -.asm_477d -	ld a, $6 +.ok +	ld a, 6  	ret  ; 4780 -Function4780: ; 4780 +ClearObjectStructField27: ; 4780  	ld hl, OBJECT_27  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ret  ; 4787 -Function4787: ; 4787 +IncrementObjectStructField27: ; 4787  	ld hl, OBJECT_27  	add hl, bc  	inc [hl]  	ret  ; 478d -Function478d: ; 478d +DecrementObjectStructField27: ; 478d  	ld hl, OBJECT_27  	add hl, bc  	dec [hl]  	ret  ; 4793 -Function4793: ; 4793 +JumptoObjectStructField27: ; 4793  	ld hl, OBJECT_27  	add hl, bc  	ld a, [hl] @@ -873,21 +876,21 @@ Function4793: ; 4793  	ret  ; 479b -Function479b: ; 479b +ClearObjectStructField28: ; 479b  	ld hl, OBJECT_28  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ret  ; 47a2 -Function47a2: ; 47a2 +IncrementObjectStructField28: ; 47a2  	ld hl, OBJECT_28  	add hl, bc  	inc [hl]  	ret  ; 47a8 -Function47a8: ; 47a8 +JumptoObjectStructField28: ; 47a8  	ld hl, OBJECT_28  	add hl, bc  	ld a, [hl] @@ -896,14 +899,14 @@ Function47a8: ; 47a8  	ret  ; 47b0 -Function47b0: ; 47b0 +GetValueObjectStructField28: ; 47b0  	ld hl, OBJECT_28  	add hl, bc  	ld a, [hl]  	ret  ; 47b6 -Function47b6: ; 47b6 +SetValueObjectStructField28: ; 47b6  	ld hl, OBJECT_28  	add hl, bc  	ld [hl], a @@ -927,12 +930,12 @@ Function47bc: ; 47bc  	call Function467b  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 47dd  Function47dd: ; 47dd -	call Function479b +	call ClearObjectStructField28  	call Function1a2f  	ld a, [hl]  	ld hl, .Pointers @@ -978,49 +981,49 @@ Function4821: ; 4821  Function4822: ; 4822  	call Random  	ld a, [hRandomAdd] -	and 1 +	and %00000001  	jp Function4af0  ; 482c  Function482c: ; 482c  	call Random  	ld a, [hRandomAdd] -	and 1 -	or 2 +	and %00000001 +	or  %00000010  	jp Function4af0  ; 4838  Function4838: ; 4838  	call Random  	ld a, [hRandomAdd] -	and 3 +	and %00000011  	jp Function4af0  ; 4842  Function4842: ; 4842  	call Random  	ld a, [hRandomAdd] -	and $c -	ld hl, OBJECT_08 +	and %00001100 +	ld hl, OBJECT_FACING  	add hl, bc  	ld [hl], a  	jp Function4b1d  ; 4851  Function4851: ; 4851 -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld a, [hl] -	and $c +	and %00001100  	ld d, a  	call Random  	ld a, [hRandomAdd] -	and $c +	and %00001100  	cp d -	jr nz, .asm_4865 -	xor $c +	jr nz, .keep +	xor %00001100 -.asm_4865 +.keep  	ld [hl], a  	jp Function4b26  ; 4869 @@ -1030,10 +1033,10 @@ Function4869: ; 4869  	call Function467b  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $5 +	ld [hl], 5  	ret  ; 487c @@ -1084,7 +1087,7 @@ Function48a6: ; 48a6  ; 48ac  Function48ac: ; 48ac -	call Function4793 +	call JumptoObjectStructField27  	dw Function48b3  	dw Function48f8  ; 48b3 @@ -1094,20 +1097,20 @@ Function48b3: ; 48b3  	add hl, bc  	ld a, [hl]  	call CheckPitTile -	jr z, .asm_48f5 +	jr z, .on_pit  	ld hl, OBJECT_FLAGS  	add hl, bc  	bit 2, [hl]  	res 2, [hl] -	jr z, .asm_48ee +	jr z, .ok  	ld hl, OBJECT_32  	add hl, bc  	ld a, [hl] -	and $3 -	or $0 +	and %00000011 +	or 0  	call Function4690  	call Function6ec1 -	jr c, .asm_48eb +	jr c, .ok2  	ld de, SFX_STRENGTH  	call PlaySFX  	call Function5538 @@ -1117,24 +1120,24 @@ Function48b3: ; 48b3  	ld [hl], $f  	ret -.asm_48eb +.ok2  	call Function462a -.asm_48ee -	ld hl, OBJECT_07 +.ok +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ret -.asm_48f5 -	call Function4787 +.on_pit +	call IncrementObjectStructField27  	; fallthrough  ; 48f8  Function48f8: ; 48f8 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ret  ; 48ff @@ -1149,96 +1152,96 @@ Function48ff: ; 48ff  	add hl, bc  	ld a, [hl]  	push bc -	call Function1ae5 -	ld hl, OBJECT_07 +	call GetObjectStruct +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc  	ld a, [hl] -	cp $ff -	jr z, .asm_494a +	cp STANDING +	jr z, .standing  	ld hl, OBJECT_NEXT_MAP_X  	add hl, bc  	ld a, [hl]  	cp d -	jr z, .asm_492d -	jr c, .asm_4929 -	ld a, $3 -	jr .asm_493d +	jr z, .equal +	jr c, .less +	ld a, 3 +	jr .done -.asm_4929 -	ld a, $2 -	jr .asm_493d +.less +	ld a, 2 +	jr .done -.asm_492d +.equal  	ld hl, OBJECT_NEXT_MAP_Y  	add hl, bc  	ld a, [hl]  	cp e -	jr z, .asm_494a -	jr c, .asm_493b -	ld a, $0 -	jr .asm_493d +	jr z, .standing +	jr c, .less2 +	ld a, 0 +	jr .done -.asm_493b -	ld a, $1 +.less2 +	ld a, 1 -.asm_493d +.done  	ld d, a -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc  	ld a, [hl] -	and $c +	and %00001100  	or d  	pop bc  	jp Function5412 -.asm_494a +.standing  	pop bc -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4958  Function4958: ; 4958  	call Function467b -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $9 +	ld [hl], 9  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ret  ; 496e  Function496e: ; 496e  	call Function467b -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $a +	ld [hl], 10  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ret  ; 4984  Function4984: ; 4984 -	call Function4793 +	call JumptoObjectStructField27  	dw Function4996  	dw Function499c  	dw Function49b8  ; 498d  Function498d: ; 498d -	call Function4793 +	call JumptoObjectStructField27  	dw Function4996  	dw Function499c  	dw Function49c4 @@ -1246,14 +1249,14 @@ Function498d: ; 498d  Function4996: ; 4996  	call Function467b -	call Function4787 +	call IncrementObjectStructField27  	; fallthrough  ; 499c  Function499c: ; 499c  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ld hl, OBJECT_32  	add hl, bc  	ld a, [hl] @@ -1263,46 +1266,46 @@ Function499c: ; 499c  	ld [hl], a  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $3 -	call Function4787 +	ld [hl], 3 +	call IncrementObjectStructField27  	ret  ; 49b8  Function49b8: ; 49b8 -	ld de, .data_49c0 +	ld de, .DirectionData_49c0  	call Function49d0  	jr Function4984  ; 49c0 -.data_49c0 ; 49c0 -	db $0c, $08, $00, $04 +.DirectionData_49c0 ; 49c0 +	db RIGHT << 2, LEFT << 2, DOWN << 2, UP << 2  ; 49c4  Function49c4: ; 49c4 -	ld de, .data_49cc +	ld de, .DirectionData_49cc  	call Function49d0  	jr Function498d  ; 49cc -.data_49cc ; 49cc -	db $08, $0c, $04, $00 +.DirectionData_49cc ; 49cc +	db LEFT << 2, RIGHT << 2, UP << 2, DOWN << 2  ; 49d0  Function49d0: ; 49d0 -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld a, [hl] -	and $c +	and %00001100  	rrca  	rrca  	push hl  	ld l, a -	ld h, $0 +	ld h, 0  	add hl, de  	ld a, [hl]  	pop hl  	ld [hl], a -	call Function478d +	call DecrementObjectStructField27  	ret  ; 49e5 @@ -1316,28 +1319,28 @@ Function49e5: ; 49e5  	ld a, [hl]  	inc a  	add a -	add $0 +	add 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], a -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, de  	ld a, [hl]  	and 3  	ld d, $e -	cp 0 -	jr z, .asm_4a0f -	cp 1 -	jr z, .asm_4a0f +	cp DOWN +	jr z, .ok +	cp UP +	jr z, .ok  	ld d, $c -.asm_4a0f +.ok  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc  	ld [hl], d  	ld hl, OBJECT_SPRITE_X_OFFSET  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc  	ld [hl], $13 @@ -1349,16 +1352,16 @@ Function4a21: ; 4a21  	call Function4aa8  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $8 +	ld [hl], 8  	ld hl, OBJECT_STEP_DURATION  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc  	ld [hl], $f0  	ld hl, OBJECT_SPRITE_X_OFFSET  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc  	ld [hl], $13 @@ -1379,15 +1382,16 @@ Function4a46: ; 4a46  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], a -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, de  	ld a, [hl] -	and 3 +	and %00000011  	ld e, a  	ld d, 0  	ld hl, .data_4a81 -	add hl, de -	add hl, de +rept 2 +	add hl,de +endr  	ld d, [hl]  	inc hl  	ld e, [hl] @@ -1420,7 +1424,7 @@ Function4a89: ; 4a89  	ld hl, OBJECT_STEP_DURATION  	add hl, de  	ld a, [hl] -	add $ff +	add -1  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], a @@ -1435,7 +1439,7 @@ Function4aa8: ; 4aa8  	add hl, bc  	ld a, [hl]  	push bc -	call Function1ae5 +	call GetObjectStruct  	ld d, b  	ld e, c  	pop bc @@ -1451,7 +1455,7 @@ Function4abc: ; 4abc  	call Function467b  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_32  	add hl, bc  	ld a, [hl] @@ -1470,20 +1474,20 @@ Function4abc: ; 4abc  Function4ade: ; 4ade  	ld d, a -	and $3f +	and %00111111  	ld e, a  	ld a, d  	rlca  	rlca -	and $3 +	and %00000011  	ld d, a  	inc d -	ld a, $1 -.asm_4aeb +	ld a, 1 +.loop  	dec d  	ret z  	add a -	jr .asm_4aeb +	jr .loop  ; 4af0  Function4af0: ; 4af0 @@ -1493,20 +1497,20 @@ Function4af0: ; 4af0  	call Function463f  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $2 +	ld [hl], 2  	ld hl, wd4cf  	ld a, [$ffaf]  	cp [hl] -	jr z, .asm_4b10 +	jr z, .ok  	ld hl, OBJECT_09  	add hl, bc  	ld [hl], $7  	ret -.asm_4b10 +.ok  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $6 +	ld [hl], 6  	ret  Function4b17: ; 4b17 @@ -1518,14 +1522,14 @@ Function4b17: ; 4b17  Function4b1d: ; 4b1d  	call Random  	ld a, [hRandomAdd] -	and $7f +	and %01111111  	jr Function4b2d  ; 4b26  Function4b26: ; 4b26  	call Random  	ld a, [hRandomAdd] -	and $1f +	and %00011111  	; fallthrough  ; 4b2d @@ -1533,15 +1537,15 @@ Function4b2d: ; 4b2d  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], a -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $3 +	ld [hl], 3  	ret  ; 4b45 @@ -1581,12 +1585,12 @@ Function4b79: ; 4b79  	ret nz  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4b86  Function4b86: ; 4b86 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4b8d  	dw Function4ba9  ; 4b8d @@ -1603,7 +1607,7 @@ Function4b8d: ; 4b8d  	ld hl, OBJECT_FLAGS  	add hl, bc  	res 3, [hl] -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4ba9 @@ -1617,12 +1621,12 @@ Function4ba9: ; 4ba9  	call Function4600  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4bbf  Function4bbf: ; 4bbf -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4bca  	dw Function4bd2  	dw Function4bf2 @@ -1632,7 +1636,7 @@ Function4bbf: ; 4bbf  Function4bca: ; 4bca  	ld hl, wd150  	set 7, [hl] -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4bd2 @@ -1650,7 +1654,7 @@ Function4bd2: ; 4bd2  	ld hl, wd150  	set 6, [hl]  	set 4, [hl] -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4bf2 @@ -1658,7 +1662,7 @@ Function4bf2: ; 4bf2  	call Function46a6  	ld hl, wd150  	set 7, [hl] -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4bfd @@ -1674,12 +1678,12 @@ Function4bfd: ; 4bfd  	call Function4600  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4c18  Function4c18: ; 4c18 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4c23  	dw Function4c32  	dw Function4c42 @@ -1689,30 +1693,30 @@ Function4c18: ; 4c18  Function4c23: ; 4c23  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4c32  Function4c32: ; 4c32  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	dec [hl]  	ret nz -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4c42  Function4c42: ; 4c42  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_31  	add hl, bc  	ld [hl], $10 @@ -1722,14 +1726,14 @@ Function4c42: ; 4c42  	ld hl, OBJECT_FLAGS  	add hl, bc  	res 3, [hl] -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4c5d  Function4c5d: ; 4c5d  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ld hl, OBJECT_31  	add hl, bc  	inc [hl] @@ -1747,15 +1751,15 @@ Function4c5d: ; 4c5d  	ret nz  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4c89  Function4c89: ; 4c89 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4c9a  	dw Function4caa  	dw Function4cb3 @@ -1768,11 +1772,11 @@ Function4c89: ; 4c89  Function4c9a: ; 4c9a  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4caa @@ -1781,28 +1785,28 @@ Function4caa: ; 4caa  	add hl, bc  	dec [hl]  	ret nz -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4cb3  Function4cb3: ; 4cb3  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_31  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4cc9  Function4cc9: ; 4cc9  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ld hl, OBJECT_31  	add hl, bc  	inc [hl] @@ -1818,7 +1822,7 @@ Function4cc9: ; 4cc9  	add hl, bc  	dec [hl]  	ret nz -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4ceb @@ -1826,14 +1830,14 @@ Function4ceb: ; 4ceb  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  	ret  ; 4cf5  Function4cf5: ; 4cf5  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $4 +	ld [hl], 4  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	dec [hl] @@ -1843,18 +1847,18 @@ Function4cf5: ; 4cf5  Function4d01: ; 4d01  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4d14  Function4d14: ; 4d14 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4d1f  	dw Function4d2e  	dw Function4d4f @@ -1864,11 +1868,11 @@ Function4d14: ; 4d14  Function4d1f: ; 4d1f  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4d2e @@ -1879,17 +1883,17 @@ Function4d2e: ; 4d2e  	ret nz  	ld hl, OBJECT_11  	add hl, bc -	ld [hl], $2 +	ld [hl], 2  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_31  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4d4f @@ -1909,25 +1913,25 @@ Function4d4f: ; 4d4f  	add hl, bc  	dec [hl]  	ret nz -	call Function47a2 +	call IncrementObjectStructField28  ;	fallthrough  ; 4d6b  Function4d6b: ; 4d6b  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4d7e  Function4d7e: ; 4d7e -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4d85  	dw Function4d94  ; 4d85 @@ -1935,11 +1939,11 @@ Function4d7e: ; 4d7e  Function4d85: ; 4d85  	ld hl, OBJECT_STEP_DURATION  	add hl, bc -	ld [hl], $8 +	ld [hl], 8  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc -	ld [hl], $0 -	call Function47a2 +	ld [hl], 0 +	call IncrementObjectStructField28  	; fallthrough  ; 4d94 @@ -1955,10 +1959,10 @@ Function4d94: ; 4d94  	ret nz  	ld hl, OBJECT_SPRITE_Y_OFFSET  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4daf @@ -1971,12 +1975,12 @@ Function4db5: ; 4db5  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld a, [hl] -	and $1 -	ld a, $1 -	jr z, .asm_4dc2 -	ld a, $0 +	and %00000001 +	ld a, 1 +	jr z, .yes +	ld a, 0 -.asm_4dc2 +.yes  	ld hl, OBJECT_11  	add hl, bc  	ld [hl], a @@ -1987,12 +1991,12 @@ Function4dc8: ; 4dc8  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld a, [hl] -	and $1 -	ld a, $4 -	jr z, .asm_4dd5 -	ld a, $5 +	and %00000001 +	ld a, 4 +	jr z, .yes +	ld a, 5 -.asm_4dd5 +.yes  	ld hl, OBJECT_11  	add hl, bc  	ld [hl], a @@ -2000,23 +2004,23 @@ Function4dc8: ; 4dc8  ; 4ddd  Function4ddd: ; 4ddd -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	dec [hl]  	ret nz  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4df0  Function4df0: ; 4df0 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	dec [hl] @@ -2031,12 +2035,12 @@ Function4dff: ; 4dff  	ret nz  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4e0c  Function4e0c: ; 4e0c -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4e13  	dw Function4e21  ; 4e13 @@ -2044,18 +2048,18 @@ Function4e0c: ; 4e0c  Function4e13: ; 4e13  	call Function4769  	call Function1a47 -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld [hl], a -	call Function47a2 +	call IncrementObjectStructField28  	; fallthrough  ; 4e21  Function4e21: ; 4e21  	call Function4fb2 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ret  ; 4e2b @@ -2067,12 +2071,12 @@ Function4e2b: ; 4e2b  	dec [hl]  	ret nz  	call Function4600 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4e47 @@ -2088,7 +2092,7 @@ Function4e47: ; 4e47  Function4e56: ; 4e56  ; AnimateStep? -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4e5d  	dw Function4e65  ; 4e5d @@ -2096,7 +2100,7 @@ Function4e56: ; 4e56  Function4e5d: ; 4e5d  	ld hl, wd150  	set 7, [hl] -	call Function47a2 +	call IncrementObjectStructField28  	; fallthrough  ; 4e65 @@ -2109,17 +2113,17 @@ Function4e65: ; 4e65  	ld hl, wd150  	set 6, [hl]  	call Function4600 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4e83  Function4e83: ; 4e83 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4e8e  	dw Function4ea4  	dw Function4ead @@ -2127,17 +2131,17 @@ Function4e83: ; 4e83  ; 4e8e  Function4e8e: ; 4e8e -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_12  	add hl, bc  	ld a, [hl] -	ld [hl], $2 +	ld [hl], 2  	ld hl, OBJECT_STEP_DURATION  	add hl, bc -	ld [hl], $2 -	call Function47a2 +	ld [hl], 2 +	call IncrementObjectStructField28  	; fallthrough  ; 4ea4 @@ -2146,7 +2150,7 @@ Function4ea4: ; 4ea4  	add hl, bc  	dec [hl]  	ret nz -	call Function47a2 +	call IncrementObjectStructField28  	; fallthrough  ; 4ead @@ -2154,13 +2158,13 @@ Function4ead: ; 4ead  	ld hl, OBJECT_29  	add hl, bc  	ld a, [hl] -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld [hl], a  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $2 -	call Function47a2 +	call IncrementObjectStructField28  	; fallthrough  ; 4ec0 @@ -2171,7 +2175,7 @@ Function4ec0: ; 4ec0  	ret nz  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4ecd @@ -2188,7 +2192,7 @@ Function4ecd: ; 4ecd  	ld hl, OBJECT_MAP_Y  	add hl, bc  	ld e, [hl] -	ld hl, OBJECT_01 +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl]  	ld b, a @@ -2198,12 +2202,12 @@ Function4ecd: ; 4ecd  	add hl, bc  	res 2, [hl]  	call Function4600 -	ld hl, OBJECT_07 +	ld hl, OBJECT_DIRECTION_WALKING  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4f04 @@ -2213,11 +2217,11 @@ Function4f04: ; 4f04  	ld e, [hl]  	inc hl  	ld d, [hl] -	ld hl, OBJECT_00 +	ld hl, OBJECT_SPRITE  	add hl, de  	ld a, [hl]  	and a -	jr z, .asm_4f30 +	jr z, .nope  	ld hl, OBJECT_SPRITE_X  	add hl, de  	ld a, [hl] @@ -2238,12 +2242,12 @@ Function4f04: ; 4f04  	dec [hl]  	ret nz -.asm_4f30 +.nope  	jp Function4357  ; 4f33  Function4f33: ; 4f33 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4f3a  	dw Function4f43  ; 4f3a @@ -2253,7 +2257,7 @@ Function4f3a: ; 4f3a  	ld hl, OBJECT_29  	add hl, bc  	ld [hl], a -	call Function47a2 +	call IncrementObjectStructField28  	; fallthrough  ; 4f43 @@ -2267,7 +2271,7 @@ Function4f43: ; 4f43  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	dec [hl] -	jr z, .asm_4f68 +	jr z, .ok  	ld a, [hl]  	call Function4f6c  	ld hl, OBJECT_29 @@ -2279,7 +2283,7 @@ Function4f43: ; 4f43  	ld [wd14f], a  	ret -.asm_4f68 +.ok  	call Function4357  	ret  ; 4f6c @@ -2296,18 +2300,18 @@ Function4f6c: ; 4f6c  ; 4f77  Function4f77: ; 4f77 -	call Function47a8 ; ???? +	call JumptoObjectStructField28 ; ????  ; 4f7a  Function4f7a: ; 4f7a -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4f83  	dw Function4f83  	dw Function4f83  ; 4f83  Function4f83: ; 4f83 -	call Function47a8 +	call JumptoObjectStructField28  	dw Function4f8a  	dw Function4f99  ; 4f8a @@ -2319,7 +2323,7 @@ Function4f8a: ; 4f8a  	ld hl, OBJECT_STEP_DURATION  	add hl, bc  	ld [hl], $10 -	call Function47a2 +	call IncrementObjectStructField28  ; 4f99  Function4f99: ; 4f99 @@ -2332,10 +2336,10 @@ Function4f99: ; 4f99  	ld [hl], $60  	ld hl, OBJECT_12  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $1 +	ld [hl], 1  	ret  ; 4fb2 @@ -2350,7 +2354,7 @@ Function4fb3: ; 4fb3  	ld a, [hl]  	srl a  	srl a -	and 7 +	and %00000111  	ld l, a  	ld h, 0  	ld de, .y @@ -2448,19 +2452,19 @@ Function503d: ; 503d  ; 5041  Function5041: ; 5041 -	call Function5055 -.asm_5044 +	call CopyMovementPointer +.loop  	xor a  	ld [wc2ea], a -	call Function505e -	call Function506b +	call GetMovementByte +	call DoMovementFunction  	ld a, [wc2ea]  	and a -	jr nz, .asm_5044 +	jr nz, .loop  	ret  ; 5055 -Function5055: ; 5055 +CopyMovementPointer: ; 5055  	ld a, l  	ld [wc2eb], a  	ld a, h @@ -2468,7 +2472,7 @@ Function5055: ; 5055  	ret  ; 505e -Function505e: ; 505e +GetMovementByte: ; 505e  	ld hl, wc2eb  	ld a, [hli]  	ld h, [hl] @@ -2477,12 +2481,12 @@ Function505e: ; 505e  ; 5065  Function5065: ; 5065 -	ld a, $1 +	ld a, 1  	ld [wc2ea], a  	ret  ; 506b -Function506b: ; 506b +DoMovementFunction: ; 506b  	push af  	call Function54b8  	pop af @@ -2500,7 +2504,7 @@ INCLUDE "engine/movement.asm"  Function54b8: ; 54b8  	ld e, a  	ld a, [wd4ce] -	cp $ff +	cp -1  	ret z  	ld a, [wd4cd]  	ld d, a @@ -2534,25 +2538,25 @@ Function54e6: ; 54e6  	ld hl, wd4d0  	ld a, [hl]  	and a -	jr z, .asm_5503 -	cp $ff -	jr z, .asm_5503 +	jr z, .done +	cp -1 +	jr z, .done  	dec [hl]  	ld e, a  	ld d, 0  	ld hl, wd4d1  	add hl, de  	inc e -	ld a, $ff -.asm_54fc +	ld a, -1 +.loop  	ld d, [hl]  	ld [hld], a  	ld a, d  	dec e -	jr nz, .asm_54fc +	jr nz, .loop  	ret -.asm_5503 +.done  	call Function550a  	ret c  	ld a, $3e @@ -2561,20 +2565,20 @@ Function54e6: ; 54e6  Function550a: ; 550a  	ld a, [wd4cd] -	cp $ff -	jr z, .asm_5520 +	cp -1 +	jr z, .nope  	push bc -	call Function1ae5 -	ld hl, OBJECT_00 +	call GetObjectStruct +	ld hl, OBJECT_SPRITE  	add hl, bc  	ld a, [hl]  	pop bc  	and a -	jr z, .asm_5520 +	jr z, .nope  	and a  	ret -.asm_5520 +.nope  	ld a, $ff  	ld [wd4ce], a  	ld a, $47 @@ -2657,31 +2661,31 @@ Function5579: ; 5579  Function5582: ; 5582  	ld de, ObjectStructs  	ld a, $d -.asm_5587 +.loop  	push af  	ld hl, OBJECT_04  	add hl, de  	bit 7, [hl] -	jr z, .asm_55a1 -	ld hl, OBJECT_00 +	jr z, .next +	ld hl, OBJECT_SPRITE  	add hl, de  	ld a, [hl]  	and a -	jr z, .asm_55a1 +	jr z, .next  	push bc  	xor a -	ld bc, ObjectStruct2 - ObjectStruct1 +	ld bc, OBJECT_STRUCT_LENGTH  	call ByteFill  	pop bc -.asm_55a1 -	ld hl, ObjectStruct2 - ObjectStruct1 +.next +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, de  	ld d, h  	ld e, l  	pop af  	dec a -	jr nz, .asm_5587 +	jr nz, .loop  	ret  ; 55ac @@ -2696,9 +2700,9 @@ Function55ac: ; 55ac  Function55b9: ; 55b9  	ld hl, wc2f0 -	ld [hl], $ff +	ld [hl], -1  	inc hl -	ld [hl], $ff +	ld [hl], -1  	inc hl  	ld a, [de]  	inc de @@ -2722,7 +2726,7 @@ Function55b9: ; 55b9  	inc hl  	ld [hl], e  	inc hl -	ld [hl], $ff +	ld [hl], -1  	ret  ; 55e0 @@ -2732,46 +2736,46 @@ Function55e0:: ; 55e0  	ret z  	ld bc, ObjectStructs  	xor a -.asm_55ea +.loop  	ld [$ffaf], a -	call Function1af1 -	jr z, .asm_55f4 +	call GetObjectSprite +	jr z, .ok  	call Function565c -.asm_55f4 -	ld hl, ObjectStruct2 - ObjectStruct1 +.ok +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	ld a, [$ffaf]  	inc a -	cp $d -	jr nz, .asm_55ea +	cp NUM_OBJECT_STRUCTS +	jr nz, .loop  	ret  ; 5602  Function5602: ; 5602  	call Function5645 -	ld a, $0 +	ld a, 0  	call Function5629  	ld a, [wd459]  	bit 7, a -	jr z, .asm_5619 +	jr z, .ok  	ld a, [$ffe0]  	and a -	jr z, .asm_5619 +	jr z, .ok  	call Function5629 -.asm_5619 -	call Function5920 +.ok +	call RefreshMapAppearDisappear  	ret  ; 561d  Function561d: ; 561d  	call Function5645 -	ld a, $0 +	ld a, 0  	call Function5629 -	call Function5920 +	call RefreshMapAppearDisappear  	ret  ; 5629 @@ -2779,15 +2783,15 @@ Function5629: ; 5629  	cp $10  	ret nc  	call GetMapObject -	ld hl, $0000 +	ld hl, MAPOBJECT_OBJECT_STRUCT_ID  	add hl, bc  	ld a, [hl] -	cp $ff +	cp -1  	ret z  	cp $d  	ret nc -	call Function1ae5 -	call Function1af1 +	call GetObjectStruct +	call GetObjectSprite  	ret z  	call Function5673  	ret @@ -2796,17 +2800,17 @@ Function5629: ; 5629  Function5645: ; 5645  	xor a  	ld bc, ObjectStructs -.asm_5649 +.loop  	ld [$ffaf], a  	call Function5680 -	ld hl, ObjectStruct2 - ObjectStruct1 +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	ld a, [$ffaf]  	inc a -	cp $d -	jr nz, .asm_5649 +	cp NUM_OBJECT_STRUCTS +	jr nz, .loop  	ret  ; 565c @@ -2832,9 +2836,9 @@ Function5673: ; 5673  ; 5680  Function5680: ; 5680 -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc -	ld [hl], $ff +	ld [hl], STANDING  	scf  	ret  ; 5688 @@ -2867,26 +2871,26 @@ Function56a3: ; 56a3  	inc e  	ld a, [XCoord]  	cp d -	jr z, .asm_56bc -	jr nc, .asm_56cb +	jr z, .equal_x +	jr nc, .nope  	add $b  	cp d -	jr c, .asm_56cb +	jr c, .nope -.asm_56bc +.equal_x  	ld a, [YCoord]  	cp e -	jr z, .asm_56c9 -	jr nc, .asm_56cb +	jr z, .equal_y +	jr nc, .nope  	add $a  	cp e -	jr c, .asm_56cb +	jr c, .nope -.asm_56c9 +.equal_y  	xor a  	ret -.asm_56cb +.nope  	scf  	ret  ; 56cd @@ -2902,27 +2906,27 @@ Function56cd: ; 56cd  	add [hl]  	add d  	cp $f0 -	jr nc, .asm_56e5 +	jr nc, .ok1  	cp $a0 -	jp nc, .asm_5768 +	jp nc, .nope -.asm_56e5 -	and $7 -	ld d, $2 -	cp $4 -	jr c, .asm_56ef -	ld d, $3 +.ok1 +	and %00000111 +	ld d, 2 +	cp 4 +	jr c, .ok2 +	ld d, 3 -.asm_56ef +.ok2  	ld a, [hl]  	srl a  	srl a  	srl a  	cp $14 -	jr c, .asm_56fc +	jr c, .ok3  	sub $20 -.asm_56fc +.ok3  	ld [$ffbd], a  	ld a, [wd14d]  	ld e, a @@ -2934,76 +2938,76 @@ Function56cd: ; 56cd  	add [hl]  	add e  	cp $f0 -	jr nc, .asm_5715 +	jr nc, .ok4  	cp $90 -	jr nc, .asm_5768 +	jr nc, .nope -.asm_5715 -	and $7 -	ld e, $2 -	cp $4 -	jr c, .asm_571f -	ld e, $3 +.ok4 +	and %00000111 +	ld e, 2 +	cp 4 +	jr c, .ok5 +	ld e, 3 -.asm_571f +.ok5  	ld a, [hl]  	srl a  	srl a  	srl a  	cp $12 -	jr c, .asm_572c +	jr c, .ok6  	sub $20 -.asm_572c +.ok6  	ld [$ffbe], a  	ld hl, OBJECT_PALETTE  	add hl, bc  	bit 7, [hl] -	jr z, .asm_573e +	jr z, .ok7  	ld a, d -	add $2 +	add 2  	ld d, a  	ld a, e -	add $2 +	add 2  	ld e, a -.asm_573e +.ok7  	ld a, d  	ld [$ffbf], a -.asm_5741 +.loop  	ld a, [$ffbf]  	ld d, a  	ld a, [$ffbe]  	add e  	dec a  	cp $12 -	jr nc, .asm_5763 +	jr nc, .ok9  	ld b, a -.asm_574d +.next  	ld a, [$ffbd]  	add d  	dec a  	cp $14 -	jr nc, .asm_5760 +	jr nc, .ok8  	ld c, a  	push bc  	call GetTileCoord  	pop bc  	ld a, [hl]  	cp $60 -	jr nc, .asm_5768 +	jr nc, .nope -.asm_5760 +.ok8  	dec d -	jr nz, .asm_574d +	jr nz, .next -.asm_5763 +.ok9  	dec e -	jr nz, .asm_5741 +	jr nz, .loop  	and a  	ret -.asm_5768 +.nope  	scf  	ret  ; 576a @@ -3019,7 +3023,7 @@ Function5771: ; 5771  	ld [wd14e], a  	ld [wd14f], a  	ld [wd150], a -	ld a, $ff +	ld a, -1  	ld [wd151], a  	ret  ; 5781 @@ -3027,21 +3031,21 @@ Function5771: ; 5771  Function5781: ; 5781  	ld bc, ObjectStructs  	xor a -.asm_5785 +.loop  	ld [$ffaf], a -	call Function1af1 -	jr z, .asm_578f +	call GetObjectSprite +	jr z, .next  	call Function437b -.asm_578f -	ld hl, ObjectStruct2 - ObjectStruct1 +.next +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	ld a, [$ffaf]  	inc a -	cp $d -	jr nz, .asm_5785 +	cp NUM_OBJECT_STRUCTS +	jr nz, .loop  	ret  ; 579d @@ -3053,8 +3057,8 @@ Function579d: ; 579d  	ld [wd04e], a  	ld [wd4e2], a  	call Function57bc -	callba Function149c6 -	call c, Function57d9 +	callba CheckWarpCollision +	call c, SpawnInFacingDown  	call Function57ca  	ret  ; 57bc @@ -3062,11 +3066,11 @@ Function579d: ; 579d  Function57bc: ; 57bc  	ld hl, wd45b  	bit 7, [hl] -	jr nz, .asm_57c4 +	jr nz, .ok  	ret -.asm_57c4 -	ld a, $0 +.ok +	ld a, 0  	ld [PlayerAction], a  	ret  ; 57ca @@ -3076,20 +3080,21 @@ Function57ca: ; 57ca  	bit 5, [hl]  	ret z  	ld a, [wd45b] -	and $3 -	add a +	and 3 +rept 2  	add a +endr  	jr Function57db  ; 57d9 -Function57d9: ; 57d9 -	ld a, $0 +SpawnInFacingDown: ; 57d9 +	ld a, 0  	; fallthrough  ; 57db  Function57db: ; 57db  	ld bc, PlayerStruct -	call Function1af8 +	call SetSpriteDirection  	ret  ; 57e2 @@ -3098,20 +3103,20 @@ Function57e2: ; 57e2  	and $80  	ret z  	ld bc, $0000 ; debug? -	ld hl, OBJECT_08 +	ld hl, OBJECT_FACING  	add hl, bc  	ld a, [hl]  	or d  	ld [hl], a  	ld a, d  	swap a -	and $7 +	and %00000111  	ld d, a  	ld bc, PlayerStruct  	ld hl, OBJECT_PALETTE  	add hl, bc  	ld a, [hl] -	and $f8 +	and %11111000  	or d  	ld [hl], a  	ret @@ -3144,7 +3149,7 @@ Function581f:: ; 581f  ; 5826  Function5826: ; 5826 -	ld a, $ff +	ld a, -1  	ld [wd4cd], a  	ret  ; 582c @@ -3160,7 +3165,7 @@ Function582c: ; 582c  	ld [hl], $13  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ld a, [$ffb0]  	ld [wd4ce], a  	ret @@ -3168,16 +3173,16 @@ Function582c: ; 582c  Function5847: ; 5847  	ld a, [wd4ce] -	cp $ff +	cp -1  	ret z -	call Function1ae5 +	call GetObjectStruct  	callba Function58e3 -	ld a, $ff +	ld a, -1  	ld [wd4ce], a  	ret  ; 585c -Function585c:: ; 585c +SetFlagsForMovement_1:: ; 585c  	ld a, c  	call Function18de  	ret c @@ -3204,42 +3209,42 @@ Function586e: ; 586e  Function587a: ; 587a  	ld bc, ObjectStructs  	xor a -.asm_587e +.loop  	push af -	call Function1af1 -	jr z, .asm_588a +	call GetObjectSprite +	jr z, .next  	ld hl, OBJECT_FLAGS  	add hl, bc  	set 5, [hl] -.asm_588a -	ld hl, ObjectStruct2 - ObjectStruct1 +.next +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	pop af  	inc a -	cp $d -	jr nz, .asm_587e +	cp NUM_OBJECT_STRUCTS +	jr nz, .loop  	ret  ; 5897 -Function5897:: ; 5897 +_SetFlagsForMovement_2:: ; 5897  	ld a, [wd4cd] -	cp $ff +	cp -1  	ret z  	push bc -	call Function1ae5 -	ld hl, OBJECT_01 +	call GetObjectStruct +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl]  	pop bc  	cp c  	ret nz  	ld a, [wd4ce] -	cp $ff +	cp -1  	ret z -	call Function1ae5 +	call GetObjectStruct  	ld hl, OBJECT_FLAGS  	add hl, bc  	res 5, [hl] @@ -3250,23 +3255,23 @@ Function58b9:: ; 58b9  	push bc  	ld bc, ObjectStructs  	xor a -.asm_58be +.loop  	push af -	call Function1af1 -	jr z, .asm_58ca +	call GetObjectSprite +	jr z, .next  	ld hl, OBJECT_FLAGS  	add hl, bc  	res 5, [hl] -.asm_58ca -	ld hl, ObjectStruct2 - ObjectStruct1 +.next +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	pop af  	inc a -	cp $d -	jr nz, .asm_58be +	cp NUM_OBJECT_STRUCTS +	jr nz, .loop  	pop bc  	ret  ; 58d8 @@ -3281,14 +3286,14 @@ Function58d8: ; 58d8  ; 58e3  Function58e3: ; 58e3 -	ld hl, OBJECT_01 +	ld hl, OBJECT_MAP_OBJECT_INDEX  	add hl, bc  	ld a, [hl] -	cp $ff +	cp -1  	jp z, Function5903  	push bc  	call GetMapObject -	ld hl, $0004 +	ld hl, MAPOBJECT_FACING  	add hl, bc  	ld a, [hl]  	pop bc @@ -3297,7 +3302,7 @@ Function58e3: ; 58e3  	ld [hl], a  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ret  ; 5903 @@ -3315,14 +3320,14 @@ Function5903: ; 5903  	ld [hl], a  	ld hl, OBJECT_09  	add hl, bc -	ld [hl], $0 +	ld [hl], 0  	ret  .data_591c  	db 6, 7, 8, 9  ; 5920 -Function5920:: ; 5920 +RefreshMapAppearDisappear:: ; 5920  	ld a, [VramState]  	bit 0, a  	ret z @@ -3330,7 +3335,7 @@ Function5920:: ; 5920  	ld [$ffbd], a  	ld a, [hOAMUpdate]  	push af -	ld a, $1 +	ld a, 1  	ld [hOAMUpdate], a  	call Function5991  	call Function593a @@ -3343,10 +3348,10 @@ Function593a: ; 593a  	ld a, [VramState]  	bit 1, a  	ld b, $a0 -	jr z, .asm_5945 +	jr z, .ok  	ld b, $70 -.asm_5945 +.ok  	ld a, [$ffbd]  	cp b  	ret nc @@ -3355,11 +3360,11 @@ Function593a: ; 593a  	ld de, OBJECT_04  	ld a, b  	ld c, $a0 -.asm_5952 +.loop  	ld [hl], c  	add hl, de  	cp l -	jr nz, .asm_5952 +	jr nz, .loop  	ret  ; 5958 @@ -3372,12 +3377,12 @@ Function5958: ; 5958  	ld a, [wd14d]  	ld e, a  	ld bc, ObjectStructs -	ld a, $d +	ld a, NUM_OBJECT_STRUCTS -.asm_5968 +.loop  	push af -	call Function1af1 -	jr z, .asm_597c +	call GetObjectSprite +	jr z, .skip  	ld hl, OBJECT_SPRITE_X  	add hl, bc @@ -3391,14 +3396,14 @@ Function5958: ; 5958  	add e  	ld [hl], a -.asm_597c -	ld hl, ObjectStruct2 - ObjectStruct1 +.skip +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l  	pop af  	dec a -	jr nz, .asm_5968 +	jr nz, .loop  	xor a  	ld [wd14c], a @@ -3431,10 +3436,10 @@ Function59a4: ; 59a4  	ld hl, wc2eb  .loop  	push hl -	call Function1af1 +	call GetObjectSprite  	jr z, .skip -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld a, [hl]  	cp -1 @@ -3453,7 +3458,7 @@ Function59a4: ; 59a4  	jr .add  .skip -	ld hl, ObjectStruct2 - ObjectStruct1 +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l @@ -3461,7 +3466,7 @@ Function59a4: ; 59a4  	jr .next  .add -	ld hl, ObjectStruct2 - ObjectStruct1 +	ld hl, OBJECT_STRUCT_LENGTH  	add hl, bc  	ld b, h  	ld c, l @@ -3473,7 +3478,7 @@ Function59a4: ; 59a4  .next  	inc d  	ld a, d -	cp $d +	cp NUM_OBJECT_STRUCTS  	jr nz, .loop  	ret  ; 59f3 @@ -3483,7 +3488,7 @@ Function59f3: ; 59f3  .next  	ld a, [hli]  	ld d, a -	and $f0 +	and %11110000  	ret z  	cp c  	jr nz, .next @@ -3491,7 +3496,7 @@ Function59f3: ; 59f3  	push bc  	push hl  	ld a, d -	and $f +	and %00001111  	call Function5ac2  	call Function5a0d  	pop hl @@ -3500,44 +3505,44 @@ Function59f3: ; 59f3  ; 5a0d  Function5a0d: ; 5a0d -	ld hl, OBJECT_SPRITE +	ld hl, OBJECT_SPRITE_TILE  	add hl, bc  	ld a, [hl] -	and $7f +	and %01111111  	ld [$ffc1], a  	xor a  	bit 7, [hl] -	jr nz, .asm_5a1d -	or 8 -.asm_5a1d +	jr nz, .skip1 +	or %00001000 +.skip1  	ld hl, OBJECT_FLAGS  	add hl, bc  	ld e, [hl]  	bit 7, e -	jr z, .asm_5a28 -	or $80 -.asm_5a28 +	jr z, .skip2 +	or %10000000 +.skip2  	bit 4, e -	jr z, .asm_5a2e -	or $10 -.asm_5a2e +	jr z, .skip3 +	or %00010000 +.skip3  	ld hl, OBJECT_PALETTE  	add hl, bc  	ld d, a  	ld a, [hl] -	and 7 +	and %00000111  	or d  	ld d, a  	xor a  	bit 3, e -	jr z, .asm_5a3f -	or $80 -.asm_5a3f +	jr z, .skip4 +	or %10000000 +.skip4  	ld [$ffc2], a  	ld hl, OBJECT_SPRITE_X @@ -3570,7 +3575,7 @@ Function5a0d: ; 5a0d  	add e  	ld [$ffc0], a -	ld hl, OBJECT_FACING +	ld hl, OBJECT_FACING_STEP  	add hl, bc  	ld a, [hl]  	cp -1 @@ -3616,9 +3621,9 @@ Function5a0d: ; 5a0d  	ld a, [$ffc1]  	bit 2, e -	jr z, .asm_5aa3 +	jr z, .nope1  	xor a -.asm_5aa3 +.nope1  	add [hl]  	inc hl @@ -3627,11 +3632,11 @@ Function5a0d: ; 5a0d  	ld a, e  	bit 1, a -	jr z, .asm_5aaf +	jr z, .nope2  	ld a, [$ffc2]  	or e -.asm_5aaf -	and $f0 +.nope2 +	and %11110000  	or d  	ld [bc], a  	inc c @@ -3657,8 +3662,9 @@ Function5ac2: ; 5ac2  	ld c, a  	ld b, 0  	ld hl, .Addresses -	add hl, bc -	add hl, bc +rept 2 +	add hl,bc +endr  	ld c, [hl]  	inc hl  	ld b, [hl] diff --git a/engine/map_setup.asm b/engine/map_setup.asm index 8c10954b3..baa45e636 100644 --- a/engine/map_setup.asm +++ b/engine/map_setup.asm @@ -6,8 +6,9 @@ RunMapSetupScript:: ; 15363  	ld c, a  	ld b, 0  	ld hl, MapSetupScripts +rept 2  	add hl, bc -	add hl, bc +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a @@ -259,9 +260,9 @@ ReadMapSetupScript: ; 1541d  	ld c, a  	ld b, 0  	ld hl, MapSetupCommands +rept 3  	add hl, bc -	add hl, bc -	add hl, bc +endr  	; bank  	ld b, [hl] @@ -293,76 +294,76 @@ ReadMapSetupScript: ; 1541d  ; 15440  MapSetupCommands: ; 15440 -	dbw BANK(EnableLCD), EnableLCD -	dbw BANK(DisableLCD), DisableLCD -	dbw BANK(SoundRestart), SoundRestart -	dbw BANK(PlayMapMusic), PlayMapMusic -	dbw BANK(RestartMapMusic), RestartMapMusic -	dbw BANK(FadeToMapMusic), FadeToMapMusic -	dbw BANK(Function15574), Function15574 -	dbw BANK(EnterMapMusic), EnterMapMusic -	dbw BANK(Function15587), Function15587 -	dbw BANK(Function3cae), Function3cae -	dbw BANK(Function24cd), Function24cd -	dbw BANK(Function28e3), Function28e3 -	dbw BANK(Function289d), Function289d -	dbw BANK(Function2879), Function2879 -	dbw BANK(Function1047cf), Function1047cf -	dbw BANK(LoadTilesetHeader), LoadTilesetHeader -	dbw BANK(Function104750), Function104750 -	dbw BANK(Function1047eb), Function1047eb -	dbw BANK(Function29ff8), Function29ff8 -	dbw BANK(Function1047f0), Function1047f0 -	dbw BANK(Function1045b0), Function1045b0 -	dbw BANK(Function1045c4), Function1045c4 -	dbw BANK(Function154d7), Function154d7 -	dbw BANK(LoadSpawnPoint), LoadSpawnPoint -	dbw BANK(EnterMapConnection), EnterMapConnection -	dbw BANK(Function1046c6), Function1046c6 -	dbw BANK(Function2309), Function2309 -	dbw BANK(Function2317), Function2317 -	dbw BANK(WhiteBGMap), WhiteBGMap -	dbw BANK(Function8c084), Function8c084 -	dbw BANK(Function8c079), Function8c079 -	dbw BANK(Function10486d), Function10486d -	dbw BANK(Function248a), Function248a -	dbw BANK(Function57d9), Function57d9 -	dbw BANK(Function8029), Function8029 -	dbw BANK(Function80b8), Function80b8 -	dbw BANK(Function154eb), Function154eb -	dbw BANK(Function154f1), Function154f1 -	dbw BANK(Function2a30d), Function2a30d -	dbw BANK(Function2a394), Function2a394 -	dbw BANK(Function15567), Function15567 -	dbw BANK(Function154cf), Function154cf -	dbw BANK(Function154d3), Function154d3 -	dbw BANK(Function1556d), Function1556d -	dbw BANK(Function154ca), Function154ca -	dbw BANK(Functionb8000), Functionb8000 +	dbw BANK(EnableLCD), EnableLCD ; 00 +	dbw BANK(DisableLCD), DisableLCD ; 01 +	dbw BANK(SoundRestart), SoundRestart ; 02 +	dbw BANK(PlayMapMusic), PlayMapMusic ; 03 +	dbw BANK(RestartMapMusic), RestartMapMusic ; 04 +	dbw BANK(FadeToMapMusic), FadeToMapMusic ; 05 +	dbw BANK(FadeOutMapAndMusic), FadeOutMapAndMusic ; 06 +	dbw BANK(EnterMapMusic), EnterMapMusic ; 07 +	dbw BANK(ForceMapMusic), ForceMapMusic ; 08 +	dbw BANK(CrankUpTheVolume), CrankUpTheVolume ; 09 +	dbw BANK(LoadBlockData), LoadBlockData ; 0a +	dbw BANK(LoadNeighboringBlockData), LoadNeighboringBlockData ; 0b +	dbw BANK(SaveScreen), SaveScreen ; 0c +	dbw BANK(BufferScreen), BufferScreen ; 0d +	dbw BANK(LoadGraphics), LoadGraphics ; 0e +	dbw BANK(LoadTilesetHeader), LoadTilesetHeader ; 0f +	dbw BANK(LoadMapTimeOfDay), LoadMapTimeOfDay ; 10 +	dbw BANK(LoadMapPalettes), LoadMapPalettes ; 11 +	dbw BANK(LoadWildMonData), LoadWildMonData ; 12 +	dbw BANK(RefreshMapSprites), RefreshMapSprites ; 13 +	dbw BANK(RunCallback_05_03), RunCallback_05_03 ; 14 +	dbw BANK(RunCallback_03), RunCallback_03 ; 15 +	dbw BANK(LoadObjectsRunCallback_02), LoadObjectsRunCallback_02 ; 16 +	dbw BANK(LoadSpawnPoint), LoadSpawnPoint ; 17 +	dbw BANK(EnterMapConnection), EnterMapConnection ; 18 +	dbw BANK(LoadWarpData), LoadWarpData ; 19 +	dbw BANK(LoadMapAttributes), LoadMapAttributes ; 1a +	dbw BANK(LoadMapAttributes_IgnoreHidden), LoadMapAttributes_IgnoreHidden ; 1b +	dbw BANK(WhiteBGMap), WhiteBGMap ; 1c +	dbw BANK(FadeBlackBGMap), FadeBlackBGMap ; 1d +	dbw BANK(FadeInBGMap), FadeInBGMap ; 1e +	dbw BANK(GetCoordOfUpperLeftCorner), GetCoordOfUpperLeftCorner ; 1f +	dbw BANK(RestoreFacingAfterWarp), RestoreFacingAfterWarp ; 20 +	dbw BANK(SpawnInFacingDown), SpawnInFacingDown ; 21 +	dbw BANK(GetSpawnCoord), GetSpawnCoord ; 22 +	dbw BANK(RefreshPlayerCoords), RefreshPlayerCoords ; 23 +	dbw BANK(DelayClearingOldSprites), DelayClearingOldSprites ; 24 +	dbw BANK(DelayLoadingNewSprites), DelayLoadingNewSprites ; 25 +	dbw BANK(UpdateRoamMons), UpdateRoamMons ; 26 +	dbw BANK(RestoreRoamMons), RestoreRoamMons ; 27 +	dbw BANK(FadeOldMapMusic), FadeOldMapMusic ; 28 +	dbw BANK(ActivateMapAnims), ActivateMapAnims ; 29 +	dbw BANK(SuspendMapAnims), SuspendMapAnims ; 2a +	dbw BANK(RetainOldPalettes), RetainOldPalettes ; 2b +	dbw BANK(DontScrollText), DontScrollText ; 2c +	dbw BANK(ReturnFromMapSetupScript), ReturnFromMapSetupScript ; 2d  ; 154ca -Function154ca: ; 154ca +DontScrollText: ; 154ca  	xor a  	ld [wc2d7], a  	ret  ; 154cf -Function154cf: ; 154cf +ActivateMapAnims: ; 154cf  	ld a, $1  	ld [$ffde], a  	ret  ; 154d3 -Function154d3: ; 154d3 +SuspendMapAnims: ; 154d3  	xor a  	ld [$ffde], a  	ret  ; 154d7 -Function154d7: ; 154d7 +LoadObjectsRunCallback_02: ; 154d7  	ld a, $2 -	call Function263b +	call RunMapCallback  	callba Function2454f  	callba Function8177  	ret @@ -372,13 +373,13 @@ Function154ea: ; 154ea  	ret  ; 154eb -Function154eb: ; 154eb +DelayClearingOldSprites: ; 154eb  	ld hl, wd45b  	set 7, [hl]  	ret  ; 154f1 -Function154f1: ; 154f1 +DelayLoadingNewSprites: ; 154f1  	ld hl, wd45b  	set 6, [hl]  	ret @@ -386,14 +387,14 @@ Function154f1: ; 154f1  Function154f7: ; 154f7  	nop  	call Function1550c -	jr c, .asm_15508 +	jr c, .ok  	call Function1554e -	jr c, .asm_15508 +	jr c, .ok  	call Function1551a -	jr c, .asm_15508 +	jr c, .ok  	ret -.asm_15508 -	call Functione4a +.ok +	call Special_ReplaceKrisSprite  	ret  Function1550c: ; 1550c (5:550c) @@ -401,89 +402,89 @@ Function1550c: ; 1550c (5:550c)  	ld hl, BikeFlags  	bit 1, [hl]  	ret z -	ld a, $1 +	ld a, PLAYER_BIKE  	ld [PlayerState], a  	scf  	ret  Function1551a: ; 1551a (5:551a)  	ld a, [PlayerState] -	cp $0 -	jr z, .asm_1554c -	cp $2 -	jr z, .asm_1554c -	cp $4 -	jr z, .asm_15545 -	cp $8 -	jr z, .asm_15545 +	cp PLAYER_NORMAL +	jr z, .nope +	cp PLAYER_SLIP +	jr z, .nope +	cp PLAYER_SURF +	jr z, .surfing +	cp PLAYER_SURF_PIKA +	jr z, .surfing  	call GetMapPermission  	cp $3 -	jr z, .asm_1553e +	jr z, .checkbiking  	cp $5 -	jr z, .asm_1553e +	jr z, .checkbiking  	cp $7 -	jr z, .asm_1553e -	jr .asm_1554c -.asm_1553e +	jr z, .checkbiking +	jr .nope +.checkbiking  	ld a, [PlayerState] -	cp $1 -	jr nz, .asm_1554c -.asm_15545 -	ld a, $0 +	cp PLAYER_BIKE +	jr nz, .nope +.surfing +	ld a, PLAYER_NORMAL  	ld [PlayerState], a  	scf  	ret -.asm_1554c +.nope  	and a  	ret  Function1554e: ; 1554e (5:554e)  	call Function1852 -	jr nz, .asm_15565 +	jr nz, .ret_nc  	ld a, [PlayerState] -	cp $4 -	jr z, .asm_15563 -	cp $8 -	jr z, .asm_15563 -	ld a, $4 +	cp PLAYER_SURF +	jr z, .surfing +	cp PLAYER_SURF_PIKA +	jr z, .surfing +	ld a, PLAYER_SURF  	ld [PlayerState], a -.asm_15563 +.surfing  	scf  	ret -.asm_15565 +.ret_nc  	and a  	ret  ; 15567 -Function15567: ; 15567 +FadeOldMapMusic: ; 15567  	ld a, 6  	call SkipMusic  	ret  ; 1556d -Function1556d: ; 1556d +RetainOldPalettes: ; 1556d  	callba _UpdateTimePals  	ret -Function15574: ; 15574 +FadeOutMapAndMusic: ; 15574  	ld e, 0  	ld a, [MusicFadeIDLo]  	ld d, 0  	ld a, [MusicFadeIDHi]  	ld a, $4  	ld [MusicFade], a -	call Function4b6 +	call FadeToWhite  	ret  ; 15587 -Function15587: ; 15587 +ForceMapMusic: ; 15587  	ld a, [PlayerState] -	cp $1 -	jr nz, .asm_15596 +	cp PLAYER_BIKE +	jr nz, .notbiking  	call VolumeOff  	ld a, $88  	ld [MusicFade], a -.asm_15596 -	call Function3d2f +.notbiking +	call TryRestartMapMusic  	ret  ; 1559a diff --git a/engine/more_phone_scripts.asm b/engine/more_phone_scripts.asm index c718fdf10..1a4138eab 100644 --- a/engine/more_phone_scripts.asm +++ b/engine/more_phone_scripts.asm @@ -55,7 +55,7 @@ UnknownScript_0xa0074:  	farjump UnknownScript_0xa053a  UnknownScript_0xa007c: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $5, UnknownScript_0xa00c2  	if_equal $b, UnknownScript_0xa00c8  	if_equal $d, UnknownScript_0xa00ce @@ -160,7 +160,7 @@ UnknownScript_0xa0122:  	end  UnknownScript_0xa0128: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $6, UnknownScript_0xa014a  	if_equal $c, UnknownScript_0xa0150  	if_equal $e, UnknownScript_0xa0156 @@ -211,7 +211,7 @@ UnknownScript_0xa0174:  	end  UnknownScript_0xa017a: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $5, UnknownScript_0xa01c0  	if_equal $b, UnknownScript_0xa01c6  	if_equal $d, UnknownScript_0xa01cc @@ -316,7 +316,7 @@ UnknownScript_0xa0220:  	end  UnknownScript_0xa0226: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $6, UnknownScript_0xa0248  	if_equal $c, UnknownScript_0xa024e  	if_equal $e, UnknownScript_0xa0254 @@ -367,7 +367,7 @@ UnknownScript_0xa0272:  	end  UnknownScript_0xa0278: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $5, UnknownScript_0xa02be  	if_equal $b, UnknownScript_0xa02c4  	if_equal $d, UnknownScript_0xa02ca @@ -472,7 +472,7 @@ UnknownScript_0xa031e:  	end  UnknownScript_0xa0324: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $6, UnknownScript_0xa0346  	if_equal $c, UnknownScript_0xa034c  	if_equal $e, UnknownScript_0xa0352 @@ -531,7 +531,7 @@ UnknownScript_0xa037e:  	farjump UnknownScript_0xa053a  UnknownScript_0xa0386: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $5, UnknownScript_0xa03cc  	if_equal $7, UnknownScript_0xa03d2  	if_equal $b, UnknownScript_0xa03d8 @@ -636,7 +636,7 @@ UnknownScript_0xa042c:  	end  UnknownScript_0xa0432: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $c, UnknownScript_0xa0450  	if_equal $e, UnknownScript_0xa0456  	if_equal $12, UnknownScript_0xa045c @@ -689,7 +689,7 @@ UnknownScript_0xa047f:  	end  UnknownScript_0xa0484: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $5, UnknownScript_0xa04d6  	if_equal $7, UnknownScript_0xa04db  	if_equal $b, UnknownScript_0xa04e0 @@ -792,7 +792,7 @@ UnknownScript_0xa0535:  	end  UnknownScript_0xa053a: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $6, UnknownScript_0xa055c  	if_equal $c, UnknownScript_0xa0561  	if_equal $e, UnknownScript_0xa0566 @@ -855,7 +855,7 @@ UnknownScript_0xa05a0:  	end  UnknownScript_0xa05a4: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $10, UnknownScript_0xa05ae  	if_equal $1c, UnknownScript_0xa05b6 @@ -895,7 +895,7 @@ UnknownScript_0xa05de:  	jump UnknownScript_0xa0484  UnknownScript_0xa05e6: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $d, UnknownScript_0xa0600  	if_equal $10, UnknownScript_0xa0605  	if_equal $18, UnknownScript_0xa060a @@ -928,7 +928,7 @@ UnknownScript_0xa0619:  	end  UnknownScript_0xa061e: -	checkcode $17 +	checkcode VAR_CALLERID  	if_equal $6, UnknownScript_0xa0630  	if_equal $15, UnknownScript_0xa0635  	if_equal $1a, UnknownScript_0xa063a @@ -1459,7 +1459,7 @@ UnknownScript_0xa09e6:  	jump UnknownScript_0xa0484  UnknownScript_0xa09ee: -	checkcode $1a +	checkcode VAR_KENJI_BREAK  	if_equal $2, UnknownScript_0xa0a00  	if_equal $1, UnknownScript_0xa0a08  	farwritetext UnknownText_0x66e17 @@ -1476,7 +1476,7 @@ UnknownScript_0xa0a08:  	iftrue UnknownScript_0xa0a1d  	checknite  	iftrue UnknownScript_0xa0a25 -	setevent $026a +	setevent EVENT_KENJI_ON_BREAK  	farwritetext UnknownText_0x66f11  	keeptextopen  	jump UnknownScript_0xa0484 @@ -1655,6 +1655,6 @@ UnknownScript_0xa0b04:  UnknownScript_0xa0b09:  	farwritetext UnknownText_0x174000 -	clearflag ENGINE_14 -	specialphonecall $0000 +	clearflag ENGINE_BIKE_SHOP_CALL_ENABLED +	specialphonecall ELMCALL_NONE  	end diff --git a/engine/movement.asm b/engine/movement.asm index 775406494..f1ab0ec77 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -130,7 +130,7 @@ Movement_step_wait5: ; 5145  	ld hl, $000b  	add hl, bc  	ld [hl], $4 -	call Function505e +	call GetMovementByte  	ld hl, $000a  	add hl, bc  	ld [hl], a @@ -150,7 +150,7 @@ Function516a: ; 516a  	ld hl, $000c  	add hl, bc  	ld [hl], a -	call Function505e +	call GetMovementByte  	ld hl, $000a  	add hl, bc  	ld [hl], a @@ -174,7 +174,7 @@ Function5189: ; 5189  ; 5196  Function5196: ; 5196 -	call Function505e +	call GetMovementByte  	ld hl, $000a  	add hl, bc  	ld [hl], a @@ -228,7 +228,7 @@ Function51db: ; 51db  	ld hl, $001b  	add hl, bc  	ld [hl], $0 -	call Function505e +	call GetMovementByte  	ld hl, $000a  	add hl, bc  	ld [hl], a @@ -302,7 +302,7 @@ Movement_step_sleep: ; 5242  ; parameters:  ;	duration (DecimalParam) -	call Function505e +	call GetMovementByte  	jr Function5247  Function5247: ; 5247 @@ -411,7 +411,7 @@ Movement_step_shake: ; 52d5  ; parameters:  ;	displacement (DecimalParam) -	call Function505e +	call GetMovementByte  	call Function5565  	jp Function5065  ; 52de diff --git a/engine/pack.asm b/engine/pack.asm index fb19d385c..967d68edf 100644 --- a/engine/pack.asm +++ b/engine/pack.asm @@ -62,7 +62,7 @@ Function10056: ; 10056 (4:4056)  Function10067: ; 10067 (4:4067)  	ld hl, MenuDataHeader_0x10a4f -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0d9]  	ld [wcf88], a  	ld a, [wd0df] @@ -90,7 +90,7 @@ Function10094: ; 10094 (4:4094)  Function100a6: ; 100a6 (4:40a6)  	ld hl, MenuDataHeader_0x10a7f -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0da]  	ld [wcf88], a  	ld a, [wd0e0] @@ -137,8 +137,8 @@ Function100e8: ; 100e8 (4:40e8)  .asm_10110  	push de  	call LoadMenuDataHeader -	call Function1d81 -	call Function1c07 +	call InterpretMenu2 +	call ExitMenu  	pop hl  	ret c  	ld a, [wcfa9] @@ -220,7 +220,7 @@ Function10186: ; 10186 (4:4186)  Function10198: ; 10198 (4:4198)  	ld hl, MenuDataHeader_0x10aaf -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0db]  	ld [wcf88], a  	ld a, [wd0e1] @@ -289,8 +289,8 @@ Function101c5: ; 101c5 (4:41c5)  .asm_10235  	push de  	call LoadMenuDataHeader -	call Function1d81 -	call Function1c07 +	call InterpretMenu2 +	call ExitMenu  	pop hl  	ret c  	ld a, [wcfa9] @@ -495,15 +495,15 @@ Function10364: ; 10364  	call Function10889  	callba Function24fbf  	push af -	call Function1c07 +	call ExitMenu  	pop af  	jr c, .asm_1039c  	call Function10a1d  	ld hl, UnknownText_0x10ae9 -	call Function1d4f +	call MenuTextBox  	call YesNoBox  	push af -	call Function1c07 +	call ExitMenu  	pop af  	jr c, .asm_1039c  	ld hl, NumItems @@ -709,7 +709,7 @@ Function104e9: ; 104e9 (4:44e9)  Function104fa: ; 104fa (4:44fa)  	ld hl, MenuDataHeader_0x10a4f -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0d9]  	ld [wcf88], a  	ld a, [wd0df] @@ -737,7 +737,7 @@ Function10527: ; 10527 (4:4527)  Function10539: ; 10539 (4:4539)  	ld hl, MenuDataHeader_0x10a7f -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0da]  	ld [wcf88], a  	ld a, [wd0e0] @@ -788,7 +788,7 @@ Function10594: ; 10594 (4:4594)  Function105a6: ; 105a6 (4:45a6)  	ld hl, MenuDataHeader_0x10aaf -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0db]  	ld [wcf88], a  	ld a, [wd0e1] @@ -821,8 +821,8 @@ Function105dc: ; 105dc (4:45dc)  .asm_105ed  	push de  	call LoadMenuDataHeader -	call Function1d81 -	call Function1c07 +	call InterpretMenu2 +	call ExitMenu  	pop hl  	ret c  	ld a, [wcfa9] @@ -992,7 +992,7 @@ Function106d9: ; 106d9 (4:46d9)  	xor a  	call Function10762  	ld hl, MenuDataHeader_0x10a67 -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0d9]  	ld [wcf88], a  	ld a, [wd0df] @@ -1008,7 +1008,7 @@ Function106ff: ; 106ff (4:46ff)  	ld a, $2  	call Function10762  	ld hl, MenuDataHeader_0x10a97 -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0da]  	ld [wcf88], a  	ld a, [wd0e0] @@ -1033,7 +1033,7 @@ Function1073b: ; 1073b (4:473b)  	ld a, $1  	call Function10762  	ld hl, MenuDataHeader_0x10ac7 -	call Function1d3c +	call CopyMenuDataHeader  	ld a, [wd0db]  	ld [wcf88], a  	ld a, [wd0e1] @@ -1223,7 +1223,7 @@ Function1085a: ; 1085a (4:485a)  	push hl  	call Function10762  	pop hl -	call Function1d3c +	call CopyMenuDataHeader  	call Function350c  	ret @@ -1235,8 +1235,9 @@ Function10866: ; 10866 (4:4866)  Function1086b: ; 1086b  	ld e, a  	ld d, 0 +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a @@ -1285,8 +1286,9 @@ Function1089d: ; 1089d  .asm_108b3  	ld hl, PackGFXPointers +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld e, a  	ld d, [hl] @@ -1673,7 +1675,7 @@ UnknownText_0x10b07: ; 0x10b07  ; 0x10b0c  UnknownText_0x10b0c: ; 0x10b0c -	;  +	;  	text_jump UnknownText_0x1c0c83  	db "@"  ; 0x10b11 diff --git a/engine/phone_scripts.asm b/engine/phone_scripts.asm index 2d36ee5f5..9aba26450 100644 --- a/engine/phone_scripts.asm +++ b/engine/phone_scripts.asm @@ -2,6 +2,8 @@ UnusedPhoneScript: ; 0xbcea5  	farwritetext UnusedPhoneText  	end +; Mom +  MomPhoneScript: ; 0xbceaa  	checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST  	iftrue .bcec5 @@ -14,12 +16,12 @@ MomPhoneScript: ; 0xbceaa  	jump MomPhoneNoPokemonScript  .bcec5 ; 0xbcec5 -	checkevent $0007 +	checkevent EVENT_IN_YOUR_ROOM  	iftrue MomPhoneHangUpScript  	farwritetext MomPhoneGreetingText  	keeptextopen  	mapnametotext $0 -	checkcode $f +	checkcode VAR_ROOFPALETTE  	if_equal $1, UnknownScript_0xbcee7  	if_equal $2, UnknownScript_0xbcf27  	jump UnknownScript_0xbcf2f @@ -30,7 +32,7 @@ UnknownScript_0xbcedf: ; 0xbcedf  	jump UnknownScript_0xbcf37  UnknownScript_0xbcee7: ; 0xbcee7 -	checkcode $c +	checkcode VAR_MAPGROUP  	if_equal GROUP_NEW_BARK_TOWN, .newbark  	if_equal GROUP_CHERRYGROVE_CITY, .cherrygrove  	if_equal GROUP_VIOLET_CITY, .violet @@ -139,12 +141,14 @@ MomPhoneNoGymQuestScript: ; 0xbcfac  MomPhoneLectureScript: ; 0xbcfb1  	setevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST  	setflag ENGINE_DST -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	farwritetext MomPhoneLectureText  	yesorno  	iftrue MomPhoneSaveMoneyScript  	jump MomPhoneWontSaveMoneyScript +; Bill +  BillPhoneScript1: ; 0xbcfc5  	checkday  	iftrue .daygreet @@ -167,7 +171,7 @@ BillPhoneScript1: ; 0xbcfc5  .main ; 0xbcfe7  	farwritetext BillPhoneGeneriText  	keeptextopen -	checkcode $10 +	checkcode VAR_BOXSPACE  	RAM2MEM $0  	if_equal $0, .full  	if_less_than $6, .nearlyfull @@ -187,8 +191,10 @@ BillPhoneScript2: ; 0xbd007  	closetext  	end +; Elm +  ElmPhoneScript1: ; 0xbd00d -	checkcode $14 +	checkcode VAR_POKERUS  	if_equal $1, .pokerus  	checkevent EVENT_SHOWED_TOGEPI_TO_ELM  	iftrue .discovery @@ -247,59 +253,60 @@ ElmPhoneScript1: ; 0xbd00d  .pokerus ; 0xbd079  	farwritetext ElmPhonePokerusText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	end  ElmPhoneScript2: ; 0xbd081 -	checkcode $14 +	checkcode VAR_POKERUS  	if_equal $2, .disaster  	if_equal $3, .assistant  	if_equal $4, .rocket  	if_equal $5, .gift  	if_equal $8, .gift  	farwritetext ElmPhonePokerusText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	end  .disaster ; 0xbd09f  	farwritetext ElmPhoneDisasterText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	setevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON  	end  .assistant ; 0xbd0aa  	farwritetext ElmPhoneEggAssistantText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	clearevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER  	setevent EVENT_ELMS_AIDE_IN_LAB  	end  .rocket ; 0xbd0b8  	farwritetext ElmPhoneRocketText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	end  .gift ; 0xbd0c0  	farwritetext ElmPhoneGiftText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	end  .unused ; 0xbd0c8  	farwritetext ElmPhoneUnusedText -	specialphonecall $0000 +	specialphonecall ELMCALL_NONE  	end  ; bd0d0 +; Jack  UnknownScript_0xbd0d0: -	trainertotext SCHOOLBOY, 1, $0 +	trainertotext SCHOOLBOY, JACK1, $0  	checkflag ENGINE_JACK  	iftrue UnknownScript_0xbd0f3  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_87 +	checkflag ENGINE_JACK_MONDAY_MORNING  	iftrue UnknownScript_0xbd0ef -	checkcode $b -	if_not_equal $1, UnknownScript_0xbd0ef +	checkcode VAR_WEEKDAY +	if_not_equal MONDAY, UnknownScript_0xbd0ef  	checkmorn  	iftrue UnknownScript_0xbd12a @@ -311,13 +318,13 @@ UnknownScript_0xbd0f3:  	farjump UnknownScript_0xa0a2d  UnknownScript_0xbd0fa: -	trainertotext SCHOOLBOY, 1, $0 +	trainertotext SCHOOLBOY, JACK1, $0  	farscall UnknownScript_0xbe1b6  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd13b  	checkflag ENGINE_JACK  	iftrue UnknownScript_0xbd11e -	checkflag ENGINE_87 +	checkflag ENGINE_JACK_MONDAY_MORNING  	iftrue UnknownScript_0xbd11e  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd12d @@ -328,7 +335,7 @@ UnknownScript_0xbd11e:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd12a: -	setflag ENGINE_87 +	setflag ENGINE_JACK_MONDAY_MORNING  UnknownScript_0xbd12d:  	displaylocation NATIONAL_PARK, $2 @@ -341,8 +348,10 @@ UnknownScript_0xbd137:  UnknownScript_0xbd13b:  	farjump UnknownScript_0xa0654 +; Beverly +  UnknownScript_0xbd13f: -	trainertotext POKEFANF, 1, $0 +	trainertotext POKEFANF, BEVERLY1, $0  	farscall UnknownScript_0xbe0b6  	checkflag ENGINE_BEVERLY_HAS_NUGGET  	iftrue UnknownScript_0xbd151 @@ -353,7 +362,7 @@ UnknownScript_0xbd151:  	farjump UnknownScript_0xa0aa5  UnknownScript_0xbd158: -	trainertotext POKEFANF, 1, $0 +	trainertotext POKEFANF, BEVERLY1, $0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_BEVERLY_HAS_NUGGET  	iftrue UnknownScript_0xbd16e @@ -368,15 +377,17 @@ UnknownScript_0xbd172:  	displaylocation NATIONAL_PARK, $2  	farjump UnknownScript_0xa061e +; Huey +  UnknownScript_0xbd17c: -	trainertotext SAILOR, 2, $0 +	trainertotext SAILOR, HUEY1, $0  	checkflag ENGINE_HUEY  	iftrue UnknownScript_0xbd1a2  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_88 +	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT  	iftrue UnknownScript_0xbd19b -	checkcode $b -	if_not_equal $3, UnknownScript_0xbd19b +	checkcode VAR_WEEKDAY +	if_not_equal WEDNESDAY, UnknownScript_0xbd19b  	checknite  	iftrue UnknownScript_0xbd1cd @@ -389,11 +400,11 @@ UnknownScript_0xbd1a2:  	farjump UnknownScript_0xa0a32  UnknownScript_0xbd1a9: -	trainertotext SAILOR, 2, $0 +	trainertotext SAILOR, HUEY1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_HUEY  	iftrue UnknownScript_0xbd1c9 -	checkflag ENGINE_88 +	checkflag ENGINE_HUEY_WEDNESDAY_NIGHT  	iftrue UnknownScript_0xbd1c9  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbd1d0 @@ -403,22 +414,24 @@ UnknownScript_0xbd1c9:  	farjump UnknownScript_0xbe622  UnknownScript_0xbd1cd: -	setflag ENGINE_88 +	setflag ENGINE_HUEY_WEDNESDAY_NIGHT  UnknownScript_0xbd1d0:  	displaylocation LIGHTHOUSE, $2  	setflag ENGINE_HUEY  	farjump UnknownScript_0xa0376 +; Gaven +  UnknownScript_0xbd1da: -	trainertotext COOLTRAINERM, 10, $0 +	trainertotext COOLTRAINERM, GAVEN3, $0  	checkflag ENGINE_GAVEN  	iftrue UnknownScript_0xbd1fd  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_89 +	checkflag ENGINE_GAVEN_THURSDAY_MORNING  	iftrue UnknownScript_0xbd1f9 -	checkcode $b -	if_not_equal $4, UnknownScript_0xbd1f9 +	checkcode VAR_WEEKDAY +	if_not_equal THURSDAY, UnknownScript_0xbd1f9  	checkmorn  	iftrue UnknownScript_0xbd22c @@ -430,11 +443,11 @@ UnknownScript_0xbd1fd:  	farjump UnknownScript_0xa0a37  UnknownScript_0xbd204: -	trainertotext COOLTRAINERM, 10, $0 +	trainertotext COOLTRAINERM, GAVEN3, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_GAVEN  	iftrue UnknownScript_0xbd220 -	checkflag ENGINE_89 +	checkflag ENGINE_GAVEN_THURSDAY_MORNING  	iftrue UnknownScript_0xbd220  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd22f @@ -445,7 +458,7 @@ UnknownScript_0xbd220:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd22c: -	setflag ENGINE_89 +	setflag ENGINE_GAVEN_THURSDAY_MORNING  UnknownScript_0xbd22f:  	displaylocation ROUTE_26, $2 @@ -455,15 +468,17 @@ UnknownScript_0xbd22f:  UnknownScript_0xbd239:  	farjump UnknownScript_0xa0584 +; Beth +  UnknownScript_0xbd23d: -	trainertotext COOLTRAINERF, 9, $0 +	trainertotext COOLTRAINERF, BETH1, $0  	checkflag ENGINE_BETH  	iftrue UnknownScript_0xbd260  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_8A +	checkflag ENGINE_BETH_FRIDAY_AFTERNOON  	iftrue UnknownScript_0xbd25c -	checkcode $b -	if_not_equal $5, UnknownScript_0xbd25c +	checkcode VAR_WEEKDAY +	if_not_equal FRIDAY, UnknownScript_0xbd25c  	checkday  	iftrue UnknownScript_0xbd287 @@ -475,11 +490,11 @@ UnknownScript_0xbd260:  	farjump UnknownScript_0xa0a3c  UnknownScript_0xbd267: -	trainertotext COOLTRAINERF, 9, $0 +	trainertotext COOLTRAINERF, BETH1, $0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_BETH  	iftrue UnknownScript_0xbd283 -	checkflag ENGINE_8A +	checkflag ENGINE_BETH_FRIDAY_AFTERNOON  	iftrue UnknownScript_0xbd283  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd28a @@ -488,24 +503,26 @@ UnknownScript_0xbd283:  	farjump UnknownScript_0xa0017  UnknownScript_0xbd287: -	setflag ENGINE_8A +	setflag ENGINE_BETH_FRIDAY_AFTERNOON  UnknownScript_0xbd28a:  	displaylocation ROUTE_26, $2  	setflag ENGINE_BETH  	farjump UnknownScript_0xa037e +; Jose +  UnknownScript_0xbd294: -	trainertotext BIRD_KEEPER, 14, $0 +	trainertotext BIRD_KEEPER, JOSE2, $0  	checkflag ENGINE_JOSE  	iftrue UnknownScript_0xbd2bd  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_8B +	checkflag ENGINE_JOSE_SATURDAY_NIGHT  	iftrue UnknownScript_0xbd2b9  	checkflag ENGINE_JOSE_HAS_STAR_PIECE  	iftrue UnknownScript_0xbd2c4 -	checkcode $b -	if_not_equal $6, UnknownScript_0xbd2b9 +	checkcode VAR_WEEKDAY +	if_not_equal SATURDAY, UnknownScript_0xbd2b9  	checknite  	iftrue UnknownScript_0xbd301 @@ -521,11 +538,11 @@ UnknownScript_0xbd2c4:  	farjump UnknownScript_0xa0a41  UnknownScript_0xbd2cb: -	trainertotext BIRD_KEEPER, 14, $0 +	trainertotext BIRD_KEEPER, JOSE2, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_JOSE  	iftrue UnknownScript_0xbd2f5 -	checkflag ENGINE_8B +	checkflag ENGINE_JOSE_SATURDAY_NIGHT  	iftrue UnknownScript_0xbd2f5  	checkflag ENGINE_JOSE_HAS_STAR_PIECE  	iftrue UnknownScript_0xbd2f5 @@ -540,7 +557,7 @@ UnknownScript_0xbd2f5:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd301: -	setflag ENGINE_8B +	setflag ENGINE_JOSE_SATURDAY_NIGHT  UnknownScript_0xbd304:  	displaylocation ROUTE_27, $2 @@ -555,15 +572,17 @@ UnknownScript_0xbd312:  	displaylocation ROUTE_27, $2  	farjump UnknownScript_0xa05e6 +; Reena +  UnknownScript_0xbd31c: -	trainertotext COOLTRAINERF, 10, $0 +	trainertotext COOLTRAINERF, REENA1, $0  	checkflag ENGINE_REENA  	iftrue UnknownScript_0xbd33f  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_8C +	checkflag ENGINE_REENA_SUNDAY_MORNING  	iftrue UnknownScript_0xbd33b -	checkcode $b -	if_not_equal $0, UnknownScript_0xbd33b +	checkcode VAR_WEEKDAY +	if_not_equal SUNDAY, UnknownScript_0xbd33b  	checkmorn  	iftrue UnknownScript_0xbd366 @@ -575,11 +594,11 @@ UnknownScript_0xbd33f:  	farjump UnknownScript_0xa0a46  UnknownScript_0xbd346: -	trainertotext COOLTRAINERF, 10, $0 +	trainertotext COOLTRAINERF, REENA1, $0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_REENA  	iftrue UnknownScript_0xbd362 -	checkflag ENGINE_8C +	checkflag ENGINE_REENA_SUNDAY_MORNING  	iftrue UnknownScript_0xbd362  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd369 @@ -588,22 +607,24 @@ UnknownScript_0xbd362:  	farjump UnknownScript_0xa0017  UnknownScript_0xbd366: -	setflag ENGINE_8C +	setflag ENGINE_REENA_SUNDAY_MORNING  UnknownScript_0xbd369:  	displaylocation ROUTE_27, $2  	setflag ENGINE_REENA  	farjump UnknownScript_0xa037e +; Joey +  UnknownScript_0xbd373: -	trainertotext YOUNGSTER, 1, $0 +	trainertotext YOUNGSTER, JOEY1, $0  	checkflag ENGINE_JOEY  	iftrue UnknownScript_0xbd399  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_8D +	checkflag ENGINE_JOEY_MONDAY_AFTERNOON  	iftrue UnknownScript_0xbd392 -	checkcode $b -	if_not_equal $1, UnknownScript_0xbd392 +	checkcode VAR_WEEKDAY +	if_not_equal MONDAY, UnknownScript_0xbd392  	checkday  	iftrue UnknownScript_0xbd3c4 @@ -616,11 +637,11 @@ UnknownScript_0xbd399:  	farjump UnknownScript_0xa0a4b  UnknownScript_0xbd3a0: -	trainertotext YOUNGSTER, 1, $0 +	trainertotext YOUNGSTER, JOEY1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_JOEY  	iftrue UnknownScript_0xbd3c0 -	checkflag ENGINE_8D +	checkflag ENGINE_JOEY_MONDAY_AFTERNOON  	iftrue UnknownScript_0xbd3c0  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbd3c7 @@ -630,36 +651,38 @@ UnknownScript_0xbd3c0:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd3c4: -	setflag ENGINE_8D +	setflag ENGINE_JOEY_MONDAY_AFTERNOON  UnknownScript_0xbd3c7:  	displaylocation ROUTE_30, $2  	setflag ENGINE_JOEY  	farjump UnknownScript_0xa0376 +; Wade +  UnknownScript_0xbd3d1: -	trainertotext BUG_CATCHER, 4, $0 +	trainertotext BUG_CATCHER, WADE1, $0  	checkflag ENGINE_WADE  	iftrue UnknownScript_0xbd41a  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_8E +	checkflag ENGINE_WADE_TUESDAY_NIGHT  	iftrue UnknownScript_0xbd3f6  	checkflag ENGINE_WADE_HAS_ITEM  	iftrue UnknownScript_0xbd421 -	checkcode $b -	if_not_equal $2, UnknownScript_0xbd3f6 +	checkcode VAR_WEEKDAY +	if_not_equal TUESDAY, UnknownScript_0xbd3f6  	checknite  	iftrue UnknownScript_0xbd484  UnknownScript_0xbd3f6:  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd412 -	checkflag ENGINE_51 +	checkflag ENGINE_DAILY_BUG_CONTEST  	iftrue UnknownScript_0xbd412 -	checkcode $b -	if_equal $2, UnknownScript_0xbd416 -	if_equal $4, UnknownScript_0xbd416 -	if_equal $6, UnknownScript_0xbd416 +	checkcode VAR_WEEKDAY +	if_equal TUESDAY, UnknownScript_0xbd416 +	if_equal THURSDAY, UnknownScript_0xbd416 +	if_equal SATURDAY, UnknownScript_0xbd416  UnknownScript_0xbd412:  	farjump UnknownScript_0xa0938 @@ -676,21 +699,21 @@ UnknownScript_0xbd421:  	farjump UnknownScript_0xa0ab5  UnknownScript_0xbd428: -	trainertotext BUG_CATCHER, 4, $0 +	trainertotext BUG_CATCHER, WADE1, $0  	farscall UnknownScript_0xbe1b6  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd44c -	checkflag ENGINE_51 +	checkflag ENGINE_DAILY_BUG_CONTEST  	iftrue UnknownScript_0xbd44c -	checkcode $b -	if_equal $2, UnknownScript_0xbd480 -	if_equal $4, UnknownScript_0xbd480 -	if_equal $6, UnknownScript_0xbd480 +	checkcode VAR_WEEKDAY +	if_equal TUESDAY, UnknownScript_0xbd480 +	if_equal THURSDAY, UnknownScript_0xbd480 +	if_equal SATURDAY, UnknownScript_0xbd480  UnknownScript_0xbd44c:  	checkflag ENGINE_WADE  	iftrue UnknownScript_0xbd474 -	checkflag ENGINE_8E +	checkflag ENGINE_WADE_TUESDAY_NIGHT  	iftrue UnknownScript_0xbd474  	checkflag ENGINE_WADE_HAS_ITEM  	iftrue UnknownScript_0xbd474 @@ -710,7 +733,7 @@ UnknownScript_0xbd480:  	farjump UnknownScript_0xa05a4  UnknownScript_0xbd484: -	setflag ENGINE_8E +	setflag ENGINE_WADE_TUESDAY_NIGHT  UnknownScript_0xbd487:  	displaylocation ROUTE_31, $2 @@ -751,15 +774,17 @@ UnknownScript_0xbd4cb:  UnknownScript_0xbd4ce:  	farjump UnknownScript_0xa05e6 +; Ralph +  UnknownScript_0xbd4d2: -	trainertotext FISHER, 2, $0 +	trainertotext FISHER, RALPH1, $0  	checkflag ENGINE_RALPH  	iftrue UnknownScript_0xbd4fb  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_8F +	checkflag ENGINE_RALPH_WEDNESDAY_MORNING  	iftrue UnknownScript_0xbd4f1 -	checkcode $b -	if_not_equal $3, UnknownScript_0xbd4f1 +	checkcode VAR_WEEKDAY +	if_not_equal WEDNESDAY, UnknownScript_0xbd4f1  	checkmorn  	iftrue UnknownScript_0xbd537 @@ -777,13 +802,13 @@ UnknownScript_0xbd502:  	farjump UnknownScript_0xa0af5  UnknownScript_0xbd509: -	trainertotext FISHER, 2, $0 +	trainertotext FISHER, RALPH1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_FLYPOINT_GOLDENROD  	iffalse UnknownScript_0xbd52b  	checkflag ENGINE_RALPH  	iftrue UnknownScript_0xbd52b -	checkflag ENGINE_8F +	checkflag ENGINE_RALPH_WEDNESDAY_MORNING  	iftrue UnknownScript_0xbd52b  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd53a @@ -794,7 +819,7 @@ UnknownScript_0xbd52b:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd537: -	setflag ENGINE_8F +	setflag ENGINE_RALPH_WEDNESDAY_MORNING  UnknownScript_0xbd53a:  	displaylocation ROUTE_32, $2 @@ -814,15 +839,17 @@ UnknownScript_0xbd544:  UnknownScript_0xbd55c:  	farjump UnknownScript_0xa0000 +; Liz +  UnknownScript_0xbd560: -	trainertotext PICNICKER, 1, $0 +	trainertotext PICNICKER, LIZ1, $0  	checkflag ENGINE_LIZ  	iftrue UnknownScript_0xbd586  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_90 +	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON  	iftrue UnknownScript_0xbd57f -	checkcode $b -	if_not_equal $4, UnknownScript_0xbd57f +	checkcode VAR_WEEKDAY +	if_not_equal THURSDAY, UnknownScript_0xbd57f  	checkday  	iftrue UnknownScript_0xbd5c3 @@ -835,13 +862,13 @@ UnknownScript_0xbd586:  	farjump UnknownScript_0xa0a5a  UnknownScript_0xbd58d: -	trainertotext PICNICKER, 1, $0 +	trainertotext PICNICKER, LIZ1, $0  	farscall UnknownScript_0xbde45  	if_equal $0, UnknownScript_0xbd5d0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_LIZ  	iftrue UnknownScript_0xbd5a9 -	checkflag ENGINE_90 +	checkflag ENGINE_LIZ_THURSDAY_AFTERNOON  	iftrue UnknownScript_0xbd5a9  UnknownScript_0xbd5a9: @@ -856,7 +883,7 @@ UnknownScript_0xbd5bf:  	farjump UnknownScript_0xa0017  UnknownScript_0xbd5c3: -	setflag ENGINE_90 +	setflag ENGINE_LIZ_THURSDAY_AFTERNOON  UnknownScript_0xbd5c6:  	displaylocation ROUTE_32, $2 @@ -879,53 +906,55 @@ UnknownScript_0xbd5d4:  	if_equal $8, UnknownScript_0xbd62a  UnknownScript_0xbd5fa: -	trainerclassname $1b, $1 +	trainerclassname COOLTRAINERM, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd600: -	trainerclassname $1d, $1 +	trainerclassname BEAUTY, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd606: -	trainerclassname $1f, $1 +	trainerclassname GRUNTM, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd60c: -	trainerclassname $22, $1 +	trainerclassname TEACHER, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd612: -	trainerclassname $27, $1 +	trainerclassname SWIMMERF, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd618: -	trainerclassname $3c, $1 +	trainerclassname KIMONO_GIRL, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd61e: -	trainerclassname $21, $1 +	trainerclassname SKIER, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd624: -	trainerclassname $39, $1 +	trainerclassname MEDIUM, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd62a: -	trainerclassname $3b, $1 +	trainerclassname POKEFANM, $1  	jump UnknownScript_0xbd630  UnknownScript_0xbd630:  	farjump UnknownScript_0xa06da +; Anthony +  UnknownScript_0xbd634: -	trainertotext HIKER, 5, $0 +	trainertotext HIKER, ANTHONY2, $0  	checkflag ENGINE_ANTHONY  	iftrue UnknownScript_0xbd65d  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_91 +	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT  	iftrue UnknownScript_0xbd653 -	checkcode $b -	if_not_equal $5, UnknownScript_0xbd653 +	checkcode VAR_WEEKDAY +	if_not_equal FRIDAY, UnknownScript_0xbd653  	checknite  	iftrue UnknownScript_0xbd699 @@ -943,13 +972,13 @@ UnknownScript_0xbd664:  	farjump UnknownScript_0xa0afa  UnknownScript_0xbd66b: -	trainertotext HIKER, 5, $0 +	trainertotext HIKER, ANTHONY2, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_FLYPOINT_GOLDENROD  	iffalse UnknownScript_0xbd68d  	checkflag ENGINE_ANTHONY  	iftrue UnknownScript_0xbd68d -	checkflag ENGINE_91 +	checkflag ENGINE_ANTHONY_FRIDAY_NIGHT  	iftrue UnknownScript_0xbd68d  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd69c @@ -960,7 +989,7 @@ UnknownScript_0xbd68d:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd699: -	setflag ENGINE_91 +	setflag ENGINE_ANTHONY_FRIDAY_NIGHT  UnknownScript_0xbd69c:  	displaylocation ROUTE_33, $2 @@ -979,15 +1008,17 @@ UnknownScript_0xbd6a6:  UnknownScript_0xbd6bd:  	farjump UnknownScript_0xa0000 +; Todd +  UnknownScript_0xbd6c1: -	trainertotext CAMPER, 2, $0 +	trainertotext CAMPER, TODD1, $0  	checkflag ENGINE_TODD  	iftrue UnknownScript_0xbd6ea  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_92 +	checkflag ENGINE_TODD_SATURDAY_MORNING  	iftrue UnknownScript_0xbd6e0 -	checkcode $b -	if_not_equal $6, UnknownScript_0xbd6e0 +	checkcode VAR_WEEKDAY +	if_not_equal SATURDAY, UnknownScript_0xbd6e0  	checkmorn  	iftrue UnknownScript_0xbd72b @@ -1004,11 +1035,11 @@ UnknownScript_0xbd6f1:  	farjump UnknownScript_0xa0b04  UnknownScript_0xbd6f5: -	trainertotext CAMPER, 2, $0 +	trainertotext CAMPER, TODD1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_TODD  	iftrue UnknownScript_0xbd717 -	checkflag ENGINE_92 +	checkflag ENGINE_TODD_SATURDAY_MORNING  	iftrue UnknownScript_0xbd717  	checkflag ENGINE_FLYPOINT_GOLDENROD  	iffalse UnknownScript_0xbd71f @@ -1025,7 +1056,7 @@ UnknownScript_0xbd71f:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd72b: -	setflag ENGINE_92 +	setflag ENGINE_TODD_SATURDAY_MORNING  UnknownScript_0xbd72e:  	displaylocation ROUTE_34, $2 @@ -1039,22 +1070,24 @@ UnknownScript_0xbd73c:  	setflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON  	farjump UnknownScript_0xa0644 +; Gina +  UnknownScript_0xbd743: -	trainertotext PICNICKER, 2, $0 +	trainertotext PICNICKER, GINA1, $0  	checkflag ENGINE_GINA  	iftrue UnknownScript_0xbd776  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_93 +	checkflag ENGINE_GINA_SUNDAY_AFTERNOON  	iftrue UnknownScript_0xbd768  	checkflag ENGINE_GINA_HAS_LEAF_STONE  	iftrue UnknownScript_0xbd77d -	checkcode $b -	if_not_equal $0, UnknownScript_0xbd768 +	checkcode VAR_WEEKDAY +	if_not_equal SUNDAY, UnknownScript_0xbd768  	checkday  	iftrue UnknownScript_0xbd7cc  UnknownScript_0xbd768: -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xbd772  	farjump UnknownScript_0xa0960 @@ -1070,17 +1103,17 @@ UnknownScript_0xbd77d:  	farjump UnknownScript_0xa0abd  UnknownScript_0xbd784: -	trainertotext PICNICKER, 2, $0 +	trainertotext PICNICKER, GINA1, $0  	farscall UnknownScript_0xbe41e -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xbd7d9  	checkflag ENGINE_GINA  	iftrue UnknownScript_0xbd7c8 -	checkflag ENGINE_93 +	checkflag ENGINE_GINA_SUNDAY_AFTERNOON  	iftrue UnknownScript_0xbd7c8  	checkflag ENGINE_GINA_HAS_LEAF_STONE  	iftrue UnknownScript_0xbd7c8 -	checkevent $0100 +	checkevent EVENT_GINA_GAVE_LEAF_STONE  	iftrue UnknownScript_0xbd7b2  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd7dd @@ -1097,7 +1130,7 @@ UnknownScript_0xbd7c8:  	farjump UnknownScript_0xa0017  UnknownScript_0xbd7cc: -	setflag ENGINE_93 +	setflag ENGINE_GINA_SUNDAY_AFTERNOON  UnknownScript_0xbd7cf:  	displaylocation ROUTE_34, $2 @@ -1112,10 +1145,12 @@ UnknownScript_0xbd7dd:  	displaylocation ROUTE_34, $2  	farjump UnknownScript_0xa061e +; Irwin +  UnknownScript_0xbd7e7: -	trainertotext JUGGLER, 1, $0 +	trainertotext JUGGLER, IRWIN1, $0  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xbd7f9  	farjump UnknownScript_0xa09c8 @@ -1123,24 +1158,26 @@ UnknownScript_0xbd7f9:  	farjump UnknownScript_0xa05be  UnknownScript_0xbd7fd: -	trainertotext JUGGLER, 1, $0 +	trainertotext JUGGLER, IRWIN1, $0  	farscall UnknownScript_0xbe1b6 -	checkflag ENGINE_BIKE_SHOP_CALL_ENABLED +	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER  	iftrue UnknownScript_0xbd80f  	farjump UnknownScript_0xa0848  UnknownScript_0xbd80f:  	farjump UnknownScript_0xa05be +; Arnie +  UnknownScript_0xbd813: -	trainertotext BUG_CATCHER, 8, $0 +	trainertotext BUG_CATCHER, ARNIE1, $0  	checkflag ENGINE_ARNIE  	iftrue UnknownScript_0xbd83c  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_94 +	checkflag ENGINE_ARNIE_TUESDAY_MORNING  	iftrue UnknownScript_0xbd832 -	checkcode $b -	if_not_equal $2, UnknownScript_0xbd832 +	checkcode VAR_WEEKDAY +	if_not_equal TUESDAY, UnknownScript_0xbd832  	checkmorn  	iftrue UnknownScript_0xbd87a @@ -1158,11 +1195,11 @@ UnknownScript_0xbd843:  	farjump UnknownScript_0xa0aff  UnknownScript_0xbd84a: -	trainertotext BUG_CATCHER, 8, $0 +	trainertotext BUG_CATCHER, ARNIE1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_ARNIE  	iftrue UnknownScript_0xbd866 -	checkflag ENGINE_94 +	checkflag ENGINE_ARNIE_TUESDAY_MORNING  	iftrue UnknownScript_0xbd866  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd87d @@ -1175,7 +1212,7 @@ UnknownScript_0xbd866:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd87a: -	setflag ENGINE_94 +	setflag ENGINE_ARNIE_TUESDAY_MORNING  UnknownScript_0xbd87d:  	displaylocation ROUTE_35, $2 @@ -1197,17 +1234,19 @@ UnknownScript_0xbd89e:  UnknownScript_0xbd8a2:  	farjump UnknownScript_0xa0000 +; Alan +  UnknownScript_0xbd8a6: -	trainertotext SCHOOLBOY, 3, $0 +	trainertotext SCHOOLBOY, ALAN1, $0  	checkflag ENGINE_ALAN  	iftrue UnknownScript_0xbd8cf  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_95 +	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON  	iftrue UnknownScript_0xbd8cb  	checkflag ENGINE_ALAN_HAS_FIRE_STONE  	iftrue UnknownScript_0xbd8d6 -	checkcode $b -	if_not_equal $3, UnknownScript_0xbd8cb +	checkcode VAR_WEEKDAY +	if_not_equal WEDNESDAY, UnknownScript_0xbd8cb  	checkday  	iftrue UnknownScript_0xbd919 @@ -1223,17 +1262,17 @@ UnknownScript_0xbd8d6:  	farjump UnknownScript_0xa0ac5  UnknownScript_0xbd8dd: -	trainertotext SCHOOLBOY, 3, $0 +	trainertotext SCHOOLBOY, ALAN1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_ALAN  	iftrue UnknownScript_0xbd915 -	checkflag ENGINE_95 +	checkflag ENGINE_ALAN_WEDNESDAY_AFTERNOON  	iftrue UnknownScript_0xbd915  	checkflag ENGINE_ALAN_HAS_FIRE_STONE  	iftrue UnknownScript_0xbd915  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbd91c -	checkevent $0101 +	checkevent EVENT_ALAN_GAVE_FIRE_STONE  	iftrue UnknownScript_0xbd90d  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd926 @@ -1246,7 +1285,7 @@ UnknownScript_0xbd915:  	farjump UnknownScript_0xa0000  UnknownScript_0xbd919: -	setflag ENGINE_95 +	setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON  UnknownScript_0xbd91c:  	displaylocation ROUTE_36, $2 @@ -1258,17 +1297,19 @@ UnknownScript_0xbd926:  	displaylocation ROUTE_36, $2  	farjump UnknownScript_0xa05e6 +; Dana +  UnknownScript_0xbd930: -	trainertotext LASS, 10, $0 +	trainertotext LASS, DANA1, $0  	checkflag ENGINE_DANA  	iftrue UnknownScript_0xbd959  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_96 +	checkflag ENGINE_DANA_THURSDAY_NIGHT  	iftrue UnknownScript_0xbd955 -	checkflag ENGINE_LIZ_HAS_THUNDERSTONE +	checkflag ENGINE_DANA_HAS_THUNDERSTONE  	iftrue UnknownScript_0xbd960 -	checkcode $b -	if_not_equal $4, UnknownScript_0xbd955 +	checkcode VAR_WEEKDAY +	if_not_equal THURSDAY, UnknownScript_0xbd955  	checknite  	iftrue UnknownScript_0xbd9ab @@ -1284,17 +1325,17 @@ UnknownScript_0xbd960:  	farjump UnknownScript_0xa0acd  UnknownScript_0xbd967: -	trainertotext LASS, 10, $0 +	trainertotext LASS, DANA1, $0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_DANA  	iftrue UnknownScript_0xbd99f -	checkflag ENGINE_96 +	checkflag ENGINE_DANA_THURSDAY_NIGHT  	iftrue UnknownScript_0xbd99f -	checkflag ENGINE_LIZ_HAS_THUNDERSTONE +	checkflag ENGINE_DANA_HAS_THUNDERSTONE  	iftrue UnknownScript_0xbd99f  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbd9ae -	checkevent $0102 +	checkevent EVENT_DANA_GAVE_THUNDERSTONE  	iftrue UnknownScript_0xbd997  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbd9bc @@ -1309,7 +1350,7 @@ UnknownScript_0xbd99f:  	farjump UnknownScript_0xa0017  UnknownScript_0xbd9ab: -	setflag ENGINE_96 +	setflag ENGINE_DANA_THURSDAY_NIGHT  UnknownScript_0xbd9ae:  	displaylocation ROUTE_38, $2 @@ -1320,19 +1361,21 @@ UnknownScript_0xbd9b8:  	farjump UnknownScript_0xa0592  UnknownScript_0xbd9bc: -	setflag ENGINE_LIZ_HAS_THUNDERSTONE +	setflag ENGINE_DANA_HAS_THUNDERSTONE  	displaylocation ROUTE_38, $2  	farjump UnknownScript_0xa061e +; Chad +  UnknownScript_0xbd9c6: -	trainertotext SCHOOLBOY, 10, $0 +	trainertotext SCHOOLBOY, CHAD1, $0  	checkflag ENGINE_CHAD  	iftrue UnknownScript_0xbd9e9  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_97 +	checkflag ENGINE_CHAD_FRIDAY_MORNING  	iftrue UnknownScript_0xbd9e5 -	checkcode $b -	if_not_equal $5, UnknownScript_0xbd9e5 +	checkcode VAR_WEEKDAY +	if_not_equal FRIDAY, UnknownScript_0xbd9e5  	checkmorn  	iftrue UnknownScript_0xbda20 @@ -1344,13 +1387,13 @@ UnknownScript_0xbd9e9:  	farjump UnknownScript_0xa0a7d  UnknownScript_0xbd9f0: -	trainertotext SCHOOLBOY, 10, $0 +	trainertotext SCHOOLBOY, CHAD1, $0  	farscall UnknownScript_0xbe1b6  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbda31  	checkflag ENGINE_CHAD  	iftrue UnknownScript_0xbda14 -	checkflag ENGINE_97 +	checkflag ENGINE_CHAD_FRIDAY_MORNING  	iftrue UnknownScript_0xbda14  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbda23 @@ -1361,7 +1404,7 @@ UnknownScript_0xbda14:  	farjump UnknownScript_0xa0000  UnknownScript_0xbda20: -	setflag ENGINE_97 +	setflag ENGINE_CHAD_FRIDAY_MORNING  UnknownScript_0xbda23:  	displaylocation ROUTE_38, $2 @@ -1375,18 +1418,18 @@ UnknownScript_0xbda31:  	farjump UnknownScript_0xa0754  UnknownScript_0xbda35: -	trainertotext POKEFANM, 2, $0 +	trainertotext POKEFANM, DEREK1, $0  	farscall UnknownScript_0xbde4e  	checkflag ENGINE_DEREK_HAS_NUGGET  	iftrue UnknownScript_0xbda67  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbda5f -	checkflag ENGINE_51 +	checkflag ENGINE_DAILY_BUG_CONTEST  	iftrue UnknownScript_0xbda5f -	checkcode $b -	if_equal $2, UnknownScript_0xbda63 -	if_equal $4, UnknownScript_0xbda63 -	if_equal $6, UnknownScript_0xbda63 +	checkcode VAR_WEEKDAY +	if_equal TUESDAY, UnknownScript_0xbda63 +	if_equal THURSDAY, UnknownScript_0xbda63 +	if_equal SATURDAY, UnknownScript_0xbda63  UnknownScript_0xbda5f:  	farjump UnknownScript_0xa0988 @@ -1399,16 +1442,16 @@ UnknownScript_0xbda67:  	farjump UnknownScript_0xa0ad5  UnknownScript_0xbda6e: -	trainertotext POKEFANM, 2, $0 +	trainertotext POKEFANM, DEREK1, $0  	farscall UnknownScript_0xbe1b6  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbda92 -	checkflag ENGINE_51 +	checkflag ENGINE_DAILY_BUG_CONTEST  	iftrue UnknownScript_0xbda92 -	checkcode $b -	if_equal $2, UnknownScript_0xbda9e -	if_equal $4, UnknownScript_0xbda9e -	if_equal $6, UnknownScript_0xbda9e +	checkcode VAR_WEEKDAY +	if_equal TUESDAY, UnknownScript_0xbda9e +	if_equal THURSDAY, UnknownScript_0xbda9e +	if_equal SATURDAY, UnknownScript_0xbda9e  UnknownScript_0xbda92:  	farscall UnknownScript_0xbde45 @@ -1424,16 +1467,16 @@ UnknownScript_0xbdaa2:  	farjump UnknownScript_0xa05e6  UnknownScript_0xbdaac: -	trainertotext FISHER, 7, $0 +	trainertotext FISHER, TULLY1, $0  	checkflag ENGINE_TULLY  	iftrue UnknownScript_0xbdad5  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_98 +	checkflag ENGINE_TULLY_SUNDAY_NIGHT  	iftrue UnknownScript_0xbdad1  	checkflag ENGINE_TULLY_HAS_WATER_STONE  	iftrue UnknownScript_0xbdadc -	checkcode $b -	if_not_equal $0, UnknownScript_0xbdad1 +	checkcode VAR_WEEKDAY +	if_not_equal SUNDAY, UnknownScript_0xbdad1  	checknite  	iftrue UnknownScript_0xbdb1f @@ -1449,17 +1492,17 @@ UnknownScript_0xbdadc:  	farjump UnknownScript_0xa0add  UnknownScript_0xbdae3: -	trainertotext FISHER, 7, $0 +	trainertotext FISHER, TULLY1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_TULLY  	iftrue UnknownScript_0xbdb1b -	checkflag ENGINE_98 +	checkflag ENGINE_TULLY_SUNDAY_NIGHT  	iftrue UnknownScript_0xbdb1b  	checkflag ENGINE_TULLY_HAS_WATER_STONE  	iftrue UnknownScript_0xbdb1b  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbdb22 -	checkevent $0103 +	checkevent EVENT_TULLY_GAVE_WATER_STONE  	iftrue UnknownScript_0xbdb13  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbdb2c @@ -1472,7 +1515,7 @@ UnknownScript_0xbdb1b:  	farjump UnknownScript_0xa0000  UnknownScript_0xbdb1f: -	setflag ENGINE_98 +	setflag ENGINE_TULLY_SUNDAY_NIGHT  UnknownScript_0xbdb22:  	displaylocation ROUTE_42, $2 @@ -1485,14 +1528,14 @@ UnknownScript_0xbdb2c:  	farjump UnknownScript_0xa05e6  UnknownScript_0xbdb36: -	trainertotext POKEMANIAC, 6, $0 +	trainertotext POKEMANIAC, BRENT1, $0  	checkflag ENGINE_BRENT  	iftrue UnknownScript_0xbdb59  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_99 +	checkflag ENGINE_BRENT_MONDAY_MORNING  	iftrue UnknownScript_0xbdb55 -	checkcode $b -	if_not_equal $1, UnknownScript_0xbdb55 +	checkcode VAR_WEEKDAY +	if_not_equal MONDAY, UnknownScript_0xbdb55  	checkmorn  	iftrue UnknownScript_0xbdb88 @@ -1504,13 +1547,13 @@ UnknownScript_0xbdb59:  	farjump UnknownScript_0xa0a87  UnknownScript_0xbdb60: -	trainertotext POKEMANIAC, 6, $0 +	trainertotext POKEMANIAC, BRENT1, $0  	farscall UnknownScript_0xbe1b6  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbdb95  	checkflag ENGINE_BRENT  	iftrue UnknownScript_0xbdb84 -	checkflag ENGINE_99 +	checkflag ENGINE_BRENT_MONDAY_MORNING  	iftrue UnknownScript_0xbdb84  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbdb8b @@ -1519,7 +1562,7 @@ UnknownScript_0xbdb84:  	farjump UnknownScript_0xa0000  UnknownScript_0xbdb88: -	setflag ENGINE_99 +	setflag ENGINE_BRENT_MONDAY_MORNING  UnknownScript_0xbdb8b:  	displaylocation ROUTE_43, $2 @@ -1530,16 +1573,16 @@ UnknownScript_0xbdb95:  	farjump UnknownScript_0xa07ce  UnknownScript_0xbdb99: -	trainertotext PICNICKER, 20, $0 +	trainertotext PICNICKER, TIFFANY3, $0  	checkflag ENGINE_TIFFANY  	iftrue UnknownScript_0xbdbc2  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_9A +	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON  	iftrue UnknownScript_0xbdbbe  	checkflag ENGINE_TIFFANY_HAS_PINK_BOW  	iftrue UnknownScript_0xbdbc9 -	checkcode $b -	if_not_equal $2, UnknownScript_0xbdbbe +	checkcode VAR_WEEKDAY +	if_not_equal TUESDAY, UnknownScript_0xbdbbe  	checkday  	iftrue UnknownScript_0xbdc14 @@ -1555,19 +1598,19 @@ UnknownScript_0xbdbc9:  	farjump UnknownScript_0xa0ae5  UnknownScript_0xbdbd0: -	trainertotext PICNICKER, 20, $0 +	trainertotext PICNICKER, TIFFANY3, $0  	farscall UnknownScript_0xbde45  	if_equal $0, UnknownScript_0xbdc21  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_TIFFANY  	iftrue UnknownScript_0xbdc10 -	checkflag ENGINE_9A +	checkflag ENGINE_TIFFANY_TUESDAY_AFTERNOON  	iftrue UnknownScript_0xbdc10  	checkflag ENGINE_TIFFANY_HAS_PINK_BOW  	iftrue UnknownScript_0xbdc10  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbdc17 -	checkevent $0104 +	checkevent EVENT_TIFFANY_GAVE_PINK_BOW  	iftrue UnknownScript_0xbdc08  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbdc69 @@ -1580,7 +1623,7 @@ UnknownScript_0xbdc10:  	farjump UnknownScript_0xa0017  UnknownScript_0xbdc14: -	setflag ENGINE_9A +	setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON  UnknownScript_0xbdc17:  	displaylocation ROUTE_43, $2 @@ -1628,15 +1671,17 @@ UnknownScript_0xbdc69:  	displaylocation ROUTE_43, $2  	farjump UnknownScript_0xa061e +; Vance +  UnknownScript_0xbdc73: -	trainertotext BIRD_KEEPER, 7, $0 +	trainertotext BIRD_KEEPER, VANCE1, $0  	checkflag ENGINE_VANCE  	iftrue UnknownScript_0xbdc96  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_9B +	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT  	iftrue UnknownScript_0xbdc92 -	checkcode $b -	if_not_equal $3, UnknownScript_0xbdc92 +	checkcode VAR_WEEKDAY +	if_not_equal WEDNESDAY, UnknownScript_0xbdc92  	checknite  	iftrue UnknownScript_0xbdcc1 @@ -1648,11 +1693,11 @@ UnknownScript_0xbdc96:  	farjump UnknownScript_0xa0a91  UnknownScript_0xbdc9d: -	trainertotext BIRD_KEEPER, 7, $0 +	trainertotext BIRD_KEEPER, VANCE1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_VANCE  	iftrue UnknownScript_0xbdcbd -	checkflag ENGINE_9B +	checkflag ENGINE_VANCE_WEDNESDAY_NIGHT  	iftrue UnknownScript_0xbdcbd  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbdcc4 @@ -1662,7 +1707,7 @@ UnknownScript_0xbdcbd:  	farjump UnknownScript_0xa0000  UnknownScript_0xbdcc1: -	setflag ENGINE_9B +	setflag ENGINE_VANCE_WEDNESDAY_NIGHT  UnknownScript_0xbdcc4:  	displaylocation ROUTE_44, $2 @@ -1670,16 +1715,16 @@ UnknownScript_0xbdcc4:  	farjump UnknownScript_0xa0376  UnknownScript_0xbdcce: -	trainertotext FISHER, 10, $0 +	trainertotext FISHER, WILTON1, $0  	checkflag ENGINE_WILTON  	iftrue UnknownScript_0xbdcf7  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_9C +	checkflag ENGINE_WILTON_THRUSDAY_MORNING  	iftrue UnknownScript_0xbdcf3  	checkflag ENGINE_WILTON_HAS_ITEM  	iftrue UnknownScript_0xbdcfe -	checkcode $b -	if_not_equal $4, UnknownScript_0xbdcf3 +	checkcode VAR_WEEKDAY +	if_not_equal THURSDAY, UnknownScript_0xbdcf3  	checkmorn  	iftrue UnknownScript_0xbdd33 @@ -1695,11 +1740,11 @@ UnknownScript_0xbdcfe:  	farjump UnknownScript_0xa0aed  UnknownScript_0xbdd05: -	trainertotext FISHER, 10, $0 +	trainertotext FISHER, WILTON1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_WILTON  	iftrue UnknownScript_0xbdd2f -	checkflag ENGINE_9C +	checkflag ENGINE_WILTON_THRUSDAY_MORNING  	iftrue UnknownScript_0xbdd2f  	checkflag ENGINE_WILTON_HAS_ITEM  	iftrue UnknownScript_0xbdd2f @@ -1712,7 +1757,7 @@ UnknownScript_0xbdd2f:  	farjump UnknownScript_0xa0000  UnknownScript_0xbdd33: -	setflag ENGINE_9C +	setflag ENGINE_WILTON_THRUSDAY_MORNING  UnknownScript_0xbdd36:  	displaylocation ROUTE_44, $2 @@ -1745,25 +1790,29 @@ UnknownScript_0xbdd6a:  UnknownScript_0xbdd6d:  	farjump UnknownScript_0xa05e6 +; Kenji +  UnknownScript_0xbdd71: -	trainertotext BLACKBELT_T, 8, $0 +	trainertotext BLACKBELT_T, KENJI3, $0  	farscall UnknownScript_0xbde4e  	farjump UnknownScript_0xa09ee  UnknownScript_0xbdd7d: -	trainertotext BLACKBELT_T, 8, $0 +	trainertotext BLACKBELT_T, KENJI3, $0  	farscall UnknownScript_0xbe1b6  	farjump UnknownScript_0xa064c +; Parry +  UnknownScript_0xbdd89: -	trainertotext HIKER, 9, $0 +	trainertotext HIKER, PARRY1, $0  	checkflag ENGINE_PARRY  	iftrue UnknownScript_0xbddac  	farscall UnknownScript_0xbde4e -	checkflag ENGINE_9D +	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON  	iftrue UnknownScript_0xbdda8 -	checkcode $b -	if_not_equal $5, UnknownScript_0xbdda8 +	checkcode VAR_WEEKDAY +	if_not_equal FRIDAY, UnknownScript_0xbdda8  	checkday  	iftrue UnknownScript_0xbddd7 @@ -1775,11 +1824,11 @@ UnknownScript_0xbddac:  	farjump UnknownScript_0xa0a9b  UnknownScript_0xbddb3: -	trainertotext HIKER, 9, $0 +	trainertotext HIKER, PARRY1, $0  	farscall UnknownScript_0xbe1b6  	checkflag ENGINE_PARRY  	iftrue UnknownScript_0xbddd3 -	checkflag ENGINE_9D +	checkflag ENGINE_PARRY_FRIDAY_AFTERNOON  	iftrue UnknownScript_0xbddd3  	farscall UnknownScript_0xbde3f  	if_equal $0, UnknownScript_0xbddda @@ -1789,22 +1838,24 @@ UnknownScript_0xbddd3:  	farjump UnknownScript_0xa0000  UnknownScript_0xbddd7: -	setflag ENGINE_9D +	setflag ENGINE_PARRY_FRIDAY_AFTERNOON  UnknownScript_0xbddda:  	displaylocation ROUTE_45, $2  	setflag ENGINE_PARRY  	farjump UnknownScript_0xa0376 +; Erin +  UnknownScript_0xbdde4: -	trainertotext PICNICKER, 10, $0 +	trainertotext PICNICKER, ERIN1, $0  	checkflag ENGINE_ERIN  	iftrue UnknownScript_0xbde07  	farscall UnknownScript_0xbe0b6 -	checkflag ENGINE_9E +	checkflag ENGINE_ERIN_SATURDAY_NIGHT  	iftrue UnknownScript_0xbde03 -	checkcode $b -	if_not_equal $6, UnknownScript_0xbde03 +	checkcode VAR_WEEKDAY +	if_not_equal SATURDAY, UnknownScript_0xbde03  	checknite  	iftrue UnknownScript_0xbde32 @@ -1816,11 +1867,11 @@ UnknownScript_0xbde07:  	farjump UnknownScript_0xa0aa0  UnknownScript_0xbde0e: -	trainertotext PICNICKER, 10, $0 +	trainertotext PICNICKER, ERIN1, $0  	farscall UnknownScript_0xbe41e  	checkflag ENGINE_ERIN  	iftrue UnknownScript_0xbde2e -	checkflag ENGINE_9E +	checkflag ENGINE_ERIN_SATURDAY_NIGHT  	iftrue UnknownScript_0xbde2e  	farscall UnknownScript_0xbde42  	if_equal $0, UnknownScript_0xbde35 @@ -1830,7 +1881,7 @@ UnknownScript_0xbde2e:  	farjump UnknownScript_0xa0017  UnknownScript_0xbde32: -	setflag ENGINE_9E +	setflag ENGINE_ERIN_SATURDAY_NIGHT  UnknownScript_0xbde35:  	displaylocation ROUTE_46, $2 @@ -1862,27 +1913,27 @@ UnknownScript_0xbde4e:  	iftrue UnknownScript_0xbdf22  	checknite  	iftrue UnknownScript_0xbdfec -	checkcode $17 -	if_equal $5, UnknownScript_0xbdeaa -	if_equal $7, UnknownScript_0xbdeb0 -	if_equal $b, UnknownScript_0xbdeb6 -	if_equal $d, UnknownScript_0xbdebc -	if_equal $f, UnknownScript_0xbdec2 -	if_equal $10, UnknownScript_0xbdec8 -	if_equal $11, UnknownScript_0xbdece -	if_equal $13, UnknownScript_0xbded4 -	if_equal $14, UnknownScript_0xbdeda -	if_equal $16, UnknownScript_0xbdee0 -	if_equal $17, UnknownScript_0xbdee6 -	if_equal $18, UnknownScript_0xbdeec -	if_equal $1b, UnknownScript_0xbdef2 -	if_equal $1c, UnknownScript_0xbdef8 -	if_equal $1d, UnknownScript_0xbdefe -	if_equal $1e, UnknownScript_0xbdf04 -	if_equal $20, UnknownScript_0xbdf0a -	if_equal $21, UnknownScript_0xbdf10 -	if_equal $22, UnknownScript_0xbdf16 -	if_equal $23, UnknownScript_0xbdf1c +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbdeaa +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbdeb0 +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbdeb6 +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbdebc +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbdec2 +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbdec8 +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbdece +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbded4 +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbdeda +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbdee0 +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbdee6 +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbdeec +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbdef2 +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbdef8 +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbdefe +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbdf04 +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbdf0a +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbdf10 +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbdf16 +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbdf1c  UnknownScript_0xbdeaa:  	farwritetext UnknownText_0x1b4dc5 @@ -1985,27 +2036,27 @@ UnknownScript_0xbdf1c:  	end  UnknownScript_0xbdf22: -	checkcode $17 -	if_equal $5, UnknownScript_0xbdf74 -	if_equal $7, UnknownScript_0xbdf7a -	if_equal $b, UnknownScript_0xbdf80 -	if_equal $d, UnknownScript_0xbdf86 -	if_equal $f, UnknownScript_0xbdf8c -	if_equal $10, UnknownScript_0xbdf92 -	if_equal $11, UnknownScript_0xbdf98 -	if_equal $13, UnknownScript_0xbdf9e -	if_equal $14, UnknownScript_0xbdfa4 -	if_equal $16, UnknownScript_0xbdfaa -	if_equal $17, UnknownScript_0xbdfb0 -	if_equal $18, UnknownScript_0xbdfb6 -	if_equal $1b, UnknownScript_0xbdfbc -	if_equal $1c, UnknownScript_0xbdfc2 -	if_equal $1d, UnknownScript_0xbdfc8 -	if_equal $1e, UnknownScript_0xbdfce -	if_equal $20, UnknownScript_0xbdfd4 -	if_equal $21, UnknownScript_0xbdfda -	if_equal $22, UnknownScript_0xbdfe0 -	if_equal $23, UnknownScript_0xbdfe6 +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbdf74 +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbdf7a +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbdf80 +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbdf86 +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbdf8c +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbdf92 +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbdf98 +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbdf9e +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbdfa4 +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbdfaa +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbdfb0 +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbdfb6 +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbdfbc +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbdfc2 +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbdfc8 +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbdfce +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbdfd4 +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbdfda +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbdfe0 +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbdfe6  UnknownScript_0xbdf74:  	farwritetext UnknownText_0x1b4ded @@ -2108,27 +2159,27 @@ UnknownScript_0xbdfe6:  	end  UnknownScript_0xbdfec: -	checkcode $17 -	if_equal $5, UnknownScript_0xbe03e -	if_equal $7, UnknownScript_0xbe044 -	if_equal $b, UnknownScript_0xbe04a -	if_equal $d, UnknownScript_0xbe050 -	if_equal $f, UnknownScript_0xbe056 -	if_equal $10, UnknownScript_0xbe05c -	if_equal $11, UnknownScript_0xbe062 -	if_equal $13, UnknownScript_0xbe068 -	if_equal $14, UnknownScript_0xbe06e -	if_equal $16, UnknownScript_0xbe074 -	if_equal $17, UnknownScript_0xbe07a -	if_equal $18, UnknownScript_0xbe080 -	if_equal $1b, UnknownScript_0xbe086 -	if_equal $1c, UnknownScript_0xbe08c -	if_equal $1d, UnknownScript_0xbe092 -	if_equal $1e, UnknownScript_0xbe098 -	if_equal $20, UnknownScript_0xbe09e -	if_equal $21, UnknownScript_0xbe0a4 -	if_equal $22, UnknownScript_0xbe0aa -	if_equal $23, UnknownScript_0xbe0b0 +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbe03e +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbe044 +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbe04a +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbe050 +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbe056 +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbe05c +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbe062 +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbe068 +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbe06e +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbe074 +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbe07a +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbe080 +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbe086 +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbe08c +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbe092 +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbe098 +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbe09e +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbe0a4 +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbe0aa +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbe0b0  UnknownScript_0xbe03e:  	farwritetext UnknownText_0x1b4e16 @@ -2235,15 +2286,15 @@ UnknownScript_0xbe0b6:  	iftrue UnknownScript_0xbe112  	checknite  	iftrue UnknownScript_0xbe164 -	checkcode $17 -	if_equal $6, UnknownScript_0xbe0e2 -	if_equal $c, UnknownScript_0xbe0e8 -	if_equal $e, UnknownScript_0xbe0ee -	if_equal $12, UnknownScript_0xbe0f4 -	if_equal $15, UnknownScript_0xbe0fa -	if_equal $1a, UnknownScript_0xbe100 -	if_equal $1f, UnknownScript_0xbe106 -	if_equal $24, UnknownScript_0xbe10c +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe0e2 +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe0e8 +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe0ee +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe0f4 +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe0fa +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe100 +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe106 +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe10c  UnknownScript_0xbe0e2:  	farwritetext UnknownText_0x1b4f21 @@ -2286,15 +2337,15 @@ UnknownScript_0xbe10c:  	end  UnknownScript_0xbe112: -	checkcode $17 -	if_equal $6, UnknownScript_0xbe134 -	if_equal $c, UnknownScript_0xbe13a -	if_equal $e, UnknownScript_0xbe140 -	if_equal $12, UnknownScript_0xbe146 -	if_equal $15, UnknownScript_0xbe14c -	if_equal $1a, UnknownScript_0xbe152 -	if_equal $1f, UnknownScript_0xbe158 -	if_equal $24, UnknownScript_0xbe15e +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe134 +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe13a +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe140 +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe146 +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe14c +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe152 +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe158 +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe15e  UnknownScript_0xbe134:  	farwritetext UnknownText_0x1b4f4d @@ -2337,15 +2388,15 @@ UnknownScript_0xbe15e:  	end  UnknownScript_0xbe164: -	checkcode $17 -	if_equal $6, UnknownScript_0xbe186 -	if_equal $c, UnknownScript_0xbe18c -	if_equal $e, UnknownScript_0xbe192 -	if_equal $12, UnknownScript_0xbe198 -	if_equal $15, UnknownScript_0xbe19e -	if_equal $1a, UnknownScript_0xbe1a4 -	if_equal $1f, UnknownScript_0xbe1aa -	if_equal $24, UnknownScript_0xbe1b0 +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe186 +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe18c +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe192 +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe198 +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe19e +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe1a4 +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe1aa +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe1b0  UnknownScript_0xbe186:  	farwritetext UnknownText_0x1b4f75 @@ -2392,27 +2443,27 @@ UnknownScript_0xbe1b6:  	iftrue UnknownScript_0xbe28a  	checknite  	iftrue UnknownScript_0xbe354 -	checkcode $17 -	if_equal $5, UnknownScript_0xbe212 -	if_equal $7, UnknownScript_0xbe218 -	if_equal $b, UnknownScript_0xbe21e -	if_equal $d, UnknownScript_0xbe224 -	if_equal $f, UnknownScript_0xbe22a -	if_equal $10, UnknownScript_0xbe230 -	if_equal $11, UnknownScript_0xbe236 -	if_equal $13, UnknownScript_0xbe23c -	if_equal $14, UnknownScript_0xbe242 -	if_equal $16, UnknownScript_0xbe248 -	if_equal $17, UnknownScript_0xbe24e -	if_equal $18, UnknownScript_0xbe254 -	if_equal $1b, UnknownScript_0xbe25a -	if_equal $1c, UnknownScript_0xbe260 -	if_equal $1d, UnknownScript_0xbe266 -	if_equal $1e, UnknownScript_0xbe26c -	if_equal $20, UnknownScript_0xbe272 -	if_equal $21, UnknownScript_0xbe278 -	if_equal $22, UnknownScript_0xbe27e -	if_equal $23, UnknownScript_0xbe284 +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbe212 +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbe218 +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbe21e +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbe224 +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbe22a +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbe230 +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbe236 +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbe23c +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbe242 +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbe248 +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbe24e +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbe254 +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbe25a +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbe260 +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbe266 +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbe26c +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbe272 +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbe278 +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbe27e +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbe284  UnknownScript_0xbe212:  	farwritetext UnknownText_0x1b4e3e @@ -2515,27 +2566,27 @@ UnknownScript_0xbe284:  	end  UnknownScript_0xbe28a: -	checkcode $17 -	if_equal $5, UnknownScript_0xbe2dc -	if_equal $7, UnknownScript_0xbe2e2 -	if_equal $b, UnknownScript_0xbe2e8 -	if_equal $d, UnknownScript_0xbe2ee -	if_equal $f, UnknownScript_0xbe2f4 -	if_equal $10, UnknownScript_0xbe2fa -	if_equal $11, UnknownScript_0xbe300 -	if_equal $13, UnknownScript_0xbe306 -	if_equal $14, UnknownScript_0xbe30c -	if_equal $16, UnknownScript_0xbe312 -	if_equal $17, UnknownScript_0xbe318 -	if_equal $18, UnknownScript_0xbe31e -	if_equal $1b, UnknownScript_0xbe324 -	if_equal $1c, UnknownScript_0xbe32a -	if_equal $1d, UnknownScript_0xbe330 -	if_equal $1e, UnknownScript_0xbe336 -	if_equal $20, UnknownScript_0xbe33c -	if_equal $21, UnknownScript_0xbe342 -	if_equal $22, UnknownScript_0xbe348 -	if_equal $23, UnknownScript_0xbe34e +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbe2dc +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbe2e2 +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbe2e8 +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbe2ee +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbe2f4 +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbe2fa +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbe300 +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbe306 +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbe30c +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbe312 +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbe318 +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbe31e +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbe324 +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbe32a +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbe330 +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbe336 +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbe33c +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbe342 +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbe348 +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbe34e  UnknownScript_0xbe2dc:  	farwritetext UnknownText_0x1b4e72 @@ -2638,27 +2689,27 @@ UnknownScript_0xbe34e:  	end  UnknownScript_0xbe354: -	checkcode $17 -	if_equal $5, UnknownScript_0xbe3a6 -	if_equal $7, UnknownScript_0xbe3ac -	if_equal $b, UnknownScript_0xbe3b2 -	if_equal $d, UnknownScript_0xbe3b8 -	if_equal $f, UnknownScript_0xbe3be -	if_equal $10, UnknownScript_0xbe3c4 -	if_equal $11, UnknownScript_0xbe3ca -	if_equal $13, UnknownScript_0xbe3d0 -	if_equal $14, UnknownScript_0xbe3d6 -	if_equal $16, UnknownScript_0xbe3dc -	if_equal $17, UnknownScript_0xbe3e2 -	if_equal $18, UnknownScript_0xbe3e8 -	if_equal $1b, UnknownScript_0xbe3ee -	if_equal $1c, UnknownScript_0xbe3f4 -	if_equal $1d, UnknownScript_0xbe3fa -	if_equal $1e, UnknownScript_0xbe400 -	if_equal $20, UnknownScript_0xbe406 -	if_equal $21, UnknownScript_0xbe40c -	if_equal $22, UnknownScript_0xbe412 -	if_equal $23, UnknownScript_0xbe418 +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbe3a6 +	if_equal PHONE_SAILOR_HUEY,          UnknownScript_0xbe3ac +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbe3b2 +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbe3b8 +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbe3be +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbe3c4 +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbe3ca +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbe3d0 +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbe3d6 +	if_equal PHONE_JUGGLER_IRWIN,        UnknownScript_0xbe3dc +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbe3e2 +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbe3e8 +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbe3ee +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbe3f4 +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbe3fa +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbe400 +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbe406 +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbe40c +	if_equal PHONE_BLACKBELT_KENJI,      UnknownScript_0xbe412 +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbe418  UnknownScript_0xbe3a6:  	farwritetext UnknownText_0x1b4e9e @@ -2765,15 +2816,15 @@ UnknownScript_0xbe41e:  	iftrue UnknownScript_0xbe47a  	checknite  	iftrue UnknownScript_0xbe4cc -	checkcode $17 -	if_equal $6, UnknownScript_0xbe44a -	if_equal $c, UnknownScript_0xbe450 -	if_equal $e, UnknownScript_0xbe456 -	if_equal $12, UnknownScript_0xbe45c -	if_equal $15, UnknownScript_0xbe462 -	if_equal $1a, UnknownScript_0xbe468 -	if_equal $1f, UnknownScript_0xbe46e -	if_equal $24, UnknownScript_0xbe474 +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe44a +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe450 +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe456 +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe45c +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe462 +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe468 +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe46e +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe474  UnknownScript_0xbe44a:  	farwritetext UnknownText_0x1b4fa1 @@ -2816,15 +2867,15 @@ UnknownScript_0xbe474:  	end  UnknownScript_0xbe47a: -	checkcode $17 -	if_equal $6, UnknownScript_0xbe49c -	if_equal $c, UnknownScript_0xbe4a2 -	if_equal $e, UnknownScript_0xbe4a8 -	if_equal $12, UnknownScript_0xbe4ae -	if_equal $15, UnknownScript_0xbe4b4 -	if_equal $1a, UnknownScript_0xbe4ba -	if_equal $1f, UnknownScript_0xbe4c0 -	if_equal $24, UnknownScript_0xbe4c6 +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe49c +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe4a2 +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe4a8 +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe4ae +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe4b4 +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe4ba +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe4c0 +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe4c6  UnknownScript_0xbe49c:  	farwritetext UnknownText_0x1b4fda @@ -2867,15 +2918,15 @@ UnknownScript_0xbe4c6:  	end  UnknownScript_0xbe4cc: -	checkcode $17 -	if_equal $6, UnknownScript_0xbe4ee -	if_equal $c, UnknownScript_0xbe4f4 -	if_equal $e, UnknownScript_0xbe4fa -	if_equal $12, UnknownScript_0xbe500 -	if_equal $15, UnknownScript_0xbe506 -	if_equal $1a, UnknownScript_0xbe50c -	if_equal $1f, UnknownScript_0xbe512 -	if_equal $24, UnknownScript_0xbe518 +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe4ee +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe4f4 +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe4fa +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe500 +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe506 +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe50c +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe512 +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe518  UnknownScript_0xbe4ee:  	farwritetext UnknownText_0x1b5004 @@ -2918,24 +2969,24 @@ UnknownScript_0xbe518:  	end  UnknownScript_0xbe51e: -	checkcode $17 -	if_equal $5, UnknownScript_0xbe564 -	if_equal $b, UnknownScript_0xbe570 -	if_equal $d, UnknownScript_0xbe576 -	if_equal $f, UnknownScript_0xbe57c -	if_equal $10, UnknownScript_0xbe582 -	if_equal $11, UnknownScript_0xbe588 -	if_equal $13, UnknownScript_0xbe58e -	if_equal $14, UnknownScript_0xbe594 -	if_equal $17, UnknownScript_0xbe59a -	if_equal $18, UnknownScript_0xbe5a0 -	if_equal $1b, UnknownScript_0xbe5a6 -	if_equal $1c, UnknownScript_0xbe5ac -	if_equal $1d, UnknownScript_0xbe5b2 -	if_equal $1e, UnknownScript_0xbe5b8 -	if_equal $20, UnknownScript_0xbe5be -	if_equal $21, UnknownScript_0xbe5c4 -	if_equal $23, UnknownScript_0xbe5ca +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK,       UnknownScript_0xbe564 +	if_equal PHONE_COOLTRAINERM_GAVEN,   UnknownScript_0xbe570 +	if_equal PHONE_BIRDKEEPER_JOSE,      UnknownScript_0xbe576 +	if_equal PHONE_YOUNGSTER_JOEY,       UnknownScript_0xbe57c +	if_equal PHONE_BUG_CATCHER_WADE,     UnknownScript_0xbe582 +	if_equal PHONE_FISHER_RALPH,         UnknownScript_0xbe588 +	if_equal PHONE_HIKER_ANTHONY,        UnknownScript_0xbe58e +	if_equal PHONE_CAMPER_TODD,          UnknownScript_0xbe594 +	if_equal PHONE_BUG_CATCHER_ARNIE,    UnknownScript_0xbe59a +	if_equal PHONE_SCHOOLBOY_ALAN,       UnknownScript_0xbe5a0 +	if_equal PHONE_SCHOOLBOY_CHAD,       UnknownScript_0xbe5a6 +	if_equal PHONE_POKEFANM_DEREK,       UnknownScript_0xbe5ac +	if_equal PHONE_FISHER_TULLY,         UnknownScript_0xbe5b2 +	if_equal PHONE_POKEMANIAC_BRENT,     UnknownScript_0xbe5b8 +	if_equal PHONE_BIRDKEEPER_VANCE,     UnknownScript_0xbe5be +	if_equal PHONE_FISHER_WILTON,        UnknownScript_0xbe5c4 +	if_equal PHONE_HIKER_PARRY,          UnknownScript_0xbe5ca  UnknownScript_0xbe564:  	farwritetext UnknownText_0x1b4ecd @@ -3028,15 +3079,15 @@ UnknownScript_0xbe5ca:  	end  UnknownScript_0xbe5d0: -	checkcode $17 -	if_equal $6, UnknownScript_0xbe5f2 -	if_equal $c, UnknownScript_0xbe5f8 -	if_equal $e, UnknownScript_0xbe5fe -	if_equal $12, UnknownScript_0xbe604 -	if_equal $15, UnknownScript_0xbe60a -	if_equal $1a, UnknownScript_0xbe610 -	if_equal $1f, UnknownScript_0xbe616 -	if_equal $24, UnknownScript_0xbe61c +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY,       UnknownScript_0xbe5f2 +	if_equal PHONE_COOLTRAINERF_BETH,     UnknownScript_0xbe5f8 +	if_equal PHONE_COOLTRAINERF_REENA,    UnknownScript_0xbe5fe +	if_equal PHONE_PICNICKER_LIZ,         UnknownScript_0xbe604 +	if_equal PHONE_PICNICKER_GINA,        UnknownScript_0xbe60a +	if_equal PHONE_LASS_DANA,             UnknownScript_0xbe610 +	if_equal PHONE_PICNICKER_TIFFANY,     UnknownScript_0xbe616 +	if_equal PHONE_PICNICKER_ERIN,        UnknownScript_0xbe61c  UnknownScript_0xbe5f2:  	farwritetext UnknownText_0x1b502b @@ -3104,27 +3155,27 @@ String_be65b: db "Sister@"  String_be662: db "Brother@" -UnknownScript_0xbe66a:: ; 0xbe66a +TalkToTrainerScript:: ; 0xbe66a  	faceplayer  	trainerstatus $2 -	iftrue UnknownScript_0xbe698 +	iftrue AlreadyBeatenTrainerScript  	loadtrainerdata  	playrammusic -	jump UnknownScript_0xbe68a +	jump StartBattleWithMapTrainerScript  ; 0xbe675 -UnknownScript_0xbe675:: ; 0xbe675 +SeenByTrainerScript:: ; 0xbe675  	loadtrainerdata  	playrammusic -	showemote $0, $fe, 30 +	showemote EMOTE_SHOCK, -2, 30  	callasm Function831e  	applymovement2 MovementBuffer -	writepersonxy $fe -	faceperson $0, $fe -	jump UnknownScript_0xbe68a +	writepersonxy -2 +	faceperson $0, -2 +	jump StartBattleWithMapTrainerScript  ; 0xbe68a -UnknownScript_0xbe68a: ; 0xbe68a +StartBattleWithMapTrainerScript: ; 0xbe68a  	loadfont  	trainertext $0  	closetext @@ -3132,9 +3183,9 @@ UnknownScript_0xbe68a: ; 0xbe68a  	loadtrainerdata  	startbattle  	returnafterbattle -	trainerstatus $1 -	loadvar wd04d, $ff +	trainerstatus 1 +	loadvar wd04d, -1 -UnknownScript_0xbe698: +AlreadyBeatenTrainerScript:  	scripttalkafter  ; 0xbe699 diff --git a/engine/pokedex.asm b/engine/pokedex.asm index 5bf01fb8e..25b291ffb 100644 --- a/engine/pokedex.asm +++ b/engine/pokedex.asm @@ -899,10 +899,9 @@ asm_4065d: ; 4065d (10:465d)  	ld e, a  	ld d, 0  	ld hl, Unknown_40a3e + 2 +rept 4  	add hl, de -	add hl, de -	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a @@ -1339,10 +1338,9 @@ Function409f1: ; 409f1 (10:49f1)  	jr z, .asm_40a39  	push af  	ld hl, Unknown_40a3e +rept 4  	add hl, de -	add hl, de -	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a @@ -1883,15 +1881,9 @@ Function40fcd: ; 40fcd (10:4fcd)  	ld e, a  	ld d, 0  	ld hl, Strings_40fe4 +rept 9  	add hl, de -	add hl, de -	add hl, de -	add hl, de -	add hl, de -	add hl, de -	add hl, de -	add hl, de -	add hl, de +endr  	ld e, l  	ld d, h  	pop hl @@ -2406,8 +2398,9 @@ Function41427: ; 41427  Function41432: ; 41432  	ld e, a  	ld d, 0 +rept 2  	add hl, de -	add hl, de +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a diff --git a/engine/predef.asm b/engine/predef.asm new file mode 100644 index 000000000..c886e4a84 --- /dev/null +++ b/engine/predef.asm @@ -0,0 +1,108 @@ +GetPredefPointer:: ; 854b +; Return the bank and address of PredefID in a and PredefAddress. + +; Save hl for later (back in Predef) +	ld a, h +	ld [PredefTemp], a +	ld a, l +	ld [PredefTemp + 1], a + +	push de +	ld a, [PredefID] +	ld e, a +	ld d, 0 +	ld hl, PredefPointers +rept 3 +	add hl,de +endr +	pop de + +	ld a, [hli] +	ld [PredefAddress + 1], a +	ld a, [hli] +	ld [PredefAddress], a +	ld a, [hl] + +	ret +; 856b + +PredefPointers:: ; 856b +; $4b Predef pointers +; address, bank + +	add_predef LearnMove ; $0 +	add_predef Predef1 +	add_predef HealParty +	add_predef FlagPredef +	add_predef Functionc699 +	add_predef FillPP +	add_predef Functiond88c +	add_predef Functionda96 +	add_predef Functiondb3f ; $8 +	add_predef Functionde6e +	add_predef GiveEgg +	add_predef Functionc6e0 +	add_predef Functione167 +	add_predef Functione17b +	add_predef CanLearnTMHMMove +	add_predef GetTMHMMove +	add_predef Function28eef ; $ 10 +	add_predef PrintMoveDesc +	add_predef UpdatePlayerHUD +	add_predef FillBox +	add_predef Function3d873 +	add_predef UpdateEnemyHUD +	add_predef StartBattle +	add_predef FillInExpBar +	add_predef Function3f43d ; $18 +	add_predef Function3f47c +	add_predef LearnLevelMoves +	add_predef FillMoves +	add_predef Function421e6 +	add_predef Function28f63 +	add_predef Function28f24 +	add_predef Function5084a +	add_predef ListMoves ; $20 +	add_predef Function50d2e +	add_predef Function50cdb +	add_predef Function50c50 +	add_predef GetGender +	add_predef StatsScreenInit +	add_predef DrawPlayerHP +	add_predef DrawEnemyHP +	add_predef PrintTempMonStats ; $28 +	add_predef GetTypeName +	add_predef PrintMoveType +	add_predef PrintType +	add_predef PrintMonTypes +	add_predef GetUnownLetter +	add_predef Functioncbcdd +	add_predef Predef2F +	add_predef Function9853 ; $30 +	add_predef Function864c +	add_predef Function91d11 +	add_predef CheckContestMon +	add_predef Function8c20f +	add_predef Function8c000 +	add_predef Function8c000_2 +	add_predef PlayBattleAnim +	add_predef Predef38 ; $38 +	add_predef Predef39 +	add_predef Functionfd1d0 +	add_predef PartyMonItemName +	add_predef GetFrontpic +	add_predef GetBackpic +	add_predef Function5108b +	add_predef GetTrainerPic +	add_predef DecompressPredef ; $40 +	add_predef Function347d3 +	add_predef ConvertMon_1to2 +	add_predef Functionfb877 +	add_predef Functiond0000 +	add_predef Function50d0a +	add_predef Functiond00a3 +	add_predef Functiond008e +	add_predef Functiond0669 ; $48 +	add_predef Functiond066e +	dbw $ff, Function2d43 ; ???? +; 864c diff --git a/engine/radio.asm b/engine/radio.asm new file mode 100644 index 000000000..35117668f --- /dev/null +++ b/engine/radio.asm @@ -0,0 +1,2115 @@ +PlayRadioShow: ; b8612
 +	ld a, [wd002]
 +	cp 8
 +	jr nc, .ok
 +	ld a, [StatusFlags2]
 +	bit 0, a
 +	jr z, .ok
 +	call IsInJohto
 +	and a
 +	jr nz, .ok
 +	ld a, 7
 +	ld [wd002], a
 +.ok
 +	ld a, [wd002]
 +	ld e, a
 +	ld d, 0
 +	ld hl, RadioJumptable
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	jp [hl]
 +
 +RadioJumptable: ; b863a (2e:463a)
 +	dw MaryOakShow1
 +	dw MaryOakShow2
 +	dw BenMonMusic1
 +	dw DJReed1
 +	dw Functionb8f12
 +	dw Functionb8cbf
 +	dw Functionb8b50
 +	dw Functionb8e72
 +	dw Functionb8ef7
 +	dw Functionb8f00
 +	dw Functionb8f09
 +	dw Functionb8752
 +	dw Functionb875a
 +	dw Functionb8762
 +	dw Functionb8810
 +	dw Functionb8818
 +	dw Functionb883e
 +	dw Functionb8854
 +	dw Functionb88d9
 +	dw Functionb8a6c
 +	dw Functionb8aa4
 +	dw Functionb8aac
 +	dw Functionb8ab4
 +	dw Functionb8b40
 +	dw Functionb8b48
 +	dw Functionb8b63
 +	dw Functionb8b6b
 +	dw Functionb8b7d
 +	dw Functionb8b8f
 +	dw Functionb8b5b
 +	dw Functionb8bf5
 +	dw Functionb8bfd
 +	dw Functionb8c05
 +	dw Functionb8c0d
 +	dw Functionb8c15
 +	dw Functionb8c1d
 +	dw Functionb8c25
 +	dw Functionb8c3e
 +	dw Functionb8c46
 +	dw Functionb8c4e
 +	dw Functionb8c56
 +	dw Functionb8c5e
 +	dw Functionb8c6e
 +	dw Functionb8c76
 +	dw Functionb8cca
 +	dw Functionb8cd2
 +	dw Functionb8cf2
 +	dw Functionb8d56
 +	dw Functionb8ded
 +	dw Functionb8e28
 +	dw Functionb8e7d
 +	dw Functionb8e85
 +	dw Functionb8e8d
 +	dw Functionb8e95
 +	dw Functionb8e9d
 +	dw Functionb8ea5
 +	dw Functionb8ead
 +	dw Functionb8eb5
 +	dw Functionb8ebd
 +	dw Functionb896e
 +	dw Functionb8994
 +	dw Functionb89a9
 +	dw Functionb89c6
 +	dw Functionb89d7
 +	dw Functionb8f3f
 +	dw Functionb8f47
 +	dw Functionb8f55
 +	dw Functionb909c
 +	dw Functionb90a4
 +	dw Functionb90ac
 +	dw Functionb90c5
 +	dw Functionb90d2
 +	dw Functionb90da
 +	dw Functionb90e2
 +	dw Functionb90ea
 +	dw Functionb90f2
 +	dw Functionb90fa
 +	dw Functionb9102
 +	dw Functionb910a
 +	dw Functionb9112
 +	dw Functionb911a
 +	dw Functionb9122
 +	dw Functionb912a
 +	dw Functionb9152
 +	dw Functionb8728
 +	dw Functionb8abc
 +	dw Functionb8ac4
 +	dw Functionb8acc
 +
 +
 +Functionb86ea: ; b86ea (2e:46ea)
 +	ld [wd003], a
 +	ld hl, wd00c
 +	ld a, [wd005]
 +	cp $2
 +	jr nc, .asm_b870a
 +	inc hl
 +	ld [hl], $0
 +	inc a
 +	ld [wd005], a
 +	cp $2
 +	jr nz, .asm_b870a
 +	bccoord 1, 16
 +	call Function13e5
 +	jr .asm_b870d
 +.asm_b870a
 +	call PrintTextBoxText
 +.asm_b870d
 +	ld a, $54
 +	ld [wd002], a
 +	ld a, $64
 +	ld [wd004], a
 +	ret
 +; b8718 (2e:4718)
 +
 +Functionb8718: ; b8718
 +	push hl
 +	ld b, $28
 +.asm_b871b
 +	ld a, [hl]
 +	cp $e8
 +	jr nz, .asm_b8722
 +	ld [hl], $7f
 +
 +.asm_b8722
 +	inc hl
 +	dec b
 +	jr nz, .asm_b871b
 +	pop hl
 +	ret
 +; b8728
 +
 +Functionb8728: ; b8728 (2e:4728)
 +	ld hl, wd004
 +	ld a, [hl]
 +	and a
 +	jr z, .asm_b8731
 +	dec [hl]
 +	ret
 +.asm_b8731
 +	ld a, [wd003]
 +	ld [wd002], a
 +	ld a, [wd005]
 +	cp $1
 +	call nz, Functionb8a0b
 +	jp Functionb8a17
 +
 +MaryOakShow1: ; b8742 (2e:4742)
 +	ld a, $5
 +	ld [wd006], a
 +	call Functionb91eb
 +	ld hl, UnknownText_0xb8820
 +	ld a, $b
 +	jp NextRadioLine
 +
 +Functionb8752: ; b8752 (2e:4752)
 +	ld hl, UnknownText_0xb8825
 +	ld a, $c
 +	jp NextRadioLine
 +
 +Functionb875a: ; b875a (2e:475a)
 +	ld hl, UnknownText_0xb882a
 +	ld a, $d
 +	jp NextRadioLine
 +
 +Functionb8762: ; b8762 (2e:4762)
 +	call Random
 +	and $1f
 +	cp $f
 +	jr nc, Functionb8762
 +	ld hl, Unknown_b87f2
 +	ld c, a
 +	ld b, 0
 +rept 2
 +	add hl, bc
 +endr
 +	ld b, [hl]
 +	inc hl
 +	ld c, [hl]
 +	push bc
 +
 +	ld hl, WildMons1
 +.loop
 +	ld a, BANK(WildMons1)
 +	call GetFarByte
 +	cp $ff
 +	jr z, .done2
 +	inc hl
 +	cp b
 +	jr nz, .next
 +	ld a, BANK(WildMons1)
 +	call GetFarByte
 +	cp c
 +	jr z, .done
 +.next
 +	dec hl
 +	ld de, $2f
 +	add hl, de
 +	jr .loop
 +
 +.done
 +rept 4
 +	inc hl
 +endr
 +
 +.not3
 +	call Random
 +	and 3
 +	cp 3
 +	jr z, .not3
 +
 +	ld bc, $e
 +	call AddNTimes
 +.loop2
 +	call Random
 +	and 7
 +	cp 2
 +	jr c, .loop2
 +	cp 5
 +	jr nc, .loop2
 +	ld e, a
 +	ld d, 0
 +rept 2
 +	add hl, de
 +endr
 +	inc hl
 +	ld a, BANK(WildMons1)
 +	call GetFarByte
 +	ld [wd265], a
 +	ld [CurPartySpecies], a
 +	call GetPokemonName
 +	ld hl, StringBuffer1
 +	ld de, wd050
 +	ld bc, $b
 +	call CopyBytes
 +
 +	pop bc
 +	call GetWorldMapLocation
 +	ld e, a
 +	callba GetLandmarkName
 +	ld hl, UnknownText_0xb882f
 +	call Functionb91dc
 +	ld a, $e
 +	jp Functionb86ea
 +
 +.done2
 +	pop bc
 +	ld a, $0
 +	jp Functionb86ea
 +; b87f2 (2e:47f2)
 +
 +Unknown_b87f2: ; b87f2
 +	map ROUTE_29
 +	map ROUTE_46
 +	map ROUTE_30
 +	map ROUTE_32
 +	map ROUTE_34
 +	map ROUTE_35
 +	map ROUTE_37
 +	map ROUTE_38
 +	map ROUTE_39
 +	map ROUTE_42
 +	map ROUTE_43
 +	map ROUTE_44
 +	map ROUTE_45
 +	map ROUTE_36
 +	map ROUTE_31
 +; b8810
 +
 +Functionb8810: ; b8810 (2e:4810)
 +	ld hl, UnknownText_0xb8834
 +	ld a, $f
 +	jp NextRadioLine
 +
 +Functionb8818: ; b8818 (2e:4818)
 +	ld hl, UnknownText_0xb8839
 +	ld a, $10
 +	jp NextRadioLine
 +; b8820 (2e:4820)
 +
 +UnknownText_0xb8820: ; 0xb8820
 +	; MARY: PROF.OAK'S
 +	text_jump UnknownText_0x1bc81a
 +	db "@"
 +; 0xb8825
 +
 +UnknownText_0xb8825: ; 0xb8825
 +	; #MON TALK!
 +	text_jump UnknownText_0x1bc82d
 +	db "@"
 +; 0xb882a
 +
 +UnknownText_0xb882a: ; 0xb882a
 +	; With me, MARY!
 +	text_jump UnknownText_0x1bc83a
 +	db "@"
 +; 0xb882f
 +
 +UnknownText_0xb882f: ; 0xb882f
 +	; OAK: @ @
 +	text_jump UnknownText_0x1bc84b
 +	db "@"
 +; 0xb8834
 +
 +UnknownText_0xb8834: ; 0xb8834
 +	; may be seen around
 +	text_jump UnknownText_0x1bc858
 +	db "@"
 +; 0xb8839
 +
 +UnknownText_0xb8839: ; 0xb8839
 +	; @ .
 +	text_jump UnknownText_0x1bc86d
 +	db "@"
 +; 0xb883e
 +
 +Functionb883e: ; b883e (2e:483e)
 +	ld a, [CurPartySpecies]
 +	ld [wd265], a
 +	call GetPokemonName
 +	ld hl, UnknownText_0xb884f
 +	ld a, $11
 +	jp NextRadioLine
 +; b884f (2e:484f)
 +
 +UnknownText_0xb884f: ; 0xb884f
 +	; MARY: @ 's
 +	text_jump UnknownText_0x1bc876
 +	db "@"
 +; 0xb8854
 +
 +Functionb8854: ; b8854 (2e:4854)
 +	call Random
 +	and $f
 +	ld e, a
 +	ld d, 0
 +	ld hl, Unknown_b8869
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	ld a, $12
 +	jp NextRadioLine
 +; b8869 (2e:4869)
 +
 +Unknown_b8869: ; b8869
 +	dw UnknownText_0xb8889
 +	dw UnknownText_0xb888e
 +	dw UnknownText_0xb8893
 +	dw UnknownText_0xb8898
 +	dw UnknownText_0xb889d
 +	dw UnknownText_0xb88a2
 +	dw UnknownText_0xb88a7
 +	dw UnknownText_0xb88ac
 +	dw UnknownText_0xb88b1
 +	dw UnknownText_0xb88b6
 +	dw UnknownText_0xb88bb
 +	dw UnknownText_0xb88c0
 +	dw UnknownText_0xb88c5
 +	dw UnknownText_0xb88ca
 +	dw UnknownText_0xb88cf
 +	dw UnknownText_0xb88d4
 +; b8889
 +
 +UnknownText_0xb8889: ; 0xb8889
 +	; sweet and adorably
 +	text_jump UnknownText_0x1bc885
 +	db "@"
 +; 0xb888e
 +
 +UnknownText_0xb888e: ; 0xb888e
 +	; wiggly and slickly
 +	text_jump UnknownText_0x1bc89a
 +	db "@"
 +; 0xb8893
 +
 +UnknownText_0xb8893: ; 0xb8893
 +	; aptly named and
 +	text_jump UnknownText_0x1bc8af
 +	db "@"
 +; 0xb8898
 +
 +UnknownText_0xb8898: ; 0xb8898
 +	; undeniably kind of
 +	text_jump UnknownText_0x1bc8c1
 +	db "@"
 +; 0xb889d
 +
 +UnknownText_0xb889d: ; 0xb889d
 +	; so, so unbearably
 +	text_jump UnknownText_0x1bc8d6
 +	db "@"
 +; 0xb88a2
 +
 +UnknownText_0xb88a2: ; 0xb88a2
 +	; wow, impressively
 +	text_jump UnknownText_0x1bc8ea
 +	db "@"
 +; 0xb88a7
 +
 +UnknownText_0xb88a7: ; 0xb88a7
 +	; almost poisonously
 +	text_jump UnknownText_0x1bc8fe
 +	db "@"
 +; 0xb88ac
 +
 +UnknownText_0xb88ac: ; 0xb88ac
 +	; ooh, so sensually
 +	text_jump UnknownText_0x1bc913
 +	db "@"
 +; 0xb88b1
 +
 +UnknownText_0xb88b1: ; 0xb88b1
 +	; so mischievously
 +	text_jump UnknownText_0x1bc927
 +	db "@"
 +; 0xb88b6
 +
 +UnknownText_0xb88b6: ; 0xb88b6
 +	; so very topically
 +	text_jump UnknownText_0x1bc93a
 +	db "@"
 +; 0xb88bb
 +
 +UnknownText_0xb88bb: ; 0xb88bb
 +	; sure addictively
 +	text_jump UnknownText_0x1bc94e
 +	db "@"
 +; 0xb88c0
 +
 +UnknownText_0xb88c0: ; 0xb88c0
 +	; looks in water is
 +	text_jump UnknownText_0x1bc961
 +	db "@"
 +; 0xb88c5
 +
 +UnknownText_0xb88c5: ; 0xb88c5
 +	; evolution must be
 +	text_jump UnknownText_0x1bc975
 +	db "@"
 +; 0xb88ca
 +
 +UnknownText_0xb88ca: ; 0xb88ca
 +	; provocatively
 +	text_jump UnknownText_0x1bc989
 +	db "@"
 +; 0xb88cf
 +
 +UnknownText_0xb88cf: ; 0xb88cf
 +	; so flipped out and
 +	text_jump UnknownText_0x1bc999
 +	db "@"
 +; 0xb88d4
 +
 +UnknownText_0xb88d4: ; 0xb88d4
 +	; heart-meltingly
 +	text_jump UnknownText_0x1bc9ae
 +	db "@"
 +; 0xb88d9
 +
 +Functionb88d9: ; b88d9 (2e:48d9)
 +	call Random
 +	and $f
 +	ld e, a
 +	ld d, 0
 +	ld hl, Unknown_b88fe
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	ld a, [wd006]
 +	dec a
 +	ld [wd006], a
 +	ld a, $d
 +	jr nz, .asm_b88fb
 +	ld a, $5
 +	ld [wd006], a
 +	ld a, $3b
 +.asm_b88fb
 +	jp NextRadioLine
 +; b88fe (2e:48fe)
 +
 +Unknown_b88fe: ; b88fe
 +	dw UnknownText_0xb891e
 +	dw UnknownText_0xb8923
 +	dw UnknownText_0xb8928
 +	dw UnknownText_0xb892d
 +	dw UnknownText_0xb8932
 +	dw UnknownText_0xb8937
 +	dw UnknownText_0xb893c
 +	dw UnknownText_0xb8941
 +	dw UnknownText_0xb8946
 +	dw UnknownText_0xb894b
 +	dw UnknownText_0xb8950
 +	dw UnknownText_0xb8955
 +	dw UnknownText_0xb895a
 +	dw UnknownText_0xb895f
 +	dw UnknownText_0xb8964
 +	dw UnknownText_0xb8969
 +; b891e
 +
 +UnknownText_0xb891e: ; 0xb891e
 +	; cute.
 +	text_jump UnknownText_0x1bc9c0
 +	db "@"
 +; 0xb8923
 +
 +UnknownText_0xb8923: ; 0xb8923
 +	; weird.
 +	text_jump UnknownText_0x1bc9c8
 +	db "@"
 +; 0xb8928
 +
 +UnknownText_0xb8928: ; 0xb8928
 +	; pleasant.
 +	text_jump UnknownText_0x1bc9d1
 +	db "@"
 +; 0xb892d
 +
 +UnknownText_0xb892d: ; 0xb892d
 +	; bold, sort of.
 +	text_jump UnknownText_0x1bc9dd
 +	db "@"
 +; 0xb8932
 +
 +UnknownText_0xb8932: ; 0xb8932
 +	; frightening.
 +	text_jump UnknownText_0x1bc9ee
 +	db "@"
 +; 0xb8937
 +
 +UnknownText_0xb8937: ; 0xb8937
 +	; suave & debonair!
 +	text_jump UnknownText_0x1bc9fd
 +	db "@"
 +; 0xb893c
 +
 +UnknownText_0xb893c: ; 0xb893c
 +	; powerful.
 +	text_jump UnknownText_0x1bca11
 +	db "@"
 +; 0xb8941
 +
 +UnknownText_0xb8941: ; 0xb8941
 +	; exciting.
 +	text_jump UnknownText_0x1bca1d
 +	db "@"
 +; 0xb8946
 +
 +UnknownText_0xb8946: ; 0xb8946
 +	; groovy!
 +	text_jump UnknownText_0x1bca29
 +	db "@"
 +; 0xb894b
 +
 +UnknownText_0xb894b: ; 0xb894b
 +	; inspiring.
 +	text_jump UnknownText_0x1bca33
 +	db "@"
 +; 0xb8950
 +
 +UnknownText_0xb8950: ; 0xb8950
 +	; friendly.
 +	text_jump UnknownText_0x1bca40
 +	db "@"
 +; 0xb8955
 +
 +UnknownText_0xb8955: ; 0xb8955
 +	; hot, hot, hot!
 +	text_jump UnknownText_0x1bca4c
 +	db "@"
 +; 0xb895a
 +
 +UnknownText_0xb895a: ; 0xb895a
 +	; stimulating.
 +	text_jump UnknownText_0x1bca5d
 +	db "@"
 +; 0xb895f
 +
 +UnknownText_0xb895f: ; 0xb895f
 +	; guarded.
 +	text_jump UnknownText_0x1bca6c
 +	db "@"
 +; 0xb8964
 +
 +UnknownText_0xb8964: ; 0xb8964
 +	; lovely.
 +	text_jump UnknownText_0x1bca77
 +	db "@"
 +; 0xb8969
 +
 +UnknownText_0xb8969: ; 0xb8969
 +	; speedy.
 +	text_jump UnknownText_0x1bca81
 +	db "@"
 +; 0xb896e
 +
 +Functionb896e: ; b896e (2e:496e)
 +	callba Function91868
 +	ld hl, UnknownText_0xb8993
 +	call PrintText
 +	call WaitBGMap
 +	ld hl, UnknownText_0xb898e
 +	call PrintText
 +	ld a, $3c
 +	ld [wd002], a
 +	ld a, $64
 +	ld [wd004], a
 +	ret
 +; b898e (2e:498e)
 +
 +UnknownText_0xb898e: ; 0xb898e
 +	; #MON
 +	text_jump UnknownText_0x1bca8b
 +	db "@"
 +; 0xb8993
 +
 +UnknownText_0xb8993: ; 0xb8993
 +	db "@"
 +; 0xb8994
 +
 +Functionb8994: ; b8994 (2e:4994)
 +	ld hl, wd004
 +	dec [hl]
 +	ret nz
 +	hlcoord 9, 14
 +	ld de, String_b89a4
 +	ld a, $3d
 +	jp Functionb8a00
 +; b89a4 (2e:49a4)
 +
 +String_b89a4:
 +	db "#MON@"
 +; b89a9
 +
 +Functionb89a9: ; b89a9 (2e:49a9)
 +	ld hl, wd004
 +	dec [hl]
 +	ret nz
 +	hlcoord 1, 16
 +	ld de, String_b89b9
 +	ld a, $3e
 +	jp Functionb8a00
 +; b89b9 (2e:49b9)
 +
 +String_b89b9:
 +	db "#MON Channel@"
 +; b89c6
 +
 +Functionb89c6: ; b89c6 (2e:49c6)
 +	ld hl, wd004
 +	dec [hl]
 +	ret nz
 +	hlcoord 12, 16
 +	ld de, String_b89d6
 +	ld a, $3f
 +	jp Functionb8a00
 +; b89d6 (2e:49d6)
 +
 +String_b89d6:
 +	db "@"
 +; b89d7
 +
 +Functionb89d7: ; b89d7 (2e:49d7)
 +	ld hl, wd004
 +	dec [hl]
 +	ret nz
 +	ld de, $1d
 +	callab Function91854
 +	ld hl, UnknownText_0xb89ff
 +	call PrintText
 +	ld a, $d
 +	ld [wd003], a
 +	xor a
 +	ld [wd005], a
 +	ld a, $54
 +	ld [wd002], a
 +	ld a, $a
 +	ld [wd004], a
 +	ret
 +; b89ff (2e:49ff)
 +
 +UnknownText_0xb89ff: ; 0xb89ff
 +	db "@"
 +; 0xb8a00
 +
 +Functionb8a00: ; b8a00 (2e:4a00)
 +	ld [wd002], a
 +	ld a, $64
 +	ld [wd004], a
 +	jp PlaceString
 +
 +Functionb8a0b: ; b8a0b (2e:4a0b)
 +	hlcoord 0, 15
 +	decoord 0, 13
 +	ld bc, $28
 +	jp CopyBytes
 +
 +Functionb8a17: ; b8a17 (2e:4a17)
 +	hlcoord 1, 15
 +	ld bc, $12
 +	ld a, $7f
 +	call ByteFill
 +	hlcoord 1, 16
 +	ld bc, $12
 +	ld a, $7f
 +	jp ByteFill
 +
 +Functionb8a2d: ; b8a2d (2e:4a2d)
 +	push hl
 +	push de
 +	ld a, [CurPartySpecies]
 +	dec a
 +	rlca
 +	rlca
 +	and 3
 +	ld hl, .pokedexbanks
 +	ld d, 0
 +	ld e, a
 +	add hl, de
 +	ld a, [hl]
 +	pop de
 +	pop hl
 +	ret
 +; b8a42 (2e:4a42)
 +
 +.pokedexbanks
 +	db BANK(PokedexEntries1)
 +	db BANK(PokedexEntries2)
 +	db BANK(PokedexEntries3)
 +	db BANK(PokedexEntries4)
 +; b8a46
 +
 +MaryOakShow2: ; b8a46 (2e:4a46)
 +	call Functionb91eb
 +.asm_b8a49
 +	call Random
 +	cp CELEBI
 +	jr nc, .asm_b8a49
 +	ld c, a
 +	push bc
 +	ld a, c
 +	call CheckCaughtMon
 +	pop bc
 +	jr z, .asm_b8a49
 +	inc c
 +	ld a, c
 +	ld [CurPartySpecies], a
 +	ld [wd265], a
 +	call GetPokemonName
 +	ld hl, UnknownText_0xb8b30
 +	ld a, $13
 +	jp NextRadioLine
 +
 +Functionb8a6c: ; b8a6c (2e:4a6c)
 +	ld a, [CurPartySpecies]
 +	dec a
 +	ld hl, PokedexDataPointerTable
 +	ld c, a
 +	ld b, 0
 +rept 2
 +	add hl, bc
 +endr
 +	ld a, BANK(PokedexDataPointerTable)
 +	call GetFarHalfword
 +	call Functionb8a2d
 +	push af
 +	push hl
 +	call Functionb8af3
 +	dec hl
 +	ld [hl], $57
 +	ld hl, wd26b
 +	call Functionb91dc
 +	pop hl
 +	pop af
 +	call Functionb8b11
 +rept 4
 +	inc hl
 +endr
 +	ld a, l
 +	ld [wd26b], a
 +	ld a, h
 +	ld [wd26c], a
 +	ld a, $14
 +	jp Functionb86ea
 +
 +Functionb8aa4: ; b8aa4 (2e:4aa4)
 +	call Functionb8ad4
 +	ld a, $15
 +	jp Functionb86ea
 +
 +Functionb8aac: ; b8aac (2e:4aac)
 +	call Functionb8ad4
 +	ld a, $16
 +	jp Functionb86ea
 +
 +Functionb8ab4: ; b8ab4 (2e:4ab4)
 +	call Functionb8ad4
 +	ld a, $55
 +	jp Functionb86ea
 +
 +Functionb8abc: ; b8abc (2e:4abc)
 +	call Functionb8ad4
 +	ld a, $56
 +	jp Functionb86ea
 +
 +Functionb8ac4: ; b8ac4 (2e:4ac4)
 +	call Functionb8ad4
 +	ld a, $57
 +	jp Functionb86ea
 +
 +Functionb8acc: ; b8acc (2e:4acc)
 +	call Functionb8ad4
 +	ld a, $1
 +	jp Functionb86ea
 +
 +Functionb8ad4: ; b8ad4 (2e:4ad4)
 +	ld a, [wd26b]
 +	ld l, a
 +	ld a, [wd26c]
 +	ld h, a
 +	ld a, [wd26d]
 +	push af
 +	push hl
 +	call Functionb8af3
 +	dec hl
 +	ld [hl], $57
 +	ld hl, wd26b
 +	call Functionb91dc
 +	pop hl
 +	pop af
 +	call Functionb8b11
 +	ret
 +
 +Functionb8af3: ; b8af3 (2e:4af3)
 +	ld de, wd26d
 +	ld bc, $13
 +	call FarCopyBytes
 +	ld hl, wd26b
 +	ld [hl], $0
 +	inc hl
 +	ld [hl], $4f
 +	inc hl
 +.asm_b8b05
 +	ld a, [hli]
 +	cp $50
 +	ret z
 +	cp $4e
 +	ret z
 +	cp $5f
 +	ret z
 +	jr .asm_b8b05
 +
 +Functionb8b11: ; b8b11 (2e:4b11)
 +	ld d, a
 +.asm_b8b12
 +	ld a, d
 +	call GetFarByte
 +	inc hl
 +	cp $50
 +	jr z, .asm_b8b23
 +	cp $4e
 +	jr z, .asm_b8b23
 +	cp $5f
 +	jr nz, .asm_b8b12
 +.asm_b8b23
 +	ld a, l
 +	ld [wd26b], a
 +	ld a, h
 +	ld [wd26c], a
 +	ld a, d
 +	ld [wd26d], a
 +	ret
 +; b8b30 (2e:4b30)
 +
 +UnknownText_0xb8b30: ; 0xb8b30
 +	; @ @
 +	text_jump UnknownText_0x1bca91
 +	db "@"
 +; 0xb8b35
 +
 +BenMonMusic1: ; b8b35 (2e:4b35)
 +	call Functionb8b90
 +	ld hl, UnknownText_0xb8baa
 +	ld a, $17
 +	jp NextRadioLine
 +
 +Functionb8b40: ; b8b40 (2e:4b40)
 +	ld hl, UnknownText_0xb8baf
 +	ld a, $18
 +	jp NextRadioLine
 +
 +Functionb8b48: ; b8b48 (2e:4b48)
 +	ld hl, UnknownText_0xb8bb4
 +	ld a, $19
 +	jp NextRadioLine
 +
 +Functionb8b50: ; b8b50 (2e:4b50)
 +	call Functionb8b90
 +	ld hl, UnknownText_0xb8bb9
 +	ld a, $1d
 +	jp NextRadioLine
 +
 +Functionb8b5b: ; b8b5b (2e:4b5b)
 +	ld hl, UnknownText_0xb8bbe
 +	ld a, $19
 +	jp NextRadioLine
 +
 +Functionb8b63: ; b8b63 (2e:4b63)
 +	ld hl, UnknownText_0xb8bc3
 +	ld a, $1a
 +	jp NextRadioLine
 +
 +Functionb8b6b: ; b8b6b (2e:4b6b)
 +	call GetWeekday
 +	and 1
 +	ld hl, UnknownText_0xb8bc8
 +	jr z, .asm_b8b78
 +	ld hl, UnknownText_0xb8bcd
 +.asm_b8b78
 +	ld a, $1b
 +	jp NextRadioLine
 +
 +Functionb8b7d: ; b8b7d (2e:4b7d)
 +	call GetWeekday
 +	and 1
 +	ld hl, UnknownText_0xb8bd2
 +	jr z, .asm_b8b8a
 +	ld hl, UnknownText_0xb8bd7
 +.asm_b8b8a
 +	ld a, $1c
 +	jp NextRadioLine
 +
 +Functionb8b8f: ; b8b8f (2e:4b8f)
 +	ret
 +
 +Functionb8b90: ; b8b90 (2e:4b90)
 +	call Function1052
 +	call PrintText
 +	ld de, MUSIC_POKEMON_MARCH
 +	call GetWeekday
 +	and 1
 +	jr z, .done
 +	ld de, MUSIC_POKEMON_LULLABY
 +.done
 +	callab Function91854
 +	ret
 +; b8baa (2e:4baa)
 +
 +UnknownText_0xb8baa: ; 0xb8baa
 +	; BEN: #MON MUSIC
 +	text_jump UnknownText_0x1bca99
 +	db "@"
 +; 0xb8baf
 +
 +UnknownText_0xb8baf: ; 0xb8baf
 +	; CHANNEL!
 +	text_jump UnknownText_0x1bcaab
 +	db "@"
 +; 0xb8bb4
 +
 +UnknownText_0xb8bb4: ; 0xb8bb4
 +	; It's me, DJ BEN!
 +	text_jump UnknownText_0x1bcab6
 +	db "@"
 +; 0xb8bb9
 +
 +UnknownText_0xb8bb9: ; 0xb8bb9
 +	; FERN: #MUSIC!
 +	text_jump UnknownText_0x1bcac8
 +	db "@"
 +; 0xb8bbe
 +
 +UnknownText_0xb8bbe: ; 0xb8bbe
 +	; With DJ FERN!
 +	text_jump UnknownText_0x1bcad8
 +	db "@"
 +; 0xb8bc3
 +
 +UnknownText_0xb8bc3: ; 0xb8bc3
 +	; Today's @ ,
 +	text_jump UnknownText_0x1bcae8
 +	db "@"
 +; 0xb8bc8
 +
 +UnknownText_0xb8bc8: ; 0xb8bc8
 +	; so let us jam to
 +	text_jump UnknownText_0x1bcaf6
 +	db "@"
 +; 0xb8bcd
 +
 +UnknownText_0xb8bcd: ; 0xb8bcd
 +	; so chill out to
 +	text_jump UnknownText_0x1bcb09
 +	db "@"
 +; 0xb8bd2
 +
 +UnknownText_0xb8bd2: ; 0xb8bd2
 +	; #MON March!
 +	text_jump UnknownText_0x1bcb1b
 +	db "@"
 +; 0xb8bd7
 +
 +UnknownText_0xb8bd7: ; 0xb8bd7
 +	; #MON Lullaby!
 +	text_jump UnknownText_0x1bcb29
 +	db "@"
 +; 0xb8bdc
 +
 +DJReed1: ; b8bdc (2e:4bdc)
 +	call Functionb91eb
 +	callab Functionc434
 +	jr nc, .asm_b8bed
 +	callab Functionc422
 +.asm_b8bed
 +	ld hl, UnknownText_0xb8c7e
 +	ld a, $1e
 +	jp NextRadioLine
 +
 +Functionb8bf5: ; b8bf5 (2e:4bf5)
 +	ld hl, UnknownText_0xb8c83
 +	ld a, $1f
 +	jp NextRadioLine
 +
 +Functionb8bfd: ; b8bfd (2e:4bfd)
 +	ld hl, UnknownText_0xb8c88
 +	ld a, $20
 +	jp NextRadioLine
 +
 +Functionb8c05: ; b8c05 (2e:4c05)
 +	ld hl, UnknownText_0xb8c8d
 +	ld a, $21
 +	jp NextRadioLine
 +
 +Functionb8c0d: ; b8c0d (2e:4c0d)
 +	ld hl, UnknownText_0xb8c92
 +	ld a, $22
 +	jp NextRadioLine
 +
 +Functionb8c15: ; b8c15 (2e:4c15)
 +	ld hl, UnknownText_0xb8c97
 +	ld a, $23
 +	jp NextRadioLine
 +
 +Functionb8c1d: ; b8c1d (2e:4c1d)
 +	ld hl, UnknownText_0xb8c9c
 +	ld a, $24
 +	jp NextRadioLine
 +
 +Functionb8c25: ; b8c25 (2e:4c25)
 +	ld hl, StringBuffer1
 +	ld de, wdc9f
 +	ld bc, $8205
 +	call PrintNum
 +	ld a, $50
 +	ld [StringBuffer1 + 5], a
 +	ld hl, UnknownText_0xb8ca1
 +	ld a, $25
 +	jp NextRadioLine
 +
 +Functionb8c3e: ; b8c3e (2e:4c3e)
 +	ld hl, UnknownText_0xb8ca6
 +	ld a, $26
 +	jp NextRadioLine
 +
 +Functionb8c46: ; b8c46 (2e:4c46)
 +	ld hl, UnknownText_0xb8c9c
 +	ld a, $27
 +	jp NextRadioLine
 +
 +Functionb8c4e: ; b8c4e (2e:4c4e)
 +	ld hl, UnknownText_0xb8ca1
 +	ld a, $28
 +	jp NextRadioLine
 +
 +Functionb8c56: ; b8c56 (2e:4c56)
 +	ld hl, UnknownText_0xb8cab
 +	ld a, $29
 +	jp NextRadioLine
 +
 +Functionb8c5e: ; b8c5e (2e:4c5e)
 +	ld hl, UnknownText_0xb8cb0
 +	call Random
 +	and a
 +	ld a, $3
 +	jr nz, .asm_b8c6b
 +	ld a, $2a
 +.asm_b8c6b
 +	jp NextRadioLine
 +
 +Functionb8c6e: ; b8c6e (2e:4c6e)
 +	ld hl, UnknownText_0xb8cb5
 +	ld a, $2b
 +	jp NextRadioLine
 +
 +Functionb8c76: ; b8c76 (2e:4c76)
 +	ld hl, UnknownText_0xb8cba
 +	ld a, $3
 +	jp NextRadioLine
 +; b8c7e (2e:4c7e)
 +
 +UnknownText_0xb8c7e: ; 0xb8c7e
 +	; REED: Yeehaw! How
 +	text_jump UnknownText_0x1bcb39
 +	db "@"
 +; 0xb8c83
 +
 +UnknownText_0xb8c83: ; 0xb8c83
 +	; y'all doin' now?
 +	text_jump UnknownText_0x1bcb4d
 +	db "@"
 +; 0xb8c88
 +
 +UnknownText_0xb8c88: ; 0xb8c88
 +	; Whether you're up
 +	text_jump UnknownText_0x1bcb60
 +	db "@"
 +; 0xb8c8d
 +
 +UnknownText_0xb8c8d: ; 0xb8c8d
 +	; or way down low,
 +	text_jump UnknownText_0x1bcb73
 +	db "@"
 +; 0xb8c92
 +
 +UnknownText_0xb8c92: ; 0xb8c92
 +	; don't you miss the
 +	text_jump UnknownText_0x1bcb86
 +	db "@"
 +; 0xb8c97
 +
 +UnknownText_0xb8c97: ; 0xb8c97
 +	; LUCKY NUMBER SHOW!
 +	text_jump UnknownText_0x1bcb9a
 +	db "@"
 +; 0xb8c9c
 +
 +UnknownText_0xb8c9c: ; 0xb8c9c
 +	; This week's Lucky
 +	text_jump UnknownText_0x1bcbaf
 +	db "@"
 +; 0xb8ca1
 +
 +UnknownText_0xb8ca1: ; 0xb8ca1
 +	; Number is @ !
 +	text_jump UnknownText_0x1bcbc2
 +	db "@"
 +; 0xb8ca6
 +
 +UnknownText_0xb8ca6: ; 0xb8ca6
 +	; I'll repeat that!
 +	text_jump UnknownText_0x1bcbd6
 +	db "@"
 +; 0xb8cab
 +
 +UnknownText_0xb8cab: ; 0xb8cab
 +	; Match it and go to
 +	text_jump UnknownText_0x1bcbe9
 +	db "@"
 +; 0xb8cb0
 +
 +UnknownText_0xb8cb0: ; 0xb8cb0
 +	; the RADIO TOWER!
 +	text_jump UnknownText_0x1bcbfe
 +	db "@"
 +; 0xb8cb5
 +
 +UnknownText_0xb8cb5: ; 0xb8cb5
 +	; …Repeating myself
 +	text_jump UnknownText_0x1bcc11
 +	db "@"
 +; 0xb8cba
 +
 +UnknownText_0xb8cba: ; 0xb8cba
 +	; gets to be a drag…
 +	text_jump UnknownText_0x1bcc25
 +	db "@"
 +; 0xb8cbf
 +
 +Functionb8cbf: ; b8cbf (2e:4cbf)
 +	call Functionb91eb
 +	ld hl, UnknownText_0xb8ce3
 +	ld a, $2c
 +	jp NextRadioLine
 +
 +Functionb8cca: ; b8cca (2e:4cca)
 +	ld hl, UnknownText_0xb8ce8
 +	ld a, $2d
 +	jp NextRadioLine
 +
 +Functionb8cd2: ; b8cd2 (2e:4cd2)
 +	ld hl, UnknownText_0xb8ced
 +	call Random
 +	cp $7b
 +	ld a, $2e
 +	jr c, .asm_b8ce0
 +	ld a, $30
 +.asm_b8ce0
 +	jp NextRadioLine
 +; b8ce3 (2e:4ce3)
 +
 +UnknownText_0xb8ce3: ; 0xb8ce3
 +	; PLACES AND PEOPLE!
 +	text_jump UnknownText_0x1bcc3a
 +	db "@"
 +; 0xb8ce8
 +
 +UnknownText_0xb8ce8: ; 0xb8ce8
 +	; Brought to you by
 +	text_jump UnknownText_0x1bcc4f
 +	db "@"
 +; 0xb8ced
 +
 +UnknownText_0xb8ced: ; 0xb8ced
 +	; me, DJ LILY!
 +	text_jump UnknownText_0x1bcc63
 +	db "@"
 +; 0xb8cf2
 +
 +Functionb8cf2: ; b8cf2 (2e:4cf2)
 +	call Random
 +	and $7f
 +	inc a
 +	cp $43
 +	jr nc, Functionb8cf2
 +	push af
 +	ld hl, Unknown_b8d3e
 +	ld a, [StatusFlags]
 +	bit 6, a
 +	jr z, .NotMet
 +	ld hl, Unknown_b8d43
 +	ld a, [KantoBadges]
 +	cp %11111111
 +	jr nz, .NotMet
 +	ld hl, Unknown_b8d4b
 +.NotMet
 +	pop af
 +	ld c, a
 +	ld de, $1
 +	push bc
 +	call IsInArray
 +	pop bc
 +	jr c, Functionb8cf2
 +	push bc
 +	callab Function3952d
 +	ld de, StringBuffer1
 +	call CopyName1
 +	pop bc
 +	ld b, $1
 +	callab GetTrainerName
 +	ld hl, UnknownText_0xb8d51
 +	ld a, $2f
 +	jp NextRadioLine
 +; b8d3e (2e:4d3e)
 +
 +Unknown_b8d3e: db $0b, $0d, $0e, $0f, $10
 +Unknown_b8d43: db $11, $12, $13, $15, $1a, $23, $2e, $40
 +Unknown_b8d4b: db $09, $0a, $0c, $2a, $3f
 +               db $ff
 +; b8d51
 +
 +UnknownText_0xb8d51: ; 0xb8d51
 +	; @  @ @
 +	text_jump UnknownText_0x1bcc72
 +	db "@"
 +; 0xb8d56
 +
 +Functionb8d56: ; b8d56 (2e:4d56)
 +	call Random
 +	and $f
 +	ld e, a
 +	ld d, 0
 +	ld hl, Unknown_b8d7d
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	call Random
 +	cp $a
 +	ld a, $5
 +	jr c, .asm_b8d7a
 +	call Random
 +	cp $7b
 +	ld a, $2e
 +	jr c, .asm_b8d7a
 +	ld a, $30
 +.asm_b8d7a
 +	jp NextRadioLine
 +; b8d7d (2e:4d7d)
 +
 +Unknown_b8d7d: ; b8d7d
 +	dw UnknownText_0xb8d9d
 +	dw UnknownText_0xb8da2
 +	dw UnknownText_0xb8da7
 +	dw UnknownText_0xb8dac
 +	dw UnknownText_0xb8db1
 +	dw UnknownText_0xb8db6
 +	dw UnknownText_0xb8dbb
 +	dw UnknownText_0xb8dc0
 +	dw UnknownText_0xb8dc5
 +	dw UnknownText_0xb8dca
 +	dw UnknownText_0xb8dcf
 +	dw UnknownText_0xb8dd4
 +	dw UnknownText_0xb8dd9
 +	dw UnknownText_0xb8dde
 +	dw UnknownText_0xb8de3
 +	dw UnknownText_0xb8de8
 +; b8d9d
 +
 +UnknownText_0xb8d9d: ; 0xb8d9d
 +	; is cute.
 +	text_jump UnknownText_0x1bcc80
 +	db "@"
 +; 0xb8da2
 +
 +UnknownText_0xb8da2: ; 0xb8da2
 +	; is sort of lazy.
 +	text_jump UnknownText_0x1bcc8b
 +	db "@"
 +; 0xb8da7
 +
 +UnknownText_0xb8da7: ; 0xb8da7
 +	; is always happy.
 +	text_jump UnknownText_0x1bcc9e
 +	db "@"
 +; 0xb8dac
 +
 +UnknownText_0xb8dac: ; 0xb8dac
 +	; is quite noisy.
 +	text_jump UnknownText_0x1bccb1
 +	db "@"
 +; 0xb8db1
 +
 +UnknownText_0xb8db1: ; 0xb8db1
 +	; is precocious.
 +	text_jump UnknownText_0x1bccc3
 +	db "@"
 +; 0xb8db6
 +
 +UnknownText_0xb8db6: ; 0xb8db6
 +	; is somewhat bold.
 +	text_jump UnknownText_0x1bccd4
 +	db "@"
 +; 0xb8dbb
 +
 +UnknownText_0xb8dbb: ; 0xb8dbb
 +	; is too picky!
 +	text_jump UnknownText_0x1bcce8
 +	db "@"
 +; 0xb8dc0
 +
 +UnknownText_0xb8dc0: ; 0xb8dc0
 +	; is sort of OK.
 +	text_jump UnknownText_0x1bccf8
 +	db "@"
 +; 0xb8dc5
 +
 +UnknownText_0xb8dc5: ; 0xb8dc5
 +	; is just so-so.
 +	text_jump UnknownText_0x1bcd09
 +	db "@"
 +; 0xb8dca
 +
 +UnknownText_0xb8dca: ; 0xb8dca
 +	; is actually great.
 +	text_jump UnknownText_0x1bcd1a
 +	db "@"
 +; 0xb8dcf
 +
 +UnknownText_0xb8dcf: ; 0xb8dcf
 +	; is just my type.
 +	text_jump UnknownText_0x1bcd2f
 +	db "@"
 +; 0xb8dd4
 +
 +UnknownText_0xb8dd4: ; 0xb8dd4
 +	; is so cool, no?
 +	text_jump UnknownText_0x1bcd42
 +	db "@"
 +; 0xb8dd9
 +
 +UnknownText_0xb8dd9: ; 0xb8dd9
 +	; is inspiring!
 +	text_jump UnknownText_0x1bcd54
 +	db "@"
 +; 0xb8dde
 +
 +UnknownText_0xb8dde: ; 0xb8dde
 +	; is kind of weird.
 +	text_jump UnknownText_0x1bcd64
 +	db "@"
 +; 0xb8de3
 +
 +UnknownText_0xb8de3: ; 0xb8de3
 +	; is right for me?
 +	text_jump UnknownText_0x1bcd78
 +	db "@"
 +; 0xb8de8
 +
 +UnknownText_0xb8de8: ; 0xb8de8
 +	; is definitely odd!
 +	text_jump UnknownText_0x1bcd8b
 +	db "@"
 +; 0xb8ded
 +
 +Functionb8ded: ; b8ded (2e:4ded)
 +	call Random
 +	cp $9
 +	jr nc, Functionb8ded
 +	ld hl, Unknown_b8e11
 +	ld c, a
 +	ld b, 0
 +rept 2
 +	add hl, bc
 +endr
 +	ld b, [hl]
 +	inc hl
 +	ld c, [hl]
 +	call GetWorldMapLocation
 +	ld e, a
 +	callba GetLandmarkName
 +	ld hl, UnknownText_0xb8e23
 +	ld a, $31
 +	jp NextRadioLine
 +; b8e11 (2e:4e11)
 +
 +Unknown_b8e11: ; b8e11
 +	map PALLET_TOWN
 +	map ROUTE_22
 +	map PEWTER_CITY
 +	map CERULEAN_POLICE_STATION
 +	map ROUTE_12
 +	map ROUTE_11
 +	map ROUTE_16
 +	map ROUTE_14
 +	map CINNABAR_POKECENTER_2F_BETA
 +; b8e23
 +
 +UnknownText_0xb8e23: ; 0xb8e23
 +	; @ @
 +	text_jump UnknownText_0x1bcda0
 +	db "@"
 +; 0xb8e28
 +
 +Functionb8e28: ; b8e28 (2e:4e28)
 +	call Random
 +	and $f
 +	ld e, a
 +	ld d, 0
 +	ld hl, Unknown_b8e52
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	call Functionb91dc
 +	call Random
 +	cp $a
 +	ld a, $5
 +	jr c, .asm_b8e4f
 +	call Random
 +	cp $7b
 +	ld a, $2e
 +	jr c, .asm_b8e4f
 +	ld a, $30
 +.asm_b8e4f
 +	jp Functionb86ea
 +; b8e52 (2e:4e52)
 +
 +Unknown_b8e52: ; b8e52
 +	dw UnknownText_0xb8d9d
 +	dw UnknownText_0xb8da2
 +	dw UnknownText_0xb8da7
 +	dw UnknownText_0xb8dac
 +	dw UnknownText_0xb8db1
 +	dw UnknownText_0xb8db6
 +	dw UnknownText_0xb8dbb
 +	dw UnknownText_0xb8dc0
 +	dw UnknownText_0xb8dc5
 +	dw UnknownText_0xb8dca
 +	dw UnknownText_0xb8dcf
 +	dw UnknownText_0xb8dd4
 +	dw UnknownText_0xb8dd9
 +	dw UnknownText_0xb8dde
 +	dw UnknownText_0xb8de3
 +	dw UnknownText_0xb8de8
 +; b8e72
 +
 +Functionb8e72: ; b8e72 (2e:4e72)
 +	call Functionb91eb
 +	ld hl, UnknownText_0xb8ec5
 +	ld a, $32
 +	jp NextRadioLine
 +
 +Functionb8e7d: ; b8e7d (2e:4e7d)
 +	ld hl, UnknownText_0xb8eca
 +	ld a, $33
 +	jp NextRadioLine
 +
 +Functionb8e85: ; b8e85 (2e:4e85)
 +	ld hl, UnknownText_0xb8ecf
 +	ld a, $34
 +	jp NextRadioLine
 +
 +Functionb8e8d: ; b8e8d (2e:4e8d)
 +	ld hl, UnknownText_0xb8ed4
 +	ld a, $35
 +	jp NextRadioLine
 +
 +Functionb8e95: ; b8e95 (2e:4e95)
 +	ld hl, UnknownText_0xb8ed9
 +	ld a, $36
 +	jp NextRadioLine
 +
 +Functionb8e9d: ; b8e9d (2e:4e9d)
 +	ld hl, UnknownText_0xb8ede
 +	ld a, $37
 +	jp NextRadioLine
 +
 +Functionb8ea5: ; b8ea5 (2e:4ea5)
 +	ld hl, UnknownText_0xb8ee3
 +	ld a, $38
 +	jp NextRadioLine
 +
 +Functionb8ead: ; b8ead (2e:4ead)
 +	ld hl, UnknownText_0xb8ee8
 +	ld a, $39
 +	jp NextRadioLine
 +
 +Functionb8eb5: ; b8eb5 (2e:4eb5)
 +	ld hl, UnknownText_0xb8eed
 +	ld a, $3a
 +	jp NextRadioLine
 +
 +Functionb8ebd: ; b8ebd (2e:4ebd)
 +	ld hl, UnknownText_0xb8ef2
 +	ld a, $7
 +	jp NextRadioLine
 +; b8ec5 (2e:4ec5)
 +
 +UnknownText_0xb8ec5: ; 0xb8ec5
 +	; … …Ahem, we are
 +	text_jump UnknownText_0x1bcda8
 +	db "@"
 +; 0xb8eca
 +
 +UnknownText_0xb8eca: ; 0xb8eca
 +	; TEAM ROCKET!
 +	text_jump UnknownText_0x1bcdba
 +	db "@"
 +; 0xb8ecf
 +
 +UnknownText_0xb8ecf: ; 0xb8ecf
 +	; After three years
 +	text_jump UnknownText_0x1bcdc9
 +	db "@"
 +; 0xb8ed4
 +
 +UnknownText_0xb8ed4: ; 0xb8ed4
 +	; of preparation, we
 +	text_jump UnknownText_0x1bcddd
 +	db "@"
 +; 0xb8ed9
 +
 +UnknownText_0xb8ed9: ; 0xb8ed9
 +	; have risen again
 +	text_jump UnknownText_0x1bcdf2
 +	db "@"
 +; 0xb8ede
 +
 +UnknownText_0xb8ede: ; 0xb8ede
 +	; from the ashes!
 +	text_jump UnknownText_0x1bce05
 +	db "@"
 +; 0xb8ee3
 +
 +UnknownText_0xb8ee3: ; 0xb8ee3
 +	; GIOVANNI! @ Can you
 +	text_jump UnknownText_0x1bce17
 +	db "@"
 +; 0xb8ee8
 +
 +UnknownText_0xb8ee8: ; 0xb8ee8
 +	; hear?@  We did it!
 +	text_jump UnknownText_0x1bce2e
 +	db "@"
 +; 0xb8eed
 +
 +UnknownText_0xb8eed: ; 0xb8eed
 +	; @ Where is our boss?
 +	text_jump UnknownText_0x1bce44
 +	db "@"
 +; 0xb8ef2
 +
 +UnknownText_0xb8ef2: ; 0xb8ef2
 +	; @ Is he listening?
 +	text_jump UnknownText_0x1bce5c
 +	db "@"
 +; 0xb8ef7
 +
 +Functionb8ef7: ; b8ef7 (2e:4ef7)
 +	call Functionb91eb
 +	ld a, $1
 +	ld [wd005], a
 +	ret
 +
 +Functionb8f00: ; b8f00 (2e:4f00)
 +	call Functionb91eb
 +	ld a, $1
 +	ld [wd005], a
 +	ret
 +
 +Functionb8f09: ; b8f09 (2e:4f09)
 +	call Functionb91eb
 +	ld a, $1
 +	ld [wd005], a
 +	ret
 +
 +Functionb8f12: ; b8f12 (2e:4f12)
 +	call Functionb9169
 +	jp nc, Functionb8f22
 +	ld a, [wd005]
 +	and a
 +	jp z, Functionb912a
 +	jp Functionb90c5
 +
 +Functionb8f22: ; b8f22 (2e:4f22)
 +	call Functionb91eb
 +	ld a, [hBGMapMode] ; $ff00+$d4
 +	push af
 +	xor a
 +	ld [hBGMapMode], a ; $ff00+$d4
 +	ld de, String_b9171
 +	hlcoord 2, 9
 +	call PlaceString
 +	pop af
 +	ld [hBGMapMode], a ; $ff00+$d4
 +	ld hl, UnknownText_0xb9182
 +	ld a, $40
 +	jp NextRadioLine
 +
 +Functionb8f3f: ; b8f3f (2e:4f3f)
 +	ld hl, UnknownText_0xb9187
 +	ld a, $41
 +	jp NextRadioLine
 +
 +Functionb8f47: ; b8f47 (2e:4f47)
 +	call Functionb9169
 +	ld hl, UnknownText_0xb918c
 +	jp c, Functionb90b9
 +	ld a, $42
 +	jp NextRadioLine
 +
 +Functionb8f55: ; b8f55 (2e:4f55)
 +	call Functionb9169
 +	jp c, Functionb90c5
 +	ld a, [wdc4a]
 +	ld hl, WeeklyFlags
 +	bit 7, [hl]
 +	jr nz, .asm_b8f83
 +.asm_b8f65
 +	call Random
 +	and $f
 +	cp $b
 +	jr nc, .asm_b8f65
 +	swap a
 +	ld e, a
 +.asm_b8f71
 +	call Random
 +	and $3
 +	cp $3
 +	jr nc, .asm_b8f71
 +	add e
 +	ld [wdc4a], a
 +	ld hl, WeeklyFlags
 +	set 7, [hl]
 +.asm_b8f83
 +	ld c, a
 +	call Functionb8f8f
 +	ld hl, UnknownText_0xb9191
 +	ld a, $43
 +	jp NextRadioLine
 +
 +Functionb8f8f: ; b8f8f
 +	ld a, c
 +	swap a
 +	and $f
 +	ld hl, Unknown_b8ff9
 +	ld d, 0
 +	ld e, a
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	ld a, [hli]
 +	ld b, a
 +	push hl
 +	inc hl
 +	ld a, c
 +	and $f
 +	ld c, a
 +	push hl
 +	ld hl, Jumptable_b8fb8
 +	ld e, b
 +rept 2
 +	add hl, de
 +endr
 +	ld a, [hli]
 +	ld h, [hl]
 +	ld l, a
 +	pop de
 +	call _hl_
 +	pop hl
 +	ld c, [hl]
 +	ret
 +; b8fb8
 +
 +
 +Jumptable_b8fb8: ; b8fb8 (2e:4fb8)
 +	dw Functionb8fc0
 +	dw Functionb8fc7
 +	dw Functionb8fce
 +	dw Functionb8fde
 +
 +
 +Functionb8fc0: ; b8fc0 (2e:4fc0)
 +	call Functionb8fd5
 +	call GetPokemonName
 +	ret
 +
 +Functionb8fc7: ; b8fc7 (2e:4fc7)
 +	call Functionb8fd5
 +	call GetItemName
 +	ret
 +
 +Functionb8fce: ; b8fce (2e:4fce)
 +	call Functionb8fd5
 +	call GetMoveName
 +	ret
 +
 +Functionb8fd5: ; b8fd5 (2e:4fd5)
 +	ld h, 0
 +	ld l, c
 +	add hl, de
 +	ld a, [hl]
 +	ld [wd265], a
 +	ret
 +
 +Functionb8fde: ; b8fde (2e:4fde)
 +	ld a, c
 +	and a
 +	jr z, .asm_b8feb
 +.asm_b8fe2
 +	ld a, [de]
 +	inc de
 +	cp $50
 +	jr nz, .asm_b8fe2
 +	dec c
 +	jr nz, .asm_b8fe2
 +.asm_b8feb
 +	ld hl, StringBuffer1
 +.asm_b8fee
 +	ld a, [de]
 +	inc de
 +	ld [hli], a
 +	cp $50
 +	jr nz, .asm_b8fee
 +	ld de, StringBuffer1
 +	ret
 +; b8ff9 (2e:4ff9)
 +
 +Unknown_b8ff9: ; b8ff9
 +	dw Unknown_b900f
 +	dw Unknown_b9014
 +	dw Unknown_b9019
 +	dw Unknown_b901e
 +	dw Unknown_b9023
 +	dw Unknown_b9028
 +	dw Unknown_b902d
 +	dw Unknown_b905a
 +	dw Unknown_b906d
 +	dw Unknown_b9072
 +	dw Unknown_b9077
 +; b900f
 +
 +Unknown_b900f: db 0, 10, CYNDAQUIL, TOTODILE, CHIKORITA
 +Unknown_b9014: db 1, 12, FRESH_WATER, SODA_POP, LEMONADE
 +Unknown_b9019: db 1, 12, POTION, ANTIDOTE, PARLYZ_HEAL
 +Unknown_b901e: db 1, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL
 +Unknown_b9023: db 0, 10, PIKACHU, RATTATA, GEODUDE
 +Unknown_b9028: db 0, 10, HOOTHOOT, SPINARAK, DROWZEE
 +Unknown_b902d: db 3, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@"
 +Unknown_b905a: db 3,  6, "FLYING@", "BUG@", "GRASS@"
 +Unknown_b906d: db 2, 12, TACKLE, GROWL, MUD_SLAP
 +Unknown_b9072: db 1, 12, X_ATTACK, X_DEFEND, X_SPEED
 +Unknown_b9077: db 3, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@"
 +; b909c
 +
 +Functionb909c: ; b909c (2e:509c)
 +	ld hl, UnknownText_0xb9196
 +	ld a, $44
 +	jp NextRadioLine
 +
 +Functionb90a4: ; b90a4 (2e:50a4)
 +	ld hl, UnknownText_0xb919b
 +	ld a, $45
 +	jp NextRadioLine
 +
 +Functionb90ac: ; b90ac (2e:50ac)
 +	call Functionb9169
 +	ld hl, UnknownText_0xb91a0
 +	jr c, Functionb90b9
 +	ld a, $4
 +	jp NextRadioLine
 +
 +Functionb90b9: ; b90b9 (2e:50b9)
 +	push hl
 +	ld hl, WeeklyFlags
 +	res 7, [hl]
 +	pop hl
 +	ld a, $46
 +	jp NextRadioLine
 +
 +Functionb90c5: ; b90c5 (2e:50c5)
 +	ld hl, WeeklyFlags
 +	res 7, [hl]
 +	ld hl, UnknownText_0xb91d2
 +	ld a, $47
 +	jp NextRadioLine
 +
 +Functionb90d2: ; b90d2 (2e:50d2)
 +	ld hl, UnknownText_0xb91a5
 +	ld a, $48
 +	jp NextRadioLine
 +
 +Functionb90da: ; b90da (2e:50da)
 +	ld hl, UnknownText_0xb91aa
 +	ld a, $49
 +	jp NextRadioLine
 +
 +Functionb90e2: ; b90e2 (2e:50e2)
 +	ld hl, UnknownText_0xb91af
 +	ld a, $4a
 +	jp NextRadioLine
 +
 +Functionb90ea: ; b90ea (2e:50ea)
 +	ld hl, UnknownText_0xb91b4
 +	ld a, $4b
 +	jp NextRadioLine
 +
 +Functionb90f2: ; b90f2 (2e:50f2)
 +	ld hl, UnknownText_0xb91b9
 +	ld a, $4c
 +	jp NextRadioLine
 +
 +Functionb90fa: ; b90fa (2e:50fa)
 +	ld hl, UnknownText_0xb91be
 +	ld a, $4d
 +	jp NextRadioLine
 +
 +Functionb9102: ; b9102 (2e:5102)
 +	ld hl, UnknownText_0xb91c3
 +	ld a, $4e
 +	jp NextRadioLine
 +
 +Functionb910a: ; b910a (2e:510a)
 +	ld hl, UnknownText_0xb91c8
 +	ld a, $4f
 +	jp NextRadioLine
 +
 +Functionb9112: ; b9112 (2e:5112)
 +	ld hl, UnknownText_0xb91cd
 +	ld a, $50
 +	jp NextRadioLine
 +
 +Functionb911a: ; b911a (2e:511a)
 +	ld hl, UnknownText_0xb91d2
 +	ld a, $51
 +	jp NextRadioLine
 +
 +Functionb9122: ; b9122 (2e:5122)
 +	ld hl, UnknownText_0xb91d2
 +	ld a, $52
 +	jp NextRadioLine
 +
 +Functionb912a: ; b912a (2e:512a)
 +	ld a, [hBGMapMode] ; $ff00+$d4
 +	push af
 +	callba NoRadioMusic
 +	callba NoRadioName
 +	pop af
 +	ld [hBGMapMode], a ; $ff00+$d4
 +	ld hl, WeeklyFlags
 +	res 7, [hl]
 +	ld a, $4
 +	ld [wd002], a
 +	xor a
 +	ld [wd005], a
 +	ld hl, UnknownText_0xb91d7
 +	ld a, $53
 +	jp NextRadioLine
 +
 +Functionb9152: ; b9152 (2e:5152)
 +	ld a, $4
 +	ld [wd002], a
 +	xor a
 +	ld [wd005], a
 +	call Functionb9169
 +	jp nc, Functionb8f12
 +	ld hl, UnknownText_0xb91d7
 +	ld a, $53
 +	jp NextRadioLine
 +
 +Functionb9169: ; b9169 (2e:5169)
 +	call UpdateTime
 +	ld a, [hHours] ; $ff00+$94
 +	cp $12
 +	ret
 +; b9171 (2e:5171)
 +
 +String_b9171:
 +	db "BUENA'S PASSWORD@"
 +; b9182
 +
 +UnknownText_0xb9182: ; 0xb9182
 +	; BUENA: BUENA here!
 +	text_jump UnknownText_0x1bce72
 +	db "@"
 +; 0xb9187
 +
 +UnknownText_0xb9187: ; 0xb9187
 +	; Today's password!
 +	text_jump UnknownText_0x1bce87
 +	db "@"
 +; 0xb918c
 +
 +UnknownText_0xb918c: ; 0xb918c
 +	; Let me think… It's
 +	text_jump UnknownText_0x1bce9a
 +	db "@"
 +; 0xb9191
 +
 +UnknownText_0xb9191: ; 0xb9191
 +	; @ !
 +	text_jump UnknownText_0x1bceae
 +	db "@"
 +; 0xb9196
 +
 +UnknownText_0xb9196: ; 0xb9196
 +	; Don't forget it!
 +	text_jump UnknownText_0x1bceb7
 +	db "@"
 +; 0xb919b
 +
 +UnknownText_0xb919b: ; 0xb919b
 +	; I'm in GOLDENROD's
 +	text_jump UnknownText_0x1bcec9
 +	db "@"
 +; 0xb91a0
 +
 +UnknownText_0xb91a0: ; 0xb91a0
 +	; RADIO TOWER!
 +	text_jump UnknownText_0x1bcedc
 +	db "@"
 +; 0xb91a5
 +
 +UnknownText_0xb91a5: ; 0xb91a5
 +	; BUENA: Oh my…
 +	text_jump UnknownText_0x1bceeb
 +	db "@"
 +; 0xb91aa
 +
 +UnknownText_0xb91aa: ; 0xb91aa
 +	; It's midnight! I
 +	text_jump UnknownText_0x1bcefb
 +	db "@"
 +; 0xb91af
 +
 +UnknownText_0xb91af: ; 0xb91af
 +	; have to shut down!
 +	text_jump UnknownText_0x1bcf0d
 +	db "@"
 +; 0xb91b4
 +
 +UnknownText_0xb91b4: ; 0xb91b4
 +	; Thanks for tuning
 +	text_jump UnknownText_0x1bcf22
 +	db "@"
 +; 0xb91b9
 +
 +UnknownText_0xb91b9: ; 0xb91b9
 +	; in to the end! But
 +	text_jump UnknownText_0x1bcf36
 +	db "@"
 +; 0xb91be
 +
 +UnknownText_0xb91be: ; 0xb91be
 +	; don't stay up too
 +	text_jump UnknownText_0x1bcf4b
 +	db "@"
 +; 0xb91c3
 +
 +UnknownText_0xb91c3: ; 0xb91c3
 +	; late! Presented to
 +	text_jump UnknownText_0x1bcf5e
 +	db "@"
 +; 0xb91c8
 +
 +UnknownText_0xb91c8: ; 0xb91c8
 +	; you by DJ BUENA!
 +	text_jump UnknownText_0x1bcf73
 +	db "@"
 +; 0xb91cd
 +
 +UnknownText_0xb91cd: ; 0xb91cd
 +	; I'm outta here!
 +	text_jump UnknownText_0x1bcf86
 +	db "@"
 +; 0xb91d2
 +
 +UnknownText_0xb91d2: ; 0xb91d2
 +	; …
 +	text_jump UnknownText_0x1bcf96
 +	db "@"
 +; 0xb91d7
 +
 +UnknownText_0xb91d7: ; 0xb91d7
 +	;
 +	text_jump UnknownText_0x1bcf99
 +	db "@"
 +; 0xb91dc
 +
 +Functionb91dc: ; b91dc (2e:51dc)
 +	ld a, [hl]
 +	cp $16 ; TX_FAR
 +	jp z, FarJumpText
 +	ld de, wd00c
 +	ld bc, $28
 +	jp CopyBytes
 +
 +Functionb91eb: ; b91eb (2e:51eb)
 +	ld a, [wd005]
 +	and a
 +	ret nz
 +	call Function1052
 +	call PrintText
 +	ld hl, RadioChannelSongs
 +	ld a, [wd002]
 +	ld c, a
 +	ld b, 0
 +rept 2
 +	add hl, bc
 +endr
 +	ld e, [hl]
 +	inc hl
 +	ld d, [hl]
 +	callab Function91854
 +	ret
 +; b920b (2e:520b)
 +
 +RadioChannelSongs: ; b920b
 +	dw MUSIC_POKEMON_TALK
 +	dw MUSIC_POKEMON_CENTER
 +	dw MUSIC_TITLE
 +	dw MUSIC_GAME_CORNER
 +	dw MUSIC_BUENAS_PASSWORD
 +	dw MUSIC_VIRIDIAN_CITY
 +	dw MUSIC_BICYCLE
 +	dw MUSIC_ROCKET_OVERTURE
 +	dw MUSIC_POKE_FLUTE_CHANNEL
 +	dw MUSIC_RUINS_OF_ALPH_RADIO
 +	dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
 +; b9221
 +
 +NextRadioLine: ; b9221 (2e:5221)
 +	push af
 +	call Functionb91dc
 +	pop af
 +	jp Functionb86ea
 +; b9229
 diff --git a/engine/scripting.asm b/engine/scripting.asm index 3012d14b3..709a75c25 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -1,9 +1,9 @@  ; Event scripting commands. -Function96c56:: ; 96c56 +EnableScriptMode:: ; 96c56  	push af -	ld a, 1 +	ld a, SCRIPT_READ  	ld [ScriptMode], a  	pop af  	ret @@ -346,7 +346,7 @@ JumpTextFacePlayerScript: ; 0x96e79  	faceplayer  JumpTextScript: ; 0x96e7a  	loadfont -	repeattext $ff, $ff +	repeattext -1, -1  	closetext  	loadmovesprites  	end @@ -385,7 +385,7 @@ Script_2writetext: ; 0x96e9b  	ld h, a  	ld a, [ScriptBank]  	ld b, a -	call Function269a +	call MapTextbox  	ret  ; 0x96eab @@ -400,7 +400,7 @@ Script_3writetext: ; 0x96eab  	ld l, a  	call GetScriptByte  	ld h, a -	call Function269a +	call MapTextbox  	ret  ; 0x96ebb @@ -414,27 +414,27 @@ Script_repeattext: ; 0x96ebb  	ld l, a  	call GetScriptByte  	ld h, a -	cp $ff -	jr nz, .asm_96ed8 ; 0x96ec5 $11 +	cp -1 +	jr nz, .done ; 0x96ec5 $11  	ld a, l -	cp $ff -	jr nz, .asm_96ed8 ; 0x96eca $c +	cp -1 +	jr nz, .done ; 0x96eca $c  	ld hl, wd44e  	ld a, [hli]  	ld b, a  	ld a, [hli]  	ld h, [hl]  	ld l, a -	call Function269a +	call MapTextbox  	ret -.asm_96ed8 +.done  	ret  ; 0x96ed9  Script_closetext: ; 0x96ed9  ; script command 0x54 -	jp Functiona46 +	jp CloseText  ; 0x96edc  Script_keeptextopen: ; 0x96edc @@ -445,7 +445,7 @@ Script_keeptextopen: ; 0x96edc  	ld a, $1  	ld [$ffd8], a  	call WaitBGMap -	call Functionaaf +	call KeepTextOpen  	pop af  	ld [$ffd8], a  	ret @@ -456,9 +456,9 @@ Script_yesorno: ; 0x96eed  	call YesNoBox  	ld a, 0 -	jr c, .asm_96ef6 ; 0x96ef2 $2 +	jr c, .no ; 0x96ef2 $2  	ld a, 1 -.asm_96ef6 +.no  	ld [ScriptVar], a  	ret  ; 0x96efa @@ -474,16 +474,16 @@ Script_loadmenudata: ; 0x96efa  	ld h, a  	ld de, LoadMenuDataHeader  	ld a, [ScriptBank] -	call Function26b7 -	call Function1ad2 +	call Call_a_de +	call DrawOnMap  	ret  ; 0x96f0f  Script_writebackup: ; 0x96f0f  ; script command 0x50 -	call Function1c17 -	call Function1ad2 +	call WriteBackup +	call DrawOnMap  	ret  ; 0x96f16 @@ -498,14 +498,14 @@ Script_pokepic: ; 0x96f16  	ld a, [ScriptVar]  .ok  	ld [CurPartySpecies], a -	callba Function244e3 +	callba Pokepic  	ret  ; 0x96f29  Script_pokepicyesorno: ; 0x96f29  ; script command 0x57 -	callba Function24528 +	callba PokepicYesOrNo  	ret  ; 0x96f30 @@ -513,7 +513,7 @@ Script_interpretmenu2: ; 0x96f30  ; script command 0x59  	ld a, [ScriptBank] -	ld hl, Function1d81 +	ld hl, InterpretMenu2  	rst FarCall  	ld a, [wcfa9]  	jr nc, .ok @@ -527,7 +527,7 @@ Script_interpretmenu: ; 0x96f41  ; script command 0x58  	ld a, [ScriptBank] -	ld hl, Function202a +	ld hl, InterpretMenu  	rst FarCall  	ld a, [wcf88]  	jr nc, .ok @@ -543,10 +543,10 @@ Script_storetext: ; 0x96f52  ;     pointer (PointerLabelBeforeBank)  ;     memory (SingleByteParam) -	call Function106c +	call SetUpTextBox  	call GetScriptByte  	ld c, a -	callba Function11c000 +	callba StoreText  	ret  ; 0x96f60 @@ -559,8 +559,8 @@ Script_verbosegiveitem: ; 0x96f60  	call Script_giveitem  	call CurItemName  	ld de, StringBuffer1 -	ld a, $1 -	call Function976c8 +	ld a, 1 +	call CopyConvertedText  	ld b, BANK(GiveItemScript)  	ld de, GiveItemScript  	jp ScriptCall @@ -600,26 +600,26 @@ Script_verbosegiveitem2: ; 0x96f8e  ;     var (SingleByteParam)  	call GetScriptByte -	cp $ff +	cp -1  	jr nz, .ok  	ld a, [ScriptVar]  .ok  	ld [CurItem], a  	call GetScriptByte -	call Function9769e +	call GetVarAction  	ld a, [de]  	ld [wd10c], a  	ld hl, NumItems  	call ReceiveItem -	ld a, $1 +	ld a, 1  	jr c, .ok2  	xor a  .ok2  	ld [ScriptVar], a  	call CurItemName  	ld de, StringBuffer1 -	ld a, $1 -	call Function976c8 +	ld a, 1 +	call CopyConvertedText  	ld b, BANK(GiveItemScript)  	ld de, GiveItemScript  	jp ScriptCall @@ -632,7 +632,7 @@ Script_itemnotify: ; 0x96fc6  	call CurItemName  	ld b, BANK(PutItemInPocketText)  	ld hl, PutItemInPocketText -	call Function269a +	call MapTextbox  	ret  ; 0x96fd5 @@ -643,7 +643,7 @@ Script_pocketisfull: ; 0x96fd5  	call CurItemName  	ld b, BANK(PocketIsFullText)  	ld hl, PocketIsFullText -	call Function269a +	call MapTextbox  	ret  ; 0x96fe4 @@ -746,7 +746,7 @@ Script_elevator: ; 0x9707c  	ld d, a  	ld a, [ScriptBank]  	ld b, a -	callba Function1342d +	callba Elevator  	ret c  	ld a, $1  	ld [ScriptVar], a @@ -775,14 +775,14 @@ Script_phonecall: ; 0x970a4  	ld d, a  	ld a, [ScriptBank]  	ld b, a -	callba Function9029a +	callba PhoneCall  	ret  ; 0x970b7  Script_hangup: ; 0x970b7  ; script command 0x99 -	callba Function902eb +	callba HangUp  	ret  ; 0x970be @@ -792,20 +792,20 @@ Script_askforphonenumber: ; 0x970be  ;     number (SingleByteParam)  	call YesNoBox -	jr c, .asm_970d6 ; 0x970c1 $13 +	jr c, .refused ; 0x970c1 $13  	call GetScriptByte  	ld c, a -	callba Function90000 -	jr c, .asm_970d2 ; 0x970cd $3 +	callba AddPhoneNumber +	jr c, .phonefull ; 0x970cd $3  	xor a -	jr .asm_970db ; 0x970d0 $9 -.asm_970d2 -	ld a, $1 -	jr .asm_970db ; 0x970d4 $5 -.asm_970d6 +	jr .done ; 0x970d0 $9 +.phonefull +	ld a, 1 +	jr .done ; 0x970d4 $5 +.refused  	call GetScriptByte -	ld a, $2 -.asm_970db +	ld a, 2 +.done  	ld [ScriptVar], a  	ret  ; 0x970df @@ -817,7 +817,7 @@ Script_describedecoration: ; 0x970df  	call GetScriptByte  	ld b, a -	callba Function26f59 +	callba DescribeDecoration  	ld h, d  	ld l, e  	jp ScriptJump @@ -848,7 +848,7 @@ Script_loadwilddata: ; 0x970fc  	ld d, a  	call GetScriptByte  	ld e, a -	callba Functionc403 +	callba LoadWildData  	ret  ; 0x9710f @@ -859,16 +859,17 @@ Script_trainertext: ; 0x9710f  	call GetScriptByte  	ld c, a -	ld b, $0 +	ld b, 0  	ld hl, WalkingX +rept 2  	add hl, bc -	add hl, bc +endr  	ld a, [hli]  	ld h, [hl]  	ld l, a  	ld a, [EngineBuffer1]  	ld b, a -	call Function269a +	call MapTextbox  	ret  ; 0x97125 @@ -901,7 +902,7 @@ Script_trainerstatus: ; 0x97132  	ld a, c  	and a  	ret z -	ld a, $1 +	ld a, 1  	ld [ScriptVar], a  	ret  ; 0x9714c @@ -912,12 +913,12 @@ Script_winlosstext: ; 0x9714c  ;     win_text_pointer (TextPointerLabelParam)  ;     loss_text_pointer (TextPointerLabelParam) -	ld hl, WalkingTile +	ld hl, wWinTextPointer ; d047  	call GetScriptByte  	ld [hli], a  	call GetScriptByte  	ld [hli], a -	ld hl, wd048 + 1 +	ld hl, wLossTextPointer ; d049; this is unnecessary  	call GetScriptByte  	ld [hli], a  	call GetScriptByte @@ -937,7 +938,7 @@ Script_talkaftercancel: ; 0x97163  Script_talkaftercheck: ; 0x9716b  ; script command 0x67 -	ld a, $1 +	ld a, 1  	ld [ScriptVar], a  	ld a, [wd04d]  	and a @@ -1042,7 +1043,7 @@ Script_cry: ; 0x971d1  	ret  ; 0x971e3 -Function971e3: ; 0x971e3 +GetScriptPerson: ; 0x971e3  	and a  	ret z  	cp $fe @@ -1057,7 +1058,7 @@ Script_setlasttalked: ; 0x971ea  ;     person (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld [$ffe0], a  	ret  ; 0x971f3 @@ -1069,17 +1070,17 @@ Script_applymovement: ; 0x971f3  ;     data (MovementPointerLabelParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld c, a  ; 971fa -Function971fa: ; 971fa +ApplyMovement: ; 971fa  	push bc  	ld a, c -	callba Function585c +	callba SetFlagsForMovement_1  	pop bc  	push bc -	call Function97221 +	call SetFlagsForMovement_2  	pop bc  	call GetScriptByte  	ld l, a @@ -1087,7 +1088,7 @@ Function971fa: ; 971fa  	ld h, a  	ld a, [ScriptBank]  	ld b, a -	call Function26c7 +	call GetMovementData  	ret c  	ld a, SCRIPT_WAIT_MOVEMENT  	ld [ScriptMode], a @@ -1095,8 +1096,8 @@ Function971fa: ; 971fa  	ret  ; 0x97221 -Function97221: ; 0x97221 -	callba Function5897 +SetFlagsForMovement_2: ; 0x97221 +	callba _SetFlagsForMovement_2  	ret  ; 0x97228 @@ -1107,7 +1108,7 @@ Script_applymovement2: ; 0x97228  	ld a, [$ffe0]  	ld c, a -	jp Function971fa +	jp ApplyMovement  ; 0x9722e  Script_faceplayer: ; 0x9722e @@ -1119,14 +1120,15 @@ Script_faceplayer: ; 0x9722e  	ld d, $0  	ld a, [$ffe0]  	ld e, a -	callba Function8417 +	callba GetRelativeFacing  	ld a, d +rept 2  	add a -	add a +endr  	ld e, a  	ld a, [$ffe0]  	ld d, a -	call Function9728b +	call ApplyPersonFacing  	ret  ; 0x97248 @@ -1137,29 +1139,30 @@ Script_faceperson: ; 0x97248  ;     person2 (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	cp $fe  	jr c, .asm_97254 ; 0x97250 $2  	ld a, [$ffe0]  .asm_97254  	ld e, a  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	cp $fe  	jr nz, .asm_97261 ; 0x9725d $2  	ld a, [$ffe0]  .asm_97261  	ld d, a  	push de -	callba Function8417 +	callba GetRelativeFacing  	pop bc  	ret c  	ld a, d +rept 2  	add a -	add a +endr  	ld e, a  	ld d, c -	call Function9728b +	call ApplyPersonFacing  	ret  ; 0x97274 @@ -1170,47 +1173,48 @@ Script_spriteface: ; 0x97274  ;     facing (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	cp $fe  	jr nz, .asm_97280 ; 0x9727c $2  	ld a, [$ffe0]  .asm_97280  	ld d, a  	call GetScriptByte +rept 2  	add a -	add a +endr  	ld e, a -	call Function9728b +	call ApplyPersonFacing  	ret  ; 0x9728b -Function9728b: ; 0x9728b +ApplyPersonFacing: ; 0x9728b  	ld a, d  	push de  	call Function18de -	jr c, .asm_972b9 ; 0x97290 $27 -	ld hl, $0000 +	jr c, .not_visible ; 0x97290 $27 +	ld hl, OBJECT_SPRITE  	add hl, bc  	ld a, [hl]  	push bc  	call Function1836  	pop bc -	jr c, .asm_972b9 ; 0x9729c $1b -	ld hl, $0004 +	jr c, .not_visible ; 0x9729c $1b +	ld hl, OBJECT_04  	add hl, bc  	bit 2, [hl] -	jr nz, .asm_972b9 ; 0x972a4 $13 +	jr nz, .not_visible ; 0x972a4 $13  	pop de  	ld a, e -	call Function1af8 +	call SetSpriteDirection  	ld hl, VramState  	bit 6, [hl]  	jr nz, .asm_972b5 ; 0x972b0 $3  	call Function972bc  .asm_972b5 -	call Function1ad2 +	call DrawOnMap  	ret -.asm_972b9 +.not_visible  	pop de  	scf  	ret @@ -1252,11 +1256,11 @@ Script_appear: ; 0x972dd  ;     person (SingleByteParam)  	call GetScriptByte -	call Function971e3 -	call Function1956 +	call GetScriptPerson +	call _CopyObjectStruct  	ld a, [$ffaf] -	ld b, $0 -	call Function9730b +	ld b, 0 ; clear +	call ApplyEventActionAppearDisappear  	ret  ; 0x972ee @@ -1266,36 +1270,36 @@ Script_disappear: ; 0x972ee  ;     person (SingleByteParam)  	call GetScriptByte -	call Function971e3 -	cp $fe -	jr nz, .asm_972fa ; 0x972f6 $2 +	call GetScriptPerson +	cp -2 +	jr nz, .skip ; 0x972f6 $2  	ld a, [$ffe0] -.asm_972fa -	call Function199f +.skip +	call DeleteObjectStruct  	ld a, [$ffaf] -	ld b, $1 -	call Function9730b -	callba Function5920 +	ld b, 1 ; set +	call ApplyEventActionAppearDisappear +	callba RefreshMapAppearDisappear  	ret  ; 0x9730b -Function9730b: ; 0x9730b +ApplyEventActionAppearDisappear: ; 0x9730b  	push bc  	call GetMapObject -	ld hl, $000c +	ld hl, MAPOBJECT_EVENT_FLAG  	add hl, bc  	pop bc  	ld e, [hl]  	inc hl  	ld d, [hl] -	ld a, $ff +	ld a, -1  	cp e -	jr nz, .asm_97321 ; 0x9731a $5 +	jr nz, .okay ; 0x9731a $5  	cp d -	jr nz, .asm_97321 ; 0x9731d $2 +	jr nz, .okay ; 0x9731d $2  	xor a  	ret -.asm_97321 +.okay  	call EventFlagAction  	ret  ; 0x97325 @@ -1307,10 +1311,10 @@ Script_follow: ; 0x97325  ;     person1 (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld b, a  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld c, a  	callba Function5803  	ret @@ -1331,7 +1335,7 @@ Script_moveperson: ; 0x97341  ;     y (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld b, a  	call GetScriptByte  	add $4 @@ -1349,7 +1353,7 @@ Script_writepersonxy: ; 0x9735b  ;     person (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	cp $fe  	jr nz, .asm_97367 ; 0x97363 $2  	ld a, [$ffe0] @@ -1366,10 +1370,10 @@ Script_follownotexact: ; 0x9736f  ;     person1 (SingleByteParam)  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld b, a  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	ld c, a  	callba Function839e  	ret @@ -1400,7 +1404,7 @@ Script_showemote: ; 0x97396  	call GetScriptByte  	ld [ScriptVar], a  	call GetScriptByte -	call Function971e3 +	call GetScriptPerson  	cp $fe  	jr z, .asm_973a8 ; 0x973a4 $2  	ld [$ffe0], a @@ -1525,7 +1529,7 @@ Script_loadtrainer: ; 0x97424  Script_startbattle: ; 0x97436  ; script command 0x5f -	call Function2879 +	call BufferScreen  	predef StartBattle  	ld a, [wd0ee]  	and $3f @@ -1540,7 +1544,7 @@ Script_catchtutorial: ; 0x97447  	call GetScriptByte  	ld [BattleType], a -	call Function2879 +	call BufferScreen  	callba Function4e554  	jp Script_reloadmap  ; 0x97459 @@ -1582,7 +1586,7 @@ Script_reloadmap: ; 0x97491  	ld a, $f3  	ld [$ff9f], a  	ld a, $1 -	call Function261b +	call LoadMapStatus  	call StopScript  	ret  ; 0x974a2 @@ -1638,9 +1642,9 @@ ScriptCall: ; 0x974cb  	inc [hl]  	ld d, $0  	ld hl, wd43d +rept 3  	add hl, de -	add hl, de -	add hl, de +endr  	pop de  	ld a, [ScriptBank]  	ld [hli], a @@ -1811,9 +1815,9 @@ StdScript: ; 0x9757b  	call GetScriptByte  	ld d, a  	ld hl, StdScripts +rept 3  	add hl, de -	add hl, de -	add hl, de +endr  	ld a, BANK(StdScripts)  	call GetFarByte  	ld b, a @@ -1858,7 +1862,7 @@ Script_priorityjump: ; 0x975aa  Script_checktriggers: ; 0x975c2  ; script command 0x13 -	call Function211b +	call CheckTriggers  	jr z, .asm_975cb ; 0x975c5 $4  	ld [ScriptVar], a  	ret @@ -2051,7 +2055,7 @@ Script_checkcode: ; 0x9767d  ;     variable_id (SingleByteParam)  	call GetScriptByte -	call Function9769e +	call GetVarAction  	ld a, [de]  	ld [ScriptVar], a  	ret @@ -2063,7 +2067,7 @@ Script_writevarcode: ; 0x97688  ;     variable_id (SingleByteParam)  	call GetScriptByte -	call Function9769e +	call GetVarAction  	ld a, [ScriptVar]  	ld [de], a  	ret @@ -2076,15 +2080,15 @@ Script_writecode: ; 0x97693  ;     value (SingleByteParam)  	call GetScriptByte -	call Function9769e +	call GetVarAction  	call GetScriptByte  	ld [de], a  	ret  ; 0x9769e -Function9769e: ; 0x9769e +GetVarAction: ; 0x9769e  	ld c, a -	callba Function80648 +	callba _GetVarAction  	ret  ; 0x976a6 @@ -2103,28 +2107,28 @@ Version: ; 976ad  Script_pokenamemem: ; 0x976ae  ; script command 0x40  ; parameters: -;     pokemon (PokemonParam) +;     pokemon (PokemonParam); leave $0 to draw from script var  ;     memory (SingleByteParam)  	call GetScriptByte  	and a -	jr nz, .asm_976b7 ; 0x976b2 $3 +	jr nz, .gotit ; 0x976b2 $3  	ld a, [ScriptVar] -.asm_976b7 +.gotit  	ld [wd265], a  	call GetPokemonName  	ld de, StringBuffer1 -Unknown_976c0: ; 0x976c0 +ConvertMemToText: ; 0x976c0  	call GetScriptByte  	cp 3  	jr c, .ok  	xor a  .ok -Function976c8: ; 976c8 +CopyConvertedText: ; 976c8  	ld hl, StringBuffer3 -	ld bc, 19 +	ld bc, StringBuffer4 - StringBuffer3  	call AddNTimes  	call CopyName2  	ret @@ -2138,13 +2142,13 @@ Script_itemtotext: ; 0x976d5  	call GetScriptByte  	and a -	jr nz, .asm_976de ; 0x976d9 $3 +	jr nz, .ok ; 0x976d9 $3  	ld a, [ScriptVar] -.asm_976de +.ok  	ld [wd265], a  	call GetItemName  	ld de, StringBuffer1 -	jr Unknown_976c0 ; 0x976e7 $d7 +	jr ConvertMemToText ; 0x976e7 $d7  ; 0x976e9  Script_mapnametotext: ; 0x976e9 @@ -2158,11 +2162,11 @@ Script_mapnametotext: ; 0x976e9  	ld c, a  	call GetWorldMapLocation -Unknown_976f4: ; 0x976f4 +ConvertLandmarkToText: ; 0x976f4  	ld e, a  	callba GetLandmarkName  	ld de, StringBuffer1 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x97701  Script_displaylocation: ; 0x97701 @@ -2172,7 +2176,7 @@ Script_displaylocation: ; 0x97701  ;     memory (SingleByteParam)  	call GetScriptByte -	jr Unknown_976f4 ; 0x97704 $ee +	jr ConvertLandmarkToText ; 0x97704 $ee  ; 0x97706  Script_trainertotext: ; 0x97706 @@ -2186,8 +2190,8 @@ Script_trainertotext: ; 0x97706  	ld c, a  	call GetScriptByte  	ld b, a -	callba Function3994c -	jr Unknown_976c0 ; 0x97714 $aa +	callba GetTrainerName +	jr ConvertMemToText ; 0x97714 $aa  ; 0x97716  Script_name: ; 0x97716 @@ -2200,12 +2204,12 @@ Script_name: ; 0x97716  	call GetScriptByte  	ld [wcf61], a -Unknown_9771c: ; 0x9771c +ContinueToGetName: ; 0x9771c  	call GetScriptByte  	ld [CurSpecies], a  	call GetName  	ld de, StringBuffer1 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x9772b  Script_trainerclassname: ; 0x9772b @@ -2216,7 +2220,7 @@ Script_trainerclassname: ; 0x9772b  	ld a, TRAINER_NAME  	ld [wcf61], a -	jr Unknown_9771c ; 0x97730 $ea +	jr ContinueToGetName ; 0x97730 $ea  ; 0x97732  Script_readmoney: ; 0x97732 @@ -2225,13 +2229,13 @@ Script_readmoney: ; 0x97732  ;     account (SingleByteParam)  ;     memory (SingleByteParam) -	call Function97771 -	call Function97861 +	call ResetStringBuffer1 +	call GetMoneyAccount  	ld hl, StringBuffer1  	ld bc, $4306  	call PrintNum  	ld de, StringBuffer1 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x97747  Script_readcoins: ; 0x97747 @@ -2239,13 +2243,13 @@ Script_readcoins: ; 0x97747  ; parameters:  ;     memory (SingleByteParam) -	call Function97771 +	call ResetStringBuffer1  	ld hl, StringBuffer1  	ld de, Coins  	ld bc, $4206  	call PrintNum  	ld de, StringBuffer1 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x9775c  Script_RAM2MEM: ; 0x9775c @@ -2253,18 +2257,18 @@ Script_RAM2MEM: ; 0x9775c  ; parameters:  ;     memory (SingleByteParam) -	call Function97771 +	call ResetStringBuffer1  	ld de, ScriptVar  	ld hl, StringBuffer1  	ld bc, $4103  	call PrintNum  	ld de, StringBuffer1 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x97771 -Function97771: ; 0x97771 +ResetStringBuffer1: ; 0x97771  	ld hl, StringBuffer1 -	ld bc, $000b +	ld bc, NAME_LENGTH  	ld a, "@"  	call ByteFill  	ret @@ -2284,7 +2288,7 @@ Script_stringtotext: ; 0x9777d  	ld hl, CopyName1  	rst FarCall  	ld de, StringBuffer2 -	jp Unknown_976c0 +	jp ConvertMemToText  ; 0x97792  Script_givepokeitem: ; 0x97792 @@ -2301,12 +2305,12 @@ Script_givepokeitem: ; 0x97792  	ld b, a  	push bc  	inc hl -	ld bc, $0020 +	ld bc, MAIL_MAX_LENGTH  	ld de, wd002  	ld a, [ScriptBank]  	call FarCopyBytes  	pop bc -	callba Function446cc +	callba GivePokeItem  	ret  ; 0x977b7 @@ -2332,20 +2336,20 @@ Script_giveitem: ; 0x977ca  ;     quantity (SingleByteParam)  	call GetScriptByte -	cp $ff -	jr nz, .asm_977d4 ; 0x977cf $3 +	cp -1 +	jr nz, .ok ; 0x977cf $3  	ld a, [ScriptVar] -.asm_977d4 +.ok  	ld [CurItem], a  	call GetScriptByte  	ld [wd10c], a  	ld hl, NumItems  	call ReceiveItem -	jr nc, .asm_977eb ; 0x977e3 $6 +	jr nc, .full ; 0x977e3 $6  	ld a, $1  	ld [ScriptVar], a  	ret -.asm_977eb +.full  	xor a  	ld [ScriptVar], a  	ret @@ -2396,9 +2400,9 @@ Script_givemoney: ; 0x97829  ;     account (SingleByteParam)  ;     money (MoneyByteParam) -	call Function97861 -	call Function9786d -	callba Function15fd7 +	call GetMoneyAccount +	call LoadMoneyAmountToMem +	callba GiveMoney  	ret  ; 0x97836 @@ -2408,9 +2412,9 @@ Script_takemoney: ; 0x97836  ;     account (SingleByteParam)  ;     money (MoneyByteParam) -	call Function97861 -	call Function9786d -	callba Function15ffa +	call GetMoneyAccount +	call LoadMoneyAmountToMem +	callba TakeMoney  	ret  ; 0x97843 @@ -2420,12 +2424,12 @@ Script_checkmoney: ; 0x97843  ;     account (SingleByteParam)  ;     money (MoneyByteParam) -	call Function97861 -	call Function9786d -	callba Function1600b +	call GetMoneyAccount +	call LoadMoneyAmountToMem +	callba CheckMoney  ; 0x9784f -Unknown_9784f: ; 0x9784f +CheckMoneyAction: ; 0x9784f  	jr c, .two  	jr z, .one  	ld a, 0 @@ -2440,7 +2444,7 @@ Unknown_9784f: ; 0x9784f  	ret  ; 0x97861 -Function97861: ; 0x97861 +GetMoneyAccount: ; 0x97861  	call GetScriptByte  	and a  	ld de, Money @@ -2449,8 +2453,8 @@ Function97861: ; 0x97861  	ret  ; 0x9786d -Function9786d: ; 0x9786d -	ld bc, $ffc3 +LoadMoneyAmountToMem: ; 0x9786d +	ld bc, hMoneyTemp  	push bc  	call GetScriptByte  	ld [bc], a @@ -2469,8 +2473,8 @@ Script_givecoins: ; 0x97881  ; parameters:  ;     coins (CoinByteParam) -	call Function978a0 -	callba Function1606f +	call LoadCoinAmountToMem +	callba GiveCoins  	ret  ; 0x9788b @@ -2479,8 +2483,8 @@ Script_takecoins: ; 0x9788b  ; parameters:  ;     coins (CoinByteParam) -	call Function978a0 -	callba Function1608f +	call LoadCoinAmountToMem +	callba TakeCoins  	ret  ; 0x97895 @@ -2489,17 +2493,17 @@ Script_checkcoins: ; 0x97895  ; parameters:  ;     coins (CoinByteParam) -	call Function978a0 -	callba Function160a1 -	jr Unknown_9784f +	call LoadCoinAmountToMem +	callba CheckCoins +	jr CheckMoneyAction  ; 978a0 -Function978a0: ; 978a0 +LoadCoinAmountToMem: ; 978a0  	call GetScriptByte  	ld [$ffc4], a  	call GetScriptByte -	ld [$ffc3], a -	ld bc, $ffc3 +	ld [hMoneyTemp], a +	ld bc, hMoneyTemp  	ret  ; 0x978ae @@ -2510,7 +2514,7 @@ Script_checktime: ; 0x978ae  	xor a  	ld [ScriptVar], a -	callba Functionc000 +	callba CheckTime  	call GetScriptByte  	and c  	ret z @@ -2545,7 +2549,7 @@ Script_addcellnum: ; 0x978da  	ld [ScriptVar], a  	call GetScriptByte  	ld c, a -	callba Function90000 +	callba AddPhoneNumber  	ret nc  	ld a, $1  	ld [ScriptVar], a @@ -2561,7 +2565,7 @@ Script_delcellnum: ; 0x978ef  	ld [ScriptVar], a  	call GetScriptByte  	ld c, a -	callba Function9000f +	callba DelCellNum  	ret nc  	ld a, $1  	ld [ScriptVar], a @@ -2572,12 +2576,13 @@ Script_checkcellnum: ; 0x97904  ; script command 0x2a  ; parameters:  ;     person (SingleByteParam) +; returns false if the cell number is not in your phone  	xor a  	ld [ScriptVar], a  	call GetScriptByte  	ld c, a -	callba Function90019 +	callba CheckCellNum  	ret nc  	ld a, $1  	ld [ScriptVar], a @@ -2590,16 +2595,17 @@ Script_specialphonecall: ; 0x97919  ;     call_id (MultiByteParam)  	call GetScriptByte -	ld [wdc31], a +	ld [wSpecialPhoneCallID], a  	call GetScriptByte -	ld [wdc31 + 1], a +	ld [wSpecialPhoneCallID + 1], a  	ret  ; 0x97926  Script_checkphonecall: ; 0x97926  ; script command 0x9d +; returns false if no special phone call is stored -	ld a, [wdc31] +	ld a, [wSpecialPhoneCallID]  	and a  	jr z, .ok  	ld a, 1 @@ -2637,7 +2643,7 @@ Script_givepoke: ; 0x97932  	call GetScriptByte  	call GetScriptByte  .ok -	callba Functione277 +	callba GivePoke  	ld a, b  	ld [ScriptVar], a  	ret @@ -2648,6 +2654,7 @@ Script_giveegg: ; 0x97968  ; parameters:  ;     pkmn (PokemonParam)  ;     level (DecimalParam) +; if no room in the party, return 0 in ScriptVar; else, return 2  	xor a  	ld [ScriptVar], a @@ -2658,7 +2665,7 @@ Script_giveegg: ; 0x97968  	ld [CurPartyLevel], a  	callba GiveEgg  	ret nc -	ld a, $2 +	ld a, 2  	ld [ScriptVar], a  	ret  ; 0x97988 @@ -2672,7 +2679,7 @@ Script_setevent: ; 0x97988  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $1 +	ld b, SET_FLAG  	call EventFlagAction  	ret  ; 0x97996 @@ -2686,7 +2693,7 @@ Script_clearevent: ; 0x97996  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $0 +	ld b, RESET_FLAG  	call EventFlagAction  	ret  ; 0x979a4 @@ -2700,13 +2707,13 @@ Script_checkevent: ; 0x979a4  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $2 +	ld b, CHECK_FLAG  	call EventFlagAction  	ld a, c  	and a -	jr z, .asm_979b7 ; 0x979b3 $2 -	ld a, $1 -.asm_979b7 +	jr z, .false ; 0x979b3 $2 +	ld a, 1 +.false  	ld [ScriptVar], a  	ret  ; 0x979bb @@ -2720,8 +2727,8 @@ Script_setflag: ; 0x979bb  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $1 -	call Function979ee +	ld b, 1 ; set +	call _EngineFlagAction  	ret  ; 0x979c9 @@ -2734,8 +2741,8 @@ Script_clearflag: ; 0x979c9  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $0 -	call Function979ee +	ld b, 0 ; clear +	call _EngineFlagAction  	ret  ; 0x979d7 @@ -2748,18 +2755,18 @@ Script_checkflag: ; 0x979d7  	ld e, a  	call GetScriptByte  	ld d, a -	ld b, $2 -	call Function979ee +	ld b, 2 ; check +	call _EngineFlagAction  	ld a, c  	and a -	jr z, .asm_979ea ; 0x979e6 $2 -	ld a, $1 -.asm_979ea +	jr z, .false ; 0x979e6 $2 +	ld a, 1 +.false  	ld [ScriptVar], a  	ret  ; 0x979ee -Function979ee: ; 0x979ee +_EngineFlagAction: ; 0x979ee  	callba EngineFlagAction  	ret  ; 0x979f5 @@ -2808,7 +2815,7 @@ Script_warpfacing: ; 0x97a0e  	set 5, a  	or c  	ld [wd45b], a -; 0x97a1d +; fall through  Script_warp: ; 0x97a1d  ; script command 0x3c @@ -2818,9 +2825,10 @@ Script_warp: ; 0x97a1d  ;     x (SingleByteParam)  ;     y (SingleByteParam) +; This seems to be some sort of error handling case.  	call GetScriptByte  	and a -	jr z, .asm_97a4a ; 0x97a21 $27 +	jr z, .not_ok ; 0x97a21 $27  	ld [MapGroup], a  	call GetScriptByte  	ld [MapNumber], a @@ -2828,24 +2836,24 @@ Script_warp: ; 0x97a1d  	ld [XCoord], a  	call GetScriptByte  	ld [YCoord], a -	ld a, $ff +	ld a, -1  	ld [wd001], a -	ld a, $f1 +	ld a, -15  	ld [$ff9f], a -	ld a, $1 -	call Function261b +	ld a, 1 +	call LoadMapStatus  	call StopScript  	ret -.asm_97a4a +.not_ok  	call GetScriptByte  	call GetScriptByte  	call GetScriptByte -	ld a, $ff +	ld a, -1  	ld [wd001], a -	ld a, $fb +	ld a, -5  	ld [$ff9f], a -	ld a, $1 -	call Function261b +	ld a, 1 +	call LoadMapStatus  	call StopScript  	ret  ; 0x97a65 @@ -2882,7 +2890,7 @@ Script_blackoutmod: ; 0x97a78  Script_reloadmapmusic: ; 0x97a85  ; script command 0x83 -	ld a, $1 +	ld a, 1  	ld [wc2c1], a  	ret  ; 0x97a8b @@ -2913,7 +2921,7 @@ Script_delcmdqueue: ; 0x97a9e  	ld b, a  	callba Function97e5c  	ret c -	ld a, $1 +	ld a, 1  	ld [ScriptVar], a  	ret  ; 0x97ab3 @@ -2929,8 +2937,8 @@ Script_changemap: ; 0x97ab3  	ld [MapBlockDataPointer], a  	call GetScriptByte  	ld [MapBlockDataPointer + 1], a -	call Function24e4 -	call Function2879 +	call ChangeMap +	call BufferScreen  	ret  ; 0x97acc @@ -2942,15 +2950,15 @@ Script_changeblock: ; 0x97acc  ;     block (SingleByteParam)  	call GetScriptByte -	add $4 +	add 4  	ld d, a  	call GetScriptByte -	add $4 +	add 4  	ld e, a -	call Function2a66 +	call GetBlockLocation  	call GetScriptByte  	ld [hl], a -	call Function2879 +	call BufferScreen  	ret  ; 0x97ae3 @@ -2962,7 +2970,7 @@ Script_reloadmappart:: ; 0x97ae3  	call Function2173  	call Function2914  	callba Function104061 -	call Function1ad2 +	call DrawOnMap  	ret  ; 0x97af6 @@ -2971,12 +2979,12 @@ Script_warpcheck: ; 0x97af6  	call Function224a  	ret nc -	callba Function966d0 +	callba SetAll_ScriptFlags3  	ret  ; 0x97b01  Function97b01: ; 0x97b01 -	callba Function966d0 +	callba SetAll_ScriptFlags3  	ret  ; 0x97b08 @@ -2987,8 +2995,8 @@ Script_newloadmap: ; 0x97b08  	call GetScriptByte  	ld [$ff9f], a -	ld a, $1 -	call Function261b +	ld a, 1 +	call LoadMapStatus  	call StopScript  	ret  ; 0x97b16 @@ -3064,14 +3072,14 @@ Script_pause: ; 0x97b47  	call GetScriptByte  	and a -	jr z, .asm_97b50 ; 0x97b4b $3 +	jr z, .loop ; 0x97b4b $3  	ld [ScriptDelay], a -.asm_97b50 +.loop  	ld c, 2  	call DelayFrames  	ld hl, ScriptDelay  	dec [hl] -	jr nz, .asm_97b50 ; 0x97b59 $f5 +	jr nz, .loop ; 0x97b59 $f5  	ret  ; 0x97b5c @@ -3082,9 +3090,9 @@ Script_deactivatefacing: ; 0x97b5c  	call GetScriptByte  	and a -	jr z, .asm_97b65 ; 0x97b60 $3 +	jr z, .no_time ; 0x97b60 $3  	ld [ScriptDelay], a -.asm_97b65 +.no_time  	ld a, SCRIPT_WAIT  	ld [ScriptMode], a  	call StopScript @@ -3104,9 +3112,9 @@ Script_end: ; 0x97b74  ; script command 0x91  	call ExitScriptSubroutine -	jr c, .asm_97b7a +	jr c, .resume  	ret -.asm_97b7a +.resume  	xor a  	ld [ScriptRunning], a  	ld a, SCRIPT_OFF @@ -3121,8 +3129,8 @@ Script_return: ; 0x97b8c  ; script command 0x90  	call ExitScriptSubroutine -	jr c, .asm_97b91 -.asm_97b91 +	jr c, .dummy +.dummy  	ld hl, ScriptFlags  	res 0, [hl]  	call StopScript @@ -3135,17 +3143,17 @@ ExitScriptSubroutine: ; 0x97b9a  	ld hl, wd43c  	ld a, [hl]  	and a -	jr z, .asm_97bbe ; 0x97b9f $1d +	jr z, .done ; 0x97b9f $1d  	dec [hl]  	ld e, [hl]  	ld d, $0  	ld hl, wd43d -	add hl, de -	add hl, de -	add hl, de +rept 3 +	add hl,de +endr  	ld a, [hli]  	ld b, a -	and $7f +	and " "  	ld [ScriptBank], a  	ld a, [hli]  	ld e, a @@ -3155,7 +3163,7 @@ ExitScriptSubroutine: ; 0x97b9a  	ld [ScriptPos + 1], a  	and a  	ret -.asm_97bbe +.done  	scf  	ret  ; 0x97bc0 @@ -3196,7 +3204,7 @@ Script_credits: ; 0x97bf3  DisplayCredits:  	call Script_resetfuncs  	ld a, $3 -	call Function261b +	call LoadMapStatus  	call StopScript  	ret  ; 0x97c051 @@ -3208,13 +3216,13 @@ Script_wait: ; 0x97c05  	push bc  	call GetScriptByte -.asm_97c09 +.loop  	push af  	ld c, 6  	call DelayFrames  	pop af  	dec a -	jr nz, .asm_97c09 ; 0x97c11 $f6 +	jr nz, .loop ; 0x97c11 $f6  	pop bc  	ret  ; 0x97c15 @@ -3229,7 +3237,7 @@ Script_unknown0xa9: ; 0x97c15  ; 0x97c20 -Function97c20: ; 97c20 +Function97c20: ; 97c20 unreferenced  	ld a, [.byte]  	ld [ScriptVar], a  	ret diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index ce96b0ce5..eb42ab0d1 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -18,7 +18,7 @@ ENDM  	spawn VIRIDIAN,    VIRIDIAN_CITY,              23, 26  	spawn PEWTER,      PEWTER_CITY,                13, 26  	spawn CERULEAN,    CERULEAN_CITY,              19, 22 -	spawn ROCK_TUNNEL, ROUTE_10A,                  11,  2 +	spawn ROCK_TUNNEL, ROUTE_10_NORTH,             11,  2  	spawn VERMILION,   VERMILION_CITY,              9,  6  	spawn LAVENDER,    LAVENDER_TOWN,               5,  6  	spawn SAFFRON,     SAFFRON_CITY,                9, 30 @@ -41,22 +41,24 @@ ENDM  	spawn BLACKTHORN,  BLACKTHORN_CITY,            21, 30  	spawn MT_SILVER,   SILVER_CAVE_OUTSIDE,        23, 20  	spawn FAST_SHIP,   FAST_SHIP_CABINS_SW_SSW_NW,  6,  2 +NUM_SPAWNS EQU const_value +const_value = -1 +	spawn N_A,         N_A,                        -1, -1 -	db -1, -1, -1, -1 - -	const NUM_SPAWNS  LoadSpawnPoint: ; 1531f +	; loads the spawn point in wd001  	push hl  	push de  	ld a, [wd001] -	cp -1 -	jr z, .asm_15341 +	cp SPAWN_N_A +	jr z, .spawn_n_a  	ld l, a  	ld h, 0 -	add hl, hl -	add hl, hl +rept 2 ; multiply hl by 4 +	add hl,hl +endr  	ld de, SpawnPoints  	add hl, de  	ld a, [hli] @@ -67,7 +69,7 @@ LoadSpawnPoint: ; 1531f  	ld [XCoord], a  	ld a, [hli]  	ld [YCoord], a -.asm_15341 +.spawn_n_a  	pop de  	pop hl  	ret @@ -75,32 +77,33 @@ LoadSpawnPoint: ; 1531f  IsSpawnPoint: ; 15344 +; Checks if the map loaded in de is a spawn point.  Returns carry if it's a spawn point.  	ld hl, SpawnPoints  	ld c, 0 -.asm_15349 +.loop  	ld a, [hl] -	cp -1 -	jr z, .asm_1535f +	cp SPAWN_N_A +	jr z, .nope  	cp d -	jr nz, .asm_15356 +	jr nz, .next  	inc hl  	ld a, [hld]  	cp e -	jr z, .asm_15361 +	jr z, .yes -.asm_15356 +.next  	push bc  	ld bc, 4  	add hl, bc  	pop bc  	inc c -	jr .asm_15349 +	jr .loop -.asm_1535f +.nope  	and a  	ret -.asm_15361 +.yes  	scf  	ret  ; 15363 diff --git a/engine/specials.asm b/engine/specials.asm index 35af3160d..e4e2005a6 100644 --- a/engine/specials.asm +++ b/engine/specials.asm @@ -2,9 +2,9 @@  Special:: ; c01b  ; Run script special de.  	ld hl, SpecialsPointers -	add hl, de -	add hl, de -	add hl, de +rept 3 +	add hl,de +endr  	ld b, [hl]  	inc hl  	ld a, [hli] @@ -16,64 +16,68 @@ Special:: ; c01b  ; c029  SpecialsPointers:: ; c029 -	add_special Function97c28 -	add_special Function29ce8 -	add_special Function29d11 -	add_special Function29d92 -	add_special Function29e66 -	add_special Function29e82 -	add_special Function29efa -	add_special Function29eee -	add_special Function29c92 -	add_special Function29cf1 -	add_special Function29cfa -	add_special Function29bfb -	add_special Function29c7b -	add_special Function29ec4 -	add_special Function29ed9 -	add_special Function29eaf -	add_special Function29f47 -	add_special Functionc2f6 -	add_special Functionc309 -	add_special Function1050b9 -	add_special Functionc34a -	add_special Function4d9e5 -	add_special Function13a12 -	add_special Function13a31 -	add_special Function135db -	add_special Functionfbb32 -	add_special Functionfbcd2 +	add_special WarpToSpawnPoint + +; Communications +	add_special Special_SetBitsForLinkTradeRequest +	add_special Special_WaitForLinkedFriend +	add_special Special_CheckLinkTimeout +	add_special Special_TryQuickSave +	add_special Special_CheckBothSelectedSameRoom +	add_special Special_FailedLinkToPast +	add_special Special_CloseLink +	add_special Special_AbortLink +	add_special Special_SetBitsForBattleRequest +	add_special Special_SetBitsForTimeCapsuleRequest +	add_special Special_CheckTimeCapsuleCompatibility +	add_special Special_EnterTimeCapsule +	add_special Special_TradeCenter +	add_special Special_Colosseum +	add_special Special_TimeCapsule +	add_special Special_CableClubCheckWhichChris +	add_special Special_CheckMysteryGift +	add_special Special_GetMysteryGiftItem +	add_special Special_UnlockMysteryGift + +; Bug Catching Contest +	add_special BugContestJudging +	add_special CheckPartyFullAfterContest +	add_special CheckFirstMonFainted +	add_special ContestReturnMons +	add_special Special_GiveParkBalls +	add_special Special_CheckMagikarpLength +	add_special Special_MagikarpHouseSign  	add_special HealParty -	add_special Function1559a -	add_special Functionc2e7 -	add_special Function166d6 -	add_special Function1672a -	add_special Function16936 +	add_special PokemonCenterPC +	add_special Special_KrissHousePC +	add_special Special_DayCareMan +	add_special Special_DayCareLady +	add_special Special_DayCareManOutside  	add_special MoveDeletion -	add_special Function16218 -	add_special Function8cc04 +	add_special Special_BankOfMom +	add_special Special_MagnetTrain  	add_special SpecialNameRival -	add_special Function90913 -	add_special Functionc2c0 -	add_special Functionc2cd -	add_special Functionc355 -	add_special Functionc360 -	add_special Functionc373 -	add_special Functionc380 -	add_special Functionc38d -	add_special Functionc3db -	add_special Function8c084 -	add_special Function8c092 -	add_special Function8c0b6 -	add_special Function8c079 -	add_special Function8c0ab -	add_special Functiond91 +	add_special Special_SetDayOfWeek +	add_special Special_TownMap +	add_special Special_UnownPrinter +	add_special MapRadio +	add_special Special_UnownPuzzle +	add_special Special_SlotMachine +	add_special Special_CardFlip +	add_special Special_DummyNonfunctionalGameCornerGame +	add_special Special_WhiteBGMapBufferScreen +	add_special FadeBlackBGMap +	add_special Special_BattleTowerFade +	add_special Special_FadeBlackQuickly +	add_special FadeInBGMap +	add_special Special_FadeInQuickly +	add_special Special_ReloadSpritesNoPalettes  	add_special WhiteBGMap  	add_special UpdateTimePals  	add_special ClearTileMap -	add_special Function1ad2 -	add_special Functione4a -	add_special Functionc230 +	add_special DrawOnMap +	add_special Special_ReplaceKrisSprite +	add_special Special_GameCornerPrizeMonCheckDex  	add_special SpecialSeenMon  	add_special WaitSFX  	add_special PlayMapMusic @@ -87,10 +91,10 @@ SpecialsPointers:: ; c029  	add_special Functionc3ef  	add_special Function17421  	add_special Function17440 -	add_special Function139a8 +	add_special Special_SelectRandomBugContestContestants  	add_special Functionc3fc -	add_special Function26feb -	add_special Function27043 +	add_special ToggleMaptileDecorations +	add_special ToggleDecorationsVisibility  	add_special SpecialGiveShuckle  	add_special SpecialReturnShuckle  	add_special Function73f7 @@ -105,12 +109,12 @@ SpecialsPointers:: ; c029  	add_special Function88018  	add_special SpecialNameRater  	add_special Functionc2da -	add_special Function718d +	add_special GetFirstPokemonHappiness  	add_special Function71ac  	add_special Function2a4ab  	add_special Function2a51f  	add_special RandomPhoneMon -	add_special Function14209 +	add_special RunCallback_04  	add_special Functionfb841  	add_special SpecialSnorlaxAwake  	add_special Function7413 @@ -148,10 +152,10 @@ SpecialsPointers:: ; c029  	add_special Function101225  	add_special Function101231  	add_special Function4925b -	add_special Function8adef +	add_special SpecialOmanyteChamber  	add_special Function11c1ab  	add_special Function170687 -	add_special Function8ae68 +	add_special Special_DisplayUnownWords  	add_special Function17d224  	add_special Function17d2b6  	add_special Function17d2ce @@ -170,17 +174,17 @@ SpecialsPointers:: ; c029  	add_special SpecialMonCheck  	add_special Functionc225  	add_special Function170bd2 -	add_special Function10366e +	add_special Mobile_SelectThreeMons  	add_special Function1037eb  	add_special Function10383c -	add_special Function1060a2 +	add_special Mobile_HealParty  	add_special Function14168  	add_special Function1037c2  	add_special Function10630f  	add_special Function103780  	add_special Function10387b  	add_special Function4ae12 -	add_special Function1047eb +	add_special LoadMapPalettes  	add_special Function4a927  	add_special Function90a54  	add_special Function90a88 @@ -198,7 +202,7 @@ Functionc225: ; c225  	ret  ; c230 -Functionc230: ; c230 +Special_GameCornerPrizeMonCheckDex: ; c230  	ld a, [ScriptVar]  	dec a  	call CheckCaughtMon @@ -263,7 +267,7 @@ Functionc298: ; c298  SpecialNameRival: ; 0xc29d  	ld b, $2 ; rival  	ld de, RivalName -	callba Function116b7 +	callba _NamingScreen  	; default to "SILVER"  	ld hl, RivalName  	ld de, DefaultRivalName @@ -279,14 +283,14 @@ SpecialNameRater: ; c2b9  	ret  ; c2c0 -Functionc2c0: ; c2c0 +Special_TownMap: ; c2c0  	call FadeToMenu  	callba Function9191c  	call Function2b4d  	ret  ; c2cd -Functionc2cd: ; c2cd +Special_UnownPrinter: ; c2cd  	call FadeToMenu  	callba Function16be4  	call Function2b4d @@ -300,7 +304,7 @@ Functionc2da: ; c2da  	ret  ; c2e7 -Functionc2e7: ; c2e7 +Special_KrissHousePC: ; c2e7  	xor a  	ld [ScriptVar], a  	callba Function156d9 @@ -309,21 +313,21 @@ Functionc2e7: ; c2e7  	ret  ; c2f6 -Functionc2f6: ; c2f6 +Special_CheckMysteryGift: ; c2f6  	ld a, $0  	call GetSRAMBank  	ld a, [$abe2]  	and a -	jr z, .asm_c302 +	jr z, .no  	inc a -.asm_c302 +.no  	ld [ScriptVar], a  	call CloseSRAM  	ret  ; c309 -Functionc309: ; c309 +Special_GetMysteryGiftItem: ; c309  	ld a, $0  	call GetSRAMBank  	ld a, [$abe2] @@ -358,21 +362,21 @@ UnknownText_0xc345: ; 0xc345  	db "@"  ; 0xc34a -Functionc34a: ; c34a -	callba Function1369d +BugContestJudging: ; c34a +	callba _BugContestJudging  	ld a, b  	ld [ScriptVar], a  	ret  ; c355 -Functionc355: ; c355 +MapRadio: ; c355  	ld a, [ScriptVar]  	ld e, a -	callba Function91a53 +	callba PlayRadio  	ret  ; c360 -Functionc360: ; c360 +Special_UnownPuzzle: ; c360  	call FadeToMenu  	callba Functione1190  	ld a, [wd0ec] @@ -381,34 +385,34 @@ Functionc360: ; c360  	ret  ; c373 -Functionc373: ; c373 -	call Functionc3ae +Special_SlotMachine: ; c373 +	call Special_CheckCoins  	ret c -	ld a, BANK(Function926c7) -	ld hl, Function926c7 -	call Functionc39a +	ld a, BANK(_SlotMachine) +	ld hl, _SlotMachine +	call Special_StartGameCornerGame  	ret  ; c380 -Functionc380: ; c380 -	call Functionc3ae +Special_CardFlip: ; c380 +	call Special_CheckCoins  	ret c -	ld a, BANK(Functione00ee) -	ld hl, Functione00ee -	call Functionc39a +	ld a, BANK(_CardFlip) +	ld hl, _CardFlip +	call Special_StartGameCornerGame  	ret  ; c38d -Functionc38d: ; c38d -	call Functionc3ae +Special_DummyNonfunctionalGameCornerGame: ; c38d +	call Special_CheckCoins  	ret c -	ld a, BANK(Functione1e5b) -	ld hl, Functione1e5b -	call Functionc39a +	ld a, BANK(_DummyGame) +	ld hl, _DummyGame +	call Special_StartGameCornerGame  	ret  ; c39a -Functionc39a: ; c39a +Special_StartGameCornerGame: ; c39a  	call Function31cf  	call FadeToMenu  	ld hl, wd0e8 @@ -423,7 +427,7 @@ Functionc39a: ; c39a  	ret  ; c3ae -Functionc3ae: ; c3ae +Special_CheckCoins: ; c3ae  	ld hl, Coins  	ld a, [hli]  	or [hl] @@ -461,9 +465,9 @@ UnknownText_0xc3d6: ; 0xc3d6  	db "@"  ; 0xc3db -Functionc3db: ; c3db +Special_WhiteBGMapBufferScreen: ; c3db  	call WhiteBGMap -	call Function2879 +	call BufferScreen  	ret  ; c3e2 @@ -492,17 +496,18 @@ Functionc3fc: ; c3fc  ; c403 -Functionc403:: ; c403 +LoadWildData:: ; c403  	ld a, c  	and a -	jr nz, .asm_c410 +	jr nz, .swarm_route35 +; swarm dark cave violet entrance  	ld a, d  	ld [wdfcc], a  	ld a, e  	ld [wdfcd], a  	ret -.asm_c410 +.swarm_route35  	ld a, d  	ld [wdc5a], a  	ld a, e diff --git a/engine/std_scripts.asm b/engine/std_scripts.asm index fbe05c4e2..aa0b879a7 100644 --- a/engine/std_scripts.asm +++ b/engine/std_scripts.asm @@ -46,10 +46,10 @@ StdScripts::  	dbw BANK(RematchGiftFScript), RematchGiftFScript  	dbw BANK(GymStatue1Script), GymStatue1Script  	dbw BANK(GymStatue2Script), GymStatue2Script -	dbw BANK(UnknownScript_0xbcdb9), UnknownScript_0xbcdb9 -	dbw BANK(UnknownScript_0xbcdc3), UnknownScript_0xbcdc3 +	dbw BANK(ReceiveItemScript), ReceiveItemScript +	dbw BANK(ReceiveTogepiEggScript), ReceiveTogepiEggScript  	dbw BANK(PCScript), PCScript -	dbw BANK(UnknownScript_0xbcdcd), UnknownScript_0xbcdcd +	dbw BANK(GameCornerCoinVendorScript), GameCornerCoinVendorScript  	dbw BANK(HappinessCheckScript), HappinessCheckScript  PokeCenterNurseScript: @@ -107,12 +107,12 @@ PokeCenterNurseScript:  	farwritetext UnknownText_0x1b01bd  	pause 20 -	special Function1060a2 +	special Mobile_HealParty  	spriteface $fe, LEFT  	pause 10  	special HealParty  	playmusic MUSIC_NONE -	writebyte 0 +	writebyte 0 ; Machine is at a Pokemon Center  	special HealMachineAnim  	pause 30  	special RestartMapMusic @@ -159,7 +159,7 @@ PokeCenterNurseScript:  .pokerus_done  	setflag ENGINE_POKERUS -	specialphonecall 1 ; elm calls about pokerus +	specialphonecall ELMCALL_POKERUS  	end  DifficultBookshelfScript: @@ -184,7 +184,7 @@ TownMapScript:  	loadfont  	farwritetext TownMapText  	closetext -	special Functionc2c0 +	special Special_TownMap  	loadmovesprites  	end @@ -204,7 +204,7 @@ HomepageScript:  Radio1Script:  	loadfont  	writebyte $0 -	special Functionc355 +	special MapRadio  	loadmovesprites  	end @@ -212,7 +212,7 @@ Radio2Script:  ; Lucky Channel  	loadfont  	writebyte $4 -	special Functionc355 +	special MapRadio  	loadmovesprites  	end @@ -221,7 +221,7 @@ TrashCanScript: ; 0xbc1a5  PCScript:  	loadfont -	special Function1559a +	special PokemonCenterPC  	loadmovesprites  	end @@ -244,7 +244,7 @@ MartSignScript  	farjumptext MartSignText  DayToTextScript: -	checkcode $b +	checkcode VAR_WEEKDAY  	if_equal MONDAY, .Monday  	if_equal TUESDAY, .Tuesday  	if_equal WEDNESDAY, .Wednesday @@ -287,362 +287,362 @@ DayToTextScript:  	db "SATURDAY@"  GoldenrodRocketsScript: -	clearevent $06cd +	clearevent EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER  	end  RadioTowerRocketsScript: -	setflag $0013 -	setevent $06cf -	setevent $06d1 -	clearevent $06ce -	clearevent $0025 -	setevent $0756 -	specialphonecall $0004 +	setflag ENGINE_ROCKETS_IN_RADIO_TOWER +	setevent EVENT_GOLDENROD_CITY_CIVILIANS +	setevent EVENT_RADIO_TOWER_BLACKBELT_BLOCKS_STAIRS +	clearevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER +	clearevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER +	setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST +	specialphonecall ELMCALL_WEIRDBROADCAST  	domaptrigger GROUP_MAHOGANY_TOWN, MAP_MAHOGANY_TOWN, $1  	end  BugContestResultsWarpScript:  	special WhiteBGMap -	scall UnknownScript_0xbc380 -	setevent $0747 -	clearevent $0748 -	setevent $02d2 +	scall BugContestResults_CopyContestantsToResults +	setevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY +	clearevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY +	setevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE  	warp GROUP_ROUTE_36_NATIONAL_PARK_GATE, MAP_ROUTE_36_NATIONAL_PARK_GATE, $0, $4 -	applymovement $0, MovementData_0xbcea1 +	applymovement $0, Movement_ContestResults_WalkAfterWarp  BugContestResultsScript: -	clearflag $0011 -	clearevent $02d2 -	clearevent $0313 -	clearevent $0314 -	clearevent $0315 -	clearevent $0316 +	clearflag ENGINE_BUG_CONTEST_TIMER +	clearevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE +	clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE +	clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE +	clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY +	clearevent EVENT_CONTEST_OFFICER_HAS_BERRY  	loadfont -	farwritetext UnknownText_0x1b05bf +	farwritetext ContestResults_ReadyToJudgeText  	closetext -	special Functionc34a +	special BugContestJudging  	RAM2MEM $0 -	if_equal $1, UnknownScript_0xbc31e -	if_equal $2, UnknownScript_0xbc332 -	if_equal $3, UnknownScript_0xbc343 -	farwritetext UnknownText_0x1b0681 +	if_equal 1, BugContestResults_FirstPlace +	if_equal 2, BugContestResults_SecondPlace +	if_equal 3, BugContestResults_ThirdPlace +	farwritetext ContestResults_ConsolationPrizeText  	keeptextopen  	waitbutton  	verbosegiveitem BERRY, 1 -	iffalse UnknownScript_0xbc375 +	iffalse BugContestResults_NoRoomForBerry -UnknownScript_0xbc2a9: -	farwritetext UnknownText_0x1b06b7 +BugContestResults_DidNotWin +	farwritetext ContestResults_DidNotWinText  	keeptextopen -	jump UnknownScript_0xbc2b6 +	jump BugContestResults_FinishUp  ; 0xbc2b1 -UnknownScript_0xbc2b1: ; 0xbc2b1 -	farwritetext UnknownText_0x1b065b +BugContestResults_ReturnAfterWinnersPrize ; 0xbc2b1 +	farwritetext ContestResults_JoinUsNextTimeText  	keeptextopen -UnknownScript_0xbc2b6: -	checkevent $0308 -	iffalse UnknownScript_0xbc2c4 -	farwritetext UnknownText_0x1b06d9 +BugContestResults_FinishUp +	checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER +	iffalse BugContestResults_DidNotLeaveMons +	farwritetext ContestResults_ReturnPartyText  	closetext -	special Function13a31 -UnknownScript_0xbc2c4: -	special Function4d9e5 -	if_equal $0, UnknownScript_0xbc2d4 -	if_equal $2, UnknownScript_0xbc2d4 -	farwritetext UnknownText_0x1b070d +	special ContestReturnMons +BugContestResults_DidNotLeaveMons +	special CheckPartyFullAfterContest +	if_equal $0, BugContestResults_CleanUp +	if_equal $2, BugContestResults_CleanUp +	farwritetext ContestResults_PartyFullText  	closetext -UnknownScript_0xbc2d4: +BugContestResults_CleanUp  	loadmovesprites  	dotrigger $0  	domaptrigger GROUP_ROUTE_35_NATIONAL_PARK_GATE, MAP_ROUTE_35_NATIONAL_PARK_GATE, $0 -	setevent $0716 -	setevent $0717 -	setevent $0718 -	setevent $0719 -	setevent $071a -	setevent $071b -	setevent $071c -	setevent $071d -	setevent $071e -	setevent $071f -	setevent $0720 -	setevent $0721 -	setevent $0722 -	setevent $0723 -	setevent $0724 -	setevent $0725 -	setevent $0726 -	setevent $0727 -	setevent $0728 -	setevent $0729 -	setflag $0051 +	setevent EVENT_BUG_CATCHING_CONTESTANT_1A +	setevent EVENT_BUG_CATCHING_CONTESTANT_2A +	setevent EVENT_BUG_CATCHING_CONTESTANT_3A +	setevent EVENT_BUG_CATCHING_CONTESTANT_4A +	setevent EVENT_BUG_CATCHING_CONTESTANT_5A +	setevent EVENT_BUG_CATCHING_CONTESTANT_6A +	setevent EVENT_BUG_CATCHING_CONTESTANT_7A +	setevent EVENT_BUG_CATCHING_CONTESTANT_8A +	setevent EVENT_BUG_CATCHING_CONTESTANT_9A +	setevent EVENT_BUG_CATCHING_CONTESTANT_10A +	setevent EVENT_BUG_CATCHING_CONTESTANT_1B +	setevent EVENT_BUG_CATCHING_CONTESTANT_2B +	setevent EVENT_BUG_CATCHING_CONTESTANT_3B +	setevent EVENT_BUG_CATCHING_CONTESTANT_4B +	setevent EVENT_BUG_CATCHING_CONTESTANT_5B +	setevent EVENT_BUG_CATCHING_CONTESTANT_6B +	setevent EVENT_BUG_CATCHING_CONTESTANT_7B +	setevent EVENT_BUG_CATCHING_CONTESTANT_8B +	setevent EVENT_BUG_CATCHING_CONTESTANT_9B +	setevent EVENT_BUG_CATCHING_CONTESTANT_10B +	setflag ENGINE_DAILY_BUG_CONTEST  	special PlayMapMusic  	end  ; 0xbc31e -UnknownScript_0xbc31e: ; 0xbc31e -	setevent $0000 +BugContestResults_FirstPlace ; 0xbc31e +	setevent EVENT_GAVE_KURT_APRICORNS  	itemtotext SUN_STONE, $1 -	farwritetext UnknownText_0x1b0621 +	farwritetext ContestResults_PlayerWonAPrizeText  	closetext  	verbosegiveitem SUN_STONE, 1 -	iffalse UnknownScript_0xbc354 -	jump UnknownScript_0xbc2b1 +	iffalse BugContestResults_NoRoomForSunStone +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc332 -UnknownScript_0xbc332: ; 0xbc332 +BugContestResults_SecondPlace ; 0xbc332  	itemtotext EVERSTONE, $1 -	farwritetext UnknownText_0x1b0621 +	farwritetext ContestResults_PlayerWonAPrizeText  	closetext  	verbosegiveitem EVERSTONE, 1 -	iffalse UnknownScript_0xbc35f -	jump UnknownScript_0xbc2b1 +	iffalse BugContestResults_NoRoomForEverstone +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc343 -UnknownScript_0xbc343: ; 0xbc343 +BugContestResults_ThirdPlace ; 0xbc343  	itemtotext GOLD_BERRY, $1 -	farwritetext UnknownText_0x1b0621 +	farwritetext ContestResults_PlayerWonAPrizeText  	closetext  	verbosegiveitem GOLD_BERRY, 1 -	iffalse UnknownScript_0xbc36a -	jump UnknownScript_0xbc2b1 +	iffalse BugContestResults_NoRoomForGoldBerry +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc354 -UnknownScript_0xbc354: ; 0xbc354 +BugContestResults_NoRoomForSunStone ; 0xbc354  	farwritetext UnknownText_0x1b08cc  	keeptextopen -	setevent $0313 -	jump UnknownScript_0xbc2b1 +	setevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc35f -UnknownScript_0xbc35f: ; 0xbc35f +BugContestResults_NoRoomForEverstone ; 0xbc35f  	farwritetext UnknownText_0x1b08cc  	keeptextopen -	setevent $0314 -	jump UnknownScript_0xbc2b1 +	setevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc36a -UnknownScript_0xbc36a: ; 0xbc36a +BugContestResults_NoRoomForGoldBerry ; 0xbc36a  	farwritetext UnknownText_0x1b08cc  	keeptextopen -	setevent $0315 -	jump UnknownScript_0xbc2b1 +	setevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY +	jump BugContestResults_ReturnAfterWinnersPrize  ; 0xbc375 -UnknownScript_0xbc375: ; 0xbc375 +BugContestResults_NoRoomForBerry ; 0xbc375  	farwritetext UnknownText_0x1b08cc  	keeptextopen -	setevent $0316 -	jump UnknownScript_0xbc2a9 +	setevent EVENT_CONTEST_OFFICER_HAS_BERRY +	jump BugContestResults_DidNotWin  ; 0xbc380 -UnknownScript_0xbc380: ; 0xbc380 -	checkevent $0716 +BugContestResults_CopyContestantsToResults ; 0xbc380 +	checkevent EVENT_BUG_CATCHING_CONTESTANT_1A  	iftrue .skip1 -	clearevent $0720 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_1B  .skip1 -	checkevent $0717 +	checkevent EVENT_BUG_CATCHING_CONTESTANT_2A  	iftrue .skip2 -	clearevent $0721 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_2B  .skip2 -	checkevent $0718 +	checkevent EVENT_BUG_CATCHING_CONTESTANT_3A  	iftrue .skip3 -	clearevent $0722 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_3B  .skip3 -	checkevent $0719 +	checkevent EVENT_BUG_CATCHING_CONTESTANT_4A  	iftrue .skip4 -	clearevent $0723 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_4B  .skip4 -	checkevent $071a +	checkevent EVENT_BUG_CATCHING_CONTESTANT_5A  	iftrue .skip5 -	clearevent $0724 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_5B  .skip5 -	checkevent $071b +	checkevent EVENT_BUG_CATCHING_CONTESTANT_6A  	iftrue .skip6 -	clearevent $0725 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_6B  .skip6 -	checkevent $071c +	checkevent EVENT_BUG_CATCHING_CONTESTANT_7A  	iftrue .skip7 -	clearevent $0726 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_7B  .skip7 -	checkevent $071d +	checkevent EVENT_BUG_CATCHING_CONTESTANT_8A  	iftrue .skip8 -	clearevent $0727 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_8B  .skip8 -	checkevent $071e +	checkevent EVENT_BUG_CATCHING_CONTESTANT_9A  	iftrue .skip9 -	clearevent $0728 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_9B  .skip9 -	checkevent $071f +	checkevent EVENT_BUG_CATCHING_CONTESTANT_10A  	iftrue .skip10 -	clearevent $0729 +	clearevent EVENT_BUG_CATCHING_CONTESTANT_10B  .skip10  	end  InitializeEventsScript: -	setevent $06cb -	setevent $06ce -	setevent $06cd -	setevent $06d0 -	setevent $06f3 -	setevent $06e9 -	setevent $06f4 -	setevent $06d5 -	setevent $06de -	setevent $06dd -	setevent $06df -	setevent $06c0 -	setevent $06e4 -	setevent $0025 -	setevent $06be -	setevent $06bf -	setevent $06c1 -	setevent $06f9 -	setevent $06fd -	setevent $06ff -	setevent $0700 -	setevent $0702 -	setevent $0703 -	setevent $0704 -	setevent $070d -	setevent $070e -	setevent $070f -	setevent $0710 -	setevent $0715 -	setevent $0716 -	setevent $0717 -	setevent $0718 -	setevent $0719 -	setevent $071a -	setevent $071b -	setevent $071c -	setevent $071d -	setevent $071e -	setevent $071f -	setevent $0720 -	setevent $0721 -	setevent $0722 -	setevent $0723 -	setevent $0724 -	setevent $0725 -	setevent $0726 -	setevent $0727 -	setevent $0728 -	setevent $0729 -	setevent $072c -	setevent $072f -	setevent $072d -	setevent $0735 -	setevent $0736 -	setevent $073c -	setevent $073d -	setevent $0741 -	setevent $0742 -	setevent $0743 -	setevent $0744 -	setevent $02a4 -	setevent $02af -	setevent $0749 -	setevent $06d3 -	setevent $074d -	setevent $0712 -	setevent $0713 -	setevent $0711 -	setevent $06d4 -	setevent $0304 -	setevent $0307 -	setevent $06d8 -	setevent $06c3 -	setevent $06c2 -	setevent $06c6 -	setevent $075f -	setevent $0731 -	setevent $074a -	setevent $0762 -	setevent $0738 -	setevent $073a -	setevent $073b -	setevent $0733 -	setevent $073f -	setevent $078d -	setevent $0766 -	setevent $0768 -	setevent $0769 -	setevent $076a -	setevent $078e -	setevent $078f -	setevent $0790 -	setevent $0791 -	setevent $0793 -	setevent $07a4 -	setevent $07a4 -	setevent $07a5 -	setevent $06ec -	setevent $06ed -	setevent $06f0 -	setevent $07a9 -	setevent $07aa -	setevent $06c8 -	setevent $07ac -	setevent $07ad -	setevent $07b5 -	setevent $07b6 -	setevent $07c5 -	setevent $07b7 -	setevent $07b0 -	setevent $07af -	setevent $07ae -	setevent $07cf +	setevent EVENT_EARLS_ACADEMY_EARL +	setevent EVENT_RADIO_TOWER_ROCKET_TAKEOVER +	setevent EVENT_GOLDENROD_CITY_ROCKET_TAKEOVER +	setevent EVENT_RADIO_TOWER_CIVILIANS_AFTER +	setevent EVENT_ILEX_FOREST_APPRENTICE +	setevent EVENT_ILEX_FOREST_FARFETCHD +	setevent EVENT_ILEX_FOREST_CHARCOAL_MASTER +	setevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE +	setevent EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE +	setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE +	setevent EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE +	setevent EVENT_RIVAL_TEAM_ROCKET_BASE +	setevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM +	setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER +	setevent EVENT_RIVAL_CHERRYGROVE_CITY +	setevent EVENT_RIVAL_AZALEA_TOWN +	setevent EVENT_RIVAL_UNDERGROUND_PATH +	setevent EVENT_AZALEA_TOWN_SLOWPOKES +	setevent EVENT_KURTS_HOUSE_SLOWPOKE +	setevent EVENT_GUIDE_GENT_VISIBLE_IN_CHERRYGROVE +	setevent EVENT_ELMS_AIDE_IN_VIOLET_POKEMON_CENTER +	setevent EVENT_COP_IN_ELMS_LAB +	setevent EVENT_RUINS_OF_ALPH_OUTSIDE_SCIENTIST +	setevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST +	setevent EVENT_BOULDER_IN_ICE_PATH_1A +	setevent EVENT_BOULDER_IN_ICE_PATH_2A +	setevent EVENT_BOULDER_IN_ICE_PATH_3A +	setevent EVENT_BOULDER_IN_ICE_PATH_4A +	setevent EVENT_ROUTE_30_YOUNGSTER_JOEY +	setevent EVENT_BUG_CATCHING_CONTESTANT_1A +	setevent EVENT_BUG_CATCHING_CONTESTANT_2A +	setevent EVENT_BUG_CATCHING_CONTESTANT_3A +	setevent EVENT_BUG_CATCHING_CONTESTANT_4A +	setevent EVENT_BUG_CATCHING_CONTESTANT_5A +	setevent EVENT_BUG_CATCHING_CONTESTANT_6A +	setevent EVENT_BUG_CATCHING_CONTESTANT_7A +	setevent EVENT_BUG_CATCHING_CONTESTANT_8A +	setevent EVENT_BUG_CATCHING_CONTESTANT_9A +	setevent EVENT_BUG_CATCHING_CONTESTANT_10A +	setevent EVENT_BUG_CATCHING_CONTESTANT_1B +	setevent EVENT_BUG_CATCHING_CONTESTANT_2B +	setevent EVENT_BUG_CATCHING_CONTESTANT_3B +	setevent EVENT_BUG_CATCHING_CONTESTANT_4B +	setevent EVENT_BUG_CATCHING_CONTESTANT_5B +	setevent EVENT_BUG_CATCHING_CONTESTANT_6B +	setevent EVENT_BUG_CATCHING_CONTESTANT_7B +	setevent EVENT_BUG_CATCHING_CONTESTANT_8B +	setevent EVENT_BUG_CATCHING_CONTESTANT_9B +	setevent EVENT_BUG_CATCHING_CONTESTANT_10B +	setevent EVENT_FAST_SHIP_1F_GENTLEMAN +	setevent EVENT_FAST_SHIP_B1F_SAILOR_RIGHT +	setevent EVENT_FAST_SHIP_CABINS_NNW_NNE_NE_SAILOR +	setevent EVENT_LAKE_OF_RAGE_CIVILIANS +	setevent EVENT_MAHOGANY_MART_OWNERS +	setevent EVENT_TIN_TOWER_ROOF_HO_OH +	setevent EVENT_WHIRL_ISLAND_LUGIA_CHAMBER_LUGIA +	setevent EVENT_KRISS_HOUSE_2F_CONSOLE +	setevent EVENT_KRISS_HOUSE_2F_DOLL_1 +	setevent EVENT_KRISS_HOUSE_2F_DOLL_2 +	setevent EVENT_KRISS_HOUSE_2F_BIG_DOLL +	setevent EVENT_DECO_BED_1 +	setevent EVENT_DECO_PLANT_4 +	setevent EVENT_GOLDENROD_TRAIN_STATION_GENTLEMAN +	setevent EVENT_OLIVINE_GYM_JASMINE +	setevent EVENT_BLACKTHORN_CITY_GRAMPS_NOT_BLOCKING_DRAGONS_DEN +	setevent EVENT_MET_BILL +	setevent EVENT_ECRUTEAK_POKE_CENTER_BILL +	setevent EVENT_MYSTERY_GIFT_DELIVERY_GUY +	setevent EVENT_LAKE_OF_RAGE_LANCE +	setevent EVENT_WAREHOUSE_LAYOUT_1 +	setevent EVENT_WAREHOUSE_BLOCKED_OFF +	setevent EVENT_DRAGONS_DEN_CLAIR +	setevent EVENT_RIVAL_OLIVINE_CITY +	setevent EVENT_RIVAL_VICTORY_ROAD +	setevent EVENT_RIVAL_DRAGONS_DEN +	setevent EVENT_LANCES_ROOM_OAK_AND_MARY +	setevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1 +	setevent EVENT_BURNED_TOWER_B1F_BEASTS_1 +	setevent EVENT_RED_IN_MT_SILVER +	setevent EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME +	setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND +	setevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND +	setevent EVENT_OLIVINE_PORT_PASSAGE_POKEFAN_M +	setevent EVENT_KURTS_HOUSE_KURT_2 +	setevent EVENT_KURTS_HOUSE_GRANDDAUGHTER_2 +	setevent EVENT_RANG_CLEAR_BELL_1 +	setevent EVENT_FLORIA_AT_FLOWER_SHOP +	setevent EVENT_FLORIA_AT_SUDOWOODO +	setevent EVENT_GOLDENROD_CITY_MOVE_TUTOR +	setevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER +	setevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_YOUNGSTERS +	setevent EVENT_DRAGON_SHRINE_CLAIR +	setevent EVENT_BATTLE_TOWER_BATTLE_ROOM_YOUNGSTER +	setevent EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR +	setevent EVENT_AZALEA_TOWN_KURT +	setevent EVENT_AZALEA_TOWN_KURT +	setevent EVENT_ILEX_FOREST_KURT +	setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY +	setevent EVENT_ILEX_FOREST_LASS +	setevent EVENT_GOLDENROD_SALE_OFF +	setevent EVENT_ECRUTEAK_CITY_GRAMPS +	setevent EVENT_EUSINE_IN_BURNED_TOWER +	setevent EVENT_KRISS_HOUSE_MOM_2 +	setevent EVENT_WISE_TRIOS_ROOM_WISE_TRIO_2 +	setevent EVENT_CIANWOOD_CITY_EUSINE +	setevent EVENT_TIN_TOWER_1F_EUSINE +	setevent EVENT_TIN_TOWER_1F_WISE_TRIO_1 +	setevent EVENT_TIN_TOWER_1F_WISE_TRIO_2 +	setevent EVENT_SET_WHEN_FOUGHT_HO_OH +	setevent EVENT_SAW_SUICUNE_ON_ROUTE_36 +	setevent EVENT_SAW_SUICUNE_ON_ROUTE_42 +	setevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY +	setevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR  	setflag ENGINE_ROCKET_SIGNAL_ON_CH20  	setflag ENGINE_ROCKETS_IN_MAHOGANY -	variablesprite $4, $52 -	variablesprite $5, $4 -	variablesprite $6, $35 -	variablesprite $7, $a -	variablesprite $8, $a -	variablesprite $9, $a -	variablesprite $a, $a -	variablesprite $b, $28 -	variablesprite $c, $28 -	setevent $00fb -	setevent $076d -	setevent $076c -	setevent $076e -	setevent $076f -	setevent $0773 -	setevent $0776 -	setevent $0777 -	setevent $0779 -	setevent $0772 -	setevent $077b -	setevent $0036 +	variablesprite SPRITE_WEIRD_TREE, SPRITE_SUDOWOODO +	variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SILVER +	variablesprite SPRITE_AZALEA_ROCKET, SPRITE_ROCKET +	variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_JANINE +	variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_JANINE +	variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_JANINE +	variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_JANINE +	variablesprite SPRITE_COPYCAT, SPRITE_LASS +	variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS +	setevent EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM +	setevent EVENT_CERULEAN_GYM_ROCKET +	setevent EVENT_ROUTE_24_ROCKET +	setevent EVENT_ROUTE_25_MISTY_BOYFRIEND +	setevent EVENT_TRAINERS_IN_CERULEAN_GYM +	setevent EVENT_COPYCATS_HOUSE_2F_DOLL +	setevent EVENT_VIRIDIAN_GYM_BLUE +	setevent EVENT_SEAFOAM_GYM_GYM_GUY +	setevent EVENT_MT_MOON_SQUARE_CLEFAIRY +	setevent EVENT_SAFFRON_TRAIN_STATION_POPULATION +	setevent EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL +	setevent EVENT_INITIALIZED_EVENTS  	return  AskNumber1MScript:  	special RandomPhoneMon -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $16, .Irwin -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_JUGGLER_IRWIN, .Irwin +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackAskNumber1Text @@ -707,27 +707,27 @@ AskNumber1MScript:  AskNumber2MScript:  	special RandomPhoneMon -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $16, .Irwin -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_JUGGLER_IRWIN, .Irwin +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackAskNumber2Text @@ -798,27 +798,27 @@ RegisteredNumberMScript:  	end  NumberAcceptedMScript: -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $16, .Irwin -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_JUGGLER_IRWIN, .Irwin +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackNumberAcceptedText @@ -922,27 +922,27 @@ NumberAcceptedMScript:  	end  NumberDeclinedMScript: -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $16, .Irwin -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_JUGGLER_IRWIN, .Irwin +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackNumberDeclinedText @@ -1046,27 +1046,27 @@ NumberDeclinedMScript:  	end  PhoneFullMScript: -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $16, .Irwin -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_JUGGLER_IRWIN, .Irwin +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackPhoneFullText @@ -1170,24 +1170,24 @@ PhoneFullMScript:  	end  RematchMScript: -	checkcode $17 -	if_equal $5, .Jack -	if_equal $7, .Huey -	if_equal $b, .Gaven -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $11, .Ralph -	if_equal $13, .Anthony -	if_equal $14, .Todd -	if_equal $17, .Arnie -	if_equal $18, .Alan -	if_equal $1b, .Chad -	if_equal $1d, .Tully -	if_equal $1e, .Brent -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SCHOOLBOY_JACK, .Jack +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_COOLTRAINERM_GAVEN, .Gaven +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_FISHER_RALPH, .Ralph +	if_equal PHONE_HIKER_ANTHONY, .Anthony +	if_equal PHONE_CAMPER_TODD, .Todd +	if_equal PHONE_BUG_CATCHER_ARNIE, .Arnie +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_SCHOOLBOY_CHAD, .Chad +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_POKEMANIAC_BRENT, .Brent +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_HIKER_PARRY, .Parry  .Jack  	farwritetext JackRematchText @@ -1276,14 +1276,14 @@ RematchMScript:  	end  GiftMScript: -	checkcode $17 -	if_equal $d, .Jose -	if_equal $10, .Wade -	if_equal $18, .Alan -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $21, .Wilton -	if_equal $22, .Kenji +	checkcode VAR_CALLERID +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji  .Jose  	farwritetext JoseGiftText @@ -1315,18 +1315,18 @@ GiftMScript:  	end  PackFullMScript: -	checkcode $17 -	if_equal $7, .Huey -	if_equal $d, .Jose -	if_equal $f, .Joey -	if_equal $10, .Wade -	if_equal $18, .Alan -	if_equal $1c, .Derek -	if_equal $1d, .Tully -	if_equal $20, .Vance -	if_equal $21, .Wilton -	if_equal $22, .Kenji -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_BIRDKEEPER_JOSE, .Jose +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BUG_CATCHER_WADE, .Wade +	if_equal PHONE_SCHOOLBOY_ALAN, .Alan +	if_equal PHONE_POKEFANM_DEREK, .Derek +	if_equal PHONE_FISHER_TULLY, .Tully +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_FISHER_WILTON, .Wilton +	if_equal PHONE_BLACKBELT_KENJI, .Kenji +	if_equal PHONE_HIKER_PARRY, .Parry  .Huey  	farwritetext HueyPackFullText @@ -1386,11 +1386,11 @@ PackFullMScript:  RematchGiftMScript:  	loadfont -	checkcode $17 -	if_equal $7, .Huey -	if_equal $f, .Joey -	if_equal $20, .Vance -	if_equal $23, .Parry +	checkcode VAR_CALLERID +	if_equal PHONE_SAILOR_HUEY, .Huey +	if_equal PHONE_YOUNGSTER_JOEY, .Joey +	if_equal PHONE_BIRDKEEPER_VANCE, .Vance +	if_equal PHONE_HIKER_PARRY, .Parry  .Huey  	farwritetext HueyRematchGiftText @@ -1410,15 +1410,15 @@ RematchGiftMScript:  	end  AskNumber1FScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyAskNumber1Text @@ -1446,15 +1446,15 @@ AskNumber1FScript:  	end  AskNumber2FScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyAskNumber2Text @@ -1489,15 +1489,15 @@ RegisteredNumberFScript:  	end  NumberAcceptedFScript: ; 0xbcbd3 -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyNumberAcceptedText @@ -1541,15 +1541,15 @@ NumberAcceptedFScript: ; 0xbcbd3  	end  NumberDeclinedFScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyNumberDeclinedText @@ -1593,15 +1593,15 @@ NumberDeclinedFScript:  	end  PhoneFullFScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyPhoneFullText @@ -1645,14 +1645,14 @@ PhoneFullFScript:  	end  RematchFScript: -	checkcode $17 -	if_equal $c, .Beth -	if_equal $e, .Reena -	if_equal $12, .Liz -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_COOLTRAINERF_BETH, .Beth +	if_equal PHONE_COOLTRAINERF_REENA, .Reena +	if_equal PHONE_PICNICKER_LIZ, .Liz +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beth  	farwritetext BethRematchText @@ -1691,11 +1691,11 @@ RematchFScript:  	end  GiftFScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany  .Beverly  	farwritetext BeverlyGiftText @@ -1715,12 +1715,12 @@ GiftFScript:  	end  PackFullFScript: -	checkcode $17 -	if_equal $6, .Beverly -	if_equal $15, .Gina -	if_equal $1a, .Dana -	if_equal $1f, .Tiffany -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_POKEFAN_BEVERLY, .Beverly +	if_equal PHONE_PICNICKER_GINA, .Gina +	if_equal PHONE_LASS_DANA, .Dana +	if_equal PHONE_PICNICKER_TIFFANY, .Tiffany +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Beverly  	farwritetext BeverlyPackFullText @@ -1749,8 +1749,8 @@ PackFullFScript:  	end  RematchGiftFScript: -	checkcode $17 -	if_equal $24, .Erin +	checkcode VAR_CALLERID +	if_equal PHONE_PICNICKER_ERIN, .Erin  .Erin  	loadfont @@ -1761,7 +1761,7 @@ RematchGiftFScript:  GymStatue1Script:  	mapnametotext $0  	loadfont -	farwritetext UnknownText_0x1b074e +	farwritetext GymStatue_CityGymText  	closetext  	loadmovesprites  	end @@ -1769,114 +1769,114 @@ GymStatue1Script:  GymStatue2Script:  	mapnametotext $0  	loadfont -	farwritetext UnknownText_0x1b074e +	farwritetext GymStatue_CityGymText  	keeptextopen -	farwritetext UnknownText_0x1b075c +	farwritetext GymStatue_WinningTrainersText  	closetext  	loadmovesprites  	end -UnknownScript_0xbcdb9: ; 0xbcdb9 +ReceiveItemScript: ; 0xbcdb9  	waitbutton -	farwritetext UnknownText_0x1b0648 +	farwritetext ReceivedItemText  	playsound SFX_ITEM  	waitbutton  	end  ; 0xbcdc3 -UnknownScript_0xbcdc3: ; 0xbcdc3 +ReceiveTogepiEggScript: ; 0xbcdc3  	waitbutton -	farwritetext UnknownText_0x1b0648 +	farwritetext ReceivedItemText  	playsound SFX_GET_EGG_FROM_DAYCARE_LADY  	waitbutton  	end  ; 0xbcdcd -UnknownScript_0xbcdcd: ; 0xbcdcd +GameCornerCoinVendorScript: ; 0xbcdcd  	faceplayer  	loadfont -	farwritetext UnknownText_0x1b077f +	farwritetext CoinVendor_WelcomeText  	keeptextopen  	checkitem COIN_CASE -	iftrue UnknownScript_0xbcde0 -	farwritetext UnknownText_0x1b079c +	iftrue CoinVendor_IntroScript +	farwritetext CoinVendor_NoCoinCaseText  	closetext  	loadmovesprites  	end  ; 0xbcde0 -UnknownScript_0xbcde0: ; 0xbcde0 -	farwritetext UnknownText_0x1b07e3 +CoinVendor_IntroScript: ; 0xbcde0 +	farwritetext CoinVendor_IntroText -UnknownScript_0xbcde4: ; 0xbcde4 +CoinVendor_SellCoinsMenuScript: ; 0xbcde4  	special Function24b4e -	loadmenudata MenuDataHeader_0xbce54 +	loadmenudata CoinVendor_MenuDataHeader  	interpretmenu2  	writebackup -	if_equal $1, UnknownScript_0xbcdf7 -	if_equal $2, UnknownScript_0xbce1b -	jump UnknownScript_0xbce4d +	if_equal $1, CoinVendor_Buy50CoinsScript +	if_equal $2, CoinVendor_Buy500CoinsScript +	jump CoinVendor_CancelScript  ; 0xbcdf7 -UnknownScript_0xbcdf7: ; 0xbcdf7 +CoinVendor_Buy50CoinsScript: ; 0xbcdf7  	checkcoins 9949 -	if_equal $0, UnknownScript_0xbce46 +	if_equal $0, CoinVendor_CoinCaseFullScript  	checkmoney $0, 1000 -	if_equal $2, UnknownScript_0xbce3f +	if_equal $2, CoinVendor_NotEnoughMoneyScript  	givecoins 50  	takemoney $0, 1000  	waitbutton  	playsound SFX_TRANSACTION -	farwritetext UnknownText_0x1b0830 +	farwritetext CoinVendor_Buy50CoinsText  	closetext -	jump UnknownScript_0xbcde4 +	jump CoinVendor_SellCoinsMenuScript  ; 0xbce1b -UnknownScript_0xbce1b: ; 0xbce1b +CoinVendor_Buy500CoinsScript: ; 0xbce1b  	checkcoins 9499 -	if_equal $0, UnknownScript_0xbce46 +	if_equal $0, CoinVendor_CoinCaseFullScript  	checkmoney $0, 10000 -	if_equal $2, UnknownScript_0xbce3f +	if_equal $2, CoinVendor_NotEnoughMoneyScript  	givecoins 500  	takemoney $0, 10000  	waitbutton  	playsound SFX_TRANSACTION -	farwritetext UnknownText_0x1b084f +	farwritetext CoinVendor_Buy500CoinsText  	closetext -	jump UnknownScript_0xbcde4 +	jump CoinVendor_SellCoinsMenuScript  ; 0xbce3f -UnknownScript_0xbce3f: ; 0xbce3f -	farwritetext UnknownText_0x1b086f +CoinVendor_NotEnoughMoneyScript: ; 0xbce3f +	farwritetext CoinVendor_NotEnoughMoneyText  	closetext  	loadmovesprites  	end  ; 0xbce46 -UnknownScript_0xbce46: ; 0xbce46 -	farwritetext UnknownText_0x1b088c +CoinVendor_CoinCaseFullScript: ; 0xbce46 +	farwritetext CoinVendor_CoinCaseFullText  	closetext  	loadmovesprites  	end  ; 0xbce4d -UnknownScript_0xbce4d: ; 0xbce4d -	farwritetext UnknownText_0x1b08ad +CoinVendor_CancelScript: ; 0xbce4d +	farwritetext CoinVendor_CancelText  	closetext  	loadmovesprites  	end  ; 0xbce54 -MenuDataHeader_0xbce54: ; 0xbce54 +CoinVendor_MenuDataHeader: ; 0xbce54  	db $40 ; flags  	db 04, 00 ; start coords  	db 11, 15 ; end coords -	dw MenuData2_0xbce5c +	dw CoinVendor_MenuData2  	db 1 ; default option  ; 0xbce5c -MenuData2_0xbce5c: ; 0xbce5c +CoinVendor_MenuData2: ; 0xbce5c  	db $80 ; flags  	db 3 ; items  	db " 50 :  ¥1000@" @@ -1888,7 +1888,7 @@ MenuData2_0xbce5c: ; 0xbce5c  HappinessCheckScript:  	faceplayer  	loadfont -	special Function718d +	special GetFirstPokemonHappiness  	if_less_than 50, .Unhappy  	if_less_than 150, .KindaHappy  	farwritetext HappinessText3 @@ -1908,7 +1908,7 @@ HappinessCheckScript:  	loadmovesprites  	end -MovementData_0xbcea1: ; bcea1 +Movement_ContestResults_WalkAfterWarp: ; bcea1  	step_right  	step_down  	turn_head_up diff --git a/engine/title.asm b/engine/title.asm index a5ce99f20..2e151c389 100644 --- a/engine/title.asm +++ b/engine/title.asm @@ -345,8 +345,9 @@ Function10ef1c: ; 10ef1c  	ld b, a  	ld a, e  	ld [hli], a +rept 2  	inc e -	inc e +endr  	ld a, $80  	ld [hli], a  	dec c @@ -371,9 +372,9 @@ AnimateTitleCrystal: ; 10ef32  	ld a, [hl]  	add 2  	ld [hli], a +rept 3  	inc hl -	inc hl -	inc hl +endr  	dec c  	jr nz, .loop | 
