ref: 512863989fb2cb17bcca2f27a61fe3fa8f567b9a
parent: 89b9292db0898f8ad2b6ea8513a3190762eb58c8
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Fri Dec 8 19:50:59 EST 2017
Document constants with comments, actual names, and more thorough usage
--- a/battle/ai/items.asm
+++ b/battle/ai/items.asm
@@ -27,7 +27,7 @@
ld a, [TrainerClass]
dec a
- ld bc, 7
+ ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes
.ok
bit SWITCH_OFTEN_F, [hl]
@@ -174,8 +174,8 @@
ld a, [TrainerClass]
dec a
- ld hl, TrainerClassAttributes + 5
- ld bc, 7
+ ld hl, TrainerClassAttributes + TRNATTR_AI_ITEM_SWITCH
+ ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes
ld b, h
ld c, l
--- a/constants/animation_constants.asm
+++ b/constants/animation_constants.asm
@@ -1,3 +1,4 @@
+; battle_anim_struct members (see macros/wram.asm)
const_def
const BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_01
@@ -25,6 +26,7 @@
const BATTLEANIMSTRUCT_17
BATTLEANIMSTRUCT_LENGTH EQU const_value
+; BattleAnimObjects indexes (see battle/objects/data.asm)
const_def
const ANIM_OBJ_00
const ANIM_OBJ_01
@@ -215,6 +217,7 @@
const ANIM_OBJ_BA
const ANIM_OBJ_BB
+; DoBattleAnimFrame arguments (see battle/objects/functions.asm)
const_def
const BATTLEANIMFUNC_00
const BATTLEANIMFUNC_01
@@ -297,6 +300,7 @@
const BATTLEANIMFUNC_4E
const BATTLEANIMFUNC_4F
+; BattleAnimFrameData indexes (see battle/objects/framesets.asm)
const_def
const BATTLEANIMFRAMESET_00
const BATTLEANIMFRAMESET_01
@@ -484,6 +488,7 @@
const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8
+; BattleAnimOAMData indexes (see battle/objects/oam.asm)
const_def
const BATTLEANIMOAMSET_00
const BATTLEANIMOAMSET_01
@@ -702,6 +707,7 @@
const BATTLEANIMOAMSET_D6
const BATTLEANIMOAMSET_D7
+; BattleBGEffects indexes (see battle/bg_effects.asm)
const_value SET 1
const ANIM_BG_FLASH_INVERTED
const ANIM_BG_FLASH_WHITE
@@ -757,17 +763,19 @@
const ANIM_BG_WOBBLE_MON
const ANIM_BG_35
+; PokeAnims indexes (see gfx/pics/animation.asm)
const_def
- const ANIM_MON_SLOW ; 0
- const ANIM_MON_NORMAL ; 1
- const ANIM_MON_MENU ; 2
- const ANIM_MON_TRADE ; 3
- const ANIM_MON_EVOLVE ; 4
- const ANIM_MON_HATCH ; 5
- const ANIM_MON_UNUSED ; 6
- const ANIM_MON_EGG1 ; 7
- const ANIM_MON_EGG2 ; 8
+ const ANIM_MON_SLOW
+ const ANIM_MON_NORMAL
+ const ANIM_MON_MENU
+ const ANIM_MON_TRADE
+ const ANIM_MON_EVOLVE
+ const ANIM_MON_HATCH
+ const ANIM_MON_UNUSED
+ const ANIM_MON_EGG1
+ const ANIM_MON_EGG2
+; AnimObjGFX indexes (see battle/objects/gfx_headers.asm)
const_value SET 1
const ANIM_GFX_HIT
const ANIM_GFX_CUT
@@ -809,6 +817,7 @@
const ANIM_GFX_WAVE
const ANIM_GFX_AEROBLAST
+; battle_bg_effect struct members (see macros/wram.asm)
const_def
const BG_EFFECT_STRUCT_FUNCTION
const BG_EFFECT_STRUCT_JT_INDEX
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -1,5 +1,3 @@
-
-
; pitch
const_def
const __
@@ -40,7 +38,6 @@
SOUND_REST EQU 5
; Flags2
-
SOUND_VIBRATO EQU 0
SOUND_PITCH_WHEEL EQU 1
SOUND_DUTY EQU 2
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -1,12 +1,20 @@
+; significant level values
MAX_LEVEL EQU 100
MIN_LEVEL EQU 2
EGG_LEVEL EQU 5
+
+; maximum moves known per mon
NUM_MOVES EQU 4
-REST_TURNS EQU 2
-MAX_STAT_LEVEL EQU 13
+; significant stat values
BASE_STAT_LEVEL EQU 7
+MAX_STAT_LEVEL EQU 13
+; turns that Rest sleep lasts
+REST_TURNS EQU 2
+
+; PlayerStatLevels and EnemyStatLevels indexes
+; used for GetStatName
const_def
const ATTACK
const DEFENSE
@@ -15,10 +23,10 @@
const SP_DEFENSE
const ACCURACY
const EVASION
- const ABILITY
+ const ABILITY ; used for BattleCommand_Curse
NUM_LEVEL_STATS EQU const_value
-; move struct
+; move struct members (see battle/moves/moves.asm)
const_def
const MOVE_ANIM
const MOVE_EFFECT
@@ -30,6 +38,9 @@
const MOVE_LENGTH
; stat constants
+; indexes for:
+; - PlayerStats and EnemyStats (see wram.asm)
+; - party_struct and battle_struct members (see macros/wram.asm)
const_value SET 1
const STAT_HP
const STAT_ATK
@@ -38,6 +49,8 @@
const STAT_SATK
const STAT_SDEF
NUM_STATS EQU const_value
+
+; stat formula constants
STAT_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10
@@ -45,12 +58,12 @@
ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA
-; battle classes
+; battle classes (wBattleMode values)
const_value SET 1
const WILD_BATTLE
const TRAINER_BATTLE
-; battle types
+; battle types (BattleType values)
const_def
const BATTLETYPE_NORMAL
const BATTLETYPE_CANLOSE
@@ -66,7 +79,7 @@
const BATTLETYPE_CELEBI
const BATTLETYPE_SUICUNE
-; battle variables
+; GetBattleVar and GetBattleVarAddr arguments (see home/battle.asm)
const_def
const BATTLE_VARS_SUBSTATUS1
const BATTLE_VARS_SUBSTATUS2
@@ -90,8 +103,37 @@
const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP
-; status
-SLP EQU 7 ; 0-7 turns
+; GetBattleVar and GetBattleVarAddr internal indexes (see home/battle.asm)
+ const_def
+ const PLAYER_SUBSTATUS_1
+ const ENEMY_SUBSTATUS_1
+ const PLAYER_SUBSTATUS_2
+ const ENEMY_SUBSTATUS_2
+ const PLAYER_SUBSTATUS_3
+ const ENEMY_SUBSTATUS_3
+ const PLAYER_SUBSTATUS_4
+ const ENEMY_SUBSTATUS_4
+ const PLAYER_SUBSTATUS_5
+ const ENEMY_SUBSTATUS_5
+ const PLAYER_STATUS
+ const ENEMY_STATUS
+ const PLAYER_MOVE_ANIMATION
+ const ENEMY_MOVE_ANIMATION
+ const PLAYER_MOVE_EFFECT
+ const ENEMY_MOVE_EFFECT
+ const PLAYER_MOVE_POWER
+ const ENEMY_MOVE_POWER
+ const PLAYER_MOVE_TYPE
+ const ENEMY_MOVE_TYPE
+ const PLAYER_CUR_MOVE
+ const ENEMY_CUR_MOVE
+ const PLAYER_COUNTER_MOVE
+ const ENEMY_COUNTER_MOVE
+ const PLAYER_LAST_MOVE
+ const ENEMY_LAST_MOVE
+
+; status condition bit flags
+SLP EQU %111 ; 0-7 turns
const_value SET 3
const PSN
const BRN
@@ -100,7 +142,7 @@
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
-; substatus
+; PlayerSubStatus1 or EnemySubStatus1 bit flags
enum_start 7, -1
enum SUBSTATUS_IN_LOVE
enum SUBSTATUS_ROLLOUT
@@ -111,8 +153,10 @@
enum SUBSTATUS_CURSE
enum SUBSTATUS_NIGHTMARE
-SUBSTATUS_CURLED EQU 0
+; PlayerSubStatus2 or EnemySubStatus2 bit flags
+SUBSTATUS_CURLED EQU 0
+; PlayerSubStatus3 or EnemySubStatus3 bit flags
enum_start 7, -1
enum SUBSTATUS_CONFUSED
enum SUBSTATUS_FLYING
@@ -123,6 +167,7 @@
enum SUBSTATUS_RAMPAGE
enum SUBSTATUS_BIDE
+; PlayerSubStatus4 or EnemySubStatus4 bit flags
enum_start 7, -1
enum SUBSTATUS_LEECH_SEED
enum SUBSTATUS_RAGE
@@ -133,6 +178,7 @@
enum SUBSTATUS_MIST
enum SUBSTATUS_X_ACCURACY
+; PlayerSubStatus5 or EnemySubStatus5 bit flags
enum_start 7, -1
enum SUBSTATUS_CANT_RUN
enum SUBSTATUS_DESTINY_BOND
@@ -143,7 +189,7 @@
enum SUBSTATUS_UNKNOWN_3
enum SUBSTATUS_TOXIC
-; environmental
+; PlayerScreens or EnemyScreens bit flags
enum_start 4, -1
enum SCREENS_REFLECT
enum SCREENS_LIGHT_SCREEN
@@ -151,7 +197,7 @@
enum SCREENS_UNUSED
enum SCREENS_SPIKES
-; weather
+; Weather values
const_def
const WEATHER_NONE
const WEATHER_RAIN
@@ -161,8 +207,7 @@
const WEATHER_SUN_END
const WEATHER_SANDSTORM_END
-
-; move effects
+; MoveEffectsPointers indexes (see battle/moves/move_effects_pointers.asm)
const_def
const EFFECT_NORMAL_HIT
const EFFECT_SLEEP
@@ -322,35 +367,6 @@
const EFFECT_FLY
const EFFECT_DEFENSE_CURL
-; Battle vars used in home/battle.asm
- const_def
- const PLAYER_SUBSTATUS_1
- const ENEMY_SUBSTATUS_1
- const PLAYER_SUBSTATUS_2
- const ENEMY_SUBSTATUS_2
- const PLAYER_SUBSTATUS_3
- const ENEMY_SUBSTATUS_3
- const PLAYER_SUBSTATUS_4
- const ENEMY_SUBSTATUS_4
- const PLAYER_SUBSTATUS_5
- const ENEMY_SUBSTATUS_5
- const PLAYER_STATUS
- const ENEMY_STATUS
- const PLAYER_MOVE_ANIMATION
- const ENEMY_MOVE_ANIMATION
- const PLAYER_MOVE_EFFECT
- const ENEMY_MOVE_EFFECT
- const PLAYER_MOVE_POWER
- const ENEMY_MOVE_POWER
- const PLAYER_MOVE_TYPE
- const ENEMY_MOVE_TYPE
- const PLAYER_CUR_MOVE
- const ENEMY_CUR_MOVE
- const PLAYER_COUNTER_MOVE
- const ENEMY_COUNTER_MOVE
- const PLAYER_LAST_MOVE
- const ENEMY_LAST_MOVE
-
; wBattleAction
const_def
const BATTLEACTION_MOVE1
@@ -370,6 +386,7 @@
const BATTLEACTION_E
const BATTLEACTION_FORFEIT
+; wBattleResult
const_def
const WIN
const LOSE
--- a/constants/battle_tower_constants.asm
+++ b/constants/battle_tower_constants.asm
@@ -1,3 +1,4 @@
+; BattleTowerAction arguments (see misc/battle_tower_5c.asm)
const_def
const BATTLETOWERACTION_CHECK_EXPLANATION_READ
const BATTLETOWERACTION_SET_EXPLANATION_READ
@@ -32,8 +33,19 @@
const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS
-BATTLETOWER_NO_CHALLENGE EQU 0
-BATTLETOWER_SAVED_AND_LEFT EQU 1
-BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2
-BATTLETOWER_WON_CHALLENGE EQU 3
-BATTLETOWER_RECEIVED_REWARD EQU 4
+; sBattleTowerChallengeState
+ const_def
+ const BATTLETOWER_NO_CHALLENGE
+ const BATTLETOWER_SAVED_AND_LEFT
+ const BATTLETOWER_CHALLENGE_IN_PROGESS
+ const BATTLETOWER_WON_CHALLENGE
+ const BATTLETOWER_RECEIVED_REWARD
+
+BATTLETOWER_NROFPKMNS EQU 3
+BATTLETOWER_TRAINERDATALENGTH EQU $24
+BATTLETOWER_NROFTRAINERS EQU 7
+BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
+BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
+
+; return value from BattleTowerAction(BATTLETOWERACTION_CHECKMOBILEEVENT)
+MOBILE_EVENT_OBJECT_GS_BALL EQU $b
--- a/constants/cgb_constants.asm
+++ b/constants/cgb_constants.asm
@@ -1,3 +1,4 @@
+; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm)
const_def
const SCGB_BATTLE_GRAYSCALE
const SCGB_BATTLE_COLORS
--- a/constants/cry_constants.asm
+++ b/constants/cry_constants.asm
@@ -1,3 +1,4 @@
+; Cries indexes (see audio/cry_pointers.asm)
const_def
; gen 1
--- a/constants/deco_constants.asm
+++ b/constants/deco_constants.asm
@@ -1,3 +1,4 @@
+; decoration types
const_value = 1
const DECO_PLANT
const DECO_BED
@@ -6,6 +7,7 @@
const DECO_DOLL
const DECO_BIGDOLL
+; DecorationNames indexes (see engine/decorations.asm)
const_value = 1
const PUT_IT_AWAY
const MAGNAPLANT
@@ -33,6 +35,7 @@
const YELLOW_CARPET
const GREEN_CARPET
+; DoDecorationAction2 arguments (see engine/decorations.asm)
const_value = 1
const SET_UP_BED
const PUT_AWAY_BED
@@ -56,66 +59,67 @@
enum DECOFLAG_\1
endm
+; decorations
const_value = 1
__enum__ = 0
const BEDS
- deco FEATHERY_BED ; 2 (0)
- deco PINK_BED ; 3 (1)
- deco POLKADOT_BED ; 4 (2)
- deco PIKACHU_BED ; 5 (3)
+ deco FEATHERY_BED
+ deco PINK_BED
+ deco POLKADOT_BED
+ deco PIKACHU_BED
const CARPETS
- deco RED_CARPET ; 7 (4)
- deco BLUE_CARPET ; 8 (5)
- deco YELLOW_CARPET ; 9 (6)
- deco GREEN_CARPET ; a (7)
+ deco RED_CARPET
+ deco BLUE_CARPET
+ deco YELLOW_CARPET
+ deco GREEN_CARPET
const PLANTS
- deco MAGNAPLANT ; c (8)
- deco TROPICPLANT ; d (9)
- deco JUMBOPLANT ; e (a)
+ deco MAGNAPLANT
+ deco TROPICPLANT
+ deco JUMBOPLANT
const POSTERS
- deco TOWN_MAP ; 10 (b)
- deco PIKACHU_POSTER ; 11 (c)
- deco CLEFAIRY_POSTER ; 12 (d)
- deco JIGGLYPUFF_POSTER ; 13(e)
+ deco TOWN_MAP
+ deco PIKACHU_POSTER
+ deco CLEFAIRY_POSTER
+ deco JIGGLYPUFF_POSTER
const CONSOLES
- deco FAMICOM ; 15 (f)
- deco SNES ; 16 (10)
- deco N64 ; 17 (11)
- deco VIRTUAL_BOY ; 18 (12)
+ deco FAMICOM
+ deco SNES
+ deco N64
+ deco VIRTUAL_BOY
const BIG_DOLLS
- deco BIG_SNORLAX_DOLL ; 1a (13)
- deco BIG_ONIX_DOLL ; 1b (14)
- deco BIG_LAPRAS_DOLL ; 1c (15)
+ deco BIG_SNORLAX_DOLL
+ deco BIG_ONIX_DOLL
+ deco BIG_LAPRAS_DOLL
const DOLLS
- deco PIKACHU_DOLL ; 1e (16)
- deco SURF_PIKACHU_DOLL ; 1f (17)
- deco CLEFAIRY_DOLL ; 20 (18)
- deco JIGGLYPUFF_DOLL ; 21 (19)
- deco BULBASAUR_DOLL ; 22 (1a)
- deco CHARMANDER_DOLL ; 23 (1b)
- deco SQUIRTLE_DOLL ; 24 (1c)
- deco POLIWAG_DOLL ; 25 (1d)
- deco DIGLETT_DOLL ; 26 (1e)
- deco STARMIE_DOLL ; 27 (1f)
- deco MAGIKARP_DOLL ; 28 (20)
- deco ODDISH_DOLL ; 29 (21)
- deco GENGAR_DOLL ; 2a (22)
- deco SHELLDER_DOLL ; 2b (23)
- deco GRIMER_DOLL ; 2c (24)
- deco VOLTORB_DOLL ; 2d (25)
- deco WEEDLE_DOLL ; 2e (26)
- deco UNOWN_DOLL ; 2f (27)
- deco GEODUDE_DOLL ; 30 (28)
- deco MACHOP_DOLL ; 31 (29)
- deco TENTACOOL_DOLL ; 32 (2a)
- deco GOLD_TROPHY_DOLL ; 33 (2b)
- deco SILVER_TROPHY_DOLL ; 34 (2c)
+ deco PIKACHU_DOLL
+ deco SURF_PIKACHU_DOLL
+ deco CLEFAIRY_DOLL
+ deco JIGGLYPUFF_DOLL
+ deco BULBASAUR_DOLL
+ deco CHARMANDER_DOLL
+ deco SQUIRTLE_DOLL
+ deco POLIWAG_DOLL
+ deco DIGLETT_DOLL
+ deco STARMIE_DOLL
+ deco MAGIKARP_DOLL
+ deco ODDISH_DOLL
+ deco GENGAR_DOLL
+ deco SHELLDER_DOLL
+ deco GRIMER_DOLL
+ deco VOLTORB_DOLL
+ deco WEEDLE_DOLL
+ deco UNOWN_DOLL
+ deco GEODUDE_DOLL
+ deco MACHOP_DOLL
+ deco TENTACOOL_DOLL
+ deco GOLD_TROPHY_DOLL
+ deco SILVER_TROPHY_DOLL
-NUM_NON_TROPHY_DECOS EQU $2b
-NUM_DECOS EQU $2d
+NUM_DECOS = __enum__
+NUM_NON_TROPHY_DECOS = NUM_DECOS +- 2
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -1,16 +1,22 @@
+; EngineFlags indexes (see engine/engine_flasg.asm)
const_def
-
+; wPokegearFlags
const ENGINE_RADIO_CARD
const ENGINE_MAP_CARD
const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR
+; wDaycareMan
const ENGINE_DAYCARE_MAN_HAS_EGG
const ENGINE_DAYCARE_MAN_HAS_MON
+; wDaycareLady
const ENGINE_DAYCARE_LADY_HAS_MON
+; wMomSavingMoney
const ENGINE_MOM_SAVING_MONEY
const ENGINE_DST
+; wUnusedTwoDayTimerOn
const ENGINE_0A
+; StatusFlags
const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX
const ENGINE_POKERUS
@@ -17,6 +23,7 @@
const ENGINE_ROCKET_SIGNAL_ON_CH20
const ENGINE_CREDITS_SKIP
const ENGINE_BUG_CONTEST_ON ; 10
+; StatusFlags2
const ENGINE_BUG_CONTEST_TIMER
const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER
@@ -24,9 +31,11 @@
const ENGINE_GIVE_POKERUS
const ENGINE_FLORIA
const ENGINE_ROCKETS_IN_MAHOGANY
+; BikeFlags
const ENGINE_STRENGTH_ACTIVE
const ENGINE_ALWAYS_ON_BIKE
const ENGINE_DOWNHILL
+; JohtoBadges
const ENGINE_ZEPHYRBADGE
const ENGINE_HIVEBADGE
const ENGINE_PLAINBADGE
@@ -35,6 +44,7 @@
const ENGINE_STORMBADGE ; 20
const ENGINE_GLACIERBADGE
const ENGINE_RISINGBADGE
+; KantoBadges
const ENGINE_BOULDERBADGE
const ENGINE_CASCADEBADGE
const ENGINE_THUNDERBADGE
@@ -43,6 +53,7 @@
const ENGINE_MARSHBADGE
const ENGINE_VOLCANOBADGE
const ENGINE_EARTHBADGE
+; UnlockedUnowns
const ENGINE_UNLOCKED_UNOWNS_1
const ENGINE_UNLOCKED_UNOWNS_2
const ENGINE_UNLOCKED_UNOWNS_3
@@ -51,6 +62,7 @@
const ENGINE_UNLOCKED_UNOWNS_6 ; 30
const ENGINE_UNLOCKED_UNOWNS_7
const ENGINE_UNLOCKED_UNOWNS_8
+; VisitedSpawns
const ENGINE_FLYPOINT_KRISS_HOUSE
const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
const ENGINE_FLYPOINT_PALLET
@@ -78,8 +90,11 @@
const ENGINE_FLYPOINT_BLACKTHORN
const ENGINE_FLYPOINT_SILVER_CAVE
const ENGINE_FLYPOINT_UNUSED
+; wLuckyNumberShowFlag
const ENGINE_LUCKY_NUMBER_SHOW
+; StatusFlags2
const ENGINE_4F
+; DailyFlags
const ENGINE_KURT_MAKING_BALLS ; 50
const ENGINE_DAILY_BUG_CONTEST
const ENGINE_SPECIAL_WILDDATA
@@ -88,6 +103,7 @@
const ENGINE_SHUCKLE_GIVEN
const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
+; WeeklyFlags
const ENGINE_MT_MOON_SQUARE_CLEFAIRY
const ENGINE_UNION_CAVE_LAPRAS
const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
@@ -96,11 +112,16 @@
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
const ENGINE_DAILY_MOVE_TUTOR
const ENGINE_BUENAS_PASSWORD
+; SwarmFlags
const ENGINE_BUENAS_PASSWORD_2 ; 60
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+; GameTimerPause
const ENGINE_62
+; PlayerGender
const ENGINE_PLAYER_IS_FEMALE
+; wCelebiEvent
const ENGINE_HAVE_EXAMINED_GS_BALL
+; wDailyRematchFlags
const ENGINE_JACK
const ENGINE_HUEY
const ENGINE_GAVEN
@@ -125,6 +146,7 @@
const ENGINE_WILTON
const ENGINE_PARRY
const ENGINE_ERIN
+; wDailyPhoneItemFlags
const ENGINE_BEVERLY_HAS_NUGGET
const ENGINE_JOSE_HAS_STAR_PIECE
const ENGINE_WADE_HAS_ITEM
@@ -135,6 +157,7 @@
const ENGINE_TULLY_HAS_WATER_STONE
const ENGINE_TIFFANY_HAS_PINK_BOW
const ENGINE_WILTON_HAS_ITEM
+; wDailyPhoneTimeOfDayFlags
const ENGINE_JACK_MONDAY_MORNING
const ENGINE_HUEY_WEDNESDAY_NIGHT
const ENGINE_GAVEN_THURSDAY_MORNING
@@ -159,7 +182,9 @@
const ENGINE_WILTON_THRUSDAY_MORNING
const ENGINE_PARRY_FRIDAY_AFTERNOON
const ENGINE_ERIN_SATURDAY_NIGHT
+; wPlayerSpriteSetupFlags
const ENGINE_KRIS_IN_CABLE_CLUB
+; SwarmFlags
const ENGINE_DUNSPARCE_SWARM ; a0
const ENGINE_YANMA_SWARM
NUM_ENGINE_FLAGS EQU const_value
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -1,7 +1,6 @@
-
+; EventFlags bit flags
const_def
-
-; These first eight flags are reset upon reloading the map.
+; The first eight flags are reset upon reloading the map
const EVENT_GAVE_KURT_APRICORNS ; 000
const EVENT_RECEIVED_BALLS_FROM_KURT
const EVENT_DRAGON_SHRINE_QUESTION_2
@@ -10,7 +9,7 @@
const EVENT_DRAGON_SHRINE_QUESTION_5
const EVENT_JUST_RECEIVED_DRATINI
const EVENT_IN_YOUR_ROOM
-; Johto story events
+; Johto Gym Leader TM gifts
const EVENT_GOT_TM31_MUD_SLAP
const EVENT_GOT_TM49_FURY_CUTTER
const EVENT_GOT_TM01_DYNAMICPUNCH
@@ -19,6 +18,7 @@
const EVENT_GOT_TM23_IRON_TAIL
const EVENT_GOT_TM16_ICY_WIND
const EVENT_GOT_TM24_DRAGONBREATH
+; HMs (EVENT_GOT_HM07_WATERFALL is with the Johto itemballs)
const EVENT_GOT_HM01_CUT
const EVENT_GOT_HM02_FLY
const EVENT_GOT_HM03_SURF
@@ -26,9 +26,11 @@
const EVENT_GOT_HM05_FLASH
const EVENT_GOT_HM06_WHIRLPOOL
const EVENT_016
+; Rods
const EVENT_GOT_OLD_ROD
const EVENT_GOT_GOOD_ROD
const EVENT_GOT_SUPER_ROD
+; Johto story events
const EVENT_GOT_A_POKEMON_FROM_ELM
const EVENT_GOT_CYNDAQUIL_FROM_ELM
const EVENT_GOT_TOTODILE_FROM_ELM
@@ -128,7 +130,7 @@
const EVENT_GOT_TM12_SWEET_SCENT
const EVENT_RELEASED_THE_BEASTS
const EVENT_GOT_MASTER_BALL_FROM_ELM
-; Johto Signpost Items
+; Johto signpost items
const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
@@ -234,7 +236,7 @@
const EVENT_TALKED_TO_OAK_IN_KANTO
const EVENT_GOT_HP_UP_FROM_VERMILION_GUY
const EVENT_GOT_TM29_PSYCHIC
-; Kanto Signpost Items
+; Kanto signpost items
const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
@@ -608,7 +610,7 @@
const EVENT_255
const EVENT_256
const EVENT_257
-; Kurt events
+; Kurt Apricorn events
const EVENT_GAVE_KURT_RED_APRICORN
const EVENT_GAVE_KURT_BLU_APRICORN
const EVENT_GAVE_KURT_YLW_APRICORN
@@ -682,7 +684,7 @@
const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
const EVENT_29F
-; Ruins Of Alph puzzles
+; Ruins of Alph puzzles
const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0
const EVENT_SOLVED_KABUTO_PUZZLE
const EVENT_SOLVED_OMANYTE_PUZZLE
@@ -734,7 +736,7 @@
const EVENT_DECO_BIG_SNORLAX_DOLL
const EVENT_DECO_BIG_ONIX_DOLL ; 2d0
const EVENT_DECO_BIG_LAPRAS_DOLL
-; More Johto events
+; More Johto story events
const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
const EVENT_SWITCH_1
const EVENT_SWITCH_2
@@ -818,7 +820,7 @@
const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
-; More Crystal-specific events
+; More Crystal-exclusive events in Johto
const EVENT_LISTENED_TO_INITIAL_RADIO
const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@@ -1015,7 +1017,7 @@
const EVENT_3E5
const EVENT_3E6
const EVENT_3E7
-; Trainer Flags
+; Trainer flags
; Swimmer F
const EVENT_BEAT_SWIMMERF_ELAINE
const EVENT_BEAT_SWIMMERF_PAULA
@@ -1530,7 +1532,7 @@
const EVENT_BEAT_ELITE_4_BRUNO
const EVENT_BEAT_ELITE_4_KAREN
const EVENT_BEAT_CHAMPION_LANCE
-; New to Crystal
+; Crystal-exclusive trainer flags
const EVENT_BEAT_COOLTRAINERM_DARIN
const EVENT_BEAT_COOLTRAINERF_CARA
const EVENT_BEAT_TWINS_LEA_AND_PIA
@@ -1663,10 +1665,11 @@
const EVENT_63D
const EVENT_63E
const EVENT_63F
-; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
+; Sprite visibility flags
+; When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility.
; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded.
-; Johto items: 0x640
+; Johto itemballs
const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
@@ -1986,6 +1989,7 @@
const EVENT_MT_MOON_RIVAL
const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
const EVENT_TELEPORT_GUY
+; Kanto itemballs
const EVENT_PICKED_UP_FOCUS_BAND
const EVENT_ROCK_TUNNEL_1F_ELIXER
const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -1,4 +1,3 @@
LEN_2BPP_TILE EQU 16
LEN_1BPP_TILE EQU 8
TILES_PER_FRAME EQU 6
-TILESIZE EQU $10
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -1,3 +1,9 @@
+; item ids
+; indexes for:
+; - ItemAttributes (see items/item_attributes.asm)
+; - ItemDescriptions (see items/item_descriptions.asm)
+; - ItemEffects (see items/item_effects.asm)
+; - ItemNames (see items/item_names.asm)
const_def
const NO_ITEM ; $00
const MASTER_BALL ; $01
@@ -243,7 +249,7 @@
add_tm FIRE_PUNCH ; $F0
add_tm FURY_CUTTER ; $F1
add_tm NIGHTMARE ; $F2
-NUM_TMS = const_value - TM01 - 2
+NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC
add_hm CUT ; $F3
add_hm FLY ; $F4
@@ -253,27 +259,36 @@
add_hm WHIRLPOOL ; $F8
add_hm WATERFALL ; $F9
NUM_HMS = const_value - HM01
- const HM_08 ; $FA
+ const ITEM_FA ; $FA
add_mt FLAMETHROWER
add_mt THUNDERBOLT
add_mt ICE_BEAM
-ITEM_FROM_MEM EQU $ff
+ITEM_FROM_MEM EQU $FF
-
; leftovers from red
-SAFARI_BALL EQU 8 ; MOON_STONE
-MOON_STONE_RED EQU 10 ; BURN_HEAL
-FULL_HEAL_RED EQU 52 ; X_SPEED
-MAIL_MAX_LENGTH EQU $20
+SAFARI_BALL EQU $08 ; MOON_STONE
+MOON_STONE_RED EQU $0A ; BURN_HEAL
+FULL_HEAL_RED EQU $34 ; X_SPEED
-; pockets
+MAIL_MSG_LENGTH EQU $20
+MAILBOX_CAPACITY EQU 10
+MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
+
+; pack pockets
ITEM EQU 1
KEY_ITEM EQU 2
BALL EQU 3
TM_HM EQU 4
+; pack pocket sizes
+MAX_ITEMS EQU 20
+MAX_KEY_ITEMS EQU 25
+MAX_BALLS EQU 12
+MAX_PC_ITEMS EQU 50
+
; item actions
CANT_SELECT EQU 1 << 6
CANT_TOSS EQU 1 << 7
@@ -356,6 +371,7 @@
const HELD_78
const HELD_FOCUS_BAND
+; item_attribute struct members (see items/item_attributes.asm)
const_def
const ITEMATTR_PRICE
const ITEMATTR_PRICE_HI
@@ -366,11 +382,13 @@
const ITEMATTR_HELP
NUM_ITEMATTRS EQU const_value
-ITEMMENU_NOUSE EQU 0
-ITEMMENU_CURRENT EQU 4
-ITEMMENU_PARTY EQU 5
-ITEMMENU_CLOSE EQU 6
+; item menu types
+ITEMMENU_NOUSE EQU 0
+ITEMMENU_CURRENT EQU 4
+ITEMMENU_PARTY EQU 5
+ITEMMENU_CLOSE EQU 6
+; mart types (see engine/mart.asm)
const_def
const MARTTYPE_STANDARD
const MARTTYPE_BITTER
@@ -378,6 +396,7 @@
const MARTTYPE_PHARMACY
const MARTTYPE_ROOFTOP
+; Marts indexes (see items/marts.asm)
const_def
const MART_CHERRYGROVE
const MART_CHERRYGROVE_DEX
@@ -414,7 +433,8 @@
const MART_INDIGO_PLATEAU
const MART_UNDERGROUND
-; PartyMenuActionText
+; PartyMenuActionText values
+; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM
@@ -426,7 +446,7 @@
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile
-
+; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
const_value set $f0
const PARTYMENUTEXT_HEAL_PSN
const PARTYMENUTEXT_HEAL_BRN
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -1,6 +1,7 @@
-
+; Landmarks indexes (see engine/landmarks.asm)
const_def
+; Johto landmarks
const SPECIAL_MAP ; 00
const NEW_BARK_TOWN ; 01
const ROUTE_29 ; 02
@@ -50,7 +51,6 @@
const SILVER_CAVE ; 2e
KANTO_LANDMARK EQU const_value
-
const PALLET_TOWN ; 2f
const ROUTE_1 ; 30
const VIRIDIAN_CITY ; 31
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -5,7 +5,13 @@
MAP_NONE EQU 0
; map group ids
+; `newgroup` indexes are for:
+; - MapGroupPointers (see maps/map_headers.asm)
+; - OutdoorSprites (see engine/overworld.asm)
+; - MapGroupRoofs (see tilesets/roofs.asm)
+; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
const_def
+
newgroup ; 1
mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1
@@ -473,26 +479,42 @@
mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
-; elevator floors
+; map permissions (wPermission)
+const_value SET 1
+ const TOWN
+ const ROUTE
+ const INDOOR
+ const CAVE
+ const PERM_5
+ const GATE
+ const DUNGEON
+; map palettes (wPermission)
const_def
- const _B4F
- const _B3F
- const _B2F
- const _B1F
- const _1F
- const _2F
- const _3F
- const _4F
- const _5F
- const _6F
- const _7F
- const _8F
- const _9F
- const _10F
- const _11F
- const _ROOF
+ const PALETTE_AUTO
+ const PALETTE_DAY
+ const PALETTE_NITE
+ const PALETTE_MORN
+ const PALETTE_DARK
+; fish groups
+ const_def
+ const FISHGROUP_NONE
+ const FISHGROUP_SHORE
+ const FISHGROUP_OCEAN
+ const FISHGROUP_LAKE
+ const FISHGROUP_POND
+ const FISHGROUP_DRATINI
+ const FISHGROUP_QWILFISH_SWARM
+ const FISHGROUP_REMORAID_SWARM
+ const FISHGROUP_GYARADOS
+ const FISHGROUP_DRATINI_2
+ const FISHGROUP_WHIRL_ISLANDS
+ const FISHGROUP_QWILFISH
+ const FISHGROUP_REMORAID
+ const FISHGROUP_QWILFISH_NO_SWARM
+
+
; connection directions
const_def
const EAST_F
@@ -500,6 +522,7 @@
const SOUTH_F
const NORTH_F
+; MapConnections
const_def
shift_const EAST
shift_const WEST
@@ -506,17 +529,8 @@
shift_const SOUTH
shift_const NORTH
-; permissions
-const_value SET 1
- const TOWN
- const ROUTE
- const INDOOR
- const CAVE
- const PERM_5
- const GATE
- const DUNGEON
-; object struct
+; object_struct members (see macros/wram.asm)
const_def
const OBJECT_SPRITE ; 00
const OBJECT_MAP_OBJECT_INDEX ; 01
@@ -553,7 +567,7 @@
const OBJECT_RANGE ; 20
; 33-39 are not used
-; map object struct
+; map_object struct members (see macros/wram.asm)
const_def
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
const MAPOBJECT_SPRITE ; 1
@@ -576,46 +590,25 @@
MAPOBJECT_SCREEN_HEIGHT EQU 11
MAPOBJECT_SCREEN_WIDTH EQU 12
+; object_struct OBJECT_FACING values
OW_DOWN EQU DOWN << 2
OW_UP EQU UP << 2
OW_LEFT EQU LEFT << 2
OW_RIGHT EQU RIGHT << 2
- const_def
- const EMOTE_SHOCK ; 0
- const EMOTE_QUESTION ; 1
- const EMOTE_HAPPY ; 2
- const EMOTE_SAD ; 3
- const EMOTE_HEART ; 4
- const EMOTE_BOLT ; 5
- const EMOTE_SLEEP ; 6
- const EMOTE_FISH ; 7
- const EMOTE_SHADOW ; 8
- const EMOTE_ROD ; 9
- const EMOTE_BOULDER_DUST ; 10
- const EMOTE_0B ; 11
-EMOTE_MEM EQU -1
+; object_struct OBJECT_FLAGS1 bit flags
+INVISIBLE EQU 0
+FIXED_FACING EQU 2
+SLIDING EQU 3
+EMOTE_OBJECT EQU 7
- const_def
- const SIGNPOST_READ
- const SIGNPOST_UP
- const SIGNPOST_DOWN
- const SIGNPOST_RIGHT
- const SIGNPOST_LEFT
- const SIGNPOST_IFSET
- const SIGNPOST_IFNOTSET
- const SIGNPOST_ITEM
- const SIGNPOST_COPY
-; I'm relocating spawn constants here, so that they can be used anywhere in the disassembly.
-
-
+; SpawnPoints indexes (see engine/spawn_points.asm)
const_value = -1
const SPAWN_N_A
-
const SPAWN_HOME
const SPAWN_DEBUG
-
+; kanto
const SPAWN_PALLET
const SPAWN_VIRIDIAN
const SPAWN_PEWTER
@@ -628,7 +621,7 @@
const SPAWN_FUCHSIA
const SPAWN_CINNABAR
const SPAWN_INDIGO
-
+; johto
const SPAWN_NEW_BARK
const SPAWN_CHERRYGROVE
const SPAWN_VIOLET
@@ -645,18 +638,21 @@
const SPAWN_FAST_SHIP
NUM_SPAWNS EQU const_value
+
+; TryReadSign arguments (see engine/events.asm)
const_def
- const PALETTE_AUTO
- const PALETTE_DAY
- const PALETTE_NITE
- const PALETTE_MORN
- const PALETTE_DARK
+ const SIGNPOST_READ
+ const SIGNPOST_UP
+ const SIGNPOST_DOWN
+ const SIGNPOST_RIGHT
+ const SIGNPOST_LEFT
+ const SIGNPOST_IFSET
+ const SIGNPOST_IFNOTSET
+ const SIGNPOST_ITEM
+ const SIGNPOST_COPY
-INVISIBLE EQU 0
-FIXED_FACING EQU 2
-SLIDING EQU 3
-EMOTE_OBJECT EQU 7
-
+; person_event types
+; TryObjectEvent arguments (see engine/events.asm)
const_def
const PERSONTYPE_SCRIPT
const PERSONTYPE_ITEMBALL
@@ -666,7 +662,24 @@
const PERSONTYPE_5
const PERSONTYPE_6
-; fruit trees
+
+; EmotesPointers indexes (see engine/overworld.asm)
+ const_def
+ const EMOTE_SHOCK ; 0
+ const EMOTE_QUESTION ; 1
+ const EMOTE_HAPPY ; 2
+ const EMOTE_SAD ; 3
+ const EMOTE_HEART ; 4
+ const EMOTE_BOLT ; 5
+ const EMOTE_SLEEP ; 6
+ const EMOTE_FISH ; 7
+ const EMOTE_SHADOW ; 8
+ const EMOTE_ROD ; 9
+ const EMOTE_BOULDER_DUST ; 10
+ const EMOTE_GRASS_RUSTLE ; 11
+EMOTE_MEM EQU -1
+
+; FruitTreeItems indexes (see engine/fruit_trees.asm)
const_value SET 1
const FRUITTREE_ROUTE_29 ; 01
const FRUITTREE_ROUTE_30_1 ; 02
@@ -700,6 +713,27 @@
const FRUITTREE_FUCHSIA_CITY ; 1e
NUM_FRUIT_TREES EQU const_value +- 1
+; elevator floors
+; used by `elevfloor`
+ const_def
+ const _B4F
+ const _B3F
+ const _B2F
+ const _B1F
+ const _1F
+ const _2F
+ const _3F
+ const _4F
+ const _5F
+ const _6F
+ const _7F
+ const _8F
+ const _9F
+ const _10F
+ const _11F
+ const _ROOF
+
+; command queue members
CMDQUEUE_TYPE EQU 0
CMDQUEUE_ADDR EQU 1
CMDQUEUE_03 EQU 3
@@ -708,4 +742,9 @@
CMDQUEUE_ENTRY_SIZE EQU 6
CMDQUEUE_CAPACITY EQU 4
+; command queue types
CMDQUEUE_STONETABLE EQU 2
+
+; see engine/overworld.asm
+MAX_OUTDOOR_SPRITES EQU 23
+SPRITE_GFX_LIST_CAPACITY EQU $20
--- a/constants/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -1,3 +1,5 @@
+; hMapEntryMethod values
+; MapSetupScripts indexes (see engine/map_setup.asm)
const_value SET $f1
const MAPSETUP_WARP
const MAPSETUP_CONTINUE
@@ -12,6 +14,7 @@
const MAPSETUP_BADWARP
const MAPSETUP_FLY
+; callback types
const_value SET 1
const MAPCALLBACK_TILES
const MAPCALLBACK_OBJECTS
@@ -19,9 +22,10 @@
const MAPCALLBACK_SPRITES
const MAPCALLBACK_NEWMAP
-; Command descriptions from Condensation water's scripting compendium.
+; MapSetupCommands indexes (see engine/map_setup.asm)
+; Names taken from Condensation water's scripting compendium
+; https://hax.iimarck.us/files/scriptingcodes_eng.htm
const_def
-
const map_lcd_on ; 00
const map_lcd_off ; 01
const map_sound_off ; 02
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,21 +1,32 @@
-PARTY_LENGTH EQU 6
+; Boolean checks
+FALSE EQU 0
+TRUE EQU 1
-MAX_ITEMS EQU 20
-MAX_BALLS EQU 12
-MAX_KEY_ITEMS EQU 25
-MAX_PC_ITEMS EQU 50
+; genders
+MALE EQU 0
+FEMALE EQU 1
-; strings
+; FlagAction arguments (see home/flag.asm)
+RESET_FLAG EQU 0
+SET_FLAG EQU 1
+CHECK_FLAG EQU 2
+
+; GetHPPal return values (see home.asm)
+HP_GREEN EQU 0
+HP_YELLOW EQU 1
+HP_RED EQU 2
+
+
+; name lengths
+NAME_LENGTH EQU 11
PLAYER_NAME_LENGTH EQU 8
-BOX_NAME_LENGTH EQU 9
-PKMN_NAME_LENGTH EQU 11
-MOVE_NAME_LENGTH EQU 13
-ITEM_NAME_LENGTH EQU 13
+BOX_NAME_LENGTH EQU 9
+PKMN_NAME_LENGTH EQU 11
+MOVE_NAME_LENGTH EQU 13
+ITEM_NAME_LENGTH EQU 13
TRAINER_CLASS_NAME_LENGTH EQU 13
-NAME_LENGTH EQU 11
-LV_CHAR EQU $6e
-; GetName types
+; GetName types (see home.asm)
PKMN_NAME EQU 1
MOVE_NAME EQU 2
; dummied out EQU 3
@@ -25,20 +36,11 @@
TRAINER_NAME EQU 7
; broken ptr EQU 8
-; hp
-HP_GREEN EQU 0
-HP_YELLOW EQU 1
-HP_RED EQU 2
; boxes
MONS_PER_BOX EQU 20
NUM_BOXES EQU 14
-MAIL_STRUCT_LENGTH EQU $2f
-MAILBOX_CAPACITY EQU 10
-MAIL_MSG_LENGTH EQU $20
-
; hall of fame
HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
@@ -45,15 +47,6 @@
NUM_HOF_TEAMS = 30
-; flag manipulation
-RESET_FLAG EQU 0
-SET_FLAG EQU 1
-CHECK_FLAG EQU 2
-
-; Boolean checks
-FALSE EQU 0
-TRUE EQU 1
-
; joypad
const_def
@@ -82,7 +75,9 @@
R_DPAD EQU %00100000
R_BUTTONS EQU %00010000
+
; screen
+
HP_BAR_LENGTH EQU 6
HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8
EXP_BAR_LENGTH EQU 8
@@ -101,52 +96,8 @@
TILE_WIDTH EQU 8
-; movement
-STEP_SLOW EQU 0
-STEP_WALK EQU 1
-STEP_BIKE EQU 2
-STEP_LEDGE EQU 3
-STEP_ICE EQU 4
-STEP_TURN EQU 5
-STEP_BACK_LEDGE EQU 6
-STEP_WALK_IN_PLACE EQU 7
+; printing text
-
-; ai
-CONTEXT_USE_F EQU 6
-UNKNOWN_USE_F EQU 5
-ALWAYS_USE_F EQU 4
-SWITCH_SOMETIMES_F EQU 2
-SWITCH_RARELY_F EQU 1
-SWITCH_OFTEN_F EQU 0
-
-CONTEXT_USE EQU 1 << CONTEXT_USE_F
-UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
-ALWAYS_USE EQU 1 << ALWAYS_USE_F
-SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
-SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
-SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
-SPRITE_GFX_LIST_CAPACITY EQU $20
-
-const_value = 1
- const MOM_ITEM
- const MOM_DOLL
-
-BATTLETOWER_NROFPKMNS EQU 3
-BATTLETOWER_TRAINERDATALENGTH EQU $24
-BATTLETOWER_NROFTRAINERS EQU 7
-BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
-BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
-
-NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
-WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)
-
-MOBILE_EVENT_OBJECT_GS_BALL EQU $b
-MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
-
-MALE EQU 0
-FEMALE EQU 1
-
PRINTNUM_MONEY_F EQU 5
PRINTNUM_RIGHTALIGN_F EQU 6
PRINTNUM_LEADINGZEROS_F EQU 7
@@ -155,6 +106,20 @@
PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
+
+; movement
+ const_def
+ const STEP_SLOW ; 0
+ const STEP_WALK ; 1
+ const STEP_BIKE ; 2
+ const STEP_LEDGE ; 3
+ const STEP_ICE ; 4
+ const STEP_TURN ; 5
+ const STEP_BACK_LEDGE ; 6
+ const STEP_WALK_IN_PLACE ; 7
+
+
+; ChangeHappiness arguments (see event/happiness_egg.asm)
const_value = 1
const HAPPINESS_GAINLEVEL ; 01
const HAPPINESS_USEDITEM ; 02
@@ -178,45 +143,23 @@
const_def
- const LINK_NULL
- const LINK_TIMECAPSULE
- const LINK_TRADECENTER
- const LINK_COLOSSEUM
- const LINK_MOBILE
+ const LINK_NULL ; 0
+ const LINK_TIMECAPSULE ; 1
+ const LINK_TRADECENTER ; 2
+ const LINK_COLOSSEUM ; 3
+ const LINK_MOBILE ; 4
SERIAL_TIMECAPSULE EQU $60
SERIAL_TRADECENTER EQU $70
SERIAL_BATTLE EQU $80
+
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111
-NUM_MON_SUBMENU_ITEMS EQU 8
+; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm)
const_def
- const ZEPHYRBADGE
- const HIVEBADGE
- const PLAINBADGE
- const FOGBADGE
- const MINERALBADGE
- const STORMBADGE
- const GLACIERBADGE
- const RISINGBADGE
-NUM_JOHTO_BADGES EQU const_value
- const_def
- const BOULDERBADGE
- const CASCADEBADGE
- const THUNDERBADGE
- const RAINBOWBADGE
- const SOULBADGE
- const MARSHBADGE
- const VOLCANOBADGE
- const EARTHBADGE
-NUM_KANTO_BADGES EQU const_value
-NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
-NUM_KANA EQU $2d
-
- const_def
const EZCHAT_POKEMON
const EZCHAT_TYPES
const EZCHAT_GREETINGS
@@ -233,30 +176,6 @@
const EZCHAT_FAREWELLS
const EZCHAT_THISANDTHAT
-SWARM_DUNSPARCE EQU 0
-SWARM_YANMA EQU 1
+NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm)
-FISHSWARM_QWILFISH EQU 1
-FISHSWARM_REMORAID EQU 2
-
- const_def
- const FISHGROUP_NONE
- const FISHGROUP_SHORE
- const FISHGROUP_OCEAN
- const FISHGROUP_LAKE
- const FISHGROUP_POND
- const FISHGROUP_DRATINI
- const FISHGROUP_QWILFISH_SWARM
- const FISHGROUP_REMORAID_SWARM
- const FISHGROUP_GYARADOS
- const FISHGROUP_DRATINI_2
- const FISHGROUP_WHIRL_ISLANDS
- const FISHGROUP_QWILFISH
- const FISHGROUP_REMORAID
- const FISHGROUP_QWILFISH_NO_SWARM
-
-INIT_ENEMYOT_LIST EQU 1
-INIT_BAG_ITEM_LIST EQU 2
-INIT_OTHER_ITEM_LIST EQU 3
-INIT_PLAYEROT_LIST EQU 4
-INIT_MON_LIST EQU 5
+MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
--- a/constants/move_constants.asm
+++ b/constants/move_constants.asm
@@ -1,291 +1,293 @@
-
+; move ids
+; indexes for:
+; - MoveDescriptions (see battle/moves/move_descriptions.asm)
+; - Moves (see battle/moves/moves.asm)
+; - MoveNames (see battle/move_names.asm)
+; - BattleAnimations (see battle/anims.asm)
const_def
- const NO_MOVE ; $00
- const POUND ; $01
- const KARATE_CHOP ; $02
- const DOUBLESLAP ; $03
- const COMET_PUNCH ; $04
- const MEGA_PUNCH ; $05
- const PAY_DAY ; $06
- const FIRE_PUNCH ; $07
- const ICE_PUNCH ; $08
- const THUNDERPUNCH ; $09
- const SCRATCH ; $0a
- const VICEGRIP ; $0b
- const GUILLOTINE ; $0c
- const RAZOR_WIND ; $0d
- const SWORDS_DANCE ; $0e
- const CUT ; $0f
- const GUST ; $10
- const WING_ATTACK ; $11
- const WHIRLWIND ; $12
- const FLY ; $13
- const BIND ; $14
- const SLAM ; $15
- const VINE_WHIP ; $16
- const STOMP ; $17
- const DOUBLE_KICK ; $18
- const MEGA_KICK ; $19
- const JUMP_KICK ; $1a
- const ROLLING_KICK ; $1b
- const SAND_ATTACK ; $1c
- const HEADBUTT ; $1d
- const HORN_ATTACK ; $1e
- const FURY_ATTACK ; $1f
- const HORN_DRILL ; $20
- const TACKLE ; $21
- const BODY_SLAM ; $22
- const WRAP ; $23
- const TAKE_DOWN ; $24
- const THRASH ; $25
- const DOUBLE_EDGE ; $26
- const TAIL_WHIP ; $27
- const POISON_STING ; $28
- const TWINEEDLE ; $29
- const PIN_MISSILE ; $2a
- const LEER ; $2b
- const BITE ; $2c
- const GROWL ; $2d
- const ROAR ; $2e
- const SING ; $2f
- const SUPERSONIC ; $30
- const SONICBOOM ; $31
- const DISABLE ; $32
- const ACID ; $33
- const EMBER ; $34
- const FLAMETHROWER ; $35
- const MIST ; $36
- const WATER_GUN ; $37
- const HYDRO_PUMP ; $38
- const SURF ; $39
- const ICE_BEAM ; $3a
- const BLIZZARD ; $3b
- const PSYBEAM ; $3c
- const BUBBLEBEAM ; $3d
- const AURORA_BEAM ; $3e
- const HYPER_BEAM ; $3f
- const PECK ; $40
- const DRILL_PECK ; $41
- const SUBMISSION ; $42
- const LOW_KICK ; $43
- const COUNTER ; $44
- const SEISMIC_TOSS ; $45
- const STRENGTH ; $46
- const ABSORB ; $47
- const MEGA_DRAIN ; $48
- const LEECH_SEED ; $49
- const GROWTH ; $4a
- const RAZOR_LEAF ; $4b
- const SOLARBEAM ; $4c
- const POISONPOWDER ; $4d
- const STUN_SPORE ; $4e
- const SLEEP_POWDER ; $4f
- const PETAL_DANCE ; $50
- const STRING_SHOT ; $51
- const DRAGON_RAGE ; $52
- const FIRE_SPIN ; $53
- const THUNDERSHOCK ; $54
- const THUNDERBOLT ; $55
- const THUNDER_WAVE ; $56
- const THUNDER ; $57
- const ROCK_THROW ; $58
- const EARTHQUAKE ; $59
- const FISSURE ; $5a
- const DIG ; $5b
- const TOXIC ; $5c
- const CONFUSION ; $5d
- const PSYCHIC_M ; $5e
- const HYPNOSIS ; $5f
- const MEDITATE ; $60
- const AGILITY ; $61
- const QUICK_ATTACK ; $62
- const RAGE ; $63
- const TELEPORT ; $64
- const NIGHT_SHADE ; $65
- const MIMIC ; $66
- const SCREECH ; $67
- const DOUBLE_TEAM ; $68
- const RECOVER ; $69
- const HARDEN ; $6a
- const MINIMIZE ; $6b
- const SMOKESCREEN ; $6c
- const CONFUSE_RAY ; $6d
- const WITHDRAW ; $6e
- const DEFENSE_CURL ; $6f
- const BARRIER ; $70
- const LIGHT_SCREEN ; $71
- const HAZE ; $72
- const REFLECT ; $73
- const FOCUS_ENERGY ; $74
- const BIDE ; $75
- const METRONOME ; $76
- const MIRROR_MOVE ; $77
- const SELFDESTRUCT ; $78
- const EGG_BOMB ; $79
- const LICK ; $7a
- const SMOG ; $7b
- const SLUDGE ; $7c
- const BONE_CLUB ; $7d
- const FIRE_BLAST ; $7e
- const WATERFALL ; $7f
- const CLAMP ; $80
- const SWIFT ; $81
- const SKULL_BASH ; $82
- const SPIKE_CANNON ; $83
- const CONSTRICT ; $84
- const AMNESIA ; $85
- const KINESIS ; $86
- const SOFTBOILED ; $87
- const HI_JUMP_KICK ; $88
- const GLARE ; $89
- const DREAM_EATER ; $8a
- const POISON_GAS ; $8b
- const BARRAGE ; $8c
- const LEECH_LIFE ; $8d
- const LOVELY_KISS ; $8e
- const SKY_ATTACK ; $8f
- const TRANSFORM ; $90
- const BUBBLE ; $91
- const DIZZY_PUNCH ; $92
- const SPORE ; $93
- const FLASH ; $94
- const PSYWAVE ; $95
- const SPLASH ; $96
- const ACID_ARMOR ; $97
- const CRABHAMMER ; $98
- const EXPLOSION ; $99
- const FURY_SWIPES ; $9a
- const BONEMERANG ; $9b
- const REST ; $9c
- const ROCK_SLIDE ; $9d
- const HYPER_FANG ; $9e
- const SHARPEN ; $9f
- const CONVERSION ; $a0
- const TRI_ATTACK ; $a1
- const SUPER_FANG ; $a2
- const SLASH ; $a3
- const SUBSTITUTE ; $a4
- const STRUGGLE ; $a5
- const SKETCH ; $a6
- const TRIPLE_KICK ; $a7
- const THIEF ; $a8
- const SPIDER_WEB ; $a9
- const MIND_READER ; $aa
- const NIGHTMARE ; $ab
- const FLAME_WHEEL ; $ac
- const SNORE ; $ad
- const CURSE ; $ae
- const FLAIL ; $af
- const CONVERSION2 ; $b0
- const AEROBLAST ; $b1
- const COTTON_SPORE ; $b2
- const REVERSAL ; $b3
- const SPITE ; $b4
- const POWDER_SNOW ; $b5
- const PROTECT ; $b6
- const MACH_PUNCH ; $b7
- const SCARY_FACE ; $b8
- const FAINT_ATTACK ; $b9
- const SWEET_KISS ; $ba
- const BELLY_DRUM ; $bb
- const SLUDGE_BOMB ; $bc
- const MUD_SLAP ; $bd
- const OCTAZOOKA ; $be
- const SPIKES ; $bf
- const ZAP_CANNON ; $c0
- const FORESIGHT ; $c1
- const DESTINY_BOND ; $c2
- const PERISH_SONG ; $c3
- const ICY_WIND ; $c4
- const DETECT ; $c5
- const BONE_RUSH ; $c6
- const LOCK_ON ; $c7
- const OUTRAGE ; $c8
- const SANDSTORM ; $c9
- const GIGA_DRAIN ; $ca
- const ENDURE ; $cb
- const CHARM ; $cc
- const ROLLOUT ; $cd
- const FALSE_SWIPE ; $ce
- const SWAGGER ; $cf
- const MILK_DRINK ; $d0
- const SPARK ; $d1
- const FURY_CUTTER ; $d2
- const STEEL_WING ; $d3
- const MEAN_LOOK ; $d4
- const ATTRACT ; $d5
- const SLEEP_TALK ; $d6
- const HEAL_BELL ; $d7
- const RETURN ; $d8
- const PRESENT ; $d9
- const FRUSTRATION ; $da
- const SAFEGUARD ; $db
- const PAIN_SPLIT ; $dc
- const SACRED_FIRE ; $dd
- const MAGNITUDE ; $de
- const DYNAMICPUNCH ; $df
- const MEGAHORN ; $e0
- const DRAGONBREATH ; $e1
- const BATON_PASS ; $e2
- const ENCORE ; $e3
- const PURSUIT ; $e4
- const RAPID_SPIN ; $e5
- const SWEET_SCENT ; $e6
- const IRON_TAIL ; $e7
- const METAL_CLAW ; $e8
- const VITAL_THROW ; $e9
- const MORNING_SUN ; $ea
- const SYNTHESIS ; $eb
- const MOONLIGHT ; $ec
- const HIDDEN_POWER ; $ed
- const CROSS_CHOP ; $ee
- const TWISTER ; $ef
- const RAIN_DANCE ; $f0
- const SUNNY_DAY ; $f1
- const CRUNCH ; $f2
- const MIRROR_COAT ; $f3
- const PSYCH_UP ; $f4
- const EXTREMESPEED ; $f5
- const ANCIENTPOWER ; $f6
- const SHADOW_BALL ; $f7
- const FUTURE_SIGHT ; $f8
- const ROCK_SMASH ; $f9
- const WHIRLPOOL ; $fa
- const BEAT_UP ; $fb
+ const NO_MOVE ; 00
+ const POUND ; 01
+ const KARATE_CHOP ; 02
+ const DOUBLESLAP ; 03
+ const COMET_PUNCH ; 04
+ const MEGA_PUNCH ; 05
+ const PAY_DAY ; 06
+ const FIRE_PUNCH ; 07
+ const ICE_PUNCH ; 08
+ const THUNDERPUNCH ; 09
+ const SCRATCH ; 0a
+ const VICEGRIP ; 0b
+ const GUILLOTINE ; 0c
+ const RAZOR_WIND ; 0d
+ const SWORDS_DANCE ; 0e
+ const CUT ; 0f
+ const GUST ; 10
+ const WING_ATTACK ; 11
+ const WHIRLWIND ; 12
+ const FLY ; 13
+ const BIND ; 14
+ const SLAM ; 15
+ const VINE_WHIP ; 16
+ const STOMP ; 17
+ const DOUBLE_KICK ; 18
+ const MEGA_KICK ; 19
+ const JUMP_KICK ; 1a
+ const ROLLING_KICK ; 1b
+ const SAND_ATTACK ; 1c
+ const HEADBUTT ; 1d
+ const HORN_ATTACK ; 1e
+ const FURY_ATTACK ; 1f
+ const HORN_DRILL ; 20
+ const TACKLE ; 21
+ const BODY_SLAM ; 22
+ const WRAP ; 23
+ const TAKE_DOWN ; 24
+ const THRASH ; 25
+ const DOUBLE_EDGE ; 26
+ const TAIL_WHIP ; 27
+ const POISON_STING ; 28
+ const TWINEEDLE ; 29
+ const PIN_MISSILE ; 2a
+ const LEER ; 2b
+ const BITE ; 2c
+ const GROWL ; 2d
+ const ROAR ; 2e
+ const SING ; 2f
+ const SUPERSONIC ; 30
+ const SONICBOOM ; 31
+ const DISABLE ; 32
+ const ACID ; 33
+ const EMBER ; 34
+ const FLAMETHROWER ; 35
+ const MIST ; 36
+ const WATER_GUN ; 37
+ const HYDRO_PUMP ; 38
+ const SURF ; 39
+ const ICE_BEAM ; 3a
+ const BLIZZARD ; 3b
+ const PSYBEAM ; 3c
+ const BUBBLEBEAM ; 3d
+ const AURORA_BEAM ; 3e
+ const HYPER_BEAM ; 3f
+ const PECK ; 40
+ const DRILL_PECK ; 41
+ const SUBMISSION ; 42
+ const LOW_KICK ; 43
+ const COUNTER ; 44
+ const SEISMIC_TOSS ; 45
+ const STRENGTH ; 46
+ const ABSORB ; 47
+ const MEGA_DRAIN ; 48
+ const LEECH_SEED ; 49
+ const GROWTH ; 4a
+ const RAZOR_LEAF ; 4b
+ const SOLARBEAM ; 4c
+ const POISONPOWDER ; 4d
+ const STUN_SPORE ; 4e
+ const SLEEP_POWDER ; 4f
+ const PETAL_DANCE ; 50
+ const STRING_SHOT ; 51
+ const DRAGON_RAGE ; 52
+ const FIRE_SPIN ; 53
+ const THUNDERSHOCK ; 54
+ const THUNDERBOLT ; 55
+ const THUNDER_WAVE ; 56
+ const THUNDER ; 57
+ const ROCK_THROW ; 58
+ const EARTHQUAKE ; 59
+ const FISSURE ; 5a
+ const DIG ; 5b
+ const TOXIC ; 5c
+ const CONFUSION ; 5d
+ const PSYCHIC_M ; 5e
+ const HYPNOSIS ; 5f
+ const MEDITATE ; 60
+ const AGILITY ; 61
+ const QUICK_ATTACK ; 62
+ const RAGE ; 63
+ const TELEPORT ; 64
+ const NIGHT_SHADE ; 65
+ const MIMIC ; 66
+ const SCREECH ; 67
+ const DOUBLE_TEAM ; 68
+ const RECOVER ; 69
+ const HARDEN ; 6a
+ const MINIMIZE ; 6b
+ const SMOKESCREEN ; 6c
+ const CONFUSE_RAY ; 6d
+ const WITHDRAW ; 6e
+ const DEFENSE_CURL ; 6f
+ const BARRIER ; 70
+ const LIGHT_SCREEN ; 71
+ const HAZE ; 72
+ const REFLECT ; 73
+ const FOCUS_ENERGY ; 74
+ const BIDE ; 75
+ const METRONOME ; 76
+ const MIRROR_MOVE ; 77
+ const SELFDESTRUCT ; 78
+ const EGG_BOMB ; 79
+ const LICK ; 7a
+ const SMOG ; 7b
+ const SLUDGE ; 7c
+ const BONE_CLUB ; 7d
+ const FIRE_BLAST ; 7e
+ const WATERFALL ; 7f
+ const CLAMP ; 80
+ const SWIFT ; 81
+ const SKULL_BASH ; 82
+ const SPIKE_CANNON ; 83
+ const CONSTRICT ; 84
+ const AMNESIA ; 85
+ const KINESIS ; 86
+ const SOFTBOILED ; 87
+ const HI_JUMP_KICK ; 88
+ const GLARE ; 89
+ const DREAM_EATER ; 8a
+ const POISON_GAS ; 8b
+ const BARRAGE ; 8c
+ const LEECH_LIFE ; 8d
+ const LOVELY_KISS ; 8e
+ const SKY_ATTACK ; 8f
+ const TRANSFORM ; 90
+ const BUBBLE ; 91
+ const DIZZY_PUNCH ; 92
+ const SPORE ; 93
+ const FLASH ; 94
+ const PSYWAVE ; 95
+ const SPLASH ; 96
+ const ACID_ARMOR ; 97
+ const CRABHAMMER ; 98
+ const EXPLOSION ; 99
+ const FURY_SWIPES ; 9a
+ const BONEMERANG ; 9b
+ const REST ; 9c
+ const ROCK_SLIDE ; 9d
+ const HYPER_FANG ; 9e
+ const SHARPEN ; 9f
+ const CONVERSION ; a0
+ const TRI_ATTACK ; a1
+ const SUPER_FANG ; a2
+ const SLASH ; a3
+ const SUBSTITUTE ; a4
+ const STRUGGLE ; a5
+ const SKETCH ; a6
+ const TRIPLE_KICK ; a7
+ const THIEF ; a8
+ const SPIDER_WEB ; a9
+ const MIND_READER ; aa
+ const NIGHTMARE ; ab
+ const FLAME_WHEEL ; ac
+ const SNORE ; ad
+ const CURSE ; ae
+ const FLAIL ; af
+ const CONVERSION2 ; b0
+ const AEROBLAST ; b1
+ const COTTON_SPORE ; b2
+ const REVERSAL ; b3
+ const SPITE ; b4
+ const POWDER_SNOW ; b5
+ const PROTECT ; b6
+ const MACH_PUNCH ; b7
+ const SCARY_FACE ; b8
+ const FAINT_ATTACK ; b9
+ const SWEET_KISS ; ba
+ const BELLY_DRUM ; bb
+ const SLUDGE_BOMB ; bc
+ const MUD_SLAP ; bd
+ const OCTAZOOKA ; be
+ const SPIKES ; bf
+ const ZAP_CANNON ; c0
+ const FORESIGHT ; c1
+ const DESTINY_BOND ; c2
+ const PERISH_SONG ; c3
+ const ICY_WIND ; c4
+ const DETECT ; c5
+ const BONE_RUSH ; c6
+ const LOCK_ON ; c7
+ const OUTRAGE ; c8
+ const SANDSTORM ; c9
+ const GIGA_DRAIN ; ca
+ const ENDURE ; cb
+ const CHARM ; cc
+ const ROLLOUT ; cd
+ const FALSE_SWIPE ; ce
+ const SWAGGER ; cf
+ const MILK_DRINK ; d0
+ const SPARK ; d1
+ const FURY_CUTTER ; d2
+ const STEEL_WING ; d3
+ const MEAN_LOOK ; d4
+ const ATTRACT ; d5
+ const SLEEP_TALK ; d6
+ const HEAL_BELL ; d7
+ const RETURN ; d8
+ const PRESENT ; d9
+ const FRUSTRATION ; da
+ const SAFEGUARD ; db
+ const PAIN_SPLIT ; dc
+ const SACRED_FIRE ; dd
+ const MAGNITUDE ; de
+ const DYNAMICPUNCH ; df
+ const MEGAHORN ; e0
+ const DRAGONBREATH ; e1
+ const BATON_PASS ; e2
+ const ENCORE ; e3
+ const PURSUIT ; e4
+ const RAPID_SPIN ; e5
+ const SWEET_SCENT ; e6
+ const IRON_TAIL ; e7
+ const METAL_CLAW ; e8
+ const VITAL_THROW ; e9
+ const MORNING_SUN ; ea
+ const SYNTHESIS ; eb
+ const MOONLIGHT ; ec
+ const HIDDEN_POWER ; ed
+ const CROSS_CHOP ; ee
+ const TWISTER ; ef
+ const RAIN_DANCE ; f0
+ const SUNNY_DAY ; f1
+ const CRUNCH ; f2
+ const MIRROR_COAT ; f3
+ const PSYCH_UP ; f4
+ const EXTREMESPEED ; f5
+ const ANCIENTPOWER ; f6
+ const SHADOW_BALL ; f7
+ const FUTURE_SIGHT ; f8
+ const ROCK_SMASH ; f9
+ const WHIRLPOOL ; fa
+ const BEAT_UP ; fb
+NUM_ATTACKS EQU const_value + -1
-const_value SET const_value + -1
+ const MOVE_OR_ANIM_FC ; fc
+ const MOVE_OR_ANIM_FD ; fd
+ const MOVE_OR_ANIM_FE ; fe
- const NUM_ATTACKS ; $fb
-
-; Battle animations use the same constants
-; as the moves up to this point.
- const ANIM_FC ; $fc
- const ANIM_FD ; $fd
- const ANIM_FE ; $fe
- const ANIM_SWEET_SCENT_2 ; $ff
- const ANIM_THROW_POKE_BALL ; $100
- const ANIM_SEND_OUT_MON ; $101
- const ANIM_RETURN_MON ; $102
- const ANIM_CONFUSED ; $103
- const ANIM_SLP ; $104
- const ANIM_BRN ; $105
- const ANIM_PSN ; $106
- const ANIM_SAP ; $107
- const ANIM_FRZ ; $108
- const ANIM_PAR ; $109
- const ANIM_IN_LOVE ; $10a
- const ANIM_IN_SANDSTORM ; $10b
- const ANIM_IN_NIGHTMARE ; $10c
- const ANIM_IN_WHIRLPOOL ; $10d
+; Battle animations use the same constants as the moves up to this point
+ const ANIM_SWEET_SCENT_2 ; ff
+ const ANIM_THROW_POKE_BALL ; 100
+ const ANIM_SEND_OUT_MON ; 101
+ const ANIM_RETURN_MON ; 102
+ const ANIM_CONFUSED ; 103
+ const ANIM_SLP ; 104
+ const ANIM_BRN ; 105
+ const ANIM_PSN ; 106
+ const ANIM_SAP ; 107
+ const ANIM_FRZ ; 108
+ const ANIM_PAR ; 109
+ const ANIM_IN_LOVE ; 10a
+ const ANIM_IN_SANDSTORM ; 10b
+ const ANIM_IN_NIGHTMARE ; 10c
+ const ANIM_IN_WHIRLPOOL ; 10d
; battle anims
- const ANIM_MISS ; $10e
- const ANIM_ENEMY_DAMAGE ; $10f
- const ANIM_ENEMY_STAT_DOWN ; $110
- const ANIM_PLAYER_STAT_DOWN ; $111
- const ANIM_PLAYER_DAMAGE ; $112
- const ANIM_WOBBLE ; $113
- const ANIM_SHAKE ; $114
- const ANIM_HIT_CONFUSION ; $115
+ const ANIM_MISS ; 10e
+ const ANIM_ENEMY_DAMAGE ; 10f
+ const ANIM_ENEMY_STAT_DOWN ; 110
+ const ANIM_PLAYER_STAT_DOWN ; 111
+ const ANIM_PLAYER_DAMAGE ; 112
+ const ANIM_WOBBLE ; 113
+ const ANIM_SHAKE ; 114
+ const ANIM_HIT_CONFUSION ; 115
; wNumHits uses offsets from ANIM_MISS
const_def
@@ -296,4 +298,4 @@
const BATTLEANIM_PLAYER_DAMAGE
const BATTLEANIM_WOBBLE
const BATTLEANIM_SHAKE
- const BATTLEANIM_HIT_CONFUSION
\ No newline at end of file
+ const BATTLEANIM_HIT_CONFUSION
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -1,3 +1,5 @@
+; song ids
+; Music indexes (see audio/music_pointers.asm)
const_def
const MUSIC_NONE ; 00
@@ -93,6 +95,8 @@
const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a
const MUSIC_PRINTER ; 5b
const MUSIC_POST_CREDITS ; 5c
+
+; new to Crystal
const MUSIC_CLAIR ; 5d
const MUSIC_MOBILE_ADAPTER_MENU ; 5e
const MUSIC_MOBILE_ADAPTER ; 5f
@@ -104,4 +108,7 @@
const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66
-MUSIC_MAHOGANY_MART EQU $64 ; leftover from gold
+; GetMapHeaderMusic picks music for this value (see home/map.asm)
+MUSIC_MAHOGANY_MART EQU $64
+; GetMapHeaderMusic picks music for this bit flag
+RADIO_TOWER_MUSIC EQU 7
--- a/constants/phone_constants.asm
+++ b/constants/phone_constants.asm
@@ -1,4 +1,4 @@
-
+; PhoneContacts indexes (see engine/phone.asm)
const_def
const PHONE_00
const PHONE_MOM
@@ -39,6 +39,7 @@
const PHONE_PICNICKER_ERIN
const PHONE_BUENA
+; SpecialPhoneCallList indexes (see engine/phone.asm)
const_def
const SPECIALCALL_NONE
const SPECIALCALL_POKERUS
@@ -50,6 +51,7 @@
const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL
+; phone struct members
const_def
const PHONE_CONTACT_TRAINER_CLASS
const PHONE_CONTACT_TRAINER_NUMBER
@@ -64,4 +66,6 @@
const PHONE_CONTACT_SCRIPT2_ADDR_LO
const PHONE_CONTACT_SCRIPT2_ADDR_HI
PHONE_TABLE_WIDTH EQU const_value
+
+; maximum number of pokegear contacts
CONTACT_LIST_SIZE EQU 10
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -1,265 +1,280 @@
-
-; pokemon
+; pokemon ids
+; indexes for:
+; - CryHeaders (see audio/cry_headers.asm)
+; - BaseData (see data/base_stats.asm)
+; - EggMovePointers (see data/egg_move_pointers.asm)
+; - EvosAttacksPointers (see data/evos_attacks_pointers.asm)
+; - PokemonNames (see data/pokemon_names.asm)
+; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm)
+; - AnimationPointers (see gfx/pics/anim_pointers.asm)
+; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm)
+; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm)
+; - FramesPointers (see gfx/pics/frame_pointers.asm)
+; - PokemonPalettes (see gfx/pics/palette_pointers.asm)
+; - PicPointers (see gfx/pics/pic_pointers.asm)
+; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm)
+; - NewPokedexOrder (see data/pokedex/order_new.asm)
+; - MonMenuIcons (see menu/mon_icons.asm)
+; - Pokered_MonIndices (see engine/time_capsule/conversion.asm)
+; - SortedPokemon (see misc/fixed_words.asm)
const_value set 1
- const BULBASAUR
- const IVYSAUR
- const VENUSAUR
- const CHARMANDER
- const CHARMELEON
- const CHARIZARD
- const SQUIRTLE
- const WARTORTLE
- const BLASTOISE
- const CATERPIE
- const METAPOD
- const BUTTERFREE
- const WEEDLE
- const KAKUNA
- const BEEDRILL
- const PIDGEY
- const PIDGEOTTO
- const PIDGEOT
- const RATTATA
- const RATICATE
- const SPEAROW
- const FEAROW
- const EKANS
- const ARBOK
- const PIKACHU
- const RAICHU
- const SANDSHREW
- const SANDSLASH
- const NIDORAN_F
- const NIDORINA
- const NIDOQUEEN
- const NIDORAN_M
- const NIDORINO
- const NIDOKING
- const CLEFAIRY
- const CLEFABLE
- const VULPIX
- const NINETALES
- const JIGGLYPUFF
- const WIGGLYTUFF
- const ZUBAT
- const GOLBAT
- const ODDISH
- const GLOOM
- const VILEPLUME
- const PARAS
- const PARASECT
- const VENONAT
- const VENOMOTH
- const DIGLETT
- const DUGTRIO
- const MEOWTH
- const PERSIAN
- const PSYDUCK
- const GOLDUCK
- const MANKEY
- const PRIMEAPE
- const GROWLITHE
- const ARCANINE
- const POLIWAG
- const POLIWHIRL
- const POLIWRATH
- const ABRA
- const KADABRA
- const ALAKAZAM
- const MACHOP
- const MACHOKE
- const MACHAMP
- const BELLSPROUT
- const WEEPINBELL
- const VICTREEBEL
- const TENTACOOL
- const TENTACRUEL
- const GEODUDE
- const GRAVELER
- const GOLEM
- const PONYTA
- const RAPIDASH
- const SLOWPOKE
- const SLOWBRO
- const MAGNEMITE
- const MAGNETON
- const FARFETCH_D
- const DODUO
- const DODRIO
- const SEEL
- const DEWGONG
- const GRIMER
- const MUK
- const SHELLDER
- const CLOYSTER
- const GASTLY
- const HAUNTER
- const GENGAR
- const ONIX
- const DROWZEE
- const HYPNO
- const KRABBY
- const KINGLER
- const VOLTORB
- const ELECTRODE
- const EXEGGCUTE
- const EXEGGUTOR
- const CUBONE
- const MAROWAK
- const HITMONLEE
- const HITMONCHAN
- const LICKITUNG
- const KOFFING
- const WEEZING
- const RHYHORN
- const RHYDON
- const CHANSEY
- const TANGELA
- const KANGASKHAN
- const HORSEA
- const SEADRA
- const GOLDEEN
- const SEAKING
- const STARYU
- const STARMIE
- const MR__MIME
- const SCYTHER
- const JYNX
- const ELECTABUZZ
- const MAGMAR
- const PINSIR
- const TAUROS
- const MAGIKARP
- const GYARADOS
- const LAPRAS
- const DITTO
- const EEVEE
- const VAPOREON
- const JOLTEON
- const FLAREON
- const PORYGON
- const OMANYTE
- const OMASTAR
- const KABUTO
- const KABUTOPS
- const AERODACTYL
- const SNORLAX
- const ARTICUNO
- const ZAPDOS
- const MOLTRES
- const DRATINI
- const DRAGONAIR
- const DRAGONITE
- const MEWTWO
- const MEW
- const CHIKORITA
- const BAYLEEF
- const MEGANIUM
- const CYNDAQUIL
- const QUILAVA
- const TYPHLOSION
- const TOTODILE
- const CROCONAW
- const FERALIGATR
- const SENTRET
- const FURRET
- const HOOTHOOT
- const NOCTOWL
- const LEDYBA
- const LEDIAN
- const SPINARAK
- const ARIADOS
- const CROBAT
- const CHINCHOU
- const LANTURN
- const PICHU
- const CLEFFA
- const IGGLYBUFF
- const TOGEPI
- const TOGETIC
- const NATU
- const XATU
- const MAREEP
- const FLAAFFY
- const AMPHAROS
- const BELLOSSOM
- const MARILL
- const AZUMARILL
- const SUDOWOODO
- const POLITOED
- const HOPPIP
- const SKIPLOOM
- const JUMPLUFF
- const AIPOM
- const SUNKERN
- const SUNFLORA
- const YANMA
- const WOOPER
- const QUAGSIRE
- const ESPEON
- const UMBREON
- const MURKROW
- const SLOWKING
- const MISDREAVUS
- const UNOWN
- const WOBBUFFET
- const GIRAFARIG
- const PINECO
- const FORRETRESS
- const DUNSPARCE
- const GLIGAR
- const STEELIX
- const SNUBBULL
- const GRANBULL
- const QWILFISH
- const SCIZOR
- const SHUCKLE
- const HERACROSS
- const SNEASEL
- const TEDDIURSA
- const URSARING
- const SLUGMA
- const MAGCARGO
- const SWINUB
- const PILOSWINE
- const CORSOLA
- const REMORAID
- const OCTILLERY
- const DELIBIRD
- const MANTINE
- const SKARMORY
- const HOUNDOUR
- const HOUNDOOM
- const KINGDRA
- const PHANPY
- const DONPHAN
- const PORYGON2
- const STANTLER
- const SMEARGLE
- const TYROGUE
- const HITMONTOP
- const SMOOCHUM
- const ELEKID
- const MAGBY
- const MILTANK
- const BLISSEY
- const RAIKOU
- const ENTEI
- const SUICUNE
- const LARVITAR
- const PUPITAR
- const TYRANITAR
- const LUGIA
- const HO_OH
- const CELEBI
+ const BULBASAUR ; 01
+ const IVYSAUR ; 02
+ const VENUSAUR ; 03
+ const CHARMANDER ; 04
+ const CHARMELEON ; 05
+ const CHARIZARD ; 06
+ const SQUIRTLE ; 07
+ const WARTORTLE ; 08
+ const BLASTOISE ; 09
+ const CATERPIE ; 0a
+ const METAPOD ; 0b
+ const BUTTERFREE ; 0c
+ const WEEDLE ; 0d
+ const KAKUNA ; 0e
+ const BEEDRILL ; 0f
+ const PIDGEY ; 10
+ const PIDGEOTTO ; 11
+ const PIDGEOT ; 12
+ const RATTATA ; 13
+ const RATICATE ; 14
+ const SPEAROW ; 15
+ const FEAROW ; 16
+ const EKANS ; 17
+ const ARBOK ; 18
+ const PIKACHU ; 19
+ const RAICHU ; 1a
+ const SANDSHREW ; 1b
+ const SANDSLASH ; 1c
+ const NIDORAN_F ; 1d
+ const NIDORINA ; 1e
+ const NIDOQUEEN ; 1f
+ const NIDORAN_M ; 20
+ const NIDORINO ; 21
+ const NIDOKING ; 22
+ const CLEFAIRY ; 23
+ const CLEFABLE ; 24
+ const VULPIX ; 25
+ const NINETALES ; 26
+ const JIGGLYPUFF ; 27
+ const WIGGLYTUFF ; 28
+ const ZUBAT ; 29
+ const GOLBAT ; 2a
+ const ODDISH ; 2b
+ const GLOOM ; 2c
+ const VILEPLUME ; 2d
+ const PARAS ; 2e
+ const PARASECT ; 2f
+ const VENONAT ; 30
+ const VENOMOTH ; 31
+ const DIGLETT ; 32
+ const DUGTRIO ; 33
+ const MEOWTH ; 34
+ const PERSIAN ; 35
+ const PSYDUCK ; 36
+ const GOLDUCK ; 37
+ const MANKEY ; 38
+ const PRIMEAPE ; 39
+ const GROWLITHE ; 3a
+ const ARCANINE ; 3b
+ const POLIWAG ; 3c
+ const POLIWHIRL ; 3d
+ const POLIWRATH ; 3e
+ const ABRA ; 3f
+ const KADABRA ; 40
+ const ALAKAZAM ; 41
+ const MACHOP ; 42
+ const MACHOKE ; 43
+ const MACHAMP ; 44
+ const BELLSPROUT ; 45
+ const WEEPINBELL ; 46
+ const VICTREEBEL ; 47
+ const TENTACOOL ; 48
+ const TENTACRUEL ; 49
+ const GEODUDE ; 4a
+ const GRAVELER ; 4b
+ const GOLEM ; 4c
+ const PONYTA ; 4d
+ const RAPIDASH ; 4e
+ const SLOWPOKE ; 4f
+ const SLOWBRO ; 50
+ const MAGNEMITE ; 51
+ const MAGNETON ; 52
+ const FARFETCH_D ; 53
+ const DODUO ; 54
+ const DODRIO ; 55
+ const SEEL ; 56
+ const DEWGONG ; 57
+ const GRIMER ; 58
+ const MUK ; 59
+ const SHELLDER ; 5a
+ const CLOYSTER ; 5b
+ const GASTLY ; 5c
+ const HAUNTER ; 5d
+ const GENGAR ; 5e
+ const ONIX ; 5f
+ const DROWZEE ; 60
+ const HYPNO ; 61
+ const KRABBY ; 62
+ const KINGLER ; 63
+ const VOLTORB ; 64
+ const ELECTRODE ; 65
+ const EXEGGCUTE ; 66
+ const EXEGGUTOR ; 67
+ const CUBONE ; 68
+ const MAROWAK ; 69
+ const HITMONLEE ; 6a
+ const HITMONCHAN ; 6b
+ const LICKITUNG ; 6c
+ const KOFFING ; 6d
+ const WEEZING ; 6e
+ const RHYHORN ; 6f
+ const RHYDON ; 70
+ const CHANSEY ; 71
+ const TANGELA ; 72
+ const KANGASKHAN ; 73
+ const HORSEA ; 74
+ const SEADRA ; 75
+ const GOLDEEN ; 76
+ const SEAKING ; 77
+ const STARYU ; 78
+ const STARMIE ; 79
+ const MR__MIME ; 7a
+ const SCYTHER ; 7b
+ const JYNX ; 7c
+ const ELECTABUZZ ; 7d
+ const MAGMAR ; 7e
+ const PINSIR ; 7f
+ const TAUROS ; 80
+ const MAGIKARP ; 81
+ const GYARADOS ; 82
+ const LAPRAS ; 83
+ const DITTO ; 84
+ const EEVEE ; 85
+ const VAPOREON ; 86
+ const JOLTEON ; 87
+ const FLAREON ; 88
+ const PORYGON ; 89
+ const OMANYTE ; 8a
+ const OMASTAR ; 8b
+ const KABUTO ; 8c
+ const KABUTOPS ; 8d
+ const AERODACTYL ; 8e
+ const SNORLAX ; 8f
+ const ARTICUNO ; 90
+ const ZAPDOS ; 91
+ const MOLTRES ; 92
+ const DRATINI ; 93
+ const DRAGONAIR ; 94
+ const DRAGONITE ; 95
+ const MEWTWO ; 96
+ const MEW ; 97
+ const CHIKORITA ; 98
+ const BAYLEEF ; 99
+ const MEGANIUM ; 9a
+ const CYNDAQUIL ; 9b
+ const QUILAVA ; 9c
+ const TYPHLOSION ; 9d
+ const TOTODILE ; 9e
+ const CROCONAW ; 9f
+ const FERALIGATR ; a0
+ const SENTRET ; a1
+ const FURRET ; a2
+ const HOOTHOOT ; a3
+ const NOCTOWL ; a4
+ const LEDYBA ; a5
+ const LEDIAN ; a6
+ const SPINARAK ; a7
+ const ARIADOS ; a8
+ const CROBAT ; a9
+ const CHINCHOU ; aa
+ const LANTURN ; ab
+ const PICHU ; ac
+ const CLEFFA ; ad
+ const IGGLYBUFF ; ae
+ const TOGEPI ; af
+ const TOGETIC ; b0
+ const NATU ; b1
+ const XATU ; b2
+ const MAREEP ; b3
+ const FLAAFFY ; b4
+ const AMPHAROS ; b5
+ const BELLOSSOM ; b6
+ const MARILL ; b7
+ const AZUMARILL ; b8
+ const SUDOWOODO ; b9
+ const POLITOED ; ba
+ const HOPPIP ; bb
+ const SKIPLOOM ; bc
+ const JUMPLUFF ; bd
+ const AIPOM ; be
+ const SUNKERN ; bf
+ const SUNFLORA ; c0
+ const YANMA ; c1
+ const WOOPER ; c2
+ const QUAGSIRE ; c3
+ const ESPEON ; c4
+ const UMBREON ; c5
+ const MURKROW ; c6
+ const SLOWKING ; c7
+ const MISDREAVUS ; c8
+ const UNOWN ; c9
+ const WOBBUFFET ; ca
+ const GIRAFARIG ; cb
+ const PINECO ; cc
+ const FORRETRESS ; cd
+ const DUNSPARCE ; ce
+ const GLIGAR ; cf
+ const STEELIX ; d0
+ const SNUBBULL ; d1
+ const GRANBULL ; d2
+ const QWILFISH ; d3
+ const SCIZOR ; d4
+ const SHUCKLE ; d5
+ const HERACROSS ; d6
+ const SNEASEL ; d7
+ const TEDDIURSA ; d8
+ const URSARING ; d9
+ const SLUGMA ; da
+ const MAGCARGO ; db
+ const SWINUB ; dc
+ const PILOSWINE ; dd
+ const CORSOLA ; de
+ const REMORAID ; df
+ const OCTILLERY ; e0
+ const DELIBIRD ; e1
+ const MANTINE ; e2
+ const SKARMORY ; e3
+ const HOUNDOUR ; e4
+ const HOUNDOOM ; e5
+ const KINGDRA ; e6
+ const PHANPY ; e7
+ const DONPHAN ; e8
+ const PORYGON2 ; e9
+ const STANTLER ; ea
+ const SMEARGLE ; eb
+ const TYROGUE ; ec
+ const HITMONTOP ; ed
+ const SMOOCHUM ; ee
+ const ELEKID ; ef
+ const MAGBY ; f0
+ const MILTANK ; f1
+ const BLISSEY ; f2
+ const RAIKOU ; f3
+ const ENTEI ; f4
+ const SUICUNE ; f5
+ const LARVITAR ; f6
+ const PUPITAR ; f7
+ const TYRANITAR ; f8
+ const LUGIA ; f9
+ const HO_OH ; fa
+ const CELEBI ; fb
+NUM_POKEMON EQU const_value +- 1
+ const MON_FC ; fc
+ const EGG ; fd
+ const MON_FE ; fe
-const_value SET const_value + -1
-
-NUM_POKEMON EQU const_value
-
-EGG EQU 253
-
-; pokemon structure in RAM
+; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
@@ -293,7 +308,9 @@
PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
REDMON_STRUCT_LENGTH EQU 44
+; MonMenuOptions indexes (see engine/mon_menu.asm)
const_value SET 1
+; moves
const MONMENU_CUT ; 1
const MONMENU_FLY ; 2
const MONMENU_SURF ; 3
@@ -308,7 +325,7 @@
const MONMENU_ROCKSMASH ; 12
const MONMENU_MILKDRINK ; 13
const MONMENU_SWEETSCENT ; 14
-
+; options
const MONMENU_STATS ; 15
const MONMENU_SWITCH ; 16
const MONMENU_ITEM ; 17
@@ -317,5 +334,11 @@
const MONMENU_MAIL ; 20
const MONMENU_ERROR ; 21
+; MonMenuOptions types
MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1
+
+NUM_MONMENU_ITEMS EQU 8
+
+; maximum number of party pokemon
+PARTY_LENGTH EQU 6
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -1,4 +1,5 @@
-; growth rate
+; BaseGrowthRate values
+; GrowthRates indexes (see main.asm)
const_def
const MEDIUM_FAST
const SLIGHTLY_FAST
@@ -7,7 +8,7 @@
const FAST
const SLOW
-; egg group constants
+; BaseEggGroups values
const_value SET 1
const MONSTER ; 1
const AMPHIBIAN ; 2
@@ -26,7 +27,7 @@
const NO_EGGS ; f
-; menu sprites
+; IconPointers indexes (see menu/mon_icons.asm)
const_value SET 1
const ICON_POLIWAG
const ICON_JIGGLYPUFF
@@ -68,7 +69,7 @@
const ICON_BIGMON
-; evolution types
+; evolution types (used in data/evos_attacks.asm)
const_value SET 1
const EVOLVE_LEVEL
const EVOLVE_ITEM
@@ -76,26 +77,36 @@
const EVOLVE_HAPPINESS
const EVOLVE_STAT
-
-BASE_HAPPINESS EQU 70
-FRIEND_BALL_HAPPINESS EQU 200
-
-; happiness evolution triggers
-HAPPINESS_TO_EVOLVE EQU 220
+; EVOLVE_HAPPINESS triggers
const_value SET 1
const TR_ANYTIME
const TR_MORNDAY
const TR_NITE
-
-; stat evolution triggers
+; EVOLVE_STAT triggers
const_value SET 1
const ATK_GT_DEF
const ATK_LT_DEF
const ATK_EQ_DEF
-NUM_GRASSMON EQU 7
-NUM_WATERMON EQU 3
+; significant happiness values
+BASE_HAPPINESS EQU 70
+FRIEND_BALL_HAPPINESS EQU 200
+HAPPINESS_TO_EVOLVE EQU 220
+
+
+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
+
+
+; swarms
+
+SWARM_DUNSPARCE EQU 0
+SWARM_YANMA EQU 1
+
+FISHSWARM_QWILFISH EQU 1
+FISHSWARM_REMORAID EQU 2
--- a/constants/printer_constants.asm
+++ b/constants/printer_constants.asm
@@ -1,5 +1,5 @@
+; wPrinterStatus
const_value SET 1
-
const PRINTER_STATUS_CHECKING
const PRINTER_STATUS_TRANSMITTING
const PRINTER_STATUS_PRINTING
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -1,3 +1,4 @@
+; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm)
const_def
const OAKS_POKEMON_TALK ; $00
const POKEDEX_SHOW ; $01
@@ -88,6 +89,7 @@
const POKEDEX_SHOW_7 ; $56
const POKEDEX_SHOW_8 ; $57
+; PlayRadio arguments (see engine/pokegear.asm)
const_def
const MAPRADIO_POKEMON_CHANNEL
const MAPRADIO_OAKS_MON_TALK
@@ -99,13 +101,8 @@
const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET
+; PasswordTable indexes (see engine/radio.asm)
const_def
- const BUENA_MON
- const BUENA_ITEM
- const BUENA_MOVE
- const BUENA_STRING
-
- const_def
const BUENA_STARTERS
const BUENA_DRINKS
const BUENA_ITEMS
@@ -119,3 +116,10 @@
const BUENA_STATIONS
NUM_PASSWORD_CATEGORIES EQU const_value
NUM_PASSWORDS_PER_CATEGORY EQU 3
+
+; PasswordTable string types (see engine/radio.asm)
+ const_def
+ const BUENA_MON
+ const BUENA_ITEM
+ const BUENA_MOVE
+ const BUENA_STRING
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -2,6 +2,7 @@
PLAYER EQU 0
LAST_TALKED EQU -2
+; GetVarAction arguments (see engine/variables.asm)
const_def
const VAR_STRINGBUFFER2 ; 00
const VAR_PARTYCOUNT ; 01
@@ -32,10 +33,12 @@
const VAR_KENJI_BREAK ; 1a
NUM_VARS EQU const_value ; 1b
+; variable action types
RETVAR_STRBUF2 EQU (0 << 6)
RETVAR_ADDR_DE EQU (1 << 6)
RETVAR_EXECUTE EQU (2 << 6)
+; PlayerEventScriptPointers indexes (see engine/events.asm)
const_value SET -1
const PLAYEREVENT_MAPSCRIPT
const PLAYEREVENT_NONE
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -1,3 +1,4 @@
+; SFX indexes (see audio/sfx_pointers.asm)
const_def
const SFX_DEX_FANFARE_50_79 ; 00
@@ -191,6 +192,7 @@
const SFX_GLASS_TING ; bc
const SFX_GLASS_TING_2 ; bd
+; new to Crystal
const SFX_INTRO_UNOWN_1 ; be
const SFX_INTRO_UNOWN_2 ; bf
const SFX_INTRO_UNOWN_3 ; c0
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -1,5 +1,5 @@
-
-; sprites
+; sprite ids
+; SpriteHeaders indexes (see gfx/overworld/sprite_headers.asm)
const_def
const SPRITE_NONE ; 00
const SPRITE_CHRIS ; 01
@@ -105,8 +105,8 @@
const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66
+; SpriteMons indexes (see engine/overworld.asm)
const_value SET $80
-
SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80
const SPRITE_GEODUDE ; 81
@@ -144,10 +144,12 @@
const SPRITE_LUGIA ; a1
const SPRITE_HO_OH ; a2
+; special GetMonSprite values (see engine/overworld.asm)
const_value SET $e0
const SPRITE_DAYCARE_MON_1 ; e0
const SPRITE_DAYCARE_MON_2 ; e1
+; VariableSprites indexes (see wram.asm)
const_value SET $f0
SPRITE_VARS EQU const_value
const SPRITE_CONSOLE ; f0
@@ -164,13 +166,7 @@
const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc
-; sprite types
-const_value SET 1
- const WALKING_SPRITE
- const STANDING_SPRITE
- const STILL_SPRITE
-
-; sprite header fields
+; sprite_header struct members (see gfx/overworld/sprite_headers.asm)
const_def
const SPRITEHEADER_ADDR_LO
const SPRITEHEADER_ADDR_HI
@@ -180,18 +176,24 @@
const SPRITEHEADER_PALETTE
NUM_SPRITEHEADER_FIELDS EQU const_value
+; sprite types
+const_value SET 1
+ const WALKING_SPRITE
+ const STANDING_SPRITE
+ const STILL_SPRITE
+
; sprite palettes
const_def
- const PAL_OW_RED
- const PAL_OW_BLUE
- const PAL_OW_GREEN
- const PAL_OW_BROWN
- const PAL_OW_PINK
- const PAL_OW_SILVER
- const PAL_OW_TREE
- const PAL_OW_ROCK
+ const PAL_OW_RED ; 0
+ const PAL_OW_BLUE ; 1
+ const PAL_OW_GREEN ; 2
+ const PAL_OW_BROWN ; 3
+ const PAL_OW_PINK ; 4
+ const PAL_OW_SILVER ; 5
+ const PAL_OW_TREE ; 6
+ const PAL_OW_ROCK ; 7
-; sprite movement data table indices
+; SpriteMovementData indexes (see data/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01
@@ -233,7 +235,7 @@
NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6
-; sprite movement functions
+; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
const_def
const SPRITEMOVEFN_00
const SPRITEMOVEFN_RANDOM_WALK_Y
@@ -264,8 +266,7 @@
const SPRITEMOVEFN_BOULDERDUST
const SPRITEMOVEFN_GRASS
-MAX_OUTDOOR_SPRITES EQU 23
-
+; StepTypesJumptable indexes (see engine/map_objects.asm)
const_def
const STEP_TYPE_00
const STEP_TYPE_SLEEP
@@ -294,6 +295,7 @@
const STEP_TYPE_18
const STEP_TYPE_SKYFALL_TOP
+; PersonActionPairPointers indexes (see engine/map_object_action.asm)
const_def
const PERSON_ACTION_00
const PERSON_ACTION_STAND
@@ -313,6 +315,7 @@
const PERSON_ACTION_GRASS_SHAKE
const PERSON_ACTION_SKYFALL
+; Facings indexes (see engine/facings.asm)
const_def
const FACING_STEP_DOWN_0
const FACING_STEP_DOWN_1
@@ -347,6 +350,7 @@
const FACING_GRASS_1
const FACING_GRASS_2
+; sprite_anim_struct members (see macros/wram.asm)
const_def
const SPRITEANIMSTRUCT_INDEX ; 0
const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
@@ -365,6 +369,7 @@
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
+; SpriteAnimFrameData indexes (see data/sprite_engine.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON
@@ -377,13 +382,13 @@
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
const SPRITE_ANIM_FRAMESET_09 ; unused?
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
- const SPRITE_ANIM_FRAMESET_0B
- const SPRITE_ANIM_FRAMESET_0C
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
const SPRITE_ANIM_FRAMESET_SLOTS_EGG
- const SPRITE_ANIM_FRAMESET_WALK_CYCLE
+ const SPRITE_ANIM_FRAMESET_RED_WALK
const SPRITE_ANIM_FRAMESET_STILL_CURSOR
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
@@ -433,29 +438,30 @@
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
+; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def
const SPRITE_ANIM_SEQ_NULL
- const SPRITE_ANIM_SEQ_01
- const SPRITE_ANIM_SEQ_02
- const SPRITE_ANIM_SEQ_03
+ const SPRITE_ANIM_SEQ_PARTY_MON
+ const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
+ const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
const SPRITE_ANIM_SEQ_04
- const SPRITE_ANIM_SEQ_05
+ const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
- const SPRITE_ANIM_SEQ_07
- const SPRITE_ANIM_SEQ_08
- const SPRITE_ANIM_SEQ_SLOT_GOLEM
+ const SPRITE_ANIM_SEQ_GS_INTRO_STAR
+ const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_SEQ_SLOTS_GOLEM
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
const SPRITE_ANIM_SEQ_SLOTS_EGG
- const SPRITE_ANIM_SEQ_0C
+ const SPRITE_ANIM_SEQ_MAIL_CURSOR
const SPRITE_ANIM_SEQ_0D
const SPRITE_ANIM_SEQ_0E
const SPRITE_ANIM_SEQ_0F
- const SPRITE_ANIM_SEQ_10
- const SPRITE_ANIM_SEQ_11
+ const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
+ const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
- const SPRITE_ANIM_SEQ_13
- const SPRITE_ANIM_SEQ_14
- const SPRITE_ANIM_SEQ_15
+ const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
+ const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_SEQ_CUT_LEAVES
const SPRITE_ANIM_SEQ_FLY_FROM
const SPRITE_ANIM_SEQ_FLY_LEAF
const SPRITE_ANIM_SEQ_FLY_TO
@@ -463,46 +469,47 @@
const SPRITE_ANIM_SEQ_1A
const SPRITE_ANIM_SEQ_1B
const SPRITE_ANIM_SEQ_1C
- const SPRITE_ANIM_SEQ_1D
- const SPRITE_ANIM_SEQ_1E
- const SPRITE_ANIM_SEQ_1F
- const SPRITE_ANIM_SEQ_20
- const SPRITE_ANIM_SEQ_21
- const SPRITE_ANIM_SEQ_22
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE
+ const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
+ const SPRITE_ANIM_SEQ_CELEBI
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
+; SpriteAnimSeqData indexes (see engine/sprites.asm)
const_def
- const SPRITE_ANIM_INDEX_00
+ const SPRITE_ANIM_INDEX_PARTY_MON
const SPRITE_ANIM_INDEX_01
- const SPRITE_ANIM_INDEX_02
- const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- const SPRITE_ANIM_INDEX_04
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- const SPRITE_ANIM_INDEX_SLOT_GOLEM
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ const SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_INDEX_SLOTS_GOLEM
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
const SPRITE_ANIM_INDEX_SLOTS_EGG
- const SPRITE_ANIM_INDEX_09
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
const SPRITE_ANIM_INDEX_RED_WALK
const SPRITE_ANIM_INDEX_0B
- const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ const SPRITE_ANIM_INDEX_DUMMY_GAME
const SPRITE_ANIM_INDEX_0D
- const SPRITE_ANIM_INDEX_0E
- const SPRITE_ANIM_INDEX_0F
- const SPRITE_ANIM_INDEX_10
+ const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ const SPRITE_ANIM_INDEX_TRADE_POOF
+ const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
const SPRITE_ANIM_INDEX_TRADEMON_ICON
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- const SPRITE_ANIM_INDEX_13
- const SPRITE_ANIM_INDEX_14
- const SPRITE_ANIM_INDEX_15
+ const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
const SPRITE_ANIM_INDEX_LEAF
const SPRITE_ANIM_INDEX_CUT_TREE
const SPRITE_ANIM_INDEX_FLY_LEAF
- const SPRITE_ANIM_INDEX_19
+ const SPRITE_ANIM_INDEX_EGG_CRACK
const SPRITE_ANIM_INDEX_1A
- const SPRITE_ANIM_INDEX_1B
- const SPRITE_ANIM_INDEX_1C
+ const SPRITE_ANIM_INDEX_HEADBUTT
+ const SPRITE_ANIM_INDEX_EGG_HATCH
const SPRITE_ANIM_INDEX_1D
const SPRITE_ANIM_INDEX_BLUE_WALK
- const SPRITE_ANIM_INDEX_1F
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
const SPRITE_ANIM_INDEX_20
const SPRITE_ANIM_INDEX_21
const SPRITE_ANIM_INDEX_22
@@ -509,16 +516,16 @@
const SPRITE_ANIM_INDEX_23
const SPRITE_ANIM_INDEX_24
const SPRITE_ANIM_INDEX_25
- const SPRITE_ANIM_INDEX_26
- const SPRITE_ANIM_INDEX_27
- const SPRITE_ANIM_INDEX_28
- const SPRITE_ANIM_INDEX_29
- const SPRITE_ANIM_INDEX_2A
- const SPRITE_ANIM_INDEX_2B
- const SPRITE_ANIM_INDEX_2C
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ const SPRITE_ANIM_INDEX_INTRO_PICHU
+ const SPRITE_ANIM_INDEX_INTRO_WOOPER
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ const SPRITE_ANIM_INDEX_CELEBI
+; SpriteAnimOAMData indexes (see data/sprite_engine.asm)
const_def
-
const SPRITE_ANIM_FRAME_IDX_00
const SPRITE_ANIM_FRAME_IDX_01
const SPRITE_ANIM_FRAME_IDX_02
--- a/constants/std_constants.asm
+++ b/constants/std_constants.asm
@@ -1,3 +1,5 @@
+; StdScripts indexes (see engine/std_scripts.asm)
+; also used in CheckFacingTileForStd (see main.asm)
enum_start
enum pokecenternurse
enum difficultbookshelf
--- a/constants/tilemap_constants.asm
+++ b/constants/tilemap_constants.asm
@@ -1,9 +1,10 @@
-LANDTILE EQU 0
+; collision values (see tilesets/collision.asm)
+LANDTILE EQU $0
+WATERTILE EQU $1
WALLTILE EQU $f
-WATERTILE EQU 1
+TALK EQU $10
-TALK EQU 1 << 4
-
+; Tilesets indexes (see tilesets/tileset_headers.asm)
const_value SET 1
const TILESET_JOHTO_1 ; 01
const TILESET_JOHTO_2 ; 02
@@ -42,12 +43,13 @@
const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24
+; bg palette values (see tilesets/*_palette_map.asm)
const_def
- const PAL_BG_GRAY
- const PAL_BG_RED
- const PAL_BG_GREEN
- const PAL_BG_WATER
- const PAL_BG_YELLOW
- const PAL_BG_BROWN
- const PAL_BG_ROOF
- const PAL_BG_TEXT
+ const PAL_BG_GRAY ; 0
+ const PAL_BG_RED ; 1
+ const PAL_BG_GREEN ; 2
+ const PAL_BG_WATER ; 3
+ const PAL_BG_YELLOW ; 4
+ const PAL_BG_BROWN ; 5
+ const PAL_BG_ROOF ; 6
+ const PAL_BG_TEXT ; 7
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -1,4 +1,11 @@
-; trainer groups
+; trainer class ids
+; `trainerclass` indexes are for:
+; - TrainerClassAttributes (see trainers/attributes.asm)
+; - TrainerClassDVs (see trainers/dvs.asm)
+; - TrainerGroups (see trainers/trainer_pointers.asm)
+; - TrainerEncounterMusic (see audio/trainer_encounters.asm)
+; - BTTrainerClassGenders (see misc/battle_tower_47.asm)
+; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm)
enum_start
CHRIS EQU __enum__
trainerclass TRAINER_NONE ; 0
@@ -26,21 +33,21 @@
trainerclass CLAIR ; 8
trainerclass RIVAL1 ; 9
- const RIVAL1_1
- const RIVAL1_2
- const RIVAL1_3
- const RIVAL1_4
- const RIVAL1_5
- const RIVAL1_6
- const RIVAL1_7
- const RIVAL1_8
- const RIVAL1_9
- const RIVAL1_10
- const RIVAL1_11
- const RIVAL1_12
- const RIVAL1_13
- const RIVAL1_14
- const RIVAL1_15
+ const RIVAL1_1_CHIKORITA
+ const RIVAL1_1_CYNDAQUIL
+ const RIVAL1_1_TOTODILE
+ const RIVAL1_2_CHIKORITA
+ const RIVAL1_2_CYNDAQUIL
+ const RIVAL1_2_TOTODILE
+ const RIVAL1_3_CHIKORITA
+ const RIVAL1_3_CYNDAQUIL
+ const RIVAL1_3_TOTODILE
+ const RIVAL1_4_CHIKORITA
+ const RIVAL1_4_CYNDAQUIL
+ const RIVAL1_4_TOTODILE
+ const RIVAL1_5_CHIKORITA
+ const RIVAL1_5_CYNDAQUIL
+ const RIVAL1_5_TOTODILE
trainerclass POKEMON_PROF ; a
@@ -415,6 +422,12 @@
const MARKUS
trainerclass RIVAL2 ; 2a
+ const RIVAL2_1_CHIKORITA
+ const RIVAL2_1_CYNDAQUIL
+ const RIVAL2_1_TOTODILE
+ const RIVAL2_2_CHIKORITA
+ const RIVAL2_2_CYNDAQUIL
+ const RIVAL2_2_TOTODILE
trainerclass GUITARIST ; 2b
const CLYDE
@@ -492,6 +505,10 @@
const WAI
trainerclass EXECUTIVEM ; 33
+ const EXECUTIVEM_1
+ const EXECUTIVEM_2
+ const EXECUTIVEM_3
+ const EXECUTIVEM_4
trainerclass PSYCHIC_T ; 34
const NATHAN
@@ -560,6 +577,8 @@
const QUENTIN
trainerclass EXECUTIVEF ; 37
+ const EXECUTIVEF_1
+ const EXECUTIVEF_2
trainerclass SAGE ; 38
const CHOW
@@ -648,13 +667,24 @@
const GRUNTF_4
const GRUNTF_5
-
trainerclass MYSTICALMAN ; 43
const EUSINE
NUM_TRAINER_CLASSES EQU __enum__
+; TrainerClassAttributes fields (see trainers/attributes.asm)
const_def
+ const TRNATTR_ITEM1
+ const TRNATTR_ITEM2
+ const TRNATTR_BASEMONEY
+ const TRNATTR_AI_MOVE_WEIGHTS
+ const TRNATTR_AI2
+ const TRNATTR_AI_ITEM_SWITCH
+ const TRNATTR_AI4
+NUM_TRAINER_ATTRIBUTES EQU const_value
+
+; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
+ const_def
const NO_AI
const_value = 0
shift_const AI_BASIC
@@ -674,12 +704,24 @@
shift_const AI_14
shift_const AI_15
+; TRNATTR_AI_ITEM_SWITCH bit flags
+CONTEXT_USE_F EQU 6
+UNKNOWN_USE_F EQU 5
+ALWAYS_USE_F EQU 4
+SWITCH_SOMETIMES_F EQU 2
+SWITCH_RARELY_F EQU 1
+SWITCH_OFTEN_F EQU 0
+
+CONTEXT_USE EQU 1 << CONTEXT_USE_F
+UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
+ALWAYS_USE EQU 1 << ALWAYS_USE_F
+SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
+SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
+SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
+
+; TrainerTypes indexes (see trainers/read_party.asm)
const_def
- const TRNATTR_ITEM1
- const TRNATTR_ITEM2
- const TRNATTR_BASEMONEY
- const TRNATTR_AI_MOVE_WEIGHTS
- const TRNATTR_AI2
- const TRNATTR_AI_ITEM_SWITCH
- const TRNATTR_AI4
-NUM_TRAINER_ATTRIBUTES EQU const_value
+ const TRAINERTYPE_NORMAL
+ const TRAINERTYPE_MOVES
+ const TRAINERTYPE_ITEM
+ const TRAINERTYPE_ITEM_MOVES
--- a/constants/type_constants.asm
+++ b/constants/type_constants.asm
@@ -1,3 +1,7 @@
+; TypeNames indexes (see text/types.asm)
+; also used in:
+; - TypeMatchup (see battle.type_matchup.asm)
+; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm)
const_def
PHYSICAL EQU const_value
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -1,4 +1,3 @@
-
; MonType: ; cf5f
PARTYMON EQU 0
OTPARTYMON EQU 1
@@ -103,3 +102,35 @@
const DEXMODE_OLD
const DEXMODE_ABC
const DEXMODE_UNOWN
+
+; JohtoBadges:
+ const_def
+ const ZEPHYRBADGE
+ const HIVEBADGE
+ const PLAINBADGE
+ const FOGBADGE
+ const MINERALBADGE
+ const STORMBADGE
+ const GLACIERBADGE
+ const RISINGBADGE
+NUM_JOHTO_BADGES EQU const_value
+
+; KantoBadges:
+ const_def
+ const BOULDERBADGE
+ const CASCADEBADGE
+ const THUNDERBADGE
+ const RAINBOWBADGE
+ const SOULBADGE
+ const MARSHBADGE
+ const VOLCANOBADGE
+ const EARTHBADGE
+NUM_KANTO_BADGES EQU const_value
+NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
+
+; wInitListType:
+INIT_ENEMYOT_LIST EQU 1
+INIT_BAG_ITEM_LIST EQU 2
+INIT_OTHER_ITEM_LIST EQU 3
+INIT_PLAYEROT_LIST EQU 4
+INIT_MON_LIST EQU 5
--- a/data/map_objects.asm
+++ b/data/map_objects.asm
@@ -1,3 +1,5 @@
+; entries correspond to SPRITEMOVEDATA_* constants
+
sprite_movement_data: macro
db \1, \2, \3, \4, \5
dn \6, 0
--- a/data/sprite_engine.asm
+++ b/data/sprite_engine.asm
@@ -1,70 +1,71 @@
SpriteAnimFrameData: ; 8d6e6
- dw .Frameset_00 ; 00
- dw .Frameset_01 ; 01
- dw .Frameset_02 ; 02
- dw .Frameset_03 ; 03
- dw .Frameset_04 ; 04
- dw .Frameset_05 ; 05
- dw .Frameset_06 ; 06
- dw .Frameset_07 ; 07
- dw .Frameset_08 ; 08
- dw .Frameset_09 ; 09
- dw .Frameset_0a ; 0a
- dw .Frameset_0b ; 0b
- dw .Frameset_0c ; 0c
- dw .Frameset_0d ; 0d
- dw .Frameset_0e ; 0e
- dw .Frameset_0f ; 0f
- dw .Frameset_10 ; 10
- dw .Frameset_11 ; 11
- dw .Frameset_12 ; 12
- dw .Frameset_13 ; 13
- dw .Frameset_14 ; 14
- dw .Frameset_15 ; 15
- dw .Frameset_16 ; 16
- dw .Frameset_17 ; 17
- dw .Frameset_18 ; 18
- dw .Frameset_19 ; 19
- dw .Frameset_1a ; 1a
- dw .Frameset_1b ; 1b
- dw .Frameset_1c ; 1c
- dw .Frameset_1d ; 1d
- dw .Frameset_1e ; 1e
- dw .Frameset_1f ; 1f
- dw .Frameset_20 ; 20
- dw .Frameset_21 ; 21
- dw .Frameset_22 ; 22
- dw .Frameset_23 ; 23
- dw .Frameset_24 ; 24
- dw .Frameset_25 ; 25 headbutt
- dw .Frameset_26 ; 26
- dw .Frameset_27 ; 27
- dw .Frameset_28 ; 28
- dw .Frameset_29 ; 29
- dw .Frameset_2a ; 2a
- dw .Frameset_2b ; 2b
- dw .Frameset_2c ; 2c
- dw .Frameset_2d ; 2d
- dw .Frameset_2e ; 2e
- dw .Frameset_2f ; 2f
- dw .Frameset_30 ; 30
- dw .Frameset_31 ; 31
- dw .Frameset_32 ; 32
- dw .Frameset_33 ; 33
- dw .Frameset_34 ; 34
- dw .Frameset_35 ; 35
- dw .Frameset_36 ; 36
- dw .Frameset_37 ; 37
- dw .Frameset_38 ; 38
- dw .Frameset_39 ; 39 unown in intro
- dw .Frameset_3a ; 3a unown in intro
- dw .Frameset_3b ; 3b unown in intro
- dw .Frameset_3c ; 3c unown in intro
- dw .Frameset_3d ; 3d
- dw .Frameset_3e ; 3e
- dw .Frameset_3f ; 3f
- dw .Frameset_40 ; 40 celebi on the left
- dw .Frameset_41 ; 41 celebi on the right
+; entries correspond to SPRITE_ANIM_FRAMESET_* constants
+ dw .Frameset_00
+ dw .Frameset_PartyMon
+ dw .Frameset_02
+ dw .Frameset_03
+ dw .Frameset_04
+ dw .Frameset_05
+ dw .Frameset_06
+ dw .Frameset_07
+ dw .Frameset_TextEntryCursor
+ dw .Frameset_09
+ dw .Frameset_GameFreakLogo
+ dw .Frameset_GSIntroStar
+ dw .Frameset_GSIntroSparkle
+ dw .Frameset_SlotsGolem
+ dw .Frameset_SlotsChansey
+ dw .Frameset_SlotsChansey2
+ dw .Frameset_SlotsEgg
+ dw .Frameset_RedWalk
+ dw .Frameset_StillCursor
+ dw .Frameset_TradePokeBall
+ dw .Frameset_TradePokeBall0
+ dw .Frameset_TradePoof
+ dw .Frameset_TradeTubeBulge
+ dw .Frameset_TrademonIcon
+ dw .Frameset_TrademonBubble
+ dw .Frameset_EvolutionBallOfLight
+ dw .Frameset_RadioTuningKnob
+ dw .Frameset_MagnetTrainRed
+ dw .Frameset_1c
+ dw .Frameset_Leaf
+ dw .Frameset_CutTree
+ dw .Frameset_EggCrack
+ dw .Frameset_EggHatch
+ dw .Frameset_21
+ dw .Frameset_22
+ dw .Frameset_23
+ dw .Frameset_24
+ dw .Frameset_HeadbuttTree
+ dw .Frameset_26
+ dw .Frameset_27
+ dw .Frameset_28
+ dw .Frameset_29
+ dw .Frameset_2a
+ dw .Frameset_2b
+ dw .Frameset_2c
+ dw .Frameset_BlueWalk
+ dw .Frameset_MagnetTrainBlue
+ dw .Frameset_2f
+ dw .Frameset_30
+ dw .Frameset_31
+ dw .Frameset_32
+ dw .Frameset_33
+ dw .Frameset_34
+ dw .Frameset_IntroSuicune
+ dw .Frameset_IntroSuicune2
+ dw .Frameset_IntroPichu
+ dw .Frameset_IntroWooper
+ dw .Frameset_IntroUnown1
+ dw .Frameset_IntroUnown2
+ dw .Frameset_IntroUnown3
+ dw .Frameset_IntroUnown4
+ dw .Frameset_IntroUnownF2
+ dw .Frameset_IntroSuicuneAway
+ dw .Frameset_IntroUnownF
+ dw .Frameset_CelebiLeft
+ dw .Frameset_CelebiRight
; 8d76a
.Frameset_00:
@@ -71,7 +72,7 @@
frame SPRITE_ANIM_FRAME_IDX_00, 32
endanim
-.Frameset_01:
+.Frameset_PartyMon:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
dorestart
@@ -101,7 +102,7 @@
frame SPRITE_ANIM_FRAME_IDX_40, 4
dorestart
-.Frameset_11:
+.Frameset_RedWalk:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_00, 8
@@ -108,7 +109,7 @@
frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
dorestart
-.Frameset_2d:
+.Frameset_BlueWalk:
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8
frame SPRITE_ANIM_FRAME_IDX_63, 8
@@ -115,7 +116,7 @@
frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
dorestart
-.Frameset_2e:
+.Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8
frame SPRITE_ANIM_FRAME_IDX_65, 8
@@ -127,7 +128,7 @@
frame SPRITE_ANIM_FRAME_IDX_1F, 1
dorestart
-.Frameset_08:
+.Frameset_TextEntryCursor:
frame SPRITE_ANIM_FRAME_IDX_20, 1
dorepeat 1
dorestart
@@ -137,7 +138,7 @@
dorepeat 1
dorestart
-.Frameset_0a:
+.Frameset_GameFreakLogo:
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 1
frame SPRITE_ANIM_FRAME_IDX_83, 1
@@ -155,12 +156,12 @@
frame SPRITE_ANIM_FRAME_IDX_8B, 7
endanim
-.Frameset_0b:
+.Frameset_GSIntroStar:
frame SPRITE_ANIM_FRAME_IDX_23, 3
frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP
dorestart
-.Frameset_0c:
+.Frameset_GSIntroSparkle:
frame SPRITE_ANIM_FRAME_IDX_24, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_26, 2
@@ -167,7 +168,7 @@
frame SPRITE_ANIM_FRAME_IDX_25, 2
dorestart
-.Frameset_0d:
+.Frameset_SlotsGolem:
frame SPRITE_ANIM_FRAME_IDX_27, 7
frame SPRITE_ANIM_FRAME_IDX_28, 7
frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP
@@ -174,7 +175,7 @@
frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP
dorestart
-.Frameset_0e:
+.Frameset_SlotsChansey:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2A, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
@@ -181,7 +182,7 @@
frame SPRITE_ANIM_FRAME_IDX_2B, 7
dorestart
-.Frameset_0f:
+.Frameset_SlotsChansey2:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_2D, 7
@@ -189,19 +190,19 @@
frame SPRITE_ANIM_FRAME_IDX_29, 7
endanim
-.Frameset_10:
+.Frameset_SlotsEgg:
frame SPRITE_ANIM_FRAME_IDX_2E, 20
endanim
-.Frameset_12:
+.Frameset_StillCursor:
frame SPRITE_ANIM_FRAME_IDX_2F, 32
endanim
-.Frameset_13:
+.Frameset_TradePokeBall:
frame SPRITE_ANIM_FRAME_IDX_30, 32
endanim
-.Frameset_14:
+.Frameset_TradePokeBall0:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
@@ -208,37 +209,37 @@
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
dorestart
-.Frameset_15:
+.Frameset_TradePoof:
frame SPRITE_ANIM_FRAME_IDX_32, 4
frame SPRITE_ANIM_FRAME_IDX_33, 4
frame SPRITE_ANIM_FRAME_IDX_34, 4
delanim
-.Frameset_16:
+.Frameset_TradeTubeBulge:
frame SPRITE_ANIM_FRAME_IDX_35, 3
frame SPRITE_ANIM_FRAME_IDX_36, 3
dorestart
-.Frameset_17:
+.Frameset_TrademonIcon:
frame SPRITE_ANIM_FRAME_IDX_37, 7
frame SPRITE_ANIM_FRAME_IDX_38, 7
dorestart
-.Frameset_18:
+.Frameset_TrademonBubble:
frame SPRITE_ANIM_FRAME_IDX_39, 32
endanim
-.Frameset_19:
+.Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_3A, 2
frame SPRITE_ANIM_FRAME_IDX_3B, 2
endanim
-.Frameset_1a:
+.Frameset_RadioTuningKnob:
frame SPRITE_ANIM_FRAME_IDX_3C, 32
endanim
-.Frameset_1b:
+.Frameset_MagnetTrainRed:
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8
frame SPRITE_ANIM_FRAME_IDX_41, 8
@@ -292,11 +293,11 @@
dorepeat 32
endanim
-.Frameset_1d:
+.Frameset_Leaf:
frame SPRITE_ANIM_FRAME_IDX_4F, 32
endanim
-.Frameset_1e:
+.Frameset_CutTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_51, 16
dorepeat 1
@@ -305,11 +306,11 @@
frame SPRITE_ANIM_FRAME_IDX_53, 1
delanim
-.Frameset_1f:
+.Frameset_EggCrack:
frame SPRITE_ANIM_FRAME_IDX_54, 32
endanim
-.Frameset_20:
+.Frameset_EggHatch:
frame SPRITE_ANIM_FRAME_IDX_55, 32
endanim
@@ -334,7 +335,7 @@
frame SPRITE_ANIM_FRAME_IDX_5A, 10
dorestart
-.Frameset_25:
+.Frameset_HeadbuttTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2
frame SPRITE_ANIM_FRAME_IDX_50, 2
@@ -424,7 +425,7 @@
frame SPRITE_ANIM_FRAME_IDX_6B, 2
delanim
-.Frameset_35:
+.Frameset_IntroSuicune:
frame SPRITE_ANIM_FRAME_IDX_6E, 3
frame SPRITE_ANIM_FRAME_IDX_6F, 3
frame SPRITE_ANIM_FRAME_IDX_70, 3
@@ -431,46 +432,46 @@
frame SPRITE_ANIM_FRAME_IDX_71, 3
dorestart
-.Frameset_36:
+.Frameset_IntroSuicune2:
frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_6E, 7
endanim
-.Frameset_37:
+.Frameset_IntroPichu:
frame SPRITE_ANIM_FRAME_IDX_72, 32
frame SPRITE_ANIM_FRAME_IDX_73, 7
frame SPRITE_ANIM_FRAME_IDX_74, 7
endanim
-.Frameset_38:
+.Frameset_IntroWooper:
frame SPRITE_ANIM_FRAME_IDX_75, 3
endanim
-.Frameset_39:
+.Frameset_IntroUnown1:
frame SPRITE_ANIM_FRAME_IDX_76, 3
frame SPRITE_ANIM_FRAME_IDX_77, 3
frame SPRITE_ANIM_FRAME_IDX_78, 7
delanim
-.Frameset_3a:
+.Frameset_IntroUnown2:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP
delanim
-.Frameset_3b:
+.Frameset_IntroUnown3:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP
delanim
-.Frameset_3c:
+.Frameset_IntroUnown4:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim
-.Frameset_3d:
+.Frameset_IntroUnownF2:
frame SPRITE_ANIM_FRAME_IDX_79, 3
frame SPRITE_ANIM_FRAME_IDX_7A, 3
frame SPRITE_ANIM_FRAME_IDX_7B, 3
@@ -478,20 +479,20 @@
frame SPRITE_ANIM_FRAME_IDX_7D, 7
endanim
-.Frameset_3e:
+.Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_FRAME_IDX_7E, 3
endanim
-.Frameset_3f:
+.Frameset_IntroUnownF:
dorepeat 0
endanim
-.Frameset_40:
+.Frameset_CelebiLeft:
frame SPRITE_ANIM_FRAME_IDX_7F, 8
frame SPRITE_ANIM_FRAME_IDX_80, 8
endanim
-.Frameset_41:
+.Frameset_CelebiRight:
frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
endanim
@@ -498,6 +499,7 @@
; 8d94d
SpriteAnimOAMData: ; 8d94d
+; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants
; vtile offset, pointer
dbw $00, .OAMData_00 ; 00
dbw $04, .OAMData_00 ; 01
@@ -1632,6 +1634,7 @@
dsprite 0, 0, 0, 4, $52, $01
dsprite 0, 0, 1, 4, $53, $01
; 8e706
+
BrokenStdGFXPointers: ; Broken 2bpp pointers
dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply)
dbbw $80, $01, .deleted
--- a/engine/breeding/egg.asm
+++ b/engine/breeding/egg.asm
@@ -803,7 +803,7 @@
add 9 * 8 + 4
ld d, a
ld e, 11 * 8
- ld a, SPRITE_ANIM_INDEX_19
+ ld a, SPRITE_ANIM_INDEX_EGG_CRACK
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@@ -833,7 +833,7 @@
push hl
push bc
- ld a, SPRITE_ANIM_INDEX_1C
+ ld a, SPRITE_ANIM_INDEX_EGG_HATCH
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
--- a/engine/crystal_intro.asm
+++ b/engine/crystal_intro.asm
@@ -773,7 +773,7 @@
call Intro_ResetLYOverrides
callba ClearSpriteAnims
depixel 13, 27, 4, 0
- ld a, SPRITE_ANIM_INDEX_26
+ ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
call _InitSpriteAnimStruct
ld a, $f0
ld [wGlobalAnimXOffset], a
@@ -866,7 +866,7 @@
.pichu
depixel 21, 16, 1, 0
- ld a, SPRITE_ANIM_INDEX_27
+ ld a, SPRITE_ANIM_INDEX_INTRO_PICHU
call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
@@ -874,7 +874,7 @@
.wooper
depixel 22, 6
- ld a, SPRITE_ANIM_INDEX_28
+ ld a, SPRITE_ANIM_INDEX_INTRO_WOOPER
call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
@@ -1054,7 +1054,7 @@
ld [hWY], a
callba ClearSpriteAnims
depixel 13, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_26
+ ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
call _InitSpriteAnimStruct
ld de, MUSIC_CRYSTAL_OPENING
call PlayMusic
@@ -1165,10 +1165,10 @@
callba ClearSpriteAnims
call Intro_SetCGBPalUpdate
depixel 8, 5
- ld a, SPRITE_ANIM_INDEX_2A
+ ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN_F
call _InitSpriteAnimStruct
depixel 12, 0
- ld a, SPRITE_ANIM_INDEX_2B
+ ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
call _InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
@@ -1317,7 +1317,7 @@
ld [hl], $7f
call Intro_SetCGBPalUpdate
depixel 12, 0
- ld a, SPRITE_ANIM_INDEX_2B
+ ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
call _InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
@@ -1617,7 +1617,7 @@
CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
push de
- ld a, SPRITE_ANIM_INDEX_29
+ ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -1627,7 +1627,7 @@
pop de
push de
- ld a, SPRITE_ANIM_INDEX_29
+ ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -1637,7 +1637,7 @@
pop de
push de
- ld a, SPRITE_ANIM_INDEX_29
+ ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -1646,7 +1646,7 @@
call ReinitSpriteAnimFrame
pop de
- ld a, SPRITE_ANIM_INDEX_29
+ ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
--- a/engine/dummy_game.asm
+++ b/engine/dummy_game.asm
@@ -109,7 +109,7 @@
.spawn_object
depixel 6, 3, 4, 4
- ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ ld a, SPRITE_ANIM_INDEX_DUMMY_GAME
call _InitSpriteAnimStruct
ld a, 5
ld [wDummyGameNumberTriesRemaining], a
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -208,7 +208,7 @@
engine_flag WeeklyFlags, 6 ; move tutor
engine_flag WeeklyFlags, 7 ; buenas password
- engine_flag SwarmFlags, 0 ; $60
+ engine_flag SwarmFlags, 0 ; buenas password 2
engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on
engine_flag GameTimerPause, 7 ; $62
--- a/engine/evolution_animation.asm
+++ b/engine/evolution_animation.asm
@@ -316,7 +316,7 @@
.GenerateBallOfLight: ; 4e7e8
push de
depixel 9, 11
- ld a, SPRITE_ANIM_INDEX_13
+ ld a, SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
--- a/engine/facings.asm
+++ b/engine/facings.asm
@@ -1,4 +1,5 @@
Facings: ; 4049
+; entries correspond to FACING_* constants
dw FacingStepDown0
dw FacingStepDown1
dw FacingStepDown2
@@ -31,7 +32,8 @@
dw FacingBoulderDust2
dw FacingGrass1
dw FacingGrass2
-FacingsEnd: dw 0
+FacingsEnd:
+ dw 0
NUM_FACINGS EQU (FacingsEnd - Facings) / 2
@@ -40,12 +42,6 @@
; Format:
; db y, x, attributes, tile index
-
-; Attributes:
-X_FLIP EQU 1 << OAM_X_FLIP
-Y_FLIP EQU 1 << OAM_Y_FLIP
-BEHIND_BG EQU 1 << OAM_PRIORITY
-
FacingStepDown0:
FacingStepDown2:
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -1143,7 +1143,7 @@
db ITEM_BE, BERRY
db ITEM_C3, BERRY
db ITEM_DC, BERRY
- db HM_08, BERRY
+ db ITEM_FA, BERRY
db -1, BERRY
db 0
; 2879e
--- a/engine/map_object_action.asm
+++ b/engine/map_object_action.asm
@@ -1,36 +1,22 @@
- ld hl, OBJECT_ACTION
- add hl, bc
- ld a, [hl]
- ld l, a
- ld h, 0
- add hl, hl
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call _hl_
- ret
-; 445f
-
-Pointers445f: ; 445f
- dw SetFacingStanding, SetFacingStanding ; 00
- dw SetFacingStandAction, SetFacingCurrent ; 01 standing?
- dw SetFacingStepAction, SetFacingCurrent ; 02 walking?
- dw SetFacingBumpAction, SetFacingCurrent ; 03 bumping?
- dw SetFacingCounterclockwiseSpin, SetFacingCurrent ; 04
- dw SetFacingCounterclockwiseSpin2, SetFacingStanding ; 05
- dw SetFacingFish, SetFacingFish ; 06
- dw SetFacingShadow, SetFacingStanding ; 07
- dw SetFacingEmote, SetFacingEmote ; 08
- dw SetFacingBigDollSym, SetFacingBigDollSym ; 09
- dw SetFacingBounce, SetFacingFreezeBounce ; 0a
- dw SetFacingWeirdTree, SetFacingCurrent ; 0b
- dw SetFacingBigDollAsym, SetFacingBigDollAsym ; 0c
- dw SetFacingBigDoll, SetFacingBigDoll ; 0d
- dw SetFacingBoulderDust, SetFacingStanding ; 0e
- dw SetFacingGrassShake, SetFacingStanding ; 0f
- dw SetFacingSkyfall, SetFacingCurrent ; 10
+PersonActionPairPointers: ; 445f
+; entries correspond to PERSON_ACTION_* constants
+ dw SetFacingStanding, SetFacingStanding
+ dw SetFacingStandAction, SetFacingCurrent
+ dw SetFacingStepAction, SetFacingCurrent
+ dw SetFacingBumpAction, SetFacingCurrent
+ dw SetFacingCounterclockwiseSpin, SetFacingCurrent
+ dw SetFacingCounterclockwiseSpin2, SetFacingStanding
+ dw SetFacingFish, SetFacingFish
+ dw SetFacingShadow, SetFacingStanding
+ dw SetFacingEmote, SetFacingEmote
+ dw SetFacingBigDollSym, SetFacingBigDollSym
+ dw SetFacingBounce, SetFacingFreezeBounce
+ dw SetFacingWeirdTree, SetFacingCurrent
+ dw SetFacingBigDollAsym, SetFacingBigDollAsym
+ dw SetFacingBigDoll, SetFacingBigDoll
+ dw SetFacingBoulderDust, SetFacingStanding
+ dw SetFacingGrassShake, SetFacingStanding
+ dw SetFacingSkyfall, SetFacingCurrent
; 44a3
SetFacingStanding: ; 44a3
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -155,8 +155,8 @@
jr nz, SetFacingStanding
bit 5, [hl]
jr nz, asm_4448
- ld de, Pointers445f ; use first column
- jr asm_444d
+ ld de, PersonActionPairPointers ; use first column
+ jr _HandleObjectAction
; 4440
Function4440: ; 4440
@@ -164,13 +164,28 @@
add hl, bc
bit INVISIBLE, [hl]
jr nz, SetFacingStanding
-asm_4448 ; use second column
- ld de, Pointers445f + 2
- jr asm_444d
+asm_4448
+ ld de, PersonActionPairPointers + 2 ; use second column
+ jr _HandleObjectAction
; 444d
-asm_444d
+_HandleObjectAction
; call [4 * ObjectStructs[ObjInd, OBJECT_ACTION] + de]
+ ld hl, OBJECT_ACTION
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call _hl_
+ ret
+; 445f
+
INCLUDE "engine/map_object_action.asm"
CopyNextCoordsTileToStandingCoordsTile: ; 4600
@@ -535,6 +550,7 @@
ret
.Pointers: ; 47e9
+; entries correspond to SPRITEMOVEFN_* constants
dw .Null_00 ; 00
dw .RandomWalkY ; 01
dw .RandomWalkX ; 02
@@ -1085,7 +1101,7 @@
; 4b45
StepTypesJumptable: ; 4b45
-; These pointers use OBJECT_STEP_TYPE. See constants/sprite_constants.asm
+; entries correspond to STEP_TYPE_* constants
dw ObjectMovementReset ; 00
dw MapObjectMovementPattern ; unused
dw NPCStep ; 02 npc walk
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -178,7 +178,7 @@
; x coord
ld e, $10
; type is partymon icon
- ld a, SPRITE_ANIM_INDEX_00
+ ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct
pop af
ld hl, SPRITEANIMSTRUCT_TILE_ID
@@ -215,7 +215,9 @@
; 8e95e (23:695e)
.speeds ; 8e95e
- db $00, $40, $80
+ db $00 ; HP_GREEN
+ db $40 ; HP_YELLOW
+ db $80 ; HP_RED
; 8e961
NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961)
@@ -225,7 +227,7 @@
xor a
call GetIconGFX
depixel 4, 4, 4, 0
- ld a, SPRITE_ANIM_INDEX_00
+ ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
@@ -240,7 +242,7 @@
call GetIconGFX
ld d, 3 * 8 + 2
ld e, 4 * 8 + 4
- ld a, SPRITE_ANIM_INDEX_00
+ ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
@@ -376,7 +378,7 @@
jr .ok
.loadwithtwo
- ld a, SPRITE_ANIM_SEQ_02
+ ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
.ok
push hl
@@ -407,7 +409,7 @@
ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], SPRITE_ANIM_SEQ_01
+ ld [hl], SPRITE_ANIM_SEQ_PARTY_MON
pop hl
.next
ld bc, $10
@@ -428,11 +430,11 @@
jr z, .next
cp d
jr z, .is_switchmon
- ld a, SPRITE_ANIM_SEQ_03
+ ld a, SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
jr .join_back
.is_switchmon
- ld a, SPRITE_ANIM_SEQ_02
+ ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
.join_back
push hl
ld c, l
--- a/engine/mon_menu.asm
+++ b/engine/mon_menu.asm
@@ -9,8 +9,7 @@
; 24cd9
MonMenuOptions: ; 24cd9
-
-; Moves
+; moves
db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
@@ -25,8 +24,7 @@
db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
-
-; Options
+; options
db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
@@ -34,7 +32,6 @@
db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
-
db -1
; 24d19
@@ -216,7 +213,7 @@
.skip2
ld a, [Buffer1]
- cp NUM_MON_SUBMENU_ITEMS
+ cp NUM_MONMENU_ITEMS
jr z, .ok2
ld a, MONMENU_CANCEL
call AddMonMenuItem
@@ -261,7 +258,7 @@
xor a
ld [Buffer1], a
ld hl, Buffer2
- ld bc, NUM_MON_SUBMENU_ITEMS + 1
+ ld bc, NUM_MONMENU_ITEMS + 1
call ByteFill
ret
; 24e76
--- a/engine/move_mon.asm
+++ b/engine/move_mon.asm
@@ -1543,7 +1543,7 @@
call Divide
ld a, c
cp STAT_HP
- ld a, 5
+ ld a, STAT_MIN_NORMAL
jr nz, .not_hp
ld a, [CurPartyLevel]
ld b, a
@@ -1556,7 +1556,7 @@
ld [hMultiplicand + 1], a
.no_overflow_3
- ld a, 10
+ ld a, STAT_MIN_HP
.not_hp
ld b, a
--- a/engine/namingscreen.asm
+++ b/engine/namingscreen.asm
@@ -419,7 +419,7 @@
jr nz, .got_cursor_position
ld d, 8 * 8
.got_cursor_position
- ld a, SPRITE_ANIM_INDEX_02
+ ld a, SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
call _InitSpriteAnimStruct
ld a, c
ld [wNamingScreenCursorObjectPointer], a
@@ -1039,7 +1039,7 @@
; init mail icon
depixel 3, 2
- ld a, SPRITE_ANIM_INDEX_00
+ ld a, SPRITE_ANIM_INDEX_PARTY_MON
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
@@ -1174,7 +1174,7 @@
.init_blinking_cursor ; 1201b (4:601b)
depixel 9, 2
- ld a, SPRITE_ANIM_INDEX_09
+ ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
call _InitSpriteAnimStruct
ld a, c
ld [wNamingScreenCursorObjectPointer], a
--- a/engine/overworld.asm
+++ b/engine/overworld.asm
@@ -181,7 +181,7 @@
callba LoadEmote
call GetMapPermission
call CheckOutdoorMap
- ld c, EMOTE_0B
+ ld c, EMOTE_GRASS_RUSTLE
jr z, .outdoor
ld c, EMOTE_BOULDER_DUST
.outdoor
@@ -723,10 +723,7 @@
ENDM
EmotesPointers: ; 144d
-; dw source address
-; db length, bank
-; dw dest address
-
+; graphics address, length, starting tile
emote_header ShockEmote, 4, $78
emote_header QuestionEmote, 4, $78
emote_header HappyEmote, 4, $78
--- a/engine/phone.asm
+++ b/engine/phone.asm
@@ -769,7 +769,7 @@
db \6
dba \7 ; script 2
ENDM
-
+; entries correspond to PHONE_* constants
phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -751,7 +751,7 @@
PokegearRadio_Init: ; 910f9 (24:50f9)
call InitPokegearTilemap
depixel 4, 10, 4, 4
- ld a, SPRITE_ANIM_INDEX_14
+ ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@@ -2910,7 +2910,7 @@
callba GetSpeciesIcon
; Animation/palette
depixel 0, 0
- ld a, SPRITE_ANIM_INDEX_00
+ ld a, SPRITE_ANIM_INDEX_PARTY_MON
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
--- a/engine/radio.asm
+++ b/engine/radio.asm
@@ -234,7 +234,7 @@
jr z, .done
.next
dec hl
- ld de, WILDMON_GRASS_STRUCTURE_LENGTH
+ ld de, GRASS_WILDDATA_LENGTH
add hl, de
jr .loop
@@ -249,12 +249,12 @@
cp 3
jr z, .loop2
- ld bc, 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY
+ ld bc, 2 * NUM_GRASSMON
call AddNTimes
.loop3
; Choose one of the middle three Pokemon.
call Random
- and NUM_WILDMONS_PER_AREA_TIME_OF_DAY
+ and NUM_GRASSMON
cp 2
jr c, .loop3
cp 5
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -979,7 +979,7 @@
ret
GetScriptPerson:
- and a
+ and a ; PLAYER?
ret z
cp LAST_TALKED
ret z
@@ -2170,7 +2170,7 @@
ld b, a
push bc
inc hl
- ld bc, MAIL_MAX_LENGTH
+ ld bc, MAIL_MSG_LENGTH
ld de, wd002
ld a, [ScriptBank]
call FarCopyBytes
@@ -2955,9 +2955,9 @@
ld e, [hl]
ld d, $0
ld hl, wScriptStack
- add hl,de
- add hl,de
- add hl,de
+ add hl, de
+ add hl, de
+ add hl, de
ld a, [hli]
ld b, a
and " "
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -1067,7 +1067,7 @@
push bc
push af
depixel 12, 13
- ld a, SPRITE_ANIM_INDEX_SLOT_GOLEM
+ ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
--- a/engine/spawn_points.asm
+++ b/engine/spawn_points.asm
@@ -50,9 +50,8 @@
jr z, .spawn_n_a
ld l, a
ld h, 0
-rept 2 ; multiply hl by 4
- add hl,hl
-endr
+ add hl, hl
+ add hl, hl
ld de, SpawnPoints
add hl, de
ld a, [hli]
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -2,9 +2,9 @@
Special:: ; c01b
; Run script special de.
ld hl, SpecialsPointers
- add hl,de
- add hl,de
- add hl,de
+ add hl, de
+ add hl, de
+ add hl, de
ld b, [hl]
inc hl
ld a, [hli]
--- a/engine/sprite_anims.asm
+++ b/engine/sprite_anims.asm
@@ -13,54 +13,54 @@
; 8d25b
.Jumptable: ; 8d25b (23:525b)
-
- dw .Null ; null
- dw .one ; bouncing mon icon
- dw .two ; bouncing mon icon, selected
- dw .three ; bouncing mon icon, menu open
- dw .four
+; entries correspond to SPRITE_ANIM_SEQ_* constants
+ dw .Null
+ dw .PartyMon
+ dw .PartyMonSwitch
+ dw .PartyMonSelected
+ dw .sprite_anim_seq_04
dw .namingscreencursor
- dw .GameFreakLogo ; Game Freak logo
- dw .seven
- dw .eight
- dw .SlotsGolem ; Something to do with slots
- dw .SlotsChansey ; Something to do with slots
- dw .SlotsChanseyEgg ; Something to do with slots
- dw .mailcompositioncursor ; blinking cursor
- dw .thirteen
- dw .fourteen
- dw .fifteen
- dw .sixteen
- dw .seventeen
- dw .eighteen
- dw .EggShell ; finish egg hatching animation
- dw .RadioTuningKnob ; radio tuning knob
- dw .twentyone ; cut grass leaves
- dw .FlyFrom ; flying sprite
- dw .FlyLeaf ; flying leaves
- dw .FlyTo ; fly to
- dw .twentyfive
- dw .twentysix
- dw .twentyseven
- dw .twentyeight
- dw .twentynine ; intro suicune
- dw .thirty ; intro pichu wooper
- dw .thirtyone ; celebi
- dw .thirtytwo ; intro unown
- dw .thirtythree ; intro unown F with suicune leaping up
- dw .thirtyfour ; intro suicune facing away from us
+ dw .GameFreakLogo
+ dw .GSIntroStar
+ dw .GSIntroSparkle
+ dw .SlotsGolem
+ dw .SlotsChansey
+ dw .SlotsChanseyEgg
+ dw .MailCursor
+ dw .sprite_anim_seq_0D
+ dw .sprite_anim_seq_0E
+ dw .sprite_anim_seq_0F
+ dw .TradePokeBall
+ dw .TradeTubeBulge
+ dw .TrademonInTube
+ dw .RevealNewMon
+ dw .RadioTuningKnob
+ dw .CutLeaves
+ dw .FlyFrom
+ dw .FlyLeaf
+ dw .FlyTo
+ dw .sprite_anim_seq_19
+ dw .sprite_anim_seq_1A
+ dw .sprite_anim_seq_1B
+ dw .sprite_anim_seq_1C
+ dw .IntroSuicune
+ dw .IntroPichuWooper
+ dw .Celebi
+ dw .IntroUnown
+ dw .IntroUnownF
+ dw .IntroSuicuneAway
.Null: ; 8d2a1 (23:52a1)
ret
-.one ; 8d2a2 (23:52a2)
+.PartyMon ; 8d2a2 (23:52a2)
ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
cp [hl]
- jr z, .two
+ jr z, .PartyMonSwitch
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
@@ -71,7 +71,7 @@
ld [hl], $0
ret
-.two ; 8d2b9 (23:52b9)
+.PartyMonSwitch ; 8d2b9 (23:52b9)
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], 8 * 3
@@ -113,7 +113,7 @@
ld [hl], a
ret
-.three ; 8d2ea (23:52ea)
+.PartyMonSelected ; 8d2ea (23:52ea)
ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX
@@ -132,7 +132,7 @@
ld [hl], 8 * 3
ret
-.four ; 8d302 (23:5302)
+.sprite_anim_seq_04 ; 8d302 (23:5302)
call .AnonymousJumptable
jp hl
; 8d306 (23:5306)
@@ -203,7 +203,7 @@
ret
; 8d35a
-.twentyfive ; 8d35a (23:535a)
+.sprite_anim_seq_19 ; 8d35a (23:535a)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -221,7 +221,7 @@
callab NamingScreen_AnimateCursor
ret
-.mailcompositioncursor ; 8d373 (23:5373)
+.MailCursor ; 8d373 (23:5373)
callab ComposeMail_AnimateCursor
ret
@@ -229,7 +229,7 @@
callab GameFreakLogoJumper
ret
-.seven ; 8d381 (23:5381)
+.GSIntroStar ; 8d381 (23:5381)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -279,7 +279,7 @@
call DeinitializeSprite
ret
-.eight ; 8d3c3 (23:53c3)
+.GSIntroSparkle ; 8d3c3 (23:53c3)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hli]
@@ -404,33 +404,33 @@
ld [hl], a
ret
-.thirteen ; 8d46e (23:546e)
+.sprite_anim_seq_0D ; 8d46e (23:546e)
callab ret_e00ed
ret
-.fifteen ; 8d475 (23:5475)
+.sprite_anim_seq_0F ; 8d475 (23:5475)
callab AnimatePokegearModeIndicatorArrow
ret
-.fourteen ; 8d47c (23:547c)
+.sprite_anim_seq_0E ; 8d47c (23:547c)
callab DummyGame_InterpretJoypad_AnimateCursor
ret
-.sixteen ; 8d483 (23:5483)
+.TradePokeBall ; 8d483 (23:5483)
call .AnonymousJumptable
jp hl
; 8d487 (23:5487)
; Anonymous dw (see .AnonymousJumptable)
- dw .sixteen_zero
- dw .sixteen_one
- dw .sixteen_two
- dw .sixteen_three
- dw .sixteen_four
- dw .sixteen_five
+ dw .TradePokeBall_zero
+ dw .TradePokeBall_one
+ dw .TradePokeBall_two
+ dw .TradePokeBall_three
+ dw .TradePokeBall_four
+ dw .TradePokeBall_five
; 8d493
-.sixteen_zero ; 8d493
+.TradePokeBall_zero ; 8d493
ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
call _ReinitSpriteAnimFrame
@@ -444,7 +444,7 @@
ret
; 8d4a5
-.sixteen_two ; 8d4a5
+.TradePokeBall_two ; 8d4a5
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -460,7 +460,7 @@
add hl, bc
ld [hl], $40
-.sixteen_three ; 8d4b8
+.TradePokeBall_three ; 8d4b8
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -478,10 +478,10 @@
.asm_8d4cd
ld de, SFX_GOT_SAFARI_BALLS
call PlaySFX
- jr .sixteen_five
+ jr .TradePokeBall_five
; 8d4d5
-.sixteen_one ; 8d4d5
+.TradePokeBall_one ; 8d4d5
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld [hl], $4
@@ -496,7 +496,7 @@
ret
; 8d4e8
-.sixteen_four ; 8d4e8
+.TradePokeBall_four ; 8d4e8
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
@@ -542,12 +542,12 @@
call .IncrementJumptableIndex
ret
-.sixteen_five ; 8d526
+.TradePokeBall_five ; 8d526
call DeinitializeSprite
ret
; 8d52a
-.seventeen ; 8d52a (23:552a)
+.TradeTubeBulge ; 8d52a (23:552a)
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@@ -565,11 +565,11 @@
call DeinitializeSprite
ret
-.eighteen ; 8d543 (23:5543)
+.TrademonInTube ; 8d543 (23:5543)
callab TradeAnim_AnimateTrademonInTube
ret
-.EggShell: ; 8d54a (23:554a)
+.RevealNewMon: ; 8d54a (23:554a)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -610,7 +610,7 @@
callab AnimateTuningKnob
ret
-.twentyone ; 8d57f (23:557f)
+.CutLeaves ; 8d57f (23:557f)
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld e, [hl]
@@ -749,15 +749,15 @@
ld [hl], a
ret
-.twentyseven ; 8d630 (23:5630)
+.sprite_anim_seq_1B ; 8d630 (23:5630)
callba Function108bc7
ret
-.twentyeight ; 8d637 (23:5637)
+.sprite_anim_seq_1C ; 8d637 (23:5637)
callba Function108be0
ret
-.twentynine ; 8d63e (23:563e)
+.IntroSuicune ; 8d63e (23:563e)
ld a, [wcf65]
and a
jr nz, .asm_8d645
@@ -784,7 +784,7 @@
call _ReinitSpriteAnimFrame
ret
-.thirty ; 8d666 (23:5666)
+.IntroPichuWooper ; 8d666 (23:5666)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -803,7 +803,7 @@
.asm_8d67f
ret
-.thirtytwo ; 8d680 (23:5680)
+.IntroUnown ; 8d680 (23:5680)
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld d, [hl]
@@ -830,7 +830,7 @@
ld [hl], a
ret
-.thirtythree ; 8d6a2 (23:56a2)
+.IntroUnownF ; 8d6a2 (23:56a2)
ld a, [wcf64]
cp $40
ret nz
@@ -838,7 +838,7 @@
call _ReinitSpriteAnimFrame
ret
-.thirtyfour ; 8d6ae (23:56ae)
+.IntroSuicuneAway ; 8d6ae (23:56ae)
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
@@ -846,11 +846,11 @@
ld [hl], a
ret
-.twentysix ; 8d6b7 (23:56b7)
+.sprite_anim_seq_1A ; 8d6b7 (23:56b7)
callba AnimateEZChatCursor
ret
-.thirtyone ; 8d6be (23:56be)
+.Celebi ; 8d6be (23:56be)
callba UpdateCelebiPosition
ret
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -551,51 +551,97 @@
; 8d1c4
SpriteAnimSeqData: ; 8d1c4
+; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset sequence, tile
- db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_01, $00 ; 00
- db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 ; 01
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_05, $05 ; 02
- db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; 03
- db SPRITE_ANIM_FRAMESET_0B, SPRITE_ANIM_SEQ_07, $06 ; 04 gs intro star
- db SPRITE_ANIM_FRAMESET_0C, SPRITE_ANIM_SEQ_08, $06 ; 05 gs intro sparkle
- db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOT_GOLEM, $07 ; 06 slots golem
- db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; 07 slots chansey
- db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; 08 slots egg
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_0C, $05 ; 09
- db SPRITE_ANIM_FRAMESET_WALK_CYCLE, SPRITE_ANIM_SEQ_NULL, $00 ; 0a walk cycle
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 ; 0b
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 ; 0c
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 ; 0d
- db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_10, $00 ; 0e
- db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; 0f
- db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_11, $00 ; 10
- db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 11
- db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 12
- db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_13, $00 ; 13
- db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_14, $00 ; 14 radio tuning knob
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; 15 chris on magnet train
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_15, $00 ; 16 leaves when cutting down a tree
- db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; 17
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; 18 flying leaves
- db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; 19
- db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; 1a
- db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; 1b headbutt
- db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_13, $00 ; 1c
- db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; 1d
- db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; 1e kris on map
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; 1f kris on magnet train
- db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 ; 20
- db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 ; 21
- db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 ; 22
- db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 ; 23
- db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 ; 24
- db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 ; 25
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_1D, $00 ; 26
- db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_1E, $00 ; 27
- db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_1E, $00 ; 28
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_20, $00 ; 29 intro unown
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_21, $00 ; 2a
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_22, $00 ; 2b
+; SPRITE_ANIM_INDEX_PARTY_MON
+ db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00
+; SPRITE_ANIM_INDEX_01
+ db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00
+; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05
+; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00
+; SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06
+; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06
+; SPRITE_ANIM_INDEX_SLOTS_GOLEM
+ db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07
+; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07
+; SPRITE_ANIM_INDEX_SLOTS_EGG
+ db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07
+; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05
+; SPRITE_ANIM_INDEX_RED_WALK
+ db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_0B
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08
+; SPRITE_ANIM_INDEX_DUMMY_GAME
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08
+; SPRITE_ANIM_INDEX_0D
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08
+; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00
+; SPRITE_ANIM_INDEX_TRADE_POOF
+ db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+ db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00
+; SPRITE_ANIM_INDEX_TRADEMON_ICON
+ db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
+; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+ db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
+; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
+; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00
+; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_LEAF
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00
+; SPRITE_ANIM_INDEX_CUT_TREE
+ db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_FLY_LEAF
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00
+; SPRITE_ANIM_INDEX_EGG_CRACK
+ db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_1A
+ db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00
+; SPRITE_ANIM_INDEX_HEADBUTT
+ db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_EGG_HATCH
+ db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
+; SPRITE_ANIM_INDEX_1D
+ db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00
+; SPRITE_ANIM_INDEX_BLUE_WALK
+ db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_20
+ db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_21
+ db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_22
+ db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_23
+ db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00
+; SPRITE_ANIM_INDEX_24
+ db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00
+; SPRITE_ANIM_INDEX_25
+ db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00
+; SPRITE_ANIM_INDEX_INTRO_PICHU
+ db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
+; SPRITE_ANIM_INDEX_INTRO_WOOPER
+ db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
+; SPRITE_ANIM_INDEX_INTRO_UNOWN
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00
+; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00
+; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00
+; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c
; 8d24b
--- a/engine/trade/animation.asm
+++ b/engine/trade/animation.asm
@@ -1110,7 +1110,7 @@
TradeAnim_RockingBall: ; 2961b
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_0E
+ ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, $20
@@ -1121,7 +1121,7 @@
TradeAnim_DropBall: ; 2962c
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_0E
+ ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
@@ -1138,7 +1138,7 @@
TradeAnim_Poof: ; 29649
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_0F
+ ld a, SPRITE_ANIM_INDEX_TRADE_POOF
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, $10
@@ -1153,7 +1153,7 @@
ld a, %11100100 ; 3,2,1,0
call DmgToCgbObjPal0
depixel 5, 11
- ld a, SPRITE_ANIM_INDEX_10
+ ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, $40
--- a/engine/variables.asm
+++ b/engine/variables.asm
@@ -35,9 +35,9 @@
; 80671 (20:4671)
.VarActionTable: ; 80671
-; $00: copy [de] to StringBuffer2
-; $40: return address in de
-; $80: call function
+; RETVAR_STRBUF2: copy [de] to StringBuffer2
+; RETVAR_ADDR_DE: return address in de
+; RETVAR_EXECUTE: call function
dwb StringBuffer2, RETVAR_STRBUF2
dwb PartyCount, RETVAR_STRBUF2
dwb .BattleResult, RETVAR_EXECUTE
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -65,7 +65,7 @@
inc hl
inc hl
inc hl
- ld a, NUM_WILDMONS_PER_AREA_TIME_OF_DAY * 3
+ ld a, NUM_GRASSMON * 3
call .SearchMapForMon
jr nc, .next_grass
ld [de], a
@@ -73,7 +73,7 @@
.next_grass
pop hl
- ld bc, WILDMON_GRASS_STRUCTURE_LENGTH
+ ld bc, GRASS_WILDDATA_LENGTH
add hl, bc
jr .FindGrass
; 2a06e
--- a/event/celebi.asm
+++ b/event/celebi.asm
@@ -6,7 +6,7 @@
ld [VramState], a
call LoadCelebiGFX
depixel 0, 10, 7, 0
- ld a, SPRITE_ANIM_INDEX_2C
+ ld a, SPRITE_ANIM_INDEX_CELEBI
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@@ -13,7 +13,7 @@
ld [hl], $84
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
- ld [hl], SPRITE_ANIM_SEQ_1F
+ ld [hl], SPRITE_ANIM_SEQ_CELEBI
ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
ld a, $80
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -30,7 +30,7 @@
lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp
call Cut_Headbutt_GetPixelFacing
- ld a, SPRITE_ANIM_INDEX_1B
+ ld a, SPRITE_ANIM_INDEX_HEADBUTT
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
--- a/event/magnet_train.asm
+++ b/event/magnet_train.asm
@@ -323,7 +323,7 @@
ld d, 10 * 8 + 5
ld a, [wMagnetTrainPlayerSpriteInitX]
ld e, a
- ld b, SPRITE_ANIM_INDEX_15
+ ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
ld a, [rSVBK]
push af
ld a, $1
@@ -331,7 +331,7 @@
ld a, [PlayerGender]
bit 0, a
jr z, .got_gender
- ld b, SPRITE_ANIM_INDEX_1F
+ ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
.got_gender
pop af
--- a/event/mom_phone.asm
+++ b/event/mom_phone.asm
@@ -1,3 +1,7 @@
+const_value = 1
+ const MOM_ITEM
+ const MOM_DOLL
+
MomTriesToBuySomething:: ; fcfec
ld a, [wMapReentryScriptQueueFlag]
and a
@@ -214,7 +218,6 @@
dt \2
db \3, \4
ENDM
-
MomItems_1: ; fd136
momitem 0, 600, MOM_ITEM, SUPER_POTION
--- a/gbhw.asm
+++ b/gbhw.asm
@@ -36,6 +36,9 @@
OAM_Y_FLIP EQU 6
OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
+X_FLIP EQU 1 << OAM_X_FLIP
+Y_FLIP EQU 1 << OAM_Y_FLIP
+BEHIND_BG EQU 1 << OAM_PRIORITY
; Hardware registers
rJOYP EQU $ff00 ; Joypad (R/W)
--- a/home.asm
+++ b/home.asm
@@ -718,15 +718,14 @@
GetHPPal:: ; 3353
; Get palette for hp bar pixel length e in d.
-
ld d, HP_GREEN
ld a, e
cp (50 * 48 / 100)
ret nc
- inc d ; yellow
+ inc d ; HP_YELLOW
cp (21 * 48 / 100)
ret nc
- inc d ; red
+ inc d ; HP_RED
ret
; 335f
@@ -733,7 +732,6 @@
CountSetBits:: ; 0x335f
; Count the number of set bits in b bytes starting from hl.
; Return in a, c and [wd265].
-
ld c, 0
.next
ld a, [hli]
--- a/home/flag.asm
+++ b/home/flag.asm
@@ -38,9 +38,9 @@
; inputs:
; b: function
-; 0 clear bit
-; 1 set bit
-; 2 check bit
+; 0 RESET_FLAG clear bit
+; 1 SET_FLAG set bit
+; 2 CHECK_FLAG check bit
; de: bit number
; hl: index within bit table
@@ -75,9 +75,9 @@
; check b's value: 0, 1, 2
ld a, b
- cp 1
- jr c, .clearbit ; 0
- jr z, .setbit ; 1
+ cp SET_FLAG
+ jr c, .clearbit ; RESET_FLAG
+ jr z, .setbit ; SET_FLAG
; check bit
ld a, [hl]
--- a/home/map.asm
+++ b/home/map.asm
@@ -2284,8 +2284,6 @@
; 0x2cbd
GetMapHeaderMusic:: ; 2cbd
-RADIO_TOWER_MUSIC EQU 7
-
push hl
push bc
ld de, 6 ; music
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -485,7 +485,7 @@
ld e, a
ld d, 0
rept SPRITEMOVEDATA_FIELDS
- add hl,de
+ add hl, de
endr
ld a, [hl]
ret
@@ -498,7 +498,7 @@
ld d, 0
ld hl, SpriteMovementData + 1 ; init facing
rept SPRITEMOVEDATA_FIELDS
- add hl,de
+ add hl, de
endr
ld a, BANK(SpriteMovementData)
call GetFarByte
--- a/main.asm
+++ b/main.asm
@@ -1481,7 +1481,7 @@
jr nz, .othertrainer
ld a, [OtherTrainerID]
- cp 4 ; Rival in Indigo Plateau
+ cp RIVAL2_2_CHIKORITA ; Rival in Indigo Plateau
jr c, .done
ld de, MUSIC_CHAMPION_BATTLE
jr .done
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -72,7 +72,7 @@
iftrue .Chikorita
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_SILVER
- loadtrainer RIVAL1, RIVAL1_6
+ loadtrainer RIVAL1, RIVAL1_2_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -81,7 +81,7 @@
.Totodile:
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_SILVER
- loadtrainer RIVAL1, RIVAL1_4
+ loadtrainer RIVAL1, RIVAL1_2_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -90,7 +90,7 @@
.Chikorita:
winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText
setlasttalked AZALEATOWN_SILVER
- loadtrainer RIVAL1, RIVAL1_5
+ loadtrainer RIVAL1, RIVAL1_2_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -73,7 +73,7 @@
iftrue .chikorita
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
- loadtrainer RIVAL1, RIVAL1_9
+ loadtrainer RIVAL1, RIVAL1_3_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -82,7 +82,7 @@
.totodile
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
- loadtrainer RIVAL1, RIVAL1_7
+ loadtrainer RIVAL1, RIVAL1_3_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -91,7 +91,7 @@
.chikorita
winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
setlasttalked BURNEDTOWER1F_SILVER
- loadtrainer RIVAL1, RIVAL1_8
+ loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -125,7 +125,7 @@
iftrue .Chikorita
winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
setlasttalked CHERRYGROVECITY_SILVER
- loadtrainer RIVAL1, RIVAL1_3
+ loadtrainer RIVAL1, RIVAL1_1_TOTODILE
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
dontrestartmapmusic
@@ -136,7 +136,7 @@
.Totodile:
winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
setlasttalked CHERRYGROVECITY_SILVER
- loadtrainer RIVAL1, RIVAL1_1
+ loadtrainer RIVAL1, RIVAL1_1_CHIKORITA
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
dontrestartmapmusic
@@ -147,7 +147,7 @@
.Chikorita:
winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText
setlasttalked CHERRYGROVECITY_SILVER
- loadtrainer RIVAL1, RIVAL1_2
+ loadtrainer RIVAL1, RIVAL1_1_CYNDAQUIL
writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE
startbattle
dontrestartmapmusic
--- a/maps/IndigoPlateauPokeCenter1F.asm
+++ b/maps/IndigoPlateauPokeCenter1F.asm
@@ -102,7 +102,7 @@
; Cyndaquil
winlosstext PlateauRivalWinText, PlateauRivalLoseText
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
- loadtrainer RIVAL2, 6
+ loadtrainer RIVAL2, RIVAL2_2_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -111,7 +111,7 @@
.Totodile:
winlosstext PlateauRivalWinText, PlateauRivalLoseText
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
- loadtrainer RIVAL2, 4
+ loadtrainer RIVAL2, RIVAL2_2_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -120,7 +120,7 @@
.Chikorita:
winlosstext PlateauRivalWinText, PlateauRivalLoseText
setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER
- loadtrainer RIVAL2, 5
+ loadtrainer RIVAL2, RIVAL2_2_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -36,7 +36,7 @@
iftrue .Chikorita
winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
setlasttalked MOUNTMOON_SILVER
- loadtrainer RIVAL2, 3
+ loadtrainer RIVAL2, RIVAL2_1_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -45,7 +45,7 @@
.Totodile:
winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
setlasttalked MOUNTMOON_SILVER
- loadtrainer RIVAL2, 1
+ loadtrainer RIVAL2, RIVAL2_1_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -54,7 +54,7 @@
.Chikorita:
winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
setlasttalked MOUNTMOON_SILVER
- loadtrainer RIVAL2, 2
+ loadtrainer RIVAL2, RIVAL2_1_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -67,7 +67,7 @@
end
TrainerExecutivem2:
- trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, 2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script
+ trainer EVENT_BEAT_ROCKET_EXECUTIVEM_2, EXECUTIVEM, EXECUTIVEM_2, Executivem2SeenText, Executivem2BeatenText, 0, Executivem2Script
Executivem2Script:
end_if_just_battled
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -41,7 +41,7 @@
closetext
winlosstext FakeDirectorWinText, 0
setlasttalked RADIOTOWER5F_DIRECTOR
- loadtrainer EXECUTIVEM, 3
+ loadtrainer EXECUTIVEM, EXECUTIVEM_3
startbattle
reloadmapafterbattle
opentext
@@ -70,7 +70,7 @@
end
TrainerExecutivef1:
- trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, 1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script
+ trainer EVENT_BEAT_ROCKET_EXECUTIVEF_1, EXECUTIVEF, EXECUTIVEF_1, Executivef1SeenText, Executivef1BeatenText, 0, Executivef1Script
Executivef1Script:
end_if_just_battled
@@ -90,7 +90,7 @@
closetext
winlosstext RadioTower5FRocketBossWinText, 0
setlasttalked RADIOTOWER5F_ROCKET
- loadtrainer EXECUTIVEM, 1
+ loadtrainer EXECUTIVEM, EXECUTIVEM_1
startbattle
reloadmapafterbattle
opentext
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -102,7 +102,7 @@
applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
winlosstext UnknownText_0x6d45c, 0
setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL
- loadtrainer EXECUTIVEF, 2
+ loadtrainer EXECUTIVEF, EXECUTIVEF_2
startbattle
disappear TEAMROCKETBASEB2F_DRAGON
setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -109,7 +109,7 @@
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
winlosstext UnknownText_0x6e511, 0
setlasttalked TEAMROCKETBASEB3F_ROCKET1
- loadtrainer EXECUTIVEM, 4
+ loadtrainer EXECUTIVEM, EXECUTIVEM_4
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4
--- a/maps/UndergroundPathSwitchRoomEntrances.asm
+++ b/maps/UndergroundPathSwitchRoomEntrances.asm
@@ -178,7 +178,7 @@
iftrue .Chikorita
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
- loadtrainer RIVAL1, RIVAL1_12
+ loadtrainer RIVAL1, RIVAL1_4_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -187,7 +187,7 @@
.Totodile:
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
- loadtrainer RIVAL1, RIVAL1_10
+ loadtrainer RIVAL1, RIVAL1_4_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -196,7 +196,7 @@
.Chikorita:
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER
- loadtrainer RIVAL1, RIVAL1_11
+ loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -66,7 +66,7 @@
iftrue UnknownScript_0x7450f
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
setlasttalked VICTORYROAD_SILVER
- loadtrainer RIVAL1, RIVAL1_15
+ loadtrainer RIVAL1, RIVAL1_5_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -75,7 +75,7 @@
UnknownScript_0x744ff:
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
setlasttalked VICTORYROAD_SILVER
- loadtrainer RIVAL1, RIVAL1_13
+ loadtrainer RIVAL1, RIVAL1_5_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -84,7 +84,7 @@
UnknownScript_0x7450f:
winlosstext UnknownText_0x7463d, UnknownText_0x747aa
setlasttalked VICTORYROAD_SILVER
- loadtrainer RIVAL1, RIVAL1_14
+ loadtrainer RIVAL1, RIVAL1_5_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -72,11 +72,11 @@
map_header BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, FISHGROUP_SHORE
map_header NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, FISHGROUP_SHORE
map_header NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, 1<<7 | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
+ map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
+ map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
+ map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
+ map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
+ map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, (1 << RADIO_TOWER_MUSIC) | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
map_header RuinsofAlphOutside, TILESET_JOHTO_1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, FISHGROUP_POND
map_header RuinsofAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
map_header RuinsofAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
--- a/misc/fixed_words.asm
+++ b/misc/fixed_words.asm
@@ -3416,6 +3416,7 @@
; 11daac
MobileEZChatCategoryPointers: ; 11daac
+; entries correspond to EZCHAT_* constants
dw .Types ; 01
dw .Greetings ; 02
dw .People ; 03
--- a/tilesets/collision.asm
+++ b/tilesets/collision.asm
@@ -1,9 +1,3 @@
-
-; 00 land
-; 01 water
-; 0f wall
-; 11 talkable water
-; 1f talkable wall
NONTALKABLE EQUS "db"
TALKABLE EQUS "db TALK +"
NONTALKABLE LANDTILE ; 00
--- a/tilesets/tileset_headers.asm
+++ b/tilesets/tileset_headers.asm
@@ -1,3 +1,5 @@
+; entries correspond to TILESET_* constants
+
tileset: macro
dba \1GFX, \1Meta, \1Coll
dw \1Anim
--- a/trainers/trainers.asm
+++ b/trainers/trainers.asm
@@ -4,10 +4,10 @@
; Name
; String in format "TEXT@"
; Type
- ; 0: Level, species
- ; 1: Level, species, moves
- ; 2: Level, species, item
- ; 3: Level, species, item, moves
+ ; TRAINERTYPE_NORMAL: level, species
+ ; TRAINERTYPE_MOVES: level, species, moves
+ ; TRAINERTYPE_ITEM: level, species, item
+ ; TRAINERTYPE_ITEM_MOVES: level, species, item, moves
; Party
; Up to six monsters following the data type
; $ff
@@ -19,7 +19,7 @@
; FALKNER (1)
db "FALKNER@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -47,7 +47,7 @@
; WHITNEY (1)
db "WHITNEY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -75,7 +75,7 @@
; BUGSY (1)
db "BUGSY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -109,7 +109,7 @@
; MORTY (1)
db "MORTY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -149,7 +149,7 @@
; PRYCE (1)
db "PRYCE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -183,7 +183,7 @@
; JASMINE (1)
db "JASMINE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -217,7 +217,7 @@
; CHUCK (1)
db "CHUCK@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -245,7 +245,7 @@
; CLAIR (1)
db "CLAIR@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -285,7 +285,7 @@
; RIVAL1 (1)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 5, CHIKORITA
@@ -296,7 +296,7 @@
; RIVAL1 (2)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 5, CYNDAQUIL
@@ -307,7 +307,7 @@
; RIVAL1 (3)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 5, TOTODILE
@@ -318,7 +318,7 @@
; RIVAL1 (4)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, GASTLY
@@ -331,7 +331,7 @@
; RIVAL1 (5)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, GASTLY
@@ -344,7 +344,7 @@
; RIVAL1 (6)
db "?@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, GASTLY
@@ -357,7 +357,7 @@
; RIVAL1 (7)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -391,7 +391,7 @@
; RIVAL1 (8)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -425,7 +425,7 @@
; RIVAL1 (9)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -459,7 +459,7 @@
; RIVAL1 (10)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -499,7 +499,7 @@
; RIVAL1 (11)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -539,7 +539,7 @@
; RIVAL1 (12)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -579,7 +579,7 @@
; RIVAL1 (13)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -625,7 +625,7 @@
; RIVAL1 (14)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -671,7 +671,7 @@
; RIVAL1 (15)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -729,7 +729,7 @@
; WILL (1)
db "WILL@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -775,7 +775,7 @@
; CAL (1)
db "CAL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, CHIKORITA
@@ -788,7 +788,7 @@
; CAL (2)
db "CAL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, BAYLEEF
@@ -801,7 +801,7 @@
; CAL (3)
db "CAL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 50, MEGANIUM
@@ -820,7 +820,7 @@
; BRUNO (1)
db "BRUNO@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -866,7 +866,7 @@
; KAREN (1)
db "KAREN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -912,7 +912,7 @@
; KOGA (1)
db "KOGA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -958,7 +958,7 @@
; CHAMPION (1)
db "LANCE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1010,7 +1010,7 @@
; BROCK (1)
db "BROCK@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1056,7 +1056,7 @@
; MISTY (1)
db "MISTY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1096,7 +1096,7 @@
; LT_SURGE (1)
db "LT.SURGE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1142,7 +1142,7 @@
; SCIENTIST (1)
db "ROSS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, KOFFING
@@ -1154,7 +1154,7 @@
; SCIENTIST (2)
db "MITCH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, DITTO
@@ -1165,7 +1165,7 @@
; SCIENTIST (3)
db "JED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, MAGNEMITE
@@ -1178,7 +1178,7 @@
; SCIENTIST (4)
db "MARC@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, MAGNEMITE
@@ -1191,7 +1191,7 @@
; SCIENTIST (5)
db "RICH@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1213,7 +1213,7 @@
; ERIKA (1)
db "ERIKA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1253,7 +1253,7 @@
; YOUNGSTER (1)
db "JOEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 4, RATTATA
@@ -1264,7 +1264,7 @@
; YOUNGSTER (2)
db "MIKEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 2, PIDGEY
@@ -1276,7 +1276,7 @@
; YOUNGSTER (3)
db "ALBERT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, RATTATA
@@ -1288,7 +1288,7 @@
; YOUNGSTER (4)
db "GORDON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, WOOPER
@@ -1299,7 +1299,7 @@
; YOUNGSTER (5)
db "SAMUEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, RATTATA
@@ -1313,7 +1313,7 @@
; YOUNGSTER (6)
db "IAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, MANKEY
@@ -1325,7 +1325,7 @@
; YOUNGSTER (7)
db "JOEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, RATTATA
@@ -1336,7 +1336,7 @@
; YOUNGSTER (8)
db "JOEY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1352,7 +1352,7 @@
; YOUNGSTER (9)
db "WARREN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, FEAROW
@@ -1363,7 +1363,7 @@
; YOUNGSTER (10)
db "JIMMY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, RATICATE
@@ -1375,7 +1375,7 @@
; YOUNGSTER (11)
db "OWEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, GROWLITHE
@@ -1386,7 +1386,7 @@
; YOUNGSTER (12)
db "JASON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, SANDSLASH
@@ -1398,7 +1398,7 @@
; YOUNGSTER (13)
db "JOEY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1414,7 +1414,7 @@
; YOUNGSTER (14)
db "JOEY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1436,7 +1436,7 @@
; SCHOOLBOY (1)
db "JACK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, ODDISH
@@ -1448,7 +1448,7 @@
; SCHOOLBOY (2)
db "KIPP@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, VOLTORB
@@ -1462,7 +1462,7 @@
; SCHOOLBOY (3)
db "ALAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, TANGELA
@@ -1473,7 +1473,7 @@
; SCHOOLBOY (4)
db "JOHNNY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, BELLSPROUT
@@ -1486,7 +1486,7 @@
; SCHOOLBOY (5)
db "DANNY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, JYNX
@@ -1499,7 +1499,7 @@
; SCHOOLBOY (6)
db "TOMMY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, XATU
@@ -1511,7 +1511,7 @@
; SCHOOLBOY (7)
db "DUDLEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, ODDISH
@@ -1522,7 +1522,7 @@
; SCHOOLBOY (8)
db "JOE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, TANGELA
@@ -1534,7 +1534,7 @@
; SCHOOLBOY (9)
db "BILLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, PARAS
@@ -1548,7 +1548,7 @@
; SCHOOLBOY (10)
db "CHAD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, MR__MIME
@@ -1559,7 +1559,7 @@
; SCHOOLBOY (11)
db "NATE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, LEDIAN
@@ -1571,7 +1571,7 @@
; SCHOOLBOY (12)
db "RICKY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, AIPOM
@@ -1583,7 +1583,7 @@
; SCHOOLBOY (13)
db "JACK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, ODDISH
@@ -1595,7 +1595,7 @@
; SCHOOLBOY (14)
db "JACK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, GLOOM
@@ -1607,7 +1607,7 @@
; SCHOOLBOY (15)
db "ALAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, TANGELA
@@ -1619,7 +1619,7 @@
; SCHOOLBOY (16)
db "ALAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, NATU
@@ -1633,7 +1633,7 @@
; SCHOOLBOY (17)
db "CHAD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, MR__MIME
@@ -1645,7 +1645,7 @@
; SCHOOLBOY (18)
db "CHAD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, MR__MIME
@@ -1657,7 +1657,7 @@
; SCHOOLBOY (19)
db "JACK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GLOOM
@@ -1670,7 +1670,7 @@
; SCHOOLBOY (20)
db "JACK@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1698,7 +1698,7 @@
; SCHOOLBOY (21)
db "ALAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, NATU
@@ -1712,7 +1712,7 @@
; SCHOOLBOY (22)
db "ALAN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1746,7 +1746,7 @@
; SCHOOLBOY (23)
db "CHAD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, MR__MIME
@@ -1758,7 +1758,7 @@
; SCHOOLBOY (24)
db "CHAD@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1786,7 +1786,7 @@
; BIRD_KEEPER (1)
db "ROD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, PIDGEY
@@ -1798,7 +1798,7 @@
; BIRD_KEEPER (2)
db "ABE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, SPEAROW
@@ -1809,7 +1809,7 @@
; BIRD_KEEPER (3)
db "BRYAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, PIDGEY
@@ -1821,7 +1821,7 @@
; BIRD_KEEPER (4)
db "THEO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, PIDGEY
@@ -1836,7 +1836,7 @@
; BIRD_KEEPER (5)
db "TOBY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, DODUO
@@ -1849,7 +1849,7 @@
; BIRD_KEEPER (6)
db "DENIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, SPEAROW
@@ -1862,7 +1862,7 @@
; BIRD_KEEPER (7)
db "VANCE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, PIDGEOTTO
@@ -1874,7 +1874,7 @@
; BIRD_KEEPER (8)
db "HANK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, PIDGEY
@@ -1886,7 +1886,7 @@
; BIRD_KEEPER (9)
db "ROY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, FEAROW
@@ -1898,7 +1898,7 @@
; BIRD_KEEPER (10)
db "BORIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, DODUO
@@ -1911,7 +1911,7 @@
; BIRD_KEEPER (11)
db "BOB@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, NOCTOWL
@@ -1922,7 +1922,7 @@
; BIRD_KEEPER (12)
db "JOSE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, FARFETCH_D
@@ -1933,7 +1933,7 @@
; BIRD_KEEPER (13)
db "PETER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, PIDGEY
@@ -1946,7 +1946,7 @@
; BIRD_KEEPER (14)
db "JOSE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, FARFETCH_D
@@ -1957,7 +1957,7 @@
; BIRD_KEEPER (15)
db "PERRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, FARFETCH_D
@@ -1968,7 +1968,7 @@
; BIRD_KEEPER (16)
db "BRET@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, PIDGEOTTO
@@ -1980,7 +1980,7 @@
; BIRD_KEEPER (17)
db "JOSE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -1996,7 +1996,7 @@
; BIRD_KEEPER (18)
db "VANCE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, PIDGEOTTO
@@ -2008,7 +2008,7 @@
; BIRD_KEEPER (19)
db "VANCE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2036,7 +2036,7 @@
; LASS (1)
db "CARRIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2052,7 +2052,7 @@
; LASS (2)
db "BRIDGET@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, JIGGLYPUFF
@@ -2065,7 +2065,7 @@
; LASS (3)
db "ALICE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GLOOM
@@ -2078,7 +2078,7 @@
; LASS (4)
db "KRISE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, ODDISH
@@ -2090,7 +2090,7 @@
; LASS (5)
db "CONNIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, MARILL
@@ -2101,7 +2101,7 @@
; LASS (6)
db "LINDA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, BULBASAUR
@@ -2114,7 +2114,7 @@
; LASS (7)
db "LAURA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, GLOOM
@@ -2127,7 +2127,7 @@
; LASS (8)
db "SHANNON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, PARAS
@@ -2140,7 +2140,7 @@
; LASS (9)
db "MICHELLE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, SKIPLOOM
@@ -2153,7 +2153,7 @@
; LASS (10)
db "DANA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2175,7 +2175,7 @@
; LASS (11)
db "ELLEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, WIGGLYTUFF
@@ -2187,7 +2187,7 @@
; LASS (12)
db "CONNIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, MARILL
@@ -2198,7 +2198,7 @@
; LASS (13)
db "CONNIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, MARILL
@@ -2209,7 +2209,7 @@
; LASS (14)
db "DANA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2231,7 +2231,7 @@
; LASS (15)
db "DANA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2253,7 +2253,7 @@
; LASS (16)
db "DANA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2275,7 +2275,7 @@
; LASS (17)
db "DANA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2303,7 +2303,7 @@
; JANINE (1)
db "JANINE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2349,7 +2349,7 @@
; COOLTRAINERM (1)
db "NICK@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2377,7 +2377,7 @@
; COOLTRAINERM (2)
db "AARON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, IVYSAUR
@@ -2390,7 +2390,7 @@
; COOLTRAINERM (3)
db "PAUL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, DRATINI
@@ -2403,7 +2403,7 @@
; COOLTRAINERM (4)
db "CODY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, HORSEA
@@ -2415,7 +2415,7 @@
; COOLTRAINERM (5)
db "MIKE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, DRAGONAIR
@@ -2426,7 +2426,7 @@
; COOLTRAINERM (6)
db "GAVEN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2454,7 +2454,7 @@
; COOLTRAINERM (7)
db "GAVEN@"
- db 3 ; item + moves
+ db TRAINERTYPE_ITEM_MOVES
; party
@@ -2482,7 +2482,7 @@
; COOLTRAINERM (8)
db "RYAN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2504,7 +2504,7 @@
; COOLTRAINERM (9)
db "JAKE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2526,7 +2526,7 @@
; COOLTRAINERM (10)
db "GAVEN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2554,7 +2554,7 @@
; COOLTRAINERM (11)
db "BLAKE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2582,7 +2582,7 @@
; COOLTRAINERM (12)
db "BRIAN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2598,7 +2598,7 @@
; COOLTRAINERM (13)
db "ERICK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, BULBASAUR
@@ -2611,7 +2611,7 @@
; COOLTRAINERM (14)
db "ANDY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, BULBASAUR
@@ -2624,7 +2624,7 @@
; COOLTRAINERM (15)
db "TYLER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, BULBASAUR
@@ -2637,7 +2637,7 @@
; COOLTRAINERM (16)
db "SEAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, FLAREON
@@ -2650,7 +2650,7 @@
; COOLTRAINERM (17)
db "KEVIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 38, RHYHORN
@@ -2663,7 +2663,7 @@
; COOLTRAINERM (18)
db "STEVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, BULBASAUR
@@ -2676,7 +2676,7 @@
; COOLTRAINERM (19)
db "ALLEN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2692,7 +2692,7 @@
; COOLTRAINERM (20)
db "DARIN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2714,7 +2714,7 @@
; COOLTRAINERF (1)
db "GWEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, EEVEE
@@ -2728,7 +2728,7 @@
; COOLTRAINERF (2)
db "LOIS@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2750,7 +2750,7 @@
; COOLTRAINERF (3)
db "FRAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, SEADRA
@@ -2761,7 +2761,7 @@
; COOLTRAINERF (4)
db "LOLA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, DRATINI
@@ -2773,7 +2773,7 @@
; COOLTRAINERF (5)
db "KATE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, SHELLDER
@@ -2785,7 +2785,7 @@
; COOLTRAINERF (6)
db "IRENE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, GOLDEEN
@@ -2797,7 +2797,7 @@
; COOLTRAINERF (7)
db "KELLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, MARILL
@@ -2810,7 +2810,7 @@
; COOLTRAINERF (8)
db "JOYCE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2832,7 +2832,7 @@
; COOLTRAINERF (9)
db "BETH@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2848,7 +2848,7 @@
; COOLTRAINERF (10)
db "REENA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, STARMIE
@@ -2861,7 +2861,7 @@
; COOLTRAINERF (11)
db "MEGAN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2889,7 +2889,7 @@
; COOLTRAINERF (12)
db "BETH@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2905,7 +2905,7 @@
; COOLTRAINERF (13)
db "CAROL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, ELECTRODE
@@ -2918,7 +2918,7 @@
; COOLTRAINERF (14)
db "QUINN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 38, IVYSAUR
@@ -2930,7 +2930,7 @@
; COOLTRAINERF (15)
db "EMMA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, POLIWHIRL
@@ -2941,7 +2941,7 @@
; COOLTRAINERF (16)
db "CYBIL@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -2963,7 +2963,7 @@
; COOLTRAINERF (17)
db "JENN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, STARYU
@@ -2975,7 +2975,7 @@
; COOLTRAINERF (18)
db "BETH@"
- db 3 ; item + moves
+ db TRAINERTYPE_ITEM_MOVES
; party
@@ -2991,7 +2991,7 @@
; COOLTRAINERF (19)
db "REENA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, STARMIE
@@ -3004,7 +3004,7 @@
; COOLTRAINERF (20)
db "REENA@"
- db 3 ; item + moves
+ db TRAINERTYPE_ITEM_MOVES
; party
@@ -3032,7 +3032,7 @@
; COOLTRAINERF (21)
db "CARA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3066,7 +3066,7 @@
; BEAUTY (1)
db "VICTORIA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, SENTRET
@@ -3079,7 +3079,7 @@
; BEAUTY (2)
db "SAMANTHA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3101,7 +3101,7 @@
; BEAUTY (3)
db "JULIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3112,7 +3112,7 @@
; BEAUTY (4)
db "JACLYN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3123,7 +3123,7 @@
; BEAUTY (5)
db "BRENDA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, FURRET
@@ -3134,7 +3134,7 @@
; BEAUTY (6)
db "CASSIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, VILEPLUME
@@ -3146,7 +3146,7 @@
; BEAUTY (7)
db "CAROLINE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, MARILL
@@ -3159,7 +3159,7 @@
; BEAUTY (8)
db "CARLENE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3170,7 +3170,7 @@
; BEAUTY (9)
db "JESSICA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3181,7 +3181,7 @@
; BEAUTY (10)
db "RACHAEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3192,7 +3192,7 @@
; BEAUTY (11)
db "ANGELICA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3203,7 +3203,7 @@
; BEAUTY (12)
db "KENDRA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3214,7 +3214,7 @@
; BEAUTY (13)
db "VERONICA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3225,7 +3225,7 @@
; BEAUTY (14)
db "JULIA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, PARAS
@@ -3238,7 +3238,7 @@
; BEAUTY (15)
db "THERESA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, SENTRET
@@ -3249,7 +3249,7 @@
; BEAUTY (16)
db "VALERIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3271,7 +3271,7 @@
; BEAUTY (17)
db "OLIVIA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, CORSOLA
@@ -3288,7 +3288,7 @@
; POKEMANIAC (1)
db "LARRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, SLOWPOKE
@@ -3299,7 +3299,7 @@
; POKEMANIAC (2)
db "ANDREW@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, MAROWAK
@@ -3311,7 +3311,7 @@
; POKEMANIAC (3)
db "CALVIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, KANGASKHAN
@@ -3322,7 +3322,7 @@
; POKEMANIAC (4)
db "SHANE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, NIDORINA
@@ -3334,7 +3334,7 @@
; POKEMANIAC (5)
db "BEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, SLOWBRO
@@ -3345,7 +3345,7 @@
; POKEMANIAC (6)
db "BRENT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, LICKITUNG
@@ -3356,7 +3356,7 @@
; POKEMANIAC (7)
db "RON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, NIDOKING
@@ -3367,7 +3367,7 @@
; POKEMANIAC (8)
db "ETHAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, RHYHORN
@@ -3379,7 +3379,7 @@
; POKEMANIAC (9)
db "BRENT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, KANGASKHAN
@@ -3390,7 +3390,7 @@
; POKEMANIAC (10)
db "BRENT@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3406,7 +3406,7 @@
; POKEMANIAC (11)
db "ISSAC@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3422,7 +3422,7 @@
; POKEMANIAC (12)
db "DONALD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, SLOWPOKE
@@ -3434,7 +3434,7 @@
; POKEMANIAC (13)
db "ZACH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, RHYHORN
@@ -3445,7 +3445,7 @@
; POKEMANIAC (14)
db "BRENT@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -3461,7 +3461,7 @@
; POKEMANIAC (15)
db "MILLER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, NIDOKING
@@ -3479,7 +3479,7 @@
; GRUNTM (1)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, KOFFING
@@ -3490,7 +3490,7 @@
; GRUNTM (2)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, RATTATA
@@ -3503,7 +3503,7 @@
; GRUNTM (3)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, RATICATE
@@ -3515,7 +3515,7 @@
; GRUNTM (4)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, GRIMER
@@ -3528,7 +3528,7 @@
; GRUNTM (5)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, RATTATA
@@ -3543,7 +3543,7 @@
; GRUNTM (6)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, ZUBAT
@@ -3555,7 +3555,7 @@
; GRUNTM (7)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, KOFFING
@@ -3569,7 +3569,7 @@
; GRUNTM (8)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, WEEZING
@@ -3580,7 +3580,7 @@
; GRUNTM (9)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, RATICATE
@@ -3592,7 +3592,7 @@
; GRUNTM (10)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, ZUBAT
@@ -3605,7 +3605,7 @@
; GRUNTM (11)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, MUK
@@ -3618,7 +3618,7 @@
; GRUNTM (12)
db "EXECUTIVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, HOUNDOUR
@@ -3629,7 +3629,7 @@
; GRUNTM (13)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, RATTATA
@@ -3640,7 +3640,7 @@
; GRUNTM (14)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, RATICATE
@@ -3652,7 +3652,7 @@
; GRUNTM (15)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, GRIMER
@@ -3664,7 +3664,7 @@
; GRUNTM (16)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, RATTATA
@@ -3678,7 +3678,7 @@
; GRUNTM (17)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, GOLBAT
@@ -3689,7 +3689,7 @@
; GRUNTM (18)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, RATTATA
@@ -3702,7 +3702,7 @@
; GRUNTM (19)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, VENONAT
@@ -3714,7 +3714,7 @@
; GRUNTM (20)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, DROWZEE
@@ -3726,7 +3726,7 @@
; GRUNTM (21)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, ZUBAT
@@ -3739,7 +3739,7 @@
; GRUNTM (22)
db "EXECUTIVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, GOLBAT
@@ -3750,7 +3750,7 @@
; GRUNTM (23)
db "EXECUTIVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, KOFFING
@@ -3761,7 +3761,7 @@
; GRUNTM (24)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, KOFFING
@@ -3773,7 +3773,7 @@
; GRUNTM (25)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, KOFFING
@@ -3785,7 +3785,7 @@
; GRUNTM (26)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, RATTATA
@@ -3797,7 +3797,7 @@
; GRUNTM (27)
db "EXECUTIVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, ZUBAT
@@ -3808,7 +3808,7 @@
; GRUNTM (28)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, RATICATE
@@ -3819,7 +3819,7 @@
; GRUNTM (29)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, RATTATA
@@ -3831,7 +3831,7 @@
; GRUNTM (30)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, GOLBAT
@@ -3844,7 +3844,7 @@
; GRUNTM (31)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GOLBAT
@@ -3861,7 +3861,7 @@
; GENTLEMAN (1)
db "PRESTON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, GROWLITHE
@@ -3873,7 +3873,7 @@
; GENTLEMAN (2)
db "EDWARD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, PERSIAN
@@ -3884,7 +3884,7 @@
; GENTLEMAN (3)
db "GREGORY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, PIKACHU
@@ -3896,7 +3896,7 @@
; GENTLEMAN (4)
db "VIRGIL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, PONYTA
@@ -3907,7 +3907,7 @@
; GENTLEMAN (5)
db "ALFRED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, NOCTOWL
@@ -3924,7 +3924,7 @@
; SKIER (1)
db "ROXANNE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, JYNX
@@ -3935,7 +3935,7 @@
; SKIER (2)
db "CLARISSA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, DEWGONG
@@ -3952,7 +3952,7 @@
; TEACHER (1)
db "COLETTE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, CLEFAIRY
@@ -3963,7 +3963,7 @@
; TEACHER (2)
db "HILLARY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, AIPOM
@@ -3975,7 +3975,7 @@
; TEACHER (3)
db "SHIRLEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, JIGGLYPUFF
@@ -3992,7 +3992,7 @@
; SABRINA (1)
db "SABRINA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4026,7 +4026,7 @@
; BUG_CATCHER (1)
db "DON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 3, CATERPIE
@@ -4038,7 +4038,7 @@
; BUG_CATCHER (2)
db "ROB@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, BEEDRILL
@@ -4050,7 +4050,7 @@
; BUG_CATCHER (3)
db "ED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, BEEDRILL
@@ -4063,7 +4063,7 @@
; BUG_CATCHER (4)
db "WADE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 2, CATERPIE
@@ -4077,7 +4077,7 @@
; BUG_CATCHER (5)
db "BENNY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, WEEDLE
@@ -4090,7 +4090,7 @@
; BUG_CATCHER (6)
db "AL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 12, CATERPIE
@@ -4102,7 +4102,7 @@
; BUG_CATCHER (7)
db "JOSH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, PARAS
@@ -4113,7 +4113,7 @@
; BUG_CATCHER (8)
db "ARNIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, VENONAT
@@ -4124,7 +4124,7 @@
; BUG_CATCHER (9)
db "KEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, ARIADOS
@@ -4136,7 +4136,7 @@
; BUG_CATCHER (10)
db "WADE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, METAPOD
@@ -4150,7 +4150,7 @@
; BUG_CATCHER (11)
db "WADE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, BUTTERFREE
@@ -4164,7 +4164,7 @@
; BUG_CATCHER (12)
db "DOUG@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, ARIADOS
@@ -4175,7 +4175,7 @@
; BUG_CATCHER (13)
db "ARNIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, VENONAT
@@ -4186,7 +4186,7 @@
; BUG_CATCHER (14)
db "ARNIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4202,7 +4202,7 @@
; BUG_CATCHER (15)
db "WADE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4236,7 +4236,7 @@
; BUG_CATCHER (16)
db "WADE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4270,7 +4270,7 @@
; BUG_CATCHER (17)
db "ARNIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4286,7 +4286,7 @@
; BUG_CATCHER (18)
db "ARNIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4302,7 +4302,7 @@
; BUG_CATCHER (19)
db "WAYNE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 8, LEDYBA
@@ -4320,7 +4320,7 @@
; FISHER (1)
db "JUSTIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 5, MAGIKARP
@@ -4334,7 +4334,7 @@
; FISHER (2)
db "RALPH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, GOLDEEN
@@ -4345,7 +4345,7 @@
; FISHER (3)
db "ARNOLD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, TENTACRUEL
@@ -4356,7 +4356,7 @@
; FISHER (4)
db "KYLE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, SEAKING
@@ -4369,7 +4369,7 @@
; FISHER (5)
db "HENRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 8, POLIWAG
@@ -4381,7 +4381,7 @@
; FISHER (6)
db "MARVIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, MAGIKARP
@@ -4395,7 +4395,7 @@
; FISHER (7)
db "TULLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, QWILFISH
@@ -4406,7 +4406,7 @@
; FISHER (8)
db "ANDRE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, GYARADOS
@@ -4417,7 +4417,7 @@
; FISHER (9)
db "RAYMOND@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, MAGIKARP
@@ -4431,7 +4431,7 @@
; FISHER (10)
db "WILTON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, GOLDEEN
@@ -4444,7 +4444,7 @@
; FISHER (11)
db "EDGAR@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4466,7 +4466,7 @@
; FISHER (12)
db "JONAH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, SHELLDER
@@ -4480,7 +4480,7 @@
; FISHER (13)
db "MARTIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, REMORAID
@@ -4492,7 +4492,7 @@
; FISHER (14)
db "STEPHEN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, MAGIKARP
@@ -4506,7 +4506,7 @@
; FISHER (15)
db "BARNEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GYARADOS
@@ -4519,7 +4519,7 @@
; FISHER (16)
db "RALPH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, GOLDEEN
@@ -4530,7 +4530,7 @@
; FISHER (17)
db "RALPH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, QWILFISH
@@ -4542,7 +4542,7 @@
; FISHER (18)
db "TULLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, QWILFISH
@@ -4553,7 +4553,7 @@
; FISHER (19)
db "TULLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, GOLDEEN
@@ -4566,7 +4566,7 @@
; FISHER (20)
db "WILTON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, GOLDEEN
@@ -4579,7 +4579,7 @@
; FISHER (21)
db "SCOTT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, QWILFISH
@@ -4592,7 +4592,7 @@
; FISHER (22)
db "WILTON@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4620,7 +4620,7 @@
; FISHER (23)
db "RALPH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, QWILFISH
@@ -4632,7 +4632,7 @@
; FISHER (24)
db "RALPH@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4654,7 +4654,7 @@
; FISHER (25)
db "TULLY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -4688,7 +4688,7 @@
; SWIMMERM (1)
db "HAROLD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, REMORAID
@@ -4700,7 +4700,7 @@
; SWIMMERM (2)
db "SIMON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, TENTACOOL
@@ -4712,7 +4712,7 @@
; SWIMMERM (3)
db "RANDALL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, SHELLDER
@@ -4725,7 +4725,7 @@
; SWIMMERM (4)
db "CHARLIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, SHELLDER
@@ -4738,7 +4738,7 @@
; SWIMMERM (5)
db "GEORGE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, TENTACOOL
@@ -4754,7 +4754,7 @@
; SWIMMERM (6)
db "BERKE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, QWILFISH
@@ -4765,7 +4765,7 @@
; SWIMMERM (7)
db "KIRK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, GYARADOS
@@ -4777,7 +4777,7 @@
; SWIMMERM (8)
db "MATHEW@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, KRABBY
@@ -4788,7 +4788,7 @@
; SWIMMERM (9)
db "HAL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, SEEL
@@ -4801,7 +4801,7 @@
; SWIMMERM (10)
db "PATON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, PILOSWINE
@@ -4813,7 +4813,7 @@
; SWIMMERM (11)
db "DARYL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, SHELLDER
@@ -4826,7 +4826,7 @@
; SWIMMERM (12)
db "WALTER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, HORSEA
@@ -4839,7 +4839,7 @@
; SWIMMERM (13)
db "TONY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, STARYU
@@ -4852,7 +4852,7 @@
; SWIMMERM (14)
db "JEROME@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, SEADRA
@@ -4866,7 +4866,7 @@
; SWIMMERM (15)
db "TUCKER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, SHELLDER
@@ -4878,7 +4878,7 @@
; SWIMMERM (16)
db "RICK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, STARYU
@@ -4891,7 +4891,7 @@
; SWIMMERM (17)
db "CAMERON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, MARILL
@@ -4902,7 +4902,7 @@
; SWIMMERM (18)
db "SETH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, QUAGSIRE
@@ -4915,7 +4915,7 @@
; SWIMMERM (19)
db "JAMES@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, STARYU
@@ -4928,7 +4928,7 @@
; SWIMMERM (20)
db "LEWIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, STARYU
@@ -4941,7 +4941,7 @@
; SWIMMERM (21)
db "PARKER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, HORSEA
@@ -4960,7 +4960,7 @@
; SWIMMERF (1)
db "ELAINE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, STARYU
@@ -4971,7 +4971,7 @@
; SWIMMERF (2)
db "PAULA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, STARYU
@@ -4983,7 +4983,7 @@
; SWIMMERF (3)
db "KAYLEE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, GOLDEEN
@@ -4996,7 +4996,7 @@
; SWIMMERF (4)
db "SUSIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5018,7 +5018,7 @@
; SWIMMERF (5)
db "DENISE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, SEEL
@@ -5029,7 +5029,7 @@
; SWIMMERF (6)
db "KARA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, STARYU
@@ -5041,7 +5041,7 @@
; SWIMMERF (7)
db "WENDY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5063,7 +5063,7 @@
; SWIMMERF (8)
db "LISA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, JYNX
@@ -5074,7 +5074,7 @@
; SWIMMERF (9)
db "JILL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, DEWGONG
@@ -5085,7 +5085,7 @@
; SWIMMERF (10)
db "MARY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, SEAKING
@@ -5096,7 +5096,7 @@
; SWIMMERF (11)
db "KATIE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, DEWGONG
@@ -5107,7 +5107,7 @@
; SWIMMERF (12)
db "DAWN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, SEAKING
@@ -5118,7 +5118,7 @@
; SWIMMERF (13)
db "TARA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, SEAKING
@@ -5129,7 +5129,7 @@
; SWIMMERF (14)
db "NICOLE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, MARILL
@@ -5142,7 +5142,7 @@
; SWIMMERF (15)
db "LORI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, STARMIE
@@ -5154,7 +5154,7 @@
; SWIMMERF (16)
db "JODY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, SEAKING
@@ -5165,7 +5165,7 @@
; SWIMMERF (17)
db "NIKKI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, SEEL
@@ -5179,7 +5179,7 @@
; SWIMMERF (18)
db "DIANA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, GOLDUCK
@@ -5190,7 +5190,7 @@
; SWIMMERF (19)
db "BRIANA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, SEAKING
@@ -5208,7 +5208,7 @@
; SAILOR (1)
db "EUGENE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, POLIWHIRL
@@ -5221,7 +5221,7 @@
; SAILOR (2)
db "HUEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, POLIWAG
@@ -5233,7 +5233,7 @@
; SAILOR (3)
db "TERRELL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, POLIWHIRL
@@ -5244,7 +5244,7 @@
; SAILOR (4)
db "KENT@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5266,7 +5266,7 @@
; SAILOR (5)
db "ERNEST@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, MACHOP
@@ -5279,7 +5279,7 @@
; SAILOR (6)
db "JEFF@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, RATICATE
@@ -5291,7 +5291,7 @@
; SAILOR (7)
db "GARRETT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, KINGLER
@@ -5302,7 +5302,7 @@
; SAILOR (8)
db "KENNETH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, MACHOP
@@ -5316,7 +5316,7 @@
; SAILOR (9)
db "STANLY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, MACHOP
@@ -5329,7 +5329,7 @@
; SAILOR (10)
db "HARRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, WOOPER
@@ -5340,7 +5340,7 @@
; SAILOR (11)
db "HUEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, POLIWHIRL
@@ -5352,7 +5352,7 @@
; SAILOR (12)
db "HUEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, POLIWHIRL
@@ -5364,7 +5364,7 @@
; SAILOR (13)
db "HUEY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5392,7 +5392,7 @@
; SUPER_NERD (1)
db "STAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, GRIMER
@@ -5403,7 +5403,7 @@
; SUPER_NERD (2)
db "ERIC@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 11, GRIMER
@@ -5415,7 +5415,7 @@
; SUPER_NERD (3)
db "GREGG@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, MAGNEMITE
@@ -5428,7 +5428,7 @@
; SUPER_NERD (4)
db "JAY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, KOFFING
@@ -5440,7 +5440,7 @@
; SUPER_NERD (5)
db "DAVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, DITTO
@@ -5451,7 +5451,7 @@
; SUPER_NERD (6)
db "SAM@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, GRIMER
@@ -5463,7 +5463,7 @@
; SUPER_NERD (7)
db "TOM@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, MAGNEMITE
@@ -5476,7 +5476,7 @@
; SUPER_NERD (8)
db "PAT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, PORYGON
@@ -5487,7 +5487,7 @@
; SUPER_NERD (9)
db "SHAWN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, MAGNEMITE
@@ -5500,7 +5500,7 @@
; SUPER_NERD (10)
db "TERU@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, MAGNEMITE
@@ -5514,7 +5514,7 @@
; SUPER_NERD (11)
db "RUSS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, MAGNEMITE
@@ -5527,7 +5527,7 @@
; SUPER_NERD (12)
db "NORTON@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5543,7 +5543,7 @@
; SUPER_NERD (13)
db "HUGH@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5559,7 +5559,7 @@
; SUPER_NERD (14)
db "MARKUS@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5581,7 +5581,7 @@
; RIVAL2 (1)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5627,7 +5627,7 @@
; RIVAL2 (2)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5673,7 +5673,7 @@
; RIVAL2 (3)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5719,7 +5719,7 @@
; RIVAL2 (4)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5765,7 +5765,7 @@
; RIVAL2 (5)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5811,7 +5811,7 @@
; RIVAL2 (6)
db "?@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -5863,7 +5863,7 @@
; GUITARIST (1)
db "CLYDE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, ELECTABUZZ
@@ -5874,7 +5874,7 @@
; GUITARIST (2)
db "VINCENT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, MAGNEMITE
@@ -5894,7 +5894,7 @@
; HIKER (1)
db "ANTHONY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, GEODUDE
@@ -5906,7 +5906,7 @@
; HIKER (2)
db "RUSSELL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 4, GEODUDE
@@ -5919,7 +5919,7 @@
; HIKER (3)
db "PHILLIP@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, GEODUDE
@@ -5932,7 +5932,7 @@
; HIKER (4)
db "LEONARD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, GEODUDE
@@ -5944,7 +5944,7 @@
; HIKER (5)
db "ANTHONY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 11, GEODUDE
@@ -5956,7 +5956,7 @@
; HIKER (6)
db "BENJAMIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, DIGLETT
@@ -5969,7 +5969,7 @@
; HIKER (7)
db "ERIK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, MACHOP
@@ -5982,7 +5982,7 @@
; HIKER (8)
db "MICHAEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, GEODUDE
@@ -5995,7 +5995,7 @@
; HIKER (9)
db "PARRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, ONIX
@@ -6007,7 +6007,7 @@
; HIKER (10)
db "TIMOTHY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6029,7 +6029,7 @@
; HIKER (11)
db "BAILEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, GEODUDE
@@ -6044,7 +6044,7 @@
; HIKER (12)
db "ANTHONY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, GRAVELER
@@ -6057,7 +6057,7 @@
; HIKER (13)
db "TIM@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, GRAVELER
@@ -6070,7 +6070,7 @@
; HIKER (14)
db "NOLAND@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, SANDSLASH
@@ -6082,7 +6082,7 @@
; HIKER (15)
db "SIDNEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, DUGTRIO
@@ -6094,7 +6094,7 @@
; HIKER (16)
db "KENNY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, SANDSLASH
@@ -6108,7 +6108,7 @@
; HIKER (17)
db "JIM@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, MACHAMP
@@ -6119,7 +6119,7 @@
; HIKER (18)
db "DANIEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 11, ONIX
@@ -6130,7 +6130,7 @@
; HIKER (19)
db "PARRY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6158,7 +6158,7 @@
; HIKER (20)
db "PARRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, ONIX
@@ -6169,7 +6169,7 @@
; HIKER (21)
db "ANTHONY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GRAVELER
@@ -6182,7 +6182,7 @@
; HIKER (22)
db "ANTHONY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6216,7 +6216,7 @@
; BIKER (1)
db "BENNY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, KOFFING
@@ -6229,7 +6229,7 @@
; BIKER (2)
db "KAZU@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, KOFFING
@@ -6242,7 +6242,7 @@
; BIKER (3)
db "DWAYNE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, KOFFING
@@ -6256,7 +6256,7 @@
; BIKER (4)
db "HARRIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, FLAREON
@@ -6267,7 +6267,7 @@
; BIKER (5)
db "ZEKE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, KOFFING
@@ -6279,7 +6279,7 @@
; BIKER (6)
db "CHARLES@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, KOFFING
@@ -6292,7 +6292,7 @@
; BIKER (7)
db "RILEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, WEEZING
@@ -6303,7 +6303,7 @@
; BIKER (8)
db "JOEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, MAGMAR
@@ -6315,7 +6315,7 @@
; BIKER (9)
db "GLENN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, KOFFING
@@ -6334,7 +6334,7 @@
; BLAINE (1)
db "BLAINE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6368,7 +6368,7 @@
; BURGLAR (1)
db "DUNCAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, KOFFING
@@ -6381,7 +6381,7 @@
; BURGLAR (2)
db "EDDIE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6403,7 +6403,7 @@
; BURGLAR (3)
db "COREY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, KOFFING
@@ -6423,7 +6423,7 @@
; FIREBREATHER (1)
db "OTIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, MAGMAR
@@ -6436,7 +6436,7 @@
; FIREBREATHER (2)
db "DICK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, CHARMELEON
@@ -6447,7 +6447,7 @@
; FIREBREATHER (3)
db "NED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, KOFFING
@@ -6460,7 +6460,7 @@
; FIREBREATHER (4)
db "BURT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, KOFFING
@@ -6472,7 +6472,7 @@
; FIREBREATHER (5)
db "BILL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, KOFFING
@@ -6484,7 +6484,7 @@
; FIREBREATHER (6)
db "WALT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 11, MAGMAR
@@ -6496,7 +6496,7 @@
; FIREBREATHER (7)
db "RAY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, VULPIX
@@ -6507,7 +6507,7 @@
; FIREBREATHER (8)
db "LYLE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, KOFFING
@@ -6526,7 +6526,7 @@
; JUGGLER (1)
db "IRWIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 2, VOLTORB
@@ -6540,7 +6540,7 @@
; JUGGLER (2)
db "FRITZ@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, MR__MIME
@@ -6553,7 +6553,7 @@
; JUGGLER (3)
db "HORTON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, ELECTRODE
@@ -6567,7 +6567,7 @@
; JUGGLER (4)
db "IRWIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, VOLTORB
@@ -6581,7 +6581,7 @@
; JUGGLER (5)
db "IRWIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, VOLTORB
@@ -6595,7 +6595,7 @@
; JUGGLER (6)
db "IRWIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, VOLTORB
@@ -6615,7 +6615,7 @@
; BLACKBELT_T (1)
db "KENJI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 27, ONIX
@@ -6629,7 +6629,7 @@
; BLACKBELT_T (2)
db "YOSHI@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6645,7 +6645,7 @@
; BLACKBELT_T (3)
db "KENJI@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6679,7 +6679,7 @@
; BLACKBELT_T (4)
db "LAO@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6695,7 +6695,7 @@
; BLACKBELT_T (5)
db "NOB@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6717,7 +6717,7 @@
; BLACKBELT_T (6)
db "KIYO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, HITMONLEE
@@ -6729,7 +6729,7 @@
; BLACKBELT_T (7)
db "LUNG@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, MANKEY
@@ -6742,7 +6742,7 @@
; BLACKBELT_T (8)
db "KENJI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 28, MACHOKE
@@ -6753,7 +6753,7 @@
; BLACKBELT_T (9)
db "WAI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, MACHOKE
@@ -6772,7 +6772,7 @@
; EXECUTIVEM (1)
db "EXECUTIVE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6800,7 +6800,7 @@
; EXECUTIVEM (2)
db "EXECUTIVE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6816,7 +6816,7 @@
; EXECUTIVEM (3)
db "EXECUTIVE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6862,7 +6862,7 @@
; EXECUTIVEM (4)
db "EXECUTIVE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, ZUBAT
@@ -6881,7 +6881,7 @@
; PSYCHIC_T (1)
db "NATHAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, GIRAFARIG
@@ -6892,7 +6892,7 @@
; PSYCHIC_T (2)
db "FRANKLIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, KADABRA
@@ -6903,7 +6903,7 @@
; PSYCHIC_T (3)
db "HERMAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, EXEGGCUTE
@@ -6916,7 +6916,7 @@
; PSYCHIC_T (4)
db "FIDEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, XATU
@@ -6927,7 +6927,7 @@
; PSYCHIC_T (5)
db "GREG@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6943,7 +6943,7 @@
; PSYCHIC_T (6)
db "NORMAN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6965,7 +6965,7 @@
; PSYCHIC_T (7)
db "MARK@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -6993,7 +6993,7 @@
; PSYCHIC_T (8)
db "PHIL@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7015,7 +7015,7 @@
; PSYCHIC_T (9)
db "RICHARD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, ESPEON
@@ -7026,7 +7026,7 @@
; PSYCHIC_T (10)
db "GILBERT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, STARMIE
@@ -7039,7 +7039,7 @@
; PSYCHIC_T (11)
db "JARED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, MR__MIME
@@ -7052,7 +7052,7 @@
; PSYCHIC_T (12)
db "RODNEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 29, DROWZEE
@@ -7070,7 +7070,7 @@
; PICNICKER (1)
db "LIZ@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, NIDORAN_F
@@ -7081,7 +7081,7 @@
; PICNICKER (2)
db "GINA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, HOPPIP
@@ -7094,7 +7094,7 @@
; PICNICKER (3)
db "BROOKE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7110,7 +7110,7 @@
; PICNICKER (4)
db "KIM@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, VULPIX
@@ -7121,7 +7121,7 @@
; PICNICKER (5)
db "CINDY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, NIDOQUEEN
@@ -7132,7 +7132,7 @@
; PICNICKER (6)
db "HOPE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, FLAAFFY
@@ -7143,7 +7143,7 @@
; PICNICKER (7)
db "SHARON@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, FURRET
@@ -7155,7 +7155,7 @@
; PICNICKER (8)
db "DEBRA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, SEAKING
@@ -7166,7 +7166,7 @@
; PICNICKER (9)
db "GINA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, HOPPIP
@@ -7179,7 +7179,7 @@
; PICNICKER (10)
db "ERIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, PONYTA
@@ -7191,7 +7191,7 @@
; PICNICKER (11)
db "LIZ@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, WEEPINBELL
@@ -7203,7 +7203,7 @@
; PICNICKER (12)
db "LIZ@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 19, WEEPINBELL
@@ -7216,7 +7216,7 @@
; PICNICKER (13)
db "HEIDI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, SKIPLOOM
@@ -7228,7 +7228,7 @@
; PICNICKER (14)
db "EDNA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, NIDORINA
@@ -7240,7 +7240,7 @@
; PICNICKER (15)
db "GINA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, SKIPLOOM
@@ -7253,7 +7253,7 @@
; PICNICKER (16)
db "TIFFANY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7269,7 +7269,7 @@
; PICNICKER (17)
db "TIFFANY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7285,7 +7285,7 @@
; PICNICKER (18)
db "ERIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, PONYTA
@@ -7297,7 +7297,7 @@
; PICNICKER (19)
db "TANYA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, EXEGGUTOR
@@ -7308,7 +7308,7 @@
; PICNICKER (20)
db "TIFFANY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7324,7 +7324,7 @@
; PICNICKER (21)
db "ERIN@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7352,7 +7352,7 @@
; PICNICKER (22)
db "LIZ@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, WEEPINBELL
@@ -7365,7 +7365,7 @@
; PICNICKER (23)
db "LIZ@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7393,7 +7393,7 @@
; PICNICKER (24)
db "GINA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, SKIPLOOM
@@ -7406,7 +7406,7 @@
; PICNICKER (25)
db "GINA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7434,7 +7434,7 @@
; PICNICKER (26)
db "TIFFANY@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7456,7 +7456,7 @@
; CAMPER (1)
db "ROLAND@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, NIDORAN_M
@@ -7467,7 +7467,7 @@
; CAMPER (2)
db "TODD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, PSYDUCK
@@ -7478,7 +7478,7 @@
; CAMPER (3)
db "IVAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, DIGLETT
@@ -7491,7 +7491,7 @@
; CAMPER (4)
db "ELLIOT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 13, SANDSHREW
@@ -7503,7 +7503,7 @@
; CAMPER (5)
db "BARRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 36, NIDOKING
@@ -7514,7 +7514,7 @@
; CAMPER (6)
db "LLOYD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, NIDOKING
@@ -7525,7 +7525,7 @@
; CAMPER (7)
db "DEAN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, GOLDUCK
@@ -7537,7 +7537,7 @@
; CAMPER (8)
db "SID@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, DUGTRIO
@@ -7550,7 +7550,7 @@
; CAMPER (9)
db "HARVEY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, NIDORINO
@@ -7561,7 +7561,7 @@
; CAMPER (10)
db "DALE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 15, NIDORINO
@@ -7572,7 +7572,7 @@
; CAMPER (11)
db "TED@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, MANKEY
@@ -7583,7 +7583,7 @@
; CAMPER (12)
db "TODD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, GEODUDE
@@ -7596,7 +7596,7 @@
; CAMPER (13)
db "TODD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 23, GEODUDE
@@ -7609,7 +7609,7 @@
; CAMPER (14)
db "THOMAS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, GRAVELER
@@ -7623,7 +7623,7 @@
; CAMPER (15)
db "LEROY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, GRAVELER
@@ -7637,7 +7637,7 @@
; CAMPER (16)
db "DAVID@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, GRAVELER
@@ -7651,7 +7651,7 @@
; CAMPER (17)
db "JOHN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 33, GRAVELER
@@ -7665,7 +7665,7 @@
; CAMPER (18)
db "JERRY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 37, SANDSLASH
@@ -7676,7 +7676,7 @@
; CAMPER (19)
db "SPENCER@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, SANDSHREW
@@ -7689,7 +7689,7 @@
; CAMPER (20)
db "TODD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, GRAVELER
@@ -7703,7 +7703,7 @@
; CAMPER (21)
db "TODD@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7737,7 +7737,7 @@
; CAMPER (22)
db "QUENTIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 30, FEAROW
@@ -7756,7 +7756,7 @@
; EXECUTIVEF (1)
db "EXECUTIVE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7784,7 +7784,7 @@
; EXECUTIVEF (2)
db "EXECUTIVE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -7818,7 +7818,7 @@
; SAGE (1)
db "CHOW@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 3, BELLSPROUT
@@ -7831,7 +7831,7 @@
; SAGE (2)
db "NICO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 3, BELLSPROUT
@@ -7844,7 +7844,7 @@
; SAGE (3)
db "JIN@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, BELLSPROUT
@@ -7855,7 +7855,7 @@
; SAGE (4)
db "TROY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, BELLSPROUT
@@ -7867,7 +7867,7 @@
; SAGE (5)
db "JEFFREY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 22, HAUNTER
@@ -7878,7 +7878,7 @@
; SAGE (6)
db "PING@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 16, GASTLY
@@ -7893,7 +7893,7 @@
; SAGE (7)
db "EDMOND@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 3, BELLSPROUT
@@ -7906,7 +7906,7 @@
; SAGE (8)
db "NEAL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 6, BELLSPROUT
@@ -7917,7 +7917,7 @@
; SAGE (9)
db "LI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 7, BELLSPROUT
@@ -7930,7 +7930,7 @@
; SAGE (10)
db "GAKU@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, NOCTOWL
@@ -7942,7 +7942,7 @@
; SAGE (11)
db "MASA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, NOCTOWL
@@ -7954,7 +7954,7 @@
; SAGE (12)
db "KOJI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 32, NOCTOWL
@@ -7972,7 +7972,7 @@
; MEDIUM (1)
db "MARTHA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 18, GASTLY
@@ -7985,7 +7985,7 @@
; MEDIUM (2)
db "GRACE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, HAUNTER
@@ -7997,7 +7997,7 @@
; MEDIUM (3)
db "BETHANY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, HAUNTER
@@ -8008,7 +8008,7 @@
; MEDIUM (4)
db "MARGRET@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, HAUNTER
@@ -8019,7 +8019,7 @@
; MEDIUM (5)
db "ETHEL@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, HAUNTER
@@ -8030,7 +8030,7 @@
; MEDIUM (6)
db "REBECCA@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, DROWZEE
@@ -8042,7 +8042,7 @@
; MEDIUM (7)
db "DORIS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 34, SLOWPOKE
@@ -8060,7 +8060,7 @@
; BOARDER (1)
db "RONALD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, SEEL
@@ -8073,7 +8073,7 @@
; BOARDER (2)
db "BRAD@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, SWINUB
@@ -8085,7 +8085,7 @@
; BOARDER (3)
db "DOUGLAS@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 24, SHELLDER
@@ -8104,7 +8104,7 @@
; POKEFANM (1)
db "WILLIAM@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 14, RAICHU, BERRY
@@ -8115,7 +8115,7 @@
; POKEFANM (2)
db "DEREK@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 17, PIKACHU, BERRY
@@ -8126,7 +8126,7 @@
; POKEFANM (3)
db "ROBERT@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 33, QUAGSIRE, BERRY
@@ -8137,7 +8137,7 @@
; POKEFANM (4)
db "JOSHUA@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 23, PIKACHU, BERRY
@@ -8153,7 +8153,7 @@
; POKEFANM (5)
db "CARTER@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 29, BULBASAUR, BERRY
@@ -8166,7 +8166,7 @@
; POKEFANM (6)
db "TREVOR@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 33, PSYDUCK, BERRY
@@ -8177,7 +8177,7 @@
; POKEFANM (7)
db "BRANDON@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 13, SNUBBULL, BERRY
@@ -8188,7 +8188,7 @@
; POKEFANM (8)
db "JEREMY@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 28, MEOWTH, BERRY
@@ -8201,7 +8201,7 @@
; POKEFANM (9)
db "COLIN@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 32, DELIBIRD, BERRY
@@ -8212,7 +8212,7 @@
; POKEFANM (10)
db "DEREK@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 19, PIKACHU, BERRY
@@ -8223,7 +8223,7 @@
; POKEFANM (11)
db "DEREK@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 36, PIKACHU, BERRY
@@ -8234,7 +8234,7 @@
; POKEFANM (12)
db "ALEX@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 29, NIDOKING, BERRY
@@ -8247,7 +8247,7 @@
; POKEFANM (13)
db "REX@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 35, PHANPY, BERRY
@@ -8258,7 +8258,7 @@
; POKEFANM (14)
db "ALLAN@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 35, TEDDIURSA, BERRY
@@ -8275,7 +8275,7 @@
; KIMONO_GIRL (1)
db "NAOKO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 20, SKIPLOOM
@@ -8288,7 +8288,7 @@
; KIMONO_GIRL (2)
db "NAOKO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, FLAREON
@@ -8299,7 +8299,7 @@
; KIMONO_GIRL (3)
db "SAYO@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, ESPEON
@@ -8310,7 +8310,7 @@
; KIMONO_GIRL (4)
db "ZUKI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, UMBREON
@@ -8321,7 +8321,7 @@
; KIMONO_GIRL (5)
db "KUNI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, VAPOREON
@@ -8332,7 +8332,7 @@
; KIMONO_GIRL (6)
db "MIKI@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, JOLTEON
@@ -8349,7 +8349,7 @@
; TWINS (1)
db "AMY & MAY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, SPINARAK
@@ -8361,7 +8361,7 @@
; TWINS (2)
db "ANN & ANNE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8383,7 +8383,7 @@
; TWINS (3)
db "ANN & ANNE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8405,7 +8405,7 @@
; TWINS (4)
db "AMY & MAY@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 10, LEDYBA
@@ -8417,7 +8417,7 @@
; TWINS (5)
db "JO & ZOE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, VICTREEBEL
@@ -8429,7 +8429,7 @@
; TWINS (6)
db "JO & ZOE@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 35, VILEPLUME
@@ -8441,7 +8441,7 @@
; TWINS (7)
db "MEG & PEG@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, TEDDIURSA
@@ -8453,7 +8453,7 @@
; TWINS (8)
db "MEG & PEG@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 31, PHANPY
@@ -8465,7 +8465,7 @@
; TWINS (9)
db "LEA & PIA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8487,7 +8487,7 @@
; TWINS (10)
db "LEA & PIA@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8515,7 +8515,7 @@
; POKEFANF (1)
db "BEVERLY@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 14, SNUBBULL, BERRY
@@ -8526,7 +8526,7 @@
; POKEFANF (2)
db "RUTH@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 17, PIKACHU, BERRY
@@ -8537,7 +8537,7 @@
; POKEFANF (3)
db "BEVERLY@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 18, SNUBBULL, BERRY
@@ -8548,7 +8548,7 @@
; POKEFANF (4)
db "BEVERLY@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 30, GRANBULL, BERRY
@@ -8559,7 +8559,7 @@
; POKEFANF (5)
db "GEORGIA@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 23, SENTRET, BERRY
@@ -8574,7 +8574,7 @@
; POKEFANF (6)
db "JAIME@"
- db 2 ; item
+ db TRAINERTYPE_ITEM
; party
db 16, MEOWTH, BERRY
@@ -8591,7 +8591,7 @@
; RED (1)
db "RED@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8643,7 +8643,7 @@
; BLUE (1)
db "BLUE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8695,7 +8695,7 @@
; OFFICER (1)
db "KEITH@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 17, GROWLITHE
@@ -8706,7 +8706,7 @@
; OFFICER (2)
db "DIRK@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 14, GROWLITHE
@@ -8724,7 +8724,7 @@
; GRUNTF (1)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 9, ZUBAT
@@ -8736,7 +8736,7 @@
; GRUNTF (2)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 26, ARBOK
@@ -8747,7 +8747,7 @@
; GRUNTF (3)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 25, GLOOM
@@ -8759,7 +8759,7 @@
; GRUNTF (4)
db "GRUNT@"
- db 0 ; normal
+ db TRAINERTYPE_NORMAL
; party
db 21, EKANS
@@ -8773,7 +8773,7 @@
; GRUNTF (5)
db "GRUNT@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
@@ -8801,7 +8801,7 @@
; MYSTICALMAN (1)
db "EUSINE@"
- db 1 ; moves
+ db TRAINERTYPE_MOVES
; party
--- a/wram.asm
+++ b/wram.asm
@@ -425,7 +425,7 @@
PlayerSubStatus1:: ; c668
; bit
-; 7 attract
+; 7 in love
; 6 rollout
; 5 endure
; 4 perish song
@@ -451,9 +451,9 @@
; 6 flying
; 5 underground
; 4 charged
-; 3 flinch
-; 2
-; 1 rollout
+; 3 flinched
+; 2 in loop
+; 1 rampage
; 0 bide
ds 1
PlayerSubStatus4:: ; c66b
@@ -469,10 +469,10 @@
ds 1
PlayerSubStatus5:: ; c66c
; bit
-; 7 cant run
+; 7 can't run
; 6 destiny bond
; 5 lock-on
-; 4 encore
+; 4 encored
; 3 transformed
; 2
; 1
@@ -663,9 +663,13 @@
wPlayerMinimized:: ds 1 ; c6fe
PlayerScreens:: ; c6ff
; bit
+; 7
+; 6
+; 5
; 4 reflect
; 3 light screen
; 2 safeguard
+; 1
; 0 spikes
ds 1