Document constants with comments, actual names, and more thorough usage

This commit is contained in:
Remy Oukaour 2017-12-09 00:50:59 -05:00
parent 89b9292db0
commit 512863989f
86 changed files with 2222 additions and 1980 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
; 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

View File

@ -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

View File

@ -1,3 +1,4 @@
; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm)
const_def
const SCGB_BATTLE_GRAYSCALE
const SCGB_BATTLE_COLORS

View File

@ -1,3 +1,4 @@
; Cries indexes (see audio/cry_pointers.asm)
const_def
; gen 1

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,4 +1,3 @@
LEN_2BPP_TILE EQU 16
LEN_1BPP_TILE EQU 8
TILES_PER_FRAME EQU 6
TILESIZE EQU $10

View File

@ -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
; pockets
; mail
MAIL_MSG_LENGTH EQU $20
MAILBOX_CAPACITY EQU 10
MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
; pack pockets
ITEM EQU 1
KEY_ITEM EQU 2
BALL EQU 3
TM_HM EQU 4
; pack pocket sizes
MAX_ITEMS EQU 20
MAX_KEY_ITEMS EQU 25
MAX_BALLS EQU 12
MAX_PC_ITEMS EQU 50
; item actions
CANT_SELECT EQU 1 << 6
CANT_TOSS EQU 1 << 7
@ -356,6 +371,7 @@ const_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
; 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

View File

@ -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

View File

@ -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,40 +479,7 @@ MAP_NONE EQU 0
mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
; elevator floors
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
; connection directions
const_def
const EAST_F
const WEST_F
const SOUTH_F
const NORTH_F
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
; permissions
; map permissions (wPermission)
const_value SET 1
const TOWN
const ROUTE
@ -516,7 +489,48 @@ const_value SET 1
const GATE
const DUNGEON
; object struct
; map palettes (wPermission)
const_def
const PALETTE_AUTO
const PALETTE_DAY
const PALETTE_NITE
const PALETTE_MORN
const PALETTE_DARK
; fish groups
const_def
const FISHGROUP_NONE
const FISHGROUP_SHORE
const FISHGROUP_OCEAN
const FISHGROUP_LAKE
const FISHGROUP_POND
const FISHGROUP_DRATINI
const FISHGROUP_QWILFISH_SWARM
const FISHGROUP_REMORAID_SWARM
const FISHGROUP_GYARADOS
const FISHGROUP_DRATINI_2
const FISHGROUP_WHIRL_ISLANDS
const FISHGROUP_QWILFISH
const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM
; connection directions
const_def
const EAST_F
const WEST_F
const SOUTH_F
const NORTH_F
; MapConnections
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
; 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
; TryReadSign arguments (see engine/events.asm)
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
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

View File

@ -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

View File

@ -1,21 +1,32 @@
PARTY_LENGTH EQU 6
; Boolean checks
FALSE EQU 0
TRUE EQU 1
MAX_ITEMS EQU 20
MAX_BALLS EQU 12
MAX_KEY_ITEMS EQU 25
MAX_PC_ITEMS EQU 50
; genders
MALE EQU 0
FEMALE EQU 1
; strings
; FlagAction arguments (see home/flag.asm)
RESET_FLAG EQU 0
SET_FLAG EQU 1
CHECK_FLAG EQU 2
; GetHPPal return values (see home.asm)
HP_GREEN EQU 0
HP_YELLOW EQU 1
HP_RED EQU 2
; name lengths
NAME_LENGTH EQU 11
PLAYER_NAME_LENGTH EQU 8
BOX_NAME_LENGTH EQU 9
PKMN_NAME_LENGTH EQU 11
MOVE_NAME_LENGTH EQU 13
ITEM_NAME_LENGTH EQU 13
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

View File

@ -1,291 +1,293 @@
; move ids
; indexes for:
; - MoveDescriptions (see battle/moves/move_descriptions.asm)
; - Moves (see battle/moves/moves.asm)
; - MoveNames (see battle/move_names.asm)
; - BattleAnimations (see battle/anims.asm)
const_def
const NO_MOVE ; $00
const POUND ; $01
const KARATE_CHOP ; $02
const DOUBLESLAP ; $03
const COMET_PUNCH ; $04
const MEGA_PUNCH ; $05
const PAY_DAY ; $06
const FIRE_PUNCH ; $07
const ICE_PUNCH ; $08
const THUNDERPUNCH ; $09
const SCRATCH ; $0a
const VICEGRIP ; $0b
const GUILLOTINE ; $0c
const RAZOR_WIND ; $0d
const SWORDS_DANCE ; $0e
const CUT ; $0f
const GUST ; $10
const WING_ATTACK ; $11
const WHIRLWIND ; $12
const FLY ; $13
const BIND ; $14
const SLAM ; $15
const VINE_WHIP ; $16
const STOMP ; $17
const DOUBLE_KICK ; $18
const MEGA_KICK ; $19
const JUMP_KICK ; $1a
const ROLLING_KICK ; $1b
const SAND_ATTACK ; $1c
const HEADBUTT ; $1d
const HORN_ATTACK ; $1e
const FURY_ATTACK ; $1f
const HORN_DRILL ; $20
const TACKLE ; $21
const BODY_SLAM ; $22
const WRAP ; $23
const TAKE_DOWN ; $24
const THRASH ; $25
const DOUBLE_EDGE ; $26
const TAIL_WHIP ; $27
const POISON_STING ; $28
const TWINEEDLE ; $29
const PIN_MISSILE ; $2a
const LEER ; $2b
const BITE ; $2c
const GROWL ; $2d
const ROAR ; $2e
const SING ; $2f
const SUPERSONIC ; $30
const SONICBOOM ; $31
const DISABLE ; $32
const ACID ; $33
const EMBER ; $34
const FLAMETHROWER ; $35
const MIST ; $36
const WATER_GUN ; $37
const HYDRO_PUMP ; $38
const SURF ; $39
const ICE_BEAM ; $3a
const BLIZZARD ; $3b
const PSYBEAM ; $3c
const BUBBLEBEAM ; $3d
const AURORA_BEAM ; $3e
const HYPER_BEAM ; $3f
const PECK ; $40
const DRILL_PECK ; $41
const SUBMISSION ; $42
const LOW_KICK ; $43
const COUNTER ; $44
const SEISMIC_TOSS ; $45
const STRENGTH ; $46
const ABSORB ; $47
const MEGA_DRAIN ; $48
const LEECH_SEED ; $49
const GROWTH ; $4a
const RAZOR_LEAF ; $4b
const SOLARBEAM ; $4c
const POISONPOWDER ; $4d
const STUN_SPORE ; $4e
const SLEEP_POWDER ; $4f
const PETAL_DANCE ; $50
const STRING_SHOT ; $51
const DRAGON_RAGE ; $52
const FIRE_SPIN ; $53
const THUNDERSHOCK ; $54
const THUNDERBOLT ; $55
const THUNDER_WAVE ; $56
const THUNDER ; $57
const ROCK_THROW ; $58
const EARTHQUAKE ; $59
const FISSURE ; $5a
const DIG ; $5b
const TOXIC ; $5c
const CONFUSION ; $5d
const PSYCHIC_M ; $5e
const HYPNOSIS ; $5f
const MEDITATE ; $60
const AGILITY ; $61
const QUICK_ATTACK ; $62
const RAGE ; $63
const TELEPORT ; $64
const NIGHT_SHADE ; $65
const MIMIC ; $66
const SCREECH ; $67
const DOUBLE_TEAM ; $68
const RECOVER ; $69
const HARDEN ; $6a
const MINIMIZE ; $6b
const SMOKESCREEN ; $6c
const CONFUSE_RAY ; $6d
const WITHDRAW ; $6e
const DEFENSE_CURL ; $6f
const BARRIER ; $70
const LIGHT_SCREEN ; $71
const HAZE ; $72
const REFLECT ; $73
const FOCUS_ENERGY ; $74
const BIDE ; $75
const METRONOME ; $76
const MIRROR_MOVE ; $77
const SELFDESTRUCT ; $78
const EGG_BOMB ; $79
const LICK ; $7a
const SMOG ; $7b
const SLUDGE ; $7c
const BONE_CLUB ; $7d
const FIRE_BLAST ; $7e
const WATERFALL ; $7f
const CLAMP ; $80
const SWIFT ; $81
const SKULL_BASH ; $82
const SPIKE_CANNON ; $83
const CONSTRICT ; $84
const AMNESIA ; $85
const KINESIS ; $86
const SOFTBOILED ; $87
const HI_JUMP_KICK ; $88
const GLARE ; $89
const DREAM_EATER ; $8a
const POISON_GAS ; $8b
const BARRAGE ; $8c
const LEECH_LIFE ; $8d
const LOVELY_KISS ; $8e
const SKY_ATTACK ; $8f
const TRANSFORM ; $90
const BUBBLE ; $91
const DIZZY_PUNCH ; $92
const SPORE ; $93
const FLASH ; $94
const PSYWAVE ; $95
const SPLASH ; $96
const ACID_ARMOR ; $97
const CRABHAMMER ; $98
const EXPLOSION ; $99
const FURY_SWIPES ; $9a
const BONEMERANG ; $9b
const REST ; $9c
const ROCK_SLIDE ; $9d
const HYPER_FANG ; $9e
const SHARPEN ; $9f
const CONVERSION ; $a0
const TRI_ATTACK ; $a1
const SUPER_FANG ; $a2
const SLASH ; $a3
const SUBSTITUTE ; $a4
const STRUGGLE ; $a5
const SKETCH ; $a6
const TRIPLE_KICK ; $a7
const THIEF ; $a8
const SPIDER_WEB ; $a9
const MIND_READER ; $aa
const NIGHTMARE ; $ab
const FLAME_WHEEL ; $ac
const SNORE ; $ad
const CURSE ; $ae
const FLAIL ; $af
const CONVERSION2 ; $b0
const AEROBLAST ; $b1
const COTTON_SPORE ; $b2
const REVERSAL ; $b3
const SPITE ; $b4
const POWDER_SNOW ; $b5
const PROTECT ; $b6
const MACH_PUNCH ; $b7
const SCARY_FACE ; $b8
const FAINT_ATTACK ; $b9
const SWEET_KISS ; $ba
const BELLY_DRUM ; $bb
const SLUDGE_BOMB ; $bc
const MUD_SLAP ; $bd
const OCTAZOOKA ; $be
const SPIKES ; $bf
const ZAP_CANNON ; $c0
const FORESIGHT ; $c1
const DESTINY_BOND ; $c2
const PERISH_SONG ; $c3
const ICY_WIND ; $c4
const DETECT ; $c5
const BONE_RUSH ; $c6
const LOCK_ON ; $c7
const OUTRAGE ; $c8
const SANDSTORM ; $c9
const GIGA_DRAIN ; $ca
const ENDURE ; $cb
const CHARM ; $cc
const ROLLOUT ; $cd
const FALSE_SWIPE ; $ce
const SWAGGER ; $cf
const MILK_DRINK ; $d0
const SPARK ; $d1
const FURY_CUTTER ; $d2
const STEEL_WING ; $d3
const MEAN_LOOK ; $d4
const ATTRACT ; $d5
const SLEEP_TALK ; $d6
const HEAL_BELL ; $d7
const RETURN ; $d8
const PRESENT ; $d9
const FRUSTRATION ; $da
const SAFEGUARD ; $db
const PAIN_SPLIT ; $dc
const SACRED_FIRE ; $dd
const MAGNITUDE ; $de
const DYNAMICPUNCH ; $df
const MEGAHORN ; $e0
const DRAGONBREATH ; $e1
const BATON_PASS ; $e2
const ENCORE ; $e3
const PURSUIT ; $e4
const RAPID_SPIN ; $e5
const SWEET_SCENT ; $e6
const IRON_TAIL ; $e7
const METAL_CLAW ; $e8
const VITAL_THROW ; $e9
const MORNING_SUN ; $ea
const SYNTHESIS ; $eb
const MOONLIGHT ; $ec
const HIDDEN_POWER ; $ed
const CROSS_CHOP ; $ee
const TWISTER ; $ef
const RAIN_DANCE ; $f0
const SUNNY_DAY ; $f1
const CRUNCH ; $f2
const MIRROR_COAT ; $f3
const PSYCH_UP ; $f4
const EXTREMESPEED ; $f5
const ANCIENTPOWER ; $f6
const SHADOW_BALL ; $f7
const FUTURE_SIGHT ; $f8
const ROCK_SMASH ; $f9
const WHIRLPOOL ; $fa
const BEAT_UP ; $fb
const NO_MOVE ; 00
const POUND ; 01
const KARATE_CHOP ; 02
const DOUBLESLAP ; 03
const COMET_PUNCH ; 04
const MEGA_PUNCH ; 05
const PAY_DAY ; 06
const FIRE_PUNCH ; 07
const ICE_PUNCH ; 08
const THUNDERPUNCH ; 09
const SCRATCH ; 0a
const VICEGRIP ; 0b
const GUILLOTINE ; 0c
const RAZOR_WIND ; 0d
const SWORDS_DANCE ; 0e
const CUT ; 0f
const GUST ; 10
const WING_ATTACK ; 11
const WHIRLWIND ; 12
const FLY ; 13
const BIND ; 14
const SLAM ; 15
const VINE_WHIP ; 16
const STOMP ; 17
const DOUBLE_KICK ; 18
const MEGA_KICK ; 19
const JUMP_KICK ; 1a
const ROLLING_KICK ; 1b
const SAND_ATTACK ; 1c
const HEADBUTT ; 1d
const HORN_ATTACK ; 1e
const FURY_ATTACK ; 1f
const HORN_DRILL ; 20
const TACKLE ; 21
const BODY_SLAM ; 22
const WRAP ; 23
const TAKE_DOWN ; 24
const THRASH ; 25
const DOUBLE_EDGE ; 26
const TAIL_WHIP ; 27
const POISON_STING ; 28
const TWINEEDLE ; 29
const PIN_MISSILE ; 2a
const LEER ; 2b
const BITE ; 2c
const GROWL ; 2d
const ROAR ; 2e
const SING ; 2f
const SUPERSONIC ; 30
const SONICBOOM ; 31
const DISABLE ; 32
const ACID ; 33
const EMBER ; 34
const FLAMETHROWER ; 35
const MIST ; 36
const WATER_GUN ; 37
const HYDRO_PUMP ; 38
const SURF ; 39
const ICE_BEAM ; 3a
const BLIZZARD ; 3b
const PSYBEAM ; 3c
const BUBBLEBEAM ; 3d
const AURORA_BEAM ; 3e
const HYPER_BEAM ; 3f
const PECK ; 40
const DRILL_PECK ; 41
const SUBMISSION ; 42
const LOW_KICK ; 43
const COUNTER ; 44
const SEISMIC_TOSS ; 45
const STRENGTH ; 46
const ABSORB ; 47
const MEGA_DRAIN ; 48
const LEECH_SEED ; 49
const GROWTH ; 4a
const RAZOR_LEAF ; 4b
const SOLARBEAM ; 4c
const POISONPOWDER ; 4d
const STUN_SPORE ; 4e
const SLEEP_POWDER ; 4f
const PETAL_DANCE ; 50
const STRING_SHOT ; 51
const DRAGON_RAGE ; 52
const FIRE_SPIN ; 53
const THUNDERSHOCK ; 54
const THUNDERBOLT ; 55
const THUNDER_WAVE ; 56
const THUNDER ; 57
const ROCK_THROW ; 58
const EARTHQUAKE ; 59
const FISSURE ; 5a
const DIG ; 5b
const TOXIC ; 5c
const CONFUSION ; 5d
const PSYCHIC_M ; 5e
const HYPNOSIS ; 5f
const MEDITATE ; 60
const AGILITY ; 61
const QUICK_ATTACK ; 62
const RAGE ; 63
const TELEPORT ; 64
const NIGHT_SHADE ; 65
const MIMIC ; 66
const SCREECH ; 67
const DOUBLE_TEAM ; 68
const RECOVER ; 69
const HARDEN ; 6a
const MINIMIZE ; 6b
const SMOKESCREEN ; 6c
const CONFUSE_RAY ; 6d
const WITHDRAW ; 6e
const DEFENSE_CURL ; 6f
const BARRIER ; 70
const LIGHT_SCREEN ; 71
const HAZE ; 72
const REFLECT ; 73
const FOCUS_ENERGY ; 74
const BIDE ; 75
const METRONOME ; 76
const MIRROR_MOVE ; 77
const SELFDESTRUCT ; 78
const EGG_BOMB ; 79
const LICK ; 7a
const SMOG ; 7b
const SLUDGE ; 7c
const BONE_CLUB ; 7d
const FIRE_BLAST ; 7e
const WATERFALL ; 7f
const CLAMP ; 80
const SWIFT ; 81
const SKULL_BASH ; 82
const SPIKE_CANNON ; 83
const CONSTRICT ; 84
const AMNESIA ; 85
const KINESIS ; 86
const SOFTBOILED ; 87
const HI_JUMP_KICK ; 88
const GLARE ; 89
const DREAM_EATER ; 8a
const POISON_GAS ; 8b
const BARRAGE ; 8c
const LEECH_LIFE ; 8d
const LOVELY_KISS ; 8e
const SKY_ATTACK ; 8f
const TRANSFORM ; 90
const BUBBLE ; 91
const DIZZY_PUNCH ; 92
const SPORE ; 93
const FLASH ; 94
const PSYWAVE ; 95
const SPLASH ; 96
const ACID_ARMOR ; 97
const CRABHAMMER ; 98
const EXPLOSION ; 99
const FURY_SWIPES ; 9a
const BONEMERANG ; 9b
const REST ; 9c
const ROCK_SLIDE ; 9d
const HYPER_FANG ; 9e
const SHARPEN ; 9f
const CONVERSION ; a0
const TRI_ATTACK ; a1
const SUPER_FANG ; a2
const SLASH ; a3
const SUBSTITUTE ; a4
const STRUGGLE ; a5
const SKETCH ; a6
const TRIPLE_KICK ; a7
const THIEF ; a8
const SPIDER_WEB ; a9
const MIND_READER ; aa
const NIGHTMARE ; ab
const FLAME_WHEEL ; ac
const SNORE ; ad
const CURSE ; ae
const FLAIL ; af
const CONVERSION2 ; b0
const AEROBLAST ; b1
const COTTON_SPORE ; b2
const REVERSAL ; b3
const SPITE ; b4
const POWDER_SNOW ; b5
const PROTECT ; b6
const MACH_PUNCH ; b7
const SCARY_FACE ; b8
const FAINT_ATTACK ; b9
const SWEET_KISS ; ba
const BELLY_DRUM ; bb
const SLUDGE_BOMB ; bc
const MUD_SLAP ; bd
const OCTAZOOKA ; be
const SPIKES ; bf
const ZAP_CANNON ; c0
const FORESIGHT ; c1
const DESTINY_BOND ; c2
const PERISH_SONG ; c3
const ICY_WIND ; c4
const DETECT ; c5
const BONE_RUSH ; c6
const LOCK_ON ; c7
const OUTRAGE ; c8
const SANDSTORM ; c9
const GIGA_DRAIN ; ca
const ENDURE ; cb
const CHARM ; cc
const ROLLOUT ; cd
const FALSE_SWIPE ; ce
const SWAGGER ; cf
const MILK_DRINK ; d0
const SPARK ; d1
const FURY_CUTTER ; d2
const STEEL_WING ; d3
const MEAN_LOOK ; d4
const ATTRACT ; d5
const SLEEP_TALK ; d6
const HEAL_BELL ; d7
const RETURN ; d8
const PRESENT ; d9
const FRUSTRATION ; da
const SAFEGUARD ; db
const PAIN_SPLIT ; dc
const SACRED_FIRE ; dd
const MAGNITUDE ; de
const DYNAMICPUNCH ; df
const MEGAHORN ; e0
const DRAGONBREATH ; e1
const BATON_PASS ; e2
const ENCORE ; e3
const PURSUIT ; e4
const RAPID_SPIN ; e5
const SWEET_SCENT ; e6
const IRON_TAIL ; e7
const METAL_CLAW ; e8
const VITAL_THROW ; e9
const MORNING_SUN ; ea
const SYNTHESIS ; eb
const MOONLIGHT ; ec
const HIDDEN_POWER ; ed
const CROSS_CHOP ; ee
const TWISTER ; ef
const RAIN_DANCE ; f0
const SUNNY_DAY ; f1
const CRUNCH ; f2
const MIRROR_COAT ; f3
const PSYCH_UP ; f4
const EXTREMESPEED ; f5
const ANCIENTPOWER ; f6
const SHADOW_BALL ; f7
const FUTURE_SIGHT ; f8
const ROCK_SMASH ; f9
const WHIRLPOOL ; fa
const BEAT_UP ; fb
NUM_ATTACKS EQU const_value + -1
const_value SET const_value + -1
const MOVE_OR_ANIM_FC ; fc
const MOVE_OR_ANIM_FD ; fd
const MOVE_OR_ANIM_FE ; fe
const NUM_ATTACKS ; $fb
; Battle animations use the same constants
; as the moves up to this point.
const ANIM_FC ; $fc
const ANIM_FD ; $fd
const ANIM_FE ; $fe
const ANIM_SWEET_SCENT_2 ; $ff
const ANIM_THROW_POKE_BALL ; $100
const ANIM_SEND_OUT_MON ; $101
const ANIM_RETURN_MON ; $102
const ANIM_CONFUSED ; $103
const ANIM_SLP ; $104
const ANIM_BRN ; $105
const ANIM_PSN ; $106
const ANIM_SAP ; $107
const ANIM_FRZ ; $108
const ANIM_PAR ; $109
const ANIM_IN_LOVE ; $10a
const ANIM_IN_SANDSTORM ; $10b
const ANIM_IN_NIGHTMARE ; $10c
const ANIM_IN_WHIRLPOOL ; $10d
; Battle animations use the same constants as the moves up to this point
const ANIM_SWEET_SCENT_2 ; ff
const ANIM_THROW_POKE_BALL ; 100
const ANIM_SEND_OUT_MON ; 101
const ANIM_RETURN_MON ; 102
const ANIM_CONFUSED ; 103
const ANIM_SLP ; 104
const ANIM_BRN ; 105
const ANIM_PSN ; 106
const ANIM_SAP ; 107
const ANIM_FRZ ; 108
const ANIM_PAR ; 109
const ANIM_IN_LOVE ; 10a
const ANIM_IN_SANDSTORM ; 10b
const ANIM_IN_NIGHTMARE ; 10c
const ANIM_IN_WHIRLPOOL ; 10d
; battle anims
const ANIM_MISS ; $10e
const ANIM_ENEMY_DAMAGE ; $10f
const ANIM_ENEMY_STAT_DOWN ; $110
const ANIM_PLAYER_STAT_DOWN ; $111
const ANIM_PLAYER_DAMAGE ; $112
const ANIM_WOBBLE ; $113
const ANIM_SHAKE ; $114
const ANIM_HIT_CONFUSION ; $115
const ANIM_MISS ; 10e
const ANIM_ENEMY_DAMAGE ; 10f
const ANIM_ENEMY_STAT_DOWN ; 110
const ANIM_PLAYER_STAT_DOWN ; 111
const ANIM_PLAYER_DAMAGE ; 112
const ANIM_WOBBLE ; 113
const ANIM_SHAKE ; 114
const ANIM_HIT_CONFUSION ; 115
; wNumHits uses offsets from ANIM_MISS
const_def

View File

@ -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

View File

@ -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

View File

@ -1,265 +1,280 @@
; pokemon
; pokemon ids
; indexes for:
; - CryHeaders (see audio/cry_headers.asm)
; - BaseData (see data/base_stats.asm)
; - EggMovePointers (see data/egg_move_pointers.asm)
; - EvosAttacksPointers (see data/evos_attacks_pointers.asm)
; - PokemonNames (see data/pokemon_names.asm)
; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm)
; - AnimationPointers (see gfx/pics/anim_pointers.asm)
; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm)
; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm)
; - FramesPointers (see gfx/pics/frame_pointers.asm)
; - PokemonPalettes (see gfx/pics/palette_pointers.asm)
; - PicPointers (see gfx/pics/pic_pointers.asm)
; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm)
; - NewPokedexOrder (see data/pokedex/order_new.asm)
; - MonMenuIcons (see menu/mon_icons.asm)
; - Pokered_MonIndices (see engine/time_capsule/conversion.asm)
; - SortedPokemon (see misc/fixed_words.asm)
const_value set 1
const BULBASAUR
const IVYSAUR
const VENUSAUR
const CHARMANDER
const CHARMELEON
const CHARIZARD
const SQUIRTLE
const WARTORTLE
const BLASTOISE
const CATERPIE
const METAPOD
const BUTTERFREE
const WEEDLE
const KAKUNA
const BEEDRILL
const PIDGEY
const PIDGEOTTO
const PIDGEOT
const RATTATA
const RATICATE
const SPEAROW
const FEAROW
const EKANS
const ARBOK
const PIKACHU
const RAICHU
const SANDSHREW
const SANDSLASH
const NIDORAN_F
const NIDORINA
const NIDOQUEEN
const NIDORAN_M
const NIDORINO
const NIDOKING
const CLEFAIRY
const CLEFABLE
const VULPIX
const NINETALES
const JIGGLYPUFF
const WIGGLYTUFF
const ZUBAT
const GOLBAT
const ODDISH
const GLOOM
const VILEPLUME
const PARAS
const PARASECT
const VENONAT
const VENOMOTH
const DIGLETT
const DUGTRIO
const MEOWTH
const PERSIAN
const PSYDUCK
const GOLDUCK
const MANKEY
const PRIMEAPE
const GROWLITHE
const ARCANINE
const POLIWAG
const POLIWHIRL
const POLIWRATH
const ABRA
const KADABRA
const ALAKAZAM
const MACHOP
const MACHOKE
const MACHAMP
const BELLSPROUT
const WEEPINBELL
const VICTREEBEL
const TENTACOOL
const TENTACRUEL
const GEODUDE
const GRAVELER
const GOLEM
const PONYTA
const RAPIDASH
const SLOWPOKE
const SLOWBRO
const MAGNEMITE
const MAGNETON
const FARFETCH_D
const DODUO
const DODRIO
const SEEL
const DEWGONG
const GRIMER
const MUK
const SHELLDER
const CLOYSTER
const GASTLY
const HAUNTER
const GENGAR
const ONIX
const DROWZEE
const HYPNO
const KRABBY
const KINGLER
const VOLTORB
const ELECTRODE
const EXEGGCUTE
const EXEGGUTOR
const CUBONE
const MAROWAK
const HITMONLEE
const HITMONCHAN
const LICKITUNG
const KOFFING
const WEEZING
const RHYHORN
const RHYDON
const CHANSEY
const TANGELA
const KANGASKHAN
const HORSEA
const SEADRA
const GOLDEEN
const SEAKING
const STARYU
const STARMIE
const MR__MIME
const SCYTHER
const JYNX
const ELECTABUZZ
const MAGMAR
const PINSIR
const TAUROS
const MAGIKARP
const GYARADOS
const LAPRAS
const DITTO
const EEVEE
const VAPOREON
const JOLTEON
const FLAREON
const PORYGON
const OMANYTE
const OMASTAR
const KABUTO
const KABUTOPS
const AERODACTYL
const SNORLAX
const ARTICUNO
const ZAPDOS
const MOLTRES
const DRATINI
const DRAGONAIR
const DRAGONITE
const MEWTWO
const MEW
const CHIKORITA
const BAYLEEF
const MEGANIUM
const CYNDAQUIL
const QUILAVA
const TYPHLOSION
const TOTODILE
const CROCONAW
const FERALIGATR
const SENTRET
const FURRET
const HOOTHOOT
const NOCTOWL
const LEDYBA
const LEDIAN
const SPINARAK
const ARIADOS
const CROBAT
const CHINCHOU
const LANTURN
const PICHU
const CLEFFA
const IGGLYBUFF
const TOGEPI
const TOGETIC
const NATU
const XATU
const MAREEP
const FLAAFFY
const AMPHAROS
const BELLOSSOM
const MARILL
const AZUMARILL
const SUDOWOODO
const POLITOED
const HOPPIP
const SKIPLOOM
const JUMPLUFF
const AIPOM
const SUNKERN
const SUNFLORA
const YANMA
const WOOPER
const QUAGSIRE
const ESPEON
const UMBREON
const MURKROW
const SLOWKING
const MISDREAVUS
const UNOWN
const WOBBUFFET
const GIRAFARIG
const PINECO
const FORRETRESS
const DUNSPARCE
const GLIGAR
const STEELIX
const SNUBBULL
const GRANBULL
const QWILFISH
const SCIZOR
const SHUCKLE
const HERACROSS
const SNEASEL
const TEDDIURSA
const URSARING
const SLUGMA
const MAGCARGO
const SWINUB
const PILOSWINE
const CORSOLA
const REMORAID
const OCTILLERY
const DELIBIRD
const MANTINE
const SKARMORY
const HOUNDOUR
const HOUNDOOM
const KINGDRA
const PHANPY
const DONPHAN
const PORYGON2
const STANTLER
const SMEARGLE
const TYROGUE
const HITMONTOP
const SMOOCHUM
const ELEKID
const MAGBY
const MILTANK
const BLISSEY
const RAIKOU
const ENTEI
const SUICUNE
const LARVITAR
const PUPITAR
const TYRANITAR
const LUGIA
const HO_OH
const CELEBI
const BULBASAUR ; 01
const IVYSAUR ; 02
const VENUSAUR ; 03
const CHARMANDER ; 04
const CHARMELEON ; 05
const CHARIZARD ; 06
const SQUIRTLE ; 07
const WARTORTLE ; 08
const BLASTOISE ; 09
const CATERPIE ; 0a
const METAPOD ; 0b
const BUTTERFREE ; 0c
const WEEDLE ; 0d
const KAKUNA ; 0e
const BEEDRILL ; 0f
const PIDGEY ; 10
const PIDGEOTTO ; 11
const PIDGEOT ; 12
const RATTATA ; 13
const RATICATE ; 14
const SPEAROW ; 15
const FEAROW ; 16
const EKANS ; 17
const ARBOK ; 18
const PIKACHU ; 19
const RAICHU ; 1a
const SANDSHREW ; 1b
const SANDSLASH ; 1c
const NIDORAN_F ; 1d
const NIDORINA ; 1e
const NIDOQUEEN ; 1f
const NIDORAN_M ; 20
const NIDORINO ; 21
const NIDOKING ; 22
const CLEFAIRY ; 23
const CLEFABLE ; 24
const VULPIX ; 25
const NINETALES ; 26
const JIGGLYPUFF ; 27
const WIGGLYTUFF ; 28
const ZUBAT ; 29
const GOLBAT ; 2a
const ODDISH ; 2b
const GLOOM ; 2c
const VILEPLUME ; 2d
const PARAS ; 2e
const PARASECT ; 2f
const VENONAT ; 30
const VENOMOTH ; 31
const DIGLETT ; 32
const DUGTRIO ; 33
const MEOWTH ; 34
const PERSIAN ; 35
const PSYDUCK ; 36
const GOLDUCK ; 37
const MANKEY ; 38
const PRIMEAPE ; 39
const GROWLITHE ; 3a
const ARCANINE ; 3b
const POLIWAG ; 3c
const POLIWHIRL ; 3d
const POLIWRATH ; 3e
const ABRA ; 3f
const KADABRA ; 40
const ALAKAZAM ; 41
const MACHOP ; 42
const MACHOKE ; 43
const MACHAMP ; 44
const BELLSPROUT ; 45
const WEEPINBELL ; 46
const VICTREEBEL ; 47
const TENTACOOL ; 48
const TENTACRUEL ; 49
const GEODUDE ; 4a
const GRAVELER ; 4b
const GOLEM ; 4c
const PONYTA ; 4d
const RAPIDASH ; 4e
const SLOWPOKE ; 4f
const SLOWBRO ; 50
const MAGNEMITE ; 51
const MAGNETON ; 52
const FARFETCH_D ; 53
const DODUO ; 54
const DODRIO ; 55
const SEEL ; 56
const DEWGONG ; 57
const GRIMER ; 58
const MUK ; 59
const SHELLDER ; 5a
const CLOYSTER ; 5b
const GASTLY ; 5c
const HAUNTER ; 5d
const GENGAR ; 5e
const ONIX ; 5f
const DROWZEE ; 60
const HYPNO ; 61
const KRABBY ; 62
const KINGLER ; 63
const VOLTORB ; 64
const ELECTRODE ; 65
const EXEGGCUTE ; 66
const EXEGGUTOR ; 67
const CUBONE ; 68
const MAROWAK ; 69
const HITMONLEE ; 6a
const HITMONCHAN ; 6b
const LICKITUNG ; 6c
const KOFFING ; 6d
const WEEZING ; 6e
const RHYHORN ; 6f
const RHYDON ; 70
const CHANSEY ; 71
const TANGELA ; 72
const KANGASKHAN ; 73
const HORSEA ; 74
const SEADRA ; 75
const GOLDEEN ; 76
const SEAKING ; 77
const STARYU ; 78
const STARMIE ; 79
const MR__MIME ; 7a
const SCYTHER ; 7b
const JYNX ; 7c
const ELECTABUZZ ; 7d
const MAGMAR ; 7e
const PINSIR ; 7f
const TAUROS ; 80
const MAGIKARP ; 81
const GYARADOS ; 82
const LAPRAS ; 83
const DITTO ; 84
const EEVEE ; 85
const VAPOREON ; 86
const JOLTEON ; 87
const FLAREON ; 88
const PORYGON ; 89
const OMANYTE ; 8a
const OMASTAR ; 8b
const KABUTO ; 8c
const KABUTOPS ; 8d
const AERODACTYL ; 8e
const SNORLAX ; 8f
const ARTICUNO ; 90
const ZAPDOS ; 91
const MOLTRES ; 92
const DRATINI ; 93
const DRAGONAIR ; 94
const DRAGONITE ; 95
const MEWTWO ; 96
const MEW ; 97
const CHIKORITA ; 98
const BAYLEEF ; 99
const MEGANIUM ; 9a
const CYNDAQUIL ; 9b
const QUILAVA ; 9c
const TYPHLOSION ; 9d
const TOTODILE ; 9e
const CROCONAW ; 9f
const FERALIGATR ; a0
const SENTRET ; a1
const FURRET ; a2
const HOOTHOOT ; a3
const NOCTOWL ; a4
const LEDYBA ; a5
const LEDIAN ; a6
const SPINARAK ; a7
const ARIADOS ; a8
const CROBAT ; a9
const CHINCHOU ; aa
const LANTURN ; ab
const PICHU ; ac
const CLEFFA ; ad
const IGGLYBUFF ; ae
const TOGEPI ; af
const TOGETIC ; b0
const NATU ; b1
const XATU ; b2
const MAREEP ; b3
const FLAAFFY ; b4
const AMPHAROS ; b5
const BELLOSSOM ; b6
const MARILL ; b7
const AZUMARILL ; b8
const SUDOWOODO ; b9
const POLITOED ; ba
const HOPPIP ; bb
const SKIPLOOM ; bc
const JUMPLUFF ; bd
const AIPOM ; be
const SUNKERN ; bf
const SUNFLORA ; c0
const YANMA ; c1
const WOOPER ; c2
const QUAGSIRE ; c3
const ESPEON ; c4
const UMBREON ; c5
const MURKROW ; c6
const SLOWKING ; c7
const MISDREAVUS ; c8
const UNOWN ; c9
const WOBBUFFET ; ca
const GIRAFARIG ; cb
const PINECO ; cc
const FORRETRESS ; cd
const DUNSPARCE ; ce
const GLIGAR ; cf
const STEELIX ; d0
const SNUBBULL ; d1
const GRANBULL ; d2
const QWILFISH ; d3
const SCIZOR ; d4
const SHUCKLE ; d5
const HERACROSS ; d6
const SNEASEL ; d7
const TEDDIURSA ; d8
const URSARING ; d9
const SLUGMA ; da
const MAGCARGO ; db
const SWINUB ; dc
const PILOSWINE ; dd
const CORSOLA ; de
const REMORAID ; df
const OCTILLERY ; e0
const DELIBIRD ; e1
const MANTINE ; e2
const SKARMORY ; e3
const HOUNDOUR ; e4
const HOUNDOOM ; e5
const KINGDRA ; e6
const PHANPY ; e7
const DONPHAN ; e8
const PORYGON2 ; e9
const STANTLER ; ea
const SMEARGLE ; eb
const TYROGUE ; ec
const HITMONTOP ; ed
const SMOOCHUM ; ee
const ELEKID ; ef
const MAGBY ; f0
const MILTANK ; f1
const BLISSEY ; f2
const RAIKOU ; f3
const ENTEI ; f4
const SUICUNE ; f5
const LARVITAR ; f6
const PUPITAR ; f7
const TYRANITAR ; f8
const LUGIA ; f9
const HO_OH ; fa
const CELEBI ; fb
NUM_POKEMON EQU const_value +- 1
const MON_FC ; fc
const EGG ; fd
const MON_FE ; fe
const_value SET const_value + -1
NUM_POKEMON EQU const_value
EGG EQU 253
; pokemon structure in RAM
; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
@ -293,7 +308,9 @@ 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

View File

@ -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

View File

@ -1,5 +1,5 @@
; wPrinterStatus
const_value SET 1
const PRINTER_STATUS_CHECKING
const PRINTER_STATUS_TRANSMITTING
const PRINTER_STATUS_PRINTING

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,5 @@
; StdScripts indexes (see engine/std_scripts.asm)
; also used in CheckFacingTileForStd (see main.asm)
enum_start
enum pokecenternurse
enum difficultbookshelf

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,5 @@
; entries correspond to SPRITEMOVEDATA_* constants
sprite_movement_data: macro
db \1, \2, \3, \4, \5
dn \6, 0

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 " "

View File

@ -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

View File

@ -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]

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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]

View File

@ -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]

View File

@ -2284,8 +2284,6 @@ GetWorldMapLocation:: ; 0x2caf
; 0x2cbd
GetMapHeaderMusic:: ; 2cbd
RADIO_TOWER_MUSIC EQU 7
push hl
push bc
ld de, 6 ; music

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -3416,6 +3416,7 @@ MobileEZChatCategoryNames: ; 11da52
; 11daac
MobileEZChatCategoryPointers: ; 11daac
; entries correspond to EZCHAT_* constants
dw .Types ; 01
dw .Greetings ; 02
dw .People ; 03

View File

@ -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

View File

@ -1,3 +1,5 @@
; entries correspond to TILESET_* constants
tileset: macro
dba \1GFX, \1Meta, \1Coll
dw \1Anim

File diff suppressed because it is too large Load Diff

View File

@ -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