diff options
author | entrpntr <entrpntr@gmail.com> | 2020-05-12 13:10:01 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-05-12 13:31:27 -0400 |
commit | 3e40a1ecd0dc81d1d5be5f1adda1fbbe14b67d83 (patch) | |
tree | f16febfeb0c404b6fd1c0e630d26da14eaf07a71 | |
parent | dac57cee381b68350ef50317619334892c140945 (diff) |
Simple cleanups in constants/data/macros and banks 1-4.
71 files changed, 1934 insertions, 2139 deletions
diff --git a/charmap.asm b/charmap.asm index a3b7d59d..728f7f3f 100644 --- a/charmap.asm +++ b/charmap.asm @@ -192,7 +192,7 @@ charmap "♂", $ef charmap "¥", $f0 charmap "×", $f1 - charmap "·", $f2 + charmap "<DOT>", $f2 ; decimal point; same as "." in English charmap "/", $f3 charmap ",", $f4 charmap "♀", $f5 diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm index 2fbbf595..bd5036d6 100644 --- a/constants/battle_anim_constants.asm +++ b/constants/battle_anim_constants.asm @@ -11,7 +11,7 @@ const BATTLEANIMSTRUCT_YCOORD const BATTLEANIMSTRUCT_XOFFSET const BATTLEANIMSTRUCT_YOFFSET - const BATTLEANIMSTRUCT_0B + const BATTLEANIMSTRUCT_PARAM const BATTLEANIMSTRUCT_DURATION const BATTLEANIMSTRUCT_FRAME const BATTLEANIMSTRUCT_ANON_JT_INDEX @@ -708,7 +708,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMOAMSET_D7 ; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) -const_value SET 1 + const_def 1 const ANIM_BG_FLASH_INVERTED const ANIM_BG_FLASH_WHITE const ANIM_BG_WHITE_HUES @@ -763,7 +763,7 @@ const_value SET 1 const ANIM_BG_34 ; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm) -const_value SET 1 + const_def 1 const ANIM_GFX_HIT const ANIM_GFX_CUT const ANIM_GFX_FIRE diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index ba373a0a..636d917a 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -37,19 +37,19 @@ NO_EFFECT EQU 00 const SP_DEFENSE const ACCURACY const EVASION - const ABILITY + const ABILITY ; used for BattleCommand_Curse NUM_LEVEL_STATS EQU const_value ; move struct members (see data/moves/moves.asm) const_def - const MOVE_ANIM - const MOVE_EFFECT - const MOVE_POWER - const MOVE_TYPE - const MOVE_ACC - const MOVE_PP - const MOVE_CHANCE - const MOVE_LENGTH + const MOVE_ANIM ; 0 + const MOVE_EFFECT ; 1 + const MOVE_POWER ; 2 + const MOVE_TYPE ; 3 + const MOVE_ACC ; 4 + const MOVE_PP ; 5 + const MOVE_CHANCE ; 6 +MOVE_LENGTH EQU const_value ; stat constants ; indexes for: @@ -76,12 +76,12 @@ MAX_STAT_VALUE EQU 999 ATKDEFDV_SHINY EQU $EA SPDSPCDV_SHINY EQU $AA -; battle classes -const_value SET 1 +; battle classes (wBattleMode values) + const_def 1 const WILD_BATTLE const TRAINER_BATTLE -; battle types +; battle types (wBattleType values) const_def const BATTLETYPE_NORMAL const BATTLETYPE_CANLOSE @@ -95,7 +95,7 @@ const_value SET 1 const BATTLETYPE_TRAP const BATTLETYPE_FORCEITEM -; battle variables +; BattleVarPairs indexes (see home/battle.asm) const_def const BATTLE_VARS_SUBSTATUS1 const BATTLE_VARS_SUBSTATUS2 @@ -119,17 +119,46 @@ const_value SET 1 const BATTLE_VARS_LAST_MOVE const BATTLE_VARS_LAST_MOVE_OPP -; status -const_value SET 3 +; BattleVarLocations 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_def 3 const PSN const BRN const FRZ const PAR - const SLP ; 7 turns -ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP +ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP -; substatus +; wPlayerSubStatus1 or wEnemySubStatus1 bit flags enum_start 7, -1 enum SUBSTATUS_IN_LOVE enum SUBSTATUS_ROLLOUT @@ -140,8 +169,10 @@ ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP enum SUBSTATUS_CURSE enum SUBSTATUS_NIGHTMARE -SUBSTATUS_CURLED EQU 0 +; wPlayerSubStatus2 or wEnemySubStatus2 bit flags +SUBSTATUS_CURLED EQU 0 +; wPlayerSubStatus3 or wEnemySubStatus3 bit flags enum_start 7, -1 enum SUBSTATUS_CONFUSED enum SUBSTATUS_FLYING @@ -152,6 +183,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_RAMPAGE enum SUBSTATUS_BIDE +; wPlayerSubStatus4 or wEnemySubStatus4 bit flags enum_start 7, -1 enum SUBSTATUS_LEECH_SEED enum SUBSTATUS_RAGE @@ -162,6 +194,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_MIST enum SUBSTATUS_X_ACCURACY +; wPlayerSubStatus5 or wEnemySubStatus5 bit flags enum_start 7, -1 enum SUBSTATUS_CANT_RUN enum SUBSTATUS_DESTINY_BOND @@ -172,7 +205,7 @@ SUBSTATUS_CURLED EQU 0 enum SUBSTATUS_UNKNOWN_3 enum SUBSTATUS_TOXIC -; environmental +; wPlayerScreens or wEnemyScreens bit flags enum_start 4, -1 enum SCREENS_REFLECT enum SCREENS_LIGHT_SCREEN @@ -180,7 +213,7 @@ SUBSTATUS_CURLED EQU 0 enum SCREENS_UNUSED enum SCREENS_SPIKES -; weather +; values in wBattleWeather const_def const WEATHER_NONE const WEATHER_RAIN @@ -190,36 +223,6 @@ SUBSTATUS_CURLED EQU 0 const WEATHER_SUN_END const WEATHER_SANDSTORM_END - -; 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 diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm index 7d2266f3..5626cb09 100755 --- a/constants/collision_constants.asm +++ b/constants/collision_constants.asm @@ -1,8 +1,8 @@ ; collision permissions (see data/collision_permissions.asm) -LANDTILE EQU $00 -WATER_TILE EQU $01 -WALLTILE EQU $0f -TALK EQU $10 +LAND_TILE EQU $00 +WATER_TILE EQU $01 +WALL_TILE EQU $0f +TALK EQU $10 ; collision data types (see data/tilesets/*_collision.asm) ; TileCollisionTable indexes (see data/collision_permissions.asm) @@ -20,7 +20,7 @@ COLL_TALL_GRASS EQU $18 COLL_CUT_TREE_1A EQU $1a ; unused COLL_LONG_GRASS_1C EQU $1c ; unused COLL_HEADBUTT_TREE_1D EQU $1d ; unused -COLL_WATER_21 EQU $21 ; ??? +COLL_WATER_21 EQU $21 ; unused COLL_ICE EQU $23 COLL_WHIRLPOOL EQU $24 COLL_BUOY EQU $27 diff --git a/constants/cry_constants.asm b/constants/cry_constants.asm index da40877c..654aac52 100755 --- a/constants/cry_constants.asm +++ b/constants/cry_constants.asm @@ -1,3 +1,4 @@ +; Cries indexes (see audio/cry_pointers.asm) const_def ; gen 1 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index 0d9e6e43..09d292d5 100644 --- a/constants/deco_constants.asm +++ b/constants/deco_constants.asm @@ -1,3 +1,4 @@ +; decoration types const_value = 1 const DECO_PLANT const DECO_BED @@ -6,6 +7,7 @@ const_value = 1 const DECO_DOLL const DECO_BIGDOLL +; DecorationNames indexes (see data/decorations/names.asm) const_value = 1 const PUT_IT_AWAY const MAGNAPLANT @@ -33,6 +35,7 @@ const_value = 1 const YELLOW_CARPET const GREEN_CARPET +; DoDecorationAction2.DecoActions indexes (see engine/overworld/decorations.asm) const_value = 1 const SET_UP_BED const PUT_AWAY_BED @@ -54,68 +57,71 @@ const_value = 1 deco: MACRO const DECO_\1 enum DECOFLAG_\1 -endm +ENDM -const_value = 1 -__enum__ = 0 +; decorations: +; - DecorationAttributes (see data/decorations/attributes.asm) +; - DecorationIDs (see data/decorations/decorations.asm) + const_def 1 + enum_start +; FindOwnedBeds.beds values (see engine/overworld/decorations.asm) 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 +; FindOwnedCarpets.carpets values (see engine/overworld/decorations.asm) 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 +; FindOwnedPlants.plants values (see engine/overworld/decorations.asm) const PLANTS - deco MAGNAPLANT ; c (8) - deco TROPICPLANT ; d (9) - deco JUMBOPLANT ; e (a) - + deco MAGNAPLANT + deco TROPICPLANT + deco JUMBOPLANT +; FindOwnedPosters.posters values (see engine/overworld/decorations.asm) 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 +; FindOwnedConsoles.consoles values (see engine/overworld/decorations.asm) 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 +; FindOwnedBigDolls.big_dolls values (see engine/overworld/decorations.asm) 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 +; FindOwnedOrnaments.ornaments values (see engine/overworld/decorations.asm) 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) - -NUM_NON_TROPHY_DECOS EQU $2b -NUM_DECOS EQU $2d + 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 +NUM_NON_TROPHY_DECOS EQU __enum__ + deco GOLD_TROPHY_DOLL + deco SILVER_TROPHY_DOLL +NUM_DECOS EQU __enum__ diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 70b24344..a110855e 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -41,6 +41,8 @@ HP_RED EQU 2 SPRITEOAMSTRUCT_LENGTH EQU const_value NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wVirtualOAM +SPRITE_GFX_LIST_CAPACITY EQU 12 ; see wUsedSprites + ; PokeAnims indexes (see engine/gfx/pic_animation.asm) const_def const ANIM_MON_SLOW diff --git a/constants/map_constants.asm b/constants/map_constants.asm index c6df95c8..3e5af01e 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -24,8 +24,6 @@ ENDM ; - attributes (see data/maps/attributes.asm) ; - blocks (see data/maps/blocks.asm) ; - scripts and events (see data/maps/scripts.asm) - -; map group ids const_def newgroup ; 1 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 71fe803e..89762da7 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -129,6 +129,4 @@ KANTO_FLYPOINT EQU const_value const FLY_CINNABAR const FLY_INDIGO -; outdoor sprite limits (see engine/overworld/overworld.asm) -MAX_OUTDOOR_SPRITES EQU 11 -SPRITE_GFX_LIST_CAPACITY EQU 12 +MAX_OUTDOOR_SPRITES EQU 11 ; see engine/overworld/overworld.asm diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index c877f469..28ea3a17 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -38,7 +38,7 @@ const SCROLLINGMENU_ITEMS_QUANTITY ; MonMenuOptions indexes (see data/mon_menu.asm) -; used by PokemonActionSubmenu (see engine/menus/start_menu.asm) +; used by PokemonActionSubmenu (see engine/pokemon/mon_menu.asm) const_def 1 ; moves const MONMENUITEM_CUT ; 1 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 37cee638..9efd3c55 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -7,9 +7,10 @@ MALE EQU 0 FEMALE EQU 1 ; FlagAction arguments (see home/flag.asm) -RESET_FLAG EQU 0 -SET_FLAG EQU 1 -CHECK_FLAG EQU 2 + const_def + const RESET_FLAG + const SET_FLAG + const CHECK_FLAG ; G/S version ID: 0 = Gold, 1 = Silver (used by checkver) IF DEF(_GOLD) diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 2f39eefc..b26f86d0 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,291 +1,293 @@ - +; move ids +; indexes for: +; - Moves (see data/moves/moves.asm) +; - MoveNames (see data/moves/names.asm) +; - MoveDescriptions (see data/moves/descriptions.asm) +; - BattleAnimations (see data/moves/animations.asm) const_def - const NO_MOVE ; $00 - const POUND ; $01 - const KARATE_CHOP ; $02 - const DOUBLESLAP ; $03 - const COMET_PUNCH ; $04 - const MEGA_PUNCH ; $05 - const PAY_DAY ; $06 - const FIRE_PUNCH ; $07 - const ICE_PUNCH ; $08 - const THUNDERPUNCH ; $09 - const SCRATCH ; $0a - const VICEGRIP ; $0b - const GUILLOTINE ; $0c - const RAZOR_WIND ; $0d - const SWORDS_DANCE ; $0e - const CUT ; $0f - const GUST ; $10 - const WING_ATTACK ; $11 - const WHIRLWIND ; $12 - const FLY ; $13 - const BIND ; $14 - const SLAM ; $15 - const VINE_WHIP ; $16 - const STOMP ; $17 - const DOUBLE_KICK ; $18 - const MEGA_KICK ; $19 - const JUMP_KICK ; $1a - const ROLLING_KICK ; $1b - const SAND_ATTACK ; $1c - const HEADBUTT ; $1d - const HORN_ATTACK ; $1e - const FURY_ATTACK ; $1f - const HORN_DRILL ; $20 - const TACKLE ; $21 - const BODY_SLAM ; $22 - const WRAP ; $23 - const TAKE_DOWN ; $24 - const THRASH ; $25 - const DOUBLE_EDGE ; $26 - const TAIL_WHIP ; $27 - const POISON_STING ; $28 - const TWINEEDLE ; $29 - const PIN_MISSILE ; $2a - const LEER ; $2b - const BITE ; $2c - const GROWL ; $2d - const ROAR ; $2e - const SING ; $2f - const SUPERSONIC ; $30 - const SONICBOOM ; $31 - const DISABLE ; $32 - const ACID ; $33 - const EMBER ; $34 - const FLAMETHROWER ; $35 - const MIST ; $36 - const WATER_GUN ; $37 - const HYDRO_PUMP ; $38 - const SURF ; $39 - const ICE_BEAM ; $3a - const BLIZZARD ; $3b - const PSYBEAM ; $3c - const BUBBLEBEAM ; $3d - const AURORA_BEAM ; $3e - const HYPER_BEAM ; $3f - const PECK ; $40 - const DRILL_PECK ; $41 - const SUBMISSION ; $42 - const LOW_KICK ; $43 - const COUNTER ; $44 - const SEISMIC_TOSS ; $45 - const STRENGTH ; $46 - const ABSORB ; $47 - const MEGA_DRAIN ; $48 - const LEECH_SEED ; $49 - const GROWTH ; $4a - const RAZOR_LEAF ; $4b - const SOLARBEAM ; $4c - const POISONPOWDER ; $4d - const STUN_SPORE ; $4e - const SLEEP_POWDER ; $4f - const PETAL_DANCE ; $50 - const STRING_SHOT ; $51 - const DRAGON_RAGE ; $52 - const FIRE_SPIN ; $53 - const THUNDERSHOCK ; $54 - const THUNDERBOLT ; $55 - const THUNDER_WAVE ; $56 - const THUNDER ; $57 - const ROCK_THROW ; $58 - const EARTHQUAKE ; $59 - const FISSURE ; $5a - const DIG ; $5b - const TOXIC ; $5c - const CONFUSION ; $5d - const PSYCHIC_M ; $5e - const HYPNOSIS ; $5f - const MEDITATE ; $60 - const AGILITY ; $61 - const QUICK_ATTACK ; $62 - const RAGE ; $63 - const TELEPORT ; $64 - const NIGHT_SHADE ; $65 - const MIMIC ; $66 - const SCREECH ; $67 - const DOUBLE_TEAM ; $68 - const RECOVER ; $69 - const HARDEN ; $6a - const MINIMIZE ; $6b - const SMOKESCREEN ; $6c - const CONFUSE_RAY ; $6d - const WITHDRAW ; $6e - const DEFENSE_CURL ; $6f - const BARRIER ; $70 - const LIGHT_SCREEN ; $71 - const HAZE ; $72 - const REFLECT ; $73 - const FOCUS_ENERGY ; $74 - const BIDE ; $75 - const METRONOME ; $76 - const MIRROR_MOVE ; $77 - const SELFDESTRUCT ; $78 - const EGG_BOMB ; $79 - const LICK ; $7a - const SMOG ; $7b - const SLUDGE ; $7c - const BONE_CLUB ; $7d - const FIRE_BLAST ; $7e - const WATERFALL ; $7f - const CLAMP ; $80 - const SWIFT ; $81 - const SKULL_BASH ; $82 - const SPIKE_CANNON ; $83 - const CONSTRICT ; $84 - const AMNESIA ; $85 - const KINESIS ; $86 - const SOFTBOILED ; $87 - const HI_JUMP_KICK ; $88 - const GLARE ; $89 - const DREAM_EATER ; $8a - const POISON_GAS ; $8b - const BARRAGE ; $8c - const LEECH_LIFE ; $8d - const LOVELY_KISS ; $8e - const SKY_ATTACK ; $8f - const TRANSFORM ; $90 - const BUBBLE ; $91 - const DIZZY_PUNCH ; $92 - const SPORE ; $93 - const FLASH ; $94 - const PSYWAVE ; $95 - const SPLASH ; $96 - const ACID_ARMOR ; $97 - const CRABHAMMER ; $98 - const EXPLOSION ; $99 - const FURY_SWIPES ; $9a - const BONEMERANG ; $9b - const REST ; $9c - const ROCK_SLIDE ; $9d - const HYPER_FANG ; $9e - const SHARPEN ; $9f - const CONVERSION ; $a0 - const TRI_ATTACK ; $a1 - const SUPER_FANG ; $a2 - const SLASH ; $a3 - const SUBSTITUTE ; $a4 - const STRUGGLE ; $a5 - const SKETCH ; $a6 - const TRIPLE_KICK ; $a7 - const THIEF ; $a8 - const SPIDER_WEB ; $a9 - const MIND_READER ; $aa - const NIGHTMARE ; $ab - const FLAME_WHEEL ; $ac - const SNORE ; $ad - const CURSE ; $ae - const FLAIL ; $af - const CONVERSION2 ; $b0 - const AEROBLAST ; $b1 - const COTTON_SPORE ; $b2 - const REVERSAL ; $b3 - const SPITE ; $b4 - const POWDER_SNOW ; $b5 - const PROTECT ; $b6 - const MACH_PUNCH ; $b7 - const SCARY_FACE ; $b8 - const FAINT_ATTACK ; $b9 - const SWEET_KISS ; $ba - const BELLY_DRUM ; $bb - const SLUDGE_BOMB ; $bc - const MUD_SLAP ; $bd - const OCTAZOOKA ; $be - const SPIKES ; $bf - const ZAP_CANNON ; $c0 - const FORESIGHT ; $c1 - const DESTINY_BOND ; $c2 - const PERISH_SONG ; $c3 - const ICY_WIND ; $c4 - const DETECT ; $c5 - const BONE_RUSH ; $c6 - const LOCK_ON ; $c7 - const OUTRAGE ; $c8 - const SANDSTORM ; $c9 - const GIGA_DRAIN ; $ca - const ENDURE ; $cb - const CHARM ; $cc - const ROLLOUT ; $cd - const FALSE_SWIPE ; $ce - const SWAGGER ; $cf - const MILK_DRINK ; $d0 - const SPARK ; $d1 - const FURY_CUTTER ; $d2 - const STEEL_WING ; $d3 - const MEAN_LOOK ; $d4 - const ATTRACT ; $d5 - const SLEEP_TALK ; $d6 - const HEAL_BELL ; $d7 - const RETURN ; $d8 - const PRESENT ; $d9 - const FRUSTRATION ; $da - const SAFEGUARD ; $db - const PAIN_SPLIT ; $dc - const SACRED_FIRE ; $dd - const MAGNITUDE ; $de - const DYNAMICPUNCH ; $df - const MEGAHORN ; $e0 - const DRAGONBREATH ; $e1 - const BATON_PASS ; $e2 - const ENCORE ; $e3 - const PURSUIT ; $e4 - const RAPID_SPIN ; $e5 - const SWEET_SCENT ; $e6 - const IRON_TAIL ; $e7 - const METAL_CLAW ; $e8 - const VITAL_THROW ; $e9 - const MORNING_SUN ; $ea - const SYNTHESIS ; $eb - const MOONLIGHT ; $ec - const HIDDEN_POWER ; $ed - const CROSS_CHOP ; $ee - const TWISTER ; $ef - const RAIN_DANCE ; $f0 - const SUNNY_DAY ; $f1 - const CRUNCH ; $f2 - const MIRROR_COAT ; $f3 - const PSYCH_UP ; $f4 - const EXTREMESPEED ; $f5 - const ANCIENTPOWER ; $f6 - const SHADOW_BALL ; $f7 - const FUTURE_SIGHT ; $f8 - const ROCK_SMASH ; $f9 - const WHIRLPOOL ; $fa - const BEAT_UP ; $fb - -const_value SET const_value - 1 + const NO_MOVE ; 00 + const POUND ; 01 + const KARATE_CHOP ; 02 + const DOUBLESLAP ; 03 + const COMET_PUNCH ; 04 + const MEGA_PUNCH ; 05 + const PAY_DAY ; 06 + const FIRE_PUNCH ; 07 + const ICE_PUNCH ; 08 + const THUNDERPUNCH ; 09 + const SCRATCH ; 0a + const VICEGRIP ; 0b + const GUILLOTINE ; 0c + const RAZOR_WIND ; 0d + const SWORDS_DANCE ; 0e + const CUT ; 0f + const GUST ; 10 + const WING_ATTACK ; 11 + const WHIRLWIND ; 12 + const FLY ; 13 + const BIND ; 14 + const SLAM ; 15 + const VINE_WHIP ; 16 + const STOMP ; 17 + const DOUBLE_KICK ; 18 + const MEGA_KICK ; 19 + const JUMP_KICK ; 1a + const ROLLING_KICK ; 1b + const SAND_ATTACK ; 1c + const HEADBUTT ; 1d + const HORN_ATTACK ; 1e + const FURY_ATTACK ; 1f + const HORN_DRILL ; 20 + const TACKLE ; 21 + const BODY_SLAM ; 22 + const WRAP ; 23 + const TAKE_DOWN ; 24 + const THRASH ; 25 + const DOUBLE_EDGE ; 26 + const TAIL_WHIP ; 27 + const POISON_STING ; 28 + const TWINEEDLE ; 29 + const PIN_MISSILE ; 2a + const LEER ; 2b + const BITE ; 2c + const GROWL ; 2d + const ROAR ; 2e + const SING ; 2f + const SUPERSONIC ; 30 + const SONICBOOM ; 31 + const DISABLE ; 32 + const ACID ; 33 + const EMBER ; 34 + const FLAMETHROWER ; 35 + const MIST ; 36 + const WATER_GUN ; 37 + const HYDRO_PUMP ; 38 + const SURF ; 39 + const ICE_BEAM ; 3a + const BLIZZARD ; 3b + const PSYBEAM ; 3c + const BUBBLEBEAM ; 3d + const AURORA_BEAM ; 3e + const HYPER_BEAM ; 3f + const PECK ; 40 + const DRILL_PECK ; 41 + const SUBMISSION ; 42 + const LOW_KICK ; 43 + const COUNTER ; 44 + const SEISMIC_TOSS ; 45 + const STRENGTH ; 46 + const ABSORB ; 47 + const MEGA_DRAIN ; 48 + const LEECH_SEED ; 49 + const GROWTH ; 4a + const RAZOR_LEAF ; 4b + const SOLARBEAM ; 4c + const POISONPOWDER ; 4d + const STUN_SPORE ; 4e + const SLEEP_POWDER ; 4f + const PETAL_DANCE ; 50 + const STRING_SHOT ; 51 + const DRAGON_RAGE ; 52 + const FIRE_SPIN ; 53 + const THUNDERSHOCK ; 54 + const THUNDERBOLT ; 55 + const THUNDER_WAVE ; 56 + const THUNDER ; 57 + const ROCK_THROW ; 58 + const EARTHQUAKE ; 59 + const FISSURE ; 5a + const DIG ; 5b + const TOXIC ; 5c + const CONFUSION ; 5d + const PSYCHIC_M ; 5e + const HYPNOSIS ; 5f + const MEDITATE ; 60 + const AGILITY ; 61 + const QUICK_ATTACK ; 62 + const RAGE ; 63 + const TELEPORT ; 64 + const NIGHT_SHADE ; 65 + const MIMIC ; 66 + const SCREECH ; 67 + const DOUBLE_TEAM ; 68 + const RECOVER ; 69 + const HARDEN ; 6a + const MINIMIZE ; 6b + const SMOKESCREEN ; 6c + const CONFUSE_RAY ; 6d + const WITHDRAW ; 6e + const DEFENSE_CURL ; 6f + const BARRIER ; 70 + const LIGHT_SCREEN ; 71 + const HAZE ; 72 + const REFLECT ; 73 + const FOCUS_ENERGY ; 74 + const BIDE ; 75 + const METRONOME ; 76 + const MIRROR_MOVE ; 77 + const SELFDESTRUCT ; 78 + const EGG_BOMB ; 79 + const LICK ; 7a + const SMOG ; 7b + const SLUDGE ; 7c + const BONE_CLUB ; 7d + const FIRE_BLAST ; 7e + const WATERFALL ; 7f + const CLAMP ; 80 + const SWIFT ; 81 + const SKULL_BASH ; 82 + const SPIKE_CANNON ; 83 + const CONSTRICT ; 84 + const AMNESIA ; 85 + const KINESIS ; 86 + const SOFTBOILED ; 87 + const HI_JUMP_KICK ; 88 + const GLARE ; 89 + const DREAM_EATER ; 8a + const POISON_GAS ; 8b + const BARRAGE ; 8c + const LEECH_LIFE ; 8d + const LOVELY_KISS ; 8e + const SKY_ATTACK ; 8f + const TRANSFORM ; 90 + const BUBBLE ; 91 + const DIZZY_PUNCH ; 92 + const SPORE ; 93 + const FLASH ; 94 + const PSYWAVE ; 95 + const SPLASH ; 96 + const ACID_ARMOR ; 97 + const CRABHAMMER ; 98 + const EXPLOSION ; 99 + const FURY_SWIPES ; 9a + const BONEMERANG ; 9b + const REST ; 9c + const ROCK_SLIDE ; 9d + const HYPER_FANG ; 9e + const SHARPEN ; 9f + const CONVERSION ; a0 + const TRI_ATTACK ; a1 + const SUPER_FANG ; a2 + const SLASH ; a3 + const SUBSTITUTE ; a4 + const STRUGGLE ; a5 + const SKETCH ; a6 + const TRIPLE_KICK ; a7 + const THIEF ; a8 + const SPIDER_WEB ; a9 + const MIND_READER ; aa + const NIGHTMARE ; ab + const FLAME_WHEEL ; ac + const SNORE ; ad + const CURSE ; ae + const FLAIL ; af + const CONVERSION2 ; b0 + const AEROBLAST ; b1 + const COTTON_SPORE ; b2 + const REVERSAL ; b3 + const SPITE ; b4 + const POWDER_SNOW ; b5 + const PROTECT ; b6 + const MACH_PUNCH ; b7 + const SCARY_FACE ; b8 + const FAINT_ATTACK ; b9 + const SWEET_KISS ; ba + const BELLY_DRUM ; bb + const SLUDGE_BOMB ; bc + const MUD_SLAP ; bd + const OCTAZOOKA ; be + const SPIKES ; bf + const ZAP_CANNON ; c0 + const FORESIGHT ; c1 + const DESTINY_BOND ; c2 + const PERISH_SONG ; c3 + const ICY_WIND ; c4 + const DETECT ; c5 + const BONE_RUSH ; c6 + const LOCK_ON ; c7 + const OUTRAGE ; c8 + const SANDSTORM ; c9 + const GIGA_DRAIN ; ca + const ENDURE ; cb + const CHARM ; cc + const ROLLOUT ; cd + const FALSE_SWIPE ; ce + const SWAGGER ; cf + const MILK_DRINK ; d0 + const SPARK ; d1 + const FURY_CUTTER ; d2 + const STEEL_WING ; d3 + const MEAN_LOOK ; d4 + const ATTRACT ; d5 + const SLEEP_TALK ; d6 + const HEAL_BELL ; d7 + const RETURN ; d8 + const PRESENT ; d9 + const FRUSTRATION ; da + const SAFEGUARD ; db + const PAIN_SPLIT ; dc + const SACRED_FIRE ; dd + const MAGNITUDE ; de + const DYNAMICPUNCH ; df + const MEGAHORN ; e0 + const DRAGONBREATH ; e1 + const BATON_PASS ; e2 + const ENCORE ; e3 + const PURSUIT ; e4 + const RAPID_SPIN ; e5 + const SWEET_SCENT ; e6 + const IRON_TAIL ; e7 + const METAL_CLAW ; e8 + const VITAL_THROW ; e9 + const MORNING_SUN ; ea + const SYNTHESIS ; eb + const MOONLIGHT ; ec + const HIDDEN_POWER ; ed + const CROSS_CHOP ; ee + const TWISTER ; ef + const RAIN_DANCE ; f0 + const SUNNY_DAY ; f1 + const CRUNCH ; f2 + const MIRROR_COAT ; f3 + const PSYCH_UP ; f4 + const EXTREMESPEED ; f5 + const ANCIENTPOWER ; f6 + const SHADOW_BALL ; f7 + const FUTURE_SIGHT ; f8 + const ROCK_SMASH ; f9 + const WHIRLPOOL ; fa + const BEAT_UP ; fb +NUM_ATTACKS EQU const_value - 1 - const NUM_ATTACKS ; $fb + const MOVE_OR_ANIM_FC ; fc + const MOVE_OR_ANIM_FD ; fd + const MOVE_OR_ANIM_FE ; fe -; Battle animations use the same constants -; as the moves up to this point. - const ANIM_FC ; $fc - const ANIM_FD ; $fd - const ANIM_FE ; $fe - const ANIM_SWEET_SCENT_2 ; $ff - const ANIM_THROW_POKE_BALL ; $100 - const ANIM_SEND_OUT_MON ; $101 - const ANIM_RETURN_MON ; $102 - const ANIM_CONFUSED ; $103 - const ANIM_SLP ; $104 - const ANIM_BRN ; $105 - const ANIM_PSN ; $106 - const ANIM_SAP ; $107 - const ANIM_FRZ ; $108 - const ANIM_PAR ; $109 - const ANIM_IN_LOVE ; $10a - const ANIM_IN_SANDSTORM ; $10b - const ANIM_IN_NIGHTMARE ; $10c - const ANIM_IN_WHIRLPOOL ; $10d +; Battle animations use the same constants as the moves up to this point + const ANIM_SWEET_SCENT_2 ; ff + const ANIM_THROW_POKE_BALL ; 100 + const ANIM_SEND_OUT_MON ; 101 + const ANIM_RETURN_MON ; 102 + const ANIM_CONFUSED ; 103 + const ANIM_SLP ; 104 + const ANIM_BRN ; 105 + const ANIM_PSN ; 106 + const ANIM_SAP ; 107 + const ANIM_FRZ ; 108 + const ANIM_PAR ; 109 + const ANIM_IN_LOVE ; 10a + const ANIM_IN_SANDSTORM ; 10b + const ANIM_IN_NIGHTMARE ; 10c + const ANIM_IN_WHIRLPOOL ; 10d ; battle anims - const ANIM_MISS ; $10e - const ANIM_ENEMY_DAMAGE ; $10f - const ANIM_ENEMY_STAT_DOWN ; $110 - const ANIM_PLAYER_STAT_DOWN ; $111 - const ANIM_PLAYER_DAMAGE ; $112 - const ANIM_WOBBLE ; $113 - const ANIM_SHAKE ; $114 - const ANIM_HIT_CONFUSION ; $115 + const ANIM_MISS ; 10e + const ANIM_ENEMY_DAMAGE ; 10f + const ANIM_ENEMY_STAT_DOWN ; 110 + const ANIM_PLAYER_STAT_DOWN ; 111 + const ANIM_PLAYER_DAMAGE ; 112 + const ANIM_WOBBLE ; 113 + const ANIM_SHAKE ; 114 + const ANIM_HIT_CONFUSION ; 115 ; wNumHits uses offsets from ANIM_MISS const_def diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 2c46d106..d225787c 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,3 +1,5 @@ +; song ids +; Music indexes (see audio/music_pointers.asm) const_def const MUSIC_NONE ; 00 @@ -94,6 +96,7 @@ const MUSIC_PRINTER ; 5b const MUSIC_POST_CREDITS ; 5c +; GetMapMusic picks music for this value (see home/map.asm) MUSIC_MAHOGANY_MART EQU $64 ; ExitPokegearRadio_HandleMusic uses these values diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index 1718e892..2483d9df 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -1,4 +1,4 @@ - +; PhoneContacts indexes (see data/phone/phone_contacts.asm) const_def const PHONE_00 const PHONE_MOM @@ -37,8 +37,8 @@ const PHONE_BLACKBELT_KENJI const PHONE_HIKER_PARRY const PHONE_PICNICKER_ERIN - const PHONE_BUENA +; SpecialPhoneCallList indexes (see data/phone/special_calls.asm) const_def const SPECIALCALL_NONE const SPECIALCALL_POKERUS @@ -50,6 +50,7 @@ const SPECIALCALL_WORRIED const SPECIALCALL_MASTERBALL +; phone struct members const_def const PHONE_CONTACT_TRAINER_CLASS const PHONE_CONTACT_TRAINER_NUMBER @@ -64,4 +65,6 @@ const PHONE_CONTACT_SCRIPT2_ADDR_LO const PHONE_CONTACT_SCRIPT2_ADDR_HI PHONE_CONTACT_SIZE EQU const_value + +; maximum number of pokegear contacts CONTACT_LIST_SIZE EQU 10 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 58aa684a..2f0ce2c7 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -306,61 +306,3 @@ NUM_POKEMON EQU const_value - 1 const UNOWN_Y ; 25 const UNOWN_Z ; 26 NUM_UNOWN EQU const_value - 1 ; 26 - -; pokemon structure in RAM -MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)" -MON_ITEM EQUS "(wPartyMon1Item - wPartyMon1)" -MON_MOVES EQUS "(wPartyMon1Moves - wPartyMon1)" -MON_ID EQUS "(wPartyMon1ID - wPartyMon1)" -MON_EXP EQUS "(wPartyMon1Exp - wPartyMon1)" -MON_STAT_EXP EQUS "(wPartyMon1StatExp - wPartyMon1)" -MON_HP_EXP EQUS "(wPartyMon1HPExp - wPartyMon1)" -MON_ATK_EXP EQUS "(wPartyMon1AtkExp - wPartyMon1)" -MON_DEF_EXP EQUS "(wPartyMon1DefExp - wPartyMon1)" -MON_SPD_EXP EQUS "(wPartyMon1SpdExp - wPartyMon1)" -MON_SPC_EXP EQUS "(wPartyMon1SpcExp - wPartyMon1)" -MON_DVS EQUS "(wPartyMon1DVs - wPartyMon1)" -MON_PP EQUS "(wPartyMon1PP - wPartyMon1)" -MON_HAPPINESS EQUS "(wPartyMon1Happiness - wPartyMon1)" -MON_PKRUS EQUS "(wPartyMon1PokerusStatus - wPartyMon1)" -MON_CAUGHTDATA EQUS "(wPartyMon1CaughtData - wPartyMon1)" -MON_CAUGHTLEVEL EQUS "(wPartyMon1CaughtLevel - wPartyMon1)" -MON_CAUGHTTIME EQUS "(wPartyMon1CaughtTime - wPartyMon1)" -MON_CAUGHTGENDER EQUS "(wPartyMon1CaughtGender - wPartyMon1)" -MON_CAUGHTLOCATION EQUS "(wPartyMon1CaughtLocation - wPartyMon1)" -MON_LEVEL EQUS "(wPartyMon1Level - wPartyMon1)" -MON_STATUS EQUS "(wPartyMon1Status - wPartyMon1)" -MON_HP EQUS "(wPartyMon1HP - wPartyMon1)" -MON_MAXHP EQUS "(wPartyMon1MaxHP - wPartyMon1)" -MON_ATK EQUS "(wPartyMon1Attack - wPartyMon1)" -MON_DEF EQUS "(wPartyMon1Defense - wPartyMon1)" -MON_SPD EQUS "(wPartyMon1Speed - wPartyMon1)" -MON_SAT EQUS "(wPartyMon1SpclAtk - wPartyMon1)" -MON_SDF EQUS "(wPartyMon1SpclDef - wPartyMon1)" -BOXMON_STRUCT_LENGTH EQUS "(wPartyMon1End - wPartyMon1)" -PARTYMON_STRUCT_LENGTH EQUS "(wPartyMon1StatsEnd - wPartyMon1)" -REDMON_STRUCT_LENGTH EQU 44 - -const_value SET 1 - const MONMENU_CUT ; 1 - const MONMENU_FLY ; 2 - const MONMENU_SURF ; 3 - const MONMENU_STRENGTH ; 4 - const MONMENU_WATERFALL ; 5 - const MONMENU_FLASH ; 6 - const MONMENU_WHIRLPOOL ; 7 - const MONMENU_DIG ; 8 - const MONMENU_TELEPORT ; 9 - const MONMENU_SOFTBOILED ; 10 - const MONMENU_HEADBUTT ; 11 - const MONMENU_ROCKSMASH ; 12 - const MONMENU_MILKDRINK ; 13 - const MONMENU_SWEETSCENT ; 14 - - const MONMENU_STATS ; 15 - const MONMENU_SWITCH ; 16 - const MONMENU_ITEM ; 17 - const MONMENU_CANCEL ; 18 - const MONMENU_MOVE ; 19 - const MONMENU_MAIL ; 20 - const MONMENU_ERROR ; 21 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 83d5d7b6..da0008b1 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -27,11 +27,11 @@ BASE_TMHM EQUS "(wBaseTMHM - wCurBaseData)" BASE_DATA_SIZE EQUS "(wCurBaseDataEnd - wCurBaseData)" ; gender ratio constants -GENDER_F0 EQU 0 percent -GENDER_F12_5 EQU 12 percent + 1 -GENDER_F25 EQU 25 percent -GENDER_F50 EQU 50 percent -GENDER_F75 EQU 75 percent +GENDER_F0 EQU 0 percent +GENDER_F12_5 EQU 12 percent + 1 +GENDER_F25 EQU 25 percent +GENDER_F50 EQU 50 percent +GENDER_F75 EQU 75 percent GENDER_F100 EQU 100 percent - 1 GENDER_UNKNOWN EQU -1 @@ -63,6 +63,45 @@ GENDER_UNKNOWN EQU -1 const EGG_DRAGON ; e const EGG_NONE ; f (Undiscovered) +; pokedex entries (see data/pokemon/dex_entries.asm) +NUM_DEX_ENTRY_BANKS EQU 4 + +; party_struct members (see macros/wram.asm) +MON_SPECIES EQUS "(wPartyMon1Species - wPartyMon1)" +MON_ITEM EQUS "(wPartyMon1Item - wPartyMon1)" +MON_MOVES EQUS "(wPartyMon1Moves - wPartyMon1)" +MON_ID EQUS "(wPartyMon1ID - wPartyMon1)" +MON_EXP EQUS "(wPartyMon1Exp - wPartyMon1)" +MON_STAT_EXP EQUS "(wPartyMon1StatExp - wPartyMon1)" +MON_HP_EXP EQUS "(wPartyMon1HPExp - wPartyMon1)" +MON_ATK_EXP EQUS "(wPartyMon1AtkExp - wPartyMon1)" +MON_DEF_EXP EQUS "(wPartyMon1DefExp - wPartyMon1)" +MON_SPD_EXP EQUS "(wPartyMon1SpdExp - wPartyMon1)" +MON_SPC_EXP EQUS "(wPartyMon1SpcExp - wPartyMon1)" +MON_DVS EQUS "(wPartyMon1DVs - wPartyMon1)" +MON_PP EQUS "(wPartyMon1PP - wPartyMon1)" +MON_HAPPINESS EQUS "(wPartyMon1Happiness - wPartyMon1)" +MON_PKRUS EQUS "(wPartyMon1PokerusStatus - wPartyMon1)" +MON_CAUGHTDATA EQUS "(wPartyMon1CaughtData - wPartyMon1)" +MON_CAUGHTLEVEL EQUS "(wPartyMon1CaughtLevel - wPartyMon1)" +MON_CAUGHTTIME EQUS "(wPartyMon1CaughtTime - wPartyMon1)" +MON_CAUGHTGENDER EQUS "(wPartyMon1CaughtGender - wPartyMon1)" +MON_CAUGHTLOCATION EQUS "(wPartyMon1CaughtLocation - wPartyMon1)" +MON_LEVEL EQUS "(wPartyMon1Level - wPartyMon1)" +MON_STATUS EQUS "(wPartyMon1Status - wPartyMon1)" +MON_HP EQUS "(wPartyMon1HP - wPartyMon1)" +MON_MAXHP EQUS "(wPartyMon1MaxHP - wPartyMon1)" +MON_ATK EQUS "(wPartyMon1Attack - wPartyMon1)" +MON_DEF EQUS "(wPartyMon1Defense - wPartyMon1)" +MON_SPD EQUS "(wPartyMon1Speed - wPartyMon1)" +MON_SAT EQUS "(wPartyMon1SpclAtk - wPartyMon1)" +MON_SDF EQUS "(wPartyMon1SpclDef - wPartyMon1)" +BOXMON_STRUCT_LENGTH EQUS "(wPartyMon1End - wPartyMon1)" +PARTYMON_STRUCT_LENGTH EQUS "(wPartyMon1StatsEnd - wPartyMon1)" + +NICKNAMED_MON_STRUCT_LENGTH EQUS "(PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH)" +REDMON_STRUCT_LENGTH EQU 44 + ; maximum number of party pokemon PARTY_LENGTH EQU 6 diff --git a/constants/printer_constants.asm b/constants/printer_constants.asm index 5cd8fcd7..f0b8b481 100755 --- a/constants/printer_constants.asm +++ b/constants/printer_constants.asm @@ -1,5 +1,5 @@ -const_value SET 1 - +; wPrinterStatus + const_def 1 const PRINTER_STATUS_CHECKING const PRINTER_STATUS_TRANSMITTING const PRINTER_STATUS_PRINTING diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index b1c2c287..e9b54176 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -1,77 +1,84 @@ +; radio channel ids +; indexes for: +; - RadioChannelSongs (see data/radio/channel_music.asm) +; - PlayRadioShow/RadioJumptable (see engine/pokegear/radio.asm) +; - RadioChannels (see engine/pokegear/pokegear.asm) const_def - const OAKS_POKEMON_TALK ; $00 - const POKEDEX_SHOW ; $01 - const POKEMON_MUSIC ; $02 - const LUCKY_CHANNEL ; $03 - const PLACES_AND_PEOPLE ; $04 - const LETS_ALL_SING ; $05 - const ROCKET_RADIO ; $06 - const POKE_FLUTE_RADIO ; $07 - const UNOWN_RADIO ; $08 - const EVOLUTION_RADIO ; $09 - const OAKS_POKEMON_TALK_2 ; $0a - const OAKS_POKEMON_TALK_3 ; $0b - const OAKS_POKEMON_TALK_4 ; $0c - const OAKS_POKEMON_TALK_5 ; $0d - const OAKS_POKEMON_TALK_6 ; $0e - const OAKS_POKEMON_TALK_7 ; $0f - const OAKS_POKEMON_TALK_8 ; $10 - const OAKS_POKEMON_TALK_9 ; $11 - const POKEDEX_SHOW_2 ; $12 - const POKEDEX_SHOW_3 ; $13 - const POKEDEX_SHOW_4 ; $14 - const POKEDEX_SHOW_5 ; $15 - const POKEMON_MUSIC_2 ; $16 - const POKEMON_MUSIC_3 ; $17 - const POKEMON_MUSIC_4 ; $18 - const POKEMON_MUSIC_5 ; $19 - const POKEMON_MUSIC_6 ; $1a - const POKEMON_MUSIC_7 ; $1b - const LETS_ALL_SING_2 ; $1c - const LUCKY_NUMBER_SHOW_2 ; $1d - const LUCKY_NUMBER_SHOW_3 ; $1e - const LUCKY_NUMBER_SHOW_4 ; $1f - const LUCKY_NUMBER_SHOW_5 ; $20 - const LUCKY_NUMBER_SHOW_6 ; $21 - const LUCKY_NUMBER_SHOW_7 ; $22 - const LUCKY_NUMBER_SHOW_8 ; $23 - const LUCKY_NUMBER_SHOW_9 ; $24 - const LUCKY_NUMBER_SHOW_10 ; $25 - const LUCKY_NUMBER_SHOW_11 ; $26 - const LUCKY_NUMBER_SHOW_12 ; $27 - const LUCKY_NUMBER_SHOW_13 ; $28 - const LUCKY_NUMBER_SHOW_14 ; $29 - const LUCKY_NUMBER_SHOW_15 ; $2a - const PLACES_AND_PEOPLE_2 ; $2b - const PLACES_AND_PEOPLE_3 ; $2c - const PLACES_AND_PEOPLE_4 ; $2d - const PLACES_AND_PEOPLE_5 ; $2e - const PLACES_AND_PEOPLE_6 ; $2f - const PLACES_AND_PEOPLE_7 ; $30 - const ROCKET_RADIO_2 ; $31 - const ROCKET_RADIO_3 ; $32 - const ROCKET_RADIO_4 ; $33 - const ROCKET_RADIO_5 ; $34 - const ROCKET_RADIO_6 ; $35 - const ROCKET_RADIO_7 ; $36 - const ROCKET_RADIO_8 ; $37 - const ROCKET_RADIO_9 ; $38 - const ROCKET_RADIO_10 ; $39 - const OAKS_POKEMON_TALK_10 ; $3a - const OAKS_POKEMON_TALK_11 ; $3b - const OAKS_POKEMON_TALK_12 ; $3c - const OAKS_POKEMON_TALK_13 ; $3d - const OAKS_POKEMON_TALK_14 ; $3e - const RADIO_SCROLL ; $3f - const POKEDEX_SHOW_6 ; $40 - const POKEDEX_SHOW_7 ; $41 - const POKEDEX_SHOW_8 ; $42 + const OAKS_POKEMON_TALK ; 00 + const POKEDEX_SHOW ; 01 + const POKEMON_MUSIC ; 02 + const LUCKY_CHANNEL ; 03 + const PLACES_AND_PEOPLE ; 04 + const LETS_ALL_SING ; 05 + const ROCKET_RADIO ; 06 + const POKE_FLUTE_RADIO ; 07 + const UNOWN_RADIO ; 08 + const EVOLUTION_RADIO ; 09 +; internal indexes for channel segments + const OAKS_POKEMON_TALK_2 ; 0a + const OAKS_POKEMON_TALK_3 ; 0b + const OAKS_POKEMON_TALK_4 ; 0c + const OAKS_POKEMON_TALK_5 ; 0d + const OAKS_POKEMON_TALK_6 ; 0e + const OAKS_POKEMON_TALK_7 ; 0f + const OAKS_POKEMON_TALK_8 ; 10 + const OAKS_POKEMON_TALK_9 ; 11 + const POKEDEX_SHOW_2 ; 12 + const POKEDEX_SHOW_3 ; 13 + const POKEDEX_SHOW_4 ; 14 + const POKEDEX_SHOW_5 ; 15 + const POKEMON_MUSIC_2 ; 16 + const POKEMON_MUSIC_3 ; 17 + const POKEMON_MUSIC_4 ; 18 + const POKEMON_MUSIC_5 ; 19 + const POKEMON_MUSIC_6 ; 1a + const POKEMON_MUSIC_7 ; 1b + const LETS_ALL_SING_2 ; 1c + const LUCKY_NUMBER_SHOW_2 ; 1d + const LUCKY_NUMBER_SHOW_3 ; 1e + const LUCKY_NUMBER_SHOW_4 ; 1f + const LUCKY_NUMBER_SHOW_5 ; 20 + const LUCKY_NUMBER_SHOW_6 ; 21 + const LUCKY_NUMBER_SHOW_7 ; 22 + const LUCKY_NUMBER_SHOW_8 ; 23 + const LUCKY_NUMBER_SHOW_9 ; 24 + const LUCKY_NUMBER_SHOW_10 ; 25 + const LUCKY_NUMBER_SHOW_11 ; 26 + const LUCKY_NUMBER_SHOW_12 ; 27 + const LUCKY_NUMBER_SHOW_13 ; 28 + const LUCKY_NUMBER_SHOW_14 ; 29 + const LUCKY_NUMBER_SHOW_15 ; 2a + const PLACES_AND_PEOPLE_2 ; 2b + const PLACES_AND_PEOPLE_3 ; 2c + const PLACES_AND_PEOPLE_4 ; 2d + const PLACES_AND_PEOPLE_5 ; 2e + const PLACES_AND_PEOPLE_6 ; 2f + const PLACES_AND_PEOPLE_7 ; 30 + const ROCKET_RADIO_2 ; 31 + const ROCKET_RADIO_3 ; 32 + const ROCKET_RADIO_4 ; 33 + const ROCKET_RADIO_5 ; 34 + const ROCKET_RADIO_6 ; 35 + const ROCKET_RADIO_7 ; 36 + const ROCKET_RADIO_8 ; 37 + const ROCKET_RADIO_9 ; 38 + const ROCKET_RADIO_10 ; 39 + const OAKS_POKEMON_TALK_10 ; 3a + const OAKS_POKEMON_TALK_11 ; 3b + const OAKS_POKEMON_TALK_12 ; 3c + const OAKS_POKEMON_TALK_13 ; 3d + const OAKS_POKEMON_TALK_14 ; 3e + const RADIO_SCROLL ; 3f + const POKEDEX_SHOW_6 ; 40 + const POKEDEX_SHOW_7 ; 41 + const POKEDEX_SHOW_8 ; 42 +; PlayRadio.StationPointers indexes (see engine/pokegear/pokegear.asm) const_def const MAPRADIO_POKEMON_CHANNEL - const MAPRADIO_OAKS_MON_TALK + const MAPRADIO_OAKS_POKEMON_TALK const MAPRADIO_POKEDEX_SHOW - const MAPRADIO_PKMN_MUSIC + const MAPRADIO_POKEMON_MUSIC const MAPRADIO_LUCKY_CHANNEL const MAPRADIO_UNOWN const MAPRADIO_PLACES_PEOPLE diff --git a/constants/scgb_constants.asm b/constants/scgb_constants.asm index 878e2cf4..4f9e8488 100644 --- a/constants/scgb_constants.asm +++ b/constants/scgb_constants.asm @@ -1,3 +1,4 @@ +; GetSGBLayout arguments (see engine/gfx/cgb_layouts.asm and engine/gfx/sgb_layouts.asm) const_def const SCGB_BATTLE_GRAYSCALE const SCGB_BATTLE_COLORS @@ -5,20 +6,20 @@ const SCGB_STATS_SCREEN_HP_PALS const SCGB_POKEDEX const SCGB_SLOT_MACHINE - const SCGB_06 - const SCGB_07 + const SCGB_BETA_TITLE_SCREEN + const SCGB_GS_INTRO const SCGB_DIPLOMA const SCGB_MAPPALS const SCGB_PARTY_MENU const SCGB_EVOLUTION - const SCGB_0C + const SCGB_GS_TITLE_SCREEN const SCGB_0D const SCGB_MOVE_LIST - const SCGB_0F + const SCGB_BETA_PIKACHU_MINIGAME const SCGB_POKEDEX_SEARCH_OPTION - const SCGB_11 + const SCGB_BETA_POKER const SCGB_POKEPIC - const SCGB_13 + const SCGB_MAGNET_TRAIN const SCGB_PACKPALS const SCGB_TRAINER_CARD const SCGB_POKEDEX_UNOWN_MODE @@ -30,6 +31,10 @@ const SCGB_TRAINER_OR_MON_FRONTPIC_PALS const SCGB_MYSTERY_GIFT const SCGB_1E + const SCGB_1F + +SCGB_PARTY_MENU_HP_PALS EQU -4 +SCGB_RAM EQU -1 ; PredefPals indexes (see gfx/sgb/predef.pal) ; GetPredefPal arguments (see engine/gfx/color.asm) @@ -143,6 +148,4 @@ const SGB_MASK_EN const SGB_OBJ_TRN -SCGB_PARTY_MENU_HP_PALS EQU -4 -SCGB_RAM EQU -1 PALPACKET_LENGTH EQU $10 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index de59a7ee..e850d4fe 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -40,7 +40,7 @@ NUM_STRING_BUFFERS EQU const_value const TRAINERTEXT_WIN const TRAINERTEXT_LOSS -; writecode/checkcode arguments +; readvar/writevar/loadvar arguments ; _GetVarAction.VarActionTable indexes (see engine/overworld/variables.asm) const_def const VAR_STRINGBUFFER2 ; 00 @@ -72,7 +72,7 @@ RETVAR_ADDR_DE EQU (1 << 6) RETVAR_EXECUTE EQU (2 << 6) ; PlayerEventScriptPointers indexes (see engine/overworld/events.asm) -const_value SET -1 + const_def -1 const PLAYEREVENT_MAPSCRIPT const PLAYEREVENT_NONE const PLAYEREVENT_SEENBYTRAINER @@ -262,14 +262,14 @@ NUM_FRUIT_TREES EQU const_value - 1 const BUGCONTEST_BOXED_MON ; 1 const BUGCONTEST_NO_CATCH ; 2 -; HealMachineAnim writebyte arguments +; HealMachineAnim setval arguments ; HealMachineAnim.Pointers indexes (see engine/events/heal_machine_anim.asm) const_def const HEALMACHINE_POKECENTER ; 0 const HEALMACHINE_ELMS_LAB ; 1 const HEALMACHINE_HALL_OF_FAME ; 2 -; UnownPuzzle writebyte arguments +; UnownPuzzle setval arguments ; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/games/unown_puzzle.asm) const_def const UNOWNPUZZLE_KABUTO ; 0 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm index 5a59ceec..be11bd3e 100644 --- a/constants/serial_constants.asm +++ b/constants/serial_constants.asm @@ -1,4 +1,4 @@ -; link types +; wLinkMode const_def const LINK_NULL ; 0 const LINK_TIMECAPSULE ; 1 diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm index ccca4e5d..0cecccf4 100644 --- a/constants/sfx_constants.asm +++ b/constants/sfx_constants.asm @@ -1,3 +1,4 @@ +; SFX indexes (see audio/sfx_pointers.asm) const_def const SFX_DEX_FANFARE_50_79 ; 00 @@ -188,5 +189,3 @@ const SFX_TRAIN_ARRIVED ; b9 const SFX_STOP_SLOT ; ba const SFX_2_BOOPS ; bb - const SFX_GLASS_TING ; bc - const SFX_GLASS_TING_2 ; bd diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 9cfcbc8a..352c93cb 100644 --- a/constants/std_constants.asm +++ b/constants/std_constants.asm @@ -1,3 +1,5 @@ +; StdScripts indexes (see engine/events/std_scripts.asm) +; also used in TileCollisionStdScripts (see data/events/collision_stdscripts.asm) enum_start enum pokecenternurse enum difficultbookshelf diff --git a/constants/text_constants.asm b/constants/text_constants.asm index f1c3a0bf..dbe06a36 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -44,3 +44,6 @@ PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F ; character sets (see charmap.asm) FIRST_REGULAR_TEXT_CHAR EQU $60 FIRST_HIRAGANA_DAKUTEN_CHAR EQU $20 + +; gfx/font/unown_font.png +FIRST_UNOWN_CHAR EQU $40 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 3d68dba4..e02393cb 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -1,4 +1,4 @@ -const_value SET 1 +; Tilesets indexes (see data/tilesets.asm) const_def 1 const TILESET_JOHTO ; 01 const TILESET_JOHTO_MODERN ; 02 diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index a56a59aa..da50cd5d 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -80,14 +80,16 @@ RIGHT_MASK EQU 1 << RIGHT ; wFacingDirection:: ; cf2f FACE_CURRENT EQU 0 -FACE_DOWN EQU 8 -FACE_UP EQU 4 -FACE_LEFT EQU 2 -FACE_RIGHT EQU 1 +FACE_DOWN EQU 8 +FACE_UP EQU 4 +FACE_LEFT EQU 2 +FACE_RIGHT EQU 1 ; wPokemonWithdrawDepositParameter:: ; d008 -PC_WITHDRAW EQU 0 -PC_DEPOSIT EQU 1 +PC_WITHDRAW EQU 0 +PC_DEPOSIT EQU 1 +REMOVE_PARTY EQU 0 +REMOVE_BOX EQU 1 DAY_CARE_WITHDRAW EQU 2 DAY_CARE_DEPOSIT EQU 3 @@ -151,7 +153,7 @@ SCRIPT_RUNNING EQU 2 ; wSpawnAfterChampion:: SPAWN_LANCE EQU 1 -SPAWN_RED EQU 2 +SPAWN_RED EQU 2 ; wCurDay:: ; d1f2 const_def @@ -278,5 +280,5 @@ DAYCAREMAN_HAS_EGG_F EQU 6 ; wDayCareLady:: ; dc77 DAYCARELADY_HAS_MON_F EQU 0 -; used with both wDayCareMan and wDayCareLady +; shared flag between wDayCareMan and wDayCareLady DAYCARE_INTRO_SEEN_F EQU 7 diff --git a/data/battle/critical_hit_chances.asm b/data/battle/critical_hit_chances.asm index 0128f1a1..bb1ce9ab 100644 --- a/data/battle/critical_hit_chances.asm +++ b/data/battle/critical_hit_chances.asm @@ -1,8 +1,8 @@ CriticalHitChances: - db 7 percent ; 0 - db 12 percent + 2 ; +1 - db 25 percent + 1 ; +2 - db 33 percent + 1 ; +3 - db 50 percent + 1 ; +4 - db 50 percent + 1 ; +5 - db 50 percent + 1 ; +6 + db 1 out_of 15 ; 0 + db 1 out_of 8 ; +1 + db 1 out_of 4 ; +2 + db 1 out_of 3 ; +3 + db 1 out_of 2 ; +4 + db 1 out_of 2 ; +5 + db 1 out_of 2 ; +6 diff --git a/data/collision_permissions.asm b/data/collision_permissions.asm index 82ebb770..93cf5509 100755 --- a/data/collision_permissions.asm +++ b/data/collision_permissions.asm @@ -3,54 +3,54 @@ TALKABLE EQUS "db TALK +" TileCollisionTable:: ; entries correspond to COLL_* constants - NONTALKABLE LANDTILE ; COLL_FLOOR - NONTALKABLE LANDTILE ; COLL_01 - NONTALKABLE LANDTILE ; 02 - NONTALKABLE LANDTILE ; COLL_03 - NONTALKABLE LANDTILE ; COLL_04 - NONTALKABLE LANDTILE ; 05 - NONTALKABLE LANDTILE ; 06 - NONTALKABLE WALLTILE ; COLL_WALL - NONTALKABLE LANDTILE ; COLL_CUT_08 - NONTALKABLE LANDTILE ; 09 - NONTALKABLE LANDTILE ; 0a - NONTALKABLE LANDTILE ; 0b - NONTALKABLE LANDTILE ; 0c - NONTALKABLE LANDTILE ; 0d - NONTALKABLE LANDTILE ; 0e - NONTALKABLE WALLTILE ; 0f - NONTALKABLE LANDTILE ; COLL_TALL_GRASS_10 - NONTALKABLE LANDTILE ; 11 - TALKABLE WALLTILE ; COLL_CUT_TREE - NONTALKABLE LANDTILE ; 13 - NONTALKABLE LANDTILE ; COLL_LONG_GRASS - TALKABLE WALLTILE ; COLL_HEADBUTT_TREE - NONTALKABLE LANDTILE ; 16 - NONTALKABLE LANDTILE ; 17 - NONTALKABLE LANDTILE ; COLL_TALL_GRASS - NONTALKABLE LANDTILE ; 19 - TALKABLE WALLTILE ; COLL_CUT_TREE_1A - NONTALKABLE LANDTILE ; 1b - NONTALKABLE LANDTILE ; COLL_LONG_GRASS_1C - TALKABLE WALLTILE ; COLL_HEADBUTT_TREE_1D - NONTALKABLE LANDTILE ; 1e - NONTALKABLE LANDTILE ; 1f + NONTALKABLE LAND_TILE ; COLL_FLOOR + NONTALKABLE LAND_TILE ; COLL_01 + NONTALKABLE LAND_TILE ; 02 + NONTALKABLE LAND_TILE ; COLL_03 + NONTALKABLE LAND_TILE ; COLL_04 + NONTALKABLE LAND_TILE ; 05 + NONTALKABLE LAND_TILE ; 06 + NONTALKABLE WALL_TILE ; COLL_WALL + NONTALKABLE LAND_TILE ; COLL_CUT_08 + NONTALKABLE LAND_TILE ; 09 + NONTALKABLE LAND_TILE ; 0a + NONTALKABLE LAND_TILE ; 0b + NONTALKABLE LAND_TILE ; 0c + NONTALKABLE LAND_TILE ; 0d + NONTALKABLE LAND_TILE ; 0e + NONTALKABLE WALL_TILE ; 0f + NONTALKABLE LAND_TILE ; COLL_TALL_GRASS_10 + NONTALKABLE LAND_TILE ; 11 + TALKABLE WALL_TILE ; COLL_CUT_TREE + NONTALKABLE LAND_TILE ; 13 + NONTALKABLE LAND_TILE ; COLL_LONG_GRASS + TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE + NONTALKABLE LAND_TILE ; 16 + NONTALKABLE LAND_TILE ; 17 + NONTALKABLE LAND_TILE ; COLL_TALL_GRASS + NONTALKABLE LAND_TILE ; 19 + TALKABLE WALL_TILE ; COLL_CUT_TREE_1A + NONTALKABLE LAND_TILE ; 1b + NONTALKABLE LAND_TILE ; COLL_LONG_GRASS_1C + TALKABLE WALL_TILE ; COLL_HEADBUTT_TREE_1D + NONTALKABLE LAND_TILE ; 1e + NONTALKABLE LAND_TILE ; 1f NONTALKABLE WATERTILE ; 20 NONTALKABLE WATERTILE ; COLL_WATER_21 TALKABLE WATERTILE ; 22 - NONTALKABLE LANDTILE ; COLL_ICE + NONTALKABLE LAND_TILE ; COLL_ICE TALKABLE WATERTILE ; COLL_WHIRLPOOL NONTALKABLE WATERTILE ; 25 NONTALKABLE WATERTILE ; 26 - NONTALKABLE WALLTILE ; COLL_BUOY + NONTALKABLE WALL_TILE ; COLL_BUOY NONTALKABLE WATERTILE ; COLL_CUT_28 NONTALKABLE WATERTILE ; COLL_WATER TALKABLE WATERTILE ; 2a - NONTALKABLE LANDTILE ; COLL_ICE_2B + NONTALKABLE LAND_TILE ; COLL_ICE_2B TALKABLE WATERTILE ; COLL_WHIRLPOOL_2C NONTALKABLE WATERTILE ; 2d NONTALKABLE WATERTILE ; 2e - NONTALKABLE WALLTILE ; 2f + NONTALKABLE WALL_TILE ; 2f NONTALKABLE WATERTILE ; COLL_WATERFALL_RIGHT NONTALKABLE WATERTILE ; COLL_WATERFALL_LEFT NONTALKABLE WATERTILE ; COLL_WATERFALL_UP @@ -67,134 +67,134 @@ TileCollisionTable:: NONTALKABLE WATERTILE ; 3d NONTALKABLE WATERTILE ; 3e NONTALKABLE WATERTILE ; 3f - NONTALKABLE LANDTILE ; COLL_BRAKE - NONTALKABLE LANDTILE ; COLL_WALK_RIGHT - NONTALKABLE LANDTILE ; COLL_WALK_LEFT - NONTALKABLE LANDTILE ; COLL_WALK_UP - NONTALKABLE LANDTILE ; COLL_WALK_DOWN - NONTALKABLE LANDTILE ; COLL_BRAKE_45 - NONTALKABLE LANDTILE ; COLL_BRAKE_46 - NONTALKABLE LANDTILE ; COLL_BRAKE_47 - NONTALKABLE LANDTILE ; COLL_GRASS_48 - NONTALKABLE LANDTILE ; COLL_GRASS_49 - NONTALKABLE LANDTILE ; COLL_GRASS_4A - NONTALKABLE LANDTILE ; COLL_GRASS_4B - NONTALKABLE LANDTILE ; COLL_GRASS_4C - NONTALKABLE LANDTILE ; 4d - NONTALKABLE LANDTILE ; 4e - NONTALKABLE LANDTILE ; 4f - NONTALKABLE LANDTILE ; COLL_WALK_RIGHT_ALT - NONTALKABLE LANDTILE ; COLL_WALK_LEFT_ALT - NONTALKABLE LANDTILE ; COLL_WALK_UP_ALT - NONTALKABLE LANDTILE ; COLL_WALK_DOWN_ALT - NONTALKABLE LANDTILE ; COLL_BRAKE_ALT - NONTALKABLE LANDTILE ; COLL_BRAKE_55 - NONTALKABLE LANDTILE ; COLL_BRAKE_56 - NONTALKABLE LANDTILE ; COLL_BRAKE_57 - NONTALKABLE LANDTILE ; 58 - NONTALKABLE LANDTILE ; 59 - NONTALKABLE LANDTILE ; 5a - NONTALKABLE LANDTILE ; COLL_5B - NONTALKABLE LANDTILE ; 5c - NONTALKABLE LANDTILE ; 5d - NONTALKABLE LANDTILE ; 5e - NONTALKABLE LANDTILE ; 5f - NONTALKABLE LANDTILE ; COLL_PIT - NONTALKABLE LANDTILE ; COLL_VIRTUAL_BOY - NONTALKABLE WALLTILE ; 62 - NONTALKABLE LANDTILE ; 63 - NONTALKABLE LANDTILE ; COLL_64 - NONTALKABLE LANDTILE ; COLL_65 - NONTALKABLE LANDTILE ; 66 - NONTALKABLE LANDTILE ; 67 - NONTALKABLE LANDTILE ; COLL_PIT_68 - NONTALKABLE LANDTILE ; 69 - NONTALKABLE WALLTILE ; 6a - NONTALKABLE LANDTILE ; 6b - NONTALKABLE LANDTILE ; 6c - NONTALKABLE LANDTILE ; 6d - NONTALKABLE LANDTILE ; 6e - NONTALKABLE LANDTILE ; 6f - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_DOWN - NONTALKABLE LANDTILE ; COLL_DOOR - NONTALKABLE LANDTILE ; COLL_LADDER - NONTALKABLE LANDTILE ; COLL_STAIRCASE_73 - NONTALKABLE LANDTILE ; COLL_CAVE_74 - NONTALKABLE LANDTILE ; COLL_DOOR_75 - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_LEFT - NONTALKABLE LANDTILE ; COLL_WARP_77 - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_UP - NONTALKABLE LANDTILE ; COLL_DOOR_79 - NONTALKABLE LANDTILE ; COLL_STAIRCASE - NONTALKABLE LANDTILE ; COLL_CAVE - NONTALKABLE LANDTILE ; COLL_WARP_PANEL - NONTALKABLE LANDTILE ; COLL_DOOR_7D - NONTALKABLE LANDTILE ; COLL_WARP_CARPET_RIGHT - NONTALKABLE LANDTILE ; COLL_WARP_7F - NONTALKABLE WALLTILE ; 80 - NONTALKABLE WALLTILE ; 81 - NONTALKABLE WALLTILE ; 82 - NONTALKABLE WALLTILE ; 83 - NONTALKABLE WALLTILE ; 84 - NONTALKABLE LANDTILE ; 85 - NONTALKABLE LANDTILE ; 86 - NONTALKABLE LANDTILE ; 87 - NONTALKABLE WALLTILE ; 88 - NONTALKABLE WALLTILE ; 89 - NONTALKABLE WALLTILE ; 8a - NONTALKABLE WALLTILE ; 8b - NONTALKABLE WALLTILE ; 8c - NONTALKABLE LANDTILE ; 8d - NONTALKABLE LANDTILE ; 8e - NONTALKABLE LANDTILE ; 8f - NONTALKABLE WALLTILE ; COLL_COUNTER - NONTALKABLE WALLTILE ; COLL_BOOKSHELF - NONTALKABLE WALLTILE ; 92 - NONTALKABLE WALLTILE ; COLL_PC - NONTALKABLE WALLTILE ; COLL_RADIO - NONTALKABLE WALLTILE ; COLL_TOWN_MAP - NONTALKABLE WALLTILE ; COLL_MART_SHELF - NONTALKABLE WALLTILE ; COLL_TV - NONTALKABLE WALLTILE ; COLL_COUNTER_98 - NONTALKABLE WALLTILE ; 99 - NONTALKABLE WALLTILE ; 9a - NONTALKABLE WALLTILE ; 9b - NONTALKABLE WALLTILE ; COLL_9C - NONTALKABLE WALLTILE ; COLL_WINDOW - NONTALKABLE WALLTILE ; 9e - NONTALKABLE WALLTILE ; COLL_INCENSE_BURNER - NONTALKABLE LANDTILE ; COLL_HOP_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_LEFT - NONTALKABLE LANDTILE ; COLL_HOP_UP - NONTALKABLE LANDTILE ; COLL_HOP_DOWN - NONTALKABLE LANDTILE ; COLL_HOP_DOWN_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_DOWN_LEFT - NONTALKABLE LANDTILE ; COLL_HOP_UP_RIGHT - NONTALKABLE LANDTILE ; COLL_HOP_UP_LEFT - NONTALKABLE LANDTILE ; a8 - NONTALKABLE LANDTILE ; a9 - NONTALKABLE LANDTILE ; aa - NONTALKABLE LANDTILE ; ab - NONTALKABLE LANDTILE ; ac - NONTALKABLE LANDTILE ; ad - NONTALKABLE LANDTILE ; ae - NONTALKABLE LANDTILE ; af - NONTALKABLE LANDTILE ; COLL_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_LEFT_WALL - NONTALKABLE LANDTILE ; COLL_UP_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_DOWN_LEFT_WALL - NONTALKABLE LANDTILE ; COLL_UP_RIGHT_WALL - NONTALKABLE LANDTILE ; COLL_UP_LEFT_WALL - NONTALKABLE LANDTILE ; b8 - NONTALKABLE LANDTILE ; b9 - NONTALKABLE LANDTILE ; ba - NONTALKABLE LANDTILE ; bb - NONTALKABLE LANDTILE ; bc - NONTALKABLE LANDTILE ; bd - NONTALKABLE LANDTILE ; be - NONTALKABLE LANDTILE ; bf + NONTALKABLE LAND_TILE ; COLL_BRAKE + NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT + NONTALKABLE LAND_TILE ; COLL_WALK_LEFT + NONTALKABLE LAND_TILE ; COLL_WALK_UP + NONTALKABLE LAND_TILE ; COLL_WALK_DOWN + NONTALKABLE LAND_TILE ; COLL_BRAKE_45 + NONTALKABLE LAND_TILE ; COLL_BRAKE_46 + NONTALKABLE LAND_TILE ; COLL_BRAKE_47 + NONTALKABLE LAND_TILE ; COLL_GRASS_48 + NONTALKABLE LAND_TILE ; COLL_GRASS_49 + NONTALKABLE LAND_TILE ; COLL_GRASS_4A + NONTALKABLE LAND_TILE ; COLL_GRASS_4B + NONTALKABLE LAND_TILE ; COLL_GRASS_4C + NONTALKABLE LAND_TILE ; 4d + NONTALKABLE LAND_TILE ; 4e + NONTALKABLE LAND_TILE ; 4f + NONTALKABLE LAND_TILE ; COLL_WALK_RIGHT_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_LEFT_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_UP_ALT + NONTALKABLE LAND_TILE ; COLL_WALK_DOWN_ALT + NONTALKABLE LAND_TILE ; COLL_BRAKE_ALT + NONTALKABLE LAND_TILE ; COLL_BRAKE_55 + NONTALKABLE LAND_TILE ; COLL_BRAKE_56 + NONTALKABLE LAND_TILE ; COLL_BRAKE_57 + NONTALKABLE LAND_TILE ; 58 + NONTALKABLE LAND_TILE ; 59 + NONTALKABLE LAND_TILE ; 5a + NONTALKABLE LAND_TILE ; COLL_5B + NONTALKABLE LAND_TILE ; 5c + NONTALKABLE LAND_TILE ; 5d + NONTALKABLE LAND_TILE ; 5e + NONTALKABLE LAND_TILE ; 5f + NONTALKABLE LAND_TILE ; COLL_PIT + NONTALKABLE LAND_TILE ; COLL_VIRTUAL_BOY + NONTALKABLE WALL_TILE ; 62 + NONTALKABLE LAND_TILE ; 63 + NONTALKABLE LAND_TILE ; COLL_64 + NONTALKABLE LAND_TILE ; COLL_65 + NONTALKABLE LAND_TILE ; 66 + NONTALKABLE LAND_TILE ; 67 + NONTALKABLE LAND_TILE ; COLL_PIT_68 + NONTALKABLE LAND_TILE ; 69 + NONTALKABLE WALL_TILE ; 6a + NONTALKABLE LAND_TILE ; 6b + NONTALKABLE LAND_TILE ; 6c + NONTALKABLE LAND_TILE ; 6d + NONTALKABLE LAND_TILE ; 6e + NONTALKABLE LAND_TILE ; 6f + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_DOWN + NONTALKABLE LAND_TILE ; COLL_DOOR + NONTALKABLE LAND_TILE ; COLL_LADDER + NONTALKABLE LAND_TILE ; COLL_STAIRCASE_73 + NONTALKABLE LAND_TILE ; COLL_CAVE_74 + NONTALKABLE LAND_TILE ; COLL_DOOR_75 + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_LEFT + NONTALKABLE LAND_TILE ; COLL_WARP_77 + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_UP + NONTALKABLE LAND_TILE ; COLL_DOOR_79 + NONTALKABLE LAND_TILE ; COLL_STAIRCASE + NONTALKABLE LAND_TILE ; COLL_CAVE + NONTALKABLE LAND_TILE ; COLL_WARP_PANEL + NONTALKABLE LAND_TILE ; COLL_DOOR_7D + NONTALKABLE LAND_TILE ; COLL_WARP_CARPET_RIGHT + NONTALKABLE LAND_TILE ; COLL_WARP_7F + NONTALKABLE WALL_TILE ; 80 + NONTALKABLE WALL_TILE ; 81 + NONTALKABLE WALL_TILE ; 82 + NONTALKABLE WALL_TILE ; 83 + NONTALKABLE WALL_TILE ; 84 + NONTALKABLE LAND_TILE ; 85 + NONTALKABLE LAND_TILE ; 86 + NONTALKABLE LAND_TILE ; 87 + NONTALKABLE WALL_TILE ; 88 + NONTALKABLE WALL_TILE ; 89 + NONTALKABLE WALL_TILE ; 8a + NONTALKABLE WALL_TILE ; 8b + NONTALKABLE WALL_TILE ; 8c + NONTALKABLE LAND_TILE ; 8d + NONTALKABLE LAND_TILE ; 8e + NONTALKABLE LAND_TILE ; 8f + NONTALKABLE WALL_TILE ; COLL_COUNTER + NONTALKABLE WALL_TILE ; COLL_BOOKSHELF + NONTALKABLE WALL_TILE ; 92 + NONTALKABLE WALL_TILE ; COLL_PC + NONTALKABLE WALL_TILE ; COLL_RADIO + NONTALKABLE WALL_TILE ; COLL_TOWN_MAP + NONTALKABLE WALL_TILE ; COLL_MART_SHELF + NONTALKABLE WALL_TILE ; COLL_TV + NONTALKABLE WALL_TILE ; COLL_COUNTER_98 + NONTALKABLE WALL_TILE ; 99 + NONTALKABLE WALL_TILE ; 9a + NONTALKABLE WALL_TILE ; 9b + NONTALKABLE WALL_TILE ; COLL_9C + NONTALKABLE WALL_TILE ; COLL_WINDOW + NONTALKABLE WALL_TILE ; 9e + NONTALKABLE WALL_TILE ; COLL_INCENSE_BURNER + NONTALKABLE LAND_TILE ; COLL_HOP_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_LEFT + NONTALKABLE LAND_TILE ; COLL_HOP_UP + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_DOWN_LEFT + NONTALKABLE LAND_TILE ; COLL_HOP_UP_RIGHT + NONTALKABLE LAND_TILE ; COLL_HOP_UP_LEFT + NONTALKABLE LAND_TILE ; a8 + NONTALKABLE LAND_TILE ; a9 + NONTALKABLE LAND_TILE ; aa + NONTALKABLE LAND_TILE ; ab + NONTALKABLE LAND_TILE ; ac + NONTALKABLE LAND_TILE ; ad + NONTALKABLE LAND_TILE ; ae + NONTALKABLE LAND_TILE ; af + NONTALKABLE LAND_TILE ; COLL_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_LEFT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_DOWN_LEFT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_RIGHT_WALL + NONTALKABLE LAND_TILE ; COLL_UP_LEFT_WALL + NONTALKABLE LAND_TILE ; b8 + NONTALKABLE LAND_TILE ; b9 + NONTALKABLE LAND_TILE ; ba + NONTALKABLE LAND_TILE ; bb + NONTALKABLE LAND_TILE ; bc + NONTALKABLE LAND_TILE ; bd + NONTALKABLE LAND_TILE ; be + NONTALKABLE LAND_TILE ; bf NONTALKABLE WATERTILE ; COLL_RIGHT_BUOY NONTALKABLE WATERTILE ; COLL_LEFT_BUOY NONTALKABLE WATERTILE ; COLL_UP_BUOY @@ -211,51 +211,51 @@ TileCollisionTable:: NONTALKABLE WATERTILE ; cd NONTALKABLE WATERTILE ; ce NONTALKABLE WATERTILE ; cf - NONTALKABLE LANDTILE ; d0 - NONTALKABLE LANDTILE ; d1 - NONTALKABLE LANDTILE ; d2 - NONTALKABLE LANDTILE ; d3 - NONTALKABLE LANDTILE ; d4 - NONTALKABLE LANDTILE ; d5 - NONTALKABLE LANDTILE ; d6 - NONTALKABLE LANDTILE ; d7 - NONTALKABLE LANDTILE ; d8 - NONTALKABLE LANDTILE ; d9 - NONTALKABLE LANDTILE ; da - NONTALKABLE LANDTILE ; db - NONTALKABLE LANDTILE ; dc - NONTALKABLE LANDTILE ; dd - NONTALKABLE LANDTILE ; de - NONTALKABLE LANDTILE ; df - NONTALKABLE LANDTILE ; e0 - NONTALKABLE LANDTILE ; e1 - NONTALKABLE LANDTILE ; e2 - NONTALKABLE LANDTILE ; e3 - NONTALKABLE LANDTILE ; e4 - NONTALKABLE LANDTILE ; e5 - NONTALKABLE LANDTILE ; e6 - NONTALKABLE LANDTILE ; e7 - NONTALKABLE LANDTILE ; e8 - NONTALKABLE LANDTILE ; e9 - NONTALKABLE LANDTILE ; ea - NONTALKABLE LANDTILE ; eb - NONTALKABLE LANDTILE ; ec - NONTALKABLE LANDTILE ; ed - NONTALKABLE LANDTILE ; ee - NONTALKABLE LANDTILE ; ef - NONTALKABLE LANDTILE ; f0 - NONTALKABLE LANDTILE ; f1 - NONTALKABLE LANDTILE ; f2 - NONTALKABLE LANDTILE ; f3 - NONTALKABLE LANDTILE ; f4 - NONTALKABLE LANDTILE ; f5 - NONTALKABLE LANDTILE ; f6 - NONTALKABLE LANDTILE ; f7 - NONTALKABLE LANDTILE ; f8 - NONTALKABLE LANDTILE ; f9 - NONTALKABLE LANDTILE ; fa - NONTALKABLE LANDTILE ; fb - NONTALKABLE LANDTILE ; fc - NONTALKABLE LANDTILE ; fd - NONTALKABLE LANDTILE ; fe - NONTALKABLE WALLTILE ; COLL_FF + NONTALKABLE LAND_TILE ; d0 + NONTALKABLE LAND_TILE ; d1 + NONTALKABLE LAND_TILE ; d2 + NONTALKABLE LAND_TILE ; d3 + NONTALKABLE LAND_TILE ; d4 + NONTALKABLE LAND_TILE ; d5 + NONTALKABLE LAND_TILE ; d6 + NONTALKABLE LAND_TILE ; d7 + NONTALKABLE LAND_TILE ; d8 + NONTALKABLE LAND_TILE ; d9 + NONTALKABLE LAND_TILE ; da + NONTALKABLE LAND_TILE ; db + NONTALKABLE LAND_TILE ; dc + NONTALKABLE LAND_TILE ; dd + NONTALKABLE LAND_TILE ; de + NONTALKABLE LAND_TILE ; df + NONTALKABLE LAND_TILE ; e0 + NONTALKABLE LAND_TILE ; e1 + NONTALKABLE LAND_TILE ; e2 + NONTALKABLE LAND_TILE ; e3 + NONTALKABLE LAND_TILE ; e4 + NONTALKABLE LAND_TILE ; e5 + NONTALKABLE LAND_TILE ; e6 + NONTALKABLE LAND_TILE ; e7 + NONTALKABLE LAND_TILE ; e8 + NONTALKABLE LAND_TILE ; e9 + NONTALKABLE LAND_TILE ; ea + NONTALKABLE LAND_TILE ; eb + NONTALKABLE LAND_TILE ; ec + NONTALKABLE LAND_TILE ; ed + NONTALKABLE LAND_TILE ; ee + NONTALKABLE LAND_TILE ; ef + NONTALKABLE LAND_TILE ; f0 + NONTALKABLE LAND_TILE ; f1 + NONTALKABLE LAND_TILE ; f2 + NONTALKABLE LAND_TILE ; f3 + NONTALKABLE LAND_TILE ; f4 + NONTALKABLE LAND_TILE ; f5 + NONTALKABLE LAND_TILE ; f6 + NONTALKABLE LAND_TILE ; f7 + NONTALKABLE LAND_TILE ; f8 + NONTALKABLE LAND_TILE ; f9 + NONTALKABLE LAND_TILE ; fa + NONTALKABLE LAND_TILE ; fb + NONTALKABLE LAND_TILE ; fc + NONTALKABLE LAND_TILE ; fd + NONTALKABLE LAND_TILE ; fe + NONTALKABLE WALL_TILE ; COLL_FF diff --git a/data/events/happiness_probabilities.asm b/data/events/happiness_probabilities.asm index 7a80f989..f67db07f 100644 --- a/data/events/happiness_probabilities.asm +++ b/data/events/happiness_probabilities.asm @@ -1,12 +1,12 @@ HappinessData_OlderHaircutBrother: - db $4c, 2, HAPPINESS_OLDERCUT1 ; 30% chance - db $80, 3, HAPPINESS_OLDERCUT2 ; 20% chance - db $ff, 4, HAPPINESS_OLDERCUT3 ; 50% chance + db 30 percent, 2, HAPPINESS_OLDERCUT1 ; 30% chance + db 50 percent + 1, 3, HAPPINESS_OLDERCUT2 ; 50% chance + db 100 percent, 4, HAPPINESS_OLDERCUT3 ; 20% chance HappinessData_YoungerHaircutBrother: - db $9a, 2, HAPPINESS_YOUNGCUT1 ; 60% chance - db $4c, 3, HAPPINESS_YOUNGCUT2 ; 10% chance - db $ff, 4, HAPPINESS_YOUNGCUT3 ; 30% chance + db 60 percent + 1, 2, HAPPINESS_YOUNGCUT1 ; 60% chance + db 30 percent, 3, HAPPINESS_YOUNGCUT2 ; 30% chance + db 100 percent, 4, HAPPINESS_YOUNGCUT3 ; 10% chance HappinessData_DaisysGrooming: - db $ff, 2, HAPPINESS_GROOMING ; 99.6% chance + db 100 percent, 2, HAPPINESS_GROOMING ; 99.6% chance diff --git a/data/items/attributes.asm b/data/items/attributes.asm index d8977b47..1ed369f0 100644 --- a/data/items/attributes.asm +++ b/data/items/attributes.asm @@ -6,774 +6,516 @@ item_attribute: MACRO ENDM ItemAttributes: -Item1Attributes: - -; MASTER BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -Item2Attributes: - -; ULTRA BALL - item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - +; entries correspond to item ids +; MASTER_BALL + item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ULTRA_BALL + item_attribute 1200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE ; BRIGHTPOWDER - item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; GREAT BALL - item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; # BALL - item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GREAT_BALL + item_attribute 600, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; POKE_BALL + item_attribute 200, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; TOWN_MAP + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; BICYCLE - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; MOON STONE - item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MOON_STONE + item_attribute 0, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; ANTIDOTE - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; BURN HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; ICE HEAL - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURN_HEAL + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE_HEAL + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; AWAKENING - item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; PARLYZ HEAL - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; FULL RESTORE - item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; MAX POTION - item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; HYPER POTION - item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; SUPER POTION - item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 250, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; PARLYZ_HEAL + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FULL_RESTORE + item_attribute 3000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_POTION + item_attribute 2500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HYPER_POTION + item_attribute 1200, HELD_NONE, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SUPER_POTION + item_attribute 700, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; POTION - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; ESCAPE ROPE - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - + item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ESCAPE_ROPE + item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE ; REPEL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - -; MAX ELIXER - item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; FIRE STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX_ELIXER + item_attribute 4500, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; FIRE_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; THUNDERSTONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; WATER STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; HP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; WATER_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_19 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; HP_UP + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; PROTEIN - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; IRON - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; CARBOS - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; LUCKY PUNCH - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; LUCKY_PUNCH + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; CALCIUM - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; RARE CANDY - item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; X ACCURACY - item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; LEAF STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; METAL POWDER - item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; RARE_CANDY + item_attribute 4800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; X_ACCURACY + item_attribute 950, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LEAF_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; METAL_POWDER + item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; NUGGET - item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; # DOLL - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; FULL HEAL - item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 10000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; POKE_DOLL + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FULL_HEAL + item_attribute 600, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; REVIVE - item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; MAX REVIVE - item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; GUARD SPEC. - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; SUPER REPEL - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - -; MAX REPEL - item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - -; DIRE HIT - item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; FRESH WATER - item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; SODA POP - item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 1500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_REVIVE + item_attribute 4000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GUARD_SPEC + item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; SUPER_REPEL + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; MAX_REPEL + item_attribute 700, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; DIRE_HIT + item_attribute 650, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_2D + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRESH_WATER + item_attribute 200, HELD_NONE, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SODA_POP + item_attribute 300, HELD_NONE, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; LEMONADE - item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; X ATTACK - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; X DEFEND - item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; X SPEED - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; X SPECIAL - item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; COIN CASE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - + item_attribute 350, HELD_NONE, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; X_ATTACK + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_32 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; X_DEFEND + item_attribute 550, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X_SPEED + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; X_SPECIAL + item_attribute 350, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; COIN_CASE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE ; ITEMFINDER - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; EXP.SHARE - item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; OLD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; GOOD ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; SILVER LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SUPER ROD - item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; PP UP - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; POKE_FLUTE + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EXP_SHARE + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; OLD_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; GOOD_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; SILVER_LEAF + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SUPER_ROD + item_attribute 0, HELD_NONE, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; PP_UP + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; ETHER - item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; MAX ETHER - item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 1200, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; MAX_ETHER + item_attribute 2000, HELD_NONE, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; ELIXER - item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; RED SCALE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED_SCALE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; SECRETPOTION - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; S.S.TICKET - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MYSTERY EGG - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SILVER WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MOOMOO MILK - item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; QUICK CLAW - item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; S_S_TICKET + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTERY_EGG + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_46 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SILVER_WING + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MOOMOO_MILK + item_attribute 500, HELD_NONE, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; QUICK_CLAW + item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; PSNCUREBERRY - item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; GOLD LEAF - item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SOFT SAND - item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SHARP BEAK - item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD_LEAF + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SOFT_SAND + item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SHARP_BEAK + item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; PRZCUREBERRY - item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; BURNT BERRY - item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; ICE BERRY - item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; POISON BARB - item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; KING'S ROCK - item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BITTER BERRY - item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY - -; MINT BERRY - item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; RED APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; BURNT_BERRY + item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ICE_BERRY + item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; POISON_BARB + item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; KINGS_ROCK + item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BITTER_BERRY + item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY +; MINT_BERRY + item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; RED_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; TINYMUSHROOM - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BIG MUSHROOM - item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG_MUSHROOM + item_attribute 5000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; SILVERPOWDER - item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BLU APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; AMULET COIN - item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; YLW APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; GRN APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; CLEANSE TAG - item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MYSTIC WATER - item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLU_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_5A + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; AMULET_COIN + item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; YLW_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; GRN_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CLEANSE_TAG + item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MYSTIC_WATER + item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; TWISTEDSPOON - item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; WHT APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; WHT_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; BLACKBELT_I - item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BLK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; PNK APRICORN - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLK_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_64 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PNK_APRICORN + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; BLACKGLASSES - item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; SLOWPOKETAIL - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; PINK BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PINK_BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; STICK - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SMOKE BALL - item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SMOKE_BALL + item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; NEVERMELTICE - item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; MAGNET - item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; MIRACLEBERRY - item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; PEARL - item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BIG PEARL - item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 1400, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BIG_PEARL + item_attribute 7500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; EVERSTONE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SPELL TAG - item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SPELL_TAG + item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; RAGECANDYBAR - item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MIRACLE SEED - item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; THICK CLUB - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; FOCUS BAND - item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 300, HELD_NONE, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ITEM_73 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_74 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRACLE_SEED + item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; THICK_CLUB + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FOCUS_BAND + item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_78 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; ENERGYPOWDER - item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; ENERGY ROOT - item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; HEAL POWDER - item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; REVIVAL HERB - item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; HARD STONE - item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; LUCKY EGG - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; CARD KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; MACHINE PART - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; LOST ITEM - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 500, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; ENERGY_ROOT + item_attribute 800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HEAL_POWDER + item_attribute 450, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; REVIVAL_HERB + item_attribute 2800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; HARD_STONE + item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LUCKY_EGG + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; CARD_KEY + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; MACHINE_PART + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_81 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOST_ITEM + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; STARDUST - item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; STAR PIECE - item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BASEMENT KEY - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; STAR_PIECE + item_attribute 9800, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BASEMENT_KEY + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE ; PASS - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_87 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_88 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_89 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; CHARCOAL - item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BERRY JUICE - item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; SCOPE LENS - item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; METAL COAT - item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; DRAGON FANG - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERRY_JUICE + item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; SCOPE_LENS + item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_8D + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_8E + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; METAL_COAT + item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; DRAGON_FANG + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_91 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; LEFTOVERS - item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_93 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_94 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_95 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; MYSTERYBERRY - item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; DRAGON SCALE - item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BERSERK GENE - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SACRED ASH - item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; HEAVY BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; FLOWER MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; LEVEL BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; LURE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; FAST BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; LIGHT BALL - item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; FRIEND BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; MOON BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; LOVE BALL - item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; NORMAL BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - -; GORGEOUS BOX - item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE - -; SUN STONE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; POLKADOT BOW - item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; UP-GRADE - item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; DRAGON_SCALE + item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BERSERK_GENE + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_99 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_9A + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_9B + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SACRED_ASH + item_attribute 200, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; HEAVY_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FLOWER_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LEVEL_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LURE_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; FAST_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; ITEM_A2 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LIGHT_BALL + item_attribute 100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; FRIEND_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; MOON_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; LOVE_BALL + item_attribute 150, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; NORMAL_BOX + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; GORGEOUS_BOX + item_attribute 10, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE +; SUN_STONE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; POLKADOT_BOW + item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_AB + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; UP_GRADE + item_attribute 2100, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; BERRY - item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - -; GOLD BERRY - item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY - + item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY +; GOLD_BERRY + item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY ; SQUIRTBOTTLE - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; PARK BALL - item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE - -; RAINBOW WING - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BRICK PIECE - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; SURF MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE +; ITEM_B0 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; PARK_BALL + item_attribute 0, HELD_NONE, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE +; RAINBOW_WING + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_B3 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BRICK_PIECE + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; SURF_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; LITEBLUEMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; PORTRAITMAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; LOVELY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; EON MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MORPH MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; BLUESKY MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MUSIC MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; MIRAGE MAIL - item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; LOVELY_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; EON_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MORPH_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; BLUESKY_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MUSIC_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; MIRAGE_MAIL + item_attribute 50, HELD_NONE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; ITEM_BE + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; TM01 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM02 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM03 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM04 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_C3 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; TM05 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM06 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM07 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM08 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM09 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM10 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM11 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM12 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM13 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM14 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM15 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM16 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM17 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM18 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM19 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM20 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM21 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM22 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM23 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM24 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM25 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM26 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM27 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM28 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_DC + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE ; TM29 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM30 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM31 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM32 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM33 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM34 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM35 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM36 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM37 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM38 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM39 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM40 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM41 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM42 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM43 - item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 1000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM44 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM45 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM46 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM47 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM48 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM49 - item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 3000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM50 - item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 2000, HELD_NONE, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM01 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM02 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM03 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM04 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM05 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM06 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; HM07 - item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; TERU-SAMA - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE - -; ? - item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE + item_attribute 0, HELD_NONE, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE +; ITEM_FA + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fb + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fc + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fd + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $fe + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $ff + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE +; $00 + item_attribute $9999, HELD_NONE, 0, NO_LIMITS, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE diff --git a/data/moves/magnitude_power.asm b/data/moves/magnitude_power.asm index 7359bdb1..632a0c03 100644 --- a/data/moves/magnitude_power.asm +++ b/data/moves/magnitude_power.asm @@ -1,9 +1,9 @@ MagnitudePower: ; chance, power, magnitude # - db 13, 10, 4 - db 38, 30, 5 - db 89, 50, 6 - db 166, 70, 7 - db 217, 90, 8 - db 242, 110, 9 - db 255, 150, 10 + db 5 percent + 1, 10, 4 ; 5% + db 15 percent, 30, 5 ; 10% + db 35 percent, 50, 6 ; 20% + db 65 percent + 1, 70, 7 ; 30% + db 85 percent + 1, 90, 8 ; 20% + db 95 percent, 110, 9 ; 10% + db 100 percent, 150, 10 ; 5% diff --git a/data/moves/present_power.asm b/data/moves/present_power.asm index 885e9c69..9f85b8a6 100644 --- a/data/moves/present_power.asm +++ b/data/moves/present_power.asm @@ -1,6 +1,6 @@ PresentPower: ; chance, power - db 40 percent, 40 ; 40% - db 70 percent + 1, 80 ; 30% - db 80 percent, 120 ; 10% + db 40 percent, 40 ; 40% chance + db 70 percent + 1, 80 ; 30% chance + db 80 percent, 120 ; 10% chance db -1 ; 20% chance to heal instead diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm new file mode 100644 index 00000000..81c7d0ba --- /dev/null +++ b/data/moves/tmhm_moves.asm @@ -0,0 +1,66 @@ +TMHMMoves: +; entries correspond to *_TMNUM enums (see constants/item_constants.asm) +; TMs + db DYNAMICPUNCH + db HEADBUTT + db CURSE + db ROLLOUT + db ROAR + db TOXIC + db ZAP_CANNON + db ROCK_SMASH + db PSYCH_UP + db HIDDEN_POWER + db SUNNY_DAY + db SWEET_SCENT + db SNORE + db BLIZZARD + db HYPER_BEAM + db ICY_WIND + db PROTECT + db RAIN_DANCE + db GIGA_DRAIN + db ENDURE + db FRUSTRATION + db SOLARBEAM + db IRON_TAIL + db DRAGONBREATH + db THUNDER + db EARTHQUAKE + db RETURN + db DIG + db PSYCHIC_M + db SHADOW_BALL + db MUD_SLAP + db DOUBLE_TEAM + db ICE_PUNCH + db SWAGGER + db SLEEP_TALK + db SLUDGE_BOMB + db SANDSTORM + db FIRE_BLAST + db SWIFT + db DEFENSE_CURL + db THUNDERPUNCH + db DREAM_EATER + db DETECT + db REST + db ATTRACT + db THIEF + db STEEL_WING + db FIRE_PUNCH + db FURY_CUTTER + db NIGHTMARE +; HMs + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db WHIRLPOOL + db WATERFALL +; Move tutor (Crystal-only) + db 0 + db 0 + db 0 + db 0 ; end diff --git a/data/player_names.asm b/data/player_names.asm index 69108f0c..0155dac4 100644 --- a/data/player_names.asm +++ b/data/player_names.asm @@ -8,6 +8,7 @@ NameMenuHeader: db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags db 5 ; items db "NEW NAME@" + PlayerNameArray: IF DEF(_GOLD) db "GOLD@" diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm index 8b968b2b..6576a8df 100644 --- a/data/pokemon/egg_moves.asm +++ b/data/pokemon/egg_moves.asm @@ -1,19 +1,18 @@ INCLUDE "constants.asm" + SECTION "Egg Moves", ROMX ; All instances of Charm, Steel Wing, Sweet Scent, and Lovely Kiss were -; removed from egg move lists in Crystal, because they are also TMs. +; removed from egg move lists in Crystal. +; Sweet Scent and Steel Wing were redundant since they're TMs, and +; Charm and Lovely Kiss were unobtainable. ; Staryu's egg moves were removed in Crystal, because Staryu is genderless ; and can only breed with Ditto. - INCLUDE "data/pokemon/egg_move_pointers.asm" - -EggMoves:: - BulbasaurEggMoves: db LIGHT_SCREEN db SKULL_BASH @@ -21,7 +20,7 @@ BulbasaurEggMoves: db CHARM db RAZOR_WIND db PETAL_DANCE - db -1 + db -1 ; end CharmanderEggMoves: db BELLY_DRUM @@ -30,7 +29,7 @@ CharmanderEggMoves: db BITE db OUTRAGE db BEAT_UP - db -1 + db -1 ; end SquirtleEggMoves: db MIRROR_COAT @@ -39,14 +38,14 @@ SquirtleEggMoves: db CONFUSION db FORESIGHT db FLAIL - db -1 + db -1 ; end PidgeyEggMoves: db PURSUIT db FAINT_ATTACK db FORESIGHT db STEEL_WING - db -1 + db -1 ; end RattataEggMoves: db SCREECH @@ -55,7 +54,7 @@ RattataEggMoves: db BITE db COUNTER db REVERSAL - db -1 + db -1 ; end SpearowEggMoves: db FAINT_ATTACK @@ -63,21 +62,21 @@ SpearowEggMoves: db SCARY_FACE db QUICK_ATTACK db TRI_ATTACK - db -1 + db -1 ; end EkansEggMoves: db PURSUIT db SLAM db SPITE db BEAT_UP - db -1 + db -1 ; end SandshrewEggMoves: db FLAIL db SAFEGUARD db COUNTER db RAPID_SPIN - db -1 + db -1 ; end NidoranFEggMoves: db SUPERSONIC @@ -87,7 +86,7 @@ NidoranFEggMoves: db CHARM db COUNTER db BEAT_UP - db -1 + db -1 ; end NidoranMEggMoves: db SUPERSONIC @@ -97,7 +96,7 @@ NidoranMEggMoves: db AMNESIA db COUNTER db BEAT_UP - db -1 + db -1 ; end VulpixEggMoves: db FAINT_ATTACK @@ -105,7 +104,7 @@ VulpixEggMoves: db FLAIL db SPITE db DISABLE - db -1 + db -1 ; end ZubatEggMoves: db QUICK_ATTACK @@ -113,7 +112,7 @@ ZubatEggMoves: db FAINT_ATTACK db GUST db WHIRLWIND - db -1 + db -1 ; end OddishEggMoves: db SWORDS_DANCE @@ -121,7 +120,7 @@ OddishEggMoves: db FLAIL db SYNTHESIS db CHARM - db -1 + db -1 ; end ParasEggMoves: db FALSE_SWIPE @@ -132,13 +131,13 @@ ParasEggMoves: db SWEET_SCENT db LIGHT_SCREEN db PURSUIT - db -1 + db -1 ; end VenonatEggMoves: db BATON_PASS db SCREECH db GIGA_DRAIN - db -1 + db -1 ; end DiglettEggMoves: db FAINT_ATTACK @@ -146,14 +145,14 @@ DiglettEggMoves: db ANCIENTPOWER db PURSUIT db BEAT_UP - db -1 + db -1 ; end MeowthEggMoves: db SPITE db CHARM db HYPNOSIS db AMNESIA - db -1 + db -1 ; end PsyduckEggMoves: db ICE_BEAM @@ -163,7 +162,7 @@ PsyduckEggMoves: db LIGHT_SCREEN db FUTURE_SIGHT db PSYCHIC_M - db -1 + db -1 ; end MankeyEggMoves: db ROCK_SLIDE @@ -172,7 +171,7 @@ MankeyEggMoves: db COUNTER db REVERSAL db BEAT_UP - db -1 + db -1 ; end GrowlitheEggMoves: db BODY_SLAM @@ -180,7 +179,7 @@ GrowlitheEggMoves: db CRUNCH db THRASH db FIRE_SPIN - db -1 + db -1 ; end PoliwagEggMoves: db MIST @@ -188,20 +187,20 @@ PoliwagEggMoves: db BUBBLEBEAM db HAZE db MIND_READER - db -1 + db -1 ; end AbraEggMoves: db LIGHT_SCREEN db ENCORE db BARRIER - db -1 + db -1 ; end MachopEggMoves: db LIGHT_SCREEN db MEDITATE db ROLLING_KICK db ENCORE - db -1 + db -1 ; end BellsproutEggMoves: db SWORDS_DANCE @@ -209,7 +208,7 @@ BellsproutEggMoves: db REFLECT db SYNTHESIS db LEECH_LIFE - db -1 + db -1 ; end TentacoolEggMoves: db AURORA_BEAM @@ -217,12 +216,12 @@ TentacoolEggMoves: db RAPID_SPIN db HAZE db SAFEGUARD - db -1 + db -1 ; end GeodudeEggMoves: db MEGA_PUNCH db ROCK_SLIDE - db -1 + db -1 ; end PonytaEggMoves: db FLAME_WHEEL @@ -231,14 +230,14 @@ PonytaEggMoves: db HYPNOSIS db CHARM db QUICK_ATTACK - db -1 + db -1 ; end SlowpokeEggMoves: db SAFEGUARD db BELLY_DRUM db FUTURE_SIGHT db STOMP - db -1 + db -1 ; end FarfetchDEggMoves: db STEEL_WING @@ -247,7 +246,7 @@ FarfetchDEggMoves: db GUST db QUICK_ATTACK db FLAIL - db -1 + db -1 ; end DoduoEggMoves: db QUICK_ATTACK @@ -255,7 +254,7 @@ DoduoEggMoves: db HAZE db FAINT_ATTACK db FLAIL - db -1 + db -1 ; end SeelEggMoves: db LICK @@ -264,13 +263,13 @@ SeelEggMoves: db PECK db SLAM db ENCORE - db -1 + db -1 ; end GrimerEggMoves: db HAZE db MEAN_LOOK db LICK - db -1 + db -1 ; end ShellderEggMoves: db BUBBLEBEAM @@ -278,23 +277,23 @@ ShellderEggMoves: db BARRIER db RAPID_SPIN db SCREECH - db -1 + db -1 ; end GastlyEggMoves: db PSYWAVE db PERISH_SONG db HAZE - db -1 + db -1 ; end OnixEggMoves: db ROCK_SLIDE db FLAIL - db -1 + db -1 ; end DrowzeeEggMoves: db LIGHT_SCREEN db BARRIER - db -1 + db -1 ; end KrabbyEggMoves: db DIG @@ -302,7 +301,7 @@ KrabbyEggMoves: db AMNESIA db FLAIL db SLAM - db -1 + db -1 ; end ExeggcuteEggMoves: db SYNTHESIS @@ -310,7 +309,7 @@ ExeggcuteEggMoves: db REFLECT db MEGA_DRAIN db ANCIENTPOWER - db -1 + db -1 ; end CuboneEggMoves: db ROCK_SLIDE @@ -319,13 +318,13 @@ CuboneEggMoves: db SCREECH db SKULL_BASH db PERISH_SONG - db -1 + db -1 ; end LickitungEggMoves: db BELLY_DRUM db MAGNITUDE db BODY_SLAM - db -1 + db -1 ; end KoffingEggMoves: db SCREECH @@ -333,7 +332,7 @@ KoffingEggMoves: db PSYBEAM db DESTINY_BOND db PAIN_SPLIT - db -1 + db -1 ; end RhyhornEggMoves: db CRUNCH @@ -343,13 +342,13 @@ RhyhornEggMoves: db PURSUIT db COUNTER db MAGNITUDE - db -1 + db -1 ; end ChanseyEggMoves: db PRESENT db METRONOME db HEAL_BELL - db -1 + db -1 ; end TangelaEggMoves: db FLAIL @@ -357,7 +356,7 @@ TangelaEggMoves: db MEGA_DRAIN db REFLECT db AMNESIA - db -1 + db -1 ; end KangaskhanEggMoves: db STOMP @@ -365,7 +364,7 @@ KangaskhanEggMoves: db FOCUS_ENERGY db SAFEGUARD db DISABLE - db -1 + db -1 ; end HorseaEggMoves: db FLAIL @@ -374,13 +373,13 @@ HorseaEggMoves: db DISABLE db SPLASH db DRAGON_RAGE - db -1 + db -1 ; end GoldeenEggMoves: db PSYBEAM db HAZE db HYDRO_PUMP - db -1 + db -1 ; end StaryuEggMoves: db AURORA_BEAM @@ -392,7 +391,7 @@ MrMimeEggMoves: db FUTURE_SIGHT db HYPNOSIS db MIMIC - db -1 + db -1 ; end ScytherEggMoves: db COUNTER @@ -401,22 +400,22 @@ ScytherEggMoves: db RAZOR_WIND db REVERSAL db LIGHT_SCREEN - db -1 + db -1 ; end PinsirEggMoves: db FURY_ATTACK db FLAIL - db -1 + db -1 ; end LaprasEggMoves: db AURORA_BEAM db FORESIGHT - db -1 + db -1 ; end EeveeEggMoves: db FLAIL db CHARM - db -1 + db -1 ; end OmanyteEggMoves: db BUBBLEBEAM @@ -424,7 +423,7 @@ OmanyteEggMoves: db SLAM db SUPERSONIC db HAZE - db -1 + db -1 ; end KabutoEggMoves: db BUBBLEBEAM @@ -432,26 +431,26 @@ KabutoEggMoves: db RAPID_SPIN db DIG db FLAIL - db -1 + db -1 ; end AerodactylEggMoves: db WHIRLWIND db PURSUIT db FORESIGHT db STEEL_WING - db -1 + db -1 ; end SnorlaxEggMoves: db LICK db CHARM - db -1 + db -1 ; end DratiniEggMoves: db LIGHT_SCREEN db MIST db HAZE db SUPERSONIC - db -1 + db -1 ; end ChikoritaEggMoves: db VINE_WHIP @@ -459,7 +458,7 @@ ChikoritaEggMoves: db COUNTER db ANCIENTPOWER db FLAIL - db -1 + db -1 ; end CyndaquilEggMoves: db FURY_SWIPES @@ -467,7 +466,7 @@ CyndaquilEggMoves: db REVERSAL db THRASH db FORESIGHT - db -1 + db -1 ; end TotodileEggMoves: db CRUNCH @@ -476,7 +475,7 @@ TotodileEggMoves: db ANCIENTPOWER db RAZOR_WIND db ROCK_SLIDE - db -1 + db -1 ; end SentretEggMoves: db DOUBLE_EDGE @@ -484,7 +483,7 @@ SentretEggMoves: db SLASH db FOCUS_ENERGY db REVERSAL - db -1 + db -1 ; end HoothootEggMoves: db MIRROR_MOVE @@ -492,13 +491,13 @@ HoothootEggMoves: db FAINT_ATTACK db WING_ATTACK db WHIRLWIND - db -1 + db -1 ; end LedybaEggMoves: db PSYBEAM db BIDE db LIGHT_SCREEN - db -1 + db -1 ; end SpinarakEggMoves: db PSYBEAM @@ -506,13 +505,13 @@ SpinarakEggMoves: db SONICBOOM db BATON_PASS db PURSUIT - db -1 + db -1 ; end ChinchouEggMoves: db FLAIL db SUPERSONIC db SCREECH - db -1 + db -1 ; end PichuEggMoves: db REVERSAL @@ -520,7 +519,7 @@ PichuEggMoves: db PRESENT db ENCORE db DOUBLESLAP - db -1 + db -1 ; end CleffaEggMoves: db PRESENT @@ -529,13 +528,13 @@ CleffaEggMoves: db BELLY_DRUM db SPLASH db MIMIC - db -1 + db -1 ; end IgglybuffEggMoves: db PERISH_SONG db PRESENT db FAINT_ATTACK - db -1 + db -1 ; end TogepiEggMoves: db PRESENT @@ -543,7 +542,7 @@ TogepiEggMoves: db PECK db FORESIGHT db FUTURE_SIGHT - db -1 + db -1 ; end NatuEggMoves: db HAZE @@ -551,7 +550,7 @@ NatuEggMoves: db QUICK_ATTACK db FAINT_ATTACK db STEEL_WING - db -1 + db -1 ; end MareepEggMoves: db THUNDERBOLT @@ -560,7 +559,7 @@ MareepEggMoves: db SAFEGUARD db SCREECH db REFLECT - db -1 + db -1 ; end MarillEggMoves: db LIGHT_SCREEN @@ -571,11 +570,11 @@ MarillEggMoves: db PERISH_SONG db SUPERSONIC db FORESIGHT - db -1 + db -1 ; end SudowoodoEggMoves: db SELFDESTRUCT - db -1 + db -1 ; end HoppipEggMoves: db CONFUSION @@ -585,7 +584,7 @@ HoppipEggMoves: db REFLECT db AMNESIA db PAY_DAY - db -1 + db -1 ; end AipomEggMoves: db COUNTER @@ -596,19 +595,19 @@ AipomEggMoves: db SLAM db DOUBLESLAP db BEAT_UP - db -1 + db -1 ; end YanmaEggMoves: db WHIRLWIND db REVERSAL db LEECH_LIFE - db -1 + db -1 ; end WooperEggMoves: db BODY_SLAM db ANCIENTPOWER db SAFEGUARD - db -1 + db -1 ; end MurkrowEggMoves: db WHIRLWIND @@ -616,12 +615,12 @@ MurkrowEggMoves: db QUICK_ATTACK db MIRROR_MOVE db WING_ATTACK - db -1 + db -1 ; end MisdreavusEggMoves: db SCREECH db DESTINY_BOND - db -1 + db -1 ; end GirafarigEggMoves: db TAKE_DOWN @@ -629,14 +628,14 @@ GirafarigEggMoves: db FORESIGHT db FUTURE_SIGHT db BEAT_UP - db -1 + db -1 ; end PinecoEggMoves: db REFLECT db PIN_MISSILE db FLAIL db SWIFT - db -1 + db -1 ; end DunsparceEggMoves: db BIDE @@ -644,14 +643,14 @@ DunsparceEggMoves: db ROCK_SLIDE db BITE db RAGE - db -1 + db -1 ; end GligarEggMoves: db METAL_CLAW db WING_ATTACK db RAZOR_WIND db COUNTER - db -1 + db -1 ; end SnubbullEggMoves: db METRONOME @@ -662,24 +661,24 @@ SnubbullEggMoves: db HEAL_BELL db LICK db LEER - db -1 + db -1 ; end QwilfishEggMoves: db FLAIL db HAZE db BUBBLEBEAM db SUPERSONIC - db -1 + db -1 ; end ShuckleEggMoves: db SWEET_SCENT - db -1 + db -1 ; end HeracrossEggMoves: db HARDEN db BIDE db FLAIL - db -1 + db -1 ; end SneaselEggMoves: db COUNTER @@ -687,7 +686,7 @@ SneaselEggMoves: db FORESIGHT db REFLECT db BITE - db -1 + db -1 ; end TeddiursaEggMoves: db CRUNCH @@ -695,11 +694,11 @@ TeddiursaEggMoves: db SEISMIC_TOSS db FOCUS_ENERGY db COUNTER - db -1 + db -1 ; end SlugmaEggMoves: db ACID_ARMOR - db -1 + db -1 ; end SwinubEggMoves: db TAKE_DOWN @@ -707,7 +706,7 @@ SwinubEggMoves: db BODY_SLAM db ROCK_SLIDE db ANCIENTPOWER - db -1 + db -1 ; end CorsolaEggMoves: db ROCK_SLIDE @@ -715,7 +714,7 @@ CorsolaEggMoves: db SCREECH db MIST db AMNESIA - db -1 + db -1 ; end RemoraidEggMoves: db AURORA_BEAM @@ -723,7 +722,7 @@ RemoraidEggMoves: db SUPERSONIC db HAZE db SCREECH - db -1 + db -1 ; end DelibirdEggMoves: db AURORA_BEAM @@ -731,20 +730,20 @@ DelibirdEggMoves: db FUTURE_SIGHT db SPLASH db RAPID_SPIN - db -1 + db -1 ; end MantineEggMoves: db TWISTER db HYDRO_PUMP db HAZE db SLAM - db -1 + db -1 ; end SkarmoryEggMoves: db DRILL_PECK db PURSUIT db WHIRLWIND - db -1 + db -1 ; end HoundourEggMoves: db FIRE_SPIN @@ -754,13 +753,13 @@ HoundourEggMoves: db SPITE db REVERSAL db BEAT_UP - db -1 + db -1 ; end PhanpyEggMoves: db FOCUS_ENERGY db BODY_SLAM db ANCIENTPOWER - db -1 + db -1 ; end StantlerEggMoves: db REFLECT @@ -768,39 +767,39 @@ StantlerEggMoves: db DISABLE db LIGHT_SCREEN db BITE - db -1 + db -1 ; end TyrogueEggMoves: db RAPID_SPIN db HI_JUMP_KICK db MACH_PUNCH db MIND_READER - db -1 + db -1 ; end SmoochumEggMoves: db LOVELY_KISS db MEDITATE - db -1 + db -1 ; end ElekidEggMoves: db KARATE_CHOP db BARRIER db ROLLING_KICK db MEDITATE - db -1 + db -1 ; end MagbyEggMoves: db KARATE_CHOP db MEGA_PUNCH db BARRIER db SCREECH - db -1 + db -1 ; end MiltankEggMoves: db PRESENT db REVERSAL db SEISMIC_TOSS - db -1 + db -1 ; end LarvitarEggMoves: db PURSUIT @@ -808,7 +807,7 @@ LarvitarEggMoves: db OUTRAGE db FOCUS_ENERGY db ANCIENTPOWER - db -1 + db -1 ; end NoEggMoves: - db -1 + db -1 ; end diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm index 27614ae5..42ca37d4 100644 --- a/data/pokemon/evos_attacks.asm +++ b/data/pokemon/evos_attacks.asm @@ -3,10 +3,6 @@ INCLUDE "constants.asm" SECTION "Evolutions and Attacks", ROMX -INCLUDE "data/pokemon/evos_attacks_pointers.asm" - -EvosAttacks:: - ; Evos+attacks data structure: ; - Evolution methods: ; * db EVOLVE_LEVEL, level, species @@ -19,6 +15,8 @@ EvosAttacks:: ; * db level, move ; - db 0 ; no more level-up moves +INCLUDE "data/pokemon/evos_attacks_pointers.asm" + BulbasaurEvosAttacks: db EVOLVE_LEVEL, 16, IVYSAUR db 0 ; no more evolutions @@ -838,7 +836,7 @@ AbraEvosAttacks: db 0 ; no more level-up moves KadabraEvosAttacks: - db EVOLVE_TRADE, $ff, ALAKAZAM + db EVOLVE_TRADE, -1, ALAKAZAM db 0 ; no more evolutions db 1, TELEPORT db 1, KINESIS @@ -882,7 +880,7 @@ MachopEvosAttacks: db 0 ; no more level-up moves MachokeEvosAttacks: - db EVOLVE_TRADE, $ff, MACHAMP + db EVOLVE_TRADE, -1, MACHAMP db 0 ; no more evolutions db 1, LOW_KICK db 1, LEER @@ -996,7 +994,7 @@ GeodudeEvosAttacks: db 0 ; no more level-up moves GravelerEvosAttacks: - db EVOLVE_TRADE, $ff, GOLEM + db EVOLVE_TRADE, -1, GOLEM db 0 ; no more evolutions db 1, TACKLE db 1, DEFENSE_CURL @@ -1199,6 +1197,7 @@ GrimerEvosAttacks: MukEvosAttacks: db 0 ; no more evolutions + ; moves are not sorted by level db 1, POISON_GAS db 1, POUND db 1, HARDEN @@ -1248,7 +1247,7 @@ GastlyEvosAttacks: db 0 ; no more level-up moves HaunterEvosAttacks: - db EVOLVE_TRADE, $ff, GENGAR + db EVOLVE_TRADE, -1, GENGAR db 0 ; no more evolutions db 1, HYPNOSIS db 1, LICK diff --git a/data/pokemon/evos_attacks_pointers.asm b/data/pokemon/evos_attacks_pointers.asm index 4ce10b10..7b27c6a7 100644 --- a/data/pokemon/evos_attacks_pointers.asm +++ b/data/pokemon/evos_attacks_pointers.asm @@ -1,8 +1,6 @@ -; Pointer table for evolutions and attacks. +; Evolutions and attacks are grouped together since they're both checked at level-up. -; These are grouped together since they're both checked at level-up. - -EvosAttacksPointers:: ; 0x425b1 +EvosAttacksPointers:: dw BulbasaurEvosAttacks dw IvysaurEvosAttacks dw VenusaurEvosAttacks diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index 76d67c6c..570ecbf6 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -1,8 +1,17 @@ PokemonPalettes: +; entries correspond to Pokémon species, two apiece + +; Each front.gbcpal is generated from the corresponding .png, and +; only the middle two colors are included, not black or white. +; Shiny palettes are defined directly, not generated. + +; 000 RGB 30, 22, 17 RGB 16, 14, 19 +; 000 shiny RGB 30, 22, 17 RGB 16, 14, 19 + BulbasaurPalette: INCLUDE "gfx/pokemon/bulbasaur/normal.pal" BulbasaurShinyPalette: INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" IvysaurPalette: INCLUDE "gfx/pokemon/ivysaur/normal.pal" @@ -505,19 +514,31 @@ Ho_ohPalette: INCLUDE "gfx/pokemon/ho_oh/normal.pal" Ho_ohShinyPalette: INCLUDE "gfx/pokemon/ho_oh/shiny.pal" CelebiPalette: INCLUDE "gfx/pokemon/celebi/normal.pal" CelebiShinyPalette: INCLUDE "gfx/pokemon/celebi/shiny.pal" + +; 252 RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 +; 252 shiny RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 + +; egg RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 +; egg shiny RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 + +; 254 RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 +; 254 shiny RGB 30, 26, 11 - RGB 23, 16, 0 + RGB 23, 16, 00 + +; 255 RGB 23, 23, 23 RGB 17, 17, 17 +; 255 shiny RGB 23, 23, 23 RGB 17, 17, 17 diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm index 8dcf48a5..b5912852 100644 --- a/data/pokemon/pic_pointers.asm +++ b/data/pokemon/pic_pointers.asm @@ -1,4 +1,7 @@ +; Pics are defined in gfx/pics_gold.asm and gfx/pics_silver.asm + PokemonPicPointers:: +; entries correspond to Pokémon species, two apiece dba_pic BulbasaurFrontpic dba_pic BulbasaurBackpic dba_pic IvysaurFrontpic diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm index 21bb51a7..2f13e5d6 100644 --- a/data/trainers/palettes.asm +++ b/data/trainers/palettes.asm @@ -1,12 +1,11 @@ - TrainerPalettes: +; entries correspond to trainer classes -PlayerPalette: -; The player's palette -; RGB 25, 18, 12 -; RGB 22, 09, 05 - INCLUDE "gfx/trainers/cal.pal" +; Each .gbcpal is generated from the corresponding .png, and +; only the middle two colors are included, not black or white. +PlayerPalette: ; Chris uses the same colors as Cal +INCLUDE "gfx/trainers/cal.pal" FalknerPalette: INCLUDE "gfx/trainers/falkner.pal" WhitneyPalette: INCLUDE "gfx/trainers/whitney.pal" BugsyPalette: INCLUDE "gfx/trainers/bugsy.pal" diff --git a/engine/battle/ai/items.asm b/engine/battle/ai/items.asm index bf65c683..0f30199e 100644 --- a/engine/battle/ai/items.asm +++ b/engine/battle/ai/items.asm @@ -692,7 +692,6 @@ AI_Switch: ld a, [wLinkMode] cp LINK_COLOSSEUM ret z - scf ret diff --git a/engine/battle/ai/scoring.asm b/engine/battle/ai/scoring.asm index 2ff0c2da..bfb9c282 100644 --- a/engine/battle/ai/scoring.asm +++ b/engine/battle/ai/scoring.asm @@ -1,5 +1,6 @@ AIScoring: ; used only for BANK(AIScoring) + AI_Basic: ; Don't do anything redundant: ; -Using status-only moves if the player can't be statused @@ -458,15 +459,15 @@ AI_Smart_LockOn: .asm_38826 ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_3886c - cp $8 + cp BASE_STAT_LEVEL + 1 jr nc, .asm_38867 ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_3886c - cp $7 + cp BASE_STAT_LEVEL jr c, .asm_38867 ld hl, wEnemyMonMoves @@ -559,7 +560,7 @@ AI_Smart_Selfdestruct: ; If enemy's HP is between 25% and 50%, ; over 90% chance to greatly discourage this move. call Random - cp 9 percent - 2 + cp 8 percent ret c .asm_388a7 @@ -583,7 +584,7 @@ AI_Smart_DreamEater: AI_Smart_EvasionUp: ; Dismiss this move if enemy's evasion can't raise anymore. ld a, [wEnemyEvaLevel] - cp $d + cp MAX_STAT_LEVEL jp nc, AIDiscourageMove ; If enemy's HP is full... @@ -694,12 +695,12 @@ AI_Smart_AlwaysHit: ; ...enemy's accuracy level has been lowered three or more stages ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_38935 ; ...or player's evasion level has been raised three or more stages. ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 ret c .asm_38935 @@ -859,12 +860,12 @@ AI_Smart_ResetStats: ; 85% chance to encourage this move if any of enemy's stat levels is lower than -2. push hl ld hl, wEnemyAtkLevel - ld c, $8 + ld c, NUM_LEVEL_STATS .asm_389dc dec c jr z, .asm_389e6 ld a, [hli] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_389f3 jr .asm_389dc @@ -876,7 +877,7 @@ AI_Smart_ResetStats: dec c jr z, .asm_389fc ld a, [hli] - cp $a + cp BASE_STAT_LEVEL + 3 jr c, .asm_389eb .asm_389f3 @@ -1032,7 +1033,7 @@ AI_Smart_Unused2B: .asm_38a8b push hl ld hl, wPlayerUsedMoves - ld c, 4 + ld c, NUM_MOVES .asm_38a91 ld a, [hli] @@ -1095,12 +1096,12 @@ AI_Smart_SpDefenseUp2: ; Discourage this move if enemy's special defense level is higher than +3. ld a, [wEnemySDefLevel] - cp $b + cp BASE_STAT_LEVEL + 4 jr nc, .asm_38af1 ; 80% chance to greatly encourage this move if ; enemy's Special Defense level is lower than +2, and the player is of a special type. - cp $9 + cp BASE_STAT_LEVEL + 2 ret nc ld a, [wBattleMonType1] @@ -1239,11 +1240,11 @@ AI_Smart_Rage: ; Encourage this move based on Rage's counter. .asm_38b6d ld a, [wEnemyRageCounter] - cp $2 + cp 2 ret c dec [hl] ld a, [wEnemyRageCounter] - cp $3 + cp 3 ret c dec [hl] ret @@ -1315,7 +1316,7 @@ AI_Smart_Mimic: AI_Smart_Counter: push hl ld hl, wPlayerUsedMoves - ld c, 4 + ld c, NUM_MOVES ld b, 0 .asm_38bda @@ -1454,8 +1455,8 @@ AI_Smart_SleepTalk: ; Greatly discourage this move otherwise. ld a, [wEnemyMonStatus] - and $7 - cp $1 + and SLP + cp 1 jr z, .asm_38ca8 dec [hl] @@ -1497,7 +1498,7 @@ AI_Smart_Spite: .asm_38cc8 push hl ld b, a - ld c, 4 + ld c, NUM_MOVES ld hl, wBattleMonMoves ld de, wBattleMonPP @@ -1516,9 +1517,9 @@ AI_Smart_Spite: .asm_38cdc pop hl ld a, [de] - cp $6 + cp 6 jr c, .asm_38cee - cp $f + cp 15 jr nc, .asm_38cec call Random @@ -1815,9 +1816,9 @@ AI_Smart_Curse: jr nc, .asm_38e72 ld a, [wEnemyAtkLevel] - cp $b + cp BASE_STAT_LEVEL + 4 jr nc, .asm_38e72 - cp $9 + cp BASE_STAT_LEVEL + 2 ret nc ld a, [wBattleMonType1] @@ -1915,10 +1916,10 @@ AI_Smart_Protect: AI_Smart_Foresight: ld a, [wEnemyAccLevel] - cp $5 + cp BASE_STAT_LEVEL - 2 jr c, .asm_38f02 ld a, [wPlayerEvaLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_38f02 ld a, [wBattleMonType1] @@ -2107,10 +2108,10 @@ AI_Smart_Rollout: jr nc, .asm_38fe1 ld a, [wEnemyAccLevel] - cp 7 + cp BASE_STAT_LEVEL jr c, .asm_38fe1 ld a, [wPlayerEvaLevel] - cp 8 + cp BASE_STAT_LEVEL + 1 jr nc, .asm_38fe1 ; Otherwise, 80% chance to greatly encourage this move. @@ -2378,7 +2379,7 @@ AI_Smart_BellyDrum: ; Else, discourage this move if enemy's HP is not full. ld a, [wEnemyAtkLevel] - cp $a + cp BASE_STAT_LEVEL + 3 jr nc, .asm_3910e call AICheckEnemyMaxHP @@ -2433,15 +2434,15 @@ AI_Smart_PsychUp: ; This block will always ret, since the comparisons to wPlayerEvaLevel capture every possible value ld a, [wPlayerAccLevel] - cp $6 + cp BASE_STAT_LEVEL - 1 ret c ld a, [wPlayerEvaLevel] - cp $9 + cp BASE_STAT_LEVEL + 2 ret c ld a, [wPlayerEvaLevel] - cp $8 + cp BASE_STAT_LEVEL + 1 ret nc ; unused @@ -2458,8 +2459,8 @@ AI_Smart_PsychUp: AI_Smart_MirrorCoat: push hl ld hl, wPlayerUsedMoves - ld c, $4 - ld b, $0 + ld c, NUM_MOVES + ld b, 0 .asm_39159 ld a, [hli] diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm index 85b6f710..bb2e949c 100755 --- a/engine/events/happiness_egg.asm +++ b/engine/events/happiness_egg.asm @@ -140,11 +140,13 @@ StepHappiness:: ret DayCareStep:: +; Raise the experience of Day-Care Pokémon every step cycle. + ld a, [wDayCareMan] bit DAYCAREMAN_HAS_MON_F, a jr z, .day_care_lady - ld a, [wBreedMon1Level] + ld a, [wBreedMon1Level] ; level cp MAX_LEVEL jr nc, .day_care_lady ld hl, wBreedMon1Exp + 2 ; exp @@ -196,7 +198,7 @@ DayCareStep:: callfar CheckBreedmonCompatibility ld a, [wBreedingCompatibility] cp 230 - ld b, 32 percent - 1 + ld b, 31 percent + 1 jr nc, .okay ld a, [wBreedingCompatibility] cp 170 diff --git a/engine/events/pokerus/pokerus.asm b/engine/events/pokerus/pokerus.asm index 63eb7fe1..99a5652c 100644 --- a/engine/events/pokerus/pokerus.asm +++ b/engine/events/pokerus/pokerus.asm @@ -26,8 +26,8 @@ GivePokerusAndConvertBerries: and a ret nz ldh a, [hRandomSub] - cp $3 - ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) + cp 3 + ret nc ; 3/65536 chance (00 00, 00 01 or 00 02) ld a, [wPartyCount] ld b, a .randomMonSelectLoop @@ -36,11 +36,11 @@ GivePokerusAndConvertBerries: cp b jr nc, .randomMonSelectLoop ld hl, wPartyMon1PokerusStatus - call GetPartyLocation ; get pokerus byte of random mon + call GetPartyLocation ; get pokerus byte of random mon ld a, [hl] and $f0 - ret nz ; if it already has pokerus, do nothing -.randomPokerusLoop ; Simultaneously sample the strain and duration + ret nz ; if it already has pokerus, do nothing +.randomPokerusLoop ; Simultaneously sample the strain and duration call Random and a jr z, .randomPokerusLoop @@ -62,20 +62,20 @@ GivePokerusAndConvertBerries: .TrySpreadPokerus: call Random cp 33 percent + 1 - ret nc ; 1/3 chance + ret nc ; 1/3 chance ld a, [wPartyCount] cp 1 - ret z ; only one mon, nothing to do + ret z ; only one mon, nothing to do ld c, [hl] ld a, b cp 2 - jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards + jr c, .checkPreviousMonsLoop ; no more mons after this one, go backwards call Random cp 50 percent + 1 - jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards + jr c, .checkPreviousMonsLoop ; 1/2 chance, go backwards .checkFollowingMonsLoop add hl, de ld a, [hl] @@ -83,8 +83,8 @@ GivePokerusAndConvertBerries: jr z, .infectMon ld c, a and $3 - ret z ; if mon has cured pokerus, stop searching - dec b ; go on to next mon + ret z ; if mon has cured pokerus, stop searching + dec b ; go on to next mon ld a, b cp 1 jr nz, .checkFollowingMonsLoop ; no more mons left @@ -93,7 +93,7 @@ GivePokerusAndConvertBerries: .checkPreviousMonsLoop ld a, [wPartyCount] cp b - ret z ; no more mons + ret z ; no more mons ld a, l sub e ld l, a @@ -105,8 +105,8 @@ GivePokerusAndConvertBerries: jr z, .infectMon ld c, a and $3 - ret z ; if mon has cured pokerus, stop searching - inc b ; go on to next mon + ret z ; if mon has cured pokerus, stop searching + inc b ; go on to next mon jr .checkPreviousMonsLoop .infectMon @@ -128,7 +128,7 @@ ConvertBerriesToBerryJuice: bit STATUSFLAGS2_REACHED_GOLDENROD_F, [hl] ret z call Random - cp 6 percent + 1 ; 1/16 chance + cp 1 out_of 16 ; 6.25% chance ret nc ld hl, wPartyMons ld a, [wPartyCount] diff --git a/engine/events/shuckle.asm b/engine/events/shuckle.asm index db6db8f9..668a99b0 100755 --- a/engine/events/shuckle.asm +++ b/engine/events/shuckle.asm @@ -2,7 +2,7 @@ MANIA_OT_ID EQU 00518 GiveShuckle: ; Adding to the party. - xor a + xor a ; PARTYMON ld [wMonType], a ; Level 15 Shuckle. @@ -63,6 +63,7 @@ GiveShuckle: SpecialShuckleOT: db "MANIA@" + SpecialShuckleNick: db "SHUCKIE@" diff --git a/engine/events/specials.asm b/engine/events/specials.asm index f4b6437d..91ca4208 100755 --- a/engine/events/specials.asm +++ b/engine/events/specials.asm @@ -458,3 +458,6 @@ TrainerHouse: ld a, [sMysteryGiftTrainerHouseFlag] ld [wScriptVar], a jp CloseSRAM + +; unused + nop diff --git a/engine/events/whiteout.asm b/engine/events/whiteout.asm index f8bfce12..635be636 100755 --- a/engine/events/whiteout.asm +++ b/engine/events/whiteout.asm @@ -61,11 +61,7 @@ GetWhiteoutSpawn: ld d, a ld a, [wLastSpawnMapNumber] ld e, a - - ld a, $05 - ld hl, $5465 - rst $08 - + farcall IsSpawnPoint ld a, c jr c, .yes xor a ; SPAWN_HOME diff --git a/engine/gfx/load_push_oam.asm b/engine/gfx/load_push_oam.asm index 641439ec..2e43c1ff 100644 --- a/engine/gfx/load_push_oam.asm +++ b/engine/gfx/load_push_oam.asm @@ -1,6 +1,3 @@ -DummyPredef1: - ret - WriteOAMDMACodeToHRAM:: ld c, LOW(hTransferVirtualOAM) ld b, .PushOAMEnd - .PushOAM diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 29f72831..35a7cd6c 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -872,7 +872,7 @@ MoonBallMultiplier: pop bc push bc - ld a, BANK(EvosAttacksPointers) + ld a, BANK("Evolutions and Attacks") call GetFarByte cp EVOLVE_ITEM pop bc @@ -886,7 +886,7 @@ MoonBallMultiplier: ; No Pokémon evolve with Burn Heal, ; so Moon Balls always have a catch rate of 1×. push bc - ld a, BANK(EvosAttacksPointers) + ld a, BANK("Evolutions and Attacks") call GetFarByte cp MOON_STONE_RED ; BURN_HEAL pop bc diff --git a/engine/items/tmhm2.asm b/engine/items/tmhm2.asm index 18218a06..eb3eb58e 100755 --- a/engine/items/tmhm2.asm +++ b/engine/items/tmhm2.asm @@ -1,107 +1,46 @@ -CanLearnTMHMMove: ; 11a25 (4:5a25) +CanLearnTMHMMove: ld a, [wCurPartySpecies] ld [wCurSpecies], a call GetBaseData - ld hl, wd138 + ld hl, wBaseTMHM push hl + ld a, [wPutativeTMHMMove] ld b, a - ld c, $0 + ld c, 0 ld hl, TMHMMoves -.asm_11a3b +.loop ld a, [hli] and a - jr z, .asm_11a52 + jr z, .end cp b jr z, .asm_11a45 inc c - jr .asm_11a3b + jr .loop .asm_11a45 pop hl ld b, CHECK_FLAG push de - ld d, $0 + ld d, 0 predef SmallFarFlagAction pop de ret -.asm_11a52 +.end pop hl - ld c, $0 + ld c, 0 ret -GetTMHMMove: ; 11a56 (4:5a56) - ld a, [wd151] +GetTMHMMove: + ld a, [wTempTMHM] dec a ld hl, TMHMMoves - ld b, $0 + ld b, 0 ld c, a add hl, bc ld a, [hl] - ld [wd151], a + ld [wTempTMHM], a ret -TMHMMoves: - db DYNAMICPUNCH - db HEADBUTT - db CURSE - db ROLLOUT - db ROAR - db TOXIC - db ZAP_CANNON - db ROCK_SMASH - db PSYCH_UP - db HIDDEN_POWER - db SUNNY_DAY - db SWEET_SCENT - db SNORE - db BLIZZARD - db HYPER_BEAM - db ICY_WIND - db PROTECT - db RAIN_DANCE - db GIGA_DRAIN - db ENDURE - db FRUSTRATION - db SOLARBEAM - db IRON_TAIL - db DRAGONBREATH - db THUNDER - db EARTHQUAKE - db RETURN - db DIG - db PSYCHIC_M - db SHADOW_BALL - db MUD_SLAP - db DOUBLE_TEAM - db ICE_PUNCH - db SWAGGER - db SLEEP_TALK - db SLUDGE_BOMB - db SANDSTORM - db FIRE_BLAST - db SWIFT - db DEFENSE_CURL - db THUNDERPUNCH - db DREAM_EATER - db DETECT - db REST - db ATTRACT - db THIEF - db STEEL_WING - db FIRE_PUNCH - db FURY_CUTTER - db NIGHTMARE - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db WHIRLPOOL - db WATERFALL - - db 0 - db 0 - db 0 - db 0 +INCLUDE "data/moves/tmhm_moves.asm" diff --git a/engine/link/place_waiting_text.asm b/engine/link/place_waiting_text.asm index dc1fe215..5c31c314 100755 --- a/engine/link/place_waiting_text.asm +++ b/engine/link/place_waiting_text.asm @@ -22,3 +22,6 @@ PlaceWaitingText:: .Waiting: db "Waiting...!@" + +DummyPredef1: + ret diff --git a/engine/math/math.asm b/engine/math/math.asm index cdac2d37..d5df3c34 100755 --- a/engine/math/math.asm +++ b/engine/math/math.asm @@ -1,11 +1,10 @@ -_Multiply:: ; 67bd - +_Multiply:: ; hMultiplier is one byte. ld a, 8 ld b, a xor a - ldh [hProduct], a + ldh [hMultiplicand - 1], a ldh [hMathBuffer + 1], a ldh [hMathBuffer + 2], a ldh [hMathBuffer + 3], a @@ -37,7 +36,7 @@ _Multiply:: ; 67bd ldh a, [hMathBuffer + 1] ld c, a - ldh a, [hProduct] + ldh a, [hMultiplicand - 1] adc c ldh [hMathBuffer + 1], a @@ -59,9 +58,9 @@ _Multiply:: ; 67bd rla ldh [hMultiplicand + 0], a - ldh a, [hProduct] + ldh a, [hMultiplicand - 1] rla - ldh [hProduct], a + ldh [hMultiplicand - 1], a jr .loop @@ -80,7 +79,7 @@ _Multiply:: ; 67bd ret -_Divide:: ; 681d +_Divide:: xor a ldh [hMathBuffer + 0], a ldh [hMathBuffer + 1], a @@ -173,18 +172,18 @@ _Divide:: ; 681d .done ldh a, [hDividend + 1] - ldh [hDivisor], a + ldh [hRemainder], a ldh a, [hMathBuffer + 4] - ldh [hDividend + 3], a + ldh [hQuotient + 3], a ldh a, [hMathBuffer + 3] - ldh [hDividend + 2], a + ldh [hQuotient + 2], a ldh a, [hMathBuffer + 2] - ldh [hDividend + 1], a + ldh [hQuotient + 1], a ldh a, [hMathBuffer + 1] - ldh [hDividend + 0], a + ldh [hQuotient + 0], a ret diff --git a/engine/math/sine.asm b/engine/math/sine.asm index e22d785a..5db3bd60 100644 --- a/engine/math/sine.asm +++ b/engine/math/sine.asm @@ -1,40 +1,7 @@ -_Sine:: ; 8ac9 (2:4ac9) +_Sine:: +; a = d * sin(e * pi/256) ld a, e - and $3f - cp $20 - jr nc, .negative - call .GetSine - ld a, h - ret -.negative - and $1f - call .GetSine - ld a, h - xor $ff - inc a - ret - -.GetSine: ; 8adf (2:4adf) - ld e, a - ld a, d - ld d, $0 - ld hl, .SineWave - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0 -.loop - srl a - jr nc, .no_add - add hl, de -.no_add - sla e - rl d - and a - jr nz, .loop - ret + calc_sine_wave .SineWave .SineWave: sine_table $100 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index ece0a6eb..32b0f734 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -72,7 +72,7 @@ TitleScreen: ; Let LCD Stat know we're messing around with SCX ld a, LOW(rSCX) ldh [hLCDCPointer], a - ld b, SCGB_0C + ld b, SCGB_GS_TITLE_SCREEN call GetSGBLayout call Function6341 ld de, MUSIC_TITLE diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index 3a196508..01d49d21 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -274,7 +274,7 @@ WillObjectBumpIntoSomeoneElse: ld e, [hl] jr IsNPCAtCoord -Function70f4: +Unreferenced_Function70f4: ldh a, [hMapObjectIndexBuffer] call GetObjectStruct call .CheckWillBeFacingNPC @@ -473,7 +473,7 @@ IsObjectMovingOffEdgeOfScreen: scf ret -Function71f2: +Unreferenced_Function71f2: ld a, [wPlayerStandingMapX] ld d, a ld a, [wPlayerStandingMapY] diff --git a/engine/overworld/player_movement.asm b/engine/overworld/player_movement.asm index 165a8479..bdf23ec4 100755 --- a/engine/overworld/player_movement.asm +++ b/engine/overworld/player_movement.asm @@ -577,11 +577,14 @@ DoPlayerMovement:: ; Standing jr .update -.d_down add hl, de -.d_up add hl, de -.d_left add hl, de -.d_right add hl, de - +.d_down + add hl, de +.d_up + add hl, de +.d_left + add hl, de +.d_right + add hl, de .update ld a, [hli] ld [wWalkingDirection], a diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index 28323eba..339f7ee0 100755 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -107,8 +107,9 @@ RefreshPlayerCoords: ld hl, wPlayerLastMapY ld [hl], e ld e, a +; the next three lines are useless ld a, [wObjectFollow_Leader] - cp $0 + cp PLAYER ret nz ret @@ -509,7 +510,7 @@ CopyTempObjectToObjectStruct: ld [hl], a ret -TrainerWalkToPlayer:: +TrainerWalkToPlayer: ldh a, [hLastTalked] call InitMovementBuffer ld a, movement_step_sleep diff --git a/engine/overworld/time.asm b/engine/overworld/time.asm index d5c45cc4..a829cd4f 100755 --- a/engine/overworld/time.asm +++ b/engine/overworld/time.asm @@ -92,8 +92,8 @@ CheckDailyResetTimer:: ret nc xor a ld hl, wDailyFlags1 - ld [hli], a - ld [hl], a + ld [hli], a ; wDailyFlags1 + ld [hl], a ; wDailyFlags2 jr RestartDailyResetTimer StartBugContestTimer: diff --git a/engine/pokemon/breeding.asm b/engine/pokemon/breeding.asm index b891df82..fd5d9a82 100644 --- a/engine/pokemon/breeding.asm +++ b/engine/pokemon/breeding.asm @@ -462,18 +462,18 @@ GetEggMove: ld a, BANK(EvosAttacksPointers) call GetFarHalfword .loop3 - ld a, BANK(EvosAttacksPointers) + ld a, BANK("Evolutions and Attacks") call GetFarByte inc hl and a jr nz, .loop3 .loop4 - ld a, BANK(EvosAttacksPointers) + ld a, BANK("Evolutions and Attacks") call GetFarByte and a jr z, .inherit_tmhm inc hl - ld a, BANK(EvosAttacksPointers) + ld a, BANK("Evolutions and Attacks") call GetFarByte ld b, a ld a, [de] diff --git a/engine/pokemon/correct_nick_errors.asm b/engine/pokemon/correct_nick_errors.asm index 44748a00..421bf92d 100644 --- a/engine/pokemon/correct_nick_errors.asm +++ b/engine/pokemon/correct_nick_errors.asm @@ -1,32 +1,52 @@ CorrectNickErrors:: +; error-check monster nick before use +; must be a peace offering to gamesharkers + +; input: de = nick location + push bc push de ld b, MON_NAME_LENGTH + .checkchar +; end of nick? ld a, [de] - cp "@" - jr z, .done + cp "@" ; terminator + jr z, .end + +; check if this char is a text command ld hl, .textcommands dec hl .loop +; next entry inc hl +; reached end of commands table? ld a, [hl] - cp $ff - jr z, .next + cp -1 + jr z, .done + +; is the current char between this value (inclusive)... ld a, [de] cp [hl] inc hl jr c, .loop +; ...and this one? cp [hl] jr nc, .loop + +; replace it with a "?" ld a, "?" ld [de], a jr .loop -.next +.done +; next char inc de +; reached end of nick without finding a terminator? dec b jr nz, .checkchar + +; change nick to "?@" pop de push de ld a, "?" @@ -34,7 +54,8 @@ CorrectNickErrors:: inc de ld a, "@" ld [de], a -.done +.end +; if the nick has any errors at this point it's out of our hands pop de pop bc ret diff --git a/engine/pokemon/move_mon.asm b/engine/pokemon/move_mon.asm index 0c50dd4e..b1988f68 100755 --- a/engine/pokemon/move_mon.asm +++ b/engine/pokemon/move_mon.asm @@ -1456,7 +1456,7 @@ CalcMonStatC: add hl, bc .sqrt_loop xor a - ldh [hMultiplicand], a + ldh [hMultiplicand + 0], a ldh [hMultiplicand + 1], a inc b ld a, b diff --git a/engine/smallflag.asm b/engine/smallflag.asm index f7d1406f..04cbfcc2 100644 --- a/engine/smallflag.asm +++ b/engine/smallflag.asm @@ -1,6 +1,3 @@ -Functionc660: - nop - SmallFarFlagAction: ; Perform action b on bit c in flag array hl. ; If checking a flag, check flag array d:hl unless d is 0. diff --git a/engine/tilesets/map_palettes.asm b/engine/tilesets/map_palettes.asm index c8a4a57d..858098e6 100644 --- a/engine/tilesets/map_palettes.asm +++ b/engine/tilesets/map_palettes.asm @@ -1,6 +1,6 @@ _SwapTextboxPalettes:: hlcoord 0, 0 - ld de, wAttrmap + decoord 0, 0, wAttrmap ld b, SCREEN_HEIGHT .loop ld c, SCREEN_WIDTH diff --git a/gfx/tileset_palette_maps.asm b/gfx/tileset_palette_maps.asm index 0398f29f..d8ac900d 100644 --- a/gfx/tileset_palette_maps.asm +++ b/gfx/tileset_palette_maps.asm @@ -1,4 +1,13 @@ +tilepal: MACRO +; pals +rept _NARG / 2 + dn PAL_BG_\2, PAL_BG_\1 + shift + shift +endr +endm + INCLUDE "gfx/tilesets/palette_maps.asm" Unknown85d7: - ds 26, PAL_BG_ROOF + ds 26, $06 ; unused @@ -12,20 +12,15 @@ INCLUDE "macros/scripts/events.asm" INCLUDE "macros/scripts/text.asm" INCLUDE "macros/scripts/movement.asm" INCLUDE "macros/scripts/battle_commands.asm" +INCLUDE "macros/scripts/battle_anims.asm" INCLUDE "macros/scripts/trade_anims.asm" -INCLUDE "macros/move_anim.asm" -INCLUDE "macros/pic.asm" -INCLUDE "macros/pals.asm" - INCLUDE "macros/legacy.asm" dr: macro IF DEF(_GOLD) INCBIN "baserom-gold.gbc", \1, \2 - \1 -ELSE -IF DEF(_SILVER) +ELIF DEF(_SILVER) INCBIN "baserom-silver.gbc", \1, \2 - \1 ENDC -ENDC ENDM diff --git a/macros/data.asm b/macros/data.asm index 932525eb..938a6cb3 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -1,7 +1,30 @@ ; Value macros +; Many arbitrary percentages are simple base-10 or base-16 values: +; - 10 = 4 percent +; - 15 = 6 percent +; - $10 = 6 percent + 1 = 7 percent - 1 +; - 20 = 8 percent +; - 25 = 10 percent +; - 30 = 12 percent +; - 40 = 16 percent +; - 50 = 20 percent - 1 +; - 60 = 24 percent - 1 +; - 70 = 28 percent - 1 +; - 80 = 31 percent + 1 = 32 percent - 1 +; - 85 = 33 percent + 1 = 34 percent - 1 +; - 100 = 39 percent + 1 = 40 percent - 2 +; - 120 = 47 percent + 1 +; - 123 = 49 percent - 1 +; - 160 = 63 percent +; - 180 = 71 percent - 1 = 70 percent + 2 +; - 200 = 79 percent - 1 +; - 230 = 90 percent + 1 percent EQUS "* $ff / 100" +; e.g. 1 out_of 2 == 50 percent + 1 == $80 +out_of EQUS "* $100 /" + ; Constant data (db, dw, dl) macros dwb: MACRO diff --git a/macros/move_anim.asm b/macros/move_anim.asm deleted file mode 100644 index 8df511b2..00000000 --- a/macros/move_anim.asm +++ /dev/null @@ -1,293 +0,0 @@ -anim_wait: macro -if \1 >= $d0 - flip out -endc - db \1 - endm - - enum_start $d0 - - enum anim_obj_command ; d0 -anim_obj: macro - db anim_obj_command - db \1 ; object - db \2 ; x - db \3 ; y - db \4 ; param - endm - - enum anim_1gfx_command ; d1 -anim_1gfx: macro - db anim_1gfx_command - db \1 ; gfx1 - endm - - enum anim_2gfx_command ; d2 -anim_2gfx: macro - db anim_2gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - endm - - enum anim_3gfx_command ; d3 -anim_3gfx: macro - db anim_3gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - endm - - enum anim_4gfx_command ; d4 -anim_4gfx: macro - db anim_4gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - endm - - enum anim_5gfx_command ; d5 -anim_5gfx: macro - db anim_5gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - db \5 ; gfx5 - endm - - enum anim_incobj_command ; d6 -anim_incobj: macro - db anim_incobj_command - db \1 ; id - endm - - enum anim_setobj_command ; d7 -anim_setobj: macro - db anim_setobj_command - db \1 ; id - db \2 ; obj - endm - - enum anim_incbgeffect_command ; d8 -anim_incbgeffect: macro - db anim_incbgeffect_command - db \1 ; effect - endm - - enum anim_battlergfx_2row_command ; d9 -anim_battlergfx_2row: macro - db anim_battlergfx_2row_command - endm - - enum anim_battlergfx_1row_command ; da -anim_battlergfx_1row: macro - db anim_battlergfx_1row_command - endm - - enum anim_checkpokeball_command ; db -anim_checkpokeball: macro - db anim_checkpokeball_command - endm - - enum anim_transform_command ; dc -anim_transform: macro - db anim_transform_command - endm - - enum anim_raisesub_command ; dd -anim_raisesub: macro - db anim_raisesub_command - endm - - enum anim_dropsub_command ; de -anim_dropsub: macro - db anim_dropsub_command - endm - - enum anim_resetobp0_command ; df -anim_resetobp0: macro - db anim_resetobp0_command - endm - - enum anim_sound_command ; e0 -anim_sound: macro - db anim_sound_command - db (\1 << 2) | \2 ; duration, tracks - db \3 ; id - endm - - enum anim_cry_command ; e1 -anim_cry: macro - db anim_cry_command - db \1 ; pitch - endm - - enum anim_minimizeopp_command ; e2 -anim_minimizeopp: macro - db anim_minimizeopp_command - endm - - enum anim_oamon_command ; e3 -anim_oamon: macro - db anim_oamon_command - endm - - enum anim_oamoff_command ; e4 -anim_oamoff: macro - db anim_oamoff_command - endm - - enum anim_clearobjs_command ; e5 -anim_clearobjs: macro - db anim_clearobjs_command - endm - - enum anim_beatup_command ; e6 -anim_beatup: macro - db anim_beatup_command - endm - - enum anim_0xe7_command ; e7 -anim_0xe7: macro - db anim_0xe7_command - endm - - enum anim_updateactorpic_command ; e8 -anim_updateactorpic: macro - db anim_updateactorpic_command - endm - - enum anim_minimize_command ; e9 -anim_minimize: macro - db anim_minimize_command - endm - - enum anim_0xea_command ; ea -anim_0xea: macro - db anim_0xea_command - endm - - enum anim_0xeb_command ; eb -anim_0xeb: macro - db anim_0xeb_command - endm - - enum anim_0xec_command ; ec -anim_0xec: macro - db anim_0xec_command - endm - - enum anim_0xed_command ; ed -anim_0xed: macro - db anim_0xed_command - endm - - enum anim_if_param_and_command ; ee -anim_if_param_and: macro - db anim_if_param_and_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jumpuntil_command ; ef -anim_jumpuntil: macro - db anim_jumpuntil_command - dw \1 ; address - endm - - enum anim_bgeffect_command ; f0 -anim_bgeffect: macro - db anim_bgeffect_command - db \1 ; effect - db \2 ; unknown - db \3 ; unknown - db \4 ; unknown - endm - - enum anim_bgp_command ; f1 -anim_bgp: macro - db anim_bgp_command - db \1 ; colors - endm - - enum anim_obp0_command ; f2 -anim_obp0: macro - db anim_obp0_command - db \1 ; colors - endm - - enum anim_obp1_command ; f3 -anim_obp1: macro - db anim_obp1_command - db \1 ; colors - endm - - enum anim_keepsprites_command ; f4 -anim_keepsprites: macro - db anim_keepsprites_command - endm - - enum anim_0xf5_command ; f5 -anim_0xf5: macro - db anim_0xf5_command - endm - - enum anim_0xf6_command ; f6 -anim_0xf6: macro - db anim_0xf6_command - endm - - enum anim_0xf7_command ; f7 -anim_0xf7: macro - db anim_0xf7_command - endm - - enum anim_if_param_equal_command ; f8 -anim_if_param_equal: macro - db anim_if_param_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_setvar_command ; f9 -anim_setvar: macro - db anim_setvar_command - db \1 ; value - endm - - enum anim_incvar_command ; fa -anim_incvar: macro - db anim_incvar_command - endm - - enum anim_if_var_equal_command ; fb -anim_if_var_equal: macro - db anim_if_var_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jump_command ; fc -anim_jump: macro - db anim_jump_command - dw \1 ; address - endm - - enum anim_loop_command ; fd -anim_loop: macro - db anim_loop_command - db \1 ; count - dw \2 ; address - endm - - enum anim_call_command ; fe -anim_call: macro - db anim_call_command - dw \1 ; address - endm - - enum anim_ret_command ; ff -anim_ret: macro - db anim_ret_command - endm diff --git a/macros/pals.asm b/macros/pals.asm deleted file mode 100755 index d45dae3f..00000000 --- a/macros/pals.asm +++ /dev/null @@ -1,8 +0,0 @@ -tilepal: MACRO -; pals -rept _NARG / 2 - dn PAL_BG_\2, PAL_BG_\1 - shift - shift -endr -endm diff --git a/macros/pic.asm b/macros/pic.asm deleted file mode 100644 index a01ce7a3..00000000 --- a/macros/pic.asm +++ /dev/null @@ -1,4 +0,0 @@ -add_pic: MACRO - db BANK(\1) - $36 - dw \1 -ENDM diff --git a/macros/scripts/battle_anims.asm b/macros/scripts/battle_anims.asm new file mode 100644 index 00000000..adb48e4a --- /dev/null +++ b/macros/scripts/battle_anims.asm @@ -0,0 +1,302 @@ +anim_wait: MACRO +if \1 >= $d0 + fail "anim_wait argument must be less than $d0." +endc + db \1 +ENDM + +; BattleAnimCommands indexes (see engine/battle_anims/anim_commands.asm) + enum_start $d0 + + enum anim_obj_command ; $d0 +anim_obj: MACRO + db anim_obj_command +if _NARG <= 4 + db \1 ; object + db \2 ; x + db \3 ; y + db \4 ; param +else +; LEGACY: Support the tile+offset format + db \1 ; object + db (\2) * 8 + (\3) ; x_tile, x + db (\4) * 8 + (\5) ; y_tile, y + db \6 ; param +endc +ENDM + + enum anim_1gfx_command ; $d1 +anim_1gfx: MACRO + db anim_1gfx_command + db \1 ; gfx1 +ENDM + + enum anim_2gfx_command ; $d2 +anim_2gfx: MACRO + db anim_2gfx_command + db \1 ; gfx1 + db \2 ; gfx2 +ENDM + + enum anim_3gfx_command ; $d3 +anim_3gfx: MACRO + db anim_3gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 +ENDM + + enum anim_4gfx_command ; $d4 +anim_4gfx: MACRO + db anim_4gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 +ENDM + + enum anim_5gfx_command ; $d5 +anim_5gfx: MACRO + db anim_5gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + db \5 ; gfx5 +ENDM + + enum anim_incobj_command ; $d6 +anim_incobj: MACRO + db anim_incobj_command + db \1 ; object_id +ENDM + + enum anim_setobj_command ; $d7 +anim_setobj: MACRO + db anim_setobj_command + db \1 ; object_id + db \2 ; value +ENDM + + enum anim_incbgeffect_command ; $d8 +anim_incbgeffect: MACRO + db anim_incbgeffect_command + db \1 ; effect +ENDM + + enum anim_battlergfx_2row_command ; $d9 +anim_battlergfx_2row: MACRO + db anim_battlergfx_2row_command +ENDM + + enum anim_battlergfx_1row_command ; $da +anim_battlergfx_1row: MACRO + db anim_battlergfx_1row_command +ENDM + + enum anim_checkpokeball_command ; $db +anim_checkpokeball: MACRO + db anim_checkpokeball_command +ENDM + + enum anim_transform_command ; $dc +anim_transform: MACRO + db anim_transform_command +ENDM + + enum anim_raisesub_command ; $dd +anim_raisesub: MACRO + db anim_raisesub_command +ENDM + + enum anim_dropsub_command ; $de +anim_dropsub: MACRO + db anim_dropsub_command +ENDM + + enum anim_resetobp0_command ; $df +anim_resetobp0: MACRO + db anim_resetobp0_command +ENDM + + enum anim_sound_command ; $e0 +anim_sound: MACRO + db anim_sound_command + db (\1 << 2) | \2 ; duration, tracks + db \3 ; sound_id +ENDM + + enum anim_cry_command ; $e1 +anim_cry: MACRO + db anim_cry_command + db \1 ; pitch +ENDM + + enum anim_minimizeopp_command ; $e2 +anim_minimizeopp: MACRO + db anim_minimizeopp_command +ENDM + + enum anim_oamon_command ; $e3 +anim_oamon: MACRO + db anim_oamon_command +ENDM + + enum anim_oamoff_command ; $e4 +anim_oamoff: MACRO + db anim_oamoff_command +ENDM + + enum anim_clearobjs_command ; $e5 +anim_clearobjs: MACRO + db anim_clearobjs_command +ENDM + + enum anim_beatup_command ; $e6 +anim_beatup: MACRO + db anim_beatup_command +ENDM + + enum anim_0xe7_command ; $e7 +anim_0xe7: MACRO + db anim_0xe7_command +ENDM + + enum anim_updateactorpic_command ; $e8 +anim_updateactorpic: MACRO + db anim_updateactorpic_command +ENDM + + enum anim_minimize_command ; $e9 +anim_minimize: MACRO + db anim_minimize_command +ENDM + + enum anim_0xea_command ; $ea +anim_0xea: MACRO + db anim_0xea_command +ENDM + + enum anim_0xeb_command ; $eb +anim_0xeb: MACRO + db anim_0xeb_command +ENDM + + enum anim_0xec_command ; $ec +anim_0xec: MACRO + db anim_0xec_command +ENDM + + enum anim_0xed_command ; $ed +anim_0xed: MACRO + db anim_0xed_command +ENDM + + enum anim_if_param_and_command ; $ee +anim_if_param_and: MACRO + db anim_if_param_and_command + db \1 ; value + dw \2 ; address +ENDM + + enum anim_jumpuntil_command ; $ef +anim_jumpuntil: MACRO + db anim_jumpuntil_command + dw \1 ; address +ENDM + + enum anim_bgeffect_command ; $f0 +anim_bgeffect: MACRO + db anim_bgeffect_command + db \1 ; effect + db \2 ; jumptable index + db \3 ; battle turn + db \4 ; unknown +ENDM + + enum anim_bgp_command ; $f1 +anim_bgp: MACRO + db anim_bgp_command + db \1 ; colors +ENDM + + enum anim_obp0_command ; $f2 +anim_obp0: MACRO + db anim_obp0_command + db \1 ; colors +ENDM + + enum anim_obp1_command ; $f3 +anim_obp1: MACRO + db anim_obp1_command + db \1 ; colors +ENDM + + enum anim_keepsprites_command ; $f4 +anim_keepsprites: MACRO + db anim_keepsprites_command +ENDM + + enum anim_0xf5_command ; $f5 +anim_0xf5: MACRO + db anim_0xf5_command +ENDM + + enum anim_0xf6_command ; $f6 +anim_0xf6: MACRO + db anim_0xf6_command +ENDM + + enum anim_0xf7_command ; $f7 +anim_0xf7: MACRO + db anim_0xf7_command +ENDM + + enum anim_if_param_equal_command ; $f8 +anim_if_param_equal: MACRO + db anim_if_param_equal_command + db \1 ; value + dw \2 ; address +ENDM + + enum anim_setvar_command ; $f9 +anim_setvar: MACRO + db anim_setvar_command + db \1 ; value +ENDM + + enum anim_incvar_command ; $fa +anim_incvar: MACRO + db anim_incvar_command +ENDM + + enum anim_if_var_equal_command ; $fb +anim_if_var_equal: MACRO + db anim_if_var_equal_command + db \1 ; value + dw \2 ; address +ENDM + + enum anim_jump_command ; $fc +anim_jump: MACRO + db anim_jump_command + dw \1 ; address +ENDM + + enum anim_loop_command ; $fd +anim_loop: MACRO + db anim_loop_command + db \1 ; count + dw \2 ; address +ENDM + + enum anim_call_command ; $fe +anim_call: MACRO + db anim_call_command + dw \1 ; address +ENDM + + enum anim_ret_command ; $ff +anim_ret: MACRO + db anim_ret_command +ENDM @@ -1828,7 +1828,7 @@ wBaseUnusedFrontpic:: dw ; d132 wBaseUnusedBackpic:: dw ; d134 wBaseGrowthRate:: db ; d136 wBaseEggGroups:: db ; d137 -wd138:: ds 1 ; d138 +wBaseTMHM:: ds 1 ; d138 wd139:: ds 1 ; d139 wd13a:: ds 1 ; d13a wd13b:: ds 1 ; d13b |