summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdata/baseStats/abra.asm14
-rwxr-xr-xdata/baseStats/aerodactyl.asm14
-rwxr-xr-xdata/baseStats/alakazam.asm14
-rwxr-xr-xdata/baseStats/arbok.asm14
-rwxr-xr-xdata/baseStats/arcanine.asm14
-rwxr-xr-xdata/baseStats/articuno.asm14
-rwxr-xr-xdata/baseStats/beedrill.asm14
-rwxr-xr-xdata/baseStats/bellsprout.asm14
-rwxr-xr-xdata/baseStats/blastoise.asm14
-rwxr-xr-xdata/baseStats/bulbasaur.asm14
-rwxr-xr-xdata/baseStats/butterfree.asm16
-rwxr-xr-xdata/baseStats/caterpie.asm14
-rwxr-xr-xdata/baseStats/chansey.asm14
-rwxr-xr-xdata/baseStats/charizard.asm16
-rwxr-xr-xdata/baseStats/charmander.asm14
-rwxr-xr-xdata/baseStats/charmeleon.asm14
-rwxr-xr-xdata/baseStats/clefable.asm14
-rwxr-xr-xdata/baseStats/clefairy.asm14
-rwxr-xr-xdata/baseStats/cloyster.asm14
-rwxr-xr-xdata/baseStats/cubone.asm14
-rwxr-xr-xdata/baseStats/dewgong.asm14
-rwxr-xr-xdata/baseStats/diglett.asm16
-rwxr-xr-xdata/baseStats/ditto.asm14
-rwxr-xr-xdata/baseStats/dodrio.asm14
-rwxr-xr-xdata/baseStats/doduo.asm14
-rwxr-xr-xdata/baseStats/dragonair.asm14
-rwxr-xr-xdata/baseStats/dragonite.asm14
-rwxr-xr-xdata/baseStats/dratini.asm14
-rwxr-xr-xdata/baseStats/drowzee.asm14
-rwxr-xr-xdata/baseStats/dugtrio.asm16
-rwxr-xr-xdata/baseStats/eevee.asm14
-rwxr-xr-xdata/baseStats/ekans.asm14
-rwxr-xr-xdata/baseStats/electabuzz.asm14
-rwxr-xr-xdata/baseStats/electrode.asm14
-rwxr-xr-xdata/baseStats/exeggcute.asm14
-rwxr-xr-xdata/baseStats/exeggutor.asm14
-rwxr-xr-xdata/baseStats/farfetchd.asm14
-rwxr-xr-xdata/baseStats/fearow.asm14
-rwxr-xr-xdata/baseStats/flareon.asm14
-rwxr-xr-xdata/baseStats/gastly.asm14
-rwxr-xr-xdata/baseStats/gengar.asm14
-rwxr-xr-xdata/baseStats/geodude.asm14
-rwxr-xr-xdata/baseStats/gloom.asm14
-rwxr-xr-xdata/baseStats/golbat.asm14
-rwxr-xr-xdata/baseStats/goldeen.asm14
-rwxr-xr-xdata/baseStats/golduck.asm14
-rwxr-xr-xdata/baseStats/golem.asm14
-rwxr-xr-xdata/baseStats/graveler.asm14
-rwxr-xr-xdata/baseStats/grimer.asm14
-rwxr-xr-xdata/baseStats/growlithe.asm14
-rwxr-xr-xdata/baseStats/gyarados.asm14
-rwxr-xr-xdata/baseStats/haunter.asm14
-rwxr-xr-xdata/baseStats/hitmonchan.asm14
-rwxr-xr-xdata/baseStats/hitmonlee.asm14
-rwxr-xr-xdata/baseStats/horsea.asm14
-rwxr-xr-xdata/baseStats/hypno.asm14
-rwxr-xr-xdata/baseStats/ivysaur.asm14
-rwxr-xr-xdata/baseStats/jigglypuff.asm14
-rwxr-xr-xdata/baseStats/jolteon.asm14
-rwxr-xr-xdata/baseStats/jynx.asm14
-rwxr-xr-xdata/baseStats/kabuto.asm14
-rwxr-xr-xdata/baseStats/kabutops.asm14
-rwxr-xr-xdata/baseStats/kadabra.asm14
-rwxr-xr-xdata/baseStats/kakuna.asm14
-rwxr-xr-xdata/baseStats/kangaskhan.asm14
-rwxr-xr-xdata/baseStats/kingler.asm14
-rwxr-xr-xdata/baseStats/koffing.asm14
-rwxr-xr-xdata/baseStats/krabby.asm14
-rwxr-xr-xdata/baseStats/lapras.asm14
-rwxr-xr-xdata/baseStats/lickitung.asm14
-rwxr-xr-xdata/baseStats/machamp.asm14
-rwxr-xr-xdata/baseStats/machoke.asm14
-rwxr-xr-xdata/baseStats/machop.asm14
-rwxr-xr-xdata/baseStats/magikarp.asm14
-rwxr-xr-xdata/baseStats/magmar.asm14
-rwxr-xr-xdata/baseStats/magnemite.asm14
-rwxr-xr-xdata/baseStats/magneton.asm14
-rwxr-xr-xdata/baseStats/mankey.asm14
-rwxr-xr-xdata/baseStats/marowak.asm14
-rwxr-xr-xdata/baseStats/meowth.asm14
-rwxr-xr-xdata/baseStats/metapod.asm14
-rwxr-xr-xdata/baseStats/mew.asm16
-rwxr-xr-xdata/baseStats/mewtwo.asm14
-rwxr-xr-xdata/baseStats/moltres.asm14
-rwxr-xr-xdata/baseStats/mrmime.asm14
-rwxr-xr-xdata/baseStats/muk.asm14
-rwxr-xr-xdata/baseStats/nidoking.asm14
-rwxr-xr-xdata/baseStats/nidoqueen.asm14
-rwxr-xr-xdata/baseStats/nidoranf.asm14
-rwxr-xr-xdata/baseStats/nidoranm.asm14
-rwxr-xr-xdata/baseStats/nidorina.asm14
-rwxr-xr-xdata/baseStats/nidorino.asm14
-rwxr-xr-xdata/baseStats/ninetails.asm14
-rwxr-xr-xdata/baseStats/oddish.asm14
-rwxr-xr-xdata/baseStats/omanyte.asm14
-rwxr-xr-xdata/baseStats/omastar.asm14
-rwxr-xr-xdata/baseStats/onix.asm14
-rwxr-xr-xdata/baseStats/paras.asm14
-rwxr-xr-xdata/baseStats/parasect.asm14
-rwxr-xr-xdata/baseStats/persian.asm14
-rwxr-xr-xdata/baseStats/pidgeot.asm14
-rwxr-xr-xdata/baseStats/pidgeotto.asm14
-rwxr-xr-xdata/baseStats/pidgey.asm14
-rwxr-xr-xdata/baseStats/pikachu.asm14
-rwxr-xr-xdata/baseStats/pinsir.asm14
-rwxr-xr-xdata/baseStats/poliwag.asm14
-rwxr-xr-xdata/baseStats/poliwhirl.asm14
-rwxr-xr-xdata/baseStats/poliwrath.asm14
-rwxr-xr-xdata/baseStats/ponyta.asm14
-rwxr-xr-xdata/baseStats/porygon.asm14
-rwxr-xr-xdata/baseStats/primeape.asm14
-rwxr-xr-xdata/baseStats/psyduck.asm14
-rwxr-xr-xdata/baseStats/raichu.asm14
-rwxr-xr-xdata/baseStats/rapidash.asm14
-rwxr-xr-xdata/baseStats/raticate.asm14
-rwxr-xr-xdata/baseStats/rattata.asm14
-rwxr-xr-xdata/baseStats/rhydon.asm14
-rwxr-xr-xdata/baseStats/rhyhorn.asm14
-rwxr-xr-xdata/baseStats/sandshrew.asm14
-rwxr-xr-xdata/baseStats/sandslash.asm14
-rwxr-xr-xdata/baseStats/scyther.asm14
-rwxr-xr-xdata/baseStats/seadra.asm14
-rwxr-xr-xdata/baseStats/seaking.asm14
-rwxr-xr-xdata/baseStats/seel.asm14
-rwxr-xr-xdata/baseStats/shellder.asm14
-rwxr-xr-xdata/baseStats/slowbro.asm14
-rwxr-xr-xdata/baseStats/slowpoke.asm14
-rwxr-xr-xdata/baseStats/snorlax.asm14
-rwxr-xr-xdata/baseStats/spearow.asm14
-rwxr-xr-xdata/baseStats/squirtle.asm14
-rwxr-xr-xdata/baseStats/starmie.asm14
-rwxr-xr-xdata/baseStats/staryu.asm14
-rwxr-xr-xdata/baseStats/tangela.asm14
-rwxr-xr-xdata/baseStats/tauros.asm14
-rwxr-xr-xdata/baseStats/tentacool.asm14
-rwxr-xr-xdata/baseStats/tentacruel.asm14
-rwxr-xr-xdata/baseStats/vaporeon.asm14
-rwxr-xr-xdata/baseStats/venomoth.asm14
-rwxr-xr-xdata/baseStats/venonat.asm23
-rwxr-xr-xdata/baseStats/venusaur.asm14
-rwxr-xr-xdata/baseStats/victreebel.asm14
-rwxr-xr-xdata/baseStats/vileplume.asm14
-rwxr-xr-xdata/baseStats/voltorb.asm14
-rwxr-xr-xdata/baseStats/vulpix.asm14
-rwxr-xr-xdata/baseStats/wartortle.asm14
-rwxr-xr-xdata/baseStats/weedle.asm14
-rwxr-xr-xdata/baseStats/weepinbell.asm14
-rwxr-xr-xdata/baseStats/weezing.asm14
-rwxr-xr-xdata/baseStats/wigglytuff.asm14
-rwxr-xr-xdata/baseStats/zapdos.asm14
-rwxr-xr-xdata/baseStats/zubat.asm14
-rwxr-xr-xengine/multiply_divide.asm160
-rw-r--r--hram.asm4
-rw-r--r--macros.asm60
-rwxr-xr-xwram.asm2
155 files changed, 1211 insertions, 1148 deletions
diff --git a/data/baseStats/abra.asm b/data/baseStats/abra.asm
index 80ee9e06..bb5b15e5 100755
--- a/data/baseStats/abra.asm
+++ b/data/baseStats/abra.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11110000
-db %10000111
-db %00111000
-db %01000011
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/aerodactyl.asm b/data/baseStats/aerodactyl.asm
index 75067ad3..949d39dc 100755
--- a/data/baseStats/aerodactyl.asm
+++ b/data/baseStats/aerodactyl.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %01001000
-db %11000000
-db %01100011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20,23
+ tmlearn 31,32
+ tmlearn 33,34,38,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/alakazam.asm b/data/baseStats/alakazam.asm
index 2ee79e6f..f61e5a48 100755
--- a/data/baseStats/alakazam.asm
+++ b/data/baseStats/alakazam.asm
@@ -24,11 +24,11 @@ ENDC
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %00001111
-db %11111000
-db %10000111
-db %00111000
-db %01000011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20
+ tmlearn 28,29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/arbok.asm b/data/baseStats/arbok.asm
index bddcab5b..34a73933 100755
--- a/data/baseStats/arbok.asm
+++ b/data/baseStats/arbok.asm
@@ -19,11 +19,11 @@ db POISON_STING
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %00011000
-db %11001110
-db %10000010
-db %10001000
-db %00100010
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20,21
+ tmlearn 26,27,28,31,32
+ tmlearn 34,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/arcanine.asm b/data/baseStats/arcanine.asm
index 065edb6d..4d4e8f77 100755
--- a/data/baseStats/arcanine.asm
+++ b/data/baseStats/arcanine.asm
@@ -19,11 +19,11 @@ db LEER
db TAKE_DOWN
db 5 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %01001000
-db %11101000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20,23
+ tmlearn 28,30,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/articuno.asm b/data/baseStats/articuno.asm
index 811bb884..31c328ed 100755
--- a/data/baseStats/articuno.asm
+++ b/data/baseStats/articuno.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00101010
-db %01111111
-db %00001000
-db %11000000
-db %01000011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/beedrill.asm b/data/baseStats/beedrill.asm
index 9381a63a..b3c85f3d 100755
--- a/data/baseStats/beedrill.asm
+++ b/data/baseStats/beedrill.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100100
-db %01000011
-db %00011000
-db %11000000
-db %11000011
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10,15
+ tmlearn 20,21
+ tmlearn 31,32
+ tmlearn 33,34,39,40
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/bellsprout.asm b/data/baseStats/bellsprout.asm
index e8b7d97a..d6297826 100755
--- a/data/baseStats/bellsprout.asm
+++ b/data/baseStats/bellsprout.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %00100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/blastoise.asm b/data/baseStats/blastoise.asm
index 1ab81327..e5ccd2db 100755
--- a/data/baseStats/blastoise.asm
+++ b/data/baseStats/blastoise.asm
@@ -19,11 +19,11 @@ db BUBBLE
db WATER_GUN
db 3 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %00001111
-db %11001110
-db %10000011
-db %00001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/bulbasaur.asm b/data/baseStats/bulbasaur.asm
index 5bf8a184..261b28ee 100755
--- a/data/baseStats/bulbasaur.asm
+++ b/data/baseStats/bulbasaur.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/butterfree.asm b/data/baseStats/butterfree.asm
index 593d5f78..74a6a0bb 100755
--- a/data/baseStats/butterfree.asm
+++ b/data/baseStats/butterfree.asm
@@ -19,15 +19,15 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00111000
-db %11110000
-db %01000011
-db %00101000
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 29,30,31,32
+ tmlearn 33,34,39
+ tmlearn 44,46
IF DEF(_YELLOW)
- db %01000010
+ tmlearn 50,55
ELSE
- db %00000010
+ tmlearn 50
ENDC
db 0 ; padding
diff --git a/data/baseStats/caterpie.asm b/data/baseStats/caterpie.asm
index 0dab990b..975f31a1 100755
--- a/data/baseStats/caterpie.asm
+++ b/data/baseStats/caterpie.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/chansey.asm b/data/baseStats/chansey.asm
index 130a3d00..a830ae1e 100755
--- a/data/baseStats/chansey.asm
+++ b/data/baseStats/chansey.asm
@@ -23,11 +23,11 @@ db 0
db 0
db 4 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %10101111
-db %11110001
-db %10110111
-db %00111001
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,37,38,40
+ tmlearn 41,44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/charizard.asm b/data/baseStats/charizard.asm
index 5cbecb91..c75d9a34 100755
--- a/data/baseStats/charizard.asm
+++ b/data/baseStats/charizard.asm
@@ -19,15 +19,15 @@ db EMBER
db LEER
db 3 ; growth rate
; learnset
-db %10110101
-db %01000011
-db %01001111
-db %11001110
-db %11100011
-db %00001000
+ tmlearn 1,3,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20,23
+ tmlearn 26,27,28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
IF DEF(_YELLOW)
- db %00101110
+ tmlearn 50,51,52,54
ELSE
- db %00100110
+ tmlearn 50,51,54
ENDC
db 0 ; padding
diff --git a/data/baseStats/charmander.asm b/data/baseStats/charmander.asm
index c9deed08..936befa4 100755
--- a/data/baseStats/charmander.asm
+++ b/data/baseStats/charmander.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10110101
-db %00000011
-db %01001111
-db %11001000
-db %11100011
-db %00001000
-db %00100110
+ tmlearn 1,3,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20,23
+ tmlearn 28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50,51,54
db 0 ; padding
diff --git a/data/baseStats/charmeleon.asm b/data/baseStats/charmeleon.asm
index 6b2b9ba9..8e2675f0 100755
--- a/data/baseStats/charmeleon.asm
+++ b/data/baseStats/charmeleon.asm
@@ -19,11 +19,11 @@ db EMBER
db 0
db 3 ; growth rate
; learnset
-db %10110101
-db %00000011
-db %01001111
-db %11001000
-db %11100011
-db %00001000
-db %00100110
+ tmlearn 1,3,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20,23
+ tmlearn 28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50,51,54
db 0 ; padding
diff --git a/data/baseStats/clefable.asm b/data/baseStats/clefable.asm
index 8fee3ec6..e26f1445 100755
--- a/data/baseStats/clefable.asm
+++ b/data/baseStats/clefable.asm
@@ -19,11 +19,11 @@ db MINIMIZE
db METRONOME
db 4 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %10101111
-db %11110001
-db %10100111
-db %00111000
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,38,40
+ tmlearn 44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/clefairy.asm b/data/baseStats/clefairy.asm
index bea2ffec..cc47df10 100755
--- a/data/baseStats/clefairy.asm
+++ b/data/baseStats/clefairy.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 4 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %10101111
-db %11110001
-db %10100111
-db %00111000
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,38,40
+ tmlearn 44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/cloyster.asm b/data/baseStats/cloyster.asm
index d57b651a..aa09d48a 100755
--- a/data/baseStats/cloyster.asm
+++ b/data/baseStats/cloyster.asm
@@ -19,11 +19,11 @@ db CLAMP
db AURORA_BEAM
db 5 ; growth rate
; learnset
-db %00100000
-db %01111111
-db %00001000
-db %11100000
-db %01001011
-db %01001000
-db %00010011
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 30,31,32
+ tmlearn 33,34,36,39
+ tmlearn 44,47
+ tmlearn 49,50,53
db 0 ; padding
diff --git a/data/baseStats/cubone.asm b/data/baseStats/cubone.asm
index 42bb717c..74584844 100755
--- a/data/baseStats/cubone.asm
+++ b/data/baseStats/cubone.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %00001111
-db %11001110
-db %10100010
-db %00001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,38,40
+ tmlearn 44
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/dewgong.asm b/data/baseStats/dewgong.asm
index 5246189e..e7efc42b 100755
--- a/data/baseStats/dewgong.asm
+++ b/data/baseStats/dewgong.asm
@@ -19,11 +19,11 @@ db AURORA_BEAM
db 0
db 0 ; growth rate
; learnset
-db %11100000
-db %11111111
-db %00001000
-db %11000000
-db %10000010
-db %00001000
-db %00110010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/diglett.asm b/data/baseStats/diglett.asm
index 4944572b..af0cab55 100755
--- a/data/baseStats/diglett.asm
+++ b/data/baseStats/diglett.asm
@@ -19,15 +19,15 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %00001000
-db %11001110
-db %00000010
-db %10001000
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 26,27,28,31,32
+ tmlearn 34
+ tmlearn 44,48
IF DEF(_YELLOW)
- db %00000110
+ tmlearn 50,51
ELSE
- db %00000010
+ tmlearn 50
ENDC
db 0 ; padding
diff --git a/data/baseStats/ditto.asm b/data/baseStats/ditto.asm
index 0a35bf55..88def477 100755
--- a/data/baseStats/ditto.asm
+++ b/data/baseStats/ditto.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/dodrio.asm b/data/baseStats/dodrio.asm
index b872ba47..025204fb 100755
--- a/data/baseStats/dodrio.asm
+++ b/data/baseStats/dodrio.asm
@@ -19,11 +19,11 @@ db FURY_ATTACK
db 0
db 0 ; growth rate
; learnset
-db %10101000
-db %01000011
-db %00001000
-db %11000000
-db %10000011
-db %00001100
-db %00001011
+ tmlearn 4,6,8
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 43,44
+ tmlearn 49,50,52
db 0 ; padding
diff --git a/data/baseStats/doduo.asm b/data/baseStats/doduo.asm
index 8070ba33..091152dd 100755
--- a/data/baseStats/doduo.asm
+++ b/data/baseStats/doduo.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10101000
-db %00000011
-db %00001000
-db %11000000
-db %10000011
-db %00001100
-db %00001011
+ tmlearn 4,6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 43,44
+ tmlearn 49,50,52
db 0 ; padding
diff --git a/data/baseStats/dragonair.asm b/data/baseStats/dragonair.asm
index 89ff2eef..b8f0a606 100755
--- a/data/baseStats/dragonair.asm
+++ b/data/baseStats/dragonair.asm
@@ -19,11 +19,11 @@ db THUNDER_WAVE
db 0
db 5 ; growth rate
; learnset
-db %11100000
-db %00111111
-db %11001000
-db %11000001
-db %11100011
-db %00011000
-db %00010010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,23,24
+ tmlearn 25,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44,45
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/dragonite.asm b/data/baseStats/dragonite.asm
index 3699955b..1000e384 100755
--- a/data/baseStats/dragonite.asm
+++ b/data/baseStats/dragonite.asm
@@ -19,11 +19,11 @@ db THUNDER_WAVE
db AGILITY
db 5 ; growth rate
; learnset
-db %11100010
-db %01111111
-db %11001000
-db %11000001
-db %11100011
-db %00011000
-db %00110010
+ tmlearn 2,6,7,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,23,24
+ tmlearn 25,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44,45
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/dratini.asm b/data/baseStats/dratini.asm
index 4837e4a5..37ed8f09 100755
--- a/data/baseStats/dratini.asm
+++ b/data/baseStats/dratini.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %10100000
-db %00111111
-db %11001000
-db %11000001
-db %11100011
-db %00011000
-db %00010010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,23,24
+ tmlearn 25,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44,45
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/drowzee.asm b/data/baseStats/drowzee.asm
index dfa591bd..6397eeaf 100755
--- a/data/baseStats/drowzee.asm
+++ b/data/baseStats/drowzee.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11110000
-db %10000111
-db %00111010
-db %01000011
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 42,44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/dugtrio.asm b/data/baseStats/dugtrio.asm
index 0c4bad3b..f60dc1c0 100755
--- a/data/baseStats/dugtrio.asm
+++ b/data/baseStats/dugtrio.asm
@@ -19,15 +19,15 @@ db DIG
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %00001000
-db %11001110
-db %00000010
-db %10001000
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 26,27,28,31,32
+ tmlearn 34
+ tmlearn 44,48
IF DEF(_YELLOW)
- db %00000110
+ tmlearn 50,51
ELSE
- db %00000010
+ tmlearn 50
ENDC
db 0 ; padding
diff --git a/data/baseStats/eevee.asm b/data/baseStats/eevee.asm
index 978aa4bb..2c2114fb 100755
--- a/data/baseStats/eevee.asm
+++ b/data/baseStats/eevee.asm
@@ -23,11 +23,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %00001000
-db %11000000
-db %11000011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/ekans.asm b/data/baseStats/ekans.asm
index 79dbcbf5..26e75eeb 100755
--- a/data/baseStats/ekans.asm
+++ b/data/baseStats/ekans.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %00011000
-db %11001110
-db %10000010
-db %10001000
-db %00100010
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20,21
+ tmlearn 26,27,28,31,32
+ tmlearn 34,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/electabuzz.asm b/data/baseStats/electabuzz.asm
index ac692436..5dc76c37 100755
--- a/data/baseStats/electabuzz.asm
+++ b/data/baseStats/electabuzz.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %10001111
-db %11110001
-db %11000111
-db %00111000
-db %01100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,39,40
+ tmlearn 44,45,46
+ tmlearn 50,54,55
db 0 ; padding
diff --git a/data/baseStats/electrode.asm b/data/baseStats/electrode.asm
index 7ce93e8d..dc9da8d3 100755
--- a/data/baseStats/electrode.asm
+++ b/data/baseStats/electrode.asm
@@ -19,11 +19,11 @@ db SONICBOOM
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %01000001
-db %10001000
-db %11100001
-db %11001011
-db %01011000
-db %01000010
+ tmlearn 6
+ tmlearn 9,15
+ tmlearn 20,24
+ tmlearn 25,30,31,32
+ tmlearn 33,34,36,39,40
+ tmlearn 44,45,47
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/exeggcute.asm b/data/baseStats/exeggcute.asm
index ded05789..4c77db2a 100755
--- a/data/baseStats/exeggcute.asm
+++ b/data/baseStats/exeggcute.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00100000
-db %00000011
-db %00001000
-db %11110000
-db %00011011
-db %01101000
-db %00000010
+ tmlearn 6
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 29,30,31,32
+ tmlearn 33,34,36,37
+ tmlearn 44,46,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/exeggutor.asm b/data/baseStats/exeggutor.asm
index e28fb8c8..f67857e2 100755
--- a/data/baseStats/exeggutor.asm
+++ b/data/baseStats/exeggutor.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00100000
-db %01000011
-db %00111000
-db %11110000
-db %00011011
-db %01101000
-db %00100010
+ tmlearn 6
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 29,30,31,32
+ tmlearn 33,34,36,37
+ tmlearn 44,46,47
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/farfetchd.asm b/data/baseStats/farfetchd.asm
index 51648c46..015e9ff8 100755
--- a/data/baseStats/farfetchd.asm
+++ b/data/baseStats/farfetchd.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10101110
-db %00000011
-db %00001000
-db %11000000
-db %11000011
-db %00001000
-db %00001110
+ tmlearn 2,3,4,6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39,40
+ tmlearn 44
+ tmlearn 50,51,52
db 0 ; padding
diff --git a/data/baseStats/fearow.asm b/data/baseStats/fearow.asm
index 0a5d0c48..8d3059db 100755
--- a/data/baseStats/fearow.asm
+++ b/data/baseStats/fearow.asm
@@ -19,11 +19,11 @@ db LEER
db 0
db 0 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00001000
-db %11000000
-db %01000010
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/flareon.asm b/data/baseStats/flareon.asm
index ce4a8f0a..48c4b702 100755
--- a/data/baseStats/flareon.asm
+++ b/data/baseStats/flareon.asm
@@ -23,11 +23,11 @@ db QUICK_ATTACK
db EMBER
db 0 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %00001000
-db %11000000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/gastly.asm b/data/baseStats/gastly.asm
index ca6c2285..c6e69bd2 100755
--- a/data/baseStats/gastly.asm
+++ b/data/baseStats/gastly.asm
@@ -19,11 +19,11 @@ db NIGHT_SHADE
db 0
db 3 ; growth rate
; learnset
-db %00100000
-db %00000000
-db %10011000
-db %11010001
-db %00001010
-db %01101010
-db %00000010
+ tmlearn 6
+ tmlearn 0
+ tmlearn 20,21,24
+ tmlearn 25,29,31,32
+ tmlearn 34,36
+ tmlearn 42,44,46,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/gengar.asm b/data/baseStats/gengar.asm
index a5881476..910903d0 100755
--- a/data/baseStats/gengar.asm
+++ b/data/baseStats/gengar.asm
@@ -19,11 +19,11 @@ db NIGHT_SHADE
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %10011111
-db %11010001
-db %10001110
-db %01101010
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20,21,24
+ tmlearn 25,29,31,32
+ tmlearn 34,35,36,40
+ tmlearn 42,44,46,47
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/geodude.asm b/data/baseStats/geodude.asm
index 52d3553d..e185e3c0 100755
--- a/data/baseStats/geodude.asm
+++ b/data/baseStats/geodude.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10100001
-db %00000011
-db %00001111
-db %11001110
-db %00101110
-db %11001000
-db %00100010
+ tmlearn 1,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,36,38
+ tmlearn 44,47,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/gloom.asm b/data/baseStats/gloom.asm
index e2c854d4..efee0dae 100755
--- a/data/baseStats/gloom.asm
+++ b/data/baseStats/gloom.asm
@@ -19,11 +19,11 @@ db STUN_SPORE
db 0
db 3 ; growth rate
; learnset
-db %00100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/golbat.asm b/data/baseStats/golbat.asm
index d89dcb1e..e6a22f70 100755
--- a/data/baseStats/golbat.asm
+++ b/data/baseStats/golbat.asm
@@ -19,11 +19,11 @@ db BITE
db 0
db 0 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00011000
-db %11000000
-db %01000010
-db %00001000
-db %00000010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20,21
+ tmlearn 31,32
+ tmlearn 34,39
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/goldeen.asm b/data/baseStats/goldeen.asm
index 17afd3c2..36cf0d96 100755
--- a/data/baseStats/goldeen.asm
+++ b/data/baseStats/goldeen.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %01100000
-db %00111111
-db %00001000
-db %11000000
-db %11000010
-db %00001000
-db %00010010
+ tmlearn 6,7
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/golduck.asm b/data/baseStats/golduck.asm
index f3797f73..e063ae47 100755
--- a/data/baseStats/golduck.asm
+++ b/data/baseStats/golduck.asm
@@ -19,11 +19,11 @@ db DISABLE
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %11111111
-db %00001111
-db %11001000
-db %11000010
-db %00001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20
+ tmlearn 28,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/golem.asm b/data/baseStats/golem.asm
index deebb1d1..1308bc78 100755
--- a/data/baseStats/golem.asm
+++ b/data/baseStats/golem.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %00001111
-db %11001110
-db %00101110
-db %11001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,36,38
+ tmlearn 44,47,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/graveler.asm b/data/baseStats/graveler.asm
index 586afc2c..8cc740dd 100755
--- a/data/baseStats/graveler.asm
+++ b/data/baseStats/graveler.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10100001
-db %00000011
-db %00001111
-db %11001110
-db %00101110
-db %11001000
-db %00100010
+ tmlearn 1,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,36,38
+ tmlearn 44,47,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/grimer.asm b/data/baseStats/grimer.asm
index dd17fb05..55aedc95 100755
--- a/data/baseStats/grimer.asm
+++ b/data/baseStats/grimer.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000000
-db %10011000
-db %11000001
-db %00101010
-db %01001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 0
+ tmlearn 20,21,24
+ tmlearn 25,31,32
+ tmlearn 34,36,38
+ tmlearn 44,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/growlithe.asm b/data/baseStats/growlithe.asm
index ec48b605..cc4d1ff7 100755
--- a/data/baseStats/growlithe.asm
+++ b/data/baseStats/growlithe.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %01001000
-db %11001000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20,23
+ tmlearn 28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/gyarados.asm b/data/baseStats/gyarados.asm
index c9e6dc31..1b374f08 100755
--- a/data/baseStats/gyarados.asm
+++ b/data/baseStats/gyarados.asm
@@ -26,11 +26,11 @@ db HYDRO_PUMP
ENDC
db 5 ; growth rate
; learnset
-db %10100000
-db %01111111
-db %11001000
-db %11000001
-db %10100011
-db %00001000
-db %00110010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,23,24
+ tmlearn 25,31,32
+ tmlearn 33,34,38,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/haunter.asm b/data/baseStats/haunter.asm
index 6ac7db99..a530108a 100755
--- a/data/baseStats/haunter.asm
+++ b/data/baseStats/haunter.asm
@@ -19,11 +19,11 @@ db NIGHT_SHADE
db 0
db 3 ; growth rate
; learnset
-db %00100000
-db %00000000
-db %10011000
-db %11010001
-db %00001010
-db %01101010
-db %00000010
+ tmlearn 6
+ tmlearn 0
+ tmlearn 20,21,24
+ tmlearn 25,29,31,32
+ tmlearn 34,36
+ tmlearn 42,44,46,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/hitmonchan.asm b/data/baseStats/hitmonchan.asm
index 9cb0d566..4a717248 100755
--- a/data/baseStats/hitmonchan.asm
+++ b/data/baseStats/hitmonchan.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11000000
-db %11000110
-db %00001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 31,32
+ tmlearn 34,35,39,40
+ tmlearn 44
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/hitmonlee.asm b/data/baseStats/hitmonlee.asm
index 126f528b..e25bb725 100755
--- a/data/baseStats/hitmonlee.asm
+++ b/data/baseStats/hitmonlee.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11000000
-db %11000110
-db %00001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 31,32
+ tmlearn 34,35,39,40
+ tmlearn 44
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/horsea.asm b/data/baseStats/horsea.asm
index f59bee0c..b754f425 100755
--- a/data/baseStats/horsea.asm
+++ b/data/baseStats/horsea.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %00111111
-db %00001000
-db %11000000
-db %11000010
-db %00001000
-db %00010010
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/hypno.asm b/data/baseStats/hypno.asm
index 022e3134..3ba1ad30 100755
--- a/data/baseStats/hypno.asm
+++ b/data/baseStats/hypno.asm
@@ -19,11 +19,11 @@ db DISABLE
db CONFUSION
db 0 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %00001111
-db %11110000
-db %10000111
-db %00111010
-db %01000011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20
+ tmlearn 29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 42,44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/ivysaur.asm b/data/baseStats/ivysaur.asm
index 78aec210..9672935e 100755
--- a/data/baseStats/ivysaur.asm
+++ b/data/baseStats/ivysaur.asm
@@ -19,11 +19,11 @@ db LEECH_SEED
db 0
db 3 ; growth rate
; learnset
-db %10100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/jigglypuff.asm b/data/baseStats/jigglypuff.asm
index 0252880f..5111e9c8 100755
--- a/data/baseStats/jigglypuff.asm
+++ b/data/baseStats/jigglypuff.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 4 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %10101111
-db %11110001
-db %10100011
-db %00111000
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,38,40
+ tmlearn 44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/jolteon.asm b/data/baseStats/jolteon.asm
index 5dc3532a..8ade6544 100755
--- a/data/baseStats/jolteon.asm
+++ b/data/baseStats/jolteon.asm
@@ -23,11 +23,11 @@ db QUICK_ATTACK
db THUNDERSHOCK
db 0 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %10001000
-db %11000001
-db %11000011
-db %00011000
-db %01000010
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/jynx.asm b/data/baseStats/jynx.asm
index 6299f545..82778775 100755
--- a/data/baseStats/jynx.asm
+++ b/data/baseStats/jynx.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %00001111
-db %11110000
-db %10000111
-db %00101000
-db %00000010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20
+ tmlearn 29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 44,46
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/kabuto.asm b/data/baseStats/kabuto.asm
index 8a9899c7..1fde7156 100755
--- a/data/baseStats/kabuto.asm
+++ b/data/baseStats/kabuto.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00111111
-db %00001000
-db %11000000
-db %00000011
-db %00001000
-db %00010010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/kabutops.asm b/data/baseStats/kabutops.asm
index 7c80a8c0..170fee9b 100755
--- a/data/baseStats/kabutops.asm
+++ b/data/baseStats/kabutops.asm
@@ -19,11 +19,11 @@ db ABSORB
db 0
db 0 ; growth rate
; learnset
-db %10110110
-db %01111111
-db %00001101
-db %11000000
-db %10000011
-db %00001000
-db %00010010
+ tmlearn 2,3,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,19,20
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/kadabra.asm b/data/baseStats/kadabra.asm
index 85ee8a35..5fa0e466 100755
--- a/data/baseStats/kadabra.asm
+++ b/data/baseStats/kadabra.asm
@@ -24,11 +24,11 @@ ENDC
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11111000
-db %10000111
-db %00111000
-db %01000011
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 28,29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/kakuna.asm b/data/baseStats/kakuna.asm
index 62e9c225..4ee90925 100755
--- a/data/baseStats/kakuna.asm
+++ b/data/baseStats/kakuna.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/kangaskhan.asm b/data/baseStats/kangaskhan.asm
index 3d30b78a..a17cb653 100755
--- a/data/baseStats/kangaskhan.asm
+++ b/data/baseStats/kangaskhan.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %10001111
-db %11000111
-db %10100010
-db %10001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20,24
+ tmlearn 25,26,27,31,32
+ tmlearn 34,38,40
+ tmlearn 44,48
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/kingler.asm b/data/baseStats/kingler.asm
index 8a5b0f98..7604bf80 100755
--- a/data/baseStats/kingler.asm
+++ b/data/baseStats/kingler.asm
@@ -19,11 +19,11 @@ db VICEGRIP
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %01111111
-db %00001000
-db %11000000
-db %00000010
-db %00001000
-db %00110110
+ tmlearn 3,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34
+ tmlearn 44
+ tmlearn 50,51,53,54
db 0 ; padding
diff --git a/data/baseStats/koffing.asm b/data/baseStats/koffing.asm
index d50e5bcf..24f47d17 100755
--- a/data/baseStats/koffing.asm
+++ b/data/baseStats/koffing.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %00000000
-db %10001000
-db %11000001
-db %00101010
-db %01001000
-db %00000010
+ tmlearn 6
+ tmlearn 0
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 34,36,38
+ tmlearn 44,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/krabby.asm b/data/baseStats/krabby.asm
index 37bbaa0b..3d901041 100755
--- a/data/baseStats/krabby.asm
+++ b/data/baseStats/krabby.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %00111111
-db %00001000
-db %11000000
-db %00000010
-db %00001000
-db %00110110
+ tmlearn 3,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34
+ tmlearn 44
+ tmlearn 50,51,53,54
db 0 ; padding
diff --git a/data/baseStats/lapras.asm b/data/baseStats/lapras.asm
index cd4ea5b1..71555c5e 100755
--- a/data/baseStats/lapras.asm
+++ b/data/baseStats/lapras.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %11100000
-db %01111111
-db %11101000
-db %11010001
-db %10000011
-db %00101000
-db %00110010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,22,23,24
+ tmlearn 25,29,31,32
+ tmlearn 33,34,40
+ tmlearn 44,46
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/lickitung.asm b/data/baseStats/lickitung.asm
index 8ada934e..eec9d2f3 100755
--- a/data/baseStats/lickitung.asm
+++ b/data/baseStats/lickitung.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110101
-db %01111111
-db %10001111
-db %11000111
-db %10100010
-db %00001000
-db %00110110
+ tmlearn 1,3,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20,24
+ tmlearn 25,26,27,31,32
+ tmlearn 34,38,40
+ tmlearn 44
+ tmlearn 50,51,53,54
db 0 ; padding
diff --git a/data/baseStats/machamp.asm b/data/baseStats/machamp.asm
index 1c10c96e..c9ca26dd 100755
--- a/data/baseStats/machamp.asm
+++ b/data/baseStats/machamp.asm
@@ -19,11 +19,11 @@ db LEER
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %00001111
-db %11001110
-db %10100110
-db %10001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,38,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/machoke.asm b/data/baseStats/machoke.asm
index 7b491641..6e2a977e 100755
--- a/data/baseStats/machoke.asm
+++ b/data/baseStats/machoke.asm
@@ -19,11 +19,11 @@ db LEER
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11001110
-db %10100110
-db %10001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,38,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/machop.asm b/data/baseStats/machop.asm
index c951163f..6e9f5ca0 100755
--- a/data/baseStats/machop.asm
+++ b/data/baseStats/machop.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00000011
-db %00001111
-db %11001110
-db %10100110
-db %10001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,35,38,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/magikarp.asm b/data/baseStats/magikarp.asm
index 606bf755..95f72547 100755
--- a/data/baseStats/magikarp.asm
+++ b/data/baseStats/magikarp.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/magmar.asm b/data/baseStats/magmar.asm
index a360fe9d..781c9edc 100755
--- a/data/baseStats/magmar.asm
+++ b/data/baseStats/magmar.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %00001111
-db %11110000
-db %10100110
-db %00101000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20
+ tmlearn 29,30,31,32
+ tmlearn 34,35,38,40
+ tmlearn 44,46
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/magnemite.asm b/data/baseStats/magnemite.asm
index 166e2fb0..79f84923 100755
--- a/data/baseStats/magnemite.asm
+++ b/data/baseStats/magnemite.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %00000011
-db %10001000
-db %11100001
-db %01000011
-db %00011000
-db %01000010
+ tmlearn 6
+ tmlearn 9,10
+ tmlearn 20,24
+ tmlearn 25,30,31,32
+ tmlearn 33,34,39
+ tmlearn 44,45
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/magneton.asm b/data/baseStats/magneton.asm
index 92ae9760..c8606619 100755
--- a/data/baseStats/magneton.asm
+++ b/data/baseStats/magneton.asm
@@ -19,11 +19,11 @@ db THUNDERSHOCK
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %01000011
-db %10001000
-db %11100001
-db %01000011
-db %00011000
-db %01000010
+ tmlearn 6
+ tmlearn 9,10,15
+ tmlearn 20,24
+ tmlearn 25,30,31,32
+ tmlearn 33,34,39
+ tmlearn 44,45
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/mankey.asm b/data/baseStats/mankey.asm
index 13e77c5c..759fe599 100755
--- a/data/baseStats/mankey.asm
+++ b/data/baseStats/mankey.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %10000011
-db %10001111
-db %11001001
-db %11000110
-db %10001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,16
+ tmlearn 17,18,19,20,24
+ tmlearn 25,28,31,32
+ tmlearn 34,35,39,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/marowak.asm b/data/baseStats/marowak.asm
index 64bfb0d6..714a45d9 100755
--- a/data/baseStats/marowak.asm
+++ b/data/baseStats/marowak.asm
@@ -25,11 +25,11 @@ ELSE
ENDC
db 0 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %00001111
-db %11001110
-db %10100010
-db %00001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,38,40
+ tmlearn 44
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/meowth.asm b/data/baseStats/meowth.asm
index dc404d20..14f82ca4 100755
--- a/data/baseStats/meowth.asm
+++ b/data/baseStats/meowth.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %10001111
-db %10001000
-db %11000001
-db %11000010
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,16
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/metapod.asm b/data/baseStats/metapod.asm
index 71a2be28..981bbbfb 100755
--- a/data/baseStats/metapod.asm
+++ b/data/baseStats/metapod.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/mew.asm b/data/baseStats/mew.asm
index 16634430..1af20fa4 100755
--- a/data/baseStats/mew.asm
+++ b/data/baseStats/mew.asm
@@ -18,12 +18,12 @@ db 0
db 0
db 0
db 3 ; growth rate
-; include learnset directly
-db %11111111
-db %11111111
-db %11111111
-db %11111111
-db %11111111
-db %11111111
-db %11111111
+; learnset
+ tmlearn 1,2,3,4,5,6,7,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,21,22,23,24
+ tmlearn 25,26,27,28,29,30,31,32
+ tmlearn 33,34,35,36,37,38,39,40
+ tmlearn 41,42,43,44,45,46,47,48
+ tmlearn 49,50,51,52,53,54,55,56
db %11111111 ; usually spacing
diff --git a/data/baseStats/mewtwo.asm b/data/baseStats/mewtwo.asm
index 29b0b61b..95127645 100755
--- a/data/baseStats/mewtwo.asm
+++ b/data/baseStats/mewtwo.asm
@@ -19,11 +19,11 @@ db SWIFT
db PSYCHIC_M
db 5 ; growth rate
; learnset
-db %10110001
-db %11111111
-db %10101111
-db %11110001
-db %10101111
-db %00111000
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,36,38,40
+ tmlearn 44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/moltres.asm b/data/baseStats/moltres.asm
index eeeb5367..646d9a49 100755
--- a/data/baseStats/moltres.asm
+++ b/data/baseStats/moltres.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00001000
-db %11000000
-db %01100011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,38,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/mrmime.asm b/data/baseStats/mrmime.asm
index 93a6fcf7..3182eca0 100755
--- a/data/baseStats/mrmime.asm
+++ b/data/baseStats/mrmime.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %01000011
-db %10101111
-db %11110001
-db %10000111
-db %00111000
-db %01000010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,35,40
+ tmlearn 44,45,46
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/muk.asm b/data/baseStats/muk.asm
index 465c6012..7ef711c3 100755
--- a/data/baseStats/muk.asm
+++ b/data/baseStats/muk.asm
@@ -19,11 +19,11 @@ db POISON_GAS
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %01000000
-db %10011000
-db %11000001
-db %00101010
-db %01001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 15
+ tmlearn 20,21,24
+ tmlearn 25,31,32
+ tmlearn 34,36,38
+ tmlearn 44,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/nidoking.asm b/data/baseStats/nidoking.asm
index c283821b..8802f52a 100755
--- a/data/baseStats/nidoking.asm
+++ b/data/baseStats/nidoking.asm
@@ -19,11 +19,11 @@ db POISON_STING
db THRASH
db 3 ; growth rate
; learnset
-db %11110001
-db %11111111
-db %10001111
-db %11000111
-db %10100011
-db %10001000
-db %00110010
+ tmlearn 1,5,6,7,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,24
+ tmlearn 25,26,27,31,32
+ tmlearn 33,34,38,40
+ tmlearn 44,48
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/nidoqueen.asm b/data/baseStats/nidoqueen.asm
index 5f3f91a3..5e6ab97b 100755
--- a/data/baseStats/nidoqueen.asm
+++ b/data/baseStats/nidoqueen.asm
@@ -19,11 +19,11 @@ db TAIL_WHIP
db BODY_SLAM
db 3 ; growth rate
; learnset
-db %11110001
-db %11111111
-db %10001111
-db %11000111
-db %10100011
-db %10001000
-db %00110010
+ tmlearn 1,5,6,7,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,24
+ tmlearn 25,26,27,31,32
+ tmlearn 33,34,38,40
+ tmlearn 44,48
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/nidoranf.asm b/data/baseStats/nidoranf.asm
index 24caa7ab..c3f9a6e3 100755
--- a/data/baseStats/nidoranf.asm
+++ b/data/baseStats/nidoranf.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10100000
-db %00100011
-db %10001000
-db %11000001
-db %10000011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,14
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/nidoranm.asm b/data/baseStats/nidoranm.asm
index 1b33b61c..14e9bc9f 100755
--- a/data/baseStats/nidoranm.asm
+++ b/data/baseStats/nidoranm.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %11100000
-db %00100011
-db %10001000
-db %11000001
-db %10000011
-db %00001000
-db %00000010
+ tmlearn 6,7,8
+ tmlearn 9,10,14
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/nidorina.asm b/data/baseStats/nidorina.asm
index b2ab3ce8..902286c5 100755
--- a/data/baseStats/nidorina.asm
+++ b/data/baseStats/nidorina.asm
@@ -19,11 +19,11 @@ db SCRATCH
db 0
db 3 ; growth rate
; learnset
-db %11100000
-db %00111111
-db %10001000
-db %11000001
-db %10000011
-db %00001000
-db %00000010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/nidorino.asm b/data/baseStats/nidorino.asm
index 06957afd..db5844a9 100755
--- a/data/baseStats/nidorino.asm
+++ b/data/baseStats/nidorino.asm
@@ -19,11 +19,11 @@ db HORN_ATTACK
db 0
db 3 ; growth rate
; learnset
-db %11100000
-db %00111111
-db %10001000
-db %11000001
-db %10000011
-db %00001000
-db %00000010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/ninetails.asm b/data/baseStats/ninetails.asm
index 8141b627..f5339b35 100755
--- a/data/baseStats/ninetails.asm
+++ b/data/baseStats/ninetails.asm
@@ -19,11 +19,11 @@ db QUICK_ATTACK
db ROAR
db 0 ; growth rate
; learnset
-db %10100000
-db %01000011
-db %00001000
-db %11001000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/oddish.asm b/data/baseStats/oddish.asm
index 31e376a6..895ccbe1 100755
--- a/data/baseStats/oddish.asm
+++ b/data/baseStats/oddish.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %00100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/omanyte.asm b/data/baseStats/omanyte.asm
index d4b5f534..9246a325 100755
--- a/data/baseStats/omanyte.asm
+++ b/data/baseStats/omanyte.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00111111
-db %00001000
-db %11000000
-db %00000011
-db %00001000
-db %00010010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/omastar.asm b/data/baseStats/omastar.asm
index f39c8f2d..17b45efe 100755
--- a/data/baseStats/omastar.asm
+++ b/data/baseStats/omastar.asm
@@ -19,11 +19,11 @@ db HORN_ATTACK
db 0
db 0 ; growth rate
; learnset
-db %11100000
-db %01111111
-db %00001101
-db %11000000
-db %10000011
-db %00001000
-db %00010010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,19,20
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/onix.asm b/data/baseStats/onix.asm
index ce4375f7..4f2f8e6b 100755
--- a/data/baseStats/onix.asm
+++ b/data/baseStats/onix.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %00001000
-db %11001110
-db %10001010
-db %11001000
-db %00100010
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,36,40
+ tmlearn 44,47,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/paras.asm b/data/baseStats/paras.asm
index c1f9dbdd..daf1aaa9 100755
--- a/data/baseStats/paras.asm
+++ b/data/baseStats/paras.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %00000011
-db %00111000
-db %11001000
-db %10000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 28,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/parasect.asm b/data/baseStats/parasect.asm
index e53fec0e..cacf8e4b 100755
--- a/data/baseStats/parasect.asm
+++ b/data/baseStats/parasect.asm
@@ -19,11 +19,11 @@ db LEECH_LIFE
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00111000
-db %11001000
-db %10000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 28,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/persian.asm b/data/baseStats/persian.asm
index c72ac802..69429830 100755
--- a/data/baseStats/persian.asm
+++ b/data/baseStats/persian.asm
@@ -19,11 +19,11 @@ db BITE
db SCREECH
db 0 ; growth rate
; learnset
-db %10100000
-db %11001111
-db %10001000
-db %11000001
-db %11000010
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,15,16
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/pidgeot.asm b/data/baseStats/pidgeot.asm
index 47fafc3e..19c9f2b4 100755
--- a/data/baseStats/pidgeot.asm
+++ b/data/baseStats/pidgeot.asm
@@ -19,11 +19,11 @@ db QUICK_ATTACK
db 0
db 3 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00001000
-db %11000000
-db %01000011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/pidgeotto.asm b/data/baseStats/pidgeotto.asm
index c996b671..96a58cc3 100755
--- a/data/baseStats/pidgeotto.asm
+++ b/data/baseStats/pidgeotto.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %00101010
-db %00000011
-db %00001000
-db %11000000
-db %01000011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/pidgey.asm b/data/baseStats/pidgey.asm
index 21259582..6d5e238d 100755
--- a/data/baseStats/pidgey.asm
+++ b/data/baseStats/pidgey.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %00101010
-db %00000011
-db %00001000
-db %11000000
-db %01000011
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/pikachu.asm b/data/baseStats/pikachu.asm
index f3b224c8..1cd96200 100755
--- a/data/baseStats/pikachu.asm
+++ b/data/baseStats/pikachu.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %10000011
-db %10001101
-db %11000001
-db %11000011
-db %00011000
-db %01000010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,16
+ tmlearn 17,19,20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/pinsir.asm b/data/baseStats/pinsir.asm
index d9c73ea0..8f36d87d 100755
--- a/data/baseStats/pinsir.asm
+++ b/data/baseStats/pinsir.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00001101
-db %11000000
-db %00000010
-db %00001000
-db %00100110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 17,19,20
+ tmlearn 31,32
+ tmlearn 34
+ tmlearn 44
+ tmlearn 50,51,54
db 0 ; padding
diff --git a/data/baseStats/poliwag.asm b/data/baseStats/poliwag.asm
index 6be8587d..7df20056 100755
--- a/data/baseStats/poliwag.asm
+++ b/data/baseStats/poliwag.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10100000
-db %00111111
-db %00001000
-db %11010000
-db %10000010
-db %00101000
-db %00010010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 29,31,32
+ tmlearn 34,40
+ tmlearn 44,46
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/poliwhirl.asm b/data/baseStats/poliwhirl.asm
index b59d6415..a93d2674 100755
--- a/data/baseStats/poliwhirl.asm
+++ b/data/baseStats/poliwhirl.asm
@@ -19,11 +19,11 @@ db WATER_GUN
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %00001111
-db %11010110
-db %10000110
-db %00101000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20
+ tmlearn 26,27,29,31,32
+ tmlearn 34,35,40
+ tmlearn 44,46
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/poliwrath.asm b/data/baseStats/poliwrath.asm
index d326a909..4d35c2cc 100755
--- a/data/baseStats/poliwrath.asm
+++ b/data/baseStats/poliwrath.asm
@@ -19,11 +19,11 @@ db DOUBLESLAP
db BODY_SLAM
db 3 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %00001111
-db %11010110
-db %10000110
-db %00101000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20
+ tmlearn 26,27,29,31,32
+ tmlearn 34,35,40
+ tmlearn 44,46
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/ponyta.asm b/data/baseStats/ponyta.asm
index 3f22d6dd..9856ecbd 100755
--- a/data/baseStats/ponyta.asm
+++ b/data/baseStats/ponyta.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %11100000
-db %00000011
-db %00001000
-db %11000000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,7,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/porygon.asm b/data/baseStats/porygon.asm
index 0c8a6b33..7ccee3c8 100755
--- a/data/baseStats/porygon.asm
+++ b/data/baseStats/porygon.asm
@@ -19,11 +19,11 @@ db CONVERSION
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %01110011
-db %10001000
-db %11110001
-db %11000011
-db %00111000
-db %01000011
+ tmlearn 6
+ tmlearn 9,10,13,14,15
+ tmlearn 20,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45,46
+ tmlearn 49,50,55
db 0 ; padding
diff --git a/data/baseStats/primeape.asm b/data/baseStats/primeape.asm
index eeab800b..e5ef5cc5 100755
--- a/data/baseStats/primeape.asm
+++ b/data/baseStats/primeape.asm
@@ -24,11 +24,11 @@ IF DEF(_YELLOW)
ENDC
db 0 ; growth rate
; learnset
-db %10110001
-db %11000011
-db %10001111
-db %11001001
-db %11000110
-db %10001000
-db %00100010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15,16
+ tmlearn 17,18,19,20,24
+ tmlearn 25,28,31,32
+ tmlearn 34,35,39,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/psyduck.asm b/data/baseStats/psyduck.asm
index bc435c57..469097fe 100755
--- a/data/baseStats/psyduck.asm
+++ b/data/baseStats/psyduck.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %10111111
-db %00001111
-db %11001000
-db %11000010
-db %00001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,16
+ tmlearn 17,18,19,20
+ tmlearn 28,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/raichu.asm b/data/baseStats/raichu.asm
index 6324d57d..c6757b0b 100755
--- a/data/baseStats/raichu.asm
+++ b/data/baseStats/raichu.asm
@@ -19,11 +19,11 @@ db THUNDER_WAVE
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %11000011
-db %10001101
-db %11000001
-db %11000011
-db %00011000
-db %01000010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,15,16
+ tmlearn 17,19,20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/rapidash.asm b/data/baseStats/rapidash.asm
index f5088b6e..097b95bd 100755
--- a/data/baseStats/rapidash.asm
+++ b/data/baseStats/rapidash.asm
@@ -19,11 +19,11 @@ db STOMP
db GROWL
db 0 ; growth rate
; learnset
-db %11100000
-db %01000011
-db %00001000
-db %11000000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,7,8
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/raticate.asm b/data/baseStats/raticate.asm
index 1bc92090..5fac0f1b 100755
--- a/data/baseStats/raticate.asm
+++ b/data/baseStats/raticate.asm
@@ -19,11 +19,11 @@ db QUICK_ATTACK
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %01111111
-db %10001000
-db %11001001
-db %11000010
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,24
+ tmlearn 25,28,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/rattata.asm b/data/baseStats/rattata.asm
index 192f8f26..dada06bc 100755
--- a/data/baseStats/rattata.asm
+++ b/data/baseStats/rattata.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00101111
-db %10001000
-db %11001001
-db %11000010
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,14
+ tmlearn 20,24
+ tmlearn 25,28,31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/rhydon.asm b/data/baseStats/rhydon.asm
index 2d844a3d..eb2396e1 100755
--- a/data/baseStats/rhydon.asm
+++ b/data/baseStats/rhydon.asm
@@ -20,12 +20,12 @@ db TAIL_WHIP
db FURY_ATTACK
db 5 ; growth rate
; learnset
-db %11110001
-db %11111111
-db %10001111
-db %11001111
-db %10100010
-db %10001000
-db %00110010
+ tmlearn 1,5,6,7,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,24
+ tmlearn 25,26,27,28,31,32
+ tmlearn 34,38,40
+ tmlearn 44,48
+ tmlearn 50,53,54
db 0 ; padding
MonBaseStatsEnd:
diff --git a/data/baseStats/rhyhorn.asm b/data/baseStats/rhyhorn.asm
index 5521f37a..4e292406 100755
--- a/data/baseStats/rhyhorn.asm
+++ b/data/baseStats/rhyhorn.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %11100000
-db %00000011
-db %10001000
-db %11001111
-db %10100010
-db %10001000
-db %00100010
+ tmlearn 6,7,8
+ tmlearn 9,10
+ tmlearn 20,24
+ tmlearn 25,26,27,28,31,32
+ tmlearn 34,38,40
+ tmlearn 44,48
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/sandshrew.asm b/data/baseStats/sandshrew.asm
index 28016ab9..ff12e24f 100755
--- a/data/baseStats/sandshrew.asm
+++ b/data/baseStats/sandshrew.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %00000011
-db %00001101
-db %11001110
-db %11000010
-db %10001000
-db %00100110
+ tmlearn 3,6,8
+ tmlearn 9,10
+ tmlearn 17,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,39,40
+ tmlearn 44,48
+ tmlearn 50,51,54
db 0 ; padding
diff --git a/data/baseStats/sandslash.asm b/data/baseStats/sandslash.asm
index f613a517..2975b20f 100755
--- a/data/baseStats/sandslash.asm
+++ b/data/baseStats/sandslash.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00001101
-db %11001110
-db %11000010
-db %10001000
-db %00100110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 17,19,20
+ tmlearn 26,27,28,31,32
+ tmlearn 34,39,40
+ tmlearn 44,48
+ tmlearn 50,51,54
db 0 ; padding
diff --git a/data/baseStats/scyther.asm b/data/baseStats/scyther.asm
index 6e20cddc..f91327f4 100755
--- a/data/baseStats/scyther.asm
+++ b/data/baseStats/scyther.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100100
-db %01000011
-db %00001000
-db %11000000
-db %11000010
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/seadra.asm b/data/baseStats/seadra.asm
index 67cc26e1..4d28e2a3 100755
--- a/data/baseStats/seadra.asm
+++ b/data/baseStats/seadra.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %01111111
-db %00001000
-db %11000000
-db %11000010
-db %00001000
-db %00010010
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/seaking.asm b/data/baseStats/seaking.asm
index c122d946..d1087618 100755
--- a/data/baseStats/seaking.asm
+++ b/data/baseStats/seaking.asm
@@ -19,11 +19,11 @@ db SUPERSONIC
db 0
db 0 ; growth rate
; learnset
-db %01100000
-db %01111111
-db %00001000
-db %11000000
-db %11000010
-db %00001000
-db %00010010
+ tmlearn 6,7
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/seel.asm b/data/baseStats/seel.asm
index 63a57b98..b6546b6f 100755
--- a/data/baseStats/seel.asm
+++ b/data/baseStats/seel.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %11100000
-db %10111111
-db %00001000
-db %11000000
-db %10000010
-db %00001000
-db %00110010
+ tmlearn 6,7,8
+ tmlearn 9,10,11,12,13,14,16
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/shellder.asm b/data/baseStats/shellder.asm
index 06525091..fcb87404 100755
--- a/data/baseStats/shellder.asm
+++ b/data/baseStats/shellder.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00100000
-db %00111111
-db %00001000
-db %11100000
-db %01001011
-db %01001000
-db %00010011
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20
+ tmlearn 30,31,32
+ tmlearn 33,34,36,39
+ tmlearn 44,47
+ tmlearn 49,50,53
db 0 ; padding
diff --git a/data/baseStats/slowbro.asm b/data/baseStats/slowbro.asm
index dd271485..2d1f8444 100755
--- a/data/baseStats/slowbro.asm
+++ b/data/baseStats/slowbro.asm
@@ -19,11 +19,11 @@ db HEADBUTT
db 0
db 0 ; growth rate
; learnset
-db %10110001
-db %11111111
-db %00001111
-db %11111110
-db %11100011
-db %00111000
-db %01110011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20
+ tmlearn 26,27,28,29,30,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44,45,46
+ tmlearn 49,50,53,54,55
db 0 ; padding
diff --git a/data/baseStats/slowpoke.asm b/data/baseStats/slowpoke.asm
index 41e0a586..e5edcdb9 100755
--- a/data/baseStats/slowpoke.asm
+++ b/data/baseStats/slowpoke.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %10111111
-db %00001000
-db %11111110
-db %11100011
-db %00111000
-db %01110011
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14,16
+ tmlearn 20
+ tmlearn 26,27,28,29,30,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44,45,46
+ tmlearn 49,50,53,54,55
db 0 ; padding
diff --git a/data/baseStats/snorlax.asm b/data/baseStats/snorlax.asm
index 0ada7fa3..0a91f37e 100755
--- a/data/baseStats/snorlax.asm
+++ b/data/baseStats/snorlax.asm
@@ -19,11 +19,11 @@ db REST
db 0
db 5 ; growth rate
; learnset
-db %10110001
-db %11111111
-db %10101111
-db %11010111
-db %10101111
-db %10101000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15,16
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,26,27,29,31,32
+ tmlearn 33,34,35,36,38,40
+ tmlearn 44,46,48
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/spearow.asm b/data/baseStats/spearow.asm
index 818ec039..4e90e749 100755
--- a/data/baseStats/spearow.asm
+++ b/data/baseStats/spearow.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00101010
-db %00000011
-db %00001000
-db %11000000
-db %01000010
-db %00001100
-db %00001010
+ tmlearn 2,4,6
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 34,39
+ tmlearn 43,44
+ tmlearn 50,52
db 0 ; padding
diff --git a/data/baseStats/squirtle.asm b/data/baseStats/squirtle.asm
index d79a79e3..1257a3f0 100755
--- a/data/baseStats/squirtle.asm
+++ b/data/baseStats/squirtle.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %00001111
-db %11001000
-db %10000011
-db %00001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20
+ tmlearn 28,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/starmie.asm b/data/baseStats/starmie.asm
index 671666cc..94c8f2d9 100755
--- a/data/baseStats/starmie.asm
+++ b/data/baseStats/starmie.asm
@@ -19,11 +19,11 @@ db HARDEN
db 0
db 5 ; growth rate
; learnset
-db %00100000
-db %01111111
-db %10001000
-db %11110001
-db %11000011
-db %00111000
-db %01010011
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45,46
+ tmlearn 49,50,53,55
db 0 ; padding
diff --git a/data/baseStats/staryu.asm b/data/baseStats/staryu.asm
index 031fe9f5..3afbb7a5 100755
--- a/data/baseStats/staryu.asm
+++ b/data/baseStats/staryu.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00100000
-db %00111111
-db %10001000
-db %11110001
-db %11000011
-db %00111000
-db %01010011
+ tmlearn 6
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,39,40
+ tmlearn 44,45,46
+ tmlearn 49,50,53,55
db 0 ; padding
diff --git a/data/baseStats/tangela.asm b/data/baseStats/tangela.asm
index 3e899c05..a9cab332 100755
--- a/data/baseStats/tangela.asm
+++ b/data/baseStats/tangela.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00111000
-db %11000000
-db %10000010
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 34,40
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/tauros.asm b/data/baseStats/tauros.asm
index 16020b09..39844f76 100755
--- a/data/baseStats/tauros.asm
+++ b/data/baseStats/tauros.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %11100000
-db %01110011
-db %10001000
-db %11000111
-db %10100010
-db %00001000
-db %00100010
+ tmlearn 6,7,8
+ tmlearn 9,10,13,14,15
+ tmlearn 20,24
+ tmlearn 25,26,27,31,32
+ tmlearn 34,38,40
+ tmlearn 44
+ tmlearn 50,54
db 0 ; padding
diff --git a/data/baseStats/tentacool.asm b/data/baseStats/tentacool.asm
index f7569d65..12ff9e0d 100755
--- a/data/baseStats/tentacool.asm
+++ b/data/baseStats/tentacool.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00100100
-db %00111111
-db %00011000
-db %11000000
-db %10000011
-db %00001000
-db %00010110
+ tmlearn 3,6
+ tmlearn 9,10,11,12,13,14
+ tmlearn 20,21
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,51,53
db 0 ; padding
diff --git a/data/baseStats/tentacruel.asm b/data/baseStats/tentacruel.asm
index d7115059..01a2f685 100755
--- a/data/baseStats/tentacruel.asm
+++ b/data/baseStats/tentacruel.asm
@@ -19,11 +19,11 @@ db WRAP
db 0
db 5 ; growth rate
; learnset
-db %00100100
-db %01111111
-db %00011000
-db %11000000
-db %10000011
-db %00001000
-db %00010110
+ tmlearn 3,6
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20,21
+ tmlearn 31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,51,53
db 0 ; padding
diff --git a/data/baseStats/vaporeon.asm b/data/baseStats/vaporeon.asm
index ed4b7a1e..21651202 100755
--- a/data/baseStats/vaporeon.asm
+++ b/data/baseStats/vaporeon.asm
@@ -23,11 +23,11 @@ db QUICK_ATTACK
db WATER_GUN
db 0 ; growth rate
; learnset
-db %10100000
-db %01111111
-db %00001000
-db %11000000
-db %11000011
-db %00001000
-db %00010010
+ tmlearn 6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 20
+ tmlearn 31,32
+ tmlearn 33,34,39,40
+ tmlearn 44
+ tmlearn 50,53
db 0 ; padding
diff --git a/data/baseStats/venomoth.asm b/data/baseStats/venomoth.asm
index f38be71c..e4a86f5b 100755
--- a/data/baseStats/venomoth.asm
+++ b/data/baseStats/venomoth.asm
@@ -24,11 +24,11 @@ ELSE
ENDC
db 0 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %00111000
-db %11110000
-db %01000011
-db %00101000
-db %00000010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 29,30,31,32
+ tmlearn 33,34,39
+ tmlearn 44,46
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/venonat.asm b/data/baseStats/venonat.asm
index 62e8aaef..50177b34 100755
--- a/data/baseStats/venonat.asm
+++ b/data/baseStats/venonat.asm
@@ -19,19 +19,18 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %00000011
-db %00111000
+ tmlearn 6
+ tmlearn 9,10
+ tmlearn 20,21,22
IF DEF(_YELLOW)
- db %11110000
- db %01000011
- db %00101000
- db %00100010
+ tmlearn 29,30,31,32
+ tmlearn 33,34,39
+ tmlearn 44,46
+ tmlearn 50,55
ELSE
- db %11010000
- db %00000011
- db %00101000
- db %00000010
+ tmlearn 29,31,32
+ tmlearn 33,34
+ tmlearn 44,46
+ tmlearn 50
ENDC
-
db 0 ; padding
diff --git a/data/baseStats/venusaur.asm b/data/baseStats/venusaur.asm
index 426d18ac..5052e9d0 100755
--- a/data/baseStats/venusaur.asm
+++ b/data/baseStats/venusaur.asm
@@ -19,11 +19,11 @@ db LEECH_SEED
db VINE_WHIP
db 3 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/victreebel.asm b/data/baseStats/victreebel.asm
index 4f544b8d..0df7e22c 100755
--- a/data/baseStats/victreebel.asm
+++ b/data/baseStats/victreebel.asm
@@ -19,11 +19,11 @@ db ACID
db RAZOR_LEAF
db 3 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/vileplume.asm b/data/baseStats/vileplume.asm
index df44be35..20d1b4e4 100755
--- a/data/baseStats/vileplume.asm
+++ b/data/baseStats/vileplume.asm
@@ -19,11 +19,11 @@ db ACID
db PETAL_DANCE
db 3 ; growth rate
; learnset
-db %10100100
-db %01000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6,8
+ tmlearn 9,10,15
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/voltorb.asm b/data/baseStats/voltorb.asm
index f85fc165..4267990f 100755
--- a/data/baseStats/voltorb.asm
+++ b/data/baseStats/voltorb.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %00000001
-db %10001000
-db %11100001
-db %01001011
-db %01011000
-db %01000010
+ tmlearn 6
+ tmlearn 9
+ tmlearn 20,24
+ tmlearn 25,30,31,32
+ tmlearn 33,34,36,39
+ tmlearn 44,45,47
+ tmlearn 50,55
db 0 ; padding
diff --git a/data/baseStats/vulpix.asm b/data/baseStats/vulpix.asm
index 5b9bc47c..80a25853 100755
--- a/data/baseStats/vulpix.asm
+++ b/data/baseStats/vulpix.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %10100000
-db %00000011
-db %00001000
-db %11001000
-db %11100011
-db %00001000
-db %00000010
+ tmlearn 6,8
+ tmlearn 9,10
+ tmlearn 20
+ tmlearn 28,31,32
+ tmlearn 33,34,38,39,40
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/wartortle.asm b/data/baseStats/wartortle.asm
index 4d77ea7b..b8d1f84f 100755
--- a/data/baseStats/wartortle.asm
+++ b/data/baseStats/wartortle.asm
@@ -19,11 +19,11 @@ db BUBBLE
db 0
db 3 ; growth rate
; learnset
-db %10110001
-db %00111111
-db %00001111
-db %11001000
-db %10000011
-db %00001000
-db %00110010
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14
+ tmlearn 17,18,19,20
+ tmlearn 28,31,32
+ tmlearn 33,34,40
+ tmlearn 44
+ tmlearn 50,53,54
db 0 ; padding
diff --git a/data/baseStats/weedle.asm b/data/baseStats/weedle.asm
index 8e501f0b..ecd788db 100755
--- a/data/baseStats/weedle.asm
+++ b/data/baseStats/weedle.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
-db %00000000
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
+ tmlearn 0
db 0 ; padding
diff --git a/data/baseStats/weepinbell.asm b/data/baseStats/weepinbell.asm
index 1a974e20..22c6a40b 100755
--- a/data/baseStats/weepinbell.asm
+++ b/data/baseStats/weepinbell.asm
@@ -19,11 +19,11 @@ db WRAP
db 0
db 3 ; growth rate
; learnset
-db %00100100
-db %00000011
-db %00111000
-db %11000000
-db %00000011
-db %00001000
-db %00000110
+ tmlearn 3,6
+ tmlearn 9,10
+ tmlearn 20,21,22
+ tmlearn 31,32
+ tmlearn 33,34
+ tmlearn 44
+ tmlearn 50,51
db 0 ; padding
diff --git a/data/baseStats/weezing.asm b/data/baseStats/weezing.asm
index bd526ecb..265ed3c8 100755
--- a/data/baseStats/weezing.asm
+++ b/data/baseStats/weezing.asm
@@ -19,11 +19,11 @@ db SLUDGE
db 0
db 0 ; growth rate
; learnset
-db %00100000
-db %01000000
-db %10001000
-db %11000001
-db %00101010
-db %01001000
-db %00000010
+ tmlearn 6
+ tmlearn 15
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 34,36,38
+ tmlearn 44,47
+ tmlearn 50
db 0 ; padding
diff --git a/data/baseStats/wigglytuff.asm b/data/baseStats/wigglytuff.asm
index 1a403c3e..13bf9b3a 100755
--- a/data/baseStats/wigglytuff.asm
+++ b/data/baseStats/wigglytuff.asm
@@ -19,11 +19,11 @@ db DEFENSE_CURL
db DOUBLESLAP
db 4 ; growth rate
; learnset
-db %10110001
-db %01111111
-db %10101111
-db %11110001
-db %10100011
-db %00111000
-db %01100011
+ tmlearn 1,5,6,8
+ tmlearn 9,10,11,12,13,14,15
+ tmlearn 17,18,19,20,22,24
+ tmlearn 25,29,30,31,32
+ tmlearn 33,34,38,40
+ tmlearn 44,45,46
+ tmlearn 49,50,54,55
db 0 ; padding
diff --git a/data/baseStats/zapdos.asm b/data/baseStats/zapdos.asm
index 257bb859..5ae1f25f 100755
--- a/data/baseStats/zapdos.asm
+++ b/data/baseStats/zapdos.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 5 ; growth rate
; learnset
-db %00101010
-db %01000011
-db %10001000
-db %11000001
-db %01000011
-db %00011100
-db %01001010
+ tmlearn 2,4,6
+ tmlearn 9,10,15
+ tmlearn 20,24
+ tmlearn 25,31,32
+ tmlearn 33,34,39
+ tmlearn 43,44,45
+ tmlearn 50,52,55
db 0 ; padding
diff --git a/data/baseStats/zubat.asm b/data/baseStats/zubat.asm
index b2197c13..bafac885 100755
--- a/data/baseStats/zubat.asm
+++ b/data/baseStats/zubat.asm
@@ -19,11 +19,11 @@ db 0
db 0
db 0 ; growth rate
; learnset
-db %00101010
-db %00000011
-db %00011000
-db %11000000
-db %01000010
-db %00001000
-db %00000010
+ tmlearn 2,4,6
+ tmlearn 9,10
+ tmlearn 20,21
+ tmlearn 31,32
+ tmlearn 34,39
+ tmlearn 44
+ tmlearn 50
db 0 ; padding
diff --git a/engine/multiply_divide.asm b/engine/multiply_divide.asm
index e55ab430..ec16c42b 100755
--- a/engine/multiply_divide.asm
+++ b/engine/multiply_divide.asm
@@ -2,142 +2,142 @@ _Multiply: ; 37d41 (d:7d41)
ld a, $8
ld b, a
xor a
- ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
- ld [$ff9b], a
- ld [H_SAVEDNUMTOPRINT], a
- ld [$ff9d], a
- ld [$ff9e], a
-.asm_37d4f
- ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld [H_PRODUCT], a
+ ld [H_MULTIPLYBUFFER], a
+ ld [H_MULTIPLYBUFFER+1], a
+ ld [H_MULTIPLYBUFFER+2], a
+ ld [H_MULTIPLYBUFFER+3], a
+.loop
+ ld a, [H_MULTIPLIER]
srl a
- ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
- jr nc, .asm_37d77
- ld a, [$ff9e]
+ ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ jr nc, .smallMultiplier
+ ld a, [H_MULTIPLYBUFFER+3]
ld c, a
- ld a, [$ff98]
+ ld a, [H_MULTIPLICAND+2]
add c
- ld [$ff9e], a
- ld a, [$ff9d]
+ ld [H_MULTIPLYBUFFER+3], a
+ ld a, [H_MULTIPLYBUFFER+2]
ld c, a
- ld a, [$ff97]
+ ld a, [H_MULTIPLICAND+1]
adc c
- ld [$ff9d], a
- ld a, [H_SAVEDNUMTOPRINT]
+ ld [H_MULTIPLYBUFFER+2], a
+ ld a, [H_MULTIPLYBUFFER+1]
ld c, a
- ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
+ ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND)
adc c
- ld [H_SAVEDNUMTOPRINT], a
- ld a, [$ff9b]
+ ld [H_MULTIPLYBUFFER+1], a
+ ld a, [H_MULTIPLYBUFFER]
ld c, a
- ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
+ ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
adc c
- ld [$ff9b], a
-.asm_37d77
+ ld [H_MULTIPLYBUFFER], a
+.smallMultiplier
dec b
- jr z, .asm_37d94
- ld a, [$ff98]
+ jr z, .done
+ ld a, [H_MULTIPLICAND+2]
sla a
- ld [$ff98], a
- ld a, [$ff97]
+ ld [H_MULTIPLICAND+2], a
+ ld a, [H_MULTIPLICAND+1]
rl a
- ld [$ff97], a
- ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
+ ld [H_MULTIPLICAND+1], a
+ ld a, [H_MULTIPLICAND]
rl a
- ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
- ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
+ ld [H_MULTIPLICAND], a
+ ld a, [H_PRODUCT]
rl a
- ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
- jr .asm_37d4f
-.asm_37d94
- ld a, [$ff9e]
- ld [$ff98], a
- ld a, [$ff9d]
- ld [$ff97], a
- ld a, [H_SAVEDNUMTOPRINT]
- ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
- ld a, [$ff9b]
- ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
+ ld [H_PRODUCT], a
+ jr .loop
+.done
+ ld a, [H_MULTIPLYBUFFER+3]
+ ld [H_PRODUCT+3], a
+ ld a, [H_MULTIPLYBUFFER+2]
+ ld [H_PRODUCT+2], a
+ ld a, [H_MULTIPLYBUFFER+1]
+ ld [H_PRODUCT+1], a
+ ld a, [H_MULTIPLYBUFFER]
+ ld [H_PRODUCT], a
ret
_Divide: ; 37da5 (d:7da5)
xor a
- ld [$ff9a], a
- ld [$ff9b], a
- ld [H_SAVEDNUMTOPRINT], a
- ld [$ff9d], a
- ld [$ff9e], a
+ ld [H_DIVIDEBUFFER], a
+ ld [H_DIVIDEBUFFER+1], a
+ ld [H_DIVIDEBUFFER+2], a
+ ld [H_DIVIDEBUFFER+3], a
+ ld [H_DIVIDEBUFFER+4], a
ld a, $9
ld e, a
.asm_37db3
- ld a, [$ff9a]
+ ld a, [H_DIVIDEBUFFER]
ld c, a
- ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
+ ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND)
sub c
ld d, a
- ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
ld c, a
ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
sbc c
jr c, .asm_37dce
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ld a, d
- ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
- ld a, [$ff9e]
+ ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND)
+ ld a, [H_DIVIDEBUFFER+4]
inc a
- ld [$ff9e], a
+ ld [H_DIVIDEBUFFER+4], a
jr .asm_37db3
.asm_37dce
ld a, b
cp $1
jr z, .asm_37e18
- ld a, [$ff9e]
+ ld a, [H_DIVIDEBUFFER+4]
sla a
- ld [$ff9e], a
- ld a, [$ff9d]
+ ld [H_DIVIDEBUFFER+4], a
+ ld a, [H_DIVIDEBUFFER+3]
rl a
- ld [$ff9d], a
- ld a, [H_SAVEDNUMTOPRINT]
+ ld [H_DIVIDEBUFFER+3], a
+ ld a, [H_DIVIDEBUFFER+2]
rl a
- ld [H_SAVEDNUMTOPRINT], a
- ld a, [$ff9b]
+ ld [H_DIVIDEBUFFER+2], a
+ ld a, [H_DIVIDEBUFFER+1]
rl a
- ld [$ff9b], a
+ ld [H_DIVIDEBUFFER+1], a
dec e
jr nz, .asm_37e04
ld a, $8
ld e, a
- ld a, [$ff9a]
- ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld a, [H_DIVIDEBUFFER]
+ ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
xor a
- ld [$ff9a], a
- ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
+ ld [H_DIVIDEBUFFER], a
+ ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND)
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
- ld a, [$ff97]
- ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
- ld a, [$ff98]
- ld [$ff97], a
+ ld a, [H_DIVIDEND+2]
+ ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND)
+ ld a, [H_DIVIDEND+3]
+ ld [H_DIVIDEND+2], a
.asm_37e04
ld a, e
cp $1
jr nz, .asm_37e0a
dec b
.asm_37e0a
- ld a, [H_REMAINDER] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
srl a
- ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
- ld a, [$ff9a]
+ ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
+ ld a, [H_DIVIDEBUFFER]
rr a
- ld [$ff9a], a
+ ld [H_DIVIDEBUFFER], a
jr .asm_37db3
.asm_37e18
- ld a, [H_NUMTOPRINT] ; (aliases: H_MULTIPLICAND)
+ ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND)
ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN)
- ld a, [$ff9e]
- ld [$ff98], a
- ld a, [$ff9d]
- ld [$ff97], a
- ld a, [H_SAVEDNUMTOPRINT]
- ld [H_NUMTOPRINT], a ; (aliases: H_MULTIPLICAND)
- ld a, [$ff9b]
+ ld a, [H_DIVIDEBUFFER+4]
+ ld [H_QUOTIENT+3], a
+ ld a, [H_DIVIDEBUFFER+3]
+ ld [H_QUOTIENT+2], a
+ ld a, [H_DIVIDEBUFFER+2]
+ ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND)
+ ld a, [H_DIVIDEBUFFER+1]
ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT)
ret
diff --git a/hram.asm b/hram.asm
index 2b83df76..12806771 100644
--- a/hram.asm
+++ b/hram.asm
@@ -110,6 +110,10 @@ H_DIVISOR EQU $FF99 ; 1 byte
H_QUOTIENT EQU $FF95 ; 4 bytes
H_REMAINDER EQU $FF99 ; 1 byte
+H_DIVIDEBUFFER EQU $FF9A
+
+H_MULTIPLYBUFFER EQU $FF9B
+
; PrintNumber (big endian).
H_PASTLEADINGZEROES EQU $FF95 ; last char printed
H_NUMTOPRINT EQU $FF96 ; 3 bytes
diff --git a/macros.asm b/macros.asm
index 5223b9d8..307121ff 100644
--- a/macros.asm
+++ b/macros.asm
@@ -633,3 +633,63 @@ EAST_MAP_CONNECTION: MACRO
db 0 ; x alignment
dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map)
ENDM
+
+tmlearn: MACRO
+if 0 == \1
+tm1 = 0
+tm1_ = 0
+else
+tm1 = %111 & (\1 - 1)
+tm1_ = 1
+endc
+if 2 <= _NARG
+tm2 = %111 & (\2 - 1)
+tm2_ = 1
+else
+tm2 = 0
+tm2_ = 0
+endc
+if 3 <= _NARG
+tm3 = %111 & (\3 - 1)
+tm3_ = 1
+else
+tm3 = 0
+tm3_ = 0
+endc
+if 4 <= _NARG
+tm4 = %111 & (\4 - 1)
+tm4_ = 1
+else
+tm4 = 0
+tm4_ = 0
+endc
+if 5 <= _NARG
+tm5 = %111 & (\5 - 1)
+tm5_ = 1
+else
+tm5 = 0
+tm5_ = 0
+endc
+if 6 <= _NARG
+tm6 = %111 & (\6 - 1)
+tm6_ = 1
+else
+tm6 = 0
+tm6_ = 0
+endc
+if 7 <= _NARG
+tm7 = %111 & (\7 - 1)
+tm7_ = 1
+else
+tm7 = 0
+tm7_ = 0
+endc
+if 8 <= _NARG
+tm8 = %111 & (\8 - 1)
+tm8_ = 1
+else
+tm8 = 0
+tm8_ = 0
+endc
+db tm8_ << tm8 | tm7_ << tm7 | tm6_ << tm6 | tm5_ << tm5 | tm4_ << tm4 | tm3_ << tm3 | tm2_ << tm2 | tm1_ << tm1
+ENDM \ No newline at end of file
diff --git a/wram.asm b/wram.asm
index bcd932d7..c470d6a4 100755
--- a/wram.asm
+++ b/wram.asm
@@ -1902,7 +1902,7 @@ wVBlankSavedROMBank:: ; d122
ds 1
wIsKeyItem:: ; d124
- ds 1
+ ds 1
wTextBoxID:: ; d125
ds 1