summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi@gmail.com>2018-05-28 12:32:57 -0400
committerRangi <remy.oukaour+rangi@gmail.com>2018-05-28 12:32:57 -0400
commitdca9546ec5fee86d32780c1cd6528e51d47be1ab (patch)
treeed7f3b05c64d1d7e529f0efceff8e77b1559d556
parentbbf431d22f2d730f80db83ec277f77852673d652 (diff)
More constants from pokecrystal
-rw-r--r--constants.asm3
-rw-r--r--constants/pokemon_constants.asm44
-rw-r--r--constants/pokemon_data_constants.asm148
-rw-r--r--constants/text_constants.asm46
-rw-r--r--constants/type_constants.asm39
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