diff options
86 files changed, 2214 insertions, 1972 deletions
diff --git a/battle/ai/items.asm b/battle/ai/items.asm index 325c7b555..5a292763e 100644 --- a/battle/ai/items.asm +++ b/battle/ai/items.asm @@ -27,7 +27,7 @@ AI_SwitchOrTryItem: ; 38000 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 @@ AI_TryItem: ; 38105 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 diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm index ea052aabb..13663fb8e 100644 --- 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 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value 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 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value 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 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value 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 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value 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_value SET 1 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_value SET 1 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 diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index bc50e3db2..44abe35c4 100755 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,5 +1,3 @@ - - ; pitch const_def const __ @@ -40,7 +38,6 @@ SOUND_NOISE EQU 4 SOUND_REST EQU 5 ; Flags2 - SOUND_VIBRATO EQU 0 SOUND_PITCH_WHEEL EQU 1 SOUND_DUTY EQU 2 diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 523713574..64e3ec4f8 100644 --- 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 @@ BASE_STAT_LEVEL EQU 7 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 @@ NUM_LEVEL_STATS EQU const_value 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_value SET 1 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 @@ STAT_MIN_HP EQU 10 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_value SET 1 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_value SET 1 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 @@ const_value SET 3 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 @@ ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP 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 @@ SUBSTATUS_CURLED EQU 0 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 @@ SUBSTATUS_CURLED EQU 0 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 @@ SUBSTATUS_CURLED EQU 0 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 @@ SUBSTATUS_CURLED EQU 0 enum SCREENS_UNUSED enum SCREENS_SPIKES -; weather +; Weather values const_def const WEATHER_NONE const WEATHER_RAIN @@ -161,8 +207,7 @@ SUBSTATUS_CURLED EQU 0 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 @@ SUBSTATUS_CURLED EQU 0 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 @@ SUBSTATUS_CURLED EQU 0 const BATTLEACTION_E const BATTLEACTION_FORFEIT +; wBattleResult const_def const WIN const LOSE diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm index 481c1f19b..5ab69d752 100755 --- 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 diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm index 36cf369c2..c5aef7750 100755 --- 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 diff --git a/constants/cry_constants.asm b/constants/cry_constants.asm index da40877cc..654aac523 100755 --- 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 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index 22cf1e670..540920e5c 100644 --- 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_value = 1 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_value = 1 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 @@ deco: MACRO 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 diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index 31a038196..080939f2c 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -1,22 +1,29 @@ +; 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 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 diff --git a/constants/event_flags.asm b/constants/event_flags.asm index 636d0226c..8ec4f46d5 100644 --- 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 diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 9478cd123..6b8cc33c9 100644 --- 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 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 76eaba5ca..c3bdd11ef 100644 --- 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 @@ NUM_TMS = const_value - TM01 - 2 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 + +; mail +MAIL_MSG_LENGTH EQU $20 +MAILBOX_CAPACITY EQU 10 +MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct -; pockets +; 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_value SET 70 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_value SET 70 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 @@ ITEMMENU_CLOSE EQU 6 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 @@ ITEMMENU_CLOSE EQU 6 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 @@ ITEMMENU_CLOSE EQU 6 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 diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 5aa14f972..f9c840595 100644 --- 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 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 1ed12662f..b1b78551c 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -5,7 +5,13 @@ GROUP_NONE EQU 0 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,25 +479,41 @@ MAP_NONE EQU 0 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 @@ -500,23 +522,15 @@ MAP_NONE EQU 0 const SOUTH_F const NORTH_F +; MapConnections const_def shift_const EAST shift_const WEST 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_value SET 1 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 @@ OBJECT_LENGTH EQU const_value 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 - - 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. +; object_struct OBJECT_FLAGS1 bit flags +INVISIBLE EQU 0 +FIXED_FACING EQU 2 +SLIDING EQU 3 +EMOTE_OBJECT EQU 7 +; 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_value = -1 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_value = -1 const SPAWN_FAST_SHIP NUM_SPAWNS EQU const_value - const_def - const PALETTE_AUTO - const PALETTE_DAY - const PALETTE_NITE - const PALETTE_MORN - const PALETTE_DARK -INVISIBLE EQU 0 -FIXED_FACING EQU 2 -SLIDING EQU 3 -EMOTE_OBJECT EQU 7 +; TryReadSign arguments (see engine/events.asm) + 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 +; person_event types +; TryObjectEvent arguments (see engine/events.asm) const_def const PERSONTYPE_SCRIPT const PERSONTYPE_ITEMBALL @@ -666,7 +662,24 @@ EMOTE_OBJECT EQU 7 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_value SET 1 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_05 EQU 5 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 diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm index 1a3f60e7b..0dcc2b941 100644 --- 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_value SET $f1 const MAPSETUP_BADWARP const MAPSETUP_FLY +; callback types const_value SET 1 const MAPCALLBACK_TILES const MAPCALLBACK_OBJECTS @@ -19,9 +22,10 @@ const_value SET 1 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 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 77b65a38a..2e77b795c 100644 --- 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 + +; genders +MALE EQU 0 +FEMALE EQU 1 + +; 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 -MAX_ITEMS EQU 20 -MAX_BALLS EQU 12 -MAX_KEY_ITEMS EQU 25 -MAX_PC_ITEMS EQU 50 -; strings +; 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,35 +36,17 @@ ENEMY_OT_NAME EQU 6 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 -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 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 @@ D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN 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,51 +96,7 @@ WMISC_HEIGHT EQU 5 * 4 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 - - -; 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 +; printing text PRINTNUM_MONEY_F EQU 5 PRINTNUM_RIGHTALIGN_F EQU 6 @@ -155,6 +106,20 @@ PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F 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,44 +143,22 @@ const_value = 1 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 - - 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 +; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm) const_def const EZCHAT_POKEMON const EZCHAT_TYPES @@ -233,30 +176,6 @@ NUM_KANA EQU $2d 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 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 8492c2415..a4b1a0ba8 100644 --- 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_value SET const_value + -1 + 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 NUM_ATTACKS ; $fb + const MOVE_OR_ANIM_FC ; fc + const MOVE_OR_ANIM_FD ; fd + const MOVE_OR_ANIM_FE ; fe -; 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_value SET const_value + -1 const BATTLEANIM_PLAYER_DAMAGE const BATTLEANIM_WOBBLE const BATTLEANIM_SHAKE - const BATTLEANIM_HIT_CONFUSION
\ No newline at end of file + const BATTLEANIM_HIT_CONFUSION diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 5c54c3dc0..9536ae837 100644 --- 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 diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index 1eb2b2d23..fe602a413 100644 --- 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 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 5041f7064..eb8938d21 100644 --- 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_value SET const_value + -1 - -NUM_POKEMON EQU const_value - -EGG EQU 253 + 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 -; 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 @@ BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)" 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_value SET 1 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_value SET 1 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 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 9a34e2ae5..c7cf9dccb 100644 --- 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_value SET 1 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_value SET 1 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_value SET 1 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 diff --git a/constants/printer_constants.asm b/constants/printer_constants.asm index 5cd8fcd77..3cbaa049a 100755 --- 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 diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 14bc75a41..86817081e 100644 --- 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,12 +101,7 @@ const MAPRADIO_LETS_ALL_SING const MAPRADIO_ROCKET - const_def - const BUENA_MON - const BUENA_ITEM - const BUENA_MOVE - const BUENA_STRING - +; PasswordTable indexes (see engine/radio.asm) const_def const BUENA_STARTERS const BUENA_DRINKS @@ -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 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index b695c4ee9..9dd4987f8 100644 --- 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 @@ LAST_TALKED EQU -2 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 diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm index 65abfc3ca..f54235049 100644 --- 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 diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index f9cc7ec77..8dc63402a 100644 --- 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 @@ SPRITE_POKEMON EQU const_value 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 @@ SPRITE_VARS EQU const_value 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_value SET 1 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_SPRITEHEADER_FIELDS EQU const_value 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 @@ SPRITEMOVEDATA_FIELDS EQU 6 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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 @@ MAX_OUTDOOR_SPRITES EQU 23 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,62 +469,63 @@ MAX_OUTDOOR_SPRITES EQU 23 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 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 diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 039b27073..0667f020f 100644 --- 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 diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm index 04f9bcaaa..702dc92bf 100644 --- 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 1 << 4 +TALK EQU $10 +; 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_value SET 1 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 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 70692c822..42b499abb 100644 --- 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 @@ KRIS EQU __enum__ 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 @@ KRIS EQU __enum__ 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 @@ KRIS EQU __enum__ 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 @@ KRIS EQU __enum__ const QUENTIN trainerclass EXECUTIVEF ; 37 + const EXECUTIVEF_1 + const EXECUTIVEF_2 trainerclass SAGE ; 38 const CHOW @@ -648,12 +667,23 @@ KRIS EQU __enum__ 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 @@ -674,12 +704,24 @@ const_value = 0 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 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index b7b350e33..6f389617b 100644 --- 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 diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 09d457f5e..73a319081 100644 --- 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 @@ DAYCARE_DEPOSIT EQU 3 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 diff --git a/data/map_objects.asm b/data/map_objects.asm index ec4a859b3..9cc495b7f 100755 --- 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 diff --git a/data/sprite_engine.asm b/data/sprite_engine.asm index 7a8a49bbe..31872d531 100755 --- a/data/sprite_engine.asm +++ b/data/sprite_engine.asm @@ -1,77 +1,78 @@ 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: 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,21 +102,21 @@ SpriteAnimFrameData: ; 8d6e6 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 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 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 @@ SpriteAnimFrameData: ; 8d6e6 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 @@ SpriteAnimFrameData: ; 8d6e6 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,33 +156,33 @@ SpriteAnimFrameData: ; 8d6e6 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 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 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 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,56 +190,56 @@ SpriteAnimFrameData: ; 8d6e6 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 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 @@ SpriteAnimFrameData: ; 8d6e6 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 @@ SpriteAnimFrameData: ; 8d6e6 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 @@ SpriteAnimFrameData: ; 8d6e6 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,53 +425,53 @@ SpriteAnimFrameData: ; 8d6e6 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 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,26 +479,27 @@ SpriteAnimFrameData: ; 8d6e6 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 ; 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 @@ SpriteAnimOAMData: ; 8d94d 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 diff --git a/engine/breeding/egg.asm b/engine/breeding/egg.asm index 326faaa6c..eeac2ebd7 100755 --- a/engine/breeding/egg.asm +++ b/engine/breeding/egg.asm @@ -803,7 +803,7 @@ EggHatch_CrackShell: ; 1736d (5:736d) 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 @@ Hatch_InitShellFragments: ; 173b3 (5:73b3) push hl push bc - ld a, SPRITE_ANIM_INDEX_1C + ld a, SPRITE_ANIM_INDEX_EGG_HATCH call _InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm index fbb2dbc97..dbc7c7f70 100755 --- a/engine/crystal_intro.asm +++ b/engine/crystal_intro.asm @@ -773,7 +773,7 @@ IntroScene7: ; e4b3f (39:4b3f) 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 @@ IntroScene10: ; e4c4f (39:4c4f) .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 @@ IntroScene10: ; e4c4f (39:4c4f) .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 @@ IntroScene13: ; e4d6d (39:4d6d) 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 @@ IntroScene15: ; e4e40 (39:4e40) 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 @@ IntroScene19: ; e4f7e (39:4f7e) 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 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172) 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 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) 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 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) 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 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) 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 diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm index e5ef9b4cf..edda3d02e 100755 --- a/engine/dummy_game.asm +++ b/engine/dummy_game.asm @@ -109,7 +109,7 @@ endr .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 diff --git a/engine/engine_flags.asm b/engine/engine_flags.asm index 2b441bab4..3bca8dd87 100644 --- a/engine/engine_flags.asm +++ b/engine/engine_flags.asm @@ -208,7 +208,7 @@ ENDM 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 diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm index 2f1c4c522..173a31bf2 100755 --- a/engine/evolution_animation.asm +++ b/engine/evolution_animation.asm @@ -316,7 +316,7 @@ EvolutionAnimation: ; 4e5e1 .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 diff --git a/engine/facings.asm b/engine/facings.asm index ee9efec3f..4d2a55364 100644 --- 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 @@ Facings: ; 4049 dw FacingBoulderDust2 dw FacingGrass1 dw FacingGrass2 -FacingsEnd: dw 0 +FacingsEnd: + dw 0 NUM_FACINGS EQU (FacingsEnd - Facings) / 2 @@ -41,12 +43,6 @@ NUM_FACINGS EQU (FacingsEnd - Facings) / 2 ; 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: FacingWeirdTree0: diff --git a/engine/link.asm b/engine/link.asm index f5bc24da9..ad2d8a982 100755 --- a/engine/link.asm +++ b/engine/link.asm @@ -1143,7 +1143,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771 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 diff --git a/engine/map_object_action.asm b/engine/map_object_action.asm index a7ab87200..2a13f924e 100755 --- 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 diff --git a/engine/map_objects.asm b/engine/map_objects.asm index d5fa84642..83147c168 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -155,8 +155,8 @@ Function437b: ; 437b 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 @@ Function4440: ; 4440 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 @@ MapObjectMovementPattern: ; 47dd ret .Pointers: ; 47e9 +; entries correspond to SPRITEMOVEFN_* constants dw .Null_00 ; 00 dw .RandomWalkY ; 01 dw .RandomWalkX ; 02 @@ -1085,7 +1101,7 @@ SetRandomStepDuration: ; 4b2d ; 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 diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index d66ea6fac..6874c82c5 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -178,7 +178,7 @@ InitPartyMenuIcon: ; 8e908 (23:6908) ; 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 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936) ; 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 @@ NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) 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 @@ MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d) 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 @@ FreezeMonIcons: ; 8ea4a jr .ok .loadwithtwo - ld a, SPRITE_ANIM_SEQ_02 + ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH .ok push hl @@ -407,7 +409,7 @@ UnfreezeMonIcons: ; 8ea71 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 @@ HoldSwitchmonIcon: ; 8ea8c 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 diff --git a/engine/mon_menu.asm b/engine/mon_menu.asm index a6dcf0eb7..fbeffe3ed 100755 --- a/engine/mon_menu.asm +++ b/engine/mon_menu.asm @@ -9,8 +9,7 @@ MonMenuOptionStrings: ; 24caf ; 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 @@ MonMenuOptions: ; 24cd9 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 @@ MonMenuOptions: ; 24cd9 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 @@ GetMonSubmenuItems: ; 24dd4 .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 @@ ResetMonSubmenu: ; 24e68 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 diff --git a/engine/move_mon.asm b/engine/move_mon.asm index e07237d68..21b6994ac 100755 --- a/engine/move_mon.asm +++ b/engine/move_mon.asm @@ -1543,7 +1543,7 @@ CalcPkmnStatC: ; e17b 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 @@ CalcPkmnStatC: ; e17b ld [hMultiplicand + 1], a .no_overflow_3 - ld a, 10 + ld a, STAT_MIN_HP .not_hp ld b, a diff --git a/engine/namingscreen.asm b/engine/namingscreen.asm index 4a7ca301a..19859d96e 100755 --- a/engine/namingscreen.asm +++ b/engine/namingscreen.asm @@ -419,7 +419,7 @@ NamingScreenJoypadLoop: ; 11915 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 @@ _ComposeMailMessage: ; 11e75 (mail?) ; 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 @@ INCBIN "gfx/icon/mail2.2bpp" .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 diff --git a/engine/overworld.asm b/engine/overworld.asm index 4d22e55b6..330dd3893 100755 --- a/engine/overworld.asm +++ b/engine/overworld.asm @@ -181,7 +181,7 @@ MapCallbackSprites_LoadUsedSpritesGFX: ; 14209 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 @@ emote_header: MACRO 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 diff --git a/engine/phone.asm b/engine/phone.asm index f5f39218d..8163047e0 100644 --- a/engine/phone.asm +++ b/engine/phone.asm @@ -769,7 +769,7 @@ phone: MACRO 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 diff --git a/engine/pokegear.asm b/engine/pokegear.asm index 8e5697f75..dadee0629 100755 --- a/engine/pokegear.asm +++ b/engine/pokegear.asm @@ -751,7 +751,7 @@ TownMap_GetKantoLandmarkLimits: ; 910e8 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 @@ TownMapMon: ; 91f7b 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 diff --git a/engine/radio.asm b/engine/radio.asm index 99408af48..8760956b2 100644 --- a/engine/radio.asm +++ b/engine/radio.asm @@ -234,7 +234,7 @@ OaksPkmnTalk4: 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 @@ endr 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 diff --git a/engine/scripting.asm b/engine/scripting.asm index 42976ad65..b5fb027ab 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -979,7 +979,7 @@ Script_cry: ret GetScriptPerson: - and a + and a ; PLAYER? ret z cp LAST_TALKED ret z @@ -2170,7 +2170,7 @@ Script_givepokeitem: 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 @@ ExitScriptSubroutine: 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 " " diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 93be28d9a..c131e584f 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -1067,7 +1067,7 @@ ReelAction_InitGolem: ; 92d20 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 diff --git a/engine/spawn_points.asm b/engine/spawn_points.asm index e8f1177f2..69b91446e 100644 --- a/engine/spawn_points.asm +++ b/engine/spawn_points.asm @@ -50,9 +50,8 @@ LoadSpawnPoint: ; 1531f 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] diff --git a/engine/specials.asm b/engine/specials.asm index 2548cf076..6baca2697 100644 --- 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] diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm index ed7fe20ad..e6681c8ac 100755 --- a/engine/sprite_anims.asm +++ b/engine/sprite_anims.asm @@ -13,54 +13,54 @@ DoAnimFrame: ; 8d24b ; 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.three ; 8d2ea (23:52ea) +.PartyMonSelected ; 8d2ea (23:52ea) ld a, [wMenuCursorY] ld hl, SPRITEANIMSTRUCT_INDEX @@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b callab NamingScreen_AnimateCursor ret -.mailcompositioncursor ; 8d373 (23:5373) +.MailCursor ; 8d373 (23:5373) callab ComposeMail_AnimateCursor ret @@ -229,7 +229,7 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b ret ; 8d4a5 -.sixteen_two ; 8d4a5 +.TradePokeBall_two ; 8d4a5 ld hl, SPRITEANIMSTRUCT_0C add hl, bc ld a, [hl] @@ -460,7 +460,7 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b .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 @@ DoAnimFrame: ; 8d24b ret ; 8d4e8 -.sixteen_four ; 8d4e8 +.TradePokeBall_four ; 8d4e8 ld hl, SPRITEANIMSTRUCT_0D add hl, bc ld a, [hl] @@ -542,12 +542,12 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b .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 @@ DoAnimFrame: ; 8d24b ld [hl], a ret -.thirtythree ; 8d6a2 (23:56a2) +.IntroUnownF ; 8d6a2 (23:56a2) ld a, [wcf64] cp $40 ret nz @@ -838,7 +838,7 @@ DoAnimFrame: ; 8d24b 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 @@ DoAnimFrame: ; 8d24b 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 diff --git a/engine/sprites.asm b/engine/sprites.asm index b358275eb..ad36dfbc9 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -551,51 +551,97 @@ BrokenGetStdGraphics: ; 8d1ac ; 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 diff --git a/engine/trade/animation.asm b/engine/trade/animation.asm index fa351ba3d..a1f46b48c 100755 --- a/engine/trade/animation.asm +++ b/engine/trade/animation.asm @@ -1110,7 +1110,7 @@ TrademonStats_PrintTrademonID: ; 29611 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_RockingBall: ; 2961b 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_DropBall: ; 2962c 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 @@ TradeAnim_BulgeThroughTube: ; 29660 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 diff --git a/engine/variables.asm b/engine/variables.asm index fde2583b7..edc12ac66 100755 --- a/engine/variables.asm +++ b/engine/variables.asm @@ -35,9 +35,9 @@ _GetVarAction:: ; 80648 (20:4648) ; 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 diff --git a/engine/wildmons.asm b/engine/wildmons.asm index 6208cfbce..bb668f2be 100755 --- a/engine/wildmons.asm +++ b/engine/wildmons.asm @@ -65,7 +65,7 @@ FindNest: ; 2a01f 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 @@ FindNest: ; 2a01f .next_grass pop hl - ld bc, WILDMON_GRASS_STRUCTURE_LENGTH + ld bc, GRASS_WILDDATA_LENGTH add hl, bc jr .FindGrass ; 2a06e diff --git a/event/celebi.asm b/event/celebi.asm index 7c8646ec7..c9be9cb39 100755 --- a/event/celebi.asm +++ b/event/celebi.asm @@ -6,14 +6,14 @@ Special_CelebiShrineEvent: ; 4989a 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 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 diff --git a/event/field_moves.asm b/event/field_moves.asm index 82bc6d3f8..158f65598 100755 --- a/event/field_moves.asm +++ b/event/field_moves.asm @@ -30,7 +30,7 @@ ShakeHeadbuttTree: ; 8c80a 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 diff --git a/event/magnet_train.asm b/event/magnet_train.asm index 75bd12cd7..c6c6da846 100755 --- a/event/magnet_train.asm +++ b/event/magnet_train.asm @@ -323,7 +323,7 @@ MagnetTrain_Jumptable: ; 8cdf7 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 @@ MagnetTrain_Jumptable: ; 8cdf7 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 diff --git a/event/mom_phone.asm b/event/mom_phone.asm index f689745f1..818010091 100755 --- 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 @@ -215,7 +219,6 @@ momitem: macro db \3, \4 ENDM - MomItems_1: ; fd136 momitem 0, 600, MOM_ITEM, SUPER_POTION momitem 0, 90, MOM_ITEM, ANTIDOTE @@ -36,6 +36,9 @@ OAM_X_FLIP EQU 5 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) @@ -718,22 +718,20 @@ SetHPPal:: ; 334e 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 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] diff --git a/home/flag.asm b/home/flag.asm index 099f4bf00..d2b70731a 100644 --- a/home/flag.asm +++ b/home/flag.asm @@ -38,9 +38,9 @@ FlagAction:: ; 0x2e76 ; 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 @@ FlagAction:: ; 0x2e76 ; 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] diff --git a/home/map.asm b/home/map.asm index 967d13af5..430a7b119 100644 --- a/home/map.asm +++ b/home/map.asm @@ -2284,8 +2284,6 @@ GetWorldMapLocation:: ; 0x2caf ; 0x2cbd GetMapHeaderMusic:: ; 2cbd -RADIO_TOWER_MUSIC EQU 7 - push hl push bc ld de, 6 ; music diff --git a/home/map_objects.asm b/home/map_objects.asm index 4c896c7d7..dfcb411c5 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -485,7 +485,7 @@ GetSpriteMovementFunction:: ; 1a2f ld e, a ld d, 0 rept SPRITEMOVEDATA_FIELDS - add hl,de + add hl, de endr ld a, [hl] ret @@ -498,7 +498,7 @@ GetInitialFacing:: ; 1a47 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 @@ -1481,7 +1481,7 @@ PlayBattleMusic: ; 2ee6c 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 diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm index 769067421..23da7452d 100644 --- a/maps/AzaleaTown.asm +++ b/maps/AzaleaTown.asm @@ -72,7 +72,7 @@ AzaleaTownRivalBattleScript: iftrue .Chikorita winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_6 + loadtrainer RIVAL1, RIVAL1_2_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -81,7 +81,7 @@ AzaleaTownRivalBattleScript: .Totodile: winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_4 + loadtrainer RIVAL1, RIVAL1_2_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -90,7 +90,7 @@ AzaleaTownRivalBattleScript: .Chikorita: winlosstext AzaleaTownRivalWinText, AzaleaTownRivalLossText setlasttalked AZALEATOWN_SILVER - loadtrainer RIVAL1, RIVAL1_5 + loadtrainer RIVAL1, RIVAL1_2_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm index 369d89b02..c48bb3bcc 100644 --- a/maps/BurnedTower1F.asm +++ b/maps/BurnedTower1F.asm @@ -73,7 +73,7 @@ BurnedTowerRivalBattleScript: 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 @@ BurnedTowerRivalBattleScript: .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 @@ BurnedTowerRivalBattleScript: .chikorita winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText setlasttalked BURNEDTOWER1F_SILVER - loadtrainer RIVAL1, RIVAL1_8 + loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm index 5b0db50f2..12c3f5d9a 100644 --- a/maps/CherrygroveCity.asm +++ b/maps/CherrygroveCity.asm @@ -125,7 +125,7 @@ CherrygroveSilverTriggerNorth: 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 @@ CherrygroveSilverTriggerNorth: .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 @@ CherrygroveSilverTriggerNorth: .Chikorita: winlosstext SilverCherrygroveWinText, SilverCherrygroveLossText setlasttalked CHERRYGROVECITY_SILVER - loadtrainer RIVAL1, RIVAL1_2 + loadtrainer RIVAL1, RIVAL1_1_CYNDAQUIL writecode VAR_BATTLETYPE, BATTLETYPE_CANLOSE startbattle dontrestartmapmusic diff --git a/maps/IndigoPlateauPokeCenter1F.asm b/maps/IndigoPlateauPokeCenter1F.asm index 4ebc80cd1..4b906d818 100644 --- a/maps/IndigoPlateauPokeCenter1F.asm +++ b/maps/IndigoPlateauPokeCenter1F.asm @@ -102,7 +102,7 @@ PlateauRivalBattleCommon: ; Cyndaquil winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 6 + loadtrainer RIVAL2, RIVAL2_2_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -111,7 +111,7 @@ PlateauRivalBattleCommon: .Totodile: winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 4 + loadtrainer RIVAL2, RIVAL2_2_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -120,7 +120,7 @@ PlateauRivalBattleCommon: .Chikorita: winlosstext PlateauRivalWinText, PlateauRivalLoseText setlasttalked INDIGOPLATEAUPOKECENTER1F_SILVER - loadtrainer RIVAL2, 5 + loadtrainer RIVAL2, RIVAL2_2_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm index 649b5686f..3a98e1b90 100644 --- a/maps/MountMoon.asm +++ b/maps/MountMoon.asm @@ -36,7 +36,7 @@ MountMoon_MapScriptHeader: iftrue .Chikorita winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 3 + loadtrainer RIVAL2, RIVAL2_1_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -45,7 +45,7 @@ MountMoon_MapScriptHeader: .Totodile: winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 1 + loadtrainer RIVAL2, RIVAL2_1_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -54,7 +54,7 @@ MountMoon_MapScriptHeader: .Chikorita: winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss setlasttalked MOUNTMOON_SILVER - loadtrainer RIVAL2, 2 + loadtrainer RIVAL2, RIVAL2_1_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm index 837858d69..983beb843 100644 --- a/maps/RadioTower4F.asm +++ b/maps/RadioTower4F.asm @@ -67,7 +67,7 @@ GruntM10Script: 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 diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm index 31d54e742..c9c965496 100644 --- a/maps/RadioTower5F.asm +++ b/maps/RadioTower5F.asm @@ -41,7 +41,7 @@ FakeDirectorScript: closetext winlosstext FakeDirectorWinText, 0 setlasttalked RADIOTOWER5F_DIRECTOR - loadtrainer EXECUTIVEM, 3 + loadtrainer EXECUTIVEM, EXECUTIVEM_3 startbattle reloadmapafterbattle opentext @@ -70,7 +70,7 @@ Director: 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 @@ RadioTower5FRocketBossTrigger: closetext winlosstext RadioTower5FRocketBossWinText, 0 setlasttalked RADIOTOWER5F_ROCKET - loadtrainer EXECUTIVEM, 1 + loadtrainer EXECUTIVEM, EXECUTIVEM_1 startbattle reloadmapafterbattle opentext diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm index 26adc801b..d3e208e99 100644 --- a/maps/TeamRocketBaseB2F.asm +++ b/maps/TeamRocketBaseB2F.asm @@ -102,7 +102,7 @@ UnknownScript_0x6cfac: 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 diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm index 990e55608..c08d004b5 100644 --- a/maps/TeamRocketBaseB3F.asm +++ b/maps/TeamRocketBaseB3F.asm @@ -109,7 +109,7 @@ UnknownScript_0x6e056: 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 diff --git a/maps/UndergroundPathSwitchRoomEntrances.asm b/maps/UndergroundPathSwitchRoomEntrances.asm index bf4f1f1c9..66d9a417f 100644 --- a/maps/UndergroundPathSwitchRoomEntrances.asm +++ b/maps/UndergroundPathSwitchRoomEntrances.asm @@ -178,7 +178,7 @@ UndergroundSilverBattleScript: iftrue .Chikorita winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_12 + loadtrainer RIVAL1, RIVAL1_4_TOTODILE startbattle dontrestartmapmusic reloadmapafterbattle @@ -187,7 +187,7 @@ UndergroundSilverBattleScript: .Totodile: winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_10 + loadtrainer RIVAL1, RIVAL1_4_CHIKORITA startbattle dontrestartmapmusic reloadmapafterbattle @@ -196,7 +196,7 @@ UndergroundSilverBattleScript: .Chikorita: winlosstext UndergroundSilverWinText, UndergroundSilverLossText setlasttalked UNDERGROUNDPATHSWITCHROOMENTRANCES_SILVER - loadtrainer RIVAL1, RIVAL1_11 + loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm index 3b85a534a..46f59f5c3 100644 --- a/maps/VictoryRoad.asm +++ b/maps/VictoryRoad.asm @@ -66,7 +66,7 @@ UnknownScript_0x744d4: 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_0x744d4: 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_0x744ff: UnknownScript_0x7450f: winlosstext UnknownText_0x7463d, UnknownText_0x747aa setlasttalked VICTORYROAD_SILVER - loadtrainer RIVAL1, RIVAL1_14 + loadtrainer RIVAL1, RIVAL1_5_CYNDAQUIL startbattle dontrestartmapmusic reloadmapafterbattle diff --git a/maps/map_headers.asm b/maps/map_headers.asm index 95909baa8..27fbd4166 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -72,11 +72,11 @@ MapGroup3: 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 diff --git a/misc/fixed_words.asm b/misc/fixed_words.asm index 8d1f73c28..56e53da91 100755 --- a/misc/fixed_words.asm +++ b/misc/fixed_words.asm @@ -3416,6 +3416,7 @@ MobileEZChatCategoryNames: ; 11da52 ; 11daac MobileEZChatCategoryPointers: ; 11daac +; entries correspond to EZCHAT_* constants dw .Types ; 01 dw .Greetings ; 02 dw .People ; 03 diff --git a/tilesets/collision.asm b/tilesets/collision.asm index 29b61feed..84397cb5d 100755 --- 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 diff --git a/tilesets/tileset_headers.asm b/tilesets/tileset_headers.asm index 752ff1cc0..d0debd2b7 100644 --- 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 diff --git a/trainers/trainers.asm b/trainers/trainers.asm index 2b4a68475..e96cfd895 100644 --- a/trainers/trainers.asm +++ b/trainers/trainers.asm @@ -4,10 +4,10 @@ Trainers: ; 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 @@ FalknerGroup: ; FALKNER (1) db "FALKNER@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -47,7 +47,7 @@ WhitneyGroup: ; WHITNEY (1) db "WHITNEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -75,7 +75,7 @@ BugsyGroup: ; BUGSY (1) db "BUGSY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -109,7 +109,7 @@ MortyGroup: ; MORTY (1) db "MORTY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -149,7 +149,7 @@ PryceGroup: ; PRYCE (1) db "PRYCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -183,7 +183,7 @@ JasmineGroup: ; JASMINE (1) db "JASMINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -217,7 +217,7 @@ ChuckGroup: ; CHUCK (1) db "CHUCK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -245,7 +245,7 @@ ClairGroup: ; CLAIR (1) db "CLAIR@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -285,7 +285,7 @@ Rival1Group: ; RIVAL1 (1) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, CHIKORITA @@ -296,7 +296,7 @@ Rival1Group: ; RIVAL1 (2) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, CYNDAQUIL @@ -307,7 +307,7 @@ Rival1Group: ; RIVAL1 (3) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, TOTODILE @@ -318,7 +318,7 @@ Rival1Group: ; RIVAL1 (4) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -331,7 +331,7 @@ Rival1Group: ; RIVAL1 (5) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -344,7 +344,7 @@ Rival1Group: ; RIVAL1 (6) db "?@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, GASTLY @@ -357,7 +357,7 @@ Rival1Group: ; RIVAL1 (7) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -391,7 +391,7 @@ Rival1Group: ; RIVAL1 (8) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -425,7 +425,7 @@ Rival1Group: ; RIVAL1 (9) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -459,7 +459,7 @@ Rival1Group: ; RIVAL1 (10) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -499,7 +499,7 @@ Rival1Group: ; RIVAL1 (11) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -539,7 +539,7 @@ Rival1Group: ; RIVAL1 (12) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -579,7 +579,7 @@ Rival1Group: ; RIVAL1 (13) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -625,7 +625,7 @@ Rival1Group: ; RIVAL1 (14) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -671,7 +671,7 @@ Rival1Group: ; RIVAL1 (15) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -729,7 +729,7 @@ WillGroup: ; WILL (1) db "WILL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -775,7 +775,7 @@ PKMNTrainerGroup: ; CAL (1) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, CHIKORITA @@ -788,7 +788,7 @@ PKMNTrainerGroup: ; CAL (2) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BAYLEEF @@ -801,7 +801,7 @@ PKMNTrainerGroup: ; CAL (3) db "CAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 50, MEGANIUM @@ -820,7 +820,7 @@ BrunoGroup: ; BRUNO (1) db "BRUNO@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -866,7 +866,7 @@ KarenGroup: ; KAREN (1) db "KAREN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -912,7 +912,7 @@ KogaGroup: ; KOGA (1) db "KOGA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -958,7 +958,7 @@ ChampionGroup: ; CHAMPION (1) db "LANCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1010,7 +1010,7 @@ BrockGroup: ; BROCK (1) db "BROCK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1056,7 +1056,7 @@ MistyGroup: ; MISTY (1) db "MISTY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1096,7 +1096,7 @@ LtSurgeGroup: ; LT_SURGE (1) db "LT.SURGE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1142,7 +1142,7 @@ ScientistGroup: ; SCIENTIST (1) db "ROSS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, KOFFING @@ -1154,7 +1154,7 @@ ScientistGroup: ; SCIENTIST (2) db "MITCH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, DITTO @@ -1165,7 +1165,7 @@ ScientistGroup: ; SCIENTIST (3) db "JED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, MAGNEMITE @@ -1178,7 +1178,7 @@ ScientistGroup: ; SCIENTIST (4) db "MARC@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -1191,7 +1191,7 @@ ScientistGroup: ; SCIENTIST (5) db "RICH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1213,7 +1213,7 @@ ErikaGroup: ; ERIKA (1) db "ERIKA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1253,7 +1253,7 @@ YoungsterGroup: ; YOUNGSTER (1) db "JOEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 4, RATTATA @@ -1264,7 +1264,7 @@ YoungsterGroup: ; YOUNGSTER (2) db "MIKEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, PIDGEY @@ -1276,7 +1276,7 @@ YoungsterGroup: ; YOUNGSTER (3) db "ALBERT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, RATTATA @@ -1288,7 +1288,7 @@ YoungsterGroup: ; YOUNGSTER (4) db "GORDON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, WOOPER @@ -1299,7 +1299,7 @@ YoungsterGroup: ; YOUNGSTER (5) db "SAMUEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, RATTATA @@ -1313,7 +1313,7 @@ YoungsterGroup: ; YOUNGSTER (6) db "IAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, MANKEY @@ -1325,7 +1325,7 @@ YoungsterGroup: ; YOUNGSTER (7) db "JOEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, RATTATA @@ -1336,7 +1336,7 @@ YoungsterGroup: ; YOUNGSTER (8) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1352,7 +1352,7 @@ YoungsterGroup: ; YOUNGSTER (9) db "WARREN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, FEAROW @@ -1363,7 +1363,7 @@ YoungsterGroup: ; YOUNGSTER (10) db "JIMMY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, RATICATE @@ -1375,7 +1375,7 @@ YoungsterGroup: ; YOUNGSTER (11) db "OWEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, GROWLITHE @@ -1386,7 +1386,7 @@ YoungsterGroup: ; YOUNGSTER (12) db "JASON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, SANDSLASH @@ -1398,7 +1398,7 @@ YoungsterGroup: ; YOUNGSTER (13) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1414,7 +1414,7 @@ YoungsterGroup: ; YOUNGSTER (14) db "JOEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1436,7 +1436,7 @@ SchoolboyGroup: ; SCHOOLBOY (1) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, ODDISH @@ -1448,7 +1448,7 @@ SchoolboyGroup: ; SCHOOLBOY (2) db "KIPP@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, VOLTORB @@ -1462,7 +1462,7 @@ SchoolboyGroup: ; SCHOOLBOY (3) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, TANGELA @@ -1473,7 +1473,7 @@ SchoolboyGroup: ; SCHOOLBOY (4) db "JOHNNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, BELLSPROUT @@ -1486,7 +1486,7 @@ SchoolboyGroup: ; SCHOOLBOY (5) db "DANNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, JYNX @@ -1499,7 +1499,7 @@ SchoolboyGroup: ; SCHOOLBOY (6) db "TOMMY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, XATU @@ -1511,7 +1511,7 @@ SchoolboyGroup: ; SCHOOLBOY (7) db "DUDLEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ODDISH @@ -1522,7 +1522,7 @@ SchoolboyGroup: ; SCHOOLBOY (8) db "JOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, TANGELA @@ -1534,7 +1534,7 @@ SchoolboyGroup: ; SCHOOLBOY (9) db "BILLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, PARAS @@ -1548,7 +1548,7 @@ SchoolboyGroup: ; SCHOOLBOY (10) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, MR__MIME @@ -1559,7 +1559,7 @@ SchoolboyGroup: ; SCHOOLBOY (11) db "NATE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, LEDIAN @@ -1571,7 +1571,7 @@ SchoolboyGroup: ; SCHOOLBOY (12) db "RICKY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, AIPOM @@ -1583,7 +1583,7 @@ SchoolboyGroup: ; SCHOOLBOY (13) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, ODDISH @@ -1595,7 +1595,7 @@ SchoolboyGroup: ; SCHOOLBOY (14) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, GLOOM @@ -1607,7 +1607,7 @@ SchoolboyGroup: ; SCHOOLBOY (15) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, TANGELA @@ -1619,7 +1619,7 @@ SchoolboyGroup: ; SCHOOLBOY (16) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, NATU @@ -1633,7 +1633,7 @@ SchoolboyGroup: ; SCHOOLBOY (17) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, MR__MIME @@ -1645,7 +1645,7 @@ SchoolboyGroup: ; SCHOOLBOY (18) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MR__MIME @@ -1657,7 +1657,7 @@ SchoolboyGroup: ; SCHOOLBOY (19) db "JACK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GLOOM @@ -1670,7 +1670,7 @@ SchoolboyGroup: ; SCHOOLBOY (20) db "JACK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1698,7 +1698,7 @@ SchoolboyGroup: ; SCHOOLBOY (21) db "ALAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, NATU @@ -1712,7 +1712,7 @@ SchoolboyGroup: ; SCHOOLBOY (22) db "ALAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1746,7 +1746,7 @@ SchoolboyGroup: ; SCHOOLBOY (23) db "CHAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MR__MIME @@ -1758,7 +1758,7 @@ SchoolboyGroup: ; SCHOOLBOY (24) db "CHAD@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1786,7 +1786,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (1) db "ROD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, PIDGEY @@ -1798,7 +1798,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (2) db "ABE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, SPEAROW @@ -1809,7 +1809,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (3) db "BRYAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, PIDGEY @@ -1821,7 +1821,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (4) db "THEO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, PIDGEY @@ -1836,7 +1836,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (5) db "TOBY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, DODUO @@ -1849,7 +1849,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (6) db "DENIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, SPEAROW @@ -1862,7 +1862,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (7) db "VANCE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, PIDGEOTTO @@ -1874,7 +1874,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (8) db "HANK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, PIDGEY @@ -1886,7 +1886,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (9) db "ROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, FEAROW @@ -1898,7 +1898,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (10) db "BORIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, DODUO @@ -1911,7 +1911,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (11) db "BOB@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, NOCTOWL @@ -1922,7 +1922,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (12) db "JOSE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, FARFETCH_D @@ -1933,7 +1933,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (13) db "PETER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, PIDGEY @@ -1946,7 +1946,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (14) db "JOSE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FARFETCH_D @@ -1957,7 +1957,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (15) db "PERRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FARFETCH_D @@ -1968,7 +1968,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (16) db "BRET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PIDGEOTTO @@ -1980,7 +1980,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (17) db "JOSE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -1996,7 +1996,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (18) db "VANCE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PIDGEOTTO @@ -2008,7 +2008,7 @@ BirdKeeperGroup: ; BIRD_KEEPER (19) db "VANCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2036,7 +2036,7 @@ LassGroup: ; LASS (1) db "CARRIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2052,7 +2052,7 @@ LassGroup: ; LASS (2) db "BRIDGET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, JIGGLYPUFF @@ -2065,7 +2065,7 @@ LassGroup: ; LASS (3) db "ALICE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GLOOM @@ -2078,7 +2078,7 @@ LassGroup: ; LASS (4) db "KRISE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, ODDISH @@ -2090,7 +2090,7 @@ LassGroup: ; LASS (5) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2101,7 +2101,7 @@ LassGroup: ; LASS (6) db "LINDA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BULBASAUR @@ -2114,7 +2114,7 @@ LassGroup: ; LASS (7) db "LAURA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, GLOOM @@ -2127,7 +2127,7 @@ LassGroup: ; LASS (8) db "SHANNON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, PARAS @@ -2140,7 +2140,7 @@ LassGroup: ; LASS (9) db "MICHELLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, SKIPLOOM @@ -2153,7 +2153,7 @@ LassGroup: ; LASS (10) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2175,7 +2175,7 @@ LassGroup: ; LASS (11) db "ELLEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, WIGGLYTUFF @@ -2187,7 +2187,7 @@ LassGroup: ; LASS (12) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2198,7 +2198,7 @@ LassGroup: ; LASS (13) db "CONNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, MARILL @@ -2209,7 +2209,7 @@ LassGroup: ; LASS (14) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2231,7 +2231,7 @@ LassGroup: ; LASS (15) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2253,7 +2253,7 @@ LassGroup: ; LASS (16) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2275,7 +2275,7 @@ LassGroup: ; LASS (17) db "DANA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2303,7 +2303,7 @@ JanineGroup: ; JANINE (1) db "JANINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2349,7 +2349,7 @@ CooltrainerMGroup: ; COOLTRAINERM (1) db "NICK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2377,7 +2377,7 @@ CooltrainerMGroup: ; COOLTRAINERM (2) db "AARON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, IVYSAUR @@ -2390,7 +2390,7 @@ CooltrainerMGroup: ; COOLTRAINERM (3) db "PAUL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DRATINI @@ -2403,7 +2403,7 @@ CooltrainerMGroup: ; COOLTRAINERM (4) db "CODY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, HORSEA @@ -2415,7 +2415,7 @@ CooltrainerMGroup: ; COOLTRAINERM (5) db "MIKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, DRAGONAIR @@ -2426,7 +2426,7 @@ CooltrainerMGroup: ; COOLTRAINERM (6) db "GAVEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2454,7 +2454,7 @@ CooltrainerMGroup: ; COOLTRAINERM (7) db "GAVEN@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -2482,7 +2482,7 @@ CooltrainerMGroup: ; COOLTRAINERM (8) db "RYAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2504,7 +2504,7 @@ CooltrainerMGroup: ; COOLTRAINERM (9) db "JAKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2526,7 +2526,7 @@ CooltrainerMGroup: ; COOLTRAINERM (10) db "GAVEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2554,7 +2554,7 @@ CooltrainerMGroup: ; COOLTRAINERM (11) db "BLAKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2582,7 +2582,7 @@ CooltrainerMGroup: ; COOLTRAINERM (12) db "BRIAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2598,7 +2598,7 @@ CooltrainerMGroup: ; COOLTRAINERM (13) db "ERICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2611,7 +2611,7 @@ CooltrainerMGroup: ; COOLTRAINERM (14) db "ANDY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2624,7 +2624,7 @@ CooltrainerMGroup: ; COOLTRAINERM (15) db "TYLER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, BULBASAUR @@ -2637,7 +2637,7 @@ CooltrainerMGroup: ; COOLTRAINERM (16) db "SEAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, FLAREON @@ -2650,7 +2650,7 @@ CooltrainerMGroup: ; COOLTRAINERM (17) db "KEVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 38, RHYHORN @@ -2663,7 +2663,7 @@ CooltrainerMGroup: ; COOLTRAINERM (18) db "STEVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, BULBASAUR @@ -2676,7 +2676,7 @@ CooltrainerMGroup: ; COOLTRAINERM (19) db "ALLEN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2692,7 +2692,7 @@ CooltrainerMGroup: ; COOLTRAINERM (20) db "DARIN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2714,7 +2714,7 @@ CooltrainerFGroup: ; COOLTRAINERF (1) db "GWEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, EEVEE @@ -2728,7 +2728,7 @@ CooltrainerFGroup: ; COOLTRAINERF (2) db "LOIS@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2750,7 +2750,7 @@ CooltrainerFGroup: ; COOLTRAINERF (3) db "FRAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, SEADRA @@ -2761,7 +2761,7 @@ CooltrainerFGroup: ; COOLTRAINERF (4) db "LOLA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DRATINI @@ -2773,7 +2773,7 @@ CooltrainerFGroup: ; COOLTRAINERF (5) db "KATE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SHELLDER @@ -2785,7 +2785,7 @@ CooltrainerFGroup: ; COOLTRAINERF (6) db "IRENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, GOLDEEN @@ -2797,7 +2797,7 @@ CooltrainerFGroup: ; COOLTRAINERF (7) db "KELLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MARILL @@ -2810,7 +2810,7 @@ CooltrainerFGroup: ; COOLTRAINERF (8) db "JOYCE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2832,7 +2832,7 @@ CooltrainerFGroup: ; COOLTRAINERF (9) db "BETH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2848,7 +2848,7 @@ CooltrainerFGroup: ; COOLTRAINERF (10) db "REENA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, STARMIE @@ -2861,7 +2861,7 @@ CooltrainerFGroup: ; COOLTRAINERF (11) db "MEGAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2889,7 +2889,7 @@ CooltrainerFGroup: ; COOLTRAINERF (12) db "BETH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2905,7 +2905,7 @@ CooltrainerFGroup: ; COOLTRAINERF (13) db "CAROL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ELECTRODE @@ -2918,7 +2918,7 @@ CooltrainerFGroup: ; COOLTRAINERF (14) db "QUINN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 38, IVYSAUR @@ -2930,7 +2930,7 @@ CooltrainerFGroup: ; COOLTRAINERF (15) db "EMMA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, POLIWHIRL @@ -2941,7 +2941,7 @@ CooltrainerFGroup: ; COOLTRAINERF (16) db "CYBIL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -2963,7 +2963,7 @@ CooltrainerFGroup: ; COOLTRAINERF (17) db "JENN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, STARYU @@ -2975,7 +2975,7 @@ CooltrainerFGroup: ; COOLTRAINERF (18) db "BETH@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -2991,7 +2991,7 @@ CooltrainerFGroup: ; COOLTRAINERF (19) db "REENA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, STARMIE @@ -3004,7 +3004,7 @@ CooltrainerFGroup: ; COOLTRAINERF (20) db "REENA@" - db 3 ; item + moves + db TRAINERTYPE_ITEM_MOVES ; party @@ -3032,7 +3032,7 @@ CooltrainerFGroup: ; COOLTRAINERF (21) db "CARA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3066,7 +3066,7 @@ BeautyGroup: ; BEAUTY (1) db "VICTORIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, SENTRET @@ -3079,7 +3079,7 @@ BeautyGroup: ; BEAUTY (2) db "SAMANTHA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3101,7 +3101,7 @@ BeautyGroup: ; BEAUTY (3) db "JULIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3112,7 +3112,7 @@ BeautyGroup: ; BEAUTY (4) db "JACLYN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3123,7 +3123,7 @@ BeautyGroup: ; BEAUTY (5) db "BRENDA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, FURRET @@ -3134,7 +3134,7 @@ BeautyGroup: ; BEAUTY (6) db "CASSIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, VILEPLUME @@ -3146,7 +3146,7 @@ BeautyGroup: ; BEAUTY (7) db "CAROLINE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MARILL @@ -3159,7 +3159,7 @@ BeautyGroup: ; BEAUTY (8) db "CARLENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3170,7 +3170,7 @@ BeautyGroup: ; BEAUTY (9) db "JESSICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3181,7 +3181,7 @@ BeautyGroup: ; BEAUTY (10) db "RACHAEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3192,7 +3192,7 @@ BeautyGroup: ; BEAUTY (11) db "ANGELICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3203,7 +3203,7 @@ BeautyGroup: ; BEAUTY (12) db "KENDRA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3214,7 +3214,7 @@ BeautyGroup: ; BEAUTY (13) db "VERONICA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3225,7 +3225,7 @@ BeautyGroup: ; BEAUTY (14) db "JULIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PARAS @@ -3238,7 +3238,7 @@ BeautyGroup: ; BEAUTY (15) db "THERESA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, SENTRET @@ -3249,7 +3249,7 @@ BeautyGroup: ; BEAUTY (16) db "VALERIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3271,7 +3271,7 @@ BeautyGroup: ; BEAUTY (17) db "OLIVIA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, CORSOLA @@ -3288,7 +3288,7 @@ PokemaniacGroup: ; POKEMANIAC (1) db "LARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SLOWPOKE @@ -3299,7 +3299,7 @@ PokemaniacGroup: ; POKEMANIAC (2) db "ANDREW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, MAROWAK @@ -3311,7 +3311,7 @@ PokemaniacGroup: ; POKEMANIAC (3) db "CALVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, KANGASKHAN @@ -3322,7 +3322,7 @@ PokemaniacGroup: ; POKEMANIAC (4) db "SHANE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, NIDORINA @@ -3334,7 +3334,7 @@ PokemaniacGroup: ; POKEMANIAC (5) db "BEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, SLOWBRO @@ -3345,7 +3345,7 @@ PokemaniacGroup: ; POKEMANIAC (6) db "BRENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, LICKITUNG @@ -3356,7 +3356,7 @@ PokemaniacGroup: ; POKEMANIAC (7) db "RON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, NIDOKING @@ -3367,7 +3367,7 @@ PokemaniacGroup: ; POKEMANIAC (8) db "ETHAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, RHYHORN @@ -3379,7 +3379,7 @@ PokemaniacGroup: ; POKEMANIAC (9) db "BRENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KANGASKHAN @@ -3390,7 +3390,7 @@ PokemaniacGroup: ; POKEMANIAC (10) db "BRENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3406,7 +3406,7 @@ PokemaniacGroup: ; POKEMANIAC (11) db "ISSAC@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3422,7 +3422,7 @@ PokemaniacGroup: ; POKEMANIAC (12) db "DONALD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SLOWPOKE @@ -3434,7 +3434,7 @@ PokemaniacGroup: ; POKEMANIAC (13) db "ZACH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, RHYHORN @@ -3445,7 +3445,7 @@ PokemaniacGroup: ; POKEMANIAC (14) db "BRENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -3461,7 +3461,7 @@ PokemaniacGroup: ; POKEMANIAC (15) db "MILLER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, NIDOKING @@ -3479,7 +3479,7 @@ GruntMGroup: ; GRUNTM (1) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, KOFFING @@ -3490,7 +3490,7 @@ GruntMGroup: ; GRUNTM (2) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, RATTATA @@ -3503,7 +3503,7 @@ GruntMGroup: ; GRUNTM (3) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3515,7 +3515,7 @@ GruntMGroup: ; GRUNTM (4) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GRIMER @@ -3528,7 +3528,7 @@ GruntMGroup: ; GRUNTM (5) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, RATTATA @@ -3543,7 +3543,7 @@ GruntMGroup: ; GRUNTM (6) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, ZUBAT @@ -3555,7 +3555,7 @@ GruntMGroup: ; GRUNTM (7) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KOFFING @@ -3569,7 +3569,7 @@ GruntMGroup: ; GRUNTM (8) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, WEEZING @@ -3580,7 +3580,7 @@ GruntMGroup: ; GRUNTM (9) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3592,7 +3592,7 @@ GruntMGroup: ; GRUNTM (10) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -3605,7 +3605,7 @@ GruntMGroup: ; GRUNTM (11) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, MUK @@ -3618,7 +3618,7 @@ GruntMGroup: ; GRUNTM (12) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, HOUNDOUR @@ -3629,7 +3629,7 @@ GruntMGroup: ; GRUNTM (13) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, RATTATA @@ -3640,7 +3640,7 @@ GruntMGroup: ; GRUNTM (14) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, RATICATE @@ -3652,7 +3652,7 @@ GruntMGroup: ; GRUNTM (15) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, GRIMER @@ -3664,7 +3664,7 @@ GruntMGroup: ; GRUNTM (16) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, RATTATA @@ -3678,7 +3678,7 @@ GruntMGroup: ; GRUNTM (17) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GOLBAT @@ -3689,7 +3689,7 @@ GruntMGroup: ; GRUNTM (18) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, RATTATA @@ -3702,7 +3702,7 @@ GruntMGroup: ; GRUNTM (19) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VENONAT @@ -3714,7 +3714,7 @@ GruntMGroup: ; GRUNTM (20) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, DROWZEE @@ -3726,7 +3726,7 @@ GruntMGroup: ; GRUNTM (21) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, ZUBAT @@ -3739,7 +3739,7 @@ GruntMGroup: ; GRUNTM (22) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, GOLBAT @@ -3750,7 +3750,7 @@ GruntMGroup: ; GRUNTM (23) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, KOFFING @@ -3761,7 +3761,7 @@ GruntMGroup: ; GRUNTM (24) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KOFFING @@ -3773,7 +3773,7 @@ GruntMGroup: ; GRUNTM (25) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, KOFFING @@ -3785,7 +3785,7 @@ GruntMGroup: ; GRUNTM (26) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, RATTATA @@ -3797,7 +3797,7 @@ GruntMGroup: ; GRUNTM (27) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -3808,7 +3808,7 @@ GruntMGroup: ; GRUNTM (28) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, RATICATE @@ -3819,7 +3819,7 @@ GruntMGroup: ; GRUNTM (29) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, RATTATA @@ -3831,7 +3831,7 @@ GruntMGroup: ; GRUNTM (30) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GOLBAT @@ -3844,7 +3844,7 @@ GruntMGroup: ; GRUNTM (31) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GOLBAT @@ -3861,7 +3861,7 @@ GentlemanGroup: ; GENTLEMAN (1) db "PRESTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GROWLITHE @@ -3873,7 +3873,7 @@ GentlemanGroup: ; GENTLEMAN (2) db "EDWARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, PERSIAN @@ -3884,7 +3884,7 @@ GentlemanGroup: ; GENTLEMAN (3) db "GREGORY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, PIKACHU @@ -3896,7 +3896,7 @@ GentlemanGroup: ; GENTLEMAN (4) db "VIRGIL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, PONYTA @@ -3907,7 +3907,7 @@ GentlemanGroup: ; GENTLEMAN (5) db "ALFRED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, NOCTOWL @@ -3924,7 +3924,7 @@ SkierGroup: ; SKIER (1) db "ROXANNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, JYNX @@ -3935,7 +3935,7 @@ SkierGroup: ; SKIER (2) db "CLARISSA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, DEWGONG @@ -3952,7 +3952,7 @@ TeacherGroup: ; TEACHER (1) db "COLETTE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, CLEFAIRY @@ -3963,7 +3963,7 @@ TeacherGroup: ; TEACHER (2) db "HILLARY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, AIPOM @@ -3975,7 +3975,7 @@ TeacherGroup: ; TEACHER (3) db "SHIRLEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, JIGGLYPUFF @@ -3992,7 +3992,7 @@ SabrinaGroup: ; SABRINA (1) db "SABRINA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4026,7 +4026,7 @@ BugCatcherGroup: ; BUG_CATCHER (1) db "DON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, CATERPIE @@ -4038,7 +4038,7 @@ BugCatcherGroup: ; BUG_CATCHER (2) db "ROB@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, BEEDRILL @@ -4050,7 +4050,7 @@ BugCatcherGroup: ; BUG_CATCHER (3) db "ED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, BEEDRILL @@ -4063,7 +4063,7 @@ BugCatcherGroup: ; BUG_CATCHER (4) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, CATERPIE @@ -4077,7 +4077,7 @@ BugCatcherGroup: ; BUG_CATCHER (5) db "BENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, WEEDLE @@ -4090,7 +4090,7 @@ BugCatcherGroup: ; BUG_CATCHER (6) db "AL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 12, CATERPIE @@ -4102,7 +4102,7 @@ BugCatcherGroup: ; BUG_CATCHER (7) db "JOSH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, PARAS @@ -4113,7 +4113,7 @@ BugCatcherGroup: ; BUG_CATCHER (8) db "ARNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, VENONAT @@ -4124,7 +4124,7 @@ BugCatcherGroup: ; BUG_CATCHER (9) db "KEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, ARIADOS @@ -4136,7 +4136,7 @@ BugCatcherGroup: ; BUG_CATCHER (10) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, METAPOD @@ -4150,7 +4150,7 @@ BugCatcherGroup: ; BUG_CATCHER (11) db "WADE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, BUTTERFREE @@ -4164,7 +4164,7 @@ BugCatcherGroup: ; BUG_CATCHER (12) db "DOUG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, ARIADOS @@ -4175,7 +4175,7 @@ BugCatcherGroup: ; BUG_CATCHER (13) db "ARNIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, VENONAT @@ -4186,7 +4186,7 @@ BugCatcherGroup: ; BUG_CATCHER (14) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4202,7 +4202,7 @@ BugCatcherGroup: ; BUG_CATCHER (15) db "WADE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4236,7 +4236,7 @@ BugCatcherGroup: ; BUG_CATCHER (16) db "WADE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4270,7 +4270,7 @@ BugCatcherGroup: ; BUG_CATCHER (17) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4286,7 +4286,7 @@ BugCatcherGroup: ; BUG_CATCHER (18) db "ARNIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4302,7 +4302,7 @@ BugCatcherGroup: ; BUG_CATCHER (19) db "WAYNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 8, LEDYBA @@ -4320,7 +4320,7 @@ FisherGroup: ; FISHER (1) db "JUSTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 5, MAGIKARP @@ -4334,7 +4334,7 @@ FisherGroup: ; FISHER (2) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, GOLDEEN @@ -4345,7 +4345,7 @@ FisherGroup: ; FISHER (3) db "ARNOLD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, TENTACRUEL @@ -4356,7 +4356,7 @@ FisherGroup: ; FISHER (4) db "KYLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, SEAKING @@ -4369,7 +4369,7 @@ FisherGroup: ; FISHER (5) db "HENRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 8, POLIWAG @@ -4381,7 +4381,7 @@ FisherGroup: ; FISHER (6) db "MARVIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, MAGIKARP @@ -4395,7 +4395,7 @@ FisherGroup: ; FISHER (7) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, QWILFISH @@ -4406,7 +4406,7 @@ FisherGroup: ; FISHER (8) db "ANDRE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, GYARADOS @@ -4417,7 +4417,7 @@ FisherGroup: ; FISHER (9) db "RAYMOND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, MAGIKARP @@ -4431,7 +4431,7 @@ FisherGroup: ; FISHER (10) db "WILTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GOLDEEN @@ -4444,7 +4444,7 @@ FisherGroup: ; FISHER (11) db "EDGAR@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4466,7 +4466,7 @@ FisherGroup: ; FISHER (12) db "JONAH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, SHELLDER @@ -4480,7 +4480,7 @@ FisherGroup: ; FISHER (13) db "MARTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, REMORAID @@ -4492,7 +4492,7 @@ FisherGroup: ; FISHER (14) db "STEPHEN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, MAGIKARP @@ -4506,7 +4506,7 @@ FisherGroup: ; FISHER (15) db "BARNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GYARADOS @@ -4519,7 +4519,7 @@ FisherGroup: ; FISHER (16) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GOLDEEN @@ -4530,7 +4530,7 @@ FisherGroup: ; FISHER (17) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, QWILFISH @@ -4542,7 +4542,7 @@ FisherGroup: ; FISHER (18) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, QWILFISH @@ -4553,7 +4553,7 @@ FisherGroup: ; FISHER (19) db "TULLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, GOLDEEN @@ -4566,7 +4566,7 @@ FisherGroup: ; FISHER (20) db "WILTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, GOLDEEN @@ -4579,7 +4579,7 @@ FisherGroup: ; FISHER (21) db "SCOTT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, QWILFISH @@ -4592,7 +4592,7 @@ FisherGroup: ; FISHER (22) db "WILTON@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4620,7 +4620,7 @@ FisherGroup: ; FISHER (23) db "RALPH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, QWILFISH @@ -4632,7 +4632,7 @@ FisherGroup: ; FISHER (24) db "RALPH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4654,7 +4654,7 @@ FisherGroup: ; FISHER (25) db "TULLY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -4688,7 +4688,7 @@ SwimmerMGroup: ; SWIMMERM (1) db "HAROLD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, REMORAID @@ -4700,7 +4700,7 @@ SwimmerMGroup: ; SWIMMERM (2) db "SIMON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, TENTACOOL @@ -4712,7 +4712,7 @@ SwimmerMGroup: ; SWIMMERM (3) db "RANDALL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, SHELLDER @@ -4725,7 +4725,7 @@ SwimmerMGroup: ; SWIMMERM (4) db "CHARLIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, SHELLDER @@ -4738,7 +4738,7 @@ SwimmerMGroup: ; SWIMMERM (5) db "GEORGE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, TENTACOOL @@ -4754,7 +4754,7 @@ SwimmerMGroup: ; SWIMMERM (6) db "BERKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, QWILFISH @@ -4765,7 +4765,7 @@ SwimmerMGroup: ; SWIMMERM (7) db "KIRK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, GYARADOS @@ -4777,7 +4777,7 @@ SwimmerMGroup: ; SWIMMERM (8) db "MATHEW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KRABBY @@ -4788,7 +4788,7 @@ SwimmerMGroup: ; SWIMMERM (9) db "HAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SEEL @@ -4801,7 +4801,7 @@ SwimmerMGroup: ; SWIMMERM (10) db "PATON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, PILOSWINE @@ -4813,7 +4813,7 @@ SwimmerMGroup: ; SWIMMERM (11) db "DARYL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SHELLDER @@ -4826,7 +4826,7 @@ SwimmerMGroup: ; SWIMMERM (12) db "WALTER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, HORSEA @@ -4839,7 +4839,7 @@ SwimmerMGroup: ; SWIMMERM (13) db "TONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4852,7 +4852,7 @@ SwimmerMGroup: ; SWIMMERM (14) db "JEROME@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SEADRA @@ -4866,7 +4866,7 @@ SwimmerMGroup: ; SWIMMERM (15) db "TUCKER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, SHELLDER @@ -4878,7 +4878,7 @@ SwimmerMGroup: ; SWIMMERM (16) db "RICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4891,7 +4891,7 @@ SwimmerMGroup: ; SWIMMERM (17) db "CAMERON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, MARILL @@ -4902,7 +4902,7 @@ SwimmerMGroup: ; SWIMMERM (18) db "SETH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, QUAGSIRE @@ -4915,7 +4915,7 @@ SwimmerMGroup: ; SWIMMERM (19) db "JAMES@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4928,7 +4928,7 @@ SwimmerMGroup: ; SWIMMERM (20) db "LEWIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, STARYU @@ -4941,7 +4941,7 @@ SwimmerMGroup: ; SWIMMERM (21) db "PARKER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, HORSEA @@ -4960,7 +4960,7 @@ SwimmerFGroup: ; SWIMMERF (1) db "ELAINE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, STARYU @@ -4971,7 +4971,7 @@ SwimmerFGroup: ; SWIMMERF (2) db "PAULA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, STARYU @@ -4983,7 +4983,7 @@ SwimmerFGroup: ; SWIMMERF (3) db "KAYLEE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GOLDEEN @@ -4996,7 +4996,7 @@ SwimmerFGroup: ; SWIMMERF (4) db "SUSIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5018,7 +5018,7 @@ SwimmerFGroup: ; SWIMMERF (5) db "DENISE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, SEEL @@ -5029,7 +5029,7 @@ SwimmerFGroup: ; SWIMMERF (6) db "KARA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, STARYU @@ -5041,7 +5041,7 @@ SwimmerFGroup: ; SWIMMERF (7) db "WENDY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5063,7 +5063,7 @@ SwimmerFGroup: ; SWIMMERF (8) db "LISA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, JYNX @@ -5074,7 +5074,7 @@ SwimmerFGroup: ; SWIMMERF (9) db "JILL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, DEWGONG @@ -5085,7 +5085,7 @@ SwimmerFGroup: ; SWIMMERF (10) db "MARY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5096,7 +5096,7 @@ SwimmerFGroup: ; SWIMMERF (11) db "KATIE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, DEWGONG @@ -5107,7 +5107,7 @@ SwimmerFGroup: ; SWIMMERF (12) db "DAWN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, SEAKING @@ -5118,7 +5118,7 @@ SwimmerFGroup: ; SWIMMERF (13) db "TARA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5129,7 +5129,7 @@ SwimmerFGroup: ; SWIMMERF (14) db "NICOLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MARILL @@ -5142,7 +5142,7 @@ SwimmerFGroup: ; SWIMMERF (15) db "LORI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, STARMIE @@ -5154,7 +5154,7 @@ SwimmerFGroup: ; SWIMMERF (16) db "JODY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SEAKING @@ -5165,7 +5165,7 @@ SwimmerFGroup: ; SWIMMERF (17) db "NIKKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, SEEL @@ -5179,7 +5179,7 @@ SwimmerFGroup: ; SWIMMERF (18) db "DIANA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, GOLDUCK @@ -5190,7 +5190,7 @@ SwimmerFGroup: ; SWIMMERF (19) db "BRIANA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, SEAKING @@ -5208,7 +5208,7 @@ SailorGroup: ; SAILOR (1) db "EUGENE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, POLIWHIRL @@ -5221,7 +5221,7 @@ SailorGroup: ; SAILOR (2) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, POLIWAG @@ -5233,7 +5233,7 @@ SailorGroup: ; SAILOR (3) db "TERRELL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, POLIWHIRL @@ -5244,7 +5244,7 @@ SailorGroup: ; SAILOR (4) db "KENT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5266,7 +5266,7 @@ SailorGroup: ; SAILOR (5) db "ERNEST@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, MACHOP @@ -5279,7 +5279,7 @@ SailorGroup: ; SAILOR (6) db "JEFF@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, RATICATE @@ -5291,7 +5291,7 @@ SailorGroup: ; SAILOR (7) db "GARRETT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, KINGLER @@ -5302,7 +5302,7 @@ SailorGroup: ; SAILOR (8) db "KENNETH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, MACHOP @@ -5316,7 +5316,7 @@ SailorGroup: ; SAILOR (9) db "STANLY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, MACHOP @@ -5329,7 +5329,7 @@ SailorGroup: ; SAILOR (10) db "HARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, WOOPER @@ -5340,7 +5340,7 @@ SailorGroup: ; SAILOR (11) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, POLIWHIRL @@ -5352,7 +5352,7 @@ SailorGroup: ; SAILOR (12) db "HUEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, POLIWHIRL @@ -5364,7 +5364,7 @@ SailorGroup: ; SAILOR (13) db "HUEY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5392,7 +5392,7 @@ SuperNerdGroup: ; SUPER_NERD (1) db "STAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, GRIMER @@ -5403,7 +5403,7 @@ SuperNerdGroup: ; SUPER_NERD (2) db "ERIC@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, GRIMER @@ -5415,7 +5415,7 @@ SuperNerdGroup: ; SUPER_NERD (3) db "GREGG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, MAGNEMITE @@ -5428,7 +5428,7 @@ SuperNerdGroup: ; SUPER_NERD (4) db "JAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, KOFFING @@ -5440,7 +5440,7 @@ SuperNerdGroup: ; SUPER_NERD (5) db "DAVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, DITTO @@ -5451,7 +5451,7 @@ SuperNerdGroup: ; SUPER_NERD (6) db "SAM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, GRIMER @@ -5463,7 +5463,7 @@ SuperNerdGroup: ; SUPER_NERD (7) db "TOM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MAGNEMITE @@ -5476,7 +5476,7 @@ SuperNerdGroup: ; SUPER_NERD (8) db "PAT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, PORYGON @@ -5487,7 +5487,7 @@ SuperNerdGroup: ; SUPER_NERD (9) db "SHAWN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, MAGNEMITE @@ -5500,7 +5500,7 @@ SuperNerdGroup: ; SUPER_NERD (10) db "TERU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, MAGNEMITE @@ -5514,7 +5514,7 @@ SuperNerdGroup: ; SUPER_NERD (11) db "RUSS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -5527,7 +5527,7 @@ SuperNerdGroup: ; SUPER_NERD (12) db "NORTON@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5543,7 +5543,7 @@ SuperNerdGroup: ; SUPER_NERD (13) db "HUGH@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5559,7 +5559,7 @@ SuperNerdGroup: ; SUPER_NERD (14) db "MARKUS@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5581,7 +5581,7 @@ Rival2Group: ; RIVAL2 (1) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5627,7 +5627,7 @@ Rival2Group: ; RIVAL2 (2) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5673,7 +5673,7 @@ Rival2Group: ; RIVAL2 (3) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5719,7 +5719,7 @@ Rival2Group: ; RIVAL2 (4) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5765,7 +5765,7 @@ Rival2Group: ; RIVAL2 (5) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5811,7 +5811,7 @@ Rival2Group: ; RIVAL2 (6) db "?@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -5863,7 +5863,7 @@ GuitaristGroup: ; GUITARIST (1) db "CLYDE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, ELECTABUZZ @@ -5874,7 +5874,7 @@ GuitaristGroup: ; GUITARIST (2) db "VINCENT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, MAGNEMITE @@ -5894,7 +5894,7 @@ HikerGroup: ; HIKER (1) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, GEODUDE @@ -5906,7 +5906,7 @@ HikerGroup: ; HIKER (2) db "RUSSELL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 4, GEODUDE @@ -5919,7 +5919,7 @@ HikerGroup: ; HIKER (3) db "PHILLIP@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -5932,7 +5932,7 @@ HikerGroup: ; HIKER (4) db "LEONARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -5944,7 +5944,7 @@ HikerGroup: ; HIKER (5) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, GEODUDE @@ -5956,7 +5956,7 @@ HikerGroup: ; HIKER (6) db "BENJAMIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, DIGLETT @@ -5969,7 +5969,7 @@ HikerGroup: ; HIKER (7) db "ERIK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, MACHOP @@ -5982,7 +5982,7 @@ HikerGroup: ; HIKER (8) db "MICHAEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GEODUDE @@ -5995,7 +5995,7 @@ HikerGroup: ; HIKER (9) db "PARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, ONIX @@ -6007,7 +6007,7 @@ HikerGroup: ; HIKER (10) db "TIMOTHY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6029,7 +6029,7 @@ HikerGroup: ; HIKER (11) db "BAILEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, GEODUDE @@ -6044,7 +6044,7 @@ HikerGroup: ; HIKER (12) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GRAVELER @@ -6057,7 +6057,7 @@ HikerGroup: ; HIKER (13) db "TIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, GRAVELER @@ -6070,7 +6070,7 @@ HikerGroup: ; HIKER (14) db "NOLAND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, SANDSLASH @@ -6082,7 +6082,7 @@ HikerGroup: ; HIKER (15) db "SIDNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, DUGTRIO @@ -6094,7 +6094,7 @@ HikerGroup: ; HIKER (16) db "KENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, SANDSLASH @@ -6108,7 +6108,7 @@ HikerGroup: ; HIKER (17) db "JIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, MACHAMP @@ -6119,7 +6119,7 @@ HikerGroup: ; HIKER (18) db "DANIEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, ONIX @@ -6130,7 +6130,7 @@ HikerGroup: ; HIKER (19) db "PARRY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6158,7 +6158,7 @@ HikerGroup: ; HIKER (20) db "PARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, ONIX @@ -6169,7 +6169,7 @@ HikerGroup: ; HIKER (21) db "ANTHONY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GRAVELER @@ -6182,7 +6182,7 @@ HikerGroup: ; HIKER (22) db "ANTHONY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6216,7 +6216,7 @@ BikerGroup: ; BIKER (1) db "BENNY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, KOFFING @@ -6229,7 +6229,7 @@ BikerGroup: ; BIKER (2) db "KAZU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, KOFFING @@ -6242,7 +6242,7 @@ BikerGroup: ; BIKER (3) db "DWAYNE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, KOFFING @@ -6256,7 +6256,7 @@ BikerGroup: ; BIKER (4) db "HARRIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FLAREON @@ -6267,7 +6267,7 @@ BikerGroup: ; BIKER (5) db "ZEKE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, KOFFING @@ -6279,7 +6279,7 @@ BikerGroup: ; BIKER (6) db "CHARLES@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, KOFFING @@ -6292,7 +6292,7 @@ BikerGroup: ; BIKER (7) db "RILEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, WEEZING @@ -6303,7 +6303,7 @@ BikerGroup: ; BIKER (8) db "JOEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MAGMAR @@ -6315,7 +6315,7 @@ BikerGroup: ; BIKER (9) db "GLENN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, KOFFING @@ -6334,7 +6334,7 @@ BlaineGroup: ; BLAINE (1) db "BLAINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6368,7 +6368,7 @@ BurglarGroup: ; BURGLAR (1) db "DUNCAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, KOFFING @@ -6381,7 +6381,7 @@ BurglarGroup: ; BURGLAR (2) db "EDDIE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6403,7 +6403,7 @@ BurglarGroup: ; BURGLAR (3) db "COREY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, KOFFING @@ -6423,7 +6423,7 @@ FirebreatherGroup: ; FIREBREATHER (1) db "OTIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MAGMAR @@ -6436,7 +6436,7 @@ FirebreatherGroup: ; FIREBREATHER (2) db "DICK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, CHARMELEON @@ -6447,7 +6447,7 @@ FirebreatherGroup: ; FIREBREATHER (3) db "NED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, KOFFING @@ -6460,7 +6460,7 @@ FirebreatherGroup: ; FIREBREATHER (4) db "BURT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, KOFFING @@ -6472,7 +6472,7 @@ FirebreatherGroup: ; FIREBREATHER (5) db "BILL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, KOFFING @@ -6484,7 +6484,7 @@ FirebreatherGroup: ; FIREBREATHER (6) db "WALT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 11, MAGMAR @@ -6496,7 +6496,7 @@ FirebreatherGroup: ; FIREBREATHER (7) db "RAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, VULPIX @@ -6507,7 +6507,7 @@ FirebreatherGroup: ; FIREBREATHER (8) db "LYLE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, KOFFING @@ -6526,7 +6526,7 @@ JugglerGroup: ; JUGGLER (1) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 2, VOLTORB @@ -6540,7 +6540,7 @@ JugglerGroup: ; JUGGLER (2) db "FRITZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, MR__MIME @@ -6553,7 +6553,7 @@ JugglerGroup: ; JUGGLER (3) db "HORTON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, ELECTRODE @@ -6567,7 +6567,7 @@ JugglerGroup: ; JUGGLER (4) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, VOLTORB @@ -6581,7 +6581,7 @@ JugglerGroup: ; JUGGLER (5) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VOLTORB @@ -6595,7 +6595,7 @@ JugglerGroup: ; JUGGLER (6) db "IRWIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, VOLTORB @@ -6615,7 +6615,7 @@ BlackbeltGroup: ; BLACKBELT_T (1) db "KENJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 27, ONIX @@ -6629,7 +6629,7 @@ BlackbeltGroup: ; BLACKBELT_T (2) db "YOSHI@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6645,7 +6645,7 @@ BlackbeltGroup: ; BLACKBELT_T (3) db "KENJI@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6679,7 +6679,7 @@ BlackbeltGroup: ; BLACKBELT_T (4) db "LAO@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6695,7 +6695,7 @@ BlackbeltGroup: ; BLACKBELT_T (5) db "NOB@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6717,7 +6717,7 @@ BlackbeltGroup: ; BLACKBELT_T (6) db "KIYO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, HITMONLEE @@ -6729,7 +6729,7 @@ BlackbeltGroup: ; BLACKBELT_T (7) db "LUNG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, MANKEY @@ -6742,7 +6742,7 @@ BlackbeltGroup: ; BLACKBELT_T (8) db "KENJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 28, MACHOKE @@ -6753,7 +6753,7 @@ BlackbeltGroup: ; BLACKBELT_T (9) db "WAI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, MACHOKE @@ -6772,7 +6772,7 @@ ExecutiveMGroup: ; EXECUTIVEM (1) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6800,7 +6800,7 @@ ExecutiveMGroup: ; EXECUTIVEM (2) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6816,7 +6816,7 @@ ExecutiveMGroup: ; EXECUTIVEM (3) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6862,7 +6862,7 @@ ExecutiveMGroup: ; EXECUTIVEM (4) db "EXECUTIVE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, ZUBAT @@ -6881,7 +6881,7 @@ PsychicGroup: ; PSYCHIC_T (1) db "NATHAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, GIRAFARIG @@ -6892,7 +6892,7 @@ PsychicGroup: ; PSYCHIC_T (2) db "FRANKLIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, KADABRA @@ -6903,7 +6903,7 @@ PsychicGroup: ; PSYCHIC_T (3) db "HERMAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, EXEGGCUTE @@ -6916,7 +6916,7 @@ PsychicGroup: ; PSYCHIC_T (4) db "FIDEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, XATU @@ -6927,7 +6927,7 @@ PsychicGroup: ; PSYCHIC_T (5) db "GREG@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6943,7 +6943,7 @@ PsychicGroup: ; PSYCHIC_T (6) db "NORMAN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6965,7 +6965,7 @@ PsychicGroup: ; PSYCHIC_T (7) db "MARK@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -6993,7 +6993,7 @@ PsychicGroup: ; PSYCHIC_T (8) db "PHIL@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7015,7 +7015,7 @@ PsychicGroup: ; PSYCHIC_T (9) db "RICHARD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, ESPEON @@ -7026,7 +7026,7 @@ PsychicGroup: ; PSYCHIC_T (10) db "GILBERT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, STARMIE @@ -7039,7 +7039,7 @@ PsychicGroup: ; PSYCHIC_T (11) db "JARED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, MR__MIME @@ -7052,7 +7052,7 @@ PsychicGroup: ; PSYCHIC_T (12) db "RODNEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 29, DROWZEE @@ -7070,7 +7070,7 @@ PicnickerGroup: ; PICNICKER (1) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, NIDORAN_F @@ -7081,7 +7081,7 @@ PicnickerGroup: ; PICNICKER (2) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, HOPPIP @@ -7094,7 +7094,7 @@ PicnickerGroup: ; PICNICKER (3) db "BROOKE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7110,7 +7110,7 @@ PicnickerGroup: ; PICNICKER (4) db "KIM@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, VULPIX @@ -7121,7 +7121,7 @@ PicnickerGroup: ; PICNICKER (5) db "CINDY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, NIDOQUEEN @@ -7132,7 +7132,7 @@ PicnickerGroup: ; PICNICKER (6) db "HOPE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, FLAAFFY @@ -7143,7 +7143,7 @@ PicnickerGroup: ; PICNICKER (7) db "SHARON@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, FURRET @@ -7155,7 +7155,7 @@ PicnickerGroup: ; PICNICKER (8) db "DEBRA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, SEAKING @@ -7166,7 +7166,7 @@ PicnickerGroup: ; PICNICKER (9) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, HOPPIP @@ -7179,7 +7179,7 @@ PicnickerGroup: ; PICNICKER (10) db "ERIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, PONYTA @@ -7191,7 +7191,7 @@ PicnickerGroup: ; PICNICKER (11) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, WEEPINBELL @@ -7203,7 +7203,7 @@ PicnickerGroup: ; PICNICKER (12) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 19, WEEPINBELL @@ -7216,7 +7216,7 @@ PicnickerGroup: ; PICNICKER (13) db "HEIDI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, SKIPLOOM @@ -7228,7 +7228,7 @@ PicnickerGroup: ; PICNICKER (14) db "EDNA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, NIDORINA @@ -7240,7 +7240,7 @@ PicnickerGroup: ; PICNICKER (15) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SKIPLOOM @@ -7253,7 +7253,7 @@ PicnickerGroup: ; PICNICKER (16) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7269,7 +7269,7 @@ PicnickerGroup: ; PICNICKER (17) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7285,7 +7285,7 @@ PicnickerGroup: ; PICNICKER (18) db "ERIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, PONYTA @@ -7297,7 +7297,7 @@ PicnickerGroup: ; PICNICKER (19) db "TANYA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, EXEGGUTOR @@ -7308,7 +7308,7 @@ PicnickerGroup: ; PICNICKER (20) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7324,7 +7324,7 @@ PicnickerGroup: ; PICNICKER (21) db "ERIN@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7352,7 +7352,7 @@ PicnickerGroup: ; PICNICKER (22) db "LIZ@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, WEEPINBELL @@ -7365,7 +7365,7 @@ PicnickerGroup: ; PICNICKER (23) db "LIZ@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7393,7 +7393,7 @@ PicnickerGroup: ; PICNICKER (24) db "GINA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, SKIPLOOM @@ -7406,7 +7406,7 @@ PicnickerGroup: ; PICNICKER (25) db "GINA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7434,7 +7434,7 @@ PicnickerGroup: ; PICNICKER (26) db "TIFFANY@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7456,7 +7456,7 @@ CamperGroup: ; CAMPER (1) db "ROLAND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, NIDORAN_M @@ -7467,7 +7467,7 @@ CamperGroup: ; CAMPER (2) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, PSYDUCK @@ -7478,7 +7478,7 @@ CamperGroup: ; CAMPER (3) db "IVAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, DIGLETT @@ -7491,7 +7491,7 @@ CamperGroup: ; CAMPER (4) db "ELLIOT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 13, SANDSHREW @@ -7503,7 +7503,7 @@ CamperGroup: ; CAMPER (5) db "BARRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 36, NIDOKING @@ -7514,7 +7514,7 @@ CamperGroup: ; CAMPER (6) db "LLOYD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, NIDOKING @@ -7525,7 +7525,7 @@ CamperGroup: ; CAMPER (7) db "DEAN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GOLDUCK @@ -7537,7 +7537,7 @@ CamperGroup: ; CAMPER (8) db "SID@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, DUGTRIO @@ -7550,7 +7550,7 @@ CamperGroup: ; CAMPER (9) db "HARVEY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, NIDORINO @@ -7561,7 +7561,7 @@ CamperGroup: ; CAMPER (10) db "DALE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 15, NIDORINO @@ -7572,7 +7572,7 @@ CamperGroup: ; CAMPER (11) db "TED@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, MANKEY @@ -7583,7 +7583,7 @@ CamperGroup: ; CAMPER (12) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GEODUDE @@ -7596,7 +7596,7 @@ CamperGroup: ; CAMPER (13) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 23, GEODUDE @@ -7609,7 +7609,7 @@ CamperGroup: ; CAMPER (14) db "THOMAS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7623,7 +7623,7 @@ CamperGroup: ; CAMPER (15) db "LEROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7637,7 +7637,7 @@ CamperGroup: ; CAMPER (16) db "DAVID@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7651,7 +7651,7 @@ CamperGroup: ; CAMPER (17) db "JOHN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 33, GRAVELER @@ -7665,7 +7665,7 @@ CamperGroup: ; CAMPER (18) db "JERRY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 37, SANDSLASH @@ -7676,7 +7676,7 @@ CamperGroup: ; CAMPER (19) db "SPENCER@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, SANDSHREW @@ -7689,7 +7689,7 @@ CamperGroup: ; CAMPER (20) db "TODD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, GRAVELER @@ -7703,7 +7703,7 @@ CamperGroup: ; CAMPER (21) db "TODD@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7737,7 +7737,7 @@ CamperGroup: ; CAMPER (22) db "QUENTIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 30, FEAROW @@ -7756,7 +7756,7 @@ ExecutiveFGroup: ; EXECUTIVEF (1) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7784,7 +7784,7 @@ ExecutiveFGroup: ; EXECUTIVEF (2) db "EXECUTIVE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -7818,7 +7818,7 @@ SageGroup: ; SAGE (1) db "CHOW@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7831,7 +7831,7 @@ SageGroup: ; SAGE (2) db "NICO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7844,7 +7844,7 @@ SageGroup: ; SAGE (3) db "JIN@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, BELLSPROUT @@ -7855,7 +7855,7 @@ SageGroup: ; SAGE (4) db "TROY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, BELLSPROUT @@ -7867,7 +7867,7 @@ SageGroup: ; SAGE (5) db "JEFFREY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 22, HAUNTER @@ -7878,7 +7878,7 @@ SageGroup: ; SAGE (6) db "PING@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 16, GASTLY @@ -7893,7 +7893,7 @@ SageGroup: ; SAGE (7) db "EDMOND@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 3, BELLSPROUT @@ -7906,7 +7906,7 @@ SageGroup: ; SAGE (8) db "NEAL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 6, BELLSPROUT @@ -7917,7 +7917,7 @@ SageGroup: ; SAGE (9) db "LI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 7, BELLSPROUT @@ -7930,7 +7930,7 @@ SageGroup: ; SAGE (10) db "GAKU@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7942,7 +7942,7 @@ SageGroup: ; SAGE (11) db "MASA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7954,7 +7954,7 @@ SageGroup: ; SAGE (12) db "KOJI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 32, NOCTOWL @@ -7972,7 +7972,7 @@ MediumGroup: ; MEDIUM (1) db "MARTHA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 18, GASTLY @@ -7985,7 +7985,7 @@ MediumGroup: ; MEDIUM (2) db "GRACE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, HAUNTER @@ -7997,7 +7997,7 @@ MediumGroup: ; MEDIUM (3) db "BETHANY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8008,7 +8008,7 @@ MediumGroup: ; MEDIUM (4) db "MARGRET@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8019,7 +8019,7 @@ MediumGroup: ; MEDIUM (5) db "ETHEL@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, HAUNTER @@ -8030,7 +8030,7 @@ MediumGroup: ; MEDIUM (6) db "REBECCA@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, DROWZEE @@ -8042,7 +8042,7 @@ MediumGroup: ; MEDIUM (7) db "DORIS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 34, SLOWPOKE @@ -8060,7 +8060,7 @@ BoarderGroup: ; BOARDER (1) db "RONALD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SEEL @@ -8073,7 +8073,7 @@ BoarderGroup: ; BOARDER (2) db "BRAD@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, SWINUB @@ -8085,7 +8085,7 @@ BoarderGroup: ; BOARDER (3) db "DOUGLAS@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 24, SHELLDER @@ -8104,7 +8104,7 @@ PokefanMGroup: ; POKEFANM (1) db "WILLIAM@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 14, RAICHU, BERRY @@ -8115,7 +8115,7 @@ PokefanMGroup: ; POKEFANM (2) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 17, PIKACHU, BERRY @@ -8126,7 +8126,7 @@ PokefanMGroup: ; POKEFANM (3) db "ROBERT@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 33, QUAGSIRE, BERRY @@ -8137,7 +8137,7 @@ PokefanMGroup: ; POKEFANM (4) db "JOSHUA@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 23, PIKACHU, BERRY @@ -8153,7 +8153,7 @@ PokefanMGroup: ; POKEFANM (5) db "CARTER@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 29, BULBASAUR, BERRY @@ -8166,7 +8166,7 @@ PokefanMGroup: ; POKEFANM (6) db "TREVOR@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 33, PSYDUCK, BERRY @@ -8177,7 +8177,7 @@ PokefanMGroup: ; POKEFANM (7) db "BRANDON@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 13, SNUBBULL, BERRY @@ -8188,7 +8188,7 @@ PokefanMGroup: ; POKEFANM (8) db "JEREMY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 28, MEOWTH, BERRY @@ -8201,7 +8201,7 @@ PokefanMGroup: ; POKEFANM (9) db "COLIN@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 32, DELIBIRD, BERRY @@ -8212,7 +8212,7 @@ PokefanMGroup: ; POKEFANM (10) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 19, PIKACHU, BERRY @@ -8223,7 +8223,7 @@ PokefanMGroup: ; POKEFANM (11) db "DEREK@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 36, PIKACHU, BERRY @@ -8234,7 +8234,7 @@ PokefanMGroup: ; POKEFANM (12) db "ALEX@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 29, NIDOKING, BERRY @@ -8247,7 +8247,7 @@ PokefanMGroup: ; POKEFANM (13) db "REX@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 35, PHANPY, BERRY @@ -8258,7 +8258,7 @@ PokefanMGroup: ; POKEFANM (14) db "ALLAN@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 35, TEDDIURSA, BERRY @@ -8275,7 +8275,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (1) db "NAOKO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 20, SKIPLOOM @@ -8288,7 +8288,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (2) db "NAOKO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, FLAREON @@ -8299,7 +8299,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (3) db "SAYO@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, ESPEON @@ -8310,7 +8310,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (4) db "ZUKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, UMBREON @@ -8321,7 +8321,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (5) db "KUNI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, VAPOREON @@ -8332,7 +8332,7 @@ KimonoGirlGroup: ; KIMONO_GIRL (6) db "MIKI@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, JOLTEON @@ -8349,7 +8349,7 @@ TwinsGroup: ; TWINS (1) db "AMY & MAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, SPINARAK @@ -8361,7 +8361,7 @@ TwinsGroup: ; TWINS (2) db "ANN & ANNE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8383,7 +8383,7 @@ TwinsGroup: ; TWINS (3) db "ANN & ANNE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8405,7 +8405,7 @@ TwinsGroup: ; TWINS (4) db "AMY & MAY@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 10, LEDYBA @@ -8417,7 +8417,7 @@ TwinsGroup: ; TWINS (5) db "JO & ZOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, VICTREEBEL @@ -8429,7 +8429,7 @@ TwinsGroup: ; TWINS (6) db "JO & ZOE@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 35, VILEPLUME @@ -8441,7 +8441,7 @@ TwinsGroup: ; TWINS (7) db "MEG & PEG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, TEDDIURSA @@ -8453,7 +8453,7 @@ TwinsGroup: ; TWINS (8) db "MEG & PEG@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 31, PHANPY @@ -8465,7 +8465,7 @@ TwinsGroup: ; TWINS (9) db "LEA & PIA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8487,7 +8487,7 @@ TwinsGroup: ; TWINS (10) db "LEA & PIA@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8515,7 +8515,7 @@ PokefanFGroup: ; POKEFANF (1) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 14, SNUBBULL, BERRY @@ -8526,7 +8526,7 @@ PokefanFGroup: ; POKEFANF (2) db "RUTH@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 17, PIKACHU, BERRY @@ -8537,7 +8537,7 @@ PokefanFGroup: ; POKEFANF (3) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 18, SNUBBULL, BERRY @@ -8548,7 +8548,7 @@ PokefanFGroup: ; POKEFANF (4) db "BEVERLY@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 30, GRANBULL, BERRY @@ -8559,7 +8559,7 @@ PokefanFGroup: ; POKEFANF (5) db "GEORGIA@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 23, SENTRET, BERRY @@ -8574,7 +8574,7 @@ PokefanFGroup: ; POKEFANF (6) db "JAIME@" - db 2 ; item + db TRAINERTYPE_ITEM ; party db 16, MEOWTH, BERRY @@ -8591,7 +8591,7 @@ RedGroup: ; RED (1) db "RED@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8643,7 +8643,7 @@ BlueGroup: ; BLUE (1) db "BLUE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8695,7 +8695,7 @@ OfficerGroup: ; OFFICER (1) db "KEITH@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 17, GROWLITHE @@ -8706,7 +8706,7 @@ OfficerGroup: ; OFFICER (2) db "DIRK@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 14, GROWLITHE @@ -8724,7 +8724,7 @@ GruntFGroup: ; GRUNTF (1) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 9, ZUBAT @@ -8736,7 +8736,7 @@ GruntFGroup: ; GRUNTF (2) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 26, ARBOK @@ -8747,7 +8747,7 @@ GruntFGroup: ; GRUNTF (3) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 25, GLOOM @@ -8759,7 +8759,7 @@ GruntFGroup: ; GRUNTF (4) db "GRUNT@" - db 0 ; normal + db TRAINERTYPE_NORMAL ; party db 21, EKANS @@ -8773,7 +8773,7 @@ GruntFGroup: ; GRUNTF (5) db "GRUNT@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -8801,7 +8801,7 @@ MysticalmanGroup: ; MYSTICALMAN (1) db "EUSINE@" - db 1 ; moves + db TRAINERTYPE_MOVES ; party @@ -425,7 +425,7 @@ AttackMissed:: ; c667 PlayerSubStatus1:: ; c668 ; bit -; 7 attract +; 7 in love ; 6 rollout ; 5 endure ; 4 perish song @@ -451,9 +451,9 @@ PlayerSubStatus3:: ; c66a ; 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 @@ PlayerSubStatus4:: ; c66b 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 @@ wDanger:: ds 1 ; c6fd wPlayerMinimized:: ds 1 ; c6fe PlayerScreens:: ; c6ff ; bit +; 7 +; 6 +; 5 ; 4 reflect ; 3 light screen ; 2 safeguard +; 1 ; 0 spikes ds 1 |