shithub: pokecrystal

Download patch

ref: 3e14c1f26e91b1fc1d18eed389518ae8454e938f
parent: 89c2646ccaa2c9a0afb358c1d9738e9bb0d42c97
parent: b23f0b2bdaa993f17d8312bcde5f2b8a59ef9c90
author: yenatch <[email protected]>
date: Tue Jul 17 14:16:12 EDT 2018

Merge pull request #539 from Rangi42/master

[RTM] Miscellaneous reorganization fixes

--- a/FAQ.md
+++ b/FAQ.md
@@ -4,9 +4,12 @@
 ## Questions
 
 - [What is pokecrystal11.gbc?](#what-is-pokecrystal11gbc)
-- [Can't build ROM; "ERROR: `UNION` already defined"](#cant-build-rom-error-union-already-defined)
-- [Can't build ROM; "Segmentation fault" from `rgbgfx`](#cant-build-rom-segmentation-fault-from-rgbgfx)
-- [Can't build ROM; "Section is too big" or "Unable to place section in bank"](#cant-build-rom-section-is-too-big-or-unable-to-place-section-in-bank)
+- [I can't build the ROM, `make` just prints an error!](#i-cant-build-the-rom-make-just-prints-an-error)
+  - [`gcc`: command not found](#gcc-command-not-found)
+  - ["ERROR: `UNION` already defined"](#error-union-already-defined)
+  - ["Segmentation fault" from `rgbgfx`](#segmentation-fault-from-rgbgfx)
+  - ["Section is too big" or "Unable to place section in bank"](#section-is-too-big-or-unable-to-place-section-in-bank)
+  - ["Invalid file or object file version"](#invalid-file-or-object-file-version)
 - [How do I edit maps?](#how-do-i-edit-maps)
 - [How do I write new features?](#how-do-i-write-new-features)
 - [I need more help!](#i-need-more-help)
@@ -17,31 +20,41 @@
 Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `_CRYSTAL11` so the assembly builds the changed version.
 
 
-## Can't build ROM; "ERROR: `UNION` already defined"
+## I can't build the ROM, `make` just prints an error!
 
-Download [**rgbds 0.3.3**][rgbds]. Earlier versions will not work.
+Reread [INSTALL.md](INSTALL.md) carefully, and make sure you're following all its steps.
 
+### `gcc`: command not found
 
-## Can't build ROM; "Segmentation fault" from `rgbgfx`
+You need to install `gcc`. If you're using Cygwin, re-run its setup, and at "Select Packages", choose to install `gcc-core`.
 
-If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds].
+### "ERROR: `UNION` already defined"
 
+Download [the latest **rgbds** release][rgbds]. Versions earlier than 0.3.3 will not work.
 
-## Can't build ROM; "Section is too big" or "Unable to place section in bank"
+### "Segmentation fault" from `rgbgfx`
 
+If you are using 64-bit Windows, download [**64-bit Cygwin**][cygwin] and [**64-bit rgbds**][rgbds].
+
+### "Section is too big" or "Unable to place section in bank"
+
 If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)).
 
 If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which `SECTION`s go in which banks. Try moving some code into a new section.
 
+### "Invalid file or object file version"
 
+Run `make clean` to remove all the old `o` files, then re-run `make`.
+
+
 ## How do I edit maps?
 
-For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [crowdmap][crowdmap] or [Polished Map][polished-map].
+For `asm` scripts, read [docs/map_event_scripts.md](docs/map_event_scripts.md). For `blk` layouts, try [Polished Map][polished-map] or [crowdmap][crowdmap].
 
 
 ## How do I write new features?
 
-There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md).
+There are a number of special-purpose scripting languages, as described in [docs](docs/). For more general features, you'll need to code directly in assembly language. See [docs/assembly_programming.md](docs/assembly_programming.md). Some of the [tutorials][tutorials] may also be helpful.
 
 
 ## I need more help!
@@ -50,5 +63,6 @@
 
 [cygwin]: https://cygwin.com/install.html
 [rgbds]: https://github.com/rednex/rgbds/releases
-[crowdmap]: https://github.com/yenatch/crowdmap/
 [polished-map]: https://github.com/Rangi42/polished-map
+[crowdmap]: https://github.com/yenatch/crowdmap/
+[tutorials]: https://github.com/pret/pokecrystal/wiki/Tutorials
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -3650,8 +3650,8 @@
 	soundinput $8
 	endchannel
 
-Sfx_UnknownCB:
-	musicheader 1, 8, Sfx_UnknownCB_Ch8
+Sfx_IntroWhoosh:
+	musicheader 1, 8, Sfx_IntroWhoosh_Ch8
 
 Sfx_Menu_Ch8:
 	noise __,  2, $e2, $33
@@ -4703,7 +4703,7 @@
 	noise __, 16, $f2, $43
 	endchannel
 
-Sfx_UnknownCB_Ch8:
+Sfx_IntroWhoosh_Ch8:
 	noise __,  2, $10, $10
 	noise __,  3, $20, $10
 	noise __,  3, $30, $20
--- a/audio/sfx_pointers.asm
+++ b/audio/sfx_pointers.asm
@@ -204,7 +204,7 @@
 	dba Sfx_IntroSuicune4
 	dba Sfx_GameFreakPresents
 	dba Sfx_Tingle
-	dba Sfx_UnknownCB
+	dba Sfx_IntroWhoosh
 	dba Sfx_TwoPcBeeps
 	dba Sfx_4NoteDitty
 	dba Sfx_Twinkle
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -61,6 +61,7 @@
 	const STAT_DEF
 	const STAT_SPD
 	const STAT_SATK
+NUM_EXP_STATS EQU const_value + -1
 	const STAT_SDEF
 NUM_STATS EQU const_value
 STAT_SPC EQU STAT_SATK
--- a/constants/hardware_constants.asm
+++ b/constants/hardware_constants.asm
@@ -58,10 +58,6 @@
 Y_FLIP       EQU 1 << OAM_Y_FLIP    ; $40
 PRIORITY     EQU 1 << OAM_PRIORITY  ; $80
 
-; Other useful constants
-LCDC_DEFAULT EQU %11100011
-LY_VBLANK    EQU 144
-
 ; Hardware registers
 rJOYP       EQU $ff00 ; Joypad (R/W)
 rSB         EQU $ff01 ; Serial transfer data (R/W)
@@ -119,14 +115,20 @@
 rWave_e     EQU $ff3e
 rWave_f     EQU $ff3f
 rLCDC       EQU $ff40 ; LCD Control (R/W)
+rLCDC_BG_PRIORITY    EQU 0 ; 0=Off, 1=On
 rLCDC_SPRITES_ENABLE EQU 1 ; 0=Off, 1=On
 rLCDC_SPRITE_SIZE    EQU 2 ; 0=8x8, 1=8x16
+rLCDC_BG_TILEMAP     EQU 3 ; 0=9800-9BFF, 1=9C00-9FFF
+rLCDC_TILE_DATA      EQU 4 ; 0=8800-97FF, 1=8000-8FFF
+rLCDC_WINDOW_ENABLE  EQU 5 ; 0=Off, 1=On
 rLCDC_WINDOW_TILEMAP EQU 6 ; 0=9800-9BFF, 1=9C00-9FFF
 rLCDC_ENABLE         EQU 7 ; 0=Off, 1=On
+LCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
 rSTAT       EQU $ff41 ; LCDC Status (R/W)
 rSCY        EQU $ff42 ; Scroll Y (R/W)
 rSCX        EQU $ff43 ; Scroll X (R/W)
 rLY         EQU $ff44 ; LCDC Y-Coordinate (R)
+LY_VBLANK EQU 144
 rLYC        EQU $ff45 ; LY Compare (R/W)
 rDMA        EQU $ff46 ; DMA Transfer and Start Address (W)
 rBGP        EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only
--- a/constants/npc_trade_constants.asm
+++ b/constants/npc_trade_constants.asm
@@ -19,6 +19,7 @@
 	const NPC_TRADE_CHRIS  ; 4
 	const NPC_TRADE_KIM    ; 5
 	const NPC_TRADE_FOREST ; 6
+NUM_NPC_TRADES EQU const_value
 
 ; trade gender limits
 	const_def
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -128,7 +128,7 @@
 	const SFX_SWEET_KISS                  ; 7c
 	const SFX_SWEET_KISS_2                ; 7d
 	const SFX_BELLY_DRUM                  ; 7e
-	const SFX_UNKNOWN_7F                  ; 7f
+	const SFX_TOXIC                       ; 7f
 	const SFX_SLUDGE_BOMB                 ; 80
 	const SFX_FORESIGHT                   ; 81
 	const SFX_SPITE                       ; 82
@@ -206,7 +206,7 @@
 	const SFX_INTRO_SUICUNE_4             ; c8
 	const SFX_GAME_FREAK_PRESENTS         ; c9
 	const SFX_TINGLE                      ; ca
-	const SFX_UNKNOWN_CB                  ; cb
+	const SFX_INTRO_WHOOSH                ; cb
 	const SFX_TWO_PC_BEEPS                ; cc
 	const SFX_4_NOTE_DITTY                ; cd
 	const SFX_TWINKLE                     ; ce
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -20,7 +20,8 @@
 GAMETIMERPAUSE_TIMER_PAUSED_F EQU 0
 GAMETIMERPAUSE_MOBILE_7_F     EQU 7
 
-; wOptions:: (bits 4-7) ; cfcc
+; wOptions:: ; cfcc
+TEXT_DELAY_MASK EQU %111
 	const_def 4
 	const NO_TEXT_SCROLL ; 4
 	const STEREO         ; 5
@@ -27,10 +28,9 @@
 	const BATTLE_SHIFT   ; 6
 	const BATTLE_SCENE   ; 7
 
-; wOptions:: (bits 0-2) ; cfcc
-TEXT_DELAY_FAST EQU 1
-TEXT_DELAY_MED  EQU 3
-TEXT_DELAY_SLOW EQU 5
+TEXT_DELAY_FAST EQU %001 ; 1
+TEXT_DELAY_MED  EQU %011 ; 3
+TEXT_DELAY_SLOW EQU %101 ; 5
 
 ; wTextBoxFrame:: ; cfce
 	const_def
--- /dev/null
+++ b/data/battle/critical_hit_chances.asm
@@ -1,0 +1,8 @@
+CriticalHitChances:
+	db  7 percent     ;  0
+	db 12 percent + 2 ; +1
+	db 25 percent + 1 ; +2
+	db 33 percent + 1 ; +3
+	db 50 percent + 1 ; +4
+	db 50 percent + 1 ; +5
+	db 50 percent + 1 ; +6
--- a/data/battle/critical_hits.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CriticalHitMoves:
-	db KARATE_CHOP
-	db RAZOR_WIND
-	db RAZOR_LEAF
-	db CRABHAMMER
-	db SLASH
-	db AEROBLAST
-	db CROSS_CHOP
-	db -1
-
-CriticalHitChances:
-	db  7 percent     ;  0
-	db 12 percent + 2 ; +1
-	db 25 percent + 1 ; +2
-	db 33 percent + 1 ; +3
-	db 50 percent + 1 ; +4
-	db 50 percent + 1 ; +5
-	db 50 percent + 1 ; +6
--- a/data/battle/metronome_exception_moves.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-; Metronome cannot turn into these moves.
-
-MetronomeExcepts:
-	db NO_MOVE
-	db METRONOME
-	db STRUGGLE
-	db SKETCH
-	db MIMIC
-	db COUNTER
-	db MIRROR_COAT
-	db PROTECT
-	db DETECT
-	db ENDURE
-	db DESTINY_BOND
-	db SLEEP_TALK
-	db THIEF
-	db -1
--- a/data/battle_tower/parties.asm
+++ b/data/battle_tower/parties.asm
@@ -14,7 +14,7 @@
 	bigdw 40000
 	bigdw 35000
 	bigdw 40000
-	db $dd, $bd ; DVs
+	dn 13, 13, 11, 13 ; DVs
 	db 15, 5, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -40,7 +40,7 @@
 	bigdw 35000
 	bigdw 40000
 	bigdw 40000
-	db $ed, $fb ; DVs
+	dn 14, 13, 15, 11 ; DVs
 	db 10, 10, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -66,7 +66,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 40000
-	db $db, $ef ; DVs
+	dn 13, 11, 14, 15 ; DVs
 	db 15, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -92,7 +92,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $7f, $d7 ; DVs
+	dn 7, 15, 13, 7 ; DVs
 	db 20, 20, 25, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -118,7 +118,7 @@
 	bigdw 40000
 	bigdw 30000
 	bigdw 30000
-	db $ef, $cf ; DVs
+	dn 14, 15, 12, 15 ; DVs
 	db 15, 5, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -144,7 +144,7 @@
 	bigdw 33300
 	bigdw 30000
 	bigdw 30000
-	db $fe, $fd ; DVs
+	dn 15, 14, 15, 13 ; DVs
 	db 15, 10, 20, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -170,7 +170,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 35000
-	db $bb, $df ; DVs
+	dn 11, 11, 13, 15 ; DVs
 	db 5, 10, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -196,7 +196,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $db, $fb ; DVs
+	dn 13, 11, 15, 11 ; DVs
 	db 5, 20, 10, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -222,7 +222,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 5, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -248,7 +248,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $fb, $bf ; DVs
+	dn 15, 11, 11, 15 ; DVs
 	db 20, 20, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -274,7 +274,7 @@
 	bigdw 40000
 	bigdw 30000
 	bigdw 30000
-	db $fb, $de ; DVs
+	dn 15, 11, 13, 14 ; DVs
 	db 10, 5, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -300,7 +300,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $ef, $df ; DVs
+	dn 14, 15, 13, 15 ; DVs
 	db 5, 5, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -326,7 +326,7 @@
 	bigdw 30000
 	bigdw 33000
 	bigdw 30000
-	db $fd, $fe ; DVs
+	dn 15, 13, 15, 14 ; DVs
 	db 20, 10, 20, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -352,7 +352,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $ed, $fd ; DVs
+	dn 14, 13, 15, 13 ; DVs
 	db 20, 10, 15, 30 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -378,7 +378,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $df, $ce ; DVs
+	dn 13, 15, 12, 14 ; DVs
 	db 15, 10, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -404,7 +404,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $ef, $f7 ; DVs
+	dn 14, 15, 15, 7 ; DVs
 	db 15, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -430,7 +430,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 10, 5, 10, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -456,7 +456,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $f7, $f7 ; DVs
+	dn 15, 7, 15, 7 ; DVs
 	db 15, 10, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -482,7 +482,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $ff, $ff ; DVs
+	dn 15, 15, 15, 15 ; DVs
 	db 15, 0, 0, 0 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -508,7 +508,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $65, $57 ; DVs
+	dn 6, 5, 5, 7 ; DVs
 	db 15, 15, 30, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -534,7 +534,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $73, $67 ; DVs
+	dn 7, 3, 6, 7 ; DVs
 	db 10, 10, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -563,7 +563,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $cf, $bc ; DVs
+	dn 12, 15, 11, 12 ; DVs
 	db 10, 10, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -589,7 +589,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $db, $db ; DVs
+	dn 13, 11, 13, 11 ; DVs
 	db 20, 10, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -615,7 +615,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fa, $fd ; DVs
+	dn 15, 10, 15, 13 ; DVs
 	db 5, 10, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -641,7 +641,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 50000
-	db $ff, $ff ; DVs
+	dn 15, 15, 15, 15 ; DVs
 	db 20, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -667,7 +667,7 @@
 	bigdw 30000
 	bigdw 50000
 	bigdw 40000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 10, 10, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -693,7 +693,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $db, $fb ; DVs
+	dn 13, 11, 15, 11 ; DVs
 	db 15, 20, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -719,7 +719,7 @@
 	bigdw 45000
 	bigdw 30000
 	bigdw 45000
-	db $df, $de ; DVs
+	dn 13, 15, 13, 14 ; DVs
 	db 10, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -745,7 +745,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 5, 10, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -771,7 +771,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $fb, $bb ; DVs
+	dn 15, 11, 11, 11 ; DVs
 	db 10, 5, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -797,7 +797,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 50000
-	db $bd, $fe ; DVs
+	dn 11, 13, 15, 14 ; DVs
 	db 10, 25, 10, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -823,7 +823,7 @@
 	bigdw 40000
 	bigdw 55000
 	bigdw 30000
-	db $fe, $d7 ; DVs
+	dn 15, 14, 13, 7 ; DVs
 	db 10, 15, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -849,7 +849,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $fc, $fe ; DVs
+	dn 15, 12, 15, 14 ; DVs
 	db 15, 20, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -875,7 +875,7 @@
 	bigdw 40000
 	bigdw 45000
 	bigdw 50000
-	db $fd, $fe ; DVs
+	dn 15, 13, 15, 14 ; DVs
 	db 25, 20, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -901,7 +901,7 @@
 	bigdw 35000
 	bigdw 50000
 	bigdw 30000
-	db $fb, $fd ; DVs
+	dn 15, 11, 15, 13 ; DVs
 	db 15, 15, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -927,7 +927,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 30000
-	db $fb, $ef ; DVs
+	dn 15, 11, 14, 15 ; DVs
 	db 15, 10, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -953,7 +953,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $ed, $f7 ; DVs
+	dn 14, 13, 15, 7 ; DVs
 	db 15, 5, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -979,7 +979,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $df, $fe ; DVs
+	dn 13, 15, 15, 14 ; DVs
 	db 10, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1005,7 +1005,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $c7, $fe ; DVs
+	dn 12, 7, 15, 14 ; DVs
 	db 5, 5, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1031,7 +1031,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $c7, $77 ; DVs
+	dn 12, 7, 7, 7 ; DVs
 	db 10, 15, 10, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1057,7 +1057,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $56, $46 ; DVs
+	dn 5, 6, 4, 6 ; DVs
 	db 5, 10, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1083,7 +1083,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $55, $47 ; DVs
+	dn 5, 5, 4, 7 ; DVs
 	db 20, 10, 15, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1112,7 +1112,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 55000
-	db $db, $ed ; DVs
+	dn 13, 11, 14, 13 ; DVs
 	db 15, 20, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1138,7 +1138,7 @@
 	bigdw 55000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $fb ; DVs
+	dn 13, 13, 15, 11 ; DVs
 	db 15, 15, 5, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1164,7 +1164,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ff, $ff ; DVs
+	dn 15, 15, 15, 15 ; DVs
 	db 20, 10, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1190,7 +1190,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 50000
-	db $fb, $ee ; DVs
+	dn 15, 11, 14, 14 ; DVs
 	db 5, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1216,7 +1216,7 @@
 	bigdw 30000
 	bigdw 50000
 	bigdw 50000
-	db $ef, $ff ; DVs
+	dn 14, 15, 15, 15 ; DVs
 	db 10, 10, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1242,7 +1242,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $df, $db ; DVs
+	dn 13, 15, 13, 11 ; DVs
 	db 5, 5, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1268,7 +1268,7 @@
 	bigdw 45000
 	bigdw 30000
 	bigdw 45000
-	db $fb, $ed ; DVs
+	dn 15, 11, 14, 13 ; DVs
 	db 10, 20, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1294,7 +1294,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 15, 15, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1320,7 +1320,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $fd, $be ; DVs
+	dn 15, 13, 11, 14 ; DVs
 	db 5, 15, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1346,7 +1346,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 50000
-	db $ef, $dc ; DVs
+	dn 14, 15, 13, 12 ; DVs
 	db 15, 10, 10, 35 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1372,7 +1372,7 @@
 	bigdw 40000
 	bigdw 55000
 	bigdw 30000
-	db $df, $db ; DVs
+	dn 13, 15, 13, 11 ; DVs
 	db 10, 20, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1398,7 +1398,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 30000
-	db $dd, $eb ; DVs
+	dn 13, 13, 14, 11 ; DVs
 	db 10, 20, 5, 10 ; PP
 	db 255 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1424,7 +1424,7 @@
 	bigdw 40000
 	bigdw 45000
 	bigdw 50000
-	db $bd, $ef ; DVs
+	dn 11, 13, 14, 15 ; DVs
 	db 30, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1450,7 +1450,7 @@
 	bigdw 35000
 	bigdw 50000
 	bigdw 30000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 5, 25, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1476,7 +1476,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 30000
-	db $dd, $eb ; DVs
+	dn 13, 13, 14, 11 ; DVs
 	db 5, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1502,7 +1502,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ef, $f7 ; DVs
+	dn 14, 15, 15, 7 ; DVs
 	db 25, 20, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1528,7 +1528,7 @@
 	bigdw 50000
 	bigdw 47000
 	bigdw 45000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 20, 10, 10, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1554,7 +1554,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $f7, $f7 ; DVs
+	dn 15, 7, 15, 7 ; DVs
 	db 10, 30, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1580,7 +1580,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $77, $45 ; DVs
+	dn 7, 7, 4, 5 ; DVs
 	db 15, 10, 20, 30 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1606,7 +1606,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $67, $77 ; DVs
+	dn 6, 7, 7, 7 ; DVs
 	db 20, 20, 35, 20 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1632,7 +1632,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $77, $67 ; DVs
+	dn 7, 7, 6, 7 ; DVs
 	db 20, 25, 15, 30 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1661,7 +1661,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $fe ; DVs
+	dn 15, 13, 15, 14 ; DVs
 	db 20, 5, 10, 15 ; PP
 	db 255 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1687,7 +1687,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 15, 20, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1713,7 +1713,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ed, $dd ; DVs
+	dn 14, 13, 13, 13 ; DVs
 	db 15, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1739,7 +1739,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 15, 10, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1765,7 +1765,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ef, $db ; DVs
+	dn 14, 15, 13, 11 ; DVs
 	db 10, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1791,7 +1791,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $ef ; DVs
+	dn 13, 13, 14, 15 ; DVs
 	db 10, 15, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1817,7 +1817,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 45000
-	db $fd, $be ; DVs
+	dn 15, 13, 11, 14 ; DVs
 	db 5, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1843,7 +1843,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $bf, $e7 ; DVs
+	dn 11, 15, 14, 7 ; DVs
 	db 20, 20, 25, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1869,7 +1869,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $dd, $ed ; DVs
+	dn 13, 13, 14, 13 ; DVs
 	db 5, 10, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1895,7 +1895,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 50000
-	db $bd, $fe ; DVs
+	dn 11, 13, 15, 14 ; DVs
 	db 20, 25, 20, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1921,7 +1921,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $bb ; DVs
+	dn 15, 14, 11, 11 ; DVs
 	db 10, 5, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1947,7 +1947,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $bf, $cf ; DVs
+	dn 11, 15, 12, 15 ; DVs
 	db 15, 10, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1973,7 +1973,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $bc, $ef ; DVs
+	dn 11, 12, 14, 15 ; DVs
 	db 30, 30, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -1999,7 +1999,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $bb ; DVs
+	dn 15, 14, 11, 11 ; DVs
 	db 25, 30, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2025,7 +2025,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fa, $7f ; DVs
+	dn 15, 10, 7, 15 ; DVs
 	db 40, 10, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2051,7 +2051,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ef, $f7 ; DVs
+	dn 14, 15, 15, 7 ; DVs
 	db 10, 25, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2077,7 +2077,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 15, 10, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2103,7 +2103,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $f7, $e7 ; DVs
+	dn 15, 7, 14, 7 ; DVs
 	db 10, 20, 10, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2129,7 +2129,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $77, $7a ; DVs
+	dn 7, 7, 7, 10 ; DVs
 	db 25, 15, 15, 20 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2155,7 +2155,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $75, $6b ; DVs
+	dn 7, 5, 6, 11 ; DVs
 	db 40, 10, 20, 30 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2181,7 +2181,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $65, $77 ; DVs
+	dn 6, 5, 7, 7 ; DVs
 	db 30, 15, 20, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2210,7 +2210,7 @@
 	bigdw 60000
 	bigdw 50000
 	bigdw 55000
-	db $dd, $ff ; DVs
+	dn 13, 13, 15, 15 ; DVs
 	db 15, 5, 5, 20 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2236,7 +2236,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 60000
-	db $dd, $fc ; DVs
+	dn 13, 13, 15, 12 ; DVs
 	db 10, 15, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2262,7 +2262,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 55000
-	db $fd, $cf ; DVs
+	dn 15, 13, 12, 15 ; DVs
 	db 10, 10, 10, 20 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2288,7 +2288,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 55000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 5, 10, 15, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2314,7 +2314,7 @@
 	bigdw 60000
 	bigdw 55000
 	bigdw 60000
-	db $dd, $dd ; DVs
+	dn 13, 13, 13, 13 ; DVs
 	db 15, 15, 10, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2340,7 +2340,7 @@
 	bigdw 57000
 	bigdw 55000
 	bigdw 55000
-	db $ed, $ff ; DVs
+	dn 14, 13, 15, 15 ; DVs
 	db 15, 20, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2366,7 +2366,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $df, $ed ; DVs
+	dn 13, 15, 14, 13 ; DVs
 	db 5, 20, 30, 35 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2392,7 +2392,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $df, $de ; DVs
+	dn 13, 15, 13, 14 ; DVs
 	db 10, 15, 10, 20 ; PP
 	db 15 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2418,7 +2418,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 44000
-	db $ff, $ec ; DVs
+	dn 15, 15, 14, 12 ; DVs
 	db 5, 10, 5, 15 ; PP
 	db 13 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2444,7 +2444,7 @@
 	bigdw 40000
 	bigdw 45000
 	bigdw 40000
-	db $ff, $ff ; DVs
+	dn 15, 15, 15, 15 ; DVs
 	db 20, 20, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2470,7 +2470,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 50000
-	db $f7, $fe ; DVs
+	dn 15, 7, 15, 14 ; DVs
 	db 10, 20, 5, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2496,7 +2496,7 @@
 	bigdw 54000
 	bigdw 40000
 	bigdw 50000
-	db $7d, $fe ; DVs
+	dn 7, 13, 15, 14 ; DVs
 	db 15, 5, 20, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2522,7 +2522,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $fd, $dd ; DVs
+	dn 15, 13, 13, 13 ; DVs
 	db 5, 10, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2548,7 +2548,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 50000
-	db $ef, $ff ; DVs
+	dn 14, 15, 15, 15 ; DVs
 	db 10, 15, 5, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2574,7 +2574,7 @@
 	bigdw 45000
 	bigdw 40000
 	bigdw 50000
-	db $fd, $de ; DVs
+	dn 15, 13, 13, 14 ; DVs
 	db 20, 15, 20, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2600,7 +2600,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 40000
-	db $d7, $ed ; DVs
+	dn 13, 7, 14, 13 ; DVs
 	db 10, 15, 25, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2626,7 +2626,7 @@
 	bigdw 55000
 	bigdw 45000
 	bigdw 40000
-	db $cf, $dd ; DVs
+	dn 12, 15, 13, 13 ; DVs
 	db 10, 10, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2652,7 +2652,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 45000
-	db $dd, $dd ; DVs
+	dn 13, 13, 13, 13 ; DVs
 	db 10, 15, 10, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2678,7 +2678,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $45, $56 ; DVs
+	dn 4, 5, 5, 6 ; DVs
 	db 15, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2704,7 +2704,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $75, $65 ; DVs
+	dn 7, 5, 6, 5 ; DVs
 	db 5, 15, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2730,7 +2730,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 40000
-	db $45, $56 ; DVs
+	dn 4, 5, 5, 6 ; DVs
 	db 5, 5, 20, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2759,7 +2759,7 @@
 	bigdw 50000
 	bigdw 60000
 	bigdw 60000
-	db $dd, $fe ; DVs
+	dn 13, 13, 15, 14 ; DVs
 	db 20, 15, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2785,7 +2785,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 55000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 15, 10, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2811,7 +2811,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 55000
-	db $fb, $ef ; DVs
+	dn 15, 11, 14, 15 ; DVs
 	db 15, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2837,7 +2837,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 55000
-	db $dd, $de ; DVs
+	dn 13, 13, 13, 14 ; DVs
 	db 5, 20, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2863,7 +2863,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 15, 5, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2889,7 +2889,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $fd ; DVs
+	dn 13, 13, 15, 13 ; DVs
 	db 10, 20, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2915,7 +2915,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 45000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 20, 20, 5, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2941,7 +2941,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $fd, $dd ; DVs
+	dn 15, 13, 13, 13 ; DVs
 	db 5, 20, 10, 25 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2967,7 +2967,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $dd, $fd ; DVs
+	dn 13, 13, 15, 13 ; DVs
 	db 5, 15, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -2993,7 +2993,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 10, 5, 10, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3019,7 +3019,7 @@
 	bigdw 40000
 	bigdw 55000
 	bigdw 50000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 15, 15, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3045,7 +3045,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $fb, $eb ; DVs
+	dn 15, 11, 14, 11 ; DVs
 	db 25, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3071,7 +3071,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 50000
-	db $fb, $cd ; DVs
+	dn 15, 11, 12, 13 ; DVs
 	db 10, 10, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3097,7 +3097,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fa, $fc ; DVs
+	dn 15, 10, 15, 12 ; DVs
 	db 10, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3123,7 +3123,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $df, $ed ; DVs
+	dn 13, 15, 14, 13 ; DVs
 	db 15, 10, 10, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3149,7 +3149,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ff, $eb ; DVs
+	dn 15, 15, 14, 11 ; DVs
 	db 5, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3175,7 +3175,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 15, 10, 40, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3201,7 +3201,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fb, $fa ; DVs
+	dn 15, 11, 15, 10 ; DVs
 	db 10, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3227,7 +3227,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $b7, $67 ; DVs
+	dn 11, 7, 6, 7 ; DVs
 	db 10, 20, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3253,7 +3253,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $66, $5f ; DVs
+	dn 6, 6, 5, 15 ; DVs
 	db 15, 5, 5, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3279,7 +3279,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $76, $57 ; DVs
+	dn 7, 6, 5, 7 ; DVs
 	db 5, 10, 15, 20 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3308,7 +3308,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 60000
-	db $fb, $ef ; DVs
+	dn 15, 11, 14, 15 ; DVs
 	db 15, 5, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3334,7 +3334,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 50000
-	db $bf, $ef ; DVs
+	dn 11, 15, 14, 15 ; DVs
 	db 5, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3360,7 +3360,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 58000
-	db $dd, $dd ; DVs
+	dn 13, 13, 13, 13 ; DVs
 	db 20, 5, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3386,7 +3386,7 @@
 	bigdw 55000
 	bigdw 58000
 	bigdw 50000
-	db $df, $ed ; DVs
+	dn 13, 15, 14, 13 ; DVs
 	db 20, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3412,7 +3412,7 @@
 	bigdw 60000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $dd ; DVs
+	dn 13, 13, 13, 13 ; DVs
 	db 10, 10, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3438,7 +3438,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 55000
-	db $dd, $cd ; DVs
+	dn 13, 13, 12, 13 ; DVs
 	db 15, 15, 20, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3464,7 +3464,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 45000
-	db $db, $df ; DVs
+	dn 13, 11, 13, 15 ; DVs
 	db 10, 15, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3490,7 +3490,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $db, $df ; DVs
+	dn 13, 11, 13, 15 ; DVs
 	db 15, 20, 20, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3516,7 +3516,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 45000
-	db $dd, $ed ; DVs
+	dn 13, 13, 14, 13 ; DVs
 	db 10, 5, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3542,7 +3542,7 @@
 	bigdw 45000
 	bigdw 45000
 	bigdw 50000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 5, 20, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3568,7 +3568,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $db, $ef ; DVs
+	dn 13, 11, 14, 15 ; DVs
 	db 15, 15, 5, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3594,7 +3594,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $de, $dd ; DVs
+	dn 13, 14, 13, 13 ; DVs
 	db 10, 15, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3620,7 +3620,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 50000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 20, 10, 5, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3646,7 +3646,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $bd, $fb ; DVs
+	dn 11, 13, 15, 11 ; DVs
 	db 20, 15, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3672,7 +3672,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $bd, $ef ; DVs
+	dn 11, 13, 14, 15 ; DVs
 	db 5, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3698,7 +3698,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fd ; DVs
+	dn 15, 14, 15, 13 ; DVs
 	db 30, 40, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3724,7 +3724,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 15, 10, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3750,7 +3750,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $f7, $f7 ; DVs
+	dn 15, 7, 15, 7 ; DVs
 	db 15, 10, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3776,7 +3776,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $76, $44 ; DVs
+	dn 7, 6, 4, 4 ; DVs
 	db 5, 10, 5, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3802,7 +3802,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $56, $44 ; DVs
+	dn 5, 6, 4, 4 ; DVs
 	db 20, 10, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3828,7 +3828,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $76, $64 ; DVs
+	dn 7, 6, 6, 4 ; DVs
 	db 5, 15, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3857,7 +3857,7 @@
 	bigdw 60000
 	bigdw 55000
 	bigdw 55000
-	db $fd, $eb ; DVs
+	dn 15, 13, 14, 11 ; DVs
 	db 20, 15, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3883,7 +3883,7 @@
 	bigdw 50000
 	bigdw 55500
 	bigdw 60000
-	db $db, $ed ; DVs
+	dn 13, 11, 14, 13 ; DVs
 	db 10, 10, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3909,7 +3909,7 @@
 	bigdw 55000
 	bigdw 55000
 	bigdw 55000
-	db $fd, $db ; DVs
+	dn 15, 13, 13, 11 ; DVs
 	db 10, 15, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3935,7 +3935,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 50000
-	db $fd, $de ; DVs
+	dn 15, 13, 13, 14 ; DVs
 	db 10, 15, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3961,7 +3961,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $df, $db ; DVs
+	dn 13, 15, 13, 11 ; DVs
 	db 10, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -3987,7 +3987,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $df, $db ; DVs
+	dn 13, 15, 13, 11 ; DVs
 	db 10, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4013,7 +4013,7 @@
 	bigdw 45000
 	bigdw 55000
 	bigdw 50000
-	db $de, $dd ; DVs
+	dn 13, 14, 13, 13 ; DVs
 	db 15, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4039,7 +4039,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 50000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 5, 10, 10, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4065,7 +4065,7 @@
 	bigdw 40000
 	bigdw 55000
 	bigdw 50000
-	db $fb, $ed ; DVs
+	dn 15, 11, 14, 13 ; DVs
 	db 10, 15, 5, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4091,7 +4091,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 45000
-	db $dd, $dd ; DVs
+	dn 13, 13, 13, 13 ; DVs
 	db 20, 15, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4117,7 +4117,7 @@
 	bigdw 40000
 	bigdw 55000
 	bigdw 50000
-	db $df, $ed ; DVs
+	dn 13, 15, 14, 13 ; DVs
 	db 10, 20, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4143,7 +4143,7 @@
 	bigdw 45000
 	bigdw 50000
 	bigdw 50000
-	db $df, $df ; DVs
+	dn 13, 15, 13, 15 ; DVs
 	db 10, 5, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4169,7 +4169,7 @@
 	bigdw 40000
 	bigdw 45000
 	bigdw 50000
-	db $df, $dc ; DVs
+	dn 13, 15, 13, 12 ; DVs
 	db 15, 10, 5, 35 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4195,7 +4195,7 @@
 	bigdw 35000
 	bigdw 50000
 	bigdw 50000
-	db $dd, $ef ; DVs
+	dn 13, 13, 14, 15 ; DVs
 	db 25, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4221,7 +4221,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 50000
-	db $dd, $fe ; DVs
+	dn 13, 13, 15, 14 ; DVs
 	db 15, 5, 25, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4247,7 +4247,7 @@
 	bigdw 50000
 	bigdw 40000
 	bigdw 50000
-	db $ff, $ed ; DVs
+	dn 15, 15, 14, 13 ; DVs
 	db 5, 10, 10, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4273,7 +4273,7 @@
 	bigdw 40000
 	bigdw 40000
 	bigdw 50000
-	db $ff, $ef ; DVs
+	dn 15, 15, 14, 15 ; DVs
 	db 15, 5, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4299,7 +4299,7 @@
 	bigdw 40000
 	bigdw 50000
 	bigdw 40000
-	db $fd, $dd ; DVs
+	dn 15, 13, 13, 13 ; DVs
 	db 20, 10, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4325,7 +4325,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $65, $65 ; DVs
+	dn 6, 5, 6, 5 ; DVs
 	db 5, 10, 5, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4351,7 +4351,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $74, $64 ; DVs
+	dn 7, 4, 6, 4 ; DVs
 	db 5, 25, 15, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4377,7 +4377,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $76, $57 ; DVs
+	dn 7, 6, 5, 7 ; DVs
 	db 20, 15, 5, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4406,7 +4406,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 55000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 20, 10, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4432,7 +4432,7 @@
 	bigdw 56000
 	bigdw 60000
 	bigdw 60000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 5, 5, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4458,7 +4458,7 @@
 	bigdw 60000
 	bigdw 55000
 	bigdw 60000
-	db $df, $dd ; DVs
+	dn 13, 15, 13, 13 ; DVs
 	db 20, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4484,7 +4484,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $db, $df ; DVs
+	dn 13, 11, 13, 15 ; DVs
 	db 5, 5, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4510,7 +4510,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $cf ; DVs
+	dn 15, 13, 12, 15 ; DVs
 	db 35, 30, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4536,7 +4536,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 10, 10, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4562,7 +4562,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 45000
-	db $df, $de ; DVs
+	dn 13, 15, 13, 14 ; DVs
 	db 20, 15, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4588,7 +4588,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 50000
-	db $df, $de ; DVs
+	dn 13, 15, 13, 14 ; DVs
 	db 5, 15, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4614,7 +4614,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 55000
-	db $bd, $ef ; DVs
+	dn 11, 13, 14, 15 ; DVs
 	db 10, 15, 15, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4640,7 +4640,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $fe ; DVs
+	dn 13, 13, 15, 14 ; DVs
 	db 10, 15, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4666,7 +4666,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $ed ; DVs
+	dn 13, 13, 14, 13 ; DVs
 	db 5, 10, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4692,7 +4692,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fd ; DVs
+	dn 15, 14, 15, 13 ; DVs
 	db 5, 15, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4718,7 +4718,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 55000
-	db $df, $de ; DVs
+	dn 13, 15, 13, 14 ; DVs
 	db 5, 15, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4744,7 +4744,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $bd, $fe ; DVs
+	dn 11, 13, 15, 14 ; DVs
 	db 10, 5, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4770,7 +4770,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $db, $fe ; DVs
+	dn 13, 11, 15, 14 ; DVs
 	db 15, 15, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4796,7 +4796,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $ef, $f7 ; DVs
+	dn 14, 15, 15, 7 ; DVs
 	db 10, 25, 10, 20 ; PP
 	db 255 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4822,7 +4822,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 10, 20, 10, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4848,7 +4848,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $f7, $f7 ; DVs
+	dn 15, 7, 15, 7 ; DVs
 	db 5, 15, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4874,7 +4874,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $47, $57 ; DVs
+	dn 4, 7, 5, 7 ; DVs
 	db 10, 10, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4900,7 +4900,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $65, $76 ; DVs
+	dn 6, 5, 7, 6 ; DVs
 	db 15, 5, 15, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4926,7 +4926,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $54, $44 ; DVs
+	dn 5, 4, 4, 4 ; DVs
 	db 10, 10, 15, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4955,7 +4955,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 60000
-	db $fd, $ed ; DVs
+	dn 15, 13, 14, 13 ; DVs
 	db 15, 15, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -4981,7 +4981,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 60000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 5, 10, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5007,7 +5007,7 @@
 	bigdw 60000
 	bigdw 60000
 	bigdw 60000
-	db $df, $fe ; DVs
+	dn 13, 15, 15, 14 ; DVs
 	db 15, 20, 10, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5033,7 +5033,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 50000
-	db $fd, $fe ; DVs
+	dn 15, 13, 15, 14 ; DVs
 	db 15, 20, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5059,7 +5059,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 5, 10, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5085,7 +5085,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $dd, $ef ; DVs
+	dn 13, 13, 14, 15 ; DVs
 	db 15, 5, 15, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5111,7 +5111,7 @@
 	bigdw 55000
 	bigdw 55000
 	bigdw 55000
-	db $fe, $df ; DVs
+	dn 15, 14, 13, 15 ; DVs
 	db 15, 10, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5137,7 +5137,7 @@
 	bigdw 50000
 	bigdw 45000
 	bigdw 45000
-	db $fb, $ef ; DVs
+	dn 15, 11, 14, 15 ; DVs
 	db 20, 15, 5, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5163,7 +5163,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 45000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 15, 10, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5189,7 +5189,7 @@
 	bigdw 55000
 	bigdw 60000
 	bigdw 50000
-	db $fd, $de ; DVs
+	dn 15, 13, 13, 14 ; DVs
 	db 10, 5, 15, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5215,7 +5215,7 @@
 	bigdw 50000
 	bigdw 55000
 	bigdw 50000
-	db $fd, $cf ; DVs
+	dn 15, 13, 12, 15 ; DVs
 	db 20, 25, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5241,7 +5241,7 @@
 	bigdw 55000
 	bigdw 50000
 	bigdw 55000
-	db $bd, $ef ; DVs
+	dn 11, 13, 14, 15 ; DVs
 	db 5, 5, 20, 15 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5267,7 +5267,7 @@
 	bigdw 48000
 	bigdw 45000
 	bigdw 50000
-	db $fd, $ef ; DVs
+	dn 15, 13, 14, 15 ; DVs
 	db 20, 5, 15, 20 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5293,7 +5293,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 45000
-	db $fb, $fe ; DVs
+	dn 15, 11, 15, 14 ; DVs
 	db 25, 5, 20, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5319,7 +5319,7 @@
 	bigdw 50000
 	bigdw 30000
 	bigdw 30000
-	db $dd, $fe ; DVs
+	dn 13, 13, 15, 14 ; DVs
 	db 15, 5, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5345,7 +5345,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $f7 ; DVs
+	dn 15, 14, 15, 7 ; DVs
 	db 10, 5, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5371,7 +5371,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fe, $fe ; DVs
+	dn 15, 14, 15, 14 ; DVs
 	db 10, 10, 5, 5 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5397,7 +5397,7 @@
 	bigdw 50000
 	bigdw 50000
 	bigdw 50000
-	db $fb, $e7 ; DVs
+	dn 15, 11, 14, 7 ; DVs
 	db 15, 5, 5, 10 ; PP
 	db 100 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5423,7 +5423,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $74, $46 ; DVs
+	dn 7, 4, 4, 6 ; DVs
 	db 5, 10, 10, 5 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5449,7 +5449,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $67, $76 ; DVs
+	dn 6, 7, 7, 6 ; DVs
 	db 20, 15, 15, 15 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -5475,7 +5475,7 @@
 	bigdw 30000
 	bigdw 30000
 	bigdw 30000
-	db $76, $57 ; DVs
+	dn 7, 6, 5, 7 ; DVs
 	db 15, 5, 5, 10 ; PP
 	db 0 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
--- a/data/default_options.asm
+++ b/data/default_options.asm
@@ -2,7 +2,7 @@
 ; wOptions: med text speed
 	db TEXT_DELAY_MED
 ; wSaveFileExists: no
-	db $00
+	db FALSE
 ; wTextBoxFrame: frame 1
 	db FRAME_1
 ; wTextBoxFlags: use text speed
--- a/data/events/odd_eggs.asm
+++ b/data/events/odd_eggs.asm
@@ -41,7 +41,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $0, $0 ; DVs
+	dn 0, 0, 0, 0 ; DVs
 	db 30, 20, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -55,8 +55,8 @@
 	bigdw 8 ; SAtk
 	bigdw 8 ; SDef
 	db "EGG@@@@@@@@"
+OddEgg1End:
 
-OddEgg2:
 	db PICHU
 	db NO_ITEM
 	db THUNDERSHOCK, CHARM, DIZZY_PUNCH, 0
@@ -68,7 +68,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 30, 20, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -120,7 +120,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 35, 20, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -172,7 +172,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 15, 20, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -224,7 +224,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 35, 30, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -276,7 +276,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 25, 10, 0, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -328,7 +328,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 30, 30, 10, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
@@ -380,7 +380,7 @@
 	bigdw 0
 	bigdw 0
 	bigdw 0
-	db $2a, $aa ; DVs
+	dn 2, 10, 10, 10 ; DVs
 	db 35, 10, 0, 0 ; PP
 	db 20 ; Happiness
 	db 0, 0, 0 ; Pokerus, Caught data
--- a/data/maps/landmarks.asm
+++ b/data/maps/landmarks.asm
@@ -1,107 +1,107 @@
 landmark: MACRO
 ; x, y, name
-	db \1, \2
+	db \1 + 8, \2 + 16
 	dw \3
 ENDM
 
 Landmarks:
 ; entries correspond to constants/landmark_constants.asm
-	landmark   0,   0, SpecialMapName
-	landmark 148, 116, NewBarkTownName
-	landmark 136, 116, Route29Name
-	landmark 108, 116, CherrygroveCityName
-	landmark 108,  96, Route30Name
-	landmark 104,  76, Route31Name
-	landmark  92,  76, VioletCityName
-	landmark  93,  74, SproutTowerName
-	landmark  92, 108, Route32Name
-	landmark  84,  92, RuinsOfAlphName
-	landmark  92, 140, UnionCaveName
-	landmark  90, 140, Route33Name
-	landmark  76, 140, AzaleaTownName
-	landmark  78, 138, SlowpokeWellName
-	landmark  60, 136, IlexForestName
-	landmark  60, 128, Route34Name
-	landmark  60, 108, GoldenrodCityName
-	landmark  58, 108, RadioTowerName
-	landmark  60,  92, Route35Name
-	landmark  60,  76, NationalParkName
-	landmark  72,  76, Route36Name
-	landmark  76,  68, Route37Name
-	landmark  76,  60, EcruteakCityName
-	landmark  78,  58, TinTowerName
-	landmark  74,  58, BurnedTowerName
-	landmark  60,  60, Route38Name
-	landmark  44,  64, Route39Name
-	landmark  44,  76, OlivineCityName
-	landmark  46,  78, LighthouseName
-	landmark  36,  72, BattleTowerName
-	landmark  36,  80, Route40Name
-	landmark  36, 108, WhirlIslandsName
-	landmark  36, 116, Route41Name
-	landmark  28, 116, CianwoodCityName
-	landmark 100,  60, Route42Name
-	landmark  92,  60, MtMortarName
-	landmark 116,  60, MahoganyTownName
-	landmark 116,  52, Route43Name
-	landmark 116,  44, LakeOfRageName
-	landmark 128,  60, Route44Name
-	landmark 138,  54, IcePathName
-	landmark 140,  60, BlackthornCityName
-	landmark 140,  52, DragonsDenName
-	landmark 140,  80, Route45Name
-	landmark 120,  88, DarkCaveName
-	landmark 132, 104, Route46Name
-	landmark 156,  84, SilverCaveName
-	landmark  60, 124, PalletTownName
-	landmark  60, 108, Route1Name
-	landmark  60,  92, ViridianCityName
-	landmark  60,  80, Route2Name
-	landmark  60,  68, PewterCityName
-	landmark  72,  68, Route3Name
-	landmark  84,  68, MtMoonName
-	landmark  96,  68, Route4Name
-	landmark 108,  68, CeruleanCityName
-	landmark 108,  60, Route24Name
-	landmark 116,  52, Route25Name
-	landmark 108,  76, Route5Name
-	landmark 116,  92, UndergroundName
-	landmark 108,  92, Route6Name
-	landmark 108, 100, VermilionCityName
-	landmark  96,  76, DiglettsCaveName
-	landmark  96,  84, Route7Name
-	landmark 124,  84, Route8Name
-	landmark 124,  68, Route9Name
-	landmark 140,  68, RockTunnelName
-	landmark 140,  72, Route10Name
-	landmark 140,  76, PowerPlantName
-	landmark 140,  84, LavenderTownName
-	landmark 148,  84, LavRadioTowerName
-	landmark  84,  84, CeladonCityName
-	landmark 108,  84, SaffronCityName
-	landmark 124, 100, Route11Name
-	landmark 140,  96, Route12Name
-	landmark 132, 116, Route13Name
-	landmark 124, 128, Route14Name
-	landmark 112, 132, Route15Name
-	landmark  76,  84, Route16Name
-	landmark  76, 108, Route17Name
-	landmark  88, 132, Route18Name
-	landmark 100, 132, FuchsiaCityName
-	landmark 100, 144, Route19Name
-	landmark  84, 148, Route20Name
-	landmark  76, 148, SeafoamIslandsName
-	landmark  60, 148, CinnabarIslandName
-	landmark  60, 136, Route21Name
-	landmark  44,  84, Route22Name
-	landmark  36,  68, VictoryRoadName
-	landmark  36,  60, Route23Name
-	landmark  36,  52, IndigoPlateauName
-	landmark  36, 108, Route26Name
-	landmark  28, 116, Route27Name
-	landmark  20, 116, TohjoFallsName
-	landmark  28,  84, Route28Name
-	landmark 148, 132, FastShipName
+	dbbw       0,   0, SpecialMapName
+	landmark 140, 100, NewBarkTownName
+	landmark 128, 100, Route29Name
+	landmark 100, 100, CherrygroveCityName
+	landmark 100,  80, Route30Name
+	landmark  96,  60, Route31Name
+	landmark  84,  60, VioletCityName
+	landmark  85,  58, SproutTowerName
+	landmark  84,  92, Route32Name
+	landmark  76,  76, RuinsOfAlphName
+	landmark  84, 124, UnionCaveName
+	landmark  82, 124, Route33Name
+	landmark  68, 124, AzaleaTownName
+	landmark  70, 122, SlowpokeWellName
+	landmark  52, 120, IlexForestName
+	landmark  52, 112, Route34Name
+	landmark  52,  92, GoldenrodCityName
+	landmark  50,  92, RadioTowerName
+	landmark  52,  76, Route35Name
+	landmark  52,  60, NationalParkName
+	landmark  64,  60, Route36Name
+	landmark  68,  52, Route37Name
+	landmark  68,  44, EcruteakCityName
+	landmark  70,  42, TinTowerName
+	landmark  66,  42, BurnedTowerName
+	landmark  52,  44, Route38Name
+	landmark  36,  48, Route39Name
+	landmark  36,  60, OlivineCityName
+	landmark  38,  62, LighthouseName
+	landmark  28,  56, BattleTowerName
+	landmark  28,  64, Route40Name
+	landmark  28,  92, WhirlIslandsName
+	landmark  28, 100, Route41Name
+	landmark  20, 100, CianwoodCityName
+	landmark  92,  44, Route42Name
+	landmark  84,  44, MtMortarName
+	landmark 108,  44, MahoganyTownName
+	landmark 108,  36, Route43Name
+	landmark 108,  28, LakeOfRageName
+	landmark 120,  44, Route44Name
+	landmark 130,  38, IcePathName
+	landmark 132,  44, BlackthornCityName
+	landmark 132,  36, DragonsDenName
+	landmark 132,  64, Route45Name
+	landmark 112,  72, DarkCaveName
+	landmark 124,  88, Route46Name
+	landmark 148,  68, SilverCaveName
+	landmark  52, 108, PalletTownName
+	landmark  52,  92, Route1Name
+	landmark  52,  76, ViridianCityName
+	landmark  52,  64, Route2Name
+	landmark  52,  52, PewterCityName
+	landmark  64,  52, Route3Name
+	landmark  76,  52, MtMoonName
+	landmark  88,  52, Route4Name
+	landmark 100,  52, CeruleanCityName
+	landmark 100,  44, Route24Name
+	landmark 108,  36, Route25Name
+	landmark 100,  60, Route5Name
+	landmark 108,  76, UndergroundName
+	landmark 100,  76, Route6Name
+	landmark 100,  84, VermilionCityName
+	landmark  88,  60, DiglettsCaveName
+	landmark  88,  68, Route7Name
+	landmark 116,  68, Route8Name
+	landmark 116,  52, Route9Name
+	landmark 132,  52, RockTunnelName
+	landmark 132,  56, Route10Name
+	landmark 132,  60, PowerPlantName
+	landmark 132,  68, LavenderTownName
+	landmark 140,  68, LavRadioTowerName
+	landmark  76,  68, CeladonCityName
+	landmark 100,  68, SaffronCityName
+	landmark 116,  84, Route11Name
+	landmark 132,  80, Route12Name
+	landmark 124, 100, Route13Name
+	landmark 116, 112, Route14Name
+	landmark 104, 116, Route15Name
+	landmark  68,  68, Route16Name
+	landmark  68,  92, Route17Name
+	landmark  80, 116, Route18Name
+	landmark  92, 116, FuchsiaCityName
+	landmark  92, 128, Route19Name
+	landmark  76, 132, Route20Name
+	landmark  68, 132, SeafoamIslandsName
+	landmark  52, 132, CinnabarIslandName
+	landmark  52, 120, Route21Name
+	landmark  36,  68, Route22Name
+	landmark  28,  52, VictoryRoadName
+	landmark  28,  44, Route23Name
+	landmark  28,  36, IndigoPlateauName
+	landmark  28,  92, Route26Name
+	landmark  20, 100, Route27Name
+	landmark  12, 100, TohjoFallsName
+	landmark  20,  68, Route28Name
+	landmark 140, 116, FastShipName
 
 NewBarkTownName:     db "NEW BARK¯TOWN@"
 CherrygroveCityName: db "CHERRYGROVE¯CITY@"
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -4738,13 +4738,13 @@
 BattleAnim_Sludge_branch_cbc15:
 BattleAnim_Toxic_branch_cbc15:
 .loop
-	anim_sound 0, 1, SFX_UNKNOWN_7F
+	anim_sound 0, 1, SFX_TOXIC
 	anim_obj ANIM_OBJ_1A, 132, 72, $0
 	anim_wait 8
-	anim_sound 0, 1, SFX_UNKNOWN_7F
+	anim_sound 0, 1, SFX_TOXIC
 	anim_obj ANIM_OBJ_1A, 116, 72, $0
 	anim_wait 8
-	anim_sound 0, 1, SFX_UNKNOWN_7F
+	anim_sound 0, 1, SFX_TOXIC
 	anim_obj ANIM_OBJ_1A, 148, 72, $0
 	anim_wait 8
 	anim_loop 5, .loop
--- /dev/null
+++ b/data/moves/critical_hit_moves.asm
@@ -1,0 +1,9 @@
+CriticalHitMoves:
+	db KARATE_CHOP
+	db RAZOR_WIND
+	db RAZOR_LEAF
+	db CRABHAMMER
+	db SLASH
+	db AEROBLAST
+	db CROSS_CHOP
+	db -1
--- /dev/null
+++ b/data/moves/metronome_exception_moves.asm
@@ -1,0 +1,17 @@
+; Metronome cannot turn into these moves.
+
+MetronomeExcepts:
+	db NO_MOVE
+	db METRONOME
+	db STRUGGLE
+	db SKETCH
+	db MIMIC
+	db COUNTER
+	db MIRROR_COAT
+	db PROTECT
+	db DETECT
+	db ENDURE
+	db DESTINY_BOND
+	db SLEEP_TALK
+	db THIEF
+	db -1
--- a/data/sprites/emotes.asm
+++ b/data/sprites/emotes.asm
@@ -2,20 +2,20 @@
 ; graphics pointer, length, starting tile
 	dw \1
 	db \2 tiles, BANK(\1)
-	dw vTiles1 tile \3
+	dw vTiles0 tile \3
 ENDM
 
 Emotes:
 ; entries correspond to EMOTE_* constants
-	emote ShockEmote,     4, $78
-	emote QuestionEmote,  4, $78
-	emote HappyEmote,     4, $78
-	emote SadEmote,       4, $78
-	emote HeartEmote,     4, $78
-	emote BoltEmote,      4, $78
-	emote SleepEmote,     4, $78
-	emote FishEmote,      4, $78
-	emote JumpShadowGFX,  1, $7c
-	emote FishingRodGFX,  2, $7c
-	emote BoulderDustGFX, 2, $7e
-	emote GrassRustleGFX, 1, $7e
+	emote ShockEmote,     4, $f8
+	emote QuestionEmote,  4, $f8
+	emote HappyEmote,     4, $f8
+	emote SadEmote,       4, $f8
+	emote HeartEmote,     4, $f8
+	emote BoltEmote,      4, $f8
+	emote SleepEmote,     4, $f8
+	emote FishEmote,      4, $f8
+	emote JumpShadowGFX,  1, $fc
+	emote FishingRodGFX,  2, $fc
+	emote BoulderDustGFX, 2, $fe
+	emote GrassRustleGFX, 1, $fe
--- a/data/text/common_1.asm
+++ b/data/text/common_1.asm
@@ -93,7 +93,7 @@
 	line "level @"
 	deciram wCurPartyLevel, 1, 3
 	text "!@"
-	sound_dex_fanfare_50_79
+	sound_dex_fanfare_50_79 ; plays SFX_DEX_FANFARE_50_79, identical to SFX_LEVEL_UP
 	text_waitbutton
 	db "@@"
 
--- a/data/tilesets.asm
+++ b/data/tilesets.asm
@@ -8,7 +8,7 @@
 ; Associated data:
 ; - The *GFX, *Meta, and *Coll are defined in gfx/tilesets.asm
 ; - The *PalMap are defined in gfx/tileset_palette_maps.asm
-; - The *Anim are defined in engine/tileset_anims.asm
+; - The *Anim are defined in engine/tilesets/tileset_anims.asm
 
 Tilesets::
 ; entries correspond to TILESET_* constants
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3619,10 +3619,10 @@
 	ld e, a
 	xor a
 	ld hl, wPartyMon1HP
-	ld bc, wPartyMon2 - (wPartyMon1 + 1)
+	ld bc, PARTYMON_STRUCT_LENGTH - 1
 .loop
 	or [hl]
-	inc hl
+	inc hl ; + 1
 	or [hl]
 	add hl, bc
 	dec e
@@ -6992,7 +6992,7 @@
 	ld a, [wCurPartyMon]
 	ld c, a
 	ld b, CHECK_FLAG
-	ld d, $0
+	ld d, FALSE
 	predef SmallFarFlagAction
 	ld a, c
 	and a
@@ -7006,7 +7006,7 @@
 	ld e, l
 	ld hl, wEnemyMonBaseStats - 1
 	push bc
-	ld c, $5
+	ld c, NUM_EXP_STATS
 .loop1
 	inc hl
 	ld a, [de]
@@ -7286,13 +7286,13 @@
 	ld [wMonType], a
 	predef CopyMonToTempMon
 	hlcoord 9, 0
-	ld b, $a
-	ld c, $9
+	ld b, 10
+	ld c, 9
 	call TextBox
 	hlcoord 11, 1
 	ld bc, 4
 	predef PrintTempMonStats
-	ld c, $1e
+	ld c, 30
 	call DelayFrames
 	call WaitPressAorB_BlinkCursor
 	call Call_LoadTempTileMapToTileMap
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -1210,7 +1210,9 @@
 	ld [wCriticalHit], a
 	ret
 
-INCLUDE "data/battle/critical_hits.asm"
+INCLUDE "data/moves/critical_hit_moves.asm"
+
+INCLUDE "data/battle/critical_hit_chances.asm"
 
 INCLUDE "engine/battle/move_effects/triple_kick.asm"
 
--- a/engine/battle/move_effects/metronome.asm
+++ b/engine/battle/move_effects/metronome.asm
@@ -40,4 +40,4 @@
 	call UpdateMoveData
 	jp ResetTurn
 
-INCLUDE "data/battle/metronome_exception_moves.asm"
+INCLUDE "data/moves/metronome_exception_moves.asm"
--- a/engine/battle/start_battle.asm
+++ b/engine/battle/start_battle.asm
@@ -16,7 +16,7 @@
 	xor a
 	ld [hMapAnims], a
 	call DelayFrame
-	ld b, 6
+	ld b, PARTY_LENGTH
 	ld hl, wPartyMon1HP
 	ld de, PARTYMON_STRUCT_LENGTH - 1
 
--- a/engine/events/battle_tower/load_trainer.asm
+++ b/engine/events/battle_tower/load_trainer.asm
@@ -104,7 +104,7 @@
 	ld a, [wBTChoiceOfLvlGroup]
 	dec a
 	ld hl, BattleTowerMons
-	ld bc, BattleTowerMons2 - BattleTowerMons1
+	ld bc, BattleTowerMons2 - BattleTowerMons1 ; size of one level group
 	call AddNTimes
 
 	ld a, [hRandomAdd]
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -31,7 +31,7 @@
 	call GetCelebiSpriteTile
 	inc d
 	push de
-	ld a, $90
+	ld a, 36 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	farcall DoNextFrameForAllSprites
 	call CelebiEvent_CountDown
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -1,3 +1,7 @@
+FIELDMOVE_GRASS EQU $80
+FIELDMOVE_TREE EQU $84
+FIELDMOVE_FLY EQU $84
+
 PlayWhirlpoolSound:
 	call WaitSFX
 	ld de, SFX_SURF
@@ -20,11 +24,11 @@
 ShakeHeadbuttTree:
 	farcall ClearSpriteAnims
 	ld de, CutGrassGFX
-	ld hl, vTiles1 tile $00
+	ld hl, vTiles0 tile FIELDMOVE_GRASS
 	lb bc, BANK(CutGrassGFX), 4
 	call Request2bpp
 	ld de, HeadbuttTreeGFX
-	ld hl, vTiles1 tile $04
+	ld hl, vTiles0 tile FIELDMOVE_TREE
 	lb bc, BANK(HeadbuttTreeGFX), 8
 	call Request2bpp
 	call Cut_Headbutt_GetPixelFacing
@@ -32,8 +36,8 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $84
-	ld a, 36 * 4
+	ld [hl], FIELDMOVE_TREE
+	ld a, 36 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	farcall DoNextFrameForAllSprites
 	call HideHeadbuttTree
@@ -48,7 +52,7 @@
 	and a
 	jr z, .done
 	dec [hl]
-	ld a, 36 * 4
+	ld a, 36 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	farcall DoNextFrameForAllSprites
 	call DelayFrame
@@ -111,7 +115,7 @@
 	; 0: Split tree in half
 	; 1: Mow the lawn
 	ld a, e
-	and $1
+	and 1
 	ld [wJumptableIndex], a
 	call .LoadCutGFX
 	call WaitSFX
@@ -121,7 +125,7 @@
 	ld a, [wJumptableIndex]
 	bit 7, a
 	jr nz, .finish
-	ld a, 36 * 4
+	ld a, 36 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	callfar DoNextFrameForAllSprites
 	call OWCutJumptable
@@ -134,11 +138,11 @@
 .LoadCutGFX:
 	callfar ClearSpriteAnims ; pointless to farcall
 	ld de, CutGrassGFX
-	ld hl, vTiles1 tile $00
+	ld hl, vTiles0 tile FIELDMOVE_GRASS
 	lb bc, BANK(CutGrassGFX), 4
 	call Request2bpp
 	ld de, CutTreeGFX
-	ld hl, vTiles1 tile $04
+	ld hl, vTiles0 tile FIELDMOVE_TREE
 	lb bc, BANK(CutTreeGFX), 4
 	call Request2bpp
 	ret
@@ -173,7 +177,7 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $84
+	ld [hl], FIELDMOVE_TREE
 	ld a, 32
 	ld [wFrameCounter], a
 ; Cut_StartWaiting
@@ -226,7 +230,7 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $80
+	ld [hl], FIELDMOVE_GRASS
 	ld hl, SPRITEANIMSTRUCT_0E
 	add hl, bc
 	ld [hl], $4
@@ -313,7 +317,7 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $84
+	ld [hl], FIELDMOVE_FLY
 	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
 	ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
@@ -323,7 +327,7 @@
 	ld a, [wJumptableIndex]
 	bit 7, a
 	jr nz, .exit
-	ld a, 0 * 4
+	ld a, 0 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	callfar DoNextFrameForAllSprites
 	call FlyFunction_FrameTimer
@@ -347,7 +351,7 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $84
+	ld [hl], FIELDMOVE_FLY
 	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
 	ld [hl], SPRITE_ANIM_SEQ_FLY_TO
@@ -360,7 +364,7 @@
 	ld a, [wJumptableIndex]
 	bit 7, a
 	jr nz, .exit
-	ld a, 0 * 4
+	ld a, 0 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	callfar DoNextFrameForAllSprites
 	call FlyFunction_FrameTimer
@@ -394,7 +398,7 @@
 FlyFunction_InitGFX:
 	callfar ClearSpriteAnims
 	ld de, CutGrassGFX
-	ld hl, vTiles1 tile $00
+	ld hl, vTiles0 tile FIELDMOVE_GRASS
 	lb bc, BANK(CutGrassGFX), 4
 	call Request2bpp
 	ld a, [wCurPartyMon]
@@ -404,7 +408,7 @@
 	add hl, de
 	ld a, [hl]
 	ld [wd265], a
-	ld e, $84
+	ld e, FIELDMOVE_FLY
 	farcall FlyFunction_GetMonIcon
 	xor a
 	ld [wJumptableIndex], a
@@ -446,5 +450,5 @@
 	call _InitSpriteAnimStruct
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
-	ld [hl], $80
+	ld [hl], FIELDMOVE_GRASS
 	ret
--- a/engine/events/fishing_gfx.asm
+++ b/engine/events/fishing_gfx.asm
@@ -17,7 +17,7 @@
 	call .LoadGFX
 	ld hl, vTiles0 tile $0a
 	call .LoadGFX
-	ld hl, vTiles1 tile $7c
+	ld hl, vTiles0 tile $fc
 	call .LoadGFX
 
 	pop af
--- a/engine/events/odd_egg.asm
+++ b/engine/events/odd_egg.asm
@@ -39,7 +39,7 @@
 .done
 
 	ld hl, OddEggs
-	ld a, OddEgg2 - OddEgg1
+	ld a, OddEgg1End - OddEgg1
 	call AddNTimes
 
 	ld de, wOddEggSpecies
--- a/engine/games/unown_puzzle.asm
+++ b/engine/games/unown_puzzle.asm
@@ -19,11 +19,11 @@
 	xor a
 	call ByteFill
 	ld hl, UnownPuzzleCursorGFX
-	ld de, vTiles1 tile $60
+	ld de, vTiles0 tile $e0
 	ld bc, 4 tiles
 	call CopyBytes
 	ld hl, UnownPuzzleStartCancelLZ
-	ld de, vTiles1 tile $6d
+	ld de, vTiles0 tile $ed
 	call Decompress
 	call LoadUnownPuzzlePiecesGFX
 	hlcoord 0, 0
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -2039,7 +2039,7 @@
 	jr nc, .move_too_new
 	dec c
 	jr nz, .move_next
-	ld de, wPartyMon2 - (wPartyMon1 + NUM_MOVES)
+	ld de, PARTYMON_STRUCT_LENGTH - NUM_MOVES
 	add hl, de
 	dec b
 	jr nz, .move_loop
--- a/engine/menus/options_menu.asm
+++ b/engine/menus/options_menu.asm
@@ -165,7 +165,7 @@
 ; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c,
 ; with previous/next TEXT_DELAY_* values in d/e
 	ld a, [wOptions]
-	and $7
+	and TEXT_DELAY_MASK
 	cp TEXT_DELAY_SLOW
 	jr z, .slow
 	cp TEXT_DELAY_FAST
@@ -467,7 +467,7 @@
 	dec a
 
 .Save:
-	and $7
+	maskbits NUM_FRAMES
 	ld [hl], a
 UpdateFrame:
 	ld a, [wTextBoxFrame]
--- a/engine/menus/save.asm
+++ b/engine/menus/save.asm
@@ -89,7 +89,7 @@
 	pop de
 	ld a, e
 	ld [wCurBox], a
-	ld a, $1
+	ld a, TRUE
 	ld [wSaveFileExists], a
 	farcall StageRTCTimeForSave
 	farcall BackupMysteryGift
@@ -253,7 +253,7 @@
 	ret
 
 SaveGameData_:
-	ld a, 1
+	ld a, TRUE
 	ld [wSaveFileExists], a
 	farcall StageRTCTimeForSave
 	farcall BackupMysteryGift
@@ -627,7 +627,7 @@
 	ret
 
 TryLoadSaveData:
-	xor a
+	xor a ; FALSE
 	ld [wSaveFileExists], a
 	call CheckPrimarySaveFile
 	ld a, [wSaveFileExists]
@@ -690,7 +690,7 @@
 	ld bc, wOptionsEnd - wOptions
 	call CopyBytes
 	call CloseSRAM
-	ld a, $1
+	ld a, TRUE
 	ld [wSaveFileExists], a
 
 .nope
--- a/engine/movie/crystal_intro.asm
+++ b/engine/movie/crystal_intro.asm
@@ -1481,7 +1481,7 @@
 	cp $8
 	ret nz
 
-	ld de, SFX_UNKNOWN_CB
+	ld de, SFX_INTRO_WHOOSH
 	call PlaySFX
 	ret
 
--- a/engine/movie/title.asm
+++ b/engine/movie/title.asm
@@ -246,8 +246,8 @@
 	ret
 
 .Frames:
-	db $80 ; vTiles4 tile $00
-	db $88 ; vTiles4 tile $08
+	db $80 ; vTiles3 tile $80
+	db $88 ; vTiles3 tile $88
 	db $00 ; vTiles5 tile $00
 	db $08 ; vTiles5 tile $08
 
--- a/engine/overworld/decorations.asm
+++ b/engine/overworld/decorations.asm
@@ -1085,17 +1085,18 @@
 	db "@"
 
 ToggleMaptileDecorations:
-	lb de, 0, 4
+	; tile coordinates work the same way as for changeblock
+	lb de, 0, 4 ; bed coordinates
 	ld a, [wDecoBed]
 	call SetDecorationTile
-	lb de, 7, 4
+	lb de, 7, 4 ; plant coordinates
 	ld a, [wDecoPlant]
 	call SetDecorationTile
-	lb de, 6, 0
+	lb de, 6, 0 ; poster coordinates
 	ld a, [wDecoPoster]
 	call SetDecorationTile
 	call SetPosterVisibility
-	lb de, 0, 0
+	lb de, 0, 0 ; carpet top-left coordinates
 	call PadCoords_de
 	ld a, [wDecoCarpet]
 	and a
@@ -1103,15 +1104,15 @@
 	call _GetDecorationSprite
 	ld [hl], a
 	push af
-	lb de, 0, 2
+	lb de, 0, 2 ; carpet bottom-left coordinates
 	call PadCoords_de
 	pop af
 	inc a
-	ld [hli], a
+	ld [hli], a ; carpet bottom-left block
 	inc a
-	ld [hli], a
+	ld [hli], a ; carpet bottom-middle block
 	dec a
-	ld [hl], a
+	ld [hl], a ; carpet bottom-right block
 	ret
 
 SetPosterVisibility:
@@ -1177,6 +1178,7 @@
 	ret
 
 PadCoords_de:
+; adjusts coordinates, the same way as Script_changeblock
 	ld a, d
 	add 4
 	ld d, a
--- a/engine/overworld/player_movement.asm
+++ b/engine/overworld/player_movement.asm
@@ -562,8 +562,8 @@
 .GetAction:
 ; Poll player input and update movement info.
 
-	ld hl, .table
-	ld de, .table2 - .table1
+	ld hl, .action_table
+	ld de, .action_table_1_end - .action_table_1
 	ld a, [wCurInput]
 	bit D_DOWN_F, a
 	jr nz, .d_down
@@ -597,25 +597,20 @@
 	ld [wWalkingTile], a
 	ret
 
-.table
-; struct:
-;	walk direction
-;	facing
-;	x movement
-;	y movement
-;	tile collision pointer
-.table1
-	db STANDING, FACE_CURRENT, 0, 0
-	dw wPlayerStandingTile
-.table2
-	db RIGHT, FACE_RIGHT,  1,  0
-	dw wTileRight
-	db LEFT,  FACE_LEFT,  -1,  0
-	dw wTileLeft
-	db UP,    FACE_UP,     0, -1
-	dw wTileUp
-	db DOWN,  FACE_DOWN,   0,  1
-	dw wTileDown
+player_action: MACRO
+; walk direction, facing, x movement, y movement, tile collision pointer
+	db \1, \2, \3, \4
+	dw \5
+ENDM
+
+.action_table:
+.action_table_1
+	player_action STANDING, FACE_CURRENT, 0,  0, wPlayerStandingTile
+.action_table_1_end
+	player_action RIGHT,    FACE_RIGHT,   1,  0, wTileRight
+	player_action LEFT,     FACE_LEFT,   -1,  0, wTileLeft
+	player_action UP,       FACE_UP,      0, -1, wTileUp
+	player_action DOWN,     FACE_DOWN,    0,  1, wTileDown
 
 .CheckNPC:
 ; Returns 0 if there is an NPC in front that you can't move
--- a/engine/pokemon/move_mon.asm
+++ b/engine/pokemon/move_mon.asm
@@ -1403,7 +1403,7 @@
 ; hl is the path to the Stat EXP
 ; de points to where the final stats will be saved
 
-	ld c, $0
+	ld c, STAT_HP - 1 ; first stat
 .loop
 	inc c
 	call CalcMonStatC
@@ -1414,7 +1414,7 @@
 	ld [de], a
 	inc de
 	ld a, c
-	cp STAT_SDEF
+	cp STAT_SDEF ; last stat
 	jr nz, .loop
 	ret
 
@@ -1434,7 +1434,7 @@
 	push hl
 	ld hl, wBaseStats
 	dec hl ; has to be decreased, because 'c' begins with 1
-	ld b, $0
+	ld b, 0
 	add hl, bc
 	ld a, [hl]
 	ld e, a
@@ -1441,7 +1441,7 @@
 	pop hl
 	push hl
 	ld a, c
-	cp STAT_SDEF
+	cp STAT_SDEF ; last stat
 	jr nz, .not_spdef
 	dec hl
 	dec hl
--- a/engine/tilesets/tileset_anims.asm
+++ b/engine/tilesets/tileset_anims.asm
@@ -40,7 +40,7 @@
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  WaitTileAnimation
 	dw NULL,  AnimateFlowerTile
 	dw NULL,  WaitTileAnimation
@@ -53,7 +53,7 @@
 	dw NULL,  WaitTileAnimation
 	dw vTiles2 tile $5f, AnimateFountain
 	dw NULL,  WaitTileAnimation
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  WaitTileAnimation
 	dw NULL,  AnimateFlowerTile
 	dw NULL,  WaitTileAnimation
@@ -71,7 +71,7 @@
 	dw NULL,  ForestTreeRightAnimation2
 	dw NULL,  AnimateFlowerTile
 	dw vTiles2 tile $14, AnimateWaterTile
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  StandingTileFrame8
 	dw NULL,  DoneTileAnimation
 
@@ -79,7 +79,7 @@
 	dw vTiles2 tile $14, AnimateWaterTile
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  WaitTileAnimation
 	dw NULL,  AnimateFlowerTile
 	dw WhirlpoolFrames1, AnimateWhirlpoolTile
@@ -122,7 +122,7 @@
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
 	dw NULL,  WaitTileAnimation
@@ -178,7 +178,7 @@
 	dw NULL,  FlickeringCaveEntrancePalette
 	dw vTiles2 tile $14, WriteTileFromBuffer
 	dw NULL,  FlickeringCaveEntrancePalette
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  FlickeringCaveEntrancePalette
 	dw vTiles2 tile $40, WriteTileToBuffer
 	dw NULL,  FlickeringCaveEntrancePalette
@@ -199,7 +199,7 @@
 	dw NULL,  FlickeringCaveEntrancePalette
 	dw vTiles2 tile $35, WriteTileFromBuffer
 	dw NULL,  FlickeringCaveEntrancePalette
-	dw NULL,  TileAnimationPalette
+	dw NULL,  AnimateWaterPalette
 	dw NULL,  FlickeringCaveEntrancePalette
 	dw vTiles2 tile $31, WriteTileToBuffer
 	dw NULL,  FlickeringCaveEntrancePalette
@@ -852,7 +852,7 @@
 	ld sp, hl
 	ret
 
-TileAnimationPalette:
+AnimateWaterPalette:
 ; Transition between color values 0-2 for color 0 in palette 3.
 
 ; No palette changes on DMG.
--- a/home/map.asm
+++ b/home/map.asm
@@ -1176,7 +1176,7 @@
 	ld l, a
 	ld a, [wBGMapAnchor + 1]
 	ld h, a
-	ld bc, $0200
+	ld bc, BG_MAP_WIDTH tiles
 	add hl, bc
 ; cap d at HIGH(vBGMap0)
 	ld a, h
--- a/macros/code.asm
+++ b/macros/code.asm
@@ -1,11 +1,11 @@
 ; Syntactic sugar macros
 
 lb: MACRO ; r, hi, lo
-	ld \1, (((\2) & $ff) << 8) | (((\3) & $ff))
+	ld \1, ((\2) & $ff) << 8 | ((\3) & $ff)
 ENDM
 
 ln: MACRO ; r, hi, lo
-	ld \1, (((\2) & $f) << 4) | (((\3) & $f))
+	ld \1, ((\2) & $f) << 4 | ((\3) & $f)
 ENDM
 
 ldpixel: MACRO
--- a/mobile/mobile_22_2.asm
+++ b/mobile/mobile_22_2.asm
@@ -586,7 +586,7 @@
 	ld a, BANK(GFX_17afa5)
 	call FarCopyBytes
 	ld hl, GFX_17afa5 + $514 + $160
-	ld de, vTiles1 tile $6e
+	ld de, vTiles0 tile $ee
 	ld bc, $10
 	ld a, BANK(GFX_17afa5)
 	call FarCopyBytes
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -5543,7 +5543,7 @@
 	call Function11b314
 	call Function11acb7
 	call Function11ad6e
-	ld a, 30 * 4
+	ld a, 30 * SPRITEOAMSTRUCT_LENGTH
 	ld [wCurrSpriteOAMAddr], a
 	farcall DoNextFrameForAllSprites
 	farcall ReloadMapPart
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -279,7 +279,7 @@
 	ld a, $1
 	ld [rVBK], a
 	ld de, GFX_171848
-	ld hl, vTiles1 tile $41
+	ld hl, vTiles0 tile $c1
 	lb bc, BANK(GFX_171848), 24
 	call Get2bpp
 	xor a
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -605,7 +605,7 @@
 	call ClearScreen
 	farcall ReloadMapPart
 	call DisableLCD
-	ld hl, vTiles1 tile $6e
+	ld hl, vTiles0 tile $ee
 	ld de, $c608
 	ld bc, 1 tiles
 	call CopyBytes
@@ -620,7 +620,7 @@
 	ld bc, 1 tiles
 	call ByteFill
 	ld hl, $c608
-	ld de, vTiles1 tile $6e
+	ld de, vTiles0 tile $ee
 	ld bc, 1 tiles
 	call CopyBytes
 	xor a
@@ -652,7 +652,7 @@
 
 Function17d405:
 	call DisableLCD
-	ld hl, vTiles1 tile $6e
+	ld hl, vTiles0 tile $ee
 	ld de, $c608
 	ld bc, 1 tiles
 	call CopyBytes
@@ -667,7 +667,7 @@
 	ld bc, 1 tiles
 	call ByteFill
 	ld hl, $c608
-	ld de, vTiles1 tile $6e
+	ld de, vTiles0 tile $ee
 	ld bc, 1 tiles
 	call CopyBytes
 	xor a
--- a/wram.asm
+++ b/wram.asm
@@ -2507,7 +2507,7 @@
 wPlayerState:: db ; d95d
 
 wHallOfFameCount:: dw
-wTradeFlags:: flag_array PARTY_LENGTH ; d960
+wTradeFlags:: flag_array NUM_NPC_TRADES ; d960
 	ds 1
 wMooMooBerries:: db ; d962
 wUndergroundSwitchPositions:: db ; d963