; used in data/pokemon/base_stats/*.asm MACRO tmhm ; initialize bytes to 0 for n, (NUM_TM_HM_TUTOR + 7) / 8 DEF _tm{d:n} = 0 endr ; set bits of bytes rept _NARG if DEF(\1_TMNUM) DEF n = (\1_TMNUM - 1) / 8 DEF i = (\1_TMNUM - 1) % 8 DEF _tm{d:n} |= 1 << i else fail "\1 is not a TM, HM, or tutor move" endc shift endr ; output bytes for n, (NUM_TM_HM_TUTOR + 7) / 8 db _tm{d:n} endr ENDM BaseData:: table_width BASE_DATA_SIZE, BaseData INCLUDE "data/pokemon/base_stats/bulbasaur.asm" INCLUDE "data/pokemon/base_stats/ivysaur.asm" INCLUDE "data/pokemon/base_stats/venusaur.asm" INCLUDE "data/pokemon/base_stats/charmander.asm" INCLUDE "data/pokemon/base_stats/charmeleon.asm" INCLUDE "data/pokemon/base_stats/charizard.asm" INCLUDE "data/pokemon/base_stats/squirtle.asm" INCLUDE "data/pokemon/base_stats/wartortle.asm" INCLUDE "data/pokemon/base_stats/blastoise.asm" INCLUDE "data/pokemon/base_stats/caterpie.asm" INCLUDE "data/pokemon/base_stats/metapod.asm" INCLUDE "data/pokemon/base_stats/butterfree.asm" INCLUDE "data/pokemon/base_stats/weedle.asm" INCLUDE "data/pokemon/base_stats/kakuna.asm" INCLUDE "data/pokemon/base_stats/beedrill.asm" INCLUDE "data/pokemon/base_stats/pidgey.asm" INCLUDE "data/pokemon/base_stats/pidgeotto.asm" INCLUDE "data/pokemon/base_stats/pidgeot.asm" INCLUDE "data/pokemon/base_stats/rattata.asm" INCLUDE "data/pokemon/base_stats/raticate.asm" INCLUDE "data/pokemon/base_stats/spearow.asm" INCLUDE "data/pokemon/base_stats/fearow.asm" INCLUDE "data/pokemon/base_stats/ekans.asm" INCLUDE "data/pokemon/base_stats/arbok.asm" INCLUDE "data/pokemon/base_stats/pikachu.asm" INCLUDE "data/pokemon/base_stats/raichu.asm" INCLUDE "data/pokemon/base_stats/sandshrew.asm" INCLUDE "data/pokemon/base_stats/sandslash.asm" INCLUDE "data/pokemon/base_stats/nidoran_f.asm" INCLUDE "data/pokemon/base_stats/nidorina.asm" INCLUDE "data/pokemon/base_stats/nidoqueen.asm" INCLUDE "data/pokemon/base_stats/nidoran_m.asm" INCLUDE "data/pokemon/base_stats/nidorino.asm" INCLUDE "data/pokemon/base_stats/nidoking.asm" INCLUDE "data/pokemon/base_stats/clefairy.asm" INCLUDE "data/pokemon/base_stats/clefable.asm" INCLUDE "data/pokemon/base_stats/vulpix.asm" INCLUDE "data/pokemon/base_stats/ninetales.asm" INCLUDE "data/pokemon/base_stats/jigglypuff.asm" INCLUDE "data/pokemon/base_stats/wigglytuff.asm" INCLUDE "data/pokemon/base_stats/zubat.asm" INCLUDE "data/pokemon/base_stats/golbat.asm" INCLUDE "data/pokemon/base_stats/oddish.asm" INCLUDE "data/pokemon/base_stats/gloom.asm" INCLUDE "data/pokemon/base_stats/vileplume.asm" INCLUDE "data/pokemon/base_stats/paras.asm" INCLUDE "data/pokemon/base_stats/parasect.asm" INCLUDE "data/pokemon/base_stats/venonat.asm" INCLUDE "data/pokemon/base_stats/venomoth.asm" INCLUDE "data/pokemon/base_stats/diglett.asm" INCLUDE "data/pokemon/base_stats/dugtrio.asm" INCLUDE "data/pokemon/base_stats/meowth.asm" INCLUDE "data/pokemon/base_stats/persian.asm" INCLUDE "data/pokemon/base_stats/psyduck.asm" INCLUDE "data/pokemon/base_stats/golduck.asm" INCLUDE "data/pokemon/base_stats/mankey.asm" INCLUDE "data/pokemon/base_stats/primeape.asm" INCLUDE "data/pokemon/base_stats/growlithe.asm" INCLUDE "data/pokemon/base_stats/arcanine.asm" INCLUDE "data/pokemon/base_stats/poliwag.asm" INCLUDE "data/pokemon/base_stats/poliwhirl.asm" INCLUDE "data/pokemon/base_stats/poliwrath.asm" INCLUDE "data/pokemon/base_stats/abra.asm" INCLUDE "data/pokemon/base_stats/kadabra.asm" INCLUDE "data/pokemon/base_stats/alakazam.asm" INCLUDE "data/pokemon/base_stats/machop.asm" INCLUDE "data/pokemon/base_stats/machoke.asm" INCLUDE "data/pokemon/base_stats/machamp.asm" INCLUDE "data/pokemon/base_stats/bellsprout.asm" INCLUDE "data/pokemon/base_stats/weepinbell.asm" INCLUDE "data/pokemon/base_stats/victreebel.asm" INCLUDE "data/pokemon/base_stats/tentacool.asm" INCLUDE "data/pokemon/base_stats/tentacruel.asm" INCLUDE "data/pokemon/base_stats/geodude.asm" INCLUDE "data/pokemon/base_stats/graveler.asm" INCLUDE "data/pokemon/base_stats/golem.asm" INCLUDE "data/pokemon/base_stats/ponyta.asm" INCLUDE "data/pokemon/base_stats/rapidash.asm" INCLUDE "data/pokemon/base_stats/slowpoke.asm" INCLUDE "data/pokemon/base_stats/slowbro.asm" INCLUDE "data/pokemon/base_stats/magnemite.asm" INCLUDE "data/pokemon/base_stats/magneton.asm" INCLUDE "data/pokemon/base_stats/farfetch_d.asm" INCLUDE "data/pokemon/base_stats/doduo.asm" INCLUDE "data/pokemon/base_stats/dodrio.asm" INCLUDE "data/pokemon/base_stats/seel.asm" INCLUDE "data/pokemon/base_stats/dewgong.asm" INCLUDE "data/pokemon/base_stats/grimer.asm" INCLUDE "data/pokemon/base_stats/muk.asm" INCLUDE "data/pokemon/base_stats/shellder.asm" INCLUDE "data/pokemon/base_stats/cloyster.asm" INCLUDE "data/pokemon/base_stats/gastly.asm" INCLUDE "data/pokemon/base_stats/haunter.asm" INCLUDE "data/pokemon/base_stats/gengar.asm" INCLUDE "data/pokemon/base_stats/onix.asm" INCLUDE "data/pokemon/base_stats/drowzee.asm" INCLUDE "data/pokemon/base_stats/hypno.asm" INCLUDE "data/pokemon/base_stats/krabby.asm" INCLUDE "data/pokemon/base_stats/kingler.asm" INCLUDE "data/pokemon/base_stats/voltorb.asm" INCLUDE "data/pokemon/base_stats/electrode.asm" INCLUDE "data/pokemon/base_stats/exeggcute.asm" INCLUDE "data/pokemon/base_stats/exeggutor.asm" INCLUDE "data/pokemon/base_stats/cubone.asm" INCLUDE "data/pokemon/base_stats/marowak.asm" INCLUDE "data/pokemon/base_stats/hitmonlee.asm" INCLUDE "data/pokemon/base_stats/hitmonchan.asm" INCLUDE "data/pokemon/base_stats/lickitung.asm" INCLUDE "data/pokemon/base_stats/koffing.asm" INCLUDE "data/pokemon/base_stats/weezing.asm" INCLUDE "data/pokemon/base_stats/rhyhorn.asm" INCLUDE "data/pokemon/base_stats/rhydon.asm" INCLUDE "data/pokemon/base_stats/chansey.asm" INCLUDE "data/pokemon/base_stats/tangela.asm" INCLUDE "data/pokemon/base_stats/kangaskhan.asm" INCLUDE "data/pokemon/base_stats/horsea.asm" INCLUDE "data/pokemon/base_stats/seadra.asm" INCLUDE "data/pokemon/base_stats/goldeen.asm" INCLUDE "data/pokemon/base_stats/seaking.asm" INCLUDE "data/pokemon/base_stats/staryu.asm" INCLUDE "data/pokemon/base_stats/starmie.asm" INCLUDE "data/pokemon/base_stats/mr__mime.asm" INCLUDE "data/pokemon/base_stats/scyther.asm" INCLUDE "data/pokemon/base_stats/jynx.asm" INCLUDE "data/pokemon/base_stats/electabuzz.asm" INCLUDE "data/pokemon/base_stats/magmar.asm" INCLUDE "data/pokemon/base_stats/pinsir.asm" INCLUDE "data/pokemon/base_stats/tauros.asm" INCLUDE "data/pokemon/base_stats/magikarp.asm" INCLUDE "data/pokemon/base_stats/gyarados.asm" INCLUDE "data/pokemon/base_stats/lapras.asm" INCLUDE "data/pokemon/base_stats/ditto.asm" INCLUDE "data/pokemon/base_stats/eevee.asm" INCLUDE "data/pokemon/base_stats/vaporeon.asm" INCLUDE "data/pokemon/base_stats/jolteon.asm" INCLUDE "data/pokemon/base_stats/flareon.asm" INCLUDE "data/pokemon/base_stats/porygon.asm" INCLUDE "data/pokemon/base_stats/omanyte.asm" INCLUDE "data/pokemon/base_stats/omastar.asm" INCLUDE "data/pokemon/base_stats/kabuto.asm" INCLUDE "data/pokemon/base_stats/kabutops.asm" INCLUDE "data/pokemon/base_stats/aerodactyl.asm" INCLUDE "data/pokemon/base_stats/snorlax.asm" INCLUDE "data/pokemon/base_stats/articuno.asm" INCLUDE "data/pokemon/base_stats/zapdos.asm" INCLUDE "data/pokemon/base_stats/moltres.asm" INCLUDE "data/pokemon/base_stats/dratini.asm" INCLUDE "data/pokemon/base_stats/dragonair.asm" INCLUDE "data/pokemon/base_stats/dragonite.asm" INCLUDE "data/pokemon/base_stats/mewtwo.asm" INCLUDE "data/pokemon/base_stats/mew.asm" INCLUDE "data/pokemon/base_stats/chikorita.asm" INCLUDE "data/pokemon/base_stats/bayleef.asm" INCLUDE "data/pokemon/base_stats/meganium.asm" INCLUDE "data/pokemon/base_stats/cyndaquil.asm" INCLUDE "data/pokemon/base_stats/quilava.asm" INCLUDE "data/pokemon/base_stats/typhlosion.asm" INCLUDE "data/pokemon/base_stats/totodile.asm" INCLUDE "data/pokemon/base_stats/croconaw.asm" INCLUDE "data/pokemon/base_stats/feraligatr.asm" INCLUDE "data/pokemon/base_stats/sentret.asm" INCLUDE "data/pokemon/base_stats/furret.asm" INCLUDE "data/pokemon/base_stats/hoothoot.asm" INCLUDE "data/pokemon/base_stats/noctowl.asm" INCLUDE "data/pokemon/base_stats/ledyba.asm" INCLUDE "data/pokemon/base_stats/ledian.asm" INCLUDE "data/pokemon/base_stats/spinarak.asm" INCLUDE "data/pokemon/base_stats/ariados.asm" INCLUDE "data/pokemon/base_stats/crobat.asm" INCLUDE "data/pokemon/base_stats/chinchou.asm" INCLUDE "data/pokemon/base_stats/lanturn.asm" INCLUDE "data/pokemon/base_stats/pichu.asm" INCLUDE "data/pokemon/base_stats/cleffa.asm" INCLUDE "data/pokemon/base_stats/igglybuff.asm" INCLUDE "data/pokemon/base_stats/togepi.asm" INCLUDE "data/pokemon/base_stats/togetic.asm" INCLUDE "data/pokemon/base_stats/natu.asm" INCLUDE "data/pokemon/base_stats/xatu.asm" INCLUDE "data/pokemon/base_stats/mareep.asm" INCLUDE "data/pokemon/base_stats/flaaffy.asm" INCLUDE "data/pokemon/base_stats/ampharos.asm" INCLUDE "data/pokemon/base_stats/bellossom.asm" INCLUDE "data/pokemon/base_stats/marill.asm" INCLUDE "data/pokemon/base_stats/azumarill.asm" INCLUDE "data/pokemon/base_stats/sudowoodo.asm" INCLUDE "data/pokemon/base_stats/politoed.asm" INCLUDE "data/pokemon/base_stats/hoppip.asm" INCLUDE "data/pokemon/base_stats/skiploom.asm" INCLUDE "data/pokemon/base_stats/jumpluff.asm" INCLUDE "data/pokemon/base_stats/aipom.asm" INCLUDE "data/pokemon/base_stats/sunkern.asm" INCLUDE "data/pokemon/base_stats/sunflora.asm" INCLUDE "data/pokemon/base_stats/yanma.asm" INCLUDE "data/pokemon/base_stats/wooper.asm" INCLUDE "data/pokemon/base_stats/quagsire.asm" INCLUDE "data/pokemon/base_stats/espeon.asm" INCLUDE "data/pokemon/base_stats/umbreon.asm" INCLUDE "data/pokemon/base_stats/murkrow.asm" INCLUDE "data/pokemon/base_stats/slowking.asm" INCLUDE "data/pokemon/base_stats/misdreavus.asm" INCLUDE "data/pokemon/base_stats/unown.asm" INCLUDE "data/pokemon/base_stats/wobbuffet.asm" INCLUDE "data/pokemon/base_stats/girafarig.asm" INCLUDE "data/pokemon/base_stats/pineco.asm" INCLUDE "data/pokemon/base_stats/forretress.asm" INCLUDE "data/pokemon/base_stats/dunsparce.asm" INCLUDE "data/pokemon/base_stats/gligar.asm" INCLUDE "data/pokemon/base_stats/steelix.asm" INCLUDE "data/pokemon/base_stats/snubbull.asm" INCLUDE "data/pokemon/base_stats/granbull.asm" INCLUDE "data/pokemon/base_stats/qwilfish.asm" INCLUDE "data/pokemon/base_stats/scizor.asm" INCLUDE "data/pokemon/base_stats/shuckle.asm" INCLUDE "data/pokemon/base_stats/heracross.asm" INCLUDE "data/pokemon/base_stats/sneasel.asm" INCLUDE "data/pokemon/base_stats/teddiursa.asm" INCLUDE "data/pokemon/base_stats/ursaring.asm" INCLUDE "data/pokemon/base_stats/slugma.asm" INCLUDE "data/pokemon/base_stats/magcargo.asm" INCLUDE "data/pokemon/base_stats/swinub.asm" INCLUDE "data/pokemon/base_stats/piloswine.asm" INCLUDE "data/pokemon/base_stats/corsola.asm" INCLUDE "data/pokemon/base_stats/remoraid.asm" INCLUDE "data/pokemon/base_stats/octillery.asm" INCLUDE "data/pokemon/base_stats/delibird.asm" INCLUDE "data/pokemon/base_stats/mantine.asm" INCLUDE "data/pokemon/base_stats/skarmory.asm" INCLUDE "data/pokemon/base_stats/houndour.asm" INCLUDE "data/pokemon/base_stats/houndoom.asm" INCLUDE "data/pokemon/base_stats/kingdra.asm" INCLUDE "data/pokemon/base_stats/phanpy.asm" INCLUDE "data/pokemon/base_stats/donphan.asm" INCLUDE "data/pokemon/base_stats/porygon2.asm" INCLUDE "data/pokemon/base_stats/stantler.asm" INCLUDE "data/pokemon/base_stats/smeargle.asm" INCLUDE "data/pokemon/base_stats/tyrogue.asm" INCLUDE "data/pokemon/base_stats/hitmontop.asm" INCLUDE "data/pokemon/base_stats/smoochum.asm" INCLUDE "data/pokemon/base_stats/elekid.asm" INCLUDE "data/pokemon/base_stats/magby.asm" INCLUDE "data/pokemon/base_stats/miltank.asm" INCLUDE "data/pokemon/base_stats/blissey.asm" INCLUDE "data/pokemon/base_stats/raikou.asm" INCLUDE "data/pokemon/base_stats/entei.asm" INCLUDE "data/pokemon/base_stats/suicune.asm" INCLUDE "data/pokemon/base_stats/larvitar.asm" INCLUDE "data/pokemon/base_stats/pupitar.asm" INCLUDE "data/pokemon/base_stats/tyranitar.asm" INCLUDE "data/pokemon/base_stats/lugia.asm" INCLUDE "data/pokemon/base_stats/ho_oh.asm" INCLUDE "data/pokemon/base_stats/celebi.asm" assert_table_length NUM_POKEMON