diff options
author | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-28 12:32:57 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi@gmail.com> | 2018-05-28 12:32:57 -0400 |
commit | dca9546ec5fee86d32780c1cd6528e51d47be1ab (patch) | |
tree | ed7f3b05c64d1d7e529f0efceff8e77b1559d556 | |
parent | bbf431d22f2d730f80db83ec277f77852673d652 (diff) |
More constants from pokecrystal
-rw-r--r-- | constants.asm | 3 | ||||
-rw-r--r-- | constants/pokemon_constants.asm | 44 | ||||
-rw-r--r-- | constants/pokemon_data_constants.asm | 148 | ||||
-rw-r--r-- | constants/text_constants.asm | 46 | ||||
-rw-r--r-- | constants/type_constants.asm | 39 |
5 files changed, 256 insertions, 24 deletions
diff --git a/constants.asm b/constants.asm index 20853e2..f61e85e 100644 --- a/constants.asm +++ b/constants.asm @@ -4,5 +4,8 @@ INCLUDE "macros.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/gfx_constants.asm" +INCLUDE "constants/text_constants.asm" +INCLUDE "constants/type_constants.asm" INCLUDE "constants/pokemon_constants.asm" +INCLUDE "constants/pokemon_data_constants.asm" diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index f59e6fe..e39a4b1 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,6 +1,4 @@ ; Pokémon IDs -; indexes for: -; - TODO const_def const MON_NOTHING ; 00 const MON_FUSHIGIDANE ; 01 BULBASAUR @@ -124,7 +122,7 @@ const MON_AZUMAO ; 77 SEAKING const MON_HITODEMAN ; 78 STARYU const MON_STARMIE ; 79 STARMIE - const MON_BARRIERD ; 7a MR. MIME + const MON_BARRIERD ; 7a MR__MIME const MON_STRIKE ; 7b SCYTHER const MON_ROUGELA ; 7c JYNX const MON_ELEBOO ; 7d ELECTABUZZ @@ -157,10 +155,10 @@ PROTO_POKEMON EQU const_value const MON_HAPPA ; 98 CHIKORITA const MON_HANAMOGURA ; 99 BAYLEEF - const MON_HANARYUU ; 9a MEGANIUM + const MON_HANARYU ; 9a MEGANIUM const MON_HONOGUMA ; 9b const MON_VOLBEAR ; 9c - const MON_DAINABEAR ; 9d + const MON_DYNABEAR ; 9d const MON_KURUSU ; 9e const MON_AQUA ; 9f const MON_AQUARIA ; a0 @@ -169,37 +167,37 @@ PROTO_POKEMON EQU const_value const MON_PACHIMEE ; a3 MAREEP const MON_MOKOKO ; a4 FLAAFFY const MON_DENRYU ; a5 AMPHAROS - const MON_MIKON ; a6 - const MON_MONJA ; a7 + const MON_MIKON ; a6 (baby VULPIX) + const MON_MONJA ; a7 (baby TANGELA) const MON_JARANRA ; a8 TANGROWTH const MON_HANEEI ; a9 MANTINE const MON_PUKU ; aa QWILFISH - const MON_SHIBIREFUGU ; ab + const MON_SHIBIREFUGU ; ab (evolved QWILFISH) const MON_PICHU ; ac PICHU const MON_PY ; ad CLEFFA const MON_PUPURIN ; ae IGGLYPUFF const MON_MIZUUO ; af QUAGSIRE const MON_NATY ; b0 NATU const MON_NATIO ; b1 XATU - const MON_GYOPIN ; b2 + const MON_GYOPIN ; b2 (baby GOLDEEN) const MON_MARIL ; b3 MARILL const MON_MANBO1 ; b4 const MON_IKARI ; b5 const MON_GROTESS ; b6 const MON_EKSING ; b7 CROBAT - const MON_PARA ; b8 + const MON_PARA ; b8 (baby PARAS) const MON_KOKUMO ; b9 SPINARAK const MON_TWOHEAD ; ba ARIADOS const MON_YOROIDORI ; bb SKARMORY - const MON_ANIMON ; bc - const MON_HINAZU ; bd + const MON_ANIMON ; bc (evolved DITTO) + const MON_HINAZU ; bd (baby DODUO) const MON_SUNNY ; be SUNFLORA const MON_PAON ; bf PHANPY const MON_DONPHAN ; c0 DONPHAN - const MON_TWINZ ; c1 + const MON_TWINZ ; c1 (baby GIRAFARIG) const MON_KIRINRIKI ; c2 GIRAFARIG const MON_PAINTER ; c3 SMEARGLE - const MON_KOUNYA ; c4 + const MON_KOUNYA ; c4 (baby MEOWTH) const MON_RINRIN ; c5 const MON_BERURUN ; c6 const MON_NYOROTONO ; c7 POLITOED @@ -207,43 +205,43 @@ PROTO_POKEMON EQU const_value const MON_ANNON ; c9 UNOWN const MON_REDIBA ; ca LEDYBA const MON_MITSUBOSHI ; cb LEDIAN - const MON_PUCHICORN ; cc + const MON_PUCHICORN ; cc (baby PONYTA) const MON_EIFIE ; cd ESPEON const MON_BLACKY ; ce UMBREON const MON_TURBAN ; cf - const MON_BETBABY ; d0 + const MON_BETBABY ; d0 (baby GRIMER) const MON_TEPPOUO ; d1 REMORAID const MON_OKUTANK ; d2 OCTILLERY const MON_GONGU ; d3 TYROGUE const MON_KAPOERER ; d4 HITMONTOP - const MON_PUDIE ; d5 + const MON_PUDIE ; d5 (baby GROWLITHE) const MON_HANEKO ; d6 HOPPIP const MON_POPONEKO ; d7 SKIPLOOM const MON_WATANEKO ; d8 JUMPLUFF const MON_BARIRINA ; d9 MIME_JR const MON_LIP ; da SMOOCHUM - const MON_ELEBABY ; db ELEKID + const MON_ELEBABY ; db (baby ELEKID) const MON_BOOBY ; dc MAGBY const MON_KIREIHANA ; dd BELLOSSOM - const MON_TSUBOMITTO ; de + const MON_TSUBOMITTO ; de (evolved WEEPINBELL) const MON_MILTANK ; df MILTANK const MON_BOMBSEEKER ; e0 const MON_GIFT ; e1 DELIBIRD const MON_KOTORA ; e2 const MON_RAITORA ; e3 - const MON_MADAME ; e4 + const MON_MADAME ; e4 (evolved FARFETCH_D) const MON_NOROWARA ; e5 const MON_KYONPAN ; e6 const MON_YAMIKARASU ; e7 MURKROW const MON_HAPPI ; e8 BLISSEY const MON_SCISSORS ; e9 SCIZOR - const MON_PURAKKUSU ; ea + const MON_PURAKKUSU ; ea (evolved PINSIR) const MON_DEVIL ; eb HOUNDOUR const MON_HELGAA ; ec HOUNDOOM const MON_WOLFMAN ; ed const MON_WARWOLF ; ee const MON_PORYGON2 ; ef PORYGON2 - const MON_NAMEIL ; f0 + const MON_NAMEIL ; f0 LICKILICKY const MON_HAGANEIL ; f1 STEELIX const MON_KINGDRA ; f2 KINGDRA const MON_RAI ; f3 RAIKOU @@ -261,8 +259,6 @@ NUM_POKEMON EQU const_value + -1 const MON_FE ; fe ; Annon forms -; indexes for: -; - TODO const_def 1 const ANNON_A ; 1 const ANNON_B ; 2 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm new file mode 100644 index 0000000..98e90ce --- /dev/null +++ b/constants/pokemon_data_constants.asm @@ -0,0 +1,148 @@ +; base data struct members (see data/pokemon/base_stats/*.asm) +BASE_DEX_NO EQUS "(wBaseDexNo - wCurBaseData)" +BASE_STATS EQUS "(wBaseStats - wCurBaseData)" +BASE_HP EQUS "(wBaseHP - wCurBaseData)" +BASE_ATK EQUS "(wBaseAttack - wCurBaseData)" +BASE_SPD EQUS "(wBaseSpeed - wCurBaseData)" +BASE_SAT EQUS "(wBaseSpecialAttack - wCurBaseData)" +BASE_SDF EQUS "(wBaseSpecialDefense - wCurBaseData)" +BASE_TYPES EQUS "(wBaseType - wCurBaseData)" +BASE_TYPE_1 EQUS "(wBaseType1 - wCurBaseData)" +BASE_TYPE_2 EQUS "(wBaseType2 - wCurBaseData)" +BASE_CATCH_RATE EQUS "(wBaseCatchRate - wCurBaseData)" +BASE_EXP EQUS "(wBaseExp - wCurBaseData)" +BASE_ITEMS EQUS "(wBaseItems - wCurBaseData)" +BASE_ITEM_1 EQUS "(wBaseItem1 - wCurBaseData)" +BASE_ITEM_2 EQUS "(wBaseItem2 - wCurBaseData)" +BASE_GENDER EQUS "(wBaseGender - wCurBaseData)" +BASE_UNKNOWN_1 EQUS "(wBaseUnknown1 - wCurBaseData)" +BASE_EGG_STEPS EQUS "(wBaseEggSteps - wCurBaseData)" +BASE_UNKNOWN_2 EQUS "(wBaseUnknown2 - wCurBaseData)" +BASE_PIC_SIZE EQUS "(wBasePicSize - wCurBaseData)" +BASE_UNKNOWN_3 EQUS "(wBaseUnknown3 - wCurBaseData)" +BASE_UNKNOWN_4 EQUS "(wBaseUnknown4 - wCurBaseData)" +BASE_UNKNOWN_5 EQUS "(wBaseUnknown5 - wCurBaseData)" +BASE_UNKNOWN_6 EQUS "(wBaseUnknown6 - wCurBaseData)" +BASE_GROWTH_RATE EQUS "(wBaseGrowthRate - wCurBaseData)" +BASE_EGG_GROUPS EQUS "(wBaseEggGroups - wCurBaseData)" +BASE_TMHM EQUS "(wBaseTMHM - wCurBaseData)" +BASE_DATA_SIZE EQUS "(wCurBaseDataEnd - wCurBaseData)" + +; gender ratio constants +GENDER_MALE EQU 0 percent +GENDER_50_50 EQU 50 percent +GENDER_FEMALE EQU 100 percent - 1 +GENDER_UNKNOWN EQU -1 + +; growth rates + const_def + const GROWTH_MEDIUM_FAST ; 00 + const GROWTH_SLIGHTLY_FAST ; 01 + const GROWTH_SLIGHTLY_SLOW ; 02 + const GROWTH_MEDIUM_SLOW ; 03 + const GROWTH_FAST ; 04 + const GROWTH_SLOW ; 05 + + +; pokedex entries (see data/pokemon/dex_entries.asm) +NUM_DEX_ENTRY_BANKS EQU 4 + + +; party_struct members (see macros/wram.asm) +MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)" +MON_ITEM EQUS "(wPartyMon1Item - wPartyMon1)" +MON_MOVES EQUS "(wPartyMon1Moves - wPartyMon1)" +MON_ID EQUS "(wPartyMon1ID - wPartyMon1)" +MON_EXP EQUS "(wPartyMon1Exp - wPartyMon1)" +MON_STAT_EXP EQUS "(wPartyMon1StatExp - wPartyMon1)" +MON_HP_EXP EQUS "(wPartyMon1HPExp - wPartyMon1)" +MON_ATK_EXP EQUS "(wPartyMon1AtkExp - wPartyMon1)" +MON_DEF_EXP EQUS "(wPartyMon1DefExp - wPartyMon1)" +MON_SPD_EXP EQUS "(wPartyMon1SpdExp - wPartyMon1)" +MON_SPC_EXP EQUS "(wPartyMon1SpcExp - wPartyMon1)" +MON_DVS EQUS "(wPartyMon1DVs - wPartyMon1)" +MON_PP EQUS "(wPartyMon1PP - wPartyMon1)" +MON_HAPPINESS EQUS "(wPartyMon1Happiness - wPartyMon1)" +MON_PKRUS EQUS "(wPartyMon1PokerusStatus - wPartyMon1)" +MON_CAUGHTDATA EQUS "(wPartyMon1CaughtData - wPartyMon1)" +MON_CAUGHTLEVEL EQUS "(wPartyMon1CaughtLevel - wPartyMon1)" +MON_CAUGHTTIME EQUS "(wPartyMon1CaughtTime - wPartyMon1)" +MON_CAUGHTGENDER EQUS "(wPartyMon1CaughtGender - wPartyMon1)" +MON_CAUGHTLOCATION EQUS "(wPartyMon1CaughtLocation - wPartyMon1)" +MON_LEVEL EQUS "(wPartyMon1Level - wPartyMon1)" +MON_STATUS EQUS "(wPartyMon1Status - wPartyMon1)" +MON_HP EQUS "(wPartyMon1HP - wPartyMon1)" +MON_MAXHP EQUS "(wPartyMon1MaxHP - wPartyMon1)" +MON_ATK EQUS "(wPartyMon1Attack - wPartyMon1)" +MON_DEF EQUS "(wPartyMon1Defense - wPartyMon1)" +MON_SPD EQUS "(wPartyMon1Speed - wPartyMon1)" +MON_SAT EQUS "(wPartyMon1SpclAtk - wPartyMon1)" +MON_SDF EQUS "(wPartyMon1SpclDef - wPartyMon1)" +BOXMON_STRUCT_LENGTH EQUS "(wPartyMon1End - wPartyMon1)" +PARTYMON_STRUCT_LENGTH EQUS "(wPartyMon1StatsEnd - wPartyMon1)" + +REDMON_STRUCT_LENGTH EQU 44 + + +; caught data + +CAUGHT_TIME_MASK EQU %11000000 +CAUGHT_LEVEL_MASK EQU %00111111 + +CAUGHT_GENDER_MASK EQU %10000000 +CAUGHT_LOCATION_MASK EQU %01111111 + +CAUGHT_BY_UNKNOWN EQU 0 +CAUGHT_BY_GIRL EQU 1 +CAUGHT_BY_BOY EQU 2 + +CAUGHT_EGG_LEVEL EQU 1 + + +; maximum number of party pokemon +PARTY_LENGTH EQU 6 + +; boxes +MONS_PER_BOX EQU 20 +NUM_BOXES EQU 14 + +; hall of fame +HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (MON_NAME_LENGTH + -1) ; species, id, dvs, level, nick +HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator +NUM_HOF_TEAMS = 30 + + +; evolution types (used in data/pokemon/evos_attacks.asm) + const_def 1 + const EVOLVE_LEVEL + const EVOLVE_ITEM + const EVOLVE_TRADE + const EVOLVE_HAPPINESS + const EVOLVE_STAT + +; EVOLVE_HAPPINESS triggers + const_def 1 + const TR_ANYTIME + const TR_MORNDAY + const TR_NITE + +; EVOLVE_STAT triggers + const_def 1 + const ATK_GT_DEF + const ATK_LT_DEF + const ATK_EQ_DEF + + +; wild data + +NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size +NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size + +GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2 +WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2 + + +; PP +PP_UP_MASK EQU %11000000 +PP_UP_ONE EQU %01000000 +PP_MASK EQU %00111111 diff --git a/constants/text_constants.asm b/constants/text_constants.asm new file mode 100644 index 0000000..b026e91 --- /dev/null +++ b/constants/text_constants.asm @@ -0,0 +1,46 @@ +; name lengths +NAME_LENGTH EQU 11 +PLAYER_NAME_LENGTH EQU 8 +BOX_NAME_LENGTH EQU 9 +MON_NAME_LENGTH EQU 11 +MOVE_NAME_LENGTH EQU 13 +ITEM_NAME_LENGTH EQU 13 +TRAINER_CLASS_NAME_LENGTH EQU 13 +NAME_LENGTH_JAPANESE EQU 6 + +; GetName types (see home/names.asm) + const_def 1 + const MON_NAME ; 01 + const MOVE_NAME ; 02 + const DUMMY_NAME ; 03 + const ITEM_NAME ; 04 + const PARTY_OT_NAME ; 05 + const ENEMY_OT_NAME ; 06 + const TRAINER_NAME ; 07 + const MOVE_DESC_NAME_BROKEN ; 08 + +; see home/text.asm +BORDER_WIDTH EQU 2 +TEXTBOX_WIDTH EQU SCREEN_WIDTH +TEXTBOX_INNERW EQU TEXTBOX_WIDTH - BORDER_WIDTH +TEXTBOX_HEIGHT EQU 6 +TEXTBOX_INNERH EQU TEXTBOX_HEIGHT - BORDER_WIDTH +TEXTBOX_X EQU 0 +TEXTBOX_INNERX EQU TEXTBOX_X + 1 +TEXTBOX_Y EQU SCREEN_HEIGHT - TEXTBOX_HEIGHT +TEXTBOX_INNERY EQU TEXTBOX_Y + 2 + +; PrintNum bit flags + const_def 5 + const PRINTNUM_MONEY_F ; 5 + const PRINTNUM_RIGHTALIGN_F ; 6 + const PRINTNUM_LEADINGZEROS_F ; 7 + +; PrintNum arguments (see engine/math/print_num.asm) +PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F +PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F +PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F + +; character sets (see charmap.asm) +FIRST_REGULAR_TEXT_CHAR EQU $60 +FIRST_HIRAGANA_DAKUTEN_CHAR EQU $20 diff --git a/constants/type_constants.asm b/constants/type_constants.asm new file mode 100644 index 0000000..548653e --- /dev/null +++ b/constants/type_constants.asm @@ -0,0 +1,39 @@ + const_def + +PHYSICAL_TYPES EQU const_value ; 00 + const TYPE_NORMAL ; 00 + const TYPE_FIGHTING ; 01 + const TYPE_FLYING ; 02 + const TYPE_POISON ; 03 + const TYPE_GROUND ; 04 + const TYPE_ROCK ; 05 + const TYPE_BIRD ; 06 + const TYPE_BUG ; 07 + const TYPE_GHOST ; 08 + const TYPE_STEEL ; 09 + +UNUSED_TYPES EQU const_value ; 0a + const TYPE_0A ; 0a + const TYPE_0B ; 0b + const TYPE_0C ; 0c + const TYPE_0D ; 0d + const TYPE_0E ; 0e + const TYPE_0F ; 0f + const TYPE_10 ; 10 + const TYPE_11 ; 11 + const TYPE_12 ; 12 + const TYPE_UNKNOWN ; 13 +UNUSED_TYPES_END EQU const_value ; 14 + +SPECIAL_TYPES EQU const_value ; 14 + const TYPE_FIRE ; 14 + const TYPE_WATER ; 15 + const TYPE_GRASS ; 16 + const TYPE_ELECTRIC ; 17 + const TYPE_PSYCHIC ; 18 + const TYPE_ICE ; 19 + const TYPE_DRAGON ; 1a + const TYPE_DARK ; 1b +TYPES_END EQU const_value ; 1c + +NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END ; 12 |