shithub: pokecrystal

Download patch

ref: 0ee006a145dbe45a8844ad2dc6d8bf04b51f63bc
parent: 46fea9799482a7d767f0d59ff080b20f1b0445e6
author: yenatch <[email protected]>
date: Sat Aug 3 12:19:29 EDT 2013

more item effects

--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -754,6 +754,7 @@
 	ld a, [TempBattleMonSpecies]
 	cp c
 	ret nz
+
 	push bc
 	ld a, [TempBattleMonSpecies]
 	ld [CurPartySpecies], a
@@ -764,14 +765,13 @@
 	ld a, $14
 	ld hl, $4bdd
 	rst FarCall
-
 	jr c, .asm_ed66
 
-	ld d, $0
+	ld d, 0
 	jr nz, .asm_ed39
 	inc d
-
 .asm_ed39
+
 	push de
 	ld a, [TempEnemyMonSpecies]
 	ld [CurPartySpecies], a
@@ -780,28 +780,25 @@
 	ld a, $14
 	ld hl, $4bdd
 	rst FarCall
-
 	jr c, .asm_ed65
 
-	ld d, $0
+	ld d, 0
 	jr nz, .asm_ed52
 	inc d
-
 .asm_ed52
+
 	ld a, d
 	pop de
 	cp d
 	pop bc
 	ret nz
+
 	sla b
 	jr c, .asm_ed62
-
 	sla b
 	jr c, .asm_ed62
-
 	sla b
 	ret nc
-
 .asm_ed62
 	ld b, $ff
 	ret
@@ -1657,34 +1654,25 @@
 
 
 Squirtbottle: ; f73e
-	ld a, $14
-	ld hl, $4730
-	rst FarCall
+	callba _Squirtbottle
 	ret
 ; f745
 
 
 CardKey: ; f745
-	ld a, $14
-	ld hl, $4779
-	rst FarCall
+	callba _CardKey
 	ret
 ; f74c
 
 
 BasementKey: ; f74c
-	ld a, $14
-	ld hl, $47b4
-	rst FarCall
+	callba _BasementKey
 	ret
 ; f753
 
 
 SacredAsh: ; f753
-	ld a, $14
-	ld hl, $47e6
-	rst FarCall
-
+	callba _SacredAsh
 	ld a, [$d0ec]
 	cp $1
 	ret nz
--- a/main.asm
+++ b/main.asm
@@ -366,25 +366,29 @@
 	jr z, .asm_4e9
 	ld hl, $0522
 	ld b, $4
-	jr .asm_501
+	jr Function501
 
 .asm_4e9
 	ld hl, $053a
 	ld b, $4
-	jr .asm_501
+	jr Function501
+; 4f0
 
+Function4f0: ; 4f0
 	ld a, [hCGB]
 	and a
 	jr z, .asm_4fc
 	ld hl, $052b
 	ld b, $3
-	jr .asm_501
+	jr Function501
 
 .asm_4fc
 	ld hl, $0543
 	ld b, $3
+	; fallthrough
+; 501
 
-.asm_501
+Function501: ; 501
 	push de
 	ld a, [hld]
 	ld d, a
@@ -397,7 +401,7 @@
 	call DelayFrames
 	pop de
 	dec b
-	jr nz, .asm_501
+	jr nz, Function501
 	ret
 ; 517
 
@@ -17733,7 +17737,7 @@
 
 	ld b, $1c
 	call GetSGBLayout
-	call $04f0
+	call Function4f0
 
 	ld hl, PlayerName
 	ld de, .Chris
@@ -19499,11 +19503,11 @@
 
 Function718d: ; 718d
 	ld hl, PartyMon1Happiness
-	ld bc, $0030
+	ld bc, PartyMon2 - PartyMon1
 	ld de, PartySpecies
 .asm_7196
 	ld a, [de]
-	cp $fd
+	cp EGG
 	jr nz, .asm_719f
 	inc de
 	add hl, bc
@@ -19520,7 +19524,7 @@
 Function71ac: ; 71ac
 	ld a, [PartySpecies]
 	ld [$d265], a
-	cp $fd
+	cp EGG
 	ld a, $1
 	jr z, .asm_71b9
 	xor a
@@ -20456,7 +20460,7 @@
 	dwb GetTypeName, BANK(GetTypeName)
 	dwb PrintMoveType, BANK(PrintMoveType)
 	dwb PrintType, BANK(PrintType)
-	dwb $490d, $14
+	dwb PrintMonTypes, BANK(PrintMonTypes)
 	dwb $5040, $14 ; GetUnownLetter
 	dwb $7cdd, $32
 	dwb $40d5, $33
@@ -22087,7 +22091,7 @@
 ; cef4
 
 Functioncef4: ; cef4
-	call $4f0d
+	call Functioncf0d
 	jr c, .asm_cf07
 	ld a, d
 	cp $18
@@ -25487,9 +25491,56 @@
 	db "lower  DEL   END "
 
 
-INCBIN "baserom.gbc", $11e5d, $12513 - $11e5d
+INCBIN "baserom.gbc", $11e5d, $122c1 - $11e5d
 
+UnknownScript_0x122c1: ; 0x122c1
+	checkbit2 $0011
+	iffalse $62cd
+	setbit2 $0051
+	special $0017
+	end
+; 0x122ce
 
+INCBIN "baserom.gbc", $122ce, $124c8 - $122ce
+
+UnknownScript_0x124c8: ; 0x124c8
+	refreshscreen $0
+	3callasm BANK(Function124fa), Function124fa
+	2writetext UnknownText_0x124f5
+	closetext
+	special $002e
+	pause 40
+	special $001b
+	checkbit2 $0011
+	iftrue .script_64f2
+	3callasm BANK(HalveMoney), HalveMoney
+	3callasm BANK(Function12527), Function12527
+	3call BANK(UnknownScript_0x122c1), UnknownScript_0x122c1
+	special $0000
+	newloadmap $f1
+	resetfuncs
+
+.script_64f2
+	jumpstd $0016
+; 0x124f5
+
+UnknownText_0x124f5: ; 0x124f5
+	text_jump UnknownText_0x1c0a4e, BANK(UnknownText_0x1c0a4e)
+	db $50
+; 0x124fa
+
+Function124fa: ; 124fa
+	call ClearPalettes
+	call Functionfdb
+	call Function3200
+	call HideSprites
+	call Function4f0
+	ret
+; 1250a
+
+INCBIN "baserom.gbc", $1250a, $12513 - $1250a
+
+
 HalveMoney: ; 12513
 
 ; Empty function...
@@ -25512,9 +25563,26 @@
 ; 12527
 
 
-INCBIN "baserom.gbc", $12527, $12580 - $12527
+Function12527: ; 12527
+	ld a, [$dcb2]
+	ld d, a
+	ld a, [$dcb3]
+	ld e, a
+	ld a, $5
+	ld hl, $5344
+	rst FarCall
+	ld a, c
+	jr c, .asm_12539
+	xor a
 
+.asm_12539
+	ld [$d001], a
+	ret
+; 1253d
 
+INCBIN "baserom.gbc", $1253d, $12580 - $1253d
+
+
 Function12580: ; 12580
 	ld a, $2e
 	ld hl, $4172
@@ -27723,9 +27791,39 @@
 	ret
 ; 13583
 
-INCBIN "baserom.gbc", $13583, $13b87 - $13583
+INCBIN "baserom.gbc", $13583, $135eb - $13583
 
+UnknownScript_0x135eb: ; 0x135eb
+	writecode $3, $6
+	battlecheck
+	startbattle
+	returnafterbattle
+	copybytetovar $dc79
+	iffalse UnknownScript_0x13603
+	end
+; 0x135f8
 
+INCBIN "baserom.gbc", $135f8, $13603 - $135f8
+
+UnknownScript_0x13603: ; 0x13603
+	playsound $0027
+	loadfont
+	2writetext UnknownText_0x13614
+	closetext
+	loadmovesprites
+	jumpstd $0016
+; 0x1360f
+
+INCBIN "baserom.gbc", $1360f, $13614 - $1360f
+
+UnknownText_0x13614: ; 0x13614
+	text_jump UnknownText_0x1bd2e7, BANK(UnknownText_0x1bd2e7)
+	db $50
+; 0x13619
+
+INCBIN "baserom.gbc", $13619, $13b87 - $13619
+
+
 GetSquareRoot: ; 13b87
 ; Return the square root of de in b.
 
@@ -29436,9 +29534,19 @@
 	ret
 ; 149c6
 
-INCBIN "baserom.gbc", $149c6, $14a07 - $149c6
+INCBIN "baserom.gbc", $149c6, $149dd - $149c6
 
+Function149dd: ; 149dd
+	ld a, [StandingTile]
+	ld hl, $49ea
+	ld de, $0001
+	call IsInArray
+	ret
+; 149ea
 
+INCBIN "baserom.gbc", $149ea, $14a07 - $149ea
+
+
 Function14a07: ; 14a07
 	ld a, [StandingTile]
 	ld de, $001f
@@ -30078,9 +30186,40 @@
 	db GROUP_FAST_SHIP_CABINS_SW_SSW_NW, MAP_FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
 	db $ff, $ff, $ff, $ff
 
-INCBIN "baserom.gbc", $1531f, $15363 - $1531f
+INCBIN "baserom.gbc", $1531f, $15344 - $1531f
 
+Function15344: ; 15344
+	ld hl, BlackoutPoints
+	ld c, $0
+.asm_15349
+	ld a, [hl]
+	cp $ff
+	jr z, .asm_1535f
+	cp d
+	jr nz, .asm_15356
+	inc hl
+	ld a, [hld]
+	cp e
+	jr z, .asm_15361
 
+.asm_15356
+	push bc
+	ld bc, $0004
+	add hl, bc
+	pop bc
+	inc c
+	jr .asm_15349
+
+.asm_1535f
+	and a
+	ret
+
+.asm_15361
+	scf
+	ret
+; 15363
+
+
 Function15363: ; 15363
 	ld a, [$ff9f]
 	and $f
@@ -34987,8 +35126,221 @@
 
 SECTION "bankA",DATA,BANK[$A]
 
-INCBIN "baserom.gbc", $28000, $2a2a0 - $28000
+INCBIN "baserom.gbc", $28000, $2a111 - $28000
 
+Function2a111: ; 2a111
+	ld hl, $d25a
+	call Function1852
+	ld a, $3
+	jr z, .asm_2a11e
+	ld a, [TimeOfDay]
+
+.asm_2a11e
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld b, [hl]
+	ret
+; 2a124
+
+INCBIN "baserom.gbc", $2a124, $2a14f - $2a124
+
+Function2a14f: ; 2a14f
+	call $6200
+	jp nc, $61c1
+	call $62ce
+	jp c, $61c9
+	inc hl
+	inc hl
+	inc hl
+	call Function1852
+	ld de, $61d9
+	jr z, .asm_2a174
+	inc hl
+	inc hl
+	ld a, [TimeOfDay]
+	ld bc, $000e
+	call AddNTimes
+	ld de, $61cb
+
+.asm_2a174
+	push hl
+.asm_2a175
+	call RNG
+	cp $64
+	jr nc, .asm_2a175
+	inc a
+	ld b, a
+	ld h, d
+	ld l, e
+.asm_2a180
+	ld a, [hli]
+	cp b
+	jr nc, .asm_2a187
+	inc hl
+	jr .asm_2a180
+
+.asm_2a187
+	ld c, [hl]
+	ld b, $0
+	pop hl
+	add hl, bc
+	ld a, [hli]
+	ld b, a
+	call Function1852
+	jr nz, .asm_2a1aa
+	call RNG
+	cp $59
+	jr c, .asm_2a1aa
+	inc b
+	cp $a5
+	jr c, .asm_2a1aa
+	inc b
+	cp $d8
+	jr c, .asm_2a1aa
+	inc b
+	cp $f2
+	jr c, .asm_2a1aa
+	inc b
+
+.asm_2a1aa
+	ld a, b
+	ld [CurPartyLevel], a
+	ld b, [hl]
+	call $64a0
+	jr c, .asm_2a1c1
+	ld a, b
+	cp $c9
+	jr nz, .asm_2a1bf
+	ld a, [UnlockedUnowns]
+	and a
+	jr z, .asm_2a1c1
+
+.asm_2a1bf
+	jr .asm_2a1c5
+
+.asm_2a1c1
+	ld a, $1
+	and a
+	ret
+
+.asm_2a1c5
+	ld a, b
+	ld [$d22e], a
+	xor a
+	ret
+; 2a1cb
+
+INCBIN "baserom.gbc", $2a1cb, $2a200 - $2a1cb
+
+Function2a200: ; 2a200
+	call Function1852
+	jr z, .asm_2a21d
+	ld hl, WildMons5
+	ld bc, $002f
+	call $623d
+	ret c
+	ld hl, WildMons1
+	ld de, WildMons3
+	call $6235
+	ld bc, $002f
+	jr .asm_2a27a
+
+.asm_2a21d
+	ld hl, WildMons6
+	ld bc, $0009
+	call $623d
+	ret c
+	ld hl, WildMons2
+	ld de, WildMons4
+	call $6235
+	ld bc, $0009
+	jr .asm_2a27a
+
+	call Function2f17
+	and a
+	ret z
+	ld h, d
+	ld l, e
+	ret
+
+	call $627f
+	push hl
+	ld hl, $dc20
+	bit 2, [hl]
+	pop hl
+	jr z, .asm_2a25c
+	ld a, [$dfcc]
+	cp d
+	jr nz, .asm_2a25c
+	ld a, [$dfcd]
+	cp e
+	jr nz, .asm_2a25c
+	call $6288
+	jr nc, .asm_2a278
+	scf
+	ret
+
+.asm_2a25c
+	push hl
+	ld hl, $dc20
+	bit 3, [hl]
+	pop hl
+	jr z, .asm_2a278
+	ld a, [$dc5a]
+	cp d
+	jr nz, .asm_2a278
+	ld a, [$dc5b]
+	cp e
+	jr nz, .asm_2a278
+	call $6288
+	jr nc, .asm_2a278
+	scf
+	ret
+
+.asm_2a278
+	and a
+	ret
+
+.asm_2a27a
+	call $627f
+	jr .asm_2a288
+
+	ld a, [MapGroup]
+	ld d, a
+	ld a, [MapNumber]
+	ld e, a
+	ret
+
+.asm_2a288
+	push hl
+	ld a, [hl]
+	inc a
+	jr z, .asm_2a29a
+	ld a, d
+	cp [hl]
+	jr nz, .asm_2a296
+	inc hl
+	ld a, e
+	cp [hl]
+	jr z, .asm_2a29d
+
+.asm_2a296
+	pop hl
+	add hl, bc
+	jr .asm_2a288
+
+.asm_2a29a
+	pop hl
+	and a
+	ret
+
+.asm_2a29d
+	pop hl
+	scf
+	ret
+; 2a2a0
+
 SpecialRoamMons: ; 2a2a0
 ; initialize RoamMon structs
 ; include commented-out parts from the gs function
@@ -35035,9 +35387,49 @@
 ; 2a2ce
 
 
-INCBIN "baserom.gbc", $2a2ce, $2a30d - $2a2ce
+Function2a2ce: ; 2a2ce
+	push hl
+	call Function1852
+	jr z, .asm_2a30a
+	call $627f
+	call RNG
+	cp $64
+	jr nc, .asm_2a30a
+	and $3
+	jr z, .asm_2a30a
+	dec a
+	ld hl, RoamMon1MapGroup
+	ld c, a
+	ld b, $0
+	ld a, $7
+	call AddNTimes
+	ld a, d
+	cp [hl]
+	jr nz, .asm_2a30a
+	inc hl
+	ld a, e
+	cp [hl]
+	jr nz, .asm_2a30a
+	dec hl
+	dec hl
+	dec hl
+	ld a, [hli]
+	ld [$d22e], a
+	ld a, [hl]
+	ld [CurPartyLevel], a
+	ld a, $5
+	ld [BattleType], a
+	pop hl
+	scf
+	ret
 
+.asm_2a30a
+	pop hl
+	and a
+	ret
+; 2a30d
 
+
 Function2a30d: ; 2a30d
 	ld a, [RoamMon1MapGroup]
 	cp $ff
@@ -35214,9 +35606,24 @@
 	ret
 ; 2a40f
 
-INCBIN "baserom.gbc", $2a40f, $2a5e9 - $2a40f
+INCBIN "baserom.gbc", $2a40f, $2a4a0 - $2a40f
 
+Function2a4a0: ; 2a4a0
+	and a
+	jr z, .asm_2a4a9
+	cp $fc
+	jr nc, .asm_2a4a9
+	and a
+	ret
 
+.asm_2a4a9
+	scf
+	ret
+; 2a4ab
+
+INCBIN "baserom.gbc", $2a4ab, $2a5e9 - $2a4ab
+
+
 WildMons1: ; 0x2a5e9
 INCLUDE "stats/wild/johto_grass.asm"
 
@@ -52665,9 +53072,9 @@
 ; 50669
 
 UnknownScript_0x50669: ; 50669
-	3callasm $14, $4658
+	3callasm BANK(Function50658), Function50658
 	loadfont
-	3callasm $14, $467b
+	3callasm BANK(Function5067b), Function5067b
 	iffalse UnknownScript_0x50677
 	loadmovesprites
 	end
@@ -52687,7 +53094,7 @@
 	and 2
 	jr z, .asm_5069c
 	ld c, 7
-	callba Function71c2
+	callba ChangeHappiness
 	callba GetPartyNick
 	ld hl, PoisonFaintText
 	call PrintText
@@ -52719,7 +53126,7 @@
 
 
 Function506bc: ; 506bc
-	ld hl, $46c8
+	ld hl, UnknownScript_0x506c8
 	call Function31cd
 	ld a, $1
 	ld [$d0ec], a
@@ -52726,10 +53133,78 @@
 	ret
 ; 506c8
 
-INCBIN "baserom.gbc", $506c8, $50730 - $506c8
+UnknownScript_0x506c8: ; 0x506c8
+	reloadmappart
+	special $0035
+	3callasm $03, $4706
+	2writetext UnknownText_0x50726
+	closetext
+	3callasm BANK(Function506ef), Function506ef
+	iffalse UnknownScript_0x506e9
+	checkbit2 $0011
+	iftrue UnknownScript_0x506e5
+	battlecheck
+	startbattle
+	returnafterbattle
+	end
+; 0x506e5
 
+UnknownScript_0x506e5: ; 0x506e5
+	3jump BANK(UnknownScript_0x135eb), UnknownScript_0x135eb
+; 0x506e9
 
-Function50730: ; 50730
+UnknownScript_0x506e9: ; 0x506e9
+	2writetext UnknownText_0x5072b
+	closetext
+	loadmovesprites
+	end
+; 0x506ef
+
+Function506ef: ; 506ef
+	callba Function97cfd
+	jr nc, .asm_5071e
+	ld hl, StatusFlags2
+	bit 2, [hl]
+	jr nz, .asm_50712
+	ld a, $a
+	ld hl, $6111
+	rst FarCall
+	ld a, b
+	and a
+	jr z, .asm_5071e
+	ld a, $a
+	ld hl, $614f
+	rst FarCall
+	jr nz, .asm_5071e
+	jr .asm_50718
+
+.asm_50712
+	callba Function97d31
+
+.asm_50718
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_5071e
+	xor a
+	ld [ScriptVar], a
+	ld [BattleType], a
+	ret
+; 50726
+
+UnknownText_0x50726: ; 0x50726
+	text_jump UnknownText_0x1c0b03, BANK(UnknownText_0x1c0b03)
+	db $50
+; 0x5072b
+
+UnknownText_0x5072b: ; 0x5072b
+	text_jump UnknownText_0x1c0b1a, BANK(UnknownText_0x1c0b1a)
+	db $50
+; 0x50730
+
+
+_Squirtbottle: ; 50730
 	ld hl, $473c
 	call Function31cd
 	ld a, $1
@@ -52737,28 +53212,73 @@
 	ret
 ; 5073c
 
-INCBIN "baserom.gbc", $5073c, $50779 - $5073c
+UnknownScript_0x5073c: ; 0x5073c
+	reloadmappart
+	special $0035
+	3callasm BANK(Function50753), Function50753
+	iffalse UnknownScript_0x5074b
+	3jump BANK(WateredWeirdTreeScript), WateredWeirdTreeScript
+; 0x5074b
 
+UnknownScript_0x5074b: ; 0x5074b
+	jumptext UnknownText_0x5074e
+; 0x5074e
 
-Function50779: ; 50779
+UnknownText_0x5074e: ; 0x5074e
+	text_jump UnknownText_0x1c0b3b, BANK(UnknownText_0x1c0b3b)
+	db $50
+; 0x50753
+
+Function50753: ; 50753
 	ld a, [MapGroup]
-	cp $3
+	cp GROUP_ROUTE_36
+	jr nz, .asm_50774
+
+	ld a, [MapNumber]
+	cp MAP_ROUTE_36
+	jr nz, .asm_50774
+
+	callba Functioncf0d
+	jr c, .asm_50774
+
+	ld a, d
+	cp 23
+	jr nz, .asm_50774
+
+	ld a, $1
+	ld [ScriptVar], a
+	ret
+
+.asm_50774
+	xor a
+	ld [ScriptVar], a
+	ret
+; 50779
+
+
+_CardKey: ; 50779
+	ld a, [MapGroup]
+	cp GROUP_RADIO_TOWER_3F
 	jr nz, .asm_507a9
+
 	ld a, [MapNumber]
-	cp $13
+	cp MAP_RADIO_TOWER_3F
 	jr nz, .asm_507a9
+
 	ld a, [PlayerDirection]
 	and $c
-	cp $4
+	cp UP << 2
 	jr nz, .asm_507a9
+
 	call GetFacingTileCoord
 	ld a, d
-	cp $12
+	cp 18
 	jr nz, .asm_507a9
 	ld a, e
-	cp $6
+	cp 6
 	jr nz, .asm_507a9
-	ld hl, $47af
+
+	ld hl, UnknownScript_0x507af
 	call Function31cd
 	ld a, $1
 	ld [$d0ec], a
@@ -52770,23 +53290,29 @@
 	ret
 ; 507af
 
-INCBIN "baserom.gbc", $507af, $507b4 - $507af
+UnknownScript_0x507af: ; 0x507af
+	loadmovesprites
+	3jump BANK(MapRadioTower3FSignpost2Script), MapRadioTower3FSignpost2Script
+; 0x507b4
 
 
-Function507b4: ; 507b4
+_BasementKey: ; 507b4
 	ld a, [MapGroup]
-	cp $3
+	cp GROUP_WAREHOUSE_ENTRANCE
 	jr nz, .asm_507db
+
 	ld a, [MapNumber]
-	cp $35
+	cp MAP_WAREHOUSE_ENTRANCE
 	jr nz, .asm_507db
+
 	call GetFacingTileCoord
 	ld a, d
-	cp $16
+	cp 22
 	jr nz, .asm_507db
 	ld a, e
-	cp $a
+	cp 10
 	jr nz, .asm_507db
+
 	ld hl, $47e1
 	call Function31cd
 	ld a, $1
@@ -52799,15 +53325,19 @@
 	ret
 ; 507e1
 
-INCBIN "baserom.gbc", $507e1, $507e6 - $507e1
+UnknownScript_0x507e1: ; 0x507e1
+	loadmovesprites
+	3jump BANK(MapWarehouseEntranceSignpost0Script), MapWarehouseEntranceSignpost0Script
+; 0x507e6
 
 
-Function507e6: ; 507e6
+_SacredAsh: ; 507e6
 	ld a, $0
 	ld [$d0ec], a
-	call Function507fb
+	call CheckAnyFaintedMon
 	ret nc
-	ld hl, $4821
+
+	ld hl, UnknownScript_0x50821
 	call Function31cd
 	ld a, $1
 	ld [$d0ec], a
@@ -52814,30 +53344,32 @@
 	ret
 ; 507fb
 
-Function507fb: ; 507fb
-	ld de, $0030
+CheckAnyFaintedMon: ; 507fb
+	ld de, PartyMon2 - PartyMon1
 	ld bc, PartySpecies
 	ld hl, PartyMon1CurHP
 	ld a, [PartyCount]
 	and a
 	ret z
-.asm_50809
+
+.loop
 	push af
 	push hl
 	ld a, [bc]
 	inc bc
-	cp $fd
-	jr z, .asm_50815
+	cp EGG
+	jr z, .next
+
 	ld a, [hli]
 	or [hl]
 	jr z, .asm_5081d
 
-.asm_50815
+.next
 	pop hl
 	add hl, de
 	pop af
 	dec a
-	jr nz, .asm_50809
+	jr nz, .loop
 	xor a
 	ret
 
@@ -52848,22 +53380,45 @@
 	ret
 ; 50821
 
-INCBIN "baserom.gbc", $50821, $5084a - $50821
+UnknownScript_0x50821: ; 0x50821
+	special $001b
+	reloadmappart
+	playsound SFX_WARP_TO
+	special $002e
+	special $0031
+	special $002e
+	special $0031
+	special $002e
+	special $0031
+	waitbutton
+	2writetext UnknownText_0x50845
+	playsound SFX_CAUGHT_MON
+	waitbutton
+	closetext
+	loadmovesprites
+	end
+; 0x50845
 
+UnknownText_0x50845: ; 0x50845
+	text_jump UnknownText_0x1c0b65, BANK(UnknownText_0x1c0b65)
+	db $50
+; 0x5084a
+
 Function5084a: ; 5084a
 	ld a, [CurPartyMon]
 	ld e, a
-	call $48d5
+	call Function508d5
 	ld a, [CurPartySpecies]
 	ld [CurSpecies], a
 	call GetBaseData
+
 	ld a, [MonType]
 	ld hl, PartyMon1Species
-	ld bc, $0030
+	ld bc, PartyMon2 - PartyMon1
 	and a
 	jr z, .asm_5087b
 	ld hl, OTPartyMon1Species
-	ld bc, $0030
+	ld bc, OTPartyMon2 - OTPartyMon1
 	cp $1
 	jr z, .asm_5087b
 	ld bc, $0020
@@ -52883,18 +53438,74 @@
 	ret
 ; 5088b
 
-INCBIN "baserom.gbc", $5088b, $508d5 - $5088b
 
+Function5088b: ; 5088b
+	ld bc, $d018
+	jr Function50893
+; 50890
+
+Function50890: ; 50890
+	ld bc, TempMon
+	; fallthrough
+; 50893
+
+Function50893: ; 50893
+	ld hl, TempMonLevel - TempMon
+	add hl, bc
+	ld a, [hl]
+	ld [CurPartyLevel], a
+	ld hl, TempMonMaxHP - TempMon
+	add hl, bc
+	ld d, h
+	ld e, l
+	ld hl, TempMonExp + 2 - TempMon
+	add hl, bc
+	push bc
+	ld b, $1
+	ld a, $c
+	call Predef
+	pop bc
+	ld hl, TempMonCurHP - TempMon
+	add hl, bc
+	ld d, h
+	ld e, l
+	ld a, [CurPartySpecies]
+	cp EGG
+	jr nz, .asm_508c1
+	xor a
+	ld [de], a
+	inc de
+	ld [de], a
+	jr .asm_508cd
+
+.asm_508c1
+	push bc
+	ld hl, TempMonMaxHP - TempMon
+	add hl, bc
+	ld bc, 2
+	call CopyBytes
+	pop bc
+
+.asm_508cd
+	ld hl, TempMonStatus - TempMon
+	add hl, bc
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+; 508d5
+
 Function508d5: ; 508d5
 	ld a, [MonType]
-	and a
+	and a ; PARTYMON
 	jr z, .asm_508e7
-	cp $1
+	cp OTPARTYMON
 	jr z, .asm_508ec
-	cp $2
+	cp BOXMON
 	jr z, .asm_508f1
 	cp $3
 	jr z, .asm_50900
+	; WILDMON
 
 .asm_508e7
 	ld hl, PartySpecies
@@ -52908,7 +53519,7 @@
 	ld a, $1
 	call GetSRAMBank
 	ld hl, $ad11
-	call $4905
+	call .asm_50905
 	call CloseSRAM
 	ret
 
@@ -52917,7 +53528,7 @@
 	jr .asm_50909
 
 .asm_50905
-	ld d, $0
+	ld d, 0
 	add hl, de
 	ld a, [hl]
 
@@ -52926,9 +53537,38 @@
 	ret
 ; 5090d
 
-INCBIN "baserom.gbc", $5090d, $5093a - $5090d
 
+PrintMonTypes: ; 5090d
+	push hl
+	call GetBaseData
+	pop hl
+	push hl
+	ld a, [BaseType1]
+	call .asm_50928
+	ld a, [BaseType1]
+	ld b, a
+	ld a, [BaseType2]
+	cp b
+	pop hl
+	jr z, .asm_5092b
+	ld bc, 20
+	add hl, bc
 
+.asm_50928
+	ld b, a
+	jr PrintType
+
+.asm_5092b
+	ld a, " "
+	ld bc, 20 - 3
+	add hl, bc
+	ld [hl], a
+	inc bc
+	add hl, bc
+	ld bc, 5
+	jp ByteFill
+; 5093a
+
 PrintMoveType: ; 5093a
 ; Print the type of move b at hl.
 
@@ -59826,7 +60466,7 @@
 	dbw BANK(UnknownScript_0x96c4d), UnknownScript_0x96c4d
 	dbw BANK(UnknownScript_0x96c34), UnknownScript_0x96c34
 	dbw BANK(FallIntoMapScript), FallIntoMapScript
-	dbw $04, $64c8 ; BANK(UnknownScript_0x124c8), UnknownScript_0x124c8
+	dbw BANK(UnknownScript_0x124c8), UnknownScript_0x124c8
 	dbw BANK(UnknownScript_0x96c2f), UnknownScript_0x96c2f
 	dbw BANK(UnknownScript_0x96c4f), UnknownScript_0x96c4f
 	dbw BANK(UnknownScript_0x96c2d), UnknownScript_0x96c2d
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -64,6 +64,10 @@
 	yesorno
 	iffalse UnknownScript_0x194079
 	loadmovesprites
+	; fallthrough
+; 0x194053
+
+WateredWeirdTreeScript: ; 0x194053
 	loadfont
 	2writetext UnknownText_0x194290
 	closetext